diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..2b8ee31c0d555c6a895bc82f3c2997f405b3404c --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +_site/ +.sass-cache/ \ No newline at end of file diff --git a/404.html b/404.html new file mode 100644 index 0000000000000000000000000000000000000000..c472b4ea0a781061dab1f394627222735d4215bd --- /dev/null +++ b/404.html @@ -0,0 +1,24 @@ +--- +layout: default +--- + +<style type="text/css" media="screen"> + .container { + margin: 10px auto; + max-width: 600px; + text-align: center; + } + h1 { + margin: 30px 0; + font-size: 4em; + line-height: 1; + letter-spacing: -1px; + } +</style> + +<div class="container"> + <h1>404</h1> + + <p><strong>Page not found :(</strong></p> + <p>The requested page could not be found.</p> +</div> diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000000000000000000000000000000000000..4e8e184498c42f638ae12f70a446069f57e6068a --- /dev/null +++ b/Gemfile @@ -0,0 +1,40 @@ +source "https://rubygems.org" + +# Hello! This is where you manage which Jekyll version is used to run. +# When you want to use a different version, change it below, save the +# file and run `bundle install`. Run Jekyll with `bundle exec`, like so: +# +# bundle exec jekyll serve +# +# This will help ensure the proper Jekyll version is running. +# Happy Jekylling! + + +gem "jekyll", "3.7.4" + +# If you have any plugins, put them here! +group :jekyll_plugins do + gem 'execjs' + gem 'jekyll-seo-tag' + gem 'jekyll-redirect-from' + gem 'jekyll-target-blank' + gem "jekyll-feed" + gem "jekyll-paginate" + gem "jekyll-contentblocks" + gem "jekyll-assets", "2.4.0" + gem 'jekyll-font-awesome-sass' + gem 'remark' + gem 'jekyll-mermaid' + gem 'uglifier' + gem 'therubyracer' +end + + +# Windows does not include zoneinfo files, so bundle the tzinfo-data gem +gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby] + +# Performance-booster for watching directories on Windows +gem "wdm", "~> 0.1.0" if Gem.win_platform? + + +gemspec diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000000000000000000000000000000000000..ecd5d235c394aebfe8791651f65c67b0f42a4484 --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,171 @@ +PATH + remote: . + specs: + jekyll-theme-cayman (0.1.1) + jekyll (~> 3.1) + jekyll-seo-tag (~> 2.0) + +GEM + remote: https://rubygems.org/ + specs: + addressable (2.7.0) + public_suffix (>= 2.0.2, < 5.0) + ast (2.4.0) + colorator (1.1.0) + concurrent-ruby (1.1.6) + em-websocket (0.5.1) + eventmachine (>= 0.12.9) + http_parser.rb (~> 0.6.0) + ethon (0.12.0) + ffi (>= 1.3.0) + eventmachine (1.2.7) + execjs (2.7.0) + extras (0.3.0) + forwardable-extended (~> 2.5) + fastimage (2.1.7) + ffi (1.12.2) + font-awesome-sass (5.12.0) + sassc (>= 1.11) + forwardable-extended (2.6.0) + hpricot (0.8.6) + html-proofer (3.15.1) + addressable (~> 2.3) + mercenary (~> 0.3) + nokogumbo (~> 2.0) + parallel (~> 1.3) + rainbow (~> 3.0) + typhoeus (~> 1.3) + yell (~> 2.0) + http_parser.rb (0.6.0) + i18n (0.9.5) + concurrent-ruby (~> 1.0) + jaro_winkler (1.5.4) + jekyll (3.7.4) + addressable (~> 2.4) + colorator (~> 1.0) + em-websocket (~> 0.5) + i18n (~> 0.7) + jekyll-sass-converter (~> 1.0) + jekyll-watch (~> 2.0) + kramdown (~> 1.14) + liquid (~> 4.0) + mercenary (~> 0.3.3) + pathutil (~> 0.9) + rouge (>= 1.7, < 4) + safe_yaml (~> 1.0) + jekyll-assets (2.4.0) + concurrent-ruby (~> 1.0) + extras (~> 0.2) + fastimage (~> 2.0, >= 1.8) + jekyll (~> 3.1, >= 3.0) + pathutil (>= 0.8) + rack (~> 1.6) + sprockets (~> 3.3, < 3.8) + jekyll-contentblocks (1.2.0) + jekyll + jekyll-feed (0.13.0) + jekyll (>= 3.7, < 5.0) + jekyll-font-awesome-sass (0.1.1) + font-awesome-sass (>= 4) + jekyll (>= 2.5, < 4.0) + jekyll-mermaid (1.0.0) + jekyll-paginate (1.1.0) + jekyll-redirect-from (0.16.0) + jekyll (>= 3.3, < 5.0) + jekyll-sass-converter (1.5.2) + sass (~> 3.4) + jekyll-seo-tag (2.6.1) + jekyll (>= 3.3, < 5.0) + jekyll-target-blank (2.0.0) + jekyll (>= 3.0, < 5.0) + nokogiri (~> 1.10) + jekyll-watch (2.2.1) + listen (~> 3.0) + json (2.3.0) + kramdown (1.17.0) + libv8 (3.16.14.19) + liquid (4.0.3) + listen (3.2.1) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + mercenary (0.3.6) + mini_portile2 (2.4.0) + nokogiri (1.10.8) + mini_portile2 (~> 2.4.0) + nokogumbo (2.0.2) + nokogiri (~> 1.8, >= 1.8.4) + parallel (1.19.1) + parser (2.7.0.2) + ast (~> 2.4.0) + pathutil (0.16.2) + forwardable-extended (~> 2.6) + public_suffix (4.0.3) + rack (1.6.10) + rainbow (3.0.0) + rb-fsevent (0.10.3) + rb-inotify (0.10.1) + ffi (~> 1.0) + ref (2.0.0) + remark (0.3.2) + hpricot (~> 0.8.2) + rexml (3.2.4) + rouge (3.16.0) + rubocop (0.80.0) + jaro_winkler (~> 1.5.1) + parallel (~> 1.10) + parser (>= 2.7.0.1) + rainbow (>= 2.2.2, < 4.0) + rexml + ruby-progressbar (~> 1.7) + unicode-display_width (>= 1.4.0, < 1.7) + ruby-progressbar (1.10.1) + safe_yaml (1.0.5) + sass (3.7.4) + sass-listen (~> 4.0.0) + sass-listen (4.0.0) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + sassc (2.2.1) + ffi (~> 1.9) + sprockets (3.7.2) + concurrent-ruby (~> 1.0) + rack (> 1, < 3) + therubyracer (0.12.3) + libv8 (~> 3.16.14.15) + ref + typhoeus (1.3.1) + ethon (>= 0.9.0) + uglifier (4.2.0) + execjs (>= 0.3.0, < 3) + unicode-display_width (1.6.1) + w3c_validators (1.3.4) + json (>= 1.8) + nokogiri (~> 1.6) + yell (2.2.2) + +PLATFORMS + ruby + +DEPENDENCIES + execjs + html-proofer (~> 3.0) + jekyll (= 3.7.4) + jekyll-assets (= 2.4.0) + jekyll-contentblocks + jekyll-feed + jekyll-font-awesome-sass + jekyll-mermaid + jekyll-paginate + jekyll-redirect-from + jekyll-seo-tag + jekyll-target-blank + jekyll-theme-cayman! + remark + rubocop (~> 0.50) + therubyracer + tzinfo-data + uglifier + w3c_validators (~> 1.3) + +BUNDLED WITH + 1.17.3 diff --git a/README.md b/README.md index ad5e3fa24b7a5727877fd6788635ca0935ffb655..d6a9b90aa9a0f66c5401709dc2f589d52b7243aa 100644 --- a/README.md +++ b/README.md @@ -18,3 +18,8 @@ To use this website, the following steps are necessary: +# Basic use: + +rvm use ruby 2.4 +bundle exec jekyll build +bundle exec jekyll serve & diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000000000000000000000000000000000000..442c9d9b82bb20fcbe84d34f6c8377fdbaf526db --- /dev/null +++ b/_config.yml @@ -0,0 +1,104 @@ +# Site settings +# These are used to personalize your new site. If you look in the HTML files, +# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on. +# You can create any custom variable you would like, and they will be accessible +# in the templates via {{ site.myvariable }}. + +title: Name and number of your class +description: Description of your class + +baseurl: "/courses/csexxx/xxqq" +url: https://courses.cs.washington.edu # the base hostname & protocol for your site, e.g. http://example.com +twitter_username: username +git_username: username +git_url: https://gitlab.cs.washington.edu/jmankoff/class-website-core +git_branch: CSExxx-xxQQ +piazza: https://us.edstem.org/courses/xxx/discussion/ +canvas: https://canvas.uw.edu/courses/xxxxx +gitlab: https://gitlab.cs.washington.edu/students-group-for-assignments +gitgrade: https://gitgrade.cs.washington.edu/student/summary/xxxx +paginate: 5 +quarter: "Quarter YYYY" +copydate: "3/30/20" +status: draft + +author: + name: Name + url: "https://website" + +email: "email@university.edu" # Your contact email + # probably want to update this to be the class teaching staff mailing list + +# The Reveal theme +reveal_theme: black.css + +# Build settings +markdown: kramdown +theme: jekyll-theme-cayman + +plugins: + - jekyll-feed + - jekyll-seo-tag + - jekyll-font-awesome-sass + - jekyll-paginate + - jekyll-redirect-from + - jekyll-assets + - uglifier + - jekyll-mermaid + - jekyll-target-blank + +highlighter: rouge + +bootstrap: + assets: true + +assets: + digest: false + prefix: "/assets" + sources: + - "*" + +sass: + sass_dir: "./_scss" +# style: compressed + +kramdown: + toc_levels: '1' + +mermaid: + src: '/assets/js/mermaid.js' + src_config: '/assets/js/mermaid_config.js' + +remarkConfig: + # possible highlight options: + # arta, ascetic, dark, default, far, github, googlecode, idea, ir_black, + # magula, monokai, rainbow, solarized-dark, solarized-light, sunburst, + # tomorrow, tomorrow-night-blue, tomorrow-night-bright, tomorrow-night, + # tomorrow-night-eighties, vs, zenburn. + highlightStyle: 'solarized-light' + highlightLanguage: 'remark' + highlightLines: true + + +# Custom vars +version: 1.1.0 + +# Exclude from processing. +# The following items will not be processed, by default. Create a custom list +# to override the default setting. +exclude: + - Gemfile + - Gemfile.lock + - node_modules + - vendor + - vendor/bundle/ + - vendor/cache/ + - vendor/gems/ + - vendor/ruby/ + - .jekyll-cache + +font-awesome: + assets: true + +captioning: + link: https://webcaptioner.com/s/e3meZZyQ?broadcast diff --git a/_config_production.yml b/_config_production.yml new file mode 100644 index 0000000000000000000000000000000000000000..4af6d49b78419deed25301f214f1cbb1eec2792a --- /dev/null +++ b/_config_production.yml @@ -0,0 +1,104 @@ +# Site settings +# These are used to personalize your new site. If you look in the HTML files, +# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on. +# You can create any custom variable you would like, and they will be accessible +# in the templates via {{ site.myvariable }}. + +title: Name and number of your class +description: Description of your class + +baseurl: "/courses/csexxx/xxqq" +url: https://courses.cs.washington.edu # the base hostname & protocol for your site, e.g. http://example.com +twitter_username: username +git_username: username +git_url: https://gitlab.cs.washington.edu/jmankoff/class-website-core +git_branch: CSExxx-xxQQ +piazza: https://us.edstem.org/courses/xxx/discussion/ +canvas: https://canvas.uw.edu/courses/xxxxx +gitlab: https://gitlab.cs.washington.edu/students-group-for-assignments +gitgrade: https://gitgrade.cs.washington.edu/student/summary/xxxx +paginate: 5 +quarter: "Quarter YYYY" +copydate: "3/30/20" +status: draft + +author: + name: Name + url: "https://website" + +email: "email@university.edu" # Your contact email + # probably want to update this to be the class teaching staff mailing list + +# The Reveal theme +reveal_theme: black.css + +# Build settings +markdown: kramdown +theme: jekyll-theme-cayman + +plugins: + - jekyll-feed + - jekyll-seo-tag + - jekyll-font-awesome-sass + - jekyll-paginate + - jekyll-redirect-from + - jekyll-assets + - uglifier + - jekyll-mermaid + - jekyll-target-blank + +highlighter: rouge + +bootstrap: + assets: true + +assets: + digest: false + prefix: "/assets" + sources: + - "*" + +sass: + sass_dir: "./_scss" +# style: compressed + +kramdown: + toc_levels: '1' + +mermaid: + src: '/website/assets/js/mermaid.js' + src_config: '/website/assets/js/mermaid_config.js' + +remarkConfig: + # possible highlight options: + # arta, ascetic, dark, default, far, github, googlecode, idea, ir_black, + # magula, monokai, rainbow, solarized-dark, solarized-light, sunburst, + # tomorrow, tomorrow-night-blue, tomorrow-night-bright, tomorrow-night, + # tomorrow-night-eighties, vs, zenburn. + highlightStyle: 'solarized-light' + highlightLanguage: 'remark' + highlightLines: true + + +# Custom vars +version: 1.1.0 + +# Exclude from processing. +# The following items will not be processed, by default. Create a custom list +# to override the default setting. +exclude: + - Gemfile + - Gemfile.lock + - node_modules + - vendor + - vendor/bundle/ + - vendor/cache/ + - vendor/gems/ + - vendor/ruby/ + - .jekyll-cache + +font-awesome: + assets: true + +captioning: + link: https://webcaptioner.com/s/e3meZZyQ?broadcast diff --git a/_data/navigation.yml b/_data/navigation.yml new file mode 100644 index 0000000000000000000000000000000000000000..ded41c120144c9c0f3a66cde20cf2e682920ba0b --- /dev/null +++ b/_data/navigation.yml @@ -0,0 +1,26 @@ +nav_list_title: CSE 340 +nav_list: +- title: Syllabus + url: / +- title: Schedule + url: /schedule +- title: Assignments + url: /assignments/ + sublinks: + - title: Doodle + url: /assignments/doodle + - title: Assignment 2 + url: /a2 + - title: Assignment 3 + url: /a3 +- title: Documentation + url: /docs + sublinks: + - title: Debugging + url: /docs/devmode +- title: Canvas + url: canvas +- title: Ed + url: piazza +- title: Zoom + url: /docs/zoom diff --git a/_includes/disqus_comments.html b/_includes/disqus_comments.html new file mode 100644 index 0000000000000000000000000000000000000000..d9400f2de194e28756465b3b4791ca9c85399fab --- /dev/null +++ b/_includes/disqus_comments.html @@ -0,0 +1,20 @@ +{%- if page.comments != false and jekyll.environment == "production" -%} + + <div id="disqus_thread"></div> + <script> + var disqus_config = function () { + this.page.url = '{{ page.url | absolute_url }}'; + this.page.identifier = '{{ page.url | absolute_url }}'; + }; + + (function() { + var d = document, s = d.createElement('script'); + + s.src = 'https://{{ site.disqus.shortname }}.disqus.com/embed.js'; + + s.setAttribute('data-timestamp', +new Date()); + (d.head || d.body).appendChild(s); + })(); + </script> + <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript" rel="nofollow">comments powered by Disqus.</a></noscript> +{%- endif -%} diff --git a/_includes/figure.html b/_includes/figure.html new file mode 100644 index 0000000000000000000000000000000000000000..9673a76c9c1b96435598d197dc1711a638c9235f --- /dev/null +++ b/_includes/figure.html @@ -0,0 +1,7 @@ +<figure> + <p class="slide-img"> + <!-- Image: {{include.title}} at --> + <!-- {{site.baseurl}}/assets/img/{{include.file}} with alt text {{include.alt}} --> + <img src="{{site.baseurl}}/assets/img/{{include.file}}" alt="{{include.alt }}" align="{{include.align}}" height="{{include.height}}"> + <small>{{ include.caption }}</small></p> +</figure> diff --git a/_includes/footer.html b/_includes/footer.html new file mode 100644 index 0000000000000000000000000000000000000000..ed43141f4e75c8c742e3820aa2e15ea48363520d --- /dev/null +++ b/_includes/footer.html @@ -0,0 +1,40 @@ + + <footer class="site-footer h-card"> + <data class="u-url" href="{{ "/" | relative_url }}"></data> + <div class="wrapper"> + + <h2 class="footer-heading">{{ site.title | escape }}</h2> + + + <span class="site-footer-owner"><a href="{{ site.url }}">{{ site.title }}</a> is maintained by + <a href="{{ site.author.url }}">{{ site.author.name }}</a> + {%- if site.email -%} + <a class="u-email" href="mailto:{{ site.email }}">{{ site.email }}</a> + {%- endif -%} + </span>. + + {% if site.github.is_project_page %} + <span class="site-footer-owner"><a href="{{ + site.github.repository_url }}">{{ site.github.repository_name }}'s + github repository </a> is maintained by <a href="{{ site.github.owner_url }}">{{ site.github.owner_name }}</a>@github.</span> + {% endif %} + <!-- <div class="footer-col footer-col-2"> --> + <!-- {%- include social.html -%} --> + <!-- </div> --> + + </div> + + </div> + +</footer> + +{% if site.google_analytics %} + <script> + (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ + (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), + m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) + })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); + ga('create', '{{ site.google_analytics }}', 'auto'); + ga('send', 'pageview'); + </script> +{% endif %} diff --git a/_includes/google-analytics.html b/_includes/google-analytics.html new file mode 100644 index 0000000000000000000000000000000000000000..e9afb2093b557daa1149cd21306cd82c94dce056 --- /dev/null +++ b/_includes/google-analytics.html @@ -0,0 +1,12 @@ +<script> +if(!(window.doNotTrack === "1" || navigator.doNotTrack === "1" || navigator.doNotTrack === "yes" || navigator.msDoNotTrack === "1")) { + (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ + (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), + m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) + })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); + + ga('create', '{{ site.google_analytics }}', 'auto'); + ga('send', 'pageview'); +} +</script> + diff --git a/_includes/head.html b/_includes/head.html new file mode 100644 index 0000000000000000000000000000000000000000..ec13b5a7f5a7691d66a039de7506640296b6c7d7 --- /dev/null +++ b/_includes/head.html @@ -0,0 +1,28 @@ +<head> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <meta name="theme-color" content="#157878"> + <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"> + +<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous"> +<link rel="stylesheet" href="{{site.baseurl}}/assets/css/site.css"> +<link rel="stylesheet" href="{{site.baseurl}}/assets/css/style.css"> + <link rel="stylesheet" href="{{site.baseurl}}/assets/css/rouge.css"> + <link rel="stylesheet" href="{{site.baseurl}}/assets/css/scrolling-nav.css"> + <link rel="stylesheet" href="{{site.baseurl}}/assets/css/mermaid.css"> + + {%- feed_meta -%} + {%- if jekyll.environment == 'production' and site.google_analytics -%} + {%- include google-analytics.html -%} + {%- endif -%} + <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700' rel='stylesheet' type='text/css'> + + <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> + <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script> + + <!-- Favicon head tag --> + <link rel="icon" href="{{site.baseurl}}/assets/img/favicon.ico" type="image/x-icon"> + +{% seo %} +</head> diff --git a/_includes/header.html b/_includes/header.html new file mode 100644 index 0000000000000000000000000000000000000000..9fec4a01d434f30f223d164b7dccad4a2cb7bd0e --- /dev/null +++ b/_includes/header.html @@ -0,0 +1,18 @@ +<header class="page-header" role="banner"> + {% include navigation.html %} + <br> <br> <br> <br> <br> + <h1 class="project-name">{{ site.title | default: site.github.repository_name }}</h1> + <h2 class="project-tagline">{{ site.description | default: site.github.project_tagline }}</h2> + + +<script type="text/javascript"> + var menubar = new Menubar(document.getElementById('menubar1')); + menubar.init(); +</script> + + + {% if site.show_downloads %} + <a href="{{ site.github.zip_url }}" class="btn">Download .zip</a> + <a href="{{ site.github.tar_url }}" class="btn">Download .tar.gz</a> + {% endif %} +</header> diff --git a/_includes/icon-github.html b/_includes/icon-github.html new file mode 100644 index 0000000000000000000000000000000000000000..e501a16b18780f2f5beb70d992a5e7f0635f65fb --- /dev/null +++ b/_includes/icon-github.html @@ -0,0 +1 @@ +<a href="https://github.com/{{ include.username }}"><span class="icon icon--github">{% include icon-github.svg %}</span><span class="username">{{ include.username }}</span></a> diff --git a/_includes/icon-github.svg b/_includes/icon-github.svg new file mode 100644 index 0000000000000000000000000000000000000000..e6c5f6dfd6c48c15f13ea90b09d6c38b2c781186 --- /dev/null +++ b/_includes/icon-github.svg @@ -0,0 +1 @@ +<svg viewBox="0 0 16 16" width="16px" height="16px"><path fill="#828282" d="M7.999,0.431c-4.285,0-7.76,3.474-7.76,7.761 c0,3.428,2.223,6.337,5.307,7.363c0.388,0.071,0.53-0.168,0.53-0.374c0-0.184-0.007-0.672-0.01-1.32 c-2.159,0.469-2.614-1.04-2.614-1.04c-0.353-0.896-0.862-1.135-0.862-1.135c-0.705-0.481,0.053-0.472,0.053-0.472 c0.779,0.055,1.189,0.8,1.189,0.8c0.692,1.186,1.816,0.843,2.258,0.645c0.071-0.502,0.271-0.843,0.493-1.037 C4.86,11.425,3.049,10.76,3.049,7.786c0-0.847,0.302-1.54,0.799-2.082C3.768,5.507,3.501,4.718,3.924,3.65 c0,0,0.652-0.209,2.134,0.796C6.677,4.273,7.34,4.187,8,4.184c0.659,0.003,1.323,0.089,1.943,0.261 c1.482-1.004,2.132-0.796,2.132-0.796c0.423,1.068,0.157,1.857,0.077,2.054c0.497,0.542,0.798,1.235,0.798,2.082 c0,2.981-1.814,3.637-3.543,3.829c0.279,0.24,0.527,0.713,0.527,1.437c0,1.037-0.01,1.874-0.01,2.129 c0,0.208,0.14,0.449,0.534,0.373c3.081-1.028,5.302-3.935,5.302-7.362C15.76,3.906,12.285,0.431,7.999,0.431z"/></svg> diff --git a/_includes/icon-twitter.html b/_includes/icon-twitter.html new file mode 100644 index 0000000000000000000000000000000000000000..e623dbd6efc532519f62cca86e4509429018e92d --- /dev/null +++ b/_includes/icon-twitter.html @@ -0,0 +1 @@ +<a href="https://twitter.com/{{ include.username }}"><span class="icon icon--twitter">{% include icon-twitter.svg %}</span><span class="username">{{ include.username }}</span></a> diff --git a/_includes/icon-twitter.svg b/_includes/icon-twitter.svg new file mode 100644 index 0000000000000000000000000000000000000000..efc0ecf6781d8214a3b443beeea83b112fdb89ca --- /dev/null +++ b/_includes/icon-twitter.svg @@ -0,0 +1 @@ +<svg viewBox="0 0 16 16" width="16px" height="16px"><path fill="#828282" d="M15.969,3.058c-0.586,0.26-1.217,0.436-1.878,0.515c0.675-0.405,1.194-1.045,1.438-1.809c-0.632,0.375-1.332,0.647-2.076,0.793c-0.596-0.636-1.446-1.033-2.387-1.033c-1.806,0-3.27,1.464-3.27,3.27 c0,0.256,0.029,0.506,0.085,0.745C5.163,5.404,2.753,4.102,1.14,2.124C0.859,2.607,0.698,3.168,0.698,3.767 c0,1.134,0.577,2.135,1.455,2.722C1.616,6.472,1.112,6.325,0.671,6.08c0,0.014,0,0.027,0,0.041c0,1.584,1.127,2.906,2.623,3.206 C3.02,9.402,2.731,9.442,2.433,9.442c-0.211,0-0.416-0.021-0.615-0.059c0.416,1.299,1.624,2.245,3.055,2.271 c-1.119,0.877-2.529,1.4-4.061,1.4c-0.264,0-0.524-0.015-0.78-0.046c1.447,0.928,3.166,1.469,5.013,1.469 c6.015,0,9.304-4.983,9.304-9.304c0-0.142-0.003-0.283-0.009-0.423C14.976,4.29,15.531,3.714,15.969,3.058z"/></svg> diff --git a/_includes/navigation.html b/_includes/navigation.html new file mode 100644 index 0000000000000000000000000000000000000000..15c9aa2b1f9a5a063f46c740de523fbb540aae1c --- /dev/null +++ b/_includes/navigation.html @@ -0,0 +1,85 @@ +<!-- Much of this code copied from pdarragh at https://gist.github.com/pdarragh/c7ca120604c1a1d8b8de --> + +{% for entry in site.data.navigation %} + {% if entry.url == "canvas" %} + {% assign current_page = page.url %} + {% elsif entry.url == "piazza" %} + {% assign current_page = page.url %} + {% else %} + {% capture fullurl %}{{ site.baseurl }}{{ entry.url }}{% endcapture %} + {% if fullurl == page.url %} + {% assign current_page = fullurl %} + {% break %} + {% elsif page.url contains fullurl %} + {% assign current_page = fullurl %} + {% endif %} + {% endif %} +{% endfor %} + +<nav aria-label="{{site.data.navigation.nav_list_title}}" id="mainNav" + class="navbar navbar-expand-lg navbar-dark fixed-top"> + <div class="container"> + <a class="navbar-brand js-scroll-trigg" + href="https://www.cs.washington.edu" aria-label="{{site.data.navigation.nav_list_title}}"> + <img src="{{site.baseurl}}/assets/img/Allen-School-white-RGB-sm.png" alt="Allen School Logo" align=left style="max-width: 100%; height: auto;"> + </a> + </div> + <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation"> + <span class="navbar-toggler-icon"></span> + </button> + <div class="collapse navbar-collapse" id="navbarResponsive"> + <ul class="navbar-nav ml-auto" id="menubar1" role="menubar" + aria-label="{{site.data.navigation.nav_list_title}}"> + {% for entry in site.data.navigation.nav_list %} + {% if entry.url == "canvas" %} + {% assign itemurl = site.canvas %} + {% elsif entry.url == "piazza" %} + {% assign itemurl = site.piazza %} + {% elsif entry.url == "none" %} + {% assign current = null %} + {% else %} + {% assign itemurl = entry.url %} + {% endif %} + + {% if itemurl == current_page %} + {% assign current = "current" %} + {% else %} + <!-- We have to declare it 'null' to ensure it doesn't propagate. --> + {% assign current = null %} + {% endif %} + {% assign sublinks = entry.sub links %} + {% if sublinks %} + <li class = "nav-item {{ current }}"> + {% if entry.url contains "http" %} + {% assign base = "" %} + {% else %} + {% assign base = site.baseurl %} + {% endif %} + + <a class="navbar-brand js-scroll-trigger" role="menuitem" href="{{ base }}{{ itemurl }}">{{ entry.title }}</a> + <ul> + {% for sublink in sublinks %} + {% if sublink.url contains "http" %} + {% assign base = "" %} + {% else %} + {% assign base = site.baseurl %} + {% endif %} + <li><a class="navbar-brand js-scroll-trigger" role="menuitem" href="{{ base }}{{ sublink.url }}">{{ sublink.title }}</a></li> + {% endfor %} + </ul> + </li> + {% else %} + <li class = "nav-item {{ current }}"> + {% if itemurl contains "http" %} + {% assign base = "" %} + {% else %} + {% assign base = site.baseurl %} + {% endif %} + + <a class="navbar-brand js-scroll-trigger" role="menuitem" href="{{base}}{{itemurl}}">{{ entry.title }}</a> + </li> + {% endif %} + {% endfor %} + </ul> + </div> +</nav> diff --git a/_includes/slide.html b/_includes/slide.html new file mode 100644 index 0000000000000000000000000000000000000000..69825473b3fecc4e13d3990c3580d8753d8c107d --- /dev/null +++ b/_includes/slide.html @@ -0,0 +1,2 @@ +<a href="{{site.baseurl}}/slides/{{include.loc}}" target="_blank" rel="noopener noreferrer">{{include.title}}</a> +<div class="marknav"><a href="{{site.git_url}}/website/raw/{{site.git_branch}}/slides/{{include.loc}}" >Accessible Markdown for {{include.title}}</a> </div> diff --git a/_includes/social.html b/_includes/social.html new file mode 100644 index 0000000000000000000000000000000000000000..65c18e3375edda1a0cce9b5a59b7b44da658f587 --- /dev/null +++ b/_includes/social.html @@ -0,0 +1,13 @@ +{%- if site.dribbble_username -%}<a href="https://dribbble.com/{{ site.dribbble_username| cgi_escape | escape }}"><svg class="svg-icon"><use xlink:href="{{ '/assets/minima-social-icons.svg#dribbble' | relative_url }}"></use></svg> <span class="username">{{ site.dribbble_username| escape }}</span></a>|{%- endif -%} +{%- if site.facebook_username -%}<a href="https://www.facebook.com/{{ site.facebook_username| cgi_escape | escape }}"><svg class="svg-icon"><use xlink:href="{{ '/assets/minima-social-icons.svg#facebook' | relative_url }}"></use></svg> <span class="username">{{ site.facebook_username| escape }}</span></a><|{%- endif -%} +{%- if site.flickr_username -%}<a href="https://www.flickr.com/photos/{{ site.flickr_username| cgi_escape | escape }}"><svg class="svg-icon"><use xlink:href="{{ '/assets/minima-social-icons.svg#flickr' | relative_url }}"></use></svg> <span class="username">{{ site.flickr_username| escape }}</span></a>|{%- endif -%} + {%- if site.github_username -%}<a href="https://github.com/{{ site.github_username| cgi_escape | escape }}"><svg class="svg-icon"><use xlink:href="{{ '/assets/minima-social-icons.svg#github' | relative_url }}"></use></svg> <span class="username">{{ site.github_username| escape }}</span></a>|{%- endif -%} + {%- if site.instagram_username -%}<a href="https://instagram.com/{{ site.instagram_username| cgi_escape | escape }}"><svg class="svg-icon"><use xlink:href="{{ '/assets/minima-social-icons.svg#instagram' | relative_url }}"></use></svg> <span class="username">{{ site.instagram_username| escape }}</span></a>|{%- endif -%} + {%- if site.linkedin_username -%}<a href="https://www.linkedin.com/in/{{ site.linkedin_username| cgi_escape | escape }}"><svg class="svg-icon"><use xlink:href="{{ '/assets/minima-social-icons.svg#linkedin' | relative_url }}"></use></svg> <span class="username">{{ site.linkedin_username| escape }}</span></a>|{%- endif -%} + {%- if site.pinterest_username -%}<a href="https://www.pinterest.com/{{ site.pinterest_username| cgi_escape | escape }}"><svg class="svg-icon"><use xlink:href="{{ '/assets/minima-social-icons.svg#pinterest' | relative_url }}"></use></svg> <span class="username">{{ site.pinterest_username| escape }}</span></a>|{%- endif -%} + {%- for mst in site.mastodon -%}{%- if mst.username and mst.instance -%}<a href="https://{{ mst.instance| cgi_escape | escape}}/@{{mst.username}}"><svg class="svg-icon"><use xlink:href="{{ '/assets/minima-social-icons.svg#mastodon' | relative_url }}"></use></svg> <span class="username">{{ mst.username|escape }}</span></a>|{%- endif -%}{%- endfor -%} + {%- if site.twitter_username -%}<a href="https://www.twitter.com/{{ site.twitter_username| cgi_escape | escape }}"><svg class="svg-icon"><use xlink:href="{{ '/assets/minima-social-icons.svg#twitter' | relative_url }}"></use></svg> <span class="username">{{ site.twitter_username| escape }}</span></a>|{%- endif -%} + {%- if site.youtube_username -%}<a href="https://youtube.com/{{ site.youtube_username| cgi_escape | escape }}"><svg class="svg-icon"><use xlink:href="{{ '/assets/minima-social-icons.svg#youtube' | relative_url }}"></use></svg> <span class="username">{{ site.youtube_username| escape }}</span></a>|{%- endif -%} + {%- if site.googleplus_username -%}<a href="https://plus.google.com/{{ site.googleplus_username| escape }}"><svg class="svg-icon"><use xlink:href="{{ '/assets/minima-social-icons.svg#googleplus' | relative_url }}"></use></svg> <span class="username">{{ site.googleplus_username| escape }}</span></a>|{%- endif -%} + {%- if site.rss -%}<a href="{{ 'feed.xml' | relative_url }}"><svg class="svg-icon"><use xlink:href="{{ '/assets/minima-social-icons.svg#rss' | relative_url }}"></use></svg> <span>{{ site.rss | escape }}</span></a>|{%- endif -%} +</ul> diff --git a/_layouts/assignment.html b/_layouts/assignment.html new file mode 100644 index 0000000000000000000000000000000000000000..f435f07ce10016937bfbda6797f675577eda5169 --- /dev/null +++ b/_layouts/assignment.html @@ -0,0 +1,86 @@ +<!DOCTYPE html> +<html lang="{{ site.lang | default: "en-US" }}"> + {% include head.html %} + <body> + {% include header.html %} + + <main id="content" class="main-content" role="main"> +{% if page.warning != none %} + <div id="unpublished-warning"> + This is the {{site.git_branch}} {{site.status}} website. + </div> +{% endif %} + +{% if page.published != true %} + <div id="unpublished-warning"> + This assignment has not yet been released. Its requirements and code base are subject to change. + </div> + {% endif %} + + <div id="assignment-name"> + <h1>{{ page.code }}: {{ page.title }}</h1> + <span>Last revised: {{ page.revised }}</span> + </div> + +<div class="learning-goals"> +<div id="android-goals"> +<strong>Assigned</strong>: +<ul> +{% for day in page.assigned %} + <li>{{day}}</li> +{% endfor %} +</ul> +</div> + +<div id="hci-goals"> <strong>Due</strong>: +<ul> +{% for day in page.due %} + <li>{{day}}</li> +{% endfor %} +</ul> +</div> +</div> + +<br> +<div class="learning-goals"> + <div id="android-goals"> + <h3>Android Goals:</h3> + <ul> + {% for goal in page.android_goals %} + <li>{{goal}}</li> + {% endfor %} + </ul> + </div> + <div id="hci-goals"> + <h3>HCI Goals:</h3> + <ul> + {% for goal in page.hci_goals %} + <li>{{goal}}</li> + {% endfor %} + </ul> + </div> + </div> + + {{ content }} + + {% include footer.html %} + </main> + + <script src="{{ '/assets/js/mermaid.js' | relative_url}}"></script> + <link rel="stylesheet" href="{{ '/assets/css/mermaid.css' | relative_url }}"> + <link rel="stylesheet" href="{{ '/assets/css/assignment.css' | relative_url }}"> + <script>mermaid.initialize({startOnLoad:true});</script> + + {% if site.google_analytics %} + <script> + (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ + (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), + m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) + })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); + + ga('create', '{{ site.google_analytics }}', 'auto'); + ga('send', 'pageview'); + </script> + {% endif %} + </body> +</html> diff --git a/_layouts/default.html b/_layouts/default.html new file mode 100755 index 0000000000000000000000000000000000000000..2ee3505f20191c2213bdfe7bb86e68be25556d3c --- /dev/null +++ b/_layouts/default.html @@ -0,0 +1,45 @@ +<!DOCTYPE html> +<html lang="{{ site.lang | default: "en-US" }}"> +{% include head.html %} + +<body> + + <a id="skip-to-content" href="#content">Skip to the content.</a> + + + {% include header.html %} + + <main id="content" class="main-content" role="main"> + + {% if page.warning != none %} + <div id="unpublished-warning"> + This is the {{site.git_branch}} {{site.status}} website. + </div> + {% endif %} + + {{ content }} + + {% include footer.html %} + </main> + + <script src="{{ '/assets/js/bootstrap.min.js' | relative_url}}"></script> + <script src="{{ '/assets/js/mermaid.js' | relative_url}}"></script> + <link rel="stylesheet" href="{{ '/assets/css/mermaid.css' | relative_url }}"> + <script>mermaid.initialize({ startOnLoad: true });</script> + + {% if site.google_analytics %} + <script> + (function (i, s, o, g, r, a, m) { + i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () { + (i[r].q = i[r].q || []).push(arguments) + }, i[r].l = 1 * new Date(); a = s.createElement(o), + m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m) + })(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga'); + + ga('create', '{{ site.google_analytics }}', 'auto'); + ga('send', 'pageview'); + </script> + {% endif %} +</body> + +</html> diff --git a/_layouts/page.html b/_layouts/page.html new file mode 100644 index 0000000000000000000000000000000000000000..5e7112684af455284afbddb3a0b289ee21b8db69 --- /dev/null +++ b/_layouts/page.html @@ -0,0 +1,5 @@ +--- +layout: default +--- + +{{ content }} diff --git a/_layouts/post.html b/_layouts/post.html new file mode 100644 index 0000000000000000000000000000000000000000..599cb4cfd228b06e27dcdf5404907a3704f87d81 --- /dev/null +++ b/_layouts/post.html @@ -0,0 +1,13 @@ +--- +layout: default +--- +{% if page.warning != none %} + <div id="unpublished-warning"> + This is the {{site.git_branch}} {{site.status}} website. + </div> +{% endif %} + + <h2>{{ page.title }}</h2> +<p class="meta">{{ page.date | date_to_string }}</p> + +{{ content }} diff --git a/_layouts/presentation.html b/_layouts/presentation.html new file mode 100644 index 0000000000000000000000000000000000000000..546a267a9e421e455e9b6122f95699b6f1f2961f --- /dev/null +++ b/_layouts/presentation.html @@ -0,0 +1,68 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>{{ page.title | strip_html }}</title> + <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> + + <style type="text/css"> + @import url({{'/assets/css/ubuntu.css' | relative_url}}); + @import url({{'/assets/css/ubuntu-mono.css' | relative_url}}); + @import url({{'/assets/css/yanone-kaffeesatz.css' | relative_url}}); + @import url({{'/assets/css/my-remark.css' | relative_url}}); + @import url({{'/assets/css/mermaid.css' | relative_url}}); + + @page { + size: 418px 182px; + margin: 0; + } + @media print { + .remark-slide-scaler { + transform: scale(1) !important; + top: 0 !important; + left: 0 !important; + } + } + </style> + + <!-- Favicon head tag --> + <link rel="icon" href="{{site.baseurl}}/assets/img/favicon.ico" type="image/x-icon"> + <link href="https://fonts.googleapis.com/css?family=Ubuntu|Ubuntu+Mono|Yanone+Kaffeesatz" rel="stylesheet"> + + + </head> + <body> + <textarea id="source"> +{{ content }} + </textarea> + <div class="my-header"> + <img src="{{site.baseurl}}/assets/img/favicon.ico" style="height: 30px;"/> + </div> + + <script src="{{'/assets/js/remark-latest.min.js' | relative_url}}" type="text/javascript"></script> + <script src="{{'/assets/js/remark-macros-jm.js' | relative_url}}" type="text/javascript"></script> + <script type="text/javascript" async + src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=TeX-MML-AM_CHTML" async> + <script type="text/javascript" src="{{'assets/js/mathjax-sre.js' | relative_url}}"></script> + <script type="text/javascript" src="{{'assets/js/html2canvas.min.js' | relative_url}}"></script> + <script type="text/javascript" src="{{'assets/js/presentation-export.js' | relative_url}}"></script> + + <script type="text/javascript"> + var slideshow = remark.create({ + navigation: {scroll: false}, + ratio: "16:7", + highlightStyle: 'github', + highlightLines: 'true', + slideNumberFormat: 'Slide %current% of %total%' + }); + </script> + <script type="module" src="{{site.baseurl}}/assets/js/mermaid.js"></script> + </body> + +<!-- +class center middle +class center middle inverse +```html +```ruby +als erste Zeilen in Slide +--> diff --git a/_layouts/presentation_production.html b/_layouts/presentation_production.html new file mode 100644 index 0000000000000000000000000000000000000000..44e60b169017ce9a1f5f9d21fe278fc755004a8d --- /dev/null +++ b/_layouts/presentation_production.html @@ -0,0 +1,69 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>{{ page.title | strip_html }}</title> + <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> + + <style type="text/css"> + @import url({{'/assets/css/ubuntu.css' | relative_url}}); + @import url({{'/assets/css/ubuntu-mono.css' | relative_url}}); + @import url({{'/assets/css/yanone-kaffeesatz.css' | relative_url}}); + @import url({{'/assets/css/my-remark.css' | relative_url}}); + @import url({{'/assets/css/mermaid.css' | relative_url}}); + + @page { + size: 418px 182px; + margin: 0; + } + @media print { + .remark-slide-scaler { + transform: scale(1) !important; + top: 0 !important; + left: 0 !important; + } + } + </style> + + <!-- Favicon head tag --> + <link rel="icon" href="{{site.baseurl}}/assets/img/favicon.ico" type="image/x-icon"> + <link href="https://fonts.googleapis.com/css?family=Ubuntu|Ubuntu+Mono|Yanone+Kaffeesatz" rel="stylesheet"> + <!-- <div class="caption"><iframe class="caption-frame" allow="camera; microphone" title="caption align="top" frame" src="https://webcaptioner.com/s/cse340-20wi?broadcast" frameborder="0"></iframe> + </div>--> + </head> + <body> + <textarea id="source"> +{{ content }} + </textarea> + <div class="my-header"> + <img src="{{site.baseurl}}/assets/img/favicon.ico" style="height: 30px;"/> + </div> + <div class="my-footer">{{site.copydate}} © {{site.author.name}}, University of Washington</div> + + <script src="{{'/assets/js/remark-latest.min.js' | relative_url}}" type="text/javascript"></script> + <script src="{{'/assets/js/remark-macros-jm.js' | relative_url}}" type="text/javascript"></script> + <script type="text/javascript" async + src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=TeX-MML-AM_CHTML" async> + <script type="text/javascript" src="{{'assets/js/mathjax-sre.js' | relative_url}}"></script> + <script type="text/javascript" src="{{'assets/js/html2canvas.min.js' | relative_url}}"></script> + <script type="text/javascript" src="{{'assets/js/presentation-export.js' | relative_url}}"></script> + + <script type="text/javascript"> + var slideshow = remark.create({ + navigation: {scroll: false}, + ratio: "16:7", + highlightStyle: 'github', + highlightLines: 'true', + slideNumberFormat: 'Slide %current% of %total%' + }); + </script> + <script type="module" src="{{site.baseurl}}/assets/js/mermaid.js"></script> + </body> + +<!-- +class center middle +class center middle inverse +```html +```ruby +als erste Zeilen in Slide +--> diff --git a/_plugins/expand_nested_variable_filter.rb b/_plugins/expand_nested_variable_filter.rb new file mode 100644 index 0000000000000000000000000000000000000000..76d61a6c1837e081f54558da31abfb7d45400095 --- /dev/null +++ b/_plugins/expand_nested_variable_filter.rb @@ -0,0 +1,11 @@ +# file: _plugins/expand_nested_variable_filter.rb + +module Jekyll + module ExpandNestedVariableFilter + def flatify(input) + Liquid::Template.parse(input).render(@context) + end + end +end + +Liquid::Template.register_filter(Jekyll::ExpandNestedVariableFilter) diff --git a/_plugins/jekyll-mermaid.rb b/_plugins/jekyll-mermaid.rb new file mode 100644 index 0000000000000000000000000000000000000000..550006eb821f97e7bf11ddfdcf9ce877a01994dc --- /dev/null +++ b/_plugins/jekyll-mermaid.rb @@ -0,0 +1,15 @@ +module Jekyll + class Mermaid < Liquid::Block + + def initialize(tag_name, markup, tokens) + super + end + + def render(context) + @config = context.registers[:site].config['mermaid'] + "<div class=\"mermaid\" id=\"i141\">#{super}</div>" + end + end +end + +Liquid::Template.register_tag('mermaid', Jekyll::Mermaid) diff --git a/_posts/2018-07-26-welcome-to-jekyll.markdown b/_posts/2018-07-26-welcome-to-jekyll.markdown new file mode 100644 index 0000000000000000000000000000000000000000..0eb7ee6cc90d6a5c94adcdc76884071579192750 --- /dev/null +++ b/_posts/2018-07-26-welcome-to-jekyll.markdown @@ -0,0 +1,25 @@ +--- +layout: post +title: "Welcome to Jekyll!" +date: 2018-07-26 23:02:57 -0700 +categories: jekyll update +--- +You’ll find this post in your `_posts` directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run `jekyll serve`, which launches a web server and auto-regenerates your site when a file is updated. + +To add new posts, simply add a file in the `_posts` directory that follows the convention `YYYY-MM-DD-name-of-post.ext` and includes the necessary front matter. Take a look at the source for this post to get an idea about how it works. + +Jekyll also offers powerful support for code snippets: + +{% highlight ruby %} +def print_hi(name) + puts "Hi, #{name}" +end +print_hi('Tom') +#=> prints 'Hi, Tom' to STDOUT. +{% endhighlight %} + +Check out the [Jekyll docs][jekyll-docs] for more info on how to get the most out of Jekyll. File all bugs/feature requests at [Jekyll’s GitHub repo][jekyll-gh]. If you have questions, you can ask them on [Jekyll Talk][jekyll-talk]. + +[jekyll-docs]: https://jekyllrb.com/docs/home +[jekyll-gh]: https://github.com/jekyll/jekyll +[jekyll-talk]: https://talk.jekyllrb.com/ diff --git a/_scss/_animated.scss b/_scss/_animated.scss new file mode 100644 index 0000000000000000000000000000000000000000..7c7c0e173c5be0ae113fb8fbbff994b502f0a475 --- /dev/null +++ b/_scss/_animated.scss @@ -0,0 +1,20 @@ +// Animated Icons +// -------------------------- + +.#{$fa-css-prefix}-spin { + animation: fa-spin 2s infinite linear; +} + +.#{$fa-css-prefix}-pulse { + animation: fa-spin 1s infinite steps(8); +} + +@keyframes fa-spin { + 0% { + transform: rotate(0deg); + } + + 100% { + transform: rotate(360deg); + } +} diff --git a/_scss/_bordered-pulled.scss b/_scss/_bordered-pulled.scss new file mode 100644 index 0000000000000000000000000000000000000000..c8c4274c40956310d9814993badecac54942b9a5 --- /dev/null +++ b/_scss/_bordered-pulled.scss @@ -0,0 +1,20 @@ +// Bordered & Pulled +// ------------------------- + +.#{$fa-css-prefix}-border { + border: solid .08em $fa-border-color; + border-radius: .1em; + padding: .2em .25em .15em; +} + +.#{$fa-css-prefix}-pull-left { float: left; } +.#{$fa-css-prefix}-pull-right { float: right; } + +.#{$fa-css-prefix}, +.fas, +.far, +.fal, +.fab { + &.#{$fa-css-prefix}-pull-left { margin-right: .3em; } + &.#{$fa-css-prefix}-pull-right { margin-left: .3em; } +} diff --git a/_scss/_core.scss b/_scss/_core.scss new file mode 100644 index 0000000000000000000000000000000000000000..a4ee7e8450bb466eb6e83c899f871dc4e8571341 --- /dev/null +++ b/_scss/_core.scss @@ -0,0 +1,20 @@ +// Base Class Definition +// ------------------------- + +.#{$fa-css-prefix}, +.fas, +.far, +.fal, +.fab { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + line-height: 1; +} + +%fa-icon { + @include fa-icon; +} diff --git a/_scss/_fixed-width.scss b/_scss/_fixed-width.scss new file mode 100644 index 0000000000000000000000000000000000000000..5b33eb49aa9b9fe02e902f3d92e003ccc335fb3c --- /dev/null +++ b/_scss/_fixed-width.scss @@ -0,0 +1,6 @@ +// Fixed Width Icons +// ------------------------- +.#{$fa-css-prefix}-fw { + text-align: center; + width: (20em / 16); +} diff --git a/_scss/_flowchart.scss b/_scss/_flowchart.scss new file mode 100644 index 0000000000000000000000000000000000000000..edafcf5e75e4d52906c291cce0703878ec92454e --- /dev/null +++ b/_scss/_flowchart.scss @@ -0,0 +1,54 @@ +.label { + font-family: 'trebuchet ms', verdana, arial; + color: #333; +} + +.node rect, +.node circle, +.node ellipse, +.node polygon { + fill: $mainBkg; + stroke: $nodeBorder; + stroke-width: 1px; +} + +.node.clickable { + cursor: pointer; +} + +.arrowheadPath { + fill: $arrowheadColor; +} + +.edgePath .path { + stroke: $lineColor; + stroke-width: 1.5px; +} + +.edgeLabel { + background-color: $edgeLabelBackground; +} + +.cluster rect { + fill: $secondBkg !important; + stroke: $clusterBorder !important; + stroke-width: 1px !important; +} + +.cluster text { + fill: $titleColor; +} + +div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: 'trebuchet ms', verdana, arial; + font-size: 12px; + background: $secondBkg; + border: 1px solid $border2; + border-radius: 2px; + pointer-events: none; + z-index: 100; +} diff --git a/_scss/_icons.scss b/_scss/_icons.scss new file mode 100644 index 0000000000000000000000000000000000000000..cfc7537ee1425c954edfcfa95426296f47d0c18f --- /dev/null +++ b/_scss/_icons.scss @@ -0,0 +1,1194 @@ +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen +readers do not read off random characters that represent icons */ + +.#{$fa-css-prefix}-500px:before { content: fa-content($fa-var-500px); } +.#{$fa-css-prefix}-accessible-icon:before { content: fa-content($fa-var-accessible-icon); } +.#{$fa-css-prefix}-accusoft:before { content: fa-content($fa-var-accusoft); } +.#{$fa-css-prefix}-ad:before { content: fa-content($fa-var-ad); } +.#{$fa-css-prefix}-address-book:before { content: fa-content($fa-var-address-book); } +.#{$fa-css-prefix}-address-card:before { content: fa-content($fa-var-address-card); } +.#{$fa-css-prefix}-adjust:before { content: fa-content($fa-var-adjust); } +.#{$fa-css-prefix}-adn:before { content: fa-content($fa-var-adn); } +.#{$fa-css-prefix}-adversal:before { content: fa-content($fa-var-adversal); } +.#{$fa-css-prefix}-affiliatetheme:before { content: fa-content($fa-var-affiliatetheme); } +.#{$fa-css-prefix}-air-freshener:before { content: fa-content($fa-var-air-freshener); } +.#{$fa-css-prefix}-algolia:before { content: fa-content($fa-var-algolia); } +.#{$fa-css-prefix}-align-center:before { content: fa-content($fa-var-align-center); } +.#{$fa-css-prefix}-align-justify:before { content: fa-content($fa-var-align-justify); } +.#{$fa-css-prefix}-align-left:before { content: fa-content($fa-var-align-left); } +.#{$fa-css-prefix}-align-right:before { content: fa-content($fa-var-align-right); } +.#{$fa-css-prefix}-alipay:before { content: fa-content($fa-var-alipay); } +.#{$fa-css-prefix}-allergies:before { content: fa-content($fa-var-allergies); } +.#{$fa-css-prefix}-amazon:before { content: fa-content($fa-var-amazon); } +.#{$fa-css-prefix}-amazon-pay:before { content: fa-content($fa-var-amazon-pay); } +.#{$fa-css-prefix}-ambulance:before { content: fa-content($fa-var-ambulance); } +.#{$fa-css-prefix}-american-sign-language-interpreting:before { content: fa-content($fa-var-american-sign-language-interpreting); } +.#{$fa-css-prefix}-amilia:before { content: fa-content($fa-var-amilia); } +.#{$fa-css-prefix}-anchor:before { content: fa-content($fa-var-anchor); } +.#{$fa-css-prefix}-android:before { content: fa-content($fa-var-android); } +.#{$fa-css-prefix}-angellist:before { content: fa-content($fa-var-angellist); } +.#{$fa-css-prefix}-angle-double-down:before { content: fa-content($fa-var-angle-double-down); } +.#{$fa-css-prefix}-angle-double-left:before { content: fa-content($fa-var-angle-double-left); } +.#{$fa-css-prefix}-angle-double-right:before { content: fa-content($fa-var-angle-double-right); } +.#{$fa-css-prefix}-angle-double-up:before { content: fa-content($fa-var-angle-double-up); } +.#{$fa-css-prefix}-angle-down:before { content: fa-content($fa-var-angle-down); } +.#{$fa-css-prefix}-angle-left:before { content: fa-content($fa-var-angle-left); } +.#{$fa-css-prefix}-angle-right:before { content: fa-content($fa-var-angle-right); } +.#{$fa-css-prefix}-angle-up:before { content: fa-content($fa-var-angle-up); } +.#{$fa-css-prefix}-angry:before { content: fa-content($fa-var-angry); } +.#{$fa-css-prefix}-angrycreative:before { content: fa-content($fa-var-angrycreative); } +.#{$fa-css-prefix}-angular:before { content: fa-content($fa-var-angular); } +.#{$fa-css-prefix}-ankh:before { content: fa-content($fa-var-ankh); } +.#{$fa-css-prefix}-app-store:before { content: fa-content($fa-var-app-store); } +.#{$fa-css-prefix}-app-store-ios:before { content: fa-content($fa-var-app-store-ios); } +.#{$fa-css-prefix}-apper:before { content: fa-content($fa-var-apper); } +.#{$fa-css-prefix}-apple:before { content: fa-content($fa-var-apple); } +.#{$fa-css-prefix}-apple-alt:before { content: fa-content($fa-var-apple-alt); } +.#{$fa-css-prefix}-apple-pay:before { content: fa-content($fa-var-apple-pay); } +.#{$fa-css-prefix}-archive:before { content: fa-content($fa-var-archive); } +.#{$fa-css-prefix}-archway:before { content: fa-content($fa-var-archway); } +.#{$fa-css-prefix}-arrow-alt-circle-down:before { content: fa-content($fa-var-arrow-alt-circle-down); } +.#{$fa-css-prefix}-arrow-alt-circle-left:before { content: fa-content($fa-var-arrow-alt-circle-left); } +.#{$fa-css-prefix}-arrow-alt-circle-right:before { content: fa-content($fa-var-arrow-alt-circle-right); } +.#{$fa-css-prefix}-arrow-alt-circle-up:before { content: fa-content($fa-var-arrow-alt-circle-up); } +.#{$fa-css-prefix}-arrow-circle-down:before { content: fa-content($fa-var-arrow-circle-down); } +.#{$fa-css-prefix}-arrow-circle-left:before { content: fa-content($fa-var-arrow-circle-left); } +.#{$fa-css-prefix}-arrow-circle-right:before { content: fa-content($fa-var-arrow-circle-right); } +.#{$fa-css-prefix}-arrow-circle-up:before { content: fa-content($fa-var-arrow-circle-up); } +.#{$fa-css-prefix}-arrow-down:before { content: fa-content($fa-var-arrow-down); } +.#{$fa-css-prefix}-arrow-left:before { content: fa-content($fa-var-arrow-left); } +.#{$fa-css-prefix}-arrow-right:before { content: fa-content($fa-var-arrow-right); } +.#{$fa-css-prefix}-arrow-up:before { content: fa-content($fa-var-arrow-up); } +.#{$fa-css-prefix}-arrows-alt:before { content: fa-content($fa-var-arrows-alt); } +.#{$fa-css-prefix}-arrows-alt-h:before { content: fa-content($fa-var-arrows-alt-h); } +.#{$fa-css-prefix}-arrows-alt-v:before { content: fa-content($fa-var-arrows-alt-v); } +.#{$fa-css-prefix}-assistive-listening-systems:before { content: fa-content($fa-var-assistive-listening-systems); } +.#{$fa-css-prefix}-asterisk:before { content: fa-content($fa-var-asterisk); } +.#{$fa-css-prefix}-asymmetrik:before { content: fa-content($fa-var-asymmetrik); } +.#{$fa-css-prefix}-at:before { content: fa-content($fa-var-at); } +.#{$fa-css-prefix}-atlas:before { content: fa-content($fa-var-atlas); } +.#{$fa-css-prefix}-atom:before { content: fa-content($fa-var-atom); } +.#{$fa-css-prefix}-audible:before { content: fa-content($fa-var-audible); } +.#{$fa-css-prefix}-audio-description:before { content: fa-content($fa-var-audio-description); } +.#{$fa-css-prefix}-autoprefixer:before { content: fa-content($fa-var-autoprefixer); } +.#{$fa-css-prefix}-avianex:before { content: fa-content($fa-var-avianex); } +.#{$fa-css-prefix}-aviato:before { content: fa-content($fa-var-aviato); } +.#{$fa-css-prefix}-award:before { content: fa-content($fa-var-award); } +.#{$fa-css-prefix}-aws:before { content: fa-content($fa-var-aws); } +.#{$fa-css-prefix}-backspace:before { content: fa-content($fa-var-backspace); } +.#{$fa-css-prefix}-backward:before { content: fa-content($fa-var-backward); } +.#{$fa-css-prefix}-balance-scale:before { content: fa-content($fa-var-balance-scale); } +.#{$fa-css-prefix}-ban:before { content: fa-content($fa-var-ban); } +.#{$fa-css-prefix}-band-aid:before { content: fa-content($fa-var-band-aid); } +.#{$fa-css-prefix}-bandcamp:before { content: fa-content($fa-var-bandcamp); } +.#{$fa-css-prefix}-barcode:before { content: fa-content($fa-var-barcode); } +.#{$fa-css-prefix}-bars:before { content: fa-content($fa-var-bars); } +.#{$fa-css-prefix}-baseball-ball:before { content: fa-content($fa-var-baseball-ball); } +.#{$fa-css-prefix}-basketball-ball:before { content: fa-content($fa-var-basketball-ball); } +.#{$fa-css-prefix}-bath:before { content: fa-content($fa-var-bath); } +.#{$fa-css-prefix}-battery-empty:before { content: fa-content($fa-var-battery-empty); } +.#{$fa-css-prefix}-battery-full:before { content: fa-content($fa-var-battery-full); } +.#{$fa-css-prefix}-battery-half:before { content: fa-content($fa-var-battery-half); } +.#{$fa-css-prefix}-battery-quarter:before { content: fa-content($fa-var-battery-quarter); } +.#{$fa-css-prefix}-battery-three-quarters:before { content: fa-content($fa-var-battery-three-quarters); } +.#{$fa-css-prefix}-bed:before { content: fa-content($fa-var-bed); } +.#{$fa-css-prefix}-beer:before { content: fa-content($fa-var-beer); } +.#{$fa-css-prefix}-behance:before { content: fa-content($fa-var-behance); } +.#{$fa-css-prefix}-behance-square:before { content: fa-content($fa-var-behance-square); } +.#{$fa-css-prefix}-bell:before { content: fa-content($fa-var-bell); } +.#{$fa-css-prefix}-bell-slash:before { content: fa-content($fa-var-bell-slash); } +.#{$fa-css-prefix}-bezier-curve:before { content: fa-content($fa-var-bezier-curve); } +.#{$fa-css-prefix}-bible:before { content: fa-content($fa-var-bible); } +.#{$fa-css-prefix}-bicycle:before { content: fa-content($fa-var-bicycle); } +.#{$fa-css-prefix}-bimobject:before { content: fa-content($fa-var-bimobject); } +.#{$fa-css-prefix}-binoculars:before { content: fa-content($fa-var-binoculars); } +.#{$fa-css-prefix}-birthday-cake:before { content: fa-content($fa-var-birthday-cake); } +.#{$fa-css-prefix}-bitbucket:before { content: fa-content($fa-var-bitbucket); } +.#{$fa-css-prefix}-bitcoin:before { content: fa-content($fa-var-bitcoin); } +.#{$fa-css-prefix}-bity:before { content: fa-content($fa-var-bity); } +.#{$fa-css-prefix}-black-tie:before { content: fa-content($fa-var-black-tie); } +.#{$fa-css-prefix}-blackberry:before { content: fa-content($fa-var-blackberry); } +.#{$fa-css-prefix}-blender:before { content: fa-content($fa-var-blender); } +.#{$fa-css-prefix}-blind:before { content: fa-content($fa-var-blind); } +.#{$fa-css-prefix}-blogger:before { content: fa-content($fa-var-blogger); } +.#{$fa-css-prefix}-blogger-b:before { content: fa-content($fa-var-blogger-b); } +.#{$fa-css-prefix}-bluetooth:before { content: fa-content($fa-var-bluetooth); } +.#{$fa-css-prefix}-bluetooth-b:before { content: fa-content($fa-var-bluetooth-b); } +.#{$fa-css-prefix}-bold:before { content: fa-content($fa-var-bold); } +.#{$fa-css-prefix}-bolt:before { content: fa-content($fa-var-bolt); } +.#{$fa-css-prefix}-bomb:before { content: fa-content($fa-var-bomb); } +.#{$fa-css-prefix}-bone:before { content: fa-content($fa-var-bone); } +.#{$fa-css-prefix}-bong:before { content: fa-content($fa-var-bong); } +.#{$fa-css-prefix}-book:before { content: fa-content($fa-var-book); } +.#{$fa-css-prefix}-book-open:before { content: fa-content($fa-var-book-open); } +.#{$fa-css-prefix}-book-reader:before { content: fa-content($fa-var-book-reader); } +.#{$fa-css-prefix}-bookmark:before { content: fa-content($fa-var-bookmark); } +.#{$fa-css-prefix}-bowling-ball:before { content: fa-content($fa-var-bowling-ball); } +.#{$fa-css-prefix}-box:before { content: fa-content($fa-var-box); } +.#{$fa-css-prefix}-box-open:before { content: fa-content($fa-var-box-open); } +.#{$fa-css-prefix}-boxes:before { content: fa-content($fa-var-boxes); } +.#{$fa-css-prefix}-braille:before { content: fa-content($fa-var-braille); } +.#{$fa-css-prefix}-brain:before { content: fa-content($fa-var-brain); } +.#{$fa-css-prefix}-briefcase:before { content: fa-content($fa-var-briefcase); } +.#{$fa-css-prefix}-briefcase-medical:before { content: fa-content($fa-var-briefcase-medical); } +.#{$fa-css-prefix}-broadcast-tower:before { content: fa-content($fa-var-broadcast-tower); } +.#{$fa-css-prefix}-broom:before { content: fa-content($fa-var-broom); } +.#{$fa-css-prefix}-brush:before { content: fa-content($fa-var-brush); } +.#{$fa-css-prefix}-btc:before { content: fa-content($fa-var-btc); } +.#{$fa-css-prefix}-bug:before { content: fa-content($fa-var-bug); } +.#{$fa-css-prefix}-building:before { content: fa-content($fa-var-building); } +.#{$fa-css-prefix}-bullhorn:before { content: fa-content($fa-var-bullhorn); } +.#{$fa-css-prefix}-bullseye:before { content: fa-content($fa-var-bullseye); } +.#{$fa-css-prefix}-burn:before { content: fa-content($fa-var-burn); } +.#{$fa-css-prefix}-buromobelexperte:before { content: fa-content($fa-var-buromobelexperte); } +.#{$fa-css-prefix}-bus:before { content: fa-content($fa-var-bus); } +.#{$fa-css-prefix}-bus-alt:before { content: fa-content($fa-var-bus-alt); } +.#{$fa-css-prefix}-business-time:before { content: fa-content($fa-var-business-time); } +.#{$fa-css-prefix}-buysellads:before { content: fa-content($fa-var-buysellads); } +.#{$fa-css-prefix}-calculator:before { content: fa-content($fa-var-calculator); } +.#{$fa-css-prefix}-calendar:before { content: fa-content($fa-var-calendar); } +.#{$fa-css-prefix}-calendar-alt:before { content: fa-content($fa-var-calendar-alt); } +.#{$fa-css-prefix}-calendar-check:before { content: fa-content($fa-var-calendar-check); } +.#{$fa-css-prefix}-calendar-minus:before { content: fa-content($fa-var-calendar-minus); } +.#{$fa-css-prefix}-calendar-plus:before { content: fa-content($fa-var-calendar-plus); } +.#{$fa-css-prefix}-calendar-times:before { content: fa-content($fa-var-calendar-times); } +.#{$fa-css-prefix}-camera:before { content: fa-content($fa-var-camera); } +.#{$fa-css-prefix}-camera-retro:before { content: fa-content($fa-var-camera-retro); } +.#{$fa-css-prefix}-cannabis:before { content: fa-content($fa-var-cannabis); } +.#{$fa-css-prefix}-capsules:before { content: fa-content($fa-var-capsules); } +.#{$fa-css-prefix}-car:before { content: fa-content($fa-var-car); } +.#{$fa-css-prefix}-car-alt:before { content: fa-content($fa-var-car-alt); } +.#{$fa-css-prefix}-car-battery:before { content: fa-content($fa-var-car-battery); } +.#{$fa-css-prefix}-car-crash:before { content: fa-content($fa-var-car-crash); } +.#{$fa-css-prefix}-car-side:before { content: fa-content($fa-var-car-side); } +.#{$fa-css-prefix}-caret-down:before { content: fa-content($fa-var-caret-down); } +.#{$fa-css-prefix}-caret-left:before { content: fa-content($fa-var-caret-left); } +.#{$fa-css-prefix}-caret-right:before { content: fa-content($fa-var-caret-right); } +.#{$fa-css-prefix}-caret-square-down:before { content: fa-content($fa-var-caret-square-down); } +.#{$fa-css-prefix}-caret-square-left:before { content: fa-content($fa-var-caret-square-left); } +.#{$fa-css-prefix}-caret-square-right:before { content: fa-content($fa-var-caret-square-right); } +.#{$fa-css-prefix}-caret-square-up:before { content: fa-content($fa-var-caret-square-up); } +.#{$fa-css-prefix}-caret-up:before { content: fa-content($fa-var-caret-up); } +.#{$fa-css-prefix}-cart-arrow-down:before { content: fa-content($fa-var-cart-arrow-down); } +.#{$fa-css-prefix}-cart-plus:before { content: fa-content($fa-var-cart-plus); } +.#{$fa-css-prefix}-cc-amazon-pay:before { content: fa-content($fa-var-cc-amazon-pay); } +.#{$fa-css-prefix}-cc-amex:before { content: fa-content($fa-var-cc-amex); } +.#{$fa-css-prefix}-cc-apple-pay:before { content: fa-content($fa-var-cc-apple-pay); } +.#{$fa-css-prefix}-cc-diners-club:before { content: fa-content($fa-var-cc-diners-club); } +.#{$fa-css-prefix}-cc-discover:before { content: fa-content($fa-var-cc-discover); } +.#{$fa-css-prefix}-cc-jcb:before { content: fa-content($fa-var-cc-jcb); } +.#{$fa-css-prefix}-cc-mastercard:before { content: fa-content($fa-var-cc-mastercard); } +.#{$fa-css-prefix}-cc-paypal:before { content: fa-content($fa-var-cc-paypal); } +.#{$fa-css-prefix}-cc-stripe:before { content: fa-content($fa-var-cc-stripe); } +.#{$fa-css-prefix}-cc-visa:before { content: fa-content($fa-var-cc-visa); } +.#{$fa-css-prefix}-centercode:before { content: fa-content($fa-var-centercode); } +.#{$fa-css-prefix}-certificate:before { content: fa-content($fa-var-certificate); } +.#{$fa-css-prefix}-chalkboard:before { content: fa-content($fa-var-chalkboard); } +.#{$fa-css-prefix}-chalkboard-teacher:before { content: fa-content($fa-var-chalkboard-teacher); } +.#{$fa-css-prefix}-charging-station:before { content: fa-content($fa-var-charging-station); } +.#{$fa-css-prefix}-chart-area:before { content: fa-content($fa-var-chart-area); } +.#{$fa-css-prefix}-chart-bar:before { content: fa-content($fa-var-chart-bar); } +.#{$fa-css-prefix}-chart-line:before { content: fa-content($fa-var-chart-line); } +.#{$fa-css-prefix}-chart-pie:before { content: fa-content($fa-var-chart-pie); } +.#{$fa-css-prefix}-check:before { content: fa-content($fa-var-check); } +.#{$fa-css-prefix}-check-circle:before { content: fa-content($fa-var-check-circle); } +.#{$fa-css-prefix}-check-double:before { content: fa-content($fa-var-check-double); } +.#{$fa-css-prefix}-check-square:before { content: fa-content($fa-var-check-square); } +.#{$fa-css-prefix}-chess:before { content: fa-content($fa-var-chess); } +.#{$fa-css-prefix}-chess-bishop:before { content: fa-content($fa-var-chess-bishop); } +.#{$fa-css-prefix}-chess-board:before { content: fa-content($fa-var-chess-board); } +.#{$fa-css-prefix}-chess-king:before { content: fa-content($fa-var-chess-king); } +.#{$fa-css-prefix}-chess-knight:before { content: fa-content($fa-var-chess-knight); } +.#{$fa-css-prefix}-chess-pawn:before { content: fa-content($fa-var-chess-pawn); } +.#{$fa-css-prefix}-chess-queen:before { content: fa-content($fa-var-chess-queen); } +.#{$fa-css-prefix}-chess-rook:before { content: fa-content($fa-var-chess-rook); } +.#{$fa-css-prefix}-chevron-circle-down:before { content: fa-content($fa-var-chevron-circle-down); } +.#{$fa-css-prefix}-chevron-circle-left:before { content: fa-content($fa-var-chevron-circle-left); } +.#{$fa-css-prefix}-chevron-circle-right:before { content: fa-content($fa-var-chevron-circle-right); } +.#{$fa-css-prefix}-chevron-circle-up:before { content: fa-content($fa-var-chevron-circle-up); } +.#{$fa-css-prefix}-chevron-down:before { content: fa-content($fa-var-chevron-down); } +.#{$fa-css-prefix}-chevron-left:before { content: fa-content($fa-var-chevron-left); } +.#{$fa-css-prefix}-chevron-right:before { content: fa-content($fa-var-chevron-right); } +.#{$fa-css-prefix}-chevron-up:before { content: fa-content($fa-var-chevron-up); } +.#{$fa-css-prefix}-child:before { content: fa-content($fa-var-child); } +.#{$fa-css-prefix}-chrome:before { content: fa-content($fa-var-chrome); } +.#{$fa-css-prefix}-church:before { content: fa-content($fa-var-church); } +.#{$fa-css-prefix}-circle:before { content: fa-content($fa-var-circle); } +.#{$fa-css-prefix}-circle-notch:before { content: fa-content($fa-var-circle-notch); } +.#{$fa-css-prefix}-city:before { content: fa-content($fa-var-city); } +.#{$fa-css-prefix}-clipboard:before { content: fa-content($fa-var-clipboard); } +.#{$fa-css-prefix}-clipboard-check:before { content: fa-content($fa-var-clipboard-check); } +.#{$fa-css-prefix}-clipboard-list:before { content: fa-content($fa-var-clipboard-list); } +.#{$fa-css-prefix}-clock:before { content: fa-content($fa-var-clock); } +.#{$fa-css-prefix}-clone:before { content: fa-content($fa-var-clone); } +.#{$fa-css-prefix}-closed-captioning:before { content: fa-content($fa-var-closed-captioning); } +.#{$fa-css-prefix}-cloud:before { content: fa-content($fa-var-cloud); } +.#{$fa-css-prefix}-cloud-download-alt:before { content: fa-content($fa-var-cloud-download-alt); } +.#{$fa-css-prefix}-cloud-upload-alt:before { content: fa-content($fa-var-cloud-upload-alt); } +.#{$fa-css-prefix}-cloudscale:before { content: fa-content($fa-var-cloudscale); } +.#{$fa-css-prefix}-cloudsmith:before { content: fa-content($fa-var-cloudsmith); } +.#{$fa-css-prefix}-cloudversify:before { content: fa-content($fa-var-cloudversify); } +.#{$fa-css-prefix}-cocktail:before { content: fa-content($fa-var-cocktail); } +.#{$fa-css-prefix}-code:before { content: fa-content($fa-var-code); } +.#{$fa-css-prefix}-code-branch:before { content: fa-content($fa-var-code-branch); } +.#{$fa-css-prefix}-codepen:before { content: fa-content($fa-var-codepen); } +.#{$fa-css-prefix}-codiepie:before { content: fa-content($fa-var-codiepie); } +.#{$fa-css-prefix}-coffee:before { content: fa-content($fa-var-coffee); } +.#{$fa-css-prefix}-cog:before { content: fa-content($fa-var-cog); } +.#{$fa-css-prefix}-cogs:before { content: fa-content($fa-var-cogs); } +.#{$fa-css-prefix}-coins:before { content: fa-content($fa-var-coins); } +.#{$fa-css-prefix}-columns:before { content: fa-content($fa-var-columns); } +.#{$fa-css-prefix}-comment:before { content: fa-content($fa-var-comment); } +.#{$fa-css-prefix}-comment-alt:before { content: fa-content($fa-var-comment-alt); } +.#{$fa-css-prefix}-comment-dollar:before { content: fa-content($fa-var-comment-dollar); } +.#{$fa-css-prefix}-comment-dots:before { content: fa-content($fa-var-comment-dots); } +.#{$fa-css-prefix}-comment-slash:before { content: fa-content($fa-var-comment-slash); } +.#{$fa-css-prefix}-comments:before { content: fa-content($fa-var-comments); } +.#{$fa-css-prefix}-comments-dollar:before { content: fa-content($fa-var-comments-dollar); } +.#{$fa-css-prefix}-compact-disc:before { content: fa-content($fa-var-compact-disc); } +.#{$fa-css-prefix}-compass:before { content: fa-content($fa-var-compass); } +.#{$fa-css-prefix}-compress:before { content: fa-content($fa-var-compress); } +.#{$fa-css-prefix}-concierge-bell:before { content: fa-content($fa-var-concierge-bell); } +.#{$fa-css-prefix}-connectdevelop:before { content: fa-content($fa-var-connectdevelop); } +.#{$fa-css-prefix}-contao:before { content: fa-content($fa-var-contao); } +.#{$fa-css-prefix}-cookie:before { content: fa-content($fa-var-cookie); } +.#{$fa-css-prefix}-cookie-bite:before { content: fa-content($fa-var-cookie-bite); } +.#{$fa-css-prefix}-copy:before { content: fa-content($fa-var-copy); } +.#{$fa-css-prefix}-copyright:before { content: fa-content($fa-var-copyright); } +.#{$fa-css-prefix}-couch:before { content: fa-content($fa-var-couch); } +.#{$fa-css-prefix}-cpanel:before { content: fa-content($fa-var-cpanel); } +.#{$fa-css-prefix}-creative-commons:before { content: fa-content($fa-var-creative-commons); } +.#{$fa-css-prefix}-creative-commons-by:before { content: fa-content($fa-var-creative-commons-by); } +.#{$fa-css-prefix}-creative-commons-nc:before { content: fa-content($fa-var-creative-commons-nc); } +.#{$fa-css-prefix}-creative-commons-nc-eu:before { content: fa-content($fa-var-creative-commons-nc-eu); } +.#{$fa-css-prefix}-creative-commons-nc-jp:before { content: fa-content($fa-var-creative-commons-nc-jp); } +.#{$fa-css-prefix}-creative-commons-nd:before { content: fa-content($fa-var-creative-commons-nd); } +.#{$fa-css-prefix}-creative-commons-pd:before { content: fa-content($fa-var-creative-commons-pd); } +.#{$fa-css-prefix}-creative-commons-pd-alt:before { content: fa-content($fa-var-creative-commons-pd-alt); } +.#{$fa-css-prefix}-creative-commons-remix:before { content: fa-content($fa-var-creative-commons-remix); } +.#{$fa-css-prefix}-creative-commons-sa:before { content: fa-content($fa-var-creative-commons-sa); } +.#{$fa-css-prefix}-creative-commons-sampling:before { content: fa-content($fa-var-creative-commons-sampling); } +.#{$fa-css-prefix}-creative-commons-sampling-plus:before { content: fa-content($fa-var-creative-commons-sampling-plus); } +.#{$fa-css-prefix}-creative-commons-share:before { content: fa-content($fa-var-creative-commons-share); } +.#{$fa-css-prefix}-credit-card:before { content: fa-content($fa-var-credit-card); } +.#{$fa-css-prefix}-crop:before { content: fa-content($fa-var-crop); } +.#{$fa-css-prefix}-crop-alt:before { content: fa-content($fa-var-crop-alt); } +.#{$fa-css-prefix}-cross:before { content: fa-content($fa-var-cross); } +.#{$fa-css-prefix}-crosshairs:before { content: fa-content($fa-var-crosshairs); } +.#{$fa-css-prefix}-crow:before { content: fa-content($fa-var-crow); } +.#{$fa-css-prefix}-crown:before { content: fa-content($fa-var-crown); } +.#{$fa-css-prefix}-css3:before { content: fa-content($fa-var-css3); } +.#{$fa-css-prefix}-css3-alt:before { content: fa-content($fa-var-css3-alt); } +.#{$fa-css-prefix}-cube:before { content: fa-content($fa-var-cube); } +.#{$fa-css-prefix}-cubes:before { content: fa-content($fa-var-cubes); } +.#{$fa-css-prefix}-cut:before { content: fa-content($fa-var-cut); } +.#{$fa-css-prefix}-cuttlefish:before { content: fa-content($fa-var-cuttlefish); } +.#{$fa-css-prefix}-d-and-d:before { content: fa-content($fa-var-d-and-d); } +.#{$fa-css-prefix}-dashcube:before { content: fa-content($fa-var-dashcube); } +.#{$fa-css-prefix}-database:before { content: fa-content($fa-var-database); } +.#{$fa-css-prefix}-deaf:before { content: fa-content($fa-var-deaf); } +.#{$fa-css-prefix}-delicious:before { content: fa-content($fa-var-delicious); } +.#{$fa-css-prefix}-deploydog:before { content: fa-content($fa-var-deploydog); } +.#{$fa-css-prefix}-deskpro:before { content: fa-content($fa-var-deskpro); } +.#{$fa-css-prefix}-desktop:before { content: fa-content($fa-var-desktop); } +.#{$fa-css-prefix}-deviantart:before { content: fa-content($fa-var-deviantart); } +.#{$fa-css-prefix}-dharmachakra:before { content: fa-content($fa-var-dharmachakra); } +.#{$fa-css-prefix}-diagnoses:before { content: fa-content($fa-var-diagnoses); } +.#{$fa-css-prefix}-dice:before { content: fa-content($fa-var-dice); } +.#{$fa-css-prefix}-dice-five:before { content: fa-content($fa-var-dice-five); } +.#{$fa-css-prefix}-dice-four:before { content: fa-content($fa-var-dice-four); } +.#{$fa-css-prefix}-dice-one:before { content: fa-content($fa-var-dice-one); } +.#{$fa-css-prefix}-dice-six:before { content: fa-content($fa-var-dice-six); } +.#{$fa-css-prefix}-dice-three:before { content: fa-content($fa-var-dice-three); } +.#{$fa-css-prefix}-dice-two:before { content: fa-content($fa-var-dice-two); } +.#{$fa-css-prefix}-digg:before { content: fa-content($fa-var-digg); } +.#{$fa-css-prefix}-digital-ocean:before { content: fa-content($fa-var-digital-ocean); } +.#{$fa-css-prefix}-digital-tachograph:before { content: fa-content($fa-var-digital-tachograph); } +.#{$fa-css-prefix}-directions:before { content: fa-content($fa-var-directions); } +.#{$fa-css-prefix}-discord:before { content: fa-content($fa-var-discord); } +.#{$fa-css-prefix}-discourse:before { content: fa-content($fa-var-discourse); } +.#{$fa-css-prefix}-divide:before { content: fa-content($fa-var-divide); } +.#{$fa-css-prefix}-dizzy:before { content: fa-content($fa-var-dizzy); } +.#{$fa-css-prefix}-dna:before { content: fa-content($fa-var-dna); } +.#{$fa-css-prefix}-dochub:before { content: fa-content($fa-var-dochub); } +.#{$fa-css-prefix}-docker:before { content: fa-content($fa-var-docker); } +.#{$fa-css-prefix}-dollar-sign:before { content: fa-content($fa-var-dollar-sign); } +.#{$fa-css-prefix}-dolly:before { content: fa-content($fa-var-dolly); } +.#{$fa-css-prefix}-dolly-flatbed:before { content: fa-content($fa-var-dolly-flatbed); } +.#{$fa-css-prefix}-donate:before { content: fa-content($fa-var-donate); } +.#{$fa-css-prefix}-door-closed:before { content: fa-content($fa-var-door-closed); } +.#{$fa-css-prefix}-door-open:before { content: fa-content($fa-var-door-open); } +.#{$fa-css-prefix}-dot-circle:before { content: fa-content($fa-var-dot-circle); } +.#{$fa-css-prefix}-dove:before { content: fa-content($fa-var-dove); } +.#{$fa-css-prefix}-download:before { content: fa-content($fa-var-download); } +.#{$fa-css-prefix}-draft2digital:before { content: fa-content($fa-var-draft2digital); } +.#{$fa-css-prefix}-drafting-compass:before { content: fa-content($fa-var-drafting-compass); } +.#{$fa-css-prefix}-draw-polygon:before { content: fa-content($fa-var-draw-polygon); } +.#{$fa-css-prefix}-dribbble:before { content: fa-content($fa-var-dribbble); } +.#{$fa-css-prefix}-dribbble-square:before { content: fa-content($fa-var-dribbble-square); } +.#{$fa-css-prefix}-dropbox:before { content: fa-content($fa-var-dropbox); } +.#{$fa-css-prefix}-drum:before { content: fa-content($fa-var-drum); } +.#{$fa-css-prefix}-drum-steelpan:before { content: fa-content($fa-var-drum-steelpan); } +.#{$fa-css-prefix}-drupal:before { content: fa-content($fa-var-drupal); } +.#{$fa-css-prefix}-dumbbell:before { content: fa-content($fa-var-dumbbell); } +.#{$fa-css-prefix}-dyalog:before { content: fa-content($fa-var-dyalog); } +.#{$fa-css-prefix}-earlybirds:before { content: fa-content($fa-var-earlybirds); } +.#{$fa-css-prefix}-ebay:before { content: fa-content($fa-var-ebay); } +.#{$fa-css-prefix}-edge:before { content: fa-content($fa-var-edge); } +.#{$fa-css-prefix}-edit:before { content: fa-content($fa-var-edit); } +.#{$fa-css-prefix}-eject:before { content: fa-content($fa-var-eject); } +.#{$fa-css-prefix}-elementor:before { content: fa-content($fa-var-elementor); } +.#{$fa-css-prefix}-ellipsis-h:before { content: fa-content($fa-var-ellipsis-h); } +.#{$fa-css-prefix}-ellipsis-v:before { content: fa-content($fa-var-ellipsis-v); } +.#{$fa-css-prefix}-ello:before { content: fa-content($fa-var-ello); } +.#{$fa-css-prefix}-ember:before { content: fa-content($fa-var-ember); } +.#{$fa-css-prefix}-empire:before { content: fa-content($fa-var-empire); } +.#{$fa-css-prefix}-envelope:before { content: fa-content($fa-var-envelope); } +.#{$fa-css-prefix}-envelope-open:before { content: fa-content($fa-var-envelope-open); } +.#{$fa-css-prefix}-envelope-open-text:before { content: fa-content($fa-var-envelope-open-text); } +.#{$fa-css-prefix}-envelope-square:before { content: fa-content($fa-var-envelope-square); } +.#{$fa-css-prefix}-envira:before { content: fa-content($fa-var-envira); } +.#{$fa-css-prefix}-equals:before { content: fa-content($fa-var-equals); } +.#{$fa-css-prefix}-eraser:before { content: fa-content($fa-var-eraser); } +.#{$fa-css-prefix}-erlang:before { content: fa-content($fa-var-erlang); } +.#{$fa-css-prefix}-ethereum:before { content: fa-content($fa-var-ethereum); } +.#{$fa-css-prefix}-etsy:before { content: fa-content($fa-var-etsy); } +.#{$fa-css-prefix}-euro-sign:before { content: fa-content($fa-var-euro-sign); } +.#{$fa-css-prefix}-exchange-alt:before { content: fa-content($fa-var-exchange-alt); } +.#{$fa-css-prefix}-exclamation:before { content: fa-content($fa-var-exclamation); } +.#{$fa-css-prefix}-exclamation-circle:before { content: fa-content($fa-var-exclamation-circle); } +.#{$fa-css-prefix}-exclamation-triangle:before { content: fa-content($fa-var-exclamation-triangle); } +.#{$fa-css-prefix}-expand:before { content: fa-content($fa-var-expand); } +.#{$fa-css-prefix}-expand-arrows-alt:before { content: fa-content($fa-var-expand-arrows-alt); } +.#{$fa-css-prefix}-expeditedssl:before { content: fa-content($fa-var-expeditedssl); } +.#{$fa-css-prefix}-external-link-alt:before { content: fa-content($fa-var-external-link-alt); } +.#{$fa-css-prefix}-external-link-square-alt:before { content: fa-content($fa-var-external-link-square-alt); } +.#{$fa-css-prefix}-eye:before { content: fa-content($fa-var-eye); } +.#{$fa-css-prefix}-eye-dropper:before { content: fa-content($fa-var-eye-dropper); } +.#{$fa-css-prefix}-eye-slash:before { content: fa-content($fa-var-eye-slash); } +.#{$fa-css-prefix}-facebook:before { content: fa-content($fa-var-facebook); } +.#{$fa-css-prefix}-facebook-f:before { content: fa-content($fa-var-facebook-f); } +.#{$fa-css-prefix}-facebook-messenger:before { content: fa-content($fa-var-facebook-messenger); } +.#{$fa-css-prefix}-facebook-square:before { content: fa-content($fa-var-facebook-square); } +.#{$fa-css-prefix}-fast-backward:before { content: fa-content($fa-var-fast-backward); } +.#{$fa-css-prefix}-fast-forward:before { content: fa-content($fa-var-fast-forward); } +.#{$fa-css-prefix}-fax:before { content: fa-content($fa-var-fax); } +.#{$fa-css-prefix}-feather:before { content: fa-content($fa-var-feather); } +.#{$fa-css-prefix}-feather-alt:before { content: fa-content($fa-var-feather-alt); } +.#{$fa-css-prefix}-female:before { content: fa-content($fa-var-female); } +.#{$fa-css-prefix}-fighter-jet:before { content: fa-content($fa-var-fighter-jet); } +.#{$fa-css-prefix}-file:before { content: fa-content($fa-var-file); } +.#{$fa-css-prefix}-file-alt:before { content: fa-content($fa-var-file-alt); } +.#{$fa-css-prefix}-file-archive:before { content: fa-content($fa-var-file-archive); } +.#{$fa-css-prefix}-file-audio:before { content: fa-content($fa-var-file-audio); } +.#{$fa-css-prefix}-file-code:before { content: fa-content($fa-var-file-code); } +.#{$fa-css-prefix}-file-contract:before { content: fa-content($fa-var-file-contract); } +.#{$fa-css-prefix}-file-download:before { content: fa-content($fa-var-file-download); } +.#{$fa-css-prefix}-file-excel:before { content: fa-content($fa-var-file-excel); } +.#{$fa-css-prefix}-file-export:before { content: fa-content($fa-var-file-export); } +.#{$fa-css-prefix}-file-image:before { content: fa-content($fa-var-file-image); } +.#{$fa-css-prefix}-file-import:before { content: fa-content($fa-var-file-import); } +.#{$fa-css-prefix}-file-invoice:before { content: fa-content($fa-var-file-invoice); } +.#{$fa-css-prefix}-file-invoice-dollar:before { content: fa-content($fa-var-file-invoice-dollar); } +.#{$fa-css-prefix}-file-medical:before { content: fa-content($fa-var-file-medical); } +.#{$fa-css-prefix}-file-medical-alt:before { content: fa-content($fa-var-file-medical-alt); } +.#{$fa-css-prefix}-file-pdf:before { content: fa-content($fa-var-file-pdf); } +.#{$fa-css-prefix}-file-powerpoint:before { content: fa-content($fa-var-file-powerpoint); } +.#{$fa-css-prefix}-file-prescription:before { content: fa-content($fa-var-file-prescription); } +.#{$fa-css-prefix}-file-signature:before { content: fa-content($fa-var-file-signature); } +.#{$fa-css-prefix}-file-upload:before { content: fa-content($fa-var-file-upload); } +.#{$fa-css-prefix}-file-video:before { content: fa-content($fa-var-file-video); } +.#{$fa-css-prefix}-file-word:before { content: fa-content($fa-var-file-word); } +.#{$fa-css-prefix}-fill:before { content: fa-content($fa-var-fill); } +.#{$fa-css-prefix}-fill-drip:before { content: fa-content($fa-var-fill-drip); } +.#{$fa-css-prefix}-film:before { content: fa-content($fa-var-film); } +.#{$fa-css-prefix}-filter:before { content: fa-content($fa-var-filter); } +.#{$fa-css-prefix}-fingerprint:before { content: fa-content($fa-var-fingerprint); } +.#{$fa-css-prefix}-fire:before { content: fa-content($fa-var-fire); } +.#{$fa-css-prefix}-fire-extinguisher:before { content: fa-content($fa-var-fire-extinguisher); } +.#{$fa-css-prefix}-firefox:before { content: fa-content($fa-var-firefox); } +.#{$fa-css-prefix}-first-aid:before { content: fa-content($fa-var-first-aid); } +.#{$fa-css-prefix}-first-order:before { content: fa-content($fa-var-first-order); } +.#{$fa-css-prefix}-first-order-alt:before { content: fa-content($fa-var-first-order-alt); } +.#{$fa-css-prefix}-firstdraft:before { content: fa-content($fa-var-firstdraft); } +.#{$fa-css-prefix}-fish:before { content: fa-content($fa-var-fish); } +.#{$fa-css-prefix}-flag:before { content: fa-content($fa-var-flag); } +.#{$fa-css-prefix}-flag-checkered:before { content: fa-content($fa-var-flag-checkered); } +.#{$fa-css-prefix}-flask:before { content: fa-content($fa-var-flask); } +.#{$fa-css-prefix}-flickr:before { content: fa-content($fa-var-flickr); } +.#{$fa-css-prefix}-flipboard:before { content: fa-content($fa-var-flipboard); } +.#{$fa-css-prefix}-flushed:before { content: fa-content($fa-var-flushed); } +.#{$fa-css-prefix}-fly:before { content: fa-content($fa-var-fly); } +.#{$fa-css-prefix}-folder:before { content: fa-content($fa-var-folder); } +.#{$fa-css-prefix}-folder-minus:before { content: fa-content($fa-var-folder-minus); } +.#{$fa-css-prefix}-folder-open:before { content: fa-content($fa-var-folder-open); } +.#{$fa-css-prefix}-folder-plus:before { content: fa-content($fa-var-folder-plus); } +.#{$fa-css-prefix}-font:before { content: fa-content($fa-var-font); } +.#{$fa-css-prefix}-font-awesome:before { content: fa-content($fa-var-font-awesome); } +.#{$fa-css-prefix}-font-awesome-alt:before { content: fa-content($fa-var-font-awesome-alt); } +.#{$fa-css-prefix}-font-awesome-flag:before { content: fa-content($fa-var-font-awesome-flag); } +.#{$fa-css-prefix}-font-awesome-logo-full:before { content: fa-content($fa-var-font-awesome-logo-full); } +.#{$fa-css-prefix}-fonticons:before { content: fa-content($fa-var-fonticons); } +.#{$fa-css-prefix}-fonticons-fi:before { content: fa-content($fa-var-fonticons-fi); } +.#{$fa-css-prefix}-football-ball:before { content: fa-content($fa-var-football-ball); } +.#{$fa-css-prefix}-fort-awesome:before { content: fa-content($fa-var-fort-awesome); } +.#{$fa-css-prefix}-fort-awesome-alt:before { content: fa-content($fa-var-fort-awesome-alt); } +.#{$fa-css-prefix}-forumbee:before { content: fa-content($fa-var-forumbee); } +.#{$fa-css-prefix}-forward:before { content: fa-content($fa-var-forward); } +.#{$fa-css-prefix}-foursquare:before { content: fa-content($fa-var-foursquare); } +.#{$fa-css-prefix}-free-code-camp:before { content: fa-content($fa-var-free-code-camp); } +.#{$fa-css-prefix}-freebsd:before { content: fa-content($fa-var-freebsd); } +.#{$fa-css-prefix}-frog:before { content: fa-content($fa-var-frog); } +.#{$fa-css-prefix}-frown:before { content: fa-content($fa-var-frown); } +.#{$fa-css-prefix}-frown-open:before { content: fa-content($fa-var-frown-open); } +.#{$fa-css-prefix}-fulcrum:before { content: fa-content($fa-var-fulcrum); } +.#{$fa-css-prefix}-funnel-dollar:before { content: fa-content($fa-var-funnel-dollar); } +.#{$fa-css-prefix}-futbol:before { content: fa-content($fa-var-futbol); } +.#{$fa-css-prefix}-galactic-republic:before { content: fa-content($fa-var-galactic-republic); } +.#{$fa-css-prefix}-galactic-senate:before { content: fa-content($fa-var-galactic-senate); } +.#{$fa-css-prefix}-gamepad:before { content: fa-content($fa-var-gamepad); } +.#{$fa-css-prefix}-gas-pump:before { content: fa-content($fa-var-gas-pump); } +.#{$fa-css-prefix}-gavel:before { content: fa-content($fa-var-gavel); } +.#{$fa-css-prefix}-gem:before { content: fa-content($fa-var-gem); } +.#{$fa-css-prefix}-genderless:before { content: fa-content($fa-var-genderless); } +.#{$fa-css-prefix}-get-pocket:before { content: fa-content($fa-var-get-pocket); } +.#{$fa-css-prefix}-gg:before { content: fa-content($fa-var-gg); } +.#{$fa-css-prefix}-gg-circle:before { content: fa-content($fa-var-gg-circle); } +.#{$fa-css-prefix}-gift:before { content: fa-content($fa-var-gift); } +.#{$fa-css-prefix}-git:before { content: fa-content($fa-var-git); } +.#{$fa-css-prefix}-git-square:before { content: fa-content($fa-var-git-square); } +.#{$fa-css-prefix}-github:before { content: fa-content($fa-var-github); } +.#{$fa-css-prefix}-github-alt:before { content: fa-content($fa-var-github-alt); } +.#{$fa-css-prefix}-github-square:before { content: fa-content($fa-var-github-square); } +.#{$fa-css-prefix}-gitkraken:before { content: fa-content($fa-var-gitkraken); } +.#{$fa-css-prefix}-gitlab:before { content: fa-content($fa-var-gitlab); } +.#{$fa-css-prefix}-gitter:before { content: fa-content($fa-var-gitter); } +.#{$fa-css-prefix}-glass-martini:before { content: fa-content($fa-var-glass-martini); } +.#{$fa-css-prefix}-glass-martini-alt:before { content: fa-content($fa-var-glass-martini-alt); } +.#{$fa-css-prefix}-glasses:before { content: fa-content($fa-var-glasses); } +.#{$fa-css-prefix}-glide:before { content: fa-content($fa-var-glide); } +.#{$fa-css-prefix}-glide-g:before { content: fa-content($fa-var-glide-g); } +.#{$fa-css-prefix}-globe:before { content: fa-content($fa-var-globe); } +.#{$fa-css-prefix}-globe-africa:before { content: fa-content($fa-var-globe-africa); } +.#{$fa-css-prefix}-globe-americas:before { content: fa-content($fa-var-globe-americas); } +.#{$fa-css-prefix}-globe-asia:before { content: fa-content($fa-var-globe-asia); } +.#{$fa-css-prefix}-gofore:before { content: fa-content($fa-var-gofore); } +.#{$fa-css-prefix}-golf-ball:before { content: fa-content($fa-var-golf-ball); } +.#{$fa-css-prefix}-goodreads:before { content: fa-content($fa-var-goodreads); } +.#{$fa-css-prefix}-goodreads-g:before { content: fa-content($fa-var-goodreads-g); } +.#{$fa-css-prefix}-google:before { content: fa-content($fa-var-google); } +.#{$fa-css-prefix}-google-drive:before { content: fa-content($fa-var-google-drive); } +.#{$fa-css-prefix}-google-play:before { content: fa-content($fa-var-google-play); } +.#{$fa-css-prefix}-google-plus:before { content: fa-content($fa-var-google-plus); } +.#{$fa-css-prefix}-google-plus-g:before { content: fa-content($fa-var-google-plus-g); } +.#{$fa-css-prefix}-google-plus-square:before { content: fa-content($fa-var-google-plus-square); } +.#{$fa-css-prefix}-google-wallet:before { content: fa-content($fa-var-google-wallet); } +.#{$fa-css-prefix}-gopuram:before { content: fa-content($fa-var-gopuram); } +.#{$fa-css-prefix}-graduation-cap:before { content: fa-content($fa-var-graduation-cap); } +.#{$fa-css-prefix}-gratipay:before { content: fa-content($fa-var-gratipay); } +.#{$fa-css-prefix}-grav:before { content: fa-content($fa-var-grav); } +.#{$fa-css-prefix}-greater-than:before { content: fa-content($fa-var-greater-than); } +.#{$fa-css-prefix}-greater-than-equal:before { content: fa-content($fa-var-greater-than-equal); } +.#{$fa-css-prefix}-grimace:before { content: fa-content($fa-var-grimace); } +.#{$fa-css-prefix}-grin:before { content: fa-content($fa-var-grin); } +.#{$fa-css-prefix}-grin-alt:before { content: fa-content($fa-var-grin-alt); } +.#{$fa-css-prefix}-grin-beam:before { content: fa-content($fa-var-grin-beam); } +.#{$fa-css-prefix}-grin-beam-sweat:before { content: fa-content($fa-var-grin-beam-sweat); } +.#{$fa-css-prefix}-grin-hearts:before { content: fa-content($fa-var-grin-hearts); } +.#{$fa-css-prefix}-grin-squint:before { content: fa-content($fa-var-grin-squint); } +.#{$fa-css-prefix}-grin-squint-tears:before { content: fa-content($fa-var-grin-squint-tears); } +.#{$fa-css-prefix}-grin-stars:before { content: fa-content($fa-var-grin-stars); } +.#{$fa-css-prefix}-grin-tears:before { content: fa-content($fa-var-grin-tears); } +.#{$fa-css-prefix}-grin-tongue:before { content: fa-content($fa-var-grin-tongue); } +.#{$fa-css-prefix}-grin-tongue-squint:before { content: fa-content($fa-var-grin-tongue-squint); } +.#{$fa-css-prefix}-grin-tongue-wink:before { content: fa-content($fa-var-grin-tongue-wink); } +.#{$fa-css-prefix}-grin-wink:before { content: fa-content($fa-var-grin-wink); } +.#{$fa-css-prefix}-grip-horizontal:before { content: fa-content($fa-var-grip-horizontal); } +.#{$fa-css-prefix}-grip-vertical:before { content: fa-content($fa-var-grip-vertical); } +.#{$fa-css-prefix}-gripfire:before { content: fa-content($fa-var-gripfire); } +.#{$fa-css-prefix}-grunt:before { content: fa-content($fa-var-grunt); } +.#{$fa-css-prefix}-gulp:before { content: fa-content($fa-var-gulp); } +.#{$fa-css-prefix}-h-square:before { content: fa-content($fa-var-h-square); } +.#{$fa-css-prefix}-hacker-news:before { content: fa-content($fa-var-hacker-news); } +.#{$fa-css-prefix}-hacker-news-square:before { content: fa-content($fa-var-hacker-news-square); } +.#{$fa-css-prefix}-hackerrank:before { content: fa-content($fa-var-hackerrank); } +.#{$fa-css-prefix}-hamsa:before { content: fa-content($fa-var-hamsa); } +.#{$fa-css-prefix}-hand-holding:before { content: fa-content($fa-var-hand-holding); } +.#{$fa-css-prefix}-hand-holding-heart:before { content: fa-content($fa-var-hand-holding-heart); } +.#{$fa-css-prefix}-hand-holding-usd:before { content: fa-content($fa-var-hand-holding-usd); } +.#{$fa-css-prefix}-hand-lizard:before { content: fa-content($fa-var-hand-lizard); } +.#{$fa-css-prefix}-hand-paper:before { content: fa-content($fa-var-hand-paper); } +.#{$fa-css-prefix}-hand-peace:before { content: fa-content($fa-var-hand-peace); } +.#{$fa-css-prefix}-hand-point-down:before { content: fa-content($fa-var-hand-point-down); } +.#{$fa-css-prefix}-hand-point-left:before { content: fa-content($fa-var-hand-point-left); } +.#{$fa-css-prefix}-hand-point-right:before { content: fa-content($fa-var-hand-point-right); } +.#{$fa-css-prefix}-hand-point-up:before { content: fa-content($fa-var-hand-point-up); } +.#{$fa-css-prefix}-hand-pointer:before { content: fa-content($fa-var-hand-pointer); } +.#{$fa-css-prefix}-hand-rock:before { content: fa-content($fa-var-hand-rock); } +.#{$fa-css-prefix}-hand-scissors:before { content: fa-content($fa-var-hand-scissors); } +.#{$fa-css-prefix}-hand-spock:before { content: fa-content($fa-var-hand-spock); } +.#{$fa-css-prefix}-hands:before { content: fa-content($fa-var-hands); } +.#{$fa-css-prefix}-hands-helping:before { content: fa-content($fa-var-hands-helping); } +.#{$fa-css-prefix}-handshake:before { content: fa-content($fa-var-handshake); } +.#{$fa-css-prefix}-hashtag:before { content: fa-content($fa-var-hashtag); } +.#{$fa-css-prefix}-haykal:before { content: fa-content($fa-var-haykal); } +.#{$fa-css-prefix}-hdd:before { content: fa-content($fa-var-hdd); } +.#{$fa-css-prefix}-heading:before { content: fa-content($fa-var-heading); } +.#{$fa-css-prefix}-headphones:before { content: fa-content($fa-var-headphones); } +.#{$fa-css-prefix}-headphones-alt:before { content: fa-content($fa-var-headphones-alt); } +.#{$fa-css-prefix}-headset:before { content: fa-content($fa-var-headset); } +.#{$fa-css-prefix}-heart:before { content: fa-content($fa-var-heart); } +.#{$fa-css-prefix}-heartbeat:before { content: fa-content($fa-var-heartbeat); } +.#{$fa-css-prefix}-helicopter:before { content: fa-content($fa-var-helicopter); } +.#{$fa-css-prefix}-highlighter:before { content: fa-content($fa-var-highlighter); } +.#{$fa-css-prefix}-hips:before { content: fa-content($fa-var-hips); } +.#{$fa-css-prefix}-hire-a-helper:before { content: fa-content($fa-var-hire-a-helper); } +.#{$fa-css-prefix}-history:before { content: fa-content($fa-var-history); } +.#{$fa-css-prefix}-hockey-puck:before { content: fa-content($fa-var-hockey-puck); } +.#{$fa-css-prefix}-home:before { content: fa-content($fa-var-home); } +.#{$fa-css-prefix}-hooli:before { content: fa-content($fa-var-hooli); } +.#{$fa-css-prefix}-hornbill:before { content: fa-content($fa-var-hornbill); } +.#{$fa-css-prefix}-hospital:before { content: fa-content($fa-var-hospital); } +.#{$fa-css-prefix}-hospital-alt:before { content: fa-content($fa-var-hospital-alt); } +.#{$fa-css-prefix}-hospital-symbol:before { content: fa-content($fa-var-hospital-symbol); } +.#{$fa-css-prefix}-hot-tub:before { content: fa-content($fa-var-hot-tub); } +.#{$fa-css-prefix}-hotel:before { content: fa-content($fa-var-hotel); } +.#{$fa-css-prefix}-hotjar:before { content: fa-content($fa-var-hotjar); } +.#{$fa-css-prefix}-hourglass:before { content: fa-content($fa-var-hourglass); } +.#{$fa-css-prefix}-hourglass-end:before { content: fa-content($fa-var-hourglass-end); } +.#{$fa-css-prefix}-hourglass-half:before { content: fa-content($fa-var-hourglass-half); } +.#{$fa-css-prefix}-hourglass-start:before { content: fa-content($fa-var-hourglass-start); } +.#{$fa-css-prefix}-houzz:before { content: fa-content($fa-var-houzz); } +.#{$fa-css-prefix}-html5:before { content: fa-content($fa-var-html5); } +.#{$fa-css-prefix}-hubspot:before { content: fa-content($fa-var-hubspot); } +.#{$fa-css-prefix}-i-cursor:before { content: fa-content($fa-var-i-cursor); } +.#{$fa-css-prefix}-id-badge:before { content: fa-content($fa-var-id-badge); } +.#{$fa-css-prefix}-id-card:before { content: fa-content($fa-var-id-card); } +.#{$fa-css-prefix}-id-card-alt:before { content: fa-content($fa-var-id-card-alt); } +.#{$fa-css-prefix}-image:before { content: fa-content($fa-var-image); } +.#{$fa-css-prefix}-images:before { content: fa-content($fa-var-images); } +.#{$fa-css-prefix}-imdb:before { content: fa-content($fa-var-imdb); } +.#{$fa-css-prefix}-inbox:before { content: fa-content($fa-var-inbox); } +.#{$fa-css-prefix}-indent:before { content: fa-content($fa-var-indent); } +.#{$fa-css-prefix}-industry:before { content: fa-content($fa-var-industry); } +.#{$fa-css-prefix}-infinity:before { content: fa-content($fa-var-infinity); } +.#{$fa-css-prefix}-info:before { content: fa-content($fa-var-info); } +.#{$fa-css-prefix}-info-circle:before { content: fa-content($fa-var-info-circle); } +.#{$fa-css-prefix}-instagram:before { content: fa-content($fa-var-instagram); } +.#{$fa-css-prefix}-internet-explorer:before { content: fa-content($fa-var-internet-explorer); } +.#{$fa-css-prefix}-ioxhost:before { content: fa-content($fa-var-ioxhost); } +.#{$fa-css-prefix}-italic:before { content: fa-content($fa-var-italic); } +.#{$fa-css-prefix}-itunes:before { content: fa-content($fa-var-itunes); } +.#{$fa-css-prefix}-itunes-note:before { content: fa-content($fa-var-itunes-note); } +.#{$fa-css-prefix}-java:before { content: fa-content($fa-var-java); } +.#{$fa-css-prefix}-jedi:before { content: fa-content($fa-var-jedi); } +.#{$fa-css-prefix}-jedi-order:before { content: fa-content($fa-var-jedi-order); } +.#{$fa-css-prefix}-jenkins:before { content: fa-content($fa-var-jenkins); } +.#{$fa-css-prefix}-joget:before { content: fa-content($fa-var-joget); } +.#{$fa-css-prefix}-joint:before { content: fa-content($fa-var-joint); } +.#{$fa-css-prefix}-joomla:before { content: fa-content($fa-var-joomla); } +.#{$fa-css-prefix}-journal-whills:before { content: fa-content($fa-var-journal-whills); } +.#{$fa-css-prefix}-js:before { content: fa-content($fa-var-js); } +.#{$fa-css-prefix}-js-square:before { content: fa-content($fa-var-js-square); } +.#{$fa-css-prefix}-jsfiddle:before { content: fa-content($fa-var-jsfiddle); } +.#{$fa-css-prefix}-kaaba:before { content: fa-content($fa-var-kaaba); } +.#{$fa-css-prefix}-kaggle:before { content: fa-content($fa-var-kaggle); } +.#{$fa-css-prefix}-key:before { content: fa-content($fa-var-key); } +.#{$fa-css-prefix}-keybase:before { content: fa-content($fa-var-keybase); } +.#{$fa-css-prefix}-keyboard:before { content: fa-content($fa-var-keyboard); } +.#{$fa-css-prefix}-keycdn:before { content: fa-content($fa-var-keycdn); } +.#{$fa-css-prefix}-khanda:before { content: fa-content($fa-var-khanda); } +.#{$fa-css-prefix}-kickstarter:before { content: fa-content($fa-var-kickstarter); } +.#{$fa-css-prefix}-kickstarter-k:before { content: fa-content($fa-var-kickstarter-k); } +.#{$fa-css-prefix}-kiss:before { content: fa-content($fa-var-kiss); } +.#{$fa-css-prefix}-kiss-beam:before { content: fa-content($fa-var-kiss-beam); } +.#{$fa-css-prefix}-kiss-wink-heart:before { content: fa-content($fa-var-kiss-wink-heart); } +.#{$fa-css-prefix}-kiwi-bird:before { content: fa-content($fa-var-kiwi-bird); } +.#{$fa-css-prefix}-korvue:before { content: fa-content($fa-var-korvue); } +.#{$fa-css-prefix}-landmark:before { content: fa-content($fa-var-landmark); } +.#{$fa-css-prefix}-language:before { content: fa-content($fa-var-language); } +.#{$fa-css-prefix}-laptop:before { content: fa-content($fa-var-laptop); } +.#{$fa-css-prefix}-laptop-code:before { content: fa-content($fa-var-laptop-code); } +.#{$fa-css-prefix}-laravel:before { content: fa-content($fa-var-laravel); } +.#{$fa-css-prefix}-lastfm:before { content: fa-content($fa-var-lastfm); } +.#{$fa-css-prefix}-lastfm-square:before { content: fa-content($fa-var-lastfm-square); } +.#{$fa-css-prefix}-laugh:before { content: fa-content($fa-var-laugh); } +.#{$fa-css-prefix}-laugh-beam:before { content: fa-content($fa-var-laugh-beam); } +.#{$fa-css-prefix}-laugh-squint:before { content: fa-content($fa-var-laugh-squint); } +.#{$fa-css-prefix}-laugh-wink:before { content: fa-content($fa-var-laugh-wink); } +.#{$fa-css-prefix}-layer-group:before { content: fa-content($fa-var-layer-group); } +.#{$fa-css-prefix}-leaf:before { content: fa-content($fa-var-leaf); } +.#{$fa-css-prefix}-leanpub:before { content: fa-content($fa-var-leanpub); } +.#{$fa-css-prefix}-lemon:before { content: fa-content($fa-var-lemon); } +.#{$fa-css-prefix}-less:before { content: fa-content($fa-var-less); } +.#{$fa-css-prefix}-less-than:before { content: fa-content($fa-var-less-than); } +.#{$fa-css-prefix}-less-than-equal:before { content: fa-content($fa-var-less-than-equal); } +.#{$fa-css-prefix}-level-down-alt:before { content: fa-content($fa-var-level-down-alt); } +.#{$fa-css-prefix}-level-up-alt:before { content: fa-content($fa-var-level-up-alt); } +.#{$fa-css-prefix}-life-ring:before { content: fa-content($fa-var-life-ring); } +.#{$fa-css-prefix}-lightbulb:before { content: fa-content($fa-var-lightbulb); } +.#{$fa-css-prefix}-line:before { content: fa-content($fa-var-line); } +.#{$fa-css-prefix}-link:before { content: fa-content($fa-var-link); } +.#{$fa-css-prefix}-linkedin:before { content: fa-content($fa-var-linkedin); } +.#{$fa-css-prefix}-linkedin-in:before { content: fa-content($fa-var-linkedin-in); } +.#{$fa-css-prefix}-linode:before { content: fa-content($fa-var-linode); } +.#{$fa-css-prefix}-linux:before { content: fa-content($fa-var-linux); } +.#{$fa-css-prefix}-lira-sign:before { content: fa-content($fa-var-lira-sign); } +.#{$fa-css-prefix}-list:before { content: fa-content($fa-var-list); } +.#{$fa-css-prefix}-list-alt:before { content: fa-content($fa-var-list-alt); } +.#{$fa-css-prefix}-list-ol:before { content: fa-content($fa-var-list-ol); } +.#{$fa-css-prefix}-list-ul:before { content: fa-content($fa-var-list-ul); } +.#{$fa-css-prefix}-location-arrow:before { content: fa-content($fa-var-location-arrow); } +.#{$fa-css-prefix}-lock:before { content: fa-content($fa-var-lock); } +.#{$fa-css-prefix}-lock-open:before { content: fa-content($fa-var-lock-open); } +.#{$fa-css-prefix}-long-arrow-alt-down:before { content: fa-content($fa-var-long-arrow-alt-down); } +.#{$fa-css-prefix}-long-arrow-alt-left:before { content: fa-content($fa-var-long-arrow-alt-left); } +.#{$fa-css-prefix}-long-arrow-alt-right:before { content: fa-content($fa-var-long-arrow-alt-right); } +.#{$fa-css-prefix}-long-arrow-alt-up:before { content: fa-content($fa-var-long-arrow-alt-up); } +.#{$fa-css-prefix}-low-vision:before { content: fa-content($fa-var-low-vision); } +.#{$fa-css-prefix}-luggage-cart:before { content: fa-content($fa-var-luggage-cart); } +.#{$fa-css-prefix}-lyft:before { content: fa-content($fa-var-lyft); } +.#{$fa-css-prefix}-magento:before { content: fa-content($fa-var-magento); } +.#{$fa-css-prefix}-magic:before { content: fa-content($fa-var-magic); } +.#{$fa-css-prefix}-magnet:before { content: fa-content($fa-var-magnet); } +.#{$fa-css-prefix}-mail-bulk:before { content: fa-content($fa-var-mail-bulk); } +.#{$fa-css-prefix}-mailchimp:before { content: fa-content($fa-var-mailchimp); } +.#{$fa-css-prefix}-male:before { content: fa-content($fa-var-male); } +.#{$fa-css-prefix}-mandalorian:before { content: fa-content($fa-var-mandalorian); } +.#{$fa-css-prefix}-map:before { content: fa-content($fa-var-map); } +.#{$fa-css-prefix}-map-marked:before { content: fa-content($fa-var-map-marked); } +.#{$fa-css-prefix}-map-marked-alt:before { content: fa-content($fa-var-map-marked-alt); } +.#{$fa-css-prefix}-map-marker:before { content: fa-content($fa-var-map-marker); } +.#{$fa-css-prefix}-map-marker-alt:before { content: fa-content($fa-var-map-marker-alt); } +.#{$fa-css-prefix}-map-pin:before { content: fa-content($fa-var-map-pin); } +.#{$fa-css-prefix}-map-signs:before { content: fa-content($fa-var-map-signs); } +.#{$fa-css-prefix}-markdown:before { content: fa-content($fa-var-markdown); } +.#{$fa-css-prefix}-marker:before { content: fa-content($fa-var-marker); } +.#{$fa-css-prefix}-mars:before { content: fa-content($fa-var-mars); } +.#{$fa-css-prefix}-mars-double:before { content: fa-content($fa-var-mars-double); } +.#{$fa-css-prefix}-mars-stroke:before { content: fa-content($fa-var-mars-stroke); } +.#{$fa-css-prefix}-mars-stroke-h:before { content: fa-content($fa-var-mars-stroke-h); } +.#{$fa-css-prefix}-mars-stroke-v:before { content: fa-content($fa-var-mars-stroke-v); } +.#{$fa-css-prefix}-mastodon:before { content: fa-content($fa-var-mastodon); } +.#{$fa-css-prefix}-maxcdn:before { content: fa-content($fa-var-maxcdn); } +.#{$fa-css-prefix}-medal:before { content: fa-content($fa-var-medal); } +.#{$fa-css-prefix}-medapps:before { content: fa-content($fa-var-medapps); } +.#{$fa-css-prefix}-medium:before { content: fa-content($fa-var-medium); } +.#{$fa-css-prefix}-medium-m:before { content: fa-content($fa-var-medium-m); } +.#{$fa-css-prefix}-medkit:before { content: fa-content($fa-var-medkit); } +.#{$fa-css-prefix}-medrt:before { content: fa-content($fa-var-medrt); } +.#{$fa-css-prefix}-meetup:before { content: fa-content($fa-var-meetup); } +.#{$fa-css-prefix}-megaport:before { content: fa-content($fa-var-megaport); } +.#{$fa-css-prefix}-meh:before { content: fa-content($fa-var-meh); } +.#{$fa-css-prefix}-meh-blank:before { content: fa-content($fa-var-meh-blank); } +.#{$fa-css-prefix}-meh-rolling-eyes:before { content: fa-content($fa-var-meh-rolling-eyes); } +.#{$fa-css-prefix}-memory:before { content: fa-content($fa-var-memory); } +.#{$fa-css-prefix}-menorah:before { content: fa-content($fa-var-menorah); } +.#{$fa-css-prefix}-mercury:before { content: fa-content($fa-var-mercury); } +.#{$fa-css-prefix}-microchip:before { content: fa-content($fa-var-microchip); } +.#{$fa-css-prefix}-microphone:before { content: fa-content($fa-var-microphone); } +.#{$fa-css-prefix}-microphone-alt:before { content: fa-content($fa-var-microphone-alt); } +.#{$fa-css-prefix}-microphone-alt-slash:before { content: fa-content($fa-var-microphone-alt-slash); } +.#{$fa-css-prefix}-microphone-slash:before { content: fa-content($fa-var-microphone-slash); } +.#{$fa-css-prefix}-microscope:before { content: fa-content($fa-var-microscope); } +.#{$fa-css-prefix}-microsoft:before { content: fa-content($fa-var-microsoft); } +.#{$fa-css-prefix}-minus:before { content: fa-content($fa-var-minus); } +.#{$fa-css-prefix}-minus-circle:before { content: fa-content($fa-var-minus-circle); } +.#{$fa-css-prefix}-minus-square:before { content: fa-content($fa-var-minus-square); } +.#{$fa-css-prefix}-mix:before { content: fa-content($fa-var-mix); } +.#{$fa-css-prefix}-mixcloud:before { content: fa-content($fa-var-mixcloud); } +.#{$fa-css-prefix}-mizuni:before { content: fa-content($fa-var-mizuni); } +.#{$fa-css-prefix}-mobile:before { content: fa-content($fa-var-mobile); } +.#{$fa-css-prefix}-mobile-alt:before { content: fa-content($fa-var-mobile-alt); } +.#{$fa-css-prefix}-modx:before { content: fa-content($fa-var-modx); } +.#{$fa-css-prefix}-monero:before { content: fa-content($fa-var-monero); } +.#{$fa-css-prefix}-money-bill:before { content: fa-content($fa-var-money-bill); } +.#{$fa-css-prefix}-money-bill-alt:before { content: fa-content($fa-var-money-bill-alt); } +.#{$fa-css-prefix}-money-bill-wave:before { content: fa-content($fa-var-money-bill-wave); } +.#{$fa-css-prefix}-money-bill-wave-alt:before { content: fa-content($fa-var-money-bill-wave-alt); } +.#{$fa-css-prefix}-money-check:before { content: fa-content($fa-var-money-check); } +.#{$fa-css-prefix}-money-check-alt:before { content: fa-content($fa-var-money-check-alt); } +.#{$fa-css-prefix}-monument:before { content: fa-content($fa-var-monument); } +.#{$fa-css-prefix}-moon:before { content: fa-content($fa-var-moon); } +.#{$fa-css-prefix}-mortar-pestle:before { content: fa-content($fa-var-mortar-pestle); } +.#{$fa-css-prefix}-mosque:before { content: fa-content($fa-var-mosque); } +.#{$fa-css-prefix}-motorcycle:before { content: fa-content($fa-var-motorcycle); } +.#{$fa-css-prefix}-mouse-pointer:before { content: fa-content($fa-var-mouse-pointer); } +.#{$fa-css-prefix}-music:before { content: fa-content($fa-var-music); } +.#{$fa-css-prefix}-napster:before { content: fa-content($fa-var-napster); } +.#{$fa-css-prefix}-neos:before { content: fa-content($fa-var-neos); } +.#{$fa-css-prefix}-neuter:before { content: fa-content($fa-var-neuter); } +.#{$fa-css-prefix}-newspaper:before { content: fa-content($fa-var-newspaper); } +.#{$fa-css-prefix}-nimblr:before { content: fa-content($fa-var-nimblr); } +.#{$fa-css-prefix}-nintendo-switch:before { content: fa-content($fa-var-nintendo-switch); } +.#{$fa-css-prefix}-node:before { content: fa-content($fa-var-node); } +.#{$fa-css-prefix}-node-js:before { content: fa-content($fa-var-node-js); } +.#{$fa-css-prefix}-not-equal:before { content: fa-content($fa-var-not-equal); } +.#{$fa-css-prefix}-notes-medical:before { content: fa-content($fa-var-notes-medical); } +.#{$fa-css-prefix}-npm:before { content: fa-content($fa-var-npm); } +.#{$fa-css-prefix}-ns8:before { content: fa-content($fa-var-ns8); } +.#{$fa-css-prefix}-nutritionix:before { content: fa-content($fa-var-nutritionix); } +.#{$fa-css-prefix}-object-group:before { content: fa-content($fa-var-object-group); } +.#{$fa-css-prefix}-object-ungroup:before { content: fa-content($fa-var-object-ungroup); } +.#{$fa-css-prefix}-odnoklassniki:before { content: fa-content($fa-var-odnoklassniki); } +.#{$fa-css-prefix}-odnoklassniki-square:before { content: fa-content($fa-var-odnoklassniki-square); } +.#{$fa-css-prefix}-oil-can:before { content: fa-content($fa-var-oil-can); } +.#{$fa-css-prefix}-old-republic:before { content: fa-content($fa-var-old-republic); } +.#{$fa-css-prefix}-om:before { content: fa-content($fa-var-om); } +.#{$fa-css-prefix}-opencart:before { content: fa-content($fa-var-opencart); } +.#{$fa-css-prefix}-openid:before { content: fa-content($fa-var-openid); } +.#{$fa-css-prefix}-opera:before { content: fa-content($fa-var-opera); } +.#{$fa-css-prefix}-optin-monster:before { content: fa-content($fa-var-optin-monster); } +.#{$fa-css-prefix}-osi:before { content: fa-content($fa-var-osi); } +.#{$fa-css-prefix}-outdent:before { content: fa-content($fa-var-outdent); } +.#{$fa-css-prefix}-page4:before { content: fa-content($fa-var-page4); } +.#{$fa-css-prefix}-pagelines:before { content: fa-content($fa-var-pagelines); } +.#{$fa-css-prefix}-paint-brush:before { content: fa-content($fa-var-paint-brush); } +.#{$fa-css-prefix}-paint-roller:before { content: fa-content($fa-var-paint-roller); } +.#{$fa-css-prefix}-palette:before { content: fa-content($fa-var-palette); } +.#{$fa-css-prefix}-palfed:before { content: fa-content($fa-var-palfed); } +.#{$fa-css-prefix}-pallet:before { content: fa-content($fa-var-pallet); } +.#{$fa-css-prefix}-paper-plane:before { content: fa-content($fa-var-paper-plane); } +.#{$fa-css-prefix}-paperclip:before { content: fa-content($fa-var-paperclip); } +.#{$fa-css-prefix}-parachute-box:before { content: fa-content($fa-var-parachute-box); } +.#{$fa-css-prefix}-paragraph:before { content: fa-content($fa-var-paragraph); } +.#{$fa-css-prefix}-parking:before { content: fa-content($fa-var-parking); } +.#{$fa-css-prefix}-passport:before { content: fa-content($fa-var-passport); } +.#{$fa-css-prefix}-pastafarianism:before { content: fa-content($fa-var-pastafarianism); } +.#{$fa-css-prefix}-paste:before { content: fa-content($fa-var-paste); } +.#{$fa-css-prefix}-patreon:before { content: fa-content($fa-var-patreon); } +.#{$fa-css-prefix}-pause:before { content: fa-content($fa-var-pause); } +.#{$fa-css-prefix}-pause-circle:before { content: fa-content($fa-var-pause-circle); } +.#{$fa-css-prefix}-paw:before { content: fa-content($fa-var-paw); } +.#{$fa-css-prefix}-paypal:before { content: fa-content($fa-var-paypal); } +.#{$fa-css-prefix}-peace:before { content: fa-content($fa-var-peace); } +.#{$fa-css-prefix}-pen:before { content: fa-content($fa-var-pen); } +.#{$fa-css-prefix}-pen-alt:before { content: fa-content($fa-var-pen-alt); } +.#{$fa-css-prefix}-pen-fancy:before { content: fa-content($fa-var-pen-fancy); } +.#{$fa-css-prefix}-pen-nib:before { content: fa-content($fa-var-pen-nib); } +.#{$fa-css-prefix}-pen-square:before { content: fa-content($fa-var-pen-square); } +.#{$fa-css-prefix}-pencil-alt:before { content: fa-content($fa-var-pencil-alt); } +.#{$fa-css-prefix}-pencil-ruler:before { content: fa-content($fa-var-pencil-ruler); } +.#{$fa-css-prefix}-people-carry:before { content: fa-content($fa-var-people-carry); } +.#{$fa-css-prefix}-percent:before { content: fa-content($fa-var-percent); } +.#{$fa-css-prefix}-percentage:before { content: fa-content($fa-var-percentage); } +.#{$fa-css-prefix}-periscope:before { content: fa-content($fa-var-periscope); } +.#{$fa-css-prefix}-phabricator:before { content: fa-content($fa-var-phabricator); } +.#{$fa-css-prefix}-phoenix-framework:before { content: fa-content($fa-var-phoenix-framework); } +.#{$fa-css-prefix}-phoenix-squadron:before { content: fa-content($fa-var-phoenix-squadron); } +.#{$fa-css-prefix}-phone:before { content: fa-content($fa-var-phone); } +.#{$fa-css-prefix}-phone-slash:before { content: fa-content($fa-var-phone-slash); } +.#{$fa-css-prefix}-phone-square:before { content: fa-content($fa-var-phone-square); } +.#{$fa-css-prefix}-phone-volume:before { content: fa-content($fa-var-phone-volume); } +.#{$fa-css-prefix}-php:before { content: fa-content($fa-var-php); } +.#{$fa-css-prefix}-pied-piper:before { content: fa-content($fa-var-pied-piper); } +.#{$fa-css-prefix}-pied-piper-alt:before { content: fa-content($fa-var-pied-piper-alt); } +.#{$fa-css-prefix}-pied-piper-hat:before { content: fa-content($fa-var-pied-piper-hat); } +.#{$fa-css-prefix}-pied-piper-pp:before { content: fa-content($fa-var-pied-piper-pp); } +.#{$fa-css-prefix}-piggy-bank:before { content: fa-content($fa-var-piggy-bank); } +.#{$fa-css-prefix}-pills:before { content: fa-content($fa-var-pills); } +.#{$fa-css-prefix}-pinterest:before { content: fa-content($fa-var-pinterest); } +.#{$fa-css-prefix}-pinterest-p:before { content: fa-content($fa-var-pinterest-p); } +.#{$fa-css-prefix}-pinterest-square:before { content: fa-content($fa-var-pinterest-square); } +.#{$fa-css-prefix}-place-of-worship:before { content: fa-content($fa-var-place-of-worship); } +.#{$fa-css-prefix}-plane:before { content: fa-content($fa-var-plane); } +.#{$fa-css-prefix}-plane-arrival:before { content: fa-content($fa-var-plane-arrival); } +.#{$fa-css-prefix}-plane-departure:before { content: fa-content($fa-var-plane-departure); } +.#{$fa-css-prefix}-play:before { content: fa-content($fa-var-play); } +.#{$fa-css-prefix}-play-circle:before { content: fa-content($fa-var-play-circle); } +.#{$fa-css-prefix}-playstation:before { content: fa-content($fa-var-playstation); } +.#{$fa-css-prefix}-plug:before { content: fa-content($fa-var-plug); } +.#{$fa-css-prefix}-plus:before { content: fa-content($fa-var-plus); } +.#{$fa-css-prefix}-plus-circle:before { content: fa-content($fa-var-plus-circle); } +.#{$fa-css-prefix}-plus-square:before { content: fa-content($fa-var-plus-square); } +.#{$fa-css-prefix}-podcast:before { content: fa-content($fa-var-podcast); } +.#{$fa-css-prefix}-poll:before { content: fa-content($fa-var-poll); } +.#{$fa-css-prefix}-poll-h:before { content: fa-content($fa-var-poll-h); } +.#{$fa-css-prefix}-poo:before { content: fa-content($fa-var-poo); } +.#{$fa-css-prefix}-poop:before { content: fa-content($fa-var-poop); } +.#{$fa-css-prefix}-portrait:before { content: fa-content($fa-var-portrait); } +.#{$fa-css-prefix}-pound-sign:before { content: fa-content($fa-var-pound-sign); } +.#{$fa-css-prefix}-power-off:before { content: fa-content($fa-var-power-off); } +.#{$fa-css-prefix}-pray:before { content: fa-content($fa-var-pray); } +.#{$fa-css-prefix}-praying-hands:before { content: fa-content($fa-var-praying-hands); } +.#{$fa-css-prefix}-prescription:before { content: fa-content($fa-var-prescription); } +.#{$fa-css-prefix}-prescription-bottle:before { content: fa-content($fa-var-prescription-bottle); } +.#{$fa-css-prefix}-prescription-bottle-alt:before { content: fa-content($fa-var-prescription-bottle-alt); } +.#{$fa-css-prefix}-print:before { content: fa-content($fa-var-print); } +.#{$fa-css-prefix}-procedures:before { content: fa-content($fa-var-procedures); } +.#{$fa-css-prefix}-product-hunt:before { content: fa-content($fa-var-product-hunt); } +.#{$fa-css-prefix}-project-diagram:before { content: fa-content($fa-var-project-diagram); } +.#{$fa-css-prefix}-pushed:before { content: fa-content($fa-var-pushed); } +.#{$fa-css-prefix}-puzzle-piece:before { content: fa-content($fa-var-puzzle-piece); } +.#{$fa-css-prefix}-python:before { content: fa-content($fa-var-python); } +.#{$fa-css-prefix}-qq:before { content: fa-content($fa-var-qq); } +.#{$fa-css-prefix}-qrcode:before { content: fa-content($fa-var-qrcode); } +.#{$fa-css-prefix}-question:before { content: fa-content($fa-var-question); } +.#{$fa-css-prefix}-question-circle:before { content: fa-content($fa-var-question-circle); } +.#{$fa-css-prefix}-quidditch:before { content: fa-content($fa-var-quidditch); } +.#{$fa-css-prefix}-quinscape:before { content: fa-content($fa-var-quinscape); } +.#{$fa-css-prefix}-quora:before { content: fa-content($fa-var-quora); } +.#{$fa-css-prefix}-quote-left:before { content: fa-content($fa-var-quote-left); } +.#{$fa-css-prefix}-quote-right:before { content: fa-content($fa-var-quote-right); } +.#{$fa-css-prefix}-quran:before { content: fa-content($fa-var-quran); } +.#{$fa-css-prefix}-r-project:before { content: fa-content($fa-var-r-project); } +.#{$fa-css-prefix}-random:before { content: fa-content($fa-var-random); } +.#{$fa-css-prefix}-ravelry:before { content: fa-content($fa-var-ravelry); } +.#{$fa-css-prefix}-react:before { content: fa-content($fa-var-react); } +.#{$fa-css-prefix}-readme:before { content: fa-content($fa-var-readme); } +.#{$fa-css-prefix}-rebel:before { content: fa-content($fa-var-rebel); } +.#{$fa-css-prefix}-receipt:before { content: fa-content($fa-var-receipt); } +.#{$fa-css-prefix}-recycle:before { content: fa-content($fa-var-recycle); } +.#{$fa-css-prefix}-red-river:before { content: fa-content($fa-var-red-river); } +.#{$fa-css-prefix}-reddit:before { content: fa-content($fa-var-reddit); } +.#{$fa-css-prefix}-reddit-alien:before { content: fa-content($fa-var-reddit-alien); } +.#{$fa-css-prefix}-reddit-square:before { content: fa-content($fa-var-reddit-square); } +.#{$fa-css-prefix}-redo:before { content: fa-content($fa-var-redo); } +.#{$fa-css-prefix}-redo-alt:before { content: fa-content($fa-var-redo-alt); } +.#{$fa-css-prefix}-registered:before { content: fa-content($fa-var-registered); } +.#{$fa-css-prefix}-rendact:before { content: fa-content($fa-var-rendact); } +.#{$fa-css-prefix}-renren:before { content: fa-content($fa-var-renren); } +.#{$fa-css-prefix}-reply:before { content: fa-content($fa-var-reply); } +.#{$fa-css-prefix}-reply-all:before { content: fa-content($fa-var-reply-all); } +.#{$fa-css-prefix}-replyd:before { content: fa-content($fa-var-replyd); } +.#{$fa-css-prefix}-researchgate:before { content: fa-content($fa-var-researchgate); } +.#{$fa-css-prefix}-resolving:before { content: fa-content($fa-var-resolving); } +.#{$fa-css-prefix}-retweet:before { content: fa-content($fa-var-retweet); } +.#{$fa-css-prefix}-rev:before { content: fa-content($fa-var-rev); } +.#{$fa-css-prefix}-ribbon:before { content: fa-content($fa-var-ribbon); } +.#{$fa-css-prefix}-road:before { content: fa-content($fa-var-road); } +.#{$fa-css-prefix}-robot:before { content: fa-content($fa-var-robot); } +.#{$fa-css-prefix}-rocket:before { content: fa-content($fa-var-rocket); } +.#{$fa-css-prefix}-rocketchat:before { content: fa-content($fa-var-rocketchat); } +.#{$fa-css-prefix}-rockrms:before { content: fa-content($fa-var-rockrms); } +.#{$fa-css-prefix}-route:before { content: fa-content($fa-var-route); } +.#{$fa-css-prefix}-rss:before { content: fa-content($fa-var-rss); } +.#{$fa-css-prefix}-rss-square:before { content: fa-content($fa-var-rss-square); } +.#{$fa-css-prefix}-ruble-sign:before { content: fa-content($fa-var-ruble-sign); } +.#{$fa-css-prefix}-ruler:before { content: fa-content($fa-var-ruler); } +.#{$fa-css-prefix}-ruler-combined:before { content: fa-content($fa-var-ruler-combined); } +.#{$fa-css-prefix}-ruler-horizontal:before { content: fa-content($fa-var-ruler-horizontal); } +.#{$fa-css-prefix}-ruler-vertical:before { content: fa-content($fa-var-ruler-vertical); } +.#{$fa-css-prefix}-rupee-sign:before { content: fa-content($fa-var-rupee-sign); } +.#{$fa-css-prefix}-sad-cry:before { content: fa-content($fa-var-sad-cry); } +.#{$fa-css-prefix}-sad-tear:before { content: fa-content($fa-var-sad-tear); } +.#{$fa-css-prefix}-safari:before { content: fa-content($fa-var-safari); } +.#{$fa-css-prefix}-sass:before { content: fa-content($fa-var-sass); } +.#{$fa-css-prefix}-save:before { content: fa-content($fa-var-save); } +.#{$fa-css-prefix}-schlix:before { content: fa-content($fa-var-schlix); } +.#{$fa-css-prefix}-school:before { content: fa-content($fa-var-school); } +.#{$fa-css-prefix}-screwdriver:before { content: fa-content($fa-var-screwdriver); } +.#{$fa-css-prefix}-scribd:before { content: fa-content($fa-var-scribd); } +.#{$fa-css-prefix}-search:before { content: fa-content($fa-var-search); } +.#{$fa-css-prefix}-search-dollar:before { content: fa-content($fa-var-search-dollar); } +.#{$fa-css-prefix}-search-location:before { content: fa-content($fa-var-search-location); } +.#{$fa-css-prefix}-search-minus:before { content: fa-content($fa-var-search-minus); } +.#{$fa-css-prefix}-search-plus:before { content: fa-content($fa-var-search-plus); } +.#{$fa-css-prefix}-searchengin:before { content: fa-content($fa-var-searchengin); } +.#{$fa-css-prefix}-seedling:before { content: fa-content($fa-var-seedling); } +.#{$fa-css-prefix}-sellcast:before { content: fa-content($fa-var-sellcast); } +.#{$fa-css-prefix}-sellsy:before { content: fa-content($fa-var-sellsy); } +.#{$fa-css-prefix}-server:before { content: fa-content($fa-var-server); } +.#{$fa-css-prefix}-servicestack:before { content: fa-content($fa-var-servicestack); } +.#{$fa-css-prefix}-shapes:before { content: fa-content($fa-var-shapes); } +.#{$fa-css-prefix}-share:before { content: fa-content($fa-var-share); } +.#{$fa-css-prefix}-share-alt:before { content: fa-content($fa-var-share-alt); } +.#{$fa-css-prefix}-share-alt-square:before { content: fa-content($fa-var-share-alt-square); } +.#{$fa-css-prefix}-share-square:before { content: fa-content($fa-var-share-square); } +.#{$fa-css-prefix}-shekel-sign:before { content: fa-content($fa-var-shekel-sign); } +.#{$fa-css-prefix}-shield-alt:before { content: fa-content($fa-var-shield-alt); } +.#{$fa-css-prefix}-ship:before { content: fa-content($fa-var-ship); } +.#{$fa-css-prefix}-shipping-fast:before { content: fa-content($fa-var-shipping-fast); } +.#{$fa-css-prefix}-shirtsinbulk:before { content: fa-content($fa-var-shirtsinbulk); } +.#{$fa-css-prefix}-shoe-prints:before { content: fa-content($fa-var-shoe-prints); } +.#{$fa-css-prefix}-shopping-bag:before { content: fa-content($fa-var-shopping-bag); } +.#{$fa-css-prefix}-shopping-basket:before { content: fa-content($fa-var-shopping-basket); } +.#{$fa-css-prefix}-shopping-cart:before { content: fa-content($fa-var-shopping-cart); } +.#{$fa-css-prefix}-shopware:before { content: fa-content($fa-var-shopware); } +.#{$fa-css-prefix}-shower:before { content: fa-content($fa-var-shower); } +.#{$fa-css-prefix}-shuttle-van:before { content: fa-content($fa-var-shuttle-van); } +.#{$fa-css-prefix}-sign:before { content: fa-content($fa-var-sign); } +.#{$fa-css-prefix}-sign-in-alt:before { content: fa-content($fa-var-sign-in-alt); } +.#{$fa-css-prefix}-sign-language:before { content: fa-content($fa-var-sign-language); } +.#{$fa-css-prefix}-sign-out-alt:before { content: fa-content($fa-var-sign-out-alt); } +.#{$fa-css-prefix}-signal:before { content: fa-content($fa-var-signal); } +.#{$fa-css-prefix}-signature:before { content: fa-content($fa-var-signature); } +.#{$fa-css-prefix}-simplybuilt:before { content: fa-content($fa-var-simplybuilt); } +.#{$fa-css-prefix}-sistrix:before { content: fa-content($fa-var-sistrix); } +.#{$fa-css-prefix}-sitemap:before { content: fa-content($fa-var-sitemap); } +.#{$fa-css-prefix}-sith:before { content: fa-content($fa-var-sith); } +.#{$fa-css-prefix}-skull:before { content: fa-content($fa-var-skull); } +.#{$fa-css-prefix}-skyatlas:before { content: fa-content($fa-var-skyatlas); } +.#{$fa-css-prefix}-skype:before { content: fa-content($fa-var-skype); } +.#{$fa-css-prefix}-slack:before { content: fa-content($fa-var-slack); } +.#{$fa-css-prefix}-slack-hash:before { content: fa-content($fa-var-slack-hash); } +.#{$fa-css-prefix}-sliders-h:before { content: fa-content($fa-var-sliders-h); } +.#{$fa-css-prefix}-slideshare:before { content: fa-content($fa-var-slideshare); } +.#{$fa-css-prefix}-smile:before { content: fa-content($fa-var-smile); } +.#{$fa-css-prefix}-smile-beam:before { content: fa-content($fa-var-smile-beam); } +.#{$fa-css-prefix}-smile-wink:before { content: fa-content($fa-var-smile-wink); } +.#{$fa-css-prefix}-smoking:before { content: fa-content($fa-var-smoking); } +.#{$fa-css-prefix}-smoking-ban:before { content: fa-content($fa-var-smoking-ban); } +.#{$fa-css-prefix}-snapchat:before { content: fa-content($fa-var-snapchat); } +.#{$fa-css-prefix}-snapchat-ghost:before { content: fa-content($fa-var-snapchat-ghost); } +.#{$fa-css-prefix}-snapchat-square:before { content: fa-content($fa-var-snapchat-square); } +.#{$fa-css-prefix}-snowflake:before { content: fa-content($fa-var-snowflake); } +.#{$fa-css-prefix}-socks:before { content: fa-content($fa-var-socks); } +.#{$fa-css-prefix}-solar-panel:before { content: fa-content($fa-var-solar-panel); } +.#{$fa-css-prefix}-sort:before { content: fa-content($fa-var-sort); } +.#{$fa-css-prefix}-sort-alpha-down:before { content: fa-content($fa-var-sort-alpha-down); } +.#{$fa-css-prefix}-sort-alpha-up:before { content: fa-content($fa-var-sort-alpha-up); } +.#{$fa-css-prefix}-sort-amount-down:before { content: fa-content($fa-var-sort-amount-down); } +.#{$fa-css-prefix}-sort-amount-up:before { content: fa-content($fa-var-sort-amount-up); } +.#{$fa-css-prefix}-sort-down:before { content: fa-content($fa-var-sort-down); } +.#{$fa-css-prefix}-sort-numeric-down:before { content: fa-content($fa-var-sort-numeric-down); } +.#{$fa-css-prefix}-sort-numeric-up:before { content: fa-content($fa-var-sort-numeric-up); } +.#{$fa-css-prefix}-sort-up:before { content: fa-content($fa-var-sort-up); } +.#{$fa-css-prefix}-soundcloud:before { content: fa-content($fa-var-soundcloud); } +.#{$fa-css-prefix}-spa:before { content: fa-content($fa-var-spa); } +.#{$fa-css-prefix}-space-shuttle:before { content: fa-content($fa-var-space-shuttle); } +.#{$fa-css-prefix}-speakap:before { content: fa-content($fa-var-speakap); } +.#{$fa-css-prefix}-spinner:before { content: fa-content($fa-var-spinner); } +.#{$fa-css-prefix}-splotch:before { content: fa-content($fa-var-splotch); } +.#{$fa-css-prefix}-spotify:before { content: fa-content($fa-var-spotify); } +.#{$fa-css-prefix}-spray-can:before { content: fa-content($fa-var-spray-can); } +.#{$fa-css-prefix}-square:before { content: fa-content($fa-var-square); } +.#{$fa-css-prefix}-square-full:before { content: fa-content($fa-var-square-full); } +.#{$fa-css-prefix}-square-root-alt:before { content: fa-content($fa-var-square-root-alt); } +.#{$fa-css-prefix}-squarespace:before { content: fa-content($fa-var-squarespace); } +.#{$fa-css-prefix}-stack-exchange:before { content: fa-content($fa-var-stack-exchange); } +.#{$fa-css-prefix}-stack-overflow:before { content: fa-content($fa-var-stack-overflow); } +.#{$fa-css-prefix}-stamp:before { content: fa-content($fa-var-stamp); } +.#{$fa-css-prefix}-star:before { content: fa-content($fa-var-star); } +.#{$fa-css-prefix}-star-and-crescent:before { content: fa-content($fa-var-star-and-crescent); } +.#{$fa-css-prefix}-star-half:before { content: fa-content($fa-var-star-half); } +.#{$fa-css-prefix}-star-half-alt:before { content: fa-content($fa-var-star-half-alt); } +.#{$fa-css-prefix}-star-of-david:before { content: fa-content($fa-var-star-of-david); } +.#{$fa-css-prefix}-star-of-life:before { content: fa-content($fa-var-star-of-life); } +.#{$fa-css-prefix}-staylinked:before { content: fa-content($fa-var-staylinked); } +.#{$fa-css-prefix}-steam:before { content: fa-content($fa-var-steam); } +.#{$fa-css-prefix}-steam-square:before { content: fa-content($fa-var-steam-square); } +.#{$fa-css-prefix}-steam-symbol:before { content: fa-content($fa-var-steam-symbol); } +.#{$fa-css-prefix}-step-backward:before { content: fa-content($fa-var-step-backward); } +.#{$fa-css-prefix}-step-forward:before { content: fa-content($fa-var-step-forward); } +.#{$fa-css-prefix}-stethoscope:before { content: fa-content($fa-var-stethoscope); } +.#{$fa-css-prefix}-sticker-mule:before { content: fa-content($fa-var-sticker-mule); } +.#{$fa-css-prefix}-sticky-note:before { content: fa-content($fa-var-sticky-note); } +.#{$fa-css-prefix}-stop:before { content: fa-content($fa-var-stop); } +.#{$fa-css-prefix}-stop-circle:before { content: fa-content($fa-var-stop-circle); } +.#{$fa-css-prefix}-stopwatch:before { content: fa-content($fa-var-stopwatch); } +.#{$fa-css-prefix}-store:before { content: fa-content($fa-var-store); } +.#{$fa-css-prefix}-store-alt:before { content: fa-content($fa-var-store-alt); } +.#{$fa-css-prefix}-strava:before { content: fa-content($fa-var-strava); } +.#{$fa-css-prefix}-stream:before { content: fa-content($fa-var-stream); } +.#{$fa-css-prefix}-street-view:before { content: fa-content($fa-var-street-view); } +.#{$fa-css-prefix}-strikethrough:before { content: fa-content($fa-var-strikethrough); } +.#{$fa-css-prefix}-stripe:before { content: fa-content($fa-var-stripe); } +.#{$fa-css-prefix}-stripe-s:before { content: fa-content($fa-var-stripe-s); } +.#{$fa-css-prefix}-stroopwafel:before { content: fa-content($fa-var-stroopwafel); } +.#{$fa-css-prefix}-studiovinari:before { content: fa-content($fa-var-studiovinari); } +.#{$fa-css-prefix}-stumbleupon:before { content: fa-content($fa-var-stumbleupon); } +.#{$fa-css-prefix}-stumbleupon-circle:before { content: fa-content($fa-var-stumbleupon-circle); } +.#{$fa-css-prefix}-subscript:before { content: fa-content($fa-var-subscript); } +.#{$fa-css-prefix}-subway:before { content: fa-content($fa-var-subway); } +.#{$fa-css-prefix}-suitcase:before { content: fa-content($fa-var-suitcase); } +.#{$fa-css-prefix}-suitcase-rolling:before { content: fa-content($fa-var-suitcase-rolling); } +.#{$fa-css-prefix}-sun:before { content: fa-content($fa-var-sun); } +.#{$fa-css-prefix}-superpowers:before { content: fa-content($fa-var-superpowers); } +.#{$fa-css-prefix}-superscript:before { content: fa-content($fa-var-superscript); } +.#{$fa-css-prefix}-supple:before { content: fa-content($fa-var-supple); } +.#{$fa-css-prefix}-surprise:before { content: fa-content($fa-var-surprise); } +.#{$fa-css-prefix}-swatchbook:before { content: fa-content($fa-var-swatchbook); } +.#{$fa-css-prefix}-swimmer:before { content: fa-content($fa-var-swimmer); } +.#{$fa-css-prefix}-swimming-pool:before { content: fa-content($fa-var-swimming-pool); } +.#{$fa-css-prefix}-synagogue:before { content: fa-content($fa-var-synagogue); } +.#{$fa-css-prefix}-sync:before { content: fa-content($fa-var-sync); } +.#{$fa-css-prefix}-sync-alt:before { content: fa-content($fa-var-sync-alt); } +.#{$fa-css-prefix}-syringe:before { content: fa-content($fa-var-syringe); } +.#{$fa-css-prefix}-table:before { content: fa-content($fa-var-table); } +.#{$fa-css-prefix}-table-tennis:before { content: fa-content($fa-var-table-tennis); } +.#{$fa-css-prefix}-tablet:before { content: fa-content($fa-var-tablet); } +.#{$fa-css-prefix}-tablet-alt:before { content: fa-content($fa-var-tablet-alt); } +.#{$fa-css-prefix}-tablets:before { content: fa-content($fa-var-tablets); } +.#{$fa-css-prefix}-tachometer-alt:before { content: fa-content($fa-var-tachometer-alt); } +.#{$fa-css-prefix}-tag:before { content: fa-content($fa-var-tag); } +.#{$fa-css-prefix}-tags:before { content: fa-content($fa-var-tags); } +.#{$fa-css-prefix}-tape:before { content: fa-content($fa-var-tape); } +.#{$fa-css-prefix}-tasks:before { content: fa-content($fa-var-tasks); } +.#{$fa-css-prefix}-taxi:before { content: fa-content($fa-var-taxi); } +.#{$fa-css-prefix}-teamspeak:before { content: fa-content($fa-var-teamspeak); } +.#{$fa-css-prefix}-teeth:before { content: fa-content($fa-var-teeth); } +.#{$fa-css-prefix}-teeth-open:before { content: fa-content($fa-var-teeth-open); } +.#{$fa-css-prefix}-telegram:before { content: fa-content($fa-var-telegram); } +.#{$fa-css-prefix}-telegram-plane:before { content: fa-content($fa-var-telegram-plane); } +.#{$fa-css-prefix}-tencent-weibo:before { content: fa-content($fa-var-tencent-weibo); } +.#{$fa-css-prefix}-terminal:before { content: fa-content($fa-var-terminal); } +.#{$fa-css-prefix}-text-height:before { content: fa-content($fa-var-text-height); } +.#{$fa-css-prefix}-text-width:before { content: fa-content($fa-var-text-width); } +.#{$fa-css-prefix}-th:before { content: fa-content($fa-var-th); } +.#{$fa-css-prefix}-th-large:before { content: fa-content($fa-var-th-large); } +.#{$fa-css-prefix}-th-list:before { content: fa-content($fa-var-th-list); } +.#{$fa-css-prefix}-the-red-yeti:before { content: fa-content($fa-var-the-red-yeti); } +.#{$fa-css-prefix}-theater-masks:before { content: fa-content($fa-var-theater-masks); } +.#{$fa-css-prefix}-themeco:before { content: fa-content($fa-var-themeco); } +.#{$fa-css-prefix}-themeisle:before { content: fa-content($fa-var-themeisle); } +.#{$fa-css-prefix}-thermometer:before { content: fa-content($fa-var-thermometer); } +.#{$fa-css-prefix}-thermometer-empty:before { content: fa-content($fa-var-thermometer-empty); } +.#{$fa-css-prefix}-thermometer-full:before { content: fa-content($fa-var-thermometer-full); } +.#{$fa-css-prefix}-thermometer-half:before { content: fa-content($fa-var-thermometer-half); } +.#{$fa-css-prefix}-thermometer-quarter:before { content: fa-content($fa-var-thermometer-quarter); } +.#{$fa-css-prefix}-thermometer-three-quarters:before { content: fa-content($fa-var-thermometer-three-quarters); } +.#{$fa-css-prefix}-thumbs-down:before { content: fa-content($fa-var-thumbs-down); } +.#{$fa-css-prefix}-thumbs-up:before { content: fa-content($fa-var-thumbs-up); } +.#{$fa-css-prefix}-thumbtack:before { content: fa-content($fa-var-thumbtack); } +.#{$fa-css-prefix}-ticket-alt:before { content: fa-content($fa-var-ticket-alt); } +.#{$fa-css-prefix}-times:before { content: fa-content($fa-var-times); } +.#{$fa-css-prefix}-times-circle:before { content: fa-content($fa-var-times-circle); } +.#{$fa-css-prefix}-tint:before { content: fa-content($fa-var-tint); } +.#{$fa-css-prefix}-tint-slash:before { content: fa-content($fa-var-tint-slash); } +.#{$fa-css-prefix}-tired:before { content: fa-content($fa-var-tired); } +.#{$fa-css-prefix}-toggle-off:before { content: fa-content($fa-var-toggle-off); } +.#{$fa-css-prefix}-toggle-on:before { content: fa-content($fa-var-toggle-on); } +.#{$fa-css-prefix}-toolbox:before { content: fa-content($fa-var-toolbox); } +.#{$fa-css-prefix}-tooth:before { content: fa-content($fa-var-tooth); } +.#{$fa-css-prefix}-torah:before { content: fa-content($fa-var-torah); } +.#{$fa-css-prefix}-torii-gate:before { content: fa-content($fa-var-torii-gate); } +.#{$fa-css-prefix}-trade-federation:before { content: fa-content($fa-var-trade-federation); } +.#{$fa-css-prefix}-trademark:before { content: fa-content($fa-var-trademark); } +.#{$fa-css-prefix}-traffic-light:before { content: fa-content($fa-var-traffic-light); } +.#{$fa-css-prefix}-train:before { content: fa-content($fa-var-train); } +.#{$fa-css-prefix}-transgender:before { content: fa-content($fa-var-transgender); } +.#{$fa-css-prefix}-transgender-alt:before { content: fa-content($fa-var-transgender-alt); } +.#{$fa-css-prefix}-trash:before { content: fa-content($fa-var-trash); } +.#{$fa-css-prefix}-trash-alt:before { content: fa-content($fa-var-trash-alt); } +.#{$fa-css-prefix}-tree:before { content: fa-content($fa-var-tree); } +.#{$fa-css-prefix}-trello:before { content: fa-content($fa-var-trello); } +.#{$fa-css-prefix}-tripadvisor:before { content: fa-content($fa-var-tripadvisor); } +.#{$fa-css-prefix}-trophy:before { content: fa-content($fa-var-trophy); } +.#{$fa-css-prefix}-truck:before { content: fa-content($fa-var-truck); } +.#{$fa-css-prefix}-truck-loading:before { content: fa-content($fa-var-truck-loading); } +.#{$fa-css-prefix}-truck-monster:before { content: fa-content($fa-var-truck-monster); } +.#{$fa-css-prefix}-truck-moving:before { content: fa-content($fa-var-truck-moving); } +.#{$fa-css-prefix}-truck-pickup:before { content: fa-content($fa-var-truck-pickup); } +.#{$fa-css-prefix}-tshirt:before { content: fa-content($fa-var-tshirt); } +.#{$fa-css-prefix}-tty:before { content: fa-content($fa-var-tty); } +.#{$fa-css-prefix}-tumblr:before { content: fa-content($fa-var-tumblr); } +.#{$fa-css-prefix}-tumblr-square:before { content: fa-content($fa-var-tumblr-square); } +.#{$fa-css-prefix}-tv:before { content: fa-content($fa-var-tv); } +.#{$fa-css-prefix}-twitch:before { content: fa-content($fa-var-twitch); } +.#{$fa-css-prefix}-twitter:before { content: fa-content($fa-var-twitter); } +.#{$fa-css-prefix}-twitter-square:before { content: fa-content($fa-var-twitter-square); } +.#{$fa-css-prefix}-typo3:before { content: fa-content($fa-var-typo3); } +.#{$fa-css-prefix}-uber:before { content: fa-content($fa-var-uber); } +.#{$fa-css-prefix}-uikit:before { content: fa-content($fa-var-uikit); } +.#{$fa-css-prefix}-umbrella:before { content: fa-content($fa-var-umbrella); } +.#{$fa-css-prefix}-umbrella-beach:before { content: fa-content($fa-var-umbrella-beach); } +.#{$fa-css-prefix}-underline:before { content: fa-content($fa-var-underline); } +.#{$fa-css-prefix}-undo:before { content: fa-content($fa-var-undo); } +.#{$fa-css-prefix}-undo-alt:before { content: fa-content($fa-var-undo-alt); } +.#{$fa-css-prefix}-uniregistry:before { content: fa-content($fa-var-uniregistry); } +.#{$fa-css-prefix}-universal-access:before { content: fa-content($fa-var-universal-access); } +.#{$fa-css-prefix}-university:before { content: fa-content($fa-var-university); } +.#{$fa-css-prefix}-unlink:before { content: fa-content($fa-var-unlink); } +.#{$fa-css-prefix}-unlock:before { content: fa-content($fa-var-unlock); } +.#{$fa-css-prefix}-unlock-alt:before { content: fa-content($fa-var-unlock-alt); } +.#{$fa-css-prefix}-untappd:before { content: fa-content($fa-var-untappd); } +.#{$fa-css-prefix}-upload:before { content: fa-content($fa-var-upload); } +.#{$fa-css-prefix}-usb:before { content: fa-content($fa-var-usb); } +.#{$fa-css-prefix}-user:before { content: fa-content($fa-var-user); } +.#{$fa-css-prefix}-user-alt:before { content: fa-content($fa-var-user-alt); } +.#{$fa-css-prefix}-user-alt-slash:before { content: fa-content($fa-var-user-alt-slash); } +.#{$fa-css-prefix}-user-astronaut:before { content: fa-content($fa-var-user-astronaut); } +.#{$fa-css-prefix}-user-check:before { content: fa-content($fa-var-user-check); } +.#{$fa-css-prefix}-user-circle:before { content: fa-content($fa-var-user-circle); } +.#{$fa-css-prefix}-user-clock:before { content: fa-content($fa-var-user-clock); } +.#{$fa-css-prefix}-user-cog:before { content: fa-content($fa-var-user-cog); } +.#{$fa-css-prefix}-user-edit:before { content: fa-content($fa-var-user-edit); } +.#{$fa-css-prefix}-user-friends:before { content: fa-content($fa-var-user-friends); } +.#{$fa-css-prefix}-user-graduate:before { content: fa-content($fa-var-user-graduate); } +.#{$fa-css-prefix}-user-lock:before { content: fa-content($fa-var-user-lock); } +.#{$fa-css-prefix}-user-md:before { content: fa-content($fa-var-user-md); } +.#{$fa-css-prefix}-user-minus:before { content: fa-content($fa-var-user-minus); } +.#{$fa-css-prefix}-user-ninja:before { content: fa-content($fa-var-user-ninja); } +.#{$fa-css-prefix}-user-plus:before { content: fa-content($fa-var-user-plus); } +.#{$fa-css-prefix}-user-secret:before { content: fa-content($fa-var-user-secret); } +.#{$fa-css-prefix}-user-shield:before { content: fa-content($fa-var-user-shield); } +.#{$fa-css-prefix}-user-slash:before { content: fa-content($fa-var-user-slash); } +.#{$fa-css-prefix}-user-tag:before { content: fa-content($fa-var-user-tag); } +.#{$fa-css-prefix}-user-tie:before { content: fa-content($fa-var-user-tie); } +.#{$fa-css-prefix}-user-times:before { content: fa-content($fa-var-user-times); } +.#{$fa-css-prefix}-users:before { content: fa-content($fa-var-users); } +.#{$fa-css-prefix}-users-cog:before { content: fa-content($fa-var-users-cog); } +.#{$fa-css-prefix}-ussunnah:before { content: fa-content($fa-var-ussunnah); } +.#{$fa-css-prefix}-utensil-spoon:before { content: fa-content($fa-var-utensil-spoon); } +.#{$fa-css-prefix}-utensils:before { content: fa-content($fa-var-utensils); } +.#{$fa-css-prefix}-vaadin:before { content: fa-content($fa-var-vaadin); } +.#{$fa-css-prefix}-vector-square:before { content: fa-content($fa-var-vector-square); } +.#{$fa-css-prefix}-venus:before { content: fa-content($fa-var-venus); } +.#{$fa-css-prefix}-venus-double:before { content: fa-content($fa-var-venus-double); } +.#{$fa-css-prefix}-venus-mars:before { content: fa-content($fa-var-venus-mars); } +.#{$fa-css-prefix}-viacoin:before { content: fa-content($fa-var-viacoin); } +.#{$fa-css-prefix}-viadeo:before { content: fa-content($fa-var-viadeo); } +.#{$fa-css-prefix}-viadeo-square:before { content: fa-content($fa-var-viadeo-square); } +.#{$fa-css-prefix}-vial:before { content: fa-content($fa-var-vial); } +.#{$fa-css-prefix}-vials:before { content: fa-content($fa-var-vials); } +.#{$fa-css-prefix}-viber:before { content: fa-content($fa-var-viber); } +.#{$fa-css-prefix}-video:before { content: fa-content($fa-var-video); } +.#{$fa-css-prefix}-video-slash:before { content: fa-content($fa-var-video-slash); } +.#{$fa-css-prefix}-vihara:before { content: fa-content($fa-var-vihara); } +.#{$fa-css-prefix}-vimeo:before { content: fa-content($fa-var-vimeo); } +.#{$fa-css-prefix}-vimeo-square:before { content: fa-content($fa-var-vimeo-square); } +.#{$fa-css-prefix}-vimeo-v:before { content: fa-content($fa-var-vimeo-v); } +.#{$fa-css-prefix}-vine:before { content: fa-content($fa-var-vine); } +.#{$fa-css-prefix}-vk:before { content: fa-content($fa-var-vk); } +.#{$fa-css-prefix}-vnv:before { content: fa-content($fa-var-vnv); } +.#{$fa-css-prefix}-volleyball-ball:before { content: fa-content($fa-var-volleyball-ball); } +.#{$fa-css-prefix}-volume-down:before { content: fa-content($fa-var-volume-down); } +.#{$fa-css-prefix}-volume-off:before { content: fa-content($fa-var-volume-off); } +.#{$fa-css-prefix}-volume-up:before { content: fa-content($fa-var-volume-up); } +.#{$fa-css-prefix}-vuejs:before { content: fa-content($fa-var-vuejs); } +.#{$fa-css-prefix}-walking:before { content: fa-content($fa-var-walking); } +.#{$fa-css-prefix}-wallet:before { content: fa-content($fa-var-wallet); } +.#{$fa-css-prefix}-warehouse:before { content: fa-content($fa-var-warehouse); } +.#{$fa-css-prefix}-weebly:before { content: fa-content($fa-var-weebly); } +.#{$fa-css-prefix}-weibo:before { content: fa-content($fa-var-weibo); } +.#{$fa-css-prefix}-weight:before { content: fa-content($fa-var-weight); } +.#{$fa-css-prefix}-weight-hanging:before { content: fa-content($fa-var-weight-hanging); } +.#{$fa-css-prefix}-weixin:before { content: fa-content($fa-var-weixin); } +.#{$fa-css-prefix}-whatsapp:before { content: fa-content($fa-var-whatsapp); } +.#{$fa-css-prefix}-whatsapp-square:before { content: fa-content($fa-var-whatsapp-square); } +.#{$fa-css-prefix}-wheelchair:before { content: fa-content($fa-var-wheelchair); } +.#{$fa-css-prefix}-whmcs:before { content: fa-content($fa-var-whmcs); } +.#{$fa-css-prefix}-wifi:before { content: fa-content($fa-var-wifi); } +.#{$fa-css-prefix}-wikipedia-w:before { content: fa-content($fa-var-wikipedia-w); } +.#{$fa-css-prefix}-window-close:before { content: fa-content($fa-var-window-close); } +.#{$fa-css-prefix}-window-maximize:before { content: fa-content($fa-var-window-maximize); } +.#{$fa-css-prefix}-window-minimize:before { content: fa-content($fa-var-window-minimize); } +.#{$fa-css-prefix}-window-restore:before { content: fa-content($fa-var-window-restore); } +.#{$fa-css-prefix}-windows:before { content: fa-content($fa-var-windows); } +.#{$fa-css-prefix}-wine-glass:before { content: fa-content($fa-var-wine-glass); } +.#{$fa-css-prefix}-wine-glass-alt:before { content: fa-content($fa-var-wine-glass-alt); } +.#{$fa-css-prefix}-wix:before { content: fa-content($fa-var-wix); } +.#{$fa-css-prefix}-wolf-pack-battalion:before { content: fa-content($fa-var-wolf-pack-battalion); } +.#{$fa-css-prefix}-won-sign:before { content: fa-content($fa-var-won-sign); } +.#{$fa-css-prefix}-wordpress:before { content: fa-content($fa-var-wordpress); } +.#{$fa-css-prefix}-wordpress-simple:before { content: fa-content($fa-var-wordpress-simple); } +.#{$fa-css-prefix}-wpbeginner:before { content: fa-content($fa-var-wpbeginner); } +.#{$fa-css-prefix}-wpexplorer:before { content: fa-content($fa-var-wpexplorer); } +.#{$fa-css-prefix}-wpforms:before { content: fa-content($fa-var-wpforms); } +.#{$fa-css-prefix}-wrench:before { content: fa-content($fa-var-wrench); } +.#{$fa-css-prefix}-x-ray:before { content: fa-content($fa-var-x-ray); } +.#{$fa-css-prefix}-xbox:before { content: fa-content($fa-var-xbox); } +.#{$fa-css-prefix}-xing:before { content: fa-content($fa-var-xing); } +.#{$fa-css-prefix}-xing-square:before { content: fa-content($fa-var-xing-square); } +.#{$fa-css-prefix}-y-combinator:before { content: fa-content($fa-var-y-combinator); } +.#{$fa-css-prefix}-yahoo:before { content: fa-content($fa-var-yahoo); } +.#{$fa-css-prefix}-yandex:before { content: fa-content($fa-var-yandex); } +.#{$fa-css-prefix}-yandex-international:before { content: fa-content($fa-var-yandex-international); } +.#{$fa-css-prefix}-yelp:before { content: fa-content($fa-var-yelp); } +.#{$fa-css-prefix}-yen-sign:before { content: fa-content($fa-var-yen-sign); } +.#{$fa-css-prefix}-yin-yang:before { content: fa-content($fa-var-yin-yang); } +.#{$fa-css-prefix}-yoast:before { content: fa-content($fa-var-yoast); } +.#{$fa-css-prefix}-youtube:before { content: fa-content($fa-var-youtube); } +.#{$fa-css-prefix}-youtube-square:before { content: fa-content($fa-var-youtube-square); } +.#{$fa-css-prefix}-zhihu:before { content: fa-content($fa-var-zhihu); } diff --git a/_scss/_larger.scss b/_scss/_larger.scss new file mode 100644 index 0000000000000000000000000000000000000000..27c2ad5fc45272972e7e894e2b1dc4ae7e10367b --- /dev/null +++ b/_scss/_larger.scss @@ -0,0 +1,23 @@ +// Icon Sizes +// ------------------------- + +// makes the font 33% larger relative to the icon container +.#{$fa-css-prefix}-lg { + font-size: (4em / 3); + line-height: (3em / 4); + vertical-align: -.0667em; +} + +.#{$fa-css-prefix}-xs { + font-size: .75em; +} + +.#{$fa-css-prefix}-sm { + font-size: .875em; +} + +@for $i from 1 through 10 { + .#{$fa-css-prefix}-#{$i}x { + font-size: $i * 1em; + } +} diff --git a/_scss/_list.scss b/_scss/_list.scss new file mode 100644 index 0000000000000000000000000000000000000000..8ebf33333cfd9cc589c44b39e9881d781986fccb --- /dev/null +++ b/_scss/_list.scss @@ -0,0 +1,18 @@ +// List Icons +// ------------------------- + +.#{$fa-css-prefix}-ul { + list-style-type: none; + margin-left: $fa-li-width * 5/4; + padding-left: 0; + + > li { position: relative; } +} + +.#{$fa-css-prefix}-li { + left: -$fa-li-width; + position: absolute; + text-align: center; + width: $fa-li-width; + line-height: inherit; +} diff --git a/_scss/_mixins.scss b/_scss/_mixins.scss new file mode 100644 index 0000000000000000000000000000000000000000..50a2e9f18c97c8a7e814d848a28598c32e53834e --- /dev/null +++ b/_scss/_mixins.scss @@ -0,0 +1,57 @@ +// Mixins +// -------------------------- + +@mixin fa-icon { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + display: inline-block; + font-style: normal; + font-variant: normal; + font-weight: normal; + line-height: 1; + vertical-align: -.125em; +} + +@mixin fa-icon-rotate($degrees, $rotation) { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})"; + transform: rotate($degrees); +} + +@mixin fa-icon-flip($horiz, $vert, $rotation) { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)"; + transform: scale($horiz, $vert); +} + + +// Only display content to screen readers. A la Bootstrap 4. +// +// See: http://a11yproject.com/posts/how-to-hide-content/ + +@mixin sr-only { + border: 0; + clip: rect(0, 0, 0, 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; +} + +// Use in conjunction with .sr-only to only display content when it's focused. +// +// Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 +// +// Credit: HTML5 Boilerplate + +@mixin sr-only-focusable { + &:active, + &:focus { + clip: auto; + height: auto; + margin: 0; + overflow: visible; + position: static; + width: auto; + } +} diff --git a/_scss/_rotated-flipped.scss b/_scss/_rotated-flipped.scss new file mode 100644 index 0000000000000000000000000000000000000000..995bc4cc70dacb1d6a8b9c925ea6faf0947d79a0 --- /dev/null +++ b/_scss/_rotated-flipped.scss @@ -0,0 +1,23 @@ +// Rotated & Flipped Icons +// ------------------------- + +.#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } +.#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } +.#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } + +.#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } +.#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } +.#{$fa-css-prefix}-flip-horizontal.#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(-1, -1, 2); } + +// Hook for IE8-9 +// ------------------------- + +:root { + .#{$fa-css-prefix}-rotate-90, + .#{$fa-css-prefix}-rotate-180, + .#{$fa-css-prefix}-rotate-270, + .#{$fa-css-prefix}-flip-horizontal, + .#{$fa-css-prefix}-flip-vertical { + filter: none; + } +} diff --git a/_scss/_screen-reader.scss b/_scss/_screen-reader.scss new file mode 100644 index 0000000000000000000000000000000000000000..5d0ab262f15f96241db42e70fcace6fa6914a720 --- /dev/null +++ b/_scss/_screen-reader.scss @@ -0,0 +1,5 @@ +// Screen Readers +// ------------------------- + +.sr-only { @include sr-only; } +.sr-only-focusable { @include sr-only-focusable; } diff --git a/_scss/_shims.scss b/_scss/_shims.scss new file mode 100644 index 0000000000000000000000000000000000000000..08261c93df5ca08216fa1518b4ee07ca9895274f --- /dev/null +++ b/_scss/_shims.scss @@ -0,0 +1,2066 @@ +.#{$fa-css-prefix}.#{$fa-css-prefix}-glass:before { content: fa-content($fa-var-glass-martini); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-meetup { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-star-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-star-o:before { content: fa-content($fa-var-star); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-remove:before { content: fa-content($fa-var-times); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-close:before { content: fa-content($fa-var-times); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-gear:before { content: fa-content($fa-var-cog); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-trash-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-trash-o:before { content: fa-content($fa-var-trash-alt); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-o:before { content: fa-content($fa-var-file); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-clock-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-clock-o:before { content: fa-content($fa-var-clock); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-arrow-circle-o-down { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-arrow-circle-o-down:before { content: fa-content($fa-var-arrow-alt-circle-down); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-arrow-circle-o-up { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-arrow-circle-o-up:before { content: fa-content($fa-var-arrow-alt-circle-up); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-play-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-play-circle-o:before { content: fa-content($fa-var-play-circle); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-repeat:before { content: fa-content($fa-var-redo); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-rotate-right:before { content: fa-content($fa-var-redo); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-refresh:before { content: fa-content($fa-var-sync); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-list-alt { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-dedent:before { content: fa-content($fa-var-outdent); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-video-camera:before { content: fa-content($fa-var-video); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-picture-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-picture-o:before { content: fa-content($fa-var-image); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-photo { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-photo:before { content: fa-content($fa-var-image); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-image { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-image:before { content: fa-content($fa-var-image); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-pencil:before { content: fa-content($fa-var-pencil-alt); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-map-marker:before { content: fa-content($fa-var-map-marker-alt); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-pencil-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-pencil-square-o:before { content: fa-content($fa-var-edit); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-share-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-share-square-o:before { content: fa-content($fa-var-share-square); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-check-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-check-square-o:before { content: fa-content($fa-var-check-square); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-arrows:before { content: fa-content($fa-var-arrows-alt); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-times-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-times-circle-o:before { content: fa-content($fa-var-times-circle); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-check-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-check-circle-o:before { content: fa-content($fa-var-check-circle); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-mail-forward:before { content: fa-content($fa-var-share); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-eye { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-eye-slash { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-warning:before { content: fa-content($fa-var-exclamation-triangle); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar:before { content: fa-content($fa-var-calendar-alt); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-arrows-v:before { content: fa-content($fa-var-arrows-alt-v); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-arrows-h:before { content: fa-content($fa-var-arrows-alt-h); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-bar-chart { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-bar-chart:before { content: fa-content($fa-var-chart-bar); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-bar-chart-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-bar-chart-o:before { content: fa-content($fa-var-chart-bar); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-twitter-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-facebook-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-gears:before { content: fa-content($fa-var-cogs); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-thumbs-o-up { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-thumbs-o-up:before { content: fa-content($fa-var-thumbs-up); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-thumbs-o-down { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-thumbs-o-down:before { content: fa-content($fa-var-thumbs-down); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-heart-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-heart-o:before { content: fa-content($fa-var-heart); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-sign-out:before { content: fa-content($fa-var-sign-out-alt); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-linkedin-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-linkedin-square:before { content: fa-content($fa-var-linkedin); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-thumb-tack:before { content: fa-content($fa-var-thumbtack); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-external-link:before { content: fa-content($fa-var-external-link-alt); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-sign-in:before { content: fa-content($fa-var-sign-in-alt); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-github-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-lemon-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-lemon-o:before { content: fa-content($fa-var-lemon); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-square-o:before { content: fa-content($fa-var-square); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-bookmark-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-bookmark-o:before { content: fa-content($fa-var-bookmark); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-twitter { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-facebook { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-facebook:before { content: fa-content($fa-var-facebook-f); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-facebook-f { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-facebook-f:before { content: fa-content($fa-var-facebook-f); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-github { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-credit-card { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-feed:before { content: fa-content($fa-var-rss); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hdd-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-hdd-o:before { content: fa-content($fa-var-hdd); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-o-right { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-o-right:before { content: fa-content($fa-var-hand-point-right); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-o-left { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-o-left:before { content: fa-content($fa-var-hand-point-left); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-o-up { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-o-up:before { content: fa-content($fa-var-hand-point-up); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-o-down { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-o-down:before { content: fa-content($fa-var-hand-point-down); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-arrows-alt:before { content: fa-content($fa-var-expand-arrows-alt); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-group:before { content: fa-content($fa-var-users); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-chain:before { content: fa-content($fa-var-link); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-scissors:before { content: fa-content($fa-var-cut); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-files-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-files-o:before { content: fa-content($fa-var-copy); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-floppy-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-floppy-o:before { content: fa-content($fa-var-save); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-navicon:before { content: fa-content($fa-var-bars); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-reorder:before { content: fa-content($fa-var-bars); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-pinterest { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-pinterest-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-google-plus-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-google-plus { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-google-plus:before { content: fa-content($fa-var-google-plus-g); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-money { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-money:before { content: fa-content($fa-var-money-bill-alt); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-unsorted:before { content: fa-content($fa-var-sort); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-sort-desc:before { content: fa-content($fa-var-sort-down); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-sort-asc:before { content: fa-content($fa-var-sort-up); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-linkedin { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-linkedin:before { content: fa-content($fa-var-linkedin-in); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-rotate-left:before { content: fa-content($fa-var-undo); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-legal:before { content: fa-content($fa-var-gavel); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-tachometer:before { content: fa-content($fa-var-tachometer-alt); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-dashboard:before { content: fa-content($fa-var-tachometer-alt); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-comment-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-comment-o:before { content: fa-content($fa-var-comment); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-comments-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-comments-o:before { content: fa-content($fa-var-comments); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-flash:before { content: fa-content($fa-var-bolt); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-clipboard { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-paste { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-paste:before { content: fa-content($fa-var-clipboard); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-lightbulb-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-lightbulb-o:before { content: fa-content($fa-var-lightbulb); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-exchange:before { content: fa-content($fa-var-exchange-alt); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-cloud-download:before { content: fa-content($fa-var-cloud-download-alt); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-cloud-upload:before { content: fa-content($fa-var-cloud-upload-alt); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-bell-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-bell-o:before { content: fa-content($fa-var-bell); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-cutlery:before { content: fa-content($fa-var-utensils); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-text-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-text-o:before { content: fa-content($fa-var-file-alt); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-building-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-building-o:before { content: fa-content($fa-var-building); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hospital-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-hospital-o:before { content: fa-content($fa-var-hospital); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-tablet:before { content: fa-content($fa-var-tablet-alt); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-mobile:before { content: fa-content($fa-var-mobile-alt); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-mobile-phone:before { content: fa-content($fa-var-mobile-alt); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-circle-o:before { content: fa-content($fa-var-circle); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-mail-reply:before { content: fa-content($fa-var-reply); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-github-alt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-folder-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-folder-o:before { content: fa-content($fa-var-folder); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-folder-open-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-folder-open-o:before { content: fa-content($fa-var-folder-open); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-smile-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-smile-o:before { content: fa-content($fa-var-smile); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-frown-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-frown-o:before { content: fa-content($fa-var-frown); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-meh-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-meh-o:before { content: fa-content($fa-var-meh); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-keyboard-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-keyboard-o:before { content: fa-content($fa-var-keyboard); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-flag-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-flag-o:before { content: fa-content($fa-var-flag); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-mail-reply-all:before { content: fa-content($fa-var-reply-all); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-star-half-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-star-half-o:before { content: fa-content($fa-var-star-half); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-star-half-empty { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-star-half-empty:before { content: fa-content($fa-var-star-half); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-star-half-full { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-star-half-full:before { content: fa-content($fa-var-star-half); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-code-fork:before { content: fa-content($fa-var-code-branch); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-chain-broken:before { content: fa-content($fa-var-unlink); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-shield:before { content: fa-content($fa-var-shield-alt); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar-o:before { content: fa-content($fa-var-calendar); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-maxcdn { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-html5 { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-css3 { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-ticket:before { content: fa-content($fa-var-ticket-alt); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-minus-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-minus-square-o:before { content: fa-content($fa-var-minus-square); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-level-up:before { content: fa-content($fa-var-level-up-alt); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-level-down:before { content: fa-content($fa-var-level-down-alt); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-pencil-square:before { content: fa-content($fa-var-pen-square); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-external-link-square:before { content: fa-content($fa-var-external-link-square-alt); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-compass { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-caret-square-o-down { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-caret-square-o-down:before { content: fa-content($fa-var-caret-square-down); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-toggle-down { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-toggle-down:before { content: fa-content($fa-var-caret-square-down); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-caret-square-o-up { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-caret-square-o-up:before { content: fa-content($fa-var-caret-square-up); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-toggle-up { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-toggle-up:before { content: fa-content($fa-var-caret-square-up); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-caret-square-o-right { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-caret-square-o-right:before { content: fa-content($fa-var-caret-square-right); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-toggle-right { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-toggle-right:before { content: fa-content($fa-var-caret-square-right); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-eur:before { content: fa-content($fa-var-euro-sign); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-euro:before { content: fa-content($fa-var-euro-sign); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-gbp:before { content: fa-content($fa-var-pound-sign); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-usd:before { content: fa-content($fa-var-dollar-sign); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-dollar:before { content: fa-content($fa-var-dollar-sign); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-inr:before { content: fa-content($fa-var-rupee-sign); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-rupee:before { content: fa-content($fa-var-rupee-sign); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-jpy:before { content: fa-content($fa-var-yen-sign); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-cny:before { content: fa-content($fa-var-yen-sign); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-rmb:before { content: fa-content($fa-var-yen-sign); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-yen:before { content: fa-content($fa-var-yen-sign); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-rub:before { content: fa-content($fa-var-ruble-sign); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-ruble:before { content: fa-content($fa-var-ruble-sign); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-rouble:before { content: fa-content($fa-var-ruble-sign); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-krw:before { content: fa-content($fa-var-won-sign); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-won:before { content: fa-content($fa-var-won-sign); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-btc { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-bitcoin { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-bitcoin:before { content: fa-content($fa-var-btc); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-text:before { content: fa-content($fa-var-file-alt); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-sort-alpha-asc:before { content: fa-content($fa-var-sort-alpha-down); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-sort-alpha-desc:before { content: fa-content($fa-var-sort-alpha-up); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-sort-amount-asc:before { content: fa-content($fa-var-sort-amount-down); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-sort-amount-desc:before { content: fa-content($fa-var-sort-amount-up); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-sort-numeric-asc:before { content: fa-content($fa-var-sort-numeric-down); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-sort-numeric-desc:before { content: fa-content($fa-var-sort-numeric-up); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-youtube-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-youtube { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-xing { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-xing-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-youtube-play { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-youtube-play:before { content: fa-content($fa-var-youtube); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-dropbox { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-stack-overflow { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-instagram { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-flickr { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-adn { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-bitbucket { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-bitbucket-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-bitbucket-square:before { content: fa-content($fa-var-bitbucket); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-tumblr { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-tumblr-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-long-arrow-down:before { content: fa-content($fa-var-long-arrow-alt-down); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-long-arrow-up:before { content: fa-content($fa-var-long-arrow-alt-up); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-long-arrow-left:before { content: fa-content($fa-var-long-arrow-alt-left); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-long-arrow-right:before { content: fa-content($fa-var-long-arrow-alt-right); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-apple { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-windows { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-android { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-linux { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-dribbble { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-skype { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-foursquare { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-trello { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-gratipay { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-gittip { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-gittip:before { content: fa-content($fa-var-gratipay); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-sun-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-sun-o:before { content: fa-content($fa-var-sun); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-moon-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-moon-o:before { content: fa-content($fa-var-moon); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-vk { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-weibo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-renren { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-pagelines { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-stack-exchange { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-arrow-circle-o-right { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-arrow-circle-o-right:before { content: fa-content($fa-var-arrow-alt-circle-right); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-arrow-circle-o-left { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-arrow-circle-o-left:before { content: fa-content($fa-var-arrow-alt-circle-left); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-caret-square-o-left { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-caret-square-o-left:before { content: fa-content($fa-var-caret-square-left); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-toggle-left { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-toggle-left:before { content: fa-content($fa-var-caret-square-left); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-dot-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-dot-circle-o:before { content: fa-content($fa-var-dot-circle); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-vimeo-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-try:before { content: fa-content($fa-var-lira-sign); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-turkish-lira:before { content: fa-content($fa-var-lira-sign); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-plus-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-plus-square-o:before { content: fa-content($fa-var-plus-square); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-slack { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-wordpress { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-openid { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-institution:before { content: fa-content($fa-var-university); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-bank:before { content: fa-content($fa-var-university); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-mortar-board:before { content: fa-content($fa-var-graduation-cap); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-yahoo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-google { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-reddit { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-reddit-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-stumbleupon-circle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-stumbleupon { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-delicious { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-digg { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-pied-piper-pp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-pied-piper-alt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-drupal { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-joomla { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-spoon:before { content: fa-content($fa-var-utensil-spoon); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-behance { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-behance-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-steam { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-steam-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-automobile:before { content: fa-content($fa-var-car); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-cab:before { content: fa-content($fa-var-taxi); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-envelope-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-envelope-o:before { content: fa-content($fa-var-envelope); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-deviantart { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-soundcloud { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-pdf-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-pdf-o:before { content: fa-content($fa-var-file-pdf); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-word-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-word-o:before { content: fa-content($fa-var-file-word); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-excel-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-excel-o:before { content: fa-content($fa-var-file-excel); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-powerpoint-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-powerpoint-o:before { content: fa-content($fa-var-file-powerpoint); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-image-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-image-o:before { content: fa-content($fa-var-file-image); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-photo-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-photo-o:before { content: fa-content($fa-var-file-image); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-picture-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-picture-o:before { content: fa-content($fa-var-file-image); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-archive-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-archive-o:before { content: fa-content($fa-var-file-archive); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-zip-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-zip-o:before { content: fa-content($fa-var-file-archive); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-audio-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-audio-o:before { content: fa-content($fa-var-file-audio); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-sound-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-sound-o:before { content: fa-content($fa-var-file-audio); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-video-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-video-o:before { content: fa-content($fa-var-file-video); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-movie-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-movie-o:before { content: fa-content($fa-var-file-video); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-code-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-file-code-o:before { content: fa-content($fa-var-file-code); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-vine { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-codepen { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-jsfiddle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-life-ring { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-life-bouy { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-life-bouy:before { content: fa-content($fa-var-life-ring); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-life-buoy { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-life-buoy:before { content: fa-content($fa-var-life-ring); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-life-saver { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-life-saver:before { content: fa-content($fa-var-life-ring); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-support { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-support:before { content: fa-content($fa-var-life-ring); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-circle-o-notch:before { content: fa-content($fa-var-circle-notch); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-rebel { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-ra { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-ra:before { content: fa-content($fa-var-rebel); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-resistance { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-resistance:before { content: fa-content($fa-var-rebel); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-empire { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-ge { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-ge:before { content: fa-content($fa-var-empire); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-git-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-git { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hacker-news { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-y-combinator-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-y-combinator-square:before { content: fa-content($fa-var-hacker-news); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-yc-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-yc-square:before { content: fa-content($fa-var-hacker-news); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-tencent-weibo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-qq { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-weixin { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-wechat { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-wechat:before { content: fa-content($fa-var-weixin); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-send:before { content: fa-content($fa-var-paper-plane); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-paper-plane-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-paper-plane-o:before { content: fa-content($fa-var-paper-plane); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-send-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-send-o:before { content: fa-content($fa-var-paper-plane); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-circle-thin { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-circle-thin:before { content: fa-content($fa-var-circle); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-header:before { content: fa-content($fa-var-heading); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-sliders:before { content: fa-content($fa-var-sliders-h); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-futbol-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-futbol-o:before { content: fa-content($fa-var-futbol); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-soccer-ball-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-soccer-ball-o:before { content: fa-content($fa-var-futbol); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-slideshare { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-twitch { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-yelp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-newspaper-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-newspaper-o:before { content: fa-content($fa-var-newspaper); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-paypal { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-google-wallet { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-cc-visa { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-cc-mastercard { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-cc-discover { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-cc-amex { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-cc-paypal { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-cc-stripe { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-bell-slash-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-bell-slash-o:before { content: fa-content($fa-var-bell-slash); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-trash:before { content: fa-content($fa-var-trash-alt); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-copyright { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-eyedropper:before { content: fa-content($fa-var-eye-dropper); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-area-chart:before { content: fa-content($fa-var-chart-area); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-pie-chart:before { content: fa-content($fa-var-chart-pie); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-line-chart:before { content: fa-content($fa-var-chart-line); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-lastfm { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-lastfm-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-ioxhost { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-angellist { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-cc { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-cc:before { content: fa-content($fa-var-closed-captioning); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-ils:before { content: fa-content($fa-var-shekel-sign); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-shekel:before { content: fa-content($fa-var-shekel-sign); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-sheqel:before { content: fa-content($fa-var-shekel-sign); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-meanpath { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-meanpath:before { content: fa-content($fa-var-font-awesome); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-buysellads { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-connectdevelop { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-dashcube { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-forumbee { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-leanpub { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-sellsy { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-shirtsinbulk { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-simplybuilt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-skyatlas { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-diamond { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-diamond:before { content: fa-content($fa-var-gem); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-intersex:before { content: fa-content($fa-var-transgender); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-facebook-official { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-facebook-official:before { content: fa-content($fa-var-facebook); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-pinterest-p { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-whatsapp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hotel:before { content: fa-content($fa-var-bed); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-viacoin { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-medium { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-y-combinator { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-yc { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-yc:before { content: fa-content($fa-var-y-combinator); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-optin-monster { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-opencart { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-expeditedssl { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-battery-4:before { content: fa-content($fa-var-battery-full); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-battery:before { content: fa-content($fa-var-battery-full); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-battery-3:before { content: fa-content($fa-var-battery-three-quarters); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-battery-2:before { content: fa-content($fa-var-battery-half); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-battery-1:before { content: fa-content($fa-var-battery-quarter); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-battery-0:before { content: fa-content($fa-var-battery-empty); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-object-group { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-object-ungroup { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-sticky-note-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-sticky-note-o:before { content: fa-content($fa-var-sticky-note); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-cc-jcb { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-cc-diners-club { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-clone { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hourglass-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-hourglass-o:before { content: fa-content($fa-var-hourglass); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hourglass-1:before { content: fa-content($fa-var-hourglass-start); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hourglass-2:before { content: fa-content($fa-var-hourglass-half); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hourglass-3:before { content: fa-content($fa-var-hourglass-end); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-rock-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-rock-o:before { content: fa-content($fa-var-hand-rock); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-grab-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-grab-o:before { content: fa-content($fa-var-hand-rock); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-paper-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-paper-o:before { content: fa-content($fa-var-hand-paper); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-stop-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-stop-o:before { content: fa-content($fa-var-hand-paper); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-scissors-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-scissors-o:before { content: fa-content($fa-var-hand-scissors); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-lizard-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-lizard-o:before { content: fa-content($fa-var-hand-lizard); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-spock-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-spock-o:before { content: fa-content($fa-var-hand-spock); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-pointer-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-pointer-o:before { content: fa-content($fa-var-hand-pointer); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-peace-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-hand-peace-o:before { content: fa-content($fa-var-hand-peace); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-registered { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-creative-commons { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-gg { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-gg-circle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-tripadvisor { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-odnoklassniki { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-odnoklassniki-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-get-pocket { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-wikipedia-w { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-safari { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-chrome { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-firefox { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-opera { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-internet-explorer { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-television:before { content: fa-content($fa-var-tv); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-contao { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-500px { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-amazon { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar-plus-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar-plus-o:before { content: fa-content($fa-var-calendar-plus); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar-minus-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar-minus-o:before { content: fa-content($fa-var-calendar-minus); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar-times-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar-times-o:before { content: fa-content($fa-var-calendar-times); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar-check-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-calendar-check-o:before { content: fa-content($fa-var-calendar-check); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-map-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-map-o:before { content: fa-content($fa-var-map); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-commenting { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-commenting:before { content: fa-content($fa-var-comment-dots); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-commenting-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-commenting-o:before { content: fa-content($fa-var-comment-dots); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-houzz { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-vimeo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-vimeo:before { content: fa-content($fa-var-vimeo-v); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-black-tie { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-fonticons { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-reddit-alien { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-edge { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-credit-card-alt:before { content: fa-content($fa-var-credit-card); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-codiepie { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-modx { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-fort-awesome { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-usb { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-product-hunt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-mixcloud { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-scribd { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-pause-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-pause-circle-o:before { content: fa-content($fa-var-pause-circle); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-stop-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-stop-circle-o:before { content: fa-content($fa-var-stop-circle); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-bluetooth { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-bluetooth-b { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-gitlab { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-wpbeginner { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-wpforms { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-envira { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-wheelchair-alt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-wheelchair-alt:before { content: fa-content($fa-var-accessible-icon); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-question-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-question-circle-o:before { content: fa-content($fa-var-question-circle); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-volume-control-phone:before { content: fa-content($fa-var-phone-volume); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-asl-interpreting:before { content: fa-content($fa-var-american-sign-language-interpreting); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-deafness:before { content: fa-content($fa-var-deaf); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-hard-of-hearing:before { content: fa-content($fa-var-deaf); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-glide { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-glide-g { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-signing:before { content: fa-content($fa-var-sign-language); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-viadeo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-viadeo-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-snapchat { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-snapchat-ghost { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-snapchat-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-pied-piper { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-first-order { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-yoast { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-themeisle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-google-plus-official { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-google-plus-official:before { content: fa-content($fa-var-google-plus); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-google-plus-circle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-google-plus-circle:before { content: fa-content($fa-var-google-plus); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-font-awesome { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-fa { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-fa:before { content: fa-content($fa-var-font-awesome); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-handshake-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-handshake-o:before { content: fa-content($fa-var-handshake); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-envelope-open-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-envelope-open-o:before { content: fa-content($fa-var-envelope-open); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-linode { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-address-book-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-address-book-o:before { content: fa-content($fa-var-address-book); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-vcard:before { content: fa-content($fa-var-address-card); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-address-card-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-address-card-o:before { content: fa-content($fa-var-address-card); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-vcard-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-vcard-o:before { content: fa-content($fa-var-address-card); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-user-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-user-circle-o:before { content: fa-content($fa-var-user-circle); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-user-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-user-o:before { content: fa-content($fa-var-user); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-id-badge { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-drivers-license:before { content: fa-content($fa-var-id-card); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-id-card-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-id-card-o:before { content: fa-content($fa-var-id-card); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-drivers-license-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-drivers-license-o:before { content: fa-content($fa-var-id-card); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-quora { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-free-code-camp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-telegram { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-thermometer-4:before { content: fa-content($fa-var-thermometer-full); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-thermometer:before { content: fa-content($fa-var-thermometer-full); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-thermometer-3:before { content: fa-content($fa-var-thermometer-three-quarters); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-thermometer-2:before { content: fa-content($fa-var-thermometer-half); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-thermometer-1:before { content: fa-content($fa-var-thermometer-quarter); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-thermometer-0:before { content: fa-content($fa-var-thermometer-empty); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-bathtub:before { content: fa-content($fa-var-bath); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-s15:before { content: fa-content($fa-var-bath); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-window-maximize { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-window-restore { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-times-rectangle:before { content: fa-content($fa-var-window-close); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-window-close-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-window-close-o:before { content: fa-content($fa-var-window-close); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-times-rectangle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-times-rectangle-o:before { content: fa-content($fa-var-window-close); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-bandcamp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-grav { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-etsy { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-imdb { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-ravelry { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-eercast { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-eercast:before { content: fa-content($fa-var-sellcast); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-snowflake-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} +.#{$fa-css-prefix}.#{$fa-css-prefix}-snowflake-o:before { content: fa-content($fa-var-snowflake); } + +.#{$fa-css-prefix}.#{$fa-css-prefix}-superpowers { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-wpexplorer { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + +.#{$fa-css-prefix}.#{$fa-css-prefix}-spotify { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; +} + diff --git a/_scss/_stacked.scss b/_scss/_stacked.scss new file mode 100644 index 0000000000000000000000000000000000000000..6c09d84cd11febf6d52a337198f1f468f5f9a1b9 --- /dev/null +++ b/_scss/_stacked.scss @@ -0,0 +1,31 @@ +// Stacked Icons +// ------------------------- + +.#{$fa-css-prefix}-stack { + display: inline-block; + height: 2em; + line-height: 2em; + position: relative; + vertical-align: middle; + width: 2em; +} + +.#{$fa-css-prefix}-stack-1x, +.#{$fa-css-prefix}-stack-2x { + left: 0; + position: absolute; + text-align: center; + width: 100%; +} + +.#{$fa-css-prefix}-stack-1x { + line-height: inherit; +} + +.#{$fa-css-prefix}-stack-2x { + font-size: 2em; +} + +.#{$fa-css-prefix}-inverse { + color: $fa-inverse; +} diff --git a/_scss/bootstrap/_alert.scss b/_scss/bootstrap/_alert.scss new file mode 100644 index 0000000000000000000000000000000000000000..da2a98af94e82f0a26b2a1f26e7b05afe07d3608 --- /dev/null +++ b/_scss/bootstrap/_alert.scss @@ -0,0 +1,51 @@ +// +// Base styles +// + +.alert { + position: relative; + padding: $alert-padding-y $alert-padding-x; + margin-bottom: $alert-margin-bottom; + border: $alert-border-width solid transparent; + @include border-radius($alert-border-radius); +} + +// Headings for larger alerts +.alert-heading { + // Specified to prevent conflicts of changing $headings-color + color: inherit; +} + +// Provide class for links that match alerts +.alert-link { + font-weight: $alert-link-font-weight; +} + + +// Dismissible alerts +// +// Expand the right padding and account for the close button's positioning. + +.alert-dismissible { + padding-right: $close-font-size + $alert-padding-x * 2; + + // Adjust close link position + .close { + position: absolute; + top: 0; + right: 0; + padding: $alert-padding-y $alert-padding-x; + color: inherit; + } +} + + +// Alternate styles +// +// Generate contextual modifier classes for colorizing the alert. + +@each $color, $value in $theme-colors { + .alert-#{$color} { + @include alert-variant(theme-color-level($color, $alert-bg-level), theme-color-level($color, $alert-border-level), theme-color-level($color, $alert-color-level)); + } +} diff --git a/_scss/bootstrap/_badge.scss b/_scss/bootstrap/_badge.scss new file mode 100644 index 0000000000000000000000000000000000000000..42c5d08d7487c36ebbd1989020d9396f3f4880f0 --- /dev/null +++ b/_scss/bootstrap/_badge.scss @@ -0,0 +1,54 @@ +// Base class +// +// Requires one of the contextual, color modifier classes for `color` and +// `background-color`. + +.badge { + display: inline-block; + padding: $badge-padding-y $badge-padding-x; + @include font-size($badge-font-size); + font-weight: $badge-font-weight; + line-height: 1; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + @include border-radius($badge-border-radius); + @include transition($badge-transition); + + @at-root a#{&} { + @include hover-focus() { + text-decoration: none; + } + } + + // Empty badges collapse automatically + &:empty { + display: none; + } +} + +// Quick fix for badges in buttons +.btn .badge { + position: relative; + top: -1px; +} + +// Pill badges +// +// Make them extra rounded with a modifier to replace v3's badges. + +.badge-pill { + padding-right: $badge-pill-padding-x; + padding-left: $badge-pill-padding-x; + @include border-radius($badge-pill-border-radius); +} + +// Colors +// +// Contextual variations (linked badges get darker on :hover). + +@each $color, $value in $theme-colors { + .badge-#{$color} { + @include badge-variant($value); + } +} diff --git a/_scss/bootstrap/_breadcrumb.scss b/_scss/bootstrap/_breadcrumb.scss new file mode 100644 index 0000000000000000000000000000000000000000..d748894f96404f1b10f70dd79252f4b0d458cf00 --- /dev/null +++ b/_scss/bootstrap/_breadcrumb.scss @@ -0,0 +1,42 @@ +.breadcrumb { + display: flex; + flex-wrap: wrap; + padding: $breadcrumb-padding-y $breadcrumb-padding-x; + margin-bottom: $breadcrumb-margin-bottom; + @include font-size($breadcrumb-font-size); + list-style: none; + background-color: $breadcrumb-bg; + @include border-radius($breadcrumb-border-radius); +} + +.breadcrumb-item { + // The separator between breadcrumbs (by default, a forward-slash: "/") + + .breadcrumb-item { + padding-left: $breadcrumb-item-padding; + + &::before { + display: inline-block; // Suppress underlining of the separator in modern browsers + padding-right: $breadcrumb-item-padding; + color: $breadcrumb-divider-color; + content: escape-svg($breadcrumb-divider); + } + } + + // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built + // without `<ul>`s. The `::before` pseudo-element generates an element + // *within* the .breadcrumb-item and thereby inherits the `text-decoration`. + // + // To trick IE into suppressing the underline, we give the pseudo-element an + // underline and then immediately remove it. + + .breadcrumb-item:hover::before { + text-decoration: underline; + } + // stylelint-disable-next-line no-duplicate-selectors + + .breadcrumb-item:hover::before { + text-decoration: none; + } + + &.active { + color: $breadcrumb-active-color; + } +} diff --git a/_scss/bootstrap/_button-group.scss b/_scss/bootstrap/_button-group.scss new file mode 100644 index 0000000000000000000000000000000000000000..da02d7931b6d7aba1c3bf3f0fa019afefca0f954 --- /dev/null +++ b/_scss/bootstrap/_button-group.scss @@ -0,0 +1,163 @@ +// stylelint-disable selector-no-qualifying-type + +// Make the div behave like a button +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-flex; + vertical-align: middle; // match .btn alignment given font-size hack above + + > .btn { + position: relative; + flex: 1 1 auto; + + // Bring the hover, focused, and "active" buttons to the front to overlay + // the borders properly + @include hover() { + z-index: 1; + } + &:focus, + &:active, + &.active { + z-index: 1; + } + } +} + +// Optional: Group multiple button groups together for a toolbar +.btn-toolbar { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; + + .input-group { + width: auto; + } +} + +.btn-group { + // Prevent double borders when buttons are next to each other + > .btn:not(:first-child), + > .btn-group:not(:first-child) { + margin-left: -$btn-border-width; + } + + // Reset rounded corners + > .btn:not(:last-child):not(.dropdown-toggle), + > .btn-group:not(:last-child) > .btn { + @include border-right-radius(0); + } + + > .btn:not(:first-child), + > .btn-group:not(:first-child) > .btn { + @include border-left-radius(0); + } +} + +// Sizing +// +// Remix the default button sizing classes into new ones for easier manipulation. + +.btn-group-sm > .btn { @extend .btn-sm; } +.btn-group-lg > .btn { @extend .btn-lg; } + + +// +// Split button dropdowns +// + +.dropdown-toggle-split { + padding-right: $btn-padding-x * .75; + padding-left: $btn-padding-x * .75; + + &::after, + .dropup &::after, + .dropright &::after { + margin-left: 0; + } + + .dropleft &::before { + margin-right: 0; + } +} + +.btn-sm + .dropdown-toggle-split { + padding-right: $btn-padding-x-sm * .75; + padding-left: $btn-padding-x-sm * .75; +} + +.btn-lg + .dropdown-toggle-split { + padding-right: $btn-padding-x-lg * .75; + padding-left: $btn-padding-x-lg * .75; +} + + +// The clickable button for toggling the menu +// Set the same inset shadow as the :active state +.btn-group.show .dropdown-toggle { + @include box-shadow($btn-active-box-shadow); + + // Show no shadow for `.btn-link` since it has no other button styles. + &.btn-link { + @include box-shadow(none); + } +} + + +// +// Vertical button groups +// + +.btn-group-vertical { + flex-direction: column; + align-items: flex-start; + justify-content: center; + + > .btn, + > .btn-group { + width: 100%; + } + + > .btn:not(:first-child), + > .btn-group:not(:first-child) { + margin-top: -$btn-border-width; + } + + // Reset rounded corners + > .btn:not(:last-child):not(.dropdown-toggle), + > .btn-group:not(:last-child) > .btn { + @include border-bottom-radius(0); + } + + > .btn:not(:first-child), + > .btn-group:not(:first-child) > .btn { + @include border-top-radius(0); + } +} + + +// Checkbox and radio options +// +// In order to support the browser's form validation feedback, powered by the +// `required` attribute, we have to "hide" the inputs via `clip`. We cannot use +// `display: none;` or `visibility: hidden;` as that also hides the popover. +// Simply visually hiding the inputs via `opacity` would leave them clickable in +// certain cases which is prevented by using `clip` and `pointer-events`. +// This way, we ensure a DOM element is visible to position the popover from. +// +// See https://github.com/twbs/bootstrap/pull/12794 and +// https://github.com/twbs/bootstrap/pull/14559 for more information. + +.btn-group-toggle { + > .btn, + > .btn-group > .btn { + margin-bottom: 0; // Override default `<label>` value + + input[type="radio"], + input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; + } + } +} diff --git a/_scss/bootstrap/_buttons.scss b/_scss/bootstrap/_buttons.scss new file mode 100644 index 0000000000000000000000000000000000000000..e87d3393a16dae9cdbf343315e173659aa9c679b --- /dev/null +++ b/_scss/bootstrap/_buttons.scss @@ -0,0 +1,139 @@ +// stylelint-disable selector-no-qualifying-type + +// +// Base styles +// + +.btn { + display: inline-block; + font-family: $btn-font-family; + font-weight: $btn-font-weight; + color: $body-color; + text-align: center; + white-space: $btn-white-space; + vertical-align: middle; + cursor: if($enable-pointer-cursor-for-buttons, pointer, null); + user-select: none; + background-color: transparent; + border: $btn-border-width solid transparent; + @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-line-height, $btn-border-radius); + @include transition($btn-transition); + + @include hover() { + color: $body-color; + text-decoration: none; + } + + &:focus, + &.focus { + outline: 0; + box-shadow: $btn-focus-box-shadow; + } + + // Disabled comes first so active can properly restyle + &.disabled, + &:disabled { + opacity: $btn-disabled-opacity; + @include box-shadow(none); + } + + &:not(:disabled):not(.disabled):active, + &:not(:disabled):not(.disabled).active { + @include box-shadow($btn-active-box-shadow); + + &:focus { + @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow); + } + } +} + +// Future-proof disabling of clicks on `<a>` elements +a.btn.disabled, +fieldset:disabled a.btn { + pointer-events: none; +} + + +// +// Alternate buttons +// + +@each $color, $value in $theme-colors { + .btn-#{$color} { + @include button-variant($value, $value); + } +} + +@each $color, $value in $theme-colors { + .btn-outline-#{$color} { + @include button-outline-variant($value); + } +} + + +// +// Link buttons +// + +// Make a button look and behave like a link +.btn-link { + font-weight: $font-weight-normal; + color: $link-color; + text-decoration: $link-decoration; + + @include hover() { + color: $link-hover-color; + text-decoration: $link-hover-decoration; + } + + &:focus, + &.focus { + text-decoration: $link-hover-decoration; + box-shadow: none; + } + + &:disabled, + &.disabled { + color: $btn-link-disabled-color; + pointer-events: none; + } + + // No need for an active state here +} + + +// +// Button Sizes +// + +.btn-lg { + @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-line-height-lg, $btn-border-radius-lg); +} + +.btn-sm { + @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-line-height-sm, $btn-border-radius-sm); +} + + +// +// Block button +// + +.btn-block { + display: block; + width: 100%; + + // Vertically space out multiple block buttons + + .btn-block { + margin-top: $btn-block-spacing-y; + } +} + +// Specificity overrides +input[type="submit"], +input[type="reset"], +input[type="button"] { + &.btn-block { + width: 100%; + } +} diff --git a/_scss/bootstrap/_card.scss b/_scss/bootstrap/_card.scss new file mode 100644 index 0000000000000000000000000000000000000000..d6759fde685feca92c448bb6ef1a2c617065edbe --- /dev/null +++ b/_scss/bootstrap/_card.scss @@ -0,0 +1,278 @@ +// +// Base styles +// + +.card { + position: relative; + display: flex; + flex-direction: column; + min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106 + height: $card-height; + word-wrap: break-word; + background-color: $card-bg; + background-clip: border-box; + border: $card-border-width solid $card-border-color; + @include border-radius($card-border-radius); + + > hr { + margin-right: 0; + margin-left: 0; + } + + > .list-group:first-child { + .list-group-item:first-child { + @include border-top-radius($card-border-radius); + } + } + + > .list-group:last-child { + .list-group-item:last-child { + @include border-bottom-radius($card-border-radius); + } + } +} + +.card-body { + // Enable `flex-grow: 1` for decks and groups so that card blocks take up + // as much space as possible, ensuring footers are aligned to the bottom. + flex: 1 1 auto; + // Workaround for the image size bug in IE + // See: https://github.com/twbs/bootstrap/pull/28855 + min-height: 1px; + padding: $card-spacer-x; + color: $card-color; +} + +.card-title { + margin-bottom: $card-spacer-y; +} + +.card-subtitle { + margin-top: -$card-spacer-y / 2; + margin-bottom: 0; +} + +.card-text:last-child { + margin-bottom: 0; +} + +.card-link { + @include hover() { + text-decoration: none; + } + + + .card-link { + margin-left: $card-spacer-x; + } +} + +// +// Optional textual caps +// + +.card-header { + padding: $card-spacer-y $card-spacer-x; + margin-bottom: 0; // Removes the default margin-bottom of <hN> + color: $card-cap-color; + background-color: $card-cap-bg; + border-bottom: $card-border-width solid $card-border-color; + + &:first-child { + @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0); + } + + + .list-group { + .list-group-item:first-child { + border-top: 0; + } + } +} + +.card-footer { + padding: $card-spacer-y $card-spacer-x; + background-color: $card-cap-bg; + border-top: $card-border-width solid $card-border-color; + + &:last-child { + @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius); + } +} + + +// +// Header navs +// + +.card-header-tabs { + margin-right: -$card-spacer-x / 2; + margin-bottom: -$card-spacer-y; + margin-left: -$card-spacer-x / 2; + border-bottom: 0; +} + +.card-header-pills { + margin-right: -$card-spacer-x / 2; + margin-left: -$card-spacer-x / 2; +} + +// Card image +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: $card-img-overlay-padding; +} + +.card-img, +.card-img-top, +.card-img-bottom { + flex-shrink: 0; // For IE: https://github.com/twbs/bootstrap/issues/29396 + width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch +} + +.card-img, +.card-img-top { + @include border-top-radius($card-inner-border-radius); +} + +.card-img, +.card-img-bottom { + @include border-bottom-radius($card-inner-border-radius); +} + + +// Card deck + +.card-deck { + .card { + margin-bottom: $card-deck-margin; + } + + @include media-breakpoint-up(sm) { + display: flex; + flex-flow: row wrap; + margin-right: -$card-deck-margin; + margin-left: -$card-deck-margin; + + .card { + // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4 + flex: 1 0 0%; + margin-right: $card-deck-margin; + margin-bottom: 0; // Override the default + margin-left: $card-deck-margin; + } + } +} + + +// +// Card groups +// + +.card-group { + // The child selector allows nested `.card` within `.card-group` + // to display properly. + > .card { + margin-bottom: $card-group-margin; + } + + @include media-breakpoint-up(sm) { + display: flex; + flex-flow: row wrap; + // The child selector allows nested `.card` within `.card-group` + // to display properly. + > .card { + // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4 + flex: 1 0 0%; + margin-bottom: 0; + + + .card { + margin-left: 0; + border-left: 0; + } + + // Handle rounded corners + @if $enable-rounded { + &:not(:last-child) { + @include border-right-radius(0); + + .card-img-top, + .card-header { + // stylelint-disable-next-line property-blacklist + border-top-right-radius: 0; + } + .card-img-bottom, + .card-footer { + // stylelint-disable-next-line property-blacklist + border-bottom-right-radius: 0; + } + } + + &:not(:first-child) { + @include border-left-radius(0); + + .card-img-top, + .card-header { + // stylelint-disable-next-line property-blacklist + border-top-left-radius: 0; + } + .card-img-bottom, + .card-footer { + // stylelint-disable-next-line property-blacklist + border-bottom-left-radius: 0; + } + } + } + } + } +} + + +// +// Columns +// + +.card-columns { + .card { + margin-bottom: $card-columns-margin; + } + + @include media-breakpoint-up(sm) { + column-count: $card-columns-count; + column-gap: $card-columns-gap; + orphans: 1; + widows: 1; + + .card { + display: inline-block; // Don't let them vertically span multiple columns + width: 100%; // Don't let their width change + } + } +} + + +// +// Accordion +// + +.accordion { + > .card { + overflow: hidden; + + &:not(:last-of-type) { + border-bottom: 0; + @include border-bottom-radius(0); + } + + &:not(:first-of-type) { + @include border-top-radius(0); + } + + > .card-header { + @include border-radius(0); + margin-bottom: -$card-border-width; + } + } +} diff --git a/_scss/bootstrap/_carousel.scss b/_scss/bootstrap/_carousel.scss new file mode 100644 index 0000000000000000000000000000000000000000..fb5e9f856aee184b359a26c031a1036beb3e8c63 --- /dev/null +++ b/_scss/bootstrap/_carousel.scss @@ -0,0 +1,197 @@ +// Notes on the classes: +// +// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically) +// even when their scroll action started on a carousel, but for compatibility (with Firefox) +// we're preventing all actions instead +// 2. The .carousel-item-left and .carousel-item-right is used to indicate where +// the active slide is heading. +// 3. .active.carousel-item is the current slide. +// 4. .active.carousel-item-left and .active.carousel-item-right is the current +// slide in its in-transition state. Only one of these occurs at a time. +// 5. .carousel-item-next.carousel-item-left and .carousel-item-prev.carousel-item-right +// is the upcoming slide in transition. + +.carousel { + position: relative; +} + +.carousel.pointer-event { + touch-action: pan-y; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; + @include clearfix(); +} + +.carousel-item { + position: relative; + display: none; + float: left; + width: 100%; + margin-right: -100%; + backface-visibility: hidden; + @include transition($carousel-transition); +} + +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; +} + +.carousel-item-next:not(.carousel-item-left), +.active.carousel-item-right { + transform: translateX(100%); +} + +.carousel-item-prev:not(.carousel-item-right), +.active.carousel-item-left { + transform: translateX(-100%); +} + + +// +// Alternate transitions +// + +.carousel-fade { + .carousel-item { + opacity: 0; + transition-property: opacity; + transform: none; + } + + .carousel-item.active, + .carousel-item-next.carousel-item-left, + .carousel-item-prev.carousel-item-right { + z-index: 1; + opacity: 1; + } + + .active.carousel-item-left, + .active.carousel-item-right { + z-index: 0; + opacity: 0; + @include transition(opacity 0s $carousel-transition-duration); + } +} + + +// +// Left/right controls for nav +// + +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + // Use flex for alignment (1-3) + display: flex; // 1. allow flex styles + align-items: center; // 2. vertically center contents + justify-content: center; // 3. horizontally center contents + width: $carousel-control-width; + color: $carousel-control-color; + text-align: center; + opacity: $carousel-control-opacity; + @include transition($carousel-control-transition); + + // Hover/focus state + @include hover-focus() { + color: $carousel-control-color; + text-decoration: none; + outline: 0; + opacity: $carousel-control-hover-opacity; + } +} +.carousel-control-prev { + left: 0; + @if $enable-gradients { + background-image: linear-gradient(90deg, rgba($black, .25), rgba($black, .001)); + } +} +.carousel-control-next { + right: 0; + @if $enable-gradients { + background-image: linear-gradient(270deg, rgba($black, .25), rgba($black, .001)); + } +} + +// Icons for within +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: $carousel-control-icon-width; + height: $carousel-control-icon-width; + background: no-repeat 50% / 100% 100%; +} +.carousel-control-prev-icon { + background-image: escape-svg($carousel-control-prev-icon-bg); +} +.carousel-control-next-icon { + background-image: escape-svg($carousel-control-next-icon-bg); +} + + +// Optional indicator pips +// +// Add an ordered list with the following class and add a list item for each +// slide your carousel holds. + +.carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 15; + display: flex; + justify-content: center; + padding-left: 0; // override <ol> default + // Use the .carousel-control's width as margin so we don't overlay those + margin-right: $carousel-control-width; + margin-left: $carousel-control-width; + list-style: none; + + li { + box-sizing: content-box; + flex: 0 1 auto; + width: $carousel-indicator-width; + height: $carousel-indicator-height; + margin-right: $carousel-indicator-spacer; + margin-left: $carousel-indicator-spacer; + text-indent: -999px; + cursor: pointer; + background-color: $carousel-indicator-active-bg; + background-clip: padding-box; + // Use transparent borders to increase the hit area by 10px on top and bottom. + border-top: $carousel-indicator-hit-area-height solid transparent; + border-bottom: $carousel-indicator-hit-area-height solid transparent; + opacity: .5; + @include transition($carousel-indicator-transition); + } + + .active { + opacity: 1; + } +} + + +// Optional captions +// +// + +.carousel-caption { + position: absolute; + right: (100% - $carousel-caption-width) / 2; + bottom: 20px; + left: (100% - $carousel-caption-width) / 2; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: $carousel-caption-color; + text-align: center; +} diff --git a/_scss/bootstrap/_close.scss b/_scss/bootstrap/_close.scss new file mode 100644 index 0000000000000000000000000000000000000000..071aebe80ffc28d77de31b3acfc2ff34588f5009 --- /dev/null +++ b/_scss/bootstrap/_close.scss @@ -0,0 +1,41 @@ +.close { + float: right; + @include font-size($close-font-size); + font-weight: $close-font-weight; + line-height: 1; + color: $close-color; + text-shadow: $close-text-shadow; + opacity: .5; + + // Override <a>'s hover style + @include hover() { + color: $close-color; + text-decoration: none; + } + + &:not(:disabled):not(.disabled) { + @include hover-focus() { + opacity: .75; + } + } +} + +// Additional properties for button version +// iOS requires the button element instead of an anchor tag. +// If you want the anchor version, it requires `href="#"`. +// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile + +// stylelint-disable-next-line selector-no-qualifying-type +button.close { + padding: 0; + background-color: transparent; + border: 0; + appearance: none; +} + +// Future-proof disabling of clicks on `<a>` elements + +// stylelint-disable-next-line selector-no-qualifying-type +a.close.disabled { + pointer-events: none; +} diff --git a/_scss/bootstrap/_code.scss b/_scss/bootstrap/_code.scss new file mode 100644 index 0000000000000000000000000000000000000000..4bc117a96ded11b5a573d236817ec9cafc6fdb18 --- /dev/null +++ b/_scss/bootstrap/_code.scss @@ -0,0 +1,48 @@ +// Inline code +code { + @include font-size($code-font-size); + color: $code-color; + word-wrap: break-word; + + // Streamline the style when inside anchors to avoid broken underline and more + a > & { + color: inherit; + } +} + +// User input typically entered via keyboard +kbd { + padding: $kbd-padding-y $kbd-padding-x; + @include font-size($kbd-font-size); + color: $kbd-color; + background-color: $kbd-bg; + @include border-radius($border-radius-sm); + @include box-shadow($kbd-box-shadow); + + kbd { + padding: 0; + @include font-size(100%); + font-weight: $nested-kbd-font-weight; + @include box-shadow(none); + } +} + +// Blocks of code +pre { + display: block; + @include font-size($code-font-size); + color: $pre-color; + + // Account for some code outputs that place code tags in pre tags + code { + @include font-size(inherit); + color: inherit; + word-break: normal; + } +} + +// Enable scrollable blocks of code +.pre-scrollable { + max-height: $pre-scrollable-max-height; + overflow-y: scroll; +} diff --git a/_scss/bootstrap/_custom-forms.scss b/_scss/bootstrap/_custom-forms.scss new file mode 100644 index 0000000000000000000000000000000000000000..21e72da7dda5eebde29760cb1cbd72c399def11e --- /dev/null +++ b/_scss/bootstrap/_custom-forms.scss @@ -0,0 +1,521 @@ +// Embedded icons from Open Iconic. +// Released under MIT and copyright 2014 Waybury. +// https://useiconic.com/open + + +// Checkboxes and radios +// +// Base class takes care of all the key behavioral aspects. + +.custom-control { + position: relative; + display: block; + min-height: $font-size-base * $line-height-base; + padding-left: $custom-control-gutter + $custom-control-indicator-size; +} + +.custom-control-inline { + display: inline-flex; + margin-right: $custom-control-spacer-x; +} + +.custom-control-input { + position: absolute; + left: 0; + z-index: -1; // Put the input behind the label so it doesn't overlay text + width: $custom-control-indicator-size; + height: ($font-size-base * $line-height-base + $custom-control-indicator-size) / 2; + opacity: 0; + + &:checked ~ .custom-control-label::before { + color: $custom-control-indicator-checked-color; + border-color: $custom-control-indicator-checked-border-color; + @include gradient-bg($custom-control-indicator-checked-bg); + @include box-shadow($custom-control-indicator-checked-box-shadow); + } + + &:focus ~ .custom-control-label::before { + // the mixin is not used here to make sure there is feedback + @if $enable-shadows { + box-shadow: $input-box-shadow, $input-focus-box-shadow; + } @else { + box-shadow: $custom-control-indicator-focus-box-shadow; + } + } + + &:focus:not(:checked) ~ .custom-control-label::before { + border-color: $custom-control-indicator-focus-border-color; + } + + &:not(:disabled):active ~ .custom-control-label::before { + color: $custom-control-indicator-active-color; + background-color: $custom-control-indicator-active-bg; + border-color: $custom-control-indicator-active-border-color; + @include box-shadow($custom-control-indicator-active-box-shadow); + } + + // Use [disabled] and :disabled to work around https://github.com/twbs/bootstrap/issues/28247 + &[disabled], + &:disabled { + ~ .custom-control-label { + color: $custom-control-label-disabled-color; + + &::before { + background-color: $custom-control-indicator-disabled-bg; + } + } + } +} + +// Custom control indicators +// +// Build the custom controls out of pseudo-elements. + +.custom-control-label { + position: relative; + margin-bottom: 0; + color: $custom-control-label-color; + vertical-align: top; + cursor: $custom-control-cursor; + + // Background-color and (when enabled) gradient + &::before { + position: absolute; + top: ($font-size-base * $line-height-base - $custom-control-indicator-size) / 2; + left: -($custom-control-gutter + $custom-control-indicator-size); + display: block; + width: $custom-control-indicator-size; + height: $custom-control-indicator-size; + pointer-events: none; + content: ""; + background-color: $custom-control-indicator-bg; + border: $custom-control-indicator-border-color solid $custom-control-indicator-border-width; + @include box-shadow($custom-control-indicator-box-shadow); + } + + // Foreground (icon) + &::after { + position: absolute; + top: ($font-size-base * $line-height-base - $custom-control-indicator-size) / 2; + left: -($custom-control-gutter + $custom-control-indicator-size); + display: block; + width: $custom-control-indicator-size; + height: $custom-control-indicator-size; + content: ""; + background: no-repeat 50% / #{$custom-control-indicator-bg-size}; + } +} + + +// Checkboxes +// +// Tweak just a few things for checkboxes. + +.custom-checkbox { + .custom-control-label::before { + @include border-radius($custom-checkbox-indicator-border-radius); + } + + .custom-control-input:checked ~ .custom-control-label { + &::after { + background-image: escape-svg($custom-checkbox-indicator-icon-checked); + } + } + + .custom-control-input:indeterminate ~ .custom-control-label { + &::before { + border-color: $custom-checkbox-indicator-indeterminate-border-color; + @include gradient-bg($custom-checkbox-indicator-indeterminate-bg); + @include box-shadow($custom-checkbox-indicator-indeterminate-box-shadow); + } + &::after { + background-image: escape-svg($custom-checkbox-indicator-icon-indeterminate); + } + } + + .custom-control-input:disabled { + &:checked ~ .custom-control-label::before { + background-color: $custom-control-indicator-checked-disabled-bg; + } + &:indeterminate ~ .custom-control-label::before { + background-color: $custom-control-indicator-checked-disabled-bg; + } + } +} + +// Radios +// +// Tweak just a few things for radios. + +.custom-radio { + .custom-control-label::before { + // stylelint-disable-next-line property-blacklist + border-radius: $custom-radio-indicator-border-radius; + } + + .custom-control-input:checked ~ .custom-control-label { + &::after { + background-image: escape-svg($custom-radio-indicator-icon-checked); + } + } + + .custom-control-input:disabled { + &:checked ~ .custom-control-label::before { + background-color: $custom-control-indicator-checked-disabled-bg; + } + } +} + + +// switches +// +// Tweak a few things for switches + +.custom-switch { + padding-left: $custom-switch-width + $custom-control-gutter; + + .custom-control-label { + &::before { + left: -($custom-switch-width + $custom-control-gutter); + width: $custom-switch-width; + pointer-events: all; + // stylelint-disable-next-line property-blacklist + border-radius: $custom-switch-indicator-border-radius; + } + + &::after { + top: add(($font-size-base * $line-height-base - $custom-control-indicator-size) / 2, $custom-control-indicator-border-width * 2); + left: add(-($custom-switch-width + $custom-control-gutter), $custom-control-indicator-border-width * 2); + width: $custom-switch-indicator-size; + height: $custom-switch-indicator-size; + background-color: $custom-control-indicator-border-color; + // stylelint-disable-next-line property-blacklist + border-radius: $custom-switch-indicator-border-radius; + @include transition(transform .15s ease-in-out, $custom-forms-transition); + } + } + + .custom-control-input:checked ~ .custom-control-label { + &::after { + background-color: $custom-control-indicator-bg; + transform: translateX($custom-switch-width - $custom-control-indicator-size); + } + } + + .custom-control-input:disabled { + &:checked ~ .custom-control-label::before { + background-color: $custom-control-indicator-checked-disabled-bg; + } + } +} + + +// Select +// +// Replaces the browser default select with a custom one, mostly pulled from +// https://primer.github.io/. +// + +.custom-select { + display: inline-block; + width: 100%; + height: $custom-select-height; + padding: $custom-select-padding-y ($custom-select-padding-x + $custom-select-indicator-padding) $custom-select-padding-y $custom-select-padding-x; + font-family: $custom-select-font-family; + @include font-size($custom-select-font-size); + font-weight: $custom-select-font-weight; + line-height: $custom-select-line-height; + color: $custom-select-color; + vertical-align: middle; + background: $custom-select-bg $custom-select-background; + border: $custom-select-border-width solid $custom-select-border-color; + @include border-radius($custom-select-border-radius, 0); + @include box-shadow($custom-select-box-shadow); + appearance: none; + + &:focus { + border-color: $custom-select-focus-border-color; + outline: 0; + @if $enable-shadows { + box-shadow: $custom-select-box-shadow, $custom-select-focus-box-shadow; + } @else { + box-shadow: $custom-select-focus-box-shadow; + } + + &::-ms-value { + // For visual consistency with other platforms/browsers, + // suppress the default white text on blue background highlight given to + // the selected option text when the (still closed) <select> receives focus + // in IE and (under certain conditions) Edge. + // See https://github.com/twbs/bootstrap/issues/19398. + color: $input-color; + background-color: $input-bg; + } + } + + &[multiple], + &[size]:not([size="1"]) { + height: auto; + padding-right: $custom-select-padding-x; + background-image: none; + } + + &:disabled { + color: $custom-select-disabled-color; + background-color: $custom-select-disabled-bg; + } + + // Hides the default caret in IE11 + &::-ms-expand { + display: none; + } + + // Remove outline from select box in FF + &:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 $custom-select-color; + } +} + +.custom-select-sm { + height: $custom-select-height-sm; + padding-top: $custom-select-padding-y-sm; + padding-bottom: $custom-select-padding-y-sm; + padding-left: $custom-select-padding-x-sm; + @include font-size($custom-select-font-size-sm); +} + +.custom-select-lg { + height: $custom-select-height-lg; + padding-top: $custom-select-padding-y-lg; + padding-bottom: $custom-select-padding-y-lg; + padding-left: $custom-select-padding-x-lg; + @include font-size($custom-select-font-size-lg); +} + + +// File +// +// Custom file input. + +.custom-file { + position: relative; + display: inline-block; + width: 100%; + height: $custom-file-height; + margin-bottom: 0; +} + +.custom-file-input { + position: relative; + z-index: 2; + width: 100%; + height: $custom-file-height; + margin: 0; + opacity: 0; + + &:focus ~ .custom-file-label { + border-color: $custom-file-focus-border-color; + box-shadow: $custom-file-focus-box-shadow; + } + + // Use [disabled] and :disabled to work around https://github.com/twbs/bootstrap/issues/28247 + &[disabled] ~ .custom-file-label, + &:disabled ~ .custom-file-label { + background-color: $custom-file-disabled-bg; + } + + @each $lang, $value in $custom-file-text { + &:lang(#{$lang}) ~ .custom-file-label::after { + content: $value; + } + } + + ~ .custom-file-label[data-browse]::after { + content: attr(data-browse); + } +} + +.custom-file-label { + position: absolute; + top: 0; + right: 0; + left: 0; + z-index: 1; + height: $custom-file-height; + padding: $custom-file-padding-y $custom-file-padding-x; + font-family: $custom-file-font-family; + font-weight: $custom-file-font-weight; + line-height: $custom-file-line-height; + color: $custom-file-color; + background-color: $custom-file-bg; + border: $custom-file-border-width solid $custom-file-border-color; + @include border-radius($custom-file-border-radius); + @include box-shadow($custom-file-box-shadow); + + &::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + z-index: 3; + display: block; + height: $custom-file-height-inner; + padding: $custom-file-padding-y $custom-file-padding-x; + line-height: $custom-file-line-height; + color: $custom-file-button-color; + content: "Browse"; + @include gradient-bg($custom-file-button-bg); + border-left: inherit; + @include border-radius(0 $custom-file-border-radius $custom-file-border-radius 0); + } +} + +// Range +// +// Style range inputs the same across browsers. Vendor-specific rules for pseudo +// elements cannot be mixed. As such, there are no shared styles for focus or +// active states on prefixed selectors. + +.custom-range { + width: 100%; + height: add($custom-range-thumb-height, $custom-range-thumb-focus-box-shadow-width * 2); + padding: 0; // Need to reset padding + background-color: transparent; + appearance: none; + + &:focus { + outline: none; + + // Pseudo-elements must be split across multiple rulesets to have an effect. + // No box-shadow() mixin for focus accessibility. + &::-webkit-slider-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; } + &::-moz-range-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; } + &::-ms-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; } + } + + &::-moz-focus-outer { + border: 0; + } + + &::-webkit-slider-thumb { + width: $custom-range-thumb-width; + height: $custom-range-thumb-height; + margin-top: ($custom-range-track-height - $custom-range-thumb-height) / 2; // Webkit specific + @include gradient-bg($custom-range-thumb-bg); + border: $custom-range-thumb-border; + @include border-radius($custom-range-thumb-border-radius); + @include box-shadow($custom-range-thumb-box-shadow); + @include transition($custom-forms-transition); + appearance: none; + + &:active { + @include gradient-bg($custom-range-thumb-active-bg); + } + } + + &::-webkit-slider-runnable-track { + width: $custom-range-track-width; + height: $custom-range-track-height; + color: transparent; // Why? + cursor: $custom-range-track-cursor; + background-color: $custom-range-track-bg; + border-color: transparent; + @include border-radius($custom-range-track-border-radius); + @include box-shadow($custom-range-track-box-shadow); + } + + &::-moz-range-thumb { + width: $custom-range-thumb-width; + height: $custom-range-thumb-height; + @include gradient-bg($custom-range-thumb-bg); + border: $custom-range-thumb-border; + @include border-radius($custom-range-thumb-border-radius); + @include box-shadow($custom-range-thumb-box-shadow); + @include transition($custom-forms-transition); + appearance: none; + + &:active { + @include gradient-bg($custom-range-thumb-active-bg); + } + } + + &::-moz-range-track { + width: $custom-range-track-width; + height: $custom-range-track-height; + color: transparent; + cursor: $custom-range-track-cursor; + background-color: $custom-range-track-bg; + border-color: transparent; // Firefox specific? + @include border-radius($custom-range-track-border-radius); + @include box-shadow($custom-range-track-box-shadow); + } + + &::-ms-thumb { + width: $custom-range-thumb-width; + height: $custom-range-thumb-height; + margin-top: 0; // Edge specific + margin-right: $custom-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden. + margin-left: $custom-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden. + @include gradient-bg($custom-range-thumb-bg); + border: $custom-range-thumb-border; + @include border-radius($custom-range-thumb-border-radius); + @include box-shadow($custom-range-thumb-box-shadow); + @include transition($custom-forms-transition); + appearance: none; + + &:active { + @include gradient-bg($custom-range-thumb-active-bg); + } + } + + &::-ms-track { + width: $custom-range-track-width; + height: $custom-range-track-height; + color: transparent; + cursor: $custom-range-track-cursor; + background-color: transparent; + border-color: transparent; + border-width: $custom-range-thumb-height / 2; + @include box-shadow($custom-range-track-box-shadow); + } + + &::-ms-fill-lower { + background-color: $custom-range-track-bg; + @include border-radius($custom-range-track-border-radius); + } + + &::-ms-fill-upper { + margin-right: 15px; // arbitrary? + background-color: $custom-range-track-bg; + @include border-radius($custom-range-track-border-radius); + } + + &:disabled { + &::-webkit-slider-thumb { + background-color: $custom-range-thumb-disabled-bg; + } + + &::-webkit-slider-runnable-track { + cursor: default; + } + + &::-moz-range-thumb { + background-color: $custom-range-thumb-disabled-bg; + } + + &::-moz-range-track { + cursor: default; + } + + &::-ms-thumb { + background-color: $custom-range-thumb-disabled-bg; + } + } +} + +.custom-control-label::before, +.custom-file-label, +.custom-select { + @include transition($custom-forms-transition); +} diff --git a/_scss/bootstrap/_dropdown.scss b/_scss/bootstrap/_dropdown.scss new file mode 100644 index 0000000000000000000000000000000000000000..76f33a4fd80c549fcfdacd07f642b0e55e066650 --- /dev/null +++ b/_scss/bootstrap/_dropdown.scss @@ -0,0 +1,191 @@ +// The dropdown wrapper (`<div>`) +.dropup, +.dropright, +.dropdown, +.dropleft { + position: relative; +} + +.dropdown-toggle { + white-space: nowrap; + + // Generate the caret automatically + @include caret(); +} + +// The dropdown menu +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: $zindex-dropdown; + display: none; // none by default, but block on "open" of the menu + float: left; + min-width: $dropdown-min-width; + padding: $dropdown-padding-y 0; + margin: $dropdown-spacer 0 0; // override default ul + @include font-size($dropdown-font-size); + color: $dropdown-color; + text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer) + list-style: none; + background-color: $dropdown-bg; + background-clip: padding-box; + border: $dropdown-border-width solid $dropdown-border-color; + @include border-radius($dropdown-border-radius); + @include box-shadow($dropdown-box-shadow); +} + +@each $breakpoint in map-keys($grid-breakpoints) { + @include media-breakpoint-up($breakpoint) { + $infix: breakpoint-infix($breakpoint, $grid-breakpoints); + + .dropdown-menu#{$infix}-left { + right: auto; + left: 0; + } + + .dropdown-menu#{$infix}-right { + right: 0; + left: auto; + } + } +} + +// Allow for dropdowns to go bottom up (aka, dropup-menu) +// Just add .dropup after the standard .dropdown class and you're set. +.dropup { + .dropdown-menu { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: $dropdown-spacer; + } + + .dropdown-toggle { + @include caret(up); + } +} + +.dropright { + .dropdown-menu { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: $dropdown-spacer; + } + + .dropdown-toggle { + @include caret(right); + &::after { + vertical-align: 0; + } + } +} + +.dropleft { + .dropdown-menu { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: $dropdown-spacer; + } + + .dropdown-toggle { + @include caret(left); + &::before { + vertical-align: 0; + } + } +} + +// When enabled Popper.js, reset basic dropdown position +// stylelint-disable-next-line no-duplicate-selectors +.dropdown-menu { + &[x-placement^="top"], + &[x-placement^="right"], + &[x-placement^="bottom"], + &[x-placement^="left"] { + right: auto; + bottom: auto; + } +} + +// Dividers (basically an `<hr>`) within the dropdown +.dropdown-divider { + @include nav-divider($dropdown-divider-bg, $dropdown-divider-margin-y, true); +} + +// Links, buttons, and more within the dropdown menu +// +// `<button>`-specific styles are denoted with `// For <button>s` +.dropdown-item { + display: block; + width: 100%; // For `<button>`s + padding: $dropdown-item-padding-y $dropdown-item-padding-x; + clear: both; + font-weight: $font-weight-normal; + color: $dropdown-link-color; + text-align: inherit; // For `<button>`s + white-space: nowrap; // prevent links from randomly breaking onto new lines + background-color: transparent; // For `<button>`s + border: 0; // For `<button>`s + + // Prevent dropdown overflow if there's no padding + // See https://github.com/twbs/bootstrap/pull/27703 + @if $dropdown-padding-y == 0 { + &:first-child { + @include border-top-radius($dropdown-inner-border-radius); + } + + &:last-child { + @include border-bottom-radius($dropdown-inner-border-radius); + } + } + + @include hover-focus() { + color: $dropdown-link-hover-color; + text-decoration: none; + @include gradient-bg($dropdown-link-hover-bg); + } + + &.active, + &:active { + color: $dropdown-link-active-color; + text-decoration: none; + @include gradient-bg($dropdown-link-active-bg); + } + + &.disabled, + &:disabled { + color: $dropdown-link-disabled-color; + pointer-events: none; + background-color: transparent; + // Remove CSS gradients if they're enabled + @if $enable-gradients { + background-image: none; + } + } +} + +.dropdown-menu.show { + display: block; +} + +// Dropdown section headers +.dropdown-header { + display: block; + padding: $dropdown-padding-y $dropdown-item-padding-x; + margin-bottom: 0; // for use with heading elements + @include font-size($font-size-sm); + color: $dropdown-header-color; + white-space: nowrap; // as with > li > a +} + +// Dropdown text +.dropdown-item-text { + display: block; + padding: $dropdown-item-padding-y $dropdown-item-padding-x; + color: $dropdown-link-color; +} diff --git a/_scss/bootstrap/_forms.scss b/_scss/bootstrap/_forms.scss new file mode 100644 index 0000000000000000000000000000000000000000..b2edb7b27bcbfa9685c2549d2c0b9ddb06eb80c1 --- /dev/null +++ b/_scss/bootstrap/_forms.scss @@ -0,0 +1,338 @@ +// stylelint-disable selector-no-qualifying-type + +// +// Textual form controls +// + +.form-control { + display: block; + width: 100%; + height: $input-height; + padding: $input-padding-y $input-padding-x; + font-family: $input-font-family; + @include font-size($input-font-size); + font-weight: $input-font-weight; + line-height: $input-line-height; + color: $input-color; + background-color: $input-bg; + background-clip: padding-box; + border: $input-border-width solid $input-border-color; + + // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS. + @include border-radius($input-border-radius, 0); + + @include box-shadow($input-box-shadow); + @include transition($input-transition); + + // Unstyle the caret on `<select>`s in IE10+. + &::-ms-expand { + background-color: transparent; + border: 0; + } + + // Remove select outline from select box in FF + &:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 $input-color; + } + + // Customize the `:focus` state to imitate native WebKit styles. + @include form-control-focus($ignore-warning: true); + + // Placeholder + &::placeholder { + color: $input-placeholder-color; + // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526. + opacity: 1; + } + + // Disabled and read-only inputs + // + // HTML5 says that controls under a fieldset > legend:first-child won't be + // disabled if the fieldset is disabled. Due to implementation difficulty, we + // don't honor that edge case; we style them as disabled anyway. + &:disabled, + &[readonly] { + background-color: $input-disabled-bg; + // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655. + opacity: 1; + } +} + +select.form-control { + &:focus::-ms-value { + // Suppress the nested default white text on blue background highlight given to + // the selected option text when the (still closed) <select> receives focus + // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to + // match the appearance of the native widget. + // See https://github.com/twbs/bootstrap/issues/19398. + color: $input-color; + background-color: $input-bg; + } +} + +// Make file inputs better match text inputs by forcing them to new lines. +.form-control-file, +.form-control-range { + display: block; + width: 100%; +} + + +// +// Labels +// + +// For use with horizontal and inline forms, when you need the label (or legend) +// text to align with the form controls. +.col-form-label { + padding-top: add($input-padding-y, $input-border-width); + padding-bottom: add($input-padding-y, $input-border-width); + margin-bottom: 0; // Override the `<label>/<legend>` default + @include font-size(inherit); // Override the `<legend>` default + line-height: $input-line-height; +} + +.col-form-label-lg { + padding-top: add($input-padding-y-lg, $input-border-width); + padding-bottom: add($input-padding-y-lg, $input-border-width); + @include font-size($input-font-size-lg); + line-height: $input-line-height-lg; +} + +.col-form-label-sm { + padding-top: add($input-padding-y-sm, $input-border-width); + padding-bottom: add($input-padding-y-sm, $input-border-width); + @include font-size($input-font-size-sm); + line-height: $input-line-height-sm; +} + + +// Readonly controls as plain text +// +// Apply class to a readonly input to make it appear like regular plain +// text (without any border, background color, focus indicator) + +.form-control-plaintext { + display: block; + width: 100%; + padding: $input-padding-y 0; + margin-bottom: 0; // match inputs if this class comes on inputs with default margins + @include font-size($input-font-size); + line-height: $input-line-height; + color: $input-plaintext-color; + background-color: transparent; + border: solid transparent; + border-width: $input-border-width 0; + + &.form-control-sm, + &.form-control-lg { + padding-right: 0; + padding-left: 0; + } +} + + +// Form control sizing +// +// Build on `.form-control` with modifier classes to decrease or increase the +// height and font-size of form controls. +// +// Repeated in `_input_group.scss` to avoid Sass extend issues. + +.form-control-sm { + height: $input-height-sm; + padding: $input-padding-y-sm $input-padding-x-sm; + @include font-size($input-font-size-sm); + line-height: $input-line-height-sm; + @include border-radius($input-border-radius-sm); +} + +.form-control-lg { + height: $input-height-lg; + padding: $input-padding-y-lg $input-padding-x-lg; + @include font-size($input-font-size-lg); + line-height: $input-line-height-lg; + @include border-radius($input-border-radius-lg); +} + +// stylelint-disable-next-line no-duplicate-selectors +select.form-control { + &[size], + &[multiple] { + height: auto; + } +} + +textarea.form-control { + height: auto; +} + +// Form groups +// +// Designed to help with the organization and spacing of vertical forms. For +// horizontal forms, use the predefined grid classes. + +.form-group { + margin-bottom: $form-group-margin-bottom; +} + +.form-text { + display: block; + margin-top: $form-text-margin-top; +} + + +// Form grid +// +// Special replacement for our grid system's `.row` for tighter form layouts. + +.form-row { + display: flex; + flex-wrap: wrap; + margin-right: -$form-grid-gutter-width / 2; + margin-left: -$form-grid-gutter-width / 2; + + > .col, + > [class*="col-"] { + padding-right: $form-grid-gutter-width / 2; + padding-left: $form-grid-gutter-width / 2; + } +} + + +// Checkboxes and radios +// +// Indent the labels to position radios/checkboxes as hanging controls. + +.form-check { + position: relative; + display: block; + padding-left: $form-check-input-gutter; +} + +.form-check-input { + position: absolute; + margin-top: $form-check-input-margin-y; + margin-left: -$form-check-input-gutter; + + // Use [disabled] and :disabled for workaround https://github.com/twbs/bootstrap/issues/28247 + &[disabled] ~ .form-check-label, + &:disabled ~ .form-check-label { + color: $text-muted; + } +} + +.form-check-label { + margin-bottom: 0; // Override default `<label>` bottom margin +} + +.form-check-inline { + display: inline-flex; + align-items: center; + padding-left: 0; // Override base .form-check + margin-right: $form-check-inline-margin-x; + + // Undo .form-check-input defaults and add some `margin-right`. + .form-check-input { + position: static; + margin-top: 0; + margin-right: $form-check-inline-input-margin-x; + margin-left: 0; + } +} + + +// Form validation +// +// Provide feedback to users when form field values are valid or invalid. Works +// primarily for client-side validation via scoped `:invalid` and `:valid` +// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for +// server side validation. + +@each $state, $data in $form-validation-states { + @include form-validation-state($state, map-get($data, color), map-get($data, icon)); +} + +// Inline forms +// +// Make forms appear inline(-block) by adding the `.form-inline` class. Inline +// forms begin stacked on extra small (mobile) devices and then go inline when +// viewports reach <768px. +// +// Requires wrapping inputs and labels with `.form-group` for proper display of +// default HTML form controls and our custom form controls (e.g., input groups). + +.form-inline { + display: flex; + flex-flow: row wrap; + align-items: center; // Prevent shorter elements from growing to same height as others (e.g., small buttons growing to normal sized button height) + + // Because we use flex, the initial sizing of checkboxes is collapsed and + // doesn't occupy the full-width (which is what we want for xs grid tier), + // so we force that here. + .form-check { + width: 100%; + } + + // Kick in the inline + @include media-breakpoint-up(sm) { + label { + display: flex; + align-items: center; + justify-content: center; + margin-bottom: 0; + } + + // Inline-block all the things for "inline" + .form-group { + display: flex; + flex: 0 0 auto; + flex-flow: row wrap; + align-items: center; + margin-bottom: 0; + } + + // Allow folks to *not* use `.form-group` + .form-control { + display: inline-block; + width: auto; // Prevent labels from stacking above inputs in `.form-group` + vertical-align: middle; + } + + // Make static controls behave like regular ones + .form-control-plaintext { + display: inline-block; + } + + .input-group, + .custom-select { + width: auto; + } + + // Remove default margin on radios/checkboxes that were used for stacking, and + // then undo the floating of radios and checkboxes to match. + .form-check { + display: flex; + align-items: center; + justify-content: center; + width: auto; + padding-left: 0; + } + .form-check-input { + position: relative; + flex-shrink: 0; + margin-top: 0; + margin-right: $form-check-input-margin-x; + margin-left: 0; + } + + .custom-control { + align-items: center; + justify-content: center; + } + .custom-control-label { + margin-bottom: 0; + } + } +} diff --git a/_scss/bootstrap/_functions.scss b/_scss/bootstrap/_functions.scss new file mode 100644 index 0000000000000000000000000000000000000000..695e6cd2f8d78e4e1f751f1932173135434fdfba --- /dev/null +++ b/_scss/bootstrap/_functions.scss @@ -0,0 +1,134 @@ +// Bootstrap functions +// +// Utility mixins and functions for evaluating source code across our variables, maps, and mixins. + +// Ascending +// Used to evaluate Sass maps like our grid breakpoints. +@mixin _assert-ascending($map, $map-name) { + $prev-key: null; + $prev-num: null; + @each $key, $num in $map { + @if $prev-num == null or unit($num) == "%" or unit($prev-num) == "%" { + // Do nothing + } @else if not comparable($prev-num, $num) { + @warn "Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !"; + } @else if $prev-num >= $num { + @warn "Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !"; + } + $prev-key: $key; + $prev-num: $num; + } +} + +// Starts at zero +// Used to ensure the min-width of the lowest breakpoint starts at 0. +@mixin _assert-starts-at-zero($map, $map-name: "$grid-breakpoints") { + $values: map-values($map); + $first-value: nth($values, 1); + @if $first-value != 0 { + @warn "First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}."; + } +} + +// Replace `$search` with `$replace` in `$string` +// Used on our SVG icon backgrounds for custom forms. +// +// @author Hugo Giraudel +// @param {String} $string - Initial string +// @param {String} $search - Substring to replace +// @param {String} $replace ('') - New value +// @return {String} - Updated string +@function str-replace($string, $search, $replace: "") { + $index: str-index($string, $search); + + @if $index { + @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace); + } + + @return $string; +} + +// See https://codepen.io/kevinweber/pen/dXWoRw +@function escape-svg($string) { + @if str-index($string, "data:image/svg+xml") { + @each $char, $encoded in $escaped-characters { + $string: str-replace($string, $char, $encoded); + } + } + + @return $string; +} + +// Color contrast +@function color-yiq($color, $dark: $yiq-text-dark, $light: $yiq-text-light) { + $r: red($color); + $g: green($color); + $b: blue($color); + + $yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000; + + @if ($yiq >= $yiq-contrasted-threshold) { + @return $dark; + } @else { + @return $light; + } +} + +// Retrieve color Sass maps +@function color($key: "blue") { + @return map-get($colors, $key); +} + +@function theme-color($key: "primary") { + @return map-get($theme-colors, $key); +} + +@function gray($key: "100") { + @return map-get($grays, $key); +} + +// Request a theme color level +@function theme-color-level($color-name: "primary", $level: 0) { + $color: theme-color($color-name); + $color-base: if($level > 0, $black, $white); + $level: abs($level); + + @return mix($color-base, $color, $level * $theme-color-interval); +} + +// Return valid calc +@function add($value1, $value2, $return-calc: true) { + @if $value1 == null { + @return $value2; + } + + @if $value2 == null { + @return $value1; + } + + @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) { + @return $value1 + $value2; + } + + @return if($return-calc == true, calc(#{$value1} + #{$value2}), $value1 + unquote(" + ") + $value2); +} + +@function subtract($value1, $value2, $return-calc: true) { + @if $value1 == null and $value2 == null { + @return null; + } + + @if $value1 == null { + @return -$value2; + } + + @if $value2 == null { + @return $value1; + } + + @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) { + @return $value1 - $value2; + } + + @return if($return-calc == true, calc(#{$value1} - #{$value2}), $value1 + unquote(" - ") + $value2); +} diff --git a/_scss/bootstrap/_grid.scss b/_scss/bootstrap/_grid.scss new file mode 100644 index 0000000000000000000000000000000000000000..d36ee75d8874456f09700922ab5b6b2ceecdf44c --- /dev/null +++ b/_scss/bootstrap/_grid.scss @@ -0,0 +1,69 @@ +// Container widths +// +// Set the container width, and override it for fixed navbars in media queries. + +@if $enable-grid-classes { + // Single container class with breakpoint max-widths + .container { + @include make-container(); + @include make-container-max-widths(); + } + + // 100% wide container at all breakpoints + .container-fluid { + @include make-container(); + } + + // Responsive containers that are 100% wide until a breakpoint + @each $breakpoint, $container-max-width in $container-max-widths { + .container-#{$breakpoint} { + @extend .container-fluid; + } + + @include media-breakpoint-up($breakpoint, $grid-breakpoints) { + %responsive-container-#{$breakpoint} { + max-width: $container-max-width; + } + + @each $name, $width in $grid-breakpoints { + @if ($container-max-width > $width or $breakpoint == $name) { + .container#{breakpoint-infix($name, $grid-breakpoints)} { + @extend %responsive-container-#{$breakpoint}; + } + } + } + } + } +} + + +// Row +// +// Rows contain your columns. + +@if $enable-grid-classes { + .row { + @include make-row(); + } + + // Remove the negative margin from default .row, then the horizontal padding + // from all immediate children columns (to prevent runaway style inheritance). + .no-gutters { + margin-right: 0; + margin-left: 0; + + > .col, + > [class*="col-"] { + padding-right: 0; + padding-left: 0; + } + } +} + +// Columns +// +// Common styles for small and large grid columns + +@if $enable-grid-classes { + @include make-grid-columns(); +} diff --git a/_scss/bootstrap/_images.scss b/_scss/bootstrap/_images.scss new file mode 100644 index 0000000000000000000000000000000000000000..b11b45a37bb04e620d288b2434a9b66218870966 --- /dev/null +++ b/_scss/bootstrap/_images.scss @@ -0,0 +1,42 @@ +// Responsive images (ensure images don't scale beyond their parents) +// +// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s. +// We previously tried the "images are responsive by default" approach in Bootstrap v2, +// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps) +// which weren't expecting the images within themselves to be involuntarily resized. +// See also https://github.com/twbs/bootstrap/issues/18178 +.img-fluid { + @include img-fluid(); +} + + +// Image thumbnails +.img-thumbnail { + padding: $thumbnail-padding; + background-color: $thumbnail-bg; + border: $thumbnail-border-width solid $thumbnail-border-color; + @include border-radius($thumbnail-border-radius); + @include box-shadow($thumbnail-box-shadow); + + // Keep them at most 100% wide + @include img-fluid(); +} + +// +// Figures +// + +.figure { + // Ensures the caption's text aligns with the image. + display: inline-block; +} + +.figure-img { + margin-bottom: $spacer / 2; + line-height: 1; +} + +.figure-caption { + @include font-size($figure-caption-font-size); + color: $figure-caption-color; +} diff --git a/_scss/bootstrap/_input-group.scss b/_scss/bootstrap/_input-group.scss new file mode 100644 index 0000000000000000000000000000000000000000..bf69ddb41de894daaaffb979bccd16f79a4dc3c6 --- /dev/null +++ b/_scss/bootstrap/_input-group.scss @@ -0,0 +1,191 @@ +// stylelint-disable selector-no-qualifying-type + +// +// Base styles +// + +.input-group { + position: relative; + display: flex; + flex-wrap: wrap; // For form validation feedback + align-items: stretch; + width: 100%; + + > .form-control, + > .form-control-plaintext, + > .custom-select, + > .custom-file { + position: relative; // For focus state's z-index + flex: 1 1 0%; + min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size + margin-bottom: 0; + + + .form-control, + + .custom-select, + + .custom-file { + margin-left: -$input-border-width; + } + } + + // Bring the "active" form control to the top of surrounding elements + > .form-control:focus, + > .custom-select:focus, + > .custom-file .custom-file-input:focus ~ .custom-file-label { + z-index: 3; + } + + // Bring the custom file input above the label + > .custom-file .custom-file-input:focus { + z-index: 4; + } + + > .form-control, + > .custom-select { + &:not(:last-child) { @include border-right-radius(0); } + &:not(:first-child) { @include border-left-radius(0); } + } + + // Custom file inputs have more complex markup, thus requiring different + // border-radius overrides. + > .custom-file { + display: flex; + align-items: center; + + &:not(:last-child) .custom-file-label, + &:not(:last-child) .custom-file-label::after { @include border-right-radius(0); } + &:not(:first-child) .custom-file-label { @include border-left-radius(0); } + } +} + + +// Prepend and append +// +// While it requires one extra layer of HTML for each, dedicated prepend and +// append elements allow us to 1) be less clever, 2) simplify our selectors, and +// 3) support HTML5 form validation. + +.input-group-prepend, +.input-group-append { + display: flex; + + // Ensure buttons are always above inputs for more visually pleasing borders. + // This isn't needed for `.input-group-text` since it shares the same border-color + // as our inputs. + .btn { + position: relative; + z-index: 2; + + &:focus { + z-index: 3; + } + } + + .btn + .btn, + .btn + .input-group-text, + .input-group-text + .input-group-text, + .input-group-text + .btn { + margin-left: -$input-border-width; + } +} + +.input-group-prepend { margin-right: -$input-border-width; } +.input-group-append { margin-left: -$input-border-width; } + + +// Textual addons +// +// Serves as a catch-all element for any text or radio/checkbox input you wish +// to prepend or append to an input. + +.input-group-text { + display: flex; + align-items: center; + padding: $input-padding-y $input-padding-x; + margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom + @include font-size($input-font-size); // Match inputs + font-weight: $font-weight-normal; + line-height: $input-line-height; + color: $input-group-addon-color; + text-align: center; + white-space: nowrap; + background-color: $input-group-addon-bg; + border: $input-border-width solid $input-group-addon-border-color; + @include border-radius($input-border-radius); + + // Nuke default margins from checkboxes and radios to vertically center within. + input[type="radio"], + input[type="checkbox"] { + margin-top: 0; + } +} + + +// Sizing +// +// Remix the default form control sizing classes into new ones for easier +// manipulation. + +.input-group-lg > .form-control:not(textarea), +.input-group-lg > .custom-select { + height: $input-height-lg; +} + +.input-group-lg > .form-control, +.input-group-lg > .custom-select, +.input-group-lg > .input-group-prepend > .input-group-text, +.input-group-lg > .input-group-append > .input-group-text, +.input-group-lg > .input-group-prepend > .btn, +.input-group-lg > .input-group-append > .btn { + padding: $input-padding-y-lg $input-padding-x-lg; + @include font-size($input-font-size-lg); + line-height: $input-line-height-lg; + @include border-radius($input-border-radius-lg); +} + +.input-group-sm > .form-control:not(textarea), +.input-group-sm > .custom-select { + height: $input-height-sm; +} + +.input-group-sm > .form-control, +.input-group-sm > .custom-select, +.input-group-sm > .input-group-prepend > .input-group-text, +.input-group-sm > .input-group-append > .input-group-text, +.input-group-sm > .input-group-prepend > .btn, +.input-group-sm > .input-group-append > .btn { + padding: $input-padding-y-sm $input-padding-x-sm; + @include font-size($input-font-size-sm); + line-height: $input-line-height-sm; + @include border-radius($input-border-radius-sm); +} + +.input-group-lg > .custom-select, +.input-group-sm > .custom-select { + padding-right: $custom-select-padding-x + $custom-select-indicator-padding; +} + + +// Prepend and append rounded corners +// +// These rulesets must come after the sizing ones to properly override sm and lg +// border-radius values when extending. They're more specific than we'd like +// with the `.input-group >` part, but without it, we cannot override the sizing. + + +.input-group > .input-group-prepend > .btn, +.input-group > .input-group-prepend > .input-group-text, +.input-group > .input-group-append:not(:last-child) > .btn, +.input-group > .input-group-append:not(:last-child) > .input-group-text, +.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) { + @include border-right-radius(0); +} + +.input-group > .input-group-append > .btn, +.input-group > .input-group-append > .input-group-text, +.input-group > .input-group-prepend:not(:first-child) > .btn, +.input-group > .input-group-prepend:not(:first-child) > .input-group-text, +.input-group > .input-group-prepend:first-child > .btn:not(:first-child), +.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) { + @include border-left-radius(0); +} diff --git a/_scss/bootstrap/_jumbotron.scss b/_scss/bootstrap/_jumbotron.scss new file mode 100644 index 0000000000000000000000000000000000000000..bcd7dcad996db4ed4a1c8451f04f623a01cc069b --- /dev/null +++ b/_scss/bootstrap/_jumbotron.scss @@ -0,0 +1,17 @@ +.jumbotron { + padding: $jumbotron-padding ($jumbotron-padding / 2); + margin-bottom: $jumbotron-padding; + color: $jumbotron-color; + background-color: $jumbotron-bg; + @include border-radius($border-radius-lg); + + @include media-breakpoint-up(sm) { + padding: ($jumbotron-padding * 2) $jumbotron-padding; + } +} + +.jumbotron-fluid { + padding-right: 0; + padding-left: 0; + @include border-radius(0); +} diff --git a/_scss/bootstrap/_list-group.scss b/_scss/bootstrap/_list-group.scss new file mode 100644 index 0000000000000000000000000000000000000000..468c2e31acab61d406a5fe7338e7f2041dcff1cd --- /dev/null +++ b/_scss/bootstrap/_list-group.scss @@ -0,0 +1,158 @@ +// Base class +// +// Easily usable on <ul>, <ol>, or <div>. + +.list-group { + display: flex; + flex-direction: column; + + // No need to set list-style: none; since .list-group-item is block level + padding-left: 0; // reset padding because ul and ol + margin-bottom: 0; +} + + +// Interactive list items +// +// Use anchor or button elements instead of `li`s or `div`s to create interactive +// list items. Includes an extra `.active` modifier class for selected items. + +.list-group-item-action { + width: 100%; // For `<button>`s (anchors become 100% by default though) + color: $list-group-action-color; + text-align: inherit; // For `<button>`s (anchors inherit) + + // Hover state + @include hover-focus() { + z-index: 1; // Place hover/focus items above their siblings for proper border styling + color: $list-group-action-hover-color; + text-decoration: none; + background-color: $list-group-hover-bg; + } + + &:active { + color: $list-group-action-active-color; + background-color: $list-group-action-active-bg; + } +} + + +// Individual list items +// +// Use on `li`s or `div`s within the `.list-group` parent. + +.list-group-item { + position: relative; + display: block; + padding: $list-group-item-padding-y $list-group-item-padding-x; + color: $list-group-color; + background-color: $list-group-bg; + border: $list-group-border-width solid $list-group-border-color; + + &:first-child { + @include border-top-radius($list-group-border-radius); + } + + &:last-child { + @include border-bottom-radius($list-group-border-radius); + } + + &.disabled, + &:disabled { + color: $list-group-disabled-color; + pointer-events: none; + background-color: $list-group-disabled-bg; + } + + // Include both here for `<a>`s and `<button>`s + &.active { + z-index: 2; // Place active items above their siblings for proper border styling + color: $list-group-active-color; + background-color: $list-group-active-bg; + border-color: $list-group-active-border-color; + } + + & + & { + border-top-width: 0; + + &.active { + margin-top: -$list-group-border-width; + border-top-width: $list-group-border-width; + } + } +} + + +// Horizontal +// +// Change the layout of list group items from vertical (default) to horizontal. + +@each $breakpoint in map-keys($grid-breakpoints) { + @include media-breakpoint-up($breakpoint) { + $infix: breakpoint-infix($breakpoint, $grid-breakpoints); + + .list-group-horizontal#{$infix} { + flex-direction: row; + + .list-group-item { + &:first-child { + @include border-bottom-left-radius($list-group-border-radius); + @include border-top-right-radius(0); + } + + &:last-child { + @include border-top-right-radius($list-group-border-radius); + @include border-bottom-left-radius(0); + } + + &.active { + margin-top: 0; + } + + & + .list-group-item { + border-top-width: $list-group-border-width; + border-left-width: 0; + + &.active { + margin-left: -$list-group-border-width; + border-left-width: $list-group-border-width; + } + } + } + } + } +} + + +// Flush list items +// +// Remove borders and border-radius to keep list group items edge-to-edge. Most +// useful within other components (e.g., cards). + +.list-group-flush { + .list-group-item { + border-right-width: 0; + border-left-width: 0; + @include border-radius(0); + + &:first-child { + border-top-width: 0; + } + } + + &:last-child { + .list-group-item:last-child { + border-bottom-width: 0; + } + } +} + + +// Contextual variants +// +// Add modifier classes to change text and background color on individual items. +// Organizationally, this must come after the `:hover` states. + +@each $color, $value in $theme-colors { + @include list-group-item-variant($color, theme-color-level($color, -9), theme-color-level($color, 6)); +} diff --git a/_scss/bootstrap/_media.scss b/_scss/bootstrap/_media.scss new file mode 100644 index 0000000000000000000000000000000000000000..b573052c14affa5bdca02ac9e3e7a4168768925b --- /dev/null +++ b/_scss/bootstrap/_media.scss @@ -0,0 +1,8 @@ +.media { + display: flex; + align-items: flex-start; +} + +.media-body { + flex: 1; +} diff --git a/_scss/bootstrap/_mixins.scss b/_scss/bootstrap/_mixins.scss new file mode 100644 index 0000000000000000000000000000000000000000..7e7a23d254e969b14ee8aeb4c6ce228ede2ef658 --- /dev/null +++ b/_scss/bootstrap/_mixins.scss @@ -0,0 +1,47 @@ +// Toggles +// +// Used in conjunction with global variables to enable certain theme features. + +// Vendor +@import "vendor/rfs"; + +// Deprecate +@import "mixins/deprecate"; + +// Utilities +@import "mixins/breakpoints"; +@import "mixins/hover"; +@import "mixins/image"; +@import "mixins/badge"; +@import "mixins/resize"; +@import "mixins/screen-reader"; +@import "mixins/size"; +@import "mixins/reset-text"; +@import "mixins/text-emphasis"; +@import "mixins/text-hide"; +@import "mixins/text-truncate"; +@import "mixins/visibility"; + +// Components +@import "mixins/alert"; +@import "mixins/buttons"; +@import "mixins/caret"; +@import "mixins/pagination"; +@import "mixins/lists"; +@import "mixins/list-group"; +@import "mixins/nav-divider"; +@import "mixins/forms"; +@import "mixins/table-row"; + +// Skins +@import "mixins/background-variant"; +@import "mixins/border-radius"; +@import "mixins/box-shadow"; +@import "mixins/gradients"; +@import "mixins/transition"; + +// Layout +@import "mixins/clearfix"; +@import "mixins/grid-framework"; +@import "mixins/grid"; +@import "mixins/float"; diff --git a/_scss/bootstrap/_modal.scss b/_scss/bootstrap/_modal.scss new file mode 100644 index 0000000000000000000000000000000000000000..9053c173f8c3894c56f61c736071ab7a61230313 --- /dev/null +++ b/_scss/bootstrap/_modal.scss @@ -0,0 +1,239 @@ +// .modal-open - body class for killing the scroll +// .modal - container to scroll within +// .modal-dialog - positioning shell for the actual modal +// .modal-content - actual modal w/ bg and corners and stuff + + +.modal-open { + // Kill the scroll on the body + overflow: hidden; + + .modal { + overflow-x: hidden; + overflow-y: auto; + } +} + +// Container that the modal scrolls within +.modal { + position: fixed; + top: 0; + left: 0; + z-index: $zindex-modal; + display: none; + width: 100%; + height: 100%; + overflow: hidden; + // Prevent Chrome on Windows from adding a focus outline. For details, see + // https://github.com/twbs/bootstrap/pull/10951. + outline: 0; + // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a + // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342 + // See also https://github.com/twbs/bootstrap/issues/17695 +} + +// Shell div to position the modal with bottom padding +.modal-dialog { + position: relative; + width: auto; + margin: $modal-dialog-margin; + // allow clicks to pass through for custom click handling to close modal + pointer-events: none; + + // When fading in the modal, animate it to slide down + .modal.fade & { + @include transition($modal-transition); + transform: $modal-fade-transform; + } + .modal.show & { + transform: $modal-show-transform; + } + + // When trying to close, animate focus to scale + .modal.modal-static & { + transform: $modal-scale-transform; + } +} + +.modal-dialog-scrollable { + display: flex; // IE10/11 + max-height: subtract(100%, $modal-dialog-margin * 2); + + .modal-content { + max-height: subtract(100vh, $modal-dialog-margin * 2); // IE10/11 + overflow: hidden; + } + + .modal-header, + .modal-footer { + flex-shrink: 0; + } + + .modal-body { + overflow-y: auto; + } +} + +.modal-dialog-centered { + display: flex; + align-items: center; + min-height: subtract(100%, $modal-dialog-margin * 2); + + // Ensure `modal-dialog-centered` extends the full height of the view (IE10/11) + &::before { + display: block; // IE10 + height: subtract(100vh, $modal-dialog-margin * 2); + content: ""; + } + + // Ensure `.modal-body` shows scrollbar (IE10/11) + &.modal-dialog-scrollable { + flex-direction: column; + justify-content: center; + height: 100%; + + .modal-content { + max-height: none; + } + + &::before { + content: none; + } + } +} + +// Actual modal +.modal-content { + position: relative; + display: flex; + flex-direction: column; + width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog` + // counteract the pointer-events: none; in the .modal-dialog + color: $modal-content-color; + pointer-events: auto; + background-color: $modal-content-bg; + background-clip: padding-box; + border: $modal-content-border-width solid $modal-content-border-color; + @include border-radius($modal-content-border-radius); + @include box-shadow($modal-content-box-shadow-xs); + // Remove focus outline from opened modal + outline: 0; +} + +// Modal background +.modal-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: $zindex-modal-backdrop; + width: 100vw; + height: 100vh; + background-color: $modal-backdrop-bg; + + // Fade for backdrop + &.fade { opacity: 0; } + &.show { opacity: $modal-backdrop-opacity; } +} + +// Modal header +// Top section of the modal w/ title and dismiss +.modal-header { + display: flex; + align-items: flex-start; // so the close btn always stays on the upper right corner + justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends + padding: $modal-header-padding; + border-bottom: $modal-header-border-width solid $modal-header-border-color; + @include border-top-radius($modal-content-inner-border-radius); + + .close { + padding: $modal-header-padding; + // auto on the left force icon to the right even when there is no .modal-title + margin: (-$modal-header-padding-y) (-$modal-header-padding-x) (-$modal-header-padding-y) auto; + } +} + +// Title text within header +.modal-title { + margin-bottom: 0; + line-height: $modal-title-line-height; +} + +// Modal body +// Where all modal content resides (sibling of .modal-header and .modal-footer) +.modal-body { + position: relative; + // Enable `flex-grow: 1` so that the body take up as much space as possible + // when there should be a fixed height on `.modal-dialog`. + flex: 1 1 auto; + padding: $modal-inner-padding; +} + +// Footer (for actions) +.modal-footer { + display: flex; + flex-wrap: wrap; + align-items: center; // vertically center + justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items + padding: $modal-inner-padding - $modal-footer-margin-between / 2; + border-top: $modal-footer-border-width solid $modal-footer-border-color; + @include border-bottom-radius($modal-content-inner-border-radius); + + // Place margin between footer elements + // This solution is far from ideal because of the universal selector usage, + // but is needed to fix https://github.com/twbs/bootstrap/issues/24800 + // stylelint-disable-next-line selector-max-universal + > * { + margin: $modal-footer-margin-between / 2; + } +} + +// Measure scrollbar width for padding body during modal show/hide +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} + +// Scale up the modal +@include media-breakpoint-up(sm) { + // Automatically set modal's width for larger viewports + .modal-dialog { + max-width: $modal-md; + margin: $modal-dialog-margin-y-sm-up auto; + } + + .modal-dialog-scrollable { + max-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2); + + .modal-content { + max-height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2); + } + } + + .modal-dialog-centered { + min-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2); + + &::before { + height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2); + } + } + + .modal-content { + @include box-shadow($modal-content-box-shadow-sm-up); + } + + .modal-sm { max-width: $modal-sm; } +} + +@include media-breakpoint-up(lg) { + .modal-lg, + .modal-xl { + max-width: $modal-lg; + } +} + +@include media-breakpoint-up(xl) { + .modal-xl { max-width: $modal-xl; } +} diff --git a/_scss/bootstrap/_nav.scss b/_scss/bootstrap/_nav.scss new file mode 100644 index 0000000000000000000000000000000000000000..667d68272150978b29599d69e52bb72c9854a9cc --- /dev/null +++ b/_scss/bootstrap/_nav.scss @@ -0,0 +1,120 @@ +// Base class +// +// Kickstart any navigation component with a set of style resets. Works with +// `<nav>`s, `<ul>`s or `<ol>`s. + +.nav { + display: flex; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.nav-link { + display: block; + padding: $nav-link-padding-y $nav-link-padding-x; + + @include hover-focus() { + text-decoration: none; + } + + // Disabled state lightens text + &.disabled { + color: $nav-link-disabled-color; + pointer-events: none; + cursor: default; + } +} + +// +// Tabs +// + +.nav-tabs { + border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color; + + .nav-item { + margin-bottom: -$nav-tabs-border-width; + } + + .nav-link { + border: $nav-tabs-border-width solid transparent; + @include border-top-radius($nav-tabs-border-radius); + + @include hover-focus() { + border-color: $nav-tabs-link-hover-border-color; + } + + &.disabled { + color: $nav-link-disabled-color; + background-color: transparent; + border-color: transparent; + } + } + + .nav-link.active, + .nav-item.show .nav-link { + color: $nav-tabs-link-active-color; + background-color: $nav-tabs-link-active-bg; + border-color: $nav-tabs-link-active-border-color; + } + + .dropdown-menu { + // Make dropdown border overlap tab border + margin-top: -$nav-tabs-border-width; + // Remove the top rounded corners here since there is a hard edge above the menu + @include border-top-radius(0); + } +} + + +// +// Pills +// + +.nav-pills { + .nav-link { + @include border-radius($nav-pills-border-radius); + } + + .nav-link.active, + .show > .nav-link { + color: $nav-pills-link-active-color; + background-color: $nav-pills-link-active-bg; + } +} + + +// +// Justified variants +// + +.nav-fill { + .nav-item { + flex: 1 1 auto; + text-align: center; + } +} + +.nav-justified { + .nav-item { + flex-basis: 0; + flex-grow: 1; + text-align: center; + } +} + + +// Tabbable tabs +// +// Hide tabbable panes to start, show them when `.active` + +.tab-content { + > .tab-pane { + display: none; + } + > .active { + display: block; + } +} diff --git a/_scss/bootstrap/_navbar.scss b/_scss/bootstrap/_navbar.scss new file mode 100644 index 0000000000000000000000000000000000000000..5f10a62f14491976eba190d266dcaff76e071874 --- /dev/null +++ b/_scss/bootstrap/_navbar.scss @@ -0,0 +1,324 @@ +// Contents +// +// Navbar +// Navbar brand +// Navbar nav +// Navbar text +// Navbar divider +// Responsive navbar +// Navbar position +// Navbar themes + + +// Navbar +// +// Provide a static navbar from which we expand to create full-width, fixed, and +// other navbar variations. + +.navbar { + position: relative; + display: flex; + flex-wrap: wrap; // allow us to do the line break for collapsing content + align-items: center; + justify-content: space-between; // space out brand from logo + padding: $navbar-padding-y $navbar-padding-x; + + // Because flex properties aren't inherited, we need to redeclare these first + // few properties so that content nested within behave properly. + %container-flex-properties { + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + } + + .container, + .container-fluid { + @extend %container-flex-properties; + } + + @each $breakpoint, $container-max-width in $container-max-widths { + > .container#{breakpoint-infix($breakpoint, $container-max-widths)} { + @extend %container-flex-properties; + } + } +} + + +// Navbar brand +// +// Used for brand, project, or site names. + +.navbar-brand { + display: inline-block; + padding-top: $navbar-brand-padding-y; + padding-bottom: $navbar-brand-padding-y; + margin-right: $navbar-padding-x; + @include font-size($navbar-brand-font-size); + line-height: inherit; + white-space: nowrap; + + @include hover-focus() { + text-decoration: none; + } +} + + +// Navbar nav +// +// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`). + +.navbar-nav { + display: flex; + flex-direction: column; // cannot use `inherit` to get the `.navbar`s value + padding-left: 0; + margin-bottom: 0; + list-style: none; + + .nav-link { + padding-right: 0; + padding-left: 0; + } + + .dropdown-menu { + position: static; + float: none; + } +} + + +// Navbar text +// +// + +.navbar-text { + display: inline-block; + padding-top: $nav-link-padding-y; + padding-bottom: $nav-link-padding-y; +} + + +// Responsive navbar +// +// Custom styles for responsive collapsing and toggling of navbar contents. +// Powered by the collapse Bootstrap JavaScript plugin. + +// When collapsed, prevent the toggleable navbar contents from appearing in +// the default flexbox row orientation. Requires the use of `flex-wrap: wrap` +// on the `.navbar` parent. +.navbar-collapse { + flex-basis: 100%; + flex-grow: 1; + // For always expanded or extra full navbars, ensure content aligns itself + // properly vertically. Can be easily overridden with flex utilities. + align-items: center; +} + +// Button for toggling the navbar when in its collapsed state +.navbar-toggler { + padding: $navbar-toggler-padding-y $navbar-toggler-padding-x; + @include font-size($navbar-toggler-font-size); + line-height: 1; + background-color: transparent; // remove default button style + border: $border-width solid transparent; // remove default button style + @include border-radius($navbar-toggler-border-radius); + + @include hover-focus() { + text-decoration: none; + } +} + +// Keep as a separate element so folks can easily override it with another icon +// or image file as needed. +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + content: ""; + background: no-repeat center center; + background-size: 100% 100%; +} + +// Generate series of `.navbar-expand-*` responsive classes for configuring +// where your navbar collapses. +.navbar-expand { + @each $breakpoint in map-keys($grid-breakpoints) { + $next: breakpoint-next($breakpoint, $grid-breakpoints); + $infix: breakpoint-infix($next, $grid-breakpoints); + + &#{$infix} { + @include media-breakpoint-down($breakpoint) { + %container-navbar-expand-#{$breakpoint} { + padding-right: 0; + padding-left: 0; + } + + > .container, + > .container-fluid { + @extend %container-navbar-expand-#{$breakpoint}; + } + + @each $size, $container-max-width in $container-max-widths { + > .container#{breakpoint-infix($size, $container-max-widths)} { + @extend %container-navbar-expand-#{$breakpoint}; + } + } + } + + @include media-breakpoint-up($next) { + flex-flow: row nowrap; + justify-content: flex-start; + + .navbar-nav { + flex-direction: row; + + .dropdown-menu { + position: absolute; + } + + .nav-link { + padding-right: $navbar-nav-link-padding-x; + padding-left: $navbar-nav-link-padding-x; + } + } + + // For nesting containers, have to redeclare for alignment purposes + %container-nesting-#{$breakpoint} { + flex-wrap: nowrap; + } + + > .container, + > .container-fluid { + @extend %container-nesting-#{$breakpoint}; + } + + @each $size, $container-max-width in $container-max-widths { + > .container#{breakpoint-infix($size, $container-max-widths)} { + @extend %container-nesting-#{$breakpoint}; + } + } + + .navbar-collapse { + display: flex !important; // stylelint-disable-line declaration-no-important + + // Changes flex-bases to auto because of an IE10 bug + flex-basis: auto; + } + + .navbar-toggler { + display: none; + } + } + } + } +} + + +// Navbar themes +// +// Styles for switching between navbars with light or dark background. + +// Dark links against a light background +.navbar-light { + .navbar-brand { + color: $navbar-light-brand-color; + + @include hover-focus() { + color: $navbar-light-brand-hover-color; + } + } + + .navbar-nav { + .nav-link { + color: $navbar-light-color; + + @include hover-focus() { + color: $navbar-light-hover-color; + } + + &.disabled { + color: $navbar-light-disabled-color; + } + } + + .show > .nav-link, + .active > .nav-link, + .nav-link.show, + .nav-link.active { + color: $navbar-light-active-color; + } + } + + .navbar-toggler { + color: $navbar-light-color; + border-color: $navbar-light-toggler-border-color; + } + + .navbar-toggler-icon { + background-image: escape-svg($navbar-light-toggler-icon-bg); + } + + .navbar-text { + color: $navbar-light-color; + a { + color: $navbar-light-active-color; + + @include hover-focus() { + color: $navbar-light-active-color; + } + } + } +} + +// White links against a dark background +.navbar-dark { + .navbar-brand { + color: $navbar-dark-brand-color; + + @include hover-focus() { + color: $navbar-dark-brand-hover-color; + } + } + + .navbar-nav { + .nav-link { + color: $navbar-dark-color; + + @include hover-focus() { + color: $navbar-dark-hover-color; + } + + &.disabled { + color: $navbar-dark-disabled-color; + } + } + + .show > .nav-link, + .active > .nav-link, + .nav-link.show, + .nav-link.active { + color: $navbar-dark-active-color; + } + } + + .navbar-toggler { + color: $navbar-dark-color; + border-color: $navbar-dark-toggler-border-color; + } + + .navbar-toggler-icon { + background-image: escape-svg($navbar-dark-toggler-icon-bg); + } + + .navbar-text { + color: $navbar-dark-color; + a { + color: $navbar-dark-active-color; + + @include hover-focus() { + color: $navbar-dark-active-color; + } + } + } +} diff --git a/_scss/bootstrap/_pagination.scss b/_scss/bootstrap/_pagination.scss new file mode 100644 index 0000000000000000000000000000000000000000..953a35a7feccfb3d48e7f185e207fa5f41431f88 --- /dev/null +++ b/_scss/bootstrap/_pagination.scss @@ -0,0 +1,73 @@ +.pagination { + display: flex; + @include list-unstyled(); + @include border-radius(); +} + +.page-link { + position: relative; + display: block; + padding: $pagination-padding-y $pagination-padding-x; + margin-left: -$pagination-border-width; + line-height: $pagination-line-height; + color: $pagination-color; + background-color: $pagination-bg; + border: $pagination-border-width solid $pagination-border-color; + + &:hover { + z-index: 2; + color: $pagination-hover-color; + text-decoration: none; + background-color: $pagination-hover-bg; + border-color: $pagination-hover-border-color; + } + + &:focus { + z-index: 3; + outline: $pagination-focus-outline; + box-shadow: $pagination-focus-box-shadow; + } +} + +.page-item { + &:first-child { + .page-link { + margin-left: 0; + @include border-left-radius($border-radius); + } + } + &:last-child { + .page-link { + @include border-right-radius($border-radius); + } + } + + &.active .page-link { + z-index: 3; + color: $pagination-active-color; + background-color: $pagination-active-bg; + border-color: $pagination-active-border-color; + } + + &.disabled .page-link { + color: $pagination-disabled-color; + pointer-events: none; + // Opinionated: remove the "hand" cursor set previously for .page-link + cursor: auto; + background-color: $pagination-disabled-bg; + border-color: $pagination-disabled-border-color; + } +} + + +// +// Sizing +// + +.pagination-lg { + @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $border-radius-lg); +} + +.pagination-sm { + @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $border-radius-sm); +} diff --git a/_scss/bootstrap/_popover.scss b/_scss/bootstrap/_popover.scss new file mode 100644 index 0000000000000000000000000000000000000000..0ad76af3eeb6fa6619fcd3a794aaf78b9f61c045 --- /dev/null +++ b/_scss/bootstrap/_popover.scss @@ -0,0 +1,170 @@ +.popover { + position: absolute; + top: 0; + left: 0; + z-index: $zindex-popover; + display: block; + max-width: $popover-max-width; + // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element. + // So reset our font and text properties to avoid inheriting weird values. + @include reset-text(); + @include font-size($popover-font-size); + // Allow breaking very long words so they don't overflow the popover's bounds + word-wrap: break-word; + background-color: $popover-bg; + background-clip: padding-box; + border: $popover-border-width solid $popover-border-color; + @include border-radius($popover-border-radius); + @include box-shadow($popover-box-shadow); + + .arrow { + position: absolute; + display: block; + width: $popover-arrow-width; + height: $popover-arrow-height; + margin: 0 $popover-border-radius; + + &::before, + &::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; + } + } +} + +.bs-popover-top { + margin-bottom: $popover-arrow-height; + + > .arrow { + bottom: subtract(-$popover-arrow-height, $popover-border-width); + + &::before { + bottom: 0; + border-width: $popover-arrow-height ($popover-arrow-width / 2) 0; + border-top-color: $popover-arrow-outer-color; + } + + &::after { + bottom: $popover-border-width; + border-width: $popover-arrow-height ($popover-arrow-width / 2) 0; + border-top-color: $popover-arrow-color; + } + } +} + +.bs-popover-right { + margin-left: $popover-arrow-height; + + > .arrow { + left: subtract(-$popover-arrow-height, $popover-border-width); + width: $popover-arrow-height; + height: $popover-arrow-width; + margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners + + &::before { + left: 0; + border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0; + border-right-color: $popover-arrow-outer-color; + } + + &::after { + left: $popover-border-width; + border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0; + border-right-color: $popover-arrow-color; + } + } +} + +.bs-popover-bottom { + margin-top: $popover-arrow-height; + + > .arrow { + top: subtract(-$popover-arrow-height, $popover-border-width); + + &::before { + top: 0; + border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2); + border-bottom-color: $popover-arrow-outer-color; + } + + &::after { + top: $popover-border-width; + border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2); + border-bottom-color: $popover-arrow-color; + } + } + + // This will remove the popover-header's border just below the arrow + .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: $popover-arrow-width; + margin-left: -$popover-arrow-width / 2; + content: ""; + border-bottom: $popover-border-width solid $popover-header-bg; + } +} + +.bs-popover-left { + margin-right: $popover-arrow-height; + + > .arrow { + right: subtract(-$popover-arrow-height, $popover-border-width); + width: $popover-arrow-height; + height: $popover-arrow-width; + margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners + + &::before { + right: 0; + border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height; + border-left-color: $popover-arrow-outer-color; + } + + &::after { + right: $popover-border-width; + border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height; + border-left-color: $popover-arrow-color; + } + } +} + +.bs-popover-auto { + &[x-placement^="top"] { + @extend .bs-popover-top; + } + &[x-placement^="right"] { + @extend .bs-popover-right; + } + &[x-placement^="bottom"] { + @extend .bs-popover-bottom; + } + &[x-placement^="left"] { + @extend .bs-popover-left; + } +} + + +// Offset the popover to account for the popover arrow +.popover-header { + padding: $popover-header-padding-y $popover-header-padding-x; + margin-bottom: 0; // Reset the default from Reboot + @include font-size($font-size-base); + color: $popover-header-color; + background-color: $popover-header-bg; + border-bottom: $popover-border-width solid darken($popover-header-bg, 5%); + @include border-top-radius($popover-inner-border-radius); + + &:empty { + display: none; + } +} + +.popover-body { + padding: $popover-body-padding-y $popover-body-padding-x; + color: $popover-body-color; +} diff --git a/_scss/bootstrap/_print.scss b/_scss/bootstrap/_print.scss new file mode 100644 index 0000000000000000000000000000000000000000..8f73024a8bb875428dff420aa5e77e64f99739d2 --- /dev/null +++ b/_scss/bootstrap/_print.scss @@ -0,0 +1,141 @@ +// stylelint-disable declaration-no-important, selector-no-qualifying-type + +// Source: https://github.com/h5bp/main.css/blob/master/src/_print.css + +// ========================================================================== +// Print styles. +// Inlined to avoid the additional HTTP request: +// https://www.phpied.com/delay-loading-your-print-css/ +// ========================================================================== + +@if $enable-print-styles { + @media print { + *, + *::before, + *::after { + // Bootstrap specific; comment out `color` and `background` + //color: $black !important; // Black prints faster + text-shadow: none !important; + //background: transparent !important; + box-shadow: none !important; + } + + a { + &:not(.btn) { + text-decoration: underline; + } + } + + // Bootstrap specific; comment the following selector out + //a[href]::after { + // content: " (" attr(href) ")"; + //} + + abbr[title]::after { + content: " (" attr(title) ")"; + } + + // Bootstrap specific; comment the following selector out + // + // Don't show links that are fragment identifiers, + // or use the `javascript:` pseudo protocol + // + + //a[href^="#"]::after, + //a[href^="javascript:"]::after { + // content: ""; + //} + + pre { + white-space: pre-wrap !important; + } + pre, + blockquote { + border: $border-width solid $gray-500; // Bootstrap custom code; using `$border-width` instead of 1px + page-break-inside: avoid; + } + + // + // Printing Tables: + // https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables + // + + thead { + display: table-header-group; + } + + tr, + img { + page-break-inside: avoid; + } + + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + + h2, + h3 { + page-break-after: avoid; + } + + // Bootstrap specific changes start + + // Specify a size and min-width to make printing closer across browsers. + // We don't set margin here because it breaks `size` in Chrome. We also + // don't use `!important` on `size` as it breaks in Chrome. + @page { + size: $print-page-size; + } + body { + min-width: $print-body-min-width !important; + } + .container { + min-width: $print-body-min-width !important; + } + + // Bootstrap components + .navbar { + display: none; + } + .badge { + border: $border-width solid $black; + } + + .table { + border-collapse: collapse !important; + + td, + th { + background-color: $white !important; + } + } + + .table-bordered { + th, + td { + border: 1px solid $gray-300 !important; + } + } + + .table-dark { + color: inherit; + + th, + td, + thead th, + tbody + tbody { + border-color: $table-border-color; + } + } + + .table .thead-dark th { + color: inherit; + border-color: $table-border-color; + } + + // Bootstrap specific changes end + } +} diff --git a/_scss/bootstrap/_progress.scss b/_scss/bootstrap/_progress.scss new file mode 100644 index 0000000000000000000000000000000000000000..37ef6022e5e85a32017daeb3e5fa1ef8ad23414b --- /dev/null +++ b/_scss/bootstrap/_progress.scss @@ -0,0 +1,46 @@ +// Disable animation if transitions are disabled +@if $enable-transitions { + @keyframes progress-bar-stripes { + from { background-position: $progress-height 0; } + to { background-position: 0 0; } + } +} + +.progress { + display: flex; + height: $progress-height; + overflow: hidden; // force rounded corners by cropping it + @include font-size($progress-font-size); + background-color: $progress-bg; + @include border-radius($progress-border-radius); + @include box-shadow($progress-box-shadow); +} + +.progress-bar { + display: flex; + flex-direction: column; + justify-content: center; + overflow: hidden; + color: $progress-bar-color; + text-align: center; + white-space: nowrap; + background-color: $progress-bar-bg; + @include transition($progress-bar-transition); +} + +.progress-bar-striped { + @include gradient-striped(); + background-size: $progress-height $progress-height; +} + +@if $enable-transitions { + .progress-bar-animated { + animation: progress-bar-stripes $progress-bar-animation-timing; + + @if $enable-prefers-reduced-motion-media-query { + @media (prefers-reduced-motion: reduce) { + animation: none; + } + } + } +} diff --git a/_scss/bootstrap/_reboot.scss b/_scss/bootstrap/_reboot.scss new file mode 100644 index 0000000000000000000000000000000000000000..b6c98ccd775fda35953e4ea77da43cdda67be4f3 --- /dev/null +++ b/_scss/bootstrap/_reboot.scss @@ -0,0 +1,482 @@ +// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix + +// Reboot +// +// Normalization of HTML elements, manually forked from Normalize.css to remove +// styles targeting irrelevant browsers while applying new styles. +// +// Normalize is licensed MIT. https://github.com/necolas/normalize.css + + +// Document +// +// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`. +// 2. Change the default font family in all browsers. +// 3. Correct the line height in all browsers. +// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS. +// 5. Change the default tap highlight to be completely transparent in iOS. + +*, +*::before, +*::after { + box-sizing: border-box; // 1 +} + +html { + font-family: sans-serif; // 2 + line-height: 1.15; // 3 + -webkit-text-size-adjust: 100%; // 4 + -webkit-tap-highlight-color: rgba($black, 0); // 5 +} + +// Shim for "new" HTML5 structural elements to display correctly (IE10, older browsers) +// TODO: remove in v5 +// stylelint-disable-next-line selector-list-comma-newline-after +article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { + display: block; +} + +// Body +// +// 1. Remove the margin in all browsers. +// 2. As a best practice, apply a default `background-color`. +// 3. Set an explicit initial text-align value so that we can later use +// the `inherit` value on things like `<th>` elements. + +body { + margin: 0; // 1 + font-family: $font-family-base; + @include font-size($font-size-base); + font-weight: $font-weight-base; + line-height: $line-height-base; + color: $body-color; + text-align: left; // 3 + background-color: $body-bg; // 2 +} + +// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline +// on elements that programmatically receive focus but wouldn't normally show a visible +// focus outline. In general, this would mean that the outline is only applied if the +// interaction that led to the element receiving programmatic focus was a keyboard interaction, +// or the browser has somehow determined that the user is primarily a keyboard user and/or +// wants focus outlines to always be presented. +// +// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible +// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/ +[tabindex="-1"]:focus:not(:focus-visible) { + outline: 0 !important; +} + + +// Content grouping +// +// 1. Add the correct box sizing in Firefox. +// 2. Show the overflow in Edge and IE. + +hr { + box-sizing: content-box; // 1 + height: 0; // 1 + overflow: visible; // 2 +} + + +// +// Typography +// + +// Remove top margins from headings +// +// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top +// margin for easier control within type scales as it avoids margin collapsing. +// stylelint-disable-next-line selector-list-comma-newline-after +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: $headings-margin-bottom; +} + +// Reset margins on paragraphs +// +// Similarly, the top margin on `<p>`s get reset. However, we also reset the +// bottom margin to use `rem` units instead of `em`. +p { + margin-top: 0; + margin-bottom: $paragraph-margin-bottom; +} + +// Abbreviations +// +// 1. Duplicate behavior to the data-* attribute for our tooltip plugin +// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. +// 3. Add explicit cursor to indicate changed behavior. +// 4. Remove the bottom border in Firefox 39-. +// 5. Prevent the text-decoration to be skipped. + +abbr[title], +abbr[data-original-title] { // 1 + text-decoration: underline; // 2 + text-decoration: underline dotted; // 2 + cursor: help; // 3 + border-bottom: 0; // 4 + text-decoration-skip-ink: none; // 5 +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: $dt-font-weight; +} + +dd { + margin-bottom: .5rem; + margin-left: 0; // Undo browser default +} + +blockquote { + margin: 0 0 1rem; +} + +b, +strong { + font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari +} + +small { + @include font-size(80%); // Add the correct font size in all browsers +} + +// +// Prevent `sub` and `sup` elements from affecting the line height in +// all browsers. +// + +sub, +sup { + position: relative; + @include font-size(75%); + line-height: 0; + vertical-align: baseline; +} + +sub { bottom: -.25em; } +sup { top: -.5em; } + + +// +// Links +// + +a { + color: $link-color; + text-decoration: $link-decoration; + background-color: transparent; // Remove the gray background on active links in IE 10. + + @include hover() { + color: $link-hover-color; + text-decoration: $link-hover-decoration; + } +} + +// And undo these styles for placeholder links/named anchors (without href). +// It would be more straightforward to just use a[href] in previous block, but that +// causes specificity issues in many other styles that are too complex to fix. +// See https://github.com/twbs/bootstrap/issues/19402 + +a:not([href]) { + color: inherit; + text-decoration: none; + + @include hover() { + color: inherit; + text-decoration: none; + } +} + + +// +// Code +// + +pre, +code, +kbd, +samp { + font-family: $font-family-monospace; + @include font-size(1em); // Correct the odd `em` font sizing in all browsers. +} + +pre { + // Remove browser default top margin + margin-top: 0; + // Reset browser default of `1em` to use `rem`s + margin-bottom: 1rem; + // Don't allow content to break outside + overflow: auto; +} + + +// +// Figures +// + +figure { + // Apply a consistent margin strategy (matches our type styles). + margin: 0 0 1rem; +} + + +// +// Images and content +// + +img { + vertical-align: middle; + border-style: none; // Remove the border on images inside links in IE 10-. +} + +svg { + // Workaround for the SVG overflow bug in IE10/11 is still required. + // See https://github.com/twbs/bootstrap/issues/26878 + overflow: hidden; + vertical-align: middle; +} + + +// +// Tables +// + +table { + border-collapse: collapse; // Prevent double borders +} + +caption { + padding-top: $table-cell-padding; + padding-bottom: $table-cell-padding; + color: $table-caption-color; + text-align: left; + caption-side: bottom; +} + +th { + // Matches default `<td>` alignment by inheriting from the `<body>`, or the + // closest parent with a set `text-align`. + text-align: inherit; +} + + +// +// Forms +// + +label { + // Allow labels to use `margin` for spacing. + display: inline-block; + margin-bottom: $label-margin-bottom; +} + +// Remove the default `border-radius` that macOS Chrome adds. +// +// Details at https://github.com/twbs/bootstrap/issues/24093 +button { + // stylelint-disable-next-line property-blacklist + border-radius: 0; +} + +// Work around a Firefox/IE bug where the transparent `button` background +// results in a loss of the default `button` focus styles. +// +// Credit: https://github.com/suitcss/base/ +button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; // Remove the margin in Firefox and Safari + font-family: inherit; + @include font-size(inherit); + line-height: inherit; +} + +button, +input { + overflow: visible; // Show the overflow in Edge +} + +button, +select { + text-transform: none; // Remove the inheritance of text transform in Firefox +} + +// Remove the inheritance of word-wrap in Safari. +// +// Details at https://github.com/twbs/bootstrap/issues/24990 +select { + word-wrap: normal; +} + + +// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` +// controls in Android 4. +// 2. Correct the inability to style clickable types in iOS and Safari. +button, +[type="button"], // 1 +[type="reset"], +[type="submit"] { + -webkit-appearance: button; // 2 +} + +// Opinionated: add "hand" cursor to non-disabled button elements. +@if $enable-pointer-cursor-for-buttons { + button, + [type="button"], + [type="reset"], + [type="submit"] { + &:not(:disabled) { + cursor: pointer; + } + } +} + +// Remove inner border and padding from Firefox, but don't restore the outline like Normalize. +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + padding: 0; + border-style: none; +} + +input[type="radio"], +input[type="checkbox"] { + box-sizing: border-box; // 1. Add the correct box sizing in IE 10- + padding: 0; // 2. Remove the padding in IE 10- +} + + +input[type="date"], +input[type="time"], +input[type="datetime-local"], +input[type="month"] { + // Remove the default appearance of temporal inputs to avoid a Mobile Safari + // bug where setting a custom line-height prevents text from being vertically + // centered within the input. + // See https://bugs.webkit.org/show_bug.cgi?id=139848 + // and https://github.com/twbs/bootstrap/issues/11266 + -webkit-appearance: listbox; +} + +textarea { + overflow: auto; // Remove the default vertical scrollbar in IE. + // Textareas should really only resize vertically so they don't break their (horizontal) containers. + resize: vertical; +} + +fieldset { + // Browsers set a default `min-width: min-content;` on fieldsets, + // unlike e.g. `<div>`s, which have `min-width: 0;` by default. + // So we reset that to ensure fieldsets behave more like a standard block element. + // See https://github.com/twbs/bootstrap/issues/12359 + // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements + min-width: 0; + // Reset the default outline behavior of fieldsets so they don't affect page layout. + padding: 0; + margin: 0; + border: 0; +} + +// 1. Correct the text wrapping in Edge and IE. +// 2. Correct the color inheritance from `fieldset` elements in IE. +legend { + display: block; + width: 100%; + max-width: 100%; // 1 + padding: 0; + margin-bottom: .5rem; + @include font-size(1.5rem); + line-height: inherit; + color: inherit; // 2 + white-space: normal; // 1 +} + +progress { + vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera. +} + +// Correct the cursor style of increment and decrement buttons in Chrome. +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +[type="search"] { + // This overrides the extra rounded corners on search inputs in iOS so that our + // `.form-control` class can properly style them. Note that this cannot simply + // be added to `.form-control` as it's not specific enough. For details, see + // https://github.com/twbs/bootstrap/issues/11586. + outline-offset: -2px; // 2. Correct the outline style in Safari. + -webkit-appearance: none; +} + +// +// Remove the inner padding in Chrome and Safari on macOS. +// + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +// +// 1. Correct the inability to style clickable types in iOS and Safari. +// 2. Change font properties to `inherit` in Safari. +// + +::-webkit-file-upload-button { + font: inherit; // 2 + -webkit-appearance: button; // 1 +} + +// +// Correct element displays +// + +output { + display: inline-block; +} + +summary { + display: list-item; // Add the correct display in all browsers + cursor: pointer; +} + +template { + display: none; // Add the correct display in IE +} + +// Always hide an element with the `hidden` HTML attribute (from PureCSS). +// Needed for proper display in IE 10-. +[hidden] { + display: none !important; +} diff --git a/_scss/bootstrap/_root.scss b/_scss/bootstrap/_root.scss new file mode 100644 index 0000000000000000000000000000000000000000..8110030c640ca2a6554a802287b118335a937740 --- /dev/null +++ b/_scss/bootstrap/_root.scss @@ -0,0 +1,20 @@ +// Do not forget to update getting-started/theming.md! +:root { + // Custom variable values only support SassScript inside `#{}`. + @each $color, $value in $colors { + --#{$color}: #{$value}; + } + + @each $color, $value in $theme-colors { + --#{$color}: #{$value}; + } + + @each $bp, $value in $grid-breakpoints { + --breakpoint-#{$bp}: #{$value}; + } + + // Use `inspect` for lists so that quoted items keep the quotes. + // See https://github.com/sass/sass/issues/2383#issuecomment-336349172 + --font-family-sans-serif: #{inspect($font-family-sans-serif)}; + --font-family-monospace: #{inspect($font-family-monospace)}; +} diff --git a/_scss/bootstrap/_spinners.scss b/_scss/bootstrap/_spinners.scss new file mode 100644 index 0000000000000000000000000000000000000000..364a5c1a65f71e0828a23752934a95e42e511236 --- /dev/null +++ b/_scss/bootstrap/_spinners.scss @@ -0,0 +1,55 @@ +// +// Rotating border +// + +@keyframes spinner-border { + to { transform: rotate(360deg); } +} + +.spinner-border { + display: inline-block; + width: $spinner-width; + height: $spinner-height; + vertical-align: text-bottom; + border: $spinner-border-width solid currentColor; + border-right-color: transparent; + // stylelint-disable-next-line property-blacklist + border-radius: 50%; + animation: spinner-border .75s linear infinite; +} + +.spinner-border-sm { + width: $spinner-width-sm; + height: $spinner-height-sm; + border-width: $spinner-border-width-sm; +} + +// +// Growing circle +// + +@keyframes spinner-grow { + 0% { + transform: scale(0); + } + 50% { + opacity: 1; + } +} + +.spinner-grow { + display: inline-block; + width: $spinner-width; + height: $spinner-height; + vertical-align: text-bottom; + background-color: currentColor; + // stylelint-disable-next-line property-blacklist + border-radius: 50%; + opacity: 0; + animation: spinner-grow .75s linear infinite; +} + +.spinner-grow-sm { + width: $spinner-width-sm; + height: $spinner-height-sm; +} diff --git a/_scss/bootstrap/_tables.scss b/_scss/bootstrap/_tables.scss new file mode 100644 index 0000000000000000000000000000000000000000..5fd77a4eb0d692a657e5a0ef8040fc7e65a9e70e --- /dev/null +++ b/_scss/bootstrap/_tables.scss @@ -0,0 +1,185 @@ +// +// Basic Bootstrap table +// + +.table { + width: 100%; + margin-bottom: $spacer; + color: $table-color; + background-color: $table-bg; // Reset for nesting within parents with `background-color`. + + th, + td { + padding: $table-cell-padding; + vertical-align: top; + border-top: $table-border-width solid $table-border-color; + } + + thead th { + vertical-align: bottom; + border-bottom: (2 * $table-border-width) solid $table-border-color; + } + + tbody + tbody { + border-top: (2 * $table-border-width) solid $table-border-color; + } +} + + +// +// Condensed table w/ half padding +// + +.table-sm { + th, + td { + padding: $table-cell-padding-sm; + } +} + + +// Border versions +// +// Add or remove borders all around the table and between all the columns. + +.table-bordered { + border: $table-border-width solid $table-border-color; + + th, + td { + border: $table-border-width solid $table-border-color; + } + + thead { + th, + td { + border-bottom-width: 2 * $table-border-width; + } + } +} + +.table-borderless { + th, + td, + thead th, + tbody + tbody { + border: 0; + } +} + +// Zebra-striping +// +// Default zebra-stripe styles (alternating gray and transparent backgrounds) + +.table-striped { + tbody tr:nth-of-type(#{$table-striped-order}) { + background-color: $table-accent-bg; + } +} + + +// Hover effect +// +// Placed here since it has to come after the potential zebra striping + +.table-hover { + tbody tr { + @include hover() { + color: $table-hover-color; + background-color: $table-hover-bg; + } + } +} + + +// Table backgrounds +// +// Exact selectors below required to override `.table-striped` and prevent +// inheritance to nested tables. + +@each $color, $value in $theme-colors { + @include table-row-variant($color, theme-color-level($color, $table-bg-level), theme-color-level($color, $table-border-level)); +} + +@include table-row-variant(active, $table-active-bg); + + +// Dark styles +// +// Same table markup, but inverted color scheme: dark background and light text. + +// stylelint-disable-next-line no-duplicate-selectors +.table { + .thead-dark { + th { + color: $table-dark-color; + background-color: $table-dark-bg; + border-color: $table-dark-border-color; + } + } + + .thead-light { + th { + color: $table-head-color; + background-color: $table-head-bg; + border-color: $table-border-color; + } + } +} + +.table-dark { + color: $table-dark-color; + background-color: $table-dark-bg; + + th, + td, + thead th { + border-color: $table-dark-border-color; + } + + &.table-bordered { + border: 0; + } + + &.table-striped { + tbody tr:nth-of-type(#{$table-striped-order}) { + background-color: $table-dark-accent-bg; + } + } + + &.table-hover { + tbody tr { + @include hover() { + color: $table-dark-hover-color; + background-color: $table-dark-hover-bg; + } + } + } +} + + +// Responsive tables +// +// Generate series of `.table-responsive-*` classes for configuring the screen +// size of where your table will overflow. + +.table-responsive { + @each $breakpoint in map-keys($grid-breakpoints) { + $next: breakpoint-next($breakpoint, $grid-breakpoints); + $infix: breakpoint-infix($next, $grid-breakpoints); + + &#{$infix} { + @include media-breakpoint-down($breakpoint) { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + + // Prevent double border on horizontal scroll due to use of `display: block;` + > .table-bordered { + border: 0; + } + } + } + } +} diff --git a/_scss/bootstrap/_toasts.scss b/_scss/bootstrap/_toasts.scss new file mode 100644 index 0000000000000000000000000000000000000000..6aa5352a383ccb41d3c6871bed0df5a17f03c10a --- /dev/null +++ b/_scss/bootstrap/_toasts.scss @@ -0,0 +1,44 @@ +.toast { + max-width: $toast-max-width; + overflow: hidden; // cheap rounded corners on nested items + @include font-size($toast-font-size); + color: $toast-color; + background-color: $toast-background-color; + background-clip: padding-box; + border: $toast-border-width solid $toast-border-color; + box-shadow: $toast-box-shadow; + backdrop-filter: blur(10px); + opacity: 0; + @include border-radius($toast-border-radius); + + &:not(:last-child) { + margin-bottom: $toast-padding-x; + } + + &.showing { + opacity: 1; + } + + &.show { + display: block; + opacity: 1; + } + + &.hide { + display: none; + } +} + +.toast-header { + display: flex; + align-items: center; + padding: $toast-padding-y $toast-padding-x; + color: $toast-header-color; + background-color: $toast-header-background-color; + background-clip: padding-box; + border-bottom: $toast-border-width solid $toast-header-border-color; +} + +.toast-body { + padding: $toast-padding-x; // apply to both vertical and horizontal +} diff --git a/_scss/bootstrap/_tooltip.scss b/_scss/bootstrap/_tooltip.scss new file mode 100644 index 0000000000000000000000000000000000000000..6b3aa62dd619bad73540ede3459a4db91d31c7a6 --- /dev/null +++ b/_scss/bootstrap/_tooltip.scss @@ -0,0 +1,115 @@ +// Base class +.tooltip { + position: absolute; + z-index: $zindex-tooltip; + display: block; + margin: $tooltip-margin; + // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element. + // So reset our font and text properties to avoid inheriting weird values. + @include reset-text(); + @include font-size($tooltip-font-size); + // Allow breaking very long words so they don't overflow the tooltip's bounds + word-wrap: break-word; + opacity: 0; + + &.show { opacity: $tooltip-opacity; } + + .arrow { + position: absolute; + display: block; + width: $tooltip-arrow-width; + height: $tooltip-arrow-height; + + &::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; + } + } +} + +.bs-tooltip-top { + padding: $tooltip-arrow-height 0; + + .arrow { + bottom: 0; + + &::before { + top: 0; + border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0; + border-top-color: $tooltip-arrow-color; + } + } +} + +.bs-tooltip-right { + padding: 0 $tooltip-arrow-height; + + .arrow { + left: 0; + width: $tooltip-arrow-height; + height: $tooltip-arrow-width; + + &::before { + right: 0; + border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0; + border-right-color: $tooltip-arrow-color; + } + } +} + +.bs-tooltip-bottom { + padding: $tooltip-arrow-height 0; + + .arrow { + top: 0; + + &::before { + bottom: 0; + border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height; + border-bottom-color: $tooltip-arrow-color; + } + } +} + +.bs-tooltip-left { + padding: 0 $tooltip-arrow-height; + + .arrow { + right: 0; + width: $tooltip-arrow-height; + height: $tooltip-arrow-width; + + &::before { + left: 0; + border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height; + border-left-color: $tooltip-arrow-color; + } + } +} + +.bs-tooltip-auto { + &[x-placement^="top"] { + @extend .bs-tooltip-top; + } + &[x-placement^="right"] { + @extend .bs-tooltip-right; + } + &[x-placement^="bottom"] { + @extend .bs-tooltip-bottom; + } + &[x-placement^="left"] { + @extend .bs-tooltip-left; + } +} + +// Wrapper for the tooltip content +.tooltip-inner { + max-width: $tooltip-max-width; + padding: $tooltip-padding-y $tooltip-padding-x; + color: $tooltip-color; + text-align: center; + background-color: $tooltip-bg; + @include border-radius($tooltip-border-radius); +} diff --git a/_scss/bootstrap/_transitions.scss b/_scss/bootstrap/_transitions.scss new file mode 100644 index 0000000000000000000000000000000000000000..40be4d918add473357851dcd32b3b17f54afae27 --- /dev/null +++ b/_scss/bootstrap/_transitions.scss @@ -0,0 +1,20 @@ +.fade { + @include transition($transition-fade); + + &:not(.show) { + opacity: 0; + } +} + +.collapse { + &:not(.show) { + display: none; + } +} + +.collapsing { + position: relative; + height: 0; + overflow: hidden; + @include transition($transition-collapse); +} diff --git a/_scss/bootstrap/_type.scss b/_scss/bootstrap/_type.scss new file mode 100644 index 0000000000000000000000000000000000000000..43dde7d0fe586ea7eb7dc7253a7ae747906869fb --- /dev/null +++ b/_scss/bootstrap/_type.scss @@ -0,0 +1,125 @@ +// stylelint-disable declaration-no-important, selector-list-comma-newline-after + +// +// Headings +// + +h1, h2, h3, h4, h5, h6, +.h1, .h2, .h3, .h4, .h5, .h6 { + margin-bottom: $headings-margin-bottom; + font-family: $headings-font-family; + font-weight: $headings-font-weight; + line-height: $headings-line-height; + color: $headings-color; +} + +h1, .h1 { @include font-size($h1-font-size); } +h2, .h2 { @include font-size($h2-font-size); } +h3, .h3 { @include font-size($h3-font-size); } +h4, .h4 { @include font-size($h4-font-size); } +h5, .h5 { @include font-size($h5-font-size); } +h6, .h6 { @include font-size($h6-font-size); } + +.lead { + @include font-size($lead-font-size); + font-weight: $lead-font-weight; +} + +// Type display classes +.display-1 { + @include font-size($display1-size); + font-weight: $display1-weight; + line-height: $display-line-height; +} +.display-2 { + @include font-size($display2-size); + font-weight: $display2-weight; + line-height: $display-line-height; +} +.display-3 { + @include font-size($display3-size); + font-weight: $display3-weight; + line-height: $display-line-height; +} +.display-4 { + @include font-size($display4-size); + font-weight: $display4-weight; + line-height: $display-line-height; +} + + +// +// Horizontal rules +// + +hr { + margin-top: $hr-margin-y; + margin-bottom: $hr-margin-y; + border: 0; + border-top: $hr-border-width solid $hr-border-color; +} + + +// +// Emphasis +// + +small, +.small { + @include font-size($small-font-size); + font-weight: $font-weight-normal; +} + +mark, +.mark { + padding: $mark-padding; + background-color: $mark-bg; +} + + +// +// Lists +// + +.list-unstyled { + @include list-unstyled(); +} + +// Inline turns list items into inline-block +.list-inline { + @include list-unstyled(); +} +.list-inline-item { + display: inline-block; + + &:not(:last-child) { + margin-right: $list-inline-padding; + } +} + + +// +// Misc +// + +// Builds on `abbr` +.initialism { + @include font-size(90%); + text-transform: uppercase; +} + +// Blockquotes +.blockquote { + margin-bottom: $spacer; + @include font-size($blockquote-font-size); +} + +.blockquote-footer { + display: block; + @include font-size($blockquote-small-font-size); + color: $blockquote-small-color; + + &::before { + content: "\2014\00A0"; // em dash, nbsp + } +} diff --git a/_scss/bootstrap/_utilities.scss b/_scss/bootstrap/_utilities.scss new file mode 100644 index 0000000000000000000000000000000000000000..a5de31ba6a50de2e58a4a9227c5e753de79cf206 --- /dev/null +++ b/_scss/bootstrap/_utilities.scss @@ -0,0 +1,17 @@ +@import "utilities/align"; +@import "utilities/background"; +@import "utilities/borders"; +@import "utilities/clearfix"; +@import "utilities/display"; +@import "utilities/embed"; +@import "utilities/flex"; +@import "utilities/float"; +@import "utilities/overflow"; +@import "utilities/position"; +@import "utilities/screenreaders"; +@import "utilities/shadows"; +@import "utilities/sizing"; +@import "utilities/stretched-link"; +@import "utilities/spacing"; +@import "utilities/text"; +@import "utilities/visibility"; diff --git a/_scss/bootstrap/_variables.scss b/_scss/bootstrap/_variables.scss new file mode 100644 index 0000000000000000000000000000000000000000..5d3135cd95f03c9be29fca758f8eb01c2c3ecc1f --- /dev/null +++ b/_scss/bootstrap/_variables.scss @@ -0,0 +1,1143 @@ +// Variables +// +// Variables should follow the `$component-state-property-size` formula for +// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs. + +// Color system + +$white: #fff !default; +$gray-100: #f8f9fa !default; +$gray-200: #e9ecef !default; +$gray-300: #dee2e6 !default; +$gray-400: #ced4da !default; +$gray-500: #adb5bd !default; +$gray-600: #6c757d !default; +$gray-700: #495057 !default; +$gray-800: #343a40 !default; +$gray-900: #212529 !default; +$black: #000 !default; + +$grays: () !default; +// stylelint-disable-next-line scss/dollar-variable-default +$grays: map-merge( + ( + "100": $gray-100, + "200": $gray-200, + "300": $gray-300, + "400": $gray-400, + "500": $gray-500, + "600": $gray-600, + "700": $gray-700, + "800": $gray-800, + "900": $gray-900 + ), + $grays +); + +$blue: #007bff !default; +$indigo: #6610f2 !default; +$purple: #6f42c1 !default; +$pink: #e83e8c !default; +$red: #dc3545 !default; +$orange: #fd7e14 !default; +$yellow: #ffc107 !default; +$green: #28a745 !default; +$teal: #20c997 !default; +$cyan: #17a2b8 !default; + +$colors: () !default; +// stylelint-disable-next-line scss/dollar-variable-default +$colors: map-merge( + ( + "blue": $blue, + "indigo": $indigo, + "purple": $purple, + "pink": $pink, + "red": $red, + "orange": $orange, + "yellow": $yellow, + "green": $green, + "teal": $teal, + "cyan": $cyan, + "white": $white, + "gray": $gray-600, + "gray-dark": $gray-800 + ), + $colors +); + +$primary: $blue !default; +$secondary: $gray-600 !default; +$success: $green !default; +$info: $cyan !default; +$warning: $yellow !default; +$danger: $red !default; +$light: $gray-100 !default; +$dark: $gray-800 !default; + +$theme-colors: () !default; +// stylelint-disable-next-line scss/dollar-variable-default +$theme-colors: map-merge( + ( + "primary": $primary, + "secondary": $secondary, + "success": $success, + "info": $info, + "warning": $warning, + "danger": $danger, + "light": $light, + "dark": $dark + ), + $theme-colors +); + +// Set a specific jump point for requesting color jumps +$theme-color-interval: 8% !default; + +// The yiq lightness value that determines when the lightness of color changes from "dark" to "light". Acceptable values are between 0 and 255. +$yiq-contrasted-threshold: 150 !default; + +// Customize the light and dark text colors for use in our YIQ color contrast function. +$yiq-text-dark: $gray-900 !default; +$yiq-text-light: $white !default; + +// Characters which are escaped by the escape-svg function +$escaped-characters: ( + ("<","%3c"), + (">","%3e"), + ("#","%23"), +) !default; + + +// Options +// +// Quickly modify global styling by enabling or disabling optional features. + +$enable-caret: true !default; +$enable-rounded: true !default; +$enable-shadows: false !default; +$enable-gradients: false !default; +$enable-transitions: true !default; +$enable-prefers-reduced-motion-media-query: true !default; +$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS +$enable-grid-classes: true !default; +$enable-pointer-cursor-for-buttons: true !default; +$enable-print-styles: true !default; +$enable-responsive-font-sizes: false !default; +$enable-validation-icons: true !default; +$enable-deprecation-messages: true !default; + + +// Spacing +// +// Control the default styling of most Bootstrap elements by modifying these +// variables. Mostly focused on spacing. +// You can add more entries to the $spacers map, should you need more variation. + +$spacer: 1rem !default; +$spacers: () !default; +// stylelint-disable-next-line scss/dollar-variable-default +$spacers: map-merge( + ( + 0: 0, + 1: ($spacer * .25), + 2: ($spacer * .5), + 3: $spacer, + 4: ($spacer * 1.5), + 5: ($spacer * 3) + ), + $spacers +); + +// This variable affects the `.h-*` and `.w-*` classes. +$sizes: () !default; +// stylelint-disable-next-line scss/dollar-variable-default +$sizes: map-merge( + ( + 25: 25%, + 50: 50%, + 75: 75%, + 100: 100%, + auto: auto + ), + $sizes +); + + +// Body +// +// Settings for the `<body>` element. + +$body-bg: $white !default; +$body-color: $gray-900 !default; + + +// Links +// +// Style anchor elements. + +$link-color: theme-color("primary") !default; +$link-decoration: none !default; +$link-hover-color: darken($link-color, 15%) !default; +$link-hover-decoration: underline !default; +// Darken percentage for links with `.text-*` class (e.g. `.text-success`) +$emphasized-link-hover-darken-percentage: 15% !default; + +// Paragraphs +// +// Style p element. + +$paragraph-margin-bottom: 1rem !default; + + +// Grid breakpoints +// +// Define the minimum dimensions at which your layout will change, +// adapting to different screen sizes, for use in media queries. + +$grid-breakpoints: ( + xs: 0, + sm: 576px, + md: 768px, + lg: 992px, + xl: 1200px +) !default; + +@include _assert-ascending($grid-breakpoints, "$grid-breakpoints"); +@include _assert-starts-at-zero($grid-breakpoints, "$grid-breakpoints"); + + +// Grid containers +// +// Define the maximum width of `.container` for different screen sizes. + +$container-max-widths: ( + sm: 540px, + md: 720px, + lg: 960px, + xl: 1140px +) !default; + +@include _assert-ascending($container-max-widths, "$container-max-widths"); + + +// Grid columns +// +// Set the number of columns and specify the width of the gutters. + +$grid-columns: 12 !default; +$grid-gutter-width: 30px !default; +$grid-row-columns: 6 !default; + + +// Components +// +// Define common padding and border radius sizes and more. + +$line-height-lg: 1.5 !default; +$line-height-sm: 1.5 !default; + +$border-width: 1px !default; +$border-color: $gray-300 !default; + +$border-radius: .25rem !default; +$border-radius-lg: .3rem !default; +$border-radius-sm: .2rem !default; + +$rounded-pill: 50rem !default; + +$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default; +$box-shadow: 0 .5rem 1rem rgba($black, .15) !default; +$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default; + +$component-active-color: $white !default; +$component-active-bg: theme-color("primary") !default; + +$caret-width: .3em !default; +$caret-vertical-align: $caret-width * .85 !default; +$caret-spacing: $caret-width * .85 !default; + +$transition-base: all .2s ease-in-out !default; +$transition-fade: opacity .15s linear !default; +$transition-collapse: height .35s ease !default; + +$embed-responsive-aspect-ratios: () !default; +// stylelint-disable-next-line scss/dollar-variable-default +$embed-responsive-aspect-ratios: join( + ( + (21 9), + (16 9), + (4 3), + (1 1), + ), + $embed-responsive-aspect-ratios +); + +// Typography +// +// Font, line-height, and color for body text, headings, and more. + +// stylelint-disable value-keyword-case +$font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default; +$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default; +$font-family-base: $font-family-sans-serif !default; +// stylelint-enable value-keyword-case + +$font-size-base: 1rem !default; // Assumes the browser default, typically `16px` +$font-size-lg: $font-size-base * 1.25 !default; +$font-size-sm: $font-size-base * .875 !default; + +$font-weight-lighter: lighter !default; +$font-weight-light: 300 !default; +$font-weight-normal: 400 !default; +$font-weight-bold: 700 !default; +$font-weight-bolder: bolder !default; + +$font-weight-base: $font-weight-normal !default; +$line-height-base: 1.5 !default; + +$h1-font-size: $font-size-base * 2.5 !default; +$h2-font-size: $font-size-base * 2 !default; +$h3-font-size: $font-size-base * 1.75 !default; +$h4-font-size: $font-size-base * 1.5 !default; +$h5-font-size: $font-size-base * 1.25 !default; +$h6-font-size: $font-size-base !default; + +$headings-margin-bottom: $spacer / 2 !default; +$headings-font-family: null !default; +$headings-font-weight: 500 !default; +$headings-line-height: 1.2 !default; +$headings-color: null !default; + +$display1-size: 6rem !default; +$display2-size: 5.5rem !default; +$display3-size: 4.5rem !default; +$display4-size: 3.5rem !default; + +$display1-weight: 300 !default; +$display2-weight: 300 !default; +$display3-weight: 300 !default; +$display4-weight: 300 !default; +$display-line-height: $headings-line-height !default; + +$lead-font-size: $font-size-base * 1.25 !default; +$lead-font-weight: 300 !default; + +$small-font-size: 80% !default; + +$text-muted: $gray-600 !default; + +$blockquote-small-color: $gray-600 !default; +$blockquote-small-font-size: $small-font-size !default; +$blockquote-font-size: $font-size-base * 1.25 !default; + +$hr-border-color: rgba($black, .1) !default; +$hr-border-width: $border-width !default; + +$mark-padding: .2em !default; + +$dt-font-weight: $font-weight-bold !default; + +$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default; +$nested-kbd-font-weight: $font-weight-bold !default; + +$list-inline-padding: .5rem !default; + +$mark-bg: #fcf8e3 !default; + +$hr-margin-y: $spacer !default; + + +// Tables +// +// Customizes the `.table` component with basic values, each used across all table variations. + +$table-cell-padding: .75rem !default; +$table-cell-padding-sm: .3rem !default; + +$table-color: $body-color !default; +$table-bg: null !default; +$table-accent-bg: rgba($black, .05) !default; +$table-hover-color: $table-color !default; +$table-hover-bg: rgba($black, .075) !default; +$table-active-bg: $table-hover-bg !default; + +$table-border-width: $border-width !default; +$table-border-color: $border-color !default; + +$table-head-bg: $gray-200 !default; +$table-head-color: $gray-700 !default; + +$table-dark-color: $white !default; +$table-dark-bg: $gray-800 !default; +$table-dark-accent-bg: rgba($white, .05) !default; +$table-dark-hover-color: $table-dark-color !default; +$table-dark-hover-bg: rgba($white, .075) !default; +$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default; + +$table-striped-order: odd !default; + +$table-caption-color: $text-muted !default; + +$table-bg-level: -9 !default; +$table-border-level: -6 !default; + + +// Buttons + Forms +// +// Shared variables that are reassigned to `$input-` and `$btn-` specific variables. + +$input-btn-padding-y: .375rem !default; +$input-btn-padding-x: .75rem !default; +$input-btn-font-family: null !default; +$input-btn-font-size: $font-size-base !default; +$input-btn-line-height: $line-height-base !default; + +$input-btn-focus-width: .2rem !default; +$input-btn-focus-color: rgba($component-active-bg, .25) !default; +$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default; + +$input-btn-padding-y-sm: .25rem !default; +$input-btn-padding-x-sm: .5rem !default; +$input-btn-font-size-sm: $font-size-sm !default; +$input-btn-line-height-sm: $line-height-sm !default; + +$input-btn-padding-y-lg: .5rem !default; +$input-btn-padding-x-lg: 1rem !default; +$input-btn-font-size-lg: $font-size-lg !default; +$input-btn-line-height-lg: $line-height-lg !default; + +$input-btn-border-width: $border-width !default; + + +// Buttons +// +// For each of Bootstrap's buttons, define text, background, and border color. + +$btn-padding-y: $input-btn-padding-y !default; +$btn-padding-x: $input-btn-padding-x !default; +$btn-font-family: $input-btn-font-family !default; +$btn-font-size: $input-btn-font-size !default; +$btn-line-height: $input-btn-line-height !default; +$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping + +$btn-padding-y-sm: $input-btn-padding-y-sm !default; +$btn-padding-x-sm: $input-btn-padding-x-sm !default; +$btn-font-size-sm: $input-btn-font-size-sm !default; +$btn-line-height-sm: $input-btn-line-height-sm !default; + +$btn-padding-y-lg: $input-btn-padding-y-lg !default; +$btn-padding-x-lg: $input-btn-padding-x-lg !default; +$btn-font-size-lg: $input-btn-font-size-lg !default; +$btn-line-height-lg: $input-btn-line-height-lg !default; + +$btn-border-width: $input-btn-border-width !default; + +$btn-font-weight: $font-weight-normal !default; +$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default; +$btn-focus-width: $input-btn-focus-width !default; +$btn-focus-box-shadow: $input-btn-focus-box-shadow !default; +$btn-disabled-opacity: .65 !default; +$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default; + +$btn-link-disabled-color: $gray-600 !default; + +$btn-block-spacing-y: .5rem !default; + +// Allows for customizing button radius independently from global border radius +$btn-border-radius: $border-radius !default; +$btn-border-radius-lg: $border-radius-lg !default; +$btn-border-radius-sm: $border-radius-sm !default; + +$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default; + + +// Forms + +$label-margin-bottom: .5rem !default; + +$input-padding-y: $input-btn-padding-y !default; +$input-padding-x: $input-btn-padding-x !default; +$input-font-family: $input-btn-font-family !default; +$input-font-size: $input-btn-font-size !default; +$input-font-weight: $font-weight-base !default; +$input-line-height: $input-btn-line-height !default; + +$input-padding-y-sm: $input-btn-padding-y-sm !default; +$input-padding-x-sm: $input-btn-padding-x-sm !default; +$input-font-size-sm: $input-btn-font-size-sm !default; +$input-line-height-sm: $input-btn-line-height-sm !default; + +$input-padding-y-lg: $input-btn-padding-y-lg !default; +$input-padding-x-lg: $input-btn-padding-x-lg !default; +$input-font-size-lg: $input-btn-font-size-lg !default; +$input-line-height-lg: $input-btn-line-height-lg !default; + +$input-bg: $white !default; +$input-disabled-bg: $gray-200 !default; + +$input-color: $gray-700 !default; +$input-border-color: $gray-400 !default; +$input-border-width: $input-btn-border-width !default; +$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default; + +$input-border-radius: $border-radius !default; +$input-border-radius-lg: $border-radius-lg !default; +$input-border-radius-sm: $border-radius-sm !default; + +$input-focus-bg: $input-bg !default; +$input-focus-border-color: lighten($component-active-bg, 25%) !default; +$input-focus-color: $input-color !default; +$input-focus-width: $input-btn-focus-width !default; +$input-focus-box-shadow: $input-btn-focus-box-shadow !default; + +$input-placeholder-color: $gray-600 !default; +$input-plaintext-color: $body-color !default; + +$input-height-border: $input-border-width * 2 !default; + +$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default; +$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default; +$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default; + +$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default; +$input-height-sm: add($input-line-height-sm * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default; +$input-height-lg: add($input-line-height-lg * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default; + +$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default; + +$form-text-margin-top: .25rem !default; + +$form-check-input-gutter: 1.25rem !default; +$form-check-input-margin-y: .3rem !default; +$form-check-input-margin-x: .25rem !default; + +$form-check-inline-margin-x: .75rem !default; +$form-check-inline-input-margin-x: .3125rem !default; + +$form-grid-gutter-width: 10px !default; +$form-group-margin-bottom: 1rem !default; + +$input-group-addon-color: $input-color !default; +$input-group-addon-bg: $gray-200 !default; +$input-group-addon-border-color: $input-border-color !default; + +$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default; + +$custom-control-gutter: .5rem !default; +$custom-control-spacer-x: 1rem !default; +$custom-control-cursor: null !default; + +$custom-control-indicator-size: 1rem !default; +$custom-control-indicator-bg: $input-bg !default; + +$custom-control-indicator-bg-size: 50% 50% !default; +$custom-control-indicator-box-shadow: $input-box-shadow !default; +$custom-control-indicator-border-color: $gray-500 !default; +$custom-control-indicator-border-width: $input-border-width !default; + +$custom-control-label-color: null !default; + +$custom-control-indicator-disabled-bg: $input-disabled-bg !default; +$custom-control-label-disabled-color: $gray-600 !default; + +$custom-control-indicator-checked-color: $component-active-color !default; +$custom-control-indicator-checked-bg: $component-active-bg !default; +$custom-control-indicator-checked-disabled-bg: rgba(theme-color("primary"), .5) !default; +$custom-control-indicator-checked-box-shadow: none !default; +$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default; + +$custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default; +$custom-control-indicator-focus-border-color: $input-focus-border-color !default; + +$custom-control-indicator-active-color: $component-active-color !default; +$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default; +$custom-control-indicator-active-box-shadow: none !default; +$custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default; + +$custom-checkbox-indicator-border-radius: $border-radius !default; +$custom-checkbox-indicator-icon-checked: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/></svg>") !default; + +$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default; +$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default; +$custom-checkbox-indicator-icon-indeterminate: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'><path stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/></svg>") !default; +$custom-checkbox-indicator-indeterminate-box-shadow: none !default; +$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default; + +$custom-radio-indicator-border-radius: 50% !default; +$custom-radio-indicator-icon-checked: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'><circle r='3' fill='#{$custom-control-indicator-checked-color}'/></svg>") !default; + +$custom-switch-width: $custom-control-indicator-size * 1.75 !default; +$custom-switch-indicator-border-radius: $custom-control-indicator-size / 2 !default; +$custom-switch-indicator-size: subtract($custom-control-indicator-size, $custom-control-indicator-border-width * 4) !default; + +$custom-select-padding-y: $input-padding-y !default; +$custom-select-padding-x: $input-padding-x !default; +$custom-select-font-family: $input-font-family !default; +$custom-select-font-size: $input-font-size !default; +$custom-select-height: $input-height !default; +$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator +$custom-select-font-weight: $input-font-weight !default; +$custom-select-line-height: $input-line-height !default; +$custom-select-color: $input-color !default; +$custom-select-disabled-color: $gray-600 !default; +$custom-select-bg: $input-bg !default; +$custom-select-disabled-bg: $gray-200 !default; +$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions +$custom-select-indicator-color: $gray-800 !default; +$custom-select-indicator: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'><path fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/></svg>") !default; +$custom-select-background: escape-svg($custom-select-indicator) no-repeat right $custom-select-padding-x center / $custom-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon) + +$custom-select-feedback-icon-padding-right: add(1em * .75, (2 * $custom-select-padding-y * .75) + $custom-select-padding-x + $custom-select-indicator-padding) !default; +$custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default; +$custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default; + +$custom-select-border-width: $input-border-width !default; +$custom-select-border-color: $input-border-color !default; +$custom-select-border-radius: $border-radius !default; +$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default; + +$custom-select-focus-border-color: $input-focus-border-color !default; +$custom-select-focus-width: $input-focus-width !default; +$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width $input-btn-focus-color !default; + +$custom-select-padding-y-sm: $input-padding-y-sm !default; +$custom-select-padding-x-sm: $input-padding-x-sm !default; +$custom-select-font-size-sm: $input-font-size-sm !default; +$custom-select-height-sm: $input-height-sm !default; + +$custom-select-padding-y-lg: $input-padding-y-lg !default; +$custom-select-padding-x-lg: $input-padding-x-lg !default; +$custom-select-font-size-lg: $input-font-size-lg !default; +$custom-select-height-lg: $input-height-lg !default; + +$custom-range-track-width: 100% !default; +$custom-range-track-height: .5rem !default; +$custom-range-track-cursor: pointer !default; +$custom-range-track-bg: $gray-300 !default; +$custom-range-track-border-radius: 1rem !default; +$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default; + +$custom-range-thumb-width: 1rem !default; +$custom-range-thumb-height: $custom-range-thumb-width !default; +$custom-range-thumb-bg: $component-active-bg !default; +$custom-range-thumb-border: 0 !default; +$custom-range-thumb-border-radius: 1rem !default; +$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default; +$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default; +$custom-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge +$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default; +$custom-range-thumb-disabled-bg: $gray-500 !default; + +$custom-file-height: $input-height !default; +$custom-file-height-inner: $input-height-inner !default; +$custom-file-focus-border-color: $input-focus-border-color !default; +$custom-file-focus-box-shadow: $input-focus-box-shadow !default; +$custom-file-disabled-bg: $input-disabled-bg !default; + +$custom-file-padding-y: $input-padding-y !default; +$custom-file-padding-x: $input-padding-x !default; +$custom-file-line-height: $input-line-height !default; +$custom-file-font-family: $input-font-family !default; +$custom-file-font-weight: $input-font-weight !default; +$custom-file-color: $input-color !default; +$custom-file-bg: $input-bg !default; +$custom-file-border-width: $input-border-width !default; +$custom-file-border-color: $input-border-color !default; +$custom-file-border-radius: $input-border-radius !default; +$custom-file-box-shadow: $input-box-shadow !default; +$custom-file-button-color: $custom-file-color !default; +$custom-file-button-bg: $input-group-addon-bg !default; +$custom-file-text: ( + en: "Browse" +) !default; + + +// Form validation + +$form-feedback-margin-top: $form-text-margin-top !default; +$form-feedback-font-size: $small-font-size !default; +$form-feedback-valid-color: theme-color("success") !default; +$form-feedback-invalid-color: theme-color("danger") !default; + +$form-feedback-icon-valid-color: $form-feedback-valid-color !default; +$form-feedback-icon-valid: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/></svg>") !default; +$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default; +$form-feedback-icon-invalid: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>") !default; + +$form-validation-states: () !default; +// stylelint-disable-next-line scss/dollar-variable-default +$form-validation-states: map-merge( + ( + "valid": ( + "color": $form-feedback-valid-color, + "icon": $form-feedback-icon-valid + ), + "invalid": ( + "color": $form-feedback-invalid-color, + "icon": $form-feedback-icon-invalid + ), + ), + $form-validation-states +); + +// Z-index master list +// +// Warning: Avoid customizing these values. They're used for a bird's eye view +// of components dependent on the z-axis and are designed to all work together. + +$zindex-dropdown: 1000 !default; +$zindex-sticky: 1020 !default; +$zindex-fixed: 1030 !default; +$zindex-modal-backdrop: 1040 !default; +$zindex-modal: 1050 !default; +$zindex-popover: 1060 !default; +$zindex-tooltip: 1070 !default; + + +// Navs + +$nav-link-padding-y: .5rem !default; +$nav-link-padding-x: 1rem !default; +$nav-link-disabled-color: $gray-600 !default; + +$nav-tabs-border-color: $gray-300 !default; +$nav-tabs-border-width: $border-width !default; +$nav-tabs-border-radius: $border-radius !default; +$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default; +$nav-tabs-link-active-color: $gray-700 !default; +$nav-tabs-link-active-bg: $body-bg !default; +$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default; + +$nav-pills-border-radius: $border-radius !default; +$nav-pills-link-active-color: $component-active-color !default; +$nav-pills-link-active-bg: $component-active-bg !default; + +$nav-divider-color: $gray-200 !default; +$nav-divider-margin-y: $spacer / 2 !default; + + +// Navbar + +$navbar-padding-y: $spacer / 2 !default; +$navbar-padding-x: $spacer !default; + +$navbar-nav-link-padding-x: .5rem !default; + +$navbar-brand-font-size: $font-size-lg !default; +// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link +$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default; +$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default; +$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default; + +$navbar-toggler-padding-y: .25rem !default; +$navbar-toggler-padding-x: .75rem !default; +$navbar-toggler-font-size: $font-size-lg !default; +$navbar-toggler-border-radius: $btn-border-radius !default; + +$navbar-dark-color: rgba($white, .5) !default; +$navbar-dark-hover-color: rgba($white, .75) !default; +$navbar-dark-active-color: $white !default; +$navbar-dark-disabled-color: rgba($white, .25) !default; +$navbar-dark-toggler-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>") !default; +$navbar-dark-toggler-border-color: rgba($white, .1) !default; + +$navbar-light-color: rgba($black, .5) !default; +$navbar-light-hover-color: rgba($black, .7) !default; +$navbar-light-active-color: rgba($black, .9) !default; +$navbar-light-disabled-color: rgba($black, .3) !default; +$navbar-light-toggler-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>") !default; +$navbar-light-toggler-border-color: rgba($black, .1) !default; + +$navbar-light-brand-color: $navbar-light-active-color !default; +$navbar-light-brand-hover-color: $navbar-light-active-color !default; +$navbar-dark-brand-color: $navbar-dark-active-color !default; +$navbar-dark-brand-hover-color: $navbar-dark-active-color !default; + + +// Dropdowns +// +// Dropdown menu container and contents. + +$dropdown-min-width: 10rem !default; +$dropdown-padding-y: .5rem !default; +$dropdown-spacer: .125rem !default; +$dropdown-font-size: $font-size-base !default; +$dropdown-color: $body-color !default; +$dropdown-bg: $white !default; +$dropdown-border-color: rgba($black, .15) !default; +$dropdown-border-radius: $border-radius !default; +$dropdown-border-width: $border-width !default; +$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default; +$dropdown-divider-bg: $gray-200 !default; +$dropdown-divider-margin-y: $nav-divider-margin-y !default; +$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default; + +$dropdown-link-color: $gray-900 !default; +$dropdown-link-hover-color: darken($gray-900, 5%) !default; +$dropdown-link-hover-bg: $gray-100 !default; + +$dropdown-link-active-color: $component-active-color !default; +$dropdown-link-active-bg: $component-active-bg !default; + +$dropdown-link-disabled-color: $gray-600 !default; + +$dropdown-item-padding-y: .25rem !default; +$dropdown-item-padding-x: 1.5rem !default; + +$dropdown-header-color: $gray-600 !default; + + +// Pagination + +$pagination-padding-y: .5rem !default; +$pagination-padding-x: .75rem !default; +$pagination-padding-y-sm: .25rem !default; +$pagination-padding-x-sm: .5rem !default; +$pagination-padding-y-lg: .75rem !default; +$pagination-padding-x-lg: 1.5rem !default; +$pagination-line-height: 1.25 !default; + +$pagination-color: $link-color !default; +$pagination-bg: $white !default; +$pagination-border-width: $border-width !default; +$pagination-border-color: $gray-300 !default; + +$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default; +$pagination-focus-outline: 0 !default; + +$pagination-hover-color: $link-hover-color !default; +$pagination-hover-bg: $gray-200 !default; +$pagination-hover-border-color: $gray-300 !default; + +$pagination-active-color: $component-active-color !default; +$pagination-active-bg: $component-active-bg !default; +$pagination-active-border-color: $pagination-active-bg !default; + +$pagination-disabled-color: $gray-600 !default; +$pagination-disabled-bg: $white !default; +$pagination-disabled-border-color: $gray-300 !default; + + +// Jumbotron + +$jumbotron-padding: 2rem !default; +$jumbotron-color: null !default; +$jumbotron-bg: $gray-200 !default; + + +// Cards + +$card-spacer-y: .75rem !default; +$card-spacer-x: 1.25rem !default; +$card-border-width: $border-width !default; +$card-border-radius: $border-radius !default; +$card-border-color: rgba($black, .125) !default; +$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default; +$card-cap-bg: rgba($black, .03) !default; +$card-cap-color: null !default; +$card-height: null !default; +$card-color: null !default; +$card-bg: $white !default; + +$card-img-overlay-padding: 1.25rem !default; + +$card-group-margin: $grid-gutter-width / 2 !default; +$card-deck-margin: $card-group-margin !default; + +$card-columns-count: 3 !default; +$card-columns-gap: 1.25rem !default; +$card-columns-margin: $card-spacer-y !default; + + +// Tooltips + +$tooltip-font-size: $font-size-sm !default; +$tooltip-max-width: 200px !default; +$tooltip-color: $white !default; +$tooltip-bg: $black !default; +$tooltip-border-radius: $border-radius !default; +$tooltip-opacity: .9 !default; +$tooltip-padding-y: .25rem !default; +$tooltip-padding-x: .5rem !default; +$tooltip-margin: 0 !default; + +$tooltip-arrow-width: .8rem !default; +$tooltip-arrow-height: .4rem !default; +$tooltip-arrow-color: $tooltip-bg !default; + +// Form tooltips must come after regular tooltips +$form-feedback-tooltip-padding-y: $tooltip-padding-y !default; +$form-feedback-tooltip-padding-x: $tooltip-padding-x !default; +$form-feedback-tooltip-font-size: $tooltip-font-size !default; +$form-feedback-tooltip-line-height: $line-height-base !default; +$form-feedback-tooltip-opacity: $tooltip-opacity !default; +$form-feedback-tooltip-border-radius: $tooltip-border-radius !default; + + +// Popovers + +$popover-font-size: $font-size-sm !default; +$popover-bg: $white !default; +$popover-max-width: 276px !default; +$popover-border-width: $border-width !default; +$popover-border-color: rgba($black, .2) !default; +$popover-border-radius: $border-radius-lg !default; +$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default; +$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default; + +$popover-header-bg: darken($popover-bg, 3%) !default; +$popover-header-color: $headings-color !default; +$popover-header-padding-y: .5rem !default; +$popover-header-padding-x: .75rem !default; + +$popover-body-color: $body-color !default; +$popover-body-padding-y: $popover-header-padding-y !default; +$popover-body-padding-x: $popover-header-padding-x !default; + +$popover-arrow-width: 1rem !default; +$popover-arrow-height: .5rem !default; +$popover-arrow-color: $popover-bg !default; + +$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default; + + +// Toasts + +$toast-max-width: 350px !default; +$toast-padding-x: .75rem !default; +$toast-padding-y: .25rem !default; +$toast-font-size: .875rem !default; +$toast-color: null !default; +$toast-background-color: rgba($white, .85) !default; +$toast-border-width: 1px !default; +$toast-border-color: rgba(0, 0, 0, .1) !default; +$toast-border-radius: .25rem !default; +$toast-box-shadow: 0 .25rem .75rem rgba($black, .1) !default; + +$toast-header-color: $gray-600 !default; +$toast-header-background-color: rgba($white, .85) !default; +$toast-header-border-color: rgba(0, 0, 0, .05) !default; + + +// Badges + +$badge-font-size: 75% !default; +$badge-font-weight: $font-weight-bold !default; +$badge-padding-y: .25em !default; +$badge-padding-x: .4em !default; +$badge-border-radius: $border-radius !default; + +$badge-transition: $btn-transition !default; +$badge-focus-width: $input-btn-focus-width !default; + +$badge-pill-padding-x: .6em !default; +// Use a higher than normal value to ensure completely rounded edges when +// customizing padding or font-size on labels. +$badge-pill-border-radius: 10rem !default; + + +// Modals + +// Padding applied to the modal body +$modal-inner-padding: 1rem !default; + +// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding +$modal-footer-margin-between: .5rem !default; + +$modal-dialog-margin: .5rem !default; +$modal-dialog-margin-y-sm-up: 1.75rem !default; + +$modal-title-line-height: $line-height-base !default; + +$modal-content-color: null !default; +$modal-content-bg: $white !default; +$modal-content-border-color: rgba($black, .2) !default; +$modal-content-border-width: $border-width !default; +$modal-content-border-radius: $border-radius-lg !default; +$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default; +$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default; +$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default; + +$modal-backdrop-bg: $black !default; +$modal-backdrop-opacity: .5 !default; +$modal-header-border-color: $border-color !default; +$modal-footer-border-color: $modal-header-border-color !default; +$modal-header-border-width: $modal-content-border-width !default; +$modal-footer-border-width: $modal-header-border-width !default; +$modal-header-padding-y: 1rem !default; +$modal-header-padding-x: 1rem !default; +$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility + +$modal-xl: 1140px !default; +$modal-lg: 800px !default; +$modal-md: 500px !default; +$modal-sm: 300px !default; + +$modal-fade-transform: translate(0, -50px) !default; +$modal-show-transform: none !default; +$modal-transition: transform .3s ease-out !default; +$modal-scale-transform: scale(1.02) !default; + + +// Alerts +// +// Define alert colors, border radius, and padding. + +$alert-padding-y: .75rem !default; +$alert-padding-x: 1.25rem !default; +$alert-margin-bottom: 1rem !default; +$alert-border-radius: $border-radius !default; +$alert-link-font-weight: $font-weight-bold !default; +$alert-border-width: $border-width !default; + +$alert-bg-level: -10 !default; +$alert-border-level: -9 !default; +$alert-color-level: 6 !default; + + +// Progress bars + +$progress-height: 1rem !default; +$progress-font-size: $font-size-base * .75 !default; +$progress-bg: $gray-200 !default; +$progress-border-radius: $border-radius !default; +$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default; +$progress-bar-color: $white !default; +$progress-bar-bg: theme-color("primary") !default; +$progress-bar-animation-timing: 1s linear infinite !default; +$progress-bar-transition: width .6s ease !default; + + +// List group + +$list-group-color: null !default; +$list-group-bg: $white !default; +$list-group-border-color: rgba($black, .125) !default; +$list-group-border-width: $border-width !default; +$list-group-border-radius: $border-radius !default; + +$list-group-item-padding-y: .75rem !default; +$list-group-item-padding-x: 1.25rem !default; + +$list-group-hover-bg: $gray-100 !default; +$list-group-active-color: $component-active-color !default; +$list-group-active-bg: $component-active-bg !default; +$list-group-active-border-color: $list-group-active-bg !default; + +$list-group-disabled-color: $gray-600 !default; +$list-group-disabled-bg: $list-group-bg !default; + +$list-group-action-color: $gray-700 !default; +$list-group-action-hover-color: $list-group-action-color !default; + +$list-group-action-active-color: $body-color !default; +$list-group-action-active-bg: $gray-200 !default; + + +// Image thumbnails + +$thumbnail-padding: .25rem !default; +$thumbnail-bg: $body-bg !default; +$thumbnail-border-width: $border-width !default; +$thumbnail-border-color: $gray-300 !default; +$thumbnail-border-radius: $border-radius !default; +$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default; + + +// Figures + +$figure-caption-font-size: 90% !default; +$figure-caption-color: $gray-600 !default; + + +// Breadcrumbs + +$breadcrumb-font-size: null !default; + +$breadcrumb-padding-y: .75rem !default; +$breadcrumb-padding-x: 1rem !default; +$breadcrumb-item-padding: .5rem !default; + +$breadcrumb-margin-bottom: 1rem !default; + +$breadcrumb-bg: $gray-200 !default; +$breadcrumb-divider-color: $gray-600 !default; +$breadcrumb-active-color: $gray-600 !default; +$breadcrumb-divider: quote("/") !default; + +$breadcrumb-border-radius: $border-radius !default; + + +// Carousel + +$carousel-control-color: $white !default; +$carousel-control-width: 15% !default; +$carousel-control-opacity: .5 !default; +$carousel-control-hover-opacity: .9 !default; +$carousel-control-transition: opacity .15s ease !default; + +$carousel-indicator-width: 30px !default; +$carousel-indicator-height: 3px !default; +$carousel-indicator-hit-area-height: 10px !default; +$carousel-indicator-spacer: 3px !default; +$carousel-indicator-active-bg: $white !default; +$carousel-indicator-transition: opacity .6s ease !default; + +$carousel-caption-width: 70% !default; +$carousel-caption-color: $white !default; + +$carousel-control-icon-width: 20px !default; + +$carousel-control-prev-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' width='8' height='8' viewBox='0 0 8 8'><path d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/></svg>") !default; +$carousel-control-next-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' width='8' height='8' viewBox='0 0 8 8'><path d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/></svg>") !default; + +$carousel-transition-duration: .6s !default; +$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`) + + +// Spinners + +$spinner-width: 2rem !default; +$spinner-height: $spinner-width !default; +$spinner-border-width: .25em !default; + +$spinner-width-sm: 1rem !default; +$spinner-height-sm: $spinner-width-sm !default; +$spinner-border-width-sm: .2em !default; + + +// Close + +$close-font-size: $font-size-base * 1.5 !default; +$close-font-weight: $font-weight-bold !default; +$close-color: $black !default; +$close-text-shadow: 0 1px 0 $white !default; + + +// Code + +$code-font-size: 87.5% !default; +$code-color: $pink !default; + +$kbd-padding-y: .2rem !default; +$kbd-padding-x: .4rem !default; +$kbd-font-size: $code-font-size !default; +$kbd-color: $white !default; +$kbd-bg: $gray-900 !default; + +$pre-color: $gray-900 !default; +$pre-scrollable-max-height: 340px !default; + + +// Utilities + +$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default; +$overflows: auto, hidden !default; +$positions: static, relative, absolute, fixed, sticky !default; + + +// Printing + +$print-page-size: a3 !default; +$print-body-min-width: map-get($grid-breakpoints, "lg") !default; diff --git a/_scss/bootstrap/bootstrap-grid.scss b/_scss/bootstrap/bootstrap-grid.scss new file mode 100644 index 0000000000000000000000000000000000000000..33e1376b362ecf5b56f22a3a6ab27d8a74dbc57b --- /dev/null +++ b/_scss/bootstrap/bootstrap-grid.scss @@ -0,0 +1,29 @@ +/*! + * Bootstrap Grid v4.4.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +html { + box-sizing: border-box; + -ms-overflow-style: scrollbar; +} + +*, +*::before, +*::after { + box-sizing: inherit; +} + +@import "functions"; +@import "variables"; + +@import "mixins/breakpoints"; +@import "mixins/grid-framework"; +@import "mixins/grid"; + +@import "grid"; +@import "utilities/display"; +@import "utilities/flex"; +@import "utilities/spacing"; diff --git a/_scss/bootstrap/bootstrap-reboot.scss b/_scss/bootstrap/bootstrap-reboot.scss new file mode 100644 index 0000000000000000000000000000000000000000..5dd6f846b44d9c6e086711ad3123c0271bb17554 --- /dev/null +++ b/_scss/bootstrap/bootstrap-reboot.scss @@ -0,0 +1,12 @@ +/*! + * Bootstrap Reboot v4.4.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) + */ + +@import "functions"; +@import "variables"; +@import "mixins"; +@import "reboot"; diff --git a/_scss/bootstrap/bootstrap.scss b/_scss/bootstrap/bootstrap.scss new file mode 100644 index 0000000000000000000000000000000000000000..881e4d869a56e6c9050bbbcdae90ab16f1c1d84b --- /dev/null +++ b/_scss/bootstrap/bootstrap.scss @@ -0,0 +1,44 @@ +/*! + * Bootstrap v4.4.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +@import "functions"; +@import "variables"; +@import "mixins"; +@import "root"; +@import "reboot"; +@import "type"; +@import "images"; +@import "code"; +@import "grid"; +@import "tables"; +@import "forms"; +@import "buttons"; +@import "transitions"; +@import "dropdown"; +@import "button-group"; +@import "input-group"; +@import "custom-forms"; +@import "nav"; +@import "navbar"; +@import "card"; +@import "breadcrumb"; +@import "pagination"; +@import "badge"; +@import "jumbotron"; +@import "alert"; +@import "progress"; +@import "media"; +@import "list-group"; +@import "close"; +@import "toasts"; +@import "modal"; +@import "tooltip"; +@import "popover"; +@import "carousel"; +@import "spinners"; +@import "utilities"; +@import "print"; diff --git a/_scss/bootstrap/mixins/_alert.scss b/_scss/bootstrap/mixins/_alert.scss new file mode 100644 index 0000000000000000000000000000000000000000..db5a7eb4549ec1406985347113efa74287a2f219 --- /dev/null +++ b/_scss/bootstrap/mixins/_alert.scss @@ -0,0 +1,13 @@ +@mixin alert-variant($background, $border, $color) { + color: $color; + @include gradient-bg($background); + border-color: $border; + + hr { + border-top-color: darken($border, 5%); + } + + .alert-link { + color: darken($color, 10%); + } +} diff --git a/_scss/bootstrap/mixins/_background-variant.scss b/_scss/bootstrap/mixins/_background-variant.scss new file mode 100644 index 0000000000000000000000000000000000000000..3ceb5c5639dee03daaf0094ccb362d353f4e1731 --- /dev/null +++ b/_scss/bootstrap/mixins/_background-variant.scss @@ -0,0 +1,22 @@ +// stylelint-disable declaration-no-important + +// Contextual backgrounds + +@mixin bg-variant($parent, $color, $ignore-warning: false) { + #{$parent} { + background-color: $color !important; + } + a#{$parent}, + button#{$parent} { + @include hover-focus() { + background-color: darken($color, 10%) !important; + } + } + @include deprecate("The `bg-variant` mixin", "v4.4.0", "v5", $ignore-warning); +} + +@mixin bg-gradient-variant($parent, $color) { + #{$parent} { + background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important; + } +} diff --git a/_scss/bootstrap/mixins/_badge.scss b/_scss/bootstrap/mixins/_badge.scss new file mode 100644 index 0000000000000000000000000000000000000000..f1c499141accb569142e67a5ffff52ea1fb22cf1 --- /dev/null +++ b/_scss/bootstrap/mixins/_badge.scss @@ -0,0 +1,17 @@ +@mixin badge-variant($bg) { + color: color-yiq($bg); + background-color: $bg; + + @at-root a#{&} { + @include hover-focus() { + color: color-yiq($bg); + background-color: darken($bg, 10%); + } + + &:focus, + &.focus { + outline: 0; + box-shadow: 0 0 0 $badge-focus-width rgba($bg, .5); + } + } +} diff --git a/_scss/bootstrap/mixins/_border-radius.scss b/_scss/bootstrap/mixins/_border-radius.scss new file mode 100644 index 0000000000000000000000000000000000000000..88aeb37d818c3fa50abf6f27e9be69b87d5db40b --- /dev/null +++ b/_scss/bootstrap/mixins/_border-radius.scss @@ -0,0 +1,63 @@ +// stylelint-disable property-blacklist +// Single side border-radius + +@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) { + @if $enable-rounded { + border-radius: $radius; + } + @else if $fallback-border-radius != false { + border-radius: $fallback-border-radius; + } +} + +@mixin border-top-radius($radius) { + @if $enable-rounded { + border-top-left-radius: $radius; + border-top-right-radius: $radius; + } +} + +@mixin border-right-radius($radius) { + @if $enable-rounded { + border-top-right-radius: $radius; + border-bottom-right-radius: $radius; + } +} + +@mixin border-bottom-radius($radius) { + @if $enable-rounded { + border-bottom-right-radius: $radius; + border-bottom-left-radius: $radius; + } +} + +@mixin border-left-radius($radius) { + @if $enable-rounded { + border-top-left-radius: $radius; + border-bottom-left-radius: $radius; + } +} + +@mixin border-top-left-radius($radius) { + @if $enable-rounded { + border-top-left-radius: $radius; + } +} + +@mixin border-top-right-radius($radius) { + @if $enable-rounded { + border-top-right-radius: $radius; + } +} + +@mixin border-bottom-right-radius($radius) { + @if $enable-rounded { + border-bottom-right-radius: $radius; + } +} + +@mixin border-bottom-left-radius($radius) { + @if $enable-rounded { + border-bottom-left-radius: $radius; + } +} diff --git a/_scss/bootstrap/mixins/_box-shadow.scss b/_scss/bootstrap/mixins/_box-shadow.scss new file mode 100644 index 0000000000000000000000000000000000000000..0726d4359a8f30eef0d0ca097a17994456343675 --- /dev/null +++ b/_scss/bootstrap/mixins/_box-shadow.scss @@ -0,0 +1,20 @@ +@mixin box-shadow($shadow...) { + @if $enable-shadows { + $result: (); + + @if (length($shadow) == 1) { + // We can pass `@include box-shadow(none);` + $result: $shadow; + } @else { + // Filter to avoid invalid properties for example `box-shadow: none, 1px 1px black;` + @for $i from 1 through length($shadow) { + @if nth($shadow, $i) != "none" { + $result: append($result, nth($shadow, $i), "comma"); + } + } + } + @if (length($result) > 0) { + box-shadow: $result; + } + } +} diff --git a/_scss/bootstrap/mixins/_breakpoints.scss b/_scss/bootstrap/mixins/_breakpoints.scss new file mode 100644 index 0000000000000000000000000000000000000000..23a5de96be0dfd0bcbf342a67ef62b1039500a77 --- /dev/null +++ b/_scss/bootstrap/mixins/_breakpoints.scss @@ -0,0 +1,123 @@ +// Breakpoint viewport sizes and media queries. +// +// Breakpoints are defined as a map of (name: minimum width), order from small to large: +// +// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px) +// +// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default. + +// Name of the next breakpoint, or null for the last breakpoint. +// +// >> breakpoint-next(sm) +// md +// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)) +// md +// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl)) +// md +@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) { + $n: index($breakpoint-names, $name); + @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null); +} + +// Minimum breakpoint width. Null for the smallest (first) breakpoint. +// +// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)) +// 576px +@function breakpoint-min($name, $breakpoints: $grid-breakpoints) { + $min: map-get($breakpoints, $name); + @return if($min != 0, $min, null); +} + +// Maximum breakpoint width. Null for the largest (last) breakpoint. +// The maximum value is calculated as the minimum of the next one less 0.02px +// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths. +// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max +// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari. +// See https://bugs.webkit.org/show_bug.cgi?id=178261 +// +// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)) +// 767.98px +@function breakpoint-max($name, $breakpoints: $grid-breakpoints) { + $next: breakpoint-next($name, $breakpoints); + @return if($next, breakpoint-min($next, $breakpoints) - .02, null); +} + +// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front. +// Useful for making responsive utilities. +// +// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)) +// "" (Returns a blank string) +// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)) +// "-sm" +@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) { + @return if(breakpoint-min($name, $breakpoints) == null, "", "-#{$name}"); +} + +// Media of at least the minimum breakpoint width. No query for the smallest breakpoint. +// Makes the @content apply to the given breakpoint and wider. +@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) { + $min: breakpoint-min($name, $breakpoints); + @if $min { + @media (min-width: $min) { + @content; + } + } @else { + @content; + } +} + +// Media of at most the maximum breakpoint width. No query for the largest breakpoint. +// Makes the @content apply to the given breakpoint and narrower. +@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) { + $max: breakpoint-max($name, $breakpoints); + @if $max { + @media (max-width: $max) { + @content; + } + } @else { + @content; + } +} + +// Media that spans multiple breakpoint widths. +// Makes the @content apply between the min and max breakpoints +@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) { + $min: breakpoint-min($lower, $breakpoints); + $max: breakpoint-max($upper, $breakpoints); + + @if $min != null and $max != null { + @media (min-width: $min) and (max-width: $max) { + @content; + } + } @else if $max == null { + @include media-breakpoint-up($lower, $breakpoints) { + @content; + } + } @else if $min == null { + @include media-breakpoint-down($upper, $breakpoints) { + @content; + } + } +} + +// Media between the breakpoint's minimum and maximum widths. +// No minimum for the smallest breakpoint, and no maximum for the largest one. +// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower. +@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) { + $min: breakpoint-min($name, $breakpoints); + $max: breakpoint-max($name, $breakpoints); + + @if $min != null and $max != null { + @media (min-width: $min) and (max-width: $max) { + @content; + } + } @else if $max == null { + @include media-breakpoint-up($name, $breakpoints) { + @content; + } + } @else if $min == null { + @include media-breakpoint-down($name, $breakpoints) { + @content; + } + } +} diff --git a/_scss/bootstrap/mixins/_buttons.scss b/_scss/bootstrap/mixins/_buttons.scss new file mode 100644 index 0000000000000000000000000000000000000000..c82c4d6d094f86818386931af861ddcbb460936f --- /dev/null +++ b/_scss/bootstrap/mixins/_buttons.scss @@ -0,0 +1,110 @@ +// Button variants +// +// Easily pump out default styles, as well as :hover, :focus, :active, +// and disabled options for all buttons + +@mixin button-variant($background, $border, $hover-background: darken($background, 7.5%), $hover-border: darken($border, 10%), $active-background: darken($background, 10%), $active-border: darken($border, 12.5%)) { + color: color-yiq($background); + @include gradient-bg($background); + border-color: $border; + @include box-shadow($btn-box-shadow); + + @include hover() { + color: color-yiq($hover-background); + @include gradient-bg($hover-background); + border-color: $hover-border; + } + + &:focus, + &.focus { + color: color-yiq($hover-background); + @include gradient-bg($hover-background); + border-color: $hover-border; + // Avoid using mixin so we can pass custom focus shadow properly + @if $enable-shadows { + box-shadow: $btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5); + } @else { + box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5); + } + } + + // Disabled comes first so active can properly restyle + &.disabled, + &:disabled { + color: color-yiq($background); + background-color: $background; + border-color: $border; + // Remove CSS gradients if they're enabled + @if $enable-gradients { + background-image: none; + } + } + + &:not(:disabled):not(.disabled):active, + &:not(:disabled):not(.disabled).active, + .show > &.dropdown-toggle { + color: color-yiq($active-background); + background-color: $active-background; + @if $enable-gradients { + background-image: none; // Remove the gradient for the pressed/active state + } + border-color: $active-border; + + &:focus { + // Avoid using mixin so we can pass custom focus shadow properly + @if $enable-shadows and $btn-active-box-shadow != none { + box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5); + } @else { + box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5); + } + } + } +} + +@mixin button-outline-variant($color, $color-hover: color-yiq($color), $active-background: $color, $active-border: $color) { + color: $color; + border-color: $color; + + @include hover() { + color: $color-hover; + background-color: $active-background; + border-color: $active-border; + } + + &:focus, + &.focus { + box-shadow: 0 0 0 $btn-focus-width rgba($color, .5); + } + + &.disabled, + &:disabled { + color: $color; + background-color: transparent; + } + + &:not(:disabled):not(.disabled):active, + &:not(:disabled):not(.disabled).active, + .show > &.dropdown-toggle { + color: color-yiq($active-background); + background-color: $active-background; + border-color: $active-border; + + &:focus { + // Avoid using mixin so we can pass custom focus shadow properly + @if $enable-shadows and $btn-active-box-shadow != none { + box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5); + } @else { + box-shadow: 0 0 0 $btn-focus-width rgba($color, .5); + } + } + } +} + +// Button sizes +@mixin button-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) { + padding: $padding-y $padding-x; + @include font-size($font-size); + line-height: $line-height; + // Manually declare to provide an override to the browser default + @include border-radius($border-radius, 0); +} diff --git a/_scss/bootstrap/mixins/_caret.scss b/_scss/bootstrap/mixins/_caret.scss new file mode 100644 index 0000000000000000000000000000000000000000..27466495b28aa9630b01cbe6aa625c8e5e5d0e12 --- /dev/null +++ b/_scss/bootstrap/mixins/_caret.scss @@ -0,0 +1,62 @@ +@mixin caret-down() { + border-top: $caret-width solid; + border-right: $caret-width solid transparent; + border-bottom: 0; + border-left: $caret-width solid transparent; +} + +@mixin caret-up() { + border-top: 0; + border-right: $caret-width solid transparent; + border-bottom: $caret-width solid; + border-left: $caret-width solid transparent; +} + +@mixin caret-right() { + border-top: $caret-width solid transparent; + border-right: 0; + border-bottom: $caret-width solid transparent; + border-left: $caret-width solid; +} + +@mixin caret-left() { + border-top: $caret-width solid transparent; + border-right: $caret-width solid; + border-bottom: $caret-width solid transparent; +} + +@mixin caret($direction: down) { + @if $enable-caret { + &::after { + display: inline-block; + margin-left: $caret-spacing; + vertical-align: $caret-vertical-align; + content: ""; + @if $direction == down { + @include caret-down(); + } @else if $direction == up { + @include caret-up(); + } @else if $direction == right { + @include caret-right(); + } + } + + @if $direction == left { + &::after { + display: none; + } + + &::before { + display: inline-block; + margin-right: $caret-spacing; + vertical-align: $caret-vertical-align; + content: ""; + @include caret-left(); + } + } + + &:empty::after { + margin-left: 0; + } + } +} diff --git a/_scss/bootstrap/mixins/_clearfix.scss b/_scss/bootstrap/mixins/_clearfix.scss new file mode 100644 index 0000000000000000000000000000000000000000..11a977b7373dab15046354e1b27b88f29acdf44f --- /dev/null +++ b/_scss/bootstrap/mixins/_clearfix.scss @@ -0,0 +1,7 @@ +@mixin clearfix() { + &::after { + display: block; + clear: both; + content: ""; + } +} diff --git a/_scss/bootstrap/mixins/_deprecate.scss b/_scss/bootstrap/mixins/_deprecate.scss new file mode 100644 index 0000000000000000000000000000000000000000..df070bc59634213b5f9d49b4d6169d61dd6ac40d --- /dev/null +++ b/_scss/bootstrap/mixins/_deprecate.scss @@ -0,0 +1,10 @@ +// Deprecate mixin +// +// This mixin can be used to deprecate mixins or functions. +// `$enable-deprecation-messages` is a global variable, `$ignore-warning` is a variable that can be passed to +// some deprecated mixins to suppress the warning (for example if the mixin is still be used in the current version of Bootstrap) +@mixin deprecate($name, $deprecate-version, $remove-version, $ignore-warning: false) { + @if ($enable-deprecation-messages != false and $ignore-warning != true) { + @warn "#{$name} has been deprecated as of #{$deprecate-version}. It will be removed entirely in #{$remove-version}."; + } +} diff --git a/_scss/bootstrap/mixins/_float.scss b/_scss/bootstrap/mixins/_float.scss new file mode 100644 index 0000000000000000000000000000000000000000..6b376a2580c8821ceceb09fc4ee1f274130510f8 --- /dev/null +++ b/_scss/bootstrap/mixins/_float.scss @@ -0,0 +1,14 @@ +// stylelint-disable declaration-no-important + +@mixin float-left() { + float: left !important; + @include deprecate("The `float-left` mixin", "v4.3.0", "v5"); +} +@mixin float-right() { + float: right !important; + @include deprecate("The `float-right` mixin", "v4.3.0", "v5"); +} +@mixin float-none() { + float: none !important; + @include deprecate("The `float-none` mixin", "v4.3.0", "v5"); +} diff --git a/_scss/bootstrap/mixins/_forms.scss b/_scss/bootstrap/mixins/_forms.scss new file mode 100644 index 0000000000000000000000000000000000000000..418470d0b44afb4ec135d562e79ca40e6ae06328 --- /dev/null +++ b/_scss/bootstrap/mixins/_forms.scss @@ -0,0 +1,177 @@ +// Form control focus state +// +// Generate a customized focus state and for any input with the specified color, +// which defaults to the `$input-focus-border-color` variable. +// +// We highly encourage you to not customize the default value, but instead use +// this to tweak colors on an as-needed basis. This aesthetic change is based on +// WebKit's default styles, but applicable to a wider range of browsers. Its +// usability and accessibility should be taken into account with any change. +// +// Example usage: change the default blue border and shadow to white for better +// contrast against a dark gray background. +@mixin form-control-focus($ignore-warning: false) { + &:focus { + color: $input-focus-color; + background-color: $input-focus-bg; + border-color: $input-focus-border-color; + outline: 0; + // Avoid using mixin so we can pass custom focus shadow properly + @if $enable-shadows { + box-shadow: $input-box-shadow, $input-focus-box-shadow; + } @else { + box-shadow: $input-focus-box-shadow; + } + } + @include deprecate("The `form-control-focus()` mixin", "v4.4.0", "v5", $ignore-warning); +} + +// This mixin uses an `if()` technique to be compatible with Dart Sass +// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details +@mixin form-validation-state-selector($state) { + @if ($state == "valid" or $state == "invalid") { + .was-validated #{if(&, "&", "")}:#{$state}, + #{if(&, "&", "")}.is-#{$state} { + @content; + } + } @else { + #{if(&, "&", "")}.is-#{$state} { + @content; + } + } +} + +@mixin form-validation-state($state, $color, $icon) { + .#{$state}-feedback { + display: none; + width: 100%; + margin-top: $form-feedback-margin-top; + @include font-size($form-feedback-font-size); + color: $color; + } + + .#{$state}-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; // Contain to parent when possible + padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x; + margin-top: .1rem; + @include font-size($form-feedback-tooltip-font-size); + line-height: $form-feedback-tooltip-line-height; + color: color-yiq($color); + background-color: rgba($color, $form-feedback-tooltip-opacity); + @include border-radius($form-feedback-tooltip-border-radius); + } + + @include form-validation-state-selector($state) { + ~ .#{$state}-feedback, + ~ .#{$state}-tooltip { + display: block; + } + } + + .form-control { + @include form-validation-state-selector($state) { + border-color: $color; + + @if $enable-validation-icons { + padding-right: $input-height-inner; + background-image: escape-svg($icon); + background-repeat: no-repeat; + background-position: right $input-height-inner-quarter center; + background-size: $input-height-inner-half $input-height-inner-half; + } + + &:focus { + border-color: $color; + box-shadow: 0 0 0 $input-focus-width rgba($color, .25); + } + } + } + + // stylelint-disable-next-line selector-no-qualifying-type + textarea.form-control { + @include form-validation-state-selector($state) { + @if $enable-validation-icons { + padding-right: $input-height-inner; + background-position: top $input-height-inner-quarter right $input-height-inner-quarter; + } + } + } + + .custom-select { + @include form-validation-state-selector($state) { + border-color: $color; + + @if $enable-validation-icons { + padding-right: $custom-select-feedback-icon-padding-right; + background: $custom-select-background, escape-svg($icon) $custom-select-bg no-repeat $custom-select-feedback-icon-position / $custom-select-feedback-icon-size; + } + + &:focus { + border-color: $color; + box-shadow: 0 0 0 $input-focus-width rgba($color, .25); + } + } + } + + .form-check-input { + @include form-validation-state-selector($state) { + ~ .form-check-label { + color: $color; + } + + ~ .#{$state}-feedback, + ~ .#{$state}-tooltip { + display: block; + } + } + } + + .custom-control-input { + @include form-validation-state-selector($state) { + ~ .custom-control-label { + color: $color; + + &::before { + border-color: $color; + } + } + + &:checked { + ~ .custom-control-label::before { + border-color: lighten($color, 10%); + @include gradient-bg(lighten($color, 10%)); + } + } + + &:focus { + ~ .custom-control-label::before { + box-shadow: 0 0 0 $input-focus-width rgba($color, .25); + } + + &:not(:checked) ~ .custom-control-label::before { + border-color: $color; + } + } + } + } + + // custom file + .custom-file-input { + @include form-validation-state-selector($state) { + ~ .custom-file-label { + border-color: $color; + } + + &:focus { + ~ .custom-file-label { + border-color: $color; + box-shadow: 0 0 0 $input-focus-width rgba($color, .25); + } + } + } + } +} diff --git a/_scss/bootstrap/mixins/_gradients.scss b/_scss/bootstrap/mixins/_gradients.scss new file mode 100644 index 0000000000000000000000000000000000000000..88c4d64b7f7ef50faabf977b168076bb9750da17 --- /dev/null +++ b/_scss/bootstrap/mixins/_gradients.scss @@ -0,0 +1,45 @@ +// Gradients + +@mixin gradient-bg($color) { + @if $enable-gradients { + background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x; + } @else { + background-color: $color; + } +} + +// Horizontal gradient, from left to right +// +// Creates two color stops, start and end, by specifying a color and position for each color stop. +@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) { + background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent); + background-repeat: repeat-x; +} + +// Vertical gradient, from top to bottom +// +// Creates two color stops, start and end, by specifying a color and position for each color stop. +@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) { + background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent); + background-repeat: repeat-x; +} + +@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) { + background-image: linear-gradient($deg, $start-color, $end-color); + background-repeat: repeat-x; +} +@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) { + background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color); + background-repeat: no-repeat; +} +@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) { + background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color); + background-repeat: no-repeat; +} +@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) { + background-image: radial-gradient(circle, $inner-color, $outer-color); + background-repeat: no-repeat; +} +@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) { + background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent); +} diff --git a/_scss/bootstrap/mixins/_grid-framework.scss b/_scss/bootstrap/mixins/_grid-framework.scss new file mode 100644 index 0000000000000000000000000000000000000000..8e291f7ae0dc75e3bb9580f4c952ca0476843f7a --- /dev/null +++ b/_scss/bootstrap/mixins/_grid-framework.scss @@ -0,0 +1,71 @@ +// Framework grid generation +// +// Used only by Bootstrap to generate the correct number of grid classes given +// any value of `$grid-columns`. + +@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) { + // Common properties for all breakpoints + %grid-column { + position: relative; + width: 100%; + padding-right: $gutter / 2; + padding-left: $gutter / 2; + } + + @each $breakpoint in map-keys($breakpoints) { + $infix: breakpoint-infix($breakpoint, $breakpoints); + + // Allow columns to stretch full width below their breakpoints + @for $i from 1 through $columns { + .col#{$infix}-#{$i} { + @extend %grid-column; + } + } + .col#{$infix}, + .col#{$infix}-auto { + @extend %grid-column; + } + + @include media-breakpoint-up($breakpoint, $breakpoints) { + // Provide basic `.col-{bp}` classes for equal-width flexbox columns + .col#{$infix} { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; + } + + @for $i from 1 through $grid-row-columns { + .row-cols#{$infix}-#{$i} { + @include row-cols($i); + } + } + + .col#{$infix}-auto { + @include make-col-auto(); + } + + @for $i from 1 through $columns { + .col#{$infix}-#{$i} { + @include make-col($i, $columns); + } + } + + .order#{$infix}-first { order: -1; } + + .order#{$infix}-last { order: $columns + 1; } + + @for $i from 0 through $columns { + .order#{$infix}-#{$i} { order: $i; } + } + + // `$columns - 1` because offsetting by the width of an entire row isn't possible + @for $i from 0 through ($columns - 1) { + @if not ($infix == "" and $i == 0) { // Avoid emitting useless .offset-0 + .offset#{$infix}-#{$i} { + @include make-col-offset($i, $columns); + } + } + } + } + } +} diff --git a/_scss/bootstrap/mixins/_grid.scss b/_scss/bootstrap/mixins/_grid.scss new file mode 100644 index 0000000000000000000000000000000000000000..b1240b01f15ff7e80328b4a5a23885cece1f6a63 --- /dev/null +++ b/_scss/bootstrap/mixins/_grid.scss @@ -0,0 +1,69 @@ +/// Grid system +// +// Generate semantic grid columns with these mixins. + +@mixin make-container($gutter: $grid-gutter-width) { + width: 100%; + padding-right: $gutter / 2; + padding-left: $gutter / 2; + margin-right: auto; + margin-left: auto; +} + + +// For each breakpoint, define the maximum width of the container in a media query +@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) { + @each $breakpoint, $container-max-width in $max-widths { + @include media-breakpoint-up($breakpoint, $breakpoints) { + max-width: $container-max-width; + } + } +} + +@mixin make-row($gutter: $grid-gutter-width) { + display: flex; + flex-wrap: wrap; + margin-right: -$gutter / 2; + margin-left: -$gutter / 2; +} + +@mixin make-col-ready($gutter: $grid-gutter-width) { + position: relative; + // Prevent columns from becoming too narrow when at smaller grid tiers by + // always setting `width: 100%;`. This works because we use `flex` values + // later on to override this initial width. + width: 100%; + padding-right: $gutter / 2; + padding-left: $gutter / 2; +} + +@mixin make-col($size, $columns: $grid-columns) { + flex: 0 0 percentage($size / $columns); + // Add a `max-width` to ensure content within each column does not blow out + // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari + // do not appear to require this. + max-width: percentage($size / $columns); +} + +@mixin make-col-auto() { + flex: 0 0 auto; + width: auto; + max-width: 100%; // Reset earlier grid tiers +} + +@mixin make-col-offset($size, $columns: $grid-columns) { + $num: $size / $columns; + margin-left: if($num == 0, 0, percentage($num)); +} + +// Row columns +// +// Specify on a parent element(e.g., .row) to force immediate children into NN +// numberof columns. Supports wrapping to new lines, but does not do a Masonry +// style grid. +@mixin row-cols($count) { + & > * { + flex: 0 0 100% / $count; + max-width: 100% / $count; + } +} diff --git a/_scss/bootstrap/mixins/_hover.scss b/_scss/bootstrap/mixins/_hover.scss new file mode 100644 index 0000000000000000000000000000000000000000..409f8244e126b580df1b3a76b1efb62e4eb58951 --- /dev/null +++ b/_scss/bootstrap/mixins/_hover.scss @@ -0,0 +1,37 @@ +// Hover mixin and `$enable-hover-media-query` are deprecated. +// +// Originally added during our alphas and maintained during betas, this mixin was +// designed to prevent `:hover` stickiness on iOS-an issue where hover styles +// would persist after initial touch. +// +// For backward compatibility, we've kept these mixins and updated them to +// always return their regular pseudo-classes instead of a shimmed media query. +// +// Issue: https://github.com/twbs/bootstrap/issues/25195 + +@mixin hover() { + &:hover { @content; } +} + +@mixin hover-focus() { + &:hover, + &:focus { + @content; + } +} + +@mixin plain-hover-focus() { + &, + &:hover, + &:focus { + @content; + } +} + +@mixin hover-focus-active() { + &:hover, + &:focus, + &:active { + @content; + } +} diff --git a/_scss/bootstrap/mixins/_image.scss b/_scss/bootstrap/mixins/_image.scss new file mode 100644 index 0000000000000000000000000000000000000000..c971e038be4e0e4e2565142e2dcc2f4838de99fb --- /dev/null +++ b/_scss/bootstrap/mixins/_image.scss @@ -0,0 +1,36 @@ +// Image Mixins +// - Responsive image +// - Retina image + + +// Responsive image +// +// Keep images from scaling beyond the width of their parents. + +@mixin img-fluid() { + // Part 1: Set a maximum relative to the parent + max-width: 100%; + // Part 2: Override the height to auto, otherwise images will be stretched + // when setting a width and height attribute on the img element. + height: auto; +} + + +// Retina image +// +// Short retina mixin for setting background-image and -size. + +@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) { + background-image: url($file-1x); + + // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio, + // but doesn't convert dppx=>dpi. + // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard. + // Compatibility info: https://caniuse.com/#feat=css-media-resolution + @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx + only screen and (min-resolution: 2dppx) { // Standardized + background-image: url($file-2x); + background-size: $width-1x $height-1x; + } + @include deprecate("`img-retina()`", "v4.3.0", "v5"); +} diff --git a/_scss/bootstrap/mixins/_list-group.scss b/_scss/bootstrap/mixins/_list-group.scss new file mode 100644 index 0000000000000000000000000000000000000000..0da35315611c5d920cdbc74697abbbcd26a826d1 --- /dev/null +++ b/_scss/bootstrap/mixins/_list-group.scss @@ -0,0 +1,21 @@ +// List Groups + +@mixin list-group-item-variant($state, $background, $color) { + .list-group-item-#{$state} { + color: $color; + background-color: $background; + + &.list-group-item-action { + @include hover-focus() { + color: $color; + background-color: darken($background, 5%); + } + + &.active { + color: $white; + background-color: $color; + border-color: $color; + } + } + } +} diff --git a/_scss/bootstrap/mixins/_lists.scss b/_scss/bootstrap/mixins/_lists.scss new file mode 100644 index 0000000000000000000000000000000000000000..251cb07331902de38e84348ee57b73e7f8f79249 --- /dev/null +++ b/_scss/bootstrap/mixins/_lists.scss @@ -0,0 +1,7 @@ +// Lists + +// Unstyled keeps list items block level, just removes default browser padding and list-style +@mixin list-unstyled() { + padding-left: 0; + list-style: none; +} diff --git a/_scss/bootstrap/mixins/_nav-divider.scss b/_scss/bootstrap/mixins/_nav-divider.scss new file mode 100644 index 0000000000000000000000000000000000000000..3e0cceafef73f63da68b14be2cd777f4f062e980 --- /dev/null +++ b/_scss/bootstrap/mixins/_nav-divider.scss @@ -0,0 +1,11 @@ +// Horizontal dividers +// +// Dividers (basically an hr) within dropdowns and nav lists + +@mixin nav-divider($color: $nav-divider-color, $margin-y: $nav-divider-margin-y, $ignore-warning: false) { + height: 0; + margin: $margin-y 0; + overflow: hidden; + border-top: 1px solid $color; + @include deprecate("The `nav-divider()` mixin", "v4.4.0", "v5", $ignore-warning); +} diff --git a/_scss/bootstrap/mixins/_navbar-align.scss b/_scss/bootstrap/mixins/_navbar-align.scss new file mode 100644 index 0000000000000000000000000000000000000000..b351660335060856d40a7bb9ed5d72bdbbcfad1b --- /dev/null +++ b/_scss/bootstrap/mixins/_navbar-align.scss @@ -0,0 +1,10 @@ +// Navbar vertical align +// +// Vertically center elements in the navbar. +// Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` +// to calculate the appropriate top margin. + +// @mixin navbar-vertical-align($element-height) { +// margin-top: (($navbar-height - $element-height) / 2); +// margin-bottom: (($navbar-height - $element-height) / 2); +// } diff --git a/_scss/bootstrap/mixins/_pagination.scss b/_scss/bootstrap/mixins/_pagination.scss new file mode 100644 index 0000000000000000000000000000000000000000..af8e16d6a911c097666e54a7abcb091187b07f0c --- /dev/null +++ b/_scss/bootstrap/mixins/_pagination.scss @@ -0,0 +1,22 @@ +// Pagination + +@mixin pagination-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) { + .page-link { + padding: $padding-y $padding-x; + @include font-size($font-size); + line-height: $line-height; + } + + .page-item { + &:first-child { + .page-link { + @include border-left-radius($border-radius); + } + } + &:last-child { + .page-link { + @include border-right-radius($border-radius); + } + } + } +} diff --git a/_scss/bootstrap/mixins/_reset-text.scss b/_scss/bootstrap/mixins/_reset-text.scss new file mode 100644 index 0000000000000000000000000000000000000000..15b4407a0a00e53b17409dde65875ed387a672d7 --- /dev/null +++ b/_scss/bootstrap/mixins/_reset-text.scss @@ -0,0 +1,17 @@ +@mixin reset-text() { + font-family: $font-family-base; + // We deliberately do NOT reset font-size or word-wrap. + font-style: normal; + font-weight: $font-weight-normal; + line-height: $line-height-base; + text-align: left; // Fallback for where `start` is not supported + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; +} diff --git a/_scss/bootstrap/mixins/_resize.scss b/_scss/bootstrap/mixins/_resize.scss new file mode 100644 index 0000000000000000000000000000000000000000..66f233a63c988deb5a59dde3bba962082fbdfd57 --- /dev/null +++ b/_scss/bootstrap/mixins/_resize.scss @@ -0,0 +1,6 @@ +// Resize anything + +@mixin resizable($direction) { + overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible` + resize: $direction; // Options: horizontal, vertical, both +} diff --git a/_scss/bootstrap/mixins/_screen-reader.scss b/_scss/bootstrap/mixins/_screen-reader.scss new file mode 100644 index 0000000000000000000000000000000000000000..21230390eba85aba1eb022a49d87d4ec275e7ce7 --- /dev/null +++ b/_scss/bootstrap/mixins/_screen-reader.scss @@ -0,0 +1,34 @@ +// Only display content to screen readers +// +// See: https://a11yproject.com/posts/how-to-hide-content/ +// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/ + +@mixin sr-only() { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; // Fix for https://github.com/twbs/bootstrap/issues/25686 + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +// Use in conjunction with .sr-only to only display content when it's focused. +// +// Useful for "Skip to main content" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 +// +// Credit: HTML5 Boilerplate + +@mixin sr-only-focusable() { + &:active, + &:focus { + position: static; + width: auto; + height: auto; + overflow: visible; + clip: auto; + white-space: normal; + } +} diff --git a/_scss/bootstrap/mixins/_size.scss b/_scss/bootstrap/mixins/_size.scss new file mode 100644 index 0000000000000000000000000000000000000000..69e056d2c1ef94f63abe42f9fba78fbcd85feae0 --- /dev/null +++ b/_scss/bootstrap/mixins/_size.scss @@ -0,0 +1,7 @@ +// Sizing shortcuts + +@mixin size($width, $height: $width) { + width: $width; + height: $height; + @include deprecate("`size()`", "v4.3.0", "v5"); +} diff --git a/_scss/bootstrap/mixins/_table-row.scss b/_scss/bootstrap/mixins/_table-row.scss new file mode 100644 index 0000000000000000000000000000000000000000..1ccde6b6c5671b375885083ea58c4b9c73619c87 --- /dev/null +++ b/_scss/bootstrap/mixins/_table-row.scss @@ -0,0 +1,39 @@ +// Tables + +@mixin table-row-variant($state, $background, $border: null) { + // Exact selectors below required to override `.table-striped` and prevent + // inheritance to nested tables. + .table-#{$state} { + &, + > th, + > td { + background-color: $background; + } + + @if $border != null { + th, + td, + thead th, + tbody + tbody { + border-color: $border; + } + } + } + + // Hover states for `.table-hover` + // Note: this is not available for cells or rows within `thead` or `tfoot`. + .table-hover { + $hover-background: darken($background, 5%); + + .table-#{$state} { + @include hover() { + background-color: $hover-background; + + > td, + > th { + background-color: $hover-background; + } + } + } + } +} diff --git a/_scss/bootstrap/mixins/_text-emphasis.scss b/_scss/bootstrap/mixins/_text-emphasis.scss new file mode 100644 index 0000000000000000000000000000000000000000..5eb8a5515412053d335ca360aa51f0722616b80f --- /dev/null +++ b/_scss/bootstrap/mixins/_text-emphasis.scss @@ -0,0 +1,17 @@ +// stylelint-disable declaration-no-important + +// Typography + +@mixin text-emphasis-variant($parent, $color, $ignore-warning: false) { + #{$parent} { + color: $color !important; + } + @if $emphasized-link-hover-darken-percentage != 0 { + a#{$parent} { + @include hover-focus() { + color: darken($color, $emphasized-link-hover-darken-percentage) !important; + } + } + } + @include deprecate("`text-emphasis-variant()`", "v4.4.0", "v5", $ignore-warning); +} diff --git a/_scss/bootstrap/mixins/_text-hide.scss b/_scss/bootstrap/mixins/_text-hide.scss new file mode 100644 index 0000000000000000000000000000000000000000..3a923011ec73de336b6d89f731b0a81dcc14c4a7 --- /dev/null +++ b/_scss/bootstrap/mixins/_text-hide.scss @@ -0,0 +1,11 @@ +// CSS image replacement +@mixin text-hide($ignore-warning: false) { + // stylelint-disable-next-line font-family-no-missing-generic-family-keyword + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; + + @include deprecate("`text-hide()`", "v4.1.0", "v5", $ignore-warning); +} diff --git a/_scss/bootstrap/mixins/_text-truncate.scss b/_scss/bootstrap/mixins/_text-truncate.scss new file mode 100644 index 0000000000000000000000000000000000000000..3504bb1aa5d7aa2c3d75aedd4a03916afaa7e4d9 --- /dev/null +++ b/_scss/bootstrap/mixins/_text-truncate.scss @@ -0,0 +1,8 @@ +// Text truncate +// Requires inline-block or block for proper styling + +@mixin text-truncate() { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} diff --git a/_scss/bootstrap/mixins/_transition.scss b/_scss/bootstrap/mixins/_transition.scss new file mode 100644 index 0000000000000000000000000000000000000000..8ce35a6b836cb212af9cc5045796fcc0adce419b --- /dev/null +++ b/_scss/bootstrap/mixins/_transition.scss @@ -0,0 +1,16 @@ +// stylelint-disable property-blacklist +@mixin transition($transition...) { + @if $enable-transitions { + @if length($transition) == 0 { + transition: $transition-base; + } @else { + transition: $transition; + } + } + + @if $enable-prefers-reduced-motion-media-query { + @media (prefers-reduced-motion: reduce) { + transition: none; + } + } +} diff --git a/_scss/bootstrap/mixins/_visibility.scss b/_scss/bootstrap/mixins/_visibility.scss new file mode 100644 index 0000000000000000000000000000000000000000..f174673117839c3ff29949edf212248fe3132e3a --- /dev/null +++ b/_scss/bootstrap/mixins/_visibility.scss @@ -0,0 +1,8 @@ +// stylelint-disable declaration-no-important + +// Visibility + +@mixin invisible($visibility) { + visibility: $visibility !important; + @include deprecate("`invisible()`", "v4.3.0", "v5"); +} diff --git a/_scss/bootstrap/utilities/_align.scss b/_scss/bootstrap/utilities/_align.scss new file mode 100644 index 0000000000000000000000000000000000000000..8b7df9f76c2c8ddaf8468d9e536bc04da761e63d --- /dev/null +++ b/_scss/bootstrap/utilities/_align.scss @@ -0,0 +1,8 @@ +// stylelint-disable declaration-no-important + +.align-baseline { vertical-align: baseline !important; } // Browser default +.align-top { vertical-align: top !important; } +.align-middle { vertical-align: middle !important; } +.align-bottom { vertical-align: bottom !important; } +.align-text-bottom { vertical-align: text-bottom !important; } +.align-text-top { vertical-align: text-top !important; } diff --git a/_scss/bootstrap/utilities/_background.scss b/_scss/bootstrap/utilities/_background.scss new file mode 100644 index 0000000000000000000000000000000000000000..a997b1bddafc222f7fb03048d90c0dae44a322b0 --- /dev/null +++ b/_scss/bootstrap/utilities/_background.scss @@ -0,0 +1,19 @@ +// stylelint-disable declaration-no-important + +@each $color, $value in $theme-colors { + @include bg-variant(".bg-#{$color}", $value, true); +} + +@if $enable-gradients { + @each $color, $value in $theme-colors { + @include bg-gradient-variant(".bg-gradient-#{$color}", $value); + } +} + +.bg-white { + background-color: $white !important; +} + +.bg-transparent { + background-color: transparent !important; +} diff --git a/_scss/bootstrap/utilities/_borders.scss b/_scss/bootstrap/utilities/_borders.scss new file mode 100644 index 0000000000000000000000000000000000000000..302f6bf8490b04f36c9588303d7a7238482e6012 --- /dev/null +++ b/_scss/bootstrap/utilities/_borders.scss @@ -0,0 +1,75 @@ +// stylelint-disable property-blacklist, declaration-no-important + +// +// Border +// + +.border { border: $border-width solid $border-color !important; } +.border-top { border-top: $border-width solid $border-color !important; } +.border-right { border-right: $border-width solid $border-color !important; } +.border-bottom { border-bottom: $border-width solid $border-color !important; } +.border-left { border-left: $border-width solid $border-color !important; } + +.border-0 { border: 0 !important; } +.border-top-0 { border-top: 0 !important; } +.border-right-0 { border-right: 0 !important; } +.border-bottom-0 { border-bottom: 0 !important; } +.border-left-0 { border-left: 0 !important; } + +@each $color, $value in $theme-colors { + .border-#{$color} { + border-color: $value !important; + } +} + +.border-white { + border-color: $white !important; +} + +// +// Border-radius +// + +.rounded-sm { + border-radius: $border-radius-sm !important; +} + +.rounded { + border-radius: $border-radius !important; +} + +.rounded-top { + border-top-left-radius: $border-radius !important; + border-top-right-radius: $border-radius !important; +} + +.rounded-right { + border-top-right-radius: $border-radius !important; + border-bottom-right-radius: $border-radius !important; +} + +.rounded-bottom { + border-bottom-right-radius: $border-radius !important; + border-bottom-left-radius: $border-radius !important; +} + +.rounded-left { + border-top-left-radius: $border-radius !important; + border-bottom-left-radius: $border-radius !important; +} + +.rounded-lg { + border-radius: $border-radius-lg !important; +} + +.rounded-circle { + border-radius: 50% !important; +} + +.rounded-pill { + border-radius: $rounded-pill !important; +} + +.rounded-0 { + border-radius: 0 !important; +} diff --git a/_scss/bootstrap/utilities/_clearfix.scss b/_scss/bootstrap/utilities/_clearfix.scss new file mode 100644 index 0000000000000000000000000000000000000000..e92522a94d82a571b84ac1de470bcb70b176023c --- /dev/null +++ b/_scss/bootstrap/utilities/_clearfix.scss @@ -0,0 +1,3 @@ +.clearfix { + @include clearfix(); +} diff --git a/_scss/bootstrap/utilities/_display.scss b/_scss/bootstrap/utilities/_display.scss new file mode 100644 index 0000000000000000000000000000000000000000..130367998fec2ff269df68a152d12e93c09d9d36 --- /dev/null +++ b/_scss/bootstrap/utilities/_display.scss @@ -0,0 +1,26 @@ +// stylelint-disable declaration-no-important + +// +// Utilities for common `display` values +// + +@each $breakpoint in map-keys($grid-breakpoints) { + @include media-breakpoint-up($breakpoint) { + $infix: breakpoint-infix($breakpoint, $grid-breakpoints); + + @each $value in $displays { + .d#{$infix}-#{$value} { display: $value !important; } + } + } +} + + +// +// Utilities for toggling `display` in print +// + +@media print { + @each $value in $displays { + .d-print-#{$value} { display: $value !important; } + } +} diff --git a/_scss/bootstrap/utilities/_embed.scss b/_scss/bootstrap/utilities/_embed.scss new file mode 100644 index 0000000000000000000000000000000000000000..4497ac0400fbfacc098868f93fb1d55bf3d2ac77 --- /dev/null +++ b/_scss/bootstrap/utilities/_embed.scss @@ -0,0 +1,39 @@ +// Credit: Nicolas Gallagher and SUIT CSS. + +.embed-responsive { + position: relative; + display: block; + width: 100%; + padding: 0; + overflow: hidden; + + &::before { + display: block; + content: ""; + } + + .embed-responsive-item, + iframe, + embed, + object, + video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; + } +} + +@each $embed-responsive-aspect-ratio in $embed-responsive-aspect-ratios { + $embed-responsive-aspect-ratio-x: nth($embed-responsive-aspect-ratio, 1); + $embed-responsive-aspect-ratio-y: nth($embed-responsive-aspect-ratio, 2); + + .embed-responsive-#{$embed-responsive-aspect-ratio-x}by#{$embed-responsive-aspect-ratio-y} { + &::before { + padding-top: percentage($embed-responsive-aspect-ratio-y / $embed-responsive-aspect-ratio-x); + } + } +} diff --git a/_scss/bootstrap/utilities/_flex.scss b/_scss/bootstrap/utilities/_flex.scss new file mode 100644 index 0000000000000000000000000000000000000000..3d4266e0d087794f655ecceb7a367859a1ac513a --- /dev/null +++ b/_scss/bootstrap/utilities/_flex.scss @@ -0,0 +1,51 @@ +// stylelint-disable declaration-no-important + +// Flex variation +// +// Custom styles for additional flex alignment options. + +@each $breakpoint in map-keys($grid-breakpoints) { + @include media-breakpoint-up($breakpoint) { + $infix: breakpoint-infix($breakpoint, $grid-breakpoints); + + .flex#{$infix}-row { flex-direction: row !important; } + .flex#{$infix}-column { flex-direction: column !important; } + .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; } + .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; } + + .flex#{$infix}-wrap { flex-wrap: wrap !important; } + .flex#{$infix}-nowrap { flex-wrap: nowrap !important; } + .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; } + .flex#{$infix}-fill { flex: 1 1 auto !important; } + .flex#{$infix}-grow-0 { flex-grow: 0 !important; } + .flex#{$infix}-grow-1 { flex-grow: 1 !important; } + .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; } + .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; } + + .justify-content#{$infix}-start { justify-content: flex-start !important; } + .justify-content#{$infix}-end { justify-content: flex-end !important; } + .justify-content#{$infix}-center { justify-content: center !important; } + .justify-content#{$infix}-between { justify-content: space-between !important; } + .justify-content#{$infix}-around { justify-content: space-around !important; } + + .align-items#{$infix}-start { align-items: flex-start !important; } + .align-items#{$infix}-end { align-items: flex-end !important; } + .align-items#{$infix}-center { align-items: center !important; } + .align-items#{$infix}-baseline { align-items: baseline !important; } + .align-items#{$infix}-stretch { align-items: stretch !important; } + + .align-content#{$infix}-start { align-content: flex-start !important; } + .align-content#{$infix}-end { align-content: flex-end !important; } + .align-content#{$infix}-center { align-content: center !important; } + .align-content#{$infix}-between { align-content: space-between !important; } + .align-content#{$infix}-around { align-content: space-around !important; } + .align-content#{$infix}-stretch { align-content: stretch !important; } + + .align-self#{$infix}-auto { align-self: auto !important; } + .align-self#{$infix}-start { align-self: flex-start !important; } + .align-self#{$infix}-end { align-self: flex-end !important; } + .align-self#{$infix}-center { align-self: center !important; } + .align-self#{$infix}-baseline { align-self: baseline !important; } + .align-self#{$infix}-stretch { align-self: stretch !important; } + } +} diff --git a/_scss/bootstrap/utilities/_float.scss b/_scss/bootstrap/utilities/_float.scss new file mode 100644 index 0000000000000000000000000000000000000000..54250844ff611e8faa31cf0cd5e7ec6cb6cc299d --- /dev/null +++ b/_scss/bootstrap/utilities/_float.scss @@ -0,0 +1,11 @@ +// stylelint-disable declaration-no-important + +@each $breakpoint in map-keys($grid-breakpoints) { + @include media-breakpoint-up($breakpoint) { + $infix: breakpoint-infix($breakpoint, $grid-breakpoints); + + .float#{$infix}-left { float: left !important; } + .float#{$infix}-right { float: right !important; } + .float#{$infix}-none { float: none !important; } + } +} diff --git a/_scss/bootstrap/utilities/_overflow.scss b/_scss/bootstrap/utilities/_overflow.scss new file mode 100644 index 0000000000000000000000000000000000000000..8326c30641e6dfce3b23d018edb30c7d044a7d1a --- /dev/null +++ b/_scss/bootstrap/utilities/_overflow.scss @@ -0,0 +1,5 @@ +// stylelint-disable declaration-no-important + +@each $value in $overflows { + .overflow-#{$value} { overflow: $value !important; } +} diff --git a/_scss/bootstrap/utilities/_position.scss b/_scss/bootstrap/utilities/_position.scss new file mode 100644 index 0000000000000000000000000000000000000000..cdf6c115f3d378cebe5ebc27d9f32b6b8b949c8c --- /dev/null +++ b/_scss/bootstrap/utilities/_position.scss @@ -0,0 +1,32 @@ +// stylelint-disable declaration-no-important + +// Common values +@each $position in $positions { + .position-#{$position} { position: $position !important; } +} + +// Shorthand + +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: $zindex-fixed; +} + +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: $zindex-fixed; +} + +.sticky-top { + @supports (position: sticky) { + position: sticky; + top: 0; + z-index: $zindex-sticky; + } +} diff --git a/_scss/bootstrap/utilities/_screenreaders.scss b/_scss/bootstrap/utilities/_screenreaders.scss new file mode 100644 index 0000000000000000000000000000000000000000..9f26fde03538350e750a76cf2415a62f960976af --- /dev/null +++ b/_scss/bootstrap/utilities/_screenreaders.scss @@ -0,0 +1,11 @@ +// +// Screenreaders +// + +.sr-only { + @include sr-only(); +} + +.sr-only-focusable { + @include sr-only-focusable(); +} diff --git a/_scss/bootstrap/utilities/_shadows.scss b/_scss/bootstrap/utilities/_shadows.scss new file mode 100644 index 0000000000000000000000000000000000000000..f5d03fcd59c1fc62db7549347003ae43ff6ec709 --- /dev/null +++ b/_scss/bootstrap/utilities/_shadows.scss @@ -0,0 +1,6 @@ +// stylelint-disable declaration-no-important + +.shadow-sm { box-shadow: $box-shadow-sm !important; } +.shadow { box-shadow: $box-shadow !important; } +.shadow-lg { box-shadow: $box-shadow-lg !important; } +.shadow-none { box-shadow: none !important; } diff --git a/_scss/bootstrap/utilities/_sizing.scss b/_scss/bootstrap/utilities/_sizing.scss new file mode 100644 index 0000000000000000000000000000000000000000..f3764880228bff11cab2ec034ef5a3848c441e5e --- /dev/null +++ b/_scss/bootstrap/utilities/_sizing.scss @@ -0,0 +1,20 @@ +// stylelint-disable declaration-no-important + +// Width and height + +@each $prop, $abbrev in (width: w, height: h) { + @each $size, $length in $sizes { + .#{$abbrev}-#{$size} { #{$prop}: $length !important; } + } +} + +.mw-100 { max-width: 100% !important; } +.mh-100 { max-height: 100% !important; } + +// Viewport additional helpers + +.min-vw-100 { min-width: 100vw !important; } +.min-vh-100 { min-height: 100vh !important; } + +.vw-100 { width: 100vw !important; } +.vh-100 { height: 100vh !important; } diff --git a/_scss/bootstrap/utilities/_spacing.scss b/_scss/bootstrap/utilities/_spacing.scss new file mode 100644 index 0000000000000000000000000000000000000000..351136790a48a33a2622627e4267425a2ec90b61 --- /dev/null +++ b/_scss/bootstrap/utilities/_spacing.scss @@ -0,0 +1,73 @@ +// stylelint-disable declaration-no-important + +// Margin and Padding + +@each $breakpoint in map-keys($grid-breakpoints) { + @include media-breakpoint-up($breakpoint) { + $infix: breakpoint-infix($breakpoint, $grid-breakpoints); + + @each $prop, $abbrev in (margin: m, padding: p) { + @each $size, $length in $spacers { + .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; } + .#{$abbrev}t#{$infix}-#{$size}, + .#{$abbrev}y#{$infix}-#{$size} { + #{$prop}-top: $length !important; + } + .#{$abbrev}r#{$infix}-#{$size}, + .#{$abbrev}x#{$infix}-#{$size} { + #{$prop}-right: $length !important; + } + .#{$abbrev}b#{$infix}-#{$size}, + .#{$abbrev}y#{$infix}-#{$size} { + #{$prop}-bottom: $length !important; + } + .#{$abbrev}l#{$infix}-#{$size}, + .#{$abbrev}x#{$infix}-#{$size} { + #{$prop}-left: $length !important; + } + } + } + + // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`) + @each $size, $length in $spacers { + @if $size != 0 { + .m#{$infix}-n#{$size} { margin: -$length !important; } + .mt#{$infix}-n#{$size}, + .my#{$infix}-n#{$size} { + margin-top: -$length !important; + } + .mr#{$infix}-n#{$size}, + .mx#{$infix}-n#{$size} { + margin-right: -$length !important; + } + .mb#{$infix}-n#{$size}, + .my#{$infix}-n#{$size} { + margin-bottom: -$length !important; + } + .ml#{$infix}-n#{$size}, + .mx#{$infix}-n#{$size} { + margin-left: -$length !important; + } + } + } + + // Some special margin utils + .m#{$infix}-auto { margin: auto !important; } + .mt#{$infix}-auto, + .my#{$infix}-auto { + margin-top: auto !important; + } + .mr#{$infix}-auto, + .mx#{$infix}-auto { + margin-right: auto !important; + } + .mb#{$infix}-auto, + .my#{$infix}-auto { + margin-bottom: auto !important; + } + .ml#{$infix}-auto, + .mx#{$infix}-auto { + margin-left: auto !important; + } + } +} diff --git a/_scss/bootstrap/utilities/_stretched-link.scss b/_scss/bootstrap/utilities/_stretched-link.scss new file mode 100644 index 0000000000000000000000000000000000000000..fb5066bf55dd2d56afad94f322968414775d1638 --- /dev/null +++ b/_scss/bootstrap/utilities/_stretched-link.scss @@ -0,0 +1,19 @@ +// +// Stretched link +// + +.stretched-link { + &::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + // Just in case `pointer-events: none` is set on a parent + pointer-events: auto; + content: ""; + // IE10 bugfix, see https://stackoverflow.com/questions/16947967/ie10-hover-pseudo-class-doesnt-work-without-background-color + background-color: rgba(0, 0, 0, 0); + } +} diff --git a/_scss/bootstrap/utilities/_text.scss b/_scss/bootstrap/utilities/_text.scss new file mode 100644 index 0000000000000000000000000000000000000000..5d0f1c845f8d3f9ee60048532da547042c04cbc3 --- /dev/null +++ b/_scss/bootstrap/utilities/_text.scss @@ -0,0 +1,72 @@ +// stylelint-disable declaration-no-important + +// +// Text +// + +.text-monospace { font-family: $font-family-monospace !important; } + +// Alignment + +.text-justify { text-align: justify !important; } +.text-wrap { white-space: normal !important; } +.text-nowrap { white-space: nowrap !important; } +.text-truncate { @include text-truncate(); } + +// Responsive alignment + +@each $breakpoint in map-keys($grid-breakpoints) { + @include media-breakpoint-up($breakpoint) { + $infix: breakpoint-infix($breakpoint, $grid-breakpoints); + + .text#{$infix}-left { text-align: left !important; } + .text#{$infix}-right { text-align: right !important; } + .text#{$infix}-center { text-align: center !important; } + } +} + +// Transformation + +.text-lowercase { text-transform: lowercase !important; } +.text-uppercase { text-transform: uppercase !important; } +.text-capitalize { text-transform: capitalize !important; } + +// Weight and italics + +.font-weight-light { font-weight: $font-weight-light !important; } +.font-weight-lighter { font-weight: $font-weight-lighter !important; } +.font-weight-normal { font-weight: $font-weight-normal !important; } +.font-weight-bold { font-weight: $font-weight-bold !important; } +.font-weight-bolder { font-weight: $font-weight-bolder !important; } +.font-italic { font-style: italic !important; } + +// Contextual colors + +.text-white { color: $white !important; } + +@each $color, $value in $theme-colors { + @include text-emphasis-variant(".text-#{$color}", $value, true); +} + +.text-body { color: $body-color !important; } +.text-muted { color: $text-muted !important; } + +.text-black-50 { color: rgba($black, .5) !important; } +.text-white-50 { color: rgba($white, .5) !important; } + +// Misc + +.text-hide { + @include text-hide($ignore-warning: true); +} + +.text-decoration-none { text-decoration: none !important; } + +.text-break { + word-break: break-word !important; // IE & < Edge 18 + overflow-wrap: break-word !important; +} + +// Reset + +.text-reset { color: inherit !important; } diff --git a/_scss/bootstrap/utilities/_visibility.scss b/_scss/bootstrap/utilities/_visibility.scss new file mode 100644 index 0000000000000000000000000000000000000000..7756c3bfacf76d2ff6e7852cdc6ee4e8b3e1aa3d --- /dev/null +++ b/_scss/bootstrap/utilities/_visibility.scss @@ -0,0 +1,13 @@ +// stylelint-disable declaration-no-important + +// +// Visibility utilities +// + +.visible { + visibility: visible !important; +} + +.invisible { + visibility: hidden !important; +} diff --git a/_scss/bootstrap/vendor/_rfs.scss b/_scss/bootstrap/vendor/_rfs.scss new file mode 100644 index 0000000000000000000000000000000000000000..d75eab33a09a91fc544ef78d0d60b0d86f5580e7 --- /dev/null +++ b/_scss/bootstrap/vendor/_rfs.scss @@ -0,0 +1,204 @@ +// stylelint-disable property-blacklist, scss/dollar-variable-default + +// SCSS RFS mixin (For bootstrap) +// +// Automated font-resizing +// +// See https://github.com/twbs/rfs + +// Configuration + +// Base font size +$rfs-base-font-size: 1.25rem !default; +$rfs-font-size-unit: rem !default; + +// Breakpoint at where font-size starts decreasing if screen width is smaller +$rfs-breakpoint: 1200px !default; +$rfs-breakpoint-unit: px !default; + +// Resize font-size based on screen height and width +$rfs-two-dimensional: false !default; + +// Factor of decrease +$rfs-factor: 10 !default; + +@if type-of($rfs-factor) != "number" or $rfs-factor <= 1 { + @error "`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1."; +} + +// Generate enable or disable classes. Possibilities: false, "enable" or "disable" +$rfs-class: false !default; + +// 1 rem = $rfs-rem-value px +$rfs-rem-value: 16 !default; + +// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14 +$rfs-safari-iframe-resize-bug-fix: false !default; + +// Disable RFS by setting $enable-responsive-font-sizes to false +$enable-responsive-font-sizes: true !default; + +// Cache $rfs-base-font-size unit +$rfs-base-font-size-unit: unit($rfs-base-font-size); + +// Remove px-unit from $rfs-base-font-size for calculations +@if $rfs-base-font-size-unit == "px" { + $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1); +} +@else if $rfs-base-font-size-unit == "rem" { + $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value); +} + +// Cache $rfs-breakpoint unit to prevent multiple calls +$rfs-breakpoint-unit-cache: unit($rfs-breakpoint); + +// Remove unit from $rfs-breakpoint for calculations +@if $rfs-breakpoint-unit-cache == "px" { + $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1); +} +@else if $rfs-breakpoint-unit-cache == "rem" or $rfs-breakpoint-unit-cache == "em" { + $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value); +} + +// Responsive font-size mixin +@mixin rfs($fs, $important: false) { + // Cache $fs unit + $fs-unit: if(type-of($fs) == "number", unit($fs), false); + + // Add !important suffix if needed + $rfs-suffix: if($important, " !important", ""); + + // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value + @if not $fs-unit or $fs-unit != "" and $fs-unit != "px" and $fs-unit != "rem" or $fs == 0 { + font-size: #{$fs}#{$rfs-suffix}; + } + @else { + // Variables for storing static and fluid rescaling + $rfs-static: null; + $rfs-fluid: null; + + // Remove px-unit from $fs for calculations + @if $fs-unit == "px" { + $fs: $fs / ($fs * 0 + 1); + } + @else if $fs-unit == "rem" { + $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value); + } + + // Set default font-size + @if $rfs-font-size-unit == rem { + $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix}; + } + @else if $rfs-font-size-unit == px { + $rfs-static: #{$fs}px#{$rfs-suffix}; + } + @else { + @error "`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`."; + } + + // Only add media query if font-size is bigger as the minimum font-size + // If $rfs-factor == 1, no rescaling will take place + @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes { + $min-width: null; + $variable-unit: null; + + // Calculate minimum font-size for given font-size + $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor; + + // Calculate difference between given font-size and minimum font-size for given font-size + $fs-diff: $fs - $fs-min; + + // Base font-size formatting + // No need to check if the unit is valid, because we did that before + $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px); + + // If two-dimensional, use smallest of screen width and height + $variable-unit: if($rfs-two-dimensional, vmin, vw); + + // Calculate the variable width between 0 and $rfs-breakpoint + $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit}; + + // Set the calculated font-size. + $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix}; + } + + // Rendering + @if $rfs-fluid == null { + // Only render static font-size if no fluid font-size is available + font-size: $rfs-static; + } + @else { + $mq-value: null; + + // RFS breakpoint formatting + @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem { + $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit}; + } + @else if $rfs-breakpoint-unit == px { + $mq-value: #{$rfs-breakpoint}px; + } + @else { + @error "`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`."; + } + + @if $rfs-class == "disable" { + // Adding an extra class increases specificity, + // which prevents the media query to override the font size + &, + .disable-responsive-font-size &, + &.disable-responsive-font-size { + font-size: $rfs-static; + } + } + @else { + font-size: $rfs-static; + } + + @if $rfs-two-dimensional { + @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) { + @if $rfs-class == "enable" { + .enable-responsive-font-size &, + &.enable-responsive-font-size { + font-size: $rfs-fluid; + } + } + @else { + font-size: $rfs-fluid; + } + + @if $rfs-safari-iframe-resize-bug-fix { + // stylelint-disable-next-line length-zero-no-unit + min-width: 0vw; + } + } + } + @else { + @media (max-width: #{$mq-value}) { + @if $rfs-class == "enable" { + .enable-responsive-font-size &, + &.enable-responsive-font-size { + font-size: $rfs-fluid; + } + } + @else { + font-size: $rfs-fluid; + } + + @if $rfs-safari-iframe-resize-bug-fix { + // stylelint-disable-next-line length-zero-no-unit + min-width: 0vw; + } + } + } + } + } +} + +// The font-size & responsive-font-size mixin uses RFS to rescale font sizes +@mixin font-size($fs, $important: false) { + @include rfs($fs, $important); +} + +@mixin responsive-font-size($fs, $important: false) { + @include rfs($fs, $important); +} diff --git a/_scss/brands.scss b/_scss/brands.scss new file mode 100644 index 0000000000000000000000000000000000000000..52f0d6f0f1b29dd84fc2672d1e4bbe13ecbc1524 --- /dev/null +++ b/_scss/brands.scss @@ -0,0 +1,21 @@ +/*! + * Font Awesome Free 5.3.1 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +@import 'variables'; + +@font-face { + font-family: 'Font Awesome 5 Brands'; + font-style: normal; + font-weight: normal; + src: url('#{$fa-font-path}/fa-brands-400.eot'); + src: url('#{$fa-font-path}/fa-brands-400.eot?#iefix') format('embedded-opentype'), + url('#{$fa-font-path}/fa-brands-400.woff2') format('woff2'), + url('#{$fa-font-path}/fa-brands-400.woff') format('woff'), + url('#{$fa-font-path}/fa-brands-400.ttf') format('truetype'), + url('#{$fa-font-path}/fa-brands-400.svg#fontawesome') format('svg'); +} + +.fab { + font-family: 'Font Awesome 5 Brands'; +} diff --git a/_scss/class.scss b/_scss/class.scss new file mode 100644 index 0000000000000000000000000000000000000000..5e7de91503d085c62ad225d75c6edf8633eb00ed --- /dev/null +++ b/_scss/class.scss @@ -0,0 +1,78 @@ +g.classGroup text { + fill: $nodeBorder; + stroke: none; + font-family: 'trebuchet ms', verdana, arial; + font-size: 10px; +} + +g.classGroup rect { + fill: $nodeBkg; + stroke: $nodeBorder; +} + +g.classGroup line { + stroke: $nodeBorder; + stroke-width: 1; +} + +.classLabel .box { + stroke: none; + stroke-width: 0; + fill: $nodeBkg; + opacity: 0.5; +} + +.classLabel .label { + fill: $nodeBorder; + font-size: 10px; +} + +.relation { + stroke: $nodeBorder; + stroke-width: 1; + fill: none; +} + +@mixin composition { + fill: $nodeBorder; + stroke: $nodeBorder; + stroke-width: 1; +} + +#compositionStart { + @include composition; +} + +#compositionEnd { + @include composition; +} + +@mixin aggregation { + fill: $nodeBkg; + stroke: $nodeBorder; + stroke-width: 1; +} + +#aggregationStart { + @include aggregation; +} + +#aggregationEnd { + @include aggregation; +} + +#dependencyStart { + @include composition; +} + +#dependencyEnd { + @include composition; +} + +#extensionStart { + @include composition; +} + +#extensionEnd { + @include composition; +} diff --git a/_scss/fontawesome.scss b/_scss/fontawesome.scss new file mode 100644 index 0000000000000000000000000000000000000000..96ca11a794178538eac65294550253635ef5e9d7 --- /dev/null +++ b/_scss/fontawesome.scss @@ -0,0 +1,16 @@ +/*! + * Font Awesome Free 5.3.1 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +@import 'variables'; +@import 'mixins'; +@import 'core'; +@import 'larger'; +@import 'fixed-width'; +@import 'list'; +@import 'bordered-pulled'; +@import 'animated'; +@import 'rotated-flipped'; +@import 'stacked'; +@import 'icons'; +@import 'screen-reader'; diff --git a/_scss/gantt.scss b/_scss/gantt.scss new file mode 100644 index 0000000000000000000000000000000000000000..6793135ec854b44e26f15d006c1a5cb151f5d1f8 --- /dev/null +++ b/_scss/gantt.scss @@ -0,0 +1,209 @@ +/** Section styling */ + +.section { + stroke: none; + opacity: 0.2; +} + +.section0 { + fill: $sectionBkgColor; +} + +.section2 { + fill: $sectionBkgColor2; +} + +.section1, +.section3 { + fill: $altSectionBkgColor; + opacity: 0.2; +} + +.sectionTitle0 { + fill: $titleColor; +} + +.sectionTitle1 { + fill: $titleColor; +} + +.sectionTitle2 { + fill: $titleColor; +} + +.sectionTitle3 { + fill: $titleColor; +} + +.sectionTitle { + text-anchor: start; + font-size: 11px; + text-height: 14px; +} + + +/* Grid and axis */ + +.grid .tick { + stroke: $gridColor; + opacity: 0.3; + shape-rendering: crispEdges; +} + +.grid path { + stroke-width: 0; +} + + +/* Today line */ + +.today { + fill: none; + stroke: $todayLineColor; + stroke-width: 2px; +} + + +/* Task styling */ + + +/* Default task */ + +.task { + stroke-width: 2; +} + +.taskText { + text-anchor: middle; + font-size: 11px; +} + +.taskTextOutsideRight { + fill: $taskTextDarkColor; + text-anchor: start; + font-size: 11px; +} + +.taskTextOutsideLeft { + fill: $taskTextDarkColor; + text-anchor: end; + font-size: 11px; +} + + +/* Specific task settings for the sections*/ + +.taskText0, +.taskText1, +.taskText2, +.taskText3 { + fill: $taskTextColor; +} + +.task0, +.task1, +.task2, +.task3 { + fill: $taskBkgColor; + stroke: $taskBorderColor; +} + +.taskTextOutside0, +.taskTextOutside2, +{ + fill: $taskTextOutsideColor; +} + +.taskTextOutside1, +.taskTextOutside3 { + fill: $taskTextOutsideColor; +} + + +/* Active task */ + +.active0, +.active1, +.active2, +.active3 { + fill: $activeTaskBkgColor; + stroke: $activeTaskBorderColor; +} + +.activeText0, +.activeText1, +.activeText2, +.activeText3 { + fill: $taskTextDarkColor !important; +} + + +/* Completed task */ + +.done0, +.done1, +.done2, +.done3 { + stroke: $doneTaskBorderColor; + fill: $doneTaskBkgColor; + stroke-width: 2; +} + +.doneText0, +.doneText1, +.doneText2, +.doneText3 { + fill: $taskTextDarkColor !important; +} + + +/* Tasks on the critical line */ + +.crit0, +.crit1, +.crit2, +.crit3 { + stroke: $critBorderColor; + fill: $critBkgColor; + stroke-width: 2; +} + +.activeCrit0, +.activeCrit1, +.activeCrit2, +.activeCrit3 { + stroke: $critBorderColor; + fill: $activeTaskBkgColor; + stroke-width: 2; +} + +.doneCrit0, +.doneCrit1, +.doneCrit2, +.doneCrit3 { + stroke: $critBorderColor; + fill: $doneTaskBkgColor; + stroke-width: 2; + cursor: pointer; + shape-rendering: crispEdges; +} + +.doneCritText0, +.doneCritText1, +.doneCritText2, +.doneCritText3 { + fill: $taskTextDarkColor !important; +} + +.activeCritText0, +.activeCritText1, +.activeCritText2, +.activeCritText3 { + fill: $taskTextDarkColor !important; +} + +.titleText { + text-anchor: middle; + font-size: 18px; + fill: $taskTextDarkColor; +} diff --git a/_scss/git.scss b/_scss/git.scss new file mode 100644 index 0000000000000000000000000000000000000000..f4072ef6526819fb162af3b02146ceb4f79f8dcb --- /dev/null +++ b/_scss/git.scss @@ -0,0 +1,6 @@ +.commit-id, +.commit-msg, +.branch-label { + fill: lightgrey; + color: lightgrey; +} diff --git a/_scss/jekyll-theme-cayman.scss b/_scss/jekyll-theme-cayman.scss new file mode 100755 index 0000000000000000000000000000000000000000..b5ed3424591bdf7a71187d35e932352505991e58 --- /dev/null +++ b/_scss/jekyll-theme-cayman.scss @@ -0,0 +1,364 @@ +@import "normalize"; +@import "rouge-github"; +@import "variables"; +@import url('https://fonts.googleapis.com/css?family=Open+Sans:400,700'); + +@mixin large { + @media screen and (min-width: #{$large-breakpoint}) { + @content; + } +} + +@mixin medium { + @media screen and (min-width: #{$medium-breakpoint}) and (max-width: #{$large-breakpoint}) { + @content; + } +} + +@mixin small { + @media screen and (max-width: #{$medium-breakpoint}) { + @content; + } +} + +* { + box-sizing: border-box; +} + +body { + padding: 0; + margin: 0; + font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 16px; + line-height: 1.5; + color: $body-text-color; +} + +#skip-to-content { + height: 1px; + width: 1px; + position: absolute; + overflow: hidden; + top: -10px; + + &:focus { + position: fixed; + top: 10px; + left: 10px; + height: auto; + width: auto; + background: invert($body-link-color); + outline: thick solid invert($body-link-color); + } +} + +a { + color: $body-link-color; + text-decoration: none; + + &:hover { + text-decoration: underline; + } +} + +.btn { + display: inline-block; + margin-bottom: 1rem; + color: rgba(255, 255, 255, 0.7); + background-color: rgba(255, 255, 255, 0.08); + border-color: rgba(255, 255, 255, 0.2); + border-style: solid; + border-width: 1px; + border-radius: 0.3rem; + transition: color 0.2s, background-color 0.2s, border-color 0.2s; + + &:hover { + color: rgba(255, 255, 255, 0.8); + text-decoration: none; + background-color: rgba(255, 255, 255, 0.2); + border-color: rgba(255, 255, 255, 0.3); + } + + + .btn { + margin-left: 1rem; + } + + @include large { + padding: 0.75rem 1rem; + } + + @include medium { + padding: 0.6rem 0.9rem; + font-size: 0.9rem; + } + + @include small { + display: block; + width: 100%; + padding: 0.75rem; + font-size: 0.9rem; + + + .btn { + margin-top: 1rem; + margin-left: 0; + } + } +} + +.page-header { + color: $header-heading-color; + text-align: center; + background-color: $header-bg-color; + background-image: linear-gradient(120deg, $header-bg-color-secondary, $header-bg-color); + + @include large { + padding: 5rem 6rem; + } + + @include medium { + padding: 3rem 4rem; + } + + @include small { + padding: 2rem 1rem; + } +} + +.project-name { + margin-top: 0; + margin-bottom: 0.1rem; + + @include large { + font-size: 3.25rem; + } + + @include medium { + font-size: 2.25rem; + } + + @include small { + font-size: 1.75rem; + } +} + +.project-tagline { + margin-bottom: 2rem; + font-weight: normal; + opacity: 0.7; + + @include large { + font-size: 1.25rem; + } + + @include medium { + font-size: 1.15rem; + } + + @include small { + font-size: 1rem; + } +} + +.main-content { + word-wrap: break-word; + + :first-child { + margin-top: 0; + } + + @include large { + max-width: 64rem; + padding: 2rem 6rem; + margin: 0 auto; + font-size: 1.1rem; + } + + @include medium { + padding: 2rem 4rem; + font-size: 1.1rem; + } + + @include small { + padding: 2rem 1rem; + font-size: 1rem; + } + + img { + max-width: 100%; + } + + h1, + h2, + h3, + h4, + h5, + h6 { + margin-top: 2rem; + margin-bottom: 1rem; + font-weight: normal; + color: $section-headings-color; + } + + p { + margin-bottom: 1em; + } + + code { + padding: 2px 4px; + font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; + font-size: 0.9rem; + color: $code-text-color; + background-color: $code-bg-color; + border-radius: 0.3rem; + } + + pre { + padding: 0.8rem; + margin-top: 0; + margin-bottom: 1rem; + font: 1rem Consolas, "Liberation Mono", Menlo, Courier, monospace; + color: $code-text-color; + word-wrap: normal; + background-color: $code-bg-color; + border: solid 1px $border-color; + border-radius: 0.3rem; + + > code { + padding: 0; + margin: 0; + font-size: 0.9rem; + color: $code-text-color; + word-break: normal; + white-space: pre; + background: transparent; + border: 0; + } + } + + .highlight { + margin-bottom: 1rem; + + pre { + margin-bottom: 0; + word-break: normal; + } + } + + .highlight pre, + pre { + padding: 0.8rem; + overflow: auto; + font-size: 0.9rem; + line-height: 1.45; + border-radius: 0.3rem; + -webkit-overflow-scrolling: touch; + } + + pre code, + pre tt { + display: inline; + max-width: initial; + padding: 0; + margin: 0; + overflow: initial; + line-height: inherit; + word-wrap: normal; + background-color: transparent; + border: 0; + + &:before, + &:after { + content: normal; + } + } + + ul, + ol { + margin-top: 0; + } + + blockquote { + padding: 0 1rem; + margin-left: 0; + color: $blockquote-text-color; + border-left: 0.3rem solid $border-color; + + > :first-child { + margin-top: 0; + } + + > :last-child { + margin-bottom: 0; + } + } + + table { + display: block; + width: 100%; + overflow: auto; + word-break: normal; + word-break: keep-all; // For Firefox to horizontally scroll wider tables. + -webkit-overflow-scrolling: touch; + + th { + font-weight: bold; + } + + th, + td { + padding: 0.5rem 1rem; + border: 1px solid $table-border-color; + } + } + + dl { + padding: 0; + + dt { + padding: 0; + margin-top: 1rem; + font-size: 1rem; + font-weight: bold; + } + + dd { + padding: 0; + margin-bottom: 1rem; + } + } + + hr { + height: 2px; + padding: 0; + margin: 1rem 0; + background-color: $hr-border-color; + border: 0; + } +} + +.site-footer { + padding-top: 2rem; + margin-top: 2rem; + border-top: solid 1px $hr-border-color; + + @include large { + font-size: 1rem; + } + + @include medium { + font-size: 1rem; + } + + @include small { + font-size: 0.9rem; + } +} + +.site-footer-owner { + display: block; + font-weight: bold; +} + +.site-footer-credits { + color: $blockquote-text-color; +} diff --git a/_scss/mermaid/class.scss b/_scss/mermaid/class.scss new file mode 100644 index 0000000000000000000000000000000000000000..5e7de91503d085c62ad225d75c6edf8633eb00ed --- /dev/null +++ b/_scss/mermaid/class.scss @@ -0,0 +1,78 @@ +g.classGroup text { + fill: $nodeBorder; + stroke: none; + font-family: 'trebuchet ms', verdana, arial; + font-size: 10px; +} + +g.classGroup rect { + fill: $nodeBkg; + stroke: $nodeBorder; +} + +g.classGroup line { + stroke: $nodeBorder; + stroke-width: 1; +} + +.classLabel .box { + stroke: none; + stroke-width: 0; + fill: $nodeBkg; + opacity: 0.5; +} + +.classLabel .label { + fill: $nodeBorder; + font-size: 10px; +} + +.relation { + stroke: $nodeBorder; + stroke-width: 1; + fill: none; +} + +@mixin composition { + fill: $nodeBorder; + stroke: $nodeBorder; + stroke-width: 1; +} + +#compositionStart { + @include composition; +} + +#compositionEnd { + @include composition; +} + +@mixin aggregation { + fill: $nodeBkg; + stroke: $nodeBorder; + stroke-width: 1; +} + +#aggregationStart { + @include aggregation; +} + +#aggregationEnd { + @include aggregation; +} + +#dependencyStart { + @include composition; +} + +#dependencyEnd { + @include composition; +} + +#extensionStart { + @include composition; +} + +#extensionEnd { + @include composition; +} diff --git a/_scss/mermaid/dark/index.scss b/_scss/mermaid/dark/index.scss new file mode 100644 index 0000000000000000000000000000000000000000..529eb3f704e534d89bedc895be24b04669fbe1a3 --- /dev/null +++ b/_scss/mermaid/dark/index.scss @@ -0,0 +1,54 @@ +$mainBkg: #BDD5EA; +$secondBkg: #6D6D65; +$mainContrastColor: lightgrey; +$darkTextColor: #323D47; +$lineColor: $mainContrastColor; +$border1: #81B1DB; +$border2: rgba(255, 255, 255, 0.25); +$arrowheadColor: $mainContrastColor; + +/* Flowchart variables */ + +$nodeBkg: $mainBkg; +$nodeBorder: purple; +$clusterBkg: $secondBkg; +$clusterBorder: $border2; +$defaultLinkColor: $lineColor; +$titleColor: #F9FFFE; +$edgeLabelBackground: #e8e8e8; + +/* Sequence Diagram variables */ + +$actorBorder: $border1; +$actorBkg: $mainBkg; +$actorTextColor: black; +$actorLineColor: $mainContrastColor; +$signalColor: $mainContrastColor; +$signalTextColor: $mainContrastColor; +$labelBoxBkgColor: $actorBkg; +$labelBoxBorderColor: $actorBorder; +$labelTextColor: $mainContrastColor; +$noteBorderColor: $border2; +$noteBkgColor: #fff5ad; + +/* Gantt chart variables */ + +$sectionBkgColor: rgba(255, 255, 255, 0.3); +$altSectionBkgColor: white; +$sectionBkgColor2: #EAE8B9; +$taskBorderColor: rgba(255, 255, 255, 0.5); +$taskBkgColor: $mainBkg; +$taskTextColor: $darkTextColor; +$taskTextLightColor: $mainContrastColor; +$taskTextOutsideColor: $taskTextLightColor; +$activeTaskBorderColor: rgba(255, 255, 255, 0.5); +$activeTaskBkgColor: #81B1DB; +$gridColor: $mainContrastColor; +$doneTaskBkgColor: $mainContrastColor; +$doneTaskBorderColor: grey; +$critBorderColor: #E83737; +$critBkgColor: #E83737; +$taskTextDarkColor: $darkTextColor; +$todayLineColor: #DB5757; + +@import '../mermaid'; diff --git a/_scss/mermaid/default/index.scss b/_scss/mermaid/default/index.scss new file mode 100644 index 0000000000000000000000000000000000000000..e98fc0741e34cc34363934f6db1489a5bfc2db4a --- /dev/null +++ b/_scss/mermaid/default/index.scss @@ -0,0 +1,52 @@ +$mainBkg: #ECECFF; +$secondBkg: #ffffde; +$lineColor: #333333; +$border1: #CCCCFF; +$border2: #aaaa33; +$arrowheadColor: #333333; + +/* Flowchart variables */ + +$nodeBkg: $mainBkg; +$nodeBorder: #9370DB; +$clusterBkg: $secondBkg; +$clusterBorder: $border2; +$defaultLinkColor: $lineColor; +$titleColor: #333; +$edgeLabelBackground: #e8e8e8; + +/* Sequence Diagram variables */ + +$actorBorder: $border1; +$actorBkg: $mainBkg; +$actorTextColor: black; +$actorLineColor: grey; +$signalColor: #333; +$signalTextColor: #333; +$labelBoxBkgColor: $actorBkg; +$labelBoxBorderColor: $actorBorder; +$labelTextColor: $actorTextColor; +$noteBorderColor: $border2; +$noteBkgColor: #fff5ad; + +/* Gantt chart variables */ + +$sectionBkgColor: rgba(102, 102, 255, 0.49); +$altSectionBkgColor: white; +$sectionBkgColor2: #fff400; +$taskBorderColor: #534fbc; +$taskBkgColor: #8a90dd; +$taskTextLightColor: white; +$taskTextColor: $taskTextLightColor; +$taskTextDarkColor: black; +$taskTextOutsideColor: $taskTextDarkColor; +$activeTaskBorderColor: #534fbc; +$activeTaskBkgColor: #bfc7ff; +$gridColor: lightgrey; +$doneTaskBkgColor: lightgrey; +$doneTaskBorderColor: grey; +$critBorderColor: #ff8888; +$critBkgColor: red; +$todayLineColor: red; + +@import '../mermaid'; diff --git a/_scss/mermaid/flowchart.scss b/_scss/mermaid/flowchart.scss new file mode 100644 index 0000000000000000000000000000000000000000..edafcf5e75e4d52906c291cce0703878ec92454e --- /dev/null +++ b/_scss/mermaid/flowchart.scss @@ -0,0 +1,54 @@ +.label { + font-family: 'trebuchet ms', verdana, arial; + color: #333; +} + +.node rect, +.node circle, +.node ellipse, +.node polygon { + fill: $mainBkg; + stroke: $nodeBorder; + stroke-width: 1px; +} + +.node.clickable { + cursor: pointer; +} + +.arrowheadPath { + fill: $arrowheadColor; +} + +.edgePath .path { + stroke: $lineColor; + stroke-width: 1.5px; +} + +.edgeLabel { + background-color: $edgeLabelBackground; +} + +.cluster rect { + fill: $secondBkg !important; + stroke: $clusterBorder !important; + stroke-width: 1px !important; +} + +.cluster text { + fill: $titleColor; +} + +div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: 'trebuchet ms', verdana, arial; + font-size: 12px; + background: $secondBkg; + border: 1px solid $border2; + border-radius: 2px; + pointer-events: none; + z-index: 100; +} diff --git a/_scss/mermaid/forest/index.scss b/_scss/mermaid/forest/index.scss new file mode 100644 index 0000000000000000000000000000000000000000..f6e1a1dae7fd6c12d6533d8e7fa8914c764d943a --- /dev/null +++ b/_scss/mermaid/forest/index.scss @@ -0,0 +1,53 @@ +$mainBkg: #cde498; +$secondBkg: #cdffb2; +$lineColor: #1a3318; +$lineColor: green; +$border1: #13540c; +$border2: #6eaa49; +$arrowheadColor: green; + +/* Flowchart variables */ + +$nodeBkg: $mainBkg; +$nodeBorder: $border1; +$clusterBkg: $secondBkg; +$clusterBorder: $border2; +$defaultLinkColor: $lineColor; +$titleColor: #333; +$edgeLabelBackground: #e8e8e8; + +/* Sequence Diagram variables */ + +$actorBorder: $border1; +$actorBkg: $mainBkg; +$actorTextColor: black; +$actorLineColor: grey; +$signalColor: #333; +$signalTextColor: #333; +$labelBoxBkgColor: $actorBkg; +$labelBoxBorderColor: #326932; +$labelTextColor: $actorTextColor; +$noteBorderColor: $border2; +$noteBkgColor: #fff5ad; + +/* Gantt chart variables */ + +$sectionBkgColor: #6eaa49; +$altSectionBkgColor: white; +$sectionBkgColor2: #6eaa49; +$taskBorderColor: $border1; +$taskBkgColor: #487e3a; +$taskTextLightColor: white; +$taskTextColor: $taskTextLightColor; +$taskTextDarkColor: black; +$taskTextOutsideColor: $taskTextDarkColor; +$activeTaskBorderColor: $taskBorderColor; +$activeTaskBkgColor: $mainBkg; +$gridColor: lightgrey; +$doneTaskBkgColor: lightgrey; +$doneTaskBorderColor: grey; +$critBorderColor: #ff8888; +$critBkgColor: red; +$todayLineColor: red; + +@import '../mermaid'; diff --git a/_scss/mermaid/gantt.scss b/_scss/mermaid/gantt.scss new file mode 100644 index 0000000000000000000000000000000000000000..6793135ec854b44e26f15d006c1a5cb151f5d1f8 --- /dev/null +++ b/_scss/mermaid/gantt.scss @@ -0,0 +1,209 @@ +/** Section styling */ + +.section { + stroke: none; + opacity: 0.2; +} + +.section0 { + fill: $sectionBkgColor; +} + +.section2 { + fill: $sectionBkgColor2; +} + +.section1, +.section3 { + fill: $altSectionBkgColor; + opacity: 0.2; +} + +.sectionTitle0 { + fill: $titleColor; +} + +.sectionTitle1 { + fill: $titleColor; +} + +.sectionTitle2 { + fill: $titleColor; +} + +.sectionTitle3 { + fill: $titleColor; +} + +.sectionTitle { + text-anchor: start; + font-size: 11px; + text-height: 14px; +} + + +/* Grid and axis */ + +.grid .tick { + stroke: $gridColor; + opacity: 0.3; + shape-rendering: crispEdges; +} + +.grid path { + stroke-width: 0; +} + + +/* Today line */ + +.today { + fill: none; + stroke: $todayLineColor; + stroke-width: 2px; +} + + +/* Task styling */ + + +/* Default task */ + +.task { + stroke-width: 2; +} + +.taskText { + text-anchor: middle; + font-size: 11px; +} + +.taskTextOutsideRight { + fill: $taskTextDarkColor; + text-anchor: start; + font-size: 11px; +} + +.taskTextOutsideLeft { + fill: $taskTextDarkColor; + text-anchor: end; + font-size: 11px; +} + + +/* Specific task settings for the sections*/ + +.taskText0, +.taskText1, +.taskText2, +.taskText3 { + fill: $taskTextColor; +} + +.task0, +.task1, +.task2, +.task3 { + fill: $taskBkgColor; + stroke: $taskBorderColor; +} + +.taskTextOutside0, +.taskTextOutside2, +{ + fill: $taskTextOutsideColor; +} + +.taskTextOutside1, +.taskTextOutside3 { + fill: $taskTextOutsideColor; +} + + +/* Active task */ + +.active0, +.active1, +.active2, +.active3 { + fill: $activeTaskBkgColor; + stroke: $activeTaskBorderColor; +} + +.activeText0, +.activeText1, +.activeText2, +.activeText3 { + fill: $taskTextDarkColor !important; +} + + +/* Completed task */ + +.done0, +.done1, +.done2, +.done3 { + stroke: $doneTaskBorderColor; + fill: $doneTaskBkgColor; + stroke-width: 2; +} + +.doneText0, +.doneText1, +.doneText2, +.doneText3 { + fill: $taskTextDarkColor !important; +} + + +/* Tasks on the critical line */ + +.crit0, +.crit1, +.crit2, +.crit3 { + stroke: $critBorderColor; + fill: $critBkgColor; + stroke-width: 2; +} + +.activeCrit0, +.activeCrit1, +.activeCrit2, +.activeCrit3 { + stroke: $critBorderColor; + fill: $activeTaskBkgColor; + stroke-width: 2; +} + +.doneCrit0, +.doneCrit1, +.doneCrit2, +.doneCrit3 { + stroke: $critBorderColor; + fill: $doneTaskBkgColor; + stroke-width: 2; + cursor: pointer; + shape-rendering: crispEdges; +} + +.doneCritText0, +.doneCritText1, +.doneCritText2, +.doneCritText3 { + fill: $taskTextDarkColor !important; +} + +.activeCritText0, +.activeCritText1, +.activeCritText2, +.activeCritText3 { + fill: $taskTextDarkColor !important; +} + +.titleText { + text-anchor: middle; + font-size: 18px; + fill: $taskTextDarkColor; +} diff --git a/_scss/mermaid/git.scss b/_scss/mermaid/git.scss new file mode 100644 index 0000000000000000000000000000000000000000..f4072ef6526819fb162af3b02146ceb4f79f8dcb --- /dev/null +++ b/_scss/mermaid/git.scss @@ -0,0 +1,6 @@ +.commit-id, +.commit-msg, +.branch-label { + fill: lightgrey; + color: lightgrey; +} diff --git a/_scss/mermaid/mermaid.scss b/_scss/mermaid/mermaid.scss new file mode 100644 index 0000000000000000000000000000000000000000..9a46f5142e06ce354a2dad513acc5a678360c314 --- /dev/null +++ b/_scss/mermaid/mermaid.scss @@ -0,0 +1,5 @@ +@import 'flowchart'; +@import 'sequence'; +@import 'gantt'; +@import 'class'; +@import 'git'; diff --git a/_scss/mermaid/neutral/index.scss b/_scss/mermaid/neutral/index.scss new file mode 100644 index 0000000000000000000000000000000000000000..f0560142f0d87358ce74356362e49fd805f818b1 --- /dev/null +++ b/_scss/mermaid/neutral/index.scss @@ -0,0 +1,57 @@ +$mainBkg: #eee; +$contrast: #26a; +$secondBkg: lighten($contrast, 55%); +$lineColor: #666; +$border1: #999; +$border2: $contrast; +$note: #ffa; +$text: #333; +$critical: #d42; +$done: #bbb; +$arrowheadColor: #333333; + +/* Flowchart variables */ + +$nodeBkg: $mainBkg; +$nodeBorder: $border1; +$clusterBkg: $secondBkg; +$clusterBorder: $border2; +$defaultLinkColor: $lineColor; +$titleColor: $text; +$edgeLabelBackground: white; + +/* Sequence Diagram variables */ + +$actorBorder: $border1; +$actorBkg: $mainBkg; +$actorTextColor: $text; +$actorLineColor: $lineColor; +$signalColor: $text; +$signalTextColor: $text; +$labelBoxBkgColor: $actorBkg; +$labelBoxBorderColor: $actorBorder; +$labelTextColor: white; +$noteBorderColor: darken($note, 60%); +$noteBkgColor: $note; + +/* Gantt chart variables */ + +$sectionBkgColor: lighten($contrast, 30%); +$altSectionBkgColor: white; +$sectionBkgColor2: lighten($contrast, 30%); +$taskBorderColor: darken($contrast, 10%); +$taskBkgColor: $contrast; +$taskTextLightColor: white; +$taskTextColor: $taskTextLightColor; +$taskTextDarkColor: $text; +$taskTextOutsideColor: $taskTextDarkColor; +$activeTaskBorderColor: $taskBorderColor; +$activeTaskBkgColor: $mainBkg; +$gridColor: lighten($border1, 30%); +$doneTaskBkgColor: $done; +$doneTaskBorderColor: $lineColor; +$critBkgColor: $critical; +$critBorderColor: darken($critBkgColor, 10%); +$todayLineColor: $critBkgColor; + +@import '../mermaid'; diff --git a/_scss/mermaid/sequence.scss b/_scss/mermaid/sequence.scss new file mode 100644 index 0000000000000000000000000000000000000000..780e8ecf5dc74059d24730fe46a01937667c99f8 --- /dev/null +++ b/_scss/mermaid/sequence.scss @@ -0,0 +1,75 @@ +.actor { + stroke: $actorBorder; + fill: $actorBkg; +} + +text.actor { + fill: $actorTextColor; + stroke: none; +} + +.actor-line { + stroke: $actorLineColor; +} + +.messageLine0 { + stroke-width: 1.5; + stroke-dasharray: '2 2'; + marker-end: 'url(#arrowhead)'; + stroke: $signalColor; +} + +.messageLine1 { + stroke-width: 1.5; + stroke-dasharray: '2 2'; + stroke: $signalColor; +} + +#arrowhead { + fill: $signalColor; +} + +#crosshead path { + fill: $signalColor !important; + stroke: $signalColor !important; +} + +.messageText { + fill: $signalTextColor; + stroke: none; +} + +.labelBox { + stroke: $labelBoxBorderColor; + fill: $labelBoxBkgColor; +} + +.labelText { + fill: $labelTextColor; + stroke: none; +} + +.loopText { + fill: $labelTextColor; + stroke: none; +} + +.loopLine { + stroke-width: 2; + stroke-dasharray: '2 2'; + marker-end: 'url(#arrowhead)'; + stroke: $labelBoxBorderColor; +} + +.note { + //stroke: #decc93; + stroke: $noteBorderColor; + fill: $noteBkgColor; +} + +.noteText { + fill: black; + stroke: none; + font-family: 'trebuchet ms', verdana, arial; + font-size: 14px; +} diff --git a/_scss/normalize.scss b/_scss/normalize.scss new file mode 100755 index 0000000000000000000000000000000000000000..30366a6e9837b9c3b160a7b785e780e065870436 --- /dev/null +++ b/_scss/normalize.scss @@ -0,0 +1,424 @@ +/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ + +/** + * 1. Set default font family to sans-serif. + * 2. Prevent iOS text size adjust after orientation change, without disabling + * user zoom. + */ + +html { + font-family: sans-serif; /* 1 */ + -ms-text-size-adjust: 100%; /* 2 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/** + * Remove default margin. + */ + +body { + margin: 0; +} + +/* HTML5 display definitions + ========================================================================== */ + +/** + * Correct `block` display not defined for any HTML5 element in IE 8/9. + * Correct `block` display not defined for `details` or `summary` in IE 10/11 + * and Firefox. + * Correct `block` display not defined for `main` in IE 11. + */ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} + +/** + * 1. Correct `inline-block` display not defined in IE 8/9. + * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. + */ + +audio, +canvas, +progress, +video { + display: inline-block; /* 1 */ + vertical-align: baseline; /* 2 */ +} + +/** + * Prevent modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + */ + +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * Address `[hidden]` styling not present in IE 8/9/10. + * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. + */ + +[hidden], +template { + display: none; +} + +/* Links + ========================================================================== */ + +/** + * Remove the gray background color from active links in IE 10. + */ + +a { + background-color: transparent; +} + +/** + * Improve readability when focused and also mouse hovered in all browsers. + */ + +a:active, +a:hover { + outline: 0; +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Address styling not present in IE 8/9/10/11, Safari, and Chrome. + */ + +abbr[title] { + border-bottom: 1px dotted; +} + +/** + * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. + */ + +b, +strong { + font-weight: bold; +} + +/** + * Address styling not present in Safari and Chrome. + */ + +dfn { + font-style: italic; +} + +/** + * Address variable `h1` font-size and margin within `section` and `article` + * contexts in Firefox 4+, Safari, and Chrome. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/** + * Address styling not present in IE 8/9. + */ + +mark { + background: #ff0; + color: #000; +} + +/** + * Address inconsistent and variable font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` affecting `line-height` in all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Remove border when inside `a` element in IE 8/9/10. + */ + +img { + border: 0; +} + +/** + * Correct overflow not hidden in IE 9/10/11. + */ + +svg:not(:root) { + overflow: hidden; +} + +/* Grouping content + ========================================================================== */ + +/** + * Address margin not present in IE 8/9 and Safari. + */ + +figure { + margin: 1em 40px; +} + +/** + * Address differences between Firefox and other browsers. + */ + +hr { + box-sizing: content-box; + height: 0; +} + +/** + * Contain overflow in all browsers. + */ + +pre { + overflow: auto; +} + +/** + * Address odd `em`-unit font size rendering in all browsers. + */ + +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + +/* Forms + ========================================================================== */ + +/** + * Known limitation: by default, Chrome and Safari on OS X allow very limited + * styling of `select`, unless a `border` property is set. + */ + +/** + * 1. Correct color not being inherited. + * Known issue: affects color of disabled elements. + * 2. Correct font properties not being inherited. + * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. + */ + +button, +input, +optgroup, +select, +textarea { + color: inherit; /* 1 */ + font: inherit; /* 2 */ + margin: 0; /* 3 */ +} + +/** + * Address `overflow` set to `hidden` in IE 8/9/10/11. + */ + +button { + overflow: visible; +} + +/** + * Address inconsistent `text-transform` inheritance for `button` and `select`. + * All other form control elements do not inherit `text-transform` values. + * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. + * Correct `select` style inheritance in Firefox. + */ + +button, +select { + text-transform: none; +} + +/** + * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * and `video` controls. + * 2. Correct inability to style clickable `input` types in iOS. + * 3. Improve usability and consistency of cursor style between image-type + * `input` and others. + */ + +button, +html input[type="button"], /* 1 */ +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; /* 2 */ + cursor: pointer; /* 3 */ +} + +/** + * Re-set default cursor for disabled elements. + */ + +button[disabled], +html input[disabled] { + cursor: default; +} + +/** + * Remove inner padding and border in Firefox 4+. + */ + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/** + * Address Firefox 4+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ + +input { + line-height: normal; +} + +/** + * It's recommended that you don't attempt to style these elements. + * Firefox's implementation doesn't respect box-sizing, padding, or width. + * + * 1. Address box sizing set to `content-box` in IE 8/9/10. + * 2. Remove excess padding in IE 8/9/10. + */ + +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Fix the cursor style for Chrome's increment/decrement buttons. For certain + * `font-size` values of the `input`, it causes the cursor style of the + * decrement button to change from `default` to `text`. + */ + +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Address `appearance` set to `searchfield` in Safari and Chrome. + * 2. Address `box-sizing` set to `border-box` in Safari and Chrome + * (include `-moz` to future-proof). + */ + +input[type="search"] { + -webkit-appearance: textfield; /* 1 */ /* 2 */ + box-sizing: content-box; +} + +/** + * Remove inner padding and search cancel button in Safari and Chrome on OS X. + * Safari (but not Chrome) clips the cancel button when the search input has + * padding (and `textfield` appearance). + */ + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * Define consistent border, margin, and padding. + */ + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +/** + * 1. Correct `color` not being inherited in IE 8/9/10/11. + * 2. Remove padding so people aren't caught out if they zero out fieldsets. + */ + +legend { + border: 0; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Remove default vertical scrollbar in IE 8/9/10/11. + */ + +textarea { + overflow: auto; +} + +/** + * Don't inherit the `font-weight` (applied by a rule above). + * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. + */ + +optgroup { + font-weight: bold; +} + +/* Tables + ========================================================================== */ + +/** + * Remove most spacing between table cells. + */ + +table { + border-collapse: collapse; + border-spacing: 0; +} + +td, +th { + padding: 0; +} diff --git a/_scss/regular.scss b/_scss/regular.scss new file mode 100644 index 0000000000000000000000000000000000000000..2bce7d20bc644ae6a4becb6562403858adecdd33 --- /dev/null +++ b/_scss/regular.scss @@ -0,0 +1,22 @@ +/*! + * Font Awesome Free 5.3.1 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +@import 'variables'; + +@font-face { + font-family: 'Font Awesome 5 Free'; + font-style: normal; + font-weight: 400; + src: url('#{$fa-font-path}/fa-regular-400.eot'); + src: url('#{$fa-font-path}/fa-regular-400.eot?#iefix') format('embedded-opentype'), + url('#{$fa-font-path}/fa-regular-400.woff2') format('woff2'), + url('#{$fa-font-path}/fa-regular-400.woff') format('woff'), + url('#{$fa-font-path}/fa-regular-400.ttf') format('truetype'), + url('#{$fa-font-path}/fa-regular-400.svg#fontawesome') format('svg'); +} + +.far { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; +} diff --git a/_scss/remark-base.scss b/_scss/remark-base.scss new file mode 100644 index 0000000000000000000000000000000000000000..a7a9cbe9c5e41dfd9acfe37c392846a7aa841341 --- /dev/null +++ b/_scss/remark-base.scss @@ -0,0 +1,154 @@ +div { + &.my-header { + background-color: #0086B3; + background: linear-gradient(120deg, #155799, #159957); + /*-webkit-gradient(linear, left top, right top, color-stop(0%,#445588), color-stop(0%,#445588), color-stop(0%,#159957), color-stop(10%,#159957), color-stop(25%,#1586B3), color-stop(100%,#0086B3));*/ + position: fixed; + top: 0px; + left: 0px; + height: 30px; + width: 100%; + text-align: left; + vertical-align: middle; + align-items: center; + } + &.my-footer { + background-color: #0086B3; + position: absolute; + bottom: 0px; + left: 0px; + height: 30px; + width: 100%; + text-align: right; + span { + font-size: 10pt; + position: absolute; + left: 15px; + bottom: 2px; + height: 30px; + text-align: right; + width: 100%; + } + } +} + +.remark-code { + align: top; + transform: scale(0.8); +} + +.left-column30 { + width: 30%; + float: left; +} + +.left-column40 { + width: 40%; + float: left; +} + +.left-column50 { + width: 50%; + float: left; +} + +.right-column70 { + width: 68%; + float: right; +} + +.right-column60 { + width: 58%; + float: right; +} + +.right-column50 { + width: 48%; + float: right; +} + +body { + font-family: 'Ubuntu'; +} + +h1, h2, h3 { + font-family: 'Yanone Kaffeesatz'; + font-weight: normal; + margin-bottom: 0; +} + +.remark-slide-content { + h1 { + font-size: 2.5em; + } + h2 { + font-size: 2em; + } + h3 { + font-size: 1.5em; + } +} + +.footnote { + position: absolute; + bottom: 3em; +} + +li p { + line-height: 1.25em; +} + +.red { + color: #fa0000; +} + +.large { + font-size: 2em; +} + +a { + color: rgb(249, 38, 114); + text-decoration: none; + > code { + color: rgb(249, 38, 114); + text-decoration: none; + } +} + +code { + background: #e7e8e2; + border-radius: 5px; +} + +.remark-code, .remark-inline-code { + font-family: 'Ubuntu Mono'; +} + +.remark-code-line-highlighted { + background-color: #373832; + color: #FFFFFF; + text-color: #FFFFFF +} + +.pull-left { + float: left; + width: 47%; +} + +.pull-right { + float: right; + width: 47%; + ~ p { + clear: both; + } +} + +#slideshow .slide .content { + code { + font-size: 0.8em; + } + pre code { + font-size: 0.9em; + padding: 15px; + } +} diff --git a/_scss/rouge-github.scss b/_scss/rouge-github.scss new file mode 100755 index 0000000000000000000000000000000000000000..daf76adee98955fbdf9afff089d13dd87c201b9c --- /dev/null +++ b/_scss/rouge-github.scss @@ -0,0 +1,209 @@ +.highlight table td { padding: 5px; } +.highlight table pre { margin: 0; } +.highlight .cm { + color: #999988; + font-style: italic; +} +.highlight .cp { + color: #999999; + font-weight: bold; +} +.highlight .c1 { + color: #999988; + font-style: italic; +} +.highlight .cs { + color: #999999; + font-weight: bold; + font-style: italic; +} +.highlight .c, .highlight .cd { + color: #999988; + font-style: italic; +} +.highlight .err { + color: #a61717; + background-color: #e3d2d2; +} +.highlight .gd { + color: #000000; + background-color: #ffdddd; +} +.highlight .ge { + color: #000000; + font-style: italic; +} +.highlight .gr { + color: #aa0000; +} +.highlight .gh { + color: #999999; +} +.highlight .gi { + color: #000000; + background-color: #ddffdd; +} +.highlight .go { + color: #888888; +} +.highlight .gp { + color: #555555; +} +.highlight .gs { + font-weight: bold; +} +.highlight .gu { + color: #aaaaaa; +} +.highlight .gt { + color: #aa0000; +} +.highlight .kc { + color: #000000; + font-weight: bold; +} +.highlight .kd { + color: #000000; + font-weight: bold; +} +.highlight .kn { + color: #000000; + font-weight: bold; +} +.highlight .kp { + color: #000000; + font-weight: bold; +} +.highlight .kr { + color: #000000; + font-weight: bold; +} +.highlight .kt { + color: #445588; + font-weight: bold; +} +.highlight .k, .highlight .kv { + color: #000000; + font-weight: bold; +} +.highlight .mf { + color: #009999; +} +.highlight .mh { + color: #009999; +} +.highlight .il { + color: #009999; +} +.highlight .mi { + color: #009999; +} +.highlight .mo { + color: #009999; +} +.highlight .m, .highlight .mb, .highlight .mx { + color: #009999; +} +.highlight .sb { + color: #d14; +} +.highlight .sc { + color: #d14; +} +.highlight .sd { + color: #d14; +} +.highlight .s2 { + color: #d14; +} +.highlight .se { + color: #d14; +} +.highlight .sh { + color: #d14; +} +.highlight .si { + color: #d14; +} +.highlight .sx { + color: #d14; +} +.highlight .sr { + color: #009926; +} +.highlight .s1 { + color: #d14; +} +.highlight .ss { + color: #990073; +} +.highlight .s { + color: #d14; +} +.highlight .na { + color: #008080; +} +.highlight .bp { + color: #999999; +} +.highlight .nb { + color: #0086B3; +} +.highlight .nc { + color: #445588; + font-weight: bold; +} +.highlight .no { + color: #008080; +} +.highlight .nd { + color: #3c5d5d; + font-weight: bold; +} +.highlight .ni { + color: #800080; +} +.highlight .ne { + color: #990000; + font-weight: bold; +} +.highlight .nf { + color: #990000; + font-weight: bold; +} +.highlight .nl { + color: #990000; + font-weight: bold; +} +.highlight .nn { + color: #555555; +} +.highlight .nt { + color: #000080; +} +.highlight .vc { + color: #008080; +} +.highlight .vg { + color: #008080; +} +.highlight .vi { + color: #008080; +} +.highlight .nv { + color: #008080; +} +.highlight .ow { + color: #000000; + font-weight: bold; +} +.highlight .o { + color: #000000; + font-weight: bold; +} +.highlight .w { + color: #bbbbbb; +} +.highlight { + background-color: #f8f8f8; +} diff --git a/_scss/sequence.scss b/_scss/sequence.scss new file mode 100644 index 0000000000000000000000000000000000000000..780e8ecf5dc74059d24730fe46a01937667c99f8 --- /dev/null +++ b/_scss/sequence.scss @@ -0,0 +1,75 @@ +.actor { + stroke: $actorBorder; + fill: $actorBkg; +} + +text.actor { + fill: $actorTextColor; + stroke: none; +} + +.actor-line { + stroke: $actorLineColor; +} + +.messageLine0 { + stroke-width: 1.5; + stroke-dasharray: '2 2'; + marker-end: 'url(#arrowhead)'; + stroke: $signalColor; +} + +.messageLine1 { + stroke-width: 1.5; + stroke-dasharray: '2 2'; + stroke: $signalColor; +} + +#arrowhead { + fill: $signalColor; +} + +#crosshead path { + fill: $signalColor !important; + stroke: $signalColor !important; +} + +.messageText { + fill: $signalTextColor; + stroke: none; +} + +.labelBox { + stroke: $labelBoxBorderColor; + fill: $labelBoxBkgColor; +} + +.labelText { + fill: $labelTextColor; + stroke: none; +} + +.loopText { + fill: $labelTextColor; + stroke: none; +} + +.loopLine { + stroke-width: 2; + stroke-dasharray: '2 2'; + marker-end: 'url(#arrowhead)'; + stroke: $labelBoxBorderColor; +} + +.note { + //stroke: #decc93; + stroke: $noteBorderColor; + fill: $noteBkgColor; +} + +.noteText { + fill: black; + stroke: none; + font-family: 'trebuchet ms', verdana, arial; + font-size: 14px; +} diff --git a/_scss/solid.scss b/_scss/solid.scss new file mode 100644 index 0000000000000000000000000000000000000000..5d53a0369f8a131024024e52b139c4ca38b862bc --- /dev/null +++ b/_scss/solid.scss @@ -0,0 +1,23 @@ +/*! + * Font Awesome Free 5.3.1 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +@import 'variables'; + +@font-face { + font-family: 'Font Awesome 5 Free'; + font-style: normal; + font-weight: 900; + src: url('#{$fa-font-path}/fa-solid-900.eot'); + src: url('#{$fa-font-path}/fa-solid-900.eot?#iefix') format('embedded-opentype'), + url('#{$fa-font-path}/fa-solid-900.woff2') format('woff2'), + url('#{$fa-font-path}/fa-solid-900.woff') format('woff'), + url('#{$fa-font-path}/fa-solid-900.ttf') format('truetype'), + url('#{$fa-font-path}/fa-solid-900.svg#fontawesome') format('svg'); +} + +.fa, +.fas { + font-family: 'Font Awesome 5 Free'; + font-weight: 900; +} diff --git a/_scss/v4-shims.scss b/_scss/v4-shims.scss new file mode 100644 index 0000000000000000000000000000000000000000..8c02e8ea8a713499b50ad53550179995dc5eea68 --- /dev/null +++ b/_scss/v4-shims.scss @@ -0,0 +1,6 @@ +/*! + * Font Awesome Free 5.3.1 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +@import 'variables'; +@import 'shims'; diff --git a/_scss/variables.scss b/_scss/variables.scss new file mode 100755 index 0000000000000000000000000000000000000000..ac991821ab2b4d29e9105cbeefb3ea60379a6b03 --- /dev/null +++ b/_scss/variables.scss @@ -0,0 +1,1231 @@ +// Breakpoints +$large-breakpoint: 64em !default; +$medium-breakpoint: 42em !default; + +// Headers +$header-heading-color: #fff !default; +$header-bg-color: #159957 !default; +$header-bg-color-secondary: #155799 !default; + +// Text +$section-headings-color: #159957 !default; +$body-text-color: #606c71 !default; +$body-link-color: #1e6bb8 !default; +$blockquote-text-color: #819198 !default; + +// Code +$code-bg-color: #f3f6fa !default; +$code-text-color: #567482 !default; + +// Borders +$border-color: #dce6f0 !default; +$table-border-color: #e9ebec !default; +$hr-border-color: #eff0f1 !default; + +// Variables +// -------------------------- + +$fa-font-path: "../webfonts" !default; +$fa-font-size-base: 16em !default; +$fa-css-prefix: fa !default; +$fa-version: "5.3.1" !default; +$fa-border-color: #eee !default; +$fa-inverse: #fff !default; +$fa-li-width: 2em !default; + +// Convenience function used to set content property +@function fa-content($fa-var) { + @return unquote("\"#{ $fa-var }\""); +} + +$fa-var-500px: \f26e; +$fa-var-accessible-icon: \f368; +$fa-var-accusoft: \f369; +$fa-var-ad: \f641; +$fa-var-address-book: \f2b9; +$fa-var-address-card: \f2bb; +$fa-var-adjust: \f042; +$fa-var-adn: \f170; +$fa-var-adversal: \f36a; +$fa-var-affiliatetheme: \f36b; +$fa-var-air-freshener: \f5d0; +$fa-var-algolia: \f36c; +$fa-var-align-center: \f037; +$fa-var-align-justify: \f039; +$fa-var-align-left: \f036; +$fa-var-align-right: \f038; +$fa-var-alipay: \f642; +$fa-var-allergies: \f461; +$fa-var-amazon: \f270; +$fa-var-amazon-pay: \f42c; +$fa-var-ambulance: \f0f9; +$fa-var-american-sign-language-interpreting: \f2a3; +$fa-var-amilia: \f36d; +$fa-var-anchor: \f13d; +$fa-var-android: \f17b; +$fa-var-angellist: \f209; +$fa-var-angle-double-down: \f103; +$fa-var-angle-double-left: \f100; +$fa-var-angle-double-right: \f101; +$fa-var-angle-double-up: \f102; +$fa-var-angle-down: \f107; +$fa-var-angle-left: \f104; +$fa-var-angle-right: \f105; +$fa-var-angle-up: \f106; +$fa-var-angry: \f556; +$fa-var-angrycreative: \f36e; +$fa-var-angular: \f420; +$fa-var-ankh: \f644; +$fa-var-app-store: \f36f; +$fa-var-app-store-ios: \f370; +$fa-var-apper: \f371; +$fa-var-apple: \f179; +$fa-var-apple-alt: \f5d1; +$fa-var-apple-pay: \f415; +$fa-var-archive: \f187; +$fa-var-archway: \f557; +$fa-var-arrow-alt-circle-down: \f358; +$fa-var-arrow-alt-circle-left: \f359; +$fa-var-arrow-alt-circle-right: \f35a; +$fa-var-arrow-alt-circle-up: \f35b; +$fa-var-arrow-circle-down: \f0ab; +$fa-var-arrow-circle-left: \f0a8; +$fa-var-arrow-circle-right: \f0a9; +$fa-var-arrow-circle-up: \f0aa; +$fa-var-arrow-down: \f063; +$fa-var-arrow-left: \f060; +$fa-var-arrow-right: \f061; +$fa-var-arrow-up: \f062; +$fa-var-arrows-alt: \f0b2; +$fa-var-arrows-alt-h: \f337; +$fa-var-arrows-alt-v: \f338; +$fa-var-assistive-listening-systems: \f2a2; +$fa-var-asterisk: \f069; +$fa-var-asymmetrik: \f372; +$fa-var-at: \f1fa; +$fa-var-atlas: \f558; +$fa-var-atom: \f5d2; +$fa-var-audible: \f373; +$fa-var-audio-description: \f29e; +$fa-var-autoprefixer: \f41c; +$fa-var-avianex: \f374; +$fa-var-aviato: \f421; +$fa-var-award: \f559; +$fa-var-aws: \f375; +$fa-var-backspace: \f55a; +$fa-var-backward: \f04a; +$fa-var-balance-scale: \f24e; +$fa-var-ban: \f05e; +$fa-var-band-aid: \f462; +$fa-var-bandcamp: \f2d5; +$fa-var-barcode: \f02a; +$fa-var-bars: \f0c9; +$fa-var-baseball-ball: \f433; +$fa-var-basketball-ball: \f434; +$fa-var-bath: \f2cd; +$fa-var-battery-empty: \f244; +$fa-var-battery-full: \f240; +$fa-var-battery-half: \f242; +$fa-var-battery-quarter: \f243; +$fa-var-battery-three-quarters: \f241; +$fa-var-bed: \f236; +$fa-var-beer: \f0fc; +$fa-var-behance: \f1b4; +$fa-var-behance-square: \f1b5; +$fa-var-bell: \f0f3; +$fa-var-bell-slash: \f1f6; +$fa-var-bezier-curve: \f55b; +$fa-var-bible: \f647; +$fa-var-bicycle: \f206; +$fa-var-bimobject: \f378; +$fa-var-binoculars: \f1e5; +$fa-var-birthday-cake: \f1fd; +$fa-var-bitbucket: \f171; +$fa-var-bitcoin: \f379; +$fa-var-bity: \f37a; +$fa-var-black-tie: \f27e; +$fa-var-blackberry: \f37b; +$fa-var-blender: \f517; +$fa-var-blind: \f29d; +$fa-var-blogger: \f37c; +$fa-var-blogger-b: \f37d; +$fa-var-bluetooth: \f293; +$fa-var-bluetooth-b: \f294; +$fa-var-bold: \f032; +$fa-var-bolt: \f0e7; +$fa-var-bomb: \f1e2; +$fa-var-bone: \f5d7; +$fa-var-bong: \f55c; +$fa-var-book: \f02d; +$fa-var-book-open: \f518; +$fa-var-book-reader: \f5da; +$fa-var-bookmark: \f02e; +$fa-var-bowling-ball: \f436; +$fa-var-box: \f466; +$fa-var-box-open: \f49e; +$fa-var-boxes: \f468; +$fa-var-braille: \f2a1; +$fa-var-brain: \f5dc; +$fa-var-briefcase: \f0b1; +$fa-var-briefcase-medical: \f469; +$fa-var-broadcast-tower: \f519; +$fa-var-broom: \f51a; +$fa-var-brush: \f55d; +$fa-var-btc: \f15a; +$fa-var-bug: \f188; +$fa-var-building: \f1ad; +$fa-var-bullhorn: \f0a1; +$fa-var-bullseye: \f140; +$fa-var-burn: \f46a; +$fa-var-buromobelexperte: \f37f; +$fa-var-bus: \f207; +$fa-var-bus-alt: \f55e; +$fa-var-business-time: \f64a; +$fa-var-buysellads: \f20d; +$fa-var-calculator: \f1ec; +$fa-var-calendar: \f133; +$fa-var-calendar-alt: \f073; +$fa-var-calendar-check: \f274; +$fa-var-calendar-minus: \f272; +$fa-var-calendar-plus: \f271; +$fa-var-calendar-times: \f273; +$fa-var-camera: \f030; +$fa-var-camera-retro: \f083; +$fa-var-cannabis: \f55f; +$fa-var-capsules: \f46b; +$fa-var-car: \f1b9; +$fa-var-car-alt: \f5de; +$fa-var-car-battery: \f5df; +$fa-var-car-crash: \f5e1; +$fa-var-car-side: \f5e4; +$fa-var-caret-down: \f0d7; +$fa-var-caret-left: \f0d9; +$fa-var-caret-right: \f0da; +$fa-var-caret-square-down: \f150; +$fa-var-caret-square-left: \f191; +$fa-var-caret-square-right: \f152; +$fa-var-caret-square-up: \f151; +$fa-var-caret-up: \f0d8; +$fa-var-cart-arrow-down: \f218; +$fa-var-cart-plus: \f217; +$fa-var-cc-amazon-pay: \f42d; +$fa-var-cc-amex: \f1f3; +$fa-var-cc-apple-pay: \f416; +$fa-var-cc-diners-club: \f24c; +$fa-var-cc-discover: \f1f2; +$fa-var-cc-jcb: \f24b; +$fa-var-cc-mastercard: \f1f1; +$fa-var-cc-paypal: \f1f4; +$fa-var-cc-stripe: \f1f5; +$fa-var-cc-visa: \f1f0; +$fa-var-centercode: \f380; +$fa-var-certificate: \f0a3; +$fa-var-chalkboard: \f51b; +$fa-var-chalkboard-teacher: \f51c; +$fa-var-charging-station: \f5e7; +$fa-var-chart-area: \f1fe; +$fa-var-chart-bar: \f080; +$fa-var-chart-line: \f201; +$fa-var-chart-pie: \f200; +$fa-var-check: \f00c; +$fa-var-check-circle: \f058; +$fa-var-check-double: \f560; +$fa-var-check-square: \f14a; +$fa-var-chess: \f439; +$fa-var-chess-bishop: \f43a; +$fa-var-chess-board: \f43c; +$fa-var-chess-king: \f43f; +$fa-var-chess-knight: \f441; +$fa-var-chess-pawn: \f443; +$fa-var-chess-queen: \f445; +$fa-var-chess-rook: \f447; +$fa-var-chevron-circle-down: \f13a; +$fa-var-chevron-circle-left: \f137; +$fa-var-chevron-circle-right: \f138; +$fa-var-chevron-circle-up: \f139; +$fa-var-chevron-down: \f078; +$fa-var-chevron-left: \f053; +$fa-var-chevron-right: \f054; +$fa-var-chevron-up: \f077; +$fa-var-child: \f1ae; +$fa-var-chrome: \f268; +$fa-var-church: \f51d; +$fa-var-circle: \f111; +$fa-var-circle-notch: \f1ce; +$fa-var-city: \f64f; +$fa-var-clipboard: \f328; +$fa-var-clipboard-check: \f46c; +$fa-var-clipboard-list: \f46d; +$fa-var-clock: \f017; +$fa-var-clone: \f24d; +$fa-var-closed-captioning: \f20a; +$fa-var-cloud: \f0c2; +$fa-var-cloud-download-alt: \f381; +$fa-var-cloud-upload-alt: \f382; +$fa-var-cloudscale: \f383; +$fa-var-cloudsmith: \f384; +$fa-var-cloudversify: \f385; +$fa-var-cocktail: \f561; +$fa-var-code: \f121; +$fa-var-code-branch: \f126; +$fa-var-codepen: \f1cb; +$fa-var-codiepie: \f284; +$fa-var-coffee: \f0f4; +$fa-var-cog: \f013; +$fa-var-cogs: \f085; +$fa-var-coins: \f51e; +$fa-var-columns: \f0db; +$fa-var-comment: \f075; +$fa-var-comment-alt: \f27a; +$fa-var-comment-dollar: \f651; +$fa-var-comment-dots: \f4ad; +$fa-var-comment-slash: \f4b3; +$fa-var-comments: \f086; +$fa-var-comments-dollar: \f653; +$fa-var-compact-disc: \f51f; +$fa-var-compass: \f14e; +$fa-var-compress: \f066; +$fa-var-concierge-bell: \f562; +$fa-var-connectdevelop: \f20e; +$fa-var-contao: \f26d; +$fa-var-cookie: \f563; +$fa-var-cookie-bite: \f564; +$fa-var-copy: \f0c5; +$fa-var-copyright: \f1f9; +$fa-var-couch: \f4b8; +$fa-var-cpanel: \f388; +$fa-var-creative-commons: \f25e; +$fa-var-creative-commons-by: \f4e7; +$fa-var-creative-commons-nc: \f4e8; +$fa-var-creative-commons-nc-eu: \f4e9; +$fa-var-creative-commons-nc-jp: \f4ea; +$fa-var-creative-commons-nd: \f4eb; +$fa-var-creative-commons-pd: \f4ec; +$fa-var-creative-commons-pd-alt: \f4ed; +$fa-var-creative-commons-remix: \f4ee; +$fa-var-creative-commons-sa: \f4ef; +$fa-var-creative-commons-sampling: \f4f0; +$fa-var-creative-commons-sampling-plus: \f4f1; +$fa-var-creative-commons-share: \f4f2; +$fa-var-credit-card: \f09d; +$fa-var-crop: \f125; +$fa-var-crop-alt: \f565; +$fa-var-cross: \f654; +$fa-var-crosshairs: \f05b; +$fa-var-crow: \f520; +$fa-var-crown: \f521; +$fa-var-css3: \f13c; +$fa-var-css3-alt: \f38b; +$fa-var-cube: \f1b2; +$fa-var-cubes: \f1b3; +$fa-var-cut: \f0c4; +$fa-var-cuttlefish: \f38c; +$fa-var-d-and-d: \f38d; +$fa-var-dashcube: \f210; +$fa-var-database: \f1c0; +$fa-var-deaf: \f2a4; +$fa-var-delicious: \f1a5; +$fa-var-deploydog: \f38e; +$fa-var-deskpro: \f38f; +$fa-var-desktop: \f108; +$fa-var-deviantart: \f1bd; +$fa-var-dharmachakra: \f655; +$fa-var-diagnoses: \f470; +$fa-var-dice: \f522; +$fa-var-dice-five: \f523; +$fa-var-dice-four: \f524; +$fa-var-dice-one: \f525; +$fa-var-dice-six: \f526; +$fa-var-dice-three: \f527; +$fa-var-dice-two: \f528; +$fa-var-digg: \f1a6; +$fa-var-digital-ocean: \f391; +$fa-var-digital-tachograph: \f566; +$fa-var-directions: \f5eb; +$fa-var-discord: \f392; +$fa-var-discourse: \f393; +$fa-var-divide: \f529; +$fa-var-dizzy: \f567; +$fa-var-dna: \f471; +$fa-var-dochub: \f394; +$fa-var-docker: \f395; +$fa-var-dollar-sign: \f155; +$fa-var-dolly: \f472; +$fa-var-dolly-flatbed: \f474; +$fa-var-donate: \f4b9; +$fa-var-door-closed: \f52a; +$fa-var-door-open: \f52b; +$fa-var-dot-circle: \f192; +$fa-var-dove: \f4ba; +$fa-var-download: \f019; +$fa-var-draft2digital: \f396; +$fa-var-drafting-compass: \f568; +$fa-var-draw-polygon: \f5ee; +$fa-var-dribbble: \f17d; +$fa-var-dribbble-square: \f397; +$fa-var-dropbox: \f16b; +$fa-var-drum: \f569; +$fa-var-drum-steelpan: \f56a; +$fa-var-drupal: \f1a9; +$fa-var-dumbbell: \f44b; +$fa-var-dyalog: \f399; +$fa-var-earlybirds: \f39a; +$fa-var-ebay: \f4f4; +$fa-var-edge: \f282; +$fa-var-edit: \f044; +$fa-var-eject: \f052; +$fa-var-elementor: \f430; +$fa-var-ellipsis-h: \f141; +$fa-var-ellipsis-v: \f142; +$fa-var-ello: \f5f1; +$fa-var-ember: \f423; +$fa-var-empire: \f1d1; +$fa-var-envelope: \f0e0; +$fa-var-envelope-open: \f2b6; +$fa-var-envelope-open-text: \f658; +$fa-var-envelope-square: \f199; +$fa-var-envira: \f299; +$fa-var-equals: \f52c; +$fa-var-eraser: \f12d; +$fa-var-erlang: \f39d; +$fa-var-ethereum: \f42e; +$fa-var-etsy: \f2d7; +$fa-var-euro-sign: \f153; +$fa-var-exchange-alt: \f362; +$fa-var-exclamation: \f12a; +$fa-var-exclamation-circle: \f06a; +$fa-var-exclamation-triangle: \f071; +$fa-var-expand: \f065; +$fa-var-expand-arrows-alt: \f31e; +$fa-var-expeditedssl: \f23e; +$fa-var-external-link-alt: \f35d; +$fa-var-external-link-square-alt: \f360; +$fa-var-eye: \f06e; +$fa-var-eye-dropper: \f1fb; +$fa-var-eye-slash: \f070; +$fa-var-facebook: \f09a; +$fa-var-facebook-f: \f39e; +$fa-var-facebook-messenger: \f39f; +$fa-var-facebook-square: \f082; +$fa-var-fast-backward: \f049; +$fa-var-fast-forward: \f050; +$fa-var-fax: \f1ac; +$fa-var-feather: \f52d; +$fa-var-feather-alt: \f56b; +$fa-var-female: \f182; +$fa-var-fighter-jet: \f0fb; +$fa-var-file: \f15b; +$fa-var-file-alt: \f15c; +$fa-var-file-archive: \f1c6; +$fa-var-file-audio: \f1c7; +$fa-var-file-code: \f1c9; +$fa-var-file-contract: \f56c; +$fa-var-file-download: \f56d; +$fa-var-file-excel: \f1c3; +$fa-var-file-export: \f56e; +$fa-var-file-image: \f1c5; +$fa-var-file-import: \f56f; +$fa-var-file-invoice: \f570; +$fa-var-file-invoice-dollar: \f571; +$fa-var-file-medical: \f477; +$fa-var-file-medical-alt: \f478; +$fa-var-file-pdf: \f1c1; +$fa-var-file-powerpoint: \f1c4; +$fa-var-file-prescription: \f572; +$fa-var-file-signature: \f573; +$fa-var-file-upload: \f574; +$fa-var-file-video: \f1c8; +$fa-var-file-word: \f1c2; +$fa-var-fill: \f575; +$fa-var-fill-drip: \f576; +$fa-var-film: \f008; +$fa-var-filter: \f0b0; +$fa-var-fingerprint: \f577; +$fa-var-fire: \f06d; +$fa-var-fire-extinguisher: \f134; +$fa-var-firefox: \f269; +$fa-var-first-aid: \f479; +$fa-var-first-order: \f2b0; +$fa-var-first-order-alt: \f50a; +$fa-var-firstdraft: \f3a1; +$fa-var-fish: \f578; +$fa-var-flag: \f024; +$fa-var-flag-checkered: \f11e; +$fa-var-flask: \f0c3; +$fa-var-flickr: \f16e; +$fa-var-flipboard: \f44d; +$fa-var-flushed: \f579; +$fa-var-fly: \f417; +$fa-var-folder: \f07b; +$fa-var-folder-minus: \f65d; +$fa-var-folder-open: \f07c; +$fa-var-folder-plus: \f65e; +$fa-var-font: \f031; +$fa-var-font-awesome: \f2b4; +$fa-var-font-awesome-alt: \f35c; +$fa-var-font-awesome-flag: \f425; +$fa-var-font-awesome-logo-full: \f4e6; +$fa-var-fonticons: \f280; +$fa-var-fonticons-fi: \f3a2; +$fa-var-football-ball: \f44e; +$fa-var-fort-awesome: \f286; +$fa-var-fort-awesome-alt: \f3a3; +$fa-var-forumbee: \f211; +$fa-var-forward: \f04e; +$fa-var-foursquare: \f180; +$fa-var-free-code-camp: \f2c5; +$fa-var-freebsd: \f3a4; +$fa-var-frog: \f52e; +$fa-var-frown: \f119; +$fa-var-frown-open: \f57a; +$fa-var-fulcrum: \f50b; +$fa-var-funnel-dollar: \f662; +$fa-var-futbol: \f1e3; +$fa-var-galactic-republic: \f50c; +$fa-var-galactic-senate: \f50d; +$fa-var-gamepad: \f11b; +$fa-var-gas-pump: \f52f; +$fa-var-gavel: \f0e3; +$fa-var-gem: \f3a5; +$fa-var-genderless: \f22d; +$fa-var-get-pocket: \f265; +$fa-var-gg: \f260; +$fa-var-gg-circle: \f261; +$fa-var-gift: \f06b; +$fa-var-git: \f1d3; +$fa-var-git-square: \f1d2; +$fa-var-github: \f09b; +$fa-var-github-alt: \f113; +$fa-var-github-square: \f092; +$fa-var-gitkraken: \f3a6; +$fa-var-gitlab: \f296; +$fa-var-gitter: \f426; +$fa-var-glass-martini: \f000; +$fa-var-glass-martini-alt: \f57b; +$fa-var-glasses: \f530; +$fa-var-glide: \f2a5; +$fa-var-glide-g: \f2a6; +$fa-var-globe: \f0ac; +$fa-var-globe-africa: \f57c; +$fa-var-globe-americas: \f57d; +$fa-var-globe-asia: \f57e; +$fa-var-gofore: \f3a7; +$fa-var-golf-ball: \f450; +$fa-var-goodreads: \f3a8; +$fa-var-goodreads-g: \f3a9; +$fa-var-google: \f1a0; +$fa-var-google-drive: \f3aa; +$fa-var-google-play: \f3ab; +$fa-var-google-plus: \f2b3; +$fa-var-google-plus-g: \f0d5; +$fa-var-google-plus-square: \f0d4; +$fa-var-google-wallet: \f1ee; +$fa-var-gopuram: \f664; +$fa-var-graduation-cap: \f19d; +$fa-var-gratipay: \f184; +$fa-var-grav: \f2d6; +$fa-var-greater-than: \f531; +$fa-var-greater-than-equal: \f532; +$fa-var-grimace: \f57f; +$fa-var-grin: \f580; +$fa-var-grin-alt: \f581; +$fa-var-grin-beam: \f582; +$fa-var-grin-beam-sweat: \f583; +$fa-var-grin-hearts: \f584; +$fa-var-grin-squint: \f585; +$fa-var-grin-squint-tears: \f586; +$fa-var-grin-stars: \f587; +$fa-var-grin-tears: \f588; +$fa-var-grin-tongue: \f589; +$fa-var-grin-tongue-squint: \f58a; +$fa-var-grin-tongue-wink: \f58b; +$fa-var-grin-wink: \f58c; +$fa-var-grip-horizontal: \f58d; +$fa-var-grip-vertical: \f58e; +$fa-var-gripfire: \f3ac; +$fa-var-grunt: \f3ad; +$fa-var-gulp: \f3ae; +$fa-var-h-square: \f0fd; +$fa-var-hacker-news: \f1d4; +$fa-var-hacker-news-square: \f3af; +$fa-var-hackerrank: \f5f7; +$fa-var-hamsa: \f665; +$fa-var-hand-holding: \f4bd; +$fa-var-hand-holding-heart: \f4be; +$fa-var-hand-holding-usd: \f4c0; +$fa-var-hand-lizard: \f258; +$fa-var-hand-paper: \f256; +$fa-var-hand-peace: \f25b; +$fa-var-hand-point-down: \f0a7; +$fa-var-hand-point-left: \f0a5; +$fa-var-hand-point-right: \f0a4; +$fa-var-hand-point-up: \f0a6; +$fa-var-hand-pointer: \f25a; +$fa-var-hand-rock: \f255; +$fa-var-hand-scissors: \f257; +$fa-var-hand-spock: \f259; +$fa-var-hands: \f4c2; +$fa-var-hands-helping: \f4c4; +$fa-var-handshake: \f2b5; +$fa-var-hashtag: \f292; +$fa-var-haykal: \f666; +$fa-var-hdd: \f0a0; +$fa-var-heading: \f1dc; +$fa-var-headphones: \f025; +$fa-var-headphones-alt: \f58f; +$fa-var-headset: \f590; +$fa-var-heart: \f004; +$fa-var-heartbeat: \f21e; +$fa-var-helicopter: \f533; +$fa-var-highlighter: \f591; +$fa-var-hips: \f452; +$fa-var-hire-a-helper: \f3b0; +$fa-var-history: \f1da; +$fa-var-hockey-puck: \f453; +$fa-var-home: \f015; +$fa-var-hooli: \f427; +$fa-var-hornbill: \f592; +$fa-var-hospital: \f0f8; +$fa-var-hospital-alt: \f47d; +$fa-var-hospital-symbol: \f47e; +$fa-var-hot-tub: \f593; +$fa-var-hotel: \f594; +$fa-var-hotjar: \f3b1; +$fa-var-hourglass: \f254; +$fa-var-hourglass-end: \f253; +$fa-var-hourglass-half: \f252; +$fa-var-hourglass-start: \f251; +$fa-var-houzz: \f27c; +$fa-var-html5: \f13b; +$fa-var-hubspot: \f3b2; +$fa-var-i-cursor: \f246; +$fa-var-id-badge: \f2c1; +$fa-var-id-card: \f2c2; +$fa-var-id-card-alt: \f47f; +$fa-var-image: \f03e; +$fa-var-images: \f302; +$fa-var-imdb: \f2d8; +$fa-var-inbox: \f01c; +$fa-var-indent: \f03c; +$fa-var-industry: \f275; +$fa-var-infinity: \f534; +$fa-var-info: \f129; +$fa-var-info-circle: \f05a; +$fa-var-instagram: \f16d; +$fa-var-internet-explorer: \f26b; +$fa-var-ioxhost: \f208; +$fa-var-italic: \f033; +$fa-var-itunes: \f3b4; +$fa-var-itunes-note: \f3b5; +$fa-var-java: \f4e4; +$fa-var-jedi: \f669; +$fa-var-jedi-order: \f50e; +$fa-var-jenkins: \f3b6; +$fa-var-joget: \f3b7; +$fa-var-joint: \f595; +$fa-var-joomla: \f1aa; +$fa-var-journal-whills: \f66a; +$fa-var-js: \f3b8; +$fa-var-js-square: \f3b9; +$fa-var-jsfiddle: \f1cc; +$fa-var-kaaba: \f66b; +$fa-var-kaggle: \f5fa; +$fa-var-key: \f084; +$fa-var-keybase: \f4f5; +$fa-var-keyboard: \f11c; +$fa-var-keycdn: \f3ba; +$fa-var-khanda: \f66d; +$fa-var-kickstarter: \f3bb; +$fa-var-kickstarter-k: \f3bc; +$fa-var-kiss: \f596; +$fa-var-kiss-beam: \f597; +$fa-var-kiss-wink-heart: \f598; +$fa-var-kiwi-bird: \f535; +$fa-var-korvue: \f42f; +$fa-var-landmark: \f66f; +$fa-var-language: \f1ab; +$fa-var-laptop: \f109; +$fa-var-laptop-code: \f5fc; +$fa-var-laravel: \f3bd; +$fa-var-lastfm: \f202; +$fa-var-lastfm-square: \f203; +$fa-var-laugh: \f599; +$fa-var-laugh-beam: \f59a; +$fa-var-laugh-squint: \f59b; +$fa-var-laugh-wink: \f59c; +$fa-var-layer-group: \f5fd; +$fa-var-leaf: \f06c; +$fa-var-leanpub: \f212; +$fa-var-lemon: \f094; +$fa-var-less: \f41d; +$fa-var-less-than: \f536; +$fa-var-less-than-equal: \f537; +$fa-var-level-down-alt: \f3be; +$fa-var-level-up-alt: \f3bf; +$fa-var-life-ring: \f1cd; +$fa-var-lightbulb: \f0eb; +$fa-var-line: \f3c0; +$fa-var-link: \f0c1; +$fa-var-linkedin: \f08c; +$fa-var-linkedin-in: \f0e1; +$fa-var-linode: \f2b8; +$fa-var-linux: \f17c; +$fa-var-lira-sign: \f195; +$fa-var-list: \f03a; +$fa-var-list-alt: \f022; +$fa-var-list-ol: \f0cb; +$fa-var-list-ul: \f0ca; +$fa-var-location-arrow: \f124; +$fa-var-lock: \f023; +$fa-var-lock-open: \f3c1; +$fa-var-long-arrow-alt-down: \f309; +$fa-var-long-arrow-alt-left: \f30a; +$fa-var-long-arrow-alt-right: \f30b; +$fa-var-long-arrow-alt-up: \f30c; +$fa-var-low-vision: \f2a8; +$fa-var-luggage-cart: \f59d; +$fa-var-lyft: \f3c3; +$fa-var-magento: \f3c4; +$fa-var-magic: \f0d0; +$fa-var-magnet: \f076; +$fa-var-mail-bulk: \f674; +$fa-var-mailchimp: \f59e; +$fa-var-male: \f183; +$fa-var-mandalorian: \f50f; +$fa-var-map: \f279; +$fa-var-map-marked: \f59f; +$fa-var-map-marked-alt: \f5a0; +$fa-var-map-marker: \f041; +$fa-var-map-marker-alt: \f3c5; +$fa-var-map-pin: \f276; +$fa-var-map-signs: \f277; +$fa-var-markdown: \f60f; +$fa-var-marker: \f5a1; +$fa-var-mars: \f222; +$fa-var-mars-double: \f227; +$fa-var-mars-stroke: \f229; +$fa-var-mars-stroke-h: \f22b; +$fa-var-mars-stroke-v: \f22a; +$fa-var-mastodon: \f4f6; +$fa-var-maxcdn: \f136; +$fa-var-medal: \f5a2; +$fa-var-medapps: \f3c6; +$fa-var-medium: \f23a; +$fa-var-medium-m: \f3c7; +$fa-var-medkit: \f0fa; +$fa-var-medrt: \f3c8; +$fa-var-meetup: \f2e0; +$fa-var-megaport: \f5a3; +$fa-var-meh: \f11a; +$fa-var-meh-blank: \f5a4; +$fa-var-meh-rolling-eyes: \f5a5; +$fa-var-memory: \f538; +$fa-var-menorah: \f676; +$fa-var-mercury: \f223; +$fa-var-microchip: \f2db; +$fa-var-microphone: \f130; +$fa-var-microphone-alt: \f3c9; +$fa-var-microphone-alt-slash: \f539; +$fa-var-microphone-slash: \f131; +$fa-var-microscope: \f610; +$fa-var-microsoft: \f3ca; +$fa-var-minus: \f068; +$fa-var-minus-circle: \f056; +$fa-var-minus-square: \f146; +$fa-var-mix: \f3cb; +$fa-var-mixcloud: \f289; +$fa-var-mizuni: \f3cc; +$fa-var-mobile: \f10b; +$fa-var-mobile-alt: \f3cd; +$fa-var-modx: \f285; +$fa-var-monero: \f3d0; +$fa-var-money-bill: \f0d6; +$fa-var-money-bill-alt: \f3d1; +$fa-var-money-bill-wave: \f53a; +$fa-var-money-bill-wave-alt: \f53b; +$fa-var-money-check: \f53c; +$fa-var-money-check-alt: \f53d; +$fa-var-monument: \f5a6; +$fa-var-moon: \f186; +$fa-var-mortar-pestle: \f5a7; +$fa-var-mosque: \f678; +$fa-var-motorcycle: \f21c; +$fa-var-mouse-pointer: \f245; +$fa-var-music: \f001; +$fa-var-napster: \f3d2; +$fa-var-neos: \f612; +$fa-var-neuter: \f22c; +$fa-var-newspaper: \f1ea; +$fa-var-nimblr: \f5a8; +$fa-var-nintendo-switch: \f418; +$fa-var-node: \f419; +$fa-var-node-js: \f3d3; +$fa-var-not-equal: \f53e; +$fa-var-notes-medical: \f481; +$fa-var-npm: \f3d4; +$fa-var-ns8: \f3d5; +$fa-var-nutritionix: \f3d6; +$fa-var-object-group: \f247; +$fa-var-object-ungroup: \f248; +$fa-var-odnoklassniki: \f263; +$fa-var-odnoklassniki-square: \f264; +$fa-var-oil-can: \f613; +$fa-var-old-republic: \f510; +$fa-var-om: \f679; +$fa-var-opencart: \f23d; +$fa-var-openid: \f19b; +$fa-var-opera: \f26a; +$fa-var-optin-monster: \f23c; +$fa-var-osi: \f41a; +$fa-var-outdent: \f03b; +$fa-var-page4: \f3d7; +$fa-var-pagelines: \f18c; +$fa-var-paint-brush: \f1fc; +$fa-var-paint-roller: \f5aa; +$fa-var-palette: \f53f; +$fa-var-palfed: \f3d8; +$fa-var-pallet: \f482; +$fa-var-paper-plane: \f1d8; +$fa-var-paperclip: \f0c6; +$fa-var-parachute-box: \f4cd; +$fa-var-paragraph: \f1dd; +$fa-var-parking: \f540; +$fa-var-passport: \f5ab; +$fa-var-pastafarianism: \f67b; +$fa-var-paste: \f0ea; +$fa-var-patreon: \f3d9; +$fa-var-pause: \f04c; +$fa-var-pause-circle: \f28b; +$fa-var-paw: \f1b0; +$fa-var-paypal: \f1ed; +$fa-var-peace: \f67c; +$fa-var-pen: \f304; +$fa-var-pen-alt: \f305; +$fa-var-pen-fancy: \f5ac; +$fa-var-pen-nib: \f5ad; +$fa-var-pen-square: \f14b; +$fa-var-pencil-alt: \f303; +$fa-var-pencil-ruler: \f5ae; +$fa-var-people-carry: \f4ce; +$fa-var-percent: \f295; +$fa-var-percentage: \f541; +$fa-var-periscope: \f3da; +$fa-var-phabricator: \f3db; +$fa-var-phoenix-framework: \f3dc; +$fa-var-phoenix-squadron: \f511; +$fa-var-phone: \f095; +$fa-var-phone-slash: \f3dd; +$fa-var-phone-square: \f098; +$fa-var-phone-volume: \f2a0; +$fa-var-php: \f457; +$fa-var-pied-piper: \f2ae; +$fa-var-pied-piper-alt: \f1a8; +$fa-var-pied-piper-hat: \f4e5; +$fa-var-pied-piper-pp: \f1a7; +$fa-var-piggy-bank: \f4d3; +$fa-var-pills: \f484; +$fa-var-pinterest: \f0d2; +$fa-var-pinterest-p: \f231; +$fa-var-pinterest-square: \f0d3; +$fa-var-place-of-worship: \f67f; +$fa-var-plane: \f072; +$fa-var-plane-arrival: \f5af; +$fa-var-plane-departure: \f5b0; +$fa-var-play: \f04b; +$fa-var-play-circle: \f144; +$fa-var-playstation: \f3df; +$fa-var-plug: \f1e6; +$fa-var-plus: \f067; +$fa-var-plus-circle: \f055; +$fa-var-plus-square: \f0fe; +$fa-var-podcast: \f2ce; +$fa-var-poll: \f681; +$fa-var-poll-h: \f682; +$fa-var-poo: \f2fe; +$fa-var-poop: \f619; +$fa-var-portrait: \f3e0; +$fa-var-pound-sign: \f154; +$fa-var-power-off: \f011; +$fa-var-pray: \f683; +$fa-var-praying-hands: \f684; +$fa-var-prescription: \f5b1; +$fa-var-prescription-bottle: \f485; +$fa-var-prescription-bottle-alt: \f486; +$fa-var-print: \f02f; +$fa-var-procedures: \f487; +$fa-var-product-hunt: \f288; +$fa-var-project-diagram: \f542; +$fa-var-pushed: \f3e1; +$fa-var-puzzle-piece: \f12e; +$fa-var-python: \f3e2; +$fa-var-qq: \f1d6; +$fa-var-qrcode: \f029; +$fa-var-question: \f128; +$fa-var-question-circle: \f059; +$fa-var-quidditch: \f458; +$fa-var-quinscape: \f459; +$fa-var-quora: \f2c4; +$fa-var-quote-left: \f10d; +$fa-var-quote-right: \f10e; +$fa-var-quran: \f687; +$fa-var-r-project: \f4f7; +$fa-var-random: \f074; +$fa-var-ravelry: \f2d9; +$fa-var-react: \f41b; +$fa-var-readme: \f4d5; +$fa-var-rebel: \f1d0; +$fa-var-receipt: \f543; +$fa-var-recycle: \f1b8; +$fa-var-red-river: \f3e3; +$fa-var-reddit: \f1a1; +$fa-var-reddit-alien: \f281; +$fa-var-reddit-square: \f1a2; +$fa-var-redo: \f01e; +$fa-var-redo-alt: \f2f9; +$fa-var-registered: \f25d; +$fa-var-rendact: \f3e4; +$fa-var-renren: \f18b; +$fa-var-reply: \f3e5; +$fa-var-reply-all: \f122; +$fa-var-replyd: \f3e6; +$fa-var-researchgate: \f4f8; +$fa-var-resolving: \f3e7; +$fa-var-retweet: \f079; +$fa-var-rev: \f5b2; +$fa-var-ribbon: \f4d6; +$fa-var-road: \f018; +$fa-var-robot: \f544; +$fa-var-rocket: \f135; +$fa-var-rocketchat: \f3e8; +$fa-var-rockrms: \f3e9; +$fa-var-route: \f4d7; +$fa-var-rss: \f09e; +$fa-var-rss-square: \f143; +$fa-var-ruble-sign: \f158; +$fa-var-ruler: \f545; +$fa-var-ruler-combined: \f546; +$fa-var-ruler-horizontal: \f547; +$fa-var-ruler-vertical: \f548; +$fa-var-rupee-sign: \f156; +$fa-var-sad-cry: \f5b3; +$fa-var-sad-tear: \f5b4; +$fa-var-safari: \f267; +$fa-var-sass: \f41e; +$fa-var-save: \f0c7; +$fa-var-schlix: \f3ea; +$fa-var-school: \f549; +$fa-var-screwdriver: \f54a; +$fa-var-scribd: \f28a; +$fa-var-search: \f002; +$fa-var-search-dollar: \f688; +$fa-var-search-location: \f689; +$fa-var-search-minus: \f010; +$fa-var-search-plus: \f00e; +$fa-var-searchengin: \f3eb; +$fa-var-seedling: \f4d8; +$fa-var-sellcast: \f2da; +$fa-var-sellsy: \f213; +$fa-var-server: \f233; +$fa-var-servicestack: \f3ec; +$fa-var-shapes: \f61f; +$fa-var-share: \f064; +$fa-var-share-alt: \f1e0; +$fa-var-share-alt-square: \f1e1; +$fa-var-share-square: \f14d; +$fa-var-shekel-sign: \f20b; +$fa-var-shield-alt: \f3ed; +$fa-var-ship: \f21a; +$fa-var-shipping-fast: \f48b; +$fa-var-shirtsinbulk: \f214; +$fa-var-shoe-prints: \f54b; +$fa-var-shopping-bag: \f290; +$fa-var-shopping-basket: \f291; +$fa-var-shopping-cart: \f07a; +$fa-var-shopware: \f5b5; +$fa-var-shower: \f2cc; +$fa-var-shuttle-van: \f5b6; +$fa-var-sign: \f4d9; +$fa-var-sign-in-alt: \f2f6; +$fa-var-sign-language: \f2a7; +$fa-var-sign-out-alt: \f2f5; +$fa-var-signal: \f012; +$fa-var-signature: \f5b7; +$fa-var-simplybuilt: \f215; +$fa-var-sistrix: \f3ee; +$fa-var-sitemap: \f0e8; +$fa-var-sith: \f512; +$fa-var-skull: \f54c; +$fa-var-skyatlas: \f216; +$fa-var-skype: \f17e; +$fa-var-slack: \f198; +$fa-var-slack-hash: \f3ef; +$fa-var-sliders-h: \f1de; +$fa-var-slideshare: \f1e7; +$fa-var-smile: \f118; +$fa-var-smile-beam: \f5b8; +$fa-var-smile-wink: \f4da; +$fa-var-smoking: \f48d; +$fa-var-smoking-ban: \f54d; +$fa-var-snapchat: \f2ab; +$fa-var-snapchat-ghost: \f2ac; +$fa-var-snapchat-square: \f2ad; +$fa-var-snowflake: \f2dc; +$fa-var-socks: \f696; +$fa-var-solar-panel: \f5ba; +$fa-var-sort: \f0dc; +$fa-var-sort-alpha-down: \f15d; +$fa-var-sort-alpha-up: \f15e; +$fa-var-sort-amount-down: \f160; +$fa-var-sort-amount-up: \f161; +$fa-var-sort-down: \f0dd; +$fa-var-sort-numeric-down: \f162; +$fa-var-sort-numeric-up: \f163; +$fa-var-sort-up: \f0de; +$fa-var-soundcloud: \f1be; +$fa-var-spa: \f5bb; +$fa-var-space-shuttle: \f197; +$fa-var-speakap: \f3f3; +$fa-var-spinner: \f110; +$fa-var-splotch: \f5bc; +$fa-var-spotify: \f1bc; +$fa-var-spray-can: \f5bd; +$fa-var-square: \f0c8; +$fa-var-square-full: \f45c; +$fa-var-square-root-alt: \f698; +$fa-var-squarespace: \f5be; +$fa-var-stack-exchange: \f18d; +$fa-var-stack-overflow: \f16c; +$fa-var-stamp: \f5bf; +$fa-var-star: \f005; +$fa-var-star-and-crescent: \f699; +$fa-var-star-half: \f089; +$fa-var-star-half-alt: \f5c0; +$fa-var-star-of-david: \f69a; +$fa-var-star-of-life: \f621; +$fa-var-staylinked: \f3f5; +$fa-var-steam: \f1b6; +$fa-var-steam-square: \f1b7; +$fa-var-steam-symbol: \f3f6; +$fa-var-step-backward: \f048; +$fa-var-step-forward: \f051; +$fa-var-stethoscope: \f0f1; +$fa-var-sticker-mule: \f3f7; +$fa-var-sticky-note: \f249; +$fa-var-stop: \f04d; +$fa-var-stop-circle: \f28d; +$fa-var-stopwatch: \f2f2; +$fa-var-store: \f54e; +$fa-var-store-alt: \f54f; +$fa-var-strava: \f428; +$fa-var-stream: \f550; +$fa-var-street-view: \f21d; +$fa-var-strikethrough: \f0cc; +$fa-var-stripe: \f429; +$fa-var-stripe-s: \f42a; +$fa-var-stroopwafel: \f551; +$fa-var-studiovinari: \f3f8; +$fa-var-stumbleupon: \f1a4; +$fa-var-stumbleupon-circle: \f1a3; +$fa-var-subscript: \f12c; +$fa-var-subway: \f239; +$fa-var-suitcase: \f0f2; +$fa-var-suitcase-rolling: \f5c1; +$fa-var-sun: \f185; +$fa-var-superpowers: \f2dd; +$fa-var-superscript: \f12b; +$fa-var-supple: \f3f9; +$fa-var-surprise: \f5c2; +$fa-var-swatchbook: \f5c3; +$fa-var-swimmer: \f5c4; +$fa-var-swimming-pool: \f5c5; +$fa-var-synagogue: \f69b; +$fa-var-sync: \f021; +$fa-var-sync-alt: \f2f1; +$fa-var-syringe: \f48e; +$fa-var-table: \f0ce; +$fa-var-table-tennis: \f45d; +$fa-var-tablet: \f10a; +$fa-var-tablet-alt: \f3fa; +$fa-var-tablets: \f490; +$fa-var-tachometer-alt: \f3fd; +$fa-var-tag: \f02b; +$fa-var-tags: \f02c; +$fa-var-tape: \f4db; +$fa-var-tasks: \f0ae; +$fa-var-taxi: \f1ba; +$fa-var-teamspeak: \f4f9; +$fa-var-teeth: \f62e; +$fa-var-teeth-open: \f62f; +$fa-var-telegram: \f2c6; +$fa-var-telegram-plane: \f3fe; +$fa-var-tencent-weibo: \f1d5; +$fa-var-terminal: \f120; +$fa-var-text-height: \f034; +$fa-var-text-width: \f035; +$fa-var-th: \f00a; +$fa-var-th-large: \f009; +$fa-var-th-list: \f00b; +$fa-var-the-red-yeti: \f69d; +$fa-var-theater-masks: \f630; +$fa-var-themeco: \f5c6; +$fa-var-themeisle: \f2b2; +$fa-var-thermometer: \f491; +$fa-var-thermometer-empty: \f2cb; +$fa-var-thermometer-full: \f2c7; +$fa-var-thermometer-half: \f2c9; +$fa-var-thermometer-quarter: \f2ca; +$fa-var-thermometer-three-quarters: \f2c8; +$fa-var-thumbs-down: \f165; +$fa-var-thumbs-up: \f164; +$fa-var-thumbtack: \f08d; +$fa-var-ticket-alt: \f3ff; +$fa-var-times: \f00d; +$fa-var-times-circle: \f057; +$fa-var-tint: \f043; +$fa-var-tint-slash: \f5c7; +$fa-var-tired: \f5c8; +$fa-var-toggle-off: \f204; +$fa-var-toggle-on: \f205; +$fa-var-toolbox: \f552; +$fa-var-tooth: \f5c9; +$fa-var-torah: \f6a0; +$fa-var-torii-gate: \f6a1; +$fa-var-trade-federation: \f513; +$fa-var-trademark: \f25c; +$fa-var-traffic-light: \f637; +$fa-var-train: \f238; +$fa-var-transgender: \f224; +$fa-var-transgender-alt: \f225; +$fa-var-trash: \f1f8; +$fa-var-trash-alt: \f2ed; +$fa-var-tree: \f1bb; +$fa-var-trello: \f181; +$fa-var-tripadvisor: \f262; +$fa-var-trophy: \f091; +$fa-var-truck: \f0d1; +$fa-var-truck-loading: \f4de; +$fa-var-truck-monster: \f63b; +$fa-var-truck-moving: \f4df; +$fa-var-truck-pickup: \f63c; +$fa-var-tshirt: \f553; +$fa-var-tty: \f1e4; +$fa-var-tumblr: \f173; +$fa-var-tumblr-square: \f174; +$fa-var-tv: \f26c; +$fa-var-twitch: \f1e8; +$fa-var-twitter: \f099; +$fa-var-twitter-square: \f081; +$fa-var-typo3: \f42b; +$fa-var-uber: \f402; +$fa-var-uikit: \f403; +$fa-var-umbrella: \f0e9; +$fa-var-umbrella-beach: \f5ca; +$fa-var-underline: \f0cd; +$fa-var-undo: \f0e2; +$fa-var-undo-alt: \f2ea; +$fa-var-uniregistry: \f404; +$fa-var-universal-access: \f29a; +$fa-var-university: \f19c; +$fa-var-unlink: \f127; +$fa-var-unlock: \f09c; +$fa-var-unlock-alt: \f13e; +$fa-var-untappd: \f405; +$fa-var-upload: \f093; +$fa-var-usb: \f287; +$fa-var-user: \f007; +$fa-var-user-alt: \f406; +$fa-var-user-alt-slash: \f4fa; +$fa-var-user-astronaut: \f4fb; +$fa-var-user-check: \f4fc; +$fa-var-user-circle: \f2bd; +$fa-var-user-clock: \f4fd; +$fa-var-user-cog: \f4fe; +$fa-var-user-edit: \f4ff; +$fa-var-user-friends: \f500; +$fa-var-user-graduate: \f501; +$fa-var-user-lock: \f502; +$fa-var-user-md: \f0f0; +$fa-var-user-minus: \f503; +$fa-var-user-ninja: \f504; +$fa-var-user-plus: \f234; +$fa-var-user-secret: \f21b; +$fa-var-user-shield: \f505; +$fa-var-user-slash: \f506; +$fa-var-user-tag: \f507; +$fa-var-user-tie: \f508; +$fa-var-user-times: \f235; +$fa-var-users: \f0c0; +$fa-var-users-cog: \f509; +$fa-var-ussunnah: \f407; +$fa-var-utensil-spoon: \f2e5; +$fa-var-utensils: \f2e7; +$fa-var-vaadin: \f408; +$fa-var-vector-square: \f5cb; +$fa-var-venus: \f221; +$fa-var-venus-double: \f226; +$fa-var-venus-mars: \f228; +$fa-var-viacoin: \f237; +$fa-var-viadeo: \f2a9; +$fa-var-viadeo-square: \f2aa; +$fa-var-vial: \f492; +$fa-var-vials: \f493; +$fa-var-viber: \f409; +$fa-var-video: \f03d; +$fa-var-video-slash: \f4e2; +$fa-var-vihara: \f6a7; +$fa-var-vimeo: \f40a; +$fa-var-vimeo-square: \f194; +$fa-var-vimeo-v: \f27d; +$fa-var-vine: \f1ca; +$fa-var-vk: \f189; +$fa-var-vnv: \f40b; +$fa-var-volleyball-ball: \f45f; +$fa-var-volume-down: \f027; +$fa-var-volume-off: \f026; +$fa-var-volume-up: \f028; +$fa-var-vuejs: \f41f; +$fa-var-walking: \f554; +$fa-var-wallet: \f555; +$fa-var-warehouse: \f494; +$fa-var-weebly: \f5cc; +$fa-var-weibo: \f18a; +$fa-var-weight: \f496; +$fa-var-weight-hanging: \f5cd; +$fa-var-weixin: \f1d7; +$fa-var-whatsapp: \f232; +$fa-var-whatsapp-square: \f40c; +$fa-var-wheelchair: \f193; +$fa-var-whmcs: \f40d; +$fa-var-wifi: \f1eb; +$fa-var-wikipedia-w: \f266; +$fa-var-window-close: \f410; +$fa-var-window-maximize: \f2d0; +$fa-var-window-minimize: \f2d1; +$fa-var-window-restore: \f2d2; +$fa-var-windows: \f17a; +$fa-var-wine-glass: \f4e3; +$fa-var-wine-glass-alt: \f5ce; +$fa-var-wix: \f5cf; +$fa-var-wolf-pack-battalion: \f514; +$fa-var-won-sign: \f159; +$fa-var-wordpress: \f19a; +$fa-var-wordpress-simple: \f411; +$fa-var-wpbeginner: \f297; +$fa-var-wpexplorer: \f2de; +$fa-var-wpforms: \f298; +$fa-var-wrench: \f0ad; +$fa-var-x-ray: \f497; +$fa-var-xbox: \f412; +$fa-var-xing: \f168; +$fa-var-xing-square: \f169; +$fa-var-y-combinator: \f23b; +$fa-var-yahoo: \f19e; +$fa-var-yandex: \f413; +$fa-var-yandex-international: \f414; +$fa-var-yelp: \f1e9; +$fa-var-yen-sign: \f157; +$fa-var-yin-yang: \f6ad; +$fa-var-yoast: \f2b1; +$fa-var-youtube: \f167; +$fa-var-youtube-square: \f431; +$fa-var-zhihu: \f63f; diff --git a/_submodules/mermaid/.ackrc b/_submodules/mermaid/.ackrc new file mode 100644 index 0000000000000000000000000000000000000000..5390d7b92156fb09773917c6b453ec3cf18d5948 --- /dev/null +++ b/_submodules/mermaid/.ackrc @@ -0,0 +1,4 @@ +--ignore-dir=dist +--ignore-file=match:/^yarn\.lock$/ +--ignore-file=match:/^yarn-error\.log$/ +--ignore-dir=coverage diff --git a/_submodules/mermaid/.babelrc b/_submodules/mermaid/.babelrc new file mode 100644 index 0000000000000000000000000000000000000000..b207aefdded3fae007f56bcc2f28d7a6c958fb26 --- /dev/null +++ b/_submodules/mermaid/.babelrc @@ -0,0 +1,5 @@ +{ + "presets": [ + "env" + ] +} diff --git a/_submodules/mermaid/.editorconfig b/_submodules/mermaid/.editorconfig new file mode 100644 index 0000000000000000000000000000000000000000..ab70fef5e64a0b2cf3dcb28e5781c98fa7c36679 --- /dev/null +++ b/_submodules/mermaid/.editorconfig @@ -0,0 +1,11 @@ +root = true + +[*] +indent_style = space +indent_size = 2 +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.md] +indent_size = 4 diff --git a/_submodules/mermaid/.gitignore b/_submodules/mermaid/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..f2c5e769955120f6793cbe1b3322a802dda60f47 --- /dev/null +++ b/_submodules/mermaid/.gitignore @@ -0,0 +1,9 @@ +.DS_Store + +node_modules/ +coverage/ + +dist/*.js +dist/*.map + +yarn-error.log diff --git a/_submodules/mermaid/.travis.yml b/_submodules/mermaid/.travis.yml new file mode 100644 index 0000000000000000000000000000000000000000..d28528ef6b5ed96a03761e97e2fec02f1d759b46 --- /dev/null +++ b/_submodules/mermaid/.travis.yml @@ -0,0 +1,8 @@ +dist: trusty +language: node_js +node_js: + - "8" +script: + - yarn test --coverage +after_success: + - cat ./coverage/lcov.info | ./node_modules/.bin/coveralls diff --git a/_submodules/mermaid/CHANGELOG.md b/_submodules/mermaid/CHANGELOG.md new file mode 100644 index 0000000000000000000000000000000000000000..3bbf313664ce7ec9f3820c9ba2c97c8a4a959e02 --- /dev/null +++ b/_submodules/mermaid/CHANGELOG.md @@ -0,0 +1,386 @@ +# Change Log + +## [Unreleased](https://github.com/knsv/mermaid/tree/HEAD) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.4.0...HEAD) + +**Implemented enhancements:** + +- Add a css file, mermaid.css, with default styling [\#122](https://github.com/knsv/mermaid/issues/122) + +**Closed issues:** + +- Some examples not displayed on Firefox 36.0.1 [\#138](https://github.com/knsv/mermaid/issues/138) + +- inoperable in an AMD/requirejs environment: IPython Notebook [\#127](https://github.com/knsv/mermaid/issues/127) + +- Add capability for gantt diagrams [\#118](https://github.com/knsv/mermaid/issues/118) + +- lower case v causes error in the parser [\#108](https://github.com/knsv/mermaid/issues/108) + +- Label's css conflict with boostrap's .label [\#67](https://github.com/knsv/mermaid/issues/67) + +**Merged pull requests:** + +- Adding init argument to the global API [\#137](https://github.com/knsv/mermaid/pull/137) ([bollwyvl](https://github.com/bollwyvl)) + +- Add description of manual calling of init [\#136](https://github.com/knsv/mermaid/pull/136) ([bollwyvl](https://github.com/bollwyvl)) + +- Allow other forms of node selection for init\(\) [\#135](https://github.com/knsv/mermaid/pull/135) ([bollwyvl](https://github.com/bollwyvl)) + +- Use a library-level variable for assigning ids [\#134](https://github.com/knsv/mermaid/pull/134) ([bollwyvl](https://github.com/bollwyvl)) + +## [0.4.0](https://github.com/knsv/mermaid/tree/0.4.0) (2015-03-01) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.3.5...0.4.0) + +**Implemented enhancements:** + +- Assymetric shapes not documented [\#82](https://github.com/knsv/mermaid/issues/82) + +- Improve arrows [\#3](https://github.com/knsv/mermaid/issues/3) + +**Fixed bugs:** + +- NoModificationAllowedError [\#23](https://github.com/knsv/mermaid/issues/23) + +**Closed issues:** + +- subgraph background is black in rendered flowchart PNG via CLI [\#121](https://github.com/knsv/mermaid/issues/121) + +- Integrate editor at https://github.com/naseer/mermaid-webapp [\#110](https://github.com/knsv/mermaid/issues/110) + +- Internet Explorer Support [\#99](https://github.com/knsv/mermaid/issues/99) + +## [0.3.5](https://github.com/knsv/mermaid/tree/0.3.5) (2015-02-15) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.3.4...0.3.5) + +## [0.3.4](https://github.com/knsv/mermaid/tree/0.3.4) (2015-02-15) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.3.3...0.3.4) + +**Implemented enhancements:** + +- Apply styling from css when using the CLI utility [\#85](https://github.com/knsv/mermaid/issues/85) + +- Generated SVG works poorly outside web browsers [\#58](https://github.com/knsv/mermaid/issues/58) + +- Generating SVG text blob for use in Node [\#2](https://github.com/knsv/mermaid/issues/2) + +**Closed issues:** + +- Subgraph syntax bug? [\#120](https://github.com/knsv/mermaid/issues/120) + +- Live editor [\#115](https://github.com/knsv/mermaid/issues/115) + +- Error in "Basic Syntax" wiki page [\#113](https://github.com/knsv/mermaid/issues/113) + +- semicolons, anyone? [\#111](https://github.com/knsv/mermaid/issues/111) + +- undefined `sequenceConfig` fails [\#109](https://github.com/knsv/mermaid/issues/109) + +- Sequence Diagrams: Show Actors below as well [\#106](https://github.com/knsv/mermaid/issues/106) + +- Allow overriding sequence diagram configuration \(SVG properties\) [\#103](https://github.com/knsv/mermaid/issues/103) + +- Error when rendering A-- This is the text -- B [\#102](https://github.com/knsv/mermaid/issues/102) + +- Clipping in documentation [\#97](https://github.com/knsv/mermaid/issues/97) + +- isolate class styling to the svg container [\#92](https://github.com/knsv/mermaid/issues/92) + +- Make the new graph declaration more visual [\#40](https://github.com/knsv/mermaid/issues/40) + +**Merged pull requests:** + +- Add live editor [\#119](https://github.com/knsv/mermaid/pull/119) ([naseer](https://github.com/naseer)) + +- Adds CSS option to the CLI [\#116](https://github.com/knsv/mermaid/pull/116) ([fardog](https://github.com/fardog)) + +- Update flowchart.md in response Issue \#113 [\#114](https://github.com/knsv/mermaid/pull/114) ([vijay40](https://github.com/vijay40)) + +- Ignore all files except the license and dist/ folder when installing with Bower. [\#112](https://github.com/knsv/mermaid/pull/112) ([jasonbellamy](https://github.com/jasonbellamy)) + +## [0.3.3](https://github.com/knsv/mermaid/tree/0.3.3) (2015-01-25) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.3.2...0.3.3) + +**Implemented enhancements:** + +- Support for dotted links [\#26](https://github.com/knsv/mermaid/issues/26) + +**Closed issues:** + +- Missing arrows in sequence diagram [\#98](https://github.com/knsv/mermaid/issues/98) + +- Error with \>9 linkStyles [\#95](https://github.com/knsv/mermaid/issues/95) + +**Merged pull requests:** + +- Require d3 directly to better support Node usage [\#107](https://github.com/knsv/mermaid/pull/107) ([markdalgleish](https://github.com/markdalgleish)) + +- update doc with -c option [\#105](https://github.com/knsv/mermaid/pull/105) ([jjmr](https://github.com/jjmr)) + +- Add new parameter to the console client to override the svg configuration in sequence diagrams [\#104](https://github.com/knsv/mermaid/pull/104) ([jjmr](https://github.com/jjmr)) + +- Text based labels, new shape [\#101](https://github.com/knsv/mermaid/pull/101) ([bjowes](https://github.com/bjowes)) + +- fix html tags in example usage [\#100](https://github.com/knsv/mermaid/pull/100) ([deiwin](https://github.com/deiwin)) + +## [0.3.2](https://github.com/knsv/mermaid/tree/0.3.2) (2015-01-11) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.3.1...0.3.2) + +**Implemented enhancements:** + +- Make link text look like it is on the line [\#53](https://github.com/knsv/mermaid/issues/53) + +**Closed issues:** + +- disable auto render [\#91](https://github.com/knsv/mermaid/issues/91) + +- Tidy breaks mermaid \(linebreaks in <div\>\) [\#87](https://github.com/knsv/mermaid/issues/87) + +- Bug: <br\> being rendered as text in node [\#73](https://github.com/knsv/mermaid/issues/73) + +- Graph edges appear to render outside of the canvas [\#70](https://github.com/knsv/mermaid/issues/70) + +**Merged pull requests:** + +- Merge pull request \#1 from knsv/master [\#96](https://github.com/knsv/mermaid/pull/96) ([gkchic](https://github.com/gkchic)) + +- Removed duplicated section in flowchart docs [\#94](https://github.com/knsv/mermaid/pull/94) ([kaime](https://github.com/kaime)) + +- Grammar changes to sequence page [\#93](https://github.com/knsv/mermaid/pull/93) ([gkchic](https://github.com/gkchic)) + +- Grammar changes to development page [\#90](https://github.com/knsv/mermaid/pull/90) ([gkchic](https://github.com/gkchic)) + +- Github buttons [\#89](https://github.com/knsv/mermaid/pull/89) ([gkchic](https://github.com/gkchic)) + +- Template change [\#88](https://github.com/knsv/mermaid/pull/88) ([gkchic](https://github.com/gkchic)) + +- New content template [\#86](https://github.com/knsv/mermaid/pull/86) ([gkchic](https://github.com/gkchic)) + +## [0.3.1](https://github.com/knsv/mermaid/tree/0.3.1) (2015-01-05) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.3.0...0.3.1) + +**Implemented enhancements:** + +- Support for sequence diagrams [\#16](https://github.com/knsv/mermaid/issues/16) + +- Client utility for mermaid [\#6](https://github.com/knsv/mermaid/issues/6) + +**Closed issues:** + +- Non ASCII chars in labels [\#84](https://github.com/knsv/mermaid/issues/84) + +- 'undefined' titles of Quicklinks on the usage page [\#80](https://github.com/knsv/mermaid/issues/80) + +- \[cli\] Enhancement proposal: not fail --version / --help if phantomjs isn't installed [\#71](https://github.com/knsv/mermaid/issues/71) + +**Merged pull requests:** + +- Formatting of the CONTRIBUTING file [\#83](https://github.com/knsv/mermaid/pull/83) ([Grahack](https://github.com/Grahack)) + +- Flowchart doc: Text in the circle now in a circle [\#81](https://github.com/knsv/mermaid/pull/81) ([Grahack](https://github.com/Grahack)) + +- Fix for issue \#73 [\#79](https://github.com/knsv/mermaid/pull/79) ([it0a](https://github.com/it0a)) + +- Ink template [\#78](https://github.com/knsv/mermaid/pull/78) ([gkchic](https://github.com/gkchic)) + +- Index template file [\#77](https://github.com/knsv/mermaid/pull/77) ([gkchic](https://github.com/gkchic)) + +- Index template file [\#76](https://github.com/knsv/mermaid/pull/76) ([gkchic](https://github.com/gkchic)) + +- Show help and version even if phantom isn't present. Fixes \#71 [\#75](https://github.com/knsv/mermaid/pull/75) ([fardog](https://github.com/fardog)) + +- Add apostrophe & 'and' [\#72](https://github.com/knsv/mermaid/pull/72) ([sudodoki](https://github.com/sudodoki)) + +## [0.3.0](https://github.com/knsv/mermaid/tree/0.3.0) (2014-12-22) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.16...0.3.0) + +**Implemented enhancements:** + +- How do I do comments? [\#47](https://github.com/knsv/mermaid/issues/47) + +- Improve readability with new line as terminator and whitespace [\#38](https://github.com/knsv/mermaid/issues/38) + +**Fixed bugs:** + +- This characters failed the lexical parsing [\#46](https://github.com/knsv/mermaid/issues/46) + +**Closed issues:** + +- Trailing whitespace at the end of lines is not ignored [\#55](https://github.com/knsv/mermaid/issues/55) + +- Use classes instead of inline style for easy styling [\#24](https://github.com/knsv/mermaid/issues/24) + +**Merged pull requests:** + +- Adds Command Line Interface for generating PNGs from mermaid description files [\#69](https://github.com/knsv/mermaid/pull/69) ([fardog](https://github.com/fardog)) + +- Allow special symbols for direction along with acronyms [\#66](https://github.com/knsv/mermaid/pull/66) ([vijay40](https://github.com/vijay40)) + +## [0.2.16](https://github.com/knsv/mermaid/tree/0.2.16) (2014-12-15) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.15...0.2.16) + +**Fixed bugs:** + +- Lines routed outside visible area [\#19](https://github.com/knsv/mermaid/issues/19) + +**Closed issues:** + +- Mermaid not rendering properly on Wordpress pages [\#59](https://github.com/knsv/mermaid/issues/59) + +- Improve example page with live demo [\#52](https://github.com/knsv/mermaid/issues/52) + +- Does not render upon AngularJS Updates [\#45](https://github.com/knsv/mermaid/issues/45) + +- Download link in README.MD doesn't work. [\#42](https://github.com/knsv/mermaid/issues/42) + +- linkStyle usage is not obvious [\#41](https://github.com/knsv/mermaid/issues/41) + +- Move \*.spec.js in src/ to test/ [\#35](https://github.com/knsv/mermaid/issues/35) + +**Merged pull requests:** + +- New grammar will allow statements ending without semicolon as disccused in Issue \#38 [\#63](https://github.com/knsv/mermaid/pull/63) ([vijay40](https://github.com/vijay40)) + +- Class based styling [\#62](https://github.com/knsv/mermaid/pull/62) ([bjowes](https://github.com/bjowes)) + +- Update from master [\#61](https://github.com/knsv/mermaid/pull/61) ([bjowes](https://github.com/bjowes)) + +- Fix typos [\#60](https://github.com/knsv/mermaid/pull/60) ([sublimino](https://github.com/sublimino)) + +- Included .DS\_Store in gitignore [\#57](https://github.com/knsv/mermaid/pull/57) ([alvynmcq](https://github.com/alvynmcq)) + +- Improves readablity discussed in issue \#38 [\#56](https://github.com/knsv/mermaid/pull/56) ([vijay40](https://github.com/vijay40)) + +- Added a linting task for gulp [\#43](https://github.com/knsv/mermaid/pull/43) ([serv](https://github.com/serv)) + +## [0.2.15](https://github.com/knsv/mermaid/tree/0.2.15) (2014-12-05) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.14...0.2.15) + +**Fixed bugs:** + +- Error with some characters [\#25](https://github.com/knsv/mermaid/issues/25) + +- Cap-cased words break parser [\#8](https://github.com/knsv/mermaid/issues/8) + +**Closed issues:** + +- Question marks don't render properly with /dist/mermaid.full.min.js [\#30](https://github.com/knsv/mermaid/issues/30) + +- Provide parse function in browser widthout `require`? [\#21](https://github.com/knsv/mermaid/issues/21) + +- Better label text support [\#18](https://github.com/knsv/mermaid/issues/18) + +**Merged pull requests:** + +- Include bower\_components/ to .gitignore [\#33](https://github.com/knsv/mermaid/pull/33) ([serv](https://github.com/serv)) + +- Fixed reference to Git repo. [\#32](https://github.com/knsv/mermaid/pull/32) ([guyellis](https://github.com/guyellis)) + +## [0.2.14](https://github.com/knsv/mermaid/tree/0.2.14) (2014-12-03) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.13...0.2.14) + +## [0.2.13](https://github.com/knsv/mermaid/tree/0.2.13) (2014-12-03) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.10...0.2.13) + +**Implemented enhancements:** + +- Publish to NPM [\#7](https://github.com/knsv/mermaid/issues/7) + +**Closed issues:** + +- modified init to be applied more than once [\#29](https://github.com/knsv/mermaid/issues/29) + +- Wanted to know build process for the project. [\#28](https://github.com/knsv/mermaid/issues/28) + +- can not support Chinese description [\#20](https://github.com/knsv/mermaid/issues/20) + +- Support unicode chars in labels [\#9](https://github.com/knsv/mermaid/issues/9) + +**Merged pull requests:** + +- initial setup for editor page to generate graph through textarea input [\#14](https://github.com/knsv/mermaid/pull/14) ([ImanimalXI](https://github.com/ImanimalXI)) + +## [0.2.10](https://github.com/knsv/mermaid/tree/0.2.10) (2014-12-01) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.9...0.2.10) + +## [0.2.9](https://github.com/knsv/mermaid/tree/0.2.9) (2014-12-01) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.8...0.2.9) + +**Closed issues:** + +- Add link to jsbin playground to README [\#11](https://github.com/knsv/mermaid/issues/11) + +- What are the requirements ? [\#10](https://github.com/knsv/mermaid/issues/10) + +**Merged pull requests:** + +- Allow unicode chars in labels [\#13](https://github.com/knsv/mermaid/pull/13) ([codebeige](https://github.com/codebeige)) + +- Formatting Update [\#12](https://github.com/knsv/mermaid/pull/12) ([darrencauthon](https://github.com/darrencauthon)) + +## [0.2.8](https://github.com/knsv/mermaid/tree/0.2.8) (2014-12-01) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.7...0.2.8) + +## [0.2.7](https://github.com/knsv/mermaid/tree/0.2.7) (2014-12-01) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.6...0.2.7) + +**Closed issues:** + +- Provide parser as separate module [\#4](https://github.com/knsv/mermaid/issues/4) + +## [0.2.6](https://github.com/knsv/mermaid/tree/0.2.6) (2014-11-27) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.5...0.2.6) + +## [0.2.5](https://github.com/knsv/mermaid/tree/0.2.5) (2014-11-27) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.4...0.2.5) + +**Merged pull requests:** + +- Added new shapes! [\#1](https://github.com/knsv/mermaid/pull/1) ([bjowes](https://github.com/bjowes)) + +## [0.2.4](https://github.com/knsv/mermaid/tree/0.2.4) (2014-11-25) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.3...0.2.4) + +## [0.2.3](https://github.com/knsv/mermaid/tree/0.2.3) (2014-11-24) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.2...0.2.3) + +## [0.2.2](https://github.com/knsv/mermaid/tree/0.2.2) (2014-11-22) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.1...0.2.2) + +## [0.2.1](https://github.com/knsv/mermaid/tree/0.2.1) (2014-11-22) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.0...0.2.1) + +## [0.2.0](https://github.com/knsv/mermaid/tree/0.2.0) (2014-11-22) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.1.1...0.2.0) + +## [0.1.1](https://github.com/knsv/mermaid/tree/0.1.1) (2014-11-17) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.1.0...0.1.1) + +## [0.1.0](https://github.com/knsv/mermaid/tree/0.1.0) (2014-11-16) + + +\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)* \ No newline at end of file diff --git a/_submodules/mermaid/LICENSE b/_submodules/mermaid/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..77b04c3aba988265626d86accec3a33d3979305b --- /dev/null +++ b/_submodules/mermaid/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 - 2018 Knut Sveidqvist + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/_submodules/mermaid/README.md b/_submodules/mermaid/README.md new file mode 100644 index 0000000000000000000000000000000000000000..45464c0ea22edc7152814c4d504d80a9e131d5e4 --- /dev/null +++ b/_submodules/mermaid/README.md @@ -0,0 +1,206 @@ +# mermaid + +[](https://travis-ci.org/knsv/mermaid) +[](https://coveralls.io/github/knsv/mermaid?branch=master) +[](https://gitter.im/knsv/mermaid?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) + + + +Generation of diagrams and flowcharts from text in a similar manner as markdown. + +Ever wanted to simplify documentation and avoid heavy tools like Visio when explaining your code? + +This is why mermaid was born, a simple markdown-like script language for generating charts from text via javascript. + + +### Flowchart + +``` +graph TD; + A-->B; + A-->C; + B-->D; + C-->D; +``` + + + +### Sequence diagram + +``` +sequenceDiagram + participant Alice + participant Bob + Alice->>John: Hello John, how are you? + loop Healthcheck + John->>John: Fight against hypochondria + end + Note right of John: Rational thoughts <br/>prevail... + John-->>Alice: Great! + John->>Bob: How about you? + Bob-->>John: Jolly good! +``` + + + +### Gantt diagram + +``` +gantt +dateFormat YYYY-MM-DD +title Adding GANTT diagram to mermaid + +section A section +Completed task :done, des1, 2014-01-06,2014-01-08 +Active task :active, des2, 2014-01-09, 3d +Future task : des3, after des2, 5d +Future task2 : des4, after des3, 5d +``` + + + +### Class diagram - :exclamation: experimental + +``` +classDiagram +Class01 <|-- AveryLongClass : Cool +Class03 *-- Class04 +Class05 o-- Class06 +Class07 .. Class08 +Class09 --> C2 : Where am i? +Class09 --* C3 +Class09 --|> Class07 +Class07 : equals() +Class07 : Object[] elementData +Class01 : size() +Class01 : int chimp +Class01 : int gorilla +Class08 <--> C2: Cool label +``` + + + +### Git graph - :exclamation: experimental + +``` +gitGraph: +options +{ + "nodeSpacing": 150, + "nodeRadius": 10 +} +end +commit +branch newbranch +checkout newbranch +commit +commit +checkout master +commit +commit +merge newbranch + +``` + + + + +## Installation + +### CDN + +``` +https://unpkg.com/mermaid@<version>/dist/ +``` + +Replace `<version>` with expected version number. + +Example: https://unpkg.com/mermaid@7.1.0/dist/ + +### Node.js + +``` +yarn add mermaid +``` + + +## Documentation + +https://mermaidjs.github.io + + +## Sibling projects + +- [mermaid CLI](https://github.com/mermaidjs/mermaid.cli) +- [mermaid live editor](https://github.com/mermaidjs/mermaid-live-editor) +- [mermaid webpack demo](https://github.com/mermaidjs/mermaid-webpack-demo) +- [mermaid Parcel demo](https://github.com/mermaidjs/mermaid-parcel-demo) + + +# Request for assistance + +Things are piling up and I have hard time keeping up. To remedy this +it would be great if we could form a core team of developers to cooperate +with the future development mermaid. + +As part of this team you would get write access to the repository and would +represent the project when answering questions and issues. + +Together we could continue the work with things like: +* adding more typers of diagrams like mindmaps, ert digrams etc +* improving existing diagrams + +Don't hesitate to contact me if you want to get involved. + + +# For contributors + +## Setup + + yarn install + + +## Build + + yarn build:watch + + +## Lint + + yarn lint + +We use [JavaScript Standard Style](https://github.com/feross/standard). +We recommend you installing [editor plugins](https://github.com/feross/standard#are-there-text-editor-plugins) so you can get real time lint result. + + +## Test + + yarn test + +Manual test in browser: + + open dist/index.html + + +## Release + +For those who have the permission to do so: + +Update version number in `package.json`. + + npm publish + +Command above generates files into the `dist` folder and publishes them to npmjs.org. + + +# Credits + +Many thanks to the [d3](http://d3js.org/) and [dagre-d3](https://github.com/cpettitt/dagre-d3) projects for providing the graphical layout and drawing libraries! + +Thanks also to the [js-sequence-diagram](http://bramp.github.io/js-sequence-diagrams) project for usage of the grammar for the sequence diagrams. Thanks to Jessica Peter for inspiration and starting point for gantt rendering. + +*Mermaid was created by Knut Sveidqvist for easier documentation.* + +*[Tyler Long](https://github.com/tylerlong) has became a collaborator since April 2017.* + +Here is the full list of the projects [contributors](https://github.com/knsv/mermaid/graphs/contributors). diff --git a/_submodules/mermaid/__mocks__/d3.js b/_submodules/mermaid/__mocks__/d3.js new file mode 100644 index 0000000000000000000000000000000000000000..218ed9754f70b895a3e1310c43e3be269b74fd2d --- /dev/null +++ b/_submodules/mermaid/__mocks__/d3.js @@ -0,0 +1,38 @@ +let NewD3 = function () { + return { + append: function () { + return NewD3() + }, + attr: function () { + return this + }, + style: function () { + return this + }, + text: function () { + return this + }, + 0: { + 0: { + getBBox: function () { + return { + height: 10, + width: 20 + } + } + } + } + } +} + +export const select = function () { + return new NewD3() +} + +export const selectAll = function () { + return new NewD3() +} + +export const curveBasis = 'basis' +export const curveLinear = 'linear' +export const curveCardinal = 'cardinal' diff --git a/_submodules/mermaid/gulpfile.js b/_submodules/mermaid/gulpfile.js new file mode 100644 index 0000000000000000000000000000000000000000..613cf83c1430012153d05236eede68bd0ee060a2 --- /dev/null +++ b/_submodules/mermaid/gulpfile.js @@ -0,0 +1,10 @@ +import gulp from 'gulp' +import jison from 'gulp-jison' +import filelog from 'gulp-filelog' + +gulp.task('jison', function () { + return gulp.src('./src/**/*.jison') + .pipe(filelog('Jison file:')) + .pipe(jison({ 'token-stack': true })) + .pipe(gulp.dest('./src/')) +}) diff --git a/_submodules/mermaid/img/class.png b/_submodules/mermaid/img/class.png new file mode 100644 index 0000000000000000000000000000000000000000..bf6e379e1abf5db97fcd3d7bb06cad26400b8a7f Binary files /dev/null and b/_submodules/mermaid/img/class.png differ diff --git a/_submodules/mermaid/img/flow.png b/_submodules/mermaid/img/flow.png new file mode 100644 index 0000000000000000000000000000000000000000..e324299764ef1540b37b891a76484514ce5d6d15 Binary files /dev/null and b/_submodules/mermaid/img/flow.png differ diff --git a/_submodules/mermaid/img/gantt.png b/_submodules/mermaid/img/gantt.png new file mode 100644 index 0000000000000000000000000000000000000000..64645cb5baf307d7804bf2050ab7f4fb1b2cb312 Binary files /dev/null and b/_submodules/mermaid/img/gantt.png differ diff --git a/_submodules/mermaid/img/git.png b/_submodules/mermaid/img/git.png new file mode 100644 index 0000000000000000000000000000000000000000..2da331a1eda912e1fb6057726dc8608985b045ac Binary files /dev/null and b/_submodules/mermaid/img/git.png differ diff --git a/_submodules/mermaid/img/header.png b/_submodules/mermaid/img/header.png new file mode 100644 index 0000000000000000000000000000000000000000..06159b2c94e22cc09fb507db6c7a1562fe4bdeb7 Binary files /dev/null and b/_submodules/mermaid/img/header.png differ diff --git a/_submodules/mermaid/img/sequence.png b/_submodules/mermaid/img/sequence.png new file mode 100644 index 0000000000000000000000000000000000000000..b35e3b74db9e96de970ec63af9345f0046ec9fcd Binary files /dev/null and b/_submodules/mermaid/img/sequence.png differ diff --git a/_submodules/mermaid/package.json b/_submodules/mermaid/package.json new file mode 100644 index 0000000000000000000000000000000000000000..3c2a5b38f7448fa7827728acc36e46f067d61ea2 --- /dev/null +++ b/_submodules/mermaid/package.json @@ -0,0 +1,80 @@ +{ + "name": "mermaid", + "version": "8.0.0-rc.8", + "description": "Markdownish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.", + "main": "dist/mermaid.core.js", + "keywords": [ + "diagram", + "markdown", + "flowchart", + "sequence diagram", + "gantt", + "class diagram", + "git graph" + ], + "scripts": { + "build": "webpack --progress --colors", + "build:watch": "yarn build --watch", + "release": "yarn build -p --config webpack.config.prod.babel.js", + "upgrade": "yarn-upgrade-all", + "lint": "standard", + "test": "yarn lint && jest", + "test:watch": "jest --watch", + "jison": "node -r babel-register node_modules/.bin/gulp jison", + "prepublishOnly": "yarn build && yarn release && yarn test", + "prepush": "yarn test" + }, + "repository": { + "type": "git", + "url": "https://github.com/knsv/mermaid" + }, + "author": "Knut Sveidqvist", + "license": "MIT", + "standard": { + "ignore": [ + "**/parser/*.js", + "dist/**/*.js" + ] + }, + "dependencies": { + "d3": "^4.13.0", + "dagre-d3-renderer": "^0.5.8", + "dagre-layout": "^0.8.8", + "graphlibrary": "^2.2.0", + "he": "^1.1.1", + "lodash": "^4.17.5", + "moment": "^2.21.0", + "scope-css": "^1.0.5" + }, + "devDependencies": { + "babel-core": "^6.26.0", + "babel-loader": "^7.1.4", + "babel-preset-env": "^1.6.1", + "coveralls": "^3.0.0", + "css-loader": "^0.28.11", + "css-to-string-loader": "^0.1.3", + "gulp": "^3.9.1", + "gulp-filelog": "^0.4.1", + "gulp-jison": "^1.2.0", + "husky": "^0.14.3", + "identity-obj-proxy": "^3.0.0", + "jest": "^22.4.2", + "jison": "^0.4.18", + "node-sass": "^4.7.2", + "sass-loader": "^6.0.7", + "standard": "^11.0.1", + "webpack": "^4.1.1", + "webpack-cli": "^2.0.12", + "webpack-node-externals": "^1.6.0", + "yarn-upgrade-all": "^0.3.0" + }, + "files": [ + "dist", + "src" + ], + "jest": { + "moduleNameMapper": { + "\\.(css|scss)$": "identity-obj-proxy" + } + } +} diff --git a/_submodules/mermaid/src/diagrams/class/classDb.js b/_submodules/mermaid/src/diagrams/class/classDb.js new file mode 100644 index 0000000000000000000000000000000000000000..6be4bb7736a1d5a324846d8618f3555d09e7e8c9 --- /dev/null +++ b/_submodules/mermaid/src/diagrams/class/classDb.js @@ -0,0 +1,89 @@ + +import { logger } from '../../logger' + +let relations = [] +let classes = {} + +/** + * Function called by parser when a node definition has been found. + * @param id + * @param text + * @param type + * @param style + */ +export const addClass = function (id) { + if (typeof classes[id] === 'undefined') { + classes[id] = { + id: id, + methods: [], + members: [] + } + } +} + +export const clear = function () { + relations = [] + classes = {} +} + +export const getClass = function (id) { + return classes[id] +} +export const getClasses = function () { + return classes +} + +export const getRelations = function () { + return relations +} + +export const addRelation = function (relation) { + logger.debug('Adding relation: ' + JSON.stringify(relation)) + addClass(relation.id1) + addClass(relation.id2) + relations.push(relation) +} + +export const addMembers = function (className, MembersArr) { + const theClass = classes[className] + if (typeof MembersArr === 'string') { + if (MembersArr.substr(-1) === ')') { + theClass.methods.push(MembersArr) + } else { + theClass.members.push(MembersArr) + } + } +} + +export const cleanupLabel = function (label) { + if (label.substring(0, 1) === ':') { + return label.substr(2).trim() + } else { + return label.trim() + } +} + +export const lineType = { + LINE: 0, + DOTTED_LINE: 1 +} + +export const relationType = { + AGGREGATION: 0, + EXTENSION: 1, + COMPOSITION: 2, + DEPENDENCY: 3 +} + +export default { + addClass, + clear, + getClass, + getClasses, + getRelations, + addRelation, + addMembers, + cleanupLabel, + lineType, + relationType +} diff --git a/_submodules/mermaid/src/diagrams/class/classDiagram.spec.js b/_submodules/mermaid/src/diagrams/class/classDiagram.spec.js new file mode 100644 index 0000000000000000000000000000000000000000..38657e11d2d0fa22a72e8c54f503df09acb420c4 --- /dev/null +++ b/_submodules/mermaid/src/diagrams/class/classDiagram.spec.js @@ -0,0 +1,208 @@ +/* eslint-env jasmine */ +import { parser } from './parser/classDiagram' +import classDb from './classDb' + +describe('class diagram, ', function () { + describe('when parsing an info graph it', function () { + beforeEach(function () { + parser.yy = classDb + }) + + it('should handle relation definitions', function () { + const str = 'classDiagram\n' + +'Class01 <|-- Class02\n' + +'Class03 *-- Class04\n' + +'Class05 o-- Class06\n' + +'Class07 .. Class08\n' + +'Class09 -- Class1' + + parser.parse(str) + }) + it('should handle relation definition of different types and directions', function () { + const str = 'classDiagram\n' + +'Class11 <|.. Class12\n' + +'Class13 --> Class14\n' + +'Class15 ..> Class16\n' + +'Class17 ..|> Class18\n' + +'Class19 <--* Class20' + + parser.parse(str) + }) + + it('should handle cardinality and labels', function () { + const str = 'classDiagram\n' + +'Class01 "1" *-- "many" Class02 : contains\n' + +'Class03 o-- Class04 : aggregation\n' + +'Class05 --> "1" Class06' + + parser.parse(str) + }) + it('should handle class definitions', function () { + const str = 'classDiagram\n' + +'class Car\n' + +'Driver -- Car : drives >\n' + +'Car *-- Wheel : have 4 >\n' + +'Car -- Person : < owns' + + parser.parse(str) + }) + + it('should handle method statements', function () { + const str = 'classDiagram\n' + +'Object <|-- ArrayList\n' + +'Object : equals()\n' + +'ArrayList : Object[] elementData\n' + +'ArrayList : size()' + + parser.parse(str) + }) + it('should handle parsing of method statements grouped by brackets', function () { + const str = 'classDiagram\n' + +'class Dummy {\n' + +'String data\n' + +' void methods()\n' + +'}\n' + +'\n' + +'class Flight {\n' + +' flightNumber : Integer\n' + +' departureTime : Date\n' + +'}' + + parser.parse(str) + }) + + it('should handle parsing of separators', function () { + const str = 'classDiagram\n' + + 'class Foo1 {\n' + + ' You can use\n' + + ' several lines\n' + + '..\n' + + 'as you want\n' + + 'and group\n' + + '==\n' + + 'things together.\n' + + '__\n' + + 'You can have as many groups\n' + + 'as you want\n' + + '--\n' + + 'End of class\n' + + '}\n' + + '\n' + + 'class User {\n' + + '.. Simple Getter ..\n' + + '+ getName()\n' + + '+ getAddress()\n' + + '.. Some setter ..\n' + + '+ setName()\n' + + '__ private data __\n' + + 'int age\n' + + '-- encrypted --\n' + + 'String password\n' + + '}' + + parser.parse(str) + }) + }) + + describe('when fetching data from an classDiagram graph it', function () { + beforeEach(function () { + parser.yy = classDb + parser.yy.clear() + }) + it('should handle relation definitions EXTENSION', function () { + const str = 'classDiagram\n' + + 'Class01 <|-- Class02' + + parser.parse(str) + + const relations = parser.yy.getRelations() + + expect(parser.yy.getClass('Class01').id).toBe('Class01') + expect(parser.yy.getClass('Class02').id).toBe('Class02') + expect(relations[0].relation.type1).toBe(classDb.relationType.EXTENSION) + expect(relations[0].relation.type2).toBe('none') + expect(relations[0].relation.lineType).toBe(classDb.lineType.LINE) + }) + it('should handle relation definitions AGGREGATION and dotted line', function () { + const str = 'classDiagram\n' + + 'Class01 o.. Class02' + + parser.parse(str) + + const relations = parser.yy.getRelations() + + expect(parser.yy.getClass('Class01').id).toBe('Class01') + expect(parser.yy.getClass('Class02').id).toBe('Class02') + expect(relations[0].relation.type1).toBe(classDb.relationType.AGGREGATION) + expect(relations[0].relation.type2).toBe('none') + expect(relations[0].relation.lineType).toBe(classDb.lineType.DOTTED_LINE) + }) + it('should handle relation definitions COMPOSITION on both sides', function () { + const str = 'classDiagram\n' + + 'Class01 *--* Class02' + + parser.parse(str) + + const relations = parser.yy.getRelations() + + expect(parser.yy.getClass('Class01').id).toBe('Class01') + expect(parser.yy.getClass('Class02').id).toBe('Class02') + expect(relations[0].relation.type1).toBe(classDb.relationType.COMPOSITION) + expect(relations[0].relation.type2).toBe(classDb.relationType.COMPOSITION) + expect(relations[0].relation.lineType).toBe(classDb.lineType.LINE) + }) + it('should handle relation definitions no types', function () { + const str = 'classDiagram\n' + + 'Class01 -- Class02' + + parser.parse(str) + + const relations = parser.yy.getRelations() + + expect(parser.yy.getClass('Class01').id).toBe('Class01') + expect(parser.yy.getClass('Class02').id).toBe('Class02') + expect(relations[0].relation.type1).toBe('none') + expect(relations[0].relation.type2).toBe('none') + expect(relations[0].relation.lineType).toBe(classDb.lineType.LINE) + }) + it('should handle relation definitions with type only on right side', function () { + const str = 'classDiagram\n' + + 'Class01 --|> Class02' + + parser.parse(str) + + const relations = parser.yy.getRelations() + + expect(parser.yy.getClass('Class01').id).toBe('Class01') + expect(parser.yy.getClass('Class02').id).toBe('Class02') + expect(relations[0].relation.type1).toBe('none') + expect(relations[0].relation.type2).toBe(classDb.relationType.EXTENSION) + expect(relations[0].relation.lineType).toBe(classDb.lineType.LINE) + }) + + it('should handle multiple classes and relation definitions', function () { + const str = 'classDiagram\n' + + 'Class01 <|-- Class02\n' + + 'Class03 *-- Class04\n' + + 'Class05 o-- Class06\n' + + 'Class07 .. Class08\n' + + 'Class09 -- Class10' + + parser.parse(str) + + const relations = parser.yy.getRelations() + + expect(parser.yy.getClass('Class01').id).toBe('Class01') + expect(parser.yy.getClass('Class10').id).toBe('Class10') + + expect(relations.length).toBe(5) + + expect(relations[0].relation.type1).toBe(classDb.relationType.EXTENSION) + expect(relations[0].relation.type2).toBe('none') + expect(relations[0].relation.lineType).toBe(classDb.lineType.LINE) + expect(relations[3].relation.type1).toBe('none') + expect(relations[3].relation.type2).toBe('none') + expect(relations[3].relation.lineType).toBe(classDb.lineType.DOTTED_LINE) + }) + }) +}) diff --git a/_submodules/mermaid/src/diagrams/class/classRenderer.js b/_submodules/mermaid/src/diagrams/class/classRenderer.js new file mode 100644 index 0000000000000000000000000000000000000000..5169fce4bf3db14087082700cd498423855a3a2c --- /dev/null +++ b/_submodules/mermaid/src/diagrams/class/classRenderer.js @@ -0,0 +1,365 @@ +import dagre from 'dagre-layout' +import graphlib from 'graphlibrary' +import * as d3 from 'd3' + +import classDb from './classDb' +import { logger } from '../../logger' +import { parser } from './parser/classDiagram' + +parser.yy = classDb + +const idCache = {} + +let classCnt = 0 +const conf = { + dividerMargin: 10, + padding: 5, + textHeight: 10 +} + +// Todo optimize +const getGraphId = function (label) { + const keys = Object.keys(idCache) + + for (let i = 0; i < keys.length; i++) { + if (idCache[keys[i]].label === label) { + return keys[i] + } + } + + return undefined +} + +/** + * Setup arrow head and define the marker. The result is appended to the svg. + */ +const insertMarkers = function (elem) { + elem.append('defs').append('marker') + .attr('id', 'extensionStart') + .attr('class', 'extension') + .attr('refX', 0) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 1,7 L18,13 V 1 Z') + + elem.append('defs').append('marker') + .attr('id', 'extensionEnd') + .attr('refX', 19) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 1,1 V 13 L18,7 Z') // this is actual shape for arrowhead + + elem.append('defs').append('marker') + .attr('id', 'compositionStart') + .attr('class', 'extension') + .attr('refX', 0) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z') + + elem.append('defs').append('marker') + .attr('id', 'compositionEnd') + .attr('refX', 19) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z') + + elem.append('defs').append('marker') + .attr('id', 'aggregationStart') + .attr('class', 'extension') + .attr('refX', 0) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z') + + elem.append('defs').append('marker') + .attr('id', 'aggregationEnd') + .attr('refX', 19) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z') + + elem.append('defs').append('marker') + .attr('id', 'dependencyStart') + .attr('class', 'extension') + .attr('refX', 0) + .attr('refY', 7) + .attr('markerWidth', 190) + .attr('markerHeight', 240) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 5,7 L9,13 L1,7 L9,1 Z') + + elem.append('defs').append('marker') + .attr('id', 'dependencyEnd') + .attr('refX', 19) + .attr('refY', 7) + .attr('markerWidth', 20) + .attr('markerHeight', 28) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 18,7 L9,13 L14,7 L9,1 Z') +} + +let edgeCount = 0 +const drawEdge = function (elem, path, relation) { + const getRelationType = function (type) { + switch (type) { + case classDb.relationType.AGGREGATION: + return 'aggregation' + case classDb.relationType.EXTENSION: + return 'extension' + case classDb.relationType.COMPOSITION: + return 'composition' + case classDb.relationType.DEPENDENCY: + return 'dependency' + } + } + + // The data for our line + const lineData = path.points + + // This is the accessor function we talked about above + const lineFunction = d3.line() + .x(function (d) { + return d.x + }) + .y(function (d) { + return d.y + }) + .curve(d3.curveBasis) + + const svgPath = elem.append('path') + .attr('d', lineFunction(lineData)) + .attr('id', 'edge' + edgeCount) + .attr('class', 'relation') + let url = '' + if (conf.arrowMarkerAbsolute) { + url = window.location.protocol + '//' + window.location.host + window.location.pathname + window.location.search + url = url.replace(/\(/g, '\\(') + url = url.replace(/\)/g, '\\)') + } + + if (relation.relation.type1 !== 'none') { + svgPath.attr('marker-start', 'url(' + url + '#' + getRelationType(relation.relation.type1) + 'Start' + ')') + } + if (relation.relation.type2 !== 'none') { + svgPath.attr('marker-end', 'url(' + url + '#' + getRelationType(relation.relation.type2) + 'End' + ')') + } + + let x, y + const l = path.points.length + if ((l % 2) !== 0) { + const p1 = path.points[Math.floor(l / 2)] + const p2 = path.points[Math.ceil(l / 2)] + x = (p1.x + p2.x) / 2 + y = (p1.y + p2.y) / 2 + } else { + const p = path.points[Math.floor(l / 2)] + x = p.x + y = p.y + } + + if (typeof relation.title !== 'undefined') { + const g = elem.append('g') + .attr('class', 'classLabel') + const label = g.append('text') + .attr('class', 'label') + .attr('x', x) + .attr('y', y) + .attr('fill', 'red') + .attr('text-anchor', 'middle') + .text(relation.title) + + window.label = label + const bounds = label.node().getBBox() + + g.insert('rect', ':first-child') + .attr('class', 'box') + .attr('x', bounds.x - conf.padding / 2) + .attr('y', bounds.y - conf.padding / 2) + .attr('width', bounds.width + conf.padding) + .attr('height', bounds.height + conf.padding) + } + + edgeCount++ +} + +const drawClass = function (elem, classDef) { + logger.info('Rendering class ' + classDef) + + const addTspan = function (textEl, txt, isFirst) { + const tSpan = textEl.append('tspan') + .attr('x', conf.padding) + .text(txt) + if (!isFirst) { + tSpan.attr('dy', conf.textHeight) + } + } + + const id = 'classId' + classCnt + const classInfo = { + id: id, + label: classDef.id, + width: 0, + height: 0 + } + + const g = elem.append('g') + .attr('id', id) + .attr('class', 'classGroup') + const title = g.append('text') + .attr('x', conf.padding) + .attr('y', conf.textHeight + conf.padding) + .text(classDef.id) + + const titleHeight = title.node().getBBox().height + + const membersLine = g.append('line') // text label for the x axis + .attr('x1', 0) + .attr('y1', conf.padding + titleHeight + conf.dividerMargin / 2) + .attr('y2', conf.padding + titleHeight + conf.dividerMargin / 2) + + const members = g.append('text') // text label for the x axis + .attr('x', conf.padding) + .attr('y', titleHeight + (conf.dividerMargin) + conf.textHeight) + .attr('fill', 'white') + .attr('class', 'classText') + + let isFirst = true + classDef.members.forEach(function (member) { + addTspan(members, member, isFirst) + isFirst = false + }) + + const membersBox = members.node().getBBox() + + const methodsLine = g.append('line') // text label for the x axis + .attr('x1', 0) + .attr('y1', conf.padding + titleHeight + conf.dividerMargin + membersBox.height) + .attr('y2', conf.padding + titleHeight + conf.dividerMargin + membersBox.height) + + const methods = g.append('text') // text label for the x axis + .attr('x', conf.padding) + .attr('y', titleHeight + 2 * conf.dividerMargin + membersBox.height + conf.textHeight) + .attr('fill', 'white') + .attr('class', 'classText') + + isFirst = true + + classDef.methods.forEach(function (method) { + addTspan(methods, method, isFirst) + isFirst = false + }) + + const classBox = g.node().getBBox() + g.insert('rect', ':first-child') + .attr('x', 0) + .attr('y', 0) + .attr('width', classBox.width + 2 * conf.padding) + .attr('height', classBox.height + conf.padding + 0.5 * conf.dividerMargin) + + membersLine.attr('x2', classBox.width + 2 * conf.padding) + methodsLine.attr('x2', classBox.width + 2 * conf.padding) + + classInfo.width = classBox.width + 2 * conf.padding + classInfo.height = classBox.height + conf.padding + 0.5 * conf.dividerMargin + + idCache[id] = classInfo + classCnt++ + return classInfo +} + +export const setConf = function (cnf) { + const keys = Object.keys(cnf) + + keys.forEach(function (key) { + conf[key] = cnf[key] + }) +} +/** + * Draws a flowchart in the tag with id: id based on the graph definition in text. + * @param text + * @param id + */ +export const draw = function (text, id) { + parser.yy.clear() + parser.parse(text) + + logger.info('Rendering diagram ' + text) + + /// / Fetch the default direction, use TD if none was found + const diagram = d3.select(`[id="${id}"]`) + insertMarkers(diagram) + + // Layout graph, Create a new directed graph + const g = new graphlib.Graph({ + multigraph: true + }) + + // Set an object for the graph label + g.setGraph({ + isMultiGraph: true + }) + + // Default to assigning a new object as a label for each new edge. + g.setDefaultEdgeLabel(function () { + return {} + }) + + const classes = classDb.getClasses() + const keys = Object.keys(classes) + for (let i = 0; i < keys.length; i++) { + const classDef = classes[keys[i]] + const node = drawClass(diagram, classDef) + // Add nodes to the graph. The first argument is the node id. The second is + // metadata about the node. In this case we're going to add labels to each of + // our nodes. + g.setNode(node.id, node) + logger.info('Org height: ' + node.height) + } + + const relations = classDb.getRelations() + relations.forEach(function (relation) { + logger.info('tjoho' + getGraphId(relation.id1) + getGraphId(relation.id2) + JSON.stringify(relation)) + g.setEdge(getGraphId(relation.id1), getGraphId(relation.id2), { relation: relation }) + }) + dagre.layout(g) + g.nodes().forEach(function (v) { + if (typeof v !== 'undefined') { + logger.debug('Node ' + v + ': ' + JSON.stringify(g.node(v))) + d3.select('#' + v).attr('transform', 'translate(' + (g.node(v).x - (g.node(v).width / 2)) + ',' + (g.node(v).y - (g.node(v).height / 2)) + ' )') + } + }) + g.edges().forEach(function (e) { + logger.debug('Edge ' + e.v + ' -> ' + e.w + ': ' + JSON.stringify(g.edge(e))) + drawEdge(diagram, g.edge(e), g.edge(e).relation) + }) + + diagram.attr('height', '100%') + diagram.attr('width', '100%') + diagram.attr('viewBox', '0 0 ' + (g.graph().width + 20) + ' ' + (g.graph().height + 20)) +} + +export default { + setConf, + draw +} diff --git a/_submodules/mermaid/src/diagrams/class/parser/classDiagram.jison b/_submodules/mermaid/src/diagrams/class/parser/classDiagram.jison new file mode 100644 index 0000000000000000000000000000000000000000..f633d144cb260a86c0ffaf05fa80bfcc43825751 --- /dev/null +++ b/_submodules/mermaid/src/diagrams/class/parser/classDiagram.jison @@ -0,0 +1,196 @@ +/** mermaid + * https://mermaidjs.github.io/ + * (c) 2015 Knut Sveidqvist + * MIT license. + */ + +/* lexical grammar */ +%lex +%x string struct + +%% +\%\%[^\n]* /* do nothing */ +\n+ return 'NEWLINE'; +\s+ /* skip whitespace */ +"classDiagram" return 'CLASS_DIAGRAM'; +[\{] { this.begin("struct"); /*console.log('Starting struct');*/return 'STRUCT_START';} +<struct>\} { /*console.log('Ending struct');*/this.popState(); return 'STRUCT_STOP';}} +<struct>[\n] /* nothing */ +<struct>[^\{\}\n]* { /*console.log('lex-member: ' + yytext);*/ return "MEMBER";} + + + +"class" return 'CLASS'; +["] this.begin("string"); +<string>["] this.popState(); +<string>[^"]* return "STR"; + + +\s*\<\| return 'EXTENSION'; +\s*\|\> return 'EXTENSION'; +\s*\> return 'DEPENDENCY'; +\s*\< return 'DEPENDENCY'; +\s*\* return 'COMPOSITION'; +\s*o return 'AGGREGATION'; +\-\- return 'LINE'; +\.\. return 'DOTTED_LINE'; +":"[^#\n;]+ return 'LABEL'; +\- return 'MINUS'; +"." return 'DOT'; +\+ return 'PLUS'; +\% return 'PCT'; +"=" return 'EQUALS'; +\= return 'EQUALS'; +[A-Za-z]+ return 'ALPHA'; +[!"#$%&'*+,-.`?\\_/] return 'PUNCTUATION'; +[0-9]+ return 'NUM'; +[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]| +[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]| +[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]| +[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]| +[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]| +[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]| +[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]| +[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]| +[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]| +[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]| +[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]| +[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]| +[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]| +[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]| +[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]| +[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]| +[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]| +[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]| +[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]| +[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]| +[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]| +[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]| +[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]| +[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]| +[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]| +[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]| +[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]| +[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]| +[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]| +[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]| +[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]| +[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]| +[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]| +[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]| +[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]| +[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]| +[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]| +[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]| +[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]| +[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]| +[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]| +[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]| +[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]| +[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]| +[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]| +[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]| +[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]| +[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]| +[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]| +[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]| +[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]| +[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]| +[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]| +[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]| +[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]| +[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]| +[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]| +[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]| +[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]| +[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]| +[\uFFD2-\uFFD7\uFFDA-\uFFDC] + return 'UNICODE_TEXT'; +\s return 'SPACE'; +<<EOF>> return 'EOF'; + +/lex + +/* operator associations and precedence */ + +%left '^' + +%start mermaidDoc + +%% /* language grammar */ + +mermaidDoc: graphConfig; + +graphConfig + : CLASS_DIAGRAM NEWLINE statements EOF + ; + +statements + : statement + | statement NEWLINE statements + ; + + +className + : alphaNumToken className { $$=$1+$2; } + | alphaNumToken { $$=$1; } + ; + +statement + : relationStatement { yy.addRelation($1); } + | relationStatement LABEL { $1.title = yy.cleanupLabel($2); yy.addRelation($1); } + | classStatement + | methodStatement + ; + +classStatement + : CLASS className + | CLASS className STRUCT_START members STRUCT_STOP {/*console.log($2,JSON.stringify($4));*/yy.addMembers($2,$4);} + ; + +members + : MEMBER { $$ = [$1]; } + | MEMBER members { $2.push($1);$$=$2;} + ; + +methodStatement + : className {/*console.log('Rel found',$1);*/} + | className LABEL {yy.addMembers($1,yy.cleanupLabel($2));} + | MEMBER {console.warn('Member',$1);} + | SEPARATOR {/*console.log('sep found',$1);*/} + ; + +relationStatement + : className relation className { $$ = {'id1':$1,'id2':$3, relation:$2, relationTitle1:'none', relationTitle2:'none'}; } + | className STR relation className { $$ = {id1:$1, id2:$4, relation:$3, relationTitle1:$2, relationTitle2:'none'}} + | className relation STR className { $$ = {id1:$1, id2:$4, relation:$2, relationTitle1:'none', relationTitle2:$3}; } + | className STR relation STR className { $$ = {id1:$1, id2:$5, relation:$3, relationTitle1:$2, relationTitle2:$4} } + ; + +relation + : relationType lineType relationType { $$={type1:$1,type2:$3,lineType:$2}; } + | lineType relationType { $$={type1:'none',type2:$2,lineType:$1}; } + | relationType lineType { $$={type1:$1,type2:'none',lineType:$2}; } + | lineType { $$={type1:'none',type2:'none',lineType:$1}; } + ; + +relationType + : AGGREGATION { $$=yy.relationType.AGGREGATION;} + | EXTENSION { $$=yy.relationType.EXTENSION;} + | COMPOSITION { $$=yy.relationType.COMPOSITION;} + | DEPENDENCY { $$=yy.relationType.DEPENDENCY;} + ; + +lineType + : LINE {$$=yy.lineType.LINE;} + | DOTTED_LINE {$$=yy.lineType.DOTTED_LINE;} + ; + +commentToken : textToken | graphCodeTokens ; + +textToken : textNoTagsToken | TAGSTART | TAGEND | '==' | '--' | PCT | DEFAULT; + +textNoTagsToken: alphaNumToken | SPACE | MINUS | keywords ; + +alphaNumToken : UNICODE_TEXT | NUM | ALPHA; +%% diff --git a/_submodules/mermaid/src/diagrams/class/parser/classDiagram.js b/_submodules/mermaid/src/diagrams/class/parser/classDiagram.js new file mode 100644 index 0000000000000000000000000000000000000000..5ff57a54d2a1b6d0baa3c3ce6a50f75381c4e3c9 --- /dev/null +++ b/_submodules/mermaid/src/diagrams/class/parser/classDiagram.js @@ -0,0 +1,740 @@ +/* parser generated by jison 0.4.18 */ +/* + Returns a Parser object of the following structure: + + Parser: { + yy: {} + } + + Parser.prototype: { + yy: {}, + trace: function(), + symbols_: {associative list: name ==> number}, + terminals_: {associative list: number ==> name}, + productions_: [...], + performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$), + table: [...], + defaultActions: {...}, + parseError: function(str, hash), + parse: function(input), + + lexer: { + EOF: 1, + parseError: function(str, hash), + setInput: function(input), + input: function(), + unput: function(str), + more: function(), + less: function(n), + pastInput: function(), + upcomingInput: function(), + showPosition: function(), + test_match: function(regex_match_array, rule_index), + next: function(), + lex: function(), + begin: function(condition), + popState: function(), + _currentRules: function(), + topState: function(), + pushState: function(condition), + + options: { + ranges: boolean (optional: true ==> token location info will include a .range[] member) + flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match) + backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code) + }, + + performAction: function(yy, yy_, $avoiding_name_collisions, YY_START), + rules: [...], + conditions: {associative list: name ==> set}, + } + } + + + token location info (@$, _$, etc.): { + first_line: n, + last_line: n, + first_column: n, + last_column: n, + range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based) + } + + + the parseError function receives a 'hash' object with these members for lexer and parser errors: { + text: (matched text) + token: (the produced terminal token, if any) + line: (yylineno) + } + while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: { + loc: (yylloc) + expected: (string describing the set of expected tokens) + recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error) + } +*/ +var parser = (function(){ +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,11],$V1=[1,12],$V2=[1,13],$V3=[1,15],$V4=[1,16],$V5=[1,17],$V6=[6,8],$V7=[1,26],$V8=[1,27],$V9=[1,28],$Va=[1,29],$Vb=[1,30],$Vc=[1,31],$Vd=[6,8,13,17,23,26,27,28,29,30,31],$Ve=[6,8,13,17,23,26,27,28,29,30,31,45,46,47],$Vf=[23,45,46,47],$Vg=[23,30,31,45,46,47],$Vh=[23,26,27,28,29,45,46,47],$Vi=[6,8,13],$Vj=[1,46]; +var parser = {trace: function trace() { }, +yy: {}, +symbols_: {"error":2,"mermaidDoc":3,"graphConfig":4,"CLASS_DIAGRAM":5,"NEWLINE":6,"statements":7,"EOF":8,"statement":9,"className":10,"alphaNumToken":11,"relationStatement":12,"LABEL":13,"classStatement":14,"methodStatement":15,"CLASS":16,"STRUCT_START":17,"members":18,"STRUCT_STOP":19,"MEMBER":20,"SEPARATOR":21,"relation":22,"STR":23,"relationType":24,"lineType":25,"AGGREGATION":26,"EXTENSION":27,"COMPOSITION":28,"DEPENDENCY":29,"LINE":30,"DOTTED_LINE":31,"commentToken":32,"textToken":33,"graphCodeTokens":34,"textNoTagsToken":35,"TAGSTART":36,"TAGEND":37,"==":38,"--":39,"PCT":40,"DEFAULT":41,"SPACE":42,"MINUS":43,"keywords":44,"UNICODE_TEXT":45,"NUM":46,"ALPHA":47,"$accept":0,"$end":1}, +terminals_: {2:"error",5:"CLASS_DIAGRAM",6:"NEWLINE",8:"EOF",13:"LABEL",16:"CLASS",17:"STRUCT_START",19:"STRUCT_STOP",20:"MEMBER",21:"SEPARATOR",23:"STR",26:"AGGREGATION",27:"EXTENSION",28:"COMPOSITION",29:"DEPENDENCY",30:"LINE",31:"DOTTED_LINE",34:"graphCodeTokens",36:"TAGSTART",37:"TAGEND",38:"==",39:"--",40:"PCT",41:"DEFAULT",42:"SPACE",43:"MINUS",44:"keywords",45:"UNICODE_TEXT",46:"NUM",47:"ALPHA"}, +productions_: [0,[3,1],[4,4],[7,1],[7,3],[10,2],[10,1],[9,1],[9,2],[9,1],[9,1],[14,2],[14,5],[18,1],[18,2],[15,1],[15,2],[15,1],[15,1],[12,3],[12,4],[12,4],[12,5],[22,3],[22,2],[22,2],[22,1],[24,1],[24,1],[24,1],[24,1],[25,1],[25,1],[32,1],[32,1],[33,1],[33,1],[33,1],[33,1],[33,1],[33,1],[33,1],[35,1],[35,1],[35,1],[35,1],[11,1],[11,1],[11,1]], +performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { +/* this == yyval */ + +var $0 = $$.length - 1; +switch (yystate) { +case 5: + this.$=$$[$0-1]+$$[$0]; +break; +case 6: + this.$=$$[$0]; +break; +case 7: + yy.addRelation($$[$0]); +break; +case 8: + $$[$0-1].title = yy.cleanupLabel($$[$0]); yy.addRelation($$[$0-1]); +break; +case 12: +/*console.log($$[$0-3],JSON.stringify($$[$0-1]));*/yy.addMembers($$[$0-3],$$[$0-1]); +break; +case 13: + this.$ = [$$[$0]]; +break; +case 14: + $$[$0].push($$[$0-1]);this.$=$$[$0]; +break; +case 15: +/*console.log('Rel found',$$[$0]);*/ +break; +case 16: +yy.addMembers($$[$0-1],yy.cleanupLabel($$[$0])); +break; +case 17: +console.warn('Member',$$[$0]); +break; +case 18: +/*console.log('sep found',$$[$0]);*/ +break; +case 19: + this.$ = {'id1':$$[$0-2],'id2':$$[$0], relation:$$[$0-1], relationTitle1:'none', relationTitle2:'none'}; +break; +case 20: + this.$ = {id1:$$[$0-3], id2:$$[$0], relation:$$[$0-1], relationTitle1:$$[$0-2], relationTitle2:'none'} +break; +case 21: + this.$ = {id1:$$[$0-3], id2:$$[$0], relation:$$[$0-2], relationTitle1:'none', relationTitle2:$$[$0-1]}; +break; +case 22: + this.$ = {id1:$$[$0-4], id2:$$[$0], relation:$$[$0-2], relationTitle1:$$[$0-3], relationTitle2:$$[$0-1]} +break; +case 23: + this.$={type1:$$[$0-2],type2:$$[$0],lineType:$$[$0-1]}; +break; +case 24: + this.$={type1:'none',type2:$$[$0],lineType:$$[$0-1]}; +break; +case 25: + this.$={type1:$$[$0-1],type2:'none',lineType:$$[$0]}; +break; +case 26: + this.$={type1:'none',type2:'none',lineType:$$[$0]}; +break; +case 27: + this.$=yy.relationType.AGGREGATION; +break; +case 28: + this.$=yy.relationType.EXTENSION; +break; +case 29: + this.$=yy.relationType.COMPOSITION; +break; +case 30: + this.$=yy.relationType.DEPENDENCY; +break; +case 31: +this.$=yy.lineType.LINE; +break; +case 32: +this.$=yy.lineType.DOTTED_LINE; +break; +} +}, +table: [{3:1,4:2,5:[1,3]},{1:[3]},{1:[2,1]},{6:[1,4]},{7:5,9:6,10:10,11:14,12:7,14:8,15:9,16:$V0,20:$V1,21:$V2,45:$V3,46:$V4,47:$V5},{8:[1,18]},{6:[1,19],8:[2,3]},o($V6,[2,7],{13:[1,20]}),o($V6,[2,9]),o($V6,[2,10]),o($V6,[2,15],{22:21,24:24,25:25,13:[1,23],23:[1,22],26:$V7,27:$V8,28:$V9,29:$Va,30:$Vb,31:$Vc}),{10:32,11:14,45:$V3,46:$V4,47:$V5},o($V6,[2,17]),o($V6,[2,18]),o($Vd,[2,6],{11:14,10:33,45:$V3,46:$V4,47:$V5}),o($Ve,[2,46]),o($Ve,[2,47]),o($Ve,[2,48]),{1:[2,2]},{7:34,9:6,10:10,11:14,12:7,14:8,15:9,16:$V0,20:$V1,21:$V2,45:$V3,46:$V4,47:$V5},o($V6,[2,8]),{10:35,11:14,23:[1,36],45:$V3,46:$V4,47:$V5},{22:37,24:24,25:25,26:$V7,27:$V8,28:$V9,29:$Va,30:$Vb,31:$Vc},o($V6,[2,16]),{25:38,30:$Vb,31:$Vc},o($Vf,[2,26],{24:39,26:$V7,27:$V8,28:$V9,29:$Va}),o($Vg,[2,27]),o($Vg,[2,28]),o($Vg,[2,29]),o($Vg,[2,30]),o($Vh,[2,31]),o($Vh,[2,32]),o($V6,[2,11],{17:[1,40]}),o($Vd,[2,5]),{8:[2,4]},o($Vi,[2,19]),{10:41,11:14,45:$V3,46:$V4,47:$V5},{10:42,11:14,23:[1,43],45:$V3,46:$V4,47:$V5},o($Vf,[2,25],{24:44,26:$V7,27:$V8,28:$V9,29:$Va}),o($Vf,[2,24]),{18:45,20:$Vj},o($Vi,[2,21]),o($Vi,[2,20]),{10:47,11:14,45:$V3,46:$V4,47:$V5},o($Vf,[2,23]),{19:[1,48]},{18:49,19:[2,13],20:$Vj},o($Vi,[2,22]),o($V6,[2,12]),{19:[2,14]}], +defaultActions: {2:[2,1],18:[2,2],34:[2,4],49:[2,14]}, +parseError: function parseError(str, hash) { + if (hash.recoverable) { + this.trace(str); + } else { + var error = new Error(str); + error.hash = hash; + throw error; + } +}, +parse: function parse(input) { + var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; + var args = lstack.slice.call(arguments, 1); + var lexer = Object.create(this.lexer); + var sharedState = { yy: {} }; + for (var k in this.yy) { + if (Object.prototype.hasOwnProperty.call(this.yy, k)) { + sharedState.yy[k] = this.yy[k]; + } + } + lexer.setInput(input, sharedState.yy); + sharedState.yy.lexer = lexer; + sharedState.yy.parser = this; + if (typeof lexer.yylloc == 'undefined') { + lexer.yylloc = {}; + } + var yyloc = lexer.yylloc; + lstack.push(yyloc); + var ranges = lexer.options && lexer.options.ranges; + if (typeof sharedState.yy.parseError === 'function') { + this.parseError = sharedState.yy.parseError; + } else { + this.parseError = Object.getPrototypeOf(this).parseError; + } + function popStack(n) { + stack.length = stack.length - 2 * n; + vstack.length = vstack.length - n; + lstack.length = lstack.length - n; + } + function lex() { + var token; + token = tstack.pop() || lexer.lex() || EOF; + if (typeof token !== 'number') { + if (token instanceof Array) { + tstack = token; + token = tstack.pop(); + } + token = self.symbols_[token] || token; + } + return token; + } + var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected; + while (true) { + state = stack[stack.length - 1]; + if (this.defaultActions[state]) { + action = this.defaultActions[state]; + } else { + if (symbol === null || typeof symbol == 'undefined') { + symbol = lex(); + } + action = table[state] && table[state][symbol]; + } + if (typeof action === 'undefined' || !action.length || !action[0]) { + var errStr = ''; + expected = []; + for (p in table[state]) { + if (this.terminals_[p] && p > TERROR) { + expected.push('\'' + this.terminals_[p] + '\''); + } + } + if (lexer.showPosition) { + errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\''; + } else { + errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\''); + } + this.parseError(errStr, { + text: lexer.match, + token: this.terminals_[symbol] || symbol, + line: lexer.yylineno, + loc: yyloc, + expected: expected + }); + } + if (action[0] instanceof Array && action.length > 1) { + throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); + } + switch (action[0]) { + case 1: + stack.push(symbol); + vstack.push(lexer.yytext); + lstack.push(lexer.yylloc); + stack.push(action[1]); + symbol = null; + if (!preErrorSymbol) { + yyleng = lexer.yyleng; + yytext = lexer.yytext; + yylineno = lexer.yylineno; + yyloc = lexer.yylloc; + if (recovering > 0) { + recovering--; + } + } else { + symbol = preErrorSymbol; + preErrorSymbol = null; + } + break; + case 2: + len = this.productions_[action[1]][1]; + yyval.$ = vstack[vstack.length - len]; + yyval._$ = { + first_line: lstack[lstack.length - (len || 1)].first_line, + last_line: lstack[lstack.length - 1].last_line, + first_column: lstack[lstack.length - (len || 1)].first_column, + last_column: lstack[lstack.length - 1].last_column + }; + if (ranges) { + yyval._$.range = [ + lstack[lstack.length - (len || 1)].range[0], + lstack[lstack.length - 1].range[1] + ]; + } + r = this.performAction.apply(yyval, [ + yytext, + yyleng, + yylineno, + sharedState.yy, + action[1], + vstack, + lstack + ].concat(args)); + if (typeof r !== 'undefined') { + return r; + } + if (len) { + stack = stack.slice(0, -1 * len * 2); + vstack = vstack.slice(0, -1 * len); + lstack = lstack.slice(0, -1 * len); + } + stack.push(this.productions_[action[1]][0]); + vstack.push(yyval.$); + lstack.push(yyval._$); + newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; + stack.push(newState); + break; + case 3: + return true; + } + } + return true; +}}; + +/* generated by jison-lex 0.3.4 */ +var lexer = (function(){ +var lexer = ({ + +EOF:1, + +parseError:function parseError(str, hash) { + if (this.yy.parser) { + this.yy.parser.parseError(str, hash); + } else { + throw new Error(str); + } + }, + +// resets the lexer, sets new input +setInput:function (input, yy) { + this.yy = yy || this.yy || {}; + this._input = input; + this._more = this._backtrack = this.done = false; + this.yylineno = this.yyleng = 0; + this.yytext = this.matched = this.match = ''; + this.conditionStack = ['INITIAL']; + this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }; + if (this.options.ranges) { + this.yylloc.range = [0,0]; + } + this.offset = 0; + return this; + }, + +// consumes and returns one char from the input +input:function () { + var ch = this._input[0]; + this.yytext += ch; + this.yyleng++; + this.offset++; + this.match += ch; + this.matched += ch; + var lines = ch.match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno++; + this.yylloc.last_line++; + } else { + this.yylloc.last_column++; + } + if (this.options.ranges) { + this.yylloc.range[1]++; + } + + this._input = this._input.slice(1); + return ch; + }, + +// unshifts one char (or a string) into the input +unput:function (ch) { + var len = ch.length; + var lines = ch.split(/(?:\r\n?|\n)/g); + + this._input = ch + this._input; + this.yytext = this.yytext.substr(0, this.yytext.length - len); + //this.yyleng -= len; + this.offset -= len; + var oldLines = this.match.split(/(?:\r\n?|\n)/g); + this.match = this.match.substr(0, this.match.length - 1); + this.matched = this.matched.substr(0, this.matched.length - 1); + + if (lines.length - 1) { + this.yylineno -= lines.length - 1; + } + var r = this.yylloc.range; + + this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: lines ? + (lines.length === oldLines.length ? this.yylloc.first_column : 0) + + oldLines[oldLines.length - lines.length].length - lines[0].length : + this.yylloc.first_column - len + }; + + if (this.options.ranges) { + this.yylloc.range = [r[0], r[0] + this.yyleng - len]; + } + this.yyleng = this.yytext.length; + return this; + }, + +// When called from action, caches matched text and appends it on next action +more:function () { + this._more = true; + return this; + }, + +// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. +reject:function () { + if (this.options.backtrack_lexer) { + this._backtrack = true; + } else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + + } + return this; + }, + +// retain first n characters of the match +less:function (n) { + this.unput(this.match.slice(n)); + }, + +// displays already matched input, i.e. for error messages +pastInput:function () { + var past = this.matched.substr(0, this.matched.length - this.match.length); + return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); + }, + +// displays upcoming input, i.e. for error messages +upcomingInput:function () { + var next = this.match; + if (next.length < 20) { + next += this._input.substr(0, 20-next.length); + } + return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); + }, + +// displays the character position where the lexing error occurred, i.e. for error messages +showPosition:function () { + var pre = this.pastInput(); + var c = new Array(pre.length + 1).join("-"); + return pre + this.upcomingInput() + "\n" + c + "^"; + }, + +// test the lexed token: return FALSE when not a match, otherwise return token +test_match:function (match, indexed_rule) { + var token, + lines, + backup; + + if (this.options.backtrack_lexer) { + // save context + backup = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }; + if (this.options.ranges) { + backup.yylloc.range = this.yylloc.range.slice(0); + } + } + + lines = match[0].match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno += lines.length; + } + this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: lines ? + lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : + this.yylloc.last_column + match[0].length + }; + this.yytext += match[0]; + this.match += match[0]; + this.matches = match; + this.yyleng = this.yytext.length; + if (this.options.ranges) { + this.yylloc.range = [this.offset, this.offset += this.yyleng]; + } + this._more = false; + this._backtrack = false; + this._input = this._input.slice(match[0].length); + this.matched += match[0]; + token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); + if (this.done && this._input) { + this.done = false; + } + if (token) { + return token; + } else if (this._backtrack) { + // recover context + for (var k in backup) { + this[k] = backup[k]; + } + return false; // rule action called reject() implying the next rule should be tested instead. + } + return false; + }, + +// return next match in input +next:function () { + if (this.done) { + return this.EOF; + } + if (!this._input) { + this.done = true; + } + + var token, + match, + tempMatch, + index; + if (!this._more) { + this.yytext = ''; + this.match = ''; + } + var rules = this._currentRules(); + for (var i = 0; i < rules.length; i++) { + tempMatch = this._input.match(this.rules[rules[i]]); + if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { + match = tempMatch; + index = i; + if (this.options.backtrack_lexer) { + token = this.test_match(tempMatch, rules[i]); + if (token !== false) { + return token; + } else if (this._backtrack) { + match = false; + continue; // rule action called reject() implying a rule MISmatch. + } else { + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + } else if (!this.options.flex) { + break; + } + } + } + if (match) { + token = this.test_match(match, rules[index]); + if (token !== false) { + return token; + } + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + if (this._input === "") { + return this.EOF; + } else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + } + }, + +// return next match that has a token +lex:function lex() { + var r = this.next(); + if (r) { + return r; + } else { + return this.lex(); + } + }, + +// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) +begin:function begin(condition) { + this.conditionStack.push(condition); + }, + +// pop the previously active lexer condition state off the condition stack +popState:function popState() { + var n = this.conditionStack.length - 1; + if (n > 0) { + return this.conditionStack.pop(); + } else { + return this.conditionStack[0]; + } + }, + +// produce the lexer rule set which is active for the currently active lexer condition state +_currentRules:function _currentRules() { + if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { + return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; + } else { + return this.conditions["INITIAL"].rules; + } + }, + +// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available +topState:function topState(n) { + n = this.conditionStack.length - 1 - Math.abs(n || 0); + if (n >= 0) { + return this.conditionStack[n]; + } else { + return "INITIAL"; + } + }, + +// alias for begin(condition) +pushState:function pushState(condition) { + this.begin(condition); + }, + +// return the number of states currently on the stack +stateStackSize:function stateStackSize() { + return this.conditionStack.length; + }, +options: {}, +performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { +var YYSTATE=YY_START; +switch($avoiding_name_collisions) { +case 0:/* do nothing */ +break; +case 1:return 6; +break; +case 2:/* skip whitespace */ +break; +case 3:return 5; +break; +case 4: this.begin("struct"); /*console.log('Starting struct');*/return 17; +break; +case 5: /*console.log('Ending struct');*/this.popState(); return 19; +break; +case 6:/* nothing */ +break; +case 7: /*console.log('lex-member: ' + yy_.yytext);*/ return "MEMBER"; +break; +case 8:return 16; +break; +case 9:this.begin("string"); +break; +case 10:this.popState(); +break; +case 11:return "STR"; +break; +case 12:return 27; +break; +case 13:return 27; +break; +case 14:return 29; +break; +case 15:return 29; +break; +case 16:return 28; +break; +case 17:return 26; +break; +case 18:return 30; +break; +case 19:return 31; +break; +case 20:return 13; +break; +case 21:return 43; +break; +case 22:return 'DOT'; +break; +case 23:return 'PLUS'; +break; +case 24:return 40; +break; +case 25:return 'EQUALS'; +break; +case 26:return 'EQUALS'; +break; +case 27:return 47; +break; +case 28:return 'PUNCTUATION'; +break; +case 29:return 46; +break; +case 30:return 45; +break; +case 31:return 42; +break; +case 32:return 8; +break; +} +}, +rules: [/^(?:%%[^\n]*)/,/^(?:\n+)/,/^(?:\s+)/,/^(?:classDiagram\b)/,/^(?:[\{])/,/^(?:\})/,/^(?:[\n])/,/^(?:[^\{\}\n]*)/,/^(?:class\b)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:--)/,/^(?:\.\.)/,/^(?::[^#\n;]+)/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[A-Za-z]+)/,/^(?:[!"#$%&'*+,-.`?\\_\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:$)/], +conditions: {"string":{"rules":[10,11],"inclusive":false},"struct":{"rules":[5,6,7],"inclusive":false},"INITIAL":{"rules":[0,1,2,3,4,8,9,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32],"inclusive":true}} +}); +return lexer; +})(); +parser.lexer = lexer; +function Parser () { + this.yy = {}; +} +Parser.prototype = parser;parser.Parser = Parser; +return new Parser; +})(); + + +if (typeof require !== 'undefined' && typeof exports !== 'undefined') { +exports.parser = parser; +exports.Parser = parser.Parser; +exports.parse = function () { return parser.parse.apply(parser, arguments); }; +exports.main = function commonjsMain(args) { + if (!args[1]) { + console.log('Usage: '+args[0]+' FILE'); + process.exit(1); + } + var source = require('fs').readFileSync(require('path').normalize(args[1]), "utf8"); + return exports.parser.parse(source); +}; +if (typeof module !== 'undefined' && require.main === module) { + exports.main(process.argv.slice(1)); +} +} \ No newline at end of file diff --git a/_submodules/mermaid/src/diagrams/flowchart/flowDb.js b/_submodules/mermaid/src/diagrams/flowchart/flowDb.js new file mode 100644 index 0000000000000000000000000000000000000000..275e9c39df5c52839455f0adff0af0c4f131115f --- /dev/null +++ b/_submodules/mermaid/src/diagrams/flowchart/flowDb.js @@ -0,0 +1,423 @@ +import * as d3 from 'd3' + +import { logger } from '../../logger' +import utils from '../../utils' + +let vertices = {} +let edges = [] +let classes = [] +let subGraphs = [] +let tooltips = {} +let subCount = 0 +let direction +// Functions to be run after graph rendering +let funs = [] +/** + * Function called by parser when a node definition has been found + * @param id + * @param text + * @param type + * @param style + */ +export const addVertex = function (id, text, type, style) { + let txt + + if (typeof id === 'undefined') { + return + } + if (id.trim().length === 0) { + return + } + + if (typeof vertices[id] === 'undefined') { + vertices[id] = { id: id, styles: [], classes: [] } + } + if (typeof text !== 'undefined') { + txt = text.trim() + + // strip quotes if string starts and exnds with a quote + if (txt[0] === '"' && txt[txt.length - 1] === '"') { + txt = txt.substring(1, txt.length - 1) + } + + vertices[id].text = txt + } + if (typeof type !== 'undefined') { + vertices[id].type = type + } + if (typeof type !== 'undefined') { + vertices[id].type = type + } + if (typeof style !== 'undefined') { + if (style !== null) { + style.forEach(function (s) { + vertices[id].styles.push(s) + }) + } + } +} + +/** + * Function called by parser when a link/edge definition has been found + * @param start + * @param end + * @param type + * @param linktext + */ +export const addLink = function (start, end, type, linktext) { + logger.info('Got edge...', start, end) + const edge = { start: start, end: end, type: undefined, text: '' } + linktext = type.text + + if (typeof linktext !== 'undefined') { + edge.text = linktext.trim() + + // strip quotes if string starts and exnds with a quote + if (edge.text[0] === '"' && edge.text[edge.text.length - 1] === '"') { + edge.text = edge.text.substring(1, edge.text.length - 1) + } + } + + if (typeof type !== 'undefined') { + edge.type = type.type + edge.stroke = type.stroke + } + edges.push(edge) +} + +/** + * Updates a link's line interpolation algorithm + * @param pos + * @param interpolate + */ +export const updateLinkInterpolate = function (pos, interp) { + if (pos === 'default') { + edges.defaultInterpolate = interp + } else { + edges[pos].interpolate = interp + } +} + +/** + * Updates a link with a style + * @param pos + * @param style + */ +export const updateLink = function (pos, style) { + if (pos === 'default') { + edges.defaultStyle = style + } else { + if (utils.isSubstringInArray('fill', style) === -1) { + style.push('fill:none') + } + edges[pos].style = style + } +} + +export const addClass = function (id, style) { + if (typeof classes[id] === 'undefined') { + classes[id] = { id: id, styles: [] } + } + + if (typeof style !== 'undefined') { + if (style !== null) { + style.forEach(function (s) { + classes[id].styles.push(s) + }) + } + } +} + +/** + * Called by parser when a graph definition is found, stores the direction of the chart. + * @param dir + */ +export const setDirection = function (dir) { + direction = dir +} + +/** + * Called by parser when a graph definition is found, stores the direction of the chart. + * @param dir + */ +export const setClass = function (id, className) { + if (id.indexOf(',') > 0) { + id.split(',').forEach(function (id2) { + if (typeof vertices[id2] !== 'undefined') { + vertices[id2].classes.push(className) + } + }) + } else { + if (typeof vertices[id] !== 'undefined') { + vertices[id].classes.push(className) + } + } +} + +const setTooltip = function (id, tooltip) { + if (typeof tooltip !== 'undefined') { + tooltips[id] = tooltip + } +} + +const setClickFun = function (id, functionName) { + if (typeof functionName === 'undefined') { + return + } + if (typeof vertices[id] !== 'undefined') { + funs.push(function (element) { + const elem = d3.select(element).select(`[id="${id}"]`) + if (elem !== null) { + elem.on('click', function () { + window[functionName](id) + }) + } + }) + } +} + +const setLink = function (id, linkStr) { + if (typeof linkStr === 'undefined') { + return + } + if (typeof vertices[id] !== 'undefined') { + funs.push(function (element) { + const elem = d3.select(element).select(`[id="${id}"]`) + if (elem !== null) { + elem.on('click', function () { + window.open(linkStr, 'newTab') + }) + } + }) + } +} +export const getTooltip = function (id) { + return tooltips[id] +} + +/** + * Called by parser when a graph definition is found, stores the direction of the chart. + * @param dir + */ +export const setClickEvent = function (id, functionName, link, tooltip) { + if (id.indexOf(',') > 0) { + id.split(',').forEach(function (id2) { + setTooltip(id2, tooltip) + setClickFun(id2, functionName) + setLink(id2, link) + setClass(id, 'clickable') + }) + } else { + setTooltip(id, tooltip) + setClickFun(id, functionName) + setLink(id, link) + setClass(id, 'clickable') + } +} + +export const bindFunctions = function (element) { + funs.forEach(function (fun) { + fun(element) + }) +} +export const getDirection = function () { + return direction +} +/** + * Retrieval function for fetching the found nodes after parsing has completed. + * @returns {{}|*|vertices} + */ +export const getVertices = function () { + return vertices +} + +/** + * Retrieval function for fetching the found links after parsing has completed. + * @returns {{}|*|edges} + */ +export const getEdges = function () { + return edges +} + +/** + * Retrieval function for fetching the found class definitions after parsing has completed. + * @returns {{}|*|classes} + */ +export const getClasses = function () { + return classes +} + +const setupToolTips = function (element) { + let tooltipElem = d3.select('.mermaidTooltip') + if ((tooltipElem._groups || tooltipElem)[0][0] === null) { + tooltipElem = d3.select('body') + .append('div') + .attr('class', 'mermaidTooltip') + .style('opacity', 0) + } + + const svg = d3.select(element).select('svg') + + const nodes = svg.selectAll('g.node') + nodes + .on('mouseover', function () { + const el = d3.select(this) + const title = el.attr('title') + // Dont try to draw a tooltip if no data is provided + if (title === null) { + return + } + const rect = this.getBoundingClientRect() + + tooltipElem.transition() + .duration(200) + .style('opacity', '.9') + tooltipElem.html(el.attr('title')) + .style('left', (rect.left + (rect.right - rect.left) / 2) + 'px') + .style('top', (rect.top - 14 + document.body.scrollTop) + 'px') + el.classed('hover', true) + }) + .on('mouseout', function () { + tooltipElem.transition() + .duration(500) + .style('opacity', 0) + const el = d3.select(this) + el.classed('hover', false) + }) +} +funs.push(setupToolTips) + +/** + * Clears the internal graph db so that a new graph can be parsed. + */ +export const clear = function () { + vertices = {} + classes = {} + edges = [] + funs = [] + funs.push(setupToolTips) + subGraphs = [] + subCount = 0 + tooltips = [] +} +/** + * + * @returns {string} + */ +export const defaultStyle = function () { + return 'fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;' +} + +/** + * Clears the internal graph db so that a new graph can be parsed. + */ +export const addSubGraph = function (list, title) { + function uniq (a) { + const prims = { 'boolean': {}, 'number': {}, 'string': {} } + const objs = [] + + return a.filter(function (item) { + const type = typeof item + if (item.trim() === '') { + return false + } + if (type in prims) { return prims[type].hasOwnProperty(item) ? false : (prims[type][item] = true) } else { return objs.indexOf(item) >= 0 ? false : objs.push(item) } + }) + } + + let nodeList = [] + + nodeList = uniq(nodeList.concat.apply(nodeList, list)) + + const subGraph = { id: 'subGraph' + subCount, nodes: nodeList, title: title.trim() } + subGraphs.push(subGraph) + subCount = subCount + 1 + return subGraph.id +} + +const getPosForId = function (id) { + for (let i = 0; i < subGraphs.length; i++) { + if (subGraphs[i].id === id) { + return i + } + } + return -1 +} +let secCount = -1 +const posCrossRef = [] +const indexNodes2 = function (id, pos) { + const nodes = subGraphs[pos].nodes + secCount = secCount + 1 + if (secCount > 2000) { + return + } + posCrossRef[secCount] = pos + // Check if match + if (subGraphs[pos].id === id) { + return { + result: true, + count: 0 + } + } + + let count = 0 + let posCount = 1 + while (count < nodes.length) { + const childPos = getPosForId(nodes[count]) + // Ignore regular nodes (pos will be -1) + if (childPos >= 0) { + const res = indexNodes2(id, childPos) + if (res.result) { + return { + result: true, + count: posCount + res.count + } + } else { + posCount = posCount + res.count + } + } + count = count + 1 + } + + return { + result: false, + count: posCount + } +} + +export const getDepthFirstPos = function (pos) { + return posCrossRef[pos] +} +export const indexNodes = function () { + secCount = -1 + if (subGraphs.length > 0) { + indexNodes2('none', subGraphs.length - 1, 0) + } +} + +export const getSubGraphs = function () { + return subGraphs +} + +export default { + addVertex, + addLink, + updateLinkInterpolate, + updateLink, + addClass, + setDirection, + setClass, + getTooltip, + setClickEvent, + bindFunctions, + getDirection, + getVertices, + getEdges, + getClasses, + clear, + defaultStyle, + addSubGraph, + getDepthFirstPos, + indexNodes, + getSubGraphs +} diff --git a/_submodules/mermaid/src/diagrams/flowchart/flowRenderer.js b/_submodules/mermaid/src/diagrams/flowchart/flowRenderer.js new file mode 100644 index 0000000000000000000000000000000000000000..2375265055373bbbc2a609e7717fe0a3eadd8069 --- /dev/null +++ b/_submodules/mermaid/src/diagrams/flowchart/flowRenderer.js @@ -0,0 +1,473 @@ +import graphlib from 'graphlibrary' +import * as d3 from 'd3' + +import flowDb from './flowDb' +import flow from './parser/flow' +import dagreD3 from 'dagre-d3-renderer' +import { logger } from '../../logger' +import { interpolateToCurve } from '../../utils' + +const conf = { +} +export const setConf = function (cnf) { + const keys = Object.keys(cnf) + for (let i = 0; i < keys.length; i++) { + conf[keys[i]] = cnf[keys[i]] + } +} + +/** + * Function that adds the vertices found in the graph definition to the graph to be rendered. + * @param vert Object containing the vertices. + * @param g The graph that is to be drawn. + */ +export const addVertices = function (vert, g) { + const keys = Object.keys(vert) + + const styleFromStyleArr = function (styleStr, arr) { + // Create a compound style definition from the style definitions found for the node in the graph definition + for (let i = 0; i < arr.length; i++) { + if (typeof arr[i] !== 'undefined') { + styleStr = styleStr + arr[i] + ';' + } + } + + return styleStr + } + + // Iterate through each item in the vertice object (containing all the vertices found) in the graph definition + keys.forEach(function (id) { + const vertice = vert[id] + let verticeText + + /** + * Variable for storing the classes for the vertice + * @type {string} + */ + let classStr = '' + if (vertice.classes.length > 0) { + classStr = vertice.classes.join(' ') + } + + /** + * Variable for storing the extracted style for the vertice + * @type {string} + */ + let style = '' + // Create a compound style definition from the style definitions found for the node in the graph definition + style = styleFromStyleArr(style, vertice.styles) + + // Use vertice id as text in the box if no text is provided by the graph definition + if (typeof vertice.text === 'undefined') { + verticeText = vertice.id + } else { + verticeText = vertice.text + } + + let labelTypeStr = '' + if (conf.htmlLabels) { + labelTypeStr = 'html' + verticeText = verticeText.replace(/fa:fa[\w-]+/g, function (s) { + return '<i class="fa ' + s.substring(3) + '"></i>' + }) + } else { + const svgLabel = document.createElementNS('http://www.w3.org/2000/svg', 'text') + + const rows = verticeText.split(/<br>/) + + for (let j = 0; j < rows.length; j++) { + const tspan = document.createElementNS('http://www.w3.org/2000/svg', 'tspan') + tspan.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve') + tspan.setAttribute('dy', '1em') + tspan.setAttribute('x', '1') + tspan.textContent = rows[j] + svgLabel.appendChild(tspan) + } + + labelTypeStr = 'svg' + verticeText = svgLabel + } + + let radious = 0 + let _shape = '' + // Set the shape based parameters + switch (vertice.type) { + case 'round': + radious = 5 + _shape = 'rect' + break + case 'square': + _shape = 'rect' + break + case 'diamond': + _shape = 'question' + break + case 'odd': + _shape = 'rect_left_inv_arrow' + break + case 'odd_right': + _shape = 'rect_left_inv_arrow' + break + case 'circle': + _shape = 'circle' + break + case 'ellipse': + _shape = 'ellipse' + break + case 'group': + _shape = 'rect' + // Need to create a text node if using svg labels, see #367 + verticeText = conf.htmlLabels ? '' : document.createElementNS('http://www.w3.org/2000/svg', 'text') + break + default: + _shape = 'rect' + } + // Add the node + g.setNode(vertice.id, { labelType: labelTypeStr, shape: _shape, label: verticeText, rx: radious, ry: radious, 'class': classStr, style: style, id: vertice.id }) + }) +} + +/** + * Add edges to graph based on parsed graph defninition + * @param {Object} edges The edges to add to the graph + * @param {Object} g The graph object + */ +export const addEdges = function (edges, g) { + let cnt = 0 + + let defaultStyle + if (typeof edges.defaultStyle !== 'undefined') { + defaultStyle = edges.defaultStyle.toString().replace(/,/g, ';') + } + + edges.forEach(function (edge) { + cnt++ + const edgeData = {} + + // Set link type for rendering + if (edge.type === 'arrow_open') { + edgeData.arrowhead = 'none' + } else { + edgeData.arrowhead = 'normal' + } + + let style = '' + if (typeof edge.style !== 'undefined') { + edge.style.forEach(function (s) { + style = style + s + ';' + }) + } else { + switch (edge.stroke) { + case 'normal': + style = 'fill:none' + if (typeof defaultStyle !== 'undefined') { + style = defaultStyle + } + break + case 'dotted': + style = 'stroke: #333; fill:none;stroke-width:2px;stroke-dasharray:3;' + break + case 'thick': + style = 'stroke: #333; stroke-width: 3.5px;fill:none' + break + } + } + edgeData.style = style + + if (typeof edge.interpolate !== 'undefined') { + edgeData.curve = interpolateToCurve(edge.interpolate, d3.curveLinear) + } else if (typeof edges.defaultInterpolate !== 'undefined') { + edgeData.curve = interpolateToCurve(edges.defaultInterpolate, d3.curveLinear) + } else { + edgeData.curve = interpolateToCurve(conf.curve, d3.curveLinear) + } + + if (typeof edge.text === 'undefined') { + if (typeof edge.style !== 'undefined') { + edgeData.arrowheadStyle = 'fill: #333' + } + } else { + edgeData.arrowheadStyle = 'fill: #333' + if (typeof edge.style === 'undefined') { + edgeData.labelpos = 'c' + if (conf.htmlLabels) { + edgeData.labelType = 'html' + edgeData.label = '<span class="edgeLabel">' + edge.text + '</span>' + } else { + edgeData.labelType = 'text' + edgeData.style = 'stroke: #333; stroke-width: 1.5px;fill:none' + edgeData.label = edge.text.replace(/<br>/g, '\n') + } + } else { + edgeData.label = edge.text.replace(/<br>/g, '\n') + } + } + // Add the edge to the graph + g.setEdge(edge.start, edge.end, edgeData, cnt) + }) +} + +/** + * Returns the all the styles from classDef statements in the graph definition. + * @returns {object} classDef styles + */ +export const getClasses = function (text) { + flowDb.clear() + const parser = flow.parser + parser.yy = flowDb + + // Parse the graph definition + parser.parse(text) + return flowDb.getClasses() +} + +/** + * Draws a flowchart in the tag with id: id based on the graph definition in text. + * @param text + * @param id + */ +export const draw = function (text, id) { + logger.debug('Drawing flowchart') + flowDb.clear() + const parser = flow.parser + parser.yy = flowDb + + // Parse the graph definition + try { + parser.parse(text) + } catch (err) { + logger.debug('Parsing failed') + } + + // Fetch the default direction, use TD if none was found + let dir = flowDb.getDirection() + if (typeof dir === 'undefined') { + dir = 'TD' + } + + // Create the input mermaid.graph + const g = new graphlib.Graph({ + multigraph: true, + compound: true + }) + .setGraph({ + rankdir: dir, + marginx: 20, + marginy: 20 + + }) + .setDefaultEdgeLabel(function () { + return {} + }) + + let subG + const subGraphs = flowDb.getSubGraphs() + for (let i = subGraphs.length - 1; i >= 0; i--) { + subG = subGraphs[i] + flowDb.addVertex(subG.id, subG.title, 'group', undefined) + } + + // Fetch the verices/nodes and edges/links from the parsed graph definition + const vert = flowDb.getVertices() + + const edges = flowDb.getEdges() + + let i = 0 + for (i = subGraphs.length - 1; i >= 0; i--) { + subG = subGraphs[i] + + d3.selectAll('cluster').append('text') + + for (let j = 0; j < subG.nodes.length; j++) { + g.setParent(subG.nodes[j], subG.id) + } + } + addVertices(vert, g) + addEdges(edges, g) + + // Create the renderer + const Render = dagreD3.render + const render = new Render() + + // Add custom shape for rhombus type of boc (decision) + render.shapes().question = function (parent, bbox, node) { + const w = bbox.width + const h = bbox.height + const s = (w + h) * 0.9 + const points = [ + { x: s / 2, y: 0 }, + { x: s, y: -s / 2 }, + { x: s / 2, y: -s }, + { x: 0, y: -s / 2 } + ] + const shapeSvg = parent.insert('polygon', ':first-child') + .attr('points', points.map(function (d) { + return d.x + ',' + d.y + }).join(' ')) + .attr('rx', 5) + .attr('ry', 5) + .attr('transform', 'translate(' + (-s / 2) + ',' + (s * 2 / 4) + ')') + node.intersect = function (point) { + return dagreD3.intersect.polygon(node, points, point) + } + return shapeSvg + } + + // Add custom shape for box with inverted arrow on left side + render.shapes().rect_left_inv_arrow = function (parent, bbox, node) { + const w = bbox.width + const h = bbox.height + const points = [ + { x: -h / 2, y: 0 }, + { x: w, y: 0 }, + { x: w, y: -h }, + { x: -h / 2, y: -h }, + { x: 0, y: -h / 2 } + ] + const shapeSvg = parent.insert('polygon', ':first-child') + .attr('points', points.map(function (d) { + return d.x + ',' + d.y + }).join(' ')) + .attr('transform', 'translate(' + (-w / 2) + ',' + (h * 2 / 4) + ')') + node.intersect = function (point) { + return dagreD3.intersect.polygon(node, points, point) + } + return shapeSvg + } + + // Add custom shape for box with inverted arrow on right side + render.shapes().rect_right_inv_arrow = function (parent, bbox, node) { + const w = bbox.width + const h = bbox.height + const points = [ + { x: 0, y: 0 }, + { x: w + h / 2, y: 0 }, + { x: w, y: -h / 2 }, + { x: w + h / 2, y: -h }, + { x: 0, y: -h } + ] + const shapeSvg = parent.insert('polygon', ':first-child') + .attr('points', points.map(function (d) { + return d.x + ',' + d.y + }).join(' ')) + .attr('transform', 'translate(' + (-w / 2) + ',' + (h * 2 / 4) + ')') + node.intersect = function (point) { + return dagreD3.intersect.polygon(node, points, point) + } + return shapeSvg + } + + // Add our custom arrow - an empty arrowhead + render.arrows().none = function normal (parent, id, edge, type) { + const marker = parent.append('marker') + .attr('id', id) + .attr('viewBox', '0 0 10 10') + .attr('refX', 9) + .attr('refY', 5) + .attr('markerUnits', 'strokeWidth') + .attr('markerWidth', 8) + .attr('markerHeight', 6) + .attr('orient', 'auto') + + const path = marker.append('path') + .attr('d', 'M 0 0 L 0 0 L 0 0 z') + dagreD3.util.applyStyle(path, edge[type + 'Style']) + } + + // Override normal arrowhead defined in d3. Remove style & add class to allow css styling. + render.arrows().normal = function normal (parent, id, edge, type) { + const marker = parent.append('marker') + .attr('id', id) + .attr('viewBox', '0 0 10 10') + .attr('refX', 9) + .attr('refY', 5) + .attr('markerUnits', 'strokeWidth') + .attr('markerWidth', 8) + .attr('markerHeight', 6) + .attr('orient', 'auto') + + marker.append('path') + .attr('d', 'M 0 0 L 10 5 L 0 10 z') + .attr('class', 'arrowheadPath') + .style('stroke-width', 1) + .style('stroke-dasharray', '1,0') + } + + // Set up an SVG group so that we can translate the final graph. + const svg = d3.select(`[id="${id}"]`) + + // Run the renderer. This is what draws the final graph. + const element = d3.select('#' + id + ' g') + render(element, g) + + element.selectAll('g.node') + .attr('title', function () { + return flowDb.getTooltip(this.id) + }) + + const padding = 8 + const width = g.maxX - g.minX + padding * 2 + const height = g.maxY - g.minY + padding * 2 + svg.attr('width', '100%') + svg.attr('style', `max-width: ${width}px;`) + svg.attr('viewBox', `0 0 ${width} ${height}`) + svg.select('g').attr('transform', `translate(${padding - g.minX}, ${padding - g.minY})`) + + // Index nodes + flowDb.indexNodes('subGraph' + i) + + for (i = 0; i < subGraphs.length; i++) { + subG = subGraphs[i] + + if (subG.title !== 'undefined') { + const clusterRects = document.querySelectorAll('#' + id + ' #' + subG.id + ' rect') + const clusterEl = document.querySelectorAll('#' + id + ' #' + subG.id) + + const xPos = clusterRects[0].x.baseVal.value + const yPos = clusterRects[0].y.baseVal.value + const width = clusterRects[0].width.baseVal.value + const cluster = d3.select(clusterEl[0]) + const te = cluster.append('text') + te.attr('x', xPos + width / 2) + te.attr('y', yPos + 14) + te.attr('fill', 'black') + te.attr('stroke', 'none') + te.attr('id', id + 'Text') + te.style('text-anchor', 'middle') + + if (typeof subG.title === 'undefined') { + te.text('Undef') + } else { + te.text(subG.title) + } + } + } + + // Add label rects for non html labels + if (!conf.htmlLabels) { + const labels = document.querySelectorAll('#' + id + ' .edgeLabel .label') + for (let k = 0; k < labels.length; k++) { + const label = labels[k] + + // Get dimensions of label + const dim = label.getBBox() + + const rect = document.createElementNS('http://www.w3.org/2000/svg', 'rect') + rect.setAttribute('rx', 0) + rect.setAttribute('ry', 0) + rect.setAttribute('width', dim.width) + rect.setAttribute('height', dim.height) + rect.setAttribute('style', 'fill:#e8e8e8;') + + label.insertBefore(rect, label.firstChild) + } + } +} + +export default { + setConf, + addVertices, + addEdges, + getClasses, + draw +} diff --git a/_submodules/mermaid/src/diagrams/flowchart/parser/flow.jison b/_submodules/mermaid/src/diagrams/flowchart/parser/flow.jison new file mode 100644 index 0000000000000000000000000000000000000000..0bbb4281eafe0d5cf53a1b1f842e11d9acd455b1 --- /dev/null +++ b/_submodules/mermaid/src/diagrams/flowchart/parser/flow.jison @@ -0,0 +1,452 @@ +/** mermaid + * https://mermaidjs.github.io/ + * (c) 2015 Knut Sveidqvist + * MIT license. + */ + +/* lexical grammar */ +%lex +%x string + +%% +\%\%[^\n]* /* do nothing */ +["] this.begin("string"); +<string>["] this.popState(); +<string>[^"]* return "STR"; +"style" return 'STYLE'; +"default" return 'DEFAULT'; +"linkStyle" return 'LINKSTYLE'; +"interpolate" return 'INTERPOLATE'; +"classDef" return 'CLASSDEF'; +"class" return 'CLASS'; +"click" return 'CLICK'; +"graph" return 'GRAPH'; +"subgraph" return 'subgraph'; +"end"\b\s* return 'end'; +"LR" return 'DIR'; +"RL" return 'DIR'; +"TB" return 'DIR'; +"BT" return 'DIR'; +"TD" return 'DIR'; +"BR" return 'DIR'; +[0-9]+ return 'NUM'; +\# return 'BRKT'; +":" return 'COLON'; +";" return 'SEMI'; +"," return 'COMMA'; +"*" return 'MULT'; +"<" return 'TAGSTART'; +">" return 'TAGEND'; +"^" return 'UP'; +"v" return 'DOWN'; +\s*\-\-[x]\s* return 'ARROW_CROSS'; +\s*\-\-\>\s* return 'ARROW_POINT'; +\s*\-\-[o]\s* return 'ARROW_CIRCLE'; +\s*\-\-\-\s* return 'ARROW_OPEN'; +\s*\-\.\-[x]\s* return 'DOTTED_ARROW_CROSS'; +\s*\-\.\-\>\s* return 'DOTTED_ARROW_POINT'; +\s*\-\.\-[o]\s* return 'DOTTED_ARROW_CIRCLE'; +\s*\-\.\-\s* return 'DOTTED_ARROW_OPEN'; +\s*.\-[x]\s* return 'DOTTED_ARROW_CROSS'; +\s*\.\-\>\s* return 'DOTTED_ARROW_POINT'; +\s*\.\-[o]\s* return 'DOTTED_ARROW_CIRCLE'; +\s*\.\-\s* return 'DOTTED_ARROW_OPEN'; +\s*\=\=[x]\s* return 'THICK_ARROW_CROSS'; +\s*\=\=\>\s* return 'THICK_ARROW_POINT'; +\s*\=\=[o]\s* return 'THICK_ARROW_CIRCLE'; +\s*\=\=[\=]\s* return 'THICK_ARROW_OPEN'; +\s*\-\-\s* return '--'; +\s*\-\.\s* return '-.'; +\s*\=\=\s* return '=='; +"(-" return '(-'; +"-)" return '-)'; +\- return 'MINUS'; +"." return 'DOT'; +\+ return 'PLUS'; +\% return 'PCT'; +"=" return 'EQUALS'; +\= return 'EQUALS'; +[A-Za-z]+ return 'ALPHA'; +[!"#$%&'*+,-.`?\\_/] return 'PUNCTUATION'; +[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]| +[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]| +[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]| +[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]| +[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]| +[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]| +[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]| +[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]| +[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]| +[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]| +[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]| +[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]| +[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]| +[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]| +[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]| +[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]| +[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]| +[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]| +[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]| +[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]| +[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]| +[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]| +[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]| +[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]| +[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]| +[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]| +[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]| +[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]| +[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]| +[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]| +[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]| +[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]| +[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]| +[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]| +[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]| +[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]| +[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]| +[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]| +[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]| +[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]| +[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]| +[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]| +[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]| +[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]| +[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]| +[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]| +[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]| +[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]| +[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]| +[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]| +[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]| +[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]| +[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]| +[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]| +[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]| +[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]| +[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]| +[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]| +[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]| +[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]| +[\uFFD2-\uFFD7\uFFDA-\uFFDC] + return 'UNICODE_TEXT'; +"|" return 'PIPE'; +"(" return 'PS'; +")" return 'PE'; +"[" return 'SQS'; +"]" return 'SQE'; +"{" return 'DIAMOND_START' +"}" return 'DIAMOND_STOP' +"\"" return 'QUOTE'; +\n+ return 'NEWLINE'; +\s return 'SPACE'; +<<EOF>> return 'EOF'; + +/lex + +/* operator associations and precedence */ + +%left '^' + +%start mermaidDoc + +%% /* language grammar */ + +mermaidDoc: graphConfig document; + +document + : /* empty */ + { $$ = [];} + | document line + { + if($2 !== []){ + $1.push($2); + } + $$=$1;} + ; + +line + : statement + {$$=$1;} + | SEMI + | NEWLINE + | SPACE + | EOF + ; + +graphConfig + : SPACE graphConfig + | NEWLINE graphConfig + | GRAPH SPACE DIR FirstStmtSeperator + { yy.setDirection($3);$$ = $3;} + | GRAPH SPACE TAGEND FirstStmtSeperator + { yy.setDirection("LR");$$ = $3;} + | GRAPH SPACE TAGSTART FirstStmtSeperator + { yy.setDirection("RL");$$ = $3;} + | GRAPH SPACE UP FirstStmtSeperator + { yy.setDirection("BT");$$ = $3;} + | GRAPH SPACE DOWN FirstStmtSeperator + { yy.setDirection("TB");$$ = $3;} + ; + +ending: endToken ending + | endToken + ; + +endToken: NEWLINE | SPACE | EOF; + +FirstStmtSeperator + : SEMI | NEWLINE | spaceList NEWLINE ; + + +spaceListNewline + : SPACE spaceListNewline + | NEWLINE spaceListNewline + | NEWLINE + | SPACE + ; + + +spaceList + : SPACE spaceList + | SPACE + ; + +statement + : verticeStatement separator + {$$=$1} + | styleStatement separator + {$$=[];} + | linkStyleStatement separator + {$$=[];} + | classDefStatement separator + {$$=[];} + | classStatement separator + {$$=[];} + | clickStatement separator + {$$=[];} + | subgraph text separator document end + {$$=yy.addSubGraph($4,$2);} + | subgraph separator document end + {$$=yy.addSubGraph($3,undefined);} + ; + +separator: NEWLINE | SEMI | EOF ; + +verticeStatement: + vertex link vertex + { yy.addLink($1,$3,$2);$$ = [$1,$3];} + | vertex + {$$ = [$1];} + ; + +vertex: alphaNum SQS text SQE + {$$ = $1;yy.addVertex($1,$3,'square');} + | alphaNum SQS text SQE spaceList + {$$ = $1;yy.addVertex($1,$3,'square');} + | alphaNum PS PS text PE PE + {$$ = $1;yy.addVertex($1,$4,'circle');} + | alphaNum PS PS text PE PE spaceList + {$$ = $1;yy.addVertex($1,$4,'circle');} + | alphaNum '(-' text '-)' + {$$ = $1;yy.addVertex($1,$3,'ellipse');} + | alphaNum '(-' text '-)' spaceList + {$$ = $1;yy.addVertex($1,$3,'ellipse');} + | alphaNum PS text PE + {$$ = $1;yy.addVertex($1,$3,'round');} + | alphaNum PS text PE spaceList + {$$ = $1;yy.addVertex($1,$3,'round');} + | alphaNum DIAMOND_START text DIAMOND_STOP + {$$ = $1;yy.addVertex($1,$3,'diamond');} + | alphaNum DIAMOND_START text DIAMOND_STOP spaceList + {$$ = $1;yy.addVertex($1,$3,'diamond');} + | alphaNum TAGEND text SQE + {$$ = $1;yy.addVertex($1,$3,'odd');} + | alphaNum TAGEND text SQE spaceList + {$$ = $1;yy.addVertex($1,$3,'odd');} +/* | alphaNum SQS text TAGSTART + {$$ = $1;yy.addVertex($1,$3,'odd_right');} + | alphaNum SQS text TAGSTART spaceList + {$$ = $1;yy.addVertex($1,$3,'odd_right');} */ + | alphaNum + {$$ = $1;yy.addVertex($1);} + | alphaNum spaceList + {$$ = $1;yy.addVertex($1);} + ; + +alphaNum + : alphaNumStatement + {$$=$1;} + | alphaNum alphaNumStatement + {$$=$1+''+$2;} + ; + +alphaNumStatement + : DIR + {$$=$1;} + | alphaNumToken + {$$=$1;} + | DOWN + {$$='v';} + | MINUS + {$$='-';} + ; + +link: linkStatement arrowText + {$1.text = $2;$$ = $1;} + | linkStatement TESTSTR SPACE + {$1.text = $2;$$ = $1;} + | linkStatement arrowText SPACE + {$1.text = $2;$$ = $1;} + | linkStatement + {$$ = $1;} + | '--' text ARROW_POINT + {$$ = {"type":"arrow","stroke":"normal","text":$2};} + | '--' text ARROW_CIRCLE + {$$ = {"type":"arrow_circle","stroke":"normal","text":$2};} + | '--' text ARROW_CROSS + {$$ = {"type":"arrow_cross","stroke":"normal","text":$2};} + | '--' text ARROW_OPEN + {$$ = {"type":"arrow_open","stroke":"normal","text":$2};} + | '-.' text DOTTED_ARROW_POINT + {$$ = {"type":"arrow","stroke":"dotted","text":$2};} + | '-.' text DOTTED_ARROW_CIRCLE + {$$ = {"type":"arrow_circle","stroke":"dotted","text":$2};} + | '-.' text DOTTED_ARROW_CROSS + {$$ = {"type":"arrow_cross","stroke":"dotted","text":$2};} + | '-.' text DOTTED_ARROW_OPEN + {$$ = {"type":"arrow_open","stroke":"dotted","text":$2};} + | '==' text THICK_ARROW_POINT + {$$ = {"type":"arrow","stroke":"thick","text":$2};} + | '==' text THICK_ARROW_CIRCLE + {$$ = {"type":"arrow_circle","stroke":"thick","text":$2};} + | '==' text THICK_ARROW_CROSS + {$$ = {"type":"arrow_cross","stroke":"thick","text":$2};} + | '==' text THICK_ARROW_OPEN + {$$ = {"type":"arrow_open","stroke":"thick","text":$2};} + ; + +linkStatement: ARROW_POINT + {$$ = {"type":"arrow","stroke":"normal"};} + | ARROW_CIRCLE + {$$ = {"type":"arrow_circle","stroke":"normal"};} + | ARROW_CROSS + {$$ = {"type":"arrow_cross","stroke":"normal"};} + | ARROW_OPEN + {$$ = {"type":"arrow_open","stroke":"normal"};} + | DOTTED_ARROW_POINT + {$$ = {"type":"arrow","stroke":"dotted"};} + | DOTTED_ARROW_CIRCLE + {$$ = {"type":"arrow_circle","stroke":"dotted"};} + | DOTTED_ARROW_CROSS + {$$ = {"type":"arrow_cross","stroke":"dotted"};} + | DOTTED_ARROW_OPEN + {$$ = {"type":"arrow_open","stroke":"dotted"};} + | THICK_ARROW_POINT + {$$ = {"type":"arrow","stroke":"thick"};} + | THICK_ARROW_CIRCLE + {$$ = {"type":"arrow_circle","stroke":"thick"};} + | THICK_ARROW_CROSS + {$$ = {"type":"arrow_cross","stroke":"thick"};} + | THICK_ARROW_OPEN + {$$ = {"type":"arrow_open","stroke":"thick"};} + ; + +arrowText: + PIPE text PIPE + {$$ = $2;} + ; + +text: textToken + {$$=$1;} + | text textToken + {$$=$1+''+$2;} + | STR + {$$=$1;} + ; + + + +commentText: commentToken + {$$=$1;} + | commentText commentToken + {$$=$1+''+$2;} + ; + + +keywords + : STYLE | LINKSTYLE | CLASSDEF | CLASS | CLICK | GRAPH | DIR | subgraph | end | DOWN | UP; + + +textNoTags: textNoTagsToken + {$$=$1;} + | textNoTags textNoTagsToken + {$$=$1+''+$2;} + ; + + +classDefStatement:CLASSDEF SPACE DEFAULT SPACE stylesOpt + {$$ = $1;yy.addClass($3,$5);} + | CLASSDEF SPACE alphaNum SPACE stylesOpt + {$$ = $1;yy.addClass($3,$5);} + ; + +classStatement:CLASS SPACE alphaNum SPACE alphaNum + {$$ = $1;yy.setClass($3, $5);} + ; + +clickStatement + : CLICK SPACE alphaNum SPACE alphaNum {$$ = $1;yy.setClickEvent($3, $5, undefined, undefined);} + | CLICK SPACE alphaNum SPACE alphaNum SPACE STR {$$ = $1;yy.setClickEvent($3, $5, undefined, $7) ;} + | CLICK SPACE alphaNum SPACE STR {$$ = $1;yy.setClickEvent($3, undefined, $5, undefined);} + | CLICK SPACE alphaNum SPACE STR SPACE STR {$$ = $1;yy.setClickEvent($3, undefined, $5, $7 );} + ; + +styleStatement:STYLE SPACE alphaNum SPACE stylesOpt + {$$ = $1;yy.addVertex($3,undefined,undefined,$5);} + | STYLE SPACE HEX SPACE stylesOpt + {$$ = $1;yy.updateLink($3,$5);} + ; + +linkStyleStatement + : LINKSTYLE SPACE DEFAULT SPACE stylesOpt + {$$ = $1;yy.updateLink($3,$5);} + | LINKSTYLE SPACE NUM SPACE stylesOpt + {$$ = $1;yy.updateLink($3,$5);} + | LINKSTYLE SPACE DEFAULT SPACE INTERPOLATE SPACE alphaNum SPACE stylesOpt + {$$ = $1;yy.updateLinkInterpolate($3,$7);yy.updateLink($3,$9);} + | LINKSTYLE SPACE NUM SPACE INTERPOLATE SPACE alphaNum SPACE stylesOpt + {$$ = $1;yy.updateLinkInterpolate($3,$7);yy.updateLink($3,$9);} + | LINKSTYLE SPACE DEFAULT SPACE INTERPOLATE SPACE alphaNum + {$$ = $1;yy.updateLinkInterpolate($3,$7);} + | LINKSTYLE SPACE NUM SPACE INTERPOLATE SPACE alphaNum + {$$ = $1;yy.updateLinkInterpolate($3,$7);} + ; + +commentStatement: PCT PCT commentText; + +stylesOpt: style + {$$ = [$1]} + | stylesOpt COMMA style + {$1.push($3);$$ = $1;} + ; + +style: styleComponent + |style styleComponent + {$$ = $1 + $2;} + ; + +styleComponent: ALPHA | COLON | MINUS | NUM | UNIT | SPACE | HEX | BRKT | DOT | STYLE | PCT ; + +/* Token lists */ + +commentToken : textToken | graphCodeTokens ; + +textToken : textNoTagsToken | TAGSTART | TAGEND | '==' | '--' | PCT | DEFAULT; + +textNoTagsToken: alphaNumToken | SPACE | MINUS | keywords ; + +alphaNumToken : ALPHA | PUNCTUATION | UNICODE_TEXT | NUM | COLON | COMMA | PLUS | EQUALS | MULT | DOT | BRKT ; + +graphCodeTokens: PIPE | PS | PE | SQS | SQE | DIAMOND_START | DIAMOND_STOP | TAG_START | TAG_END | ARROW_CROSS | ARROW_POINT | ARROW_CIRCLE | ARROW_OPEN | QUOTE | SEMI ; +%% diff --git a/_submodules/mermaid/src/diagrams/flowchart/parser/flow.js b/_submodules/mermaid/src/diagrams/flowchart/parser/flow.js new file mode 100644 index 0000000000000000000000000000000000000000..f45c6fd71d64f1a4567f1f0c4ffd65c44331166f --- /dev/null +++ b/_submodules/mermaid/src/diagrams/flowchart/parser/flow.js @@ -0,0 +1,961 @@ +/* parser generated by jison 0.4.18 */ +/* + Returns a Parser object of the following structure: + + Parser: { + yy: {} + } + + Parser.prototype: { + yy: {}, + trace: function(), + symbols_: {associative list: name ==> number}, + terminals_: {associative list: number ==> name}, + productions_: [...], + performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$), + table: [...], + defaultActions: {...}, + parseError: function(str, hash), + parse: function(input), + + lexer: { + EOF: 1, + parseError: function(str, hash), + setInput: function(input), + input: function(), + unput: function(str), + more: function(), + less: function(n), + pastInput: function(), + upcomingInput: function(), + showPosition: function(), + test_match: function(regex_match_array, rule_index), + next: function(), + lex: function(), + begin: function(condition), + popState: function(), + _currentRules: function(), + topState: function(), + pushState: function(condition), + + options: { + ranges: boolean (optional: true ==> token location info will include a .range[] member) + flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match) + backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code) + }, + + performAction: function(yy, yy_, $avoiding_name_collisions, YY_START), + rules: [...], + conditions: {associative list: name ==> set}, + } + } + + + token location info (@$, _$, etc.): { + first_line: n, + last_line: n, + first_column: n, + last_column: n, + range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based) + } + + + the parseError function receives a 'hash' object with these members for lexer and parser errors: { + text: (matched text) + token: (the produced terminal token, if any) + line: (yylineno) + } + while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: { + loc: (yylloc) + expected: (string describing the set of expected tokens) + recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error) + } +*/ +var parser = (function(){ +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,4],$V1=[1,3],$V2=[1,5],$V3=[1,8,9,10,11,13,18,30,46,71,72,73,74,75,81,86,88,89,91,92,94,95,96,97,98],$V4=[2,2],$V5=[1,12],$V6=[1,13],$V7=[1,14],$V8=[1,15],$V9=[1,31],$Va=[1,33],$Vb=[1,22],$Vc=[1,34],$Vd=[1,24],$Ve=[1,25],$Vf=[1,26],$Vg=[1,27],$Vh=[1,28],$Vi=[1,38],$Vj=[1,40],$Vk=[1,35],$Vl=[1,39],$Vm=[1,45],$Vn=[1,44],$Vo=[1,36],$Vp=[1,37],$Vq=[1,41],$Vr=[1,42],$Vs=[1,43],$Vt=[1,8,9,10,11,13,18,30,32,46,71,72,73,74,75,81,86,88,89,91,92,94,95,96,97,98],$Vu=[1,53],$Vv=[1,52],$Vw=[1,54],$Vx=[1,72],$Vy=[1,80],$Vz=[1,81],$VA=[1,66],$VB=[1,65],$VC=[1,85],$VD=[1,84],$VE=[1,82],$VF=[1,83],$VG=[1,73],$VH=[1,68],$VI=[1,67],$VJ=[1,63],$VK=[1,75],$VL=[1,76],$VM=[1,77],$VN=[1,78],$VO=[1,79],$VP=[1,70],$VQ=[1,69],$VR=[8,9,11],$VS=[8,9,11,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64],$VT=[1,115],$VU=[8,9,10,11,13,15,18,36,38,40,42,46,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,86,88,89,91,92,94,95,96,97,98],$VV=[8,9,10,11,12,13,15,16,17,18,30,32,36,37,38,39,40,41,42,43,46,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,71,72,73,74,75,78,81,84,86,88,89,91,92,94,95,96,97,98],$VW=[1,117],$VX=[1,118],$VY=[8,9,10,11,13,18,30,32,46,71,72,73,74,75,81,86,88,89,91,92,94,95,96,97,98],$VZ=[8,9,10,11,12,13,15,16,17,18,30,32,37,39,41,43,46,50,51,52,53,54,56,57,58,59,60,61,62,63,64,65,71,72,73,74,75,78,81,84,86,88,89,91,92,94,95,96,97,98],$V_=[13,18,46,81,86,88,89,91,92,94,95,96,97,98],$V$=[13,18,46,49,65,81,86,88,89,91,92,94,95,96,97,98],$V01=[1,191],$V11=[1,188],$V21=[1,195],$V31=[1,192],$V41=[1,189],$V51=[1,196],$V61=[1,186],$V71=[1,187],$V81=[1,190],$V91=[1,193],$Va1=[1,194],$Vb1=[1,213],$Vc1=[8,9,11,86],$Vd1=[8,9,10,11,46,71,80,81,84,86,88,89,90,91,92]; +var parser = {trace: function trace() { }, +yy: {}, +symbols_: {"error":2,"mermaidDoc":3,"graphConfig":4,"document":5,"line":6,"statement":7,"SEMI":8,"NEWLINE":9,"SPACE":10,"EOF":11,"GRAPH":12,"DIR":13,"FirstStmtSeperator":14,"TAGEND":15,"TAGSTART":16,"UP":17,"DOWN":18,"ending":19,"endToken":20,"spaceList":21,"spaceListNewline":22,"verticeStatement":23,"separator":24,"styleStatement":25,"linkStyleStatement":26,"classDefStatement":27,"classStatement":28,"clickStatement":29,"subgraph":30,"text":31,"end":32,"vertex":33,"link":34,"alphaNum":35,"SQS":36,"SQE":37,"PS":38,"PE":39,"(-":40,"-)":41,"DIAMOND_START":42,"DIAMOND_STOP":43,"alphaNumStatement":44,"alphaNumToken":45,"MINUS":46,"linkStatement":47,"arrowText":48,"TESTSTR":49,"--":50,"ARROW_POINT":51,"ARROW_CIRCLE":52,"ARROW_CROSS":53,"ARROW_OPEN":54,"-.":55,"DOTTED_ARROW_POINT":56,"DOTTED_ARROW_CIRCLE":57,"DOTTED_ARROW_CROSS":58,"DOTTED_ARROW_OPEN":59,"==":60,"THICK_ARROW_POINT":61,"THICK_ARROW_CIRCLE":62,"THICK_ARROW_CROSS":63,"THICK_ARROW_OPEN":64,"PIPE":65,"textToken":66,"STR":67,"commentText":68,"commentToken":69,"keywords":70,"STYLE":71,"LINKSTYLE":72,"CLASSDEF":73,"CLASS":74,"CLICK":75,"textNoTags":76,"textNoTagsToken":77,"DEFAULT":78,"stylesOpt":79,"HEX":80,"NUM":81,"INTERPOLATE":82,"commentStatement":83,"PCT":84,"style":85,"COMMA":86,"styleComponent":87,"ALPHA":88,"COLON":89,"UNIT":90,"BRKT":91,"DOT":92,"graphCodeTokens":93,"PUNCTUATION":94,"UNICODE_TEXT":95,"PLUS":96,"EQUALS":97,"MULT":98,"TAG_START":99,"TAG_END":100,"QUOTE":101,"$accept":0,"$end":1}, +terminals_: {2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"DIR",15:"TAGEND",16:"TAGSTART",17:"UP",18:"DOWN",30:"subgraph",32:"end",36:"SQS",37:"SQE",38:"PS",39:"PE",40:"(-",41:"-)",42:"DIAMOND_START",43:"DIAMOND_STOP",46:"MINUS",49:"TESTSTR",50:"--",51:"ARROW_POINT",52:"ARROW_CIRCLE",53:"ARROW_CROSS",54:"ARROW_OPEN",55:"-.",56:"DOTTED_ARROW_POINT",57:"DOTTED_ARROW_CIRCLE",58:"DOTTED_ARROW_CROSS",59:"DOTTED_ARROW_OPEN",60:"==",61:"THICK_ARROW_POINT",62:"THICK_ARROW_CIRCLE",63:"THICK_ARROW_CROSS",64:"THICK_ARROW_OPEN",65:"PIPE",67:"STR",71:"STYLE",72:"LINKSTYLE",73:"CLASSDEF",74:"CLASS",75:"CLICK",78:"DEFAULT",80:"HEX",81:"NUM",82:"INTERPOLATE",84:"PCT",86:"COMMA",88:"ALPHA",89:"COLON",90:"UNIT",91:"BRKT",92:"DOT",94:"PUNCTUATION",95:"UNICODE_TEXT",96:"PLUS",97:"EQUALS",98:"MULT",99:"TAG_START",100:"TAG_END",101:"QUOTE"}, +productions_: [0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,4],[4,4],[4,4],[4,4],[4,4],[19,2],[19,1],[20,1],[20,1],[20,1],[14,1],[14,1],[14,2],[22,2],[22,2],[22,1],[22,1],[21,2],[21,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,5],[7,4],[24,1],[24,1],[24,1],[23,3],[23,1],[33,4],[33,5],[33,6],[33,7],[33,4],[33,5],[33,4],[33,5],[33,4],[33,5],[33,4],[33,5],[33,1],[33,2],[35,1],[35,2],[44,1],[44,1],[44,1],[44,1],[34,2],[34,3],[34,3],[34,1],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[34,3],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[48,3],[31,1],[31,2],[31,1],[68,1],[68,2],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[76,1],[76,2],[27,5],[27,5],[28,5],[29,5],[29,7],[29,5],[29,7],[25,5],[25,5],[26,5],[26,5],[26,9],[26,9],[26,7],[26,7],[83,3],[79,1],[79,3],[85,1],[85,2],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[69,1],[69,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[77,1],[77,1],[77,1],[77,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1],[93,1]], +performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { +/* this == yyval */ + +var $0 = $$.length - 1; +switch (yystate) { +case 2: + this.$ = []; +break; +case 3: + + if($$[$0] !== []){ + $$[$0-1].push($$[$0]); + } + this.$=$$[$0-1]; +break; +case 4: case 57: case 59: case 60: case 92: case 94: case 95: case 108: +this.$=$$[$0]; +break; +case 11: + yy.setDirection($$[$0-1]);this.$ = $$[$0-1]; +break; +case 12: + yy.setDirection("LR");this.$ = $$[$0-1]; +break; +case 13: + yy.setDirection("RL");this.$ = $$[$0-1]; +break; +case 14: + yy.setDirection("BT");this.$ = $$[$0-1]; +break; +case 15: + yy.setDirection("TB");this.$ = $$[$0-1]; +break; +case 30: +this.$=$$[$0-1] +break; +case 31: case 32: case 33: case 34: case 35: +this.$=[]; +break; +case 36: +this.$=yy.addSubGraph($$[$0-1],$$[$0-3]); +break; +case 37: +this.$=yy.addSubGraph($$[$0-1],undefined); +break; +case 41: + yy.addLink($$[$0-2],$$[$0],$$[$0-1]);this.$ = [$$[$0-2],$$[$0]]; +break; +case 42: +this.$ = [$$[$0]]; +break; +case 43: +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'square'); +break; +case 44: +this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'square'); +break; +case 45: +this.$ = $$[$0-5];yy.addVertex($$[$0-5],$$[$0-2],'circle'); +break; +case 46: +this.$ = $$[$0-6];yy.addVertex($$[$0-6],$$[$0-3],'circle'); +break; +case 47: +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'ellipse'); +break; +case 48: +this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'ellipse'); +break; +case 49: +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'round'); +break; +case 50: +this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'round'); +break; +case 51: +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'diamond'); +break; +case 52: +this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'diamond'); +break; +case 53: +this.$ = $$[$0-3];yy.addVertex($$[$0-3],$$[$0-1],'odd'); +break; +case 54: +this.$ = $$[$0-4];yy.addVertex($$[$0-4],$$[$0-2],'odd'); +break; +case 55: +this.$ = $$[$0];yy.addVertex($$[$0]); +break; +case 56: +this.$ = $$[$0-1];yy.addVertex($$[$0-1]); +break; +case 58: case 93: case 96: case 109: +this.$=$$[$0-1]+''+$$[$0]; +break; +case 61: +this.$='v'; +break; +case 62: +this.$='-'; +break; +case 63: +$$[$0-1].text = $$[$0];this.$ = $$[$0-1]; +break; +case 64: case 65: +$$[$0-2].text = $$[$0-1];this.$ = $$[$0-2]; +break; +case 66: +this.$ = $$[$0]; +break; +case 67: +this.$ = {"type":"arrow","stroke":"normal","text":$$[$0-1]}; +break; +case 68: +this.$ = {"type":"arrow_circle","stroke":"normal","text":$$[$0-1]}; +break; +case 69: +this.$ = {"type":"arrow_cross","stroke":"normal","text":$$[$0-1]}; +break; +case 70: +this.$ = {"type":"arrow_open","stroke":"normal","text":$$[$0-1]}; +break; +case 71: +this.$ = {"type":"arrow","stroke":"dotted","text":$$[$0-1]}; +break; +case 72: +this.$ = {"type":"arrow_circle","stroke":"dotted","text":$$[$0-1]}; +break; +case 73: +this.$ = {"type":"arrow_cross","stroke":"dotted","text":$$[$0-1]}; +break; +case 74: +this.$ = {"type":"arrow_open","stroke":"dotted","text":$$[$0-1]}; +break; +case 75: +this.$ = {"type":"arrow","stroke":"thick","text":$$[$0-1]}; +break; +case 76: +this.$ = {"type":"arrow_circle","stroke":"thick","text":$$[$0-1]}; +break; +case 77: +this.$ = {"type":"arrow_cross","stroke":"thick","text":$$[$0-1]}; +break; +case 78: +this.$ = {"type":"arrow_open","stroke":"thick","text":$$[$0-1]}; +break; +case 79: +this.$ = {"type":"arrow","stroke":"normal"}; +break; +case 80: +this.$ = {"type":"arrow_circle","stroke":"normal"}; +break; +case 81: +this.$ = {"type":"arrow_cross","stroke":"normal"}; +break; +case 82: +this.$ = {"type":"arrow_open","stroke":"normal"}; +break; +case 83: +this.$ = {"type":"arrow","stroke":"dotted"}; +break; +case 84: +this.$ = {"type":"arrow_circle","stroke":"dotted"}; +break; +case 85: +this.$ = {"type":"arrow_cross","stroke":"dotted"}; +break; +case 86: +this.$ = {"type":"arrow_open","stroke":"dotted"}; +break; +case 87: +this.$ = {"type":"arrow","stroke":"thick"}; +break; +case 88: +this.$ = {"type":"arrow_circle","stroke":"thick"}; +break; +case 89: +this.$ = {"type":"arrow_cross","stroke":"thick"}; +break; +case 90: +this.$ = {"type":"arrow_open","stroke":"thick"}; +break; +case 91: +this.$ = $$[$0-1]; +break; +case 110: case 111: +this.$ = $$[$0-4];yy.addClass($$[$0-2],$$[$0]); +break; +case 112: +this.$ = $$[$0-4];yy.setClass($$[$0-2], $$[$0]); +break; +case 113: +this.$ = $$[$0-4];yy.setClickEvent($$[$0-2], $$[$0], undefined, undefined); +break; +case 114: +this.$ = $$[$0-6];yy.setClickEvent($$[$0-4], $$[$0-2], undefined, $$[$0]) ; +break; +case 115: +this.$ = $$[$0-4];yy.setClickEvent($$[$0-2], undefined, $$[$0], undefined); +break; +case 116: +this.$ = $$[$0-6];yy.setClickEvent($$[$0-4], undefined, $$[$0-2], $$[$0] ); +break; +case 117: +this.$ = $$[$0-4];yy.addVertex($$[$0-2],undefined,undefined,$$[$0]); +break; +case 118: case 119: case 120: +this.$ = $$[$0-4];yy.updateLink($$[$0-2],$$[$0]); +break; +case 121: case 122: +this.$ = $$[$0-8];yy.updateLinkInterpolate($$[$0-6],$$[$0-2]);yy.updateLink($$[$0-6],$$[$0]); +break; +case 123: case 124: +this.$ = $$[$0-6];yy.updateLinkInterpolate($$[$0-4],$$[$0]); +break; +case 126: +this.$ = [$$[$0]] +break; +case 127: +$$[$0-2].push($$[$0]);this.$ = $$[$0-2]; +break; +case 129: +this.$ = $$[$0-1] + $$[$0]; +break; +} +}, +table: [{3:1,4:2,9:$V0,10:$V1,12:$V2},{1:[3]},o($V3,$V4,{5:6}),{4:7,9:$V0,10:$V1,12:$V2},{4:8,9:$V0,10:$V1,12:$V2},{10:[1,9]},{1:[2,1],6:10,7:11,8:$V5,9:$V6,10:$V7,11:$V8,13:$V9,18:$Va,23:16,25:17,26:18,27:19,28:20,29:21,30:$Vb,33:23,35:29,44:30,45:32,46:$Vc,71:$Vd,72:$Ve,73:$Vf,74:$Vg,75:$Vh,81:$Vi,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs},o($V3,[2,9]),o($V3,[2,10]),{13:[1,46],15:[1,47],16:[1,48],17:[1,49],18:[1,50]},o($Vt,[2,3]),o($Vt,[2,4]),o($Vt,[2,5]),o($Vt,[2,6]),o($Vt,[2,7]),o($Vt,[2,8]),{8:$Vu,9:$Vv,11:$Vw,24:51},{8:$Vu,9:$Vv,11:$Vw,24:55},{8:$Vu,9:$Vv,11:$Vw,24:56},{8:$Vu,9:$Vv,11:$Vw,24:57},{8:$Vu,9:$Vv,11:$Vw,24:58},{8:$Vu,9:$Vv,11:$Vw,24:59},{8:$Vu,9:$Vv,10:$Vx,11:$Vw,12:$Vy,13:$Vz,15:$VA,16:$VB,17:$VC,18:$VD,24:61,30:$VE,31:60,32:$VF,45:71,46:$VG,50:$VH,60:$VI,66:62,67:$VJ,70:74,71:$VK,72:$VL,73:$VM,74:$VN,75:$VO,77:64,78:$VP,81:$Vi,84:$VQ,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs},o($VR,[2,42],{34:86,47:87,50:[1,88],51:[1,91],52:[1,92],53:[1,93],54:[1,94],55:[1,89],56:[1,95],57:[1,96],58:[1,97],59:[1,98],60:[1,90],61:[1,99],62:[1,100],63:[1,101],64:[1,102]}),{10:[1,103]},{10:[1,104]},{10:[1,105]},{10:[1,106]},{10:[1,107]},o($VS,[2,55],{45:32,21:113,44:114,10:$VT,13:$V9,15:[1,112],18:$Va,36:[1,108],38:[1,109],40:[1,110],42:[1,111],46:$Vc,81:$Vi,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs}),o($VU,[2,57]),o($VU,[2,59]),o($VU,[2,60]),o($VU,[2,61]),o($VU,[2,62]),o($VV,[2,154]),o($VV,[2,155]),o($VV,[2,156]),o($VV,[2,157]),o($VV,[2,158]),o($VV,[2,159]),o($VV,[2,160]),o($VV,[2,161]),o($VV,[2,162]),o($VV,[2,163]),o($VV,[2,164]),{8:$VW,9:$VX,10:$VT,14:116,21:119},{8:$VW,9:$VX,10:$VT,14:120,21:119},{8:$VW,9:$VX,10:$VT,14:121,21:119},{8:$VW,9:$VX,10:$VT,14:122,21:119},{8:$VW,9:$VX,10:$VT,14:123,21:119},o($Vt,[2,30]),o($Vt,[2,38]),o($Vt,[2,39]),o($Vt,[2,40]),o($Vt,[2,31]),o($Vt,[2,32]),o($Vt,[2,33]),o($Vt,[2,34]),o($Vt,[2,35]),{8:$Vu,9:$Vv,10:$Vx,11:$Vw,12:$Vy,13:$Vz,15:$VA,16:$VB,17:$VC,18:$VD,24:124,30:$VE,32:$VF,45:71,46:$VG,50:$VH,60:$VI,66:125,70:74,71:$VK,72:$VL,73:$VM,74:$VN,75:$VO,77:64,78:$VP,81:$Vi,84:$VQ,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs},o($VY,$V4,{5:126}),o($VZ,[2,92]),o($VZ,[2,94]),o($VZ,[2,143]),o($VZ,[2,144]),o($VZ,[2,145]),o($VZ,[2,146]),o($VZ,[2,147]),o($VZ,[2,148]),o($VZ,[2,149]),o($VZ,[2,150]),o($VZ,[2,151]),o($VZ,[2,152]),o($VZ,[2,153]),o($VZ,[2,97]),o($VZ,[2,98]),o($VZ,[2,99]),o($VZ,[2,100]),o($VZ,[2,101]),o($VZ,[2,102]),o($VZ,[2,103]),o($VZ,[2,104]),o($VZ,[2,105]),o($VZ,[2,106]),o($VZ,[2,107]),{13:$V9,18:$Va,33:127,35:29,44:30,45:32,46:$Vc,81:$Vi,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs},o($V_,[2,66],{48:128,49:[1,129],65:[1,130]}),{10:$Vx,12:$Vy,13:$Vz,15:$VA,16:$VB,17:$VC,18:$VD,30:$VE,31:131,32:$VF,45:71,46:$VG,50:$VH,60:$VI,66:62,67:$VJ,70:74,71:$VK,72:$VL,73:$VM,74:$VN,75:$VO,77:64,78:$VP,81:$Vi,84:$VQ,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs},{10:$Vx,12:$Vy,13:$Vz,15:$VA,16:$VB,17:$VC,18:$VD,30:$VE,31:132,32:$VF,45:71,46:$VG,50:$VH,60:$VI,66:62,67:$VJ,70:74,71:$VK,72:$VL,73:$VM,74:$VN,75:$VO,77:64,78:$VP,81:$Vi,84:$VQ,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs},{10:$Vx,12:$Vy,13:$Vz,15:$VA,16:$VB,17:$VC,18:$VD,30:$VE,31:133,32:$VF,45:71,46:$VG,50:$VH,60:$VI,66:62,67:$VJ,70:74,71:$VK,72:$VL,73:$VM,74:$VN,75:$VO,77:64,78:$VP,81:$Vi,84:$VQ,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs},o($V$,[2,79]),o($V$,[2,80]),o($V$,[2,81]),o($V$,[2,82]),o($V$,[2,83]),o($V$,[2,84]),o($V$,[2,85]),o($V$,[2,86]),o($V$,[2,87]),o($V$,[2,88]),o($V$,[2,89]),o($V$,[2,90]),{13:$V9,18:$Va,35:134,44:30,45:32,46:$Vc,80:[1,135],81:$Vi,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs},{78:[1,136],81:[1,137]},{13:$V9,18:$Va,35:139,44:30,45:32,46:$Vc,78:[1,138],81:$Vi,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs},{13:$V9,18:$Va,35:140,44:30,45:32,46:$Vc,81:$Vi,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs},{13:$V9,18:$Va,35:141,44:30,45:32,46:$Vc,81:$Vi,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs},{10:$Vx,12:$Vy,13:$Vz,15:$VA,16:$VB,17:$VC,18:$VD,30:$VE,31:142,32:$VF,45:71,46:$VG,50:$VH,60:$VI,66:62,67:$VJ,70:74,71:$VK,72:$VL,73:$VM,74:$VN,75:$VO,77:64,78:$VP,81:$Vi,84:$VQ,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs},{10:$Vx,12:$Vy,13:$Vz,15:$VA,16:$VB,17:$VC,18:$VD,30:$VE,31:144,32:$VF,38:[1,143],45:71,46:$VG,50:$VH,60:$VI,66:62,67:$VJ,70:74,71:$VK,72:$VL,73:$VM,74:$VN,75:$VO,77:64,78:$VP,81:$Vi,84:$VQ,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs},{10:$Vx,12:$Vy,13:$Vz,15:$VA,16:$VB,17:$VC,18:$VD,30:$VE,31:145,32:$VF,45:71,46:$VG,50:$VH,60:$VI,66:62,67:$VJ,70:74,71:$VK,72:$VL,73:$VM,74:$VN,75:$VO,77:64,78:$VP,81:$Vi,84:$VQ,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs},{10:$Vx,12:$Vy,13:$Vz,15:$VA,16:$VB,17:$VC,18:$VD,30:$VE,31:146,32:$VF,45:71,46:$VG,50:$VH,60:$VI,66:62,67:$VJ,70:74,71:$VK,72:$VL,73:$VM,74:$VN,75:$VO,77:64,78:$VP,81:$Vi,84:$VQ,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs},{10:$Vx,12:$Vy,13:$Vz,15:$VA,16:$VB,17:$VC,18:$VD,30:$VE,31:147,32:$VF,45:71,46:$VG,50:$VH,60:$VI,66:62,67:$VJ,70:74,71:$VK,72:$VL,73:$VM,74:$VN,75:$VO,77:64,78:$VP,81:$Vi,84:$VQ,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs},o($VS,[2,56]),o($VU,[2,58]),o($VS,[2,29],{21:148,10:$VT}),o($V3,[2,11]),o($V3,[2,21]),o($V3,[2,22]),{9:[1,149]},o($V3,[2,12]),o($V3,[2,13]),o($V3,[2,14]),o($V3,[2,15]),o($VY,$V4,{5:150}),o($VZ,[2,93]),{6:10,7:11,8:$V5,9:$V6,10:$V7,11:$V8,13:$V9,18:$Va,23:16,25:17,26:18,27:19,28:20,29:21,30:$Vb,32:[1,151],33:23,35:29,44:30,45:32,46:$Vc,71:$Vd,72:$Ve,73:$Vf,74:$Vg,75:$Vh,81:$Vi,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs},o($VR,[2,41]),o($V_,[2,63],{10:[1,152]}),{10:[1,153]},{10:$Vx,12:$Vy,13:$Vz,15:$VA,16:$VB,17:$VC,18:$VD,30:$VE,31:154,32:$VF,45:71,46:$VG,50:$VH,60:$VI,66:62,67:$VJ,70:74,71:$VK,72:$VL,73:$VM,74:$VN,75:$VO,77:64,78:$VP,81:$Vi,84:$VQ,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs},{10:$Vx,12:$Vy,13:$Vz,15:$VA,16:$VB,17:$VC,18:$VD,30:$VE,32:$VF,45:71,46:$VG,50:$VH,51:[1,155],52:[1,156],53:[1,157],54:[1,158],60:$VI,66:125,70:74,71:$VK,72:$VL,73:$VM,74:$VN,75:$VO,77:64,78:$VP,81:$Vi,84:$VQ,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs},{10:$Vx,12:$Vy,13:$Vz,15:$VA,16:$VB,17:$VC,18:$VD,30:$VE,32:$VF,45:71,46:$VG,50:$VH,56:[1,159],57:[1,160],58:[1,161],59:[1,162],60:$VI,66:125,70:74,71:$VK,72:$VL,73:$VM,74:$VN,75:$VO,77:64,78:$VP,81:$Vi,84:$VQ,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs},{10:$Vx,12:$Vy,13:$Vz,15:$VA,16:$VB,17:$VC,18:$VD,30:$VE,32:$VF,45:71,46:$VG,50:$VH,60:$VI,61:[1,163],62:[1,164],63:[1,165],64:[1,166],66:125,70:74,71:$VK,72:$VL,73:$VM,74:$VN,75:$VO,77:64,78:$VP,81:$Vi,84:$VQ,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs},{10:[1,167],13:$V9,18:$Va,44:114,45:32,46:$Vc,81:$Vi,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs},{10:[1,168]},{10:[1,169]},{10:[1,170]},{10:[1,171]},{10:[1,172],13:$V9,18:$Va,44:114,45:32,46:$Vc,81:$Vi,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs},{10:[1,173],13:$V9,18:$Va,44:114,45:32,46:$Vc,81:$Vi,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs},{10:[1,174],13:$V9,18:$Va,44:114,45:32,46:$Vc,81:$Vi,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs},{10:$Vx,12:$Vy,13:$Vz,15:$VA,16:$VB,17:$VC,18:$VD,30:$VE,32:$VF,37:[1,175],45:71,46:$VG,50:$VH,60:$VI,66:125,70:74,71:$VK,72:$VL,73:$VM,74:$VN,75:$VO,77:64,78:$VP,81:$Vi,84:$VQ,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs},{10:$Vx,12:$Vy,13:$Vz,15:$VA,16:$VB,17:$VC,18:$VD,30:$VE,31:176,32:$VF,45:71,46:$VG,50:$VH,60:$VI,66:62,67:$VJ,70:74,71:$VK,72:$VL,73:$VM,74:$VN,75:$VO,77:64,78:$VP,81:$Vi,84:$VQ,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs},{10:$Vx,12:$Vy,13:$Vz,15:$VA,16:$VB,17:$VC,18:$VD,30:$VE,32:$VF,39:[1,177],45:71,46:$VG,50:$VH,60:$VI,66:125,70:74,71:$VK,72:$VL,73:$VM,74:$VN,75:$VO,77:64,78:$VP,81:$Vi,84:$VQ,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs},{10:$Vx,12:$Vy,13:$Vz,15:$VA,16:$VB,17:$VC,18:$VD,30:$VE,32:$VF,41:[1,178],45:71,46:$VG,50:$VH,60:$VI,66:125,70:74,71:$VK,72:$VL,73:$VM,74:$VN,75:$VO,77:64,78:$VP,81:$Vi,84:$VQ,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs},{10:$Vx,12:$Vy,13:$Vz,15:$VA,16:$VB,17:$VC,18:$VD,30:$VE,32:$VF,43:[1,179],45:71,46:$VG,50:$VH,60:$VI,66:125,70:74,71:$VK,72:$VL,73:$VM,74:$VN,75:$VO,77:64,78:$VP,81:$Vi,84:$VQ,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs},{10:$Vx,12:$Vy,13:$Vz,15:$VA,16:$VB,17:$VC,18:$VD,30:$VE,32:$VF,37:[1,180],45:71,46:$VG,50:$VH,60:$VI,66:125,70:74,71:$VK,72:$VL,73:$VM,74:$VN,75:$VO,77:64,78:$VP,81:$Vi,84:$VQ,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs},o($VS,[2,28]),o($V3,[2,23]),{6:10,7:11,8:$V5,9:$V6,10:$V7,11:$V8,13:$V9,18:$Va,23:16,25:17,26:18,27:19,28:20,29:21,30:$Vb,32:[1,181],33:23,35:29,44:30,45:32,46:$Vc,71:$Vd,72:$Ve,73:$Vf,74:$Vg,75:$Vh,81:$Vi,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs},o($Vt,[2,37]),o($V_,[2,65]),o($V_,[2,64]),{10:$Vx,12:$Vy,13:$Vz,15:$VA,16:$VB,17:$VC,18:$VD,30:$VE,32:$VF,45:71,46:$VG,50:$VH,60:$VI,65:[1,182],66:125,70:74,71:$VK,72:$VL,73:$VM,74:$VN,75:$VO,77:64,78:$VP,81:$Vi,84:$VQ,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs},o($V_,[2,67]),o($V_,[2,68]),o($V_,[2,69]),o($V_,[2,70]),o($V_,[2,71]),o($V_,[2,72]),o($V_,[2,73]),o($V_,[2,74]),o($V_,[2,75]),o($V_,[2,76]),o($V_,[2,77]),o($V_,[2,78]),{10:$V01,46:$V11,71:$V21,79:183,80:$V31,81:$V41,84:$V51,85:184,87:185,88:$V61,89:$V71,90:$V81,91:$V91,92:$Va1},{10:$V01,46:$V11,71:$V21,79:197,80:$V31,81:$V41,84:$V51,85:184,87:185,88:$V61,89:$V71,90:$V81,91:$V91,92:$Va1},{10:$V01,46:$V11,71:$V21,79:198,80:$V31,81:$V41,82:[1,199],84:$V51,85:184,87:185,88:$V61,89:$V71,90:$V81,91:$V91,92:$Va1},{10:$V01,46:$V11,71:$V21,79:200,80:$V31,81:$V41,82:[1,201],84:$V51,85:184,87:185,88:$V61,89:$V71,90:$V81,91:$V91,92:$Va1},{10:$V01,46:$V11,71:$V21,79:202,80:$V31,81:$V41,84:$V51,85:184,87:185,88:$V61,89:$V71,90:$V81,91:$V91,92:$Va1},{10:$V01,46:$V11,71:$V21,79:203,80:$V31,81:$V41,84:$V51,85:184,87:185,88:$V61,89:$V71,90:$V81,91:$V91,92:$Va1},{13:$V9,18:$Va,35:204,44:30,45:32,46:$Vc,81:$Vi,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs},{13:$V9,18:$Va,35:205,44:30,45:32,46:$Vc,67:[1,206],81:$Vi,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs},o($VS,[2,43],{21:207,10:$VT}),{10:$Vx,12:$Vy,13:$Vz,15:$VA,16:$VB,17:$VC,18:$VD,30:$VE,32:$VF,39:[1,208],45:71,46:$VG,50:$VH,60:$VI,66:125,70:74,71:$VK,72:$VL,73:$VM,74:$VN,75:$VO,77:64,78:$VP,81:$Vi,84:$VQ,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs},o($VS,[2,49],{21:209,10:$VT}),o($VS,[2,47],{21:210,10:$VT}),o($VS,[2,51],{21:211,10:$VT}),o($VS,[2,53],{21:212,10:$VT}),o($Vt,[2,36]),o([10,13,18,46,81,86,88,89,91,92,94,95,96,97,98],[2,91]),o($VR,[2,117],{86:$Vb1}),o($Vc1,[2,126],{87:214,10:$V01,46:$V11,71:$V21,80:$V31,81:$V41,84:$V51,88:$V61,89:$V71,90:$V81,91:$V91,92:$Va1}),o($Vd1,[2,128]),o($Vd1,[2,130]),o($Vd1,[2,131]),o($Vd1,[2,132]),o($Vd1,[2,133]),o($Vd1,[2,134]),o($Vd1,[2,135]),o($Vd1,[2,136]),o($Vd1,[2,137]),o($Vd1,[2,138]),o($Vd1,[2,139]),o($Vd1,[2,140]),o($VR,[2,118],{86:$Vb1}),o($VR,[2,119],{86:$Vb1}),{10:[1,215]},o($VR,[2,120],{86:$Vb1}),{10:[1,216]},o($VR,[2,110],{86:$Vb1}),o($VR,[2,111],{86:$Vb1}),o($VR,[2,112],{45:32,44:114,13:$V9,18:$Va,46:$Vc,81:$Vi,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs}),o($VR,[2,113],{45:32,44:114,10:[1,217],13:$V9,18:$Va,46:$Vc,81:$Vi,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs}),o($VR,[2,115],{10:[1,218]}),o($VS,[2,44]),{39:[1,219]},o($VS,[2,50]),o($VS,[2,48]),o($VS,[2,52]),o($VS,[2,54]),{10:$V01,46:$V11,71:$V21,80:$V31,81:$V41,84:$V51,85:220,87:185,88:$V61,89:$V71,90:$V81,91:$V91,92:$Va1},o($Vd1,[2,129]),{13:$V9,18:$Va,35:221,44:30,45:32,46:$Vc,81:$Vi,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs},{13:$V9,18:$Va,35:222,44:30,45:32,46:$Vc,81:$Vi,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs},{67:[1,223]},{67:[1,224]},o($VS,[2,45],{21:225,10:$VT}),o($Vc1,[2,127],{87:214,10:$V01,46:$V11,71:$V21,80:$V31,81:$V41,84:$V51,88:$V61,89:$V71,90:$V81,91:$V91,92:$Va1}),o($VR,[2,123],{45:32,44:114,10:[1,226],13:$V9,18:$Va,46:$Vc,81:$Vi,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs}),o($VR,[2,124],{45:32,44:114,10:[1,227],13:$V9,18:$Va,46:$Vc,81:$Vi,86:$Vj,88:$Vk,89:$Vl,91:$Vm,92:$Vn,94:$Vo,95:$Vp,96:$Vq,97:$Vr,98:$Vs}),o($VR,[2,114]),o($VR,[2,116]),o($VS,[2,46]),{10:$V01,46:$V11,71:$V21,79:228,80:$V31,81:$V41,84:$V51,85:184,87:185,88:$V61,89:$V71,90:$V81,91:$V91,92:$Va1},{10:$V01,46:$V11,71:$V21,79:229,80:$V31,81:$V41,84:$V51,85:184,87:185,88:$V61,89:$V71,90:$V81,91:$V91,92:$Va1},o($VR,[2,121],{86:$Vb1}),o($VR,[2,122],{86:$Vb1})], +defaultActions: {}, +parseError: function parseError(str, hash) { + if (hash.recoverable) { + this.trace(str); + } else { + var error = new Error(str); + error.hash = hash; + throw error; + } +}, +parse: function parse(input) { + var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; + var args = lstack.slice.call(arguments, 1); + var lexer = Object.create(this.lexer); + var sharedState = { yy: {} }; + for (var k in this.yy) { + if (Object.prototype.hasOwnProperty.call(this.yy, k)) { + sharedState.yy[k] = this.yy[k]; + } + } + lexer.setInput(input, sharedState.yy); + sharedState.yy.lexer = lexer; + sharedState.yy.parser = this; + if (typeof lexer.yylloc == 'undefined') { + lexer.yylloc = {}; + } + var yyloc = lexer.yylloc; + lstack.push(yyloc); + var ranges = lexer.options && lexer.options.ranges; + if (typeof sharedState.yy.parseError === 'function') { + this.parseError = sharedState.yy.parseError; + } else { + this.parseError = Object.getPrototypeOf(this).parseError; + } + function popStack(n) { + stack.length = stack.length - 2 * n; + vstack.length = vstack.length - n; + lstack.length = lstack.length - n; + } + function lex() { + var token; + token = tstack.pop() || lexer.lex() || EOF; + if (typeof token !== 'number') { + if (token instanceof Array) { + tstack = token; + token = tstack.pop(); + } + token = self.symbols_[token] || token; + } + return token; + } + var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected; + while (true) { + state = stack[stack.length - 1]; + if (this.defaultActions[state]) { + action = this.defaultActions[state]; + } else { + if (symbol === null || typeof symbol == 'undefined') { + symbol = lex(); + } + action = table[state] && table[state][symbol]; + } + if (typeof action === 'undefined' || !action.length || !action[0]) { + var errStr = ''; + expected = []; + for (p in table[state]) { + if (this.terminals_[p] && p > TERROR) { + expected.push('\'' + this.terminals_[p] + '\''); + } + } + if (lexer.showPosition) { + errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\''; + } else { + errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\''); + } + this.parseError(errStr, { + text: lexer.match, + token: this.terminals_[symbol] || symbol, + line: lexer.yylineno, + loc: yyloc, + expected: expected + }); + } + if (action[0] instanceof Array && action.length > 1) { + throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); + } + switch (action[0]) { + case 1: + stack.push(symbol); + vstack.push(lexer.yytext); + lstack.push(lexer.yylloc); + stack.push(action[1]); + symbol = null; + if (!preErrorSymbol) { + yyleng = lexer.yyleng; + yytext = lexer.yytext; + yylineno = lexer.yylineno; + yyloc = lexer.yylloc; + if (recovering > 0) { + recovering--; + } + } else { + symbol = preErrorSymbol; + preErrorSymbol = null; + } + break; + case 2: + len = this.productions_[action[1]][1]; + yyval.$ = vstack[vstack.length - len]; + yyval._$ = { + first_line: lstack[lstack.length - (len || 1)].first_line, + last_line: lstack[lstack.length - 1].last_line, + first_column: lstack[lstack.length - (len || 1)].first_column, + last_column: lstack[lstack.length - 1].last_column + }; + if (ranges) { + yyval._$.range = [ + lstack[lstack.length - (len || 1)].range[0], + lstack[lstack.length - 1].range[1] + ]; + } + r = this.performAction.apply(yyval, [ + yytext, + yyleng, + yylineno, + sharedState.yy, + action[1], + vstack, + lstack + ].concat(args)); + if (typeof r !== 'undefined') { + return r; + } + if (len) { + stack = stack.slice(0, -1 * len * 2); + vstack = vstack.slice(0, -1 * len); + lstack = lstack.slice(0, -1 * len); + } + stack.push(this.productions_[action[1]][0]); + vstack.push(yyval.$); + lstack.push(yyval._$); + newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; + stack.push(newState); + break; + case 3: + return true; + } + } + return true; +}}; + +/* generated by jison-lex 0.3.4 */ +var lexer = (function(){ +var lexer = ({ + +EOF:1, + +parseError:function parseError(str, hash) { + if (this.yy.parser) { + this.yy.parser.parseError(str, hash); + } else { + throw new Error(str); + } + }, + +// resets the lexer, sets new input +setInput:function (input, yy) { + this.yy = yy || this.yy || {}; + this._input = input; + this._more = this._backtrack = this.done = false; + this.yylineno = this.yyleng = 0; + this.yytext = this.matched = this.match = ''; + this.conditionStack = ['INITIAL']; + this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }; + if (this.options.ranges) { + this.yylloc.range = [0,0]; + } + this.offset = 0; + return this; + }, + +// consumes and returns one char from the input +input:function () { + var ch = this._input[0]; + this.yytext += ch; + this.yyleng++; + this.offset++; + this.match += ch; + this.matched += ch; + var lines = ch.match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno++; + this.yylloc.last_line++; + } else { + this.yylloc.last_column++; + } + if (this.options.ranges) { + this.yylloc.range[1]++; + } + + this._input = this._input.slice(1); + return ch; + }, + +// unshifts one char (or a string) into the input +unput:function (ch) { + var len = ch.length; + var lines = ch.split(/(?:\r\n?|\n)/g); + + this._input = ch + this._input; + this.yytext = this.yytext.substr(0, this.yytext.length - len); + //this.yyleng -= len; + this.offset -= len; + var oldLines = this.match.split(/(?:\r\n?|\n)/g); + this.match = this.match.substr(0, this.match.length - 1); + this.matched = this.matched.substr(0, this.matched.length - 1); + + if (lines.length - 1) { + this.yylineno -= lines.length - 1; + } + var r = this.yylloc.range; + + this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: lines ? + (lines.length === oldLines.length ? this.yylloc.first_column : 0) + + oldLines[oldLines.length - lines.length].length - lines[0].length : + this.yylloc.first_column - len + }; + + if (this.options.ranges) { + this.yylloc.range = [r[0], r[0] + this.yyleng - len]; + } + this.yyleng = this.yytext.length; + return this; + }, + +// When called from action, caches matched text and appends it on next action +more:function () { + this._more = true; + return this; + }, + +// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. +reject:function () { + if (this.options.backtrack_lexer) { + this._backtrack = true; + } else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + + } + return this; + }, + +// retain first n characters of the match +less:function (n) { + this.unput(this.match.slice(n)); + }, + +// displays already matched input, i.e. for error messages +pastInput:function () { + var past = this.matched.substr(0, this.matched.length - this.match.length); + return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); + }, + +// displays upcoming input, i.e. for error messages +upcomingInput:function () { + var next = this.match; + if (next.length < 20) { + next += this._input.substr(0, 20-next.length); + } + return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); + }, + +// displays the character position where the lexing error occurred, i.e. for error messages +showPosition:function () { + var pre = this.pastInput(); + var c = new Array(pre.length + 1).join("-"); + return pre + this.upcomingInput() + "\n" + c + "^"; + }, + +// test the lexed token: return FALSE when not a match, otherwise return token +test_match:function (match, indexed_rule) { + var token, + lines, + backup; + + if (this.options.backtrack_lexer) { + // save context + backup = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }; + if (this.options.ranges) { + backup.yylloc.range = this.yylloc.range.slice(0); + } + } + + lines = match[0].match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno += lines.length; + } + this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: lines ? + lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : + this.yylloc.last_column + match[0].length + }; + this.yytext += match[0]; + this.match += match[0]; + this.matches = match; + this.yyleng = this.yytext.length; + if (this.options.ranges) { + this.yylloc.range = [this.offset, this.offset += this.yyleng]; + } + this._more = false; + this._backtrack = false; + this._input = this._input.slice(match[0].length); + this.matched += match[0]; + token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); + if (this.done && this._input) { + this.done = false; + } + if (token) { + return token; + } else if (this._backtrack) { + // recover context + for (var k in backup) { + this[k] = backup[k]; + } + return false; // rule action called reject() implying the next rule should be tested instead. + } + return false; + }, + +// return next match in input +next:function () { + if (this.done) { + return this.EOF; + } + if (!this._input) { + this.done = true; + } + + var token, + match, + tempMatch, + index; + if (!this._more) { + this.yytext = ''; + this.match = ''; + } + var rules = this._currentRules(); + for (var i = 0; i < rules.length; i++) { + tempMatch = this._input.match(this.rules[rules[i]]); + if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { + match = tempMatch; + index = i; + if (this.options.backtrack_lexer) { + token = this.test_match(tempMatch, rules[i]); + if (token !== false) { + return token; + } else if (this._backtrack) { + match = false; + continue; // rule action called reject() implying a rule MISmatch. + } else { + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + } else if (!this.options.flex) { + break; + } + } + } + if (match) { + token = this.test_match(match, rules[index]); + if (token !== false) { + return token; + } + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + if (this._input === "") { + return this.EOF; + } else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + } + }, + +// return next match that has a token +lex:function lex() { + var r = this.next(); + if (r) { + return r; + } else { + return this.lex(); + } + }, + +// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) +begin:function begin(condition) { + this.conditionStack.push(condition); + }, + +// pop the previously active lexer condition state off the condition stack +popState:function popState() { + var n = this.conditionStack.length - 1; + if (n > 0) { + return this.conditionStack.pop(); + } else { + return this.conditionStack[0]; + } + }, + +// produce the lexer rule set which is active for the currently active lexer condition state +_currentRules:function _currentRules() { + if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { + return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; + } else { + return this.conditions["INITIAL"].rules; + } + }, + +// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available +topState:function topState(n) { + n = this.conditionStack.length - 1 - Math.abs(n || 0); + if (n >= 0) { + return this.conditionStack[n]; + } else { + return "INITIAL"; + } + }, + +// alias for begin(condition) +pushState:function pushState(condition) { + this.begin(condition); + }, + +// return the number of states currently on the stack +stateStackSize:function stateStackSize() { + return this.conditionStack.length; + }, +options: {}, +performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { +var YYSTATE=YY_START; +switch($avoiding_name_collisions) { +case 0:/* do nothing */ +break; +case 1:this.begin("string"); +break; +case 2:this.popState(); +break; +case 3:return "STR"; +break; +case 4:return 71; +break; +case 5:return 78; +break; +case 6:return 72; +break; +case 7:return 82; +break; +case 8:return 73; +break; +case 9:return 74; +break; +case 10:return 75; +break; +case 11:return 12; +break; +case 12:return 30; +break; +case 13:return 32; +break; +case 14:return 13; +break; +case 15:return 13; +break; +case 16:return 13; +break; +case 17:return 13; +break; +case 18:return 13; +break; +case 19:return 13; +break; +case 20:return 81; +break; +case 21:return 91; +break; +case 22:return 89; +break; +case 23:return 8; +break; +case 24:return 86; +break; +case 25:return 98; +break; +case 26:return 16; +break; +case 27:return 15; +break; +case 28:return 17; +break; +case 29:return 18; +break; +case 30:return 53; +break; +case 31:return 51; +break; +case 32:return 52; +break; +case 33:return 54; +break; +case 34:return 58; +break; +case 35:return 56; +break; +case 36:return 57; +break; +case 37:return 59; +break; +case 38:return 58; +break; +case 39:return 56; +break; +case 40:return 57; +break; +case 41:return 59; +break; +case 42:return 63; +break; +case 43:return 61; +break; +case 44:return 62; +break; +case 45:return 64; +break; +case 46:return 50; +break; +case 47:return 55; +break; +case 48:return 60; +break; +case 49:return 40; +break; +case 50:return 41; +break; +case 51:return 46; +break; +case 52:return 92; +break; +case 53:return 96; +break; +case 54:return 84; +break; +case 55:return 97; +break; +case 56:return 97; +break; +case 57:return 88; +break; +case 58:return 94; +break; +case 59:return 95; +break; +case 60:return 65; +break; +case 61:return 38; +break; +case 62:return 39; +break; +case 63:return 36; +break; +case 64:return 37; +break; +case 65:return 42 +break; +case 66:return 43 +break; +case 67:return 101; +break; +case 68:return 9; +break; +case 69:return 10; +break; +case 70:return 11; +break; +} +}, +rules: [/^(?:%%[^\n]*)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:click\b)/,/^(?:graph\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:LR\b)/,/^(?:RL\b)/,/^(?:TB\b)/,/^(?:BT\b)/,/^(?:TD\b)/,/^(?:BR\b)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:v\b)/,/^(?:\s*--[x]\s*)/,/^(?:\s*-->\s*)/,/^(?:\s*--[o]\s*)/,/^(?:\s*---\s*)/,/^(?:\s*-\.-[x]\s*)/,/^(?:\s*-\.->\s*)/,/^(?:\s*-\.-[o]\s*)/,/^(?:\s*-\.-\s*)/,/^(?:\s*.-[x]\s*)/,/^(?:\s*\.->\s*)/,/^(?:\s*\.-[o]\s*)/,/^(?:\s*\.-\s*)/,/^(?:\s*==[x]\s*)/,/^(?:\s*==>\s*)/,/^(?:\s*==[o]\s*)/,/^(?:\s*==[\=]\s*)/,/^(?:\s*--\s*)/,/^(?:\s*-\.\s*)/,/^(?:\s*==\s*)/,/^(?:\(-)/,/^(?:-\))/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:[A-Za-z]+)/,/^(?:[!"#$%&'*+,-.`?\\_\/])/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:\n+)/,/^(?:\s)/,/^(?:$)/], +conditions: {"string":{"rules":[2,3],"inclusive":false},"INITIAL":{"rules":[0,1,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70],"inclusive":true}} +}); +return lexer; +})(); +parser.lexer = lexer; +function Parser () { + this.yy = {}; +} +Parser.prototype = parser;parser.Parser = Parser; +return new Parser; +})(); + + +if (typeof require !== 'undefined' && typeof exports !== 'undefined') { +exports.parser = parser; +exports.Parser = parser.Parser; +exports.parse = function () { return parser.parse.apply(parser, arguments); }; +exports.main = function commonjsMain(args) { + if (!args[1]) { + console.log('Usage: '+args[0]+' FILE'); + process.exit(1); + } + var source = require('fs').readFileSync(require('path').normalize(args[1]), "utf8"); + return exports.parser.parse(source); +}; +if (typeof module !== 'undefined' && require.main === module) { + exports.main(process.argv.slice(1)); +} +} \ No newline at end of file diff --git a/_submodules/mermaid/src/diagrams/flowchart/parser/flow.spec.js b/_submodules/mermaid/src/diagrams/flowchart/parser/flow.spec.js new file mode 100644 index 0000000000000000000000000000000000000000..28d273bafe26097bf32323451349027b0decd928 --- /dev/null +++ b/_submodules/mermaid/src/diagrams/flowchart/parser/flow.spec.js @@ -0,0 +1,1346 @@ +import flowDb from '../flowDb' +import flow from './flow' + +describe('when parsing ', function () { + beforeEach(function () { + flow.parser.yy = flowDb + flow.parser.yy.clear() + }) + + it('should handle a nodes and edges', function () { + const res = flow.parser.parse('graph TD;\nA-->B;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(vert['A'].id).toBe('A') + expect(vert['B'].id).toBe('B') + expect(edges.length).toBe(1) + expect(edges[0].start).toBe('A') + expect(edges[0].end).toBe('B') + expect(edges[0].type).toBe('arrow') + expect(edges[0].text).toBe('') + }) + + it('should handle subgraph with tab indentation', function () { + const res = flow.parser.parse('graph TB\nsubgraph One\n\ta1-->a2\nend') + const subgraphs = flow.parser.yy.getSubGraphs() + expect(subgraphs.length).toBe(1) + const subgraph = subgraphs[0] + expect(subgraph.nodes.length).toBe(2) + expect(subgraph.nodes[0]).toBe('a1') + expect(subgraph.nodes[1]).toBe('a2') + expect(subgraph.title).toBe('One') + }) + + it('should handle angle bracket ' > ' as direction LR', function () { + const res = flow.parser.parse('graph >;A-->B;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + const direction = flow.parser.yy.getDirection() + + expect(direction).toBe('LR') + + expect(vert['A'].id).toBe('A') + expect(vert['B'].id).toBe('B') + expect(edges.length).toBe(1) + expect(edges[0].start).toBe('A') + expect(edges[0].end).toBe('B') + expect(edges[0].type).toBe('arrow') + expect(edges[0].text).toBe('') + }) + + it('should handle angle bracket ' < ' as direction RL', function () { + const res = flow.parser.parse('graph <;A-->B;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + const direction = flow.parser.yy.getDirection() + + expect(direction).toBe('RL') + + expect(vert['A'].id).toBe('A') + expect(vert['B'].id).toBe('B') + expect(edges.length).toBe(1) + expect(edges[0].start).toBe('A') + expect(edges[0].end).toBe('B') + expect(edges[0].type).toBe('arrow') + expect(edges[0].text).toBe('') + }) + + it('should handle caret ' ^ ' as direction BT', function () { + const res = flow.parser.parse('graph ^;A-->B;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + const direction = flow.parser.yy.getDirection() + + expect(direction).toBe('BT') + + expect(vert['A'].id).toBe('A') + expect(vert['B'].id).toBe('B') + expect(edges.length).toBe(1) + expect(edges[0].start).toBe('A') + expect(edges[0].end).toBe('B') + expect(edges[0].type).toBe('arrow') + expect(edges[0].text).toBe('') + }) + + it('should handle lower-case \'v\' as direction TB', function () { + const res = flow.parser.parse('graph v;A-->B;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + const direction = flow.parser.yy.getDirection() + + expect(direction).toBe('TB') + + expect(vert['A'].id).toBe('A') + expect(vert['B'].id).toBe('B') + expect(edges.length).toBe(1) + expect(edges[0].start).toBe('A') + expect(edges[0].end).toBe('B') + expect(edges[0].type).toBe('arrow') + expect(edges[0].text).toBe('') + }) + + it('should handle a nodes and edges and a space between link and node', function () { + const res = flow.parser.parse('graph TD;A --> B;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(vert['A'].id).toBe('A') + expect(vert['B'].id).toBe('B') + expect(edges.length).toBe(1) + expect(edges[0].start).toBe('A') + expect(edges[0].end).toBe('B') + expect(edges[0].type).toBe('arrow') + expect(edges[0].text).toBe('') + }) + + it('should handle a nodes and edges, a space between link and node and each line ending without semicolon', function () { + const res = flow.parser.parse('graph TD\nA --> B\n style e red') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(vert['A'].id).toBe('A') + expect(vert['B'].id).toBe('B') + expect(edges.length).toBe(1) + expect(edges[0].start).toBe('A') + expect(edges[0].end).toBe('B') + expect(edges[0].type).toBe('arrow') + expect(edges[0].text).toBe('') + }) + it('should handle statements ending without semicolon', function () { + const res = flow.parser.parse('graph TD\nA-->B\nB-->C') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(vert['A'].id).toBe('A') + expect(vert['B'].id).toBe('B') + expect(edges.length).toBe(2) + expect(edges[1].start).toBe('B') + expect(edges[1].end).toBe('C') + expect(edges[0].type).toBe('arrow') + expect(edges[0].text).toBe('') + }) + + it('should handle a comments', function () { + const res = flow.parser.parse('graph TD;\n%% CComment\n A-->B;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(vert['A'].id).toBe('A') + expect(vert['B'].id).toBe('B') + expect(edges.length).toBe(1) + expect(edges[0].start).toBe('A') + expect(edges[0].end).toBe('B') + expect(edges[0].type).toBe('arrow') + expect(edges[0].text).toBe('') + }) + it('should handle comments a at the start', function () { + const res = flow.parser.parse('%% Comment\ngraph TD;\n A-->B;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(vert['A'].id).toBe('A') + expect(vert['B'].id).toBe('B') + expect(edges.length).toBe(1) + expect(edges[0].start).toBe('A') + expect(edges[0].end).toBe('B') + expect(edges[0].type).toBe('arrow') + expect(edges[0].text).toBe('') + }) + it('should handle comments at the end', function () { + const res = flow.parser.parse('graph TD;\n A-->B\n %% Comment at the find\n') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(vert['A'].id).toBe('A') + expect(vert['B'].id).toBe('B') + expect(edges.length).toBe(1) + expect(edges[0].start).toBe('A') + expect(edges[0].end).toBe('B') + expect(edges[0].type).toBe('arrow') + expect(edges[0].text).toBe('') + }) + it('should handle comments at the end no trailing newline', function () { + const res = flow.parser.parse('graph TD;\n A-->B\n%% Commento') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(vert['A'].id).toBe('A') + expect(vert['B'].id).toBe('B') + expect(edges.length).toBe(1) + expect(edges[0].start).toBe('A') + expect(edges[0].end).toBe('B') + expect(edges[0].type).toBe('arrow') + expect(edges[0].text).toBe('') + }) + it('should handle comments at the end many trailing newlines', function () { + const res = flow.parser.parse('graph TD;\n A-->B\n%% Commento\n\n\n') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(vert['A'].id).toBe('A') + expect(vert['B'].id).toBe('B') + expect(edges.length).toBe(1) + expect(edges[0].start).toBe('A') + expect(edges[0].end).toBe('B') + expect(edges[0].type).toBe('arrow') + expect(edges[0].text).toBe('') + }) + it('should handle no trailing newlines', function () { + const res = flow.parser.parse('graph TD;\n A-->B') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(vert['A'].id).toBe('A') + expect(vert['B'].id).toBe('B') + expect(edges.length).toBe(1) + expect(edges[0].start).toBe('A') + expect(edges[0].end).toBe('B') + expect(edges[0].type).toBe('arrow') + expect(edges[0].text).toBe('') + }) + it('should handle many trailing newlines', function () { + const res = flow.parser.parse('graph TD;\n A-->B\n\n') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(vert['A'].id).toBe('A') + expect(vert['B'].id).toBe('B') + expect(edges.length).toBe(1) + expect(edges[0].start).toBe('A') + expect(edges[0].end).toBe('B') + expect(edges[0].type).toBe('arrow') + expect(edges[0].text).toBe('') + }) + it('should handle a comments with blank rows in-between', function () { + const res = flow.parser.parse('graph TD;\n\n\n %% Comment\n A-->B;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(vert['A'].id).toBe('A') + expect(vert['B'].id).toBe('B') + expect(edges.length).toBe(1) + expect(edges[0].start).toBe('A') + expect(edges[0].end).toBe('B') + expect(edges[0].type).toBe('arrow') + expect(edges[0].text).toBe('') + }) + + it('should handle a comments mermaid flowchart code in them', function () { + const res = flow.parser.parse('graph TD;\n\n\n %% Test od>Odd shape]-->|Two line<br>edge comment|ro;\n A-->B;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(vert['A'].id).toBe('A') + expect(vert['B'].id).toBe('B') + expect(edges.length).toBe(1) + expect(edges[0].start).toBe('A') + expect(edges[0].end).toBe('B') + expect(edges[0].type).toBe('arrow') + expect(edges[0].text).toBe('') + }) + + it('it should handle a trailing whitespaces after statememnts', function () { + const res = flow.parser.parse('graph TD;\n\n\n %% Comment\n A-->B; \n B-->C;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(vert['A'].id).toBe('A') + expect(vert['B'].id).toBe('B') + expect(edges.length).toBe(2) + expect(edges[0].start).toBe('A') + expect(edges[0].end).toBe('B') + expect(edges[0].type).toBe('arrow') + expect(edges[0].text).toBe('') + }) + + it('should handle node names with "end" substring', function () { + const res = flow.parser.parse('graph TD\nendpoint --> sender') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(vert['endpoint'].id).toBe('endpoint') + expect(vert['sender'].id).toBe('sender') + expect(edges[0].start).toBe('endpoint') + expect(edges[0].end).toBe('sender') + }) + + it('should handle node names ending with keywords', function () { + const res = flow.parser.parse('graph TD\nblend --> monograph') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(vert['blend'].id).toBe('blend') + expect(vert['monograph'].id).toBe('monograph') + expect(edges[0].start).toBe('blend') + expect(edges[0].end).toBe('monograph') + }) + + it('should handle open ended edges', function () { + const res = flow.parser.parse('graph TD;A---B;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].type).toBe('arrow_open') + }) + + it('should handle cross ended edges', function () { + const res = flow.parser.parse('graph TD;A--xB;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].type).toBe('arrow_cross') + }) + + it('should handle open ended edges', function () { + const res = flow.parser.parse('graph TD;A--oB;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].type).toBe('arrow_circle') + }) + it('should handle subgraphs', function () { + const res = flow.parser.parse('graph TD;A-->B;subgraph myTitle;c-->d;end;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].type).toBe('arrow') + }) + + it('should handle subgraphs', function () { + const res = flow.parser.parse('graph TD\nA-->B\nsubgraph myTitle\n\n c-->d \nend\n') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].type).toBe('arrow') + }) + + it('should handle nested subgraphs', function () { + const str = 'graph TD\n' + + 'A-->B\n' + + 'subgraph myTitle\n\n' + + ' c-->d \n\n' + + ' subgraph inner\n\n e-->f \n end \n\n' + + ' subgraph inner\n\n h-->i \n end \n\n' + + 'end\n' + const res = flow.parser.parse(str) + }) + + it('should handle subgraphs', function () { + const res = flow.parser.parse('graph TD\nA-->B\nsubgraph myTitle\nc-->d\nend;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].type).toBe('arrow') + }) + + it('should handle subgraphs', function () { + const res = flow.parser.parse('graph TD\nA-->B\nsubgraph myTitle\nc-- text -->d\nd-->e\n end;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].type).toBe('arrow') + }) + + it('should handle classDefs with style in classes', function () { + const res = flow.parser.parse('graph TD\nA-->B\nclassDef exClass font-style:bold;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].type).toBe('arrow') + }) + + it('should handle classDefs with % in classes', function () { + const res = flow.parser.parse('graph TD\nA-->B\nclassDef exClass fill:#f96,stroke:#333,stroke-width:4px,font-size:50%,font-style:bold;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].type).toBe('arrow') + }) + + it('should handle style definitons with more then 1 digit in a row', function () { + const res = flow.parser.parse('graph TD\n' + + 'A-->B1\n' + + 'A-->B2\n' + + 'A-->B3\n' + + 'A-->B4\n' + + 'A-->B5\n' + + 'A-->B6\n' + + 'A-->B7\n' + + 'A-->B8\n' + + 'A-->B9\n' + + 'A-->B10\n' + + 'A-->B11\n' + + 'linkStyle 10 stroke-width:1px;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].type).toBe('arrow') + }) + + it('should handle line interpolation default definitions', function () { + const res = flow.parser.parse('graph TD\n' + + 'A-->B\n' + + 'linkStyle default interpolate basis') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges.defaultInterpolate).toBe('basis') + }) + + it('should handle line interpolation numbered definitions', function () { + const res = flow.parser.parse('graph TD\n' + + 'A-->B\n' + + 'A-->C\n' + + 'linkStyle 0 interpolate basis\n' + + 'linkStyle 1 interpolate cardinal') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].interpolate).toBe('basis') + expect(edges[1].interpolate).toBe('cardinal') + }) + + it('should handle line interpolation default with style', function () { + const res = flow.parser.parse('graph TD\n' + + 'A-->B\n' + + 'linkStyle default interpolate basis stroke-width:1px;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges.defaultInterpolate).toBe('basis') + }) + + it('should handle line interpolation numbered with style', function () { + const res = flow.parser.parse('graph TD\n' + + 'A-->B\n' + + 'A-->C\n' + + 'linkStyle 0 interpolate basis stroke-width:1px;\n' + + 'linkStyle 1 interpolate cardinal stroke-width:1px;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].interpolate).toBe('basis') + expect(edges[1].interpolate).toBe('cardinal') + }) + + describe('it should handle interaction, ', function () { + it('it should be possible to use click to a callback', function () { + spyOn(flowDb, 'setClickEvent') + const res = flow.parser.parse('graph TD\nA-->B\nclick A callback') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(flowDb.setClickEvent).toHaveBeenCalledWith('A', 'callback', undefined, undefined) + }) + + it('it should be possible to use click to a callback with toolip', function () { + spyOn(flowDb, 'setClickEvent') + const res = flow.parser.parse('graph TD\nA-->B\nclick A callback "tooltip"') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(flowDb.setClickEvent).toHaveBeenCalledWith('A', 'callback', undefined, 'tooltip') + }) + + it('should handle interaction - click to a link', function () { + spyOn(flowDb, 'setClickEvent') + const res = flow.parser.parse('graph TD\nA-->B\nclick A "click.html"') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(flowDb.setClickEvent).toHaveBeenCalledWith('A', undefined, 'click.html', undefined) + }) + it('should handle interaction - click to a link with tooltip', function () { + spyOn(flowDb, 'setClickEvent') + const res = flow.parser.parse('graph TD\nA-->B\nclick A "click.html" "tooltip"') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(flowDb.setClickEvent).toHaveBeenCalledWith('A', undefined, 'click.html', 'tooltip') + }) + }) + + describe('it should handle text on edges', function () { + it('it should handle text without space', function () { + const res = flow.parser.parse('graph TD;A--x|textNoSpace|B;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].type).toBe('arrow_cross') + }) + + it('should handle with space', function () { + const res = flow.parser.parse('graph TD;A--x|text including space|B;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].type).toBe('arrow_cross') + }) + + it('it should handle text with /', function () { + const res = flow.parser.parse('graph TD;A--x|text with / should work|B;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].text).toBe('text with / should work') + }) + + it('it should handle space and space between vertices and link', function () { + const res = flow.parser.parse('graph TD;A --x|textNoSpace| B;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].type).toBe('arrow_cross') + }) + + it('should handle space and CAPS', function () { + const res = flow.parser.parse('graph TD;A--x|text including CAPS space|B;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].type).toBe('arrow_cross') + }) + + it('should handle space and dir', function () { + const res = flow.parser.parse('graph TD;A--x|text including URL space|B;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].type).toBe('arrow_cross') + expect(edges[0].text).toBe('text including URL space') + }) + + it('should handle space and send', function () { + const res = flow.parser.parse('graph TD;A--text including URL space and send-->B;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].type).toBe('arrow') + expect(edges[0].text).toBe('text including URL space and send') + }) + it('should handle space and send', function () { + const res = flow.parser.parse('graph TD;A-- text including URL space and send -->B;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].type).toBe('arrow') + expect(edges[0].text).toBe('text including URL space and send') + }) + + it('should handle space and dir (TD)', function () { + const res = flow.parser.parse('graph TD;A--x|text including R TD space|B;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].type).toBe('arrow_cross') + expect(edges[0].text).toBe('text including R TD space') + }) + it('should handle `', function () { + const res = flow.parser.parse('graph TD;A--x|text including `|B;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].type).toBe('arrow_cross') + expect(edges[0].text).toBe('text including `') + }) + it('should handle v in node ids only v', function () { + // only v + const res = flow.parser.parse('graph TD;A--xv(my text);') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].type).toBe('arrow_cross') + expect(vert['v'].text).toBe('my text') + }) + it('should handle v in node ids v at end', function () { + // v at end + const res = flow.parser.parse('graph TD;A--xcsv(my text);') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].type).toBe('arrow_cross') + expect(vert['csv'].text).toBe('my text') + }) + it('should handle v in node ids v in middle', function () { + // v in middle + const res = flow.parser.parse('graph TD;A--xava(my text);') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].type).toBe('arrow_cross') + expect(vert['ava'].text).toBe('my text') + }) + it('should handle v in node ids, v at start', function () { + // v at start + const res = flow.parser.parse('graph TD;A--xva(my text);') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].type).toBe('arrow_cross') + expect(vert['va'].text).toBe('my text') + }) + it('should handle keywords', function () { + const res = flow.parser.parse('graph TD;A--x|text including graph space|B;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].text).toBe('text including graph space') + }) + it('should handle keywords', function () { + const res = flow.parser.parse('graph TD;V-->a[v]') + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + expect(vert['a'].text).toBe('v') + }) + it('should handle keywords', function () { + const res = flow.parser.parse('graph TD;V-->a[v]') + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + expect(vert['a'].text).toBe('v') + }) + it('should handle quoted text', function () { + const res = flow.parser.parse('graph TD;V-- "test string()" -->a[v]') + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + expect(edges[0].text).toBe('test string()') + }) + }) + + describe('it should handle new line type notation', function () { + it('it should handle regular lines', function () { + const res = flow.parser.parse('graph TD;A-->B;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].stroke).toBe('normal') + }) + it('it should handle dotted lines', function () { + const res = flow.parser.parse('graph TD;A-.->B;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].stroke).toBe('dotted') + }) + it('it should handle dotted lines', function () { + const res = flow.parser.parse('graph TD;A==>B;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].stroke).toBe('thick') + }) + it('it should handle text on lines', function () { + const res = flow.parser.parse('graph TD;A-- test text with == -->B;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].stroke).toBe('normal') + }) + it('it should handle text on lines', function () { + const res = flow.parser.parse('graph TD;A-. test text with == .->B;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].stroke).toBe('dotted') + }) + it('it should handle text on lines', function () { + const res = flow.parser.parse('graph TD;A== test text with - ==>B;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].stroke).toBe('thick') + }) + }) + + describe('it should handle text on edges using the new notation', function () { + it('it should handle text without space', function () { + const res = flow.parser.parse('graph TD;A-- textNoSpace --xB;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].type).toBe('arrow_cross') + }) + + it('it should handle text with multiple leading space', function () { + const res = flow.parser.parse('graph TD;A-- textNoSpace --xB;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].type).toBe('arrow_cross') + }) + + it('should handle with space', function () { + const res = flow.parser.parse('graph TD;A-- text including space --xB;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].type).toBe('arrow_cross') + }) + + it('it should handle text with /', function () { + const res = flow.parser.parse('graph TD;A -- text with / should work --x B;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].text).toBe('text with / should work') + }) + + it('it should handle space and space between vertices and link', function () { + const res = flow.parser.parse('graph TD;A -- textNoSpace --x B;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].type).toBe('arrow_cross') + }) + + it('should handle space and CAPS', function () { + const res = flow.parser.parse('graph TD;A-- text including CAPS space --xB;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].type).toBe('arrow_cross') + }) + + it('should handle space and dir', function () { + const res = flow.parser.parse('graph TD;A-- text including URL space --xB;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].type).toBe('arrow_cross') + expect(edges[0].text).toBe('text including URL space') + }) + + it('should handle space and dir (TD)', function () { + const res = flow.parser.parse('graph TD;A-- text including R TD space --xB;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].type).toBe('arrow_cross') + expect(edges[0].text).toBe('text including R TD space') + }) + it('should handle keywords', function () { + const res = flow.parser.parse('graph TD;A-- text including graph space and v --xB;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].text).toBe('text including graph space and v') + }) + it('should handle keywords', function () { + const res = flow.parser.parse('graph TD;A-- text including graph space and v --xB[blav]') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].text).toBe('text including graph space and v') + }) + // xit('should handle text on open links',function(){ + // const res = flow.parser.parse('graph TD;A-- text including graph space --B'); + // + // const vert = flow.parser.yy.getVertices(); + // const edges = flow.parser.yy.getEdges(); + // + // expect(edges[0].text).toBe('text including graph space'); + // + // }); + }) + + it('should handle multi-line text', function () { + const res = flow.parser.parse('graph TD;A--o|text space|B;\n B-->|more text with space|C;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges[0].type).toBe('arrow_circle') + expect(edges[1].type).toBe('arrow') + expect(vert['A'].id).toBe('A') + expect(vert['B'].id).toBe('B') + expect(vert['C'].id).toBe('C') + expect(edges.length).toBe(2) + expect(edges[0].start).toBe('A') + expect(edges[0].end).toBe('B') + // expect(edges[0].text).toBe('text space'); + expect(edges[1].start).toBe('B') + expect(edges[1].end).toBe('C') + expect(edges[1].text).toBe('more text with space') + }) + + it('should handle multiple edges', function () { + const res = flow.parser.parse('graph TD;A---|This is the 123 s text|B;\nA---|This is the second edge|B;') + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(vert['A'].id).toBe('A') + expect(vert['B'].id).toBe('B') + expect(edges.length).toBe(2) + expect(edges[0].start).toBe('A') + expect(edges[0].end).toBe('B') + expect(edges[0].text).toBe('This is the 123 s text') + expect(edges[1].start).toBe('A') + expect(edges[1].end).toBe('B') + expect(edges[1].text).toBe('This is the second edge') + }) + + it('should handle text in vertices with space', function () { + const res = flow.parser.parse('graph TD;A[chimpansen hoppar]-->C;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(vert['A'].type).toBe('square') + expect(vert['A'].text).toBe('chimpansen hoppar') + }) + + it('should handle text in vertices with space with spaces between vertices and link', function () { + const res = flow.parser.parse('graph TD;A[chimpansen hoppar] --> C;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(vert['A'].type).toBe('square') + expect(vert['A'].text).toBe('chimpansen hoppar') + }) + + it('should handle quoted text in vertices ', function () { + const res = flow.parser.parse('graph TD;A["chimpansen hoppar ()[]"] --> C;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(vert['A'].type).toBe('square') + expect(vert['A'].text).toBe('chimpansen hoppar ()[]') + }) + + it('should handle text in circle vertices with space', function () { + const res = flow.parser.parse('graph TD;A((chimpansen hoppar))-->C;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(vert['A'].type).toBe('circle') + expect(vert['A'].text).toBe('chimpansen hoppar') + }) + + it('should handle text in ellipse vertices', function () { + const res = flow.parser.parse('graph TD\nA(-this is an ellipse-)-->B') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(vert['A'].type).toBe('ellipse') + expect(vert['A'].text).toBe('this is an ellipse') + }) + + it('should handle text in diamond vertices with space', function () { + const res = flow.parser.parse('graph TD;A(chimpansen hoppar)-->C;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(vert['A'].type).toBe('round') + expect(vert['A'].text).toBe('chimpansen hoppar') + }) + + it('should handle text in with ?', function () { + const res = flow.parser.parse('graph TD;A(?)-->|?|C;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(vert['A'].text).toBe('?') + expect(edges[0].text).toBe('?') + }) + it('should handle text in with éèêà çô', function () { + const res = flow.parser.parse('graph TD;A(éèêà çô)-->|éèêà çô|C;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(vert['A'].text).toBe('éèêà çô') + expect(edges[0].text).toBe('éèêà çô') + }) + + it('should handle text in with ,.?!+-*', function () { + const res = flow.parser.parse('graph TD;A(,.?!+-*)-->|,.?!+-*|C;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(vert['A'].text).toBe(',.?!+-*') + expect(edges[0].text).toBe(',.?!+-*') + }) + + describe('it should handle text in vertices, ', function () { + it('it should handle space', function () { + const res = flow.parser.parse('graph TD;A-->C(Chimpansen hoppar);') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(vert['C'].type).toBe('round') + expect(vert['C'].text).toBe('Chimpansen hoppar') + }) + it('it should handle åäö and minus', function () { + const res = flow.parser.parse('graph TD;A-->C{Chimpansen hoppar åäö-ÅÄÖ};') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(vert['C'].type).toBe('diamond') + expect(vert['C'].text).toBe('Chimpansen hoppar åäö-ÅÄÖ') + }) + + it('it should handle with åäö, minus and space and br', function () { + const res = flow.parser.parse('graph TD;A-->C(Chimpansen hoppar åäö <br> - ÅÄÖ);') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(vert['C'].type).toBe('round') + expect(vert['C'].text).toBe('Chimpansen hoppar åäö <br> - ÅÄÖ') + }) + // xit('it should handle åäö, minus and space and br',function(){ + // const res = flow.parser.parse('graph TD; A[Object(foo,bar)]-->B(Thing);'); + // + // const vert = flow.parser.yy.getVertices(); + // const edges = flow.parser.yy.getEdges(); + // + // expect(vert['C'].type).toBe('round'); + // expect(vert['C'].text).toBe(' A[Object(foo,bar)]-->B(Thing);'); + // }); + it('it should handle unicode chars', function () { + const res = flow.parser.parse('graph TD;A-->C(Ðачало);') + + const vert = flow.parser.yy.getVertices() + + expect(vert['C'].text).toBe('Ðачало') + }) + it('it should handle backslask', function () { + const res = flow.parser.parse('graph TD;A-->C(c:\\windows);') + + const vert = flow.parser.yy.getVertices() + + expect(vert['C'].text).toBe('c:\\windows') + }) + it('it should handle CAPS', function () { + const res = flow.parser.parse('graph TD;A-->C(some CAPS);') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(vert['C'].type).toBe('round') + expect(vert['C'].text).toBe('some CAPS') + }) + it('it should handle directions', function () { + const res = flow.parser.parse('graph TD;A-->C(some URL);') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(vert['C'].type).toBe('round') + expect(vert['C'].text).toBe('some URL') + }) + }) + + it('should handle a single node', function () { + // Silly but syntactically correct + const res = flow.parser.parse('graph TD;A;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges.length).toBe(0) + expect(vert['A'].styles.length).toBe(0) + }) + + it('should handle a single square node', function () { + // Silly but syntactically correct + const res = flow.parser.parse('graph TD;a[A];') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges.length).toBe(0) + expect(vert['a'].styles.length).toBe(0) + expect(vert['a'].type).toBe('square') + }) + it('should handle a single round square node', function () { + // Silly but syntactically correct + const res = flow.parser.parse('graph TD;a[A];') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges.length).toBe(0) + expect(vert['a'].styles.length).toBe(0) + expect(vert['a'].type).toBe('square') + }) + it('should handle a single circle node', function () { + // Silly but syntactically correct + const res = flow.parser.parse('graph TD;a((A));') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges.length).toBe(0) + expect(vert['a'].type).toBe('circle') + }) + it('should handle a single round node', function () { + // Silly but syntactically correct + const res = flow.parser.parse('graph TD;a(A);') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges.length).toBe(0) + expect(vert['a'].type).toBe('round') + }) + it('should handle a single odd node', function () { + // Silly but syntactically correct + const res = flow.parser.parse('graph TD;a>A];') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges.length).toBe(0) + expect(vert['a'].type).toBe('odd') + }) + it('should handle a single diamond node', function () { + // Silly but syntactically correct + const res = flow.parser.parse('graph TD;a{A};') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges.length).toBe(0) + expect(vert['a'].type).toBe('diamond') + }) + it('should handle a single diamond node with html in it', function () { + // Silly but syntactically correct + const res = flow.parser.parse('graph TD;a{A <br> end};') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges.length).toBe(0) + expect(vert['a'].type).toBe('diamond') + expect(vert['a'].text).toBe('A <br> end') + }) + it('should handle a single round node with html in it', function () { + // Silly but syntactically correct + const res = flow.parser.parse('graph TD;a(A <br> end);') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges.length).toBe(0) + expect(vert['a'].type).toBe('round') + expect(vert['a'].text).toBe('A <br> end') + }) + it('should handle a single node with alphanumerics starting on a char', function () { + // Silly but syntactically correct + const res = flow.parser.parse('graph TD;id1;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges.length).toBe(0) + expect(vert['id1'].styles.length).toBe(0) + }) + it('should handle a single node with alphanumerics starting on a num', function () { + // Silly but syntactically correct + const res = flow.parser.parse('graph TD;1id;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges.length).toBe(0) + expect(vert['1id'].styles.length).toBe(0) + }) + it('should handle a single node with alphanumerics containing a minus sign', function () { + // Silly but syntactically correct + const res = flow.parser.parse('graph TD;i-d;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(edges.length).toBe(0) + expect(vert['i-d'].styles.length).toBe(0) + }) + // log.debug(flow.parser.parse('graph TD;style Q background:#fff;')); + it('should handle styles for vertices', function () { + const res = flow.parser.parse('graph TD;style Q background:#fff;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + const style = vert['Q'].styles[0] + + expect(vert['Q'].styles.length).toBe(1) + expect(vert['Q'].styles[0]).toBe('background:#fff') + }) + + // log.debug(flow.parser.parse('graph TD;style Q background:#fff;')); + it('should handle styles for edges', function () { + const res = flow.parser.parse('graph TD;a-->b;\nstyle #0 stroke: #f66;') + + const edges = flow.parser.yy.getEdges() + + expect(edges.length).toBe(1) + }) + + it('should handle multiple styles for a vortex', function () { + const res = flow.parser.parse('graph TD;style R background:#fff,border:1px solid red;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(vert['R'].styles.length).toBe(2) + expect(vert['R'].styles[0]).toBe('background:#fff') + expect(vert['R'].styles[1]).toBe('border:1px solid red') + }) + + it('should handle multiple styles in a graph', function () { + const res = flow.parser.parse('graph TD;style S background:#aaa;\nstyle T background:#bbb,border:1px solid red;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(vert['S'].styles.length).toBe(1) + expect(vert['T'].styles.length).toBe(2) + expect(vert['S'].styles[0]).toBe('background:#aaa') + expect(vert['T'].styles[0]).toBe('background:#bbb') + expect(vert['T'].styles[1]).toBe('border:1px solid red') + }) + + it('should handle styles and graph definitons in a graph', function () { + const res = flow.parser.parse('graph TD;S-->T;\nstyle S background:#aaa;\nstyle T background:#bbb,border:1px solid red;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(vert['S'].styles.length).toBe(1) + expect(vert['T'].styles.length).toBe(2) + expect(vert['S'].styles[0]).toBe('background:#aaa') + expect(vert['T'].styles[0]).toBe('background:#bbb') + expect(vert['T'].styles[1]).toBe('border:1px solid red') + }) + it('should handle styles and graph definitons in a graph', function () { + const res = flow.parser.parse('graph TD;style T background:#bbb,border:1px solid red;') + // const res = flow.parser.parse('graph TD;style T background: #bbb;'); + + const vert = flow.parser.yy.getVertices() + + expect(vert['T'].styles.length).toBe(2) + expect(vert['T'].styles[0]).toBe('background:#bbb') + expect(vert['T'].styles[1]).toBe('border:1px solid red') + }) + + describe('special characters should be be handled.', function () { + const charTest = function (char) { + const res = flow.parser.parse('graph TD;A(' + char + ')-->B;') + + const vert = flow.parser.yy.getVertices() + const edges = flow.parser.yy.getEdges() + + expect(vert['A'].id).toBe('A') + expect(vert['B'].id).toBe('B') + expect(vert['A'].text).toBe(char) + } + + it('it should be able to parse a \'.\'', function () { + charTest('.') + charTest('Start 103a.a1') + }) + + it('it should be able to parse text containing \'_\'', function () { + charTest('_') + }) + + it('it should be able to parse a \':\'', function () { + charTest(':') + }) + + it('it should be able to parse a \',\'', function () { + charTest(',') + }) + + it('it should be able to parse text containing \'-\'', function () { + charTest('a-b') + }) + + it('it should be able to parse a \'+\'', function () { + charTest('+') + }) + + it('it should be able to parse a \'*\'', function () { + charTest('*') + }) + + it('it should be able to parse a \'<\'', function () { + charTest('<') + }) + + it('it should be able to parse a \'>\'', function () { + charTest('>') + }) + + it('it should be able to parse a \'=\'', function () { + charTest('=') + }) + }) + + it('should be possible to declare a class', function () { + const res = flow.parser.parse('graph TD;classDef exClass background:#bbb,border:1px solid red;') + // const res = flow.parser.parse('graph TD;style T background: #bbb;'); + + const classes = flow.parser.yy.getClasses() + + expect(classes['exClass'].styles.length).toBe(2) + expect(classes['exClass'].styles[0]).toBe('background:#bbb') + expect(classes['exClass'].styles[1]).toBe('border:1px solid red') + }) + + it('should be possible to declare a class with a dot in the style', function () { + const res = flow.parser.parse('graph TD;classDef exClass background:#bbb,border:1.5px solid red;') + // const res = flow.parser.parse('graph TD;style T background: #bbb;'); + + const classes = flow.parser.yy.getClasses() + + expect(classes['exClass'].styles.length).toBe(2) + expect(classes['exClass'].styles[0]).toBe('background:#bbb') + expect(classes['exClass'].styles[1]).toBe('border:1.5px solid red') + }) + it('should be possible to declare a class with a space in the style', function () { + const res = flow.parser.parse('graph TD;classDef exClass background: #bbb,border:1.5px solid red;') + // const res = flow.parser.parse('graph TD;style T background : #bbb;'); + + const classes = flow.parser.yy.getClasses() + + expect(classes['exClass'].styles.length).toBe(2) + expect(classes['exClass'].styles[0]).toBe('background: #bbb') + expect(classes['exClass'].styles[1]).toBe('border:1.5px solid red') + }) + it('should be possible to apply a class to a vertex', function () { + let statement = '' + + statement = statement + 'graph TD;' + '\n' + statement = statement + 'classDef exClass background:#bbb,border:1px solid red;' + '\n' + statement = statement + 'a-->b;' + '\n' + statement = statement + 'class a exClass;' + + const res = flow.parser.parse(statement) + + const classes = flow.parser.yy.getClasses() + + expect(classes['exClass'].styles.length).toBe(2) + expect(classes['exClass'].styles[0]).toBe('background:#bbb') + expect(classes['exClass'].styles[1]).toBe('border:1px solid red') + }) + it('should be possible to apply a class to a comma separated list of vertices', function () { + let statement = '' + + statement = statement + 'graph TD;' + '\n' + statement = statement + 'classDef exClass background:#bbb,border:1px solid red;' + '\n' + statement = statement + 'a-->b;' + '\n' + statement = statement + 'class a,b exClass;' + + const res = flow.parser.parse(statement) + + const classes = flow.parser.yy.getClasses() + const vertices = flow.parser.yy.getVertices() + + expect(classes['exClass'].styles.length).toBe(2) + expect(classes['exClass'].styles[0]).toBe('background:#bbb') + expect(classes['exClass'].styles[1]).toBe('border:1px solid red') + expect(vertices['a'].classes[0]).toBe('exClass') + expect(vertices['b'].classes[0]).toBe('exClass') + }) +}) diff --git a/_submodules/mermaid/src/diagrams/gantt/gantt.spec.js b/_submodules/mermaid/src/diagrams/gantt/gantt.spec.js new file mode 100644 index 0000000000000000000000000000000000000000..a170be6e1ffc4ba4dcf4a5366e5ed5c2d9e6a97b --- /dev/null +++ b/_submodules/mermaid/src/diagrams/gantt/gantt.spec.js @@ -0,0 +1,48 @@ +/* eslint-env jasmine */ +import { parser } from './parser/gantt' +import ganttDb from './ganttDb' + +describe('when parsing a gantt diagram it', function () { + beforeEach(function () { + parser.yy = ganttDb + }) + + it('should handle a dateFormat definition', function () { + const str = 'gantt\ndateFormat yyyy-mm-dd' + + parser.parse(str) + }) + it('should handle a title definition', function () { + const str = 'gantt\ndateFormat yyyy-mm-dd\ntitle Adding gantt diagram functionality to mermaid' + + parser.parse(str) + }) + it('should handle a section definition', function () { + const str = 'gantt\n' + + 'dateFormat yyyy-mm-dd\n' + + 'title Adding gantt diagram functionality to mermaid\n' + + 'section Documentation' + + parser.parse(str) + }) + /** + * Beslutsflöde inligt nedan. Obs bla bla bla + * ``` + * graph TD + * A[Hard pledge] -- text on link -->B(Round edge) + * B --> C{to do or not to do} + * C -->|Too| D[Result one] + * C -->|Doo| E[Result two] + ``` + * params bapa - a unique bapap + */ + it('should handle a task definition', function () { + const str = 'gantt\n' + + 'dateFormat yyyy-mm-dd\n' + + 'title Adding gantt diagram functionality to mermaid\n' + + 'section Documentation\n' + + 'Design jison grammar:des1, 2014-01-01, 2014-01-04' + + parser.parse(str) + }) +}) diff --git a/_submodules/mermaid/src/diagrams/gantt/ganttDb.js b/_submodules/mermaid/src/diagrams/gantt/ganttDb.js new file mode 100644 index 0000000000000000000000000000000000000000..b4e4fda763a9305d5d7b3fb5065d8aacc6e213a2 --- /dev/null +++ b/_submodules/mermaid/src/diagrams/gantt/ganttDb.js @@ -0,0 +1,363 @@ +import moment from 'moment' +import { logger } from '../../logger' + +let dateFormat = '' +let axisFormat = '' +let title = '' +let sections = [] +let tasks = [] +let currentSection = '' + +export const clear = function () { + sections = [] + tasks = [] + currentSection = '' + title = '' + taskCnt = 0 + lastTask = undefined + lastTaskID = undefined + rawTasks = [] +} + +export const setAxisFormat = function (txt) { + axisFormat = txt +} + +export const getAxisFormat = function () { + return axisFormat +} + +export const setDateFormat = function (txt) { + dateFormat = txt +} + +export const setTitle = function (txt) { + title = txt +} + +export const getTitle = function () { + return title +} + +export const addSection = function (txt) { + currentSection = txt + sections.push(txt) +} + +export const getTasks = function () { + let allItemsPricessed = compileTasks() + const maxDepth = 10 + let iterationCount = 0 + while (!allItemsPricessed && (iterationCount < maxDepth)) { + allItemsPricessed = compileTasks() + iterationCount++ + } + + tasks = rawTasks + + return tasks +} + +const getStartDate = function (prevTime, dateFormat, str) { + str = str.trim() + + // Test for after + const re = /^after\s+([\d\w-]+)/ + const afterStatement = re.exec(str.trim()) + + if (afterStatement !== null) { + const task = findTaskById(afterStatement[1]) + + if (typeof task === 'undefined') { + const dt = new Date() + dt.setHours(0, 0, 0, 0) + return dt + } + return task.endTime + } + + // Check for actual date set + if (moment(str, dateFormat.trim(), true).isValid()) { + return moment(str, dateFormat.trim(), true).toDate() + } else { + logger.debug('Invalid date:' + str) + logger.debug('With date format:' + dateFormat.trim()) + } + + // Default date - now + return new Date() +} + +const getEndDate = function (prevTime, dateFormat, str) { + str = str.trim() + + // Check for actual date + if (moment(str, dateFormat.trim(), true).isValid()) { + return moment(str, dateFormat.trim()).toDate() + } + + const d = moment(prevTime) + // Check for length + const re = /^([\d]+)([wdhms])/ + const durationStatement = re.exec(str.trim()) + + if (durationStatement !== null) { + switch (durationStatement[2]) { + case 's': + d.add(durationStatement[1], 'seconds') + break + case 'm': + d.add(durationStatement[1], 'minutes') + break + case 'h': + d.add(durationStatement[1], 'hours') + break + case 'd': + d.add(durationStatement[1], 'days') + break + case 'w': + d.add(durationStatement[1], 'weeks') + break + } + return d.toDate() + } + // Default date - now + return d.toDate() +} + +let taskCnt = 0 +const parseId = function (idStr) { + if (typeof idStr === 'undefined') { + taskCnt = taskCnt + 1 + return 'task' + taskCnt + } + return idStr +} +// id, startDate, endDate +// id, startDate, length +// id, after x, endDate +// id, after x, length +// startDate, endDate +// startDate, length +// after x, endDate +// after x, length +// endDate +// length + +const compileData = function (prevTask, dataStr) { + let ds + + if (dataStr.substr(0, 1) === ':') { + ds = dataStr.substr(1, dataStr.length) + } else { + ds = dataStr + } + + const data = ds.split(',') + + const task = {} + + // Get tags like active, done cand crit + let matchFound = true + while (matchFound) { + matchFound = false + if (data[0].match(/^\s*active\s*$/)) { + task.active = true + data.shift(1) + matchFound = true + } + if (data[0].match(/^\s*done\s*$/)) { + task.done = true + data.shift(1) + matchFound = true + } + if (data[0].match(/^\s*crit\s*$/)) { + task.crit = true + data.shift(1) + matchFound = true + } + } + for (let i = 0; i < data.length; i++) { + data[i] = data[i].trim() + } + + switch (data.length) { + case 1: + task.id = parseId() + task.startTime = prevTask.endTime + task.endTime = getEndDate(task.startTime, dateFormat, data[0]) + break + case 2: + task.id = parseId() + task.startTime = getStartDate(undefined, dateFormat, data[0]) + task.endTime = getEndDate(task.startTime, dateFormat, data[1]) + break + case 3: + task.id = parseId(data[0]) + task.startTime = getStartDate(undefined, dateFormat, data[1]) + task.endTime = getEndDate(task.startTime, dateFormat, data[2]) + break + default: + } + + return task +} + +const parseData = function (prevTaskId, dataStr) { + let ds + if (dataStr.substr(0, 1) === ':') { + ds = dataStr.substr(1, dataStr.length) + } else { + ds = dataStr + } + + const data = ds.split(',') + + const task = {} + + // Get tags like active, done cand crit + let matchFound = true + while (matchFound) { + matchFound = false + if (data[0].match(/^\s*active\s*$/)) { + task.active = true + data.shift(1) + matchFound = true + } + if (data[0].match(/^\s*done\s*$/)) { + task.done = true + data.shift(1) + matchFound = true + } + if (data[0].match(/^\s*crit\s*$/)) { + task.crit = true + data.shift(1) + matchFound = true + } + } + for (let i = 0; i < data.length; i++) { + data[i] = data[i].trim() + } + + switch (data.length) { + case 1: + task.id = parseId() + task.startTime = { type: 'prevTaskEnd', id: prevTaskId } + task.endTime = { data: data[0] } + break + case 2: + task.id = parseId() + task.startTime = { type: 'getStartDate', startData: data[0] } + task.endTime = { data: data[1] } + break + case 3: + task.id = parseId(data[0]) + task.startTime = { type: 'getStartDate', startData: data[1] } + task.endTime = { data: data[2] } + break + default: + } + + return task +} + +let lastTask +let lastTaskID +let rawTasks = [] +const taskDb = {} +export const addTask = function (descr, data) { + const rawTask = { + section: currentSection, + type: currentSection, + processed: false, + raw: { data: data }, + task: descr + } + const taskInfo = parseData(lastTaskID, data) + rawTask.raw.startTime = taskInfo.startTime + rawTask.raw.endTime = taskInfo.endTime + rawTask.id = taskInfo.id + rawTask.prevTaskId = lastTaskID + rawTask.active = taskInfo.active + rawTask.done = taskInfo.done + rawTask.crit = taskInfo.crit + + const pos = rawTasks.push(rawTask) + + lastTaskID = rawTask.id + // Store cross ref + taskDb[rawTask.id] = pos - 1 +} + +export const findTaskById = function (id) { + const pos = taskDb[id] + return rawTasks[pos] +} + +export const addTaskOrg = function (descr, data) { + const newTask = { + section: currentSection, + type: currentSection, + description: descr, + task: descr + } + const taskInfo = compileData(lastTask, data) + newTask.startTime = taskInfo.startTime + newTask.endTime = taskInfo.endTime + newTask.id = taskInfo.id + newTask.active = taskInfo.active + newTask.done = taskInfo.done + newTask.crit = taskInfo.crit + lastTask = newTask + tasks.push(newTask) +} + +const compileTasks = function () { + const compileTask = function (pos) { + const task = rawTasks[pos] + let startTime = '' + switch (rawTasks[pos].raw.startTime.type) { + case 'prevTaskEnd': + const prevTask = findTaskById(task.prevTaskId) + task.startTime = prevTask.endTime + break + case 'getStartDate': + startTime = getStartDate(undefined, dateFormat, rawTasks[pos].raw.startTime.startData) + if (startTime) { + rawTasks[pos].startTime = startTime + } + break + } + + if (rawTasks[pos].startTime) { + rawTasks[pos].endTime = getEndDate(rawTasks[pos].startTime, dateFormat, rawTasks[pos].raw.endTime.data) + if (rawTasks[pos].endTime) { + rawTasks[pos].processed = true + } + } + + return rawTasks[pos].processed + } + + let allProcessed = true + for (let i = 0; i < rawTasks.length; i++) { + compileTask(i) + + allProcessed = allProcessed && rawTasks[i].processed + } + return allProcessed +} + +export default { + clear, + setDateFormat, + setAxisFormat, + getAxisFormat, + setTitle, + getTitle, + addSection, + getTasks, + addTask, + findTaskById, + addTaskOrg +} diff --git a/_submodules/mermaid/src/diagrams/gantt/ganttDb.spec.js b/_submodules/mermaid/src/diagrams/gantt/ganttDb.spec.js new file mode 100644 index 0000000000000000000000000000000000000000..a956e3605324b0bf9b671071856444f03c6b262e --- /dev/null +++ b/_submodules/mermaid/src/diagrams/gantt/ganttDb.spec.js @@ -0,0 +1,175 @@ +/* eslint-env jasmine */ +import moment from 'moment' +import ganttDb from './ganttDb' + +describe('when using the ganttDb', function () { + beforeEach(function () { + ganttDb.clear() + }) + + it('should handle an fixed dates', function () { + ganttDb.setDateFormat('YYYY-MM-DD') + ganttDb.addSection('testa1') + ganttDb.addTask('test1', 'id1,2013-01-01,2013-01-12') + const tasks = ganttDb.getTasks() + expect(tasks[0].startTime).toEqual(moment('2013-01-01', 'YYYY-MM-DD').toDate()) + expect(tasks[0].endTime).toEqual(moment('2013-01-12', 'YYYY-MM-DD').toDate()) + expect(tasks[0].id).toEqual('id1') + expect(tasks[0].task).toEqual('test1') + }) + it('should handle duration (days) instead of fixed date to determine end date', function () { + ganttDb.setDateFormat('YYYY-MM-DD') + ganttDb.addSection('testa1') + ganttDb.addTask('test1', 'id1,2013-01-01,2d') + const tasks = ganttDb.getTasks() + expect(tasks[0].startTime).toEqual(moment('2013-01-01', 'YYYY-MM-DD').toDate()) + expect(tasks[0].endTime).toEqual(moment('2013-01-03', 'YYYY-MM-DD').toDate()) + expect(tasks[0].id).toEqual('id1') + expect(tasks[0].task).toEqual('test1') + }) + it('should handle duration (hours) instead of fixed date to determine end date', function () { + ganttDb.setDateFormat('YYYY-MM-DD') + ganttDb.addSection('testa1') + ganttDb.addTask('test1', 'id1,2013-01-01,2h') + const tasks = ganttDb.getTasks() + expect(tasks[0].startTime).toEqual(moment('2013-01-01', 'YYYY-MM-DD').toDate()) + expect(tasks[0].endTime).toEqual(moment('2013-01-01 2:00', 'YYYY-MM-DD hh:mm').toDate()) + expect(tasks[0].id).toEqual('id1') + expect(tasks[0].task).toEqual('test1') + }) + it('should handle duration (minutes) instead of fixed date to determine end date', function () { + ganttDb.setDateFormat('YYYY-MM-DD') + ganttDb.addSection('testa1') + ganttDb.addTask('test1', 'id1,2013-01-01,2m') + const tasks = ganttDb.getTasks() + expect(tasks[0].startTime).toEqual(moment('2013-01-01', 'YYYY-MM-DD').toDate()) + expect(tasks[0].endTime).toEqual(moment('2013-01-01 00:02', 'YYYY-MM-DD hh:mm').toDate()) + expect(tasks[0].id).toEqual('id1') + expect(tasks[0].task).toEqual('test1') + }) + it('should handle duration (seconds) instead of fixed date to determine end date', function () { + ganttDb.setDateFormat('YYYY-MM-DD') + ganttDb.addSection('testa1') + ganttDb.addTask('test1', 'id1,2013-01-01,2s') + const tasks = ganttDb.getTasks() + expect(tasks[0].startTime).toEqual(moment('2013-01-01', 'YYYY-MM-DD').toDate()) + expect(tasks[0].endTime).toEqual(moment('2013-01-01 00:00:02', 'YYYY-MM-DD hh:mm:ss').toDate()) + expect(tasks[0].id).toEqual('id1') + expect(tasks[0].task).toEqual('test1') + }) + it('should handle duration (weeks) instead of fixed date to determine end date', function () { + ganttDb.setDateFormat('YYYY-MM-DD') + ganttDb.addSection('testa1') + ganttDb.addTask('test1', 'id1,2013-01-01,2w') + const tasks = ganttDb.getTasks() + expect(tasks[0].startTime).toEqual(moment('2013-01-01', 'YYYY-MM-DD').toDate()) + expect(tasks[0].endTime).toEqual(moment('2013-01-15', 'YYYY-MM-DD').toDate()) + expect(tasks[0].id).toEqual('id1') + expect(tasks[0].task).toEqual('test1') + }) + + it('should handle relative start date based on id', function () { + ganttDb.setDateFormat('YYYY-MM-DD') + ganttDb.addSection('testa1') + ganttDb.addTask('test1', 'id1,2013-01-01,2w') + ganttDb.addTask('test2', 'id2,after id1,1d') + + const tasks = ganttDb.getTasks() + + expect(tasks[1].startTime).toEqual(moment('2013-01-15', 'YYYY-MM-DD').toDate()) + expect(tasks[1].id).toEqual('id2') + expect(tasks[1].task).toEqual('test2') + }) + + it('should handle relative start date based on id when id is invalid', function () { + ganttDb.setDateFormat('YYYY-MM-DD') + ganttDb.addSection('testa1') + ganttDb.addTask('test1', 'id1,2013-01-01,2w') + ganttDb.addTask('test2', 'id2,after id3,1d') + const tasks = ganttDb.getTasks() + expect(tasks[1].startTime).toEqual(new Date((new Date()).setHours(0, 0, 0, 0))) + expect(tasks[1].id).toEqual('id2') + expect(tasks[1].task).toEqual('test2') + }) + + it('should handle fixed dates without id', function () { + ganttDb.setDateFormat('YYYY-MM-DD') + ganttDb.addSection('testa1') + ganttDb.addTask('test1', '2013-01-01,2013-01-12') + const tasks = ganttDb.getTasks() + expect(tasks[0].startTime).toEqual(moment('2013-01-01', 'YYYY-MM-DD').toDate()) + expect(tasks[0].endTime).toEqual(moment('2013-01-12', 'YYYY-MM-DD').toDate()) + expect(tasks[0].id).toEqual('task1') + expect(tasks[0].task).toEqual('test1') + }) + + it('should handle duration instead of a fixed date to determine end date without id', function () { + ganttDb.setDateFormat('YYYY-MM-DD') + ganttDb.addSection('testa1') + ganttDb.addTask('test1', '2013-01-01,4d') + const tasks = ganttDb.getTasks() + expect(tasks[0].startTime).toEqual(moment('2013-01-01', 'YYYY-MM-DD').toDate()) + expect(tasks[0].endTime).toEqual(moment('2013-01-05', 'YYYY-MM-DD').toDate()) + expect(tasks[0].id).toEqual('task1') + expect(tasks[0].task).toEqual('test1') + }) + + it('should handle relative start date of a fixed date to determine end date without id', function () { + ganttDb.setDateFormat('YYYY-MM-DD') + ganttDb.addSection('testa1') + ganttDb.addTask('test1', 'id1,2013-01-01,2w') + ganttDb.addTask('test2', 'after id1,1d') + + const tasks = ganttDb.getTasks() + + expect(tasks[1].startTime).toEqual(moment('2013-01-15', 'YYYY-MM-DD').toDate()) + expect(tasks[1].id).toEqual('task1') + expect(tasks[1].task).toEqual('test2') + }) + it('should handle a new task with only an end date as definition', function () { + ganttDb.setDateFormat('YYYY-MM-DD') + ganttDb.addSection('testa1') + ganttDb.addTask('test1', 'id1,2013-01-01,2w') + ganttDb.addTask('test2', '2013-01-26') + + const tasks = ganttDb.getTasks() + + expect(tasks[1].startTime).toEqual(moment('2013-01-15', 'YYYY-MM-DD').toDate()) + expect(tasks[1].endTime).toEqual(moment('2013-01-26', 'YYYY-MM-DD').toDate()) + expect(tasks[1].id).toEqual('task1') + expect(tasks[1].task).toEqual('test2') + }) + it('should handle a new task with only an end date as definition', function () { + ganttDb.setDateFormat('YYYY-MM-DD') + ganttDb.addSection('testa1') + ganttDb.addTask('test1', 'id1,2013-01-01,2w') + ganttDb.addTask('test2', '2d') + + const tasks = ganttDb.getTasks() + + expect(tasks[1].startTime).toEqual(moment('2013-01-15', 'YYYY-MM-DD').toDate()) + expect(tasks[1].endTime).toEqual(moment('2013-01-17', 'YYYY-MM-DD').toDate()) + expect(tasks[1].id).toEqual('task1') + expect(tasks[1].task).toEqual('test2') + }) + it('should handle relative start date based on id regardless of sections', function () { + ganttDb.setDateFormat('YYYY-MM-DD') + ganttDb.addSection('testa1') + ganttDb.addTask('test1', 'id1,2013-01-01,2w') + ganttDb.addTask('test2', 'id2,after id3,1d') + ganttDb.addSection('testa2') + ganttDb.addTask('test3', 'id3,after id1,2d') + + const tasks = ganttDb.getTasks() + + expect(tasks[1].startTime).toEqual(moment('2013-01-17', 'YYYY-MM-DD').toDate()) + expect(tasks[1].endTime).toEqual(moment('2013-01-18', 'YYYY-MM-DD').toDate()) + expect(tasks[1].id).toEqual('id2') + expect(tasks[1].task).toEqual('test2') + + expect(tasks[2].id).toEqual('id3') + expect(tasks[2].task).toEqual('test3') + expect(tasks[2].startTime).toEqual(moment('2013-01-15', 'YYYY-MM-DD').toDate()) + expect(tasks[2].endTime).toEqual(moment('2013-01-17', 'YYYY-MM-DD').toDate()) + }) +}) diff --git a/_submodules/mermaid/src/diagrams/gantt/ganttRenderer.js b/_submodules/mermaid/src/diagrams/gantt/ganttRenderer.js new file mode 100644 index 0000000000000000000000000000000000000000..7d24df2a4c4defa0cd12be30e28a0bbd478f0063 --- /dev/null +++ b/_submodules/mermaid/src/diagrams/gantt/ganttRenderer.js @@ -0,0 +1,344 @@ +import * as d3 from 'd3' + +import { parser } from './parser/gantt' +import ganttDb from './ganttDb' + +parser.yy = ganttDb + +const conf = { + titleTopMargin: 25, + barHeight: 20, + barGap: 4, + topPadding: 50, + rightPadding: 75, + leftPadding: 75, + gridLineStartPadding: 35, + fontSize: 11, + fontFamily: '"Open-Sans", "sans-serif"' +} +export const setConf = function (cnf) { + const keys = Object.keys(cnf) + + keys.forEach(function (key) { + conf[key] = cnf[key] + }) +} +let w +export const draw = function (text, id) { + parser.yy.clear() + parser.parse(text) + + const elem = document.getElementById(id) + w = elem.parentElement.offsetWidth + + if (typeof w === 'undefined') { + w = 1200 + } + + if (typeof conf.useWidth !== 'undefined') { + w = conf.useWidth + } + + const taskArray = parser.yy.getTasks() + + // Set height based on number of tasks + const h = taskArray.length * (conf.barHeight + conf.barGap) + 2 * conf.topPadding + + elem.setAttribute('height', '100%') + // Set viewBox + elem.setAttribute('viewBox', '0 0 ' + w + ' ' + h) + const svg = d3.select(`[id="${id}"]`) + + // Set timescale + const timeScale = d3.scaleTime() + .domain([d3.min(taskArray, function (d) { + return d.startTime + }), + d3.max(taskArray, function (d) { + return d.endTime + })]) + .rangeRound([0, w - conf.leftPadding - conf.rightPadding]) + + let categories = [] + + for (let i = 0; i < taskArray.length; i++) { + categories.push(taskArray[i].type) + } + + const catsUnfiltered = categories // for vert labels + + categories = checkUnique(categories) + + makeGant(taskArray, w, h) + if (typeof conf.useWidth !== 'undefined') { + elem.setAttribute('width', w) + } + + svg.append('text') + .text(parser.yy.getTitle()) + .attr('x', w / 2) + .attr('y', conf.titleTopMargin) + .attr('class', 'titleText') + + function makeGant (tasks, pageWidth, pageHeight) { + const barHeight = conf.barHeight + const gap = barHeight + conf.barGap + const topPadding = conf.topPadding + const leftPadding = conf.leftPadding + + const colorScale = d3.scaleLinear() + .domain([0, categories.length]) + .range(['#00B9FA', '#F95002']) + .interpolate(d3.interpolateHcl) + + makeGrid(leftPadding, topPadding, pageWidth, pageHeight) + drawRects(tasks, gap, topPadding, leftPadding, barHeight, colorScale, pageWidth, pageHeight) + vertLabels(gap, topPadding, leftPadding, barHeight, colorScale) + drawToday(leftPadding, topPadding, pageWidth, pageHeight) + } + + function drawRects (theArray, theGap, theTopPad, theSidePad, theBarHeight, theColorScale, w, h) { + svg.append('g') + .selectAll('rect') + .data(theArray) + .enter() + .append('rect') + .attr('x', 0) + .attr('y', function (d, i) { + return i * theGap + theTopPad - 2 + }) + .attr('width', function () { + return w - conf.rightPadding / 2 + }) + .attr('height', theGap) + .attr('class', function (d) { + for (let i = 0; i < categories.length; i++) { + if (d.type === categories[i]) { + return 'section section' + (i % conf.numberSectionStyles) + } + } + return 'section section0' + }) + + const rectangles = svg.append('g') + .selectAll('rect') + .data(theArray) + .enter() + + rectangles.append('rect') + .attr('rx', 3) + .attr('ry', 3) + .attr('x', function (d) { + return timeScale(d.startTime) + theSidePad + }) + .attr('y', function (d, i) { + return i * theGap + theTopPad + }) + .attr('width', function (d) { + return (timeScale(d.endTime) - timeScale(d.startTime)) + }) + .attr('height', theBarHeight) + .attr('class', function (d) { + const res = 'task ' + + let secNum = 0 + for (let i = 0; i < categories.length; i++) { + if (d.type === categories[i]) { + secNum = (i % conf.numberSectionStyles) + } + } + + if (d.active) { + if (d.crit) { + return res + ' activeCrit' + secNum + } else { + return res + ' active' + secNum + } + } + + if (d.done) { + if (d.crit) { + return res + ' doneCrit' + secNum + } else { + return res + ' done' + secNum + } + } + + if (d.crit) { + return res + ' crit' + secNum + } + + return res + ' task' + secNum + }) + + rectangles.append('text') + .text(function (d) { + return d.task + }) + .attr('font-size', conf.fontSize) + .attr('x', function (d) { + const startX = timeScale(d.startTime) + const endX = timeScale(d.endTime) + const textWidth = this.getBBox().width + + // Check id text width > width of rectangle + if (textWidth > (endX - startX)) { + if (endX + textWidth + 1.5 * conf.leftPadding > w) { + return startX + theSidePad - 5 + } else { + return endX + theSidePad + 5 + } + } else { + return (endX - startX) / 2 + startX + theSidePad + } + }) + .attr('y', function (d, i) { + return i * theGap + (conf.barHeight / 2) + (conf.fontSize / 2 - 2) + theTopPad + }) + .attr('text-height', theBarHeight) + .attr('class', function (d) { + const startX = timeScale(d.startTime) + const endX = timeScale(d.endTime) + const textWidth = this.getBBox().width + let secNum = 0 + for (let i = 0; i < categories.length; i++) { + if (d.type === categories[i]) { + secNum = (i % conf.numberSectionStyles) + } + } + + let taskType = '' + if (d.active) { + if (d.crit) { + taskType = 'activeCritText' + secNum + } else { + taskType = 'activeText' + secNum + } + } + + if (d.done) { + if (d.crit) { + taskType = taskType + ' doneCritText' + secNum + } else { + taskType = taskType + ' doneText' + secNum + } + } else { + if (d.crit) { + taskType = taskType + ' critText' + secNum + } + } + + // Check id text width > width of rectangle + if (textWidth > (endX - startX)) { + if (endX + textWidth + 1.5 * conf.leftPadding > w) { + return 'taskTextOutsideLeft taskTextOutside' + secNum + ' ' + taskType + } else { + return 'taskTextOutsideRight taskTextOutside' + secNum + ' ' + taskType + } + } else { + return 'taskText taskText' + secNum + ' ' + taskType + } + }) + } + + function makeGrid (theSidePad, theTopPad, w, h) { + let xAxis = d3.axisBottom(timeScale) + .tickSize(-h + theTopPad + conf.gridLineStartPadding) + .tickFormat(d3.timeFormat(parser.yy.getAxisFormat() || conf.axisFormat || '%Y-%m-%d')) + + svg.append('g') + .attr('class', 'grid') + .attr('transform', 'translate(' + theSidePad + ', ' + (h - 50) + ')') + .call(xAxis) + .selectAll('text') + .style('text-anchor', 'middle') + .attr('fill', '#000') + .attr('stroke', 'none') + .attr('font-size', 10) + .attr('dy', '1em') + } + + function vertLabels (theGap, theTopPad) { + const numOccurances = [] + let prevGap = 0 + + for (let i = 0; i < categories.length; i++) { + numOccurances[i] = [categories[i], getCount(categories[i], catsUnfiltered)] + } + + svg.append('g') // without doing this, impossible to put grid lines behind text + .selectAll('text') + .data(numOccurances) + .enter() + .append('text') + .text(function (d) { + return d[0] + }) + .attr('x', 10) + .attr('y', function (d, i) { + if (i > 0) { + for (let j = 0; j < i; j++) { + prevGap += numOccurances[i - 1][1] + return d[1] * theGap / 2 + prevGap * theGap + theTopPad + } + } else { + return d[1] * theGap / 2 + theTopPad + } + }) + .attr('class', function (d) { + for (let i = 0; i < categories.length; i++) { + if (d[0] === categories[i]) { + return 'sectionTitle sectionTitle' + (i % conf.numberSectionStyles) + } + } + return 'sectionTitle' + }) + } + + function drawToday (theSidePad, theTopPad, w, h) { + const todayG = svg.append('g') + .attr('class', 'today') + + const today = new Date() + + todayG.append('line') + .attr('x1', timeScale(today) + theSidePad) + .attr('x2', timeScale(today) + theSidePad) + .attr('y1', conf.titleTopMargin) + .attr('y2', h - conf.titleTopMargin) + .attr('class', 'today') + } + + // from this stackexchange question: http://stackoverflow.com/questions/1890203/unique-for-arrays-in-javascript + function checkUnique (arr) { + const hash = {} + const result = [] + for (let i = 0, l = arr.length; i < l; ++i) { + if (!hash.hasOwnProperty(arr[i])) { // it works with objects! in FF, at least + hash[arr[i]] = true + result.push(arr[i]) + } + } + return result + } + + // from this stackexchange question: http://stackoverflow.com/questions/14227981/count-how-many-strings-in-an-array-have-duplicates-in-the-same-array + function getCounts (arr) { + let i = arr.length // const to loop over + const obj = {} // obj to store results + while (i) { + obj[arr[--i]] = (obj[arr[i]] || 0) + 1 // count occurrences + } + return obj + } + + // get specific from everything + function getCount (word, arr) { + return getCounts(arr)[word] || 0 + } +} + +export default { + setConf, + draw +} diff --git a/_submodules/mermaid/src/diagrams/gantt/parser/gantt.jison b/_submodules/mermaid/src/diagrams/gantt/parser/gantt.jison new file mode 100644 index 0000000000000000000000000000000000000000..49ab3ad477e027544f2ef62de2c709c7caeda6af --- /dev/null +++ b/_submodules/mermaid/src/diagrams/gantt/parser/gantt.jison @@ -0,0 +1,64 @@ +/** mermaid + * https://mermaidjs.github.io/ + * (c) 2015 Knut Sveidqvist + * MIT license. + */ +%lex + +%options case-insensitive + +%{ + // Pre-lexer code can go here +%} + +%% + +[\n]+ return 'NL'; +\s+ /* skip whitespace */ +\#[^\n]* /* skip comments */ +\%%[^\n]* /* skip comments */ +"gantt" return 'gantt'; +"dateFormat"\s[^#\n;]+ return 'dateFormat'; +"axisFormat"\s[^#\n;]+ return 'axisFormat'; +\d\d\d\d"-"\d\d"-"\d\d return 'date'; +"title"\s[^#\n;]+ return 'title'; +"section"\s[^#:\n;]+ return 'section'; +[^#:\n;]+ return 'taskTxt'; +":"[^#\n;]+ return 'taskData'; +":" return ':'; +<<EOF>> return 'EOF'; +. return 'INVALID'; + +/lex + +%left '^' + +%start start + +%% /* language grammar */ + +start + : gantt document 'EOF' { return $2; } + ; + +document + : /* empty */ { $$ = [] } + | document line {$1.push($2);$$ = $1} + ; + +line + : SPACE statement { $$ = $2 } + | statement { $$ = $1 } + | NL { $$=[];} + | EOF { $$=[];} + ; + +statement + : 'dateFormat' {yy.setDateFormat($1.substr(11));$$=$1.substr(11);} + | 'axisFormat' {yy.setAxisFormat($1.substr(11));$$=$1.substr(11);} + | title {yy.setTitle($1.substr(6));$$=$1.substr(6);} + | section {yy.addSection($1.substr(8));$$=$1.substr(8);} + | taskTxt taskData {yy.addTask($1,$2);$$='task';} + ; + +%% diff --git a/_submodules/mermaid/src/diagrams/gantt/parser/gantt.js b/_submodules/mermaid/src/diagrams/gantt/parser/gantt.js new file mode 100644 index 0000000000000000000000000000000000000000..38ff324ee092da87330859d58b37870f000f39b8 --- /dev/null +++ b/_submodules/mermaid/src/diagrams/gantt/parser/gantt.js @@ -0,0 +1,661 @@ +/* parser generated by jison 0.4.18 */ +/* + Returns a Parser object of the following structure: + + Parser: { + yy: {} + } + + Parser.prototype: { + yy: {}, + trace: function(), + symbols_: {associative list: name ==> number}, + terminals_: {associative list: number ==> name}, + productions_: [...], + performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$), + table: [...], + defaultActions: {...}, + parseError: function(str, hash), + parse: function(input), + + lexer: { + EOF: 1, + parseError: function(str, hash), + setInput: function(input), + input: function(), + unput: function(str), + more: function(), + less: function(n), + pastInput: function(), + upcomingInput: function(), + showPosition: function(), + test_match: function(regex_match_array, rule_index), + next: function(), + lex: function(), + begin: function(condition), + popState: function(), + _currentRules: function(), + topState: function(), + pushState: function(condition), + + options: { + ranges: boolean (optional: true ==> token location info will include a .range[] member) + flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match) + backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code) + }, + + performAction: function(yy, yy_, $avoiding_name_collisions, YY_START), + rules: [...], + conditions: {associative list: name ==> set}, + } + } + + + token location info (@$, _$, etc.): { + first_line: n, + last_line: n, + first_column: n, + last_column: n, + range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based) + } + + + the parseError function receives a 'hash' object with these members for lexer and parser errors: { + text: (matched text) + token: (the produced terminal token, if any) + line: (yylineno) + } + while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: { + loc: (yylloc) + expected: (string describing the set of expected tokens) + recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error) + } +*/ +var parser = (function(){ +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[6,8,10,11,12,13,14,15],$V1=[1,9],$V2=[1,10],$V3=[1,11],$V4=[1,12],$V5=[1,13]; +var parser = {trace: function trace() { }, +yy: {}, +symbols_: {"error":2,"start":3,"gantt":4,"document":5,"EOF":6,"line":7,"SPACE":8,"statement":9,"NL":10,"dateFormat":11,"axisFormat":12,"title":13,"section":14,"taskTxt":15,"taskData":16,"$accept":0,"$end":1}, +terminals_: {2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",11:"dateFormat",12:"axisFormat",13:"title",14:"section",15:"taskTxt",16:"taskData"}, +productions_: [0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,1],[9,1],[9,1],[9,2]], +performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { +/* this == yyval */ + +var $0 = $$.length - 1; +switch (yystate) { +case 1: + return $$[$0-1]; +break; +case 2: + this.$ = [] +break; +case 3: +$$[$0-1].push($$[$0]);this.$ = $$[$0-1] +break; +case 4: case 5: + this.$ = $$[$0] +break; +case 6: case 7: + this.$=[]; +break; +case 8: +yy.setDateFormat($$[$0].substr(11));this.$=$$[$0].substr(11); +break; +case 9: +yy.setAxisFormat($$[$0].substr(11));this.$=$$[$0].substr(11); +break; +case 10: +yy.setTitle($$[$0].substr(6));this.$=$$[$0].substr(6); +break; +case 11: +yy.addSection($$[$0].substr(8));this.$=$$[$0].substr(8); +break; +case 12: +yy.addTask($$[$0-1],$$[$0]);this.$='task'; +break; +} +}, +table: [{3:1,4:[1,2]},{1:[3]},o($V0,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:$V1,12:$V2,13:$V3,14:$V4,15:$V5},o($V0,[2,7],{1:[2,1]}),o($V0,[2,3]),{9:14,11:$V1,12:$V2,13:$V3,14:$V4,15:$V5},o($V0,[2,5]),o($V0,[2,6]),o($V0,[2,8]),o($V0,[2,9]),o($V0,[2,10]),o($V0,[2,11]),{16:[1,15]},o($V0,[2,4]),o($V0,[2,12])], +defaultActions: {}, +parseError: function parseError(str, hash) { + if (hash.recoverable) { + this.trace(str); + } else { + var error = new Error(str); + error.hash = hash; + throw error; + } +}, +parse: function parse(input) { + var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; + var args = lstack.slice.call(arguments, 1); + var lexer = Object.create(this.lexer); + var sharedState = { yy: {} }; + for (var k in this.yy) { + if (Object.prototype.hasOwnProperty.call(this.yy, k)) { + sharedState.yy[k] = this.yy[k]; + } + } + lexer.setInput(input, sharedState.yy); + sharedState.yy.lexer = lexer; + sharedState.yy.parser = this; + if (typeof lexer.yylloc == 'undefined') { + lexer.yylloc = {}; + } + var yyloc = lexer.yylloc; + lstack.push(yyloc); + var ranges = lexer.options && lexer.options.ranges; + if (typeof sharedState.yy.parseError === 'function') { + this.parseError = sharedState.yy.parseError; + } else { + this.parseError = Object.getPrototypeOf(this).parseError; + } + function popStack(n) { + stack.length = stack.length - 2 * n; + vstack.length = vstack.length - n; + lstack.length = lstack.length - n; + } + function lex() { + var token; + token = tstack.pop() || lexer.lex() || EOF; + if (typeof token !== 'number') { + if (token instanceof Array) { + tstack = token; + token = tstack.pop(); + } + token = self.symbols_[token] || token; + } + return token; + } + var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected; + while (true) { + state = stack[stack.length - 1]; + if (this.defaultActions[state]) { + action = this.defaultActions[state]; + } else { + if (symbol === null || typeof symbol == 'undefined') { + symbol = lex(); + } + action = table[state] && table[state][symbol]; + } + if (typeof action === 'undefined' || !action.length || !action[0]) { + var errStr = ''; + expected = []; + for (p in table[state]) { + if (this.terminals_[p] && p > TERROR) { + expected.push('\'' + this.terminals_[p] + '\''); + } + } + if (lexer.showPosition) { + errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\''; + } else { + errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\''); + } + this.parseError(errStr, { + text: lexer.match, + token: this.terminals_[symbol] || symbol, + line: lexer.yylineno, + loc: yyloc, + expected: expected + }); + } + if (action[0] instanceof Array && action.length > 1) { + throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); + } + switch (action[0]) { + case 1: + stack.push(symbol); + vstack.push(lexer.yytext); + lstack.push(lexer.yylloc); + stack.push(action[1]); + symbol = null; + if (!preErrorSymbol) { + yyleng = lexer.yyleng; + yytext = lexer.yytext; + yylineno = lexer.yylineno; + yyloc = lexer.yylloc; + if (recovering > 0) { + recovering--; + } + } else { + symbol = preErrorSymbol; + preErrorSymbol = null; + } + break; + case 2: + len = this.productions_[action[1]][1]; + yyval.$ = vstack[vstack.length - len]; + yyval._$ = { + first_line: lstack[lstack.length - (len || 1)].first_line, + last_line: lstack[lstack.length - 1].last_line, + first_column: lstack[lstack.length - (len || 1)].first_column, + last_column: lstack[lstack.length - 1].last_column + }; + if (ranges) { + yyval._$.range = [ + lstack[lstack.length - (len || 1)].range[0], + lstack[lstack.length - 1].range[1] + ]; + } + r = this.performAction.apply(yyval, [ + yytext, + yyleng, + yylineno, + sharedState.yy, + action[1], + vstack, + lstack + ].concat(args)); + if (typeof r !== 'undefined') { + return r; + } + if (len) { + stack = stack.slice(0, -1 * len * 2); + vstack = vstack.slice(0, -1 * len); + lstack = lstack.slice(0, -1 * len); + } + stack.push(this.productions_[action[1]][0]); + vstack.push(yyval.$); + lstack.push(yyval._$); + newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; + stack.push(newState); + break; + case 3: + return true; + } + } + return true; +}}; + +/* generated by jison-lex 0.3.4 */ +var lexer = (function(){ +var lexer = ({ + +EOF:1, + +parseError:function parseError(str, hash) { + if (this.yy.parser) { + this.yy.parser.parseError(str, hash); + } else { + throw new Error(str); + } + }, + +// resets the lexer, sets new input +setInput:function (input, yy) { + this.yy = yy || this.yy || {}; + this._input = input; + this._more = this._backtrack = this.done = false; + this.yylineno = this.yyleng = 0; + this.yytext = this.matched = this.match = ''; + this.conditionStack = ['INITIAL']; + this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }; + if (this.options.ranges) { + this.yylloc.range = [0,0]; + } + this.offset = 0; + return this; + }, + +// consumes and returns one char from the input +input:function () { + var ch = this._input[0]; + this.yytext += ch; + this.yyleng++; + this.offset++; + this.match += ch; + this.matched += ch; + var lines = ch.match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno++; + this.yylloc.last_line++; + } else { + this.yylloc.last_column++; + } + if (this.options.ranges) { + this.yylloc.range[1]++; + } + + this._input = this._input.slice(1); + return ch; + }, + +// unshifts one char (or a string) into the input +unput:function (ch) { + var len = ch.length; + var lines = ch.split(/(?:\r\n?|\n)/g); + + this._input = ch + this._input; + this.yytext = this.yytext.substr(0, this.yytext.length - len); + //this.yyleng -= len; + this.offset -= len; + var oldLines = this.match.split(/(?:\r\n?|\n)/g); + this.match = this.match.substr(0, this.match.length - 1); + this.matched = this.matched.substr(0, this.matched.length - 1); + + if (lines.length - 1) { + this.yylineno -= lines.length - 1; + } + var r = this.yylloc.range; + + this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: lines ? + (lines.length === oldLines.length ? this.yylloc.first_column : 0) + + oldLines[oldLines.length - lines.length].length - lines[0].length : + this.yylloc.first_column - len + }; + + if (this.options.ranges) { + this.yylloc.range = [r[0], r[0] + this.yyleng - len]; + } + this.yyleng = this.yytext.length; + return this; + }, + +// When called from action, caches matched text and appends it on next action +more:function () { + this._more = true; + return this; + }, + +// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. +reject:function () { + if (this.options.backtrack_lexer) { + this._backtrack = true; + } else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + + } + return this; + }, + +// retain first n characters of the match +less:function (n) { + this.unput(this.match.slice(n)); + }, + +// displays already matched input, i.e. for error messages +pastInput:function () { + var past = this.matched.substr(0, this.matched.length - this.match.length); + return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); + }, + +// displays upcoming input, i.e. for error messages +upcomingInput:function () { + var next = this.match; + if (next.length < 20) { + next += this._input.substr(0, 20-next.length); + } + return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); + }, + +// displays the character position where the lexing error occurred, i.e. for error messages +showPosition:function () { + var pre = this.pastInput(); + var c = new Array(pre.length + 1).join("-"); + return pre + this.upcomingInput() + "\n" + c + "^"; + }, + +// test the lexed token: return FALSE when not a match, otherwise return token +test_match:function (match, indexed_rule) { + var token, + lines, + backup; + + if (this.options.backtrack_lexer) { + // save context + backup = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }; + if (this.options.ranges) { + backup.yylloc.range = this.yylloc.range.slice(0); + } + } + + lines = match[0].match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno += lines.length; + } + this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: lines ? + lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : + this.yylloc.last_column + match[0].length + }; + this.yytext += match[0]; + this.match += match[0]; + this.matches = match; + this.yyleng = this.yytext.length; + if (this.options.ranges) { + this.yylloc.range = [this.offset, this.offset += this.yyleng]; + } + this._more = false; + this._backtrack = false; + this._input = this._input.slice(match[0].length); + this.matched += match[0]; + token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); + if (this.done && this._input) { + this.done = false; + } + if (token) { + return token; + } else if (this._backtrack) { + // recover context + for (var k in backup) { + this[k] = backup[k]; + } + return false; // rule action called reject() implying the next rule should be tested instead. + } + return false; + }, + +// return next match in input +next:function () { + if (this.done) { + return this.EOF; + } + if (!this._input) { + this.done = true; + } + + var token, + match, + tempMatch, + index; + if (!this._more) { + this.yytext = ''; + this.match = ''; + } + var rules = this._currentRules(); + for (var i = 0; i < rules.length; i++) { + tempMatch = this._input.match(this.rules[rules[i]]); + if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { + match = tempMatch; + index = i; + if (this.options.backtrack_lexer) { + token = this.test_match(tempMatch, rules[i]); + if (token !== false) { + return token; + } else if (this._backtrack) { + match = false; + continue; // rule action called reject() implying a rule MISmatch. + } else { + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + } else if (!this.options.flex) { + break; + } + } + } + if (match) { + token = this.test_match(match, rules[index]); + if (token !== false) { + return token; + } + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + if (this._input === "") { + return this.EOF; + } else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + } + }, + +// return next match that has a token +lex:function lex() { + var r = this.next(); + if (r) { + return r; + } else { + return this.lex(); + } + }, + +// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) +begin:function begin(condition) { + this.conditionStack.push(condition); + }, + +// pop the previously active lexer condition state off the condition stack +popState:function popState() { + var n = this.conditionStack.length - 1; + if (n > 0) { + return this.conditionStack.pop(); + } else { + return this.conditionStack[0]; + } + }, + +// produce the lexer rule set which is active for the currently active lexer condition state +_currentRules:function _currentRules() { + if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { + return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; + } else { + return this.conditions["INITIAL"].rules; + } + }, + +// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available +topState:function topState(n) { + n = this.conditionStack.length - 1 - Math.abs(n || 0); + if (n >= 0) { + return this.conditionStack[n]; + } else { + return "INITIAL"; + } + }, + +// alias for begin(condition) +pushState:function pushState(condition) { + this.begin(condition); + }, + +// return the number of states currently on the stack +stateStackSize:function stateStackSize() { + return this.conditionStack.length; + }, +options: {"case-insensitive":true}, +performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { + // Pre-lexer code can go here + +var YYSTATE=YY_START; +switch($avoiding_name_collisions) { +case 0:return 10; +break; +case 1:/* skip whitespace */ +break; +case 2:/* skip comments */ +break; +case 3:/* skip comments */ +break; +case 4:return 4; +break; +case 5:return 11; +break; +case 6:return 12; +break; +case 7:return 'date'; +break; +case 8:return 13; +break; +case 9:return 14; +break; +case 10:return 15; +break; +case 11:return 16; +break; +case 12:return ':'; +break; +case 13:return 6; +break; +case 14:return 'INVALID'; +break; +} +}, +rules: [/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i], +conditions: {"INITIAL":{"rules":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14],"inclusive":true}} +}); +return lexer; +})(); +parser.lexer = lexer; +function Parser () { + this.yy = {}; +} +Parser.prototype = parser;parser.Parser = Parser; +return new Parser; +})(); + + +if (typeof require !== 'undefined' && typeof exports !== 'undefined') { +exports.parser = parser; +exports.Parser = parser.Parser; +exports.parse = function () { return parser.parse.apply(parser, arguments); }; +exports.main = function commonjsMain(args) { + if (!args[1]) { + console.log('Usage: '+args[0]+' FILE'); + process.exit(1); + } + var source = require('fs').readFileSync(require('path').normalize(args[1]), "utf8"); + return exports.parser.parse(source); +}; +if (typeof module !== 'undefined' && require.main === module) { + exports.main(process.argv.slice(1)); +} +} \ No newline at end of file diff --git a/_submodules/mermaid/src/diagrams/git/gitGraphAst.js b/_submodules/mermaid/src/diagrams/git/gitGraphAst.js new file mode 100644 index 0000000000000000000000000000000000000000..e734453b761e66a73d1ab5ef5d668774fb166e83 --- /dev/null +++ b/_submodules/mermaid/src/diagrams/git/gitGraphAst.js @@ -0,0 +1,228 @@ +import _ from 'lodash' + +import { logger } from '../../logger' + +let commits = {} +let head = null +let branches = { 'master': head } +let curBranch = 'master' +let direction = 'LR' +let seq = 0 + +function getRandomInt (min, max) { + return Math.floor(Math.random() * (max - min)) + min +} + +function getId () { + const pool = '0123456789abcdef' + let id = '' + for (let i = 0; i < 7; i++) { + id += pool[getRandomInt(0, 16)] + } + return id +} + +function isfastforwardable (currentCommit, otherCommit) { + logger.debug('Entering isfastforwardable:', currentCommit.id, otherCommit.id) + while (currentCommit.seq <= otherCommit.seq && currentCommit !== otherCommit) { + // only if other branch has more commits + if (otherCommit.parent == null) break + if (Array.isArray(otherCommit.parent)) { + logger.debug('In merge commit:', otherCommit.parent) + return isfastforwardable(currentCommit, commits[otherCommit.parent[0]]) || + isfastforwardable(currentCommit, commits[otherCommit.parent[1]]) + } else { + otherCommit = commits[otherCommit.parent] + } + } + logger.debug(currentCommit.id, otherCommit.id) + return currentCommit.id === otherCommit.id +} + +function isReachableFrom (currentCommit, otherCommit) { + const currentSeq = currentCommit.seq + const otherSeq = otherCommit.seq + if (currentSeq > otherSeq) return isfastforwardable(otherCommit, currentCommit) + return false +} + +export const setDirection = function (dir) { + direction = dir +} +let options = {} +export const setOptions = function (rawOptString) { + logger.debug('options str', rawOptString) + rawOptString = rawOptString && rawOptString.trim() + rawOptString = rawOptString || '{}' + try { + options = JSON.parse(rawOptString) + } catch (e) { + logger.error('error while parsing gitGraph options', e.message) + } +} + +export const getOptions = function () { + return options +} + +export const commit = function (msg) { + const commit = { + id: getId(), + message: msg, + seq: seq++, + parent: head == null ? null : head.id + } + head = commit + commits[commit.id] = commit + branches[curBranch] = commit.id + logger.debug('in pushCommit ' + commit.id) +} + +export const branch = function (name) { + branches[name] = head != null ? head.id : null + logger.debug('in createBranch') +} + +export const merge = function (otherBranch) { + const currentCommit = commits[branches[curBranch]] + const otherCommit = commits[branches[otherBranch]] + if (isReachableFrom(currentCommit, otherCommit)) { + logger.debug('Already merged') + return + } + if (isfastforwardable(currentCommit, otherCommit)) { + branches[curBranch] = branches[otherBranch] + head = commits[branches[curBranch]] + } else { + // create merge commit + const commit = { + id: getId(), + message: 'merged branch ' + otherBranch + ' into ' + curBranch, + seq: seq++, + parent: [head == null ? null : head.id, branches[otherBranch]] + } + head = commit + commits[commit.id] = commit + branches[curBranch] = commit.id + } + logger.debug(branches) + logger.debug('in mergeBranch') +} + +export const checkout = function (branch) { + logger.debug('in checkout') + curBranch = branch + const id = branches[curBranch] + head = commits[id] +} + +export const reset = function (commitRef) { + logger.debug('in reset', commitRef) + const ref = commitRef.split(':')[0] + let parentCount = parseInt(commitRef.split(':')[1]) + let commit = ref === 'HEAD' ? head : commits[branches[ref]] + logger.debug(commit, parentCount) + while (parentCount > 0) { + commit = commits[commit.parent] + parentCount-- + if (!commit) { + const err = 'Critical error - unique parent commit not found during reset' + logger.error(err) + throw err + } + } + head = commit + branches[curBranch] = commit.id +} + +function upsert (arr, key, newval) { + const index = arr.indexOf(key) + if (index === -1) { + arr.push(newval) + } else { + arr.splice(index, 1, newval) + } +} + +function prettyPrintCommitHistory (commitArr) { + const commit = _.maxBy(commitArr, 'seq') + let line = '' + commitArr.forEach(function (c) { + if (c === commit) { + line += '\t*' + } else { + line += '\t|' + } + }) + const label = [line, commit.id, commit.seq] + _.each(branches, function (value, key) { + if (value === commit.id) label.push(key) + }) + logger.debug(label.join(' ')) + if (Array.isArray(commit.parent)) { + const newCommit = commits[commit.parent[0]] + upsert(commitArr, commit, newCommit) + commitArr.push(commits[commit.parent[1]]) + } else if (commit.parent == null) { + return + } else { + const nextCommit = commits[commit.parent] + upsert(commitArr, commit, nextCommit) + } + commitArr = _.uniqBy(commitArr, 'id') + prettyPrintCommitHistory(commitArr) +} + +export const prettyPrint = function () { + logger.debug(commits) + const node = getCommitsArray()[0] + prettyPrintCommitHistory([node]) +} + +export const clear = function () { + commits = {} + head = null + branches = { 'master': head } + curBranch = 'master' + seq = 0 +} + +export const getBranchesAsObjArray = function () { + const branchArr = _.map(branches, function (value, key) { + return { 'name': key, 'commit': commits[value] } + }) + return branchArr +} + +export const getBranches = function () { return branches } +export const getCommits = function () { return commits } +export const getCommitsArray = function () { + const commitArr = Object.keys(commits).map(function (key) { + return commits[key] + }) + commitArr.forEach(function (o) { logger.debug(o.id) }) + return _.orderBy(commitArr, ['seq'], ['desc']) +} +export const getCurrentBranch = function () { return curBranch } +export const getDirection = function () { return direction } +export const getHead = function () { return head } + +export default { + setDirection, + setOptions, + getOptions, + commit, + branch, + merge, + checkout, + reset, + prettyPrint, + clear, + getBranchesAsObjArray, + getBranches, + getCommits, + getCommitsArray, + getCurrentBranch, + getDirection, + getHead +} diff --git a/_submodules/mermaid/src/diagrams/git/gitGraphParser.spec.js b/_submodules/mermaid/src/diagrams/git/gitGraphParser.spec.js new file mode 100644 index 0000000000000000000000000000000000000000..aba2812d99ac3e2166a694de1fb700960ea9b30e --- /dev/null +++ b/_submodules/mermaid/src/diagrams/git/gitGraphParser.spec.js @@ -0,0 +1,241 @@ +/* eslint-env jasmine */ +import gitGraphAst from './gitGraphAst' +import { parser } from './parser/gitGraph' + +describe('when parsing a gitGraph', function () { + beforeEach(function () { + parser.yy = gitGraphAst + parser.yy.clear() + }) + it('should handle a gitGraph defintion', function () { + const str = 'gitGraph:\n' + + 'commit\n' + + parser.parse(str) + const commits = parser.yy.getCommits() + + expect(Object.keys(commits).length).toBe(1) + expect(parser.yy.getCurrentBranch()).toBe('master') + expect(parser.yy.getDirection()).toBe('LR') + expect(Object.keys(parser.yy.getBranches()).length).toBe(1) + }) + + it('should handle a gitGraph defintion with empty options', function () { + const str = 'gitGraph:\n' + + 'options\n' + + 'end\n' + + 'commit\n' + + parser.parse(str) + const commits = parser.yy.getCommits() + + expect(parser.yy.getOptions()).toEqual({}) + expect(Object.keys(commits).length).toBe(1) + expect(parser.yy.getCurrentBranch()).toBe('master') + expect(parser.yy.getDirection()).toBe('LR') + expect(Object.keys(parser.yy.getBranches()).length).toBe(1) + }) + + it('should handle a gitGraph defintion with valid options', function () { + const str = 'gitGraph:\n' + + 'options\n' + + '{"key": "value"}\n' + + 'end\n' + + 'commit\n' + + parser.parse(str) + const commits = parser.yy.getCommits() + expect(parser.yy.getOptions()['key']).toBe('value') + expect(Object.keys(commits).length).toBe(1) + expect(parser.yy.getCurrentBranch()).toBe('master') + expect(parser.yy.getDirection()).toBe('LR') + expect(Object.keys(parser.yy.getBranches()).length).toBe(1) + }) + + it('should not fail on a gitGraph with malformed json', function () { + const str = 'gitGraph:\n' + + 'options\n' + + '{"key": "value"\n' + + 'end\n' + + 'commit\n' + + parser.parse(str) + const commits = parser.yy.getCommits() + expect(Object.keys(commits).length).toBe(1) + expect(parser.yy.getCurrentBranch()).toBe('master') + expect(parser.yy.getDirection()).toBe('LR') + expect(Object.keys(parser.yy.getBranches()).length).toBe(1) + }) + + it('should handle set direction', function () { + const str = 'gitGraph BT:\n' + + 'commit\n' + + parser.parse(str) + const commits = parser.yy.getCommits() + + expect(Object.keys(commits).length).toBe(1) + expect(parser.yy.getCurrentBranch()).toBe('master') + expect(parser.yy.getDirection()).toBe('BT') + expect(Object.keys(parser.yy.getBranches()).length).toBe(1) + }) + + it('should checkout a branch', function () { + const str = 'gitGraph:\n' + + 'branch new\n' + + 'checkout new\n' + + parser.parse(str) + const commits = parser.yy.getCommits() + + expect(Object.keys(commits).length).toBe(0) + expect(parser.yy.getCurrentBranch()).toBe('new') + }) + + it('should add commits to checked out branch', function () { + const str = 'gitGraph:\n' + + 'branch new\n' + + 'checkout new\n' + + 'commit\n' + + 'commit\n' + + parser.parse(str) + const commits = parser.yy.getCommits() + + expect(Object.keys(commits).length).toBe(2) + expect(parser.yy.getCurrentBranch()).toBe('new') + const branchCommit = parser.yy.getBranches()['new'] + expect(branchCommit).not.toBeNull() + expect(commits[branchCommit].parent).not.toBeNull() + }) + it('should handle commit with args', function () { + const str = 'gitGraph:\n' + + 'commit "a commit"\n' + + parser.parse(str) + const commits = parser.yy.getCommits() + + expect(Object.keys(commits).length).toBe(1) + const key = Object.keys(commits)[0] + expect(commits[key].message).toBe('a commit') + expect(parser.yy.getCurrentBranch()).toBe('master') + }) + + it('it should reset a branch', function () { + const str = 'gitGraph:\n' + + 'commit\n' + + 'commit\n' + + 'branch newbranch\n' + + 'checkout newbranch\n' + + 'commit\n' + + 'reset master\n' + + parser.parse(str) + + const commits = parser.yy.getCommits() + expect(Object.keys(commits).length).toBe(3) + expect(parser.yy.getCurrentBranch()).toBe('newbranch') + expect(parser.yy.getBranches()['newbranch']).toEqual(parser.yy.getBranches()['master']) + expect(parser.yy.getHead().id).toEqual(parser.yy.getBranches()['newbranch']) + }) + + it('reset can take an argument', function () { + const str = 'gitGraph:\n' + + 'commit\n' + + 'commit\n' + + 'branch newbranch\n' + + 'checkout newbranch\n' + + 'commit\n' + + 'reset master^\n' + + parser.parse(str) + + const commits = parser.yy.getCommits() + expect(Object.keys(commits).length).toBe(3) + expect(parser.yy.getCurrentBranch()).toBe('newbranch') + const master = commits[parser.yy.getBranches()['master']] + expect(parser.yy.getHead().id).toEqual(master.parent) + }) + + it('it should handle fast forwardable merges', function () { + const str = 'gitGraph:\n' + + 'commit\n' + + 'branch newbranch\n' + + 'checkout newbranch\n' + + 'commit\n' + + 'commit\n' + + 'checkout master\n' + + 'merge newbranch\n' + + parser.parse(str) + + const commits = parser.yy.getCommits() + expect(Object.keys(commits).length).toBe(3) + expect(parser.yy.getCurrentBranch()).toBe('master') + expect(parser.yy.getBranches()['newbranch']).toEqual(parser.yy.getBranches()['master']) + expect(parser.yy.getHead().id).toEqual(parser.yy.getBranches()['newbranch']) + }) + + it('it should handle cases when merge is a noop', function () { + const str = 'gitGraph:\n' + + 'commit\n' + + 'branch newbranch\n' + + 'checkout newbranch\n' + + 'commit\n' + + 'commit\n' + + 'merge master\n' + + parser.parse(str) + + const commits = parser.yy.getCommits() + expect(Object.keys(commits).length).toBe(3) + expect(parser.yy.getCurrentBranch()).toBe('newbranch') + expect(parser.yy.getBranches()['newbranch']).not.toEqual(parser.yy.getBranches()['master']) + expect(parser.yy.getHead().id).toEqual(parser.yy.getBranches()['newbranch']) + }) + + it('it should handle merge with 2 parents', function () { + const str = 'gitGraph:\n' + + 'commit\n' + + 'branch newbranch\n' + + 'checkout newbranch\n' + + 'commit\n' + + 'commit\n' + + 'checkout master\n' + + 'commit\n' + + 'merge newbranch\n' + + parser.parse(str) + + const commits = parser.yy.getCommits() + expect(Object.keys(commits).length).toBe(5) + expect(parser.yy.getCurrentBranch()).toBe('master') + expect(parser.yy.getBranches()['newbranch']).not.toEqual(parser.yy.getBranches()['master']) + expect(parser.yy.getHead().id).toEqual(parser.yy.getBranches()['master']) + }) + + it('it should handle ff merge when history walk has two parents (merge commit)', function () { + const str = 'gitGraph:\n' + + 'commit\n' + + 'branch newbranch\n' + + 'checkout newbranch\n' + + 'commit\n' + + 'commit\n' + + 'checkout master\n' + + 'commit\n' + + 'merge newbranch\n' + + 'commit\n' + + 'checkout newbranch\n' + + 'merge master\n' + + parser.parse(str) + + const commits = parser.yy.getCommits() + expect(Object.keys(commits).length).toBe(6) + expect(parser.yy.getCurrentBranch()).toBe('newbranch') + expect(parser.yy.getBranches()['newbranch']).toEqual(parser.yy.getBranches()['master']) + expect(parser.yy.getHead().id).toEqual(parser.yy.getBranches()['master']) + + parser.yy.prettyPrint() + }) +}) diff --git a/_submodules/mermaid/src/diagrams/git/gitGraphRenderer.js b/_submodules/mermaid/src/diagrams/git/gitGraphRenderer.js new file mode 100644 index 0000000000000000000000000000000000000000..3ef56478da7e4d3ffddd0c9d23c0dd639c5dcc84 --- /dev/null +++ b/_submodules/mermaid/src/diagrams/git/gitGraphRenderer.js @@ -0,0 +1,280 @@ +import _ from 'lodash' +import * as d3 from 'd3' + +import db from './gitGraphAst' +import gitGraphParser from './parser/gitGraph' +import { logger } from '../../logger' +import { interpolateToCurve } from '../../utils' + +let allCommitsDict = {} +let branchNum +let config = { + nodeSpacing: 150, + nodeFillColor: 'yellow', + nodeStrokeWidth: 2, + nodeStrokeColor: 'grey', + lineStrokeWidth: 4, + branchOffset: 50, + lineColor: 'grey', + leftMargin: 50, + branchColors: ['#442f74', '#983351', '#609732', '#AA9A39'], + nodeRadius: 10, + nodeLabel: { + width: 75, + height: 100, + x: -25, + y: 0 + } +} +let apiConfig = {} +export const setConf = function (c) { + apiConfig = c +} + +function svgCreateDefs (svg) { + svg + .append('defs') + .append('g') + .attr('id', 'def-commit') + .append('circle') + .attr('r', config.nodeRadius) + .attr('cx', 0) + .attr('cy', 0) + svg.select('#def-commit') + .append('foreignObject') + .attr('width', config.nodeLabel.width) + .attr('height', config.nodeLabel.height) + .attr('x', config.nodeLabel.x) + .attr('y', config.nodeLabel.y) + .attr('class', 'node-label') + .attr('requiredFeatures', 'http://www.w3.org/TR/SVG11/feature#Extensibility') + .append('p') + .html('') +} + +function svgDrawLine (svg, points, colorIdx, interpolate) { + const curve = interpolateToCurve(interpolate, d3.curveBasis) + const color = config.branchColors[colorIdx % config.branchColors.length] + const lineGen = d3.line() + .x(function (d) { + return Math.round(d.x) + }) + .y(function (d) { + return Math.round(d.y) + }) + .curve(curve) + + svg + .append('svg:path') + .attr('d', lineGen(points)) + .style('stroke', color) + .style('stroke-width', config.lineStrokeWidth) + .style('fill', 'none') +} + +// Pass in the element and its pre-transform coords +function getElementCoords (element, coords) { + coords = coords || element.node().getBBox() + const ctm = element.node().getCTM() + const xn = ctm.e + coords.x * ctm.a + const yn = ctm.f + coords.y * ctm.d + return { + left: xn, + top: yn, + width: coords.width, + height: coords.height + } +} + +function svgDrawLineForCommits (svg, fromId, toId, direction, color) { + logger.debug('svgDrawLineForCommits: ', fromId, toId) + const fromBbox = getElementCoords(svg.select('#node-' + fromId + ' circle')) + const toBbox = getElementCoords(svg.select('#node-' + toId + ' circle')) + switch (direction) { + case 'LR': + // (toBbox) + // +-------- + // + (fromBbox) + if (fromBbox.left - toBbox.left > config.nodeSpacing) { + const lineStart = { x: fromBbox.left - config.nodeSpacing, y: toBbox.top + toBbox.height / 2 } + const lineEnd = { x: toBbox.left + toBbox.width, y: toBbox.top + toBbox.height / 2 } + svgDrawLine(svg, [lineStart, lineEnd], color, 'linear') + svgDrawLine(svg, [ + { x: fromBbox.left, y: fromBbox.top + fromBbox.height / 2 }, + { x: fromBbox.left - config.nodeSpacing / 2, y: fromBbox.top + fromBbox.height / 2 }, + { x: fromBbox.left - config.nodeSpacing / 2, y: lineStart.y }, + lineStart], color) + } else { + svgDrawLine(svg, [{ + 'x': fromBbox.left, + 'y': fromBbox.top + fromBbox.height / 2 + }, { + 'x': fromBbox.left - config.nodeSpacing / 2, + 'y': fromBbox.top + fromBbox.height / 2 + }, { + 'x': fromBbox.left - config.nodeSpacing / 2, + 'y': toBbox.top + toBbox.height / 2 + }, { + 'x': toBbox.left + toBbox.width, + 'y': toBbox.top + toBbox.height / 2 + }], color) + } + break + case 'BT': + // + (fromBbox) + // | + // | + // + (toBbox) + if (toBbox.top - fromBbox.top > config.nodeSpacing) { + const lineStart = { x: toBbox.left + toBbox.width / 2, y: fromBbox.top + fromBbox.height + config.nodeSpacing } + const lineEnd = { x: toBbox.left + toBbox.width / 2, y: toBbox.top } + svgDrawLine(svg, [lineStart, lineEnd], color, 'linear') + svgDrawLine(svg, [ + { x: fromBbox.left + fromBbox.width / 2, y: fromBbox.top + fromBbox.height }, + { x: fromBbox.left + fromBbox.width / 2, y: fromBbox.top + fromBbox.height + config.nodeSpacing / 2 }, + { x: toBbox.left + toBbox.width / 2, y: lineStart.y - config.nodeSpacing / 2 }, + lineStart], color) + } else { + svgDrawLine(svg, [{ + 'x': fromBbox.left + fromBbox.width / 2, + 'y': fromBbox.top + fromBbox.height + }, { + 'x': fromBbox.left + fromBbox.width / 2, + 'y': fromBbox.top + config.nodeSpacing / 2 + }, { + 'x': toBbox.left + toBbox.width / 2, + 'y': toBbox.top - config.nodeSpacing / 2 + }, { + 'x': toBbox.left + toBbox.width / 2, + 'y': toBbox.top + }], color) + } + break + } +} + +function cloneNode (svg, selector) { + return svg.select(selector).node().cloneNode(true) +} + +function renderCommitHistory (svg, commitid, branches, direction) { + let commit + const numCommits = Object.keys(allCommitsDict).length + if (_.isString(commitid)) { + do { + commit = allCommitsDict[commitid] + logger.debug('in renderCommitHistory', commit.id, commit.seq) + if (svg.select('#node-' + commitid).size() > 0) { + return + } + svg + .append(function () { + return cloneNode(svg, '#def-commit') + }) + .attr('class', 'commit') + .attr('id', function () { + return 'node-' + commit.id + }) + .attr('transform', function () { + switch (direction) { + case 'LR': + return 'translate(' + (commit.seq * config.nodeSpacing + config.leftMargin) + ', ' + + (branchNum * config.branchOffset) + ')' + case 'BT': + return 'translate(' + (branchNum * config.branchOffset + config.leftMargin) + ', ' + + ((numCommits - commit.seq) * config.nodeSpacing) + ')' + } + }) + .attr('fill', config.nodeFillColor) + .attr('stroke', config.nodeStrokeColor) + .attr('stroke-width', config.nodeStrokeWidth) + + const branch = _.find(branches, ['commit', commit]) + if (branch) { + logger.debug('found branch ', branch.name) + svg.select('#node-' + commit.id + ' p') + .append('xhtml:span') + .attr('class', 'branch-label') + .text(branch.name + ', ') + } + svg.select('#node-' + commit.id + ' p') + .append('xhtml:span') + .attr('class', 'commit-id') + .text(commit.id) + if (commit.message !== '' && direction === 'BT') { + svg.select('#node-' + commit.id + ' p') + .append('xhtml:span') + .attr('class', 'commit-msg') + .text(', ' + commit.message) + } + commitid = commit.parent + } while (commitid && allCommitsDict[commitid]) + } + + if (_.isArray(commitid)) { + logger.debug('found merge commmit', commitid) + renderCommitHistory(svg, commitid[0], branches, direction) + branchNum++ + renderCommitHistory(svg, commitid[1], branches, direction) + branchNum-- + } +} + +function renderLines (svg, commit, direction, branchColor) { + branchColor = branchColor || 0 + while (commit.seq > 0 && !commit.lineDrawn) { + if (_.isString(commit.parent)) { + svgDrawLineForCommits(svg, commit.id, commit.parent, direction, branchColor) + commit.lineDrawn = true + commit = allCommitsDict[commit.parent] + } else if (_.isArray(commit.parent)) { + svgDrawLineForCommits(svg, commit.id, commit.parent[0], direction, branchColor) + svgDrawLineForCommits(svg, commit.id, commit.parent[1], direction, branchColor + 1) + renderLines(svg, allCommitsDict[commit.parent[1]], direction, branchColor + 1) + commit.lineDrawn = true + commit = allCommitsDict[commit.parent[0]] + } + } +} + +export const draw = function (txt, id, ver) { + try { + const parser = gitGraphParser.parser + parser.yy = db + + logger.debug('in gitgraph renderer', txt, id, ver) + // Parse the graph definition + parser.parse(txt + '\n') + + config = _.extend(config, apiConfig, db.getOptions()) + logger.debug('effective options', config) + const direction = db.getDirection() + allCommitsDict = db.getCommits() + const branches = db.getBranchesAsObjArray() + if (direction === 'BT') { + config.nodeLabel.x = branches.length * config.branchOffset + config.nodeLabel.width = '100%' + config.nodeLabel.y = -1 * 2 * config.nodeRadius + } + const svg = d3.select(`[id="${id}"]`) + svgCreateDefs(svg) + branchNum = 1 + _.each(branches, function (v) { + renderCommitHistory(svg, v.commit.id, branches, direction) + renderLines(svg, v.commit, direction) + branchNum++ + }) + svg.attr('height', function () { + if (direction === 'BT') return Object.keys(allCommitsDict).length * config.nodeSpacing + return (branches.length + 1) * config.branchOffset + }) + } catch (e) { + logger.error('Error while rendering gitgraph') + logger.error(e.message) + } +} + +export default { + setConf, + draw +} diff --git a/_submodules/mermaid/src/diagrams/git/parser/gitGraph.jison b/_submodules/mermaid/src/diagrams/git/parser/gitGraph.jison new file mode 100644 index 0000000000000000000000000000000000000000..e675a56e45fba82802e940bc7b8eb074a3d89192 --- /dev/null +++ b/_submodules/mermaid/src/diagrams/git/parser/gitGraph.jison @@ -0,0 +1,92 @@ + +/* + * Parse following + * gitGraph: + * commit + * commit + * branch + */ +%lex + +%x string +%x options +%options case-insensitive + +%% + +(\r?\n)+ return 'NL'; +\s+ /* skip all whitespace */ +\#[^\n]* /* skip comments */ +\%%[^\n]* /* skip comments */ +"gitGraph" return 'GG'; +"commit" return 'COMMIT'; +"branch" return 'BRANCH'; +"merge" return 'MERGE'; +"reset" return 'RESET'; +"checkout" return 'CHECKOUT'; +"LR" return 'DIR'; +"BT" return 'DIR'; +":" return ':'; +"^" return 'CARET' +"options"\r?\n this.begin("options"); +<options>"end"\r?\n this.popState(); +<options>[^\n]+\r?\n return 'OPT'; +["] this.begin("string"); +<string>["] this.popState(); +<string>[^"]* return 'STR'; +[a-zA-Z][a-zA-Z0-9_]+ return 'ID'; +<<EOF>> return 'EOF'; + +/lex + +%left '^' + +%start start + +%% /* language grammar */ + +start + : GG ':' document EOF{ return $3; } + | GG DIR ':' document EOF {yy.setDirection($2); return $4;} + ; + + +document + : /*empty*/ + | options body { yy.setOptions($1); $$ = $2} + ; + +options + : options OPT {$1 +=$2; $$=$1} + | NL + ; +body + : /*emmpty*/ {$$ = []} + | body line {$1.push($2); $$=$1;} + ; +line + : statement NL{$$ =$1} + | NL + ; + +statement + : COMMIT commit_arg {yy.commit($2)} + | BRANCH ID {yy.branch($2)} + | CHECKOUT ID {yy.checkout($2)} + | MERGE ID {yy.merge($2)} + | RESET reset_arg {yy.reset($2)} + ; + +commit_arg + : /* empty */ {$$ = ""} + | STR {$$=$1} + ; + +reset_arg + : 'HEAD' reset_parents{$$ = $1+ ":" + $2 } + | ID reset_parents{$$ = $1+ ":" + yy.count; yy.count = 0} + ; +reset_parents + : /* empty */ {yy.count = 0} + | CARET reset_parents { yy.count += 1 } + ; diff --git a/_submodules/mermaid/src/diagrams/git/parser/gitGraph.js b/_submodules/mermaid/src/diagrams/git/parser/gitGraph.js new file mode 100644 index 0000000000000000000000000000000000000000..fd981cafb53fe346f0457b00a881b850530ce586 --- /dev/null +++ b/_submodules/mermaid/src/diagrams/git/parser/gitGraph.js @@ -0,0 +1,696 @@ +/* parser generated by jison 0.4.18 */ +/* + Returns a Parser object of the following structure: + + Parser: { + yy: {} + } + + Parser.prototype: { + yy: {}, + trace: function(), + symbols_: {associative list: name ==> number}, + terminals_: {associative list: number ==> name}, + productions_: [...], + performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$), + table: [...], + defaultActions: {...}, + parseError: function(str, hash), + parse: function(input), + + lexer: { + EOF: 1, + parseError: function(str, hash), + setInput: function(input), + input: function(), + unput: function(str), + more: function(), + less: function(n), + pastInput: function(), + upcomingInput: function(), + showPosition: function(), + test_match: function(regex_match_array, rule_index), + next: function(), + lex: function(), + begin: function(condition), + popState: function(), + _currentRules: function(), + topState: function(), + pushState: function(condition), + + options: { + ranges: boolean (optional: true ==> token location info will include a .range[] member) + flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match) + backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code) + }, + + performAction: function(yy, yy_, $avoiding_name_collisions, YY_START), + rules: [...], + conditions: {associative list: name ==> set}, + } + } + + + token location info (@$, _$, etc.): { + first_line: n, + last_line: n, + first_column: n, + last_column: n, + range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based) + } + + + the parseError function receives a 'hash' object with these members for lexer and parser errors: { + text: (matched text) + token: (the produced terminal token, if any) + line: (yylineno) + } + while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: { + loc: (yylloc) + expected: (string describing the set of expected tokens) + recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error) + } +*/ +var parser = (function(){ +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[2,3],$V1=[1,7],$V2=[7,12,15,17,19,20,21],$V3=[7,11,12,15,17,19,20,21],$V4=[2,20],$V5=[1,32]; +var parser = {trace: function trace() { }, +yy: {}, +symbols_: {"error":2,"start":3,"GG":4,":":5,"document":6,"EOF":7,"DIR":8,"options":9,"body":10,"OPT":11,"NL":12,"line":13,"statement":14,"COMMIT":15,"commit_arg":16,"BRANCH":17,"ID":18,"CHECKOUT":19,"MERGE":20,"RESET":21,"reset_arg":22,"STR":23,"HEAD":24,"reset_parents":25,"CARET":26,"$accept":0,"$end":1}, +terminals_: {2:"error",4:"GG",5:":",7:"EOF",8:"DIR",11:"OPT",12:"NL",15:"COMMIT",17:"BRANCH",18:"ID",19:"CHECKOUT",20:"MERGE",21:"RESET",23:"STR",24:"HEAD",26:"CARET"}, +productions_: [0,[3,4],[3,5],[6,0],[6,2],[9,2],[9,1],[10,0],[10,2],[13,2],[13,1],[14,2],[14,2],[14,2],[14,2],[14,2],[16,0],[16,1],[22,2],[22,2],[25,0],[25,2]], +performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { +/* this == yyval */ + +var $0 = $$.length - 1; +switch (yystate) { +case 1: + return $$[$0-1]; +break; +case 2: +yy.setDirection($$[$0-3]); return $$[$0-1]; +break; +case 4: + yy.setOptions($$[$0-1]); this.$ = $$[$0] +break; +case 5: +$$[$0-1] +=$$[$0]; this.$=$$[$0-1] +break; +case 7: +this.$ = [] +break; +case 8: +$$[$0-1].push($$[$0]); this.$=$$[$0-1]; +break; +case 9: +this.$ =$$[$0-1] +break; +case 11: +yy.commit($$[$0]) +break; +case 12: +yy.branch($$[$0]) +break; +case 13: +yy.checkout($$[$0]) +break; +case 14: +yy.merge($$[$0]) +break; +case 15: +yy.reset($$[$0]) +break; +case 16: +this.$ = "" +break; +case 17: +this.$=$$[$0] +break; +case 18: +this.$ = $$[$0-1]+ ":" + $$[$0] +break; +case 19: +this.$ = $$[$0-1]+ ":" + yy.count; yy.count = 0 +break; +case 20: +yy.count = 0 +break; +case 21: + yy.count += 1 +break; +} +}, +table: [{3:1,4:[1,2]},{1:[3]},{5:[1,3],8:[1,4]},{6:5,7:$V0,9:6,12:$V1},{5:[1,8]},{7:[1,9]},o($V2,[2,7],{10:10,11:[1,11]}),o($V3,[2,6]),{6:12,7:$V0,9:6,12:$V1},{1:[2,1]},{7:[2,4],12:[1,15],13:13,14:14,15:[1,16],17:[1,17],19:[1,18],20:[1,19],21:[1,20]},o($V3,[2,5]),{7:[1,21]},o($V2,[2,8]),{12:[1,22]},o($V2,[2,10]),{12:[2,16],16:23,23:[1,24]},{18:[1,25]},{18:[1,26]},{18:[1,27]},{18:[1,30],22:28,24:[1,29]},{1:[2,2]},o($V2,[2,9]),{12:[2,11]},{12:[2,17]},{12:[2,12]},{12:[2,13]},{12:[2,14]},{12:[2,15]},{12:$V4,25:31,26:$V5},{12:$V4,25:33,26:$V5},{12:[2,18]},{12:$V4,25:34,26:$V5},{12:[2,19]},{12:[2,21]}], +defaultActions: {9:[2,1],21:[2,2],23:[2,11],24:[2,17],25:[2,12],26:[2,13],27:[2,14],28:[2,15],31:[2,18],33:[2,19],34:[2,21]}, +parseError: function parseError(str, hash) { + if (hash.recoverable) { + this.trace(str); + } else { + var error = new Error(str); + error.hash = hash; + throw error; + } +}, +parse: function parse(input) { + var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; + var args = lstack.slice.call(arguments, 1); + var lexer = Object.create(this.lexer); + var sharedState = { yy: {} }; + for (var k in this.yy) { + if (Object.prototype.hasOwnProperty.call(this.yy, k)) { + sharedState.yy[k] = this.yy[k]; + } + } + lexer.setInput(input, sharedState.yy); + sharedState.yy.lexer = lexer; + sharedState.yy.parser = this; + if (typeof lexer.yylloc == 'undefined') { + lexer.yylloc = {}; + } + var yyloc = lexer.yylloc; + lstack.push(yyloc); + var ranges = lexer.options && lexer.options.ranges; + if (typeof sharedState.yy.parseError === 'function') { + this.parseError = sharedState.yy.parseError; + } else { + this.parseError = Object.getPrototypeOf(this).parseError; + } + function popStack(n) { + stack.length = stack.length - 2 * n; + vstack.length = vstack.length - n; + lstack.length = lstack.length - n; + } + function lex() { + var token; + token = tstack.pop() || lexer.lex() || EOF; + if (typeof token !== 'number') { + if (token instanceof Array) { + tstack = token; + token = tstack.pop(); + } + token = self.symbols_[token] || token; + } + return token; + } + var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected; + while (true) { + state = stack[stack.length - 1]; + if (this.defaultActions[state]) { + action = this.defaultActions[state]; + } else { + if (symbol === null || typeof symbol == 'undefined') { + symbol = lex(); + } + action = table[state] && table[state][symbol]; + } + if (typeof action === 'undefined' || !action.length || !action[0]) { + var errStr = ''; + expected = []; + for (p in table[state]) { + if (this.terminals_[p] && p > TERROR) { + expected.push('\'' + this.terminals_[p] + '\''); + } + } + if (lexer.showPosition) { + errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\''; + } else { + errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\''); + } + this.parseError(errStr, { + text: lexer.match, + token: this.terminals_[symbol] || symbol, + line: lexer.yylineno, + loc: yyloc, + expected: expected + }); + } + if (action[0] instanceof Array && action.length > 1) { + throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); + } + switch (action[0]) { + case 1: + stack.push(symbol); + vstack.push(lexer.yytext); + lstack.push(lexer.yylloc); + stack.push(action[1]); + symbol = null; + if (!preErrorSymbol) { + yyleng = lexer.yyleng; + yytext = lexer.yytext; + yylineno = lexer.yylineno; + yyloc = lexer.yylloc; + if (recovering > 0) { + recovering--; + } + } else { + symbol = preErrorSymbol; + preErrorSymbol = null; + } + break; + case 2: + len = this.productions_[action[1]][1]; + yyval.$ = vstack[vstack.length - len]; + yyval._$ = { + first_line: lstack[lstack.length - (len || 1)].first_line, + last_line: lstack[lstack.length - 1].last_line, + first_column: lstack[lstack.length - (len || 1)].first_column, + last_column: lstack[lstack.length - 1].last_column + }; + if (ranges) { + yyval._$.range = [ + lstack[lstack.length - (len || 1)].range[0], + lstack[lstack.length - 1].range[1] + ]; + } + r = this.performAction.apply(yyval, [ + yytext, + yyleng, + yylineno, + sharedState.yy, + action[1], + vstack, + lstack + ].concat(args)); + if (typeof r !== 'undefined') { + return r; + } + if (len) { + stack = stack.slice(0, -1 * len * 2); + vstack = vstack.slice(0, -1 * len); + lstack = lstack.slice(0, -1 * len); + } + stack.push(this.productions_[action[1]][0]); + vstack.push(yyval.$); + lstack.push(yyval._$); + newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; + stack.push(newState); + break; + case 3: + return true; + } + } + return true; +}}; +/* generated by jison-lex 0.3.4 */ +var lexer = (function(){ +var lexer = ({ + +EOF:1, + +parseError:function parseError(str, hash) { + if (this.yy.parser) { + this.yy.parser.parseError(str, hash); + } else { + throw new Error(str); + } + }, + +// resets the lexer, sets new input +setInput:function (input, yy) { + this.yy = yy || this.yy || {}; + this._input = input; + this._more = this._backtrack = this.done = false; + this.yylineno = this.yyleng = 0; + this.yytext = this.matched = this.match = ''; + this.conditionStack = ['INITIAL']; + this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }; + if (this.options.ranges) { + this.yylloc.range = [0,0]; + } + this.offset = 0; + return this; + }, + +// consumes and returns one char from the input +input:function () { + var ch = this._input[0]; + this.yytext += ch; + this.yyleng++; + this.offset++; + this.match += ch; + this.matched += ch; + var lines = ch.match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno++; + this.yylloc.last_line++; + } else { + this.yylloc.last_column++; + } + if (this.options.ranges) { + this.yylloc.range[1]++; + } + + this._input = this._input.slice(1); + return ch; + }, + +// unshifts one char (or a string) into the input +unput:function (ch) { + var len = ch.length; + var lines = ch.split(/(?:\r\n?|\n)/g); + + this._input = ch + this._input; + this.yytext = this.yytext.substr(0, this.yytext.length - len); + //this.yyleng -= len; + this.offset -= len; + var oldLines = this.match.split(/(?:\r\n?|\n)/g); + this.match = this.match.substr(0, this.match.length - 1); + this.matched = this.matched.substr(0, this.matched.length - 1); + + if (lines.length - 1) { + this.yylineno -= lines.length - 1; + } + var r = this.yylloc.range; + + this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: lines ? + (lines.length === oldLines.length ? this.yylloc.first_column : 0) + + oldLines[oldLines.length - lines.length].length - lines[0].length : + this.yylloc.first_column - len + }; + + if (this.options.ranges) { + this.yylloc.range = [r[0], r[0] + this.yyleng - len]; + } + this.yyleng = this.yytext.length; + return this; + }, + +// When called from action, caches matched text and appends it on next action +more:function () { + this._more = true; + return this; + }, + +// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. +reject:function () { + if (this.options.backtrack_lexer) { + this._backtrack = true; + } else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + + } + return this; + }, + +// retain first n characters of the match +less:function (n) { + this.unput(this.match.slice(n)); + }, + +// displays already matched input, i.e. for error messages +pastInput:function () { + var past = this.matched.substr(0, this.matched.length - this.match.length); + return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); + }, + +// displays upcoming input, i.e. for error messages +upcomingInput:function () { + var next = this.match; + if (next.length < 20) { + next += this._input.substr(0, 20-next.length); + } + return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); + }, + +// displays the character position where the lexing error occurred, i.e. for error messages +showPosition:function () { + var pre = this.pastInput(); + var c = new Array(pre.length + 1).join("-"); + return pre + this.upcomingInput() + "\n" + c + "^"; + }, + +// test the lexed token: return FALSE when not a match, otherwise return token +test_match:function (match, indexed_rule) { + var token, + lines, + backup; + + if (this.options.backtrack_lexer) { + // save context + backup = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }; + if (this.options.ranges) { + backup.yylloc.range = this.yylloc.range.slice(0); + } + } + + lines = match[0].match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno += lines.length; + } + this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: lines ? + lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : + this.yylloc.last_column + match[0].length + }; + this.yytext += match[0]; + this.match += match[0]; + this.matches = match; + this.yyleng = this.yytext.length; + if (this.options.ranges) { + this.yylloc.range = [this.offset, this.offset += this.yyleng]; + } + this._more = false; + this._backtrack = false; + this._input = this._input.slice(match[0].length); + this.matched += match[0]; + token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); + if (this.done && this._input) { + this.done = false; + } + if (token) { + return token; + } else if (this._backtrack) { + // recover context + for (var k in backup) { + this[k] = backup[k]; + } + return false; // rule action called reject() implying the next rule should be tested instead. + } + return false; + }, + +// return next match in input +next:function () { + if (this.done) { + return this.EOF; + } + if (!this._input) { + this.done = true; + } + + var token, + match, + tempMatch, + index; + if (!this._more) { + this.yytext = ''; + this.match = ''; + } + var rules = this._currentRules(); + for (var i = 0; i < rules.length; i++) { + tempMatch = this._input.match(this.rules[rules[i]]); + if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { + match = tempMatch; + index = i; + if (this.options.backtrack_lexer) { + token = this.test_match(tempMatch, rules[i]); + if (token !== false) { + return token; + } else if (this._backtrack) { + match = false; + continue; // rule action called reject() implying a rule MISmatch. + } else { + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + } else if (!this.options.flex) { + break; + } + } + } + if (match) { + token = this.test_match(match, rules[index]); + if (token !== false) { + return token; + } + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + if (this._input === "") { + return this.EOF; + } else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + } + }, + +// return next match that has a token +lex:function lex() { + var r = this.next(); + if (r) { + return r; + } else { + return this.lex(); + } + }, + +// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) +begin:function begin(condition) { + this.conditionStack.push(condition); + }, + +// pop the previously active lexer condition state off the condition stack +popState:function popState() { + var n = this.conditionStack.length - 1; + if (n > 0) { + return this.conditionStack.pop(); + } else { + return this.conditionStack[0]; + } + }, + +// produce the lexer rule set which is active for the currently active lexer condition state +_currentRules:function _currentRules() { + if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { + return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; + } else { + return this.conditions["INITIAL"].rules; + } + }, + +// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available +topState:function topState(n) { + n = this.conditionStack.length - 1 - Math.abs(n || 0); + if (n >= 0) { + return this.conditionStack[n]; + } else { + return "INITIAL"; + } + }, + +// alias for begin(condition) +pushState:function pushState(condition) { + this.begin(condition); + }, + +// return the number of states currently on the stack +stateStackSize:function stateStackSize() { + return this.conditionStack.length; + }, +options: {"case-insensitive":true}, +performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { +var YYSTATE=YY_START; +switch($avoiding_name_collisions) { +case 0:return 12; +break; +case 1:/* skip all whitespace */ +break; +case 2:/* skip comments */ +break; +case 3:/* skip comments */ +break; +case 4:return 4; +break; +case 5:return 15; +break; +case 6:return 17; +break; +case 7:return 20; +break; +case 8:return 21; +break; +case 9:return 19; +break; +case 10:return 8; +break; +case 11:return 8; +break; +case 12:return 5; +break; +case 13:return 26 +break; +case 14:this.begin("options"); +break; +case 15:this.popState(); +break; +case 16:return 11; +break; +case 17:this.begin("string"); +break; +case 18:this.popState(); +break; +case 19:return 23; +break; +case 20:return 18; +break; +case 21:return 7; +break; +} +}, +rules: [/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gitGraph\b)/i,/^(?:commit\b)/i,/^(?:branch\b)/i,/^(?:merge\b)/i,/^(?:reset\b)/i,/^(?:checkout\b)/i,/^(?:LR\b)/i,/^(?:BT\b)/i,/^(?::)/i,/^(?:\^)/i,/^(?:options\r?\n)/i,/^(?:end\r?\n)/i,/^(?:[^\n]+\r?\n)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[a-zA-Z][a-zA-Z0-9_]+)/i,/^(?:$)/i], +conditions: {"options":{"rules":[15,16],"inclusive":false},"string":{"rules":[18,19],"inclusive":false},"INITIAL":{"rules":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,17,20,21],"inclusive":true}} +}); +return lexer; +})(); +parser.lexer = lexer; +function Parser () { + this.yy = {}; +} +Parser.prototype = parser;parser.Parser = Parser; +return new Parser; +})(); + + +if (typeof require !== 'undefined' && typeof exports !== 'undefined') { +exports.parser = parser; +exports.Parser = parser.Parser; +exports.parse = function () { return parser.parse.apply(parser, arguments); }; +exports.main = function commonjsMain(args) { + if (!args[1]) { + console.log('Usage: '+args[0]+' FILE'); + process.exit(1); + } + var source = require('fs').readFileSync(require('path').normalize(args[1]), "utf8"); + return exports.parser.parse(source); +}; +if (typeof module !== 'undefined' && require.main === module) { + exports.main(process.argv.slice(1)); +} +} \ No newline at end of file diff --git a/_submodules/mermaid/src/diagrams/sequence/parser/sequenceDiagram.jison b/_submodules/mermaid/src/diagrams/sequence/parser/sequenceDiagram.jison new file mode 100644 index 0000000000000000000000000000000000000000..507956ee49ad978027602a9350f8b53a4039c295 --- /dev/null +++ b/_submodules/mermaid/src/diagrams/sequence/parser/sequenceDiagram.jison @@ -0,0 +1,192 @@ +/** mermaid + * https://mermaidjs.github.io/ + * (c) 2014-2015 Knut Sveidqvist + * MIT license. + * + * Based on js sequence diagrams jison grammr + * http://bramp.github.io/js-sequence-diagrams/ + * (c) 2012-2013 Andrew Brampton (bramp.net) + * Simplified BSD license. + */ +%lex + +%options case-insensitive + +// Special states for recognizing aliases +%x ID +%x ALIAS + +// A special state for grabbing text up to the first comment/newline +%x LINE + +%% + +[\n]+ return 'NL'; +\s+ /* skip all whitespace */ +<ID,ALIAS,LINE>((?!\n)\s)+ /* skip same-line whitespace */ +<INITIAL,ID,ALIAS,LINE>\#[^\n]* /* skip comments */ +\%%[^\n]* /* skip comments */ +"participant" { this.begin('ID'); return 'participant'; } +<ID>[^\->:\n,;]+?(?=((?!\n)\s)+"as"(?!\n)\s|[#\n;]|$) { this.begin('ALIAS'); return 'ACTOR'; } +<ALIAS>"as" { this.popState(); this.popState(); this.begin('LINE'); return 'AS'; } +<ALIAS>(?:) { this.popState(); this.popState(); return 'NL'; } +"loop" { this.begin('LINE'); return 'loop'; } +"opt" { this.begin('LINE'); return 'opt'; } +"alt" { this.begin('LINE'); return 'alt'; } +"else" { this.begin('LINE'); return 'else'; } +"par" { this.begin('LINE'); return 'par'; } +"and" { this.begin('LINE'); return 'and'; } +<LINE>[^#\n;]* { this.popState(); return 'restOfLine'; } +"end" return 'end'; +"left of" return 'left_of'; +"right of" return 'right_of'; +"over" return 'over'; +"note" return 'note'; +"activate" { this.begin('ID'); return 'activate'; } +"deactivate" { this.begin('ID'); return 'deactivate'; } +"title" return 'title'; +"sequenceDiagram" return 'SD'; +"," return ','; +";" return 'NL'; +[^\+\->:\n,;]+ { yytext = yytext.trim(); return 'ACTOR'; } +"->>" return 'SOLID_ARROW'; +"-->>" return 'DOTTED_ARROW'; +"->" return 'SOLID_OPEN_ARROW'; +"-->" return 'DOTTED_OPEN_ARROW'; +\-[x] return 'SOLID_CROSS'; +\-\-[x] return 'DOTTED_CROSS'; +":"[^#\n;]+ return 'TXT'; +"+" return '+'; +"-" return '-'; +<<EOF>> return 'NL'; +. return 'INVALID'; + +/lex + +%left '^' + +%start start + +%% /* language grammar */ + +start + : SPACE start + | NL start + | SD document { yy.apply($2);return $2; } + ; + +document + : /* empty */ { $$ = [] } + | document line {$1.push($2);$$ = $1} + ; + +line + : SPACE statement { $$ = $2 } + | statement { $$ = $1 } + | NL { $$=[];} + ; + +statement + : 'participant' actor 'AS' restOfLine 'NL' {$2.description=$4; $$=$2;} + | 'participant' actor 'NL' {$$=$2;} + | signal 'NL' + | 'activate' actor 'NL' {$$={type: 'activeStart', signalType: yy.LINETYPE.ACTIVE_START, actor: $2};} + | 'deactivate' actor 'NL' {$$={type: 'activeEnd', signalType: yy.LINETYPE.ACTIVE_END, actor: $2};} + | note_statement 'NL' + | title text2 'NL' {$$=[{type:'setTitle', text:$2}]} + | 'loop' restOfLine document end + { + $3.unshift({type: 'loopStart', loopText:$2, signalType: yy.LINETYPE.LOOP_START}); + $3.push({type: 'loopEnd', loopText:$2, signalType: yy.LINETYPE.LOOP_END}); + $$=$3;} + | opt restOfLine document end + { + $3.unshift({type: 'optStart', optText:$2, signalType: yy.LINETYPE.OPT_START}); + $3.push({type: 'optEnd', optText:$2, signalType: yy.LINETYPE.OPT_END}); + $$=$3;} + | alt restOfLine else_sections end + { + // Alt start + $3.unshift({type: 'altStart', altText:$2, signalType: yy.LINETYPE.ALT_START}); + // Content in alt is already in $3 + // End + $3.push({type: 'altEnd', signalType: yy.LINETYPE.ALT_END}); + $$=$3;} + | par restOfLine par_sections end + { + // Parallel start + $3.unshift({type: 'parStart', parText:$2, signalType: yy.LINETYPE.PAR_START}); + // Content in par is already in $3 + // End + $3.push({type: 'parEnd', signalType: yy.LINETYPE.PAR_END}); + $$=$3;} + ; + +par_sections + : document + | document and restOfLine par_sections + { $$ = $1.concat([{type: 'and', parText:$3, signalType: yy.LINETYPE.PAR_AND}, $4]); } + ; + +else_sections + : document + | document else restOfLine else_sections + { $$ = $1.concat([{type: 'else', altText:$3, signalType: yy.LINETYPE.ALT_ELSE}, $4]); } + ; + +note_statement + : 'note' placement actor text2 + { + $$ = [$3, {type:'addNote', placement:$2, actor:$3.actor, text:$4}];} + | 'note' 'over' actor_pair text2 + { + // Coerce actor_pair into a [to, from, ...] array + $2 = [].concat($3, $3).slice(0, 2); + $2[0] = $2[0].actor; + $2[1] = $2[1].actor; + $$ = [$3, {type:'addNote', placement:yy.PLACEMENT.OVER, actor:$2.slice(0, 2), text:$4}];} + ; + +spaceList + : SPACE spaceList + | SPACE + ; +actor_pair + : actor ',' actor { $$ = [$1, $3]; } + | actor { $$ = $1; } + ; + +placement + : 'left_of' { $$ = yy.PLACEMENT.LEFTOF; } + | 'right_of' { $$ = yy.PLACEMENT.RIGHTOF; } + ; + +signal + : actor signaltype '+' actor text2 + { $$ = [$1,$4,{type: 'addMessage', from:$1.actor, to:$4.actor, signalType:$2, msg:$5}, + {type: 'activeStart', signalType: yy.LINETYPE.ACTIVE_START, actor: $4} + ]} + | actor signaltype '-' actor text2 + { $$ = [$1,$4,{type: 'addMessage', from:$1.actor, to:$4.actor, signalType:$2, msg:$5}, + {type: 'activeEnd', signalType: yy.LINETYPE.ACTIVE_END, actor: $1} + ]} + | actor signaltype actor text2 + { $$ = [$1,$3,{type: 'addMessage', from:$1.actor, to:$3.actor, signalType:$2, msg:$4}]} + ; + +actor + : ACTOR {$$={type: 'addActor', actor:$1}} + ; + +signaltype + : SOLID_OPEN_ARROW { $$ = yy.LINETYPE.SOLID_OPEN; } + | DOTTED_OPEN_ARROW { $$ = yy.LINETYPE.DOTTED_OPEN; } + | SOLID_ARROW { $$ = yy.LINETYPE.SOLID; } + | DOTTED_ARROW { $$ = yy.LINETYPE.DOTTED; } + | SOLID_CROSS { $$ = yy.LINETYPE.SOLID_CROSS; } + | DOTTED_CROSS { $$ = yy.LINETYPE.DOTTED_CROSS; } + ; + +text2: TXT {$$ = $1.substring(1).trim().replace(/\\n/gm, "\n");} ; + +%% diff --git a/_submodules/mermaid/src/diagrams/sequence/parser/sequenceDiagram.js b/_submodules/mermaid/src/diagrams/sequence/parser/sequenceDiagram.js new file mode 100644 index 0000000000000000000000000000000000000000..aa94350990f6cfb09cfe3160f6e4bf2040307fd0 --- /dev/null +++ b/_submodules/mermaid/src/diagrams/sequence/parser/sequenceDiagram.js @@ -0,0 +1,804 @@ +/* parser generated by jison 0.4.18 */ +/* + Returns a Parser object of the following structure: + + Parser: { + yy: {} + } + + Parser.prototype: { + yy: {}, + trace: function(), + symbols_: {associative list: name ==> number}, + terminals_: {associative list: number ==> name}, + productions_: [...], + performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$), + table: [...], + defaultActions: {...}, + parseError: function(str, hash), + parse: function(input), + + lexer: { + EOF: 1, + parseError: function(str, hash), + setInput: function(input), + input: function(), + unput: function(str), + more: function(), + less: function(n), + pastInput: function(), + upcomingInput: function(), + showPosition: function(), + test_match: function(regex_match_array, rule_index), + next: function(), + lex: function(), + begin: function(condition), + popState: function(), + _currentRules: function(), + topState: function(), + pushState: function(condition), + + options: { + ranges: boolean (optional: true ==> token location info will include a .range[] member) + flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match) + backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code) + }, + + performAction: function(yy, yy_, $avoiding_name_collisions, YY_START), + rules: [...], + conditions: {associative list: name ==> set}, + } + } + + + token location info (@$, _$, etc.): { + first_line: n, + last_line: n, + first_column: n, + last_column: n, + range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based) + } + + + the parseError function receives a 'hash' object with these members for lexer and parser errors: { + text: (matched text) + token: (the produced terminal token, if any) + line: (yylineno) + } + while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: { + loc: (yylloc) + expected: (string describing the set of expected tokens) + recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error) + } +*/ +var parser = (function(){ +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,2],$V1=[1,3],$V2=[1,4],$V3=[2,4],$V4=[1,9],$V5=[1,11],$V6=[1,12],$V7=[1,14],$V8=[1,15],$V9=[1,17],$Va=[1,18],$Vb=[1,19],$Vc=[1,20],$Vd=[1,21],$Ve=[1,23],$Vf=[1,24],$Vg=[1,4,5,10,15,16,18,20,21,22,23,25,27,28,29,40],$Vh=[1,32],$Vi=[4,5,10,15,16,18,20,21,22,23,25,29,40],$Vj=[4,5,10,15,16,18,20,21,22,23,25,28,29,40],$Vk=[4,5,10,15,16,18,20,21,22,23,25,27,29,40],$Vl=[38,39,40]; +var parser = {trace: function trace() { }, +yy: {}, +symbols_: {"error":2,"start":3,"SPACE":4,"NL":5,"SD":6,"document":7,"line":8,"statement":9,"participant":10,"actor":11,"AS":12,"restOfLine":13,"signal":14,"activate":15,"deactivate":16,"note_statement":17,"title":18,"text2":19,"loop":20,"end":21,"opt":22,"alt":23,"else_sections":24,"par":25,"par_sections":26,"and":27,"else":28,"note":29,"placement":30,"over":31,"actor_pair":32,"spaceList":33,",":34,"left_of":35,"right_of":36,"signaltype":37,"+":38,"-":39,"ACTOR":40,"SOLID_OPEN_ARROW":41,"DOTTED_OPEN_ARROW":42,"SOLID_ARROW":43,"DOTTED_ARROW":44,"SOLID_CROSS":45,"DOTTED_CROSS":46,"TXT":47,"$accept":0,"$end":1}, +terminals_: {2:"error",4:"SPACE",5:"NL",6:"SD",10:"participant",12:"AS",13:"restOfLine",15:"activate",16:"deactivate",18:"title",20:"loop",21:"end",22:"opt",23:"alt",25:"par",27:"and",28:"else",29:"note",31:"over",34:",",35:"left_of",36:"right_of",38:"+",39:"-",40:"ACTOR",41:"SOLID_OPEN_ARROW",42:"DOTTED_OPEN_ARROW",43:"SOLID_ARROW",44:"DOTTED_ARROW",45:"SOLID_CROSS",46:"DOTTED_CROSS",47:"TXT"}, +productions_: [0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,5],[9,3],[9,2],[9,3],[9,3],[9,2],[9,3],[9,4],[9,4],[9,4],[9,4],[26,1],[26,4],[24,1],[24,4],[17,4],[17,4],[33,2],[33,1],[32,3],[32,1],[30,1],[30,1],[14,5],[14,5],[14,4],[11,1],[37,1],[37,1],[37,1],[37,1],[37,1],[37,1],[19,1]], +performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { +/* this == yyval */ + +var $0 = $$.length - 1; +switch (yystate) { +case 3: + yy.apply($$[$0]);return $$[$0]; +break; +case 4: + this.$ = [] +break; +case 5: +$$[$0-1].push($$[$0]);this.$ = $$[$0-1] +break; +case 6: case 7: + this.$ = $$[$0] +break; +case 8: + this.$=[]; +break; +case 9: +$$[$0-3].description=$$[$0-1]; this.$=$$[$0-3]; +break; +case 10: +this.$=$$[$0-1]; +break; +case 12: +this.$={type: 'activeStart', signalType: yy.LINETYPE.ACTIVE_START, actor: $$[$0-1]}; +break; +case 13: +this.$={type: 'activeEnd', signalType: yy.LINETYPE.ACTIVE_END, actor: $$[$0-1]}; +break; +case 15: +this.$=[{type:'setTitle', text:$$[$0-1]}] +break; +case 16: + + $$[$0-1].unshift({type: 'loopStart', loopText:$$[$0-2], signalType: yy.LINETYPE.LOOP_START}); + $$[$0-1].push({type: 'loopEnd', loopText:$$[$0-2], signalType: yy.LINETYPE.LOOP_END}); + this.$=$$[$0-1]; +break; +case 17: + + $$[$0-1].unshift({type: 'optStart', optText:$$[$0-2], signalType: yy.LINETYPE.OPT_START}); + $$[$0-1].push({type: 'optEnd', optText:$$[$0-2], signalType: yy.LINETYPE.OPT_END}); + this.$=$$[$0-1]; +break; +case 18: + + // Alt start + $$[$0-1].unshift({type: 'altStart', altText:$$[$0-2], signalType: yy.LINETYPE.ALT_START}); + // Content in alt is already in $$[$0-1] + // End + $$[$0-1].push({type: 'altEnd', signalType: yy.LINETYPE.ALT_END}); + this.$=$$[$0-1]; +break; +case 19: + + // Parallel start + $$[$0-1].unshift({type: 'parStart', parText:$$[$0-2], signalType: yy.LINETYPE.PAR_START}); + // Content in par is already in $$[$0-1] + // End + $$[$0-1].push({type: 'parEnd', signalType: yy.LINETYPE.PAR_END}); + this.$=$$[$0-1]; +break; +case 21: + this.$ = $$[$0-3].concat([{type: 'and', parText:$$[$0-1], signalType: yy.LINETYPE.PAR_AND}, $$[$0]]); +break; +case 23: + this.$ = $$[$0-3].concat([{type: 'else', altText:$$[$0-1], signalType: yy.LINETYPE.ALT_ELSE}, $$[$0]]); +break; +case 24: + + this.$ = [$$[$0-1], {type:'addNote', placement:$$[$0-2], actor:$$[$0-1].actor, text:$$[$0]}]; +break; +case 25: + + // Coerce actor_pair into a [to, from, ...] array + $$[$0-2] = [].concat($$[$0-1], $$[$0-1]).slice(0, 2); + $$[$0-2][0] = $$[$0-2][0].actor; + $$[$0-2][1] = $$[$0-2][1].actor; + this.$ = [$$[$0-1], {type:'addNote', placement:yy.PLACEMENT.OVER, actor:$$[$0-2].slice(0, 2), text:$$[$0]}]; +break; +case 28: + this.$ = [$$[$0-2], $$[$0]]; +break; +case 29: + this.$ = $$[$0]; +break; +case 30: + this.$ = yy.PLACEMENT.LEFTOF; +break; +case 31: + this.$ = yy.PLACEMENT.RIGHTOF; +break; +case 32: + this.$ = [$$[$0-4],$$[$0-1],{type: 'addMessage', from:$$[$0-4].actor, to:$$[$0-1].actor, signalType:$$[$0-3], msg:$$[$0]}, + {type: 'activeStart', signalType: yy.LINETYPE.ACTIVE_START, actor: $$[$0-1]} + ] +break; +case 33: + this.$ = [$$[$0-4],$$[$0-1],{type: 'addMessage', from:$$[$0-4].actor, to:$$[$0-1].actor, signalType:$$[$0-3], msg:$$[$0]}, + {type: 'activeEnd', signalType: yy.LINETYPE.ACTIVE_END, actor: $$[$0-4]} + ] +break; +case 34: + this.$ = [$$[$0-3],$$[$0-1],{type: 'addMessage', from:$$[$0-3].actor, to:$$[$0-1].actor, signalType:$$[$0-2], msg:$$[$0]}] +break; +case 35: +this.$={type: 'addActor', actor:$$[$0]} +break; +case 36: + this.$ = yy.LINETYPE.SOLID_OPEN; +break; +case 37: + this.$ = yy.LINETYPE.DOTTED_OPEN; +break; +case 38: + this.$ = yy.LINETYPE.SOLID; +break; +case 39: + this.$ = yy.LINETYPE.DOTTED; +break; +case 40: + this.$ = yy.LINETYPE.SOLID_CROSS; +break; +case 41: + this.$ = yy.LINETYPE.DOTTED_CROSS; +break; +case 42: +this.$ = $$[$0].substring(1).trim().replace(/\\n/gm, "\n"); +break; +} +}, +table: [{3:1,4:$V0,5:$V1,6:$V2},{1:[3]},{3:5,4:$V0,5:$V1,6:$V2},{3:6,4:$V0,5:$V1,6:$V2},o([1,4,5,10,15,16,18,20,22,23,25,29,40],$V3,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:$V4,5:$V5,8:8,9:10,10:$V6,11:22,14:13,15:$V7,16:$V8,17:16,18:$V9,20:$Va,22:$Vb,23:$Vc,25:$Vd,29:$Ve,40:$Vf},o($Vg,[2,5]),{9:25,10:$V6,11:22,14:13,15:$V7,16:$V8,17:16,18:$V9,20:$Va,22:$Vb,23:$Vc,25:$Vd,29:$Ve,40:$Vf},o($Vg,[2,7]),o($Vg,[2,8]),{11:26,40:$Vf},{5:[1,27]},{11:28,40:$Vf},{11:29,40:$Vf},{5:[1,30]},{19:31,47:$Vh},{13:[1,33]},{13:[1,34]},{13:[1,35]},{13:[1,36]},{37:37,41:[1,38],42:[1,39],43:[1,40],44:[1,41],45:[1,42],46:[1,43]},{30:44,31:[1,45],35:[1,46],36:[1,47]},o([5,12,34,41,42,43,44,45,46,47],[2,35]),o($Vg,[2,6]),{5:[1,49],12:[1,48]},o($Vg,[2,11]),{5:[1,50]},{5:[1,51]},o($Vg,[2,14]),{5:[1,52]},{5:[2,42]},o($Vi,$V3,{7:53}),o($Vi,$V3,{7:54}),o($Vj,$V3,{24:55,7:56}),o($Vk,$V3,{26:57,7:58}),{11:61,38:[1,59],39:[1,60],40:$Vf},o($Vl,[2,36]),o($Vl,[2,37]),o($Vl,[2,38]),o($Vl,[2,39]),o($Vl,[2,40]),o($Vl,[2,41]),{11:62,40:$Vf},{11:64,32:63,40:$Vf},{40:[2,30]},{40:[2,31]},{13:[1,65]},o($Vg,[2,10]),o($Vg,[2,12]),o($Vg,[2,13]),o($Vg,[2,15]),{4:$V4,5:$V5,8:8,9:10,10:$V6,11:22,14:13,15:$V7,16:$V8,17:16,18:$V9,20:$Va,21:[1,66],22:$Vb,23:$Vc,25:$Vd,29:$Ve,40:$Vf},{4:$V4,5:$V5,8:8,9:10,10:$V6,11:22,14:13,15:$V7,16:$V8,17:16,18:$V9,20:$Va,21:[1,67],22:$Vb,23:$Vc,25:$Vd,29:$Ve,40:$Vf},{21:[1,68]},{4:$V4,5:$V5,8:8,9:10,10:$V6,11:22,14:13,15:$V7,16:$V8,17:16,18:$V9,20:$Va,21:[2,22],22:$Vb,23:$Vc,25:$Vd,28:[1,69],29:$Ve,40:$Vf},{21:[1,70]},{4:$V4,5:$V5,8:8,9:10,10:$V6,11:22,14:13,15:$V7,16:$V8,17:16,18:$V9,20:$Va,21:[2,20],22:$Vb,23:$Vc,25:$Vd,27:[1,71],29:$Ve,40:$Vf},{11:72,40:$Vf},{11:73,40:$Vf},{19:74,47:$Vh},{19:75,47:$Vh},{19:76,47:$Vh},{34:[1,77],47:[2,29]},{5:[1,78]},o($Vg,[2,16]),o($Vg,[2,17]),o($Vg,[2,18]),{13:[1,79]},o($Vg,[2,19]),{13:[1,80]},{19:81,47:$Vh},{19:82,47:$Vh},{5:[2,34]},{5:[2,24]},{5:[2,25]},{11:83,40:$Vf},o($Vg,[2,9]),o($Vj,$V3,{7:56,24:84}),o($Vk,$V3,{7:58,26:85}),{5:[2,32]},{5:[2,33]},{47:[2,28]},{21:[2,23]},{21:[2,21]}], +defaultActions: {5:[2,1],6:[2,2],32:[2,42],46:[2,30],47:[2,31],74:[2,34],75:[2,24],76:[2,25],81:[2,32],82:[2,33],83:[2,28],84:[2,23],85:[2,21]}, +parseError: function parseError(str, hash) { + if (hash.recoverable) { + this.trace(str); + } else { + var error = new Error(str); + error.hash = hash; + throw error; + } +}, +parse: function parse(input) { + var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; + var args = lstack.slice.call(arguments, 1); + var lexer = Object.create(this.lexer); + var sharedState = { yy: {} }; + for (var k in this.yy) { + if (Object.prototype.hasOwnProperty.call(this.yy, k)) { + sharedState.yy[k] = this.yy[k]; + } + } + lexer.setInput(input, sharedState.yy); + sharedState.yy.lexer = lexer; + sharedState.yy.parser = this; + if (typeof lexer.yylloc == 'undefined') { + lexer.yylloc = {}; + } + var yyloc = lexer.yylloc; + lstack.push(yyloc); + var ranges = lexer.options && lexer.options.ranges; + if (typeof sharedState.yy.parseError === 'function') { + this.parseError = sharedState.yy.parseError; + } else { + this.parseError = Object.getPrototypeOf(this).parseError; + } + function popStack(n) { + stack.length = stack.length - 2 * n; + vstack.length = vstack.length - n; + lstack.length = lstack.length - n; + } + function lex() { + var token; + token = tstack.pop() || lexer.lex() || EOF; + if (typeof token !== 'number') { + if (token instanceof Array) { + tstack = token; + token = tstack.pop(); + } + token = self.symbols_[token] || token; + } + return token; + } + var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected; + while (true) { + state = stack[stack.length - 1]; + if (this.defaultActions[state]) { + action = this.defaultActions[state]; + } else { + if (symbol === null || typeof symbol == 'undefined') { + symbol = lex(); + } + action = table[state] && table[state][symbol]; + } + if (typeof action === 'undefined' || !action.length || !action[0]) { + var errStr = ''; + expected = []; + for (p in table[state]) { + if (this.terminals_[p] && p > TERROR) { + expected.push('\'' + this.terminals_[p] + '\''); + } + } + if (lexer.showPosition) { + errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\''; + } else { + errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\''); + } + this.parseError(errStr, { + text: lexer.match, + token: this.terminals_[symbol] || symbol, + line: lexer.yylineno, + loc: yyloc, + expected: expected + }); + } + if (action[0] instanceof Array && action.length > 1) { + throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); + } + switch (action[0]) { + case 1: + stack.push(symbol); + vstack.push(lexer.yytext); + lstack.push(lexer.yylloc); + stack.push(action[1]); + symbol = null; + if (!preErrorSymbol) { + yyleng = lexer.yyleng; + yytext = lexer.yytext; + yylineno = lexer.yylineno; + yyloc = lexer.yylloc; + if (recovering > 0) { + recovering--; + } + } else { + symbol = preErrorSymbol; + preErrorSymbol = null; + } + break; + case 2: + len = this.productions_[action[1]][1]; + yyval.$ = vstack[vstack.length - len]; + yyval._$ = { + first_line: lstack[lstack.length - (len || 1)].first_line, + last_line: lstack[lstack.length - 1].last_line, + first_column: lstack[lstack.length - (len || 1)].first_column, + last_column: lstack[lstack.length - 1].last_column + }; + if (ranges) { + yyval._$.range = [ + lstack[lstack.length - (len || 1)].range[0], + lstack[lstack.length - 1].range[1] + ]; + } + r = this.performAction.apply(yyval, [ + yytext, + yyleng, + yylineno, + sharedState.yy, + action[1], + vstack, + lstack + ].concat(args)); + if (typeof r !== 'undefined') { + return r; + } + if (len) { + stack = stack.slice(0, -1 * len * 2); + vstack = vstack.slice(0, -1 * len); + lstack = lstack.slice(0, -1 * len); + } + stack.push(this.productions_[action[1]][0]); + vstack.push(yyval.$); + lstack.push(yyval._$); + newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; + stack.push(newState); + break; + case 3: + return true; + } + } + return true; +}}; + +/* generated by jison-lex 0.3.4 */ +var lexer = (function(){ +var lexer = ({ + +EOF:1, + +parseError:function parseError(str, hash) { + if (this.yy.parser) { + this.yy.parser.parseError(str, hash); + } else { + throw new Error(str); + } + }, + +// resets the lexer, sets new input +setInput:function (input, yy) { + this.yy = yy || this.yy || {}; + this._input = input; + this._more = this._backtrack = this.done = false; + this.yylineno = this.yyleng = 0; + this.yytext = this.matched = this.match = ''; + this.conditionStack = ['INITIAL']; + this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }; + if (this.options.ranges) { + this.yylloc.range = [0,0]; + } + this.offset = 0; + return this; + }, + +// consumes and returns one char from the input +input:function () { + var ch = this._input[0]; + this.yytext += ch; + this.yyleng++; + this.offset++; + this.match += ch; + this.matched += ch; + var lines = ch.match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno++; + this.yylloc.last_line++; + } else { + this.yylloc.last_column++; + } + if (this.options.ranges) { + this.yylloc.range[1]++; + } + + this._input = this._input.slice(1); + return ch; + }, + +// unshifts one char (or a string) into the input +unput:function (ch) { + var len = ch.length; + var lines = ch.split(/(?:\r\n?|\n)/g); + + this._input = ch + this._input; + this.yytext = this.yytext.substr(0, this.yytext.length - len); + //this.yyleng -= len; + this.offset -= len; + var oldLines = this.match.split(/(?:\r\n?|\n)/g); + this.match = this.match.substr(0, this.match.length - 1); + this.matched = this.matched.substr(0, this.matched.length - 1); + + if (lines.length - 1) { + this.yylineno -= lines.length - 1; + } + var r = this.yylloc.range; + + this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: lines ? + (lines.length === oldLines.length ? this.yylloc.first_column : 0) + + oldLines[oldLines.length - lines.length].length - lines[0].length : + this.yylloc.first_column - len + }; + + if (this.options.ranges) { + this.yylloc.range = [r[0], r[0] + this.yyleng - len]; + } + this.yyleng = this.yytext.length; + return this; + }, + +// When called from action, caches matched text and appends it on next action +more:function () { + this._more = true; + return this; + }, + +// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. +reject:function () { + if (this.options.backtrack_lexer) { + this._backtrack = true; + } else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + + } + return this; + }, + +// retain first n characters of the match +less:function (n) { + this.unput(this.match.slice(n)); + }, + +// displays already matched input, i.e. for error messages +pastInput:function () { + var past = this.matched.substr(0, this.matched.length - this.match.length); + return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); + }, + +// displays upcoming input, i.e. for error messages +upcomingInput:function () { + var next = this.match; + if (next.length < 20) { + next += this._input.substr(0, 20-next.length); + } + return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); + }, + +// displays the character position where the lexing error occurred, i.e. for error messages +showPosition:function () { + var pre = this.pastInput(); + var c = new Array(pre.length + 1).join("-"); + return pre + this.upcomingInput() + "\n" + c + "^"; + }, + +// test the lexed token: return FALSE when not a match, otherwise return token +test_match:function (match, indexed_rule) { + var token, + lines, + backup; + + if (this.options.backtrack_lexer) { + // save context + backup = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }; + if (this.options.ranges) { + backup.yylloc.range = this.yylloc.range.slice(0); + } + } + + lines = match[0].match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno += lines.length; + } + this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: lines ? + lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : + this.yylloc.last_column + match[0].length + }; + this.yytext += match[0]; + this.match += match[0]; + this.matches = match; + this.yyleng = this.yytext.length; + if (this.options.ranges) { + this.yylloc.range = [this.offset, this.offset += this.yyleng]; + } + this._more = false; + this._backtrack = false; + this._input = this._input.slice(match[0].length); + this.matched += match[0]; + token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); + if (this.done && this._input) { + this.done = false; + } + if (token) { + return token; + } else if (this._backtrack) { + // recover context + for (var k in backup) { + this[k] = backup[k]; + } + return false; // rule action called reject() implying the next rule should be tested instead. + } + return false; + }, + +// return next match in input +next:function () { + if (this.done) { + return this.EOF; + } + if (!this._input) { + this.done = true; + } + + var token, + match, + tempMatch, + index; + if (!this._more) { + this.yytext = ''; + this.match = ''; + } + var rules = this._currentRules(); + for (var i = 0; i < rules.length; i++) { + tempMatch = this._input.match(this.rules[rules[i]]); + if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { + match = tempMatch; + index = i; + if (this.options.backtrack_lexer) { + token = this.test_match(tempMatch, rules[i]); + if (token !== false) { + return token; + } else if (this._backtrack) { + match = false; + continue; // rule action called reject() implying a rule MISmatch. + } else { + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + } else if (!this.options.flex) { + break; + } + } + } + if (match) { + token = this.test_match(match, rules[index]); + if (token !== false) { + return token; + } + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + if (this._input === "") { + return this.EOF; + } else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + } + }, + +// return next match that has a token +lex:function lex() { + var r = this.next(); + if (r) { + return r; + } else { + return this.lex(); + } + }, + +// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) +begin:function begin(condition) { + this.conditionStack.push(condition); + }, + +// pop the previously active lexer condition state off the condition stack +popState:function popState() { + var n = this.conditionStack.length - 1; + if (n > 0) { + return this.conditionStack.pop(); + } else { + return this.conditionStack[0]; + } + }, + +// produce the lexer rule set which is active for the currently active lexer condition state +_currentRules:function _currentRules() { + if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { + return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; + } else { + return this.conditions["INITIAL"].rules; + } + }, + +// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available +topState:function topState(n) { + n = this.conditionStack.length - 1 - Math.abs(n || 0); + if (n >= 0) { + return this.conditionStack[n]; + } else { + return "INITIAL"; + } + }, + +// alias for begin(condition) +pushState:function pushState(condition) { + this.begin(condition); + }, + +// return the number of states currently on the stack +stateStackSize:function stateStackSize() { + return this.conditionStack.length; + }, +options: {"case-insensitive":true}, +performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { +var YYSTATE=YY_START; +switch($avoiding_name_collisions) { +case 0:return 5; +break; +case 1:/* skip all whitespace */ +break; +case 2:/* skip same-line whitespace */ +break; +case 3:/* skip comments */ +break; +case 4:/* skip comments */ +break; +case 5: this.begin('ID'); return 10; +break; +case 6: this.begin('ALIAS'); return 40; +break; +case 7: this.popState(); this.popState(); this.begin('LINE'); return 12; +break; +case 8: this.popState(); this.popState(); return 5; +break; +case 9: this.begin('LINE'); return 20; +break; +case 10: this.begin('LINE'); return 22; +break; +case 11: this.begin('LINE'); return 23; +break; +case 12: this.begin('LINE'); return 28; +break; +case 13: this.begin('LINE'); return 25; +break; +case 14: this.begin('LINE'); return 27; +break; +case 15: this.popState(); return 13; +break; +case 16:return 21; +break; +case 17:return 35; +break; +case 18:return 36; +break; +case 19:return 31; +break; +case 20:return 29; +break; +case 21: this.begin('ID'); return 15; +break; +case 22: this.begin('ID'); return 16; +break; +case 23:return 18; +break; +case 24:return 6; +break; +case 25:return 34; +break; +case 26:return 5; +break; +case 27: yy_.yytext = yy_.yytext.trim(); return 40; +break; +case 28:return 43; +break; +case 29:return 44; +break; +case 30:return 41; +break; +case 31:return 42; +break; +case 32:return 45; +break; +case 33:return 46; +break; +case 34:return 47; +break; +case 35:return 38; +break; +case 36:return 39; +break; +case 37:return 5; +break; +case 38:return 'INVALID'; +break; +} +}, +rules: [/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:participant\b)/i,/^(?:[^\->:\n,;]+?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:and\b)/i,/^(?:[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\->:\n,;]+)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?::[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i], +conditions: {"LINE":{"rules":[2,3,15],"inclusive":false},"ALIAS":{"rules":[2,3,7,8],"inclusive":false},"ID":{"rules":[2,3,6],"inclusive":false},"INITIAL":{"rules":[0,1,3,4,5,9,10,11,12,13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"inclusive":true}} +}); +return lexer; +})(); +parser.lexer = lexer; +function Parser () { + this.yy = {}; +} +Parser.prototype = parser;parser.Parser = Parser; +return new Parser; +})(); + + +if (typeof require !== 'undefined' && typeof exports !== 'undefined') { +exports.parser = parser; +exports.Parser = parser.Parser; +exports.parse = function () { return parser.parse.apply(parser, arguments); }; +exports.main = function commonjsMain(args) { + if (!args[1]) { + console.log('Usage: '+args[0]+' FILE'); + process.exit(1); + } + var source = require('fs').readFileSync(require('path').normalize(args[1]), "utf8"); + return exports.parser.parse(source); +}; +if (typeof module !== 'undefined' && require.main === module) { + exports.main(process.argv.slice(1)); +} +} \ No newline at end of file diff --git a/_submodules/mermaid/src/diagrams/sequence/sequenceDb.js b/_submodules/mermaid/src/diagrams/sequence/sequenceDb.js new file mode 100644 index 0000000000000000000000000000000000000000..665ca820d82c9d1d67863896196c76727bcad069 --- /dev/null +++ b/_submodules/mermaid/src/diagrams/sequence/sequenceDb.js @@ -0,0 +1,172 @@ +import { logger } from '../../logger' + +let actors = {} +let messages = [] +const notes = [] +let title = '' + +export const addActor = function (id, name, description) { + // Don't allow description nulling + const old = actors[id] + if (old && name === old.name && description == null) return + + // Don't allow null descriptions, either + if (description == null) description = name + + actors[id] = { name: name, description: description } +} + +export const addMessage = function (idFrom, idTo, message, answer) { + messages.push({ from: idFrom, to: idTo, message: message, answer: answer }) +} + +export const addSignal = function (idFrom, idTo, message, messageType) { + logger.debug('Adding message from=' + idFrom + ' to=' + idTo + ' message=' + message + ' type=' + messageType) + messages.push({ from: idFrom, to: idTo, message: message, type: messageType }) +} + +export const getMessages = function () { + return messages +} + +export const getActors = function () { + return actors +} +export const getActor = function (id) { + return actors[id] +} +export const getActorKeys = function () { + return Object.keys(actors) +} +export const getTitle = function () { + return title +} + +export const clear = function () { + actors = {} + messages = [] +} + +export const LINETYPE = { + SOLID: 0, + DOTTED: 1, + NOTE: 2, + SOLID_CROSS: 3, + DOTTED_CROSS: 4, + SOLID_OPEN: 5, + DOTTED_OPEN: 6, + LOOP_START: 10, + LOOP_END: 11, + ALT_START: 12, + ALT_ELSE: 13, + ALT_END: 14, + OPT_START: 15, + OPT_END: 16, + ACTIVE_START: 17, + ACTIVE_END: 18, + PAR_START: 19, + PAR_AND: 20, + PAR_END: 21 +} + +export const ARROWTYPE = { + FILLED: 0, + OPEN: 1 +} + +export const PLACEMENT = { + LEFTOF: 0, + RIGHTOF: 1, + OVER: 2 +} + +export const addNote = function (actor, placement, message) { + const note = { actor: actor, placement: placement, message: message } + + // Coerce actor into a [to, from, ...] array + const actors = [].concat(actor, actor) + + notes.push(note) + messages.push({ from: actors[0], to: actors[1], message: message, type: LINETYPE.NOTE, placement: placement }) +} + +export const setTitle = function (titleText) { + title = titleText +} + +export const apply = function (param) { + if (param instanceof Array) { + param.forEach(function (item) { + apply(item) + }) + } else { + switch (param.type) { + case 'addActor': + addActor(param.actor, param.actor, param.description) + break + case 'activeStart': + addSignal(param.actor, undefined, undefined, param.signalType) + break + case 'activeEnd': + addSignal(param.actor, undefined, undefined, param.signalType) + break + case 'addNote': + addNote(param.actor, param.placement, param.text) + break + case 'addMessage': + addSignal(param.from, param.to, param.msg, param.signalType) + break + case 'loopStart': + addSignal(undefined, undefined, param.loopText, param.signalType) + break + case 'loopEnd': + addSignal(undefined, undefined, undefined, param.signalType) + break + case 'optStart': + addSignal(undefined, undefined, param.optText, param.signalType) + break + case 'optEnd': + addSignal(undefined, undefined, undefined, param.signalType) + break + case 'altStart': + addSignal(undefined, undefined, param.altText, param.signalType) + break + case 'else': + addSignal(undefined, undefined, param.altText, param.signalType) + break + case 'altEnd': + addSignal(undefined, undefined, undefined, param.signalType) + break + case 'setTitle': + setTitle(param.text) + break + case 'parStart': + addSignal(undefined, undefined, param.parText, param.signalType) + break + case 'and': + addSignal(undefined, undefined, param.parText, param.signalType) + break + case 'parEnd': + addSignal(undefined, undefined, undefined, param.signalType) + break + } + } +} + +export default { + addActor, + addMessage, + addSignal, + getMessages, + getActors, + getActor, + getActorKeys, + getTitle, + clear, + LINETYPE, + ARROWTYPE, + PLACEMENT, + addNote, + setTitle, + apply +} diff --git a/_submodules/mermaid/src/diagrams/sequence/sequenceDiagram.spec.js b/_submodules/mermaid/src/diagrams/sequence/sequenceDiagram.spec.js new file mode 100644 index 0000000000000000000000000000000000000000..0631d1a610f743133fe7005a936ae51979dd35c8 --- /dev/null +++ b/_submodules/mermaid/src/diagrams/sequence/sequenceDiagram.spec.js @@ -0,0 +1,962 @@ +/* eslint-env jasmine */ +import { parser } from './parser/sequenceDiagram' +import sequenceDb from './sequenceDb' +import renderer from './sequenceRenderer' + +function addConf (conf, key, value) { + if (value !== undefined) { + conf[key] = value + } + return conf +} + +describe('when parsing a sequenceDiagram', function () { + beforeEach(function () { + parser.yy = sequenceDb + parser.yy.clear() + }) + it('it should handle a sequenceDiagram defintion', function () { + const str = 'sequenceDiagram\n' + + 'Alice->Bob:Hello Bob, how are you?\n' + + 'Note right of Bob: Bob thinks\n' + + 'Bob-->Alice: I am good thanks!' + + parser.parse(str) + const actors = parser.yy.getActors() + expect(actors.Alice.description).toBe('Alice') + actors.Bob.description = 'Bob' + + const messages = parser.yy.getMessages() + + expect(messages.length).toBe(3) + expect(messages[0].from).toBe('Alice') + expect(messages[2].from).toBe('Bob') + }) + it('it should handle a sequenceDiagram definition with a title', function () { + const str = 'sequenceDiagram\n' + + 'title: Diagram Title\n' + + 'Alice->Bob:Hello Bob, how are you?\n' + + 'Note right of Bob: Bob thinks\n' + + 'Bob-->Alice: I am good thanks!' + + parser.parse(str) + const actors = parser.yy.getActors() + expect(actors.Alice.description).toBe('Alice') + actors.Bob.description = 'Bob' + + const messages = parser.yy.getMessages() + const title = parser.yy.getTitle() + + expect(messages.length).toBe(3) + expect(messages[0].from).toBe('Alice') + expect(messages[2].from).toBe('Bob') + expect(title).toBe('Diagram Title') + }) + it('it should space in actor names', function () { + const str = 'sequenceDiagram\n' + + 'Alice->Bob:Hello Bob, how are - you?\n' + + 'Bob-->Alice: I am good thanks!' + + parser.parse(str) + const actors = parser.yy.getActors() + expect(actors.Alice.description).toBe('Alice') + actors.Bob.description = 'Bob' + + const messages = parser.yy.getMessages() + + expect(messages.length).toBe(2) + expect(messages[0].from).toBe('Alice') + expect(messages[1].from).toBe('Bob') + }) + it('it should alias participants', function () { + const str = 'sequenceDiagram\n' + + 'participant A as Alice\n' + + 'participant B as Bob\n' + + 'A->B:Hello Bob, how are you?\n' + + 'B-->A: I am good thanks!' + + parser.parse(str) + + const actors = parser.yy.getActors() + expect(Object.keys(actors)).toEqual(['A', 'B']) + expect(actors.A.description).toBe('Alice') + expect(actors.B.description).toBe('Bob') + + const messages = parser.yy.getMessages() + expect(messages.length).toBe(2) + expect(messages[0].from).toBe('A') + expect(messages[1].from).toBe('B') + }) + it('it should handle in async messages', function () { + const str = 'sequenceDiagram\n' + + 'Alice-xBob:Hello Bob, how are you?' + + parser.parse(str) + const actors = parser.yy.getActors() + expect(actors.Alice.description).toBe('Alice') + expect(actors.Bob.description).toBe('Bob') + + const messages = parser.yy.getMessages() + + expect(messages.length).toBe(1) + expect(messages[0].type).toBe(parser.yy.LINETYPE.SOLID_CROSS) + }) + it('it should handle in async dotted messages', function () { + const str = 'sequenceDiagram\n' + + 'Alice--xBob:Hello Bob, how are you?' + + parser.parse(str) + const actors = parser.yy.getActors() + expect(actors.Alice.description).toBe('Alice') + expect(actors.Bob.description).toBe('Bob') + + const messages = parser.yy.getMessages() + + expect(messages.length).toBe(1) + expect(messages[0].type).toBe(parser.yy.LINETYPE.DOTTED_CROSS) + }) + it('it should handle in arrow messages', function () { + const str = 'sequenceDiagram\n' + + 'Alice->>Bob:Hello Bob, how are you?' + + parser.parse(str) + const actors = parser.yy.getActors() + expect(actors.Alice.description).toBe('Alice') + expect(actors.Bob.description).toBe('Bob') + + const messages = parser.yy.getMessages() + + expect(messages.length).toBe(1) + expect(messages[0].type).toBe(parser.yy.LINETYPE.SOLID) + }) + it('it should handle in arrow messages', function () { + const str = 'sequenceDiagram\n' + + 'Alice-->>Bob:Hello Bob, how are you?' + + parser.parse(str) + const actors = parser.yy.getActors() + expect(actors.Alice.description).toBe('Alice') + expect(actors.Bob.description).toBe('Bob') + + const messages = parser.yy.getMessages() + + expect(messages.length).toBe(1) + expect(messages[0].type).toBe(parser.yy.LINETYPE.DOTTED) + }) + it('it should handle actor activation', function () { + const str = 'sequenceDiagram\n' + + 'Alice-->>Bob:Hello Bob, how are you?\n' + + 'activate Bob\n' + + 'Bob-->>Alice:Hello Alice, I\'m fine and you?\n' + + 'deactivate Bob' + + parser.parse(str) + const actors = parser.yy.getActors() + expect(actors.Alice.description).toBe('Alice') + expect(actors.Bob.description).toBe('Bob') + + const messages = parser.yy.getMessages() + + expect(messages.length).toBe(4) + expect(messages[0].type).toBe(parser.yy.LINETYPE.DOTTED) + expect(messages[1].type).toBe(parser.yy.LINETYPE.ACTIVE_START) + expect(messages[1].from.actor).toBe('Bob') + expect(messages[2].type).toBe(parser.yy.LINETYPE.DOTTED) + expect(messages[3].type).toBe(parser.yy.LINETYPE.ACTIVE_END) + expect(messages[3].from.actor).toBe('Bob') + }) + it('it should handle actor one line notation activation', function () { + const str = 'sequenceDiagram\n' + + 'Alice-->>+Bob:Hello Bob, how are you?\n' + + 'Bob-->>- Alice:Hello Alice, I\'m fine and you?' + + parser.parse(str) + const actors = parser.yy.getActors() + expect(actors.Alice.description).toBe('Alice') + expect(actors.Bob.description).toBe('Bob') + + const messages = parser.yy.getMessages() + + expect(messages.length).toBe(4) + expect(messages[0].type).toBe(parser.yy.LINETYPE.DOTTED) + expect(messages[1].type).toBe(parser.yy.LINETYPE.ACTIVE_START) + expect(messages[1].from.actor).toBe('Bob') + expect(messages[2].type).toBe(parser.yy.LINETYPE.DOTTED) + expect(messages[3].type).toBe(parser.yy.LINETYPE.ACTIVE_END) + expect(messages[3].from.actor).toBe('Bob') + }) + it('it should handle stacked activations', function () { + const str = 'sequenceDiagram\n' + + 'Alice-->>+Bob:Hello Bob, how are you?\n' + + 'Bob-->>+Carol:Carol, let me introduce Alice?\n' + + 'Bob-->>- Alice:Hello Alice, please meet Carol?\n' + + 'Carol->>- Bob:Oh Bob, I\'m so happy to be here!' + + parser.parse(str) + const actors = parser.yy.getActors() + expect(actors.Alice.description).toBe('Alice') + expect(actors.Bob.description).toBe('Bob') + + const messages = parser.yy.getMessages() + + expect(messages.length).toBe(8) + expect(messages[0].type).toBe(parser.yy.LINETYPE.DOTTED) + expect(messages[1].type).toBe(parser.yy.LINETYPE.ACTIVE_START) + expect(messages[1].from.actor).toBe('Bob') + expect(messages[2].type).toBe(parser.yy.LINETYPE.DOTTED) + expect(messages[3].type).toBe(parser.yy.LINETYPE.ACTIVE_START) + expect(messages[3].from.actor).toBe('Carol') + expect(messages[5].type).toBe(parser.yy.LINETYPE.ACTIVE_END) + expect(messages[5].from.actor).toBe('Bob') + expect(messages[7].type).toBe(parser.yy.LINETYPE.ACTIVE_END) + expect(messages[7].from.actor).toBe('Carol') + }) + it('it should handle comments in a sequenceDiagram', function () { + const str = 'sequenceDiagram\n' + + 'Alice->Bob: Hello Bob, how are you?\n' + + '%% Comment\n' + + 'Note right of Bob: Bob thinks\n' + + 'Bob-->Alice: I am good thanks!' + + parser.parse(str) + const actors = parser.yy.getActors() + expect(actors.Alice.description).toBe('Alice') + actors.Bob.description = 'Bob' + + const messages = parser.yy.getMessages() + + expect(messages.length).toBe(3) + expect(messages[0].from).toBe('Alice') + expect(messages[2].from).toBe('Bob') + }) + it('it should handle new lines in a sequenceDiagram', function () { + const str = 'sequenceDiagram\n' + + 'Alice->Bob: Hello Bob, how are you?\n\n' + + '%% Comment\n' + + 'Note right of Bob: Bob thinks\n' + + 'Bob-->Alice: I am good thanks!\n' + + parser.parse(str) + const actors = parser.yy.getActors() + expect(actors.Alice.description).toBe('Alice') + actors.Bob.description = 'Bob' + + const messages = parser.yy.getMessages() + + expect(messages.length).toBe(3) + expect(messages[0].from).toBe('Alice') + expect(messages[2].from).toBe('Bob') + }) + it('it should handle semicolons', function () { + const str = 'sequenceDiagram;' + + 'Alice->Bob: Hello Bob, how are you?;' + + 'Note right of Bob: Bob thinks;' + + 'Bob-->Alice: I am good thanks!;' + + parser.parse(str) + const actors = parser.yy.getActors() + expect(actors.Alice.description).toBe('Alice') + actors.Bob.description = 'Bob' + + const messages = parser.yy.getMessages() + + expect(messages.length).toBe(3) + expect(messages[0].from).toBe('Alice') + expect(messages[2].from).toBe('Bob') + }) + it('it should handle one leading space in lines in a sequenceDiagram', function () { + const str = 'sequenceDiagram\n' + + ' Alice->Bob: Hello Bob, how are you?\n\n' + + '%% Comment\n' + + 'Note right of Bob: Bob thinks\n' + + 'Bob-->Alice: I am good thanks!' + + parser.parse(str) + const actors = parser.yy.getActors() + expect(actors.Alice.description).toBe('Alice') + actors.Bob.description = 'Bob' + + const messages = parser.yy.getMessages() + + expect(messages.length).toBe(3) + expect(messages[0].from).toBe('Alice') + expect(messages[2].from).toBe('Bob') + }) + it('it should handle several leading spaces in lines in a sequenceDiagram', function () { + const str = 'sequenceDiagram\n' + + ' Alice->Bob: Hello Bob, how are you?\n\n' + + '%% Comment\n' + + 'Note right of Bob: Bob thinks\n' + + 'Bob-->Alice: I am good thanks!' + + parser.parse(str) + const actors = parser.yy.getActors() + expect(actors.Alice.description).toBe('Alice') + actors.Bob.description = 'Bob' + + const messages = parser.yy.getMessages() + + expect(messages.length).toBe(3) + expect(messages[0].from).toBe('Alice') + expect(messages[2].from).toBe('Bob') + }) + it('it should handle several leading spaces in lines in a sequenceDiagram', function () { + const str = 'sequenceDiagram\n' + + 'participant Alice\n' + + 'participant Bob\n' + + 'Alice->John: Hello John, how are you?\n' + + ' loop Healthcheck\n' + + 'John->John: Fight against hypochondria\n' + + ' end\n' + + 'Note right of John: Rational thoughts<br/>prevail...\n' + + ' John-->Alice: Great!\n' + + ' John->Bob: How about you?\n' + + 'Bob-->John: Jolly good!' + + parser.parse(str) + const actors = parser.yy.getActors() + expect(actors.Alice.description).toBe('Alice') + actors.Bob.description = 'Bob' + + const messages = parser.yy.getMessages() + + expect(messages.length).toBe(8) + expect(messages[0].from).toBe('Alice') + expect(messages[2].from).toBe('John') + }) + it('it should handle notes over a single actor', function () { + const str = 'sequenceDiagram\n' + + 'Alice->Bob: Hello Bob, how are you?\n' + + 'Note over Bob: Bob thinks\n' + + parser.parse(str) + + const messages = parser.yy.getMessages() + expect(messages[1].from).toBe('Bob') + expect(messages[1].to).toBe('Bob') + }) + it('it should handle notes over multiple actors', function () { + const str = 'sequenceDiagram\n' + + 'Alice->Bob: Hello Bob, how are you?\n' + + 'Note over Alice,Bob: confusion\n' + + 'Note over Bob,Alice: resolution\n' + + parser.parse(str) + + const messages = parser.yy.getMessages() + expect(messages[1].from).toBe('Alice') + expect(messages[1].to).toBe('Bob') + expect(messages[2].from).toBe('Bob') + expect(messages[2].to).toBe('Alice') + }) + it('it should handle loop statements', function () { + const str = 'sequenceDiagram\n' + + 'Alice->Bob: Hello Bob, how are you?\n\n' + + '%% Comment\n' + + 'Note right of Bob: Bob thinks\n' + + 'loop Multiple happy responses\n\n' + + 'Bob-->Alice: I am good thanks!\n' + + 'end' + + parser.parse(str) + const actors = parser.yy.getActors() + expect(actors.Alice.description).toBe('Alice') + actors.Bob.description = 'Bob' + + const messages = parser.yy.getMessages() + + expect(messages.length).toBe(5) + expect(messages[0].from).toBe('Alice') + expect(messages[1].from).toBe('Bob') + }) + it('it should handle opt statements', function () { + const str = 'sequenceDiagram\n' + + 'Alice->Bob: Hello Bob, how are you?\n\n' + + '%% Comment\n' + + 'Note right of Bob: Bob thinks\n' + + 'opt Perhaps a happy response\n\n' + + 'Bob-->Alice: I am good thanks!\n' + + 'end' + + parser.parse(str) + const actors = parser.yy.getActors() + expect(actors.Alice.description).toBe('Alice') + actors.Bob.description = 'Bob' + + const messages = parser.yy.getMessages() + + expect(messages.length).toBe(5) + expect(messages[0].from).toBe('Alice') + expect(messages[1].from).toBe('Bob') + }) + it('it should handle alt statements', function () { + const str = 'sequenceDiagram\n' + + 'Alice->Bob: Hello Bob, how are you?\n\n' + + '%% Comment\n' + + 'Note right of Bob: Bob thinks\n' + + 'alt isWell\n\n' + + 'Bob-->Alice: I am good thanks!\n' + + 'else isSick\n' + + 'Bob-->Alice: Feel sick...\n' + + 'end' + + parser.parse(str) + const actors = parser.yy.getActors() + + expect(actors.Alice.description).toBe('Alice') + actors.Bob.description = 'Bob' + + const messages = parser.yy.getMessages() + + expect(messages.length).toBe(7) + expect(messages[0].from).toBe('Alice') + expect(messages[1].from).toBe('Bob') + }) + it('it should handle alt statements with multiple elses', function () { + const str = 'sequenceDiagram\n' + + 'Alice->Bob: Hello Bob, how are you?\n\n' + + '%% Comment\n' + + 'Note right of Bob: Bob thinks\n' + + 'alt isWell\n\n' + + 'Bob-->Alice: I am good thanks!\n' + + 'else isSick\n' + + 'Bob-->Alice: Feel sick...\n' + + 'else default\n' + + 'Bob-->Alice: :-)\n' + + 'end' + parser.parse(str) + const messages = parser.yy.getMessages() + expect(messages.length).toBe(9) + expect(messages[1].from).toBe('Bob') + expect(messages[2].type).toBe(parser.yy.LINETYPE.ALT_START) + expect(messages[3].from).toBe('Bob') + expect(messages[4].type).toBe(parser.yy.LINETYPE.ALT_ELSE) + expect(messages[5].from).toBe('Bob') + expect(messages[6].type).toBe(parser.yy.LINETYPE.ALT_ELSE) + expect(messages[7].from).toBe('Bob') + expect(messages[8].type).toBe(parser.yy.LINETYPE.ALT_END) + }) + it('it should handle par statements a sequenceDiagram', function () { + const str = 'sequenceDiagram\n' + + 'par Parallel one\n' + + 'Alice->>Bob: Hello Bob, how are you?\n' + + 'Bob-->>Alice: I am good thanks!\n' + + 'and Parallel two\n' + + 'Alice->>Bob: Are you OK?\n' + + 'Bob-->>Alice: Fine!\n' + + 'and Parallel three\n' + + 'Alice->>Bob: What do you think about it?\n' + + 'Bob-->>Alice: It\'s good!\n' + + 'end' + + parser.parse(str) + const actors = parser.yy.getActors() + + expect(actors.Alice.description).toBe('Alice') + expect(actors.Bob.description).toBe('Bob') + + const messages = parser.yy.getMessages() + + expect(messages.length).toBe(10) + expect(messages[0].message).toBe('Parallel one') + expect(messages[1].from).toBe('Alice') + expect(messages[2].from).toBe('Bob') + }) + it('it should handle special characters in signals', function () { + const str = 'sequenceDiagram\n' + + 'Alice->Bob: -:<>,;# comment' + + parser.parse(str) + + const messages = parser.yy.getMessages() + expect(messages[0].message).toBe('-:<>,') + }) + it('it should handle special characters in notes', function () { + const str = 'sequenceDiagram\n' + + 'Alice->Bob: Hello Bob, how are you?\n' + + 'Note right of Bob: -:<>,;# comment' + + parser.parse(str) + + const messages = parser.yy.getMessages() + expect(messages[1].message).toBe('-:<>,') + }) + it('it should handle special characters in loop', function () { + const str = 'sequenceDiagram\n' + + 'Alice->Bob: Hello Bob, how are you?\n' + + 'loop -:<>,;# comment\n' + + 'Bob-->Alice: I am good thanks!\n' + + 'end' + + parser.parse(str) + + const messages = parser.yy.getMessages() + expect(messages[1].message).toBe('-:<>,') + }) + it('it should handle special characters in opt', function () { + const str = 'sequenceDiagram\n' + + 'Alice->Bob: Hello Bob, how are you?\n' + + 'opt -:<>,;# comment\n' + + 'Bob-->Alice: I am good thanks!\n' + + 'end' + + parser.parse(str) + + const messages = parser.yy.getMessages() + expect(messages[1].message).toBe('-:<>,') + }) + it('it should handle special characters in alt', function () { + const str = 'sequenceDiagram\n' + + 'Alice->Bob: Hello Bob, how are you?\n' + + 'alt -:<>,;# comment\n' + + 'Bob-->Alice: I am good thanks!\n' + + 'else ,<>:-#; comment\n' + + 'Bob-->Alice: I am good thanks!\n' + + 'end' + + parser.parse(str) + + const messages = parser.yy.getMessages() + expect(messages[1].message).toBe('-:<>,') + expect(messages[3].message).toBe(',<>:-') + }) + it('it should handle special characters in par', function () { + const str = 'sequenceDiagram\n' + + 'Alice->Bob: Hello Bob, how are you?\n' + + 'par -:<>,;# comment\n' + + 'Bob-->Alice: I am good thanks!\n' + + 'and ,<>:-#; comment\n' + + 'Bob-->Alice: I am good thanks!\n' + + 'end' + + parser.parse(str) + + const messages = parser.yy.getMessages() + expect(messages[1].message).toBe('-:<>,') + expect(messages[3].message).toBe(',<>:-') + }) + it('it should handle no-label loop', function () { + const str = 'sequenceDiagram\n' + + 'Alice->Bob: Hello Bob, how are you?\n' + + 'loop\n' + + 'Bob-->Alice: I am good thanks!\n' + + 'end' + + parser.parse(str) + + const messages = parser.yy.getMessages() + expect(messages[1].message).toBe('') + expect(messages[2].message).toBe('I am good thanks!') + }) + it('it should handle no-label opt', function () { + const str = 'sequenceDiagram\n' + + 'Alice->Bob: Hello Bob, how are you?\n' + + 'opt # comment\n' + + 'Bob-->Alice: I am good thanks!\n' + + 'end' + + parser.parse(str) + + const messages = parser.yy.getMessages() + expect(messages[1].message).toBe('') + expect(messages[2].message).toBe('I am good thanks!') + }) + it('it should handle no-label alt', function () { + const str = 'sequenceDiagram\n' + + 'Alice->Bob: Hello Bob, how are you?\n' + + 'alt;' + + 'Bob-->Alice: I am good thanks!\n' + + 'else # comment\n' + + 'Bob-->Alice: I am good thanks!\n' + + 'end' + + parser.parse(str) + + const messages = parser.yy.getMessages() + expect(messages[1].message).toBe('') + expect(messages[2].message).toBe('I am good thanks!') + expect(messages[3].message).toBe('') + expect(messages[4].message).toBe('I am good thanks!') + }) + it('it should handle no-label par', function () { + const str = 'sequenceDiagram\n' + + 'Alice->Bob: Hello Bob, how are you?\n' + + 'par;' + + 'Bob-->Alice: I am good thanks!\n' + + 'and # comment\n' + + 'Bob-->Alice: I am good thanks!\n' + + 'end' + + parser.parse(str) + + const messages = parser.yy.getMessages() + expect(messages[1].message).toBe('') + expect(messages[2].message).toBe('I am good thanks!') + expect(messages[3].message).toBe('') + expect(messages[4].message).toBe('I am good thanks!') + }) +}) + +describe('when checking the bounds in a sequenceDiagram', function () { + let conf + beforeEach(function () { + parser.yy = sequenceDb + parser.yy.clear() + conf = { + diagramMarginX: 50, + diagramMarginY: 10, + actorMargin: 50, + width: 150, + // Height of actor boxes + height: 65, + boxMargin: 10, + messageMargin: 40, + boxTextMargin: 15, + noteMargin: 25 + } + renderer.setConf(conf) + }) + it('it should handle a simple bound call', function () { + renderer.bounds.init() + + renderer.bounds.insert(100, 100, 200, 200) + + const bounds = renderer.bounds.getBounds() + expect(bounds.startx).toBe(100) + expect(bounds.starty).toBe(100) + expect(bounds.stopx).toBe(200) + expect(bounds.stopy).toBe(200) + }) + it('it should handle an expanding bound', function () { + renderer.bounds.init() + + renderer.bounds.insert(100, 100, 200, 200) + renderer.bounds.insert(25, 50, 300, 400) + + const bounds = renderer.bounds.getBounds() + expect(bounds.startx).toBe(25) + expect(bounds.starty).toBe(50) + expect(bounds.stopx).toBe(300) + expect(bounds.stopy).toBe(400) + }) + it('it should handle inserts within the bound without changing the outer bounds', function () { + renderer.bounds.init() + + renderer.bounds.insert(100, 100, 200, 200) + renderer.bounds.insert(25, 50, 300, 400) + renderer.bounds.insert(125, 150, 150, 200) + + const bounds = renderer.bounds.getBounds() + expect(bounds.startx).toBe(25) + expect(bounds.starty).toBe(50) + expect(bounds.stopx).toBe(300) + expect(bounds.stopy).toBe(400) + }) + it('it should handle a loop without expanding the area', function () { + renderer.bounds.init() + + renderer.bounds.insert(25, 50, 300, 400) + renderer.bounds.verticalPos = 150 + renderer.bounds.newLoop() + renderer.bounds.insert(125, 150, 150, 200) + + const loop = renderer.bounds.endLoop() + + expect(loop.startx).toBe(125 - conf.boxMargin) + expect(loop.starty).toBe(150 - conf.boxMargin) + expect(loop.stopx).toBe(150 + conf.boxMargin) + expect(loop.stopy).toBe(200 + conf.boxMargin) + + // Check bounds of first loop + const bounds = renderer.bounds.getBounds() + + expect(bounds.startx).toBe(25) + expect(bounds.starty).toBe(50) + expect(bounds.stopx).toBe(300) + expect(bounds.stopy).toBe(400) + }) + it('it should handle multiple loops withtout expanding the bounds', function () { + renderer.bounds.init() + + renderer.bounds.insert(100, 100, 1000, 1000) + renderer.bounds.verticalPos = 200 + renderer.bounds.newLoop() + renderer.bounds.newLoop() + renderer.bounds.insert(200, 200, 300, 300) + + // Check bounds of first loop + let loop = renderer.bounds.endLoop() + + expect(loop.startx).toBe(200 - conf.boxMargin) + expect(loop.starty).toBe(200 - conf.boxMargin) + expect(loop.stopx).toBe(300 + conf.boxMargin) + expect(loop.stopy).toBe(300 + conf.boxMargin) + + // Check bounds of second loop + loop = renderer.bounds.endLoop() + + expect(loop.startx).toBe(200 - 2 * conf.boxMargin) + expect(loop.starty).toBe(200 - 2 * conf.boxMargin) + expect(loop.stopx).toBe(300 + 2 * conf.boxMargin) + expect(loop.stopy).toBe(300 + 2 * conf.boxMargin) + + // Check bounds of first loop + const bounds = renderer.bounds.getBounds() + + expect(bounds.startx).toBe(100) + expect(bounds.starty).toBe(100) + expect(bounds.stopx).toBe(1000) + expect(bounds.stopy).toBe(1000) + }) + it('it should handle a loop that expands the area', function () { + renderer.bounds.init() + + renderer.bounds.insert(100, 100, 200, 200) + renderer.bounds.verticalPos = 200 + renderer.bounds.newLoop() + renderer.bounds.insert(50, 50, 300, 300) + + const loop = renderer.bounds.endLoop() + + expect(loop.startx).toBe(50 - conf.boxMargin) + expect(loop.starty).toBe(50 - conf.boxMargin) + expect(loop.stopx).toBe(300 + conf.boxMargin) + expect(loop.stopy).toBe(300 + conf.boxMargin) + + // Check bounds after the loop + const bounds = renderer.bounds.getBounds() + + expect(bounds.startx).toBe(loop.startx) + expect(bounds.starty).toBe(loop.starty) + expect(bounds.stopx).toBe(loop.stopx) + expect(bounds.stopy).toBe(loop.stopy) + }) +}) + +describe('when rendering a sequenceDiagram', function () { + let conf + beforeEach(function () { + parser.yy = sequenceDb + parser.yy.clear() + + conf = { + diagramMarginX: 50, + diagramMarginY: 10, + actorMargin: 50, + width: 150, + // Height of actor boxes + height: 65, + boxMargin: 10, + messageMargin: 40, + boxTextMargin: 15, + noteMargin: 25 + } + renderer.setConf(conf) + }); + ['tspan', 'fo', 'old', undefined].forEach(function (textPlacement) { + it('it should handle one actor, when textPlacement is ' + textPlacement, function () { + renderer.setConf(addConf(conf, 'textPlacement', textPlacement)) + renderer.bounds.init() + const str = 'sequenceDiagram\n' + + 'participant Alice' + + parser.parse(str) + renderer.draw(str, 'tst') + + const bounds = renderer.bounds.getBounds() + expect(bounds.startx).toBe(0) + expect(bounds.starty).toBe(0) + expect(bounds.stopx).toBe(conf.width) + expect(bounds.stopy).toBe(conf.height) + }) + }) + it('it should handle one actor and a centered note', function () { + renderer.bounds.init() + const str = 'sequenceDiagram\n' + + 'participant Alice\n' + + 'Note over Alice: Alice thinks\n' + + parser.parse(str) + renderer.draw(str, 'tst') + + const bounds = renderer.bounds.getBounds() + expect(bounds.startx).toBe(0) + expect(bounds.starty).toBe(0) + expect(bounds.stopx).toBe(conf.width) + // 10 comes from mock of text height + expect(bounds.stopy).toBe(conf.height + conf.boxMargin + 2 * conf.noteMargin + 10) + }) + it('it should handle one actor and a note to the left', function () { + renderer.bounds.init() + const str = 'sequenceDiagram\n' + + 'participant Alice\n' + + 'Note left of Alice: Alice thinks' + + parser.parse(str) + renderer.draw(str, 'tst') + + const bounds = renderer.bounds.getBounds() + expect(bounds.startx).toBe(-(conf.width / 2) - (conf.actorMargin / 2)) + expect(bounds.starty).toBe(0) + expect(bounds.stopx).toBe(conf.width) + // 10 comes from mock of text height + expect(bounds.stopy).toBe(conf.height + conf.boxMargin + 2 * conf.noteMargin + 10) + }) + it('it should handle one actor and a note to the right', function () { + renderer.bounds.init() + const str = 'sequenceDiagram\n' + + 'participant Alice\n' + + 'Note right of Alice: Alice thinks' + + parser.parse(str) + renderer.draw(str, 'tst') + + const bounds = renderer.bounds.getBounds() + expect(bounds.startx).toBe(0) + expect(bounds.starty).toBe(0) + expect(bounds.stopx).toBe((conf.width / 2) + (conf.actorMargin / 2) + conf.width) + // 10 comes from mock of text height + expect(bounds.stopy).toBe(conf.height + conf.boxMargin + 2 * conf.noteMargin + 10) + }) + it('it should handle two actors', function () { + renderer.bounds.init() + const str = 'sequenceDiagram\n' + + 'Alice->Bob: Hello Bob, how are you?' + + parser.parse(str) + renderer.draw(str, 'tst') + + const bounds = renderer.bounds.getBounds() + expect(bounds.startx).toBe(0) + expect(bounds.starty).toBe(0) + expect(bounds.stopx).toBe(conf.width * 2 + conf.actorMargin) + expect(bounds.stopy).toBe(0 + conf.messageMargin + conf.height) + }) + it('it should handle two actors and two centered shared notes', function () { + renderer.bounds.init() + const str = 'sequenceDiagram\n' + + 'Alice->Bob: Hello Bob, how are you?\n' + + 'Note over Alice,Bob: Looks\n' + + 'Note over Bob,Alice: Looks back\n' + + parser.parse(str) + renderer.draw(str, 'tst') + + const bounds = renderer.bounds.getBounds() + expect(bounds.startx).toBe(0) + expect(bounds.starty).toBe(0) + expect(bounds.stopx).toBe(conf.width * 2 + conf.actorMargin) + expect(bounds.stopy).toBe(conf.height + conf.messageMargin + 2 * (conf.boxMargin + 2 * conf.noteMargin + 10)) + }) + it('it should draw two actors and two messages', function () { + renderer.bounds.init() + const str = 'sequenceDiagram\n' + + 'Alice->Bob: Hello Bob, how are you?\n' + + 'Bob->Alice: Fine!' + + parser.parse(str) + renderer.draw(str, 'tst') + + const bounds = renderer.bounds.getBounds() + expect(bounds.startx).toBe(0) + expect(bounds.starty).toBe(0) + expect(bounds.stopx).toBe(0 + conf.width * 2 + conf.actorMargin) + expect(bounds.stopy).toBe(0 + 2 * conf.messageMargin + conf.height) + }) + it('it should draw two actors notes to the right', function () { + renderer.bounds.init() + const str = 'sequenceDiagram\n' + + 'Alice->Bob: Hello Bob, how are you?\n' + + 'Note right of Bob: Bob thinks\n' + + 'Bob->Alice: Fine!' + + parser.parse(str) + renderer.draw(str, 'tst') + + const bounds = renderer.bounds.getBounds() + expect(bounds.startx).toBe(0) + expect(bounds.starty).toBe(0) + + const expStopX = conf.actorMargin + conf.width + (conf.width / 2) + conf.noteMargin + conf.width + + expect(bounds.stopx).toBe(expStopX) + expect(bounds.stopy).toBe(2 * conf.messageMargin + conf.height + conf.boxMargin + 10 + 2 * conf.noteMargin) + }) + it('it should draw two actors notes to the left', function () { + renderer.bounds.init() + const str = 'sequenceDiagram\n' + + 'Alice->Bob: Hello Bob, how are you?\n' + + 'Note left of Alice: Bob thinks\n' + + 'Bob->Alice: Fine!' + + parser.parse(str) + renderer.draw(str, 'tst') + + const bounds = renderer.bounds.getBounds() + expect(bounds.startx).toBe(-(conf.width / 2) - (conf.actorMargin / 2)) + expect(bounds.starty).toBe(0) + + expect(bounds.stopx).toBe(conf.width * 2 + conf.actorMargin) + expect(bounds.stopy).toBe(2 * conf.messageMargin + conf.height + conf.boxMargin + 10 + 2 * conf.noteMargin) + }) + it('it should draw two loops', function () { + renderer.bounds.init() + const str = 'sequenceDiagram\n' + + 'Alice->Bob: Hello Bob, how are you?\n' + + 'loop Cheers\n' + + 'Bob->Alice: Fine!\n' + + 'end' + parser.parse(str) + renderer.draw(str, 'tst') + + const bounds = renderer.bounds.getBounds() + expect(bounds.startx).toBe(0) + expect(bounds.starty).toBe(0) + + expect(bounds.stopx).toBe(0 + conf.width * 2 + conf.actorMargin) + expect(bounds.stopy).toBe(0 + 2 * conf.messageMargin + conf.height + 3 * conf.boxMargin + conf.boxTextMargin) + }) +}) + +describe('when rendering a sequenceDiagram with actor mirror activated', function () { + let conf + beforeEach(function () { + parser.yy = sequenceDb + parser.yy.clear() + + conf = { + diagramMarginX: 50, + diagramMarginY: 10, + actorMargin: 50, + width: 150, + // Height of actor boxes + height: 65, + boxMargin: 10, + messageMargin: 40, + boxTextMargin: 15, + noteMargin: 25, + mirrorActors: true, + // Depending on css styling this might need adjustment + // Prolongs the edge of the diagram downwards + bottomMarginAdj: 1 + } + renderer.setConf(conf) + }); + ['tspan', 'fo', 'old', undefined].forEach(function (textPlacement) { + it('it should handle one actor, when textPlacement is' + textPlacement, function () { + renderer.setConf(addConf(conf, 'textPlacement', textPlacement)) + renderer.bounds.init() + const str = 'sequenceDiagram\n' + + 'participant Alice' + + parser.parse(str) + renderer.draw(str, 'tst') + + const bounds = renderer.bounds.getBounds() + expect(bounds.startx).toBe(0) + expect(bounds.starty).toBe(0) + expect(bounds.stopx).toBe(conf.width) + expect(bounds.stopy).toBe(2 * conf.height + 2 * conf.boxMargin) + }) + }) +}) diff --git a/_submodules/mermaid/src/diagrams/sequence/sequenceRenderer.js b/_submodules/mermaid/src/diagrams/sequence/sequenceRenderer.js new file mode 100644 index 0000000000000000000000000000000000000000..fcf41d28eabb88c092f29264c50e067cd6c28109 --- /dev/null +++ b/_submodules/mermaid/src/diagrams/sequence/sequenceRenderer.js @@ -0,0 +1,496 @@ +import * as d3 from 'd3' + +import svgDraw from './svgDraw' +import { logger } from '../../logger' +import { parser } from './parser/sequenceDiagram' +import sequenceDb from './sequenceDb' + +parser.yy = sequenceDb + +const conf = { + + diagramMarginX: 50, + diagramMarginY: 30, + // Margin between actors + actorMargin: 50, + // Width of actor boxes + width: 150, + // Height of actor boxes + height: 65, + // Margin around loop boxes + boxMargin: 10, + boxTextMargin: 5, + noteMargin: 10, + // Space between messages + messageMargin: 35, + // mirror actors under diagram + mirrorActors: false, + // Depending on css styling this might need adjustment + // Prolongs the edge of the diagram downwards + bottomMarginAdj: 1, + + // width of activation box + activationWidth: 10, + + // text placement as: tspan | fo | old only text as before + textPlacement: 'tspan' +} + +export const bounds = { + data: { + startx: undefined, + stopx: undefined, + starty: undefined, + stopy: undefined + }, + verticalPos: 0, + + sequenceItems: [], + activations: [], + init: function () { + this.sequenceItems = [] + this.activations = [] + this.data = { + startx: undefined, + stopx: undefined, + starty: undefined, + stopy: undefined + } + this.verticalPos = 0 + }, + updateVal: function (obj, key, val, fun) { + if (typeof obj[key] === 'undefined') { + obj[key] = val + } else { + obj[key] = fun(val, obj[key]) + } + }, + updateBounds: function (startx, starty, stopx, stopy) { + const _self = this + let cnt = 0 + function updateFn (type) { + return function updateItemBounds (item) { + cnt++ + // The loop sequenceItems is a stack so the biggest margins in the beginning of the sequenceItems + const n = _self.sequenceItems.length - cnt + 1 + + _self.updateVal(item, 'starty', starty - n * conf.boxMargin, Math.min) + _self.updateVal(item, 'stopy', stopy + n * conf.boxMargin, Math.max) + + _self.updateVal(bounds.data, 'startx', startx - n * conf.boxMargin, Math.min) + _self.updateVal(bounds.data, 'stopx', stopx + n * conf.boxMargin, Math.max) + + if (!(type === 'activation')) { + _self.updateVal(item, 'startx', startx - n * conf.boxMargin, Math.min) + _self.updateVal(item, 'stopx', stopx + n * conf.boxMargin, Math.max) + + _self.updateVal(bounds.data, 'starty', starty - n * conf.boxMargin, Math.min) + _self.updateVal(bounds.data, 'stopy', stopy + n * conf.boxMargin, Math.max) + } + } + } + + this.sequenceItems.forEach(updateFn()) + this.activations.forEach(updateFn('activation')) + }, + insert: function (startx, starty, stopx, stopy) { + const _startx = Math.min(startx, stopx) + const _stopx = Math.max(startx, stopx) + const _starty = Math.min(starty, stopy) + const _stopy = Math.max(starty, stopy) + + this.updateVal(bounds.data, 'startx', _startx, Math.min) + this.updateVal(bounds.data, 'starty', _starty, Math.min) + this.updateVal(bounds.data, 'stopx', _stopx, Math.max) + this.updateVal(bounds.data, 'stopy', _stopy, Math.max) + + this.updateBounds(_startx, _starty, _stopx, _stopy) + }, + newActivation: function (message, diagram) { + const actorRect = parser.yy.getActors()[message.from.actor] + const stackedSize = actorActivations(message.from.actor).length + const x = actorRect.x + conf.width / 2 + (stackedSize - 1) * conf.activationWidth / 2 + this.activations.push({ + startx: x, + starty: this.verticalPos + 2, + stopx: x + conf.activationWidth, + stopy: undefined, + actor: message.from.actor, + anchored: svgDraw.anchorElement(diagram) + }) + }, + endActivation: function (message) { + // find most recent activation for given actor + const lastActorActivationIdx = this.activations + .map(function (activation) { return activation.actor }) + .lastIndexOf(message.from.actor) + const activation = this.activations.splice(lastActorActivationIdx, 1)[0] + return activation + }, + newLoop: function (title) { + this.sequenceItems.push({ startx: undefined, starty: this.verticalPos, stopx: undefined, stopy: undefined, title: title }) + }, + endLoop: function () { + const loop = this.sequenceItems.pop() + return loop + }, + addSectionToLoop: function (message) { + const loop = this.sequenceItems.pop() + loop.sections = loop.sections || [] + loop.sectionTitles = loop.sectionTitles || [] + loop.sections.push(bounds.getVerticalPos()) + loop.sectionTitles.push(message) + this.sequenceItems.push(loop) + }, + bumpVerticalPos: function (bump) { + this.verticalPos = this.verticalPos + bump + this.data.stopy = this.verticalPos + }, + getVerticalPos: function () { + return this.verticalPos + }, + getBounds: function () { + return this.data + } +} + +const _drawLongText = (text, x, y, g, width) => { + let textHeight = 0 + const lines = text.split(/<br\/?>/ig) + for (const line of lines) { + const textObj = svgDraw.getTextObj() + textObj.x = x + textObj.y = y + textHeight + textObj.textMargin = conf.noteMargin + textObj.dy = '1em' + textObj.text = line + textObj.class = 'noteText' + const textElem = svgDraw.drawText(g, textObj, width) + textHeight += (textElem._groups || textElem)[0][0].getBBox().height + } + return textHeight +} + +/** + * Draws an actor in the diagram with the attaced line + * @param center - The center of the the actor + * @param pos The position if the actor in the liost of actors + * @param description The text in the box + */ +const drawNote = function (elem, startx, verticalPos, msg, forceWidth) { + const rect = svgDraw.getNoteRect() + rect.x = startx + rect.y = verticalPos + rect.width = forceWidth || conf.width + rect.class = 'note' + + let g = elem.append('g') + const rectElem = svgDraw.drawRect(g, rect) + + const textHeight = _drawLongText(msg.message, startx - 4, verticalPos + 24, g, rect.width - conf.noteMargin) + + bounds.insert(startx, verticalPos, startx + rect.width, verticalPos + 2 * conf.noteMargin + textHeight) + rectElem.attr('height', textHeight + 2 * conf.noteMargin) + bounds.bumpVerticalPos(textHeight + 2 * conf.noteMargin) +} + +/** + * Draws a message + * @param elem + * @param startx + * @param stopx + * @param verticalPos + * @param txtCenter + * @param msg + */ +const drawMessage = function (elem, startx, stopx, verticalPos, msg) { + const g = elem.append('g') + const txtCenter = startx + (stopx - startx) / 2 + + const textElem = g.append('text') // text label for the x axis + .attr('x', txtCenter) + .attr('y', verticalPos - 7) + .style('text-anchor', 'middle') + .attr('class', 'messageText') + .text(msg.message) + + let textWidth = (textElem._groups || textElem)[0][0].getBBox().width + + let line + if (startx === stopx) { + line = g.append('path') + .attr('d', 'M ' + startx + ',' + verticalPos + ' C ' + (startx + 60) + ',' + (verticalPos - 10) + ' ' + (startx + 60) + ',' + + (verticalPos + 30) + ' ' + startx + ',' + (verticalPos + 20)) + + bounds.bumpVerticalPos(30) + const dx = Math.max(textWidth / 2, 100) + bounds.insert(startx - dx, bounds.getVerticalPos() - 10, stopx + dx, bounds.getVerticalPos()) + } else { + line = g.append('line') + line.attr('x1', startx) + line.attr('y1', verticalPos) + line.attr('x2', stopx) + line.attr('y2', verticalPos) + bounds.insert(startx, bounds.getVerticalPos() - 10, stopx, bounds.getVerticalPos()) + } + // Make an SVG Container + // Draw the line + if (msg.type === parser.yy.LINETYPE.DOTTED || msg.type === parser.yy.LINETYPE.DOTTED_CROSS || msg.type === parser.yy.LINETYPE.DOTTED_OPEN) { + line.style('stroke-dasharray', ('3, 3')) + line.attr('class', 'messageLine1') + } else { + line.attr('class', 'messageLine0') + } + + let url = '' + if (conf.arrowMarkerAbsolute) { + url = window.location.protocol + '//' + window.location.host + window.location.pathname + window.location.search + url = url.replace(/\(/g, '\\(') + url = url.replace(/\)/g, '\\)') + } + + line.attr('stroke-width', 2) + line.attr('stroke', 'black') + line.style('fill', 'none') // remove any fill colour + if (msg.type === parser.yy.LINETYPE.SOLID || msg.type === parser.yy.LINETYPE.DOTTED) { + line.attr('marker-end', 'url(' + url + '#arrowhead)') + } + + if (msg.type === parser.yy.LINETYPE.SOLID_CROSS || msg.type === parser.yy.LINETYPE.DOTTED_CROSS) { + line.attr('marker-end', 'url(' + url + '#crosshead)') + } +} + +export const drawActors = function (diagram, actors, actorKeys, verticalPos) { + // Draw the actors + for (let i = 0; i < actorKeys.length; i++) { + const key = actorKeys[i] + + // Add some rendering data to the object + actors[key].x = i * conf.actorMargin + i * conf.width + actors[key].y = verticalPos + actors[key].width = conf.diagramMarginX + actors[key].height = conf.diagramMarginY + + // Draw the box with the attached line + svgDraw.drawActor(diagram, actors[key].x, verticalPos, actors[key].description, conf) + bounds.insert(actors[key].x, verticalPos, actors[key].x + conf.width, conf.height) + } + + // Add a margin between the actor boxes and the first arrow + bounds.bumpVerticalPos(conf.height) +} + +export const setConf = function (cnf) { + const keys = Object.keys(cnf) + + keys.forEach(function (key) { + conf[key] = cnf[key] + }) +} + +const actorActivations = function (actor) { + return bounds.activations.filter(function (activation) { + return activation.actor === actor + }) +} + +const actorFlowVerticaBounds = function (actor) { + // handle multiple stacked activations for same actor + const actors = parser.yy.getActors() + const activations = actorActivations(actor) + + const left = activations.reduce(function (acc, activation) { return Math.min(acc, activation.startx) }, actors[actor].x + conf.width / 2) + const right = activations.reduce(function (acc, activation) { return Math.max(acc, activation.stopx) }, actors[actor].x + conf.width / 2) + return [left, right] +} + +/** + * Draws a flowchart in the tag with id: id based on the graph definition in text. + * @param text + * @param id + */ +export const draw = function (text, id) { + parser.yy.clear() + parser.parse(text + '\n') + + bounds.init() + const diagram = d3.select(`[id="${id}"]`) + + let startx + let stopx + let forceWidth + + // Fetch data from the parsing + const actors = parser.yy.getActors() + const actorKeys = parser.yy.getActorKeys() + const messages = parser.yy.getMessages() + const title = parser.yy.getTitle() + drawActors(diagram, actors, actorKeys, 0) + + // The arrow head definition is attached to the svg once + svgDraw.insertArrowHead(diagram) + svgDraw.insertArrowCrossHead(diagram) + + function activeEnd (msg, verticalPos) { + const activationData = bounds.endActivation(msg) + if (activationData.starty + 18 > verticalPos) { + activationData.starty = verticalPos - 6 + verticalPos += 12 + } + svgDraw.drawActivation(diagram, activationData, verticalPos, conf) + + bounds.insert(activationData.startx, verticalPos - 10, activationData.stopx, verticalPos) + } + + // const lastMsg + + // Draw the messages/signals + messages.forEach(function (msg) { + let loopData + switch (msg.type) { + case parser.yy.LINETYPE.NOTE: + bounds.bumpVerticalPos(conf.boxMargin) + + startx = actors[msg.from].x + stopx = actors[msg.to].x + + if (msg.placement === parser.yy.PLACEMENT.RIGHTOF) { + drawNote(diagram, startx + (conf.width + conf.actorMargin) / 2, bounds.getVerticalPos(), msg) + } else if (msg.placement === parser.yy.PLACEMENT.LEFTOF) { + drawNote(diagram, startx - (conf.width + conf.actorMargin) / 2, bounds.getVerticalPos(), msg) + } else if (msg.to === msg.from) { + // Single-actor over + drawNote(diagram, startx, bounds.getVerticalPos(), msg) + } else { + // Multi-actor over + forceWidth = Math.abs(startx - stopx) + conf.actorMargin + drawNote(diagram, (startx + stopx + conf.width - forceWidth) / 2, bounds.getVerticalPos(), msg, + forceWidth) + } + break + case parser.yy.LINETYPE.ACTIVE_START: + bounds.newActivation(msg, diagram) + break + case parser.yy.LINETYPE.ACTIVE_END: + activeEnd(msg, bounds.getVerticalPos()) + break + case parser.yy.LINETYPE.LOOP_START: + bounds.bumpVerticalPos(conf.boxMargin) + bounds.newLoop(msg.message) + bounds.bumpVerticalPos(conf.boxMargin + conf.boxTextMargin) + break + case parser.yy.LINETYPE.LOOP_END: + loopData = bounds.endLoop() + + svgDraw.drawLoop(diagram, loopData, 'loop', conf) + bounds.bumpVerticalPos(conf.boxMargin) + break + case parser.yy.LINETYPE.OPT_START: + bounds.bumpVerticalPos(conf.boxMargin) + bounds.newLoop(msg.message) + bounds.bumpVerticalPos(conf.boxMargin + conf.boxTextMargin) + break + case parser.yy.LINETYPE.OPT_END: + loopData = bounds.endLoop() + + svgDraw.drawLoop(diagram, loopData, 'opt', conf) + bounds.bumpVerticalPos(conf.boxMargin) + break + case parser.yy.LINETYPE.ALT_START: + bounds.bumpVerticalPos(conf.boxMargin) + bounds.newLoop(msg.message) + bounds.bumpVerticalPos(conf.boxMargin + conf.boxTextMargin) + break + case parser.yy.LINETYPE.ALT_ELSE: + bounds.bumpVerticalPos(conf.boxMargin) + loopData = bounds.addSectionToLoop(msg.message) + bounds.bumpVerticalPos(conf.boxMargin) + break + case parser.yy.LINETYPE.ALT_END: + loopData = bounds.endLoop() + + svgDraw.drawLoop(diagram, loopData, 'alt', conf) + bounds.bumpVerticalPos(conf.boxMargin) + break + case parser.yy.LINETYPE.PAR_START: + bounds.bumpVerticalPos(conf.boxMargin) + bounds.newLoop(msg.message) + bounds.bumpVerticalPos(conf.boxMargin + conf.boxTextMargin) + break + case parser.yy.LINETYPE.PAR_AND: + bounds.bumpVerticalPos(conf.boxMargin) + loopData = bounds.addSectionToLoop(msg.message) + bounds.bumpVerticalPos(conf.boxMargin) + break + case parser.yy.LINETYPE.PAR_END: + loopData = bounds.endLoop() + svgDraw.drawLoop(diagram, loopData, 'par', conf) + bounds.bumpVerticalPos(conf.boxMargin) + break + default: + try { + // lastMsg = msg + bounds.bumpVerticalPos(conf.messageMargin) + const fromBounds = actorFlowVerticaBounds(msg.from) + const toBounds = actorFlowVerticaBounds(msg.to) + const fromIdx = fromBounds[0] <= toBounds[0] ? 1 : 0 + const toIdx = fromBounds[0] < toBounds[0] ? 0 : 1 + startx = fromBounds[fromIdx] + stopx = toBounds[toIdx] + + const verticalPos = bounds.getVerticalPos() + drawMessage(diagram, startx, stopx, verticalPos, msg) + const allBounds = fromBounds.concat(toBounds) + bounds.insert(Math.min.apply(null, allBounds), verticalPos, Math.max.apply(null, allBounds), verticalPos) + } catch (e) { + logger.error('error while drawing message', e) + } + } + }) + + if (conf.mirrorActors) { + // Draw actors below diagram + bounds.bumpVerticalPos(conf.boxMargin * 2) + drawActors(diagram, actors, actorKeys, bounds.getVerticalPos()) + } + + const box = bounds.getBounds() + + // Adjust line height of actor lines now that the height of the diagram is known + logger.debug('For line height fix Querying: #' + id + ' .actor-line') + const actorLines = d3.selectAll('#' + id + ' .actor-line') + actorLines.attr('y2', box.stopy) + + let height = box.stopy - box.starty + 2 * conf.diagramMarginY + if (conf.mirrorActors) { + height = height - conf.boxMargin + conf.bottomMarginAdj + } + + const width = (box.stopx - box.startx) + (2 * conf.diagramMarginX) + + if (title) { + diagram.append('text') + .text(title) + .attr('x', ((box.stopx - box.startx) / 2) - (2 * conf.diagramMarginX)) + .attr('y', -25) + } + + if (conf.useMaxWidth) { + diagram.attr('height', '100%') + diagram.attr('width', '100%') + diagram.attr('style', 'max-width:' + (width) + 'px;') + } else { + diagram.attr('height', height) + diagram.attr('width', width) + } + const extraVertForTitle = title ? 40 : 0 + diagram.attr('viewBox', (box.startx - conf.diagramMarginX) + ' -' + (conf.diagramMarginY + extraVertForTitle) + ' ' + width + ' ' + (height + extraVertForTitle)) +} + +export default { + bounds, + drawActors, + setConf, + draw +} diff --git a/_submodules/mermaid/src/diagrams/sequence/svgDraw.js b/_submodules/mermaid/src/diagrams/sequence/svgDraw.js new file mode 100644 index 0000000000000000000000000000000000000000..29dbbafba57237f9ec987edc7c030c2df474dca8 --- /dev/null +++ b/_submodules/mermaid/src/diagrams/sequence/svgDraw.js @@ -0,0 +1,313 @@ +export const drawRect = function (elem, rectData) { + const rectElem = elem.append('rect') + rectElem.attr('x', rectData.x) + rectElem.attr('y', rectData.y) + rectElem.attr('fill', rectData.fill) + rectElem.attr('stroke', rectData.stroke) + rectElem.attr('width', rectData.width) + rectElem.attr('height', rectData.height) + rectElem.attr('rx', rectData.rx) + rectElem.attr('ry', rectData.ry) + + if (typeof rectData.class !== 'undefined') { + rectElem.attr('class', rectData.class) + } + + return rectElem +} + +export const drawText = function (elem, textData, width) { + // Remove and ignore br:s + const nText = textData.text.replace(/<br\/?>/ig, ' ') + + const textElem = elem.append('text') + textElem.attr('x', textData.x) + textElem.attr('y', textData.y) + textElem.style('text-anchor', textData.anchor) + textElem.attr('fill', textData.fill) + if (typeof textData.class !== 'undefined') { + textElem.attr('class', textData.class) + } + + const span = textElem.append('tspan') + span.attr('x', textData.x + textData.textMargin * 2) + span.attr('fill', textData.fill) + span.text(nText) + + return textElem +} + +export const drawLabel = function (elem, txtObject) { + function genPoints (x, y, width, height, cut) { + return x + ',' + y + ' ' + + (x + width) + ',' + y + ' ' + + (x + width) + ',' + (y + height - cut) + ' ' + + (x + width - cut * 1.2) + ',' + (y + height) + ' ' + + (x) + ',' + (y + height) + } + const polygon = elem.append('polygon') + polygon.attr('points', genPoints(txtObject.x, txtObject.y, 50, 20, 7)) + polygon.attr('class', 'labelBox') + + txtObject.y = txtObject.y + txtObject.labelMargin + txtObject.x = txtObject.x + 0.5 * txtObject.labelMargin + drawText(elem, txtObject) +} + +let actorCnt = -1 +/** + * Draws an actor in the diagram with the attaced line + * @param center - The center of the the actor + * @param pos The position if the actor in the liost of actors + * @param description The text in the box + */ +export const drawActor = function (elem, left, verticalPos, description, conf) { + const center = left + (conf.width / 2) + const g = elem.append('g') + if (verticalPos === 0) { + actorCnt++ + g.append('line') + .attr('id', 'actor' + actorCnt) + .attr('x1', center) + .attr('y1', 5) + .attr('x2', center) + .attr('y2', 2000) + .attr('class', 'actor-line') + .attr('stroke-width', '0.5px') + .attr('stroke', '#999') + } + + const rect = getNoteRect() + rect.x = left + rect.y = verticalPos + rect.fill = '#eaeaea' + rect.width = conf.width + rect.height = conf.height + rect.class = 'actor' + rect.rx = 3 + rect.ry = 3 + drawRect(g, rect) + + _drawTextCandidateFunc(conf)(description, g, + rect.x, rect.y, rect.width, rect.height, { 'class': 'actor' }) +} + +export const anchorElement = function (elem) { + return elem.append('g') +} +/** + * Draws an actor in the diagram with the attaced line + * @param elem - element to append activation rect + * @param bounds - activation box bounds + * @param verticalPos - precise y cooridnate of bottom activation box edge + */ +export const drawActivation = function (elem, bounds, verticalPos) { + const rect = getNoteRect() + const g = bounds.anchored + rect.x = bounds.startx + rect.y = bounds.starty + rect.fill = '#f4f4f4' + rect.width = bounds.stopx - bounds.startx + rect.height = verticalPos - bounds.starty + drawRect(g, rect) +} + +/** + * Draws an actor in the diagram with the attaced line + * @param center - The center of the the actor + * @param pos The position if the actor in the list of actors + * @param description The text in the box + */ +export const drawLoop = function (elem, bounds, labelText, conf) { + const g = elem.append('g') + const drawLoopLine = function (startx, starty, stopx, stopy) { + return g.append('line') + .attr('x1', startx) + .attr('y1', starty) + .attr('x2', stopx) + .attr('y2', stopy) + .attr('class', 'loopLine') + } + drawLoopLine(bounds.startx, bounds.starty, bounds.stopx, bounds.starty) + drawLoopLine(bounds.stopx, bounds.starty, bounds.stopx, bounds.stopy) + drawLoopLine(bounds.startx, bounds.stopy, bounds.stopx, bounds.stopy) + drawLoopLine(bounds.startx, bounds.starty, bounds.startx, bounds.stopy) + if (typeof bounds.sections !== 'undefined') { + bounds.sections.forEach(function (item) { + drawLoopLine(bounds.startx, item, bounds.stopx, item).style('stroke-dasharray', '3, 3') + }) + } + + let txt = getTextObj() + txt.text = labelText + txt.x = bounds.startx + txt.y = bounds.starty + txt.labelMargin = 1.5 * 10 // This is the small box that says "loop" + txt.class = 'labelText' // Its size & position are fixed. + + drawLabel(g, txt) + + txt = getTextObj() + txt.text = '[ ' + bounds.title + ' ]' + txt.x = bounds.startx + (bounds.stopx - bounds.startx) / 2 + txt.y = bounds.starty + 1.5 * conf.boxMargin + txt.anchor = 'middle' + txt.class = 'loopText' + + drawText(g, txt) + + if (typeof bounds.sectionTitles !== 'undefined') { + bounds.sectionTitles.forEach(function (item, idx) { + if (item !== '') { + txt.text = '[ ' + item + ' ]' + txt.y = bounds.sections[idx] + 1.5 * conf.boxMargin + drawText(g, txt) + } + }) + } +} + +/** + * Setup arrow head and define the marker. The result is appended to the svg. + */ +export const insertArrowHead = function (elem) { + elem.append('defs').append('marker') + .attr('id', 'arrowhead') + .attr('refX', 5) + .attr('refY', 2) + .attr('markerWidth', 6) + .attr('markerHeight', 4) + .attr('orient', 'auto') + .append('path') + .attr('d', 'M 0,0 V 4 L6,2 Z') // this is actual shape for arrowhead +} +/** + * Setup arrow head and define the marker. The result is appended to the svg. + */ +export const insertArrowCrossHead = function (elem) { + const defs = elem.append('defs') + const marker = defs.append('marker') + .attr('id', 'crosshead') + .attr('markerWidth', 15) + .attr('markerHeight', 8) + .attr('orient', 'auto') + .attr('refX', 16) + .attr('refY', 4) + + // The arrow + marker.append('path') + .attr('fill', 'black') + .attr('stroke', '#000000') + .style('stroke-dasharray', ('0, 0')) + .attr('stroke-width', '1px') + .attr('d', 'M 9,2 V 6 L16,4 Z') + + // The cross + marker.append('path') + .attr('fill', 'none') + .attr('stroke', '#000000') + .style('stroke-dasharray', ('0, 0')) + .attr('stroke-width', '1px') + .attr('d', 'M 0,1 L 6,7 M 6,1 L 0,7') + // this is actual shape for arrowhead +} + +export const getTextObj = function () { + const txt = { + x: 0, + y: 0, + 'fill': 'black', + 'text-anchor': 'start', + style: '#666', + width: 100, + height: 100, + textMargin: 0, + rx: 0, + ry: 0 + } + return txt +} + +export const getNoteRect = function () { + const rect = { + x: 0, + y: 0, + fill: '#EDF2AE', + stroke: '#666', + width: 100, + anchor: 'start', + height: 100, + rx: 0, + ry: 0 + } + return rect +} + +const _drawTextCandidateFunc = (function () { + function byText (content, g, x, y, width, height, textAttrs) { + const text = g.append('text') + .attr('x', x + width / 2).attr('y', y + height / 2 + 5) + .style('text-anchor', 'middle') + .text(content) + _setTextAttrs(text, textAttrs) + } + + function byTspan (content, g, x, y, width, height, textAttrs) { + const text = g.append('text') + .attr('x', x + width / 2).attr('y', y) + .style('text-anchor', 'middle') + text.append('tspan') + .attr('x', x + width / 2).attr('dy', '0') + .text(content) + + text.attr('y', y + height / 2.0) + .attr('dominant-baseline', 'central') + .attr('alignment-baseline', 'central') + + _setTextAttrs(text, textAttrs) + } + + function byFo (content, g, x, y, width, height, textAttrs) { + const s = g.append('switch') + const f = s.append('foreignObject') + .attr('x', x).attr('y', y) + .attr('width', width).attr('height', height) + + const text = f.append('div').style('display', 'table') + .style('height', '100%').style('width', '100%') + + text.append('div').style('display', 'table-cell') + .style('text-align', 'center').style('vertical-align', 'middle') + .text(content) + + byTspan(content, s, x, y, width, height, textAttrs) + _setTextAttrs(text, textAttrs) + } + + function _setTextAttrs (toText, fromTextAttrsDict) { + for (const key in fromTextAttrsDict) { + if (fromTextAttrsDict.hasOwnProperty(key)) { + toText.attr(key, fromTextAttrsDict[key]) + } + } + } + + return function (conf) { + return conf.textPlacement === 'fo' ? byFo : ( + conf.textPlacement === 'old' ? byText : byTspan) + } +})() + +export default { + drawRect, + drawText, + drawLabel, + drawActor, + anchorElement, + drawActivation, + drawLoop, + insertArrowHead, + insertArrowCrossHead, + getTextObj, + getNoteRect +} diff --git a/_submodules/mermaid/src/logger.js b/_submodules/mermaid/src/logger.js new file mode 100644 index 0000000000000000000000000000000000000000..adaadf31d34554bec1e13a0aacda57cfbf3703b3 --- /dev/null +++ b/_submodules/mermaid/src/logger.js @@ -0,0 +1,45 @@ +import moment from 'moment' + +export const LEVELS = { + debug: 1, + info: 2, + warn: 3, + error: 4, + fatal: 5 +} + +export const logger = { + debug: () => {}, + info: () => {}, + warn: () => {}, + error: () => {}, + fatal: () => {} +} + +export const setLogLevel = function (level) { + logger.debug = () => {} + logger.info = () => {} + logger.warn = () => {} + logger.error = () => {} + logger.fatal = () => {} + if (level <= LEVELS.fatal) { + logger.fatal = console.log.bind(console, '\x1b[35m', format('FATAL')) + } + if (level <= LEVELS.error) { + logger.error = console.log.bind(console, '\x1b[31m', format('ERROR')) + } + if (level <= LEVELS.warn) { + logger.warn = console.log.bind(console, `\x1b[33m`, format('WARN')) + } + if (level <= LEVELS.info) { + logger.info = console.log.bind(console, '\x1b[34m', format('INFO')) + } + if (level <= LEVELS.debug) { + logger.debug = console.log.bind(console, '\x1b[32m', format('DEBUG')) + } +} + +const format = (level) => { + const time = moment().format('HH:mm:ss.SSS') + return `${time} : ${level} : ` +} diff --git a/_submodules/mermaid/src/mermaid.js b/_submodules/mermaid/src/mermaid.js new file mode 100644 index 0000000000000000000000000000000000000000..a8f05ffea1df32ef3a8f80bf9112b3fe30a199b8 --- /dev/null +++ b/_submodules/mermaid/src/mermaid.js @@ -0,0 +1,167 @@ +/** + * Web page integration module for the mermaid framework. It uses the mermaidAPI for mermaid functionality and to render + * the diagrams to svg code. + */ +import he from 'he' + +import mermaidAPI from './mermaidAPI' +import { logger } from './logger' + +/** + * ## init + * Function that goes through the document to find the chart definitions in there and render them. + * + * The function tags the processed attributes with the attribute data-processed and ignores found elements with the + * attribute already set. This way the init function can be triggered several times. + * + * Optionally, `init` can accept in the second argument one of the following: + * - a DOM Node + * - an array of DOM nodes (as would come from a jQuery selector) + * - a W3C selector, a la `.mermaid` + * + * ```mermaid + * graph LR; + * a(Find elements)-->b{Processed} + * b-->|Yes|c(Leave element) + * b-->|No |d(Transform) + * ``` + * Renders the mermaid diagrams + * @param nodes a css selector or an array of nodes + */ +const init = function () { + const conf = mermaidAPI.getConfig() + logger.debug('Starting rendering diagrams') + let nodes + if (arguments.length >= 2) { + /*! sequence config was passed as #1 */ + if (typeof arguments[0] !== 'undefined') { + mermaid.sequenceConfig = arguments[0] + } + + nodes = arguments[1] + } else { + nodes = arguments[0] + } + + // if last argument is a function this is the callback function + let callback + if (typeof arguments[arguments.length - 1] === 'function') { + callback = arguments[arguments.length - 1] + logger.debug('Callback function found') + } else { + if (typeof conf.mermaid !== 'undefined') { + if (typeof conf.mermaid.callback === 'function') { + callback = conf.mermaid.callback + logger.debug('Callback function found') + } else { + logger.debug('No Callback function found') + } + } + } + nodes = nodes === undefined ? document.querySelectorAll('.mermaid') + : typeof nodes === 'string' ? document.querySelectorAll(nodes) + : nodes instanceof window.Node ? [nodes] + : nodes // Last case - sequence config was passed pick next + + logger.debug('Start On Load before: ' + mermaid.startOnLoad) + if (typeof mermaid.startOnLoad !== 'undefined') { + logger.debug('Start On Load inner: ' + mermaid.startOnLoad) + mermaidAPI.initialize({ startOnLoad: mermaid.startOnLoad }) + } + + if (typeof mermaid.ganttConfig !== 'undefined') { + mermaidAPI.initialize({ gantt: mermaid.ganttConfig }) + } + + let txt + + for (let i = 0; i < nodes.length; i++) { + const element = nodes[i] + + /*! Check if previously processed */ + if (!element.getAttribute('data-processed')) { + element.setAttribute('data-processed', true) + } else { + continue + } + + const id = `mermaid-${Date.now()}` + + // Fetch the graph definition including tags + txt = element.innerHTML + + // transforms the html to pure text + txt = he.decode(txt).trim().replace(/<br>/ig, '<br/>') + + mermaidAPI.render(id, txt, (svgCode, bindFunctions) => { + element.innerHTML = svgCode + if (typeof callback !== 'undefined') { + callback(id) + } + bindFunctions(element) + }, element) + } +} + +const initialize = function (config) { + logger.debug('Initializing mermaid') + if (typeof config.mermaid !== 'undefined') { + if (typeof config.mermaid.startOnLoad !== 'undefined') { + mermaid.startOnLoad = config.mermaid.startOnLoad + } + if (typeof config.mermaid.htmlLabels !== 'undefined') { + mermaid.htmlLabels = config.mermaid.htmlLabels + } + } + mermaidAPI.initialize(config) +} + +/** + * ##contentLoaded + * Callback function that is called when page is loaded. This functions fetches configuration for mermaid rendering and + * calls init for rendering the mermaid diagrams on the page. + */ +const contentLoaded = function () { + let config + + if (mermaid.startOnLoad) { + // No config found, do check API config + config = mermaidAPI.getConfig() + if (config.startOnLoad) { + mermaid.init() + } + } else { + if (typeof mermaid.startOnLoad === 'undefined') { + logger.debug('In start, no config') + config = mermaidAPI.getConfig() + if (config.startOnLoad) { + mermaid.init() + } + } + } +} + +if (typeof document !== 'undefined') { + /*! + * Wait for document loaded before starting the execution + */ + window.addEventListener('load', function () { + contentLoaded() + }, false) +} + +const mermaid = { + startOnLoad: true, + htmlLabels: true, + + mermaidAPI, + parse: mermaidAPI.parse, + render: mermaidAPI.render, + + init, + initialize, + + contentLoaded +} + +export default mermaid diff --git a/_submodules/mermaid/src/mermaid.spec.js b/_submodules/mermaid/src/mermaid.spec.js new file mode 100644 index 0000000000000000000000000000000000000000..996ad21f56078261dad2752e45bd629f1f159569 --- /dev/null +++ b/_submodules/mermaid/src/mermaid.spec.js @@ -0,0 +1,217 @@ +/* eslint-env jasmine */ +import mermaid from './mermaid' +import flowDb from './diagrams/flowchart/flowDb' +import flowParser from './diagrams/flowchart/parser/flow' +import flowRenderer from './diagrams/flowchart/flowRenderer' + +describe('when using mermaid and ', function () { + describe('when detecting chart type ', function () { + it('should not start rendering with mermaid.startOnLoad set to false', function () { + mermaid.startOnLoad = false + document.body.innerHTML = '<div class="mermaid">graph TD;\na;</div>' + spyOn(mermaid, 'init') + mermaid.contentLoaded() + expect(mermaid.init).not.toHaveBeenCalled() + }) + + it('should start rendering with both startOnLoad set', function () { + mermaid.startOnLoad = true + document.body.innerHTML = '<div class="mermaid">graph TD;\na;</div>' + spyOn(mermaid, 'init') + mermaid.contentLoaded() + expect(mermaid.init).toHaveBeenCalled() + }) + + it('should start rendering with mermaid.startOnLoad', function () { + mermaid.startOnLoad = true + document.body.innerHTML = '<div class="mermaid">graph TD;\na;</div>' + spyOn(mermaid, 'init') + mermaid.contentLoaded() + expect(mermaid.init).toHaveBeenCalled() + }) + + it('should start rendering as a default with no changes performed', function () { + document.body.innerHTML = '<div class="mermaid">graph TD;\na;</div>' + spyOn(mermaid, 'init') + mermaid.contentLoaded() + expect(mermaid.init).toHaveBeenCalled() + }) + }) + + describe('when calling addEdges ', function () { + beforeEach(function () { + flowParser.parser.yy = flowDb + flowDb.clear() + }) + it('it should handle edges with text', function () { + flowParser.parser.parse('graph TD;A-->|text ex|B;') + flowParser.parser.yy.getVertices() + const edges = flowParser.parser.yy.getEdges() + + const mockG = { + setEdge: function (start, end, options) { + expect(start).toBe('A') + expect(end).toBe('B') + expect(options.arrowhead).toBe('normal') + expect(options.label.match('text ex')).toBeTruthy() + } + } + + flowRenderer.addEdges(edges, mockG) + }) + + it('should handle edges without text', function () { + flowParser.parser.parse('graph TD;A-->B;') + flowParser.parser.yy.getVertices() + const edges = flowParser.parser.yy.getEdges() + + const mockG = { + setEdge: function (start, end, options) { + expect(start).toBe('A') + expect(end).toBe('B') + expect(options.arrowhead).toBe('normal') + } + } + + flowRenderer.addEdges(edges, mockG) + }) + + it('should handle open-ended edges', function () { + flowParser.parser.parse('graph TD;A---B;') + flowParser.parser.yy.getVertices() + const edges = flowParser.parser.yy.getEdges() + + const mockG = { + setEdge: function (start, end, options) { + expect(start).toBe('A') + expect(end).toBe('B') + expect(options.arrowhead).toBe('none') + } + } + + flowRenderer.addEdges(edges, mockG) + }) + + it('should handle edges with styles defined', function () { + flowParser.parser.parse('graph TD;A---B; linkStyle 0 stroke:val1,stroke-width:val2;') + flowParser.parser.yy.getVertices() + const edges = flowParser.parser.yy.getEdges() + + const mockG = { + setEdge: function (start, end, options) { + expect(start).toBe('A') + expect(end).toBe('B') + expect(options.arrowhead).toBe('none') + expect(options.style).toBe('stroke:val1;stroke-width:val2;fill:none;') + } + } + + flowRenderer.addEdges(edges, mockG) + }) + it('should handle edges with interpolation defined', function () { + flowParser.parser.parse('graph TD;A---B; linkStyle 0 interpolate basis') + flowParser.parser.yy.getVertices() + const edges = flowParser.parser.yy.getEdges() + + const mockG = { + setEdge: function (start, end, options) { + expect(start).toBe('A') + expect(end).toBe('B') + expect(options.arrowhead).toBe('none') + expect(options.curve).toBe('basis') // mocked as string + } + } + + flowRenderer.addEdges(edges, mockG) + }) + it('should handle edges with text and styles defined', function () { + flowParser.parser.parse('graph TD;A---|the text|B; linkStyle 0 stroke:val1,stroke-width:val2;') + flowParser.parser.yy.getVertices() + const edges = flowParser.parser.yy.getEdges() + + const mockG = { + setEdge: function (start, end, options) { + expect(start).toBe('A') + expect(end).toBe('B') + expect(options.arrowhead).toBe('none') + expect(options.label.match('the text')).toBeTruthy() + expect(options.style).toBe('stroke:val1;stroke-width:val2;fill:none;') + } + } + + flowRenderer.addEdges(edges, mockG) + }) + + it('should set fill to "none" by default when handling edges', function () { + flowParser.parser.parse('graph TD;A---B; linkStyle 0 stroke:val1,stroke-width:val2;') + flowParser.parser.yy.getVertices() + const edges = flowParser.parser.yy.getEdges() + + const mockG = { + setEdge: function (start, end, options) { + expect(start).toBe('A') + expect(end).toBe('B') + expect(options.arrowhead).toBe('none') + expect(options.style).toBe('stroke:val1;stroke-width:val2;fill:none;') + } + } + + flowRenderer.addEdges(edges, mockG) + }) + + it('should not set fill to none if fill is set in linkStyle', function () { + flowParser.parser.parse('graph TD;A---B; linkStyle 0 stroke:val1,stroke-width:val2,fill:blue;') + flowParser.parser.yy.getVertices() + const edges = flowParser.parser.yy.getEdges() + const mockG = { + setEdge: function (start, end, options) { + expect(start).toBe('A') + expect(end).toBe('B') + expect(options.arrowhead).toBe('none') + expect(options.style).toBe('stroke:val1;stroke-width:val2;fill:blue;') + } + } + + flowRenderer.addEdges(edges, mockG) + }) + }) + + describe('checking validity of input ', function () { + it('it should throw for an invalid definiton', function () { + expect(() => mermaid.parse('this is not a mermaid diagram definition')).toThrow() + }) + + it('it should not throw for a valid flow definition', function () { + expect(() => mermaid.parse('graph TD;A--x|text including URL space|B;')).not.toThrow() + }) + it('it should throw for an invalid flow definition', function () { + expect(() => mermaid.parse('graph TQ;A--x|text including URL space|B;')).toThrow() + }) + + it('it should not throw for a valid sequenceDiagram definition', function () { + const text = 'sequenceDiagram\n' + + 'Alice->Bob: Hello Bob, how are you?\n\n' + + '%% Comment\n' + + 'Note right of Bob: Bob thinks\n' + + 'alt isWell\n\n' + + 'Bob-->Alice: I am good thanks!\n' + + 'else isSick\n' + + 'Bob-->Alice: Feel sick...\n' + + 'end' + expect(() => mermaid.parse(text)).not.toThrow() + }) + + it('it should throw for an invalid sequenceDiagram definition', function () { + const text = 'sequenceDiagram\n' + + 'Alice:->Bob: Hello Bob, how are you?\n\n' + + '%% Comment\n' + + 'Note right of Bob: Bob thinks\n' + + 'alt isWell\n\n' + + 'Bob-->Alice: I am good thanks!\n' + + 'else isSick\n' + + 'Bob-->Alice: Feel sick...\n' + + 'end' + expect(() => mermaid.parse(text)).toThrow() + }) + }) +}) diff --git a/_submodules/mermaid/src/mermaidAPI.js b/_submodules/mermaid/src/mermaidAPI.js new file mode 100644 index 0000000000000000000000000000000000000000..d40c336c4290e95d9b84bd817e910fb68028fc8f --- /dev/null +++ b/_submodules/mermaid/src/mermaidAPI.js @@ -0,0 +1,487 @@ +/** + * --- + * title: mermaidAPI + * order: 5 + * --- + * # mermaidAPI + * This is the api to be used when handling the integration with the web page instead of using the default integration + * (mermaid.js). + * + * The core of this api is the **render** function that given a graph definitionas text renders the graph/diagram and + * returns a svg element for the graph. It is is then up to the user of the API to make use of the svg, either insert it + * somewhere in the page or something completely different. +*/ +import * as d3 from 'd3' +import scope from 'scope-css' + +import { logger, setLogLevel } from './logger' +import utils from './utils' +import flowRenderer from './diagrams/flowchart/flowRenderer' +import flowParser from './diagrams/flowchart/parser/flow' +import flowDb from './diagrams/flowchart/flowDb' +import sequenceRenderer from './diagrams/sequence/sequenceRenderer' +import sequenceParser from './diagrams/sequence/parser/sequenceDiagram' +import sequenceDb from './diagrams/sequence/sequenceDb' +import ganttRenderer from './diagrams/gantt/ganttRenderer' +import ganttParser from './diagrams/gantt/parser/gantt' +import ganttDb from './diagrams/gantt/ganttDb' +import classRenderer from './diagrams/class/classRenderer' +import classParser from './diagrams/class/parser/classDiagram' +import classDb from './diagrams/class/classDb' +import gitGraphRenderer from './diagrams/git/gitGraphRenderer' +import gitGraphParser from './diagrams/git/parser/gitGraph' +import gitGraphAst from './diagrams/git/gitGraphAst' + +const themes = {} +for (const themeName of ['default', 'forest', 'dark', 'neutral']) { + themes[themeName] = require(`./themes/${themeName}/index.scss`) +} + +/** + * ## Configuration + * These are the default options which can be overridden with the initialization call as in the example below: + * ``` + * mermaid.initialize({ + * flowchart:{ + * htmlLabels: false + * } + * }); + * ``` + */ +const config = { + theme: 'default', + themeCSS: undefined, + + /** + * logLevel , decides the amount of logging to be used. + * * debug: 1 + * * info: 2 + * * warn: 3 + * * error: 4 + * * fatal: 5 + */ + logLevel: 5, + + /** + * **startOnLoad** - This options controls whether or mermaid starts when the page loads + */ + startOnLoad: true, + + /** + * **arrowMarkerAbsolute** - This options controls whether or arrow markers in html code will be absolute paths or + * an anchor, #. This matters if you are using base tag settings. + */ + arrowMarkerAbsolute: false, + + /** + * ### flowchart + * *The object containing configurations specific for flowcharts* + */ + flowchart: { + /** + * **htmlLabels** - Flag for setting whether or not a html tag should be used for rendering labels + * on the edges + */ + htmlLabels: true, + + curve: 'linear' + }, + + /** + * ### sequenceDiagram + * The object containing configurations specific for sequence diagrams + */ + sequence: { + + /** + * **diagramMarginX** - margin to the right and left of the sequence diagram + */ + diagramMarginX: 50, + + /** + * **diagramMarginY** - margin to the over and under the sequence diagram + */ + diagramMarginY: 10, + + /** + * **actorMargin** - Margin between actors + */ + actorMargin: 50, + + /** + * **width** - Width of actor boxes + */ + width: 150, + + /** + * **height** - Height of actor boxes + */ + height: 65, + + /** + * **boxMargin** - Margin around loop boxes + */ + boxMargin: 10, + + /** + * **boxTextMargin** - margin around the text in loop/alt/opt boxes + */ + boxTextMargin: 5, + + /** + * **noteMargin** - margin around notes + */ + noteMargin: 10, + + /** + * **messageMargin** - Space between messages + */ + messageMargin: 35, + + /** + * **mirrorActors** - mirror actors under diagram + */ + mirrorActors: true, + + /** + * **bottomMarginAdj** - Depending on css styling this might need adjustment. + * Prolongs the edge of the diagram downwards + */ + bottomMarginAdj: 1, + + /** + * **useMaxWidth** - when this flag is set the height and width is set to 100% and is then scaling with the + * available space if not the absolute space required is used + */ + useMaxWidth: true + }, + + /** ### gantt + * The object containing configurations specific for gantt diagrams* + */ + gantt: { + /** + * **titleTopMargin** - margin top for the text over the gantt diagram + */ + titleTopMargin: 25, + + /** + * **barHeight** - the height of the bars in the graph + */ + barHeight: 20, + + /** + * **barGap** - the margin between the different activities in the gantt diagram + */ + barGap: 4, + + /** + * **topPadding** - margin between title and gantt diagram and between axis and gantt diagram. + */ + topPadding: 50, + + /** + * **leftPadding** - the space allocated for the section name to the left of the activities. + */ + leftPadding: 75, + + /** + * **gridLineStartPadding** - Vertical starting position of the grid lines + */ + gridLineStartPadding: 35, + + /** + * **fontSize** - font size ... + */ + fontSize: 11, + + /** + * **fontFamily** - font family ... + */ + fontFamily: '"Open-Sans", "sans-serif"', + + /** + * **numberSectionStyles** - the number of alternating section styles + */ + numberSectionStyles: 4, + + /** + * **axisFormat** - datetime format of the axis, this might need adjustment to match your locale and preferences + */ + axisFormat: '%Y-%m-%d' + }, + class: {}, + git: {} +} + +setLogLevel(config.logLevel) + +function parse (text) { + const graphType = utils.detectType(text) + let parser + + switch (graphType) { + case 'git': + parser = gitGraphParser + parser.parser.yy = gitGraphAst + break + case 'flowchart': + parser = flowParser + parser.parser.yy = flowDb + break + case 'sequence': + parser = sequenceParser + parser.parser.yy = sequenceDb + break + case 'gantt': + parser = ganttParser + parser.parser.yy = ganttDb + break + case 'class': + parser = classParser + parser.parser.yy = classDb + break + } + + parser.parser.yy.parseError = (str, hash) => { + const error = { str, hash } + throw error + } + + parser.parse(text) +} + +export const encodeEntities = function (text) { + let txt = text + + txt = txt.replace(/style.*:\S*#.*;/g, function (s) { + const innerTxt = s.substring(0, s.length - 1) + return innerTxt + }) + txt = txt.replace(/classDef.*:\S*#.*;/g, function (s) { + const innerTxt = s.substring(0, s.length - 1) + return innerTxt + }) + + txt = txt.replace(/#\w+;/g, function (s) { + const innerTxt = s.substring(1, s.length - 1) + + const isInt = /^\+?\d+$/.test(innerTxt) + if (isInt) { + return 'fl°°' + innerTxt + '¶ß' + } else { + return 'fl°' + innerTxt + '¶ß' + } + }) + + return txt +} + +export const decodeEntities = function (text) { + let txt = text + + txt = txt.replace(/fl°°/g, function () { + return '&#' + }) + txt = txt.replace(/fl°/g, function () { + return '&' + }) + txt = txt.replace(/¶ß/g, function () { + return ';' + }) + + return txt +} +/** + * ##render + * Function that renders an svg with a graph from a chart definition. Usage example below. + * + * ``` + * mermaidAPI.initialize({ + * startOnLoad:true + * }); + * $(function(){ + * const graphDefinition = 'graph TB\na-->b'; + * const cb = function(svgGraph){ + * console.log(svgGraph); + * }; + * mermaidAPI.render('id1',graphDefinition,cb); + * }); + *``` + * @param id the id of the element to be rendered + * @param txt the graph definition + * @param cb callback which is called after rendering is finished with the svg code as inparam. + * @param container selector to element in which a div with the graph temporarily will be inserted. In one is + * provided a hidden div will be inserted in the body of the page instead. The element will be removed when rendering is + * completed. + */ +const render = function (id, txt, cb, container) { + if (typeof container !== 'undefined') { + container.innerHTML = '' + + d3.select(container).append('div') + .attr('id', 'd' + id) + .append('svg') + .attr('id', id) + .attr('width', '100%') + .attr('xmlns', 'http://www.w3.org/2000/svg') + .append('g') + } else { + const element = document.querySelector('#' + 'd' + id) + if (element) { + element.innerHTML = '' + } + + d3.select('body').append('div') + .attr('id', 'd' + id) + .append('svg') + .attr('id', id) + .attr('width', '100%') + .attr('xmlns', 'http://www.w3.org/2000/svg') + .append('g') + } + + window.txt = txt + txt = encodeEntities(txt) + + const element = d3.select('#d' + id).node() + const graphType = utils.detectType(txt) + + // insert inline style into svg + const svg = element.firstChild + const firstChild = svg.firstChild + + // pre-defined theme + let style = themes[config.theme] + if (style === undefined) { + style = '' + } + + // user provided theme CSS + if (config.themeCSS !== undefined) { + style += `\n${config.themeCSS}` + } + + // classDef + if (graphType === 'flowchart') { + const classes = flowRenderer.getClasses(txt) + for (const className in classes) { + style += `\n.${className} > * { ${classes[className].styles.join(' !important; ')} !important; }` + } + } + + const style1 = document.createElement('style') + style1.innerHTML = scope(style, `#${id}`) + svg.insertBefore(style1, firstChild) + + const style2 = document.createElement('style') + const cs = window.getComputedStyle(svg) + style2.innerHTML = `#${id} { + color: ${cs.color}; + font: ${cs.font}; + }` + svg.insertBefore(style2, firstChild) + + switch (graphType) { + case 'git': + config.flowchart.arrowMarkerAbsolute = config.arrowMarkerAbsolute + gitGraphRenderer.setConf(config.git) + gitGraphRenderer.draw(txt, id, false) + break + case 'flowchart': + config.flowchart.arrowMarkerAbsolute = config.arrowMarkerAbsolute + flowRenderer.setConf(config.flowchart) + flowRenderer.draw(txt, id, false) + break + case 'sequence': + config.sequence.arrowMarkerAbsolute = config.arrowMarkerAbsolute + if (config.sequenceDiagram) { // backwards compatibility + sequenceRenderer.setConf(Object.assign(config.sequence, config.sequenceDiagram)) + console.error('`mermaid config.sequenceDiagram` has been renamed to `config.sequence`. Please update your mermaid config.') + } else { + sequenceRenderer.setConf(config.sequence) + } + sequenceRenderer.draw(txt, id) + break + case 'gantt': + config.gantt.arrowMarkerAbsolute = config.arrowMarkerAbsolute + ganttRenderer.setConf(config.gantt) + ganttRenderer.draw(txt, id) + break + case 'class': + config.class.arrowMarkerAbsolute = config.arrowMarkerAbsolute + classRenderer.setConf(config.class) + classRenderer.draw(txt, id) + break + } + + d3.select(`[id="${id}"]`).selectAll('foreignobject > *').attr('xmlns', 'http://www.w3.org/1999/xhtml') + + let url = '' + if (config.arrowMarkerAbsolute) { + url = window.location.protocol + '//' + window.location.host + window.location.pathname + window.location.search + url = url.replace(/\(/g, '\\(') + url = url.replace(/\)/g, '\\)') + } + + // Fix for when the base tag is used + let svgCode = d3.select('#d' + id).node().innerHTML.replace(/url\(#arrowhead/g, 'url(' + url + '#arrowhead', 'g') + + svgCode = decodeEntities(svgCode) + + if (typeof cb !== 'undefined') { + cb(svgCode, flowDb.bindFunctions) + } else { + logger.warn('CB = undefined!') + } + + const node = d3.select('#d' + id).node() + if (node !== null && typeof node.remove === 'function') { + d3.select('#d' + id).node().remove() + } + + return svgCode +} + +const setConf = function (cnf) { + // Top level initially mermaid, gflow, sequenceDiagram and gantt + const lvl1Keys = Object.keys(cnf) + for (let i = 0; i < lvl1Keys.length; i++) { + if (typeof cnf[lvl1Keys[i]] === 'object' && cnf[lvl1Keys[i]] != null) { + const lvl2Keys = Object.keys(cnf[lvl1Keys[i]]) + + for (let j = 0; j < lvl2Keys.length; j++) { + logger.debug('Setting conf ', lvl1Keys[i], '-', lvl2Keys[j]) + if (typeof config[lvl1Keys[i]] === 'undefined') { + config[lvl1Keys[i]] = {} + } + logger.debug('Setting config: ' + lvl1Keys[i] + ' ' + lvl2Keys[j] + ' to ' + cnf[lvl1Keys[i]][lvl2Keys[j]]) + config[lvl1Keys[i]][lvl2Keys[j]] = cnf[lvl1Keys[i]][lvl2Keys[j]] + } + } else { + config[lvl1Keys[i]] = cnf[lvl1Keys[i]] + } + } +} + +function initialize (options) { + logger.debug('Initializing mermaidAPI') + // Update default config with options supplied at initialization + if (typeof options === 'object') { + setConf(options) + } + setLogLevel(config.logLevel) +} + +function getConfig () { + return config +} + +const mermaidAPI = { + render, + parse, + initialize, + getConfig +} + +export default mermaidAPI diff --git a/_submodules/mermaid/src/mermaidAPI.spec.js b/_submodules/mermaid/src/mermaidAPI.spec.js new file mode 100644 index 0000000000000000000000000000000000000000..51749677cd7090172b2dec138d96e71f5d365d73 --- /dev/null +++ b/_submodules/mermaid/src/mermaidAPI.spec.js @@ -0,0 +1,45 @@ +/* eslint-env jasmine */ +import mermaidAPI from './mermaidAPI' + +describe('when using mermaidAPI and ', function () { + describe('doing initialize ', function () { + beforeEach(function () { + document.body.innerHTML = '' + }) + + it('should copy a literal into the configuration', function () { + const orgConfig = mermaidAPI.getConfig() + expect(orgConfig.testLiteral).toBe(undefined) + + mermaidAPI.initialize({ 'testLiteral': true }) + const config = mermaidAPI.getConfig() + + expect(config.testLiteral).toBe(true) + }) + it('should copy a an object into the configuration', function () { + const orgConfig = mermaidAPI.getConfig() + expect(orgConfig.testObject).toBe(undefined) + + const object = { + test1: 1, + test2: false + } + + mermaidAPI.initialize({ 'testObject': object }) + mermaidAPI.initialize({ 'testObject': { 'test3': true } }) + const config = mermaidAPI.getConfig() + + expect(config.testObject.test1).toBe(1) + expect(config.testObject.test2).toBe(false) + expect(config.testObject.test3).toBe(true) + }) + }) + describe('checking validity of input ', function () { + it('it should throw for an invalid definiton', function () { + expect(() => mermaidAPI.parse('this is not a mermaid diagram definition')).toThrow() + }) + it('it should not throw for a valid definiton', function () { + expect(() => mermaidAPI.parse('graph TD;A--x|text including URL space|B;')).not.toThrow() + }) + }) +}) diff --git a/_submodules/mermaid/src/themes/class.scss b/_submodules/mermaid/src/themes/class.scss new file mode 100644 index 0000000000000000000000000000000000000000..5e7de91503d085c62ad225d75c6edf8633eb00ed --- /dev/null +++ b/_submodules/mermaid/src/themes/class.scss @@ -0,0 +1,78 @@ +g.classGroup text { + fill: $nodeBorder; + stroke: none; + font-family: 'trebuchet ms', verdana, arial; + font-size: 10px; +} + +g.classGroup rect { + fill: $nodeBkg; + stroke: $nodeBorder; +} + +g.classGroup line { + stroke: $nodeBorder; + stroke-width: 1; +} + +.classLabel .box { + stroke: none; + stroke-width: 0; + fill: $nodeBkg; + opacity: 0.5; +} + +.classLabel .label { + fill: $nodeBorder; + font-size: 10px; +} + +.relation { + stroke: $nodeBorder; + stroke-width: 1; + fill: none; +} + +@mixin composition { + fill: $nodeBorder; + stroke: $nodeBorder; + stroke-width: 1; +} + +#compositionStart { + @include composition; +} + +#compositionEnd { + @include composition; +} + +@mixin aggregation { + fill: $nodeBkg; + stroke: $nodeBorder; + stroke-width: 1; +} + +#aggregationStart { + @include aggregation; +} + +#aggregationEnd { + @include aggregation; +} + +#dependencyStart { + @include composition; +} + +#dependencyEnd { + @include composition; +} + +#extensionStart { + @include composition; +} + +#extensionEnd { + @include composition; +} diff --git a/_submodules/mermaid/src/themes/default/index.scss b/_submodules/mermaid/src/themes/default/index.scss new file mode 100644 index 0000000000000000000000000000000000000000..e98fc0741e34cc34363934f6db1489a5bfc2db4a --- /dev/null +++ b/_submodules/mermaid/src/themes/default/index.scss @@ -0,0 +1,52 @@ +$mainBkg: #ECECFF; +$secondBkg: #ffffde; +$lineColor: #333333; +$border1: #CCCCFF; +$border2: #aaaa33; +$arrowheadColor: #333333; + +/* Flowchart variables */ + +$nodeBkg: $mainBkg; +$nodeBorder: #9370DB; +$clusterBkg: $secondBkg; +$clusterBorder: $border2; +$defaultLinkColor: $lineColor; +$titleColor: #333; +$edgeLabelBackground: #e8e8e8; + +/* Sequence Diagram variables */ + +$actorBorder: $border1; +$actorBkg: $mainBkg; +$actorTextColor: black; +$actorLineColor: grey; +$signalColor: #333; +$signalTextColor: #333; +$labelBoxBkgColor: $actorBkg; +$labelBoxBorderColor: $actorBorder; +$labelTextColor: $actorTextColor; +$noteBorderColor: $border2; +$noteBkgColor: #fff5ad; + +/* Gantt chart variables */ + +$sectionBkgColor: rgba(102, 102, 255, 0.49); +$altSectionBkgColor: white; +$sectionBkgColor2: #fff400; +$taskBorderColor: #534fbc; +$taskBkgColor: #8a90dd; +$taskTextLightColor: white; +$taskTextColor: $taskTextLightColor; +$taskTextDarkColor: black; +$taskTextOutsideColor: $taskTextDarkColor; +$activeTaskBorderColor: #534fbc; +$activeTaskBkgColor: #bfc7ff; +$gridColor: lightgrey; +$doneTaskBkgColor: lightgrey; +$doneTaskBorderColor: grey; +$critBorderColor: #ff8888; +$critBkgColor: red; +$todayLineColor: red; + +@import '../mermaid'; diff --git a/_submodules/mermaid/src/themes/flowchart.scss b/_submodules/mermaid/src/themes/flowchart.scss new file mode 100644 index 0000000000000000000000000000000000000000..edafcf5e75e4d52906c291cce0703878ec92454e --- /dev/null +++ b/_submodules/mermaid/src/themes/flowchart.scss @@ -0,0 +1,54 @@ +.label { + font-family: 'trebuchet ms', verdana, arial; + color: #333; +} + +.node rect, +.node circle, +.node ellipse, +.node polygon { + fill: $mainBkg; + stroke: $nodeBorder; + stroke-width: 1px; +} + +.node.clickable { + cursor: pointer; +} + +.arrowheadPath { + fill: $arrowheadColor; +} + +.edgePath .path { + stroke: $lineColor; + stroke-width: 1.5px; +} + +.edgeLabel { + background-color: $edgeLabelBackground; +} + +.cluster rect { + fill: $secondBkg !important; + stroke: $clusterBorder !important; + stroke-width: 1px !important; +} + +.cluster text { + fill: $titleColor; +} + +div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: 'trebuchet ms', verdana, arial; + font-size: 12px; + background: $secondBkg; + border: 1px solid $border2; + border-radius: 2px; + pointer-events: none; + z-index: 100; +} diff --git a/_submodules/mermaid/src/themes/forest/index.scss b/_submodules/mermaid/src/themes/forest/index.scss new file mode 100644 index 0000000000000000000000000000000000000000..f6e1a1dae7fd6c12d6533d8e7fa8914c764d943a --- /dev/null +++ b/_submodules/mermaid/src/themes/forest/index.scss @@ -0,0 +1,53 @@ +$mainBkg: #cde498; +$secondBkg: #cdffb2; +$lineColor: #1a3318; +$lineColor: green; +$border1: #13540c; +$border2: #6eaa49; +$arrowheadColor: green; + +/* Flowchart variables */ + +$nodeBkg: $mainBkg; +$nodeBorder: $border1; +$clusterBkg: $secondBkg; +$clusterBorder: $border2; +$defaultLinkColor: $lineColor; +$titleColor: #333; +$edgeLabelBackground: #e8e8e8; + +/* Sequence Diagram variables */ + +$actorBorder: $border1; +$actorBkg: $mainBkg; +$actorTextColor: black; +$actorLineColor: grey; +$signalColor: #333; +$signalTextColor: #333; +$labelBoxBkgColor: $actorBkg; +$labelBoxBorderColor: #326932; +$labelTextColor: $actorTextColor; +$noteBorderColor: $border2; +$noteBkgColor: #fff5ad; + +/* Gantt chart variables */ + +$sectionBkgColor: #6eaa49; +$altSectionBkgColor: white; +$sectionBkgColor2: #6eaa49; +$taskBorderColor: $border1; +$taskBkgColor: #487e3a; +$taskTextLightColor: white; +$taskTextColor: $taskTextLightColor; +$taskTextDarkColor: black; +$taskTextOutsideColor: $taskTextDarkColor; +$activeTaskBorderColor: $taskBorderColor; +$activeTaskBkgColor: $mainBkg; +$gridColor: lightgrey; +$doneTaskBkgColor: lightgrey; +$doneTaskBorderColor: grey; +$critBorderColor: #ff8888; +$critBkgColor: red; +$todayLineColor: red; + +@import '../mermaid'; diff --git a/_submodules/mermaid/src/themes/gantt.scss b/_submodules/mermaid/src/themes/gantt.scss new file mode 100644 index 0000000000000000000000000000000000000000..6793135ec854b44e26f15d006c1a5cb151f5d1f8 --- /dev/null +++ b/_submodules/mermaid/src/themes/gantt.scss @@ -0,0 +1,209 @@ +/** Section styling */ + +.section { + stroke: none; + opacity: 0.2; +} + +.section0 { + fill: $sectionBkgColor; +} + +.section2 { + fill: $sectionBkgColor2; +} + +.section1, +.section3 { + fill: $altSectionBkgColor; + opacity: 0.2; +} + +.sectionTitle0 { + fill: $titleColor; +} + +.sectionTitle1 { + fill: $titleColor; +} + +.sectionTitle2 { + fill: $titleColor; +} + +.sectionTitle3 { + fill: $titleColor; +} + +.sectionTitle { + text-anchor: start; + font-size: 11px; + text-height: 14px; +} + + +/* Grid and axis */ + +.grid .tick { + stroke: $gridColor; + opacity: 0.3; + shape-rendering: crispEdges; +} + +.grid path { + stroke-width: 0; +} + + +/* Today line */ + +.today { + fill: none; + stroke: $todayLineColor; + stroke-width: 2px; +} + + +/* Task styling */ + + +/* Default task */ + +.task { + stroke-width: 2; +} + +.taskText { + text-anchor: middle; + font-size: 11px; +} + +.taskTextOutsideRight { + fill: $taskTextDarkColor; + text-anchor: start; + font-size: 11px; +} + +.taskTextOutsideLeft { + fill: $taskTextDarkColor; + text-anchor: end; + font-size: 11px; +} + + +/* Specific task settings for the sections*/ + +.taskText0, +.taskText1, +.taskText2, +.taskText3 { + fill: $taskTextColor; +} + +.task0, +.task1, +.task2, +.task3 { + fill: $taskBkgColor; + stroke: $taskBorderColor; +} + +.taskTextOutside0, +.taskTextOutside2, +{ + fill: $taskTextOutsideColor; +} + +.taskTextOutside1, +.taskTextOutside3 { + fill: $taskTextOutsideColor; +} + + +/* Active task */ + +.active0, +.active1, +.active2, +.active3 { + fill: $activeTaskBkgColor; + stroke: $activeTaskBorderColor; +} + +.activeText0, +.activeText1, +.activeText2, +.activeText3 { + fill: $taskTextDarkColor !important; +} + + +/* Completed task */ + +.done0, +.done1, +.done2, +.done3 { + stroke: $doneTaskBorderColor; + fill: $doneTaskBkgColor; + stroke-width: 2; +} + +.doneText0, +.doneText1, +.doneText2, +.doneText3 { + fill: $taskTextDarkColor !important; +} + + +/* Tasks on the critical line */ + +.crit0, +.crit1, +.crit2, +.crit3 { + stroke: $critBorderColor; + fill: $critBkgColor; + stroke-width: 2; +} + +.activeCrit0, +.activeCrit1, +.activeCrit2, +.activeCrit3 { + stroke: $critBorderColor; + fill: $activeTaskBkgColor; + stroke-width: 2; +} + +.doneCrit0, +.doneCrit1, +.doneCrit2, +.doneCrit3 { + stroke: $critBorderColor; + fill: $doneTaskBkgColor; + stroke-width: 2; + cursor: pointer; + shape-rendering: crispEdges; +} + +.doneCritText0, +.doneCritText1, +.doneCritText2, +.doneCritText3 { + fill: $taskTextDarkColor !important; +} + +.activeCritText0, +.activeCritText1, +.activeCritText2, +.activeCritText3 { + fill: $taskTextDarkColor !important; +} + +.titleText { + text-anchor: middle; + font-size: 18px; + fill: $taskTextDarkColor; +} diff --git a/_submodules/mermaid/src/themes/git.scss b/_submodules/mermaid/src/themes/git.scss new file mode 100644 index 0000000000000000000000000000000000000000..f4072ef6526819fb162af3b02146ceb4f79f8dcb --- /dev/null +++ b/_submodules/mermaid/src/themes/git.scss @@ -0,0 +1,6 @@ +.commit-id, +.commit-msg, +.branch-label { + fill: lightgrey; + color: lightgrey; +} diff --git a/_submodules/mermaid/src/themes/mermaid.scss b/_submodules/mermaid/src/themes/mermaid.scss new file mode 100644 index 0000000000000000000000000000000000000000..9a46f5142e06ce354a2dad513acc5a678360c314 --- /dev/null +++ b/_submodules/mermaid/src/themes/mermaid.scss @@ -0,0 +1,5 @@ +@import 'flowchart'; +@import 'sequence'; +@import 'gantt'; +@import 'class'; +@import 'git'; diff --git a/_submodules/mermaid/src/themes/neutral/index.scss b/_submodules/mermaid/src/themes/neutral/index.scss new file mode 100644 index 0000000000000000000000000000000000000000..f0560142f0d87358ce74356362e49fd805f818b1 --- /dev/null +++ b/_submodules/mermaid/src/themes/neutral/index.scss @@ -0,0 +1,57 @@ +$mainBkg: #eee; +$contrast: #26a; +$secondBkg: lighten($contrast, 55%); +$lineColor: #666; +$border1: #999; +$border2: $contrast; +$note: #ffa; +$text: #333; +$critical: #d42; +$done: #bbb; +$arrowheadColor: #333333; + +/* Flowchart variables */ + +$nodeBkg: $mainBkg; +$nodeBorder: $border1; +$clusterBkg: $secondBkg; +$clusterBorder: $border2; +$defaultLinkColor: $lineColor; +$titleColor: $text; +$edgeLabelBackground: white; + +/* Sequence Diagram variables */ + +$actorBorder: $border1; +$actorBkg: $mainBkg; +$actorTextColor: $text; +$actorLineColor: $lineColor; +$signalColor: $text; +$signalTextColor: $text; +$labelBoxBkgColor: $actorBkg; +$labelBoxBorderColor: $actorBorder; +$labelTextColor: white; +$noteBorderColor: darken($note, 60%); +$noteBkgColor: $note; + +/* Gantt chart variables */ + +$sectionBkgColor: lighten($contrast, 30%); +$altSectionBkgColor: white; +$sectionBkgColor2: lighten($contrast, 30%); +$taskBorderColor: darken($contrast, 10%); +$taskBkgColor: $contrast; +$taskTextLightColor: white; +$taskTextColor: $taskTextLightColor; +$taskTextDarkColor: $text; +$taskTextOutsideColor: $taskTextDarkColor; +$activeTaskBorderColor: $taskBorderColor; +$activeTaskBkgColor: $mainBkg; +$gridColor: lighten($border1, 30%); +$doneTaskBkgColor: $done; +$doneTaskBorderColor: $lineColor; +$critBkgColor: $critical; +$critBorderColor: darken($critBkgColor, 10%); +$todayLineColor: $critBkgColor; + +@import '../mermaid'; diff --git a/_submodules/mermaid/src/themes/sequence.scss b/_submodules/mermaid/src/themes/sequence.scss new file mode 100644 index 0000000000000000000000000000000000000000..780e8ecf5dc74059d24730fe46a01937667c99f8 --- /dev/null +++ b/_submodules/mermaid/src/themes/sequence.scss @@ -0,0 +1,75 @@ +.actor { + stroke: $actorBorder; + fill: $actorBkg; +} + +text.actor { + fill: $actorTextColor; + stroke: none; +} + +.actor-line { + stroke: $actorLineColor; +} + +.messageLine0 { + stroke-width: 1.5; + stroke-dasharray: '2 2'; + marker-end: 'url(#arrowhead)'; + stroke: $signalColor; +} + +.messageLine1 { + stroke-width: 1.5; + stroke-dasharray: '2 2'; + stroke: $signalColor; +} + +#arrowhead { + fill: $signalColor; +} + +#crosshead path { + fill: $signalColor !important; + stroke: $signalColor !important; +} + +.messageText { + fill: $signalTextColor; + stroke: none; +} + +.labelBox { + stroke: $labelBoxBorderColor; + fill: $labelBoxBkgColor; +} + +.labelText { + fill: $labelTextColor; + stroke: none; +} + +.loopText { + fill: $labelTextColor; + stroke: none; +} + +.loopLine { + stroke-width: 2; + stroke-dasharray: '2 2'; + marker-end: 'url(#arrowhead)'; + stroke: $labelBoxBorderColor; +} + +.note { + //stroke: #decc93; + stroke: $noteBorderColor; + fill: $noteBkgColor; +} + +.noteText { + fill: black; + stroke: none; + font-family: 'trebuchet ms', verdana, arial; + font-size: 14px; +} diff --git a/_submodules/mermaid/src/utils.js b/_submodules/mermaid/src/utils.js new file mode 100644 index 0000000000000000000000000000000000000000..a18bed14a61f89aef49dc423976d83cc0dfa59bf --- /dev/null +++ b/_submodules/mermaid/src/utils.js @@ -0,0 +1,66 @@ +import * as d3 from 'd3' + +/** + * @function detectType + * Detects the type of the graph text. + * ```mermaid + * graph LR + * a-->b + * b-->c + * c-->d + * d-->e + * e-->f + * f-->g + * g-->h + * ``` + * + * @param {string} text The text defining the graph + * @returns {string} A graph definition key + */ +export const detectType = function (text) { + text = text.replace(/^\s*%%.*\n/g, '\n') + if (text.match(/^\s*sequenceDiagram/)) { + return 'sequence' + } + + if (text.match(/^\s*gantt/)) { + return 'gantt' + } + + if (text.match(/^\s*classDiagram/)) { + return 'class' + } + + if (text.match(/^\s*gitGraph/)) { + return 'git' + } + return 'flowchart' +} + +/** + * @function isSubstringInArray + * Detects whether a substring in present in a given array + * @param {string} str The substring to detect + * @param {array} arr The array to search + * @returns {number} the array index containing the substring or -1 if not present + **/ +export const isSubstringInArray = function (str, arr) { + for (let i = 0; i < arr.length; i++) { + if (arr[i].match(str)) return i + } + return -1 +} + +export const interpolateToCurve = (interpolate, defaultCurve) => { + if (!interpolate) { + return defaultCurve + } + const curveName = `curve${interpolate.charAt(0).toUpperCase() + interpolate.slice(1)}` + return d3[curveName] || defaultCurve +} + +export default { + detectType, + isSubstringInArray, + interpolateToCurve +} diff --git a/_submodules/mermaid/src/utils.spec.js b/_submodules/mermaid/src/utils.spec.js new file mode 100644 index 0000000000000000000000000000000000000000..43341fb6d116b0a8f9af03ee6a3b33b9964c1d59 --- /dev/null +++ b/_submodules/mermaid/src/utils.spec.js @@ -0,0 +1,39 @@ +/* eslint-env jasmine */ +import utils from './utils' + +describe('when detecting chart type ', function () { + it('should handle a graph defintion', function () { + const str = 'graph TB\nbfs1:queue' + const type = utils.detectType(str) + expect(type).toBe('flowchart') + }) + it('should handle a graph defintion with leading spaces', function () { + const str = ' graph TB\nbfs1:queue' + const type = utils.detectType(str) + expect(type).toBe('flowchart') + }) + + it('should handle a graph defintion with leading spaces and newline', function () { + const str = ' \n graph TB\nbfs1:queue' + const type = utils.detectType(str) + expect(type).toBe('flowchart') + }) + it('should handle a graph defintion for gitGraph', function () { + const str = ' \n gitGraph TB:\nbfs1:queue' + const type = utils.detectType(str) + expect(type).toBe('git') + }) +}) + +describe('when finding substring in array ', function () { + it('should return the array index that contains the substring', function () { + const arr = ['stroke:val1', 'fill:val2'] + const result = utils.isSubstringInArray('fill', arr) + expect(result).toEqual(1) + }) + it('should return -1 if the substring is not found in the array', function () { + const arr = ['stroke:val1', 'stroke-width:val2'] + const result = utils.isSubstringInArray('fill', arr) + expect(result).toEqual(-1) + }) +}) diff --git a/_submodules/mermaid/todo.md b/_submodules/mermaid/todo.md new file mode 100644 index 0000000000000000000000000000000000000000..615856d5a1626e59b1974b30ef2d904717e9fa93 --- /dev/null +++ b/_submodules/mermaid/todo.md @@ -0,0 +1,4 @@ +- Get familar with jison +- git graph requires a blank line at the end. why? +- Create a desktop client +- Do the rendering in an iframe to avoid global CSS to affect rendering. diff --git a/_submodules/mermaid/webpack.config.babel.js b/_submodules/mermaid/webpack.config.babel.js new file mode 100644 index 0000000000000000000000000000000000000000..73faab7840d7fcfa6826a556c55aa9319c270c60 --- /dev/null +++ b/_submodules/mermaid/webpack.config.babel.js @@ -0,0 +1,11 @@ +import nodeExternals from 'webpack-node-externals' + +import { jsConfig } from './webpack.config.base' + +const config = jsConfig() + +const coreConfig = jsConfig() +coreConfig.externals = [nodeExternals()] +coreConfig.output.filename = '[name].core.js' + +export default [config, coreConfig] diff --git a/_submodules/mermaid/webpack.config.base.js b/_submodules/mermaid/webpack.config.base.js new file mode 100644 index 0000000000000000000000000000000000000000..727880fd64d4c649df1bb8bd6b3ac0b4aff3663f --- /dev/null +++ b/_submodules/mermaid/webpack.config.base.js @@ -0,0 +1,48 @@ +import path from 'path' + +const amdRule = { + parser: { + amd: false // https://github.com/lodash/lodash/issues/3052 + } +} + +const jsRule = { + test: /\.js$/, + exclude: /node_modules/, + use: { + loader: 'babel-loader' + } +} + +const scssRule = { // load scss to string + test: /\.scss$/, + use: [ + { loader: 'css-to-string-loader' }, + { loader: 'css-loader' }, + { loader: 'sass-loader' } + ] +} + +export const jsConfig = () => { + return { + mode: 'development', + target: 'web', + entry: { + mermaid: './src/mermaid.js' + }, + node: { + fs: 'empty' // jison generated code requires 'fs' + }, + output: { + path: path.join(__dirname, './dist/'), + filename: '[name].js', + library: 'mermaid', + libraryTarget: 'umd', + libraryExport: 'default' + }, + module: { + rules: [amdRule, jsRule, scssRule] + }, + devtool: 'source-map' + } +} diff --git a/_submodules/mermaid/webpack.config.prod.babel.js b/_submodules/mermaid/webpack.config.prod.babel.js new file mode 100644 index 0000000000000000000000000000000000000000..9ae00d575982af91b85916bc0c9a73df49bf4d36 --- /dev/null +++ b/_submodules/mermaid/webpack.config.prod.babel.js @@ -0,0 +1,7 @@ +import { jsConfig } from './webpack.config.base' + +const minConfig = jsConfig() +minConfig.mode = 'production' +minConfig.output.filename = '[name].min.js' + +export default [minConfig] diff --git a/academic-conduct.md b/academic-conduct.md new file mode 100644 index 0000000000000000000000000000000000000000..173e174d744064c93696dad3f90094d4bc943427 --- /dev/null +++ b/academic-conduct.md @@ -0,0 +1,190 @@ +--- +layout: default +(no)warning: old +--- + + +--- + +Integrity is a crucial part of your character and is essential for +a successful career. We expect you to demonstrate integrity in +CSE 154 and elsewhere. + +The Paul G Allen School has an entire page on +[Academic Misconduct](https://www.cs.washington.edu/academics/misconduct) +within the context of Computer Science, and the University of +Washington has an entire page on how +[Academic Misconduct](https://www.washington.edu/cssc/for-students/academic-misconduct/) +[Community Standards and Student Conduct Page](https://www.washington.edu/cssc/). +Please acquaint yourself with both of those pages, and in +particular how academic misconduct will be reported to the +University. + +Your academic conduct in this course is evaluated in at least the +four areas described in detail below. + +* TOC +{:toc} + +# Honesty in Communications + +Individuals are expected to be honest and forthcoming +in communications with TAs and the instructor. + +# Application Content + +## School Appropriateness of Content + +Recall that one of our course policies is to engender an +inclusive environment. As such it is important that you are thoughtful about +what you choose to post on your page. Please make sure that the +images and text you are using are “school appropriate†and follow +the guidelines of expected behavior. If you have any questions, +please do not hesitate to ask a TA or your instructor. Inappropriate work +submitted may be ineligible for credit on that assignment. + + +## Copyright and Citations + +All of the expressions of ideas in this class that are fixed in +any tangible medium such as digital and physical documents are +protected by copyright law as embodied in title 17 of the United +States Code. These expressions include the work product of both: +(1) your student colleagues (e.g., any assignments published here +in the course environment or statements committed to text in a +discussion forum); and, (2) your instructor (e.g., the syllabus, +assignments, reading lists, and lectures). Within the constraints +of "fair use," you may copy these copyrighted +expressions for your personal intellectual use in support of your +education here in the UW. Such fair use by you does not include +further distribution by any means of copying, performance or +presentation beyond the circle of your close acquaintances, +student colleagues in this class and your family. If you have any +questions regarding whether a use to which you wish to put one of +these expressions violates the creator's copyright interests, +please feel free to ask the instructor for guidance. + +The essence of academic life revolves around respect not only for +the ideas of others, but also their rights to those ideas. It is +therefore essential that we take the utmost care that the ideas +(and the expressions of those ideas) of others always be handled +appropriately, and, where necessary, cited. When ideas or +materials of others are used (particularly in your creative +projects), they must be cited. The citation format is not that important - +as long as the source material can be located and the citation +verified, it's OK. In any situation, if you have a question, +please feel free to ask. + +You must have the right to publish any of the images, videos, +text, or other media on your creative sites. This means you may +use: + +- Media you have created or generated yourself (i.e. pictures you have created or taken yourself, text you have written yourself.) +- Images that are in the public domain (something from Wikipedia), or something with a creative commons license that allows for reuse without explicit permission of the owner. + - [Creative Commons Kiwi](https://creativecommons.org/about/videos/creative-commons-kiwi/) is a really informative video on Creative Commons licensing. + - Instructions on how to search for images that are fair use are [here](https://support.google.com/websearch/answer/29508?hl=en). + - You must cite any works that you use that you did not generate yourself (although technically you only need to cite things that are [CC Attribution](https://creativecommons.org/licenses/by/2.0/). A handy site for knowing how to add your citations is + [here](https://wiki.creativecommons.org/wiki/Best_practices_for_attribution). + + +# Collaboration Policies + +> As a teacher, it’s not my goal in life to read a class’ worth of +> programs on a topic that all basically look the same. My goal is +> to assess whether you understand the material that we’ve taught in +> class enough, and you demonstrate that to me through the work you +> do. I can not assess that if you are turning in someone else’s +> work. +> - Dr. Tom Butler, Lakeside H.S. + +Computer science education is odd in that we expect you to turn in +work that you do completely independently when in the +"real world" that’s not how it works at all. In the real +world, co-workers collaborate, bounce ideas off each other, they +look up parts of solutions on the internet. But in the "real +world" the people doing the work have years of experience, +they have proved themselves to their teachers, co-workers and +bosses to where they are at that moment and most importantly, they +know <strong>how to evaluate which of the solutions they are +receiving is an appropriate one to solve the task at hand.</strong> + +As your instructor, I need to be able to evaluate +<strong>your</strong> work. Thus, unless otherwise specified all +work in this and other CS classes must be your own. We realize you +may look at other sources online to learn how to achieve new things, but we expect +you to synthesize this information and not copy it directly. You +should never copy (plagiarize) homework or code from another person +in this school (past or present) or that you find online directly +and submit it as your own work. + +All programming assignments must be completed individually. You may not +discuss homework assignments with other students, but you may (and are +encouraged to) discuss related material each week, such as section exercises, +lecture material, readings, etc. You may also discuss Creative Projects with +other students, as long as the code you write is entirely your own, and discussion +with students on Creative Projects should never involve details of how to code a +solution. Specifically, you must abide by the following: + + +- You **may not use code directly from any external sources** (including copying lecture/lab material directly into a programming assignments). +- You may not post your homework solutions on a publicly accessible (non-password-protected) web server or Git repository, during the course or after it has been completed. Please see the course website for acceptable ways to show your work to others. +- You may not look at or use prior solutions from any source. + +In short: you should think of most assignments in this class as assessments and as such, complete them independently - unless otherwise told. + + +Under our policy, a student who gives inappropriate help is +equally guilty with one who receives it. Instead of providing such +help to a classmate, point them to other class resources such as +lecture examples, OH, or a TA. You must take reasonable steps +to ensure that your work is not copied by others, such as making +sure to log out or lock shared computers, not leaving printouts of +your code in public places, and not emailing code to other +students or posting it on the web or public forums. + +We enforce our policies by running detection software during the +quarter over all programs, including ones from past quarters. +Please contact us if you are unsure whether a particular behavior +falls within our policy. + +Important reading: Some students at Lakeside HS wrote the +[Collaboration Guidelines for CS](https://docs.google.com/a/uw.edu/document/d/1XnyVg8eBEe7e_PlCaxRP-MnQiuZjMzkwjiNYMhS0T_U/edit?usp=sharing) +document in 2016 (you need to be logged in with your +UW NetID to read this). This document has some clear examples of +what to do and not to do and will be required reading for Computer +Science courses. + +## Policies on Creative Portions of Projects + +Some portions of our projects will have a creative aspect to them. On occasion students may wish to use portions of sample code that has been obtained on our course website or others. In order to avoid academic misconduct for a Creative portion of your CSE 340 projects you must: + +- Ensure that substantive original work is submitted that can be evaluated by the course staff. +- Cite the ideas or materials of others that are used. The citation format is not that important - as long as the source material can be located and the citation verified (a url in a comment is generally fine), it's OK. +- Clearly indicate (e.g. with comments) which portions of your code are completely original and which are used or modified from external sources, if any code is used that builds off of/is inspired by external sources (e.g. adaption of an example CSE 340 exercise, online tutorial you find). We will only grade your original work. Note that solely changing identifier names or rearranging other source material is not considered your original work - see the examples of appropriate use below for details. + +A good analogy to this is if you were writing a history paper: You can use quotes in your paper as long as you give attribution to the sources of the quote, but you can not write a history paper out of the quotes of others (particularly with no citations). + +Some examples of appropriate use: + +- A student closely follows a tutorial to understand a new concept in Android Development (e.g. animations). The student cites the tutorial they used in the file header then substantially modifies the tutorial code to include what is specified for the creative portion of the assignment, documenting which portions of the code are their own so TAs know which portions to grade (and to determine whether the material cited as being learned from the tutorial is sufficiently adapted to be considered the student’s own work). +- A student is having difficulty styling their website. They look for a solution and find one on a site such as Stack Overflow. The student uses the code they find in their solution, documents that small piece of code was not their own with a comment that includes where it was found. The TAs will not use that portion of the code in grading. + +Students with questions about any specific situation should ask the instructor for clarification. + +# Privacy + +To support an academic environment of rigorous discussion and open +expression of personal thoughts and feelings, we, as members of +the academic community, must be committed to the inviolate right +of privacy of our student and instructor colleagues. As a result, +we must forego sharing personally identifiable information about +any member of our community including information about the ideas +they express, their families, lifestyles and their political and +social affiliations. If you have any questions regarding whether a +disclosure you wish to make regarding anyone in this course or in +the university community violates that person's privacy interests, +please feel free to ask the instructor for guidance. + +Knowingly violating any of these principles of academic conduct, +privacy or copyright may result in University disciplinary action +under the Student Code of Conduct. diff --git a/assets/css/assignment.css b/assets/css/assignment.css new file mode 100644 index 0000000000000000000000000000000000000000..6cb8f7453274f47c93be519c1305856732ef6607 --- /dev/null +++ b/assets/css/assignment.css @@ -0,0 +1,44 @@ +div.learning-goals { + display: flex; + align-items: start; + justify-content: flex-start; +} + +div.learning-goals div { + flex: 1 1 auto; +} + +#assignment-name h1 { + margin-bottom: 0; +} + +#assignment-name span { + font-size: small; +} + +#assignment-name { + margin-bottom: 2em; +} + +#unpublished-warning { + background-color: pink; + border: 0.15em solid red; + border-radius: 0.5em; + color: red; + font-size: large; + padding: 0.25em 0.5em; + margin-bottom: 1em; +} + +.quote { + background: #f9f9f9; + border-left: 10px solid #ccc; + margin: 1.5em 10px; + padding: 0.5em 10px; + quotes: "\201C""\201D""\2018""\2019"; +} + +.note { + color: red; + font-weight: bold; +} diff --git a/assets/css/font-awesome.min.css b/assets/css/font-awesome.min.css new file mode 100644 index 0000000000000000000000000000000000000000..540440ce89f2a408aa699b65100e18f15e0f09ca --- /dev/null +++ b/assets/css/font-awesome.min.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} diff --git a/assets/css/mermaid.css b/assets/css/mermaid.css new file mode 100644 index 0000000000000000000000000000000000000000..a7c17f426f81a372394a6afcc1ca913cdfb94ee8 --- /dev/null +++ b/assets/css/mermaid.css @@ -0,0 +1,436 @@ +/* Flowchart variables */ +/* Sequence Diagram variables */ +/* Gantt chart variables */ + + +.remark-slide-container { + visibility: hidden; + display: initial; +} +.remark-visible { + visibility: visible; +} + +.mermaid .label { + color: #333; + font-size: 16pt; + +} + +.node rect, +.node circle, +.node ellipse, +.node polygon { + fill: #dbf0db; + stroke: #CCCCFF; + stroke-width: 1px; + padding-top:0px; +} + +.edgePath .path { + stroke: #333333; +} +.edgeLabel { + font-size: 14pt; + padding-right: 2px; +} +.cluster rect { + fill: #ffffde !important; + rx: 4 !important; + stroke: #aaaa33 !important; + stroke-width: 1px !important; +} +.cluster text { + fill: #333; +} +.actor { + stroke: #CCCCFF; + fill: #dbf0db; +} +text.actor { + fill: black; + stroke: none; +} +.actor-line { + stroke: grey; +} +.messageLine0 { + stroke-width: 1.5; + stroke-dasharray: "2 2"; + marker-end: "url(#arrowhead)"; + stroke: #333; +} +.messageLine1 { + stroke-width: 1.5; + stroke-dasharray: "2 2"; + stroke: #333; +} +#arrowhead { + fill: #333; +} +#crosshead path { + fill: #333 !important; + stroke: #333 !important; +} +.messageText { + fill: #333; + stroke: none; +} +.labelBox { + stroke: #CCCCFF; + fill: #dbf0db; +} +.labelText { + fill: black; + stroke: none; +} +.loopText { + fill: black; + stroke: none; +} +.loopLine { + stroke-width: 2; + stroke-dasharray: "2 2"; + marker-end: "url(#arrowhead)"; + stroke: #CCCCFF; +} +.note { + stroke: #aaaa33; + fill: #fff5ad; +} +.noteText { + fill: black; + stroke: none; + font-family: 'trebuchet ms', verdana, arial; + font-size: 12px; +} +/** Section styling */ +.section { + stroke: none; + opacity: 0.2; +} +.section0 { + fill: rgba(102, 102, 255, 0.49); +} +.section2 { + fill: #fff400; +} +.section1, +.section3 { + fill: white; + opacity: 0.2; +} +.sectionTitle0 { + fill: #333; +} +.sectionTitle1 { + fill: #333; +} +.sectionTitle2 { + fill: #333; +} +.sectionTitle3 { + fill: #333; +} +.sectionTitle { + text-anchor: start; + font-size: 10px; + text-height: 12px; +} +/* Grid and axis */ +.grid .tick { + stroke: lightgrey; + opacity: 0.3; + shape-rendering: crispEdges; +} +.grid path { + stroke-width: 0; +} +/* Today line */ +.today { + fill: none; + stroke: red; + stroke-width: 2px; +} +/* Task styling */ +/* Default task */ +.task { + stroke-width: 2; +} +.taskText { + text-anchor: middle; + font-size: 10px; +} +.taskTextOutsideRight { + fill: black; + text-anchor: start; + font-size: 10px; +} +.taskTextOutsideLeft { + fill: black; + text-anchor: end; + font-size: 10px; +} +/* Specific task settings for the sections*/ +.taskText0, +.taskText1, +.taskText2, +.taskText3 { + fill: white; +} +.task0, +.task1, +.task2, +.task3 { + fill: #dbf0db; + stroke: #534fbc; +} +.taskTextOutside0, +.taskTextOutside2 { + fill: black; +} +.taskTextOutside1, +.taskTextOutside3 { + fill: black; +} +/* Active task */ +.active0, +.active1, +.active2, +.active3 { + fill: #bfc7ff; + stroke: #534fbc; +} +.activeText0, +.activeText1, +.activeText2, +.activeText3 { + fill: black !important; +} +/* Completed task */ +.done0, +.done1, +.done2, +.done3 { + stroke: grey; + fill: lightgrey; + stroke-width: 2; +} +.doneText0, +.doneText1, +.doneText2, +.doneText3 { + fill: black !important; +} +/* Tasks on the critical line */ +.crit0, +.crit1, +.crit2, +.crit3 { + stroke: #ff8888; + fill: red; + stroke-width: 2; +} +.activeCrit0, +.activeCrit1, +.activeCrit2, +.activeCrit3 { + stroke: #ff8888; + fill: #bfc7ff; + stroke-width: 2; +} +.doneCrit0, +.doneCrit1, +.doneCrit2, +.doneCrit3 { + stroke: #ff8888; + fill: lightgrey; + stroke-width: 2; + cursor: pointer; + shape-rendering: crispEdges; +} +.doneCritText0, +.doneCritText1, +.doneCritText2, +.doneCritText3 { + fill: black !important; +} +.activeCritText0, +.activeCritText1, +.activeCritText2, +.activeCritText3 { + fill: black !important; +} +.titleText { + text-anchor: middle; + font-size: 16px; + fill: black; +} +/* + + +*/ +.node text { + font-family: 'trebuchet ms', verdana, arial; + font-size: 12px; +} +div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: 'trebuchet ms', verdana, arial; + font-size: 12px; + background: #ffffde; + border: 1px solid #aaaa33; + border-radius: 2px; + pointer-events: none; + z-index: 100; +} + + +.bluegreen > rect { + fill: #d1e0e0 !important; + stroke:#333 !important; + stroke-width:2px !important; +} + +.blue > rect { + fill: #e6f3ff !important; + stroke:#333 !important; + stroke-width:2px !important; +} + +.green > rect { + fill: #dbf0db !important; + stroke:#333 !imporatant; + stroke-width:2px !important; +} + + +.yellow > rect { + fill:#ffffe6 !important; + stroke:#333 !important; + stroke-width:2px !important; +} + + +.darkblue > rect { + fill: #99ccff !important; + stroke:#333 !important; + stroke-width:4px !important; +} + + +.bluegreen > circle { + fill: #d1e0e0 !important; + stroke:#333 !important; + stroke-width:2px !important; +} + +.blue > circle { + fill: #e6f3ff !important; + stroke:#333 !important; + stroke-width:2px !important; + font-size:small; +} + +.green > circle { + fill: #dbf0db !important; + stroke:#333 !imporatant; + stroke-width:2px !important; +} + +.yellow > circle { + fill:#ffffe6 !important; + stroke:#333 !important; + stroke-width:2px !important; +} + +.darkblue > circle { + fill:#7887AB !important; + stroke:#333 !important; + stroke-width:2px !important; + color:white !important; +} + + +.finish > circle { + outline-style:double; + fill:#d1e0e0; + stroke:#333; + stroke-width:2px; +} +.finish > rect { + outline-style:double; + fill:#d1e0e0; + stroke:#333; + stroke-width:2px; +} +.normal > circle { + fill:#e6f3ff; + stroke:#333; + stroke-width:2px; +} + +.normal > rect { + fill:#e6f3ff; + stroke:#333; + stroke-width:2px; +} +.start > circle { + fill:#d1e0e0; + stroke:#333; + stroke-width:4px; + border-width:5px; +} + +.start > rect { + fill:#d1e0e0; + stroke:#333; + stroke-width:4px; + border-width:5px; +} + +.invisible > circle { + fill:#FFFFFF !important; + stroke:#FFFFFF !important; + color:#FFFFFF !important; + alpha:0; +} + +.invisible > rect { + fill:#FFFFFF !important; + stroke:#FFFFFF !important; + color:#FFFFFF !important; + alpha:0; +} + +.messageText { + fill:black; + stroke:none; + font-family: 'trebuchet ms', verdana, arial; + font-size:12px; +} + +g.classGroup text .title { + font-size:12px; +} + +g.classLabel .box { + fill:#d1e0e0; +} + +g.classGroup rect { + fill:#d1e0e0; + +} + +g > foreignObject > div { + position:relative; + font-size: .8em; + height:auto; + width:auto; + padding:3px; + display:inline-block; +} diff --git a/assets/css/my-remark.scss b/assets/css/my-remark.scss new file mode 100644 index 0000000000000000000000000000000000000000..66a5a5e4f44aea56bbae4a8c0593f098d557116f --- /dev/null +++ b/assets/css/my-remark.scss @@ -0,0 +1,967 @@ +--- +# This is the custom style sheet for remark +--- +@import "fontawesome"; +@import "remark-base"; +$body-font: 24pt; +$code-font: 20pt; +$title-font: 40pt; +$footnote-font: 14pt; + +.cover { + object-fit: cover; + width: 50px; + height: 100px; +} + +.caption-frame { + position: top; + float:top; + width: 100%; + height: 200px; +} + +.remark-slide-scaler { + top:0 !important; + height:inherit; +} + +.remark-slide .remark-slide-content remark-container { + height:inherit !important; +} + +pre { + margin: .5em 0; +} + +.remark-code { + font-family: 'Ubuntu Mono'; + font-size: $code-font; + transform: scale(1.0); +} + +.remark-inline-code{ + /* background: #F5F5F5; /* lighter */ + font-family: 'Ubuntu Mono'; + font-size: $code-font; + background: #e7e8e2; /* darker */ + border-radius: 3px; + padding: 4px; +} + + +.jax{ + font: inherit; font-size: 100%; background: inherit; border: inherit; +} + + +/****************************** +/** Tables +******************************/ + +table { + border: 2px solid #FFFFFF; + text-align: left; + table-layout:fixed; + border-collapse: collapse; +} +table td, table th { + border: 1px solid #FFFFFF; + padding: 3px 4px; +} +table tbody td { + font-size: 1em; +} +table tr:nth-child(even) { + background: #EBEBEB; +} +table thead { + background: #333333; + color: #FFFFFF; + border-bottom: 4px solid #333333; +} + +table thead th { + font-size: 0.7em; + font-weight: bold; + color: #FFFFFF; + border-left: 2px solid #333333; +} +table thead th:first-child { + border-left: none; +} + +table tfoot { + font-size: 0.7em; + font-weight: bold; + color: #333333; + border-top: 4px solid #333333; +} +table tfoot td { + font-size:0.7em; +} + +.quote { + background: #f9f9f9; + border-left: 10px solid #ccc; + margin: 1.5em 10px; + padding: 0.5em 10px; + quotes: "\201C""\201D""\2018""\2019"; +} + + +.inverse { + background: #262626; + color: #e6e6e6; + text-shadow: 0 0 20px #333; + h1, h2 { + color: #f1f1f1; + } + .p { + font-size: 1.5em; + } + .footnote { + bottom: 12px; + right: 10px; + padding:5px; + } + +} + + +.title { + color: #333; + float: left; + font-size: $title-font; + padding-left: 1em; +} + +.body { + width: 85%; + float: right; + font-size: 1em; + padding-left: 1em; + padding-top: .5em; +} + +body.compact { + width: 85%; + float: right; + font-size: $body-font - 8px; + padding-left: 1em; +} + +.font-medium { + font-size: $body-font -4pt !important; +} + +.font-smaller { + font-size: $body-font -8pt !important; +} + +.font-small { + font-size: $footnote-font !important; +} + +.bold{ + font-weight: bold; +} + +.blue { + color: #0066ff; +} +.red { + color: #e43; +} + +.highlight { + color: #096000; + background: #fff9ff; +} + +.medium { + font-size: 1.5em; +} + +.overlay { + position: absolute; + top: 0; + z-index: 10; + width: 740px; + height: 372px; + background: rgba(0,0,0,0.6); + transform: skew(200.25deg); + left: 300px; +} + +.corner-ribbon{ + width: 200px; + background: #e43; + position: absolute; + top: 25px; + left: -50px; + text-align: center; + line-height: 50px; + letter-spacing: 1px; + color: #f0f0f0; + transform: rotate(-45deg); + -webkit-transform: rotate(-45deg); +} + +.corner-ribbon.sticky{ + position: fixed; +} + +.corner-ribbon.shadow{ + box-shadow: 0 0 3px rgba(0,0,0,.3); +} + +/* Different positions */ + +.corner-ribbon.brtl{ + top: 240px; + left: 100px; + font-size: $body-font; + width: 1200px; + line-height: 100px; + transform: rotate(-45deg); + z-index: 10; + -webkit-transform: rotate(-45deg); +} + +.corner-ribbon.tlbr{ + top: auto; + left: auto; + bottom: 240px; + right: 100px; + font-size: $body-font; + width: 1200px; + line-height: 100px; + transform: rotate(45deg); + z-index: 10; + -webkit-transform: rotate(45deg); +} + +.corner-ribbon.top-left{ + top: 25px; + left: -50px; + transform: rotate(-45deg); + -webkit-transform: rotate(-45deg); +} + +.corner-ribbon.top-right{ + top: 25px; + right: -50px; + left: auto; + transform: rotate(45deg); + -webkit-transform: rotate(45deg); +} + +.corner-ribbon.bottom-left{ + top: auto; + bottom: 25px; + left: -50px; + transform: rotate(45deg); + -webkit-transform: rotate(45deg); +} + +.corner-ribbon.bottom-right{ + top: auto; + right: -50px; + bottom: 25px; + left: auto; + transform: rotate(-45deg); + -webkit-transform: rotate(-45deg); +} + +/* Colors */ + +.corner-ribbon.white{background: #f0f0f0; color: #555;} +.corner-ribbon.black{background: #333;} +.corner-ribbon.grey{background: #999;} +.corner-ribbon.blue{background: #39d;} +.corner-ribbon.green{background: #2c7;} +.corner-ribbon.turquoise{background: #1b9;} +.corner-ribbon.purple{background: #95b;} +.corner-ribbon.red{background: #e43;} +.corner-ribbon.orange{background: #e82;} +.corner-ribbon.yellow{background: #ec0;} + + +html.remark-container, body.remark-container { + height: 100%; + width: 100%; + -webkit-print-color-adjust: exact; +} + +.remark-container { + background: #d7d8d2; + margin: 0; + overflow: hidden; +} +.remark-container:focus { + outline-style: solid; + outline-width: 1px; +} +.remark-container:-webkit-full-screen { + width: 100%; + height: 100%; +} + + + +/**********/ +/* Slides */ +/**********/ + +.remark-slides-area { + position: relative; + height: 100%; + width: 100%; +} +.remark-slide-container { + display: none; + position: absolute; + height: 100%; + width: 100%; + page-break-after: always; +} + +.remark-slide-scaler { + background-color: transparent; + overflow: auto; + position: absolute; + -webkit-transform-origin: top left; + -moz-transform-origin: top left; + transform-origin: top-left; + -moz-box-shadow: 0 0 30px #888; + -webkit-box-shadow: 0 0 30px #888; + box-shadow: 0 0 30px #888; +} +.remark-slide { + height: 100%; + width: 100%; + display: table; + table-layout: fixed; + position: relative; + + > .left { + text-align: left; + } + + > .center { + text-align: center; + } + + > .right { + text-align: right; + } + + > .top { + vertical-align: top; + } + + > .middle { + vertical-align: middle; + } + + > .bottom { + vertical-align: bottom; + } +} + +.remark-slide-content { + background-position: center; + background-repeat: no-repeat; + display: table-cell; + font-size: $body-font; + padding: 1em 2em 1em 2em; + + h1 { + font-size: $title-font; + } + h2 { font-size: $title-font - .1; } + h3 { font-size: $title-font - .2; } + + li { + font-size: $body-font - 3pt; + } + + li > li { + font-size: $body-font - 8pt; + } + + .left { + display: block; + text-align: left; + } + + .center { + display: block; + text-align: center; + } + + .right { + display: block; + text-align: right; + } + + .footnote { + font-size: $footnote-font; + background-color: white; + clear:both; + bottom: 12px; + right: 20px; + left: 20px; + z-index: 2; + } + +} + +.remark-slide-number { + bottom: 10px; + opacity: 0.5; + position: absolute; + right: 15px; + font-size: 0.7em; + +} + +.remark-slide-notes { + border-top: 3px solid black; + position: absolute; + display: none; +} + +.remark-code-line { + min-height: 1em; +} +.remark-code-line-highlighted { + background-color: #ffe6ff; + color:black; +} +.remark-code-span-highlighted { + background-color: #ffe6ff; + color:black; + padding: 1px 2px 2px 2px; +} + +.remark-visible { + display: block; + z-index: 2; +} +.remark-fading { + display: block; + z-index: 1; + .remark-slide-scaler { + -moz-box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; + } +} + +/************/ +/* Backdrop */ +/************/ + +.remark-backdrop { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + display: none; + background: #000; + z-index: 2; +} + +/*****************/ +/* Pause overlay */ +/*****************/ + +.remark-pause { + bottom: 0; + top: 0; + right: 0; + left: 0; + display: none; + position: absolute; + z-index: 1000; + + .remark-pause-lozenge { + margin-top: 30%; + text-align: center; + + span { + color: white; + background: black; + border: 2px solid black; + border-radius: 20px; + padding: 20px 30px; + font-family: Helvetica, arial, freesans, clean, sans-serif; + font-size: 42pt; + font-weight: bold; + } + } +} + +.remark-container.remark-presenter-mode.remark-pause-mode { + .remark-pause { + display: block; + } + .remark-backdrop { + display: block; + opacity: 0.5; + } +} + +/********/ +/* Help */ +/********/ + +.remark-help { + bottom: 0; + top: 0; + right: 0; + left: 0; + display: none; + position: absolute; + z-index: 1000; + -webkit-transform-origin: top left; + -moz-transform-origin: top left; + transform-origin: top-left; + + .remark-help-content { + color: white; + font-family: Helvetica, arial, freesans, clean, sans-serif; + font-size: 12pt; + position: absolute; + top: 5%; + bottom: 10%; + height: 10%; + left: 5%; + width: 90%; + + h1 { + font-size: 36px; + } + + td { + color: white; + font-size: 12pt; + padding: 10px; + } + td:first-child { + padding-left: 0; + } + .key { + background: white; + color: black; + min-width: 1em; + display: inline-block; + padding: 3px 6px; + text-align: center; + border-radius: 4px; + font-size: 14px, + } + } + + .dismiss { + top: 85%; + } +} + +.remark-container.remark-help-mode { + .remark-help { + display: block; + } + .remark-backdrop { + display: block; + opacity: 0.95; + } +} + + +/* Slide-specific styling */ + +#slide-how .slides { + font-size: 0.9em; + position: absolute; + top: 151px; + right: 140px; + h3 { + margin-top: 0.2em; + } + .first, .second { + padding: 1px 20px; + height: 90px; + width: 120px; + -moz-box-shadow: 0 0 10px #777; + -webkit-box-shadow: 0 0 10px #777; + box-shadow: 0 0 10px #777; + } + .first { + background: #fff; + position: absolute; + top: 20%; + left: 20%; + z-index: 1; + } + .second { + position: relative; + background: #fff; + z-index: 0; + } +} + +.upper_left { + position: absolute; + top: 0; + left: 0; + width: 200px; +} +.upper_right { + position: absolute; + top: 100; + right: 0%; + width: 640px; +} +.lower_left { + position: absolute; + bottom: 10%; + width: 200px; + left: 0; +} +.lower_right { + bottom: 10%; + right: 10%; + width: 200px; + position: absolute; +} + +/* Two-column layout */ +.left-column { + color: #111; + width: 20%; + height: 92%; + float: left; + h2:last-of-type, h3:last-child { + color: #000; + } + font-size: $body-font; +} + +.right-column { + width: 75%; + float: right; + padding-top: 1em; + padding-left: 1em; + font-size: $body-font; +} + +.left-column-half { + color: #111; + width: 50%; + float: left; + h2:last-of-type, h3:last-child { + color: #000; + } + padding-left: 1em; +} + +.right-column-half { + width: 45%; + float: right; + padding-top: 1em; +} + +.left-column40 { + width: 40%; + float: left; + padding-left: 1em; +} + + +.left-column60 { + width: 60%; + float: left; + padding-left: 1em; +} + +.right-column20 { + width: 20%; + float: right; + padding-left: 1em; +} + +.right-column30 { + width: 30%; + float: right; + padding-left: 1em; +} + + +.right-column40 { + width: 40%; + float: right; + padding-left: 1em; +} + +.right-column55 { + width: 55%; + float: right; + padding-left: 1em; +} + + +.middle-column { + width: 60%; + float: left; + padding-left: 1em; +} + +.left-column-staff { + width: 40%; + float: left; +} + +.right-column-staff { + width: 55%; + float: right; + padding-top: 2em; +} + +/************/ +/* Blackout */ +/************/ + +.remark-container.remark-blackout-mode:not(.remark-presenter-mode) { + .remark-backdrop { + display: block; + opacity: 0.99; + } +} + +/************/ +/* Mirrored */ +/************/ + +.remark-container.remark-mirrored-mode:not(.remark-presenter-mode) { + .remark-slides-area { + -webkit-transform: scaleX(-1); + -moz-transform: scaleX(-1); + -ms-transform: scaleX(-1); + -o-transform: scaleX(-1); + } +} + +/************/ +/* Printing */ +/************/ + +@page { + size: 1210px 681px; + margin: 0; +} + +@media print { + .remark-slide-container { + visibility: visible !important; + display: block !important; + } + + .remark-slide-scaler { + width: 100%; + height: 100%; + transform: scale(1); + } + + .remark-container.remark-presenter-mode { + .remark-preview-area, + .remark-notes-area { + display: none !important; + } + .remark-slide-notes { + display: block !important; + margin-left: 30px !important; + width: 621px !important; + } + } +} + +/*************/ +/* Presenter */ +/*************/ +.remark-container.remark-presenter-mode .remark-slides-area { + width: 60%; + height: 100%; + top: 0; + left: 0.5%; +} +.remark-container.remark-presenter-mode .remark-notes-area { + left: 61%; + top: 0%; +} + +.remark-container.remark-presenter-mode .remark-preview-area { + bottom: 2%; + left: 0.5%; + height: 45%; + opacity: .7; + + .remark-slide-container { + visibility: visible; + } +} + + +.remark-notes-area { + background: #fff; + bottom: 0; + color: black; + display: none; + left: 52%; + overflow: hidden; + position: absolute; + right: 0; + top: 0; + + .remark-top-area { + height: 50px; + left: 20px; + position: absolute; + right: 10px; + top: 10px; + } + + .remark-bottom-area { + position: absolute; + top: 75px; + bottom: 10px; + left: 20px; + right: 10px; + + .remark-toggle { + display: block; + text-decoration: none; + font-family: Helvetica,arial,freesans,clean,sans-serif; + height: 21px; + font-size: 0.75em; + text-transform: uppercase; + color: #ccc; + } + + .remark-notes-current-area { + height: 70%; + position: relative; + + .remark-notes { + clear:both; + border-top: 1px solid #f5f5f5; + position: absolute; + top: 22px; + bottom: 0px; + left: 0px; + right: 0px; + overflow-y: auto; + margin-bottom: 20px; + padding-top: 10px; + } + } + + .remark-notes-preview-area { + height: 30%; + position: relative; + + .remark-notes-preview { + border-top: 1px solid #f5f5f5; + position: absolute; + top: 22px; + bottom: 0px; + left: 0px; + right: 0px; + overflow-y: auto; + } + } + + .remark-notes > *:first-child, + .remark-notes-preview > *:first-child { + margin-top: 5px; + } + .remark-notes > *:last-child, + .remark-notes-preview > *:last-child { + margin-bottom: 0; + } + } +} + +.remark-toolbar { + color: #979892; + vertical-align: middle; + + .remark-toolbar-link { + border: 2px solid #d7d8d2; + color: #979892; + display: inline-block; + padding: 2px 2px; + text-decoration: none; + text-align: center; + min-width: 20px; + + &:hover { + border-color: #979892; + color: #676862; + } + } + + .remark-toolbar-timer { + border: 2px solid black; + border-radius: 10px; + background: black; + color: white; + display: inline-block; + float: right; + padding: 5px 10px; + font-family: sans-serif; + font-weight: bold; + font-size: 175%; + text-decoration: none; + text-align: center; + } +} + +// width: 40%; +// height: 40%; +// top: 33%; +// left: 61%; +// -webkit-transform: scale(0.66); +// -webkit-transform-origin: top left; +// } +// .remark-container.remark-presenter-mode { +// .remark-slides-area { +// top: 2%; +// left: 2%; +// height: 47.25%; +// width: 48%; +// } +// .remark-preview-area { +// display: block; +// } +// .remark-notes-area { +// display: block; +// } +// } + +// .remark-preview-area { +// bottom: 2%; +// left: 2%; +// display: none; +// opacity: 0.5; +// position: absolute; +// height: 47.25%; +// width: 48%; + +// .remark-slide-container { +// display: block; +// } +// } diff --git a/assets/css/rouge.css b/assets/css/rouge.css new file mode 100644 index 0000000000000000000000000000000000000000..daf76adee98955fbdf9afff089d13dd87c201b9c --- /dev/null +++ b/assets/css/rouge.css @@ -0,0 +1,209 @@ +.highlight table td { padding: 5px; } +.highlight table pre { margin: 0; } +.highlight .cm { + color: #999988; + font-style: italic; +} +.highlight .cp { + color: #999999; + font-weight: bold; +} +.highlight .c1 { + color: #999988; + font-style: italic; +} +.highlight .cs { + color: #999999; + font-weight: bold; + font-style: italic; +} +.highlight .c, .highlight .cd { + color: #999988; + font-style: italic; +} +.highlight .err { + color: #a61717; + background-color: #e3d2d2; +} +.highlight .gd { + color: #000000; + background-color: #ffdddd; +} +.highlight .ge { + color: #000000; + font-style: italic; +} +.highlight .gr { + color: #aa0000; +} +.highlight .gh { + color: #999999; +} +.highlight .gi { + color: #000000; + background-color: #ddffdd; +} +.highlight .go { + color: #888888; +} +.highlight .gp { + color: #555555; +} +.highlight .gs { + font-weight: bold; +} +.highlight .gu { + color: #aaaaaa; +} +.highlight .gt { + color: #aa0000; +} +.highlight .kc { + color: #000000; + font-weight: bold; +} +.highlight .kd { + color: #000000; + font-weight: bold; +} +.highlight .kn { + color: #000000; + font-weight: bold; +} +.highlight .kp { + color: #000000; + font-weight: bold; +} +.highlight .kr { + color: #000000; + font-weight: bold; +} +.highlight .kt { + color: #445588; + font-weight: bold; +} +.highlight .k, .highlight .kv { + color: #000000; + font-weight: bold; +} +.highlight .mf { + color: #009999; +} +.highlight .mh { + color: #009999; +} +.highlight .il { + color: #009999; +} +.highlight .mi { + color: #009999; +} +.highlight .mo { + color: #009999; +} +.highlight .m, .highlight .mb, .highlight .mx { + color: #009999; +} +.highlight .sb { + color: #d14; +} +.highlight .sc { + color: #d14; +} +.highlight .sd { + color: #d14; +} +.highlight .s2 { + color: #d14; +} +.highlight .se { + color: #d14; +} +.highlight .sh { + color: #d14; +} +.highlight .si { + color: #d14; +} +.highlight .sx { + color: #d14; +} +.highlight .sr { + color: #009926; +} +.highlight .s1 { + color: #d14; +} +.highlight .ss { + color: #990073; +} +.highlight .s { + color: #d14; +} +.highlight .na { + color: #008080; +} +.highlight .bp { + color: #999999; +} +.highlight .nb { + color: #0086B3; +} +.highlight .nc { + color: #445588; + font-weight: bold; +} +.highlight .no { + color: #008080; +} +.highlight .nd { + color: #3c5d5d; + font-weight: bold; +} +.highlight .ni { + color: #800080; +} +.highlight .ne { + color: #990000; + font-weight: bold; +} +.highlight .nf { + color: #990000; + font-weight: bold; +} +.highlight .nl { + color: #990000; + font-weight: bold; +} +.highlight .nn { + color: #555555; +} +.highlight .nt { + color: #000080; +} +.highlight .vc { + color: #008080; +} +.highlight .vg { + color: #008080; +} +.highlight .vi { + color: #008080; +} +.highlight .nv { + color: #008080; +} +.highlight .ow { + color: #000000; + font-weight: bold; +} +.highlight .o { + color: #000000; + font-weight: bold; +} +.highlight .w { + color: #bbbbbb; +} +.highlight { + background-color: #f8f8f8; +} diff --git a/assets/css/scrolling-nav.css b/assets/css/scrolling-nav.css new file mode 100755 index 0000000000000000000000000000000000000000..76f838d516c3ce54bdf04a39ab295624a7f14568 --- /dev/null +++ b/assets/css/scrolling-nav.css @@ -0,0 +1,19 @@ +/*! + * Start Bootstrap - Scrolling Nav (https://startbootstrap.com/template-overviews/scrolling-nav) + * Copyright 2013-2017 Start Bootstrap + * Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap-scrolling-nav/blob/master/LICENSE) + */ + +header { + padding: 154px 0 100px; +} + +@media (min-width: 992px) { + header { + padding: 156px 0 100px; + } +} + +section { + padding: 150px 0; +} diff --git a/assets/css/site.scss b/assets/css/site.scss new file mode 100644 index 0000000000000000000000000000000000000000..e0797e682886a8ac4e14bd7eba8a0b98edfe1343 --- /dev/null +++ b/assets/css/site.scss @@ -0,0 +1,21 @@ +--- +# This is the main style sheet +--- +@charset "utf-8"; + +$fa-font-path: "../fonts/font-awesome/"; + +@import "fontawesome"; +@import "{{site.theme}}"; + +$font-size-base: 1rem; +$headings-font-weight: 500; +$blockquote-font-size: $font-size-base; + +$icon-font-path: "{{ site.github.url }}/assets/fonts/bootstrap"; + +@import "bootstrap/bootstrap"; + +@import "mermaid/dark/index"; +@import "mermaid/mermaid"; + diff --git a/assets/css/style.scss b/assets/css/style.scss new file mode 100644 index 0000000000000000000000000000000000000000..020f80b6f1e2a9c19c047d71e58c91b897a14301 --- /dev/null +++ b/assets/css/style.scss @@ -0,0 +1,205 @@ +--- +# This is where the style colors for the website are set +--- +$navbar-color: #3a1c6f; +$dark-color: #3a1c6f; +$gradient-dark: #3a1c6f; +$gradient-light: #006666; +$lecture-background: #164756 ; +$lab-background:#d8e6c9; +$background: #d8e6c9; +$highlight-dark: red; +$highlight-light: lightcoral; +$highlight-darkest: #660000; +$white: white; + +a { + color: $dark-color; +} + +a:visited { + color: $gradient-dark; + text-decoration: none; +} + + +.navbar .navbar-expand-lg .navbar-dark { + background-color: $navbar-color; +} + +.main-content h1, .main-content h2, .main-content h3, .main-content h4, .main-content h5, .main-content h6 { + color: $dark-color; +} + +.caption-frame { + position: top; + float: top; + width: 100%; + height: 200px; +} + +.marknav { text-align: left; } +.marknav a { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; } +.marknav a:focus, .marknav a:active { position: static; left: 0; width: auto; height: auto; overflow: visible; text-decoration: underline; } + + +ul#markdown-toc { + min-width: 696px; + list-style: none; + padding-top: 20px; +} + +ul#markdown-toc li{ + display: inline; + padding: 5px; + background-color: $background; + style: bold; +} + +ul li.tbd { + color: $highlight-dark; +} + +h1.tbd { + background-image: linear-gradient(to right, $gradient-dark, $gradient-dark, $gradient-light); + color: $highlight-light; + padding: 5px; +} + +p.tbd #tbd{ + color: $highlight-dark; +} + +dl dd.tbd { + color: $highlight-darkest; +} + +h1.week{ + background-image: linear-gradient(to right, $gradient-dark, $gradient-dark, $gradient-light); + color: $white; + padding:5px; +} + +dl dt.lecture { + style:bold; + font-size: large; + background-color: $lecture-background; + color: $white; + padding:5px; +} + +dl dt.holiday { + style:bold; + font-size: large; + background-color: $gradient-dark; + color: $background; + padding:5px; +} + +dl dt.cancelled { + style:bold; + font-size: large; + background-color: $highlight-dark; + color: $white; + padding:5px; +} + +dl dt.lab { + style:bold; + font-size: large; + background-color: $lab-background; + padding:5px; +} + +.navbar { + background-color: $gradient-dark; +} + +table.schedule { + border: 2px solid $white; + width: 100%; + text-align: left; + table-layout:fixed; + border-collapse: collapse; +} + + +#unpublished-warning { + background-color: $highlight-light; + border: 0.15em solid $highlight-dark; + border-radius: 0.5em; + color: $white; + font-size: large; + padding: 0.25em 0.5em; + margin-bottom: 1em; +} + +table.schedule td, table.schedule th { + border: 1px solid $white; + padding: 3px 4px; +} + +table.tbd td, table.tbd th{ + background-color: $highlight-light; + border: 2px solid $white; + padding: 3px 4px; +} + +table.schedule tbody td,table.tbd tbody td { + font-size: 13px; +} + + +table.schedule td:nth-child(even) { + background: $lab-background; +} +table.tbd td:nth-child(even) { + background: $gradient-light; +} + +table.schedule thead { + background: $white; + border-bottom: 4px solid $dark-color; +} +table.schedule thead th { + font-size: 15px; + font-weight: bold; + color: $dark-color; + text-align: left; + border-left: 2px solid $dark-color; +} +table.schedule thead th:first-child { + border-left: none; +} + +table.schedule tfoot { + font-size: 14px; + font-weight: bold; + color: $dark-color; + border-top: 4px solid $dark-color; +} +table.schedule tfoot td { + font-size: 14px; +} + +.page-header { + background-image: linear-gradient(-120deg, $gradient-light, $gradient-dark, $gradient-dark); + padding-top: 1rem; +} + +.project-tagline { + padding-bottom: 1rem; + margin-bottom: 1rem; +} + +img.ta-picture { + height: 80px; + max-width: unset; + margin-left: auto; + margin-right: auto; + display: block; +} + +.font-14pt { + font-size: 12pt; +} diff --git a/assets/css/ubuntu-mono.css b/assets/css/ubuntu-mono.css new file mode 100644 index 0000000000000000000000000000000000000000..dc16dedc0a568113407f0cc1d7255daca92261eb --- /dev/null +++ b/assets/css/ubuntu-mono.css @@ -0,0 +1,2 @@ +font-family: 'Ubuntu Mono', monospace; + diff --git a/assets/css/ubuntu.css b/assets/css/ubuntu.css new file mode 100644 index 0000000000000000000000000000000000000000..496255ba9e4cd31bf491cf28cd9cdff8508d21f4 --- /dev/null +++ b/assets/css/ubuntu.css @@ -0,0 +1 @@ +font-family: 'Ubuntu', sans-serif; diff --git a/assets/css/variables.css b/assets/css/variables.css new file mode 100644 index 0000000000000000000000000000000000000000..d3e8103fc6abcfac609973602ed7f519e42b077f --- /dev/null +++ b/assets/css/variables.css @@ -0,0 +1 @@ +$primary: #8d021f; // burgundy diff --git a/assets/css/yanone-kaffeesatz.css b/assets/css/yanone-kaffeesatz.css new file mode 100644 index 0000000000000000000000000000000000000000..c5c507a042794b0527747ffafcf8c34fd34f5524 --- /dev/null +++ b/assets/css/yanone-kaffeesatz.css @@ -0,0 +1 @@ +font-family: 'Yanone Kaffeesatz', sans-serif; diff --git a/assets/fonts/font-awesome/YanoneKaffeesatz-Bold.otf b/assets/fonts/font-awesome/YanoneKaffeesatz-Bold.otf new file mode 100644 index 0000000000000000000000000000000000000000..7aba62471a3ba2f9337643d1b2f3cfc097e59242 Binary files /dev/null and b/assets/fonts/font-awesome/YanoneKaffeesatz-Bold.otf differ diff --git a/assets/fonts/font-awesome/YanoneKaffeesatz-Light.otf b/assets/fonts/font-awesome/YanoneKaffeesatz-Light.otf new file mode 100644 index 0000000000000000000000000000000000000000..9ba2fe2bb79f4e30e0d292421327aca3451a6da5 Binary files /dev/null and b/assets/fonts/font-awesome/YanoneKaffeesatz-Light.otf differ diff --git a/assets/fonts/font-awesome/YanoneKaffeesatz-Regular.otf b/assets/fonts/font-awesome/YanoneKaffeesatz-Regular.otf new file mode 100644 index 0000000000000000000000000000000000000000..abab1be404c30cbd851c4389e06dadeb6c99643c Binary files /dev/null and b/assets/fonts/font-awesome/YanoneKaffeesatz-Regular.otf differ diff --git a/assets/fonts/font-awesome/YanoneKaffeesatz-Thin.otf b/assets/fonts/font-awesome/YanoneKaffeesatz-Thin.otf new file mode 100644 index 0000000000000000000000000000000000000000..18743ae57044eef1fa5281849fa871116e60426e Binary files /dev/null and b/assets/fonts/font-awesome/YanoneKaffeesatz-Thin.otf differ diff --git a/assets/fonts/font-awesome/fa-brands-400.eot b/assets/fonts/font-awesome/fa-brands-400.eot new file mode 100644 index 0000000000000000000000000000000000000000..086c4a712335c4eded3332f881081fc86c66ec1c Binary files /dev/null and b/assets/fonts/font-awesome/fa-brands-400.eot differ diff --git a/assets/fonts/font-awesome/fa-brands-400.svg b/assets/fonts/font-awesome/fa-brands-400.svg new file mode 100644 index 0000000000000000000000000000000000000000..10f7cdcd95e539a1b2aa635ccbe9c3e892c43bf5 --- /dev/null +++ b/assets/fonts/font-awesome/fa-brands-400.svg @@ -0,0 +1,1154 @@ +<?xml version="1.0" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > +<svg xmlns="http://www.w3.org/2000/svg"> +<defs> + <font id="fontawesome-free" horiz-adv-x="640.4"> + <font-face font-family="Font Awesome 5 Brands" + units-per-em="512" ascent="448" + descent="64" + font-weight="400" + font-style="Regular" /> + <missing-glyph horiz-adv-x="0" /> + <glyph glyph-name="500px" + unicode="" + horiz-adv-x="448" d=" M103.3 103.7C96.8 117.9 96.4 122 110.7 126.8C136.3 134.8 118.7 117.6 153.9 77.6H154.2V171.5C155.4 221.7 198.2 263.7 251.9000000000001 263.7C305.8 263.7 349.6 220.2 349.6 166.9C349.6 103.5 288.8 53.7 221.1 73.6C210.6 77.8 219 105.3 229.6 102.2C282.6 102.2 319 112.3 319 166.6C319 227.6 241.9 256.2000000000001 202.1 211.2C178.6 184.8 184.5 169.1 184.5 53.6C235.2 22.6 302.8 31.6 344.9 73.7000000000001C369.7 98.5000000000001 383.4 131.7000000000001 383.4 166.7000000000001C383.4 201.9 369.6 234.9000000000001 344.6 260.0000000000001C319.8 284.8000000000001 286.8 298.5000000000001 251.3 298.5000000000001S182.5 284.7000000000001 157.8 260.0000000000001C157.5 259.7000000000001 141.8 243.5000000000001 136.6 236.1000000000001L136.1 235.5000000000001C132.8 230.8000000000001 129.8 226.4000000000001 116 229.4000000000001C109.1 231.1000000000001 101.7 235.2000000000001 101.7 241.2000000000001V428C101.7 433 105.6 438.5 112.2 438.5H353.5C361.8 438.5 361.8 426.9 361.8 423.4C361.8 419.5 361.8 408.3 353.5 408.3H130.3V275.4H130.6C234.8 385.2 413.4000000000001 311.4 413.4000000000001 166.5C413.4000000000001 -11.6 168.6 -53.8 103.3 103.7zM166.6 364.5C166.1 360.3 171.2 340 181.2 343.9C306 391.4 384 303.5 390.6 303.5C395.4000000000001 303.5 413.4000000000001 318.8 404.9000000000001 326.3C311.7000000000001 415.3 170.4 383.3 166.6 364.5zM393 33.3C283 -76.6 94 -27.5 61 137.5C61 149.7 30.6 144.9 32.1 134.2C56.1 -39.2 278.1 -122.7 413.7000000000001 12.9C420.6 20.7 401.1 41.3 393.0000000000001 33.3zM213.6 141.4C213.6 137.4 217.9 134.1 219.1 132.9C222.1 129.9 225.2 128.5 227.6 128.5C231.4 128.5 230.2 128.3 249.9 148C269.5 128.7 269 128.5 272.2 128.5C277.6 128.5 290.7 138.9 282.9 146.7L265.6 164L283.8 182.2C290.1 189 273.7 204 267.6 197.9L249.7 180C231.1 198.8 231.3 199.5 228.2 199.5C223.2 199.5 210.2 187.8 215.8 182.2L234 164C215.9 146.1 213.6 144.8 213.6 141.4z" /> + <glyph glyph-name="accessible-icon" + unicode="" + horiz-adv-x="448" d=" M423.9 192.2L411 34.9C407.7 -5.8 347.1 -0.2 350.4 39.8L360.4 162.3L319.3 160C329.4 139.3 335.1 116.1 335.1 91.4999999999999C335.1 50.3 319 12.8 292.8 -15.0000000000001L253.5 24.3C311.3999999999999 87.9999999999999 266.6 191.5 179.5 191.5C153.5999999999999 191.5 130 181.6 112.2999999999999 165.5L73 204.8C95 225.5 123.1 239.9 154.4 245L229.7 330.7L187.1 355.5L135.5 309.5C105.5 282.7 64.9 328 95 354.9L163 415.6C172.8 424.4000000000001 187.1 425.8 198.5 419.2C198.5 419.2 337.8 338.3 338 338.1C354.2 328 358.7 302.1 344.1 285.5L285.7 219L391.8 224.9C410.3 226 425.4 210.5 423.9 192.2zM359 346.2C387.1 346.2 409.9 369 409.9 397.1C409.9 425.2 387.1 448 359 448C330.9 448 308.1 425.2 308.1 397.1C308.1 369 330.9000000000001 346.2 359 346.2zM179.6 -8.5C99 -8.5 52.2 82.1 96.9 147.6L57.2 187.3C36.4 161 24 127.7 24 91.6C24 -39.1 174.7 -109.7999999999999 275.4 -30.9L235.7 8.8C219.7 -2.1 200.4 -8.5 179.6 -8.5z" /> + <glyph glyph-name="accusoft" + unicode="" + horiz-adv-x="640" d=" M482.2 75.9C476.5 82.8 250 373 242.3 382.5C228.6 399.7 242.3 399.3 261.5 399.4C271.2 399.5 367.8 400 378 400C402.1 400.1 406.7 399.4 416.4 387.2C418.5 384.5 621.5 141.4 623.5999999999999 138.9C629.0999999999999 132.2 638.8 119.8 630.8 115.5C628.4 114.2 516.1999999999999 67.8 513 66.6C502.9 62.6 495.5 59.8 482.2 75.9M596.9 81.5000000000001S481.9 31.1000000000001 479.4 29.9C463.4 22.6 452.5 33.1 442.7 44.5000000000001L385.6 118.5000000000001C380.2 119.4 325.2 128.1000000000001 320.3 127.8000000000001C317.2 127.6000000000001 310.7 127.0000000000001 305.9 124.9000000000001C301 122.8000000000001 160.7 72.1000000000001 155.7 70.2000000000001C150.6 68.2000000000001 144.3 66.6000000000001 144.6 62.6000000000001C144.8 60.1000000000001 146.6 60.0000000000001 149.2 59.1000000000001C151.9 58.3000000000001 450.1 -8.4999999999999 457.2 -9.9999999999999C472.8 -13.2999999999999 495.7 -20.4999999999999 510.8 -11.6999999999999C512.9 -10.4999999999999 634.6 64.7000000000002 636.6 66.1000000000001C642 70.1000000000001 640.9 72.9000000000002 634.9 74.3000000000001C632.6 74.6000000000001 610.3 79.0000000000001 596.9 81.5000000000001M270.9 262.8000000000002S258.9 261.2000000000002 245.9 247.7000000000002C236.9 238.4000000000001 3.8 8.6000000000001 2.5 6.8000000000001C-4.5 -3.1999999999999 4.1 1e-13 18.2 5.1000000000001C19 5.1000000000001 132.7 41.7000000000002 132.7 41.7000000000002C133.2 42.3000000000002 132.6 41.8000000000002 133.3 42.3000000000002C132.9 47.4000000000002 132.5 68.5000000000002 132.3 70.0000000000002C131.7 75.2000000000002 134.5 76.9000000000002 139.3 78.9000000000002L231.9 112.7000000000002C232.5 113.5000000000002 320.4 194.4000000000002 322.1 196.0000000000002V197.0000000000002L270.9 262.8000000000002" /> + <glyph glyph-name="adn" + unicode="" + horiz-adv-x="496" d=" M248 280.5L312.9 181.7H183.1L248 280.5zM496 192C496 55.1 384.9 -56 248 -56S0 55.1 0 192S111.1 440 248 440S496 328.9 496 192zM396.2 109.3L248 332.5L99.8 109.3H130.2L163.8 161H332.4L366 109.3H396.2z" /> + <glyph glyph-name="adversal" + unicode="" + horiz-adv-x="512" d=" M482.1 416H28.7C5.8 416 0 410.1 0 387.1V-3.1C0 -26.4 5.8 -32 28.7 -32H482.1C506.4999999999999 -32 511.9999999999999 -26.8 511.9999999999999 -2.3V385.8C511.9999999999999 410.4 506.6 416 482.1 416zM178.4 227.7C150.9 247.9 106.3 236.4 94.2 204.3C89.9 193.2 84.9 194.8 76.7 196C67 197.5 59.5 199.2 54.2 201.5C25.4 212.9 62.8 256.8 79.1 265.8C120.2 287.2 162.5 288 204.4 270.6C245.3 253.8 238.9 211.4 238.9 142.1C241.6 116.3 234.6 83.8 248.2 53.3C250.1 48.9 248.6 45.4 245.5 42.6C237.1 35.9 206.2 40.4 198.9 49.9999999999999C197 52.1999999999999 197.1 53.6 195 56.1999999999999C191.4 60.0999999999999 187.7 58.3999999999999 183.1 55.1999999999999C125.7 18.8 42.8 33.8 36.1 98.4999999999999C33 127.8 48.5 155.6 75.7 169.5C113.9 189 187.9 181.3 189.7 200.4C190.8 210.5999999999999 187.8 220.5 178.4 227.7zM465.1 5.7C465.1 -9.4 454 -4.2 447.3 -4.2H52.4C45 -4.2 34.2 -9 34.6 6.5C35 20.4 45.1 15.6 51.7 15.6C184 16 316.2 16 448.5 15.6C455.3 15.6 465.1 20 465.1 5.7zM468.9 346.2V55.2C468.9 49.5 468.2 41.3 460.8 41.3C448.4000000000001 41.7 433.3 34.2 424.7 46.9C418.9 55.6 416.9 50.9 412.3 48.1C358.9000000000001 18.4 284.2000000000001 41 267.9 133.3C261.8 166.7 267.2 200.4 283.6 233.3C295.4 257.2000000000001 340.5 309.4 419.7 263.8V334.8C419.7 361 419.5999999999999 361 445.7 361C448.8 361 452.3 360.6 455.3999999999999 361C465.4999999999999 361.8 468.9999999999999 356.6 468.9999999999999 346.7000000000001C468.8999999999999 346.5 468.8999999999999 346.4000000000001 468.8999999999999 346.2000000000001zM417.4000000000001 113.9C397.9000000000001 66.3 344.5 70.6 327.4000000000001 108.7C312.3 142 311.9000000000001 176.9 327.8 210.2C344.1 244.3 387.5 245.9 409.3 215C429.9000000000001 186.2 424.2 130.4 417.4000000000001 113.9zM122.6 78.6C115.1 79.9 89.6 81.9 88.9 106.4C88.5 120.3 96.7 129.4 108.7 132.2C133.1 138.1 158 142.1 182.4 146.9C191.3000000000001 148.9 189.8000000000001 142.5 190.2000000000001 137.4C191.6000000000001 104.4 164.1000000000001 78.2 122.6000000000001 78.6z" /> + <glyph glyph-name="affiliatetheme" + unicode="" + horiz-adv-x="512" d=" M159.7 210.6C108.4 139.7 43.1 99.8 14 121.4C-15.2 143.1 2.8 218 54.2 288.9C105.5 359.8 170.8 399.7 199.9 378.1C229 356.5 211 281.5 159.7 210.6zM510.9 267.9C437.1 144.5 319 80.2 246.4 124.3C221.4 139.5 205.1 165.5 197.4 198.1C163.8 133.3 104.6 84.3 33.3 64.9C83.1 5.6 157.4 -32 240.3 -32C390.3 -32 511.9 91.1 511.9 242.9C512 251.4 511.6 259.7 510.9 267.9z" /> + <glyph glyph-name="algolia" + unicode="" + horiz-adv-x="448" d=" M229.3 265.4C180 265.4 140.1 225.5 140.1 176.2C140.1 126.9 180 87 229.3 87S318.5 126.9 318.5 176.2C318.5 225.5 278.5 265.4 229.3 265.4zM292 208.8L233.1 178.2C231.3 177.3 229.3 178.6 229.3 180.5V247C229.3 248.5 230.6 249.7 232 249.6C258.2 248.6 280.9 233.9 293.1 212.5C293.8 211.2 293.3 209.5 292 208.8zM389.1 416H58.9C26.4 416 0 389.6 0 357.1V27C0 -5.6 26.4 -32 58.9 -32H389C421.6 -32 447.9 -5.6 447.9 26.9V357.1C448 389.6 421.6 416 389.1 416zM186.5 331.3C186.5 342.1 195.2 350.8 206 350.8H251.3C262.1 350.8 270.8 342.1 270.8 331.3V315.9C270.8 314.1 269.1 312.9 267.5 313.4C255.2 316.8 242.4 318.5 229.4 318.5C215.9 318.5 202.7 316.7 190 313C188.3 312.5 186.6 313.8 186.6 315.5V331.3zM102.1 294.3L111.3 303.5C118.9 311.1 131.2 311.1 138.8 303.5L146.5 295.8C147.6 294.7000000000001 147.5 292.8 146.2 291.8C140 287.3 134.1 282.4 128.6 276.9C123.2 271.5 118.2 265.6 113.8 259.5C112.8 258.2 110.9 258 109.8 259.2L102.1 266.9C94.5 274.4 94.5 286.7 102.1 294.3zM229.3 49.5C159.3 49.5 102.7 106.2 102.7 176.1S159.4 302.7000000000001 229.3 302.7000000000001C299.3 302.7000000000001 355.9 246.1 355.9 176.1C355.9 106.3 299.2 49.5 229.3 49.5z" /> + <glyph glyph-name="alipay" + unicode="" + horiz-adv-x="448" d=" M377.74 416H70.26C31.41 416 0 384.5900000000001 0 345.74V38.26C0 -0.59 31.41 -32 70.26 -32H377.74C416.26 -32 447.5 -0.92 448 37.6C402.04 63.22 337.41 97.9400000000001 276.4 126.04C244.33 82.0700000000001 192.26 45.04 127.78 45.04C57.19 45.04 34.05 90.34 30.74 121.41C26.77 160.42 45.62 202.91 130.26 202.91C165.64 202.91 209.61 192.66 257.39 177.9500000000001C273.92 208.0400000000001 283.84 238.2900000000001 283.84 238.2900000000001H105.64V254.9900000000001H197.72V286.23H88.28V305.24H197.72V355.66H248.64V305.24H358.08V286.23H248.63V254.99H337.4S322.19 208.37 299.05 164.07C347.98 147.37 399.06 128.03 447.67 111.33V345.74C447.83 384.43 416.43 416 377.74 416zM47.28 125.05C48.27 104.88 57.53 71.32 117.21 71.32C169.28 71.32 209.79 111 235.08 144.22C190.45 162.9 150.6 175.6300000000001 125.64 175.6300000000001C58.19 175.6300000000001 46.29 142.5700000000001 47.28 125.0500000000001z" /> + <glyph glyph-name="amazon-pay" + unicode="" + horiz-adv-x="611.2" d=" M0 122.8C2.3 127 5.2 127.7 9.7 125.3C20.1 119.7 30.3 113.9 40.9 108.6C81.6 88.2000000000001 124.1 73 168.3 62.3C189.2 57.3 210.2 53.3 231.5 50.5C263 46.3 294.7 44.5 326.5 45.3C343.9 45.7 361.3 47.1 378.6 49.1C435 55.8 489.5 69.9 541.9000000000001 91.9C544.8000000000001 93.1 547.8000000000001 93.9 551.0000000000001 93.1C557.7000000000002 91.3 560.0000000000001 84.1 555.1000000000001 79.2000000000001C552.3000000000002 76.4 548.8000000000002 74.1 545.5000000000001 71.8000000000001C514.8000000000001 50.7 481.3000000000001 35.4000000000001 445.9000000000001 23.9000000000001C421.3000000000001 16.0000000000001 396.3000000000001 10.1000000000001 370.8000000000001 6.3000000000001C353.2000000000001 3.7 335.4000000000001 1.9000000000001 317.6000000000001 1.5000000000001C316.8000000000001 1.5000000000001 315.9000000000001 1.3000000000001 315.1000000000001 1.2H294C293.2 1.3000000000001 292.3 1.5000000000001 291.5 1.5000000000001C287.9 1.7 284.3 1.8000000000001 280.8 1.9C263.9000000000001 2.6 247.1 4.5000000000001 230.4 7.2C203 11.7 176.2 18.6 150 28.1C95.9 47.7 47.4 76.7000000000001 4.4 115.1C2.6 116.7000000000001 1.4 118.9 0 120.8V122.8zM158 383C156.6 382.8 155.1 382.6 153.7 382.4C139.7 380.7 127.1 375.5 115.7 367.3C113.3 365.6 111.1 363.8 108.6 361.9C108.4 362.4 108.2 362.9 108.2 363.3C107.8 366 107.4 368.8 106.9 371.5C106.2 376.1 103.9 378.1 99.3 378.1H87.8C80.9 378.1 79.6 376.8 79.6 369.9V160.6C79.6 159.6 79.6 158.6 79.7 157.6C79.9 154.6 81.7 152.7000000000001 84.6 152.6C91.6 152.5 98.7 152.5 105.7 152.6C108.6 152.6 110.4 154.6 110.7 157.6C110.8 158.6 110.8 159.6 110.8 160.6V233C111.9 232.1 112.5 231.6 113 231.1C130.9 216.2 151.5 211.3 174 215.7C194.4 219.7 208.6 232.2 217.8 250.6C224.8 264.5 227.7 279.3 228.1 294.7C228.6 311.8 226.9000000000001 328.6 220 344.5C211.5 364.1 197.4 377 176.1 381.4C172.9 382.1 169.6 382.4 166.3 382.9C163.5 383 160.8 383 158 383zM110.6 341.1C110.6 342.6 111 343.5 112.3 344.4C126 353.9 141.1 358.9 157.9 357.6C172.8 356.5 185 349.2 191.4 331.7C195.3 321 196.3 309.9 196.3 298.7C196.3 288.3 195.5 278.1 192.3 268.1C185.5 246.8 169.9 238.7 149.7 239.6C135.7 240.2 123.5 245.6 112.3 253.5C111.1 254.4 110.6 255.2 110.6 256.8C110.7 270.9 110.6 284.9 110.6 299C110.6 313 110.7 327 110.6 341.1zM316.3 383C315.3 382.9 314.3 382.7 313.4000000000001 382.6C303.6 382.1 294.0000000000001 380.9 284.5000000000001 378.5C278.4000000000001 376.9 272.5000000000001 374.7 266.6000000000001 372.7C263.0000000000001 371.5 261.2000000000001 368.9 261.3000000000001 365C261.4000000000001 361.7 261.2000000000001 358.4 261.3000000000001 355.1C261.4000000000001 350.3 263.4000000000001 349 268.1000000000001 350.2C275.9000000000001 352.2 283.7000000000001 354.4 291.6000000000001 355.9C303.9000000000001 358.2 316.3000000000001 359.2 328.8000000000001 357.3C335.3000000000001 356.3 341.4000000000001 354.4 345.6000000000001 348.9C349.3000000000001 344.1 350.7000000000001 338.4 350.9000000000001 332.5C351.2000000000001 324.2 351.1000000000001 315.9 351.2000000000001 307.6C351.2000000000001 307.2 351.1000000000001 306.7 351.0000000000001 306.2C350.5000000000001 306.3 350.1000000000002 306.2 349.7000000000001 306.3C339.2000000000001 308.8 328.6000000000001 310.6 317.7000000000001 311.2C306.4000000000001 311.8 295.2000000000001 311.1 284.4000000000001 307.3C271.5000000000001 302.8 261.1000000000001 295 255.0000000000001 282.4C250.3000000000001 272.6 249.6000000000001 262.2 251.1000000000001 251.7C253.1000000000001 237.7 260.1000000000001 226.9 272.5000000000001 220C284.4000000000001 213.4 297.3000000000001 212.6 310.4000000000001 214.6C325.5000000000001 216.9 338.9000000000001 223.3 350.7000000000001 233C351.1 233.4 351.6 233.7 352.3000000000001 234.1C352.9000000000001 230.3 353.4000000000001 226.7 354.1000000000001 223.1C354.7000000000001 220 356.6000000000001 218 359.5000000000001 217.9C364.9000000000001 217.8 370.4000000000001 217.8 375.8000000000001 217.9C378.5000000000001 218 380.3000000000001 219.8 380.6000000000001 222.6C380.7000000000001 223.5 380.7000000000001 224.5 380.7000000000001 225.4V331.4C380.7000000000001 335.7 380.5000000000001 340 379.8000000000002 344.3C377.9000000000002 357.2000000000001 372.4000000000002 367.8 360.8000000000002 374.7000000000001C354.1000000000002 378.7000000000001 346.7000000000001 380.7000000000001 339.0000000000001 381.8C335.4000000000001 382.3 331.8000000000002 382.6 328.2000000000001 383.1C324.3000000000002 383 320.3000000000002 383 316.3000000000002 383zM351.3 255.3C351.3 254 350.9000000000001 253.1 349.8 252.3C338.6 244.2 326.3 238.8 312.4000000000001 237.4C306.7000000000001 236.8 301.0000000000001 237 295.6 239.2C289.3 241.7 285.2000000000001 246.1 283.2000000000001 252.5000000000001S281.2000000000001 265.5 283.1 271.9000000000001C285.6 280.2000000000001 291.5 284.9000000000001 299.5 287.5C307.6 290.1 316 290.5 324.3 289.7000000000001C332.7 289 340.9000000000001 287.4 349.3 286.3C350.9000000000001 286.1 351.4000000000001 285.3 351.4000000000001 283.7000000000001C351.3 278.9 351.4000000000001 274.2000000000001 351.4000000000001 269.4C351.3 264.7000000000001 351.2000000000001 260 351.3 255.3zM611.2 125.9C610.2 130.9 606.4000000000001 132.8 602.1 134.2C595.3000000000001 136.5 588.2 137.5 581.1 138.1C568 139.2 554.9 138.6 541.9 136.2C527.6 133.5 514 128.9 501.9 120.6C500.5 119.6 499.1 118.5 498.2 117.1C497.5 116 497.3 114.3 497.7 113.1C498.1 111.6 499.8 111.2 501.3 111.3C502 111.3 502.8 111.3 503.5 111.4C511.3 112.2 519 113.1 526.8 113.9C538.1999999999999 115 549.6999999999999 115.7 561.0999999999999 114.8C565.8999999999999 114.5 570.8 113.4 575.4999999999999 112.1C580.5999999999999 110.7 582.8999999999999 106.9 583.0999999999999 101.7C583.4999999999999 93.7 581.6999999999999 86 579.5999999999999 78.4C575.4999999999999 63 569.5999999999999 48.1 563.8 33.3C563.4 32.3 563 31.3 562.8 30.3C562.3 27.4 564 25.4999999999999 566.9 26.1999999999999C568.6 26.5999999999999 570.5 27.4999999999999 571.6999999999999 28.6999999999999C576.0999999999999 32.9999999999999 580.5999999999999 37.3 584.4 42.0999999999999C597.1999999999999 58.4999999999999 604.6999999999999 77.3999999999999 609.1 97.6999999999999C609.9 101.3 610.5 104.9999999999999 611.2 108.5999999999999V125.8999999999999zM479.1 249.1C466.2 284.8 453.3 320.6 440.4000000000001 356.3C438.4000000000001 362 436.2000000000001 367.6 434.1 373.2C433 376.1 430.9000000000001 378 427.7000000000001 378C420.1 378.1 412.5000000000001 378.2 404.8000000000001 378.1C402.3000000000001 378.1 401.1000000000001 376.1 401.6000000000001 373.6C402.1000000000001 371.5 402.7000000000001 369.5 403.5000000000001 367.5C423.1000000000001 319 442.8000000000001 270.4 462.6000000000001 222C464.3000000000001 217.9 464.7000000000001 214.4 462.8000000000001 210.2C459.5000000000001 202.9 456.9000000000001 195.2 453.5000000000001 187.9C450.5000000000001 181.4 445.5000000000001 176.5 438.3000000000001 174.6C433.2000000000001 173.2 428.1000000000001 173 422.9000000000001 173.5C420.4000000000001 173.6999999999999 417.9000000000001 174.3 415.4000000000001 174.5C412.0000000000001 174.6999999999999 410.3000000000001 173.1999999999999 410.2000000000001 169.6999999999999C410.1000000000001 166.3999999999999 410.1000000000001 163.0999999999999 410.2000000000001 159.8C410.3000000000002 154.3 412.2000000000001 151.8 417.6000000000001 150.9C423.2000000000001 149.9 428.9000000000001 149 434.5000000000001 148.9C451.6000000000001 148.5 465.2 155.4 474.0000000000001 170.3C477.5000000000001 176.1999999999999 480.7 182.4 483.2 188.6999999999999C506.9 248.5 530.3000000000001 308.3999999999999 553.8000000000001 368.3C554.5000000000001 370.0999999999999 555.1 371.8999999999999 555.4000000000001 373.8C555.8000000000001 376.5999999999999 554.5000000000001 378.2 551.7 378.2C545.1 378.3 538.4000000000001 378.2 531.8000000000001 378.2C528.1 378.2 525.5000000000001 376.5999999999999 524.1 373C523.6 371.5999999999999 523 370.3 522.5 368.8999999999999C510.9 335.5999999999999 499.3 302.3 487.7 268.8999999999999C485.2 261.7 482.6 254.3999999999999 480 246.7C479.6 247.8 479.4 248.3999999999999 479.1 249.1z" /> + <glyph glyph-name="amazon" + unicode="" + horiz-adv-x="448" d=" M257.2 285.3C208.5 283.5 87.7 269.8 87.7 167.8C87.7 58.3 226 53.8 271.2 124.6C277.7 114.4 306.6 87.1 316.5 77.8L373.3 133.8S341 159.1 341 186.6V333.7C341 359 316.5 416 228.7 416C140.7 416 94 361 94 311.7L167.5 304.9C183.8 354.4 221.7 354.4 221.7 354.4C262.4 354.5 257.2 324.6 257.2 285.3zM257.2 198.5C257.2 118.5 173 130.5 173 181.3C173 228.5 223.5 238 257.2 239.1V198.5zM393.2 35C385.5 25 323.2 -32 218.7 -32S34.2 39.5 9.7 69C2.9 76.7 10.7 80.3 15.2 77.3C88.5 32.8 203 -40.5 387.7 47C395.2 50.7 401 45 393.2 35zM433 32.8C426.5 17 417 6 411.8 1.8C406.3 -2.7 402.3 -0.9 405.3 5.6S424.6 52.1 418 60.6C411.5 68.9 381 64.9 370 63.8C359.2 62.8 357 61.8 356 64.1C353.7 69.8 377.7 79.6 393.5 81.6C409.2 83.4 434.5 82.4 439.5 75.9C443.2 70.8 439.5 48.8 433 32.8z" /> + <glyph glyph-name="amilia" + unicode="" + horiz-adv-x="448" d=" M240.1 416C178.2 416 108.6 399.1 55.9 360.6C50.8 357.5 46.8 351.4 48.7 341.2C49.8 336.1 53.8 313.8 58.9 301.6C63 291.4 73.1 291.4 79.2 295.5C111.7 317.8 175.7 343.2 231.5 343.2C289.4 343.2 290.4 314.8 290.4 270.1V231.6C203 220.3 78.2 197 46.7 183.8C11.2 167.5 16.3 90.3 16.3 72S31.5 -32 141.2 -32C189 -32 254.9000000000001 -11.3 294.5 10.1V-15.3C294.5 -18.3 296.6 -23.4999999999999 300.6 -24.4C303.7000000000001 -25.4 351.3 -26.4 360.5 -26.4S423 -26.7 427 -25.7C431.1 -24.7 432.1 -19.6 432.1 -16.6V280C432 360.3 374.2000000000001 416 240.1 416zM152.2 88.3C152.2 100.5 149.2 131 170.5 141.2C194.8 154.4 245.6 170.6 290.3 174.7V68C268.9000000000001 54.8 241.6 43.6 211.2 43.6C158.4 43.6 152.3 77.1 152.2 88.3" /> + <glyph glyph-name="android" + unicode="" + horiz-adv-x="448" d=" M89.6 243.5V127.7C89.6 112.3 77.5 100 62.1 100C46.8 100 32 112.4 32 127.7V243.5C32 258.6 46.8 271 62.1 271C77.2 271 89.6 258.6 89.6 243.5zM100.4 86.5C100.4 70.1 113.6 56.9 130 56.9H149.9L150.2 -4.2C150.2 -41.1 205.4 -40.8000000000001 205.4 -4.2V56.9H242.6V-4.2C242.6 -40.9 298.1 -41.0000000000001 298.1 -4.2V56.9H318.3C334.5 56.9 347.7 70.1 347.7 86.5V265.9H100.4V86.5zM348.4 275.6H99.3C99.3 318.4 124.9 355.6 162.9 375L143.8 410.3C141 415.2 148.1 418.3 150.5 414.1L169.9 378.5C204.8 394 244.9 393.2 278.2 378.5L297.5 414C300 418.3 307 415.1 304.2 410.2L285.1 375C322.8 355.6 348.4000000000001 318.4 348.4000000000001 275.6zM177.7 331.1C177.7 336.8 173.1 341.6 167.2 341.6C161.5 341.6 157 336.8 157 331.1S161.6 320.6 167.2 320.6C173.1 320.6 177.7 325.4 177.7 331.1zM291.1 331.1C291.1 336.8 286.5 341.6 280.9000000000001 341.6C275.0000000000001 341.6 270.4000000000001 336.8 270.4000000000001 331.1S275.0000000000001 320.6 280.9000000000001 320.6C286.5000000000001 320.6 291.1 325.4 291.1 331.1zM385.9000000000001 271C370.8 271 358.4000000000001 258.9 358.4000000000001 243.5V127.7C358.4000000000001 112.3 370.8 100 385.9000000000001 100C401.3 100 416.0000000000001 112.4 416.0000000000001 127.7V243.5C416.0000000000001 258.9 401.2000000000001 271 385.9000000000001 271z" /> + <glyph glyph-name="angellist" + unicode="" + horiz-adv-x="448" d=" M347.1 232.6C358.8 265.2 392.5 359.5 392.5 389.7C392.5 416.3 376.8 438.6 348.8 438.6C304.2 438.6 264.2000000000001 306.9 251.7 275.5C242 304 196.6 448 156.6 448C125.5 448 110.9 425.1 110.9 396.3C110.9 361 145.1 269.5 157.5 234.3C151.2 236.6 144.4 238.6 137.5 238.6C114.1 238.6 89.2 209.5 89.2 186C89.2 177.1 94.1 164.6 97.2 156.3C60.3 146.3 46.1 121.7 46.1 84.6C46 12.4 114.4 -64 210.6 -64C328.6 -64 402 24.6 402 138.9C402 182 395.1 220.9 347.1 232.6zM311.7 340C315.7 352.3 332.8 404.3 348.8 404.3C357.4000000000001 404.3 359.7 395.4 359.7 388.3C359.7 369.2 321.1 263.7 312.6 240.3L278.6 246.3L311.7 340zM142.3 399.7C142.3 411.6 156.8 445.4 188.6 352.6L223.2 252.3C207.6 253.6 195.5 255.3 187.8 250.9C176.9 279.7000000000001 142.3 370.6 142.3 399.7000000000001zM140 204C169.3 204 207.1 109.4 207.1 96.6C207.1 91.5 202.2 85.2000000000001 196.5 85.2000000000001C175.6 85.2000000000001 119.6 162.1 119.6 182.9C119.7 190.6 132.3 204 140 204zM324.3 17.7C295.2 -14.3 258 -30.9 214.6 -30.9C155.2 -30.9 108.3 1.7 85.7 57.4C68.6 100.8 89.5 125.7 106.3 125.7C117.7 125.7 160.6 65.4 160.6 52.6C160.6 47.7 152.9 44.3 148.9 44.3C132.8000000000001 44.3 126.5 59.8 97.8 95.7C68.1 66 118.3000000000001 8.8 156.1 8.8C182.2 8.8 199.2 32.9999999999999 194.1 50.8C197.8 50.8 202.4 50.4999999999999 205.8 51.4C206.9 24.3 214.9 -8 247.5 -10.3C247.5 -9.4 249.5 -3.2 249.5 -2.9C249.5 14.4999999999999 238.9 29.7 238.9 47.4C238.9 75.7 260.6 103.1 282.6 119.1C290.6 125.1 300.3 128.8 309.7000000000001 132.2C319.4000000000001 135.9 329.7000000000001 140.2 337.1 147.6C336 158.8 331.4000000000001 168.7 320.2000000000001 168.7C292.5000000000001 168.7 199.6000000000001 164.7 199.6000000000001 208.4C199.6000000000001 215.1 199.7000000000001 221.5 217.0000000000001 221.5C249.3000000000001 221.5 331.3000000000001 213.5 355.3000000000001 192.4C373.4000000000001 176.3 379.6000000000001 79.2 324.3000000000001 17.7zM225.7 143.7C235.4 140.6 245.4 139.7 255.4 137.7C248 132.3 241.4 125.7 235.1 118.6C232.3 127.1 228.9 135.4 225.7 143.7z" /> + <glyph glyph-name="angrycreative" + unicode="" + horiz-adv-x="640" d=" M640 209.8L636.8 181.6L602.3 179.3L600.3 161.2L634.8 163.5L631.5999999999999 135.3L597.1999999999999 133.1L594.9 113L629.3 115.2L626.3 89.1L561.5999999999999 84.9999999999999L574.3 198.1999999999999L527 82.8L495.1 80.8L471.3 198.6L501.6 200.6L515.2 121.2000000000001L546.9000000000001 203.6000000000001L640.0000000000001 209.8000000000001zM426.8 76.5L455.1 78.3L468 198.4L439.6 196.5L426.8 76.5zM162 59.9L142.6 95.9L139.1 58.5L110.9 56.8L113.6 85.9C102.6 67.9 81.6 51.6 56.7 50.1C23.9 48.1 -3 71 0.3 108.3C2.9 137.6 27 171.1 67.8 173.7000000000001C105.5 176.1 115.4 150.5000000000001 119.1 144.9L121.9 175.7000000000001L160.8 178.2000000000001C180.9 179.5000000000001 199.5 174.5000000000001 203.3 154.5000000000001L205.9 181.1000000000001L270.7 185.3000000000001L268 157.4000000000001L231.6 155.0000000000001L229.9 137.1000000000001L266.3 139.4000000000002L263.6 111.5000000000002L227.2 109.2000000000002L225.3 89.3000000000002L261.6 91.6000000000002L259.5 70.8000000000002L314.5 188.0000000000002L338.3 189.6000000000002L370.4 79L379.3 164.6L357 163.2000000000001L359.8999999999999 191.1L434.8999999999999 196L431.8999999999999 168L407.5999999999999 166.4L397.8999999999999 74.5L339.8999999999999 70.8L335.5999999999999 86.4L296.2 83.9L288.2 67.6L162 59.9zM117.7 130.1L91.3 128.4C84.6 140.8 76.9 145 65 144.2C46 143 31.7 126.7 30.4 110.9C29 94.9 37.7 78.4 59.1 79.7C71.9 80.5 80.4 88.3 88 98.6L115 100.3L117.7 130.1zM173.8 137.8C175 150.6999999999999 166.2 151.4 147.7 150.1999999999999L145 121.6999999999999C159.2 122.5999999999999 172.5 123.8 173.8000000000001 137.8zM194.9 66.9999999999999L200.7 127C195.7 113.5 186 105.8999999999999 172.8 100.3999999999999L194.9 66.9999999999999zM330.3 111.9999999999999L322.4000000000001 149.8L306.6 110.4999999999999L330.3 111.9999999999999zM160.2 186.5999999999999L155.9 204.0999999999999L116.3 201.4999999999999L108.2 183.2999999999999L76.3 181.1999999999999L133.3 303.0999999999999L157.2 304.6999999999999L187.9 202.6999999999999L197.8 307.3999999999999L224.8 309.1999999999999L262.6 245.5999999999999L269.1 312.1999999999999L297.6 314.0999999999999L293.6 272.8999999999999C301 286.3999999999999 316.5 317.5999999999999 357.2000000000001 320.3999999999999C397.7000000000001 323.1999999999999 409.6 291.0999999999999 410.6 290.0999999999999L413.9000000000001 322.0999999999999L453.2 324.7999999999999C465.9 325.6999999999999 481.0000000000001 324.4999999999999 489.5000000000001 315.0999999999999L485.1000000000001 326.9999999999999L517.3000000000001 329.1999999999999L530.2 285.9999999999999L553.2 331.6999999999999L584.2 333.8999999999999L540.6 255.4999999999999L535.8000000000001 211.1999999999999L507.4000000000001 209.2999999999999L512.2 253.5999999999999L496.4 296.5999999999999C497.4 274.2999999999999 487.2 256.4999999999999 464.4 246.9999999999999L489.6 208.1999999999999L453.2 205.7999999999999L434.0000000000001 242.5999999999999L430.0000000000001 204.2999999999999L401.6000000000001 202.3999999999998L404.9000000000001 233.8999999999999C398.2000000000001 224.5999999999998 385.2000000000001 198.4999999999998 345.3000000000001 195.8999999999998C319.1000000000001 194.1999999999999 299.7000000000001 206.1999999999999 289.9000000000001 235.0999999999999L285.9000000000001 194.7999999999999L260.9000000000001 193.1999999999999L223.3000000000001 256.4999999999999L217.0000000000001 190.2999999999999L160.2000000000001 186.5999999999999zM436.8000000000001 268.7C447.0000000000001 269.3999999999999 454.3000000000001 270.7999999999999 458.4000000000001 272.9999999999999C462.9000000000001 275.3999999999999 465.4000000000001 279.3999999999999 466.0000000000001 285.0999999999999C466.6000000000001 290.3999999999999 465.4000000000001 293.8999999999999 462.6000000000001 295.4999999999999C459.0000000000001 297.5999999999999 452.0000000000001 298.3 439.7000000000002 297.4999999999999L436.8000000000002 268.7zM327.7 234C333.3 228.1 340.4 225.5 349 226.1C353.7 226.4 358.1 227.9 362.3 230.2C367.8 233.2 372.9000000000001 238.2 377.4000000000001 244.5L343.2000000000001 242.2L345.6 266.1L408.7000000000001 270.4L409.9000000000001 282.4L378.7000000000001 280.3C374.6 284 370.9000000000001 286.9 367.6 288.4C363.6 290.1 359.5 291.2000000000001 355.4000000000001 290.9C347.4000000000001 290.4 340.1 287.3 333.4000000000001 281.7000000000001C325.7000000000001 275.3 321.4000000000001 267.2000000000001 320.5000000000001 257.3C319.4000000000001 247.7 321.9000000000001 240 327.7000000000001 234zM126.4 225.8L150.2 227.4L141.9 265L126.4 225.8z" /> + <glyph glyph-name="angular" + unicode="" + horiz-adv-x="415.6" d=" M169.7 179.9H245.9L207.8 271.5L169.7 179.9zM207.8 416L0 341.6L31.8 65.9L207.8 -32L383.8 65.9L415.6 341.6L207.8 416zM338 74.2H289.4L263.2 139.6H152.6L126.4 74.2000000000001H77.7L207.8 366.5L338 74.2z" /> + <glyph glyph-name="app-store-ios" + unicode="" + horiz-adv-x="448" d=" M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM127 63.5C121.5 53.9 109.2 50.7 99.7 56.2C90.1 61.7 86.9 74 92.4 83.5L106.7 108.2C122.8 113.1 136 109.3 146.3 96.8L127 63.5zM265.9 117.4H84C73 117.4 64 126.4 64 137.4S73 157.4 84 157.4H135L200.4 270.6L179.9 306C174.4 315.6 177.7 327.8 187.2 333.3C196.8 338.8 209 335.5 214.5 326L223.4 310.6L232.3000000000001 326C237.8000000000001 335.6 250.1000000000001 338.8 259.6 333.3C269.2000000000001 327.8 272.4000000000001 315.5 266.9000000000001 306L181.1 157.4H243.2C263.4000000000001 157.4 274.7000000000001 133.7 265.9000000000001 117.4zM364 117.4H335L354.6 83.5C360.1 73.9 356.8 61.7 347.3 56.2C337.7 50.7 325.5 54 320 63.5C287.1 120.4 262.5 163.2 246 191.6C229.3 220.6 241.2 249.6 253.1 259.4000000000001C266.2 236.7000000000001 285.8 202.7000000000001 312 157.4H364C375 157.4 384 148.4 384 137.4C384 126.3 375 117.4 364 117.4z" /> + <glyph glyph-name="app-store" + unicode="" + horiz-adv-x="512" d=" M255.9 327.1L265 342.8C270.6 352.6 283.1 355.9 292.9 350.3C302.7 344.7 306 332.2 300.4 322.4L212.9 170.9H276.2C296.7 170.9 308.2 146.8 299.3 130.1H113.8C102.5 130.1 93.4 139.2 93.4 150.5C93.4 161.8 102.5 170.8999999999999 113.8 170.8999999999999H165.8L232.4 286.3L211.6 322.3999999999999C206 332.2 209.3 344.5999999999999 219.1 350.3C228.9 355.8999999999999 241.3 352.5999999999999 247 342.8L255.9 327.0999999999999zM177.2 109.1L157.6 75.1C152 65.3 139.5 62 129.7 67.6C119.9 73.2000000000001 116.6 85.7000000000001 122.2 95.5L136.8 120.7C153.2 125.8 166.6 121.9 177.2 109.1zM346.1 170.8H399.2000000000001C410.5000000000001 170.8 419.6 161.7 419.6 150.4C419.6 139.1 410.5 130.0000000000001 399.2000000000001 130.0000000000001H369.7000000000001L389.6 95.5000000000001C395.2000000000001 85.7000000000001 391.9000000000001 73.3000000000001 382.1 67.6000000000001C372.3 62.0000000000001 359.9000000000001 65.3000000000001 354.2000000000001 75.1000000000001C320.7000000000001 133.2000000000001 295.5000000000001 176.7000000000001 278.8000000000001 205.7000000000001C261.7000000000001 235.2000000000001 273.9000000000001 264.8000000000001 286.0000000000001 274.8000000000001C299.4000000000001 251.8000000000001 319.4000000000001 217.1000000000001 346.1000000000001 170.8000000000001zM256 440C119 440 8 329 8 192S119 -56 256 -56S504 55 504 192S393 440 256 440zM472 192C472 73.3 375.9 -24 256 -24C137.3 -24 40 72.1 40 192C40 310.7 136.1 408 256 408C374.7 408 472 311.9 472 192z" /> + <glyph glyph-name="apper" + unicode="" + horiz-adv-x="640" d=" M42.1 208.9C64.3 208.9 71.1 206.1 75.6 194.3H76.4V217.2C76.4 228.5000000000001 71.6 232.6 58.5 232.6C47.2 232.6 44.1 230.1 43.4 219.8H4.8C5.1 233.7 6.3 238.9 10.6 244.2C17.9 253 29.5 256 56.7 256C89.7 256 103.8 251 110.6 237.1C112.6 232.8 114.6 221.5 114.6 213.4V137.1H76.3L77.6 156.2000000000001H76.6C71.3 140.6 63 135.8000000000001 41.1 135.8000000000001C10.8 135.8000000000001 0 145.9000000000001 0 173.1000000000001C0 198.3000000000001 12.3 208.9000000000001 42.1 208.9000000000001zM59.2 160.8C72.3 160.8 76.1 163.8 76.1 174.2C76.1 183.3 71.8 185.8 56.5 185.8C43.4 185.8 38.6 182.8 38.6 173.7C38.5 163.3 42.3 160.8 59.2 160.8zM137 255.7H175.3L173.8 235.1H174.6C183.7 252.2 190.5 256 212.1 256C226.5000000000001 256 236.8 253.0000000000001 243.6 246.9000000000001C253.4000000000001 238.3000000000001 256.4000000000001 226.5000000000001 256.4000000000001 198.8000000000001C256.4000000000001 168.8000000000001 253.4000000000001 155.7000000000001 244.3000000000001 145.9C237.5000000000001 138.6 227.9000000000001 135.8 211.1 135.8C190.7 135.8 181.9 141.3 177.3 157H176.5V86.7H137V255.7zM217.9 195C217.9 222.5 214.6 227.5 197.2 227.5C180.3 227.5 176.5 222.5 176.5 198.8C176.5 170.8 180 165.3 197.7 165.3C214.1 165.3 217.9 170.9 217.9 195zM275.8 255.7H314.1L312.6 235.1H313.4000000000001C322.5000000000001 252.2 329.3 256 350.9000000000001 256C365.3 256 375.6 253 382.4000000000001 246.9C392.2000000000001 238.3 395.2000000000001 226.5 395.2000000000001 198.8C395.2000000000001 168.8 392.2000000000001 155.7 383.1 145.9C376.3 138.6 366.7000000000001 135.8 349.8 135.8C329.4000000000001 135.8 320.6 141.3 316 157H315.2V86.7H275.7V255.7zM356.7000000000001 195C356.7000000000001 222.5 353.4000000000001 227.5 336.0000000000001 227.5C319.1000000000001 227.5 315.3000000000001 222.5 315.3000000000001 198.8C315.3000000000001 170.8 318.8000000000001 165.3 336.5000000000001 165.3C352.9000000000001 165.3 356.7000000000001 170.9 356.7000000000001 195zM410.5000000000001 198.8C410.5000000000001 224.2 413.8000000000001 236.6 422.8000000000001 244.6C431.6000000000001 252.7 445.0000000000001 255.9000000000001 467.9000000000001 255.9000000000001C510.7000000000001 255.9000000000001 523.6000000000001 243.1 523.6000000000001 200.2000000000001V189.1H448.3000000000002C448.0000000000001 187.1 448.0000000000001 185.1 448.0000000000001 184.3C448.0000000000001 167.4 452.5000000000001 162.4 468.1000000000001 162.4C482.0000000000001 162.4 486.0000000000001 165.4 486.0000000000001 176.3H523.5000000000001V174C523.5000000000001 164.2 521.0000000000001 155.1 516.7000000000002 149.3C509.4000000000001 139.5 497.1000000000001 135.7 472.4000000000001 135.7C444.9000000000002 135.7 430.8000000000002 139 421.8000000000002 148C413.3000000000002 156.5 410.5000000000001 169.3 410.5000000000001 198.8zM486.9000000000001 210.4C486.6000000000001 212.2 486.6000000000001 213.7 486.6000000000001 214.2C486.6000000000001 226.5000000000001 483.3000000000001 228.8 467.0000000000001 228.8C452.6000000000001 228.8 449.9000000000001 225.8 448.9000000000001 213.7L448.6 210.4H486.9zM542.5000000000001 255.7H580.8000000000001L579.0000000000001 235.8H579.7000000000002C586.5000000000001 250.7 594.1000000000001 256 609.4000000000002 256C620.2000000000002 256 628.5000000000002 252.7 632.8000000000002 246.7C638.1000000000001 239.4 639.6000000000001 232.3 639.6000000000001 212.7C639.6000000000001 211.2 639.6000000000001 207.7 639.8000000000002 203.4H604.8000000000002C605.1000000000001 205.2 605.1000000000001 206.7 605.1000000000001 207.4C605.1000000000001 222.8 603.1000000000001 226.8 594.8000000000002 226.8C588.5000000000002 226.8 584.0000000000002 223.5 581.7000000000002 217.5C580.7000000000002 214.5 580.7000000000002 213.1999999999999 580.7000000000002 205.1999999999999V137.1999999999999H542.4000000000002V255.7z" /> + <glyph glyph-name="apple-pay" + unicode="" + horiz-adv-x="640" d=" M116.9 289.5C109.4 280.6 97.4 273.6 85.4 274.6C83.9 286.6 89.8 299.4 96.7 307.2C104.2 316.3 117.3 322.8 128 323.3C129.2 310.9 124.3 298.6 116.9 289.5M127.8 272.3C110.4 273.3 95.5 262.4 87.3 262.4C78.9 262.4 66.3 271.8 52.5 271.5C34.6 271.2 18 261.1 8.9 245C-9.9 212.7 4 165 22.2 138.7C31.1 125.7 41.7 111.4 55.7 111.9C69 112.4 74.2 120.5 90.2 120.5C106.3 120.5 111 111.9 125 112.1C139.5 112.4 148.6 125.1 157.5 138.1C167.6 152.9 171.8 167.2000000000001 172 168C171.7 168.3 144 178.9 143.7 210.9C143.4 237.7 165.6 250.4 166.6 251.2C154.1 269.8 134.6 271.8 127.8 272.3M228.2 308.5V113.6H258.5V180.2000000000001H300.4C338.7 180.2000000000001 365.5 206.5000000000001 365.5 244.5000000000001S339.1 308.5000000000001 301.4 308.5000000000001H228.2zM258.5 283H293.4C319.7 283 334.7 269 334.7 244.4S319.7 205.6 293.3 205.6H258.5V283zM420.7 112.1C439.7 112.1 457.3 121.7000000000001 465.3 137H465.9V113.6H493.9V210.6C493.9 238.7 471.4 256.9000000000001 436.8 256.9000000000001C404.7 256.9000000000001 380.9000000000001 238.5000000000001 380 213.3000000000001H407.3C409.6 225.3000000000001 420.7 233.2000000000001 435.9000000000001 233.2000000000001C454.4 233.2000000000001 464.8 224.6000000000001 464.8 208.7000000000001V197.9L427 195.6C391.9 193.5 372.9 179.1 372.9 154.1C373 128.9 392.6 112.1 420.7 112.1zM428.9 135.2000000000001C412.8 135.2000000000001 402.5 143.0000000000001 402.5 154.8000000000001C402.5 167.1000000000001 412.4 174.2000000000001 431.3 175.3000000000001L464.9 177.4000000000001V166.4000000000001C464.9 148.2000000000001 449.4000000000001 135.2000000000001 428.9000000000001 135.2000000000001zM531.4 60.6C560.9 60.6 574.8 71.9 586.9 106L640 255H609.2L573.6 139.9H573L537.4 255H505.8L557 113.1L554.2 104.5C549.6 89.9 542.1 84.2 528.7 84.2C526.3000000000001 84.2 521.7 84.5 519.8000000000001 84.7V61.3C521.6 60.9 529.1 60.6 531.4000000000001 60.6z" /> + <glyph glyph-name="apple" + unicode="" + horiz-adv-x="376.5" d=" M314.7 179.3C314.5 216 331.1 243.7 364.7 264.1C345.9 291 317.5 305.8 280 308.7000000000001C244.5 311.5 205.7 288 191.5 288C176.5 288 142.1 307.7000000000001 115.1 307.7000000000001C59.3 306.8 0 263.2 0 174.5C0 148.3 4.8 121.2 14.4 93.3C27.2 56.6 73.4 -33.4 121.6 -31.9C146.8 -31.3 164.6 -14 197.4 -14C229.2 -14 245.7 -31.9 273.8 -31.9C322.4000000000001 -31.2 364.2000000000001 50.6 376.4 87.4C311.2 118.1 314.7 177.4 314.7 179.3000000000001zM258.1 343.5C285.4 375.9 282.9 405.4 282.1 416C258 414.6 230.1 399.6 214.2 381.1C196.7 361.3 186.4 336.8 188.6 309.2C214.7 307.2 238.5 320.6 258.1 343.5z" /> + <glyph glyph-name="asymmetrik" + unicode="" + horiz-adv-x="576" d=" M517.5 138.8C556.3 178.8 575.6 218.8 576 254.9C576.8 320.4 516.6 373.1 406.6 389.9C277.9 409.6 118.1 374.4 0 307.5C52 334 110.6 355.7 170.7 365.7C245.2 386.2 323.7 391.1 392 380.5C544.5 356.7 588.8 253 490.8 148.8C480.6 138 468.8 127.7 455.8 118.2L304.9 344.6L114.7 59.1C49.1 88.5 38.2 149.3 95.6 210.3C116.4 232.5 143.9 252.2 175.1 268.4C195.1 280.6 214.8 291 237.1 299.1C172 278.8 114.4 246.2 75.5 206.2C47.8 177.6 34.1 149.1 33.8 123.3C33.3 88.1999999999999 57.2 58.1999999999999 102.2 40.3L67.7 -11.4H169.3L191.3 22.9999999999999C213.5 21.9999999999999 236.6 22.9999999999999 259.9 25.6999999999999L237.1 -11.4000000000001H372.6L340 41.7C358.6 47 376.9 53.2 394.5 60.4L440.4 -11.4H542L468.6 99C487.1 111.1 503.6 124.5 517.5 138.8zM329.9 58.3L304.9 98.9L272.2 45.6C248.8 42.1 225.5 40.5 203 41.2L304.9 200.5000000000001L383.6 77.5000000000001C366.4 70.1000000000001 348.3 63.6000000000001 329.9 58.3000000000001z" /> + <glyph glyph-name="audible" + unicode="" + horiz-adv-x="640" d=" M640 248.1V194.1L320 -5.9L0 194V248L320 48L640 248.1zM445.5 176.1L492.6 205.5C455.4 261.3 391.9000000000001 298.1 319.9000000000001 298.1C247.9000000000001 298.1 184.4 261.4000000000001 147.3000000000001 205.7H147.6000000000001C150.1000000000001 208 152.7000000000001 210.2 155.3000000000001 212.4C245.0000000000001 286.8 374.7000000000001 270.5 445.5 176.1zM225.4 157.3C242.3 169.2 261.9 176 282.8 176C317.2 176 348 157.6 369.2000000000001 128.4L414.6 156.8C393.7000000000001 186.6999999999999 359 206.3 319.8 206.3C280.9000000000001 206.3 246.4 186.9 225.4 157.3zM103.6 286.9C235.4 391.2 421.8 363.3 521.1 224.8L521.8000000000001 223.8L570.6 254.2C517.1 335.9 424.8 389.9 319.9 389.9C216.4 389.9 123.3 336.4 69.4 254.3C79.3 264.8 92.1 277.8 103.6 286.9zM570.6 254.2z" /> + <glyph glyph-name="autoprefixer" + unicode="" + horiz-adv-x="640" d=" M318.4 432L157.4 -48H234.9L260.3 33.4H379.8L405 -48H482.5L318.4 432zM278.1 90.1L319.3 220.5H320.8L361.7 90.1H278.0999999999999zM640 43L630 74.4L462.1 90L481.5 33.5L640 43zM177.9 90L10 74.3L0 43L158.5 33.6L177.9 90z" /> + <glyph glyph-name="avianex" + unicode="" + horiz-adv-x="512" d=" M453.1 416H141.1C102.2 416 64.9 384.8 57.8 346.3L1.2 37.7C-5.9 -0.8 19.9 -32 58.9 -32H370.9C409.8 -32 447.1 -0.8 454.2 37.7L510.9 346.2C517.9 384.8 492.1 416 453.1 416zM394.9000000000001 68.7L362.9000000000001 55.2L247.5000000000001 165.2C232.8000000000001 155.2 218.3000000000001 145.7 205.8 138.1L227.9 73.9L210 61.2L169.4 122.2L117 170.3L132.7 185.7L190.7 154.6C200 165.1 211.5 177.2 223.5 189.5L203 219.1L134.2 318.9L153 347.8L161.9 352.6L265 240.2L269.9 235.7C289.3 254.5 303.7 268.1 303.7 268.1C311.4 274.6 325.2 271 334.4 260.2C343.4 249.7 345 235.5 337.1 228.9C335.3 227.6 321.6 217.5 301.8 203.3L306.3 196L401.2 76.6L394.8999999999999 68.7z" /> + <glyph glyph-name="aviato" + unicode="" + horiz-adv-x="640" d=" M107.2 164.5L88.2 206.3H36.1L17.1 164.5H0L62.2 295.9L124.4 164.5H107.2zM62.2 262.6L42.6 220.1H81.8L62.2 262.6zM174.9 160.2L112.7 291.6H129.8L174.9 195.6L220 291.6H237L174.9 160.2zM255.5 164.5V291.6H271V164.5H255.5zM464.6 280.1V164.5H447.3V280.1H406.1V291.6H505.7V280.1H464.6zM640 229.2C640 220 638.3 211.4 634.9 203.4C631.5 195.4 626.6999999999999 188.3 620.6999999999999 182.3C614.6999999999999 176.3 607.5999999999999 171.5 599.5999999999999 168.1C591.5999999999999 164.7 582.9999999999999 163 573.8 163S556 164.6999999999999 548 168.1C540 171.5 532.9 176.3 526.9 182.3C520.9 188.3 516.1 195.3 512.6999999999999 203.4C509.3 211.4 507.5999999999999 220 507.5999999999999 229.2S509.2999999999999 247 512.6999999999999 255C516.0999999999999 263 520.9 270.1 526.9 276.1C532.9 282.1 539.9 284.5 548 288C556 291.4 564.6 293.1 573.8 293.1S591.5999999999999 291.4 599.5999999999999 288C607.5999999999999 284.6 614.6999999999999 282.2 620.6999999999999 276.1C626.6999999999999 270.1 631.4 263 634.9 255C638.3 247 640 238.4 640 229.2zM624.5 229.2C624.5 236.5 623.2 243.2 620.6 249.5C618 255.8 614.4 261.2 609.8000000000001 265.8C605.2 270.4 599.8000000000001 274 593.6 276.7000000000001C587.4 279.4 580.8000000000001 280.7000000000001 573.8000000000001 280.7000000000001S560.2 279.4 554.0000000000001 276.7000000000001C547.8000000000001 274 542.4000000000001 270.4 537.8000000000001 265.8C533.2 261.2000000000001 529.6 255.8 527.0000000000001 249.5C524.4000000000001 243.2 523.1000000000001 236.4 523.1000000000001 229.2C523.1000000000001 221.9 524.4000000000001 215.2 527.0000000000001 208.9C529.6000000000001 202.6 533.2000000000002 197.2 537.8000000000001 192.6C542.4000000000001 188 547.8000000000001 184.4 554.0000000000001 181.7C560.2000000000002 179 566.8000000000001 177.7 573.8000000000001 177.7S587.4000000000001 179 593.6 181.7C599.8000000000001 184.4 605.2 188 609.8000000000001 192.6C614.4000000000001 197.2 618.0000000000001 202.6 620.6 208.9C623.2 215.2 624.5 222 624.5 229.2zM529.7 132.5V138.8L618.6 148.8L375.7000000000001 135.4C376.3000000000001 137.6 376.8000000000001 140.0000000000001 377.1 142.6C377.4000000000001 144.6 377.6 146.8 377.7000000000001 149.1L442.5000000000001 157.2000000000001L377.6 155.3000000000001C377.6 155.7000000000001 377.5 156.0000000000001 377.5 156.4000000000001C374.7 173.6000000000001 352 180.1000000000001 352 180.1000000000001L350.9 206.4000000000001H374.7L393.7 164.6000000000001H410.8L348.6 296L286.4000000000001 164.6H303.5000000000001L322.5000000000001 206.4H346.1000000000001L345 180S322.3 173.5 319.5 156.3C319.4 156 319.4 155.6 319.4 155.2L254.5 157.1L319.3 149C319.4 146.6999999999999 319.6 144.6 319.9 142.5C320.2 139.8999999999999 320.7 137.5 321.3 135.3L78.4 148.8L167.3 138.8V132.5C161.4 131.6 156.8 126.5 156.8 120.3C156.8 113.5 162.4 107.9 169.2 107.9C176 107.9 181.6 113.5000000000001 181.6 120.3C181.6 126.5 177 131.6 171.1 132.5V138.3L251.4000000000001 129.3V123.9C245.7000000000001 122.8 241.5000000000001 117.7000000000001 241.5000000000001 111.8C241.5000000000001 105 247.1 101.6 253.9000000000001 101.6C260.7000000000001 101.6 266.3 105 266.3 111.8C266.3 117.8 262 122.8 256.4000000000001 123.9V128.8L284.8 125.6V101.9H278.9000000000001V88H284.8V94.6H289.8V88H295.7V101.8H289.8V125L328.1 120.7C336.2000000000001 109.3 347.1 107.1 347.1 107.1L347 100.4L341.9 100.2L341.8 88.1H345.9L346 93.1H351.2L351.3 88.1H355.4000000000001L355.3 100.2L350.2 100.4L350.1 107.1S361 109.2 369.1 120.7L407.4 125V101.8H401.5V88H407.4V94.6H412.4V88H418.3V101.8H412.4V125.5L440.8 128.7V123.8C435.1 122.7 430.9 117.6 430.9 111.7C430.9 104.9 436.5 101.5 443.3 101.5C450.1 101.5 455.6999999999999 104.9 455.6999999999999 111.7C455.6999999999999 117.7 451.3999999999999 122.7 445.8 123.8V129.2L526.0999999999999 138.2V132.4C520.1999999999999 131.5 515.5999999999999 126.4 515.5999999999999 120.2C515.5999999999999 113.4 521.1999999999999 107.8 527.9999999999999 107.8C534.7999999999998 107.8 540.3999999999999 113.4 540.3999999999999 120.2C540.1999999999998 126.5 535.6999999999998 131.6 529.6999999999998 132.5zM328.9000000000001 220.1L348.5000000000001 262.6L368.1000000000001 220.1H350.2000000000001L348.5000000000001 260.4L346.8000000000002 220.1H328.9000000000002z" /> + <glyph glyph-name="aws" + unicode="" + horiz-adv-x="640" d=" M180.41 244.99C179.69 222.34 191.01 212.31 191.29 205.94A8.164 8.164 0 0 0 187.19 199.67L174.39 190.71A10.659999999999998 10.659999999999998 0 0 0 168.76 188.79C168.33 188.81 160.57 186.96 148.28 214.4A78.608 78.608 0 0 0 85.67 184.95C69.39 184.06 25.27 194.19 27.54 241.16C25.95 279.44 61.6 303.2200000000001 98.47 301.21C105.57 301.19 120.07 300.84 145.46 294.94V310.56C148.15 337.02 130.76 357.55 100.65 354.47C98.25 354.46 81.25 354.97 54.81 344.36C47.45 340.98 46.51 341.54 44.06 341.54C36.65 341.54 39.7 363.02 41.12 365.74C46.33 372.14 76.98 384.09 107.06 383.92A76.857 76.857 0 0 0 162.75 366.64A70.285 70.285 0 0 0 180.42 314.28L180.41 244.99zM93.99 212.6C126.42 213.07 140.15 232.57 143.28 243.07C145.74 253.12 145.33 259.48 145.33 270.4700000000001C135.66 272.79 121.74 275.32 105.77 275.3400000000001C90.62 276.48 62.95 269.7100000000001 64.03 243.08C62.79 226.29 75.15 211.68 93.99 212.6zM264.91 189.55C257.05 188.83 253.39 194.41 252.23 199.92L202.43 364.5700000000001C201.46 367.35 200.8199999999999 370.2200000000001 200.51 373.1500000000001A4.61 4.61 0 0 0 204.37 378.4000000000001C204.61 378.4400000000001 202.24 378.4000000000001 226.62 378.4000000000001C235.4 379.2800000000001 238.26 372.37 239.17 368.0300000000001L274.89 227.2L308.05 368.03C308.58 371.25 310.99 379.1 320.85 378.27H338.01C340.18 378.45 349.12 378.77 350.69 367.9L384.11 225.27L420.98 367.9C421.4600000000001 370.0800000000001 423.7000000000001 379.27 433.6600000000001 378.27H453.38C454.23 378.4 459.53 379.0800000000001 458.63 369.69C458.2 367.8400000000001 462.04 380.35 405.88 199.79C404.73 194.28 401.06 188.7000000000001 393.2 189.42H374.51C363.57 188.2700000000001 362 199.08 361.83 200.17L328.67 337.3L295.89 200.31C295.73 199.22 294.16 188.41 283.21 189.56H264.91zM538.39 183.92C532.51 183.91 504.47 184.22 481.03 196.21A12.802 12.802 0 0 0 473.22 208.12V218.87C473.22 227.32 479.42 225.77 482.05 224.76C492.09 220.7 498.53 217.62 510.86 215.16C547.51 207.63 563.63 217.46 567.5799999999999 219.64C580.7299999999999 227.45 581.77 245.32 572.8299999999999 254.59C562.3499999999999 263.38 557.3499999999999 263.71 519.6999999999999 275.59C515.06 276.88 475.9999999999999 289.2 475.9099999999999 327.95C475.2999999999999 356.19 500.9599999999999 384.13 545.43 383.9C558.0999999999999 383.91 591.8599999999999 379.77 601 368.28C602.35 366.19 603.02 363.73 602.92 361.24V351.13C602.92 346.69 601.3 344.47 598.05 344.47C590.3399999999999 345.33 576.66 355.64 548.89 355.22C542 355.58 509 354.31 510.48 330.25C510.05 311.29 537.09 304.18 540.1800000000001 303.36C576.6400000000001 292.39 588.83 290.57 603.3000000000001 273.78C620.44 251.53 611.2 225.48 607.6500000000001 218.34C588.57 180.85 539.2300000000001 183.9 538.3900000000001 183.92zM578.59 79.06C508.5600000000001 27.34 406.9000000000001 -0.19 320.1 -0.19A469.127 469.127 0 0 0 2.83 120.54C-3.7 126.43 2.06 134.5 10 130.0100000000001A637.37 637.37 0 0 1 326.88 45.89A630.22 630.22 0 0 1 568.47 95.4400000000001C580.25 100.4400000000001 590.24 87.64 578.59 79.0600000000001zM607.7800000000001 112.35C598.82 123.87 548.5000000000001 117.73 525.97 115.04C519.1800000000001 114.2700000000001 518.03 120.16 524.1800000000001 124.5100000000001C564.2500000000001 152.6800000000001 630.0600000000001 144.6100000000001 637.6200000000001 135.1400000000001C645.1700000000001 125.67 635.5700000000002 59.73 598.0600000000002 28.23C592.3000000000002 23.36 586.7900000000002 25.93 589.3500000000001 32.33C597.7900000000002 53.58 616.7400000000001 100.8200000000001 607.7800000000001 112.35z" /> + <glyph glyph-name="bandcamp" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM296.2 113.9H115.2L199.9 270H380.9L296.2 113.9z" /> + <glyph glyph-name="behance-square" + unicode="" + horiz-adv-x="448" d=" M186.5 155C186.5 135.7 172.5 129.6 155.3 129.6H110.2V182.5H156.2C174.8 182.4 186.5 174.7 186.5 155zM178.8 237.3C178.8 255 165.1 259.2000000000001 149.9 259.2000000000001H110.3V214.4H153C168.1 214.4 178.8 221 178.8 237.3000000000001zM311.1 214.1C292.8 214.1 280.6 202.7 279.4000000000001 184.4H341.6C339.9000000000001 202.9 330.3 214.1 311.1 214.1zM448 368V16C448 -10.5 426.5 -32 400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368zM271.7 263H349.5V281.9H271.7V263zM228.7 152.7C228.7 176.8 217.3 197.6 193.7 204.3C210.9 212.5 219.9 222 219.9 241.3C219.9 279.5 191.4 288.8 158.5 288.8H68V96.8H161.1C196 96.9999999999999 228.7 113.6999999999999 228.7 152.6999999999999zM380 167.5C380 208.6 355.9 242.9 312.4 242.9C270 242.9 241.3 211.1 241.3 169.3C241.3 126 268.6 96.3 312.4 96.3C345.6 96.3 367.1 111.2 377.5 143.1H343.8C340.1 131.2000000000001 325.2 125 313.6 125C291.2000000000001 125 279.5 138.1 279.5 160.3H379.7C379.8 162.6 380 165.1 380 167.5z" /> + <glyph glyph-name="behance" + unicode="" + horiz-adv-x="576" d=" M232 210.8C263.8 226 280.4 249 280.4 284.8C280.4 355.4 227.8 372.6 167.1 372.6H0V18.2H171.8C236.2 18.2 296.7000000000001 49.1 296.7000000000001 121.1C296.7000000000001 165.6 275.6 198.5 232.0000000000001 210.8zM77.9 312.1H151C179.1 312.1 204.4 304.2 204.4 271.6C204.4 241.5 184.7 229.4 156.9 229.4H77.9V312.1zM161.2 78.4H77.9V176H162.8C197.1 176 218.8 161.7 218.8 125.4C218.8 89.6 192.9 78.4 161.2 78.4zM519.7 319.1H376V354H519.7V319.1zM576 142.8C576 218.7 531.6 282 451.1 282C372.9000000000001 282 319.8 223.2 319.8 146.2C319.8 66.3 370.1 11.5 451.1 11.5C512.4 11.5 552.1 39.1 571.2 97.8H509C502.3 75.9 474.7 64.3 453.3 64.3C412 64.3 390.3 88.5 390.3 129.6H575.4C575.6999999999999 133.8 576 138.3 576 142.8zM390.4 174C392.7 207.7 415.1 228.8 448.9 228.8C484.3 228.8 502.1 208 505.1 174H390.4z" /> + <glyph glyph-name="bimobject" + unicode="" + horiz-adv-x="448" d=" M416 416H32C14.4 416 0 401.6 0 384V0C0 -17.6 14.4 -32 32 -32H416C433.6 -32 448 -17.6 448 0V384C448 401.6 433.6 416 416 416zM352 158.6C352 109.2000000000001 340.6 76 248.2 76H231.3C187.2 76 168.9 90.9 160.9 114.8H160V80H96V312H160V237.3H161.1C165.7 267.8 200.8 276.1 230.8 276.1H248.1C340.5 276.1 351.9000000000001 243.0000000000001 351.9000000000001 193.6V158.6zM288 187.5V164.6C288 142.9 284.6 130.8 249.6 130.8H204.3C175.4 130.8 160.2 137.3 160.2 166.5V185.5C160.2 214.8 175.4 221.2 204.3 221.2H249.6C284.6 221.4 288 209.2 288 187.5z" /> + <glyph glyph-name="bitbucket" + unicode="" + horiz-adv-x="512" d=" M23.1 416C14.2 416.1 7 409.1 6.9 400.2C6.9 399.3 7 398.4 7.1 397.4L74.9 -14C76.6 -24.4 85.6 -32 96.1 -32.1H421.2000000000001C429.1 -32.2 435.9000000000001 -26.5 437.2000000000001 -18.7L505.0000000000001 397.3C506.4 406 500.5000000000001 414.2 491.8000000000001 415.6C490.9000000000001 415.7 490.0000000000001 415.8 489.0000000000001 415.8L23.1 416zM308.4000000000001 118.7H204.6L176.5 265.5H333.5L308.4 118.7z" /> + <glyph glyph-name="bitcoin" + unicode="" + horiz-adv-x="512" d=" M504 192C504 55.033 392.967 -56 256 -56S8 55.033 8 192S119.033 440 256 440S504 328.967 504 192zM362.349 227.33C367.286 260.329 342.158 278.069 307.799 289.903L318.945 334.605L291.732 341.386L280.881 297.862C273.727 299.645 266.379 301.326 259.078 302.992L270.007 346.802L242.809 353.583L231.656 308.897C225.734 310.246 219.9209999999999 311.579 214.279 312.981L214.31 313.121L176.78 322.491L169.541 293.429S189.732 288.802 189.3059999999999 288.516C200.3279999999999 285.765 202.3199999999999 278.472 201.9859999999999 272.691L189.2899999999999 221.766C190.0499999999999 221.572 191.0339999999999 221.293 192.119 220.859C191.2119999999999 221.084 190.243 221.332 189.243 221.572L171.447 150.2339999999999C170.098 146.8859999999999 166.68 141.8639999999999 158.976 143.7699999999999C159.2469999999999 143.375 139.196 148.7069999999999 139.196 148.7069999999999L125.6859999999999 117.56L161.0999999999999 108.733C167.6879999999999 107.0819999999999 174.1449999999999 105.3539999999999 180.5 103.727L169.238 58.514L196.4199999999999 51.733L207.5729999999999 96.466A1038.209 1038.209 0 0 1 229.26 90.8389999999999L218.1449999999999 46.3159999999999L245.3579999999999 39.5349999999999L256.6199999999999 84.6629999999999C303.0239999999999 75.8819999999999 337.9189999999999 79.4239999999999 352.6059999999999 121.3899999999999C364.4419999999999 155.1799999999999 352.0169999999999 174.6709999999999 327.6019999999999 187.3809999999999C345.3819999999999 191.4789999999999 358.7759999999999 203.1729999999999 362.3489999999999 227.3299999999999zM300.172 140.151C291.762 106.3609999999999 234.864 124.6279999999999 216.417 129.208L231.361 189.107C249.807 184.504 308.961 175.39 300.172 140.151zM308.589 227.818C300.916 197.082 253.558 212.698 238.196 216.526L251.744 270.853C267.107 267.025 316.58 259.88 308.589 227.818z" /> + <glyph glyph-name="bity" + unicode="" + horiz-adv-x="496" d=" M78.4 380.8C173.8 470 324.5 472 421.5 377C435.8 362.9 415.1 339.9 399.1 355.5C314.3 437.9 183.3 435.8 100.2000000000001 358.7C83.9000000000001 343.6 63.7000000000001 367 78.4000000000001 380.8zM177.3 -37.8C196.6 -43.5 206.6 -14.2 185.2 -7.8C73 26.1 9.4 141.9 37.7 253.2C42.7 272.8 12.8 281.3 7.5 260.3C-24.6 132.9 48.6 0.5 177.3 -37.8000000000001zM325.4 -35.8C447.3 4.4 518.3 131.1 489.8 255.2C485.3 274.9 454.9 269 459.8 247.3C483.9999999999999 139.6 422.7 29.4 316.6 -6.1C295.4 -13.1 306.2 -42.1 325.4 -35.8zM262.5 43.2L262.7 115C262.7 123.2 256.1 129.8 247.9 129.8C239.7 129.8 233.1 123.1 233.1 115L232.9 43.2C232.9 35 239.5 28.4 247.7 28.4S262.5 35 262.5 43.2zM333.5 312.2C335.6 221.3 338.2 180.3 248 179.7C155.5 180.4 161.1 224 162.5 312.2C162.5 334 130 331.8 130 312.2V240.6C130 171.3 190.7 149.7 248 150.5C305.3 149.7 366 171.3 366 240.6V312.2C366 331.8 333.5 334 333.5 312.2z" /> + <glyph glyph-name="black-tie" + unicode="" + horiz-adv-x="448" d=" M0 416V-32H448V416H0zM316.5 90.8L224 2.1L131.5 90.8L196 274.8L131.5 361.4H316.4L252 274.8L316.5 90.8z" /> + <glyph glyph-name="blackberry" + unicode="" + horiz-adv-x="512" d=" M166 331.1C166 307.7 149.6 282 93.5 282H23.4L44.4 370.8H112.2C154.3 370.8 166 347.5 166 331.1zM292.2 370.8H224.4L205.7 282H275.8C329.6 282 345.9 307.7 345.9 331.1C346 347.5 334.3 370.8 292.2 370.8zM88.8 239.9H21L0 151.1H70.1C126.2 151.1 142.6 174.5 142.6 200.2C142.6 216.5 130.9 239.9000000000001 88.8 239.9000000000001zM268.9 239.9H201.1L182.4 151.1H252.5C306.3 151.1 322.6 174.5 322.6 200.2C322.6 216.5 310.9 239.9000000000001 268.9 239.9000000000001zM458.2 293.7H390.4L371.7 204.9H441.8C495.6 204.9 511.9 228.3 511.9 254C512 270.3 500.3 293.7 458.2 293.7zM430.2 155.8H362.4L343.7 67H413.8C469.9 67 483.9 90.4 483.9 116.1C483.9 132.4 472.3 155.8 430.2 155.8zM240.8 102H173L154.3 13.2H224.4C280.5 13.2 294.5 38.9 294.5 62.3C294.6 78.6 282.9 102 240.8 102z" /> + <glyph glyph-name="blogger-b" + unicode="" + horiz-adv-x="448" d=" M446.6 225.3C444.8 233.3 439.8 240.7 434.1 243.8C432.3 244.8 421.1 246 409.1 246.5C389 247.4 386.8 247.8 380.4000000000001 251.5C370.3 257.4 367.6 263.8 367.5000000000001 281C367.4000000000001 314 353.7000000000001 344.7 326.6000000000001 372.3C307.3000000000001 392 285.7000000000001 405.3 261.1000000000001 412.8C255.2000000000001 414.6 242.0000000000001 415.2 197.8000000000001 415.7C128.4000000000001 416.5 113.0000000000001 415.1 89.4000000000001 405.7C45.9 388.5 14.7 351.9 3.3 305.1C1.2 296.3 0.7 282.2 0.2 201.2C-0.4 99.7 0.3 84.8 6.6 64.7C22.2 15.1 66.5 -21.6 111 -29.6C125.8 -32.3 308.3 -32.9 327 -30.4C359.5 -26.0000000000001 385 -12.9 408.9 11.4999999999999C426.2 29.1999999999999 437 48.3 444.1 73.6C449 91.2 448.6 216.4 446.6 225.3zM124.5 288.9C132.3 296.8 134.5 297.1 183.3 297.1C227.2 297.1 228.7 297 235.1 293.7C244.4000000000001 289 248.5000000000001 282.4 248.5000000000001 271.8C248.5000000000001 262.3 244.7 255.6 236.2 250.2C231.6 247.3 228.9 247.1 185.9 246.9C159.4 246.7 138.2000000000001 247.3 135.1 248.1C118.5 252.8 112.3 276.6 124.5 288.9zM316.3 89.1L301.4000000000001 86.7000000000001L223.9 85.8000000000001C155.8000000000001 85.0000000000001 136.6 86.2000000000001 133 87.8000000000001C125.9 90.9000000000001 119.2 99.5000000000001 118.1 107.2000000000001C117 114.5000000000001 120.7 124.5000000000001 126.3 129.6C133.4 136 136.5 136.2000000000001 223.6 136.3C313.2000000000001 136.4 312.7000000000001 136.4 321.2000000000001 128.5C333.3000000000001 117.2 330.7000000000001 97.3 316.3000000000001 89.1z" /> + <glyph glyph-name="blogger" + unicode="" + horiz-adv-x="448" d=" M162.4 252C167.2 256.9 168.6 257.1 198.8 257.1C226 257.1 226.9 257 230.9 255C236.7 252.1 239.2 248 239.2 241.4C239.2 235.5 236.8 231.4 231.6 228C228.8 226.2 227.1 226.1 200.5 225.9C184.1 225.8 171 226.1 169 226.7C158.7 229.6 154.9 244.4 162.4 252.0000000000001zM223.8 157.5C169.9 157.5 168 157.3 163.6 153.4C160.1 150.3 157.9 144 158.5 139.5C159.2 134.8 163.3000000000001 129.4 167.7 127.5C169.9 126.5 181.8 125.8 224 126.3L271.9 126.9L281.1 128.4C290.1 133.5000000000001 291.6 145.8 284.2 152.8C278.9 157.5 279.2 157.5 223.8 157.5zM447.2000000000001 27.4C443.7000000000001 -1 424.2000000000001 -23 396.1 -30.1C388.9000000000001 -31.9 386.4000000000001 -32 223.2 -31.9C65.4 -31.9 57.3 -31.8 51.2 -30.1C42.8 -27.9 35.6 -24.6 28.9 -20.1C23.3 -16.3 15 -8.3 11.9 -3.7C8.1 1.9 3.7 11.6 1.9 18.3C0.1 25 0 27.7 0 191.7C0 354.8 0 358.3 1.8 365.4C8.1 390.1 27.7 409 53 414.6C60.3 416.2 385.1 416.5 393 414.9C414.2 410.6 430.9 397.8 440.6 378.5C448.3 363.2 447.6 380 447.9000000000001 197.9C448.1 82.1 447.9000000000001 33.4 447.2000000000001 27.4zM361.8000000000001 212.6C360.7000000000001 217.6 357.6000000000001 222.2 354.1000000000001 224.1C353.0000000000001 224.7 346.1000000000001 225.4 338.6000000000001 225.8C326.2000000000001 226.4 324.8000000000001 226.6 320.8000000000001 228.9C314.6000000000001 232.5 312.9000000000001 236.5 312.8000000000001 247.2C312.8000000000001 267.6 304.3000000000001 286.6 287.5000000000001 303.7C275.5000000000001 315.9 262.2000000000001 324.2 246.9000000000001 328.8C243.3000000000001 329.9 235.1000000000001 330.3 207.7000000000001 330.6C164.8000000000001 331.1 155.2000000000001 330.2 140.6000000000001 324.4C113.6000000000001 313.7 94.3000000000001 291 87.2000000000001 262C85.9000000000001 256.5999999999999 85.6000000000001 247.8 85.3 197.6999999999999C84.9 134.8999999999999 85.3 125.5999999999999 89.3 113.1999999999999C99 82.4999999999999 126.4 59.8 153.9 54.8C163.1 53.1 276.1 52.6999999999999 287.6 54.3C307.7000000000001 56.9999999999999 323.5 65.1 338.3 80.1999999999999C349 91.0999999999999 355.7 102.9999999999999 360.1 118.6999999999999C363.3 129.5999999999999 363 207.0999999999999 361.8 212.5999999999999z" /> + <glyph glyph-name="bluetooth-b" + unicode="" + horiz-adv-x="320" d=" M196.48 187.977L289.106 291.31L143.125 448V241.67L57.014 327.781L25.608 296.376L133.669 187.977L25.608 79.578L57.014 48.173L143.125 134.284L145.84 -64L294.392 84.644L196.48 187.977zM237.34 290.973L187.363 240.995L187.025 341.29L237.34 290.973zM187.363 134.96L237.34 84.982L187.025 34.6659999999999L187.363 134.9599999999999z" /> + <glyph glyph-name="bluetooth" + unicode="" + horiz-adv-x="448" d=" M292.6 276.9L249.7 234L249.4 320L292.6 276.9M249.4 57.1L292.5 100.2000000000001L249.6 143.1L249.4 57.1zM416 188.6C416 -17 344.1 -64 230.9 -64S32 -17 32 188.6S115.4 448 228.6 448S416 394.1 416 188.6zM257.5 188.6L336.9 277.2000000000001L211.8 411.5V234.6L138 308.4L111 281.5L203.7 188.5L111 95.5L137.9 68.6L211.7 142.4L214 -27.6L341.4 99.9L257.5 188.6z" /> + <glyph glyph-name="btc" + unicode="" + horiz-adv-x="384" d=" M310.204 205.362C337.9340000000001 219.542 355.581 244.752 351.4840000000001 286.662C346.1260000000001 344.013 299.0260000000001 363.235 236.6340000000001 368.591V448H188.1060000000001V370.7970000000001C175.5010000000001 370.7970000000001 162.5810000000001 370.482 149.662 370.1670000000001V448H101.134V368.591C83.2920000000001 368.052 62.512 368.315 3.764 368.591V316.913C42.078 317.591 62.181 320.053 66.787 295.486V78.057C63.862 58.565 48.263 61.372 13.532 61.986L3.765 4.32C92.246 4.32 101.135 4.005 101.135 4.005V-64H149.663V3.06C162.897 2.745 175.817 2.745 188.107 2.745V-64H236.635V4.005C317.9340000000001 8.417 372.2820000000001 28.899 379.5300000000001 105.472C385.201 166.918 356.2100000000001 194.334 310.2040000000001 205.362zM150.608 313.447C178.023 313.447 263.7340000000001 321.954 263.7340000000001 264.919C263.7340000000001 210.404 178.0240000000001 216.707 150.608 216.707V313.447zM150.608 61.671V168.179C183.38 168.179 283.735 177.317 283.735 114.924C283.7340000000001 54.738 183.38 61.671 150.608 61.671z" /> + <glyph glyph-name="buromobelexperte" + unicode="" + horiz-adv-x="448" d=" M0 416V288H128V416H0zM120 296H8V408H120V296zM160 416V288H288V416H160zM280 296H168V408H280V296zM320 416V288H448V416H320zM440 296H328V408H440V296zM0 256V128H128V256H0zM120 136H8V248H120V136zM160 256V128H288V256H160zM280 136H168V248H280V136zM320 256V128H448V256H320zM440 136H328V248H440V136zM0 96V-32H128V96H0zM120 -24H8V88H120V-24zM160 96V-32H288V96H160zM280 -24H168V88H280V-24zM320 96V-32H448V96H320z" /> + <glyph glyph-name="buysellads" + unicode="" + horiz-adv-x="448" d=" M224 297.3L266.9 136.6H181.1L224 297.3zM448 368V16C448 -10.5 426.5 -32 400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368zM382.7 42.7L288.2 341.4H159.8L65.3 42.7H156L267.7 134.3L291.9 42.6999999999999H382.7z" /> + <glyph glyph-name="cc-amazon-pay" + unicode="" + horiz-adv-x="576" d=" M124.7 246.2C124.8 258 124.7 269.7 124.7 281.5V316.8C124.7 318.1 125.1 318.8 126.1 319.5C137.6 327.5 150.2 331.6 164.3 330.6C176.8 329.7 187 323.6 192.4 308.9C195.7 300 196.5 290.7000000000001 196.5 281.2000000000001C196.5 272.5 195.8 263.9 193.1 255.6C187.4 237.8 174.4 230.9000000000001 157.4 231.7C145.7 232.2 135.5 236.7 126 243.4C125.1 244.2 124.6 245 124.7 246.2zM279.6 231.6C284.2000000000001 229.8 288.9000000000001 229.6 293.7000000000001 230.1C305.3000000000001 231.3 315.6 235.8 325.0000000000001 242.6C325.9000000000001 243.2 326.3000000000001 243.9 326.3000000000001 245.1C326.2000000000001 249 326.3000000000001 253 326.3000000000001 256.9C326.3000000000001 260.9 326.2000000000001 264.9 326.3000000000001 268.9C326.3000000000001 270.3 325.9000000000001 270.9 324.5000000000001 271.1C317.5000000000001 272 310.6000000000001 273.3 303.6000000000001 274C296.6000000000001 274.6 289.6000000000001 274.3 282.8000000000001 272.1C276.1000000000001 269.9 271.1000000000001 265.9 269.1000000000001 259C267.5000000000001 253.6 267.5000000000001 248.2 269.2000000000001 242.8C270.8000000000002 237.3 274.4000000000001 233.6 279.6000000000001 231.6zM576 368V16C576 -10.5 554.5 -32 528 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H528C554.5 416 576 394.5 576 368zM368.5 344.1C368.9 342.4 369.4 340.7 370.1 339C386.6 298.4 403 257.7 419.6 217.1C421 213.6 421.3 210.7 419.8 207.2C417 201 414.9000000000001 194.6 412 188.5C409.4 183 405.3 179 399.3 177.3C395.1 176.2 390.8 176 386.4000000000001 176.4C384.3 176.6 382.2000000000001 177.1 380.1 177.2000000000001C377.3 177.4 375.9000000000001 176.1 375.8 173.2000000000001C375.7 170.4 375.7 167.6 375.8 164.9C375.9000000000001 160.3 377.4000000000001 158.2000000000001 382 157.4C386.7 156.6 391.4 155.8 396.2 155.7000000000001C410.5 155.4 421.9 161.1 429.3 173.6C432.2 178.5 434.9000000000001 183.7000000000001 437 189C456.8 239.1 476.5 289.3 496.2 339.5C496.8 341 497.3 342.5 497.5 344.1C497.9 346.5 496.8 347.7 494.4 347.8C488.8 347.9 483.3 347.8 477.7 347.8C474.6 347.8 472.4 346.4 471.3 343.5C470.9 342.4 470.4 341.2 470 340.1L440.9 256.4C438.8 250.3 436.7 244.3 434.4 237.8C434 238.7 433.8 239.2 433.6 239.7C422.8 269.6 412 299.6 401.2 329.5C399.5 334.2 397.7 339 395.9 343.7C395 346.2 393.2 347.7 390.5 347.7C384.1 347.8 377.7 347.9 371.3 347.8C369.1 347.8 368 346.2 368.5 344.1zM242.4 242C244.1 230.3 250 221.2 260.4 215.4C270.3 209.9 281.1 209.2 292.1 210.8C304.8 212.7 316 218.1 325.9 226.3C326.3 226.6 326.7 226.9 327.3 227.3C327.8 224.1 328.2 221.1 328.8 218.1C329.3 215.5 330.9 213.8 333.3 213.7C337.9 213.6 342.4 213.6 347 213.7C349.3 213.8 350.8 215.3 351 217.6C351.1 218.4 351.1 219.2 351.1 219.9V308.7000000000001C351.1 312.3000000000001 350.9 315.9000000000001 350.4 319.5000000000001C348.8 330.3000000000001 344.2 339.2000000000001 334.5 344.9000000000001C328.9 348.2000000000001 322.7 349.9000000000001 316.3 350.8000000000001C313.3 351.2000000000001 310.3 351.5000000000001 307.2 351.9000000000001H297.2C296.4 351.8000000000001 295.6 351.6000000000001 294.7 351.6000000000001C286.5 351.2000000000001 278.4 350.2000000000001 270.5 348.1000000000001C265.4 346.8000000000001 260.5 344.9000000000001 255.5 343.2000000000001C252.5 342.2000000000001 251 340.0000000000001 251.1 336.7000000000001C251.2 333.9000000000001 251 331.1000000000001 251.1 328.4000000000001C251.2 324.3000000000001 252.9 323.2000000000001 256.8 324.3000000000001C263.3 326.0000000000001 269.9000000000001 327.8000000000001 276.5 329.1000000000001C286.8 331.0000000000001 297.2 331.8000000000001 307.6 330.3000000000001C313 329.5000000000001 318.1 327.9000000000001 321.7000000000001 323.3000000000001C324.8000000000001 319.3000000000001 325.9000000000001 314.5000000000001 326.1 309.6000000000001C326.4000000000001 302.7000000000001 326.3 295.7000000000001 326.4000000000001 288.8000000000001C326.4000000000001 288.4000000000001 326.3 288.1000000000001 326.2000000000001 287.6000000000001C325.8000000000001 287.6000000000001 325.4000000000001 287.6000000000001 325.1 287.7000000000001C316.3 289.8000000000001 307.4000000000001 291.3000000000001 298.3 291.8000000000001C288.8 292.3000000000001 279.4000000000001 291.7000000000001 270.4000000000001 288.6000000000001C259.6 284.8000000000001 250.9000000000001 278.3000000000001 245.8000000000001 267.8000000000001C241.7000000000001 259.5000000000001 241.2000000000001 250.8000000000001 242.4000000000001 242.0000000000001zM98.7 341.1V165.8C98.7 165 98.7 164.1 98.8 163.3C99 160.8 100.5 159.1999999999999 102.9 159.1C108.8 159 114.7 159 120.6 159.1C123.1 159.1 124.6 160.8 124.7 163.2C124.8 164 124.8 164.9 124.8 165.7V226.4C125.7 225.7 126.2 225.2 126.7 224.8C141.7 212.3 158.9 208.2 177.8 211.9C194.9 215.3 206.7 225.8 214.5 241.1C220.3 252.7 222.8 265.2 223.2 278.1C223.7 292.4 222.2 306.5 216.4 319.8C209.3 336.2 197.5 347.1 179.7 350.7C177 351.3 174.2 351.5 171.5 351.9H164.5C163.3 351.7 162.1 351.6 160.9 351.4C149.2 350 138.6 345.6 129.1 338.7C127.1 337.3 125.2 335.7 123.2 334.2C123.1 334.7 122.9 335 122.8 335.4C122.4 337.7 122.1 340 121.7 342.3C121.1 346.2 119.2 347.8 115.3 347.9H105.6C99.7 348 98.7 346.9 98.7 341.1zM493.6 109C490.9 109.7 488.5 109 486 108C442.1 89.6 396.5 77.8 349.2 72.2C334.7 70.5 320.1 69.4 305.5 69C278.9 68.3 252.3 69.8 225.9 73.3C208.1 75.7 190.4 79 172.9 83.2C135.9 92.1 100.2 104.9 66.2 122C57.4 126.4 48.8 131.3 40.1 136C36.3 138.1 33.9 137.5 31.9 133.9V132.2C33.1 130.6 34.1 128.8 35.6 127.4C71.6 95.2 112.2 70.9 157.6 54.5C179.5 46.6 202 40.8 224.9 37C238.9 34.7 252.9 33.2 267.1 32.5C270.1 32.4 273.1 32.3 276.1 32.1C276.8 32.1 277.5 31.9 278.2 31.8H295.9C296.6 31.9 297.3 32.1 298 32.1C312.9 32.5 327.8 33.9 342.6 36.1C364 39.3 385 44.2 405.5 50.8C435.1 60.4 463.2 73.2 488.9 90.9C491.7 92.8 494.6 94.7000000000001 496.9 97.1C501.2 101.5 499.2 107.5 493.6 109zM544 136.7C543.2 140.9 540 142.5 536.4 143.7C530.6999999999999 145.6 524.8 146.5 518.8 147C507.8 147.9 496.8 147.4 485.9999999999999 145.4C473.9999999999999 143.2 462.6 139.3 452.4999999999999 132.3C451.3 131.5 450.1 130.5 449.3999999999999 129.3C448.7999999999999 128.4 448.7 127 448.8999999999999 125.9C449.2 124.6 450.5999999999999 124.3 451.8999999999999 124.4C452.4999999999999 124.4 453.0999999999999 124.4 453.6999999999999 124.5L473.1999999999999 126.6C482.8 127.5 492.3999999999999 128.1 501.9999999999999 127.4C506.1 127.1 510.1 126.2000000000001 514 125.2000000000001C518.3 124.1 520.2 120.8000000000001 520.4 116.5000000000001C520.6999999999999 109.8000000000001 519.1999999999999 103.4 517.5 97.0000000000001C514 84.1000000000001 509.2 71.6000000000001 504.2 59.2000000000001C503.9 58.4 503.5 57.5000000000001 503.4 56.7000000000001C503 54.2 504.4 52.7 506.8 53.2C508.1999999999999 53.5000000000001 509.8 54.3000000000001 510.8 55.3000000000001C514.5 58.9000000000001 518.3 62.5000000000001 521.4 66.5000000000001C532.1 80.3000000000001 538.4 96.1000000000001 542.1 113.1000000000001C542.8000000000001 116.1000000000001 543.3000000000001 119.2000000000001 543.8000000000001 122.2000000000001C544.0000000000001 126.9000000000001 544.0000000000001 131.8000000000001 544.0000000000001 136.7000000000001z" /> + <glyph glyph-name="cc-amex" + unicode="" + horiz-adv-x="576" d=" M576 192.6C538.1 192.8 531.8 193.5 521.5 187.6V192.6C476.2 192.6 468 194.3 456.6 187.4V192.6H378.4000000000001V187.5C367.0000000000001 194 357.0000000000001 192.6 302.7000000000001 192.6V187C296.4000000000001 190.7 288.2000000000001 192.6 278.4000000000001 192.6H220.4C216.9 188.8 207.9 178.9 204.7000000000001 175.4C192.0000000000001 189.5 194.2000000000001 187 189.2000000000001 192.6H106.1000000000001V100.3H188.1000000000001C191.4000000000001 103.8 201.0000000000001 114.1999999999999 204.2000000000001 117.6999999999999C216.9 103.3999999999999 214.5000000000001 105.9999999999999 219.6000000000001 100.3H268.5000000000001C268.5000000000001 115 268.6000000000001 108.6 268.6000000000001 123.3C280.1000000000001 123.1 292.9000000000001 123.5 302.9000000000001 129.5C302.9000000000001 115.6 302.8000000000001 112.3999999999999 302.8000000000001 100.3H342.4000000000001C342.4000000000001 118.8 342.5000000000001 107.6999999999999 342.5000000000001 125.6C348.7000000000001 125.6 350.2000000000001 125.6 351.9000000000001 125.5C352.0000000000001 124.1999999999999 351.9000000000001 125.5 351.9000000000001 100.3C504.7000000000001 100.3 497.8000000000001 99.1999999999999 508.6000000000001 104.8V100.3C543.4000000000001 100.3 563.4000000000001 98.1 576.1000000000001 106.4V16C576.1000000000001 -10.5 554.6000000000001 -32 528.1000000000001 -32H48C21.5 -32 0 -10.5 0 16V219.7H26.6C30.8 229.8 28.8 225 33 235H52.2C56.4 225 54.4 229.8 58.6 219.7H111.5V231.1C113.7 226.1 112.6 228.6 116.6 219.7H146.1C148.5 225.2 148.7 225.5 151.2 231.1V219.7H286.7V244.8C293.1 244.8 294.7 244.9 296.5 244.6C296.5 244.6 296.3 233.7 296.6 219.8H363.1V228.7C370.5 222.8 380.5 219.8 392.8 219.8H419.6C423.8 229.9 421.8 225.1 426 235.1H445C451.5 220.1 445.2 234.6 451.6 219.8H504.4V241.7C516.2 222 512.2 228.8 517.6 219.8H559.2V311.8H519.3000000000001V293.4C507.1000000000001 313.6 513.0000000000001 303.8 508.1000000000001 311.8H464.8000000000001V291.2C458.6000000000001 305.8 460.2 302 456.0000000000001 311.8H423.6000000000001C423.2000000000001 311.8 421.3000000000001 311.6 421.3000000000001 312.1H393.7000000000001C380.9000000000001 312.1 370.6 308.9 363.0000000000001 302.8V312.1H323.1000000000001V306.8C312.3000000000001 312.9 302.4000000000001 311.9 258.7000000000001 312.1C258.6 312.1 247.1000000000001 312.2 247.1000000000001 312.1H144.1000000000001C141.6000000000001 306 137.3000000000001 295.7 131.5000000000001 282.1C128.7000000000001 288.1 120.5000000000001 305.9 117.6000000000001 312.1H71.6000000000001V291C64.2000000000001 308.4 66.9000000000001 302 62.6000000000001 312.1H22.9C19.5 304.2 9.2 280.1 -0.2 258.2V368C-0.2 394.5 21.3 416 47.8 416H527.8C554.3 416 575.8 394.5 575.8 368V192.6zM389.4 273.2C389.1 273 388 271 388 265.6C388 259.6 388.9 257.9 389.1 257.7C389.3 257.6 390.2000000000001 257.2 392.5 257.2L399.8 274.1C398.7 274.1 397.7 274.2 396.7 274.2C391.1 274.2 389.7 273.5 389.4 273.2zM369.5 142.3C378.7 139 380.5 132.8 380.5 123.9L380.4 110.1H363.8L363.9 121.6C363.9 133.4 360.1 135.4 349.1 135.4H331.5L331.3999999999999 110.1H314.7999999999999L314.8999999999999 179.4H354.2999999999999C367.2999999999999 179.4 381.3999999999999 177.1 381.3999999999999 160.7C381.2999999999999 153.1 377.2 145.4 369.5 142.3zM363.2 157.6999999999999C363.2 164.0999999999999 357.6 165.0999999999999 352.5 165.0999999999999H331.5V149.4999999999999H352.2C357.8 149.4999999999999 363.2 150.7999999999999 363.2 157.6999999999999zM544.9 164.8H575V179.4H542.1C529.3000000000001 179.4 518.3000000000001 172.8 518.3000000000001 158.7C518.3000000000001 125.7 561.0000000000001 145.9 561.0000000000001 131.3C561.0000000000001 126.2 556.7000000000002 124.9 552.6000000000001 124.9H520.6000000000001L520.5000000000001 110.1H552.5000000000001C560.9000000000001 110.1 570.1000000000001 111.9 575.0000000000001 119V144.8C564.5000000000001 158.6 535.7000000000002 146.1 535.7000000000002 158.3C535.7000000000002 164.1 540.3000000000002 164.8 544.9000000000002 164.8zM445.7 165.1V179.4H390.5L390.4 110.1H445.6L445.7 124.4L407.1 124.7V138.5H445V152.6H407.2V165.1H445.7zM487.9 125H455.7L455.6 110.1999999999999H487.8C502.6 110.1999999999999 514 115.8 514 132.1999999999999C514 165.3999999999999 471.1 143.3999999999999 471.1 158.5C471.1 164.1 476 164.8999999999999 480.3 164.8999999999999H510.7V179.5H477.5C464.7 179.5 454 172.8999999999999 454 158.8C454 125.8 496.7 146.3 496.7 131.4C496.6 126 492 125 487.9 125zM409.8 283.7C392.4 284 376.6 287.8 376.6 264C376.6 252.2 379.4 244.1 392.7 244.1H400.1L423.6 298.5999999999999H448.4L476.3 233.2V298.5999999999999H501.6L530.6999999999999 250.5V298.5999999999999H547.5999999999999V229.6H524L492.8 281.5V229.6H459.1L452.5 244.9H418.2L411.8 229.6H392.6C369.8 229.6 359.6 241.4 359.6 263.5999999999999C359.6 286.9 370.1 298.8999999999999 393.6 298.8999999999999H409.7000000000001V283.7zM424.1 259.2H446.9L435.7 286.8L424.1 259.2zM351.5 298.8H334.6V229.5H351.5V298.8zM313.4 261.5C322.9 258.2 324.4 252.3 324.4 243.1V229.6H307.8C307.5 244.4 311.4 254.7 293 254.7H275V229.6H258.6V298.8999999999999L297.7 298.5999999999999C311 298.5999999999999 325.1 296.5999999999999 325.1 280.2C325.2 272.2 320.8 264.4999999999999 313.4 261.4999999999999zM306.7 276.8C306.7 283.2 301.1 284.2 296 284.2H275V268.9H295.7C301.4 268.9 306.7 270.2 306.7 276.8zM247.2 284.2V298.8H191.7V229.5H247.2V243.8H208.3V257.6H246.1V271.7H208.3V284.2H247.2zM162.6 229.5V283.7L138.6 229.5H124L100 283.7V229.5H66.2L59.8 244.8H25.3L18.9 229.5H1L30.7 298.8H55.2L83.3 233.1V298.8H110.4L132.1 251.8L151.8 298.8H179.4V229.5H162.6zM53.9 259.2L42.4 286.8L31.2 259.2H53.9zM306.9 156.7C306.9 128.8 276.5 133.4 257.6 133.4L257.5 110.1H225.3L204.9 133.1L183.5999999999999 110.1H118.1999999999999L118.2999999999999 179.4H184.7999999999999L205.2999999999999 156.6L226.3 179.4H279C294.6 179.4 306.9 174 306.9 156.7zM194.2 144.9L176.3 165.1H134.6V152.6H170.9V138.5H134.6V124.6999999999999H175.2L194.2 144.8999999999999zM241 172L215.7 144.6L241 116.5V172zM289.3 156.7C289.3 162.8 284.7 165.1 279.1 165.1H257.6V147.5H278.8C284.7 147.5 289.3 150.3 289.3 156.6999999999999z" /> + <glyph glyph-name="cc-apple-pay" + unicode="" + horiz-adv-x="576" d=" M302.2 229.6C302.2 212.4 291.7 202.5 273.2 202.5H248.9V256.7H273.3C291.7 256.7 302.2 246.9 302.2 229.6zM349.7 167C349.7 158.7 356.9 153.3 368.2 153.3C382.6 153.3 393.4 162.4 393.4 175.2V182.9L369.9 181.4C356.6 180.5 349.7 175.6 349.7 167zM576 369V17C576 -9.5 554.5 -31 528 -31H48C21.5 -31 0 -9.5 0 17V369C0 395.5 21.5 417 48 417H528C554.5 417 576 395.5 576 369zM127.8 250.8C136.2 250.1 144.6 255 149.9 261.2000000000001C155.1 267.6 158.5 276.2000000000001 157.6 284.9C150.2 284.6 141 280 135.7 273.6C130.9 268.1 126.8 259.2 127.8 250.8zM188.4 176.3C188.2 176.5 168.8 183.9 168.6 206.3C168.4 225 183.9 234 184.6 234.5C175.8 247.5 162.2 248.9 157.5 249.2C145.3 249.9 134.9 242.3 129.1 242.3C123.2 242.3 114.4 248.9 104.8 248.7C92.3 248.5 80.6 241.4 74.3 230.1C61.2 207.5 70.9 174.1 83.6 155.7C89.8 146.6 97.3 136.6 107.1 137C116.4 137.4 120.1 143 131.3 143C142.6 143 145.8 137 155.6 137.1C165.8 137.3 172.1 146.2000000000001 178.4 155.3C185.3 165.7 188.2 175.7 188.4 176.3zM323.8 229.7C323.8 256.3 305.3 274.5 278.9000000000001 274.5H227.7000000000001V138.1H248.9000000000001V184.7000000000001H278.2000000000001C305.0000000000001 184.7000000000001 323.8000000000001 203.1000000000001 323.8000000000001 229.7000000000001zM413.8 206C413.8 225.7 398 238.4000000000001 373.8 238.4000000000001C351.3 238.4000000000001 334.7 225.5000000000001 334.1 207.9H353.2000000000001C354.8000000000001 216.3000000000001 362.6 221.8000000000001 373.2000000000001 221.8000000000001C386.2000000000001 221.8000000000001 393.4000000000001 215.8000000000001 393.4000000000001 204.6000000000001V197.1000000000001L367.0000000000001 195.5000000000001C342.4000000000001 194.0000000000001 329.1000000000001 183.9 329.1000000000001 166.4C329.1000000000001 148.7000000000001 342.8000000000001 137.0000000000001 362.5000000000001 137.0000000000001C375.8000000000001 137.0000000000001 388.1000000000001 143.7000000000001 393.7000000000001 154.4H394.1V138H413.7000000000001V206zM516 237.1H494.5L469.6 156.5H469.2L444.3000000000001 237.1H422L457.9 137.8L456 131.8C452.8 121.6 447.5 117.6 438.1 117.6C436.4000000000001 117.6 433.2000000000001 117.8 431.9000000000001 117.9V101.5000000000001C433.1 101.1000000000001 438.4000000000001 101.0000000000001 440.0000000000001 101.0000000000001C460.7 101.0000000000001 470.4 108.9 478.9 132.8000000000001L516 237.1z" /> + <glyph glyph-name="cc-diners-club" + unicode="" + horiz-adv-x="576" d=" M239.7 368.1C142.8 368.1 63.9 289.5 63.9 192.3C63.9 95.4 142.8 16.5 239.7 16.5C336.9 16.5 415.5 95.4 415.5 192.3C415.5 289.5 336.9 368.1 239.7 368.1zM199.8 88.5C158.1 104.4 128.4 144.9 128.4 192.3S158.1 280.2000000000001 199.8 296.4V88.5zM279.6 88.2V296.4C321.3 280.2000000000001 351 239.7 351 192.3S321.3 104.4 279.6 88.2000000000001zM528 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H528C554.5 -32 576 -10.5 576 16V368C576 394.5 554.5 416 528 416zM329.7 0H239.4C133.2 0 45.6 85.5 45.6 190.2C45.6 304.8 133.2 384 239.4 384H329.7C434.7 384 530.4 304.8 530.4 190.2C530.4 85.5 434.7 0 329.7 0z" /> + <glyph glyph-name="cc-discover" + unicode="" + horiz-adv-x="576" d=" M83 235.9C83 228 79.8 220.4 74.1 215.2C69.2 210.8 62.5 208.8 52.2 208.8H48V263H52.2C62.5 263 68.9 261.3 74.1 256.4C79.8 251.4 83 243.8 83 235.9zM504.8 264H499.9V239.1H504.6C514.9 239.1 520.4 243.5 520.4 251.9C520.4 259.8 514.9 264 504.8 264zM576 368V16C576 -10.5 554.5 -32 528 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H528C554.5 416 576 394.5 576 368zM428 195H473.3V208.8H444V231H472.3V244.8H444V263H473.3V277H428V195zM341.8 277L376.8 192.8H385.4000000000001L420.9000000000001 277H403.4000000000001L381.2000000000001 221.8L359.3000000000001 277H341.8000000000001zM258.8 235.4C258.8 210.8 278.7 190.8 303.4000000000001 190.8C328.0000000000001 190.8 348.0000000000001 210.7 348.0000000000001 235.4C348.0000000000001 260 328.1000000000001 280 303.4000000000001 280C278.8 280 258.8 260.1 258.8 235.4zM190.8 235.9C190.8 203.4 224.4 183.4 254.1 197.7V216.7C234.8 197.4 207.3 210.9 207.3 235.9C207.3 259.6 234 275 254.1 254.9V273.9C223.9 288.9 190.8 267.1 190.8 235.9zM156.9 207.6C149.3 207.6 143.1 211.3 139.4 218.4L129.1 208.5C146.9 182.4 185.7 190.3 185.7 219.8C185.7 232.9 180.3 238.8 162.1 245.4C152.5 248.8 149.8 251.3 149.8 255.7C149.8 264.4 164.3 269.8 174.7 258.2000000000001L183.1 269C164 286.1 133.4 277.9000000000001 133.4 254.7C133.4 243.4 138.6 237.5000000000001 153.6 232.0000000000001C179.3 222.9 168.3 207.6 156.9 207.6zM99.5 235.9C99.5 260 81.5 277 55.4 277H32V195H55.4C86.3 195 99.5 217.4 99.5 235.9zM122.9 277H106.9V195H122.9V277zM544 160C510.7 139.2 317.6 35.6 128 0H529C537.2 0 544 6.8 544 15V160zM544 195L518.1 229.5C530.2 232 536.8000000000001 240.1 536.8000000000001 252.7C536.8000000000001 281.2 506.5000000000001 277.1 483.9000000000001 277.1V195.1H499.9000000000001V227.9H502.1000000000001L524.3000000000001 195.1H544z" /> + <glyph glyph-name="cc-jcb" + unicode="" + horiz-adv-x="576" d=" M431.5 203.7V236C472.7 236 470 235.8 470 235.8C477.3 234.5 483.3 228.5 483.3 219.8C483.3 211 477.3 205.3 470 204C468.8 203.6 466.7 203.7 431.5 203.7zM474.3 183.5C471.5 184.2 471 184 431.5 184V149C471.1 149 471.5 148.8 474.3 149.5C481.8 151 487.8 157.5 487.8 166.5C487.8 175.2 481.8 182 474.3 183.5zM576 368V16C576 -10.5 554.5 -32 528 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H528C554.5 416 576 394.5 576 368zM182 255.7H125C125 188.6 135.7 146 89.2 146C69.7 146 50.4 151.7 32 160.8V132.8C62 124.5 100 124.5 100 124.5C197.9 124.5 182 172.2 182 255.7zM360.5 251.2C297.1 267.2 195.5 266.1 195.5 191.9C195.5 114.8 303.7 118.3 360.5 132.7V161C312.9 136.3 253 139 253 192S312.8 247.6 360.5 223.2V251.2zM544 161.5C544 180 527.5 192 506 193.5V194.3C525.5 197 536.3 209.8 536.3 224.5C536.3 243.5 520.5999999999999 254.5 499.3 255.5C499.3 255.5 505.6 255.8 379 255.8V128.3H501.6999999999999C525.9999999999999 128.2 543.9999999999999 141.2 543.9999999999999 161.5z" /> + <glyph glyph-name="cc-mastercard" + unicode="" + horiz-adv-x="576" d=" M482.9 37.7C482.9 30.9 478.3 26 471.7 26C464.9 26 460.5 31.2 460.5 37.7C460.5 44.2 464.9 49.4 471.7 49.4C478.3 49.4 482.9 44.2 482.9 37.7zM172.1 49.4C165 49.4 160.9 44.2 160.9 37.7C160.9 31.2 165 26 172.1 26C178.6 26 183 30.9 183 37.7C182.9 44.2 178.6 49.4 172.1 49.4zM289.6 49.7C284.2 49.7 280.9 46.2 280.1 41H299.2C298.3 46.7 294.8 49.7 289.6 49.7zM397.4 49.4C390.6 49.4 386.5 44.2 386.5 37.7C386.5 31.2 390.6 26 397.4 26C404.2 26 408.6 30.9 408.6 37.7C408.6 44.2 404.2 49.4 397.4 49.4zM503.3 23.3C503.3 22.9999999999999 503.6 22.8 503.6 22.1999999999999C503.6 21.8999999999999 503.3 21.6999999999999 503.3 21.0999999999999C502.9999999999999 20.7999999999999 502.9999999999999 20.5999999999999 502.8 20.2999999999999C502.4999999999999 19.9999999999999 502.3 19.7999999999999 501.6999999999999 19.7999999999999C501.3999999999999 19.4999999999999 501.1999999999999 19.4999999999999 500.5999999999999 19.4999999999999C500.2999999999999 19.4999999999999 500.0999999999999 19.4999999999999 499.4999999999999 19.7999999999999C499.1999999999999 19.7999999999999 498.9999999999999 20.0999999999999 498.6999999999999 20.2999999999999C498.3999999999999 20.5999999999999 498.1999999999999 20.7999999999999 498.1999999999999 21.0999999999999C497.8999999999999 21.5999999999999 497.8999999999999 21.8999999999999 497.8999999999999 22.1999999999999C497.8999999999999 22.6999999999999 497.8999999999999 22.9999999999999 498.1999999999999 23.3C498.1999999999999 23.8 498.4999999999999 24.1 498.6999999999999 24.4C498.9999999999999 24.7 499.1999999999999 24.7 499.4999999999999 24.9C499.9999999999999 25.2 500.2999999999999 25.2 500.5999999999999 25.2C501.0999999999999 25.2 501.3999999999999 25.2 501.6999999999999 24.9C502.1999999999999 24.6 502.4999999999999 24.6 502.8 24.4S502.9999999999999 23.8 503.3 23.3zM501.1 21.9C501.6 21.9 501.6 22.2 501.9 22.2C502.2 22.5 502.2 22.7 502.2 23C502.2 23.3 502.2 23.5 501.9 23.8C501.6 23.8 501.4 24.1 500.8 24.1H499.1999999999999V20.6H499.9999999999999V22H500.3L501.4 20.6H502.2L501.1 21.9zM576 367V15C576 -11.5 554.5 -33 528 -33H48C21.5 -33 0 -11.5 0 15V367C0 393.5 21.5 415 48 415H528C554.5 415 576 393.5 576 367zM64 227.4C64 150.9 126.1 88.9 202.5 88.9C229.7 88.9 256.4 97.1 279 112C206.1 171.3 206.6 283.2 279 342.5C256.4 357.5 229.7 365.6 202.5 365.6C126.1 365.7 64 303.6 64 227.4zM288 118.6C358.5 173.6 358.2 280.8 288 336.1C217.8 280.8 217.5 173.5 288 118.6zM145.7 42.3C145.7 51 140 56.7 131 57C126.4 57 121.5 55.6 118.2 50.5C115.8 54.6 111.7 57 106 57C102.2 57 98.4 55.6 95.4 51.6V56H87.2V19.3H95.4C95.4 38.2 92.9 49.5 104.4 49.5C114.6 49.5 112.6 39.3 112.6 19.3H120.5C120.5 37.6 118 49.5 129.5 49.5C139.7 49.5 137.7 39.5 137.7 19.3H145.9V42.3zM190.6 56H182.7V51.6C180 54.9 176.2 57 171 57C160.7 57 152.8 48.8 152.8 37.7C152.8 26.5 160.7 18.4 171 18.4C176.2 18.4 180 20.3 182.7 23.8V19.1999999999999H190.6V56zM231.1 30.4C231.1 45.4 208.2 38.6 208.2 45.6C208.2 51.3 220.1 50.4 226.7 46.7L230 53.2C220.6 59.3 199.8 59.2 199.8 45C199.8 30.7 222.7 36.7 222.7 30C222.7 23.7 209.2 24.2 202 29.2L198.5 22.9C209.7 15.3 231.1 16.9 231.1 30.4zM266.5 21.1L264.3 27.9C260.5 25.8 252.1 23.5 252.1 32V48.6H265.2000000000001V56H252.1000000000001V67.2H243.9000000000001V56H236.3000000000001V48.7H243.9000000000001V32C243.9000000000001 14.4 261.2000000000001 17.6 266.5000000000001 21.1zM279.8 34.4999999999999H307.3C307.3 50.6999999999999 299.9000000000001 57.1 289.9000000000001 57.1C279.3 57.1 271.7000000000001 49.2 271.7000000000001 37.8C271.7000000000001 17.3 294.3000000000001 13.9 305.5000000000001 23.6L301.7000000000001 29.6C293.9000000000001 23.2 282.1 23.8 279.8000000000001 34.4999999999999zM338.9000000000001 55.9999999999999C334.3 57.9999999999999 327.3 57.8 323.7000000000001 51.6V56H315.5000000000001V19.3H323.7000000000001V40C323.7000000000001 51.6 333.2000000000001 50.1 336.5000000000001 48.4L338.9000000000001 56zM349.5000000000001 37.6999999999999C349.5000000000001 49.0999999999999 361.1000000000001 52.8 370.2000000000001 46.0999999999999L374.0000000000001 52.5999999999999C362.4000000000001 61.6999999999999 341.3000000000001 56.6999999999999 341.3000000000001 37.5999999999999C341.3000000000001 17.7999999999999 363.7000000000001 13.7999999999999 374.0000000000001 22.5999999999999L370.2000000000001 29.0999999999999C361.0000000000001 22.5999999999999 349.5000000000001 26.4999999999999 349.5000000000001 37.6999999999999zM416.2000000000001 55.9999999999999H408V51.6C399.7 62.6 378.1 56.4 378.1 37.7C378.1 18.5 400.5 13 408 23.8V19.2H416.2V56zM449.9000000000001 55.9999999999999C447.5000000000001 57.1999999999999 438.9000000000001 58.8999999999999 434.7000000000001 51.6V56H426.8000000000001V19.3H434.7000000000001V40C434.7000000000001 51 443.7000000000001 50.3 447.5000000000001 48.4L449.9000000000001 56zM490.2 70.8999999999999H482.3000000000001V51.5999999999999C474.1000000000001 62.4999999999999 452.4000000000001 56.6999999999999 452.4000000000001 37.6999999999999C452.4000000000001 18.3 474.9000000000001 13.0999999999999 482.3000000000001 23.8V19.1999999999999H490.2V70.8999999999999zM497.8000000000001 145.9999999999999V141.3999999999999H498.6000000000001V146H500.5000000000001V146.8H495.9V146H497.8zM504.4000000000001 22.1999999999999C504.4000000000001 22.6999999999999 504.4000000000001 23.2999999999999 504.1000000000001 23.7999999999999C503.8000000000001 24.0999999999999 503.6000000000001 24.5999999999999 503.3000000000001 24.8999999999999C503.0000000000001 25.1999999999999 502.5000000000001 25.3999999999999 502.2 25.6999999999999C501.7 25.6999999999999 501.1 25.9999999999999 500.6 25.9999999999999C500.3 25.9999999999999 499.8 25.6999999999999 499.2 25.6999999999999C498.7 25.3999999999999 498.4 25.1999999999999 498.1 24.8999999999999C497.6 24.5999999999999 497.3 24.0999999999999 497.3 23.7999999999999C497 23.2999999999999 497 22.6999999999999 497 22.1999999999999C497 21.8999999999999 497 21.3999999999999 497.3 20.7999999999999C497.3 20.4999999999999 497.6 19.9999999999999 498.1 19.6999999999999C498.4 19.3999999999999 498.6 19.1999999999999 499.2 18.8999999999999C499.7 18.5999999999999 500.3000000000001 18.5999999999999 500.6 18.5999999999999C501.1 18.5999999999999 501.7 18.5999999999999 502.2 18.8999999999999C502.5000000000001 19.1999999999999 503.0000000000001 19.3999999999999 503.3000000000001 19.6999999999999C503.6000000000001 19.9999999999999 503.8000000000001 20.4999999999999 504.1000000000001 20.7999999999999C504.4000000000001 21.3999999999999 504.4000000000001 21.8999999999999 504.4000000000001 22.1999999999999zM507.6000000000001 146.8999999999999H506.2000000000001L504.6000000000001 143.3999999999999L503.0000000000001 146.8999999999999H501.6000000000001V141.4999999999999H502.4000000000001V145.5999999999999L504.0000000000001 142.0999999999999H505.1000000000001L506.5000000000001 145.5999999999999V141.4999999999999H507.6000000000001V146.8999999999999zM512.0000000000001 227.3999999999999C512.0000000000001 303.5999999999999 449.9000000000001 365.6999999999999 373.5000000000001 365.6999999999999C346.3000000000002 365.6999999999999 319.6000000000002 357.4999999999999 297.0000000000001 342.5999999999999C369.1000000000002 283.2999999999999 370.2000000000001 171.0999999999999 297.0000000000001 112.0999999999999C319.6000000000002 97.0999999999999 346.5000000000001 88.9999999999999 373.5000000000001 88.9999999999999C449.9000000000001 88.8999999999999 512.0000000000001 150.8999999999999 512.0000000000001 227.3999999999999z" /> + <glyph glyph-name="cc-paypal" + unicode="" + horiz-adv-x="576" d=" M186.3 189.8C186.3 177.6 176.6 168.3 164.3 168.3C155.1 168.3 148.3 173.5 148.3 183.3C148.3 195.5 157.8 205.3 170 205.3C179.3 205.3 186.3 199.6 186.3 189.8zM80.5 238.3H75.8C74.3 238.3 72.8 237.3 72.6 235.6L68.3 208.9L76.5 209.2000000000001C87.5 209.2000000000001 96 210.7000000000001 98 223.4C100.3 236.8000000000001 91.8 238.3000000000001 80.5 238.3000000000001zM364.5 238.3H360C358.2 238.3 357 237.3 356.8 235.6L352.6 208.9L360.6 209.2000000000001C373.6 209.2000000000001 382.6 212.2000000000001 382.6 227.2000000000001C382.5 237.8000000000001 373 238.3000000000001 364.5 238.3000000000001zM576 368V16C576 -10.5 554.5 -32 528 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H528C554.5 416 576 394.5 576 368zM128.3 232.6C128.3 253.6 112.1 260.6 93.6 260.6H53.6C51.1 260.6 48.6 258.6 48.4 255.9L32 153.8C31.7 151.8 33.2 149.8 35.2 149.8H54.2C56.9 149.8 59.4 152.7 59.7 155.5L64.2 182.1C65.2 189.3 77.4 186.8 82.2 186.8C110.8 186.8 128.3 203.8 128.3 232.6zM212.5 223.8H193.5C189.7 223.8 189.5 218.3 189.3 215.6C183.5 224.1 175.1 225.6 165.6 225.6C141.1 225.6 122.4 204.1 122.4 180.4C122.4 160.9 134.6 148.2 154.1 148.2C163.1 148.2 174.3 153.1 180.6 160.1C180.1 158.6 179.6 155.4 179.6 153.9C179.6 151.6 180.6 149.9 182.8 149.9H200C202.7 149.9 205 152.8 205.5 155.6L215.7 219.9C216 221.8 214.5 223.8 212.5 223.8zM253 125.9L316.7 218.5C317.2 219 317.2 219.5 317.2 220.2C317.2 221.9 315.7 223.7 314 223.7H294.8C293.1 223.7 291.3 222.7 290.3 221.2L263.8 182.1999999999999L252.8 219.6999999999999C252 221.8999999999999 249.8 223.6999999999999 247.3 223.6999999999999H228.6C226.9000000000001 223.6999999999999 225.4000000000001 221.8999999999999 225.4000000000001 220.1999999999999C225.4000000000001 219 244.9000000000001 163.3999999999999 246.6 158.0999999999999C243.9000000000001 154.2999999999999 226.1 129.4999999999999 226.1 126.4999999999999C226.1 124.6999999999999 227.6 123.2999999999999 229.3 123.2999999999999H248.5C250.3 123.3999999999999 252 124.3999999999999 253 125.8999999999999zM412.3 232.6C412.3 253.6 396.1 260.6 377.6 260.6H337.9000000000001C335.2000000000001 260.6 332.7000000000001 258.6 332.4000000000001 255.9L316.2000000000001 153.9C316.0000000000001 151.9 317.5000000000001 149.9 319.4000000000001 149.9H339.9000000000001C341.9000000000001 149.9 343.4000000000001 151.4 343.9000000000001 153.1L348.4000000000001 182.1C349.4000000000001 189.3 361.6 186.8 366.4000000000001 186.8C394.8 186.8 412.3 203.8 412.3 232.6zM496.5 223.8H477.5C473.7 223.8 473.5 218.3 473.2 215.6C467.7 224.1 459.2 225.6 449.5 225.6C425 225.6 406.3 204.1 406.3 180.4C406.3 160.9 418.5 148.2 438 148.2C447.3 148.2 458.5 153.1 464.5 160.1C464.2 158.6 463.5 155.4 463.5 153.9C463.5 151.6 464.5 149.9 466.7 149.9H484C486.7 149.9 489 152.8 489.5 155.6L499.7 219.9C500 221.8 498.5 223.8 496.5 223.8zM544 257.1C544 259.1 542.5 260.6 540.8 260.6H522.3C520.8 260.6 519.3 259.4 519.0999999999999 257.9L502.8999999999999 153.9L502.5999999999999 153.4C502.5999999999999 151.6 504.0999999999999 149.9 506.0999999999999 149.9H522.5999999999999C525.0999999999999 149.9 527.5999999999999 152.8 527.8 155.6L544 256.8V257.1zM454 205.3C441.8 205.3 432.3 195.6 432.3 183.3C432.3 173.6 439.3 168.3 448.5 168.3C460.5 168.3 470.2 177.5 470.2 189.8C470.3 199.6 463.3 205.3 454 205.3z" /> + <glyph glyph-name="cc-stripe" + unicode="" + horiz-adv-x="576" d=" M396.9 191.5C396.9 172.4 388.1 158.1 375 158.1C366.7 158.1 361.7 161.1 358.2 164.8L358 217.6C361.7 221.7 366.8 224.6 375 224.6C387.9 224.7 396.9 210.1 396.9 191.5zM576 368V16C576 -10.5 554.5 -32 528 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H528C554.5 416 576 394.5 576 368zM122.2 166.9C122.2 209.2 67.9 201.6 67.9 217.6C67.9 223.1 72.5 225.3 80 225.3C90.8 225.3 104.5 222 115.3 216.2V249.6C103.5 254.3 91.8 256.1 80 256.1C51.2 256.1 32 241.1 32 215.9C32 176.6 86 183 86 166C86 159.4 80.3 157.3 72.4 157.3C60.6 157.3 45.5 162.2 33.5 168.6V134.7000000000001C46.7 129.0000000000001 60.1 126.6 72.3 126.6C101.9 126.8 122.2 141.3 122.2 166.9zM191.1 253.8H164.1V284.6L129.4 277.2L129.2000000000001 163.3C129.2000000000001 142.3 145.0000000000001 126.8 166.1000000000001 126.8C177.7000000000001 126.8 186.3000000000001 128.9 191.0000000000001 131.5V160.3999999999999C186.5000000000001 158.5999999999999 164.0000000000001 152.0999999999999 164.0000000000001 173V223.5H191.0000000000001V253.8zM264.9000000000001 253.8C260.2000000000001 255.5 243.6 258.6 235.3000000000001 243.3L233.1000000000001 253.8H202.4000000000001V129.3H237.9000000000001V213.7C246.3000000000001 224.7 260.5000000000001 222.6 265.0000000000001 221.1V253.8zM309.1 253.8H273.4000000000001V129.3H309.1V253.8zM309.1 301.1L273.4000000000001 293.5V264.6L309.1 272.2V301.1zM431.8 192.3C431.8 233.6 408.3 256.1 383.4000000000001 256.1C369.5000000000001 256.1 360.5000000000001 249.5 355.6 245L353.8 253.8H322.5V88L358 95.5L358.1 135.7C363.2000000000001 132 370.8 126.7 383.2000000000001 126.7C408.6 126.8 431.8000000000001 147.2 431.8000000000001 192.3zM544 191.1C544 227.5 526.4 256.2 492.7 256.2C458.9 256.2 438.4 227.5 438.4 191.3C438.4 148.5 462.6 126.8 497.2 126.8C514.2 126.8 526.9 130.6999999999999 536.6 136V164.6C526.9 159.7 515.8000000000001 156.7 501.7 156.7C487.9 156.7 475.7 161.6 474.1 178.2H543.6C543.7 180.2 544 187.6 544 191.1zM492.4 227.2C483.5 227.2 473.7 220.5 473.7 204.5H510.4C510.4 220.5 501.1 227.2 492.4 227.2z" /> + <glyph glyph-name="cc-visa" + unicode="" + horiz-adv-x="576" d=" M470.1 216.7S477.7 179.5 479.4 171.7H446C449.3 180.6 462 215.2 462 215.2C461.8 214.9 465.3 224.3 467.3 230.1L470.1 216.7zM576 368V16C576 -10.5 554.5 -32 528 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H528C554.5 416 576 394.5 576 368zM152.5 116.8L215.7 272H173.2L133.9 166L129.6 187.5L115.6 258.9C113.3 268.8 106.2 271.6 97.4 272H32.7L32 268.9C47.8 264.9 61.9 259.1 74.2 251.8L110 116.8H152.5zM246.9 116.6L272.1 272H231.9000000000001L206.8000000000001 116.6H246.9000000000001zM386.8 167.4C387 185.1 376.2 198.6 353.1 209.7000000000001C339 216.8000000000001 330.4000000000001 221.6000000000001 330.4000000000001 228.9000000000001C330.6 235.5000000000001 337.7000000000001 242.3000000000001 353.5000000000001 242.3000000000001C366.6000000000001 242.6000000000001 376.2000000000001 239.5000000000001 383.4000000000001 236.4000000000001L387.0000000000001 234.7000000000001L392.5000000000001 268.3000000000001C384.6000000000001 271.4000000000001 372.0000000000001 274.9000000000001 356.5000000000001 274.9000000000001C316.8000000000001 274.9000000000001 288.9000000000001 253.7000000000001 288.7000000000001 223.5C288.4000000000001 201.2 308.7000000000001 188.8 323.9000000000001 181.3C339.4000000000001 173.7 344.7000000000001 168.7 344.7000000000001 162C344.5000000000001 151.6 332.1 146.8 320.6 146.8C304.6 146.8 296 149.3 282.9000000000001 155.1L277.6 157.6L272 122.7000000000001C281.4 118.4 298.8 114.6 316.8 114.4C359 114.3 386.5 135.2000000000001 386.8 167.4zM528 116.6L495.6 272H464.5C454.9 272 447.6 269.2 443.5 259.1L383.8 116.6H426S432.9 135.8 434.4 139.9H486C487.2 134.4 490.8 116.6 490.8 116.6H528z" /> + <glyph glyph-name="centercode" + unicode="" + horiz-adv-x="512" d=" M329.2 179.4C325.4 144.2 293.8 118.8 258.6 122.6C223.4 126.4 198 158 201.8 193.2C205.6 228.4 237.2 253.8 272.4 250C307.5 246.2 333 214.5999999999999 329.2 179.4zM243.4 -55.7C96.7 -48 -8.2 82.5 10.1 223.7C21.3 310.3 75.9 380.6 149.2 415.7C310.2 492.8 498.9 378.3 503.9 199.1C508 52.1 385.5 -63.1 243.4 -55.7zM423.3 124.3C451.1999999999999 242.3 262.8 330.2 186.1 358.5C128.6 302.2 117 169.9 152.3 14.1C221.1 -1.7 321.4 40.4999999999999 423.3 124.3z" /> + <glyph glyph-name="chrome" + unicode="" + horiz-adv-x="496" d=" M131.5 230.5L55.1 347.9C102.7 407.1 174.1 439.7 247.1 440C289.4 440.3 332.6 429.5 371.9 406.8C415.3 381.6 448.3 345.4 469.3 303.8L264 314.6C205.9 318 150.6 285.3 131.5 230.5zM164.4 192C164.4 145.8 201.8 108.4 248 108.4S331.6 145.8 331.6 192S294.2000000000001 275.6 248.0000000000001 275.6S164.4 238.3 164.4 192zM479.3 281.2L339.6 274C377.5 229.7 378.1 165.8 346.2000000000001 116.8L234.1 -55.6C280.6 -58.1 328.5 -47.9 371.9 -22.7C479.3 39.3 522.8 169.3 479.3 281.2zM133.7 144.4L40.4 327.9C14.9 288.9 0 242.1 0 192C0 68 90.8 -34.7 209.5 -52.9L273.2 71.9C215.6 61.1 160 92.7000000000001 133.7 144.4z" /> + <glyph glyph-name="cloudscale" + unicode="" + horiz-adv-x="448" d=" M318.1 294L308.7000000000001 286.4C286.2000000000001 305.7000000000001 257.2000000000001 320 225.4000000000001 320C153.8 320 96 259.2 96 187.7C96 181.1 96.4 174.6 97.4 168.3C95.4 224.3 139.2 265.7000000000001 190 265.7000000000001C214.2 265.7000000000001 236.2 256.3 252.6 241.0000000000001L227.4 220.6C219.1 221.5 210.6 218.8 204.3 212.5C193.2 201.5 193.2 183.6 204.3 172.5C215.4 161.5 233.2 161.5 244.3 172.5C250.6 178.8 253.3 187.4 252.4 195.6L327.6 284.4C333.9000000000001 290.9 324.3 300.3 318.1 294zM234.3 182.5C228.7 177 219.7 177 214.1 182.5C208.5 188.1 208.5 197.1 214.1 202.7S228.7 208.3 234.3 202.7S239.9 188 234.3 182.5zM224 416C100.5 416 0 315.5 0 192S100.5 -32 224 -32S448 68.5 448 192S347.5 416 224 416zM224 32C135.8 32 64 103.8 64 192S135.8 352 224 352S384 280.2 384 192S312.2 32 224 32z" /> + <glyph glyph-name="cloudsmith" + unicode="" + horiz-adv-x="332" d=" M332.5 28.1C332.5 -18.3 294.9 -56 248.5 -56S164.5 -18.3 164.5 28.1S202.1 112.1 248.5 112.1S332.5 74.5 332.5 28.1zM248.5 272C294.9 272 328.5 309.6 328.5 356S294.9 440 248.5 440S160.5 402.4000000000001 160.5 356S130.9 280 84.5 280S0.5 238.4000000000001 0.5 192S38.1 112 84.5 112S168.5 145.6 168.5 192S202.1 272 248.5 272z" /> + <glyph glyph-name="cloudversify" + unicode="" + horiz-adv-x="616" d=" M148.6 144C156.8 75.5 216 28.5 294.6 32.7C345.8 -10.6 431.4000000000001 -13.1 481 38.3C550.2 37.2 599.5 82.9 612.5 137.8C627.3 200.3 594.3 270.3 520.4 292.9C487.4 381 389 394.4 333.9 377.9C276.6 360.6 249.6 324.7 234.6 268.2C226.8 265.5 208.1 259.3 189.6 244.1C201.3 244.1 204.8 235.2 204.8 224.6V204.2C204.8 193.5 196.1 184.7 185.3 184.7H165.1C154.4 184.7 145.6 190.7 145.6 201.4V208H98.8C95 208 88 203.7 88 196.1V155.7C88 149.3 93.3 143.9 99.7 143.9H148.6zM376 136C365.3 89.7 397.7 63.6 431.3 49.2C324.1 15.4 259.7 100 296 160C262.8 138.4 262.3 88.8 266.8 67.1C248.9 79.5 213 99.5 209.4 146.9C206.4 186.8 230.9 222.6 266.4 240.8000000000001C297 256.6 369.9 249.3 400 200C385.9 248 346.2 270.1 298.2 274.8C329.1 305.5 362.6 325.1 412.4 318.5C482.2 309.2 545.5999999999999 235.7 480.1 168C515.0999999999999 184.3 528.8 222.4 527.5999999999999 244.9L538.0999999999999 225.3C549.8999999999999 203.3 553.3 177.7 547.4999999999999 153.3C538.2999999999998 114.3 506.8999999999999 84.5 467.7999999999999 76.8C435.6999999999999 70.5 384.7 81.9 375.9999999999999 136zM128 240H88.2C79.3 240 72 247.3 72 256.2V295.8C72 304.7 79.3 312 88.2 312H128C136.9 312 144.2 304.7 144.2 295.8V256.2C144.2 247.3 136.9 240 128 240zM10.1 280C4.5 280 0 284.5 0 290.1V317.9C0 323.5 4.5 328 10.1 328H37.8C43.3 328 47.9 323.5 47.9 317.9V290.1C47.9 284.5 43.4 280 37.8 280H10.1zM168 305.3V326.7000000000001C168 331.8 172.2 336 177.3 336H198.7C203.8 336 208 331.8 208 326.7000000000001V305.3C208 300.2000000000001 203.8000000000001 296 198.7 296H177.3C172.2 296 168 300.2 168 305.3zM56 212.5V187.5C56 181.2 50.9 176 44.6 176H19.4C13.1 176 8 181.2 8 187.5V212.5C8 218.8 13.1 224 19.4 224H44.5C50.9 224 56 218.8 56 212.5z" /> + <glyph glyph-name="codepen" + unicode="" + horiz-adv-x="512" d=" M502.285 288.296L268.2850000000001 444.296C260.298 449.211 251.7740000000001 449.256 243.7140000000001 444.296L9.714 288.296C3.714 284.2970000000001 0 277.153 0 270.011V114.012C0 106.869 3.714 99.726 9.715 95.726L243.715 -60.296C251.702 -65.211 260.226 -65.256 268.286 -60.296L502.286 95.726C508.286 99.725 512.001 106.869 512.001 114.012V270.011C512 277.153 508.286 284.2970000000001 502.285 288.296zM278 384.8690000000001L450.286 270.011L373.429 218.582L278 282.2970000000001V384.8690000000001zM234 384.8690000000001V282.2970000000001L138.571 218.582L61.714 270.011L234 384.8690000000001zM44 228.868L99.143 192.011L44 155.154V228.868zM234 -0.847L61.714 114.011L138.571 165.4400000000001L234 101.725V-0.847zM256 140.011L178.285 192.011L256 244.011L333.7150000000001 192.011L256 140.011zM278 -0.847V101.725L373.429 165.4400000000001L450.286 114.0110000000001L278 -0.847zM468 155.154L412.857 192.011L468 228.868V155.154z" /> + <glyph glyph-name="codiepie" + unicode="" + horiz-adv-x="472" d=" M422.5 245.1C453.2 245.1 456 192 422.2 192H411.4V147.7H384.8V245.1H422.5zM472 95.4C429.9 3.5 350.4 -56 248 -56C111 -56 0 55 0 192S111 440 248 440C345.4 440 420.8 386.3 466.2 301.6L280.2 192.8L472 95.4zM433.5 82.9L373.2 113.6C346.1 69.3 302.8 42.1999999999999 250.8 42.1999999999999C168.3 42.1999999999999 101.6 108.8999999999999 101.6 191.0999999999999C101.6 273.5999999999999 168.3 340.2999999999999 250.8 340.2999999999999C299.2 340.2999999999999 339.7 316.7999999999999 367.7 276.8999999999999L427.2 311.4999999999999C386.5 374.0999999999999 322.5 411.4999999999999 248 411.4999999999999C126.8 411.4999999999999 28.5 313.1999999999999 28.5 191.9999999999999S126.8 -27.5 248 -27.5C326.6 -27.5 394.5 14.6 433.5 82.9z" /> + <glyph glyph-name="connectdevelop" + unicode="" + horiz-adv-x="576" d=" M550.5 207L500.411 293.786C501.482 295.928 502.286 298.339 502.286 301.0180000000001C502.286 309.054 495.59 315.751 487.554 316.019L432.107 411.9120000000001C432.643 413.519 433.178 415.126 433.178 416.733C433.178 425.304 426.214 432.001 417.91 432.001C413.089 432.001 409.071 429.858 406.124 426.376H299.518C296.839 429.857 292.8210000000001 432 288 432S279.161 429.857 276.482 426.375H170.411C167.464 429.857 163.447 432 158.625 432C150.322 432 143.357 425.304 143.357 416.732C143.357 415.125 143.893 413.25 144.429 411.911L88.446 314.678C83.09 312.2680000000001 79.339 307.178 79.339 301.017C79.339 300.482 79.607 299.9460000000001 79.607 299.41L26.303 207.267C19.071 205.928 13.713 199.767 13.713 192.267C13.713 185.035 18.802 178.874 25.767 177.267L80.946 81.909C80.41 80.302 80.142 78.963 80.142 77.088C80.142 69.8559999999999 85.231 63.6949999999999 92.196 62.356L143.893 -27.376C143.357 -28.983 142.822 -30.858 142.822 -32.733C142.822 -41.304 149.786 -48.001 158.09 -48.001C162.911 -48.001 166.929 -45.858 169.608 -42.6439999999999H276.483C279.161 -45.857 283.447 -48 288 -48S296.839 -45.857 299.5180000000001 -42.643H406.6610000000001C409.3390000000001 -45.589 413.3570000000001 -47.464 417.6430000000001 -47.464C426.2140000000001 -47.464 432.9110000000001 -40.5 432.9110000000001 -32.196C432.9110000000001 -30.589 432.6440000000001 -29.25 432.1080000000001 -27.911L483.8050000000001 62.357C490.7690000000001 63.696 495.859 69.857 495.859 77.0889999999999C495.859 78.696 495.5910000000001 80.3029999999999 495.0550000000001 81.91L549.9660000000001 177.268C556.9300000000002 178.607 562.2880000000001 184.768 562.2880000000001 192.268C562.2860000000002 199.5 557.1960000000001 205.661 550.5000000000001 207zM153.535 -2.732L109.875 73.071H153.535V-2.732zM153.535 81.107H109.875C109.607 82.178 109.071 83.249 108.536 84.321L153.535 131.731V81.107zM153.535 143.518L103.178 90.2139999999999C101.839 90.7499999999999 100.499 91.5539999999999 99.16 91.821L43.447 188.25C43.982 189.589 43.982 190.929 43.982 192.268S43.982 194.678 43.714 195.75L95.679 285.75C98.358 286.0180000000001 101.036 286.822 103.447 288.429L153.536 236.464V143.518zM153.535 245.84L107.732 293.25C109.071 295.393 109.875 298.071 109.875 301.017C109.875 301.285 109.607 301.821 109.607 302.089L153.535 317.893V245.84zM153.535 326.465L109.875 310.661L153.535 386.197V326.465zM480.054 287.357L480.8579999999999 286.018L445.5 118.875L381.75 186.107L479.786 287.625L480.054 287.357zM291.75 92.893L303.2680000000001 81.107H280.5L291.75 92.893zM291.4820000000001 104.143L208.179 189.589L287.7320000000001 273.964L370.7680000000001 186.375L291.4820000000001 104.1429999999999zM296.8390000000001 98.25L376.1250000000001 180.482L443.6250000000001 109.232L437.7330000000001 81.107H313.714L296.839 98.25zM410.411 403.607C411.4820000000001 403.0710000000001 412.553 402.535 413.8930000000001 402.267L471.75 301.553V301.017C471.75 298.0710000000001 472.553 295.3930000000001 473.893 293.25L376.393 192L293.358 279.589L410.411 403.607zM401.304 405.75L287.7320000000001 285.482L230.6780000000001 345.75L397.0170000000001 405.75H401.3040000000001zM277.821 405.75C280.499 403.072 283.981 401.4650000000001 288 401.4650000000001S295.5 403.072 298.1789999999999 405.75H373.1789999999999L224.786 352.179L173.893 405.75H277.8210000000001zM161.572 400.125L162.643 402.267A33.834 33.834 0 0 1 165.322 403.0710000000001L216.483 349.231L161.572 329.41V400.125zM161.572 320.839L222.375 342.803L282.107 279.589L202.554 195.482L161.572 237.535V320.839zM161.572 228.161L198 190.393L161.572 152.089V228.161zM161.572 140.303L203.625 184.767L286.393 98.785L269.25 81.107H161.572V140.303zM168.536 -21.75C166.929 -20.143 165.054 -19.072 162.643 -18.268L161.572 -16.6609999999999V73.071H261.482L169.875 -21.75H168.536zM298.447 -21.75C295.7680000000001 -19.34 292.019 -17.465 288 -17.465S280.233 -19.34 277.553 -21.75H181.124L272.731 73.071H311.035L402.642 -21.75H298.447zM418.447 -9.964L414.161 -17.464C412.822 -17.732 411.751 -18.267 410.679 -18.803L321.483 73.072H435.8589999999999L418.447 -9.964zM431.303 12.268L444.161 73.071H466.125L431.303 12.268zM466.125 81.107H445.7680000000001L450.3210000000001 102.2670000000001L467.4640000000001 84.0530000000001C466.929 83.2500000000001 466.393 82.179 466.1250000000001 81.107zM532.2860000000001 188.518L476.8390000000001 91.821C475.5000000000001 91.286 474.1600000000001 90.75 472.8210000000001 89.947L452.1960000000001 111.911L486.7500000000001 275.839L532.5530000000001 196.553C532.2860000000001 195.214 531.7500000000001 193.875 531.7500000000001 192.268C531.7500000000001 190.929 532.0180000000001 189.857 532.2860000000001 188.518z" /> + <glyph glyph-name="contao" + unicode="" + horiz-adv-x="512" d=" M45.4 143C59.8 75.9 71.8 14 113.6 -32H34C15.3 -32 0 -16.8 0 2V382C0 400.7 15.2 416 34 416H91.7C77.9 403.4 65.6 388.8 54.8 372.4C9.4 302.4 27.8 225.6 45.4 143zM478 416H387.8C409.2 394.6 427 366.5 440.5 331.9L303.4 302.6C288.5 331.6 265.6 355.9 220.8 346.5C196.2 341.2 179.8 327.2 172.5 311.9C163.7 293.2000000000001 159.3 272.1 180.7 171.6C201.8 71.4 214.4 53.9 230.2 40.4C243.1 29.3 263.6 23.4 288.5 28.7C333 38.1 344.2 69.4 345.9 101.9L483.3 131.5000000000001C486.4999999999999 60.0000000000001 464.6 6.3000000000001 425.9 -32.0999999999999H478C496.7 -32.0999999999999 512 -16.8999999999999 512 1.9000000000001V382C512 400.8 496.8 416 478 416z" /> + <glyph glyph-name="cpanel" + unicode="" + horiz-adv-x="640" d=" M52.9 234.3H92.9L86.7 210.7C84.8 204.2 79.3 199.8 72.4 199.8H53.8C28.9 199.8 29.1 162.4 53.8 162.4H65.1C69.3 162.4 72.7 158.5000000000001 71.5 154.1L64.4 128H52C18.5 128 -7 159.4 1.7 193.2C9 220.2 30 234.3 52.9 234.3M73.1 128L108 258.1C109.8 264.5 115.2 269 122.3 269H159.3C183.4 269 204.7 252.6 210.3 227.8C216.9 198.7 195.8 162.5 158.6 162.5H126.6L133 186.3C134.8000000000001 192.5 140.3000000000001 197.1 147.3000000000001 197.1H157.6000000000001C170.0000000000001 197.1 178.4000000000001 208.8 175.9000000000001 219.7C173.8000000000001 228.9 166.0000000000001 234.5000000000001 157.6000000000001 234.5000000000001H137.8000000000001L112 138.8C110.1 132.6 104.6 128.1 97.8 128.1L73.1 128M293.7 197.4C294 198.4 295.6 202.7 291.6 202.7H234.1C224.4 202.7 217.5 211.6 219.9 221.2L223.4 234.6H301.3C320.1 234.6 334.6 217 329.8 197.8L315.8 146C313 135.4 303.6 128.2 292.4 128.2L234.9 128.4C192 128.4 196.4 192.2 235.6 192.2H284L280.5 179C278.6 172.8 273.1 168.2 266.3 168.2H244.7C239.4 168.2 239.4 160.3 244.7 160.3H279.6C284.2000000000001 160.3 284.7000000000001 164.2 285.1 165.6L293.7000000000001 197.4M396.8000000000001 234.3000000000001C431.2000000000001 234.3000000000001 456.1000000000001 202.0000000000001 447.1000000000001 168.9L438.3000000000001 135.8C437.1000000000001 130.9 432.6000000000001 128 428.0000000000001 128H408.9000000000001C404.4000000000001 128 401.3 132 402.5000000000001 136.3L413.1000000000001 176.3C416.4000000000001 187.9 407.5000000000001 199.7 395.0000000000001 199.7H375.2000000000001L358.0000000000001 135.7000000000001C356.8000000000001 130.9 352.4000000000001 127.9 347.6000000000001 127.9H328.7000000000001C324.5000000000001 127.9 321.1000000000001 131.8 322.3000000000002 136.2000000000001L348.5000000000001 234.2000000000001H396.8000000000002M498 196.4L490 166.4C489.1 163.1 491.5 159.7 495.1 159.7H568.4L562.6999999999999 138.7C560.8 132.5 555.3 128 548.4999999999999 128H481.7999999999999C461.7999999999999 128 448.4999999999999 147 453.4999999999999 164.7L464.2999999999999 204.7C469.0999999999999 222.3 484.9999999999999 234.3 502.8999999999999 234.3H550.1999999999999C569.1999999999999 234.3 583.4 216.6 578.4999999999999 197.5L575.2999999999998 185.5C572.3999999999999 174.5 562.5999999999998 167.9 552.0999999999998 167.9H498.6999999999998L502.1999999999998 180.9C503.7999999999998 187.1 509.3999999999998 191.7 516.3999999999999 191.7H538C540 191.7 541.3 192.7 541.9 194.7L542.6 197.3C543.3000000000001 200 541.3000000000001 202.4 538.7 202.4H505.8000000000001C501.7 202.4 498.9000000000001 200.3 498.0000000000001 196.4zM568.2 128L603.8000000000001 261.1C605.0000000000001 265.8 609.3000000000001 269 614.2 269H633.1C637.6 269 640.8000000000001 265 639.6 260.7L613.1 162.5C608 141.8 588.9 128 568.2 128" /> + <glyph glyph-name="creative-commons-by" + unicode="" + horiz-adv-x="496" d=" M314.9 253.6V152.2H286.6V31.7H209.5V152.1H181.2V253.6C181.2 258 182.8 261.8 185.8 264.9C188.9 268 192.7 269.6 197.1 269.6H299C303.1 269.6 306.8 268 310.1 264.9C313.2000000000001 261.7000000000001 314.9000000000001 258 314.9000000000001 253.6zM213.4 317.3C213.4 340.6 224.9 352.3 247.9 352.3S282.4 340.6 282.4 317.3C282.4 294.3 270.9 282.8 247.9 282.8S213.4 294.3 213.4 317.3zM247.6 440C389.4 440 496 329.9 496 192C496 44.9 377.5 -56 247.6 -56C113.6 -56 0 53.5 0 192C0 324.9 104.7 440 247.6 440zM248.4 395.3C130.2 395.3 44.7 297.4 44.7 192C44.7 82.2 135.9 -10.8 248.4 -10.8C351.6 -10.8 451.2 70.3 451.2 192C451.3 305.8 361 395.3 248.4 395.3z" /> + <glyph glyph-name="creative-commons-nc-eu" + unicode="" + horiz-adv-x="496" d=" M247.7 440C103.6 440 0 323.2 0 192C0 55.7 111.7 -56 247.7 -56C377.9 -56 496 44.9 496 192C496 331 388.4 440 247.7 440zM248.3 -10.7C136.3 -10.7 44.7 81.8 44.7 192C44.7 215.2 48.4 237.2 55.6 258L121.3 228.9H116.6V199.4H139.9C139.9 193.2 139.5 196.2 139.5 179.9H116.7V150.4H143.7C155.1 83.4 210.9 49.1 268.3 49.1C294.9 49.1 318.9 56.9999999999999 333.1 64.9L323.1 111C314.4 106.4 294.9 100.2 275.8 100.2C247.6 100.2 217.7 111.1 208.5 150.4H298.8L427.1 93.6C425.6 91.4999999999999 370.9 -10.7 248.3 -10.7zM231.6 179.9L231.1 180.3L232 179.9H231.6zM308.8 199.4H312.5V228.9H242.2L213.6 241.5C216.1 247 219 252 222.4 255.8C235.3 271.6 253.5 278.2 273.5 278.2C291.8 278.2 308.8 272.8 319.6 268.2L331.2000000000001 315.5C316.2000000000001 322.1 294.2000000000001 327.9 268.9000000000001 327.9C229.9000000000001 327.9 196.7000000000001 312.1 173 285.6C167.7 279.5 163.2 272.7000000000001 159.1 265.5L77.5 301.6C142.1 398.4000000000001 235.2 395.2000000000001 248.2 395.2000000000001C361.2000000000001 395.2000000000001 451.2 305 451.2 191.8C451.2 173.1 449.1 155.5 444.9000000000001 138.9L308.8000000000001 199.4z" /> + <glyph glyph-name="creative-commons-nc-jp" + unicode="" + horiz-adv-x="496" d=" M247.7 440C103.6 440 0 323.2 0 192C0 55.6 111.8 -56 247.7 -56C377.9 -56 496 44.8 496 192C496 330.8 388.5 440 247.7 440zM248.3 -10.7C136.3 -10.7 44.7 81.8 44.7 192C44.7 213.1 47.7 233.2 53.7 252.3L180.7 195.8H152.8V157.2H210.9L216.6 145.4V126.7H152.8V88H216.6V32H278.3V88H342.5V123.7L423.5 87.6C422 85.4 366.3999999999999 -10.7 248.3 -10.7zM335.9 126.6H278.3V145.3L281.2 150.9L335.8999999999999 126.6zM342.4 178V195.8H303.8L366.8 311.8H301L257.6 215.8L234.6 226L195 311.7H129.2000000000001L156.5000000000001 260.7L74.6000000000001 297.2C102.4000000000001 341.3 157.2000000000001 395.3 248.3000000000001 395.3C361.1 395.3 451.3000000000001 305.3 451.3000000000001 191.9C451.3000000000001 170.9 448.6000000000001 151.3 443.4000000000001 132.9L342.4000000000001 178z" /> + <glyph glyph-name="creative-commons-nc" + unicode="" + horiz-adv-x="496" d=" M247.6 440C387.4 440 496 332.1 496 192C496 44.8 377.5 -56 247.6 -56C113.1 -56 0 54.8 0 192C0 324.9 104.7 440 247.6 440zM55.8 258.9C48.4 238.5 44.7 216.2 44.7 192C44.7 81.1 136.8 -10.4 248.4 -10.4C370.8 -10.4 425.6 91.4 426.9 93.7000000000001L333.5 135.3000000000001C325.8 98.2000000000001 292.3 82.3000000000001 265.3 79.9000000000001V41.8000000000001H236.5V80C209 80.3 183.9 90.2 161.2 109.7L195.3 144.2C227 114.8 281.7 112.4 281.7 146.4C281.7 152.6 279.5 157.6 275.1 161.5C260.9 167.5 273.3 161.6 55.8 258.9zM248.4 395.7C210 395.7 136 387 77.9 302.7L172.7 260.2C182.7 291.5 213.1 303.1 236.5 304.5V342.6H265.3V304.5C288 303.3 308.7 295.6 327.3 281.5L295 248.3C252.3 278.2000000000001 211.5 256.3 225 237.2C278.4 213.1 268.8 217.4 318 195.6L445.1 138.9C449.2000000000001 156.3 451.3 174.0000000000001 451.3 192C451.3 249.0000000000001 431.5 297 392 335.9000000000001C352.7 375.8000000000001 304.8 395.7000000000001 248.4 395.7000000000001z" /> + <glyph glyph-name="creative-commons-nd" + unicode="" + horiz-adv-x="496" d=" M247.6 440C389.4 440 496 329.9 496 192C496 44.9 377.5 -56 247.6 -56C113.6 -56 0 53.5 0 192C0 324.9 104.7 440 247.6 440zM248.4 395.3C130.2 395.3 44.7 297.4 44.7 192C44.7 82.2 135.9 -10.8 248.4 -10.8C351.6 -10.8 451.2 70.3 451.2 192C451.3 305.8 361 395.3 248.4 395.3zM342.4 251V208.5H162.1V251H342.4zM342.4 171.2V128.7H162.1V171.2H342.4z" /> + <glyph glyph-name="creative-commons-pd-alt" + unicode="" + horiz-adv-x="496" d=" M247.6 440C389.4 440 496 329.9 496 192C496 44.9 377.5 -56 247.6 -56C113.6 -56 0 53.5 0 192C0 324.9 104.7 440 247.6 440zM248.4 395.3C130.2 395.3 44.7 297.4 44.7 192C44.7 82.2 135.9 -10.8 248.4 -10.8C351.6 -10.8 451.2 70.3 451.2 192C451.3 305.8 361 395.3 248.4 395.3zM135.5 124.7V262H203.7C237.4 262 254.2 246.5 254.2 215.5C254.2 206.5 251.2 169 197.1 169H170.1V124.7H135.5zM169.6 236.3V194.7H198.8C226.7 194.7 228.8 236.3 197.9 236.3H169.6zM263.5 124.7V262H316.7C338.1 262 386.7 256.8 386.7 193.4C386.7 129.9 338.1 124.8 316.7 124.8H263.5zM297.6 233.2V153.5H317.5C341.5 153.5 352 168.8 352 193.4C352 235.4 320.8 233.3 317 233.3L297.6 233.2z" /> + <glyph glyph-name="creative-commons-pd" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 328.9 0 192C0 55 111 -56 248 -56S496 55 496 192C496 328.9 385 440 248 440zM248 -9.5C108.8 -9.5 12.2 128.5 57.8 258.4L136.6 223.3C134.5 212.8 133.3 201.8 133.3 190.4C133.3 91.4 207.2 63.5 253.7 63.5C276.6 63.5 307.2000000000001 70.2 333.1 93L297 136.9C291.5 130.6 279.4 120.2 260.7 120.2C222.9 120.2 207 160.1 206.8 192.1C437.2 89.5 423.3 95.6 424.7 95.3C390.4 32.9 324.1 -9.5 248 -9.5zM442.2 140.5L218.2 240.5C237 274.5 273.1 271.2 292.9 251.5L333.3 293.1C306.2 316.4 275.3 320.6 255.2 320.6C207.8 320.6 174.3 300.1 154.5 269L79.5999999999999 302.4C115.6999999999999 357.3 177.6999999999999 393.6 248.1 393.6C359.2 393.6 449.5999999999999 303.2 449.5999999999999 192.1C449.5999999999999 174.1 447.2 156.7000000000001 442.7999999999999 140.1C442.4999999999999 140.2000000000001 442.3999999999999 140.3 442.1999999999999 140.5z" /> + <glyph glyph-name="creative-commons-remix" + unicode="" + horiz-adv-x="496" d=" M247.6 440C389.4 440 496 329.9 496 192C496 44.9 377.5 -56 247.6 -56C113.6 -56 0 53.5 0 192C0 324.9 104.7 440 247.6 440zM248.4 395.3C130.2 395.3 44.7 297.4 44.7 192C44.7 82.2 135.9 -10.8 248.4 -10.8C351.6 -10.8 451.2 70.3 451.2 192C451.3 305.8 361 395.3 248.4 395.3zM410.1 187.6L415 185.4V115.4C407.8 111.8 351.6 87.9 347.7 86.6C341.2 88.4 234 133.4 210.4 142.8L146.2 116.2L82.9 143.7V207.5L142.2 232.3C141.5 233 141.8 227.3 141.8 302.7000000000001L209.1 332.4000000000001L361 269.5V207.9L410.1 187.6zM339.7000000000001 106.1V149.9H339.3000000000001V151.7000000000001L225.5000000000001 198.2000000000001V153L339.3000000000001 106.1V106.5L339.7000000000001 106.1zM347.2000000000001 163.7000000000001L387.1 180.1L350.3 195.6L311.3 179.2000000000001L347.2 163.7000000000001zM399.5000000000001 125.6V168.6L355.2 150V106.6L399.5 125.6z" /> + <glyph glyph-name="creative-commons-sa" + unicode="" + horiz-adv-x="496" d=" M247.6 440C389.4 440 496 329.9 496 192C496 44.9 377.5 -56 247.6 -56C113.6 -56 0 53.5 0 192C0 324.9 104.7 440 247.6 440zM248.4 395.3C130.2 395.3 44.7 297.4 44.7 192C44.7 82.2 135.9 -10.8 248.4 -10.8C351.6 -10.8 451.2 70.3 451.2 192C451.3 305.8 361 395.3 248.4 395.3zM137.7 227C150.7 310.9 218.2 322.7 246.6 322.7C346.4 322.7 374.1 240.2 374.1 188.5C374.1 124.9 333.1 55.6 245.2 55.6C206.3 55.6 146.1 75.6 135.8 152.6H198.3C199.8 122.5 217.9 107.4 252.8 107.4C276.1 107.4 310.8 125.6 310.8 190.2000000000001C310.8 272.7000000000001 261.7 270.8000000000001 254.1 270.8000000000001C221 270.8000000000001 202.4 256.2000000000001 198.3 227.0000000000001H216.5L167.3 177.8000000000001L118.3 227.0000000000001H137.7z" /> + <glyph glyph-name="creative-commons-sampling-plus" + unicode="" + horiz-adv-x="496" d=" M247.6 440C389.4 440 496 329.9 496 192C496 44.9 377.5 -56 247.6 -56C113.6 -56 0 53.5 0 192C0 324.9 104.7 440 247.6 440zM248.4 395.3C130.2 395.3 44.7 297.4 44.7 192C44.7 82.2 135.9 -10.8 248.4 -10.8C351.6 -10.8 451.2 70.3 451.2 192C451.3 305.8 361 395.3 248.4 395.3zM355.4 189.7C350.7 189.7 346.4 186.9 344.7 182.5L340.7 173L329.7 265.8C328 279.7000000000001 307.7 279.2000000000001 306.6 265.4L302.3 214L297.1 282.8C296 297.1 275 297 273.9 282.8L270.4 237.9L264.5 332.2C263.6 346.7 242.2 346.6 241.3 332.2L236.2 248.5L231.9 314.8C231 329.2000000000001 209.7 329.2000000000001 208.7 314.8L203.4 234.6L199.3 291.6C198.2 305.9000000000001 177.3 305.9000000000001 176.1 291.8L168.4 202L166.6 214.2C164.9 225.6 149.5 227.8 144.6 217.5L131.4 189.8H87.5V166.6H138.8C143.2 166.6 147.2 169.1 149.2 173L159.9 99.9C161.9 86.4 181.8 86.9 183 100.6L186.8 144.2L192.5 65.9C193.6 51.5 214.8 51.7 215.7 66L220.3 136.4L225.1 63.1C226 48.7 247.4 48.7 248.3 63.2L253.2 143.7L257.7 71.9C258.6 57.6 279.8 57.4 280.9 71.7L285.5 130.3L290.4 65.9C291.5 51.6 312.4 51.7 313.5 65.8L320.3 148.8L323 126.5C324.4 114.6999999999999 340.7 112.3999999999999 345.3 123.3999999999999L363.3 166.7999999999999H413.8V190L355.4000000000001 189.7zM277.4 184.5H255.5V162.6C255.5 158.5 252.2 155.1 248 155.1C243.9 155.1 240.5 158.4 240.5 162.6V184.5H218.6C214.5 184.5 211.1 187.8 211.1 192C211.1 196.1 214.5 199.5 218.6 199.5H240.5V221.4C240.5 225.5 243.9 228.9 248 228.9S255.5 225.6 255.5 221.4V199.5H277.4C281.5 199.5 284.9 196.2 284.9 192C284.9 187.9 281.5 184.5 277.4 184.5z" /> + <glyph glyph-name="creative-commons-sampling" + unicode="" + horiz-adv-x="496" d=" M247.6 440C389.4 440 496 329.9 496 192C496 44.9 377.5 -56 247.6 -56C113.6 -56 0 53.5 0 192C0 324.9 104.7 440 247.6 440zM248.4 395.3C130.2 395.3 44.7 297.4 44.7 192C44.7 82.2 135.9 -10.8 248.4 -10.8C351.6 -10.8 451.2 70.3 451.2 192C451.3 305.8 361 395.3 248.4 395.3zM252 342.1C254.8 342.4 263.5 341.1 263.5 330.6L270.1 223.4L275 282.7C275 288.7 279.7 293.3 285.6 293.3C291.5 293.3 296.2000000000001 288.6 296.2000000000001 282.7C296.2000000000001 280.2 295.7000000000001 288.4 301.9000000000001 201.2L307.7000000000001 265.4C308.0000000000001 268.3 310.6 274.7 317.9000000000001 274.7C321.7000000000001 274.7 327.8 272.4 328.5000000000001 265.8L340.0000000000001 169.3L345.3000000000001 182.1C347.1000000000001 186.5 350.5000000000001 188.7 355.5000000000001 188.7H413.5000000000001V167.4H362.6000000000001L344.4000000000001 123.1C340.5000000000001 113.2 324.9000000000001 114 323.6000000000001 126.2L319.6000000000001 158.1L312.1000000000001 65.5C311.8000000000001 62.5 309.1000000000001 56.2 301.9000000000001 56.2C298.9000000000001 56.2 292.1000000000001 58.3 291.3000000000001 65.5C291.3000000000001 67.4 291.9000000000001 59.7 285.1000000000001 143.4L279.8000000000001 71.2C278.7000000000001 66.4 275.0000000000001 61.9 269.2000000000001 61.9C266.3000000000001 61.9 259.4000000000001 63.9 258.6 71.2C258.6 73.1 259.1 64.5 252.8 158.9L247 64.1C247 57.8 243.4 51.7 236.4 51.7C231.2 51.7 225.8 55.8 225.8 63.7L220 151.4C214.2 58.9 214.7 67.4 214.7 65.5C213.6 60.7 209.9 56.2 204.1 56.2C201.1 56.2 194.3 58.3 193.5 65.5C193.5 66.2 193.1 66.6 193.1 68.1L186.9 156.7000000000001L182 100C181.3 93.5 175.3 90.7 171.4 90.7C165.6 90.7 161.8 94.8 160.8 99.6L149.7 176C147.7 172 146.2 167.6 138.6 167.6H87.2V188.9H132L145.7 216.8000000000001C150.1 226.7000000000001 163.9 224 165.6 214.1000000000001L168.7 193.7000000000001L177.1 291.6C177.1 297.6 181.9 302.2000000000001 187.7 302.2000000000001C188.2 302.2000000000001 198.3 302.4000000000001 198.3 289.8000000000001L203.2 220.7000000000001L209.8 313.3000000000001C209.8 323.4000000000001 219.3 323.9000000000001 220 323.9000000000001C220.6 323.9000000000001 230.6 323.2000000000001 230.6 313.3000000000001L235.9 232.7000000000001L242.1 330.6C242.2 331.7000000000001 241.5 340.9000000000001 252 342.1z" /> + <glyph glyph-name="creative-commons-share" + unicode="" + horiz-adv-x="496" d=" M247.6 440C389.4 440 496 329.9 496 192C496 44.9 377.5 -56 247.6 -56C113.6 -56 0 53.5 0 192C0 324.9 104.7 440 247.6 440zM248.4 395.3C130.2 395.3 44.7 297.4 44.7 192C44.7 82.2 135.9 -10.8 248.4 -10.8C351.6 -10.8 451.2 70.3 451.2 192C451.3 305.8 361 395.3 248.4 395.3zM349.4 262.9C357.2 262.9 363.1 256.8 363.1 249.2V66.7C363.1 59 357 53 349.4 53H214.3C206.6 53 200.6 59 200.6 66.7V120.7H146.6C138.8 120.7 132.9 126.7 132.9 134.4V316.9C132.9 325.1 139.5 329.6 145.3000000000001 330.6H281.7000000000001C289.4000000000001 330.6 295.4000000000001 324.6 295.4000000000001 316.9V262.9H349.4000000000001zM159.9 147.7H200.6V249.1C200.6 256.5 206.4 261.7 212.6 262.8H268.4000000000001V303.1H159.9V147.6999999999999zM336.1 235.8H227.6V80.4H336.1V235.8z" /> + <glyph glyph-name="creative-commons" + unicode="" + horiz-adv-x="496" d=" M245.83 233.13L212.61 215.85C203.18 235.43 187.37 235.78 185.15 235.78C163.02 235.78 151.93 221.17 151.93 191.94C151.93 168.37 161.14 148.1 185.15 148.1C199.62 148.1 209.8 155.19 215.72 169.36L246.27 153.86C240.1 142.35 220.58 114.88 181.17 114.88C158.57 114.88 107.21 125.2 107.21 191.93C107.21 250.62 150.21 268.99 179.84 268.99C210.56 269 232.54 257.04 245.8300000000001 233.13zM388.88 233.13L356.1 215.85C346.6 235.62 330.38 235.78 328.2000000000001 235.78C306.0600000000001 235.78 294.98 221.17 294.98 191.94C294.98 168.39 304.2100000000001 148.1 328.2000000000001 148.1C342.6500000000001 148.1 352.85 155.19 358.7400000000001 169.36L389.7400000000001 153.86C387.6400000000001 150.11 368.3500000000001 114.88 324.6500000000001 114.88C301.9600000000001 114.88 250.6900000000001 124.75 250.6900000000001 191.93C250.6900000000001 250.6 293.6600000000001 268.99 323.3200000000001 268.99C354.0300000000001 269 375.9000000000001 257.04 388.8800000000001 233.13zM247.56 439.95C104.74 439.95 0 324.89 0 191.95C0 53.46 113.6 -56.05 247.56 -56.05C377.49 -56.05 496 44.82 496 191.95C496 329.82 389.38 439.95 247.56 439.95zM248.43 -10.86C135.89 -10.86 44.73 82.18 44.73 191.95C44.73 297.37 130.16 395.2200000000001 248.45 395.2200000000001C360.98 395.2200000000001 451.27 305.76 451.27 191.96C451.26 70.27 351.59 -10.86 248.43 -10.86z" /> + <glyph glyph-name="css3-alt" + unicode="" + horiz-adv-x="384" d=" M0 416L34.9 20.2L192 -32L349.1 20.2L384 416H0zM313.1 336L308.3 288.7L193 239.4L192.7 239.3H304.2L291.4 92.7000000000001L193.2 64.0000000000001L94.4 93.2000000000001L88 167.1H136.9L140.1 128.8L192.7 115.5L247.4 130.9L251.1 192.5L84.8 193V193.1L84.6 193L81 239.3L193.1 286L199.6 288.7H76.7L70.9 336H313.1z" /> + <glyph glyph-name="css3" + unicode="" + horiz-adv-x="512" d=" M480 416L416 48L192.7 -32L0 48L19.6 142.8H101.6L93.6 102.2L210 57.8L344.1 102.2L362.9000000000001 199.3H29.5L45.5 281.3H379.2L389.7 334H56.3L72.6 416H480z" /> + <glyph glyph-name="cuttlefish" + unicode="" + horiz-adv-x="440" d=" M344 142.5C326.5 110.9 286.6 88 248 88C191.4 88 144 135.4 144 192S191.4 296 248 296C286.6 296 326.5 273.1 344 241.5C357.7 292.4 385.7 334.8 431 359.3C385.7 408.9 320.5 440 248 440C111 440 0 329 0 192S111 -56 248 -56C320.5 -56 385.7 -24.9 431 24.7C385.7 49.2 357.7 91.6 344 142.5z" /> + <glyph glyph-name="d-and-d" + unicode="" + horiz-adv-x="576" d=" M82.5 349.1C81.9 366.3 84.5 382.9 95.2 397.3C95.5 389.9 96.4 382.8 99.4 375.7C105.3 403.2 119.1 425 141.7 441.2C139.8 435.3 138.2 429.4 138.7 423.5C147.4 430.9 157.5 441.3 183.1 446.2C197.8 449 212.8 448.2 225.2 445.2C263.7 435.9 286.2 410.9 294.9 372.9C300.2 349.8 295.6 327.9 286.6 306.5C281.4 294.1 274.6 282.1 265.9 271.4C263.9 273.3 262 275.2000000000001 260.1 277C217.3 317.8 233.3 302.2 222.7 314.4C221.6 315.6 221.7 316.6 222.6 318C230.9 331.5 234.4 346.2 232.6 362C231.5 371.8 228.3 380.9 221.3 388.2C206.8 403.5 182.1 403.2 167.8 387.6C156.4 375.1 153.7 360.2 156.9 344C157.0999999999999 342.7 157.3 341.3 156.9 340.1C153.5 326.4 152.3 312.5 154.4 298.5C154.5 298 154.5 297.4 154.5 296.9C154.5 296.6 154.4 296.4 154.3 295.8C132.5 306.8 118.3 324.1 111.1 348C102.8 330.2000000000001 100 312.5 104.5 293.9C88.9 309.1 83.2 328.2 82.5 349.1zM552.1 225.9C540.5 237.5 527.1 246.3 512 252.5C499.2 257.7 486 260.4 472.1 259.6C462.1 259 452.5 256.5 443.1 253.2C440.6 252.3 438 251.6 435.4000000000001 251C430.5000000000001 249.8 428.1 254.1 430.7000000000001 257.8C433.9000000000001 262.4 434.1 262 445.7000000000001 269.8C446.3000000000001 270.2 446.9000000000001 270.6 447.9000000000001 271.3H445.4000000000001C444.8 271.3 444.2000000000001 271.1 443.5000000000001 271C424.2000000000001 267.7 412.8000000000001 255.5 394.6000000000001 241.4C384.2000000000001 233.3 380.8000000000001 237.6 382.6000000000001 241.9C384.0000000000001 245.4 385.9000000000001 248.6 387.7000000000001 251.9C388.7000000000001 253.7 390.0000000000001 255.3 391.2000000000001 257C391.0000000000001 257.2 390.7000000000001 257.3 390.5000000000001 257.5C363.5000000000001 239.2 343.8000000000002 215.1 332.8000000000002 184.2C333.1000000000002 183.9 333.5000000000001 183.6 333.8000000000002 183.3C334.1000000000002 183.9 334.3000000000002 184.5 334.7000000000001 185C345.1000000000001 197.1 357.5000000000001 206.8 371.3000000000002 214.8C389.5000000000001 225.4 408.8000000000002 233.1 430.0000000000001 235C434.3000000000002 235.4 438.7000000000001 235.1 443.1000000000002 235.1C441.3000000000002 234.4 439.6000000000002 234.2 437.8000000000002 234C419.3000000000002 231.6 402.3000000000002 225 386.3000000000002 215.5C356.1000000000002 197.6 331.8000000000002 173.3 311.2000000000002 145.1C310.9000000000002 144.7000000000001 310.8000000000002 144.2000000000001 310.5000000000002 143.8C325.0000000000002 138.5 334.5000000000002 126.5 346.6000000000002 118.2C346.8000000000002 118.3 346.9000000000002 118.4 347.0000000000002 118.6L348.2000000000002 121.3C360.4000000000002 148.1999999999999 375.2000000000002 173.6 394.9000000000002 195.8C411.6000000000002 214.6 432.9000000000002 221.1 457.4000000000001 215.8C463.3000000000001 214.5 468.8000000000001 211.4 474.6000000000001 209C476.9000000000001 210.4 479.7000000000002 212.1999999999999 482.6000000000001 213.6999999999999C491.0000000000001 218 500.0000000000001 220.6999999999999 509.3000000000001 222.6999999999999C524.0000000000001 225.8 538.8000000000002 227.6 553.8000000000002 224V224.5C553.3000000000002 224.9 552.6000000000001 225.3 552.1000000000001 225.9zM316.7 50.4C277.3 83.4 293.9 69.9 274 86C273.2 85.1 274 86.2 272.1 83C260.9000000000001 63.9 246.6 47.7 228.1 35.4C217.8 28.6 206.6 23.6 194 23.6C172.4 23.6 155.8 33.1 144.6 51.4C132.6 70.9 131.3 92.1 136.4 114C144.2000000000001 147.8 166.5 169.2 175 178.3C156.3000000000001 184.5 142 176.6 128.6 164.4C129.4 178.3 132.9 190.6 140.4 201.7000000000001C116.1 191.1 94.5 176.7000000000001 75.6 157.8000000000001C75.3 163.6000000000001 81 201.5000000000001 81.2 202.5000000000001C81.5 205.2000000000001 80.6 207.8000000000001 78.2 209.9000000000001C54 185.2000000000001 33.7 158.1000000000001 22.1 125.3000000000001C29.5 131.2000000000001 37 136.7000000000001 45.7 141.5000000000001C37.4 119.2000000000001 26.1 88.7000000000001 37.9 40.4000000000001C42.5 21.4000000000001 49.8 3.6000000000001 62 -11.8999999999999C64.9 -15.5999999999999 68.3 -18.7999999999999 71.5 -22.1999999999999C71.7 -21.9999999999999 71.9 -21.8999999999999 72.1 -21.6999999999999C70.7 -14.6999999999999 69.9 -7.5999999999999 70.6 0.2C72.8 -2.9999999999999 74.5 -5.8 76.5 -8.4C89.1 -24.4 105.2 -35.8 123.7 -44C148.7000000000001 -55.3 174.8000000000001 -57.3 201.6 -52.6C256.5 -42.9 292.3 -4 317.6 46.2C318.6 48 318.2000000000001 49.1 316.7000000000001 50.4zM488.7 96.8C479.2 99.9 466.5 100.9999999999999 460 99.6999999999999C469.9 95.6999999999999 474.1 93.0999999999999 478.8 87.6999999999999C491.4 73.3 489.2 52.9999999999999 473.4 42.0999999999999C461.7 33.9999999999999 448.5000000000001 31.5999999999999 434.5000000000001 32.9999999999999C433.3000000000001 33.0999999999999 432.2000000000001 33.3999999999999 431.5000000000001 33.5999999999999C434.3000000000001 37.2999999999999 437.5000000000001 40.5999999999999 439.6000000000001 44.3999999999999C449.0000000000001 61.1999999999999 445.0000000000001 86.4999999999999 430.9000000000001 100.4999999999999C428.8000000000001 102.6 426.3000000000001 104.3999999999999 423.9000000000001 106.3999999999999C423.6000000000001 105.0999999999999 423.8000000000001 104.2999999999999 424.0000000000001 103.5999999999999C428.2000000000001 86.9999999999999 415.9000000000001 71.1999999999999 399.2000000000001 71.7999999999999C391.6000000000001 72.0999999999999 385.3000000000002 75.5999999999999 379.6000000000001 80.2999999999999C360.1000000000001 96.3999999999999 340.5000000000001 112.3999999999999 321.1000000000001 128.5999999999999C315.2000000000001 133.4999999999999 308.6000000000001 136.6999999999999 301.0000000000001 137.2999999999999C296.4000000000001 137.6999999999999 291.7000000000001 137.8999999999999 287.1000000000001 138.1999999999999C281.2000000000001 138.5999999999999 278.3000000000001 140.9999999999999 276.7000000000001 146.5999999999999C275.8000000000002 149.9999999999998 275.2000000000001 153.3999999999999 274.5000000000001 156.7999999999999C273.0000000000001 164.8999999999999 268.3000000000002 169.7999999999999 260.2000000000001 170.9999999999998C255.8000000000001 171.6999999999998 251.3000000000001 171.9999999999998 246.9000000000001 172.4999999999998C233.9000000000001 173.8999999999998 227.1000000000001 179.8999999999998 224.3000000000001 192.7999999999999C219.3000000000001 181.7999999999999 222.7000000000001 170.3999999999999 231.6000000000001 162.8999999999999C236.1000000000001 159.0999999999999 240.9000000000001 155.5999999999999 245.4000000000001 151.6999999999999C250.0000000000001 147.8999999999999 252.8000000000002 142.9999999999999 253.3000000000002 136.8999999999999C253.7000000000002 132.1999999999999 254.1000000000002 127.3999999999999 255.1000000000002 122.7999999999999C257.3000000000002 112.1999999999998 264.0000000000001 104.3999999999999 272.1000000000002 97.6999999999998C288.6000000000002 83.9999999999998 305.1000000000002 70.3999999999998 321.6000000000002 56.5999999999998C339.5000000000001 41.5999999999998 335.5000000000001 23.7999999999998 334.6000000000002 0.5999999999998C333.7000000000002 -22.3000000000002 346.8000000000002 -42.3000000000002 368.1000000000002 -50.6000000000002C369.1000000000002 -51.0000000000002 370.1000000000002 -51.2000000000002 371.7000000000002 -51.7000000000002C356.0000000000002 -33.5000000000002 361.6000000000002 -7.6000000000002 372.4000000000002 0.5999999999998C372.7000000000002 -1.6000000000002 372.8000000000002 -3.7000000000002 373.3000000000002 -5.8000000000002C382.7000000000001 -49.9000000000002 418.7000000000001 -70.0000000000002 458.3000000000001 -62.7000000000002C474.3000000000001 -59.8000000000002 488.9000000000001 -53.8000000000002 501.2000000000001 -42.9000000000001C503.2000000000001 -41.1000000000001 504.9000000000001 -38.8000000000001 507.1000000000001 -36.4000000000001C487.8000000000001 -41.0000000000002 471.3000000000001 -36.5000000000002 456.2000000000001 -25.8000000000001C456.9000000000001 -25.5000000000001 457.5000000000001 -25.5000000000001 458.1000000000001 -25.5000000000001C479.4000000000001 -27.3000000000001 498.7000000000001 -22.1000000000001 515.1000000000001 -8.1000000000001C534.6000000000001 8.4999999999999 541.7000000000002 34.7999999999998 532.5000000000001 57.8999999999999C524.2000000000002 77.9999999999999 508.9000000000001 90.1999999999999 488.7000000000001 96.7999999999998zM99.4 268.7C94.1 277.9 86.2 284.3 77.3 290C91 290.5 103.9 289.8 116.9 286.3C109.9 298.5 108.4 311 111.9 325C117.2 313.1 125.6 304.9 135.5 298.2000000000001C155.2 285 171.2 278.6 182.2 268C185.6 264.7000000000001 188.5 260.9000000000001 191.8 257.1C191 259.2000000000001 190.4 261.2000000000001 189.6 263.1C184.6 273.7000000000001 176.6 281.7000000000001 167 288.1C165.2 289.3 164.2 290.6 163.6 292.6C160.3 305.1 160.6 317.7000000000001 162.9 330.2000000000001C163.9 335.7000000000001 165.7 341.1 167.4 346.5C168.2 348.9000000000001 169.7 351.1 171.4 353.1C172 346.2 171.4 327.6 191 307.1C201.8 295.8 213.4 285.2000000000001 224.9 274.4000000000001C233.9 265.9000000000001 243.2 257.7000000000001 250.4 247.6C251.5 246.0000000000001 252.6 244.3 254.2 242.9000000000001C249.2 255.9000000000001 240.0000000000001 267 230.0000000000001 276.7000000000001C220.4 286.0000000000001 210.6 295.1 200.8000000000001 304.1C197.5 307.1 196.2000000000001 310.8000000000001 195.7000000000001 315.0000000000001C194.5000000000001 325.4000000000001 195.7000000000001 335.6 200.0000000000001 345.2000000000001C200.5000000000001 346.2000000000001 201.1000000000001 347.2000000000001 201.9000000000001 348.5000000000001C202.4000000000001 344.3000000000001 202.5000000000001 340.6 203.3000000000001 336.9000000000001C208.1000000000001 313.8000000000001 223.7000000000001 300.6000000000001 252.6000000000001 273.4000000000001C262.6000000000001 264.0000000000001 271.9000000000001 254.2000000000001 278.2000000000001 241.8000000000001C283.0000000000001 232.5000000000001 285.5000000000001 222.8000000000001 283.9000000000001 212.2000000000001C283.8000000000001 211.6000000000001 284.4000000000001 210.5000000000001 285.0000000000001 210.2000000000001C291.2000000000001 207.6000000000001 295.0000000000001 203.3000000000001 294.7000000000001 195.9000000000001C302.4000000000001 198.5000000000001 307.2000000000001 203.9000000000001 311.1000000000001 210.4000000000001C315.3000000000001 190.2000000000001 302.0000000000001 160.1000000000001 283.9000000000001 151.7000000000001C284.3000000000001 156.2000000000001 288.9000000000001 175.1 267.4000000000001 179.4C260.6000000000001 180.7000000000001 254.6000000000001 180.7000000000001 244.5000000000001 181.5000000000001C249.2000000000001 190.5000000000001 254.9000000000001 202.1000000000001 245.0000000000001 203.9000000000001C220.1000000000001 208.5000000000001 192.2000000000001 202.0000000000001 187.2000000000001 199.3000000000001C195.4000000000001 198.9000000000001 203.5000000000001 198.3000000000001 210.7000000000001 196.0000000000001C208.7000000000001 189.5000000000001 206.7000000000001 183.3000000000001 204.9000000000001 177.1000000000001C203.0000000000001 170.6000000000001 207.0000000000001 162.5000000000001 214.2000000000001 167.5000000000001C215.4000000000001 168.4 216.5000000000001 169.4 217.5000000000001 170.2000000000001C214.4000000000001 152.3000000000001 214.6000000000001 154.3000000000001 214.7000000000001 151.9C215.0000000000001 141.7000000000001 224.2000000000001 144.1 230.4000000000001 144.6C227.9000000000001 132.8 200.9000000000001 117.3 185.0000000000001 118.8C192.0000000000001 123.5 197.7000000000001 129.1 200.9000000000001 136.7C194.4000000000001 135.9 188.0000000000001 135.1 181.7000000000001 134.3L181.4000000000001 135.2C186.1000000000001 138.6 189.4000000000001 143 191.6000000000001 148.3C200.3000000000001 169.4 188.0000000000001 186.3 166.6000000000001 188.2C157.5000000000001 189 148.8000000000001 187.4 140.7000000000001 182.7C146.9000000000001 198.3 157.9000000000001 209.3 173.3000000000001 217.2C158.1000000000001 221.5 164.4000000000001 219.9 148.7000000000001 223.5C163.3000000000001 232.8 178.9000000000001 236.7 195.2000000000001 238.1C190.0000000000001 241.3 147.1000000000001 241.7 125.0000000000001 217.2C132.9000000000001 215.8 140.5000000000001 214.4 148.2000000000001 213C124.4000000000001 206 104.2000000000001 193.3 85.8000000000001 177.4C86.9000000000001 182.2 88.5000000000001 186.9 89.1000000000001 191.7C89.7000000000001 196.2 89.9000000000001 200.9 89.2000000000001 205.3C87.7000000000001 214.7 80.3000000000001 220.4 69.5000000000001 221.6C61.6000000000001 222.5 53.9000000000001 221.5 46.2000000000001 220.3C45.3000000000001 220.2 44.5000000000001 220 43.3000000000001 220.3C59.1000000000001 235.1 79.3000000000001 242 96.4000000000001 253.8C102.4000000000001 258.3 103.2000000000001 262 99.4000000000001 268.7zM227.8 241.9C231.1 225.9 240.4 216.4 251.6 217.6C247.0000000000001 228.9 239.5000000000001 237.1 227.8 241.9z" /> + <glyph glyph-name="dashcube" + unicode="" + horiz-adv-x="448" d=" M326.6 344H110.4C59.3 344 19.2 300.7 19.2 250.5V21C19.2 -29.5 59.3 -64 110.4 -64H337.6C388.7000000000001 -64 428.8 -29.5 428.8 21V448L326.6 344zM153.9 31.5C136.2 31.5 121.5 46.6 121.5 64.3V207.2C121.5 224.9 136.2 239.7 153.9 239.7H294.6C312.3 239.7 326.6 224.9 326.6 207.2V83.7L377.7000000000001 31.4H153.9z" /> + <glyph glyph-name="delicious" + unicode="" + horiz-adv-x="448" d=" M446.5 380C446.1 381.5 445.6 383 445.1 384.5C444.2000000000001 387 443.1 389.3 441.8 391.6C440.4000000000001 394 438.8 396.4 437.1 398.5C435 401 432.7000000000001 403.3 430.2000000000001 405.3C429.1 406.2 428.0000000000001 407 426.9000000000001 407.8C425.6 408.7 424.3 409.5 422.9000000000001 410.2C421.1 411.2 419.3 412 417.4000000000001 412.7C415.7000000000001 413.4 413.9000000000001 414 412.0000000000001 414.4C408.2000000000001 415.4 404.1000000000001 415.9 400.0000000000001 415.9H48C21.5 416 0 394.5 0 368V16C0 11.9 0.5 7.8 1.5 4C3.5 -3.7 7.3 -10.6 12.5 -16.3C13.5 -17.4 14.6 -18.5 15.8 -19.6C21.5 -24.8 28.4 -28.6 36.1 -30.6C39.9 -31.6 44 -32.1 48.1 -32.1H400.1C426.6 -32.1 448.1 -10.6 448.1 15.9V368C448 372.1 447.5 376.2 446.5 380zM416 16C416 7.2 408.8 0 400 0H224V192H32V368C32 376.8 39.2 384 48 384H224V192H416V16z" /> + <glyph glyph-name="deploydog" + unicode="" + horiz-adv-x="512" d=" M382.2 312H433.9V72.4H382.2V93.1C362.4 68.3 329.4 68.9999999999999 308.4 78.4C282.2 90.1 264.1 116.5 264.1 150.2C264.1 180 278.9 208.1 307.4 221C327.6 230.1 360.1 231.6 382.2 208.1V312zM317.5 150.2C317.5 132 331.1 116.7 350.7 116.7C370.5 116.7 383.9 133.1 383.9 149.6C383.9 166.7 370.2 182.8 350.7 182.8C331.1 182.8 317.5 166.4 317.5 150.1999999999999zM188.5 312H240.2V72.4H188.5V93.1C168.7 68.3 135.7 68.9999999999999 114.7 78.4C88.5 90.1 70.4 116.5 70.4 150.2C70.4 180 85.2 208.1 113.7 221C133.9 230.1 166.4 231.6 188.5 208.1V312zM123.8 150.2C123.8 132 137.4 116.7 157 116.7C176.8 116.7 190.2 133.1 190.2 149.6C190.2 166.7 176.5 182.8 157 182.8C137.3 182.8 123.8 166.4 123.8 150.1999999999999zM448 352C465.5 352 480 337.6 480 320V64C480 46.5 465.6 32 448 32H64C46.5 32 32 46.4 32 64V320C32 337.5 46.4 352 64 352H448M448 384H64C28.8 384 0 355.2 0 320V64C0 28.8 28.8 0 64 0H448C483.2 0 512 28.8 512 64V320C512 355.2 483.2 384 448 384z" /> + <glyph glyph-name="deskpro" + unicode="" + horiz-adv-x="480" d=" M205.9 -64L237 -25.6C249.3 -25.4 262.6 -24.2 273.5 -19C312.4 -0.4 311.9 42.9 311.8 44.8C311.7 49.8 311 49.2 282.9000000000001 82.2H362C361.8 32.1 354.7 13.7 351.8 6.5C342.4000000000001 -17.2 307.9000000000001 -56.3 256.6 -62.9C247.9000000000001 -64 223.8 -64.1 205.9 -64zM406.3 103.7C444.9000000000001 103.7 464.8 117.3 480 134.6L304.5 134.9L287.1 103.6L406.3 103.7zM362.7 327.6V159.3H289.2L256.5 103.8H250C197.7 103.8 191.9 160.3 191.7 162.6999999999999C190.5 175.8999999999999 170.4 174.3 171.6 160.8999999999999C173 145.0999999999999 180.4 120.8999999999999 198 103.7999999999999H107C81.5 103.7999999999999 -3.8 130.5999999999999 0 217.7999999999999V431.1C0 447.1 9.7 447.7 15 447.9H97C97.2 447.9 97.3 447.8 97.5 447.8C101.8 448.2 147.6 449.9 147.6 404.1C147.6 390.8 167.8 390.7 167.8 404.1C167.8 422.3 162.3 436.9 152 447.8H236.2C344.9 448.2 362.7 368.4 362.7 327.6zM230.2 271.6L294.2 242.3C307.5 287.8 252 314 230.2 271.6z" /> + <glyph glyph-name="deviantart" + unicode="" + horiz-adv-x="320" d=" M320 354.8L221.8 175.7L229.2 166.2H320V38.5H159.1L145.6 29.3L101.9 -54.7C101.6 -54.7 93.3 -63.3 92.7 -63.9H0V29.3L93.2 208.7L85.8 217.9H0V345.5H156L169.5 354.7L213.2 438.7C213.5 438.7 221.8 447.3 222.4 447.9H320V354.8z" /> + <glyph glyph-name="digg" + unicode="" + horiz-adv-x="512" d=" M81.7 275.7H0V101.3H132.7V352H81.7V275.7zM81.7 142.3H50.9V234.6H81.7V142.3zM378.9 275.7V101.3H460.7V72.8H378.9V32H512V275.7H378.9zM460.7 142.3H429.9V234.6H460.7V142.3zM225.1 101.3H307.2V72.8H225.1V32H358.4V275.7H225.1V101.3zM276.3 234.6H307.1V142.3H276.3V234.6zM153.3 352H204.6V301H153.3V352zM153.3 275.7H204.6V101.3H153.3V275.7z" /> + <glyph glyph-name="digital-ocean" + unicode="" + horiz-adv-x="512" d=" M256 -56V40.1C357.8 40.1 436.8 141 397.7 248.1C383.4 287.7000000000001 351.6 319.5 311.9 333.8C204.8 372.6 103.8 293.9000000000001 103.8 192.1H8C8 354.3 164.9 480.8 335 427.7C409.2 404.4 468.6 345.3 491.6 271.1C544.8 100.8 418.6 -56 256 -56zM256.3 135.4H160.7V39.8H256.3V135.4zM160.7 39.8H87V-33.8000000000001H160.7V39.8zM87 101.4H25.4V39.8H87V101.4z" /> + <glyph glyph-name="discord" + unicode="" + horiz-adv-x="448" d=" M297.216 204.8C297.216 189.184 285.6960000000001 176.384 271.104 176.384C256.768 176.384 244.992 189.184 244.992 204.8S256.512 233.216 271.104 233.216C285.696 233.216 297.216 220.416 297.216 204.8zM177.664 233.216C163.072 233.216 151.552 220.416 151.552 204.8S163.328 176.384 177.664 176.384C192.256 176.384 203.776 189.184 203.776 204.8C204.032 220.416 192.256 233.216 177.664 233.216zM448 395.264V-64C383.506 -7.006 404.132 -25.872 329.216 43.776L342.784 -3.584H52.48C23.552 -3.584 0 19.968 0 49.152V395.264C0 424.448 23.552 448 52.48 448H395.5200000000001C424.448 448 448 424.448 448 395.264zM375.04 152.576C375.04 235.0080000000001 338.1760000000001 301.824 338.1760000000001 301.824C301.3120000000001 329.472 266.24 328.704 266.24 328.704L262.656 324.608C306.176 311.296 326.4 292.096 326.4 292.096C265.589 325.425 194.156 325.4310000000001 135.168 299.52C125.696 295.168 120.064 292.096 120.064 292.096S141.312 312.32 187.392 325.632L184.832 328.704S149.76 329.472 112.896 301.824C112.896 301.824 76.032 235.008 76.032 152.576C76.032 152.576 97.536 115.456 154.112 113.6640000000001C154.112 113.6640000000001 163.584 125.184 171.264 134.912C138.752 144.6400000000001 126.464 165.12 126.464 165.12C130.23 162.484 136.44 159.067 136.96 158.72C180.17 134.5220000000001 241.548 126.5940000000001 296.704 149.7600000000001C305.664 153.088 315.648 157.9520000000001 326.144 164.864C326.144 164.864 313.344 143.872 279.808 134.4C287.488 124.672 296.704 113.6640000000001 296.704 113.6640000000001C353.28 115.456 375.04 152.576 375.04 152.576z" /> + <glyph glyph-name="discourse" + unicode="" + horiz-adv-x="448" d=" M225.9 416C103.3 416 0 317.5 0 195.9C0 192 0.1 -32 0.1 -32L225.9 -31.8C348.6 -31.8 448 70.5 448 192.1C448 313.7 348.6 416 225.9 416zM224 64C204.6 64 186.1 68.3 169.6 76.1L88.5 56L111.4 131C101.6 149.1 96 169.9 96 192C96 262.7 153.3 320 224 320S352 262.7 352 192S294.7 64 224 64z" /> + <glyph glyph-name="dochub" + unicode="" + horiz-adv-x="416" d=" M397.9 288H256V428.4L397.9 288zM304 256V126C304 59.2 267.5 25.9 190.7 25.9H96V363.2H190.7C202.7 363.2 213.8 362.4 223.8 360.7V444.7C212.9 446.9 201.4 448 189.2 448H0V-64H189.2C329.7 -64 400 0.6 400 129.9V256H304z" /> + <glyph glyph-name="docker" + unicode="" + horiz-adv-x="640" d=" M349.9 211.7H283.8V271.1H349.9V211.7zM349.9 416H283.8V355.3H349.9V416zM428.1 271.2H362V211.8H428.1V271.2zM271.8 343.3H205.7V283.2H271.8V343.3zM349.9 343.3H283.8V283.2H349.9V343.3zM626.7 243.3C612.3000000000001 253 579.1 256.5 553.6 251.7C550.3000000000001 275.7 536.9 296.6 512.5 315.4L498.5 324.7L489.2 310.7C470.8 282.9 465.8 237.1 485.5 206.9C476.8 202.2 459.7 195.8 437.1 196.2H2.4C-6.3 145.4 8.2 79.4 46.4 34.1C83.5 -9.8 139.1 -32.1 211.8 -32.1C369.2000000000001 -32.1 485.7 40.4 540.2 172.1C561.6 171.7000000000001 607.8000000000001 172 631.5 217.3C633 219.8 638.1 230.5 640 234.4L626.7 243.3zM115.6 271.2H49.6V211.8H115.7V271.2zM193.7 271.2H127.6V211.8H193.7V271.2zM271.8 271.2H205.7V211.8H271.8V271.2zM193.7 343.3H127.6V283.2H193.7V343.3z" /> + <glyph glyph-name="draft2digital" + unicode="" + horiz-adv-x="480" d=" M369.9 22.6V77L417 49.8L369.9 22.6zM82.4 67.4C107.9 94.7 180.1 172.1 233.3 237.4C268.4000000000001 280.5 273.6 319.8 261.7 350.1C254.3 368.9 244.2 380.3 237.4 385.8C282.7 383.7 305.4 362.4 319.6 347.5C319.6 347.5 362 299.3 325.4 234.2C288.4 168.3 214.5 86.7 196.9 67.5H82.4zM134.2 286.6C134.2 274.2 124.2 264.2 111.8 264.2C99.4 264.2 89.4 274.2 89.4 286.6C89.4 299 99.4 309 111.8 309C124.2 309 134.2 298.9 134.2 286.6M336 132.1V67.4H244.7C275.5 102.4 326.5 163.3000000000001 356.5 216.7000000000001C391.7 279.3000000000001 372.6 340.1 343.7 370.0000000000001C339.3 374.6 281.5 432.9000000000001 177.7 411.2000000000001C118.6 398.8000000000001 88.3 367.8000000000001 73.4 343.9000000000001C60.3 323.0000000000001 56.4 304.1000000000001 55.2 296.2000000000001C49.7 263.2000000000001 74.6 229.1000000000001 111.9 229.1000000000001C143.6 229.1000000000001 169.2 254.8000000000001 169.2 286.5000000000001C169.2 313.6 149.5 338.6 121.2 343.3000000000001C123 350.6 138.9 364.4000000000001 147.5 368.0000000000001C188.6 385.3000000000001 225.5 362.8000000000001 230.8 334.5000000000001C239.1 290.2000000000001 193.7 244.1000000000001 161.1 206.9000000000001C84.5 119.9 18.3 51.2 0 32.1L336 32.2V-32L480 49.9L336 132.1z" /> + <glyph glyph-name="dribbble-square" + unicode="" + horiz-adv-x="448" d=" M90.2 219.8C99.1 262.2000000000001 127.6 297.5 165.9 315.5C169.5 310.6 193.9 276.7 216.6 236.5C152.6 219.5 96.3 219.7 90.2 219.8zM314.6 294C281 323.8 235.3 335.1 192 324.6C195.8000000000001 319.5 220.6 285.7 243.0000000000001 244.6C291.6 262.9 312.1 290.5 314.6 294zM140.1 84C180.6 52.4 233.4 47.3 277.4 66C275.4 78 267.4 119.8 248.2 169.6C193.1 150.8 154.4 113.2000000000001 140.1 84zM238.9 192.2C235.5 200 231.7 207.7 227.8 215.4C159.6 195 93.4 195.8 87.4 196C87.4 194.6 87.3 193.2 87.3 191.8C87.3 156.7 100.6 124.7000000000001 122.4 100.4C144.6 138.3 189.5 178.3 238.9 192.2zM273.8 175.9C291.7 126.8 298.9 86.8 300.3 78.5C331 99.2 352.8 132.1 358.9 170.1C354.3 171.6 316.6 182.8 273.8 175.9zM253.5 224.3C258.3 214.5 261.8 206.5 265.5 197.5C311 203.2 356.2 194.1 360.7 193.1C360.3999999999999 225.4 348.8999999999999 255 329.8 278.2C326.9 274.3 304 245 253.5 224.3zM448 368V16C448 -10.5 426.5 -32 400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368zM384 192C384 280.2 312.2 352 224 352S64 280.2 64 192S135.8 32 224 32S384 103.8 384 192z" /> + <glyph glyph-name="dribbble" + unicode="" + horiz-adv-x="512" d=" M256 440C119.252 440 8 328.748 8 192S119.252 -56 256 -56S504 55.252 504 192S392.748 440 256 440zM419.9700000000001 325.634C449.473 289.588 467.3390000000001 243.677 467.805 193.679C460.821 195.156 390.7870000000001 209.361 320.303 200.497C314.551 214.538 309.122 226.89 301.686 242.111C380.007 274.088 415.504 319.593 419.97 325.634zM396.421 350.13C392.611 344.703 360.724 301.844 285.4 273.611C250.688 337.387 212.215 389.779 206.36 397.619C273.536 413.812 344.326 396.349 396.421 350.13zM165.941 383.38C171.526 375.721 209.379 323.264 244.478 260.871C145.391 234.558 58.118 234.937 48.644 235.062C62.38 300.795 106.678 355.427 165.941 383.38zM44.17 191.677C44.17 193.843 44.213 195.999 44.278 198.15C53.546 197.96 156.198 196.637 261.984 228.2960000000001C268.048 216.4280000000001 273.841 204.3810000000001 279.158 192.347C202.559 170.7720000000001 132.964 108.8200000000001 98.627 50.0410000000001C64.794 87.595 44.17 137.27 44.17 191.677zM125.977 24.564C148.104 69.797 208.155 128.186 293.5560000000001 157.3200000000001C323.2960000000001 80.037 335.5950000000001 15.2670000000001 338.7450000000001 -3.318C270.6330000000001 -32.331 188.7300000000001 -24.371 125.9770000000001 24.564zM374.357 16.075C372.186 28.9610000000001 360.911 90.972 333.205 167.1080000000001C399.585 177.734 457.905 160.3400000000001 465.152 158.0530000000001C455.71 99.1120000000001 421.879 48.2090000000001 374.357 16.075z" /> + <glyph glyph-name="dropbox" + unicode="" + horiz-adv-x="528" d=" M264.4 331.7L132.4 247.4L264.4 163.1L132.4 78.8L0 163.9L132.3 248.2L0 331.7L132.3 416L264.4 331.7zM131.6 52.3L263.6 136.6L395.6 52.3L263.6 -32L131.6 52.3zM264.4 163.9L396.4 248.2L264.4 331.8L395.7 416L528 331.7L395.7 247.4L528 163.2L395.7 78.9L264.4 163.9z" /> + <glyph glyph-name="drupal" + unicode="" + horiz-adv-x="448" d=" M319.5 333.3C297.3 347.3 276 352.8 254.8 366.8C241.8 375.6 223.5 396.8 208.3 415.1C205.6 385.8 196.8 373.9 186.3 365.6C165 348.6 151.5 343.4 132.8 333.3C117 325 32 266.5 32 157.5C32 48.3 123.8 -32 225.8 -32C327.5 -32 416 42 416 154C416 266.3 333 325 319.5 333.3zM322 7.7C301.9 -12.4 231.9 -21 205.3 3.5C200.5 8.3 205.6 15.5 211.8 15.5C211.8 15.5 228.8 2.2 263.3 2.2C290.3 2.2 309.3 9.9 317.8 16.2C323.9000000000001 20.8 326.2 11.9 322 7.7zM267.5 60.3C276.2 63.9 296.5 64.1 304.3 59C308.4000000000001 56.2 320.4000000000001 40.2 310.5 35.3C302.1 31.1 309.3 51 284 51C269.3 51 264.5 45.8 257.3 40C250.3 34 247.5 32 245.1 35.3C239.1 43.5 261 57.6 267.5 60.3zM360 43C344.8 44 314.5 91.8 295 92.5C264.1 93.4 190.9 11.8 133.7 50.5C94.9 77.1 119.1 155.3 185.5 155.7C235 156.2 269.3 106.7 294 107.2C315.3 107.5 355.8 149 375.8 149C424.5 149 399.1 39.7 360 43z" /> + <glyph glyph-name="dyalog" + unicode="" + horiz-adv-x="416" d=" M0 416V296.8H64V352H171.2C284.6 352 352 271.8 352 192.1C352 116 293.4 32 171.2 32H0V-32H171.2C331.9 -32 416 80.7 416 192.1C416 250.8 393.9 305.5 353.7 346.4C308.9 392 245.7 416 171.2 416H0z" /> + <glyph glyph-name="earlybirds" + unicode="" + horiz-adv-x="480" d=" M313.2 400.5C314.4 413.5 334.5 414.5 349.8 409.2C350.7 408.9 376 399.5 368.8 394C340.9000000000001 401.4 312.4000000000001 375.8 313.2 400.5zM112.2 393.6C142.9 401.7 174.2 373.6 173.3 400.7C172 414.9 149.9 416 133.1 410.3C132.1 410 104.4 399.8 112.2 393.6zM319.4 288C310.6 288 303.4 280.8 303.4 272S310.6 256 319.4 256S335.4 263.2 335.4 272S328.2 288 319.4 288zM159.7 288C150.9 288 143.7 280.8 143.7 272S150.9 256 159.7 256S175.7 263.2 175.7 272S168.5 288 159.7 288zM478.2 124.8C468.3 100.8 437.5 113.8 414.3 126C400.8 56.9 356.2 14.6 288 1.8C288.3 0.9 286 1.9 312 0.8C345.6 -0.6 375.8 3.9 409.4 8.8C389.6 22.6 398 45.9 399.6 46.9C401 47.8 414.3 45.2 421.2 35.4C429.8 47.9 449.6 50.2 451.4 49.0000000000001C453 47.9 458 28.1000000000001 444.5 14.4C449.2 15.3 452.7 16.0000000000001 454.3 16.5000000000001C456.9 17.3000000000001 472 5.2 457.4 3.2C443.1 0.9 434.8 -1.9 410.3 -7.6C364.4000000000001 -18.3 324.4 -19.4 292.6 -20.4L293.6 -32C297.4000000000001 -50.1 270.2000000000001 -56.3 266 -38.2C266.8 -56.1 238.9 -60 237.6 -37.2L237.1 -42.5C236.4 -60.9 208.7 -60.4 208.8 -41.9C201.3 -55.4 180.7 -48.7 182.4 -33.4L183.6 -21C146.9 -21.9 123.9 -24.1 121.8 -24.1C100.9 -24.1 100.9 7.5 121.8 7.5C124.2 7.5 149.5 6.2 185 4.7C123.9 20.2 81.3 59.7 70.1 122.9C45.1 110.1 12.6 96.1 1.9 122.1C-8.6 147.5 23.4 164.7 68.7 195.5C69.4 202.1 70.3 208.8 71.4 215.3C57 234.9 59.8 251.6 55.3 275.7C38.5 273.3 32.1 284.8 31.7 298.8C32 306.1 33.8 313.7 34.1 314.2C35.2 316 44.2 316.2 46.8 316.8C52.8 348.5 97.4 350 137.7 351.3C157.4 373.1 182.9 392.8 218.6 399.6C203.3 419 215.2 439.5 216.2 440C217.9 440.8 237.4 435.7 242.5 416.8C247.7 425.6 260.8 428.2 262.1 427.5C263.2000000000001 426.9 268.5 412.5 257.2000000000001 401.6C297.5000000000001 398.1 329.4000000000001 376.9 353.2000000000001 350.9C389.3000000000001 349.4 425.0000000000001 345 430.3000000000001 316.9C433.0000000000001 316.3 441.9000000000001 316.1 443.0000000000001 314.3C443.3000000000001 313.8 445.1000000000001 306.2000000000001 445.4000000000001 298.9C444.9000000000001 285 438.6 273.5 421.8 275.8C418.6 258.5 419.1 242.9 413.1 228.1C415.5 216.4 417.1 204.3 417.9000000000001 191.7000000000001C454.9 166.3000000000001 488.2 149.2000000000001 478.2 124.8000000000001zM207.4 288.1C208.3 332.1 169.5 330.3 128.8 328.4C107.1 327.4 89.9 326.5 83.3 314.5C71.9 293.6 89.2 221.6 106.5 213.3C116.3 208.6 179.9 205.4 192.8 220.4C201 229.8 207.8 269.8 207.4 288.1zM259.4 229.8C255.1 242.2 253.4 259.9 244.1 262.5C242.1 263 235.1 263 233.1 262.5C223.1 259.7 222.3 240.4 216.1 225.3C231.5 225.3 235.4 215.6 239.8 215.6C244.1 215.6 246.1 226.9000000000001 259.4 229.8zM395.1 314.5C388.5 326.6 370.3 327.4 348.6 328.4C308.4 330.3 270.4 332.2 271.3 288.1C270.8 269.8 276.3 229.8 284.5 220.3C297.5 205.4 361.0999999999999 208.5 370.8 213.2C386.6 220.8 407.3 292.1 395.1 314.5z" /> + <glyph glyph-name="ebay" + unicode="" + horiz-adv-x="640" d=" M405.2 184.2C376.1 183.3 358 178 358 158.9C358 146.5 367.9 133.1 393 133.1C426.7 133.1 444.6 151.5 444.6 181.5V184.8C432.8 184.8 418.3 184.6999999999999 405.2000000000001 184.1999999999999M476.7 144.5C476.7 135.1999999999999 477.0000000000001 125.8999999999999 477.7 117.6999999999999H447.9000000000001C447.1 124.5999999999999 446.8 131.3 446.8 137.8999999999999C430.7 118.0999999999999 411.5 112.3999999999999 384.9000000000001 112.3999999999999C345.4000000000001 112.3999999999999 324.3 133.2999999999999 324.3 157.3999999999999C324.3 192.3999999999999 353.1 204.6999999999999 402.9 205.7999999999999C416.6 206.0999999999999 431.9 206.1999999999999 444.6 206.1999999999999V209.5999999999999C444.6 233 429.6 242.6 403.6 242.6C384.3 242.6 370 234.6 368.6 220.7999999999999H334.9C338.5 255.2 374.6 263.8999999999999 406.4 263.8999999999999C444.5 263.8999999999999 476.7 250.3999999999999 476.7 210.0999999999999V144.4999999999999zM127.7000000000001 201.3C125.4000000000001 256 40.2 257.9 33.3 201.3H127.7000000000001zM32.7 179.9C36.2 121.6 111.9000000000001 122.5 123.9000000000001 158.3H157C150.6 123.9 114 112.1999999999999 82.6 112.1999999999999C25.4 112.1999999999999 0.1 143.6999999999999 0.1 186.1999999999999C0.1 233 26.3 263.8 83.1 263.8C128.4 263.8 161.5 240.1 161.5 188.3999999999999V179.8999999999999H32.7zM243.7000000000001 134.2C273.5000000000001 134.2 293.9000000000001 155.7 293.9000000000001 188C293.9000000000001 220.4 273.5000000000001 241.8 243.7000000000001 241.8C214.1000000000001 241.8 193.5000000000001 220.4 193.5000000000001 188C193.5000000000001 155.7 214.1000000000001 134.2 243.7000000000001 134.2M161.5000000000001 320.2H193.6000000000001V239.6C209.3000000000001 258.3 231.0000000000001 263.8 252.3000000000001 263.8C288.0000000000001 263.8 327.7000000000001 239.7 327.7000000000001 187.6C327.7000000000001 144 296.2000000000001 112.1999999999999 251.7000000000001 112.1999999999999C228.4000000000001 112.1999999999999 206.6000000000001 120.5 193.0000000000001 137.0999999999999C193.0000000000001 130.4999999999999 192.6000000000001 123.8999999999999 191.9000000000001 117.5999999999999H160.4000000000001C160.9000000000001 127.7999999999999 161.5000000000001 140.3999999999999 161.5000000000001 150.6999999999999V320.2zM640 258.5L540.8 63.7H504.9L533.4 117.8L458.8 258.5H496.3L551.1999999999999 148.6L606 258.5H640z" /> + <glyph glyph-name="edge" + unicode="" + horiz-adv-x="512" d=" M25.714 219.837C25.825 219.999 25.944 220.16 26.056 220.322C26.035 220.16 26.011 219.999 25.991 219.837H25.714zM486.286 204.329C486.286 248.361 478.532 288.794 457.485 326.734C416.498 400.121 343.912 439.999 258.893 439.999C118.962 440.276 40.617 334.786 26.056 220.321C68.485 281.633 143.129 341.697 246.431 345.287C246.431 345.287 356.097 345.287 345.85 240.33H169.997C176.366 277.716 188.551 299.316 204.336 319.256C129.288 284.363 82.486 223.16 83.594 130.941C84.424 59.493 133.718 -13.895 204.337 -41.035C287.694 -72.8820000000001 397.113 -48.235 444.469 -19.711V84.693C363.605 28.199 173.598 23.768 172.214 152.265H486.287V204.329z" /> + <glyph glyph-name="elementor" + unicode="" + horiz-adv-x="448" d=" M425.6 416H22.4C10 416 0 406 0 393.6V-9.6C0 -22 10 -32 22.4 -32H425.6C438 -32 448 -22 448 -9.6V393.6C448 406 438 416 425.6 416M164.3 92.5H124.5V291.5H164.3V92.5zM323.6 92.5H204.1V132.3H323.6V92.5zM323.6 172.1H204.1V211.9H323.6V172.1zM323.6 251.8H204.1V291.6H323.6V251.8z" /> + <glyph glyph-name="ello" + unicode="" + horiz-adv-x="496" d=" M248 440C111.03 440 0 328.9700000000001 0 192S111.03 -56 248 -56S496 55.03 496 192S384.9700000000001 440 248 440zM391.8400000000001 154.8C375.31 89.49 315.79 43.2 248 43.2S120.69 89.49 104.16 154.8C102.51 162.24 106.64 170.5099999999999 114.08 172.16C121.52 173.81 129.79 169.68 131.44 162.24C145.49 109.3299999999999 193.44 72.1299999999999 248 72.1299999999999S350.51 109.3299999999999 364.56 162.24C366.21 169.68 374.48 174.6399999999999 381.92 172.16C389.36 170.51 394.32 162.24 391.8400000000001 154.8z" /> + <glyph glyph-name="ember" + unicode="" + horiz-adv-x="640" d=" M639.9 193.4C638.8 204.1 629.1999999999999 200.2 629.1999999999999 200.2S613.5999999999999 188.1 599.9 189.5C586.1999999999999 190.8 590.5 221.5 590.5 221.5S593.5 249.6 585.4 251.9C577.3 254.3 567.4 244.6 567.4 244.6S555 230.9 549.1 213.4L547.5 212.9S549.4 243.5 547.2 250.5C545.6 254 530.8000000000001 253.7 528.4000000000001 247.5S514.2 198.3 513.4000000000001 180.3C513.4000000000001 180.3 490.3000000000001 160.7 470.1000000000001 157.5S445.1000000000001 166.9 445.1000000000001 166.9S499.9000000000001 182.2 498.0000000000001 226C496.1000000000001 269.8 453.8000000000001 253.6 449.0000000000001 250C444.4000000000001 246.5 419.6000000000001 231.6 412.4000000000001 190.3C412.2000000000001 188.9 411.7000000000001 182.8 411.7000000000001 182.8S390.5000000000001 168.6 378.7000000000001 164.8C378.7000000000001 164.8 411.7000000000001 220.4 371.4000000000001 245.7C353.1 256.7 338.6 233.6 338.6 233.6S393.1 294.3 381.1 345.6C375.3 370 363.1 372.7 351.9000000000001 368.7C334.9000000000001 362 328.4000000000001 352 328.4000000000001 352S306.4000000000001 320 301.3 272.5S288.7 167.4 288.7 167.4S278.2 157.2 268.5 156.7S263.1 185.4 263.1 185.4S270.6 230 270.1 237.5S269 249.1 260.2000000000001 251.7C251.3000000000001 254.4 241.7000000000001 243.1 241.7000000000001 243.1S216.2000000000001 204.4 214.0000000000001 198.5L212.7000000000001 196.1L211.4 197.7S229.4000000000001 250.4 212.2000000000001 251.2C195.0000000000001 252 183.7000000000001 232.4 183.7000000000001 232.4S164.1000000000001 199.6 163.3000000000001 195.9L162 197.5S170.1 235.7 168.4 245.1C166.8000000000001 254.5 157.9 252.6 157.9 252.6S146.6 253.9 143.7000000000001 246.7S130.0000000000001 191.3999999999999 128.7000000000001 176C128.7000000000001 176 100.5 155.8 81.9000000000001 155.6C63.4000000000001 155.3 65.2000000000001 167.4 65.2000000000001 167.4S133.2000000000001 190.7 114.6000000000001 236.6C106.3000000000001 248.4 96.6000000000001 252.1 82.9000000000001 251.9C69.2000000000001 251.6 52.6000000000001 243.3 41.6000000000001 218.6C36.3000000000001 206.8 34.8000000000001 195.6 33.8000000000001 187.1C33.8000000000001 187.1 21.5000000000001 184.7 15.0000000000001 190S5.0000000000001 190 5.0000000000001 190S-6.1999999999999 176 4.9000000000001 171.6999999999999S33.0000000000001 165.5999999999999 33.0000000000001 165.5999999999999C34.6000000000001 158.0999999999999 39.2000000000001 146.0999999999999 52.6000000000001 135.8999999999999C72.8000000000001 120.5999999999999 111.4000000000001 137.1999999999999 111.4000000000001 137.1999999999999L127.3000000000001 146S127.8000000000001 131.3999999999999 139.4000000000001 129.3C151.0000000000001 127.1999999999999 155.8000000000001 128.3 175.9000000000001 177.1999999999999C187.7000000000001 202.1999999999999 188.5000000000001 200.7999999999999 188.5000000000001 200.7999999999999L189.8000000000001 201.0999999999999S180.7000000000001 154.3 184.2000000000001 141.3999999999999C187.7 128.6 203 130 203 130S211.3 127.6 218 151.2C224.7 174.8 237.6 201.1 237.6 201.1H239.2S233.6 153 242.2 137.4C250.8 121.8 273.1 132.1 273.1 132.1S288.7 139.9 291.1 142.3C291.1 142.3 309.6 126.5 335.7 129.4C394 140.9 414.8 155.3 414.8 155.3S424.8 130.9 455.9 128.6C491.4 125.9 510.7 147.2 510.7 147.2S510.4 133.7 522.8 128.6C535.1999999999999 123.5 543.5 151.4 543.5 151.4L564.2 208.6H566.1S567.2 171.3 587.6 165.4S634.6 179.1 634.6 179.1S641 182.6 639.9 193.4zM61.9 188.1C62.7 220.1 83.7 234.0000000000001 90.9 227.1C98.2 220.1 95.5 205.1 81.8 195.7C68.1 186.2000000000001 61.9 188.1 61.9 188.1zM334.7 311.9000000000001S353.8 361.6 358.3 337.4000000000001S318.3 241.2000000000001 318.3 241.2000000000001C318.8 257.4000000000001 334.7 311.9000000000001 334.7 311.9000000000001zM357.5 173.5C344.9 140.5 314.2 153.9 314.2 153.9S310.7 165.7 320.6 198.8S353.9 219 353.9 219S370.1 206.6 357.5 173.5zM442.1 188.1S439.1 198.6 450.2000000000001 218.7C461.2 238.9 469.8000000000001 227.8 469.8000000000001 227.8S479.2 217.6 468.5000000000001 202.3S442.1000000000001 188.1 442.1000000000001 188.1z" /> + <glyph glyph-name="empire" + unicode="" + horiz-adv-x="496" d=" M287.6 393.8C276.8 396 265.5 397.1 254.1 397.4V415.6C332.2000000000001 413.4 400.2000000000001 371.6 438.7000000000001 309L422.9000000000001 299.9C416.8 309.6 410.2000000000001 318.7000000000001 402.7000000000001 327L384.7000000000001 311.5C358.7000000000001 341.1 323.3000000000001 362.2 282.8000000000001 369.9L287.6000000000001 393.8zM53.4 125.6L76.4 133.3C70 151.6 66.4 171.5 66.4 192S69.7 232.4 76.1 250.7L53.4 258.4C57 269.2 61.7 279.7 67 289.4L51.2 298.5C34 267 24.1 230.5 24.1 192S34.1 117 51.2 85.4L67 94.5C61.7 104.5 57.3 114.8 53.4 125.6zM213.1 14C172.7 22 137.3 43.1 111.2 72.7L93.2 56.9C85.7 65.5 78.8 74.6 73 84.3L57 74.9C95.5 12.6 163.8 -29.4 241.9 -31.7V-13.4C230.6 -13.1 219.2 -11.7 208.4 -9.8L213.1 14zM93.3 327.1L111.3 311.6C137.3 341.2 172.7 362.3 213.2 370L208.5 393.8C219.3 396 230.6 397.1 242 397.4V415.6C163.9 413.4 95.9 371.6 57.4 309L73.2 299.9C79.2 309.6 85.8 318.8 93.3 327.1zM402.7 56.9L384.7 72.7C358.7 43.1 323.3 22 282.8 14L287.5 -9.8C276.7 -11.7 265.3999999999999 -13.1 254 -13.4V-31.7C332.0999999999999 -29.5000000000001 400.4 12.6 438.9 74.9L422.8 84.3C417.1 74.6 410.2 65.4999999999999 402.7 56.9zM496 192C496 55 385 -56 248 -56S0 55 0 192S111 440 248 440S496 329 496 192zM483.8 192C483.8 322.1 378.1 427.8 248 427.8S12.2 322.1 12.2 192S117.9 -43.8 248 -43.8S483.8 61.9 483.8 192zM444.8 298.6L429 289.5C434.3 279.8 439 269.3 442.6 258.5L419.9000000000001 250.8C426.3 232.5 429.6 212.6 429.6 192.1S426 151.7000000000001 419.6 133.4L442.6 125.7000000000001C438.7000000000001 114.9 434.3 104.7000000000001 429 94.7000000000001L444.8 85.6C462 117 471.9 153.5 471.9 192S462 267 444.8 298.6zM261.8 120.9C278.1 124.2 292.2 132.5 302.5 144.4L353.7 99.6C365.6 113.2 375 128.9 380.8 146.4L316.6 168.5C319.1 176 320.5 183.7 320.5 192S319.1 208.1 316.6 215.5L381.1 237.6C375 255 365.6 270.8 353.7000000000001 284.4L302.5000000000001 239.6C292.3000000000001 251.5 278.1000000000001 260.1 261.8000000000001 263.4L275.1000000000001 329.8C266.5000000000001 331.7 257.4000000000001 332.6 248.0000000000001 332.6C238.6000000000001 332.6 229.5000000000001 331.8 220.9000000000001 329.8L234.2000000000001 263.4C217.9000000000001 260.1 203.8000000000001 251.5 193.5000000000001 239.6L142.3000000000001 284.4C130.4000000000001 270.8 121.0000000000001 255.1 114.9000000000001 237.6L179.4000000000001 215.5C176.9000000000001 208 175.5000000000001 200.3 175.5000000000001 192S176.9000000000001 175.9 179.4000000000001 168.5L115.2000000000001 146.4C121.0000000000001 129 130.4000000000001 113.2 142.3000000000001 99.6L193.5000000000001 144.4C203.7000000000001 132.5 217.9000000000001 124.2 234.2000000000001 120.9L220.9000000000001 54.2C229.5000000000001 52.5 238.6000000000001 51.4 248.0000000000001 51.4C257.4000000000001 51.4 266.5000000000001 52.5 275.1000000000001 54.2L261.8000000000001 120.9z" /> + <glyph glyph-name="envira" + unicode="" + horiz-adv-x="448" d=" M0 416C477.6 416 366.6 98.7 367.1 49.7L448 -32H422L351.6 39.2C312.6 35 227.2 4.7 137.2 76.2C47 147.7 52 233.3 0 416zM79.7 370C30 393.5 74.5 360.8 74.5 360.8C119.7 329.6 140.5 287.1 164.7 240.9C196.2 180.7 243.7 101.2 308.9 73.2C373.9 45.2 343.1 60.7 314.9 81.7C286.7 102.9 246.7 168.7 223.9 211.9C192.2 271.9 162.9 330.5 79.7 370z" /> + <glyph glyph-name="erlang" + unicode="" + horiz-adv-x="640" d=" M21.7 201.6C21.6 114.8 50.7 42.1 100.4 -10.5H0V394.5H87.2C45.7 344.3 21.6 278.3 21.7 201.6zM640 394.4H556.4C587.8 351.7 605.1 296.9 602.6 231.7C603.1 225.7 603.1 220 602.6 207.6H230.2C230 97.9 269.1 12.7 368.8 12.3C437.3 12.6 486.8 63.3 520.6999999999999 118.4L617.0999999999999 70.2C599.6999999999999 39.3 580.5999999999999 12.4 559.1999999999999 -10.6H640V394.4zM559.2 -10.6S559.2 -10.5 559.2 -10.6H559H559.2zM556.1 394.4H556.4L556.3 394.5L556.0999999999999 394.4zM325.4000000000001 384.8C279.5000000000001 384.7 240.3000000000001 351.3 236.2000000000001 301.6H406.1C405 351.3 371.6 384.7 325.4000000000001 384.8z" /> + <glyph glyph-name="ethereum" + unicode="" + horiz-adv-x="320" d=" M311.9 187.2L160 94.4L8 187.2L160 448L311.9 187.2zM160 64.6L8 157.4L160 -64L312 157.4L160 64.6z" /> + <glyph glyph-name="etsy" + unicode="" + horiz-adv-x="384" d=" M384 100C382.25 89.25 370.25 -10 368.5 -32C250.621 -27.701 148.605 -27.257 0 -32V-6.5C45.457 2.448 60.627 1.519 61 28.75C62.793 101.072 64.524 272.8930000000001 61 350.75C59.971 379.2100000000001 48.87 377.515 0 386.75V412.25C73.886 409.892 255.933 403.699 362.999 416C359.499 377.75 355.249 289.5 355.249 289.5H332C320.947 332.335 313.241 380 277.25 380H140.25C130 380 129.5 376.5 129.5 370.25V206.5C187.5 206 218 209 218 209C247.77 209.951 245.56 217.502 258.75 274.251H284.5C280.093 172.9 280.59 212.422 282.75 114.001H257C247.845 154.087 247.935 175.046 217.499 175.501C217.499 175.501 195.999 177.501 129.499 177.501V38.501C129.499 12.501 143.749 0.251 173.749 0.251H263C326.636 0.251 329.564 25.247 361.751 100.001H384z" /> + <glyph glyph-name="expeditedssl" + unicode="" + horiz-adv-x="496" d=" M248 404.6C130.6 404.6 35.4 309.4 35.4 192S130.6 -20.6 248 -20.6S460.6 74.6 460.6 192S365.4 404.6 248 404.6zM150.6 271.7C150.6 325.4 194.3 369.1 248 369.1S345.4 325.4 345.4 271.7V245.1C345.4 240.1 341.5 236.2 336.5 236.2H318.8C313.8 236.2 309.9000000000001 240.1 309.9000000000001 245.1V271.7C309.9000000000001 353.8 185.9 353.8 185.9 271.7V245.1C185.9 240.1 182 236.2 177 236.2H159.3000000000001C154.3000000000001 236.2 150.4 240.1 150.4 245.1V271.7zM389.7 68C389.7 58.3 381.7 50.3 372 50.3H124C114.3 50.3 106.3 58.3 106.3 68V209.7C106.3 219.4 114.3 227.4 124 227.4H372C381.7 227.4 389.7 219.4 389.7 209.7V68zM141.7 205.3V72.4C141.7 69.9 139.8 68 137.3 68H128.4C125.9 68 124 69.9 124 72.4V205.3C124 207.8 125.9 209.7 128.4 209.7H137.3C139.8 209.7 141.7 207.8 141.7 205.3zM283.4 156.6C283.4 143.6 276.2 132.2000000000001 265.7 126.2000000000001V94.6C265.7 89.6 261.8 85.7000000000001 256.8 85.7000000000001H239.1C234.1 85.7000000000001 230.2 89.6 230.2 94.6V126.2000000000001C219.7 132.3000000000001 212.5 143.6 212.5 156.6C212.5 176.3 228.3000000000001 192 247.9000000000001 192S283.4000000000001 176.2000000000001 283.4000000000001 156.6zM248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -38.3C121 -38.3 17.7 65 17.7 192S121 422.3 248 422.3S478.3 319 478.3 192S375 -38.3 248 -38.3z" /> + <glyph glyph-name="facebook-f" + unicode="" + horiz-adv-x="264" d=" M76.7 -64V165H0V256H76.7V327.7C76.7 405.6 124.3 448 193.8 448C227.1 448 255.7 445.5 264 444.4V363H215.8C178 363 170.7 345 170.7 318.7V256H256L244.3 165H170.7V-64" /> + <glyph glyph-name="facebook-messenger" + unicode="" + horiz-adv-x="448" d=" M224 416C15.9 416 -77.5 170 84.6 47.4V-32L160.3 10C302.5 -29.8 445.7 69.9 445.7 208.7C445.8 323.2 346.5 416 224 416zM247.4 137.9L190 197.5L79.6 136.4L200.7 264.9L258.1 205.3L368.5 266.4L247.4 137.9z" /> + <glyph glyph-name="facebook-square" + unicode="" + horiz-adv-x="448" d=" M448 368V16C448 -10.5 426.5 -32 400 -32H314.7V145.2H375.3L384 212.8H314.7V256C314.7 275.6 320.1 288.9 348.2 288.9H384V349.3C377.8 350.1 356.6 352 331.8 352C280.2 352 244.8 320.5 244.8 262.6V212.7H184V145.1H244.9V-32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368z" /> + <glyph glyph-name="facebook" + unicode="" + horiz-adv-x="448" d=" M448 391.3V-7.2C448 -20.9 436.9 -31.9 423.3 -31.9H309.1V141.5H367.3L376 209.1H309V252.3C309 271.9 314.4 285.2000000000001 342.5 285.2000000000001H378.3V345.7000000000001C372.1 346.5 350.9000000000001 348.4000000000001 326.1 348.4000000000001C274.5 348.4000000000001 239.1 316.9000000000001 239.1 259V209.1H180.7V141.5H239.1V-32H24.7C11.1 -32 0 -20.9 0 -7.3V391.3C0 404.9 11.1 416 24.7 416H423.2C436.9 416 448 404.9 448 391.3z" /> + <glyph glyph-name="firefox" + unicode="" + horiz-adv-x="480" d=" M478.1 212.7C477.4 217.2 476.7 219.8 476.7 219.8S474.9 217.8 472.0000000000001 213.9C471.1000000000001 224.6 469.2 235.1 466.2 245.5C462.5000000000001 258.4 457.7 270.9 451.7 282.9C447.9000000000001 290.9 443.5000000000001 298.5 438.4000000000001 305.7C436.6 308.4 434.7000000000001 311.1 432.8 313.6C424 328 413.8 336.9 402.1 353.6C394.5 366.4 389.2000000000001 380.5 386.7000000000001 395.2C383.5000000000001 386.3 381.0000000000001 377.2 379.3000000000001 367.9C367.2000000000001 380.1 356.8000000000001 388.7 350.4000000000001 394.6C319.4 423.8 323 438.9 323 438.9S264.7 373.8 289.9 306C298.6 283 313.7 262.9 333.3 248.1C357.7 227.9 384.1 212.1 398 171.5C386.8 192.8 369.8999999999999 210.7 349.2 223C355.3999999999999 208.3 358.5999999999999 192.4 358.5 176.5C358.5 115.5 308.8999999999999 66 247.9 66.1C239.6 66.1 231.4 67 223.4 68.9C213.9 70.7000000000001 204.7 73.8 196 78.2000000000001C183.0999999999999 86.0000000000001 172 96.3000000000001 163.1999999999999 108.5000000000001L163 108.8000000000001L165 108.1000000000001C169.5999999999999 106.5000000000001 174.1999999999999 105.3000000000001 179 104.4000000000001C197.6999999999999 100.4000000000001 217.3 102.7000000000001 234.6 111.0000000000001C252.1 120.7000000000001 262.5999999999999 127.9000000000001 271.2 125.0000000000001H271.3999999999999C279.7999999999999 122.3000000000001 286.3999999999999 130.5000000000001 280.3999999999999 139.0000000000001C270 152.4000000000001 252.9999999999999 159.0000000000001 236.2 156.0000000000001C218.6999999999999 153.5000000000001 202.6999999999999 141.0000000000001 179.7999999999999 153.1000000000001C178.2999999999999 153.9000000000002 176.8999999999999 154.7000000000002 175.4999999999999 155.6000000000001C173.8999999999999 156.5000000000001 180.3999999999999 154.3000000000001 178.8999999999999 155.3000000000001C173.8999999999999 157.8000000000001 169.0999999999999 160.7000000000001 164.4999999999999 163.9000000000002C164.1999999999999 164.2000000000002 167.9999999999999 162.8000000000001 167.5999999999999 163.1000000000001C161.6999999999999 167.1000000000001 156.5999999999999 172.3000000000001 152.5999999999999 178.3000000000001C148.4999999999999 185.7000000000001 148.0999999999999 194.7000000000001 151.5999999999999 202.4000000000001C153.6999999999999 206.2000000000001 156.9999999999999 209.3000000000001 160.8999999999999 211.1000000000001C163.8999999999999 209.6000000000001 165.6999999999999 208.5000000000001 165.6999999999999 208.5000000000001S164.3999999999999 211.0000000000001 163.5999999999999 212.3000000000001C163.9 212.4000000000001 164.0999999999999 212.3000000000001 164.4 212.5000000000001C167 211.4000000000001 172.7 208.5000000000001 175.8 206.7000000000001C177.9 205.6000000000001 179.6 204.0000000000001 181 202.0000000000001C181 202.0000000000001 182 202.5000000000001 181.3 204.7000000000001C180.2 207.4000000000001 178.4 209.7000000000001 175.9 211.3000000000001H176.0999999999999C178.4 210.1000000000001 180.5999999999999 208.7000000000001 182.6999999999999 207.2000000000001C184.5999999999999 211.6000000000001 185.5 216.4000000000001 185.2999999999999 221.2000000000001C185.4999999999999 223.8000000000001 185.0999999999999 226.5000000000001 184.1999999999999 229.0000000000001C183.3999999999999 230.6000000000001 184.6999999999999 231.2000000000001 186.0999999999999 229.5000000000001C185.9 230.8000000000002 185.4 232.0000000000001 184.9 233.2000000000001V233.3000000000001S185.7 234.4000000000001 186.0999999999999 234.8000000000001C187.0999999999999 235.8000000000001 188.1999999999999 236.7000000000001 189.5 237.5000000000001C196.6999999999999 242.0000000000001 204.3 245.9000000000001 212.1999999999999 249.1000000000001C218.5999999999999 251.9000000000001 223.8999999999999 254.0000000000001 225 254.7000000000001C226.6 255.7000000000001 228.1 256.9000000000001 229.5 258.2000000000001C234.8 262.7000000000001 238.5 269.0000000000001 239.7 275.9000000000001C239.8 276.8000000000001 239.8999999999999 277.7000000000001 240 278.7000000000001V280.2000000000001C239.1 283.7000000000001 233.1 286.3000000000001 201.5999999999999 289.3000000000001C190.5 291.1000000000001 181.5999999999999 299.4000000000001 179.0999999999999 310.4000000000001V310.3000000000001C178.6999999999999 309.2000000000001 178.1999999999999 308.0000000000001 177.7999999999999 306.8000000000001C178.1999999999999 308.0000000000001 178.5999999999999 309.1000000000001 179.0999999999999 310.3000000000001V310.5000000000001C185.0999999999999 326.2000000000001 195.9 339.6 209.9 348.8000000000001C210.7 349.5000000000001 206.7 348.6 207.5 349.3000000000001C210.1999999999999 350.6 212.9 351.8000000000001 215.6999999999999 352.8000000000001C217.0999999999999 353.4000000000001 209.6999999999999 356.2000000000001 203.0999999999999 355.5000000000001C199.0999999999999 355.3000000000001 195.0999999999999 354.3000000000001 191.4 352.7000000000001C193 354.0000000000001 197.5999999999999 355.8000000000001 196.5 355.8000000000001C188.0999999999999 354.2000000000001 180 351.1 172.5999999999999 346.8000000000001C172.5999999999999 347.6 172.6999999999999 348.3000000000001 173.0999999999999 349.0000000000001C167.1999999999999 346.5000000000001 162.0999999999999 342.5000000000001 158.0999999999999 337.5000000000001C158.1999999999999 338.4000000000001 158.2999999999999 339.3000000000001 158.2999999999999 340.2000000000001C155.5999999999999 338.2000000000001 153.0999999999999 335.9000000000001 150.9999999999999 333.3000000000001L150.8999999999999 333.2000000000001C133.4999999999999 339.9000000000001 114.5999999999999 341.5000000000001 96.2999999999999 337.9000000000001L96.0999999999999 338.0000000000001H96.2999999999999C92.4999999999999 341.1 89.1999999999999 344.7000000000001 86.5999999999999 348.9000000000001L86.3999999999999 348.8000000000001L85.9999999999999 349.0000000000001C84.7999999999999 350.8000000000001 83.5999999999999 352.8000000000001 82.2999999999999 355.0000000000001C81.3999999999999 356.6000000000001 80.4999999999999 358.4000000000001 79.5999999999999 360.2000000000001C79.5999999999999 360.3000000000001 79.4999999999999 360.4000000000001 79.3999999999999 360.4000000000001C78.9999999999999 360.4000000000001 78.7999999999999 358.7000000000001 78.4999999999999 359.1000000000001V359.2000000000001C75.2999999999999 367.5000000000001 73.7999999999999 376.4000000000001 74.0999999999999 385.4000000000001L73.8999999999999 385.3000000000001C68.7999999999999 381.8000000000001 64.8999999999999 376.7000000000001 62.7999999999999 370.8000000000001C61.8999999999999 368.7000000000001 61.1999999999999 367.5000000000001 60.5999999999999 366.3000000000001V366.8000000000001C60.6999999999999 367.9000000000001 61.1999999999999 370.1000000000001 61.0999999999999 369.9000000000001C60.9999999999999 369.7000000000001 60.8999999999999 369.6000000000001 60.7999999999999 369.5000000000001C59.2999999999999 367.8000000000001 57.8999999999999 365.8000000000001 56.8999999999999 363.7000000000001C55.9999999999999 361.8000000000001 55.1999999999999 359.8000000000001 54.5999999999999 357.8000000000001C54.4999999999999 357.5000000000001 54.5999999999999 358.1 54.5999999999999 358.8000000000001S54.6999999999999 360.8000000000001 54.5999999999999 360.5000000000001L54.2999999999999 359.8000000000001C47.5999999999999 344.9000000000001 43.3999999999999 329.0000000000001 41.8999999999999 312.7000000000001C41.4999999999999 309.9000000000001 41.2999999999999 307.1 41.3999999999999 304.4000000000001V304.2000000000001C36.5999999999999 299.0000000000001 32.3999999999999 293.2000000000001 28.6999999999999 287.1C16.5999999999999 266.7000000000001 7.5999999999999 244.6000000000001 1.8999999999999 221.5000000000001C5.8999999999999 230.3000000000001 10.6999999999999 238.7000000000001 16.1999999999999 246.6000000000001C5.5 219.5 0 190.6 0 161.4C1.8 170 4.2 178.4 7 186.7C5.3 152.2 11.9 117.8 26.4 86.4C45.8 42.9 78 6.4 118.7 -18.3C135.3 -29.5 153.4 -38.2 172.5 -44.1C175 -45 177.6 -45.9 180.2 -46.8C179.4 -46.5 178.6 -46.1 177.8 -45.8C200.4 -52.6 224 -56.1 247.6 -56.1C331.3 -56.1 358.9 -24.2 361.4 -21.1C365.5 -17.4 368.9 -12.9 371.3 -7.8C372.9 -7.1 374.5 -6.4 376.2 -5.7L377.2 -5.2L379.0999999999999 -4.3C391.7 1.6 403.5999999999999 9.1 414.3999999999999 17.8C430.7 29.5 442.2999999999999 46.5 447.2999999999999 65.9C450.2999999999999 73.0000000000001 450.3999999999999 80.9 447.6999999999999 88.1C448.5999999999999 89.5 449.3999999999999 90.9 450.3999999999999 92.4C468.3999999999999 121.3 478.5999999999999 154.3 479.9999999999999 188.3000000000001V191.1000000000001C479.9999999999999 198.4000000000001 479.3999999999999 205.6000000000001 478.0999999999999 212.7000000000001z" /> + <glyph glyph-name="first-order-alt" + unicode="" + horiz-adv-x="496" d=" M248 440C111.03 440 0 328.9700000000001 0 192S111.03 -56 248 -56S496 55.03 496 192S384.9700000000001 440 248 440zM248 -48.21C115.34 -48.21 7.79 59.34 7.79 192S115.34 432.21 248 432.21S488.21 324.66 488.21 192S380.6600000000001 -48.21 248 -48.21zM248 411.7100000000001C126.66 411.71 28.29 313.3400000000001 28.29 192S126.66 -27.71 248 -27.71S467.71 70.66 467.71 192S369.34 411.71 248 411.71zM248 -19.51C131.19 -19.51 36.49 75.18 36.49 192S131.19 403.51 248 403.51S459.51 308.81 459.51 192S364.81 -19.51 248 -19.51zM434.23 143.47A191.613 191.613 0 0 0 414.1 94.78L339.9700000000001 130.66L401.4500000000001 75.84A193.515 193.515 0 0 0 364.2500000000001 38.55L309.4500000000001 100.12L345.3300000000001 25.85A190.94399999999996 190.94399999999996 0 0 0 296.7000000000001 5.62L269.4100000000001 84.09L274.2000000000001 1.16C265.5900000000001 -0.02 256.8000000000001 -0.64 247.8700000000001 -0.64S230.1500000000001 -0.02 221.5400000000001 1.16L226.3000000000001 83.62L199.1500000000001 5.59A191.365 191.365 0 0 0 150.5000000000001 25.79L186.4300000000001 100.13L131.5600000000001 38.49A193.85 193.85 0 0 0 94.3400000000001 75.77L155.9300000000001 130.67L81.6700000000001 94.74A191.638 191.638 0 0 0 61.5300000000001 143.43L139.3700000000001 170.54L57.1400000000001 165.78C55.9800000000001 174.35 55.3600000000001 183.1 55.3600000000001 191.99C55.3600000000001 200.99 55.9900000000001 209.83 57.1800000000001 218.5L139.5600000000001 213.7299999999999L61.6200000000001 240.89A191.726 191.726 0 0 0 81.8500000000001 289.56L156.0700000000001 253.64L94.55 308.5A193.85 193.85 0 0 0 131.8300000000001 345.7199999999999L186.59 284.19L150.7600000000001 358.36A191.48999999999998 191.48999999999998 0 0 0 199.4100000000001 378.49L226.2800000000001 301.24L221.5700000000001 382.85C230.1800000000001 384.03 238.9600000000001 384.65 247.8900000000001 384.65S265.6 384.03 274.2100000000001 382.85L269.4700000000001 300.69L296.5200000000001 378.45C313.79 373.95 330.1200000000001 367.1 345.1500000000001 358.28L309.3300000000001 284.16L364.0500000000001 345.63A193.12999999999997 193.12999999999997 0 0 0 401.2900000000001 308.4L339.8400000000001 253.63L413.9600000000001 289.49A191.51499999999996 191.51499999999996 0 0 0 434.1600000000001 240.84L356.3500000000001 213.74L438.5900000000001 218.49C439.7800000000001 209.83 440.4100000000001 200.99 440.4100000000001 192C440.4100000000001 183.12 439.8000000000001 174.37 438.6300000000001 165.81L356.5100000000001 170.56L434.2300000000002 143.47z" /> + <glyph glyph-name="first-order" + unicode="" + horiz-adv-x="448" d=" M12.9 218.8C13 218.9 13.1 219.1 13.2 219.2C13.2 219.1 13.2 218.9 13.1 218.8H12.9zM224 351.4C216.9 351.4 209.4 350.8 202.6 349.7L206.3 282.3L184.3 346.3C170 342.6 156.6 336.9 144.3 329.7000000000001L173.7 268.3L128.6 319.2000000000001C117.2 310.3 106.9 300.1 98 288.3L148.6 242.9L87.5 272.6C80.4 260.3 74.6 246.9 70.9 232.6L135.2 210L67.2 214C66.3 206.9 65.8 199.4 65.8 192S66.4 177.4 67.2 170.3L134.9 174.3L70.9 151.7C74.6 137.4 80.3 124 87.5 111.4L148.6 141.1L97.7 96C106.6 84.3 116.8 73.7 128.6 65.1L173.5 116L144 54.6C156.3 47.2 169.7 41.5 184 37.7L206.3 102.3000000000001L202.3 34.3000000000001C209.4 33.2 216.9 32.6000000000001 224 32.6000000000001C231.4 32.6000000000001 238.6 33.2000000000001 245.7 34.3000000000001L241.7 102.9000000000001L264.3 37.8000000000001C278.6 41.8000000000001 292 47.2 304.3 54.7L274.9 116L319.8 65.1C331.5 74 341.8 84.2000000000001 350.4 96L299.8 141.1L360.9 111.7000000000001C368 124.0000000000001 373.8 137.4 377.5 152.0000000000001L313.5 174.3000000000001L380.9 170.3000000000001C382 177.4000000000001 382.3 184.6000000000001 382.3 192.0000000000001S382 206.9000000000001 380.9 214.0000000000001L313.2 210.0000000000001L377.2 232.3000000000001C373.5 246.6000000000001 368.1 260.3000000000001 360.6 272.6000000000001L299.7 242.9000000000001L350.3 288.3000000000001C341.4000000000001 300.0000000000001 331.2 310.3000000000001 319.7 319.2000000000001L274.6 268.3000000000001L304 329.4000000000001C291.7 336.8000000000001 278.3 342.5000000000001 264 346.3000000000001L241.7 282L245.7 349.7C238.6 350.9 231.4 351.4 224 351.4zM443.4 320V64L224 -64L4.6 64V320L224 448L443.4 320zM426.3 309.7L224 427.1L21.7 309.7V74.6L224 -43.1L426.3 74.6V309.7zM224 410.9L411.7 301.5V82.6L224 -26.9L36.3 82.6V301.4L224 410.9zM224 360C131.7 360 57.1 284.9 57.1 192C57.1 99.4 131.7 24.3 224 24.3C316 24.3 390.9 99.4 390.9 192C390.9 284.9 316 360 224 360z" /> + <glyph glyph-name="firstdraft" + unicode="" + horiz-adv-x="384" d=" M384 256H320V128H192V0H0V25.6H166.4V153.6H294.4V281.6H384V256zM358.4 217.6V89.6H230.4V-38.4H64V-64H256V64H384V217.6H358.4zM384 25.6H294.4V-64H320V0H384V25.6zM0 448V64H128V192H256V320H384V448H0z" /> + <glyph glyph-name="flickr" + unicode="" + horiz-adv-x="448" d=" M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM144.5 129C109.4 129 81 157.4 81 192.5S109.4 256 144.5 256S208 227.6 208 192.5S179.6 129 144.5 129zM303.5 129C268.4 129 240 157.4 240 192.5S268.4 256 303.5 256S367 227.6 367 192.5S338.6 129 303.5 129z" /> + <glyph glyph-name="flipboard" + unicode="" + horiz-adv-x="448" d=" M0 416V-32H448V416H0zM358.4 236.8H268.8V147.2000000000001H179.2V57.6H89.6V326.4H358.4V236.8z" /> + <glyph glyph-name="fly" + unicode="" + horiz-adv-x="384" d=" M197.8 20.2C210.7 8.5 231.5 -13.1 231 -30.5C231 -31.3 230.9 -32.1 230.9 -33C229.1 -52.8 212.1 -64.1 191.8 -64C166.8 -63.9 151.9 -47.2 153.1 -28.2C154.1 -12 173.6 8.5 185.5 19.4C187.8000000000001 21.5000000000001 188.2 22.1 191.1 23.0000000000001C194.5 23.0000000000001 195 22.7 197.8 20.2zM331.9 380.7C315.6 406.4 293.3 421.3 268.6 432.8C243.1 443.5 214 448.2 192 448C147.9 448 120.8 434.8 110.9 430.7C57.3 402.8 26.5 360.8 28 289.4C35.1 207.2 125 113.4 183.8 55.6C185.5 54 188.3 51.1 190 50.5L193.3 50.4C195.4 51.1 195.1 50.9 196.8 52.5C249.1 101.7 337.5 198.3 352.7000000000001 268.2C359.7000000000001 307.4 355.8000000000001 340.7 331.9000000000001 380.7zM186.8 96.1C158.8 147.2000000000001 121.6 226.8 117.5 285.1C114.1 332.6 128.9 416.3 186.8 421.8V96.1zM328.7 268C312.3 211.2 251.4 140 209.8 97.7C237.6 149.6 275 231 277 289.6C278.6 335.5 267.2 395.4 229 421C317.8 402.7 344.5 322.9 328.7 268z" /> + <glyph glyph-name="font-awesome-alt" + unicode="" + horiz-adv-x="448" d=" M397.8 380.2C405.6 380.2 412.1 373.6 412.1 365.9V18.3C412.1 10.4999999999999 405.5 3.9999999999999 397.8 3.9999999999999H50.2C42.4 3.9999999999999 35.9 10.6 35.9 18.3V365.8C35.9 373.6 42.5 380.1 50.2 380.1H397.8M397.8 416H50.2C22.7 416 0 393.3 0 365.8V18.2C0 -9.3 22.7 -32 50.2 -32H397.8C425.3 -32 448 -9.3 448 18.2V365.8C448 393.3 425.3 416 397.8 416zM339.3 276.8C333.3 276.8 309.4000000000001 261.3 286.7 261.3C282.5 261.3 278.3 261.9 274.2 263.7000000000001C254.5 271.5 237.2 277.4 215.1 277.4C194.8 277.4 173.3 270.8 155.4 263.7000000000001C153.6 263.1 151.8 262.5 150.6 261.9V279.8C158.4 285.8 163.1 294.7000000000001 163.1 305.5C163.1 323.4 148.8 337.8 130.8 337.8S98.5 323.5 98.5 305.5C98.5 295.3 103.3 285.8 111 279.8V67.7000000000001C111 56.9 120 48.0000000000001 130.7 48.0000000000001C139.7 48.0000000000001 146.8 54.0000000000001 149.2 61.7000000000001V63C149.8 64.8 149.8 66 149.8 67.8V112C151 112 152.2 112.6 152.8 113.2C172.5 121.6 195.8 129.9 218.5 129.9C249.6 129.9 261.5 113.8 287.8 113.8C306.3 113.8 324.2 120.4 339.8 127.5C344 129.3 347 131.1 347 135.3V269.7C348.8 273.8 344.7 276.8 339.3 276.8z" /> + <glyph glyph-name="font-awesome-flag" + unicode="" + horiz-adv-x="448" d=" M444.373 88.576C444.373 81.408 438.229 78.336 431.061 75.264C402.389 62.976 371.669 51.712 338.901 51.712C292.821 51.712 271.317 80.384 216.021 80.384C176.085 80.384 134.101 66.048 100.309 50.688C98.261 49.664 96.213 49.664 94.165 48.64V-29.184C94.165 -50.5890000000001 78.043 -64 60.373 -64C40.9169999999999 -64 25.5569999999999 -48.64 25.5569999999999 -29.184V345.6C12.245 355.8400000000001 3.029 372.224 3.029 390.656C3.029 422.4 28.629 448 60.373 448S117.717 422.4 117.717 390.656C117.717 372.224 109.525 355.8400000000001 95.189 345.6V313.856C99.313 315.23 153.957 342.528 209.877 342.528C275.147 342.528 307.553 314.88 336.853 314.88C375.765 314.88 418.773 342.528 429.0130000000001 342.528C437.2050000000001 342.528 444.3730000000001 336.384 444.3730000000001 329.216V88.576z" /> + <glyph glyph-name="font-awesome" + unicode="" + horiz-adv-x="448" d=" M397.8 416H50.2C22.7 416 0 393.3 0 365.8V18.2C0 -9.3 22.7 -32 50.2 -32H397.8C425.3 -32 448 -9.3 448 18.2V365.8C448 393.3 425.3 416 397.8 416zM352.4000000000001 131.7C352.4000000000001 127.5 348.8 125.7 344.6 123.9C327.9000000000001 116.7 310 110.2 290.8 110.2C263.9000000000001 110.2 251.4 126.9 219.1 126.9C195.8 126.9 171.3 118.5 151.6 109.6C150.4 108.9999999999999 149.2 108.9999999999999 148 108.4V63C148 61.2 148 59.4 147.4 58.2V57C145 48.6 137.2000000000001 42.7 128.3000000000001 42.7C117.0000000000001 42.7 108 51.7 108 63V281.6C100.2000000000001 287.6 94.9000000000001 297.1 94.9000000000001 307.9C94.9000000000001 326.4 109.8000000000001 341.4 128.4 341.4C146.9 341.4 161.9 326.5 161.9 307.9C161.9 297.1 157.1 287.6 148.8000000000001 281.6V263.1C150.6000000000001 263.7 152.4 264.3 154.2000000000001 265.5C172.7000000000001 273.3 194.8000000000001 279.8 215.7000000000001 279.8C238.4000000000001 279.8 256.3000000000001 273.8 276.6 266.1C280.8 264.3 285 263.7000000000001 289.7000000000001 263.7000000000001C312.4000000000001 263.7000000000001 337.5000000000001 279.8 343.5000000000001 279.8C348.3000000000001 279.8 352.5000000000001 276.2000000000001 352.5000000000001 272V131.7z" /> + <glyph glyph-name="fonticons-fi" + unicode="" + horiz-adv-x="384" d=" M114.4 224H206.8L191.6 172.8H115.2V15C115.2 7 112.4 5.8 119.6 5L179.2 -0.6V-35H0V0.2L29.2 3C36.4 3.8 38.4 6.2 38.4 13.8V169.6C38.4 172.8 34.4 172.8 30.4 172.8H0V224H38.4V252.8C38.4 320.8 74.8 348.8 144.4 348.8C191.2 348.8 233.2 337.6 233.2 276.4L163.6 268C164 293.6 157.6 299.6 141.2 299.6C116 299.6 115.2 286 115.2 262V230C115.2 226.8 110.4 224 114.4 224zM384 -35H243.2V-0.6L271.2 3C278.4 3.8 281.6 5.4 281.6 13V161C281.6 166.6 277.6 170.2 272.4 171.8L239.2 180.6L248.4 221H358.4V13C358.4 5 354.8 4.2 362.4 3L384 -0.6V-35zM354 312.2L366.4 266.6L356.4 256.6L313.6 279.4L270.8 256.6L260.8 266.6L273.2 312.2L243.2 348.6L248 358.6H286L307.2 397H320L341.2 358.6H379.2L384 345.4L354 312.2z" /> + <glyph glyph-name="fonticons" + unicode="" + horiz-adv-x="448" d=" M0 416V-32H448V416H0zM167.4 220H234.8L223.7 182.7H168V69.8C168 63.9999999999999 166 63.1 171.2 62.4999999999999L214.7 58.3999999999999V33.2999999999999H84V59L105.3 61C110.5 61.6 112 63.3 112 68.9V180.3C112 182.6 109.1 182.6 106.2 182.6H84V220H112V241C112 290.6 138.5 311 189.3 311C223.4 311 254 302.8 254 258.2L203.3 252.1C203.6 270.8 198.9 275.1 187 275.1C168.6 275.1 168 265.2 168 247.7V224.4C168 222 164.5 220 167.4 220zM364 33.3H261.3V58.4L281.7 61.0000000000001C286.9 61.6000000000001 289.3 62.7000000000001 289.3 68.3000000000001V176.2C289.3 180.3 286.4000000000001 182.9 282.6 184.1L258.4000000000001 190.5L265.1 220H345.3V68.3C345.3 62.4999999999999 342.7 61.9 348.2 60.9999999999999L363.9 58.3999999999999V33.2999999999999zM342.1 288.8L351.1 255.6L343.8 248.3L312.6 264.9L281.4000000000001 248.3L274.1 255.6L283.1 288.8L261.3 313L264.8 322.6H292.5L308 350.6H317.3L332.8 322.6H360.5L364 313L342.1 288.8z" /> + <glyph glyph-name="fort-awesome-alt" + unicode="" + horiz-adv-x="512" d=" M211.7 206.9V155.2C211.7 153.1 210.1 151.5 208 151.5H185.8C183.7 151.5 182.1 153.1 182.1 155.2V206.9C182.1 209 183.7 210.6 185.8 210.6H208C210.1 210.6 211.7 209 211.7 206.9zM326.2 210.6H304C301.9 210.6 300.3 209 300.3 206.9V155.2C300.3 153.1 301.9000000000001 151.5 304 151.5H326.2C328.3 151.5 329.9 153.1 329.9 155.2V206.9C329.8 209 328.2 210.6 326.2 210.6zM297.1 -52.6C296.2 -52.7 295.4 -52.9 294.5 -53C293.5 -53.2 292.3999999999999 -53.3 291.3999999999999 -53.5C290.5 -53.6 289.5999999999999 -53.8 288.5999999999999 -53.9C287.5999999999999 -54 286.5999999999999 -54.2 285.5999999999999 -54.3C284.5999999999999 -54.4 283.5999999999999 -54.4999999999999 282.7 -54.6C281.7 -54.7 280.8 -54.8 279.8 -54.9C278.8 -55 277.7 -55.1 276.7 -55.2C275.8 -55.3 274.8999999999999 -55.4 274 -55.4C272.8999999999999 -55.5 271.7 -55.5 270.6 -55.6C269.8 -55.6 268.9 -55.7 268.1 -55.7C266.8 -55.8 265.5 -55.8 264.2 -55.8C263.5 -55.8 262.8 -55.9 262.1 -55.9C260.1 -55.9 258.1 -56.0000000000001 256.1 -56.0000000000001S252.1 -56.0000000000001 250.1 -55.9C249.4 -55.9 248.7 -55.9 248 -55.8C246.7 -55.8 245.4 -55.7 244.1 -55.7C243.3 -55.7 242.4 -55.6 241.6 -55.6C240.5 -55.4999999999999 239.3 -55.4999999999999 238.2 -55.4C237.3 -55.3 236.4 -55.3 235.5 -55.2C234.5 -55.1 233.4 -55 232.4 -54.9C231.4 -54.8 230.5 -54.7 229.5 -54.6C228.5 -54.4999999999999 227.5 -54.4 226.6 -54.3C225.6 -54.1999999999999 224.6 -54.1 223.6 -53.9C222.7 -53.8 221.8 -53.6 220.8 -53.5C219.8 -53.4 218.7 -53.2 217.7 -53C216.8 -52.9 216 -52.7 215.1 -52.6C149.5 -41.7 92.6 -4.9 55.1 46.8C54.9 46.9999999999999 54.8 47.3 54.6 47.4999999999999C53.8 48.6 53 49.6999999999999 52.3 50.8C52 51.1999999999999 51.7 51.6 51.5 51.9999999999999C50.8 53.1 50.1 54.1 49.4 55.1999999999999C49.1 55.6999999999999 48.8 56.0999999999999 48.5 56.5999999999999C47.8 57.6999999999999 47.1 58.6999999999999 46.5 59.7999999999999C46.2 60.2999999999999 45.9 60.6999999999999 45.6 61.1999999999999C44.9 62.2999999999999 44.3 63.3999999999999 43.6 64.4999999999999C43.4 64.8999999999999 43.1 65.2999999999999 42.9 65.6999999999999C40.5 69.6999999999999 38.3 73.7999999999999 36.1 77.8999999999999C36 78.0999999999999 35.9 78.1999999999999 35.8 78.3999999999999C35.2 79.4999999999999 34.7 80.5999999999999 34.1 81.6999999999999C33.8 82.2999999999999 33.5 82.7999999999999 33.3 83.3999999999999C32.8 84.3999999999999 32.3 85.4999999999999 31.8 86.4999999999999C31.5 87.1999999999999 31.2 87.7999999999999 30.9 88.4999999999999C30.4 89.4999999999999 30 90.4999999999999 29.5 91.4999999999999L28.6 93.5999999999999C28.2 94.5999999999999 27.7 95.5999999999999 27.3 96.5999999999999C27 97.2999999999999 26.7 98.0999999999999 26.4 98.7999999999999L25.2 101.7999999999999C24.9 102.5999999999999 24.6 103.2999999999999 24.3 104.0999999999999C23.9 105.0999999999999 23.5 106.0999999999999 23.2 107.0999999999999C22.9 107.9999999999999 22.6 108.8999999999999 22.2 109.8999999999999C21.6 111.4999999999999 21.1 113.1999999999999 20.5 114.7999999999999C20.2 115.6999999999999 19.9 116.5999999999999 19.6 117.5999999999999C19.3 118.4999999999999 19.1 119.3999999999999 18.8 120.2999999999999C18.5 121.1999999999999 18.2 122.1999999999999 18 123.0999999999999C17.7 123.9999999999999 17.5 124.8999999999999 17.2 125.7999999999999C16.9 126.7999999999999 16.7 127.6999999999999 16.4 128.6999999999999C16.2 129.5999999999999 15.9 130.4999999999999 15.7 131.3999999999999C15.4 132.3999999999999 15.2 133.3999999999999 15 134.3999999999999C14.8 135.2999999999999 14.6 136.0999999999999 14.4 136.9999999999999C14.2 138.0999999999999 13.9 139.1999999999999 13.7 140.1999999999999C13.5 140.9999999999999 13.4 141.7999999999999 13.2 142.5999999999999C12.9 143.8999999999999 12.7 145.2999999999999 12.4 146.5999999999999C12.3 147.1999999999999 12.2 147.6999999999999 12.1 148.2999999999999L11.2 153.9999999999998C11.1 154.5999999999999 11 155.2999999999999 10.9 155.8999999999998C10.7 157.1999999999998 10.5 158.4999999999998 10.4 159.7999999999998C10.3 160.5999999999998 10.2 161.2999999999998 10.1 162.0999999999998C10 163.2999999999998 9.8 164.4999999999998 9.7 165.6999999999998C9.6 166.4999999999998 9.5 167.2999999999999 9.5 168.0999999999998C9.4 169.2999999999998 9.3 170.4999999999998 9.2 171.5999999999998C9.1 172.3999999999998 9.1 173.1999999999998 9 173.9999999999998C8.9 175.1999999999998 8.8 176.3999999999998 8.8 177.6999999999998C8.8 178.4999999999998 8.7 179.1999999999998 8.7 179.9999999999998C8.6 181.2999999999998 8.6 182.6999999999998 8.5 183.9999999999998C8.5 184.6999999999998 8.5 185.2999999999998 8.4 185.9999999999998C8.4 187.9999999999998 8.3 189.9999999999998 8.3 191.9999999999998C8.3 245.4999999999998 25.2 294.9999999999998 54.1 335.5999999999998C56.4 338.7999999999998 58.8 341.9999999999998 61.2 345.0999999999998C66.1 351.2999999999998 71.3 357.3999999999998 76.8 363.0999999999998C79.5 365.9999999999998 82.3 368.7999999999998 85.2 371.4999999999998C88.1 374.1999999999998 91 376.8999999999998 94 379.4999999999998C98.5 383.3999999999998 103.1 387.0999999999998 107.9 390.6999999999998C109.5 391.8999999999998 111.1 393.0999999999998 112.7 394.1999999999998C140 413.8 171.7 427.9 206 435C222.1 438.3 238.9 440 256 440S289.8 438.3 306 435C340.3 428 372 413.9 399.6 394.3C401.2000000000001 393.1 402.8 392 404.4000000000001 390.8C409.2000000000001 387.2 413.8 383.5 418.3 379.6C430.3 369.2 441.3 357.7 451.1 345.2C453.6 342.1 455.9 338.9 458.2 335.7C487.1 295 504 245.5 504 192C504 190 504 188 503.9 186C503.9 185.3 503.9 184.7 503.8 184C503.8 182.7 503.6999999999999 181.3 503.6 180C503.6 179.2 503.4999999999999 178.5 503.4999999999999 177.7C503.3999999999999 176.5 503.3999999999999 175.3 503.3 177C503.1999999999999 176.2 503.1999999999999 175.4 503.1 174.6C502.9999999999999 173.4 502.9 172.2000000000001 502.8 171.1C502.6999999999999 170.3 502.6 169.5 502.6 168.7000000000001C502.4999999999999 167.5000000000001 502.3 166.3000000000001 502.2 165.1C502.1 164.3 502 163.6 501.9 162.8C501.7 161.5 501.5 160.2 501.4 158.9C501.3 158.3 501.2 157.6 501.1 157.0000000000001L500.2 151.3000000000001C500.1 150.7000000000001 500 150.2000000000001 499.9 149.6000000000001C499.7 148.3000000000001 499.4 146.9000000000001 499.1 145.6000000000001C498.9 144.8000000000001 498.8 144.0000000000001 498.6 143.2000000000001C498.4 142.1000000000001 498.1 141.0000000000001 497.9 140.0000000000001C497.7 139.1000000000001 497.5 138.3000000000001 497.3 137.4000000000001C497.1 136.4000000000001 496.8 135.4000000000001 496.6 134.4000000000001C496.4 133.5000000000001 496.1 132.6000000000001 495.9 131.7000000000001C495.6 130.7000000000001 495.4 129.8000000000001 495.1 128.8000000000001C494.9 127.9000000000002 494.6 127.0000000000001 494.3 126.1000000000001C493.9999999999999 125.2000000000002 493.6999999999999 124.2000000000002 493.4999999999999 123.3000000000001C493.1999999999999 122.4000000000002 492.9999999999999 121.5000000000001 492.6999999999999 120.6000000000001C492.3999999999999 119.7000000000002 492.0999999999999 118.8000000000001 491.8 117.8000000000001C491.3 116.2000000000001 490.6999999999999 114.5000000000001 490.1 112.9000000000002C489.8 112.0000000000002 489.4999999999999 111.1000000000001 489.1 110.1000000000001C488.7 109.1000000000001 488.4 108.1000000000001 487.9999999999999 107.1000000000001C487.6999999999999 106.3000000000001 487.3999999999999 105.6000000000001 487.1 104.8000000000001L485.9 101.8000000000001C485.6 101.1000000000001 485.3 100.3000000000001 485 99.6000000000001C484.6 98.6000000000001 484.2 97.6000000000001 483.7 96.6000000000001L482.8 94.5000000000001C482.4 93.5000000000001 481.9 92.5000000000001 481.4 91.5000000000001C481.1 90.8000000000001 480.8 90.2000000000001 480.5000000000001 89.5000000000001C480.0000000000001 88.5000000000001 479.5000000000001 87.4000000000001 479.0000000000001 86.4000000000001C478.7 85.8000000000001 478.4 85.3000000000001 478.2 84.7000000000001C477.6 83.6000000000001 477.1 82.5000000000001 476.5000000000001 81.4000000000001C476.4 81.2000000000001 476.3000000000001 81.1000000000001 476.2 80.9000000000001C474.0000000000001 76.8000000000001 471.8000000000001 72.7000000000001 469.4 68.7000000000001C469.2 68.3000000000001 468.9 67.9000000000001 468.7 67.5000000000001C468.0000000000001 66.4000000000001 467.4 65.3000000000001 466.7 64.2000000000001C466.4 63.7000000000001 466.1 63.3000000000001 465.8000000000001 62.8000000000001C465.1000000000001 61.7000000000001 464.4000000000001 60.7000000000001 463.8000000000001 59.6000000000001C463.5000000000001 59.1000000000001 463.2 58.7000000000002 462.9000000000001 58.2000000000002C462.2000000000001 57.1000000000001 461.5000000000001 56.1000000000001 460.8000000000001 55.0000000000002C460.5000000000001 54.6000000000002 460.2 54.2000000000002 460.0000000000001 53.8000000000002C459.2 52.7000000000002 458.5000000000001 51.6000000000002 457.7 50.5000000000002C457.5000000000001 50.3000000000002 457.4 50.0000000000002 457.2 49.8000000000002C419.6 -4.8999999999998 362.7000000000001 -41.5999999999998 297.1 -52.5999999999998zM414.4 33.6C427.4 46.6 438.6 60.9999999999999 448 76.4999999999999V147.8C448 149.9 446.4 151.5 444.3 151.5H422.1C420 151.5 418.4000000000001 149.8999999999999 418.4000000000001 147.8V122H388.9000000000001V266C388.9000000000001 268.1 387.3 269.7 385.2000000000001 269.7H363.1C361 269.7 359.4000000000001 268.1 359.4000000000001 266V240.1H329.9000000000001V266C329.9000000000001 268.1 328.3 269.7 326.2000000000001 269.7H304C301.9 269.7 300.3 268.1 300.3 266V240.1H270.8V266C270.8 270.8 264.3 269.7 261.3 269.7V300.4C268 302 275.1 303.2 282.1 303.2C290.9000000000001 303.2 298.9000000000001 299.7 307.5 299.7C311.2 299.7 329.9 300.6 329.9 306.2V354.6C329.9 356.7 328.3 358.3 326.2 358.3C322 358.3 314 354.8 306.8 354.8C298.9000000000001 354.8 289.9000000000001 358.3 280.5 358.3C274 358.3 267.6 357.4 261.3 356V359.9C265.7 362 268.7 366.6 268.7 371.4C268.7 388.2 243.3 388.2 243.3 371.4C243.3 366.6 246.3 361.9 250.7 359.9V269.7C247.7 269.7 241.2 270.8 241.2 266V240.1H211.7V266C211.7 268.1 210.1 269.7 208 269.7H185.8C183.7 269.7 182.1 268.1 182.1 266V240.1H152.6V266C152.6 268.1 151 269.7 148.9 269.7H126.8000000000001C124.7000000000001 269.7 123.1 268.1 123.1 266V122H93.5V147.8C93.5 149.9 91.9 151.5 89.8 151.5H67.7C65.6 151.5 64 149.9 64 147.8V76.5C73.4 61 84.6 46.6 97.6 33.6C118.2 13 142.1 -3.1 168.8 -14.4C182.7 -20.3 197 -24.7 211.7 -27.6V48.2C211.7 106.8000000000001 300.3 106.8000000000001 300.3 48.2V-27.6C315 -24.7 329.3 -20.2 343.2 -14.4C369.9 -3.1 393.8 13 414.4 33.6" /> + <glyph glyph-name="fort-awesome" + unicode="" + horiz-adv-x="512" d=" M489.2 160.1H461.8C459.2 160.1 457.2 158.1 457.2 155.5V123.5H420.6V301.8C420.6 304.4 418.6 306.4 416 306.4H388.6C386 306.4 384 304.4 384 301.8V269.8H347.3999999999999V301.8C347.3999999999999 304.4 345.3999999999999 306.4 342.7999999999999 306.4H315.3999999999999C312.7999999999999 306.4 310.7999999999999 304.4 310.7999999999999 301.8V269.8H274.1999999999999V301.8C274.1999999999999 307.8 266.1999999999999 306.4 262.4999999999999 306.4V344.4C270.7999999999999 346.4 279.5999999999999 347.8 288.1999999999999 347.8C299.0999999999999 347.8 309.0999999999999 343.5 319.5999999999999 343.5C324.1999999999999 343.5 347.2999999999999 344.6 347.2999999999999 351.5V411.5C347.2999999999999 414.1 345.2999999999999 416.1 342.6999999999998 416.1C337.5999999999998 416.1 327.5999999999998 411.8 318.6999999999998 411.8C308.9999999999999 411.8 297.7999999999999 416.1 286.0999999999998 416.1C278.0999999999998 416.1 270.0999999999998 415 262.3999999999998 413.2000000000001V418.1C267.7999999999998 420.7000000000001 271.4999999999999 426.4000000000001 271.4999999999999 432.4000000000001C271.4999999999999 453.1 240.0999999999998 453.2 240.0999999999998 432.4000000000001C240.0999999999998 426.4000000000001 243.7999999999998 420.7000000000001 249.1999999999998 418.1V306.4C245.4999999999999 306.4 237.4999999999999 307.8 237.4999999999999 301.8V269.8H200.8999999999998V301.8C200.8999999999998 304.4 198.8999999999998 306.4 196.2999999999999 306.4H168.8999999999998C166.2999999999999 306.4 164.2999999999999 304.4 164.2999999999999 301.8V269.8H128V301.8C128 304.4 126 306.4 123.4 306.4H96C93.4 306.4 91.4 304.4 91.4 301.8V123.5H54.8V155.5C54.8 158.1 52.8 160.1 50.2 160.1H22.8C20.2 160.1 18.2 158.1 18.2 155.5V-64H201.1V32C201.1 104.6 310.8 104.6 310.8 32V-64H493.7V155.5C493.8000000000001 158.1 491.8000000000001 160.1 489.2 160.1zM201.1 164.6C201.1 162 199.1 160 196.5 160H169.1C166.5 160 164.5 162 164.5 164.6V228.6C164.5 231.2 166.5 233.2 169.1 233.2H196.5C199.1 233.2 201.1 231.2 201.1 228.6V164.6zM347.5 164.6C347.5 162 345.5 160 342.9 160H315.5C312.9 160 310.9 162 310.9 164.6V228.6C310.9 231.2 312.9 233.2 315.5 233.2H342.9C345.5 233.2 347.5 231.2 347.5 228.6V164.6z" /> + <glyph glyph-name="forumbee" + unicode="" + horiz-adv-x="448" d=" M5.8 138.3C2 155.3 0 172.5 0 189.7C0 313 99.8 413 223.1 413C239.7 413 256.4 411 272.4 407.5C149 360.5 51.9 262 5.8 138.3zM398.7 327.5C385 345 369 360.2 350.9 372.8C201.3 328.5 84.6 210.7 41.2 60.8C53.7 42.7 69.2 25.2 86.4 11.8C129.5 163.1 247.6 283.5 398.7 327.5zM414.5 74.8C429.7 99.9 439.9 128.5 444 157.6C364.6 114.7000000000001 299 47 256.4 -32.7C286.4 -28.3 315.3 -17.4 341 -1.4C376 -14.5 411.9 -25.7 448 -35C438.7 1.5 427.6 39.5 414.5 74.8zM444.2 220.3C441.6 239.8 436.3 259 428.4 277.1C290.5 231.3 182 120.5 137.1 -18C155.2 -25.6 174.1 -30.5 193.7 -33.2C240 80.9 330.5 173.6 444.2 220.3z" /> + <glyph glyph-name="foursquare" + unicode="" + horiz-adv-x="368" d=" M323.1 445H49.9C12.4 445 0 416.7 0 398.9V-34.9C0 -55.2 12.1 -62.6 18.2 -65C24.4 -67.5 41 -69.6 51.1 -57.9C180 91.5 182.2 94 182.2 94C185.3 97.4 185.6 97.1 189 97.1H272.4C307.5 97.1 313 122.3 316.7 136.8L365.3 379.8C373.8 422.2 363.1 445 323.1 445zM306.8 371.2L295.4000000000001 311.5C294.2000000000001 305 285.9000000000001 298.3 278.5000000000001 298.3H172.1C160.1 298.3 151.5 290 151.5 278V265C151.5 253 160.1 244.4 172.1 244.4H262.5C270.8 244.4 279.1 235.2 277.3 226.2C275.5 217.3 266.8 172.4 265.9000000000001 167.4C265.0000000000001 162.5000000000001 259.1 153.9 249.0000000000001 153.9H175.5C162 153.9 158.3000000000001 152.1 149 141.3C149 141.3 140.1 129.9 59.5 33C58.6 32.1 57.7 32.4 57.7 33.3V372.1C57.7 379.8 64.5 388.7 74.3 388.7H293.3000000000001C301.5000000000001 388.7 308.9000000000001 381 306.8000000000001 371.2z" /> + <glyph glyph-name="free-code-camp" + unicode="" + horiz-adv-x="576" d=" M69.3 303.5C28.3 235 32.9 140.5 70.3 76.5C92.5 38.3 120 24.1 120 10C120 3.2 114 -3 107.2 -3C87.7 -3 8 72.5 8 194.8C8 306.3 86 380.8 105.1 380.8C111.1 380.8 120 376 120 369.7000000000001C120 357 91.7 341.1 69.3 303.5zM265.1 89.7C269.6 87.9 277.4000000000001 84.5 277.4000000000001 90.9C277.4000000000001 93.6 275.2000000000001 93.8 273.1 94.5C264.6 97.9 259.1 102.2 254.0000000000001 109.7C245.8000000000001 121.8 243.9000000000001 133.9 243.9000000000001 148.3C243.9000000000001 180.4 288.1 186.2 288.1 218.3C288.1 230.6 280.4000000000001 234.2 280.4000000000001 237.6C280.4000000000001 239.8 281.1 239.8 283.3 239.8C291.3 239.8 302.4000000000001 226.5 305.8 220C308 215.4 308.2 214 308.2 208.9C308.2 201.9 307.5 194.7 307.5 187.6C307.5 160.6 339.4 167.8 339.4 180.8C339.4 186.8 335.8 192.4 335.8 198.2C335.8 198.9 335.8 199.4 336.5 199.4C339.8999999999999 199.4 345.8999999999999 191.7 347.6 189.3C353.4 180.4 356.1 168.5 356.1 157.9C356.1 125.5000000000001 326.6 108.9 326.6 101.9C326.6 100.9 329.5 94.2000000000001 338.7 100.0000000000001C368.4 115.1000000000001 391.8 147.6000000000001 391.8 189.8000000000001C391.8 223.4000000000001 383.1 247.5000000000001 359.7 272.4000000000001C355.8 276.5000000000001 343.3 289.3000000000001 337.2 289.3000000000001C329 289.3000000000001 344.4 270.7000000000001 344.4 258.1000000000001C344.4 250.9000000000001 339.6 245.8000000000001 332.1 245.8000000000001C320.5 245.8000000000001 317.6 271.2000000000001 316.2 279.1000000000001C310.4 312.9000000000001 303.4 337.3000000000001 269.8 353.2000000000001C259.4000000000001 358.2000000000001 233.3 365.0000000000001 233.3 355.4000000000001C233.3 353.0000000000001 236 351.3000000000001 237.9 350.3000000000001C247.1 344.7000000000001 257.5 328.9000000000001 257.5 312.1000000000001C257.5 266.0000000000001 199.8 223.9000000000001 199.8 175.9000000000001C199.6 135.6000000000001 227.9 103.3000000000001 265.1 89.7000000000001zM470.4 381C464.4 381 456 374.5 456 368.4C456 359.7 468.1 348.8 473.6 343C555.2 257.9 552.2 128.7 491.2 52C484.2 43.1 455.9 16.7 455.9 8.5C455.9 3.4 464.1 -2.9 469.1 -2.9C494.5 -2.9 567.9 77.9 567.9 182.8C568 302.1 491.8 381 470.4 381zM428.1 57.9H167C157.6 57.9 151.5 50.4 151.5 41.5C151.5 33 158.5 26 167 26H428.1C437.5 26 440 33.5 440 42.4C440 50.9 436.5 57.9 428.1 57.9z" /> + <glyph glyph-name="freebsd" + unicode="" + horiz-adv-x="448" d=" M303.7 351.8C314.8 362.9 419.2 428.8 442.9 405C466.6 381.3 400.8 276.9 389.7 265.8C378.6 254.7 350.3 264.9 326.6 288.7000000000001C302.8 312.4 292.5 340.7000000000001 303.7 351.8zM109.9 379.9C73.6 400.5 22 423.4 5.6 406.9C-11 390.3 12.7 337.5 33.5 301.2C52 333.4 78.3 360.5 109.9 379.9zM406.7 274C410 262.7 409.4 253.3 404 247.9C383.7 227.6 316.5 274.9 294.7 318C276.7 350.3 283.6 371.4 309.6 366.7C315.3 370.3 321.9 374.3 329.2 378.3C299.4 393.8 265.6 402.6 229.7 402.6C110.6 402.6 14.1 306.1 14.1 187C14.1 68 110.6 -28.6 229.7 -28.6S445.3 67.9 445.3 187C445.3 225.4 435.2 261.5 417.6 292.8C413.7000000000001 285.8 410 279.5 406.7000000000001 274z" /> + <glyph glyph-name="fulcrum" + unicode="" + horiz-adv-x="269.66" d=" M70.75 283.86L35.37 240.31L0 283.86L35.38 327.4100000000001L70.75 283.86zM119.23 448L98.69 249.82L47.72 192L98.7 134.18L119.23 -64V147.11L78.15 192L119.23 236.89V448zM198.9 283.86L234.28 240.31L269.6600000000001 283.86L234.2800000000001 327.4100000000001L198.9 283.86zM150.42 236.89L191.5 192L150.42 147.11V-64L170.96 134.18L221.94 192L170.96 249.82L150.42 448V236.89z" /> + <glyph glyph-name="galactic-republic" + unicode="" + horiz-adv-x="496" d=" M248 -56C111.25 -56 0 55.25 0 192S111.25 440 248 440S496 328.75 496 192S384.75 -56 248 -56zM248 423.4700000000001C120.37 423.4700000000001 16.53 319.63 16.53 192S120.37 -39.47 248 -39.47S479.47 64.37 479.47 192S375.63 423.4700000000001 248 423.4700000000001zM275.62 401.6600000000001V377.04A185.933 185.933 0 0 0 359.19 342.5L376.58 359.86C347.83 381.92 313.28 396.75 275.62 401.6600000000001zM220.25 401.5900000000001C182.61 396.6500000000001 148.09 381.79 119.37 359.74L136.65 342.38H136.73C160.8 360.2200000000001 189.28 372.4400000000001 220.25 377.05V401.5900000000001zM232.5 351.42V268.55C222.46 266.52 213.08 262.61 204.83 257.13L146.21 315.7200000000001L124.28 293.79L182.95 235.12C177.48 226.89 173.5 217.53 171.48 207.5H88.58V176.5H171.48C173.5 166.48 177.49 157.19 182.95 148.96L124.28 90.27L146.21 68.34L204.83 126.96A77.873 77.873 0 0 1 232.5 115.49V32.5899999999999H263.5V115.4899999999999C273.55 117.5199999999999 282.87 121.5499999999999 291.12 127.0399999999999L349.79 68.3499999999999L371.7200000000001 90.2799999999999L313.05 148.9699999999999C318.51 157.1999999999999 322.5200000000001 166.4899999999999 324.55 176.5099999999999H407.42V207.5099999999999H324.55C322.5300000000001 217.53 318.5200000000001 226.89 313.05 235.13L371.7200000000001 293.8L349.79 315.73L291.12 257.06C282.87 262.55 273.55 266.53 263.5 268.56V351.42H232.5zM415.74 320.7000000000001L398.38 303.3400000000001A186.337 186.337 0 0 0 433.05 219.67H457.67C452.72 257.36 437.8400000000001 291.9600000000001 415.74 320.7000000000001zM80.19 320.5700000000001C58.13 291.85 43.28 257.3100000000001 38.34 219.66H62.99C67.59 250.6200000000001 79.75 279.11 97.58 303.18L80.19 320.57zM38.34 164.33C43.26 126.69 58.09 92.15 80.14 63.43L97.5 80.8199999999999C79.69 104.8899999999999 67.58 133.3899999999999 62.99 164.3399999999999H38.34zM433.04 164.33C428.43 133.34 416.24 104.83 398.37 80.73L415.73 63.37C437.81 92.11 452.71 126.66 457.66 164.33H433.04zM136.66 41.62L119.3 24.26C148.03 2.17 182.6 -12.72 220.26 -17.67V6.97C189.27 11.6 160.73 23.76 136.66 41.62zM359.19 41.57C335.1 23.73 306.61 11.49 275.62 6.9V-17.67C313.29 -12.75 347.83 2.12 376.58 24.18L359.27 41.57H359.19z" /> + <glyph glyph-name="galactic-senate" + unicode="" + horiz-adv-x="512" d=" M249.86 414.52V388.45C236.28 367.83 226 279.86 225.39 173.1C237.13 188.72 244.52 206.43 244.52 221.34V238.2200000000001C244.49 243.54 245.27 248.7500000000001 246.71 253.8700000000001C247.36 256.01 248.1 257.9500000000001 249.33 259.6900000000001C250.56 261.4400000000001 252.76 263.48 256.01 263.48C259.25 263.48 261.46 261.43 262.69 259.6900000000001C263.92 257.9400000000001 264.6600000000001 256.01 265.31 253.8700000000001C266.75 248.7500000000001 267.5300000000001 243.54 267.5 238.2200000000001V221.34C267.5 206.43 274.89 188.72 286.63 173.1C286 279.86 275.72 367.8300000000001 262.14 388.4500000000001V414.52H249.86zM223.52 266.75C214 264.6 204.82 261.56 196.06 257.67C204.96 241.55 205.82 225.03 197.77 220.38C189.77 215.76 175.92 224.61 166.41 240.2C154.83 231.41 144.53 220.88 135.85 209.11C150.58 199.49 158.74 186.19 154.17 178.45C149.63 170.75 134.14 171.31 118.7 179.41C112.92 166.16 108.95 151.9 107.05 136.99C116.73 136.81 125.72 134.61 133.23 130.9499999999999C151.01 131.25 166 132.9099999999999 173.72 135.17C179.2700000000001 161.52 196.7400000000001 183.4 220.04 194.68C220.77 220.23 221.92 244.35 223.52 266.75zM288.48 266.75C290.07 244.35 291.23 220.23 291.9500000000001 194.68C315.2400000000001 183.4 332.7200000000001 161.52 338.2700000000001 135.17C345.9900000000001 132.91 360.98 131.25 378.7600000000001 130.95C386.2700000000001 134.61 395.2600000000001 136.8 404.9400000000001 136.99C403.0400000000001 151.9 399.0800000000001 166.16 393.2900000000001 179.41C377.8500000000001 171.31 362.3600000000001 170.75 357.8200000000001 178.4500000000001C353.2500000000001 186.1900000000001 361.4200000000001 199.5000000000001 376.1400000000001 209.1100000000001C367.4600000000001 220.8800000000001 357.1600000000001 231.4100000000001 345.5800000000001 240.2000000000001C336.0700000000001 224.6100000000001 322.2200000000001 215.7600000000001 314.2200000000001 220.3800000000001C306.17 225.0300000000001 307.0300000000001 241.5400000000001 315.93 257.6700000000001A147.49 147.49 0 0 1 288.48 266.7500000000001zM256 258.15C252.77 258.15 250.14 249.34 249.91 238.22H249.86V221.34C249.86 179.92 200.85 126.3 156.37 126.3C104.37 126.3 33.62 127.75 0 97.13V94.62C9.42 77.5 20.58 61.45 33.18 46.65C45.7 67.74 84.77 87.6 141.2 88C186.88 86.98 220.23 67.67 231.96 47.13C231.97 47.12 231.95 47.09 231.96 47.08C239.63 44.94 247.81 43.85 256 43.87C264.19 43.85 272.37 44.94 280.04 47.08C280.05 47.09 280.03 47.12 280.04 47.13C291.78 67.67 325.12 86.98 370.8 88C427.23 87.61 466.29 67.74 478.8199999999999 46.65C491.42 61.45 502.5799999999999 77.51 511.9999999999999 94.62V97.13C478.3899999999999 127.75 407.63 126.3 355.63 126.3C311.1499999999999 126.3 262.14 179.92 262.14 221.34V238.2200000000001H262.0899999999999C261.8599999999999 249.3400000000001 259.2299999999999 258.1500000000001 255.9999999999999 258.1500000000001zM256 161.56C278.42 161.56 296.6 143.38 296.6 120.96S278.42 80.31 256 80.31S215.4 98.54 215.4 120.96C215.4 143.38 233.58 161.56 256 161.56zM256 153.92C237.81 153.92 223.04 139.15 223.04 120.96S237.81 88 256 88S288.96 102.77 288.96 120.96S274.19 153.92 256 153.92zM256 147.78C270.81 147.78 282.82 135.7700000000001 282.82 120.96S270.81 94.14 256 94.14S229.18 106.15 229.18 120.96S241.19 147.78 256 147.78zM141.2 81.11C131.01 81.04 119.6 80.75 110.7 79.45C111.13 75.03 112.21 60.82 117.81 49.69C126.92 52.25 136.17 53.59 145.43 53.59C186.71 52.65 216.91 19.24 223.69 -20.88L223.8 -25.58C234.2 -27.49 244.99 -28.52 256.01 -28.52C267.04 -28.52 277.82 -27.5 288.22 -25.58L288.33 -20.88C295.11 19.24 325.31 52.65 366.59 53.59C375.85 53.59 385.1 52.2500000000001 394.21 49.6900000000001C399.81 60.8200000000001 400.89 75.03 401.32 79.4500000000001C392.42 80.7500000000001 381 81.03 370.82 81.1100000000001C352.06 80.6900000000001 335.63 76.9400000000001 322.21 71.4400000000001C309.67 55.4100000000001 293.05 41.4100000000001 272.63 38.3700000000001C272.54 38.3500000000001 272.46 38.33 272.36 38.3200000000001C272.31 38.3100000000001 272.25 38.28 272.2 38.27C266.96 37.2 261.57 36.67 256.01 36.67C250.46 36.67 245.06 37.2 239.82 38.27C239.77 38.28 239.71 38.3100000000001 239.66 38.3200000000001C239.56 38.34 239.49 38.3600000000001 239.39 38.3700000000001C218.97 41.4 202.36 55.4100000000001 189.81 71.4400000000001C176.39 76.9300000000001 159.95 80.6900000000001 141.2 81.1100000000001z" /> + <glyph glyph-name="get-pocket" + unicode="" + horiz-adv-x="448" d=" M407.6 384H40.6C18.5 384 0 365.5 0 343.4V208.2C0 83.5 99.7 -16 224.2 -16C348.2 -16 448 83.5 448 208.2V343.4C448 365.8 430.3 384 407.6 384zM245.6 115.5C233.2 103.7 214.2 104.4 203.2 115.5C89.5 224.4 88.3 220.6 88.3 238.7C88.3 255.6 102.1 269.4 119 269.4C136 269.4 135.1 265.6 224.2 180.1C314.8 267 312.8 269.4 329.7 269.4C346.6 269.4 360.4 255.6 360.4 238.7C360.4 220.9 357.5 223 245.6 115.5z" /> + <glyph glyph-name="gg-circle" + unicode="" + horiz-adv-x="512" d=" M257 440C120 440 9 329 9 192S120 -56 257 -56S505 55 505 192S394 440 257 440zM207.5 65.2L81.8 190.9L207.5 316.6L242.7 281.2L218.5 257L207.4 268.1L130.2 190.9L207.4 113.7L234 140.3L180.9 193.2L205.3 217.6L282.5 140.4L207.5 65.2000000000001zM306.5 67.4L271.3 102.6L295.4000000000001 127L306.5000000000001 115.8999999999999L383.7000000000001 193.0999999999999L306.5000000000001 270.2999999999999L280.0000000000001 243.7999999999999L333.1000000000001 190.8999999999999L308.7000000000001 166.5L231.5000000000001 243.7L306.5000000000001 318.7L432.2 193L306.5 67.4z" /> + <glyph glyph-name="gg" + unicode="" + horiz-adv-x="512" d=" M179.2 217.6L281.6 115.2L179.2 12.8L0 192L179.2 371.2L224 326.4L198.4 300.8L179.2 320L51.2 192L179.2 64L230.7 115.5L153.6 192L179.2 217.6zM332.8 371.2L230.4 268.8L332.8 166.4L358.4000000000001 192L281.3000000000001 268.5L332.8000000000001 320L460.8000000000001 192L332.8000000000001 64L313.6000000000001 83.2L288.0000000000001 57.6L332.8000000000001 12.8L512 192L332.8 371.2z" /> + <glyph glyph-name="git-square" + unicode="" + horiz-adv-x="448" d=" M140.1 99.5C152.2 99.5 169.6 97.4 169.6 81.6C169.6 66.1 155.7 62.8 142.6 62.8C130.3 62.8 111.7 64.8 111.7 80.8S127.4 99.5 140.1 99.5zM115.4 216.1C115.4 201.3 122 192 137.7 192C153.2 192 158.9 202 158.9 216.5C159 250.9 115.4 251.3 115.4 216.1zM448 368V16C448 -10.5 426.5 -32 400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368zM207 274.3C194.7 269.5 181.5 265.9 168.1 265.9C129.6 288 77.4 265 77.4 216.4C77.4 198.4 89 173.5 107 167.5V166.8C93.6 160.9 89.9 130.7 107.7 119.8V119.1C88.2 112.7000000000001 75.4 100.3 75.4 78.9C75.4 42.1 110.2 31.9 140.8 31.9C177.9 31.9 205.6 45.3 205.6 86.2000000000001C205.6 136.6 133.5 118.0000000000001 133.5 145.3000000000001C133.5 154.9000000000001 138.7 158.7000000000001 147.6 160.5000000000001C177.2 166.0000000000001 195.8 189.1000000000001 195.8 219.2000000000001C195.8 224.4 194.7 229.4000000000001 192.9 234.2000000000001C197.7 235.3000000000001 202.4 236.5000000000001 207 238.1000000000001V274.3000000000001zM263.8 272.5H224.2C225.5000000000001 261.9 225.3 129.9 224.2 117H263.8C262.7 129.8 262.6 262.1 263.8 272.5zM268.3 325.8C268.3 339.2 258.3 352 244.2 352C229.9 352 219.6 339.5 219.6 325.8C219.6 312.2 230.1 299.9 244.2 299.9C257.9000000000001 299.9 268.3 312.4 268.3 325.8zM372.6 272.5H336.2000000000001C336.2000000000001 282.3 335.8000000000001 292.1 337.3000000000001 302H296.8000000000001C298.1000000000001 294.7 297.9000000000001 288.4 297.9000000000001 272.5H280.8000000000001V238.6C292.7000000000001 240.5 292.9000000000001 239.3 297.9000000000001 239.3V238.6H297.5000000000001V175.9C297.5000000000001 144.8 302.0000000000001 114.7 340.2000000000001 114.7C350.9000000000001 114.7 363.2000000000001 116.5 372.7000000000001 121.7V156.7C367.0000000000001 152.8 358.8000000000002 150.8 351.8000000000002 150.8C338.6000000000002 150.8 336.3000000000002 163.7 336.3000000000002 174.2V239.4C359.0000000000001 239.4 372.7000000000001 238.7 372.7000000000001 238.7V272.5z" /> + <glyph glyph-name="git" + unicode="" + horiz-adv-x="448" d=" M18.8 226.3C18.8 201 35 166.3 60.3 157.8V156.8C41.5 148.5 36.3 106.2 61.3 91V90C34 81 16 63.7 16 33.8C16 -17.7 64.8 -32 107.5 -32C159.5 -32 198.2 -13.3 198.2 44C198.2 114.5 97.2 88.5 97.2 126.8C97.2 140.3 104.4 145.5 116.9 148.1C158.4 155.8 184.4 188.1 184.4 230.3C184.4 237.6 182.9 244.5 180.4 251.3C187.1 252.8 193.6 254.6 200.1 256.8V307.3C182.9 300.5 164.4 295.5 145.6 295.5C91.8 326.5 18.8 294.2 18.8 226.3zM106.5 62.5C123.5 62.5 147.7 59.5 147.7 37.5C147.7 15.7 128.2 11.2 110 11.2C92.7 11.2 66.7 13.9 66.7 36.4C66.8 58.7 88.8 62.5 106.5 62.5zM103.3 192C81.3 192 72 205 72 225.8C72 275.1 133 274.6 133 226.3C133 206 125 192 103.3 192zM432 142.5V93.5C418.7 86.2 401.5 83.7 386.5 83.7C333 83.7 326.7 125.9 326.7 169.4V257.1H327.2V258.1C320.2 258.1 319.9 259.7 303.2 257.1V304.6H327.2C327.2 326.9 327.5 335.6 325.7 345.8H382.4C380.4 332 380.9 318.3 380.9 304.6H431.9V257.1S412.6 258.1 380.9 258.1V167C380.9 152.2 384.2 134.2 402.7 134.2C412.5 134.2 424 137 432 142.5zM286 379.3C286 360.6 271.5 343.1 252.2 343.1C232.4 343.1 217.7 360.3 217.7 379.3C217.7 398.6 232.2 416 252.2 416C272 416 286 398 286 379.3zM279.8 304.8C278 290.2000000000001 278.2 105 279.8 87H224.3C225.9 105.1 226.1 290 224.3 304.8H279.8z" /> + <glyph glyph-name="github-alt" + unicode="" + horiz-adv-x="480" d=" M186.1 119.3C186.1 98.4 175.2 64.2 149.4 64.2S112.7 98.4 112.7 119.3S123.6 174.4 149.4 174.4S186.1 140.2000000000001 186.1 119.3zM480 169.8C480 137.9 476.8 104.1 462.5 74.8C424.6 -1.8 320.4 0 245.8 0C170 0 59.6 -2.7 20.2 74.8C5.6 103.8 0 137.9 0 169.8C0 211.7 13.9 251.3 41.5 283.4C36.3 299.2000000000001 33.8 315.8 33.8 332.2C33.8 353.7 38.7 364.5 48.4 384C93.7 384 122.7 375 157.2 348C186.2 354.9 216 358 245.9000000000001 358C272.9000000000001 358 300.1 355.1 326.3000000000001 348.8C360.3000000000001 375.5 389.3000000000001 384 434.1000000000001 384C443.9000000000001 364.5 448.7000000000001 353.7 448.7000000000001 332.2C448.7000000000001 315.8 446.1000000000001 299.5 441.0000000000001 284C468.5000000000001 251.6 480.0000000000001 211.7 480.0000000000001 169.8zM415.7 119.3C415.7 163.2 389 201.9 342.2 201.9C323.3 201.9 305.2 198.5 286.2 195.9C271.3 193.6 256.4 192.7 241.1 192.7C225.9 192.7 211 193.6 196 195.9C177.3 198.5 159 201.9 140 201.9C93.2 201.9 66.5 163.2 66.5 119.3C66.5 31.5 146.9 18 216.9 18H265.1C335.4000000000001 18 415.7000000000001 31.4 415.7000000000001 119.3zM333.1 174.4C307.3 174.4 296.4000000000001 140.2000000000001 296.4000000000001 119.3S307.3 64.2 333.1 64.2S369.8 98.4 369.8 119.3S358.9000000000001 174.4 333.1 174.4z" /> + <glyph glyph-name="github-square" + unicode="" + horiz-adv-x="448" d=" M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM277.3 32.3C268.9000000000001 30.8 265.8 36 265.8 40.3C265.8 45.7 266 73.3 266 95.6C266 111.2000000000001 260.8 121.1 254.7 126.3C291.7 130.4 330.7 135.5 330.7 199.4C330.7 217.6 324.2 226.7 313.6 238.4C315.3 242.7 321 260.4 311.9 283.4C298 287.7000000000001 266.2 265.5 266.2 265.5C253 269.2 238.7 271.1 224.6 271.1C210.5 271.1 196.2 269.2 183 265.5C183 265.5 151.2 287.7 137.3 283.4C128.2 260.5 133.8 242.8 135.6 238.4C125 226.7 120 217.6 120 199.4C120 135.8 157.3 130.4 194.3 126.3C189.5 122 185.2 114.6 183.7 104C174.2 99.7 149.9 92.3 135.4 117.9C126.3000000000001 133.7 109.9 135 109.9 135C93.7 135.2 108.8 124.8 108.8 124.8C119.6 119.8 127.2000000000001 100.6 127.2000000000001 100.6C136.9 70.9 183.3000000000001 80.9 183.3000000000001 80.9C183.3000000000001 67.0000000000001 183.5 44.4 183.5 40.3C183.5 36 180.5 30.8 172 32.3C106 54.4 59.8 117.2000000000001 59.8 190.6C59.8 282.4000000000001 130 352.1 221.8 352.1S388 282.4 388 190.6C388.1 117.2000000000001 343.3 54.3 277.3 32.3zM179.2 93.4C177.3 93.0000000000001 175.5 93.8 175.3 95.1C175.1 96.6 176.4 97.9 178.3 98.3C180.2 98.5 182 97.7 182.2 96.4C182.5 95.1 181.2 93.8 179.2 93.4zM169.7 94.3C169.7 93 168.2 91.9 166.2 91.9C164 91.7000000000001 162.5 92.8 162.5 94.3C162.5 95.6 164 96.7 166 96.7C167.9 96.9 169.7 95.8 169.7 94.3zM156 95.4C155.6 94.1 153.6 93.5000000000001 151.9 94.1C150 94.5 148.7000000000001 96 149.1 97.3C149.5 98.6 151.5 99.2 153.2 98.8C155.2 98.2 156.5 96.7 156 95.4zM143.7 100.8C142.8 99.7 140.9 99.9 139.4 101.4C137.9 102.7000000000001 137.5 104.6 138.5 105.5000000000001C139.4 106.6000000000001 141.3 106.4 142.8 104.9C144.1 103.6 144.6 101.6 143.7 100.8zM134.6 109.9C133.7 109.3 132 109.9 130.9 111.4S129.8000000000001 114.6 130.9 115.3C132 116.2 133.7000000000001 115.5 134.6 114C135.7 112.5 135.7 110.7 134.6 109.9zM128.1 119.6C127.2 118.7000000000001 125.7 119.2000000000001 124.6 120.2000000000001C123.5 121.5000000000001 123.3 123.0000000000001 124.2 123.7000000000001C125.1 124.6 126.6 124.1 127.7 123.1C128.8 121.8 129 120.3 128.1 119.6zM121.4 127C121 126.1 119.7 125.9 118.6 126.6C117.3 127.2000000000001 116.7 128.3 117.1 129.2000000000001C117.5 129.8000000000001 118.6 130.1 119.9 129.6C121.2 128.9 121.8 127.8 121.4 127z" /> + <glyph glyph-name="github" + unicode="" + horiz-adv-x="496" d=" M165.9 50.6C165.9 48.6 163.6 47 160.7 47C157.4 46.7 155.1 48.3 155.1 50.6C155.1 52.6 157.4 54.2 160.3 54.2C163.3 54.5000000000001 165.9 52.9 165.9 50.6zM134.8 55.1C134.1 53.1 136.1 50.8 139.1 50.2C141.7 49.2 144.7 50.2 145.3 52.2S144 56.5000000000001 141 57.4C138.4 58.1 135.5 57.1 134.8 55.1zM179 56.8C176.1 56.1 174.1 54.2 174.4 51.9C174.7 49.9 177.3 48.6 180.3 49.3C183.2 50 185.2 51.9 184.9 53.9C184.6 55.8 181.9 57.1 179 56.8zM244.8 440C106.1 440 0 334.7 0 196C0 85.1 69.8 -9.8 169.5 -43.2C182.3 -45.5 186.8 -37.6 186.8 -31.1C186.8 -24.9 186.5 9.3 186.5 30.3C186.5 30.3 116.5 15.3 101.8 60.1C101.8 60.1 90.4 89.2000000000001 74 96.7000000000001C74 96.7000000000001 51.1 112.4 75.6 112.1C75.6 112.1 100.5 110.1 114.2 86.3C136.1 47.7 172.8 58.8 187.1 65.4C189.4 81.4 195.9 92.5000000000001 203.1 99.1C147.2 105.3 90.8 113.4 90.8 209.6C90.8 237.1 98.4 250.9000000000001 114.4 268.5C111.8 275 103.3 301.8 117 336.4000000000001C137.9 342.9000000000001 186 309.4000000000001 186 309.4000000000001C206 315 227.5 317.9000000000001 248.8 317.9000000000001S291.6 315 311.6 309.4000000000001C311.6 309.4000000000001 359.7000000000001 343 380.6 336.4000000000001C394.3 301.7000000000001 385.8 275 383.2000000000001 268.5C399.2000000000001 250.8000000000001 409.0000000000001 237.0000000000001 409.0000000000001 209.6C409.0000000000001 113.1 350.1000000000001 105.4 294.2000000000001 99.1C303.4000000000001 91.2000000000001 311.2000000000001 76.2000000000001 311.2000000000001 52.7C311.2000000000001 19.0000000000001 310.9000000000001 -22.6999999999999 310.9000000000001 -30.9C310.9000000000001 -37.4 315.5000000000001 -45.3 328.2000000000001 -43C428.2 -9.8 496 85.1 496 196C496 334.7 383.5 440 244.8 440zM97.2 95.1C95.9 94.1 96.2 91.8 97.9 89.9C99.5 88.3 101.8 87.6 103.1 88.9C104.4 89.9 104.1 92.2000000000001 102.4 94.1C100.8 95.7000000000001 98.5 96.4 97.2 95.1zM86.4 103.2000000000001C85.7 101.9 86.7 100.3000000000001 88.7 99.3000000000001C90.3 98.3000000000001 92.3 98.6000000000001 93 100.0000000000001C93.7 101.3000000000001 92.7 102.9 90.7 103.9C88.7 104.5000000000001 87.1 104.2000000000001 86.4 103.2000000000001zM118.8 67.6C117.2 66.3 117.8 63.3 120.1 61.4C122.4 59.1 125.3 58.8 126.6 60.4C127.9 61.7000000000001 127.3 64.7000000000001 125.3 66.6C123.1 68.9 120.1 69.2000000000001 118.8 67.6zM107.4 82.3C105.8 81.3 105.8 78.7 107.4 76.4C109 74.1 111.7 73.1 113 74.1C114.6 75.4 114.6 78 113 80.3C111.6 82.6 109 83.6 107.4 82.3z" /> + <glyph glyph-name="gitkraken" + unicode="" + horiz-adv-x="592" d=" M565.7 329.9C563.4000000000001 336 556.4000000000001 339.1 550.4000000000001 336.5C544.7 334.1 541.9000000000001 327.6 544.1000000000001 321.9C555.0000000000001 292.9 561.0000000000001 261.4 561.0000000000001 228.6C561.0000000000001 94 460.7000000000001 -17.1 330.8000000000002 -34.1V89.6C338.7000000000001 91.1 346.3000000000002 93.2000000000001 353.8000000000002 95.8V-8.2C460.5000000000001 17.7 539.7000000000002 113.9 539.7000000000002 228.6C539.7000000000002 320.4000000000001 488.9000000000001 400.4000000000001 413.9000000000002 441.9000000000001C408.2000000000002 445.1 400.9000000000002 442.8 398.0000000000002 436.9000000000001C395.3000000000002 431.4000000000001 397.4000000000002 424.7000000000001 402.7000000000002 421.8C470.6000000000001 384.2000000000001 516.6000000000001 311.8000000000001 516.6000000000001 228.6000000000001C516.6000000000001 135.3000000000001 458.7000000000002 55.5000000000001 376.8000000000002 23.2V115.4C391.0000000000001 119.9 401.7000000000001 133.1 401.7000000000001 148.9C401.7000000000001 162.0000000000001 394.9000000000001 173.3 384.4000000000001 179.4C392.7000000000001 258.9000000000001 428.9000000000001 238.0000000000001 428.9000000000001 263.3000000000001V278C428.9000000000001 316 341.0000000000001 439.8 299.9000000000001 442.7C297.4000000000001 442.9 294.9000000000001 442.9 292.3000000000001 442.7C251.1 439.7 163.2 316 163.2 278V263.2C163.2 237.9 199.5 258.9 207.7 179.3C197.1 173.1999999999999 190.4 161.9 190.4 148.8C190.4 133 201 119.8 215.2 115.3V23.1C133.3 55.3 75.4 135.1 75.4 228.5C75.4 311.6 121.4 384 189.3 421.7C194.7 424.7 196.7 431.3 194 436.8C191.1 442.7 183.9 445 178.1 441.8C103.1 400.3 52.3 320.3 52.3 228.5C52.3 113.8 131.5 17.6999999999999 238.2 -8.3000000000001V95.6999999999999C245.8 93.1999999999999 253.3 91.0999999999999 261.2 89.4999999999999V-34.2C131.4 -17.2 31 93.9 31 228.5C31 261.3 37 292.8 47.9 321.8C50.1 327.6 47.3 334 41.6 336.4C35.6 339 28.6 336 26.3 329.8C14.5 298.3 8 264.2 8 228.5C8 73.4 130.6 -53.1 284.3 -59.3V86.6C291.1 86.2000000000001 299.3 86.1 307.7 86.6V-59.2C461.4 -53.1 584 73.4 584 228.5C584 264.2 577.5 298.3 565.7 329.9zM365.9 172.5C378.9 172.5 389.6 162 389.6 148.8C389.6 135.7 379 125.1 365.9 125.1C352.9 125.1 342.2 135.6 342.2 148.8C342.2 161.9 352.8 172.5 365.9 172.5zM226.1 125.2C212.9 125.2 202.4 135.9 202.4 148.9S212.9 172.6 226.1 172.6C239.2 172.6 249.8 162 249.8 148.9C249.8 135.9 239.3 125.2 226.1 125.2z" /> + <glyph glyph-name="gitlab" + unicode="" + horiz-adv-x="512" d=" M29.782 248.268L256 -45.714L8.074 138.301C1.218 143.443 -1.638 152.297 0.933 160.294L29.782 248.268zM105.187 423.074C102.045 431.928 89.478 431.928 86.336 423.074L29.782 248.268H161.743L105.187 423.074zM161.743 248.268L256 -45.714L350.257 248.2680000000001H161.743zM511.067 160.294L482.218 248.268L256 -45.714L503.926 138.301C510.781 143.443 513.637 152.297 511.067 160.294zM425.663 423.074C422.521 431.928 409.954 431.928 406.812 423.074L350.257 248.268H482.218L425.663 423.074z" /> + <glyph glyph-name="gitter" + unicode="" + horiz-adv-x="384" d=" M66.4 125.5H16V448H66.4V125.5zM166.9 371.9H116.5V-64H166.9V371.9zM267.5 371.9H217.1V-64H267.5V371.9zM368 372H317.6V125H368V372z" /> + <glyph glyph-name="glide-g" + unicode="" + horiz-adv-x="448" d=" M407.1 236.8C403.6 238.2 395.5 240.6 391.7000000000001 240.6C354.6 240.6 329.5000000000001 223.8 298.2000000000001 206.1L297.3000000000001 207C304.3000000000001 254.3 320.8000000000001 298.9000000000001 320.8000000000001 347.4000000000001C320.8 418.9 282.6 448 212.4 448C97.3 448 39 334.3 39 249.6C39 161.7 90.3 113 177.6 113C189.6 113 188.6 114 188.6 109.2C171.7 -19.7 97.8 -23.9 97.8 14.6C97.8 53.8 142.8 73.2000000000001 143.3 75.6C143 87.8 96.3 103.2000000000001 84.4 103.2000000000001C50.5 103.1 32 52.0000000000001 32 23.9C32 -28 64.8 -64 117.5 -64C194.9 -64 251.5 13.8 268.9 81.4C284 141.9 280.1 144.7 288.6 149C320.8 165.2 346.1 176 382.4 176C400.2 176 412.9 172.3 441.3 167.6C444.2 167.6 448 170.5 448 173.4C448 181.4 414.6 233.9000000000001 407.1 236.8000000000001zM231.8 321.2000000000001C222.5 276.5 213.2 231.6 204 186.9C201.7 176.7 190.7 179.1 182 179.1C143.7 179.1 133 220.9 133 252.2C133 299.2 151 361.5 194.8 385.6C201.8 389.7 209.6 392.3 217.4 392.3C236 392.3 237.4 379 237.4 363.6C237.3 349.3 234.7 335.1 231.8 321.2z" /> + <glyph glyph-name="glide" + unicode="" + horiz-adv-x="448" d=" M252.8 299.4C252.8 290.6 251.2 281.7000000000001 249.4 273C243.6 245.2 237.8 217.2 232.1 189.4C230.7 183.1 223.8 184.5 218.4 184.5C194.6 184.5 187.9 210.5 187.9 230C187.9 259.3 199.1 298.1 226.4 313.1C230.7 315.6 235.6 317.3 240.5 317.3C251.9 317.3 252.8 309 252.8 299.4zM448 368V16C448 -10.5 426.5 -32 400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368zM384 181C384 186.1 363.2 218.7 358.5 220.5C356.3 221.4 351.3 222.8 348.9 222.8C325.8 222.8 310.2 212.3 290.7 201.3L290.2 201.8C294.5 231.2 304.8 259 304.8 289.2000000000001C304.8 333.8 281 351.9000000000001 237.3 351.9000000000001C165.6 351.9000000000001 129.3 281.1 129.3 228.4000000000001C129.3 173.7000000000001 161.3 143.4 215.6 143.4C223.1 143.4 222.5 144.0000000000001 222.5 141.1C212 60.8 166 58.2000000000001 166 82.2000000000001C166 106.6 194 118.7000000000001 194.3000000000001 120.2000000000001C194.1000000000001 127.8000000000001 165 137.4 157.6 137.4C136.5 137.4 124.9 104.4 124.9 86.8C124.9 54.5 145.3 32.1 178.2 32.1C226.4000000000001 32.1 261.6 81.8 272.5 123.8C281.9 161.5 279.5 163.2 284.8 165.9C304.8 176.0000000000001 320.6 182.7000000000001 343.2 182.7000000000001C354.3 182.7000000000001 362.2 180.4 379.9 177.5000000000001C381.7 177.4 384 179.2000000000001 384 181.0000000000001z" /> + <glyph glyph-name="gofore" + unicode="" + horiz-adv-x="400" d=" M324 128.2H310.8V93.5C286.3 70.4 254.5 57.7 220.9 57.7C147.7 57.7 88.5 117.9 88.5 192.1C88.5 266.2 147.7 326.5 220.9 326.5C256.2 326.5 289.5 312.5 314.5 287.1L376.8 350.4C335 392.7 279.7 416 220.7 416C98 416 0 315.4 0 192C0 69.5 97 -32 220.7 -32C283.9 -32 345.2 -5.8 391.7 50.5C389.7 78.1 378.3 128.2 324 128.2zM311.9 240.7H205.6V151.7H324C357.5 151.7 384.5 136.6 400 109.9V140.5C400 205.7 359.6 240.7 311.9 240.7z" /> + <glyph glyph-name="goodreads-g" + unicode="" + horiz-adv-x="384" d=" M42.6 44.7H45.4C58.1 44.7 70.9 44.7 83.6 44.6C85.2 44.6 86.7 44.9999999999999 87.2 42.4999999999999C94.3 7.6 117.2 -12.1000000000001 150.1 -21.4C177 -29.0000000000001 204.2 -29.2 231.4 -23.2C265.2 -15.8000000000001 287.4 5.1 299.4 37.1999999999999C307.4 58.6999999999999 310.1 80.9999999999999 310.4 103.6999999999999C310.5 109.4999999999999 310.7 150.6999999999999 310.2 156.5L309.3 156.8C308.5 155.3 307.6 153.9 306.8 152.4C284.7 109.3 245.5 85 201.4 83.3C98.4 79.3 32 140.3 29.4 259.5C28.9 283.2 31.2 306.4 37.7 329.2C58.3 400.3 112.3 447.4 191.6 448C252.9 448.4 293.1 409.3 307.8 377.7C308.3 376.6 309.1 375.4 310.2 375.8V437.4H354.5C354.5 157.1 354.6 105.2 354.6 105.2C354.5 26.7 327.9000000000001 -38.5 251.6 -57C182.1 -73.9 92.6 -61.8 55.6 0.2C47.6 13.7 43.8 28.5 42.6 44.7zM188.9 411.5C136.4 412 80.4 370.8 73.9 277.7C69.8 218.7 88.7 155.5 145.4 129.1C173 116.2000000000001 219.7 114.1 253.7 137.8C301.3 171 316.4 234.8 308.5 291.8C298.8 362.9 260.7 411.8 188.9 411.5z" /> + <glyph glyph-name="goodreads" + unicode="" + horiz-adv-x="448" d=" M299.9 256.8C305 219.5 295.2 177.8 264 156.1C241.7 140.6 211.2 142 193.2 150.4C156.1 167.7000000000001 143.7 209 146.4 247.6C150.7 308.5 187.3 335.5 221.7 335.1C268.6 335.3 293.5 303.3 299.9 256.8zM448 360V24C448 -6.9 422.9 -32 392 -32H56C25.1 -32 0 -6.9 0 24V360C0 390.9 25.1 416 56 416H392C422.9 416 448 390.9 448 360zM330 134.8S329.9 168.8 329.9 352.1H300.9V311.8C300.1 311.5 299.7 312.3 299.3 313C289.7 333.7 263.4 359.3 223.3 359C171.4 358.6 136.1 327.8 122.7 281.2C118.4 266.3 116.9 251.1 117.2 235.6C118.9 157.7 162.3 117.8 229.6 120.4C258.5 121.5 284.1 137.4 298.6 165.6C299.1 166.6 299.7 167.5 300.3 168.5C300.5 168.3999999999999 300.7 168.3999999999999 300.9 168.3C301.2 164.5 301.1 137.6 301 133.8C300.8 119 299 104.3 293.8 90.3C286 69.3 271.5 55.6 249.3 50.8C231.5 46.9 213.7 46.9999999999999 196.1 51.9999999999999C174.6 58.1 159.6 70.9999999999999 155 93.8C154.7 95.4 153.7 95.1 152.7 95.1H125.9C126.7 84.4999999999999 129.1 74.8 134.4 65.9C158.6 25.4 217.1 17.4 262.6 28.5C312.5 40.8 329.9000000000001 83.4 330 134.8z" /> + <glyph glyph-name="google-drive" + unicode="" + horiz-adv-x="512" d=" M339 133.1L175.4 416H336.6L500.2 133.1H339zM201.5 109.5L120.9 -32H431.4L512 109.5H201.5zM154.1 380.6L0 109.5L80.6 -32L237 239.2L154.1 380.6z" /> + <glyph glyph-name="google-play" + unicode="" + horiz-adv-x="512" d=" M325.3 213.7L104.6 435L385.4 273.8L325.3 213.7zM47 448C34 441.2 25.3 428.8 25.3 412.7V-28.6C25.3 -44.7 34 -57.1 47 -63.9L303.6 192.1L47 448zM472.2 222.4L413.3 256.5L347.6 192L413.3 127.5L473.4 161.6C491.4 175.9 491.4 208.1 472.2 222.4zM104.6 -51L385.4 110.2L325.3 170.3L104.6 -51z" /> + <glyph glyph-name="google-plus-g" + unicode="" + horiz-adv-x="640" d=" M386.061 219.504C387.895 209.812 389.204 200.12 389.204 187.548C389.204 77.795 315.599 0 204.8 0C98.716 0 12.8 85.915 12.8 192S98.716 384 204.8 384C256.664 384 299.8830000000001 365.141 333.411 333.708L281.2850000000001 283.678C267.1400000000001 297.299 242.2570000000001 313.277 204.8 313.277C139.316 313.277 85.88 259.056 85.88 192C85.88 124.944 139.316 70.723 204.8 70.723C280.761 70.723 309.313 125.468 313.765 153.496H204.8V219.505H386.0610000000001zM571.467 213.067V268.8H515.466V213.067H459.733V157.066H515.466V101.333H571.467V157.066H627.2V213.067H571.4670000000001z" /> + <glyph glyph-name="google-plus-square" + unicode="" + horiz-adv-x="448" d=" M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM164 92C108.7 92 64 136.7 64 192S108.7 292 164 292C191 292 213.5 282.2 231 265.8L203.9 239.7C196.5 246.8 183.6 255.1 164.1 255.1C130 255.1 102.2 226.9000000000001 102.2 191.9C102.2 157.0000000000001 130 128.7000000000001 164.1 128.7000000000001C203.7 128.7000000000001 218.5 157.2000000000001 220.9 171.8000000000001H164V206.2000000000001H258.4C259.4 201.2000000000001 260 196.1000000000001 260 189.6000000000001C260 132.5000000000001 221.7 92.0000000000001 164 92.0000000000001zM384 173.8H355V144.8H325.8V173.8H296.8V203H325.8V232H355V203H384V173.8z" /> + <glyph glyph-name="google-plus" + unicode="" + horiz-adv-x="496" d=" M248 440C111.1 440 0 328.9 0 192S111.1 -56 248 -56S496 55.1 496 192S384.9 440 248 440zM177.3 68C108.5 68 53.3 123.5 53.3 192S108.5 316 177.3 316C208.6 316 237.4 305 260.3 283.7L226.7 251.1C213.5 264 195.4 270.2 177.3 270.2C134.4 270.2 100.1 234.7 100.1 192.1S134.3 114 177.3 114C209.9 114 242.2 133.1 247.4 167.3H177.3V209.9H294.2000000000001C295.5000000000001 203.1 296.1 196.3 296.1 189.2C296.1 118.4 248.6 68 177.3 68zM407.5 174.2V138.7H372V174.2H336.5V209.7H372V245.2H407.5V209.7H442.7V174.2H407.5z" /> + <glyph glyph-name="google-wallet" + unicode="" + horiz-adv-x="448" d=" M156.8 321.2C194.4 260.6 221 208.1 241.1 158.7C232.8 124.9 222.3 92.2 209.8 60.4C196.6 112.7 183.3 161.7 153.8 208.9C160.3 245.3 156.1 282.5 156.8 321.2zM109.3 248H16.1C9.6 248 5.6 240.5 9.6 235.3C51.8 181 81.3 117.5 101.3 48H204.8C188.6 117.7 166.1 181.7 122.3 241.5C119.3 245.5 114.3 248 109.3 248zM157.1 336C225.6 228 287.1 101.5 295.3 -32H409C397 106 340.6 233 265.8 336H157.1zM408.9 404.5C407.1 411.3 400.7 416 393.7 416H305.4C300.1 416 296.4 411 297.6 405.7C310.8 359.2 319.9 310.2 324.1 259.7C372.3 173.5 403.8 81.4 414.7 -11.1C430.5 49.4 440 122.4 440 191.9C440 265.5 427.8999999999999 337 408.8999999999999 404.5z" /> + <glyph glyph-name="google" + unicode="" + horiz-adv-x="488" d=" M488 186.2C488 44.7 391.1 -56 248 -56C110.8 -56 0 54.8 0 192S110.8 440 248 440C314.8 440 371 415.5 414.3 375.1L346.8 310.2C258.5 395.4 94.3 331.4 94.3 192C94.3 105.5 163.4 35.4 248 35.4C346.2 35.4 383 105.8 388.8 142.3H248V227.6H484.1C486.4 214.9 488 202.7 488 186.2z" /> + <glyph glyph-name="gratipay" + unicode="" + horiz-adv-x="496" d=" M248 440C111.1 440 0 328.9 0 192S111.1 -56 248 -56S496 55.1 496 192S384.9 440 248 440zM362.6 213.6L249.6 60.9L136.9 213.6C128.2000000000001 225.5 117.8000000000001 264 150.5 285.6C178.6 303.7 205.1 289.8 219 273.7C234.9000000000001 255.8 265.6 256.8 280.7000000000001 273.7C294.6 289.8 321.1 303.7 348.8000000000001 285.6C381.7000000000001 264 371.4000000000001 225.6 362.6000000000001 213.6z" /> + <glyph glyph-name="grav" + unicode="" + horiz-adv-x="512" d=" M301.1 236C305.5 231.6 305.5 224.1 301.1 219.7L291.4000000000001 210C287.0000000000001 205.3 279.5000000000001 205.3 274.8 210L264.3 220.5C259.9000000000001 225.2 259.9000000000001 232.4 264.3 237.1L274 246.8C278.4 251.2 285.9 251.2 290.6 246.8L301.1 236zM270.9000000000001 255.7C273.9000000000001 258.7 273.9000000000001 263.5 270.9000000000001 266.2C268.1 269.2 263.4000000000001 269.2 260.4000000000001 266.2C257.6 263.4 257.6 258.7 260.4000000000001 255.7C263.5000000000001 252.9 268.2000000000001 252.9 270.9000000000001 255.7zM244.9000000000001 250.4C241.9000000000001 247.6 241.9000000000001 242.9 244.9000000000001 240.2C247.7000000000001 237.2 252.4000000000001 237.2 255.4000000000001 240.2C258.2000000000001 243 258.2000000000001 247.7 255.4000000000001 250.4C252.4000000000001 253.4 247.7000000000001 253.4 244.9000000000001 250.4zM317.4000000000001 263.7C297.5000000000001 278.1 283.6 306.9 305.5000000000001 331.8C327.1000000000001 356.7 346.2000000000001 349 365.3000000000001 331C377.2000000000001 319.7 394.6000000000001 306.1 382.5000000000001 282.8C370.0000000000001 259.3 337.4000000000001 249.6 317.4000000000001 263.7zM365.1 308.2C356.2000000000001 318.2 341.8 301.3 349.6 292.1C357 283.1 381.7000000000001 289.7 365.1 308.2zM504 192C504 55 393 -56 256 -56S8 55 8 192S119 440 256 440S504 329 504 192zM437.8 149.4C440.3 165.5 417.6 166 412.6 175.1C399 199.2 384.9000000000001 211.9 358.1 205.5C369.7000000000001 213.5 381.6 211.6 381.6 211.6C381.9000000000001 218 381.6 224.6 372.2000000000001 236.5C376.1 249 372.5000000000001 258.9 372.5000000000001 258.9C388.0000000000001 267.5 399.3000000000001 283.3 401.6000000000001 302.1C405.2000000000001 333.1 382.8000000000001 361.3 351.8000000000001 364.9C329.7000000000001 367.4 308.1000000000001 357.2 297.5000000000001 339.2C274.3000000000001 299.1 298.9000000000001 268.3 319.9000000000001 257.8C305.5000000000001 259.2 285.6 269.7 279.8 292.1C273.2 317.8 282.6 341.9 288.7 353.5C288.7 353.5 284.3 359.3 280.7 362.4C280.7 362.4 266.9 362.4 256.1 357.1C268 372.3 281.3 371.5 281.3 371.5C281.3 377.9 280.7 386.4 277.7 393.1C272.3 404.1 253.8999999999999 406 246 390.3C246.1 390.5 246.3 390.7 246.4 390.8C241.4 378.9 245.3 334.9 263.3 303.6C260.8 302.2 254.2 297.5 250.3 293.6C228.7 283.9 194.1 233.3 194.1 233.3C165.9 222.5 116.9 182.4 123.5 153.6C123.8 150.6 124.9 148.1 126.5 146.1C123.7 143.9 121 141.1 118.2 137.8C106.3 124 112.9 102.6 135.9 113.4C151.7 120.6 165.5 133.6 172.2 143.8C172.2 143.8 166.7 148.8 155.9 148.2C183.6 154.8 190.2 157.6 202.1 157.3C210.1 153.4 210.1 191.6 210.1 191.6C210.1 206.3 207.9 222.6 199 233.1C211.5 220.9 228.1 200.4 227 172.5C226.2 154.2 211.8 149.5 211.8 149.5C202.7 132.9 168.6 83.6 181.4 43.5C181.4 43.5 171.7 58.4 171.2 65.6C153.8 46.2 124.7 13.3 146.6 1.1C173.2 -13.6 255.4 89.7000000000001 272.8 143.4C307.4000000000001 164.2000000000001 328.2 190.7000000000001 336.7 208.4C358.7 164.9 432 113.9 437.8 149.4z" /> + <glyph glyph-name="gripfire" + unicode="" + horiz-adv-x="384" d=" M171.8 -55.8C171.8 -50.5 176.6 -43.6 176.6 -33.5C176.6 -18.3 163.6 6.4 98.5 53.1C64.2 82.2 32 111.6 32 161.4C32 276.1 179.1 337.9 179.1 430C179.1 433.3 178.9 436.7 178.5 440C183.6 437.6 217.6 396.7 217.6 349.6C217.6 269.1 112.5 220.4 112.5 146.6C112.5 119.7000000000001 129.1 99.4 145.1 77.1C167.6 46.9 189.3 20.2 189.3 -9.4C189.2 -23.9 184.9 -39.1 171.8 -55.8zM317.8 185.6C319.3 177.2000000000001 320 169 320 161C320 109.2 290.6 63.5 252.7 24.2C251.7 23.2 250.5 21.8 249.5 21.8C245.9 21.8 214 63.4 214 75C214 75 255.8 130.7 255.8 171.9C255.8 182.7 253.1 193.6 246.7 205.3C245.2 173 191 117.6 188.6 117.6C185.9 117.6 170.7 139.6 170.7 159.7C170.7 165 171.7 170.4 173.9 175.5C176.3 181 230.5 247.5 230.5 292.2C230.5 298.4 229.5 304.2 227.1 309.3L223.1 316.5C239.8 310 305.7 252.4 317.8 185.6" /> + <glyph glyph-name="grunt" + unicode="" + horiz-adv-x="384" d=" M61.3 258.7C60.2 248.7 66.5 239.6 66.5 239.6C67.2 247.1 68.7 252.4 70.5 256.2C70.9 245.9 73.7 232.7 83.3 222.1C90.2 214.5 118.9 198.8 138.2 216C139.2 213.6 140.3 210.7 141.2 207.5C144.1 197.2 138.5 182.2 138.5 182.2S153.6 199.3 152.4 214.7C163.2 215.2 173.8 223.1 173.5 234.2C173.5 234.2 154.6 223.8 138 243C128.3 254.2 97.1 285 54.9 274.8C59.2 273.8 63.8 272.4 68.4 270.7000000000001H68.3C64.1 268.7000000000001 61.8 263.6 61.3 258.7000000000001zM89.6 260.5C109.1 249.5 127 234.8 134.5 223.5C128.8 220.2 112.8 213.1 96.5 225.2C86.2 232.8 86.7 251.4 89.6 260.5zM168.8 26.8C171 24.5 170.3 21.5 169.7 20C168.6 17.3 164.2 8.4 156.7 0.2C154 -2.7 150.1 -4.4 145.7 -4.4C141.4 -4.4 137 -2.8 133.9 -0.1C131.6 2 123.7 9.4 120.2 18.5C118.9 21.9 119.2 24.6 121.1 26.6C122.4 27.9 125.1 29.5 130.6 29.5H160C164.1 29.5 167 28.6 168.8 26.8zM231.7 214.7C230.5000000000001 199.2 245.6 182.2000000000001 245.6 182.2000000000001S240.0000000000001 197.2000000000001 242.9000000000001 207.5000000000001C243.8000000000001 210.7000000000001 244.9000000000001 213.5000000000001 245.9000000000001 216.0000000000001C265.2000000000001 198.7000000000001 293.9000000000001 214.5000000000001 300.7000000000001 222.1000000000001C310.3000000000001 232.7000000000001 313.0000000000001 245.9000000000001 313.5000000000001 256.2000000000001C315.3000000000001 252.4000000000001 316.9000000000001 247.1000000000001 317.5000000000001 239.6000000000001C317.5000000000001 239.6000000000001 323.9000000000001 248.7000000000001 322.7000000000001 258.7000000000001C322.1 263.7000000000001 319.8000000000001 268.7000000000001 315.7000000000001 270.5000000000001H315.6C320.2000000000001 272.3000000000001 324.8 273.7000000000001 329.1 274.6C286.8 284.8000000000001 255.7 254.0000000000001 246.0000000000001 242.8000000000001C229.3000000000001 223.6000000000001 210.5 234.0000000000001 210.5 234.0000000000001C210.3000000000001 223.1 220.9 215.1 231.7 214.7zM249.5000000000001 223.5C257 234.9000000000001 274.9000000000001 249.5000000000001 294.4000000000001 260.5C297.4000000000001 251.4000000000001 297.8 232.8000000000001 287.4000000000001 225.1C271.1 213 255.2000000000001 220.1 249.5000000000001 223.5C249.4000000000001 223.4 249.5000000000001 223.5 249.5000000000001 223.5zM263 26.6C264.9 24.7 265.2 22 263.9 18.7C260.4 9.8000000000001 252.5 2.6 250.2 0.6C247.1 -2 242.8 -3.6 238.4 -3.6S230.1 -1.9999999999999 227.4 0.9C219.9 8.9 215.4 17.6 214.4 20.2C213.8 21.7 213.1 24.6 215.3 26.9C217 28.7 220 29.6 224.2 29.6H253.6C259 29.5 261.7 27.9 263 26.6zM164.7 278.1C174.6 272.1 183.5 270 192 269.8C200.5 270 209.4 272.1 219.3 278.1C219.3 278.1 204.8 260.4000000000001 192.1 260.3H191.9C179.2000000000001 260.5 164.7000000000001 278.1 164.7000000000001 278.1zM349.2 130.7000000000001C346.8 112.8000000000001 336.2 96.9 324.6 87.0000000000001C321.5 109.7000000000001 320.9 142.5000000000001 320.9 149.4C320.9 164.1 330.4 173.9 333.1 175.5000000000001C335.6 177.0000000000001 338.5 178.5000000000001 341.4 180.1000000000001C359.4 189.7000000000001 381.8 201.7000000000001 381.8 223.8000000000001C381.8 240.0000000000001 372.5 247.0000000000001 366.4 251.6000000000001C365.6 252.2000000000001 364.9 252.7000000000001 364.2 253.3000000000001C362.1 255.0000000000001 360.5 256.3000000000001 359.9 257.7000000000001C355.5 267.5000000000001 356.3 291.9000000000001 358.2 295.3000000000001C358.8 295.9000000000001 374.9 316.2000000000001 370 334.5000000000001C368 341.9000000000001 363.1 347.8000000000001 355.9 351.5000000000001C350.6 354.2000000000001 344 355.7000000000001 336.4 356.0000000000001C336.3 358.0000000000001 335.9 359.9000000000001 335.5 361.9000000000001C334.9 364.5000000000001 334.4 367.2000000000001 334.6 370.0000000000001C335 374.7000000000001 335.4000000000001 379.0000000000001 336.8 381.3000000000001C345.2 394.6000000000001 365.6 398.9000000000001 365.8 398.9000000000001L378.1 401.3000000000001L370 410.8000000000001C369.9 411.0000000000001 352.7 428.3000000000001 323.7 428.3000000000001C315.8 428.3000000000001 307.7 427.0000000000001 299.6 424.4000000000001C275.4 416.6000000000001 256.7 393.9000000000001 250.2 385.1000000000001C247.1 386.1000000000001 243.9 387.0000000000001 240.6 387.8000000000001C236.4 403.6000000000001 249.6 426.3000000000001 249.6 426.3000000000001S236 429.3000000000001 215.9 411.1000000000001C213.3 417.6000000000001 207.8 431.6000000000001 214.1 448.3000000000001C184.6 437.9 177.2 422 175 407.6C167.4 413 168.3 430.7 167.8 435.2C160.3 434.3 138.6 413.3 139.6 386.9C137.6 386.4 135.7 385.8 133.7 385.2C127.2 394 108.6 416.7 84.3 424.5C76.4 426.7 68.3 428 60.4 428C31.4 428 14.3 410.7 14.1 410.5L6 401.1L18.3 398.7C18.5 398.7 38.9 394.4 47.3 381.1C48.7 378.9 49.1 374.5 49.5 369.8C49.7 367 49.1 364.3 48.6 361.7C48.2 359.8 47.8 357.8 47.7 355.8C40 355.5 33.5 354 28.2 351.3C21 347.6 16.1 341.7 14.1 334.3C9.1 316.1 25.3 295.8 25.9 295.1C27.8 291.7 28.6 267.3 24.2 257.5C23.6 256.1 22 254.8 19.9 253.1C19.2 252.6 18.5 252 17.7 251.4C11.6 246.8 2.3 239.7 2.3 223.6C2.3 201.5 24.7 189.5 42.7 179.9C45.7 178.3 48.5 176.8 51 175.3C53.7 173.6999999999999 63.2 163.9 63.2 149.1999999999999C63.2 142.3 62.6 109.4999999999999 59.5 86.8C47.9 96.6999999999999 37.3 112.6999999999999 34.9 130.6C34.9 130.6 5.7 107.9999999999999 14.3 59.8C19.5 30.3 37.5 13.6999999999999 61.3 5.1C70.1 -14.0000000000001 90.7 -40.6 128.6 -44.5000000000001C143 -56.3 163 -64 192.2 -64H192.4C221.5 -64 241.5 -56.3 256 -44.5C293.9 -40.6 314.5 -14 323.3 5.1C347.1 13.8 365 30.3 370.3 59.8C378.5 108.2 349.2 130.7000000000001 349.2 130.7000000000001zM305.7 410.3C311.3 412.1 317.3 413 323.4 413C334.4 413 343.3 410 348.1 408C345 406.6 341.7 404.8 338.4 402.7C336 403.1 332.8 403.5 329.2 403.5C318.7 403.5 308.7 400.4 300.5 394.6C288.2 385.9 282.5 377.7 279.8 372.2C277.6 373.5 275.3 374.7 272.7 375.9C271.1 376.7 269.6 377.4 268 378.1C274.1 387.2 287.9 404.6 305.7 410.3zM326.7 392.1C325.9 391.1 325.1 390 324.4 388.9C321.1 383.7 320.5 377.3 320 371.1C319.5 364.7 318.9 358.6 315.6 354.1C311.4000000000001 353.3 307.5 352.4 304.1 351.4C301.8 354.5 298.5 358.4 293.6 362.6C295 367.4 299.1 378.7 307.1 385.1C312.7000000000001 389.4 319.3 391.8 326.7000000000001 392.1zM45.6 402.7C42.3 404.9 39 406.7 35.9 408C40.7 410 49.6 413 60.6 413C66.7 413 72.6 412.1 78.3 410.3C96.1 404.5 109.9 387.1 116 378.2C114.4 377.5 112.8 376.8 111.2 376C108.7 374.8 106.3 373.5 104.1 372.3C101.5 377.7 95.8 386 83.4 394.7C75.1 400.5 65.2 403.6 54.6 403.6C51.2 403.5 48 403.1 45.6 402.7zM90.3 362.6C85.4 358.4 82 354.6 79.8 351.4C76.4 352.3 72.5 353.3 68.3 354.1C65 358.5 64.5 364.6 64 371C63.5 377.2 62.9 383.6 59.6 388.8C58.9 389.9 58.1 391 57.3 392C64.7 391.7 71.3 389.4 76.8 385C84.8 378.7 88.9 367.4 90.3 362.6zM58.1 188.1C55.4 189.7000000000001 52.5 191.2000000000001 49.7 192.7C34.8 200.7 19.5 209 19.5 223.2C19.5 234.3 23.8 237.8 28.4 241.4L28.9 241.8C29.6 242.4 30.3 243 31.1 243.6C30.2 236.4000000000001 29.2 230.3 28.4 228.7C28.4 228.7 40.5 243.7 44.1 273C45.5 284.5 43 307.3 39 316C39.2 311.1 39 306.2 38.7 301.6C38.3 302.4 37.9 303.2 37.4 303.8C34.2 307.8 25.6 321.3 28 330.4C28.9 333.9 31.1 336.4 34.7 338.2C38.5 340.1 43.5 341.1 49.8 341.1C62.1 341.1 75.7 337.4 82.7 335.1C107.8 327.1 138.1 304.2 146.8 297.4C147 297.2 147.2 297.1 147.2 297.1L152.8 293.2L149.3 299C149.1 299.3 130.2 330.4 96.1 345.5C98.1 348.4 103.5 353.6 117.7 360.6C139.1 371.1 164.2 376.4 192 376.4C219.9 376.4 244.9 371.1 266.3 360.6C280.5 353.7 285.9000000000001 348.4 287.9000000000001 345.5C253.9000000000001 330.4 235.0000000000001 299.3 234.8000000000001 299L231.3000000000001 293.2L236.9000000000001 297.1S237.1 297.2 237.3000000000001 297.4C246.0000000000001 304.2 276.3000000000001 327.2 301.4000000000001 335.1C308.4000000000001 337.3 322.0000000000001 341.1 334.3 341.1C340.6 341.1 345.6 340.1 349.4000000000001 338.2C352.9000000000001 336.4 355.1 333.8 356.1 330.4C358.6 321.3 350 307.8 346.7000000000001 303.8C346.2000000000001 303.2 345.8000000000001 302.5 345.4000000000001 301.6C345.1 306.2 344.9000000000001 311.1 345.1 316C341.1 307.2 338.6 284.5 340 273C343.6 243.7 355.7 228.7 355.7 228.7C354.9 230.3 353.9 236.4 353 243.6C353.7 243 354.5 242.4 355.2 241.8L355.7 241.4C360.3 237.7 364.6 234.3 364.6 223.2C364.6 209 349.2 200.7 334.4 192.7C331.5 191.2 328.7 189.6 326 188.1C317.3 183.1 308 171.4 306.9 153.9C306 139.3 307.8 104 310.3 78C297.9 73.2 283.6 71.6 270.6 71.2C268.6 75.3 266.7 79.7 265.1 84.3C264.4 86.3 245.5 135.4 238.7 146.5C244.2 107.5 256.2 72.8 262.2 56.9C258.7 57.4 254.8999999999999 57.6 250.5 57.6H133.5C129.0999999999999 57.6 125.2 57.3 121.8 56.9C127.8 72.8 139.9 107.5 145.3 146.5C138.5 135.3 119.6 86.2 118.9 84.3C117.3 79.7 115.4 75.3 113.4 71.2C100.4 71.6 86.2 73.2 73.7 78C76.2 104 77.9999999999999 139.2 77.1 153.9C76.2 171.3 66.8 183.1 58.1 188.1zM34.8 43.4C22.7 63.4 26.1 97.5 31.1 102.5C42 68.1 78.3 58.2 105.5 57.1C102.8 52.9 100.3 49.5 98.5 47.1L97.1 45.7C89.9 37.9 88.5 27.2 93 13.9C70.3 14.0000000000001 46.7 23.7 34.8 43.4zM80.5 -0.1C86.5 -1.2 92.7 -2 99.1 -2.5C102.6 -10.5 106.5 -18.4 111.4 -25.6C97 -19.7 87 -9.6 80.5 -0.1zM192 -50.2C131.4 -50.1 113.7 -4.4 107.1 14.5C103.4 25 103.7 32.7 108 37.6C110.9 40.9 117.5 44.8 132.6 44.8H251.4C266.5 44.8 273.2 40.9 276 37.6C280.2 32.8 280.5 25 276.9 14.5C270.3 -4.3 252.6 -50.1 192 -50.2zM272.6 -25.6C277.5 -18.4 281.4000000000001 -10.4999999999999 284.9000000000001 -2.4999999999999C291.3 -1.9999999999999 297.5000000000001 -1.1999999999999 303.5000000000001 -0.1C297.0000000000001 -9.6 287.0000000000001 -19.7 272.6000000000001 -25.6zM349.2000000000001 43.4C337.2000000000001 23.7 313.6 14.1 291.1 13.7C295.6 27.0000000000001 294.2000000000001 37.8000000000001 287 45.5000000000001C286.6 46.0000000000001 286.1 46.5000000000001 285.6 47.0000000000001C283.8 49.4 281.3 52.8000000000001 278.6 57.0000000000001C305.8 58.2000000000001 342.1 68.0000000000001 353 102.4C358 97.4 361.4 63.3 349.2 43.4z" /> + <glyph glyph-name="gulp" + unicode="" + horiz-adv-x="256" d=" M209.8 56.9L195.7 32.3L191.1 -47.9C191.1 -56.8 162.8 -64 128 -64S64.9 -56.8 64.9 -47.9L59.1 31.5L44.2 56.9C85.4 39.6 170.2000000000001 40.2 209.8000000000001 56.9zM13.8 310.2L27.4 184.7C33.3 204.7 48.2 231.7 67.4 239.9C73.7 242.6 80.1 242.6 86.1 239C91.3 236 95.7 229.7 96.2 227.2C97.4 220.7 94.2 218.1 91.7 218.1C88.7 218.1 86.4 222.7 84.9 225.4C80.8 232.7 74.6 233 68 228.2C61.1 223.2 55.1 214.8 50.9 207.5C45.8 198.7 41.5 189 38.9 179.3C37.4 173.7 36 164.7 38.3 159.4C39.3 157.2000000000001 40.8 155.8 43.2 155.8C48.2 155.8 55.5 162.4 59 165.9C63.5 170.4 69.3 177.4 71.5 181.9L76.7 197.4C79.3 204.2000000000001 86.6 203 86.6 197.4C86.6 187.2000000000001 82.9 183.8 76.6 162.7000000000001C70.8 143.2000000000001 69 136.9 69 136.9C68.3 134.1 65.6 129.4 62.7 129.4C61.5 129.4 60.6 129.8 60.1 130.6C59.1 132 59.2 135.9 59.3 136.9C59.5 140.1 65.6 159.1 66.6 162.1C64.6 159.9 62.5 157.7000000000001 60.2 155.5C54.8 150.4 46.1 143.7 38.7 143.7C35.3 143.7 33.1 144.6 31 146.1L38.6 66.5C40.6 61.5 77.8 49.4 126.8 49.4C175.9 49.4 213.1 61.6 215 66.5L225.9000000000001 161.1C220.2000000000001 155.9 213.6 149.5 206.3000000000001 146.3C200.9 144 188.9 142.5 188.9 152C188.9 157.2 198 166.8 203.3000000000001 173.5C204.7000000000001 175.2 208 179.4 208 181.6C208 184.5 202 183.8 196.3000000000001 179.1C193.1000000000001 176.4 190.1000000000001 172.8 187.6000000000001 169.4C183.3000000000001 163.4 181.0000000000001 158.2000000000001 179.1000000000001 153.9C172.9000000000001 139.7000000000001 175.0000000000001 145.3 170.0000000000001 131.9C165.0000000000001 118.6 165.8000000000001 120.1 164.8000000000001 117.9C163.9000000000001 116.0000000000001 162.6000000000001 114.4 160.8000000000001 113.4C158.9000000000001 112.4 156.3000000000001 112.5000000000001 154.7000000000001 113.7000000000001C153.8000000000001 114.3000000000001 153.4000000000001 115.6 153.4000000000001 117.4C153.4000000000001 118.3 153.5000000000001 119.2000000000001 153.7000000000001 120.1C155.2000000000001 126.2000000000001 161.5000000000001 138.2000000000001 168.7000000000001 154.4C170.3000000000001 158.1 169.7000000000001 157.0000000000001 169.5000000000001 156.7000000000001C163.3000000000001 150.7000000000001 158.6000000000001 147.8000000000001 155.1000000000001 146.2000000000001C149.3000000000001 143.6 142.1000000000001 143.6 140.6000000000001 150.3000000000001C140.5000000000001 150.7000000000001 140.5000000000001 151.1000000000001 140.4000000000001 151.5000000000001C128.6000000000001 142.3000000000001 116.1000000000001 139.8000000000001 120.4000000000001 159.6000000000001C115.8000000000001 151.4000000000001 107.8000000000001 144.7000000000001 98.0000000000001 144.7000000000001C93.9000000000001 144.7000000000001 90.9000000000001 146.1000000000001 89.4000000000001 149.8000000000001C87.1000000000001 155.3000000000001 90.7000000000001 164.7000000000001 94.0000000000001 173.6000000000001C95.7000000000001 178.1000000000001 98.0000000000001 183.5000000000001 101.1000000000001 189.8000000000001C102.7000000000001 193.2000000000001 105.3000000000001 195.2000000000001 108.7000000000001 194.3000000000001C109.3000000000001 194.1000000000001 109.8000000000001 193.9000000000001 110.3000000000001 193.6000000000001C112.9000000000001 191.8000000000001 111.9000000000001 189.1000000000001 110.6000000000001 186.4000000000002C106.8000000000001 178.9000000000002 103.5000000000001 173.4000000000002 101.3000000000001 165.6000000000001C100.4000000000001 162.3000000000001 99.3000000000001 156.6000000000001 102.8000000000001 156.6000000000001C105.2000000000001 156.6000000000001 107.5000000000001 157.4000000000002 109.7000000000001 159.0000000000001C114.3000000000001 162.4000000000001 118.0000000000001 167.5000000000001 120.8000000000001 172.5000000000001C122.8000000000001 176.1000000000001 125.2000000000001 180.8000000000001 126.4000000000001 184.8000000000001C126.9000000000001 186.5000000000001 127.5000000000001 188.1000000000001 128.2000000000001 189.6000000000001C129.3000000000001 192.1000000000001 130.8000000000001 194.7000000000001 133.4000000000001 194.7000000000001C134.7000000000001 194.7000000000001 135.8000000000001 194.2000000000001 136.6000000000001 193.2000000000001C138.3000000000001 191.0000000000001 137.9000000000001 188.7000000000002 137.0000000000001 186.3000000000001C135.0000000000001 180.7000000000001 132.3000000000001 175.7000000000001 130.1000000000001 169.6000000000001C128.8000000000001 166.1000000000001 127.4000000000001 161.6000000000001 127.4000000000001 157.9000000000002C127.4000000000001 154.5000000000002 131.1000000000001 155.3000000000001 134.2000000000001 156.7000000000002C136.6000000000001 157.8000000000002 139.0000000000001 159.5000000000002 141.0000000000001 161.2000000000002C142.2000000000001 166.1000000000001 141.9000000000001 165.0000000000002 167.4000000000001 229.4000000000002C168.7000000000001 232.7000000000002 171.1000000000001 234.1000000000002 173.5000000000001 234.1000000000002C174.7000000000001 234.1000000000002 175.7000000000001 233.7000000000002 176.7000000000001 233.0000000000002C178.4 231.7000000000002 178.4 228.9000000000002 177.7000000000001 226.8000000000002C177.0000000000001 224.9000000000002 177.1000000000001 225.5000000000002 173.2000000000001 216.3000000000002C168.0000000000001 204.2000000000002 164.6000000000001 195.5000000000002 160.0000000000001 184.4000000000002C158.1000000000001 179.8000000000001 152.3000000000001 165.5000000000002 151.3000000000001 162.1000000000001C150.7000000000001 159.9000000000002 150.0000000000001 156.3000000000001 152.3000000000001 156.3000000000001C157.7000000000001 156.3000000000001 171.6000000000001 169.4000000000002 175.4000000000001 173.3000000000001C175.6000000000001 173.6000000000001 175.9000000000001 173.7000000000001 176.3000000000001 173.9000000000002C176.9000000000001 175.8000000000001 177.5000000000001 177.6000000000001 178.0000000000001 179.4000000000002C179.4000000000001 183.2000000000002 180.7000000000001 187.6000000000001 183.3000000000001 190.7000000000002C184.1000000000001 191.7000000000002 185.0000000000001 192.3000000000002 186.0000000000001 192.3000000000002C188.8000000000001 192.3000000000002 190.2000000000001 191.1000000000001 190.2000000000001 188.3000000000002C190.2000000000001 187.2000000000002 189.5000000000001 183.2000000000002 189.1000000000001 182.1000000000002C190.5000000000001 183.6000000000002 192.0000000000001 185.1000000000002 193.6000000000001 186.6000000000002C208.6000000000001 200.5000000000002 219.3000000000001 193.4000000000002 219.3000000000001 186.4000000000002C219.3000000000001 179.0000000000002 210.4 168.7000000000002 205.5 163.0000000000002C203.9 161.1000000000003 200.6 157.6000000000003 200.5 156.6000000000003C200.5 155.3000000000003 201.4 154.8000000000003 202.7 154.8000000000003C204.7 154.8000000000003 209.1 158.3000000000003 210.7 159.5000000000002C215.7 163.4000000000002 222.5 169.4000000000002 227.3 173.6000000000003L242.1 310.4000000000003C211.6 293.3000000000003 44.5 293.2000000000003 13.8 310.2000000000003zM243.5 318.7C243.5 297.7 12.3 297.7 12.3 318.7C12.3 327.5 64.1 334.6 127.9 334.6C136.9 334.6 145.7 334.5 154.2 334.2L166.8 382.9L228.1 447.4C229.5 448.8 233.9 447.6 238 443.9S244.6 436 243.3 434.6L243.2 434.5L185.9 374L175.9 333.3C215.8 330.7 243.5 325.2 243.5 318.7zM174.1 314.1C174.1 314.9 173.2 315.6 171.6 316.2L171.4 315.4C171.4 314.1 166.4 313 160.3 313S149.2 314.1 149.2 315.4C149.2 315.5 149.2 315.6 149.3 315.7L149.5 316.4C147.7 315.8 146.5 315 146.5 314.1C146.5 312 152.7 310.4 160.2 310.4C167.9 310.3 174.1 312 174.1 314.1z" /> + <glyph glyph-name="hacker-news-square" + unicode="" + horiz-adv-x="448" d=" M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM21.2 218.8H21C21.1 218.9 21.2 219.1 21.3 219.2C21.3 219.1 21.3 218.9 21.2 218.8zM239.2 164.9V64H207.8V166.7L128 320H165.3C217.8 221.7 214.5 218.8 224.6 194.4C236.9000000000001 221.4 230.4000000000001 218.8 285.2000000000001 320H320L239.2 164.9z" /> + <glyph glyph-name="hacker-news" + unicode="" + horiz-adv-x="448" d=" M0 416V-32H448V416H0zM21.2 218.8H21C21.1 218.9 21.2 219.1 21.3 219.2C21.3 219.1 21.3 218.9 21.2 218.8zM239.2 164.9V64H207.8V166.7L128 320H165.3C217.8 221.7 214.5 218.8 224.6 194.4C236.9000000000001 221.4 230.4000000000001 218.8 285.2000000000001 320H320L239.2 164.9z" /> + <glyph glyph-name="hackerrank" + unicode="" + horiz-adv-x="464.36" d=" M453.5 320C439.01 344.95 261.13 448 232.16 448C203.2 448 25.25 345.21 10.84 320C-3.57 294.79 -3.65 89.2 10.84 63.99C25.33 38.79 203.22 -64 232.16 -64S439.01 38.92 453.49 64C467.97 89.08 467.98 295.05 453.5 320zM292.13 33.78C288.17 33.78 251.22 69.55 254.13 72.47C255 73.34 260.39 73.95 271.68 74.3C271.68 100.53 272.27 142.89 272.62 160.62C272.6600000000001 162.6399999999999 272.18 164.05 272.18 166.47H192.25C192.25 159.37 191.79 130.27 193.62 93.59C193.85 89.05 192.04 87.63 187.88 87.65C177.75 87.68 167.61 87.76 157.47 87.73C153.37 87.72 151.6 89.2599999999999 151.73 93.84C152.65 127.28 154.69 177.86 151.58 306.51V309.68C141.91 310.03 135.2 310.64 134.32 311.52C131.4 314.44 168.86 350.2099999999999 172.81 350.2099999999999C176.77 350.2099999999999 213.98 314.43 211.08 311.52C210.21 310.65 203.18 310.03 194.31 309.68V306.52C191.89 280.77 192.28 226.93 191.68 201.13H271.94C271.94 205.68 272.33 235.87 270.74 284.7699999999999C270.64 288.1599999999999 271.69 289.94 274.95 289.9699999999999C286.02 290.05 297.1 290.0999999999999 308.18 290.0299999999999C311.64 290.0099999999999 312.75 288.31 312.68 284.6499999999999C309.0300000000001 93.3599999999999 312.02 106.7099999999999 312.02 74.31C320.89 73.9599999999999 328.84 73.35 329.71 72.47C332.59 69.56 296.09 33.78 292.13 33.78z" /> + <glyph glyph-name="hips" + unicode="" + horiz-adv-x="640" d=" M0 367.8C0 369.6 0.9 370.5 2.7 370.5H43.6C45.5 370.5 46.4 369.6 46.4 367.8V286.6C61.6 294.3 78.1 298.1 96.2 298C120.2 297.9 140.4 291.8 156.5 280C175.2 266.5 184.5 248.1 184.5 224.7V88.6C184.5 86.7000000000001 183.6 85.8 181.8 85.8H154.5C145.4 85.8 138.1 93.1 138.1 102.1V224.7C138.1 225.6 140.8 251.7 92.3 251.7C43.7 251.7 46.5 225.5 46.5 224.7V88.6C46.5 86.7000000000001 45.6 85.8 43.7 85.8H2.7C0.9 85.8 0 86.7 0 88.6V367.8zM497.7 146.3C511.4 136.1 531.8 127.2 556.1 127.2C579.4 127.2 588.9 131.7 592.6 140.8C595.6 148.7 592 156.9 580.4 162L526.8 185.5C505.4 194.9 492.9999999999999 209.5 489.6 229.1C483.9 262.8 511.8 282.4 512.3 282.8C525.5 292.4 544.3 298.2000000000001 570.8 298.2000000000001C589.8 298.2000000000001 608.1999999999999 294.9 625.9 288.3C627.1999999999999 287.8 627.8 287 627.8 285.7000000000001V241C627.8 238.9 625.5 237.6 623.8 238.6C584.0999999999999 259.3 547.1999999999999 250.9 539.8 245.4C533.1999999999999 240.5 533.8 232.9 542.4 229.3L600 204C616.5 196.9 628.1 185.6 634.9 169.9C640.4 157.3 641.5 144.3 638 130.8C628.4 93.9 593.1 85.3 592.4 84.9999999999999C581.9 81.8999999999999 568.8 80.6999999999999 556.1 80.6999999999999C539.5 80.6999999999999 523.5 83.3999999999999 507.9 88.8999999999999C498.2 92.2999999999999 493.3 99.1999999999999 493.3 109.5999999999999V144C493.3 146.1 495.6 147.7 497.7 146.3zM376.2 298.2C344.5 298.2 272 278.1 272 194.7V11.2C272 10.4 272.6 8.5 274.7 8.5H315.6C317.5 8.5 318.4 9.4 318.4 11.2V100C334.9 87.3 354.2 80.9 376.1 80.9C436.6 80.9 484.8 129.4 484.8 189.6C484.9 249.9 436.6 298.2 376.2 298.2zM376.2 127.3C359 127.3 344.3 133.4 332.2 145.5C320 157.6999999999999 314 172.3 314 189.5C314 224 341.6 251.7 376.2 251.7C410.7 251.7 438.4 224.0999999999999 438.4 189.5C438.5 155.1999999999999 411.1 127.3 376.2 127.3zM251.6 88.6C251.6 86.7 250.7 85.8 248.8 85.8H207.9C206.3 85.8 205.2 87.1999999999999 205.2 88.6V290.4C205.2 291.8 206.3 293.2000000000001 207.9 293.2000000000001H248.8C250.7 293.2000000000001 251.6 292.3 251.6 290.4V88.6M228.3 375.5C244.2 375.5 257.2 362.8 257.2 346.6C257.2 330.8 244.5 317.7 228.3 317.7S199.4 331 199.4 346.6C199.5 362.6 212.4 375.5 228.3 375.5" /> + <glyph glyph-name="hire-a-helper" + unicode="" + horiz-adv-x="512" d=" M443.1 448H71.9C67.9 410.7 37.4 380.2 0 376.3V4.8C37.4 -0.1 66 -27.6 71.9 -64H444.1C447.1 -27.6 476.6 1.8 512 5.8V376.3C475.6 382.2 447 411.6 443.1 448zM406.1 43.1C369.8 43.1 387.3 45.1 351 45.1C315.2 45.1 330 43.1 294.9 43.1C289 43.1 290 51.3 294.9 52.9C317.7 60.5000000000001 317.8 63.1 319.5 65.7000000000001C329.9 81.3000000000001 325.4 148.7000000000001 325.4 178.7000000000001C325.4 184.0000000000001 319 191.5000000000001 311.6 191.5000000000001H200.4C193 191.5000000000001 186.6 184.0000000000001 186.6 178.7000000000001C186.6 148.7000000000001 182.1 81.3000000000001 192.5 65.7000000000001C194.2 63.2000000000001 194.3 60.5000000000001 217.1 52.9C222 51.3 223.1 43.1 217.1 43.1C182 43.1 196.8 45.1 161 45.1C124.7 45.1 142.2 43.1 105.9 43.1C98 43.1 100.1 53.9 105.9 53.9C116.1 57.3 119.4 57.4 127.6 67.7000000000001C135.3 80.6 135.5 112.1 135.5 195.5000000000001V296.7C135.5 318.9 123.3 325 106.9 329.1C98.1 331.3 102.9 340.9 107.9 340.9C144.4 340.9 128.5 338.9 165 338.9C197.7 338.9 181.5 340.9 214.2 340.9C217.5 340.9 222.7 332.6 215.2 330.1C210.3 328.5 187.6 326.4 187.6 290.8C187.6 245.2 187.4 235 188.6 222C188.6 220.7 190.9 209.2 201.4 209.2H310.6C321.1 209.2 323.4000000000001 220.7 323.4000000000001 222C324.6 235 324.4000000000001 245.2 324.4000000000001 290.8C324.4000000000001 326.4 301.7000000000001 328.5 296.8 330.1C289.3 332.6 294.5 340.9 297.8 340.9C330.5 340.9 314.3 338.9 347 338.9C383.5 338.9 367.6 340.9 404.1 340.9C409 340.9 414 331.3 405.1 329.1C388.7000000000001 325 376.5 318.8 376.5 296.7000000000001V195.5C376.5 112.1 376.6 80.6 384.4 67.7C392.6 57.5 395.8 57.3 406.1 53.9C411.9 53.9 413.9 43.1 406.1 43.1z" /> + <glyph glyph-name="hooli" + unicode="" + horiz-adv-x="640" d=" M508.4 96H566.3V291.3L508.4 264V96zM582.1 206.5V96H640V206.5H582.1zM331.4000000000001 215.4C313.2000000000001 233.6 281.0000000000001 232.5 281.0000000000001 232.5S248.8000000000001 233.6 230.6000000000001 215.4C228.7000000000001 213.5 226.9000000000001 211.5 225.3000000000001 209.4C187.1 239 152.8000000000001 255.9 123.2000000000001 270.5V291.2L100.7000000000001 280.6C46.3000000000001 302.7 11.7 298.8 3.4 280.5C3.4 280.5 -21.4999999999999 247.7 65.3 169.6V200.6C16.5 255.2 26.3 276.7000000000001 30 279.8C43.5 291.2000000000001 67.5 287.8 94.4000000000001 277.7000000000001L65.2 264V200.7C78.3 186 95.7 169.2 118.7 150.3L123.2 146.7V176.5C123.2 183.4 124.9 194.7 134 194.7S144.6 187.8 144.6 179.7V131C162.6 118.8 181.9 108.9 202.3 101.4V195.3C202.3 214 188.9 232.7 161.7 232.7C145.9 232.8 131.2 224.5 123.2 210.8V265.1C165.1 244.2 207.1 218.6 223.1 206.8C212.9 192.2 213.8 178.6999999999999 213.8 163.1C213.8 144.4 212.4 128.8 230.6 110.6C248.8 92.4 281 93.4999999999999 281 93.4999999999999S313.3 92.3999999999999 331.4 110.6C349.6 128.8 348.1 144.4 348.1 163.1C348.1 181.6 349.6 197.3 331.4 215.4zM291.7000000000001 143.5C291.7000000000001 139.9 289.9000000000001 131 281.0000000000001 131C272.1000000000001 131 270.3000000000001 139.9 270.3000000000001 143.5V183.9C270.3000000000001 192.6 277.6000000000001 194.8 281.0000000000001 194.8C284.4000000000001 194.8 291.7000000000001 192.7 291.7000000000001 183.9V143.5zM477.4 215.4C459.2 233.6 427.0000000000001 232.5 427.0000000000001 232.5S394.7000000000001 233.6 376.6000000000001 215.4C358.4000000000001 197.2 359.8000000000001 181.5 359.8000000000001 162.8C359.8000000000001 144.1 358.4000000000001 128.5 376.6000000000001 110.3C394.8000000000001 92.1 427.0000000000001 93.2 427.0000000000001 93.2S459.3000000000001 92.1 477.4 110.3C495.6 128.5 494.2 144.1 494.2 162.8C494.1 181.6 495.5000000000001 197.3 477.4 215.4zM437.6 143.5C437.6 139.9 435.8 131 426.9000000000001 131C418.0000000000001 131 416.2000000000001 139.9 416.2000000000001 143.5V183.9C416.2000000000001 192.6 423.5000000000001 194.8 426.9000000000001 194.8C430.3 194.8 437.6 192.7 437.6 183.9V143.5zM611.1 216.5C627 216.5 640 229.4 640 245.4S627.1 269.9 611.1 269.9C595.2 269.9 582.2 261.3 582.2 245.4S595.1 216.5 611.1 216.5zM144.5 96L182.8 95.2C169.6 99.8 156.8 105.4 144.5 112V96zM123.1 96V124.6C116.6 128.8 110.1 133.3 103.7 138.2000000000001C88.9 149.4 76.2 159.9 65.2 169.7000000000001V96H123.1zM182.8 95.2C219.3 82.7 252.7 81 277.5 88C257.6 87.8 231.7 90.6 202.2 101.3V96L182.8 95.2z" /> + <glyph glyph-name="hornbill" + unicode="" + horiz-adv-x="509.02" d=" M75.37 77.7C77.51 61.87 69.6 45.72 54.43 38.41C35.58 29.3099999999999 12.88 37.24 3.75 56.09C-5.33 74.92 2.62 97.67 21.45 106.74C28.5 110.1399999999999 36.08 111.16 43.3 110.12C-34.98 221.47 95.3 300.65 95.3 300.65C89.44 257.61 87.06 209.49 87.06 209.49C19.75 168.04 87.98 145.43 126.87 136.62C146.64 82.9999999999999 198.05 44.68 258.5300000000001 44.68C260.4500000000001 44.68 262.3 44.8899999999999 264.2000000000001 44.9599999999999L264.3100000000001 26.0999999999999C165.0900000000001 24.7099999999999 105.6100000000001 55.2399999999999 75.3700000000001 77.6999999999999zM183.38 405.4C184.27 412.4 183.28 419.73 179.99 426.55C170.89 445.39 148.17 453.33 129.33 444.24C110.47 435.14 102.53 412.41 111.64 393.56C118.62 379.0900000000001 133.66 371.14 148.82 372.33C126.27 342.42 94.99 282.76 96.4 182.3L118.24 182.45C118.22 183.35 118.1 184.22 118.1 185.13C118.1 244.08 154.47 294.46 205.95 315.29C213.96 353.04 236.6900000000001 429.59 279.79 359.58C279.79 359.58 327.93 357.2 370.9700000000001 351.34C370.9700000000001 351.35 293.13 479.37 183.38 405.4zM487.56 271.23C506.4 280.3200000000001 514.37 303.04 505.26 321.88C496.16 340.73 473.43 348.6500000000001 454.59 339.5700000000001C439.32 332.2000000000001 431.4 315.88 433.72 299.93C402.01 321.87 343.88 348.98 250.27 347.67L250.41 325.17C253.11 325.3200000000001 255.8 325.5800000000001 258.55 325.5800000000001C317.85 325.5800000000001 368.45 288.7800000000001 389.04 236.82C428.14 227.8 494.1 205.24 427.5 164.28C427.5 164.28 425.16 116.15 419.29 73.12C419.29 73.12 552.74 154.28 468.2499999999999 267.73C474.6799999999999 267.23 481.3199999999999 268.2200000000001 487.5599999999999 271.23zM373.05 11.76C394.48 44.22 419.4700000000001 101.45 418.19 191.42L398.67 191.28C398.75 189.22 398.9700000000001 187.21 398.9700000000001 185.13C398.9700000000001 124.86 360.92 73.58 307.5800000000001 53.68C298.73 14.73 276.1400000000001 -52.98 234.8100000000001 14.19C234.8100000000001 14.19 186.6900000000001 16.53 143.6200000000001 22.41C143.6200000000001 22.41 223.5400000000001 -108.9299999999999 335.5200000000001 -28.5599999999999C335.8300000000001 -33.28 336.9700000000001 -38.0099999999999 339.1600000000001 -42.53C348.2200000000001 -61.42 370.9600000000001 -69.3099999999999 389.8000000000001 -60.2399999999999C408.6600000000001 -51.1399999999999 416.5900000000001 -28.41 407.5000000000001 -9.59C400.9400000000001 4.03 387.2400000000001 11.84 373.0500000000001 11.76z" /> + <glyph glyph-name="hotjar" + unicode="" + horiz-adv-x="448" d=" M414.9 286.5C340.2 419 121.1 448 121.1 448S222.2 337.6 93 250.3C11.3 195.2 -21 123.6 14 45.4C40.8 -14.5 97.5 -38.9 158.6 -48C129.4 7.1 152 74.4 154.5 81.6C211.6 -4.8 319.5 81.6 265.3 175.5C336.3 160.1 346.9 36.9 292.4000000000001 -40C372.9000000000001 -14.7 426.5 48.9 441.2000000000001 105.6C456.7 164.9 444.9000000000001 233.5000000000001 414.9000000000001 286.5z" /> + <glyph glyph-name="houzz" + unicode="" + horiz-adv-x="414.6" d=" M258.9 117.3H154.3V-32H0V416H109.5V311.5L414.6 225.9V-32H258.9V117.3z" /> + <glyph glyph-name="html5" + unicode="" + horiz-adv-x="384" d=" M0 416L34.9 20.2L191.5 -32L349.1 20.2L384 416H0zM308.2 288.1H124.4L128.5 238.7H304.1L290.5 90.3L192.6 63.3V62.9999999999999H191.5L92.8 90.3L86.8 166.1H134.5L138 128L191.5 113.5L245.2 128L251.2 190.2H84.3L71.5 335.8H312.6L308.2000000000001 288.1z" /> + <glyph glyph-name="hubspot" + unicode="" + horiz-adv-x="512" d=" M267.4 236.4C242.3 212.7 226.6 179.1 226.6 141.8C226.6 112.5 236.3 85.5 252.6 63.8L203.1 14C198.7 15.6 194 16.5 189.1 16.5C178.3 16.5 168.2 12.3 160.6 4.7C153 -2.9 148.8 -13.1 148.8 -23.9S153 -44.8 160.6 -52.4C168.2 -60.0000000000001 178.4 -64 189.1 -64C199.9 -64 210 -60.1 217.7 -52.4C225.3 -44.8 229.5 -34.6 229.5 -23.9C229.5 -19.7 228.9 -15.7 227.6 -11.8L277.6 38.4C299.6 21.5000000000001 327 11.5000000000001 356.9000000000001 11.5000000000001C428.8000000000001 11.5000000000001 486.9 69.8000000000001 486.9 141.7000000000001C486.9 206.9 439.2000000000001 260.9000000000001 376.7000000000001 270.4000000000001V332C394.2000000000001 339.4 404.9000000000001 355.8 404.9000000000001 374.9C404.9000000000001 401 384.0000000000001 422.8 357.9000000000001 422.8S311.2 401 311.2 374.9C311.2 355.8 321.9 339.4 339.4 332V270.8C324.2 268.7000000000001 309.8 264.1 296.7 257.2000000000001C269.1 278.1 179.2 342.9000000000001 127.8 382C129 386.4000000000001 129.8 391 129.8 395.8C129.8 424.6 106.3 448 77.4 448C48.6 448 25.2 424.6 25.2 395.8C25.2 366.9 48.6 343.5 77.4 343.5C87.2 343.5 96.3 346.4 104.2 351.1L267.4 236.4zM356.9 72.8C318.8 72.8 287.9 103.7 287.9 141.8S318.8 210.8 356.9 210.8S425.9 179.9 425.9 141.8S395 72.8 356.9 72.8z" /> + <glyph glyph-name="imdb" + unicode="" + horiz-adv-x="448" d=" M350.5 159.3C350.5 153.9 352.1 144.9 344.3 144.9C342.7 144.9 341.3 145.7000000000001 340.5 147.3C338.3 152.4 339.4 191.4 339.4 192C339.4 195.8 338.3 204.7 344.3 204.7C351.6 204.7 350.5 197.4 350.5 192V159.3zM265 218.1C265 227.8 266.6 234.1 254.7 234.1V150.4C266.9 150.1 265 159.1 265 168.8V218.1zM448 368V16C448 -10.5 426.5 -32 400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368zM21.3 219.2C21.2 219.1 21.1 218.9 21 218.8H21.3V219.2zM97 256H64V128.2H97V256zM210.3 256H167.2L159.6 196.1C156.9 216.1 154.2 236.2 150.9 256H108.1V128.2H137.1V212.7L149.3 128.2H169.9L181.5 214.6V128.2H210.2V256zM296.6 210.7C296.6 218.8 296.9000000000001 227.5 295.2000000000001 235.1C290.9000000000001 257.6 263.8000000000001 256 246.2000000000001 256H221.6000000000001V128.2C307.7000000000001 128.1 296.6 122.2 296.6 210.7zM382.5 193.4C382.5 210.7 381.7 223.5 360.3 223.5C351.4000000000001 223.5 345.4000000000001 220.8 339.4000000000001 214.3V256H307.7000000000001V128.2H337.5000000000001L339.4000000000001 136.3C345.1 129.5 351.3 126.5 360.3 126.5C380.1 126.5 382.5 141.7 382.5 157.4V193.4z" /> + <glyph glyph-name="instagram" + unicode="" + horiz-adv-x="448" d=" M224.1 307C160.5 307 109.2 255.7 109.2 192.1S160.5 77.2 224.1 77.2S339 128.5 339 192.1S287.7 307 224.1 307zM224.1 117.4C183 117.4 149.4 150.9 149.4 192.1S182.9 266.8 224.1 266.8S298.8 233.3 298.8 192.1S265.2 117.4 224.1 117.4zM370.5 311.7C370.5 296.8 358.5 284.9 343.7 284.9C328.8 284.9 316.9 296.9 316.9 311.7S328.9 338.5 343.7 338.5S370.5 326.5 370.5 311.7zM446.6 284.5C444.9000000000001 320.4 436.7000000000001 352.2 410.4000000000001 378.4C384.2000000000001 404.6 352.4000000000001 412.8 316.5 414.6C279.5 416.7 168.6 416.7 131.6 414.6C95.8 412.9 64 404.7 37.7 378.5S3.3 320.5 1.5 284.6C-0.6 247.6 -0.6 136.7 1.5 99.7C3.2 63.8 11.4 32 37.7 5.8S95.7 -28.6 131.6 -30.4C168.6 -32.5000000000001 279.5 -32.5000000000001 316.5 -30.4C352.4 -28.7 384.2 -20.5000000000001 410.4 5.8C436.6 31.9999999999999 444.8 63.8 446.6 99.6999999999999C448.7 136.6999999999999 448.7 247.5 446.6 284.5zM398.8 60C391 40.4 375.9000000000001 25.3 356.2 17.4C326.7 5.7 256.7 8.4 224.1 8.4S121.4 5.8 92 17.4C72.4 25.2 57.3 40.3 49.4 60C37.7 89.5 40.4 159.5 40.4 192.1S37.8 294.8 49.4 324.2C57.2 343.8 72.3 358.9 92 366.8C121.5 378.5 191.5 375.8 224.1 375.8S326.8 378.4 356.2 366.8C375.8 359 390.9 343.9 398.8 324.2C410.5 294.7 407.8 224.7 407.8 192.1S410.5 89.4 398.8 60z" /> + <glyph glyph-name="internet-explorer" + unicode="" + horiz-adv-x="512" d=" M483.049 288.294C493.904 312.8690000000001 504.473 348.7320000000001 504.473 376.165C504.473 448.887 424.832 474.536 294.8 414.742C187.168 421.923 83.579 341.072 57.7019999999999 228.2850000000001C88.554 263.1470000000001 135.973 310.5830000000001 179.679 329.4430000000001C125.404 281.15 79.128 219.998 43.992 156.275C23.246 118.349 0 57.06 0 11.253C0 -87.322 92.854 -75.2470000000001 180.251 -30.753C211.674 -46.183 246.81 -46.326 281.9460000000001 -46.326C379.0700000000001 -46.326 466.1950000000001 7.968 498.76 99.696H377.927C325.418 11.103 181.108 46.7 181.108 147.132H509.9C516.307 190.713 508.245 242.847 483.049 288.294zM64.559 101.123C82.27 49.973 118.262 5.252 164.825 -22.181C76.084 -71.1210000000001 -8.442 -51.277 64.559 101.1229999999999zM180.536 209.996C182.536 265.147 230.812 304.867 284.516 304.867C337.9340000000001 304.867 386.497 265.147 388.497 209.996H180.536zM365.072 397.596C386.497 407.883 413.635 419.599 437.63 419.599C469.052 419.599 491.904 397.882 491.904 365.877C491.904 345.874 484.477 316.87 477.335 298.01C451.0549999999999 340.302 411.349 379.594 365.072 397.596z" /> + <glyph glyph-name="ioxhost" + unicode="" + horiz-adv-x="640" d=" M616 288H548.7C511.2 377.3 422.9 440 320 440C183 440 72 329 72 192C72 175.6 73.6 159.5 76.7 144H24C10.7 144 0 133.2 0 120C0 106.7 10.7 96 24 96H91.3C128.8 6.7 217.1 -56 320 -56C457 -56 568 55 568 192C568 208.4 566.4 224.5 563.3 240H616C629.3 240 640 250.8 640 264C640 277.3 629.3 288 616 288zM520 192C520 81.5 430.5 -8 320 -8C244.3 -8 178.4 34 144.5 96H424C437.3 96 448 106.8 448 120C448 133.3 437.3 144 424 144H125.8C122 159.4 120 175.4 120 192C120 302.5 209.5 392 320 392C395.7 392 461.6 350 495.5 288H216C202.7 288 192 277.2 192 264C192 250.7 202.7 240 216 240H514.2C518 224.6 520 208.6 520 192zM216 216H424C437.3 216 448 205.3 448 192C448 178.8 437.3 168 424 168H216C202.7 168 192 178.7 192 192C192 205.2 202.7 216 216 216z" /> + <glyph glyph-name="itunes-note" + unicode="" + horiz-adv-x="384" d=" M381.9 59.8C375.5 32.4 354.7 17 326.8 11.8C302.3 7.3 281.9 6.2 262.3 22C238.4 42.1 238.1 75.4 259.6 96.4C276.6 112.6 300.5 115.9 336.4 122.2C342.4 123.3 347.6 124.7 352 129.6C358.4 136.8 356.4 133.7 356.4 292.8C356.4 304 350.9 307.1 339.4 305.1C331.2 303.7 153.7 270.5 153.7 270.5C143.5 268.3 140.3 265.3 140.3 253.8C140.3 19.1 141.4 29.9 137.8 14.3C133.6 -3.9 122.4 -17.6 107.6 -25.2C90.8 -34.5000000000001 60.4 -38.6 44.2 -35.6C1 -27.5 -14.2 22.4 15.1 51C32.1 67.2 56 70.5 91.9 76.8C97.9 77.9 103.1 79.3 107.5 84.2C117.6 95.7 109.3 340.8 112.7 354.4C113.5 359.6 115.7 364 119.8 367.3C124 370.8 131.6 372.8 133.2 372.8C337.2 411 362.1 415.9 365.6 415.9C377.1 416.7 383.7 409.9 383.7 398.3C383.9 53.8 384.8 72.3 381.9 59.8z" /> + <glyph glyph-name="itunes" + unicode="" + horiz-adv-x="448" d=" M223.6 367.7C129 367.7 52.5 291 52.5 196.5S129 25.2 223.6 25.2S394.8 101.9 394.8 196.4C394.8 291 318.1 367.7 223.6 367.7zM303 127.7C299.8 114.1 289.5 106.5 275.7 103.9C263.6 101.7 253.5 101.1 243.8 108.9C232 118.9 231.8 135.3 242.4 145.7C250.8 153.7 262.7 155.3 280.4 158.5C283.4 159 286 159.7 288.1 162.2C291.3 165.8 290.3 164.2 290.3 243C290.3 248.6 287.6 250.1 281.9 249.1C277.9 248.4 190 232 190 232C185 230.9 183.3 229.4 183.3 223.7C183.3 107.6 183.8 112.9 182.1 105.2C180 96.2 174.5 89.4 167.2 85.6C158.9 80.9999999999999 143.8 78.9999999999999 135.8 80.4C114.4 84.4 106.9 109.1 121.4 123.3C129.8 131.3 141.7 132.9 159.4 136.1C162.4 136.6 165 137.3 167.1 139.8C172.1 145.5 168 266.8 169.7 273.5C170.1 276.0999999999999 171.2 278.3 173.2 279.9C175.3 281.5999999999999 179 282.5999999999999 179.9 282.5999999999999C280.9 301.5999999999999 293.2 304 295 304C300.7 304.4 304 301 304 295.3C303.8999999999999 124.6999999999999 304.3999999999999 133.9 303 127.6999999999999zM345.2 416H102.8C45.9 416 0 370.1 0 313.2V70.8C0 13.9 45.9 -32 102.8 -32H345.2C402.2 -32 448 13.9 448 70.8V313.2C448 370.1 402.1 416 345.2 416zM223.6 4C117.3 4 31.1 90.2 31.1 196.5S117.3 389 223.6 389S416.1 302.8 416.1 196.5S329.9 4 223.6 4z" /> + <glyph glyph-name="java" + unicode="" + horiz-adv-x="377.6" d=" M121.6 52S102 40.6 135.5 36.8C176.1 32.2 196.8 32.8 241.5 41.3C241.5 41.3 253.3 33.9 269.7 27.5C169.5 -15.4 42.9 30 121.6 52M109.4 108.1S87.5 91.9 121 88.4C164.3 83.9 198.6 83.6 257.8 95.0000000000001C257.8 95.0000000000001 266 86.7000000000001 278.9000000000001 82.2000000000001C157.6 46.7 22.6 79.3000000000001 109.4 108.1M212.6 203.2C237.3 174.8 206.1 149.2000000000001 206.1 149.2000000000001S268.8 181.6 240.0000000000001 222.1000000000001C213.1 259.9000000000001 192.5 278.7000000000001 304.1 343.4000000000001C304.2000000000001 343.4000000000001 128.9 299.6 212.6 203.2000000000001M345.2000000000001 10.6S359.7000000000001 -1.3 329.3000000000001 -10.6C271.4000000000001 -28.1 88.5000000000001 -33.4 37.7 -11.3C19.4 -3.4 53.7 7.7 64.5 10.0000000000001C75.7000000000001 12.4 82.2000000000001 12.0000000000001 82.2000000000001 12.0000000000001C61.9000000000001 26.3000000000001 -49.1 -16.1 25.8 -28.1999999999999C230.0000000000001 -61.3999999999999 398.2000000000001 -13.3 345.2000000000001 10.6000000000001M131 166.2S37.9 144.1 98 136.1C123.4 132.7 174 133.5 221.1 137.4C259.6 140.6 298.3 147.6 298.3 147.6S284.7 141.8 274.9000000000001 135.1C180.4 110.2 -2.1 121.8 50.4 147.2C94.9 168.6 131 166.2 131 166.2M298 72.9C394.1 122.8 349.6 170.8 318.6 164.3C311 162.6999999999999 307.6 161.3 307.6 161.3S310.4000000000001 165.6999999999999 315.8 167.6C377.1 189.2 424.3 103.9999999999999 296 70.3C296 70.4 297.5 71.6999999999999 298 72.9M240 448S293.2 394.8 189.5 313C106.4 247.4 170.5 209.9 189.5 167.2C141 211 105.4 249.5 129.3 285.4C164.4 337.9 261.5 363.5 240 448M140.5 -62.4C232.7 -68.2999999999999 374.3 -59.1 377.6 -15.5C377.6 -15.5 371.2000000000001 -32 301.4000000000001 -45.2C222.7000000000001 -60 125.6 -58.3 68.1 -48.8C68.1 -48.7 79.9 -58.5 140.5 -62.4" /> + <glyph glyph-name="jedi-order" + unicode="" + horiz-adv-x="448" d=" M231.89 112.28L263.33 158.17L243.15 102.67L305.71 93.58L243.15 84.5L267.37 37.07S237.15 68.84 232.88 73.32C234.64 4.54 235.07 -12.38 235.07 -12.38S389.4700000000001 59.27 303.69 217.71C303.69 217.71 410.66 335.78 313.78 408.44C313.78 408.44 479.28 308.53 374.33 136.98C374.33 136.98 461.11 221.75 415.7 307.52C415.7 307.52 494.41 196.51 398.54 74.41C398.54 74.41 424.78 90.56 447.99 152.12C447.99 152.12 431.06 -31.14 226.03 -33.5400000000001V-33.5600000000001H221.9499999999999V-33.5400000000001C16.93 -31.14 0 152.12 0 152.12C23.21 90.56 49.44 74.41 49.44 74.41C-46.43 196.5200000000001 32.29 307.5200000000001 32.29 307.5200000000001C-13.12 221.7400000000001 73.67 136.98 73.67 136.98C-31.28 308.54 134.21 408.44 134.21 408.44C37.33 335.78 144.3 217.71 144.3 217.71C58.52 59.27 212.92 -12.38 212.92 -12.38S213.35 4.55 215.11 73.32L180.63 37.07L204.85 84.5L142.29 93.58L204.85 102.67L184.67 158.17L216.11 112.28C218.36 200.13 223.93 418.1 223.96 419.13L223.97 421.56L223.99 420.56L224.02 421.56L224.03 419.13C224.08 417.41 229.64 199.93 231.89 112.28z" /> + <glyph glyph-name="jenkins" + unicode="" + horiz-adv-x="512" d=" M487.1 23C485.7 34.2 468.1 46.1 458.9 54.9C453.8 59.9 429.9000000000001 78 428.5000000000001 84.8C427.1000000000001 91.4 438.2000000000001 106.3 441.8000000000001 113.6999999999999C446.9000000000001 124.3999999999999 450.6000000000001 137.3999999999999 453.1000000000001 146.3C471.9000000000001 212.4 473.8000000000001 303.2 446.9000000000001 357.5C436.7000000000001 378.0999999999999 408.3000000000001 406.5 390.5000000000001 420C348.5000000000001 451.6999999999999 270.9000000000001 455.3 220.4000000000001 436.6C206.3000000000001 431.3999999999999 192.6000000000001 426.8 180.3000000000001 419.5C147.2000000000001 400.1 112.0000000000001 387 102.2000000000001 347.9C78.0000000000001 337.1 70.7000000000001 306.1 71.9000000000001 270.1C72.1000000000001 263.1 76.0000000000001 254.3 74.6000000000001 247.7C73.9000000000001 244.4 69.4000000000001 240.1 68.5000000000001 237.9C56.9000000000001 210.2 66.2000000000002 173.9 79.6000000000001 154.1999999999999C87.7000000000001 142.3 101.1000000000001 131.8 118.8000000000002 129C119.5000000000002 118.3999999999999 122.1000000000001 109.3 127.0000000000002 98.6C130.1000000000001 91.8 141.7000000000001 79.6 137.4000000000002 70.9C135.2000000000002 66.5 116.4000000000002 57.1 110.1000000000002 53.3C89 40.8 73.7 33 54.2 19C41.6 10 21.9 8.8 25 -12.1C27.1 -26.2 35.1 -43.7 39.7 -57.9C40.4 -59.9 41.1 -62.0000000000001 41.8 -63.9H463.8C468.7 -48.6 473.5 -33.0000000000001 478.4 -16.7C481.8 -5.3000000000001 488.6 11.1 487.1 22.9999999999999zM205.9 414.3C207.7 414.8 209.3 413.6 210.8 411.9C210.6 406.7 205.4 406.8 201.9 405.1C196.5 398.4 188.5 395.3 181.9 387.9C175.1 380.4 167.5 360.2 158.5 357.9C154 356.8 148.8 358.7 144.9 358.4C134.5 357.7 127.2 352.4 116.6 350.9C130.2 380.8 172.7 404.9 205.9 414.3zM101.1 320.7C114.6 335.6 133.2 344.8 155.9 346.6C167.6 316.9 147.5 281.6 155 249C157.3 239.1 165.2 223.6 152.6 223.3C152.9 251.6 117.8 269.6 91.3 252.9C89.5 274.4 86.4 304.6 101.1 320.7zM137.8 120.5C136.8 124.6 135.1 133.4 135.5 135.6C137.1 144.3 152.6 148.1 146.5 160.3C135.2 160.4 132.7 150.1 122.4 149C95.7 146.4 76.8 184.4 78 207.4C79 226.9 95.6 245.6 118.1 243.2C134.1 241.4 139.5 224 142.6 208.5C151.8 208 165.1 208.9 169.5 216.1C168.9 233.6 160.7 247.7 161.3 263.8C162.3 294.1 178.8 321.4 166.1 351.2000000000001C179.7 382.1 219.6 406.5 249.2 421.2000000000001C285.8 439.5 344.1 424.9000000000001 378.5 405.4000000000001C398.2 394.3 412.9 372.7000000000001 426.8 354.7000000000001C407.3 360.5 390.7 350.5 393.7 334.4000000000001C410 349.3 437.9 334.6 446.2 318C454.1 302.2000000000001 454 278.7000000000001 455.2 255.2000000000001C458.1 198.2000000000001 444.8 139.3000000000001 416.1 98.1C408.4 87.1 402 75.1 391.2 67.5C365.2 49.3 325.8 32.8 292 44.1C247.3 59.1 227 88.9 202.5 122.9C203.2 104.2000000000001 216.3 88.8 229.3 74.5000000000001C240.6 62.0000000000001 254.3 47.9 269 42.1000000000001C256.7 45.0000000000001 237.9 45.9000000000001 232.8 34.9000000000001C204.2 36.8000000000001 177.7 39.7000000000001 164.1 59.1000000000001C153.5 74.5000000000001 142.7 100.5000000000001 137.8 120.5000000000001zM359.8 -3.6C363.9000000000001 -0.6 370.9000000000001 -0.7 377.2 0C371.8 2.7 364.2 3.7 357.9 2.2C357.8 6.4 355.9 9 354.7 12.4C365.3 16.2 390.2 40.9 404.3 32.7C411 28.8 413.8 6.5 414.4000000000001 -4.3C414.8 -13.3 413.6 -22.3 409.9000000000001 -27.1C391.1 -26.5 374.1 -24.3 359.2000000000001 -20.1C360.1 -14 358.2000000000001 -8 359.8000000000001 -3.6zM342.6 16.4C325.8 15.6 316.6 17.6 304.3 27.2C304.5 28 305.7 27.7 305.8 28.6C323.8 20.6 346.6 31.9 364.8 33.4999999999999C356.9000000000001 28.3999999999999 350.2 21.8999999999999 342.6 16.3999999999999zM330.5 -16.8C328.9 -7.4 327 -4.8 327.7 3.4C352.7 20 357.4 -25.2 330.5 -16.8zM226 9.4C214.4 10.1 177.9 23.4 187.5 33.1C196.9 26.6 215 28.2 228.8 25.8C229.6 21.4 226 15.6 226 9.4zM57.7 -49.1C53.4 -36.4 48.5 -24 42.9 -12.2C73.7 11.6 108.2 36.6999999999999 145.1 51.3C147.9 52.4 168.3 25.9 171.3 23.6999999999999C187.8 11.9999999999999 208.3 2.6999999999999 227.5 -6.5000000000001C228.7 -15.3000000000001 231.4 -26.7 236.2 -42.0000000000001C236.9 -44.3000000000001 237.6 -46.7 238.4 -49.2H57.7zM298.3 -54.8H297.5C297.8 -54.6 298 -54.4 298.3 -54.3V-54.8zM305.8 -49.1C307.9000000000001 -47.7 310.1 -46.3 312.2 -44.8C313.3 -46.2 314.4 -47.6 315.4 -49.1H305.8zM320.9000000000001 -24.4C310.1 -31.7 300.3 -42.7 287.6 -49.6C281.6 -52.9 260.6 -61.3 254.2 -59.8C250.6 -59 250.3 -54.5 248.8 -50.3C245.7 -41.3 238.7 -26.9 238 -13.3C237.2 3.9 235.5 32.7 254 29.1C268.9 26.2 286.3 19.4 297.9 12.9999999999999C305 9.1 309 4.3999999999999 319.8 3.4999999999999C319.7 2.1 319.7 0.6999999999999 319.6 -0.8000000000001C313.7 -4.7 304.3 -4.6000000000001 297.8 -7.9000000000001C307.3 -8.3000000000001 314.8 -10.6000000000001 321.3 -13.8000000000001C321.2 -17.2 321 -20.8000000000001 320.9 -24.4000000000001zM374.3 -49.1H360.3C360.2 -45.9 357.5 -43.3 354.2 -43.3S348.3 -45.9 348.1 -49.1H330.7C327.9 -44.7 325 -40.5 321.8 -36.6C323.9000000000001 -34.4 325.8 -31.9 327.8 -29.7C336.8 -33.4 342.6 -24.8000000000001 349.5 -25.5000000000001C357.4 -26.3000000000001 363.7 -37.2 374.9 -36.5000000000001L374.3 -49.1000000000001zM383 -49.1C383.2 -45.1 383.4 -41.3 383.6 -37.6C399.2000000000001 -30.3 412.6 -38.9 419.3 -49.1H383zM466.4 -12.1C464.1 -23.3 460.6 -36.1 456.5 -49.2C456.3 -49.1 456.1 -49.1 455.9 -49.1H428C428.6 -48 429.2 -46.9 429.9 -45.8C427.3 -39.7 420.9 -37.1 419 -30.3C431.1 -7.6 425.5 63.1 394.8 48.2C399.1 54.5 410.4000000000001 59.7 415.6 67.5C428.6 57.1 436.4000000000001 47.2 448.8 36.1C455.6 30.1 468.8 22.8 470.2 13C471 7.5 467.6 -5.9 466.4 -12.1zM222.2 317.5C227.6 332.4 249.4 352.2 267.2 349.5C274.9 348.3 285.2 341.3 279.4 331.8C249.2 338.8 234.2 319.2 225 298.7C216.9 300.7 220.1 311.8 222.2 317.5zM406.3 254.4C414.5 258 428.7 255.1 435.9 259.7000000000001C431.7 271.2000000000001 425.6 281.1 426.6 297.4000000000001C427.1 297.4000000000001 427.6 297.4000000000001 428 297.3000000000001C434.8 283.1 440.7 268.1 449.3999999999999 255.6C443.7 242.1 405.7999999999999 230.2 406.2999999999999 254.4000000000001zM426.7 297.4zM309.5 251.7C302.7 262.6 290.5 284.2 295 297C301.5 285.1 303.6 272.6 312.8 263.7C316.9 259.7 325 254.7 321 243.5C320.1 240.8 313.2 234.9 309.3 233.8C294.9 229.5 261.4 232.9 272.7 250.9C284.5999999999999 250.2 300.5999999999999 243.1 309.5 251.7zM336.8 181.7C340.6 175.1 338.2 163 348.9 161.1C369.1 157.7 392.5 173.4 407 178.9C416 194.1 406.2 199.6 398.1 209.4C381.5 229.4 359.3 254.2 360.1 284.1C366.8 289 367.4000000000001 276.7 368.3 274.4C377 254.1 398.7 228.2 414.6 210.9C418.5 206.6 424.9000000000001 202.5 425.6 199.7C427.7000000000001 191.5 420.2000000000001 181.7 421.1 176.2C399.4000000000001 162.3 375.3 147.1 339.7000000000001 150.6C332.3000000000001 157.3 329.4000000000001 172 336.8000000000001 181.7zM135.5 190.9C128.6999999999999 194.8 127.0999999999999 211.9 119.0999999999999 212.3C107.6999999999999 213 109.7999999999999 190.1 109.7999999999999 176.8C101.9999999999999 183.9 100.5999999999999 205.9 106.2999999999999 217.1C99.7 220.3 96.7999999999999 213.5 93.2 211.2C97.9 245.3 143 227 135.5 190.9zM435.1 162.1C425 142.9 410.7 121.7 381.1 121.1C380.5 127.3 380 136.7 381.1 140.5C403.8 142.6999999999999 417.7 154.1999999999999 435.1 162.1zM293.2 149.7C312.0999999999999 139.8 346.8 138.7 372.5 139.5C373.8999999999999 133.9 373.8 126.9 373.8999999999999 120.1C340.8999999999999 118.3 301.8999999999999 126.5 293.2 149.7000000000001zM385.3999999999999 103C383.7 98.7 380.0999999999999 93.7 375.5999999999999 91.9C363.4999999999999 87 329.9999999999999 83.2 313.2 92.2C302.5 97.9 295.7 110.7 289.8 118.2C287 121.8 272.9 131.1 289.6 131.1C302.7 98.4 347.6 102.1 385.4 102.9999999999999z" /> + <glyph glyph-name="joget" + unicode="" + horiz-adv-x="496" d=" M227.5 -20.7C218.5 -7.1 207.6 12.6 203.8 21.7C198.1 35.4 176.6 67.3 235 88.8C286.7 107.9 411.7 105.3 443.8 106.4C439.8 97.4 435.2 88.5 429.9000000000001 79.8C389.5000000000001 14.3 319.5 -21.7 247.9000000000001 -21.7C241.1 -21.7 234.3000000000001 -21.3000000000001 227.5000000000001 -20.7M66.1 304.1C128 404.6 259.6 435.8 360.1 373.9C434.9000000000001 327.8 471.3 243 459.4 161.2000000000001C434.5000000000001 161.7000000000001 280.1 164.8000000000001 229.1 166.1C173.6 167.5 147.4 186.9 170.6 214.3C193.8 241.7 221.7 255 239.5000000000001 265.5C257.4000000000001 276 266.8 299.2 215.9 295.2C87.3 286.5 48.6 195.9 37.6 155C28.8 204.7 37.5 257.7 66.1 304.1M36.9 322.1C-35 205.5 1.3 52.8 117.9 -19.1C234.5 -91 387.2 -54.7 459.1 61.8C531 178.4 494.7 331.2 378.1 403C337.6 428.1 292.6 440 248.2 440C165 440 83.8 398.1 36.9 322.1M281.3 211.7C249.8 191.2 216 180.4 216 180.4L385.5 182L432 205.4S435.6 214.9 412.9 220.9C390.2 226.9 355.9 209.6 326.2 193.7C296.5 177.9 295.1 185.5 295.1 185.5S335.3 213.6 345.8 220C356.3 226.4 377.7 234 359.2 244.6C356 246.4 352.5 247.3 348.8 247.3C331 247.3 307.3 228.6 281.3 211.7" /> + <glyph glyph-name="joomla" + unicode="" + horiz-adv-x="448" d=" M0.6 355.9C0.6 389.2 27.4 416 60.4 416C90.4 416 114.9 394.1 119.6 365.8C152.2 373.4 186.7 365.2 216.1 335.8L171.8 291.5C151.3 312 129.2 307.8 116.4 295C102.1 280.7 102.1 257.1 116.4 242.8L215.9 143.3L171.9 99C84.2 186.2 122.2 148.7 72.1 198.7C45.3 225.2 37.1 263.5 47.3 297.6C20.4 303.4 0.6 327.3 0.6 355.9zM130.1 239.5L174.4 195.2C184.4 205.2 264.1 284.9 274.1 295C288.4 309.3 311.7 309.3 326 295C338.8 282.2 343 260 322.5 239.6L366.5 195.3C397.7 226.5 405 262.9 395.3999999999999 296.5C424.5999999999999 300.6 447.2999999999999 325.7 447.2999999999999 356C447.2999999999999 389.2 420.4999999999999 416.1 387.4999999999999 416.1C357.1999999999999 416.1 332.0999999999999 393.6 327.9999999999999 364.5C294.1999999999999 374.4 256.2999999999999 366 229.6999999999999 339.4C211.3999999999999 320.3 158.5999999999999 267.9 130.0999999999999 239.5zM396.4 87.3C404.6 120 395.5 155.8 370.1 181.2000000000001C358.3 193.4 375.1 176.5000000000001 270.6 280.9000000000001L226.3 236.6L326 136.9C340.3 122.6 340.3 99.3 326 85.0000000000001C313.2 72.2000000000001 291 68.0000000000001 270.6 88.5000000000001L226.6 44.2C254.2 14.0000000000001 294.6 5.4 329.3 16.2C334.8 -11.1999999999999 359 -31.9 388.2 -31.9C421.2 -31.9 448 -5.1 448 28.2C448 58.4 425.5 83.2000000000001 396.3999999999999 87.3000000000001zM312.1 140.4L268.1 184.7000000000001C181.1 98.3000000000001 217.7 134.3000000000001 168.4 84.9C154.1 70.6 130.8 70.6 116.5 84.9C103.4 98.3 99.6 120.2000000000001 119.7 140.3L75.7 184.6C45.5 154.4 37.7 119.4 46.2 86.3C19.5 80.3 0 56.4 0 28.1C0 -5.2 26.8 -32 59.8 -32C88.4 -32 112.3 -12.2 118.4 14.7C151.1 6.5 186.9 15.3 212.6 40.7C244.7 72.7 224.8 53.1 312.1 140.4z" /> + <glyph glyph-name="js-square" + unicode="" + horiz-adv-x="448" d=" M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM243.8 66.6C243.8 23 218.2 3.1 180.9 3.1C147.2 3.1 127.7 20.5 117.7 41.6L152 62.3C158.6 50.6 164.6 40.7 179.1 40.7C192.9 40.7 201.7 46.1 201.7 67.2V210.3H243.8V66.6zM343.4 3.1C304.3 3.1 279 21.7 266.7 46.1L301 65.9C310 51.2 321.8 40.3 342.5 40.3C359.9 40.3 371.1 49 371.1 61.1C371.1 75.5 359.7000000000001 80.6 340.4000000000001 89.1L329.9000000000001 93.6C299.5000000000001 106.5 279.4000000000001 122.8 279.4000000000001 157.1C279.4000000000001 188.7000000000001 303.5000000000001 212.7 341.0000000000001 212.7C367.8000000000001 212.7 387.0000000000001 203.4 400.8000000000001 179L368 158C360.8 170.9 353 176 340.9 176C328.6 176 320.8 168.2 320.8 158C320.8 145.4 328.6 140.3 346.7 132.4L357.2 127.9C393 112.6 413.0999999999999 96.9 413.0999999999999 61.7C413.0999999999999 23.9 383.2999999999999 3.1 343.3999999999999 3.1z" /> + <glyph glyph-name="js" + unicode="" + horiz-adv-x="448" d=" M0 416V-32H448V416H0zM243.8 66.6C243.8 23 218.2 3.1 180.9 3.1C147.2 3.1 127.7 20.5 117.7 41.6L152 62.3C158.6 50.6 164.6 40.7 179.1 40.7C192.9 40.7 201.7 46.1 201.7 67.2V210.3H243.8V66.6zM343.4 3.1C304.3 3.1 279 21.7 266.7 46.1L301 65.9C310 51.2 321.8 40.3 342.5 40.3C359.9 40.3 371.1 49 371.1 61.1C371.1 75.5 359.7000000000001 80.6 340.4000000000001 89.1L329.9000000000001 93.6C299.5000000000001 106.5 279.4000000000001 122.8 279.4000000000001 157.1C279.4000000000001 188.7000000000001 303.5000000000001 212.7 341.0000000000001 212.7C367.8000000000001 212.7 387.0000000000001 203.4 400.8000000000001 179L368 158C360.8 170.9 353 176 340.9 176C328.6 176 320.8 168.2 320.8 158C320.8 145.4 328.6 140.3 346.7 132.4L357.2 127.9C393 112.6 413.0999999999999 96.9 413.0999999999999 61.7C413.0999999999999 23.9 383.2999999999999 3.1 343.3999999999999 3.1z" /> + <glyph glyph-name="jsfiddle" + unicode="" + horiz-adv-x="576" d=" M510.634 210.538C505.907 213.159 504.97 216.286 504.253 221.314C501.9010000000001 237.802 500.7140000000001 254.933 495.1560000000001 270.409C459.2610000000001 370.366 341.1660000000001 413.795 248.3070000000001 362.055C220.9370000000001 346.805 199.3360000000001 325.6860000000001 182.8140000000001 298.1520000000001C179.6300000000001 299.6600000000001 177.3560000000001 300.862 174.9900000000001 301.838C144.8880000000001 314.259 115.9410000000001 311.9590000000001 89.6590000000001 292.6710000000001C64.1280000000001 273.9340000000001 53.2370000000001 248.123 56.9830000000001 216.263C57.3380000000001 213.238 55.0160000000001 208.642 52.4690000000001 206.7180000000001C12.7570000000001 176.7260000000001 -3.5619999999999 128.653 10.5670000000001 82.1030000000001C24.3980000000001 36.5340000000001 68.0810000000001 2.3070000000001 116.1750000000001 0.6700000000001C146.4660000000001 -0.3609999999999 176.8120000000001 0.1240000000001 207.1340000000001 0.1310000000001C291.1750000000001 0.1520000000001 375.2240000000001 -0.3999999999999 459.2540000000001 0.6110000000001C511.9180000000001 1.2450000000001 555.3620000000001 37.4840000000001 567.4660000000001 87.9040000000001C579.0060000000001 135.9780000000001 556.3220000000001 185.2040000000001 510.6340000000001 210.5380000000001zM531.741 53.658C513.511 31.226 489.398 18.405 460.461 18.008C403.587 17.227 346.694 17.778 289.8090000000001 17.778C289.8090000000001 17.078 126.781 17.619 126.081 17.624C82.22 17.956 49.342 37.39 30.906 77.619C12.004 118.864 26.902 168.4670000000001 65.092 193.725C74.274 199.798 77.597 205.291 75.188 216.861C69.698 243.222 79.641 264.817 101.608 279.842C124.595 295.5650000000001 149.03 295.988 173.642 282.925C183.911 277.475 188.249 271.361 195.84 285.452C210.0620000000001 311.851 230.3970000000001 332.179 256.511 346.746C353.971 401.112 484.881 339.178 486.751 214.049C486.873 205.899 489.163 201.621 496.599 198.155C554.1590000000001 171.326 571.0550000000001 102.033 531.7410000000001 53.658zM443.952 134.1570000000001C438.104 103.0000000000001 409.33 79.061 377.286 79.062C360.3330000000001 79.063 345.228 85.607 333.207 96.767C305.51 122.48 262.066 171.747 237.27 190.154C217.214 205.042 195.28 202.487 176.998 186.372C127.002 142.3010000000001 192.857 64.597 244.061 109.184C248.609 113.144 251.901 118.727 256.805 122.028C264.989 127.537 277.571 122.912 269.973 111.406C252.615 85.122 220.643 73.209 191.11 82.105C162.213 90.809 142.27 118.073 142.484 152.284C143.709 174.769 154.848 195.344 177.898 208.249C200.473 220.887 224.267 221.395 244.889 205.775C295.68 167.3 320.467 124.03 352.185 104.53C376.743 89.431 406.439 97.167 421.008 122.036C449.838 171.245 386.416 227.052 342.14 185.4959999999999C338.151 181.7519999999999 335.223 176.5639999999999 330.73 173.7759999999999C319.755 166.9649999999999 313.397 177.8889999999999 317.921 184.1289999999999C338.6239999999999 212.6829999999999 368.385 224.5689999999999 401.192 212.3429999999999C432.6209999999999 200.6289999999999 450.3 167.9769999999999 443.952 134.1569999999999z" /> + <glyph glyph-name="kaggle" + unicode="" + horiz-adv-x="291.72" d=" M291.7200000000001 -60.98C291.2100000000001 -62.99 289.2100000000001 -63.99 285.7100000000001 -63.99H218.79C214.77 -63.99 211.28 -62.24 208.27 -58.72L97.74 81.86L66.92 52.54V-56.48C66.92 -61.4999999999999 64.41 -63.9999999999999 59.4 -63.9999999999999H7.52C2.5 -64 0 -61.5 0 -56.48V440.49C0 445.49 2.5 448 7.52 448H59.4C64.41 448 66.92 445.49 66.92 440.49V134.49L199.24 268.31C202.75 271.81 206.26 273.57 209.76 273.57H278.9400000000001C285.9000000000001 273.57 286.8400000000001 265.7 284.2000000000001 263.05L144.35 127.74L290.2100000000001 -53.46" /> + <glyph glyph-name="keybase" + unicode="" + horiz-adv-x="412.3" d=" M177.2 17.1C177.2 7.3 169.2 -0.7 159.4 -0.7S141.6 7.3 141.6 17.1S149.6 34.9 159.4 34.9C169.2 35.0000000000001 177.2 27.0000000000001 177.2 17.1zM270 35C260.2 35 252.2 27 252.2 17.2S260.2 -0.6 270 -0.6S287.8 7.4 287.8 17.2S279.8 35 270 35zM412.3 71C412.3 32.1 404.7 -2.9 390.1 -32H362.8C386.3 6.7 393.3 62.8 385.2 102.3C369.1 72.8 333.1 63.7 299.3 73.5C171.5 111 106.8 53.8 64.7 23.2L83.6 82.5L43.7 40.2C48.5 13.5 59.4 -11.1 74.9 -32.1H46.1C36.4 -16.3 28.9 0.9 23.9 19.2L0.1 -6C0.1 68.9 -5.4 141.6 61.6 209.2C81.8 229.6 105.3 245.4 130.7 255.9C123.9 269.4 121.2 285.1 122.9 301.9L103 303.1C85.1 304.2 71.4 319.6 72.4 337.5V337.6L74 363.8C75.1 380.9 89.4 394.4 106.5 394.4C107.8 394.4 106.2 394.5 134.7 392.7C148.6 391.9 156.2 382.9 157.5 381.3C164.6 391.7 172 401.8 182.1 415.8L202.7 403.7C189.1 374.7 193.6 367.5 193.7 367.4C197.6 367.4 207.6 367.9 226.1 361.7C246 355.1 262 341 271 322C271.4 321.1 286.5 293 272.2 259.4C291.2 253.3 323.5 239.5 354.6 207.6C391.2000000000001 170 412.3 120.2000000000001 412.3 71zM128 325.7C131.2 335.7 135.7 345.4 141.1 355.1C141.2 357.1 143.3 368.2 133.3 368.9C104.8 370.7 107 370.5 106.6 370.5C102 370.5 98.3 367 98 362.4L96.4 336.2C96.1 331.5 99.8 327.4 104.5 327.1L128 325.7zM153.8 263.9C159.4 254.5 167.9 247.8 176.1 243.9C176.1 265.1 204.6 285.8 228.9000000000001 261.4L237.3000000000001 251.1C258.1 269.9 256.7000000000001 296.4 249.4000000000001 312C235.6 341.1 202.5 344 195.1 343.7C184.8 343.3 175.4 349.1 171.4 359C157.7000000000001 337.8 134.2000000000001 296.5 153.8000000000001 263.9zM236.7 195.5L217 179.4C215.1 177.8 214.8 175 216.4 173.1L225.3 162.2C226.3 161 229.1 159.5 231.6 161.6L251.2 177.6L256.7000000000001 170.8C261.6 164.8 270.5000000000001 172.1999999999999 265.7000000000001 178.1C202.1000000000001 256.4 224.2000000000001 229.2 210.4 246.2C205.7000000000001 252.2 196.5 244.8 201.4 238.9C203.3000000000001 236.6 219.8000000000001 216.3 221.2000000000001 214.5999999999999L211.6000000000001 206.6999999999999C207.0000000000001 202.8999999999999 214.2000000000001 193.3999999999999 219.0000000000001 197.2999999999999L228.7000000000001 205.2999999999999L236.7000000000001 195.4999999999999zM355.1 169.8C338.2000000000001 193.5 312.5 216.5 281.7000000000001 230.2C273.8000000000001 233.7 266.7000000000001 236.3 258.8000000000001 238.8C256.8000000000001 236.6 254.7000000000001 234.5 252.4000000000001 232.6L284.3000000000001 193.4C294.7000000000001 180.7000000000001 292.8000000000001 161.9 280.1000000000001 151.5000000000001C278.8000000000001 150.4 267.0000000000001 140.8000000000001 251.1000000000001 146.6000000000001C248.2000000000001 144.3000000000001 241.0000000000001 136.7000000000001 228.9000000000001 136.7000000000001C220.3000000000001 136.7000000000001 212.3000000000001 140.5000000000001 206.8000000000001 147.2000000000001L197.9000000000001 158.1000000000001C191.6000000000001 165.9000000000001 190.0000000000001 176.0000000000001 192.9000000000001 184.9000000000001C184.7000000000001 194.8000000000001 184.6000000000001 206.2000000000001 188.3000000000001 214.9000000000001C181.1000000000001 216.2000000000001 161.6000000000001 221.1000000000001 145.6000000000001 236.3000000000001C89.8000000000001 215.6000000000001 57.6000000000001 171.9000000000001 44.3000000000001 145.1000000000001C29.4000000000001 114.9000000000001 25.5000000000001 84.2000000000001 24.4000000000001 54.9000000000001C32.6000000000001 63.6000000000001 20.5000000000001 50.8000000000001 138.4000000000001 175.8000000000001L108.5000000000001 82.2000000000001C166.3000000000001 113.3000000000001 232.5000000000001 118.2000000000001 305.9000000000001 96.6C329.5000000000001 89.7000000000001 351.0000000000001 95 361.9000000000001 110.5C373.0000000000001 126.1 370.4000000000001 148.2 355.1000000000001 169.8zM110.6 340.7L126.2 339.7L127.2 355.3L111.6 356.3L110.6 340.7z" /> + <glyph glyph-name="keycdn" + unicode="" + horiz-adv-x="512" d=" M63.8 38.7L124.3 97.7C156.4 54.9 195.4 31.7 250.9 30.3C281.4 29.6 311.2 37.3 337.3 52.6999999999999C342.4 47.3999999999999 355.8 33.1999999999999 358.2 30.6999999999999C326 9.9999999999999 288.5999999999999 -0.4000000000001 250.1 0.4999999999999C206.8 1.6 165.5 17.1999999999999 132.3999999999999 44.8999999999999C132.6999999999999 45.4999999999999 94.1999999999999 7.3999999999999 93.7999999999999 6.9999999999999C103.2999999999999 -22.8000000000001 80.6999999999999 -55.4 47.4999999999999 -55.4C20.7 -55.3 0 -33.7 0 -6.9C0 27.4 33.1 49.7 63.8 38.7zM418.7 291.1C437.8 259.8 448.3 223.7 447.4 187.1C446.3 142.3 428.4 99.6 398.8 66.1C399.1 65.8 422.6 40.9 422.9 40.6C432.5 41.9 442.1 38.6 448.8 31.5C460.1 19.5 459.6999999999999 0.6 447.7 -10.9C435.7 -22.2 416.8 -21.8 405.3 -9.8C398.6 -2.8 395.9 7.0000000000001 397.7 16.5000000000001C372.8 43.1000000000001 353.3 63.7000000000001 353.3 63.7000000000001C396 97.8000000000001 416.6 143.3000000000001 417.7 187.9C418.3999999999999 216.8000000000001 410.5 245.1 396.5999999999999 270.1L418.7 291.1zM104 394.9C110.7 387.9 113.4 378.1 111.6 368.6L157.5 320.5C152.8 316.7 144.2 310.1 134.7 299.2C109.3 270.7 95.1 234.4 94 196.3C93.3 167.4 100.1 139.1 114 113.9L92 92.4C72.7 124 63.1 160.1 64.2 197.1C65.2 241.7 82.5 284.7 111.7 318.2L86.4 344.6C76.8 343.3 67.2 346.6 60.5 353.7C49.2 365.7 49.6 384.6 61.6 396.1C73.5 407.3 92.2 407 104 394.9zM464.9 440C490.9 440 512 417.6 512 391.7S490.9 344 464.9 344C458.6 343.9 450.9 345.1 449 345.8L386.1 286.1C353.4000000000001 329.7 309.4000000000001 352 259.2000000000001 353.3C228.7000000000001 354 198.9 346.5 173.0000000000001 330.9L151.9000000000001 352.9C184.1 373.7 221.5 384 260 383.1C303.3 382 344.6 366.4 377.7 338.5L418.8 377.1C417.3 381.8 416.6 386.7 416.6 391.6C416.5 418.3 438.9 440 464.9 440zM256.7 334.6C262.2 334.6 267.6 334.2 273.1 333.5C351.2 323.7 406.5 252.4 396.9 174.4C387.1 96.3 315.8 41 237.8 50.6C159.7 60.4 104.4 131.6999999999999 114 209.8C123.3 282.2 184.1 334.4 256.7 334.6zM197.7 215.2C198.3 192.5 209.9 173.4 230.1 163L219.1 111.3H292.8L281.8 163C301.9000000000001 173.9 313.9000000000001 192 314.2 215.2C313.8 248 288.4 272.7 255.9 273.5C223.8 272.7 198.6 248.7 197.7 215.2zM256 288" /> + <glyph glyph-name="kickstarter-k" + unicode="" + horiz-adv-x="384" d=" M147.3 333.6C147.3 389.8 114.8 416 73.9 416C26.2 416 0 379.8 0 334.6V51.6C0 4.3 25.3 -31.8 74.9 -31.8C114.7 -31.8 147.3 -6.1999999999999 147.3 51.6V128.1L259.4 -10.2C282.1 -37.4 331.5 -40.9 362.6 -10.2C389.6 17.4 389.9 57.2000000000001 370 82L279.2 196.8L354.0999999999999 304.2000000000001C371.4999999999999 328.9000000000001 371.5999999999999 367.3 343.7 394C313.3999999999999 423 261.3 425.6 230.1 381.2000000000001L147.3 263V333.6z" /> + <glyph glyph-name="kickstarter" + unicode="" + horiz-adv-x="448" d=" M400 -32H48C21.6 -32 0 -10.4 0 16V368C0 394.4 21.6 416 48 416H400C426.4 416 448 394.4 448 368V16C448 -10.4 426.4 -32 400 -32zM199.6 269.5C199.6 300.2 182 314.6 159.9 314.6C134.1 314.6 119.9 294.8 119.9 270.1V115.3C119.9 89.4999999999999 133.6 69.6999999999999 160.4 69.6999999999999C181.9 69.6999999999999 199.6 83.6999999999999 199.6 115.3V157.1L260.2 81.4C272.5 66.5 299.2 64.6 316 81.4C330.6 96.5 330.8 118.2 320 131.8L270.9 194.6L311.4 253.3C320.8 266.8 320.9 287.8 305.8 302.4C289.4 318.3 261.2 319.7 244.4 295.4L199.6 230.7V269.5z" /> + <glyph glyph-name="korvue" + unicode="" + horiz-adv-x="446" d=" M386.5 414H59.5C26.8 414 0 387.2 0 354.5V27.4C0 -5.2 26.8 -32 59.5 -32H386.6C419.6 -32 446.1 -5.2 446.1 27.5V354.5C446 387.2 419.2 414 386.5 414zM87.1 327.2H183.1V211.2L244.9 327.2H355.8L274.6 195.2H87.1V327.2zM248.9 55.1L183.2 168.6999999999999V55.0999999999999H87.2V185.9H278.7L367.3 55.1H248.9z" /> + <glyph glyph-name="laravel" + unicode="" + horiz-adv-x="640" d=" M637.5 206.4C633.3 211.2 574.7 284.5 564.4 296.9C554.1 309.3 549 307.1 542.6999999999999 306.2000000000001C536.3 305.3 462.1999999999999 292.8 453.5999999999999 291.4C444.9999999999999 289.9 439.5999999999999 286.5 444.8999999999999 279.1C449.5999999999999 272.5 498.2999999999999 203.4 509.0999999999999 188.2L315.3999999999999 141.8L161.2 399.3C155.1 408.4 153.8 411.6 139.8 410.9C125.8 410.3 18.9 401.4 11.3 400.7C3.7 400.1 -4.7 396.7 2.9 378.7S131.9 99.1 135.3 91.5C138.7 83.9 147.5 71.5 168.1 76.5C189.2 81.6 262.4 100.7 302.4 111.2C323.5 72.9 366.6 -4.7 374.6 -15.8C385.2 -30.7 392.6 -28.2 408.9 -23.2C421.7 -19.3 608.5 47.9 616.9 51.3C625.3 54.8 630.5 57.2 624.8 65.7C620.5999999999999 71.9 571.3 137.9 545.5 172.5C563.2 177.2 626.1 193.9 632.8 195.8C640.6999999999999 197.8 641.8 201.6 637.5 206.4zM285.3 134.4C283 133.9 174.5 107.9 168.7 106.6C162.9 105.3 162.9 105.9 162.2 107.9C161.5 109.9 33.2 374.6 31.4 377.9C29.6 381.2 29.7 383.8 31.4 383.8S133.9 392.8 137.4 393C141 393.2 140.6 392.4 141.9 390.2C141.9 390.2 284.1 144.8 286.5 140.5C289.1 136.2 287.6 134.9 285.3 134.4zM591.3 77C593 74.3 594.8 72.5 589.3 70.6C583.9 68.6 405.6 8.5 402.2 7C398.7 5.5 396 5 391.5999999999999 11.5S329.2 118.3 329.2 118.3L518 167.4C522.7 168.9 524.2 169.9 527.2 165.2C530.1 160.4 589.6 79.7 591.3000000000001 77zM603.4 211.1C599.1999999999999 210.2 529.8 193 529.8 193L473.1 270.8C471.4999999999999 273.1 470.2 275.3 474.2 275.8S542.6 288 545.5 288.6C548.4 289.3 550.9 290.1 554.5 285.2000000000001C558.1 280.3 607.1 218.2 609 215.8C610.8 213.5 607.6 212.1 603.4 211.1z" /> + <glyph glyph-name="lastfm-square" + unicode="" + horiz-adv-x="448" d=" M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM307.8 103.1C244.4 103.1 222.4 131.7000000000001 210.7 167.2000000000001C194.4 218.2000000000001 189.2 251.5000000000001 147.7 251.5000000000001C125.3 251.5000000000001 102.6 235.4000000000001 102.6 190.3000000000001C102.6 155.1000000000001 120.6 133.1000000000001 145.9 133.1000000000001C174.5 133.1000000000001 193.5 154.4000000000001 193.5 154.4000000000001L205.2 122.5000000000001S185.4 103.1000000000001 144 103.1000000000001C92.7 103.1000000000001 64.1 133.2000000000002 64.1 188.9000000000002C64.1 246.8000000000002 92.7 280.9000000000002 146.6 280.9000000000002C220.1 280.9000000000002 227.4 239.5000000000002 247.4 179.0000000000001C256.2 152.2000000000001 271.6 132.8000000000001 308.6 132.8000000000001C333.5 132.8000000000001 346.7 138.3000000000001 346.7 151.9000000000002C346.7 171.8000000000001 324.9 173.9000000000002 296.8 180.5000000000002C266.4000000000001 187.8000000000002 254.3 203.6000000000002 254.3 228.5000000000002C254.3 268.5000000000002 286.6 280.9000000000002 319.5 280.9000000000002C356.9 280.9000000000002 379.6 267.3000000000002 382.5 234.3000000000002L345.8 229.9000000000002C344.3 245.7000000000002 334.8 252.3000000000002 317.2 252.3000000000002C301.1 252.3000000000002 291.2 245.0000000000002 291.2 232.5000000000002C291.2 221.5000000000002 296 214.9000000000002 312.1 211.2000000000002C344.8 204.1000000000002 383.9 199.2000000000002 383.9 153.7000000000002C384 117.0000000000002 353.2 103.1000000000001 307.8 103.1000000000001z" /> + <glyph glyph-name="lastfm" + unicode="" + horiz-adv-x="512" d=" M225.8 80.9L207 131.9S176.5 97.9 130.8 97.9C90.3 97.9 61.6 133.1 61.6 189.4C61.6 261.5 98 287.3 133.7 287.3C200.2 287.3 208.5 234 234.6 152.4C253.4 95.5 288.6 49.8 390 49.8C462.7 49.8 512 72.1 512 130.6999999999999C512 203.5999999999999 449.3 211.2999999999999 397 222.7999999999999C371.2 228.7 363.6 239.2 363.6 256.8C363.6 276.7 379.4000000000001 288.4999999999999 405.2000000000001 288.4999999999999C433.4000000000001 288.4999999999999 448.6 277.8999999999999 450.9 252.7L509.5000000000001 259.7C504.8000000000001 312.5 468.4 334.2 408.6 334.2C355.8 334.2 304.2000000000001 314.3 304.2000000000001 250.3C304.2000000000001 210.3999999999999 323.6 185.1999999999999 372.2000000000001 173.5C417.1 162.8999999999999 452.0000000000001 159.6999999999999 452.0000000000001 127.8C452.0000000000001 106.1 430.9000000000001 97.3 391.0000000000001 97.3C331.8000000000001 97.3 307.1 128.4 293.1 171.1999999999999C261.1 268 249.5000000000001 334.2 131.8 334.2C45.7 334.2 0 279.7 0 187C0 97.9 45.7 49.8 127.9 49.8C194.1 49.8 225.8 80.9 225.8 80.9z" /> + <glyph glyph-name="leanpub" + unicode="" + horiz-adv-x="576" d=" M386.539 336.515L401.635 87.56L390.656 87.835C354.424 88.659 319.016 79.052 287.999 59.838C256.983 79.052 221.575 87.835 185.3420000000001 87.835C139.7780000000001 87.835 103.2720000000001 77.13 61.826 60.112L93.117 318.4C121.663 330.203 154.601 336.515 185.343 336.515C226.516 336.515 259.1790000000001 323.3400000000001 288 293.971C315.723 322.242 347.013 335.692 386.539 336.515zM569.07 0C543.5440000000001 0 521.585 5.215 498.528 15.645C464.218 31.29 428.5350000000001 40.623 390.6570000000001 40.623C351.6800000000001 40.623 315.7230000000001 27.722 288.0000000000001 0C260.2770000000001 27.723 224.3200000000001 40.623 185.3430000000001 40.623C147.4650000000001 40.623 111.7820000000001 31.29 77.4720000000001 15.645C55.239 5.764 32.731 0 8.303 0H6.93L49.475 349.141C88.726 371.374 136.486 384 181.775 384C218.83 384 256.984 376.315 288 354.905C319.016 376.315 357.17 384 394.225 384C439.514 384 487.274 371.374 526.5250000000001 349.141L569.07 0zM525.702 44.741L491.666 324.987C460.924 338.986 424.418 346.397 390.657 346.397C352.229 346.397 316.272 334.32 288 307.695C259.728 334.32 223.772 346.397 185.343 346.397C151.582 346.397 115.076 338.986 84.334 324.987L50.298 44.741C97.509 64.228 133.192 78.227 185.343 78.227C222.947 78.227 256.16 68.621 288 48.583C319.84 68.621 353.052 78.227 390.657 78.227C442.808 78.227 478.491 64.228 525.702 44.741z" /> + <glyph glyph-name="less" + unicode="" + horiz-adv-x="640" d=" M612.7 229C612.7 249.5 615.9000000000001 261.6 615.9000000000001 283.6C615.9000000000001 317.8 603.3000000000001 328.8 575.4000000000001 328.8H554.9000000000001V304.6H561.2C575.4000000000001 304.6 578.5 299.9 578.5 282.5C578.5 266.2 576.9 249.9 576.9 231C576.9 206.8 584.8 197.4 600.5 193.7V192.1C584.7 188.4 576.9 179 576.9 154.8C576.9 135.9 578.5 120.6 578.5 103.3C578.5 85.4 574.8 80.7 561.2 80.7V80.2H554.9000000000001V55H575.4000000000001C603.2 55 615.9000000000001 66 615.9000000000001 100.2C615.9000000000001 122.8 612.7 134.4 612.7 154.8C612.7 165.8 619.5 177.4 640 178.4V205.7000000000001C619.5 206.4 612.7 218.0000000000001 612.7 229.0000000000001zM507.1 197C491.3 203.3 476.6 207 476.6 217.5C476.6 225.4 482.9 230.1 494.5 230.1S516.6 225.4 528.1 217L549.1 244.8C536 254.8 518.1 265.3 493.9 265.3C458.2 265.3 434.0000000000001 244.8 434.0000000000001 215.9C434.0000000000001 190.2 456.6000000000001 177 475.5000000000001 169.7C491.8000000000001 163.4 507.6000000000001 158.1 507.6000000000001 147.6C507.6000000000001 139.7 501.3000000000001 134.5 487.1000000000001 134.5C474.0000000000001 134.5 460.8000000000001 139.8 446.6000000000001 150.8L425.6000000000001 120.3C441.4000000000001 107.1999999999999 465.5000000000001 98.1999999999999 485.5000000000001 98.1999999999999C527.5 98.1999999999999 550.1 120.3 550.1 149.1999999999999S527.6 190.1999999999999 507.1 197zM148.2000000000001 137.6C144.5000000000001 137.6 139.8000000000001 140.8 139.8000000000001 150.7000000000001V328.9H65.2C36.8 328.9 24.2 317.9 24.2 283.7C24.2 261.1 27.4 248.5 27.4 229.1C27.4 218.1 20.6 206.5 0.1 205.5V178.2C20.6 177.7 27.4 166.1 27.4 155.1C27.4 135.7 24.2 124.1 24.2 101.4999999999999C24.2 67.3 36.8 56.3 64.7 56.3H85.2V80.4999999999999H78.9C65.8 80.4999999999999 61.6 85.8 61.6 103.1S63.2 135.2 63.2 154.6C63.2 178.8 55.3 188.2 39.6 191.9V193.5C55.4 197.2 63.2 206.6 63.2 230.8C63.2 249.7 61.6 265 61.6 282.3S65.3 304.4 78.9 304.4H93V153.5999999999999C93 121.4999999999999 104 100.4999999999999 136.1 100.4999999999999C146.1 100.4999999999999 154 102.0999999999999 159.7 104.1999999999999L154.4 138.3999999999999C151.3 137.5999999999999 149.8 137.5999999999999 148.2 137.5999999999999zM379.9 197C363.6 203.3 348.9 207 348.9 217.5C348.9 225.4 355.2 230.1 366.8 230.1C378.4 230.1 388.9 225.4 400.4 217L421.4 244.8C408.3 254.8 390.4 265.3 366.2 265.3C330.5 265.3 306.3 244.8 306.3 215.9C306.3 190.2 328.9000000000001 177 347.8 169.7C364.1 163.4 379.9000000000001 158.1 379.9000000000001 147.6C379.9000000000001 139.7 373.6 134.5 359.4000000000001 134.5C346.3 134.5 333.1 139.8 318.9000000000001 150.8L298.4000000000001 120.3C314.2000000000001 107.1999999999999 338.3 98.1999999999999 358.3 98.1999999999999C400.3 98.1999999999999 422.9 120.3 422.9 149.1999999999999C423 178.0999999999999 400.4 190.1999999999999 379.9 197zM224.9 265.8C186.5 265.8 149.8 233.7 150.8 183.3C150.8 131.3 185 100.8 230.1 100.8C249 100.8 270 107.6 286.3 118.7L270.5 146.5C258.8999999999999 139.7 247.9 136.5 236.3 136.5C215.3 136.5 199 146.5 194.8 170.7H290C290.5 174.4 291.6 181.7 291.6 190.1C292.2000000000001 232.7 269 265.8 224.9 265.8zM194.9 199.6C198.1 220.6 210.7 230.6 225.4 230.6C244.3 230.6 251.7 217.5 251.7 199.6H194.9z" /> + <glyph glyph-name="line" + unicode="" + horiz-adv-x="448" d=" M272.1 243.8V172.7000000000001C272.1 170.9 270.7000000000001 169.5000000000001 268.9000000000001 169.5000000000001H257.5000000000001C256.4000000000001 169.5000000000001 255.4000000000001 170.1000000000001 254.9000000000001 170.8000000000001L222.3000000000001 214.8000000000001V172.6000000000001C222.3000000000001 170.8000000000001 220.9000000000001 169.4000000000001 219.1000000000001 169.4000000000001H207.7000000000001C205.9000000000001 169.4000000000001 204.5000000000001 170.8000000000001 204.5000000000001 172.6000000000001V243.7000000000001C204.5000000000001 245.5000000000001 205.9000000000001 246.9000000000001 207.7000000000001 246.9000000000001H219C220 246.9000000000001 221.1 246.4000000000001 221.6 245.5000000000001L254.2 201.5000000000001V243.7000000000001C254.2 245.5000000000001 255.6 246.9000000000001 257.4 246.9000000000001H268.8C270.6 247.0000000000001 272.1 245.5000000000001 272.1 243.8000000000001zM190.1 247H178.7C176.9 247 175.5 245.6 175.5 243.8V172.7000000000001C175.5 170.9 176.9 169.5000000000001 178.7 169.5000000000001H190.1C191.9 169.5000000000001 193.3 170.9 193.3 172.7000000000001V243.8000000000001C193.3 245.5000000000001 191.9 247.0000000000001 190.1 247.0000000000001zM162.6 187.4H131.5V243.8C131.5 245.6 130.1 247 128.3000000000001 247H116.9C115.1 247 113.7 245.6 113.7 243.8V172.7C113.7 171.8 114 171.1 114.6 170.5C115.2 170 115.9 169.6 116.8000000000001 169.6H162.5000000000001C164.3000000000001 169.6 165.7000000000001 171 165.7000000000001 172.8V184.2C165.7000000000001 185.9 164.3000000000001 187.4 162.6000000000001 187.4zM332.1 247H286.4000000000001C284.7000000000001 247 283.2000000000001 245.6 283.2000000000001 243.8V172.7000000000001C283.2000000000001 171.0000000000001 284.6 169.5000000000001 286.4000000000001 169.5000000000001H332.1C333.9000000000001 169.5000000000001 335.3 170.9 335.3 172.7000000000001V184.1C335.3 185.9 333.9000000000001 187.3 332.1 187.3H301V199.3H332.1C333.9000000000001 199.3 335.3 200.7 335.3 202.5V214C335.3 215.8 333.9000000000001 217.2 332.1 217.2H301V229.2H332.1C333.9000000000001 229.2 335.3 230.6 335.3 232.4V243.8C335.2 245.5 333.8 247 332.1 247zM448 334.3V49C447.9 4.2 411.2 -32.1 366.3 -32H81C36.2 -31.9 -0.1 4.9 0 49.7V335C0.1 379.8 36.9 416.1 81.7 416H367C411.8 415.9 448.1 379.2 448 334.3zM386.4 211.7C386.4 284.7 313.2 344.1 223.3 344.1C133.4 344.1 60.2 284.7 60.2 211.7C60.2 146.3 118.2 91.5 196.6 81.1C215.7 77 213.5 70 209.2 44.3C208.5 40.2 205.9 28.2 223.3 35.5C240.7 42.8 317.2 90.8 351.5 130.2C375.1 156.2 386.4 182.5 386.4 211.7z" /> + <glyph glyph-name="linkedin-in" + unicode="" + horiz-adv-x="448" d=" M100.3 -32H7.4V267.1H100.3V-32zM53.8 307.9C24.1 307.9 0 332.5 0 362.2C0 391.9 24.1 416 53.8 416C83.5 416 107.6 391.9 107.6 362.2C107.6 332.5 83.5 307.9 53.8 307.9zM448 -32H355.3V113.6C355.3 148.3 354.6 192.8 307 192.8C258.7 192.8 251.3 155.1 251.3 116.1V-32H158.5V267.1H247.6V226.3H248.9C261.3 249.8 291.6 274.6 336.8 274.6C430.8 274.6 448.1 212.7 448.1 132.3V-32z" /> + <glyph glyph-name="linkedin" + unicode="" + horiz-adv-x="448" d=" M416 416H31.9C14.3 416 0 401.5 0 383.7V0.3C0 -17.5 14.3 -32 31.9 -32H416C433.6 -32 448 -17.5 448 0.3V383.7C448 401.5 433.6 416 416 416zM135.4 32H69V245.8H135.5V32zM102.2 275C80.9 275 63.7 292.3 63.7 313.5S80.9 352 102.2 352C123.4 352 140.7 334.7 140.7 313.5C140.7 292.2 123.5 275 102.2 275zM384.3 32H317.9V136C317.9 160.8 317.4 192.7 283.4 192.7C248.8 192.7 243.5 165.7 243.5 137.8V32H177.1V245.8H240.8V216.6H241.7C250.6 233.4000000000001 272.3 251.1 304.6 251.1C371.8 251.1 384.3 206.8 384.3 149.2000000000001V32z" /> + <glyph glyph-name="linode" + unicode="" + horiz-adv-x="448" d=" M437.4 221.7C437.1 222.6 436.5 223.1 436 223.7L366 262.3C365.1 262.9 364 262.9 362.9 262.3L304 226.3C303.1 225.7 302.6 224.6 302.6 223.7L301.7000000000001 192.3L277.7000000000001 208.3C276.8000000000001 208.9 275.4000000000001 208.9 274.6 208.3L240 187.1L238.6 222.2C238.6 223.1 238 224.2 237.2 224.5L201.2 248.8000000000001L234.9 266.2000000000001C236 266.8000000000001 236.6 267.9000000000001 236.6 269.1L230.9 401.4000000000001C230.9 402.3000000000001 230 403.4000000000001 229.2 404.0000000000001L138.6 447.7C137.7 448 136.9 448 136.3 448L12.6 409.4C11.2 408.8 10.3 407.4 10.6 405.7L38 272.6C38.9 269.2 72 245.2 76.6 241.7L49.7 228.8C48.3 227.9 47.7 226.5 48 225.4L68.6 125.1C69.2 122.2 92.3 101.9999999999999 95.7 98.8L78.3 88.1999999999999C77.4 87.5999999999999 76.6 86.1999999999999 76.9 85.0999999999999C78.3 77.9999999999999 92.3 7.3999999999999 93.8 5.9999999999999L158.9 -63.1000000000001C159.5 -63.7000000000002 160.3 -63.7000000000002 161.2 -64.0000000000001C161.8 -64.0000000000001 162.3 -63.7000000000001 162.9 -63.4000000000001L246.6 3.4999999999999C247.5 4.0999999999999 247.7 4.8999999999999 247.7 5.7999999999999L245.7 51.7999999999999L273.7 28.0999999999999C274.8 27.1999999999999 276.5999999999999 27.1999999999999 277.7 28.0999999999999L344.5999999999999 81.4999999999999C345.4999999999999 82.0999999999999 345.7 82.8999999999999 345.7 83.7999999999999L348 117.1999999999999L368.3 103.1999999999999C369.4 102.2999999999999 370.9 102.2999999999999 372 103.1999999999999L426.6 146.8999999999999C427.2 147.1999999999999 427.7 147.9999999999999 427.7 148.8999999999999C428.6 155.3999999999999 438 219.6999999999999 437.4 221.6999999999999zM232.6 216.9L236.6 124.3L146 63.1L132 159.6999999999999L232.6 216.8999999999999zM224.9 396.9L230.3 270.9L123.7 215.5L104 350.3L224.9 396.9zM44 274.9L18 400L97.7 350.6L117.1 217.7L44 274.9zM74.6 127.1L55.7 218L125.7 159.7L139.4 66.3L74.6 127.1zM98.9 9.4L85.2 76.5L146.9 15.6L156.6 -51.8L98.9 9.4zM163.4 -55.1L152.8 15.8000000000001L238.5 77.2000000000001L241.6 7.2L163.4 -55.1zM245.4 60C245.4 63.4 246.3 82.9 243.4 85.1L219.1 105.1L241.4 120C243.7 121.7 242.5 125.7 242.5 128L271.9 105.4L272.5 37.1L245.4 59.9999999999999zM339.7 85.4L278.8 36.8L278.2 105.4L343.9 152.3L339.7 85.4zM367.4 111.1L348.3 124.5L350.3 158.5C350.6 159.3999999999999 350 160.5 349.2 161.1L308 188.3L308.6 218.3L373.2000000000001 177.7L367.4000000000001 111.1zM422 150.9L373.7 112.6L379.4 177.6999999999999L430.5 214.2999999999999L422 150.8999999999999z" /> + <glyph glyph-name="linux" + unicode="" + horiz-adv-x="448" d=" M196.1 324.4C195.9 325.8 198 326.7 199.3 327.3C201 328 203.2 328.3 204.8 327.4C205.2 327.2 205.6 326.7 205.4 326.3C205 325.1 203 325.3 201.9 324.7000000000001C200.9 324.2000000000001 200.1 323 198.9 323C197.9 322.9000000000001 196.2 323.4000000000001 196.1 324.4000000000001zM220.8 324.7C221.8 324.2 222.6 323 223.8 323C224.9 323 226.6 323.4 226.7 324.5C226.9 325.9 224.8 326.8 223.5 327.4C221.8 328.1 219.6 328.4 218 327.5C217.6 327.3 217.2 326.8 217.4 326.4C217.7 325.1 219.7 325.3 220.8 324.7zM435.5 14.5C435 6.3 429 0.7 421.6 -3.8C406.7000000000001 -12.8 384.3 -19.6 370.7000000000001 -36L368.1 -33.8L370.7000000000001 -36C356.5000000000001 -52.9 339.0000000000001 -62.6 322.4000000000001 -63.9C305.9000000000001 -65.1999999999999 290.4000000000001 -57.6 282.1 -40.9V-40.8C281 -38.6999999999999 280.2000000000001 -36.4 279.6 -34.1C258.1 -35.3 239.4000000000001 -28.8 224.5 -29.9999999999999C202.5 -31.1999999999999 188.7000000000001 -36.4999999999999 176.2000000000001 -36.6C171.4 -47.2 161.9 -54.2 150.3000000000001 -56.7999999999999C134.3000000000001 -60.4999999999999 114.2000000000001 -56.7999999999999 94.4 -46.4L96 -43.4L94.4 -46.4C75.9 -36.6 52.4 -37.5 35.1 -33.9C26.4 -32.1 18.8 -28.9 15 -21.6C11.3 -14.3 12 -4.3 17.2 10.1C18.9 15.2 17.6 22.8 16.4 30.9C15.8 34.8 15.2 38.8 15.2 42.7C15.2 47.0000000000001 15.9 51.2 18 55.1C22.5 63.6 29.8 67.2000000000001 36.5 69.6C43.2 72 49.3 73.6 53.5 77.9C58.7 83.4 63.6 92.3 70.1 98.1C67.5 115.3 70.3 133.5 76.3 151.4C88.9 189.3 115.5000000000001 225.6 134.4 248.1C150.5 271 155.2000000000001 289.4000000000001 156.9 312.8C158 344.6 132.4 448.2 234.8 448C315.7000000000001 447.9 311.1 362.6 310.6 316.7C310.3 286.6 326.9000000000001 266.2 344 244.7C359.2 226.7 379.1 200.4 390.5 170.3C399.8 145.6999999999999 403.4 118.5 394.2 91.1999999999999C395.6 90.6999999999999 397 89.9999999999999 398.3 89.1999999999999C399.7 88.3999999999999 401 87.3999999999999 402.3 86.3C408.9000000000001 80.6999999999999 411 71.9999999999999 412.8 63.9C414.7 55.8 416.4000000000001 48.2 420 44.2C431.1 31.8 435.9 22.7 435.5 14.5zM220.8 338.9C224.4 338 229.7 336.5 233.8 334.5C231.7 346.7 238.3 358 245.6 357.5C254.5000000000001 357.2 259.5 342 254.7 330.2C253.9 328.3 251.9 326.8 250.8 325.6C257.5 323.3 261.8 321.5 263.4000000000001 320.7C271.3 330.2 274.2000000000001 346.9 267.7000000000001 361.1C257.9000000000001 382.5 233.5000000000001 382.9 223.7000000000001 360.7C220.5000000000001 353.5 219.8000000000001 345.8 220.8000000000001 338.9zM174.6 320.1C182.4 325.8 181.5 324.8 180.5 325.6C172.5 332.5 173.9 353 182.3000000000001 353.7000000000001C188.6000000000001 354.2000000000001 193.1000000000001 343 191.9 334.1C195 336.2000000000001 198.6 337.7000000000001 202.1 338.7000000000001C203.8 358 193.1 372.2000000000001 183 372.2000000000001C164.1 372.2000000000001 159 334.7000000000001 174.6 320.1zM165.2 299.2000000000001C166.7 294.3 171.3 288.7000000000001 179.9 283.9C187.7 279.3 191.9 272.4 199.9 268.9C202.5 267.8 205.6 267 209.5 266.8C227.9 265.7000000000001 236.6 278.1 247.7 281.7000000000001C259.4 285.4 267.8 292.7000000000001 270.4 299.8C273.6 308.3 268.3 314.5 259.9 318C248.6 322.9 243.6 323.2 237.3 327.3C227 333.9 218.5 336.2 211.4 336.2C197 336.2 188.2 326.4 183.5 322C183 321.5 175.6 316.1 169.4 311.5C165.2 308.2 163.8 304.1 165.2 299.2zM131.7 46.4L112.1 82C105.3 91.2 98.3 96.8 90.2 98C82.5 99.2 77.6 96.6 72.5 91.1C67.7 86 63.7 78.8 58.2 73.1C50.4 66.6 48.9 66.9 38.6 63.2000000000001C32.3 61.0000000000001 27.3 58.6 23.8 51.9C21.1 46.9 21.7 39.7 22.9 31.9C24.1 24.0000000000001 25.9 15.6 23.5 8.0000000000001V7.8000000000001C18.5 -5.8999999999999 18.5 -13.8999999999999 20.9 -18.5999999999999C28.8 -33.9999999999999 67.5 -24.6999999999999 97.4 -40.4999999999999C128.8 -56.8999999999999 170 -57.5999999999999 172.7 -22.4999999999999C174.8 -1.9999999999999 141.2 26.5000000000001 131.7 46.4000000000001zM285.6 10.6C288.8 21.6 291.9000000000001 31.9 292.4000000000001 39.6C293.2000000000001 54.8 294.0000000000001 68.3 296.8 79.4999999999999C299.9000000000001 92.1 306.1 102.6 318.2 106.8C320.5 127.9 336.9 127.9 356.5 119.3C375.4 110.8 382.5 103.3 379.3 93.1999999999999C380.3 93.1999999999999 381.3 93.3 383.5 93.1999999999999C388.7 110.0999999999999 369.2 121.1999999999999 352.8 128C355.7 140 355.2 152.1 352.4000000000001 163.6999999999999C346.4000000000001 189 329.8 211.5 317.2000000000001 222.6999999999999C314.9000000000001 222.7999999999999 315.1 220.7999999999999 319.8000000000001 216.1999999999999C331.4000000000001 205.5 356.9000000000001 167 343.1000000000001 131.3C339.2000000000001 132.3 335.5000000000001 132.8 332.2000000000001 132.6999999999999C326.9000000000001 161.8 314.7000000000001 185.8999999999999 308.6000000000001 197.2999999999999C297.1000000000001 218.6999999999999 279.1000000000001 262.5999999999999 271.4000000000001 293C266.9000000000001 286.5999999999999 259.0000000000001 281.0999999999999 249.1000000000001 278C244.4000000000001 276.5 239.4000000000001 272.5 233.2000000000001 269C219.3000000000001 261 203.2000000000001 260.2 190.8000000000001 270.2C186.3000000000001 273.8 182.8000000000001 277.8 178.2000000000001 280.5C176.6000000000001 281.4 173.1000000000001 283.8 172.0000000000001 284.5999999999999C170.0000000000001 246.8 144.7000000000001 199.3 132.7000000000001 171.8999999999999C124.4000000000001 152.1999999999999 119.5000000000001 131.0999999999999 118.9000000000001 110.3999999999999C97.1000000000001 139.5 113.0000000000001 176.6999999999999 121.5000000000001 192.7999999999999C131.0000000000001 210.3999999999999 132.5000000000001 215.2999999999999 130.2000000000001 213.5999999999999C121.6000000000001 199.5999999999999 108.2000000000001 177.3 103.0000000000001 154.3999999999999C100.3000000000001 142.5 99.8000000000001 130.3999999999999 103.3000000000001 119.1999999999999C106.8000000000001 107.9999999999999 114.4000000000001 97.6999999999999 127.9000000000001 89.3C127.9000000000001 89.3 152.7000000000001 74.9999999999999 166.2000000000001 56.8C173.6000000000001 46.8 175.9000000000001 38.1 173.6000000000001 31.9C171.1000000000001 25.2 164.0000000000001 23 156.9000000000001 23C161.7000000000001 17 167.2000000000001 10 171.3000000000001 3.4C208.9000000000001 -22.3 253.5000000000001 -12.3 285.6000000000002 10.6zM415 39.5C405 50.8 407.8 72.6 397.9 81.1C391 87.1 384.3 86.5 375.3 86.2000000000001C367.6 77.4 349.5 66.6 336.9 69.9C325.4 72.8 318.9 86.2000000000001 318.1 99.4C317.8 99.2000000000001 317.4 99.1 317.1 98.9C310 95.0000000000001 306 88.1 303.4 77.8C300.9 67.6 300 54.3 299.2 39.1C298.5 27.3 293 12.7 289.3 -1.5C285.8 -14.7 283.5 -26.7 288.2 -37.8C295.4 -52.3 307.7 -58.2 321.9 -57.1C336.1 -56 352.3 -47.3 365.5 -31.6C387.5 -5 427.8 -1.9 428.7 14.9C429 20 425.6 27.9 415 39.5zM173.3 299.3C175.3 297.4 178 294.8 181.3 292.2000000000001C187.9 287 197.1 281.6 208.6 281.6C220.2 281.6 231.1 287.5 240.4000000000001 292.4000000000001C245.3000000000001 295 251.3000000000001 299.4000000000001 255.2000000000001 302.8000000000001C259.1 306.2000000000001 261.1 309.1 258.3000000000001 309.4000000000001C255.5000000000001 309.7000000000001 255.7000000000001 306.8000000000001 252.3000000000001 304.3000000000001C247.9000000000001 301.1 242.6000000000001 296.9000000000001 238.4000000000001 294.5C231.0000000000001 290.3000000000001 218.9000000000001 284.3000000000001 208.5000000000001 284.3000000000001C198.1000000000001 284.3000000000001 189.8000000000001 289.1 183.6000000000001 294C180.5000000000001 296.5 177.9000000000001 299 175.9000000000001 300.9000000000001C174.4000000000001 302.3000000000001 174.0000000000001 305.5 171.6000000000001 305.8000000000001C170.2000000000001 305.9000000000001 169.8000000000001 302.1 173.3000000000001 299.3000000000001z" /> + <glyph glyph-name="lyft" + unicode="" + horiz-adv-x="512" d=" M0 366.9H77.8V158.2000000000001C77.8 125.1 92.8 105.4 105 97.2000000000001C92.3 86.1 53.8 76.3000000000001 24.8 100.0000000000001C7.8 114 0 137.3 0 159V366.9zM485.9 193.4V215.4H509.7V292.2H483.6C473.4999999999999 338.5 432.4 372.9 383.3 372.9C326.7 372.9 280.6 326.9 280.6 270.2V91C296.6 88.7 316 91.3 332.3 105C349.4 119 357.1 142.2 357.1 164V170.7H395.9V247.5H357.1V270.8C357.1 305.4 409.3 305.4 409.3 270.8V193.7C409.3 137.1 455.3 91 511.9999999999999 91V167.5C497.4999999999999 167.5 485.8999999999999 179.2 485.8999999999999 193.4zM191.6 292.4V179.4C191.6 164 167.8 164 167.8 179.4V292.4H91V159.7C91 135.9 99 105.7 136 95.8C173 86 194.2 106.4 194.2 106.4C192.1 93.0000000000001 179.7 83.1 159.3 81.1C143.8 79.5 124.1 84.7000000000001 114.3 88.9V18.6C139.4 11.1 165.8 8.8 191.9 13.9C239 23.0000000000001 268.7 62.3 268.7 114.7000000000001V292.9H191.6V292.4z" /> + <glyph glyph-name="magento" + unicode="" + horiz-adv-x="448" d=" M445.7 320.1V64L382.3 27.5V283.3L223.8 374.9L65.2 283.3L65.6 27.4L2.3 64V319.9L224.2 448L445.7 320.1zM255.6 27.5L224 9.1L192.2 27.3V283.3L128.9 246.7L129 -9.2L223.9 -64.1L319 -9.2V246.8L255.6 283.4V27.4999999999999z" /> + <glyph glyph-name="mailchimp" + unicode="" + horiz-adv-x="428.07" d=" M426.56 124.28C423.4700000000001 130.87 417.59 135.41 410.21 137.16C407.74 148.43 404.33 153.96 404.02 154.79C405.32 156.27 406.58 157.76 406.86 158.11C417.28 171.04 410.48 189.97 392.67 194.44C382.65 204.0799999999999 373.58 208.6099999999999 366.13 212.34C358.99 215.91 361.8399999999999 214.5099999999999 355.14 217.53C353.36 226.24 352.7699999999999 246.5 349.94 260.7199999999999C347.3999999999999 273.51 342.2799999999999 282.78 334.38 288.87C331.2199999999999 295.7099999999999 326.79 302.61 321.45 307.68C346.2899999999999 345.76 352.83 383.37 334.64 403.07C326.5399999999999 411.8399999999999 314.51 416 300.12 416C279.86 416 254.94 407.74 229.78 392.4599999999999C229.78 392.4599999999999 213.4 405.64 213.05 405.92C142.97 461.11 -55.23 217.22 14.73 163.92L32.79 150.12C21.45 118.5799999999999 37.22 80.98 70.08 68.91C77.34 66.24 85.22 64.9399999999999 93.39 65.4C93.39 65.4 146.48 -31.96 258.49 -31.99C388.07 -32.03 421.04 94.73 421.39 95.87C421.39 95.86 431.89 111.38 426.56 124.28zM20.12 180.05C5.92 204.01 30.63 253.24 48.21 281.2200000000001C91.66 350.37 163.98 404.94 196.82 397.15L205.85 400.61C205.88 400.58 230.52 379.76 230.55 379.74C247.52 389.93 269.13 400.31 289.35 402.38C277.05 399.61 262.06 393.23 244.3 382.37C243.87 382.12 202.28 354.05 176.87 328.85C163.02 315.12 107.42 248.44 107.4699999999999 248.5C117.63 267.73 124.33 277.17 140.41 297.4C149.5099999999999 308.8400000000001 159.22 319.9700000000001 169.15 330.24C173.76 335.01 178.43 339.6 183.0999999999999 343.9500000000001C186.31 346.94 189.5399999999999 349.8200000000001 192.75 352.5700000000001C194.2299999999999 353.8400000000001 195.71 355.0700000000001 197.18 356.2800000000001L197.19 356.29L164.6 383.2L166.32 371.14L190.01 350.27S169.05 336.16 158.62 327.26C116.83 291.6 75.82 236.86 60.56 183.57L61.29 183.6C53.69 179.41 46.15 172.69 39.56 163.55C39.4 163.59 22.52 175.98 20.12 180.05zM89.23 79.96C64.2 79.96 43.9 101.33 43.9 127.6800000000001C43.9 154.0400000000001 64.19 175.4000000000001 89.23 175.4000000000001C95.72 175.4000000000001 101.89 173.9600000000001 107.47 171.3800000000001C107.47 171.3800000000001 117.1 166.5200000000001 119.81 143.5700000000001C122.63 150.7400000000001 124.05 156.6300000000001 124.05 156.6300000000001C127.28 146.7500000000001 128.93 136.3700000000001 128.28 125.8700000000001C130.96 129.4300000000001 133.83 136.1400000000001 133.83 136.1400000000001C138.83 106.8100000000001 117.43 79.9600000000001 89.23 79.9600000000001zM145.03 248.4900000000001S164.52 285.5500000000001 207.36 310.0600000000001C204.17 310.5700000000001 196.37 309.5800000000001 195 309.4200000000001C202.78 316.11 217.24 320.5800000000001 227.23 322.61C224.31 324.4700000000001 217.34 324.9400000000001 213.89 325.0300000000001C212.87 325.0600000000001 212.88 325.0500000000001 211.67 325.0000000000001C221.07 330.2500000000001 238.49 333.3400000000001 254.32 330.5500000000001C252.33 333.1900000000001 247.82 335.12 244.65 336.0600000000001C244.37 336.1400000000001 243.13 336.4500000000001 243.13 336.4500000000001L244.32 336.73C253.86 338.5700000000001 265.01 336.5800000000001 273.82 333.0400000000001C272.82 335.36 270.37 338.0700000000001 268.53 339.7800000000001C268.34 339.9600000000001 267.24 340.7500000000001 267.24 340.7500000000001C276.46 338.8400000000001 285.3 334.8100000000001 291.95 330.2500000000001C291.05 332.0000000000001 288.81 334.9400000000001 287.26 336.5400000000001C296.07 334.0200000000001 305.9699999999999 327.73 310.2099999999999 318.7200000000001C310.31 318.5200000000001 310.58 317.7800000000001 310.6099999999999 317.6900000000001C293.9099999999999 330.5300000000001 245.1699999999999 326.8900000000001 196.3699999999999 295.2700000000001C174.0399999999999 280.7900000000001 157.6599999999999 264.9500000000001 145.0299999999999 248.4900000000001zM408.35 102.15C407.7600000000001 101.0000000000001 401.62 67.7500000000001 366.49 40.14C322.12 5.28 263.8300000000001 8.8100000000001 241.82 28.34C230.06 39.34 224.97 55.0700000000001 224.97 55.0700000000001S223.64 46.2 223.41 42.72C214.54 57.81 215.29 76.24 215.29 76.24S210.56 67.41 208.39 62.47C201.86 79.09 205.23 96.25 205.23 96.25L200.07 88.55S197.65 107.36 203.59 123.02C209.95 139.76 222.27 151.92 224.7 153.44C215.35 156.41 204.58 164.93 204.56 164.95C204.56 164.95 208.84 164.67 211.82 165.35C211.82 165.35 192.92 178.89 189.6 199.61C192.34 196.23 198.09 192.4 198.09 192.4C196.23 197.8199999999999 195.1 209.89 196.84 221.7599999999999L196.85 221.7699999999999C200.43 244.45 219.12 259.2199999999999 240.29 259.04C262.83 258.8399999999999 277.94 254.11 296.84 271.54C300.84 275.2299999999999 304.03 278.41 309.65 279.6499999999999C310.24 279.7799999999999 311.71 280.3999999999999 314.72 280.3999999999999C317.77 280.3999999999999 320.7 279.7099999999999 323.39 278.1099999999999C333.64 272.01 335.85 256.0999999999999 336.95 244.4299999999999C341.02 201.1499999999999 339.38 208.8599999999999 356.89 199.9399999999999C365.25 195.6899999999999 374.63 191.6499999999999 385.32 180.2199999999999C385.35 180.19 385.4 180.13 385.4 180.13H385.53C394.54 179.9099999999999 399.18 172.8199999999999 395.03 167.6599999999999C364.8 131.5599999999999 322.57 114.2699999999999 275.52 112.8199999999999C273.58 112.7699999999999 269.2 112.67 269.18 112.67C250.17 112.09 243.99 87.5099999999999 255.91 72.72C263.45 63.37 277.94 60.3 289.88 60.26L290.05 60.32C341.5 59.28 393.19 95.69 402.12 115.76C402.18 115.91 402.73 117.18 402.73 117.18C400.6600000000001 114.75 350.55 67.57 289.6500000000001 69.28C289.6500000000001 69.28 282.99 69.42 276.7200000000001 70.8800000000001C268.4500000000001 72.8000000000001 262.17 76.4400000000001 259.7700000000001 84.6800000000001C264.8200000000001 83.6700000000001 271.2200000000001 83.02 278.6400000000001 83.02C322.6 83.02 354.2700000000001 103.0000000000001 350.9700000000001 103.27C350.8400000000001 103.27 350.7100000000001 103.2400000000001 350.49 103.1900000000001C345.36 102.0000000000001 292.52 81.53 259.12 92.03C259.2 93.05 259.36 94.04 259.6 94.93C262.5700000000001 104.88 267.85 103.49 276.3900000000001 103.86C306.8700000000001 104.87 331.4600000000001 112.54 349.8900000000001 121.29C369.54 130.62 384.5200000000001 142.6400000000001 389.9200000000001 148.71C396.9200000000001 136.92 396.8800000000001 121.79 396.8800000000001 121.79S399.6200000000001 122.75 403.2600000000001 122.75C414.6400000000001 122.74 416.9900000000001 112.52 408.35 102.15zM259.0600000000001 88.4500000000001C259.0600000000001 88.5000000000001 259.0500000000001 88.5500000000001 259.0500000000001 88.6C259.0600000000001 88.55 259.0600000000001 88.5 259.0600000000001 88.4500000000001zM259.0500000000001 88.66C259.0400000000001 88.79 259.0400000000001 88.92 259.0300000000001 89.05C259.0100000000001 89.7 259.0000000000001 90.38 259.0300000000001 91.07C259.0100000000001 90.33 259.0100000000001 89.65 259.0300000000001 89.05C259.0400000000001 88.92 259.0400000000001 88.78 259.0500000000001 88.66zM259.1700000000001 87.2000000000001C259.1700000000001 87.1800000000001 259.1700000000001 87.16 259.1800000000001 87.14C259.1800000000001 87.16 259.1800000000001 87.1800000000001 259.1700000000001 87.2000000000001zM259.1900000000001 87.08C259.3900000000001 85.5000000000001 259.7000000000001 84.77 259.7400000000001 84.6800000000001C259.5100000000001 85.1700000000001 259.3200000000001 86.02 259.1900000000001 87.08zM193.96 388.32L196.83 397.15L201.71 379.43L195.68 381.38L193.96 388.32zM216.34 370.6L212.72 383.19L222.69 374.83C220.45 373.39 218.33 371.9700000000001 216.34 370.6zM259.05 88.66C259.04 88.79 259.04 88.92 259.0300000000001 89.05C259.04 88.92 259.04 88.78 259.05 88.66zM259.04 89.05C259.0200000000001 89.6999999999999 259.0100000000001 90.3799999999999 259.04 91.0699999999999C259.0100000000001 90.3199999999999 259.0100000000001 89.6499999999999 259.04 89.05zM259.06 88.4499999999999C259.06 88.4999999999999 259.05 88.55 259.05 88.5999999999999M259.18 87.1399999999999C259.18 87.1599999999999 259.18 87.18 259.17 87.1999999999999M259.19 87.0799999999999C259.39 85.4999999999999 259.7 84.7699999999999 259.74 84.68C259.51 85.17 259.32 86.0199999999999 259.19 87.0799999999999zM311.29 225.69C311.2200000000001 229.05 311.7600000000001 234.61 314.92 235.64H314.93C320.3400000000001 237.5199999999999 327.51 223.66 327.8400000000001 211.3599999999999C323.5600000000001 213.4999999999999 318.54 214.41 313.37 213.9599999999999C312.07 217.9299999999999 311.45 221.6599999999999 311.29 225.6899999999999zM205.38 362.73L191.79 374.11L212.36 367.83C209.71 365.95 207.36 364.23 205.38 362.73zM233.08 195.79C229.67 194.49 227.25 193.48 226.08 193.65C224.19 193.93 226.02 197.4 230.16 200.7600000000001C238.49 207.4 249.92 209.46 259.69 205.8300000000001C263.97 204.2600000000001 268.77 201.1100000000001 271.29 197.4400000000001C272.24 196.0500000000001 272.5 195.0000000000001 272.11 194.5600000000001C271.3400000000001 193.6600000000001 268.6 194.8700000000001 264.56 196.4500000000001C254.21 200.3100000000001 246.58 200.9 233.08 195.7900000000001zM247.63 181.2600000000001C245.32 180.3200000000001 243.82 179.6 243.21 180.09C242.59 180.5700000000001 243.2 182.5100000000001 245.36 184.6C247.24 186.41 249.1900000000001 187.43 251.43 188.37C251.78 188.52 252.15 188.65 252.53 188.75C253.57 189.03 254.62 189.38 255.76 189.55C264.88 191.1 271.56 186.04 270.69 184.57C270.3 183.88 268.61 184.04 266.09 184.21C260.86 184.57 255.38 184.48 247.63 181.26zM60.86 124.88zM85.16 150.66C83.31 150.27 84.35 150.49 82.52 149.98A7 7 0 0 1 81.75 149.73C81.17 149.46 80.64 149.28 80.13 149C79.7 148.7599999999999 76.06 147.1399999999999 73.1 143.5199999999999C69.11 138.5699999999999 67.66 132.0899999999999 67.91 125.8499999999999C68.15 119.7899999999999 69.93 116.4399999999999 70.26 115.6199999999999C71.64 112.6599999999999 68.41 112.0499999999999 65.47 115.2299999999999L65.46 115.2399999999999C63.11 117.7299999999999 61.6 121.5299999999999 60.86 124.8999999999999C57.88 138.8499999999999 64.1 152.8699999999999 78.47 158.4699999999999C79.27 158.7899999999999 80.21 158.9799999999999 80.97 159.1999999999999H80.96C82.43 159.6399999999999 87.68 160.6999999999999 93.03 159.87C98.9 158.9599999999999 104.07 156.0199999999999 107.36 152.1999999999999L107.37 152.19C109.9 149.3199999999999 111.8 145.2699999999999 111.46 141.66V141.65C111.33 140.15 110.67 138 109.32 137.44C108.82 137.23 108.31 137.34 107.96 137.69C106.98 138.65 107.74 140.62 105.36 143.99C102.19 148.46 95.05 152.75 85.16 150.66zM115.44 119.49C117.32 108.67 109.44 98.99 99.92 98.79C93.25 98.64 89.61 102.81 90.26 103.72C90.56 104.15 91.58 103.96 93.14 103.73C101.64 102.41 106.8 107.59 108.04 113.02C108.06 113.11 108.39 114.56 108.38 115.56C108.45 116.44 108.35 117.32 108.22 118.12C107.22 123.74 100.77 124.8 96.62 129.27C92.9 133.31 93.63 138.49 95.97 140.98C98.78 143.75 102.8 142.74 102.75 141.7599999999999C102.75 141.24 101.78 140.8499999999999 100.58 140.0199999999999C99.02 138.9199999999999 98.81 137.8599999999999 99.21 136.0399999999999C99.47 135.0399999999999 99.92 134.3899999999999 100.89 133.6199999999999C104.37 130.8599999999999 113.74 128.9199999999999 115.44 119.4899999999999zM328.31 200.96C330.89 200.56 332.5300000000001 197.37 331.98 193.83C331.43 190.29 328.8900000000001 187.75 326.31 188.16C323.73 188.56 322.09 191.75 322.64 195.29C323.2 198.82 325.73 201.36 328.31 200.96zM299.98 190.65C301.4000000000001 193.24 305.42 193.76 308.9700000000001 191.81C312.5200000000001 189.87 314.24 186.19 312.8300000000001 183.61C311.4100000000001 181.0200000000001 307.3900000000001 180.5 303.8400000000001 182.45C300.29 184.39 298.5600000000001 188.06 299.98 190.65z" /> + <glyph glyph-name="mandalorian" + unicode="" + horiz-adv-x="390.88" d=" M203.28 -63.89C202.3 -60.63 201.59 -48.06 201.89 -39.31C202.44 -23.42 202.87 -14.59 203.29 -10.55C203.93 -4.35 206.16 10.17 206.57 10.83C207.17 11.79 206.97 38.7 206.33 43.96C206.02 46.54 205.7 55.86 205.64 64.69C205.51 81.16 205.11 84.81 202.91 89.45C201.81 91.77 201.68 93.29 201.92 100.88C202.08 105.69 201.92 111.41 201.58 113.59C199.53 126.56 198.12 141.29 198.33 147.49C198.54 153.61 198.76 154.6399999999999 200.39 157.16C203.44 161.87 206.9 171.2 209.01 180.43C211.27 190.29 212.89 197.61 213.6 201.17C214.49 205.59 216.03 210.89 217.96 216.22C220.2300000000001 222.47 220.4500000000001 231.61 218.3300000000001 231.61C218.03 231.61 216.9500000000001 230.39 215.9200000000001 228.9C214.8900000000001 227.41 211.1600000000001 224.0999999999999 207.6300000000001 221.5399999999999C199.2600000000001 215.4599999999999 195.9300000000001 212.1499999999999 194.9700000000001 208.9599999999999C194.0400000000001 205.8499999999999 193.9500000000001 201.7299999999999 194.8100000000001 201.1999999999999C195.1500000000001 200.9899999999999 196.1000000000001 198.7999999999999 196.9200000000001 196.3199999999999C198.5400000000001 191.44 198.7900000000001 186.1999999999999 197.6400000000001 180.9599999999999C197.2500000000001 179.19 196.5900000000001 175.4899999999999 196.1800000000001 172.7299999999999C195.7700000000001 169.9699999999999 195.2000000000001 166.2699999999999 194.9300000000001 164.5099999999999C194.6500000000001 162.7499999999999 193.9600000000001 160.8299999999999 193.3800000000001 160.2499999999999C192.4200000000001 159.2899999999999 192.2400000000001 159.3399999999999 191.3300000000001 160.7799999999999C190.78 161.6499999999999 190.1300000000001 163.7899999999999 189.8900000000001 165.5299999999999C189.6400000000001 167.2699999999999 188.2600000000001 172.6399999999999 186.81 177.4599999999999C183.53 188.3599999999999 183.29 193.6099999999999 185.85 198.4199999999999C186.77 200.1499999999999 187.52 202.2299999999999 187.52 203.0299999999999C187.52 205.4199999999999 185.32 208.3499999999999 180.11 212.9199999999999C173.06 219.0999999999999 171.48 220.8399999999999 169.88 224.2199999999999C168.17 227.8199999999999 166.82 228.2799999999999 165.34 225.7599999999999C163.56 222.7499999999999 162.7400000000001 216.6499999999999 162.37 203.7399999999999L162.0200000000001 191.6099999999999L163.97 189.3599999999999C167.18 185.6599999999999 176.04 172.9099999999999 177.75 169.5299999999999C181.16 162.7899999999999 182.09 157.8399999999999 182.16 145.9699999999999C182.23 134.13 183.11 123.2199999999999 184.16 121.2599999999999C184.5200000000001 120.5999999999999 184.67 119.9099999999999 184.5 119.74C184.3300000000001 119.5699999999999 184.91 117.65 185.79 115.47C186.67 113.29 187.6 109.2499999999999 187.85 106.49C188.1 103.73 188.87 99.06 189.56 96.12C191.79 86.56 192.3300000000001 82.04 191.95 75.98C191.75 72.71 191.42 64.91 191.22 58.66C189.91 16.9 189.37 0.68 189.18 -2.55C189.06 -4.57 188.7900000000001 -14.06 188.5800000000001 -23.62C188.22 -39.92 187.28 -50.99 186.1600000000001 -52.27C185.5200000000001 -53 178.0900000000001 -47.36 173.6400000000001 -42.78C169.8900000000001 -38.91 169.62 -37.9899999999999 170.81 -32.83C171.51 -29.82 173.07 -14.54 174.1400000000001 -0.21C174.5000000000001 4.57 174.9500000000001 10.29 175.15 12.5C175.9800000000001 21.87 176.81 32.85 177.7600000000001 47.28C178.3200000000001 55.74 179.0900000000001 63.72 179.4800000000001 65.01C179.8600000000001 66.3 180.37 74.9 180.6100000000001 84.12L181.0400000000001 100.89L178.7800000000001 105.19C177.0600000000001 108.47 173.9100000000001 112.13 165.5600000000001 120.53C159.5300000000001 126.6 153.7200000000001 132.83 152.6500000000001 134.38L150.7000000000001 137.19L151.4500000000001 148.09C152.5400000000001 163.8 152.5500000000001 196.66 151.4700000000001 207.15L150.5800000000001 215.85L147.3000000000001 220.37C141.4400000000001 228.45 141.5000000000001 228.12 141.0800000000001 253.64C140.9800000000001 259.71 140.7000000000001 265.14 140.4500000000001 265.7C139.6200000000001 267.57 137.4000000000001 268.36 131.9100000000001 268.75C123.0500000000001 269.37 120.9500000000001 270.65 108.0600000000001 283.3C101.9100000000001 289.3400000000001 95.7200000000001 295.27 94.3100000000001 296.49C91.5000000000001 298.91 91.5200000000001 298.48 93.7500000000001 306.12L95.1000000000001 310.77L93.4100000000001 313.81C92.4800000000001 315.48 91.3200000000001 317.32 90.8200000000001 317.88C89.4900000000001 319.39 85.3200000000001 328.77 84.8300000000001 331.37C84.5200000000001 333.03 84.7400000000001 334.04 85.7000000000001 335.27C87.9300000000001 338.13 89.1000000000001 340.95 90.1500000000001 346C92.4800000000001 357.19 97.8900000000001 372.0900000000001 100.7500000000001 375.2200000000001C103.9300000000001 378.69 108.4500000000001 376.27 110.1600000000001 370.19C111.5000000000001 365.4 111.5300000000001 360.4 110.2600000000001 351.64C109.7300000000001 347.96 109.2800000000001 342.9600000000001 109.2700000000001 340.53C109.2500000000001 336.52 109.4600000000001 335.8400000000001 111.5200000000001 333.14C114.8500000000001 328.77 119.2500000000001 325.73 126.7200000000001 322.62C128.4200000000001 321.9100000000001 130.5400000000001 320.63 131.4400000000001 319.77C142.6100000000001 309.05 150.0600000000001 303.5900000000001 154.3900000000001 302.92C159.5700000000001 302.12 162.3700000000001 298.38 164.4300000000001 289.5300000000001C165.7400000000001 283.88 168.4300000000001 278.3900000000001 169.8900000000001 278.3900000000001C170.4800000000001 278.3900000000001 171.9800000000001 279.0200000000001 173.2200000000001 279.7800000000001C175.2000000000001 281 175.4700000000001 281.51 175.4700000000001 283.9600000000001C175.4600000000001 287.6700000000001 174.3000000000001 298.0400000000001 173.4700000000001 301.8000000000001C173.1000000000001 303.4600000000001 172.6900000000001 305.86 172.5400000000001 307.1500000000001C172.4000000000001 308.4400000000001 171.9300000000001 311 171.5100000000001 312.8400000000001C168.9600000000001 324 167.8600000000001 328.3000000000001 167.4100000000001 328.8900000000001C165.8600000000001 330.9100000000001 163.3300000000001 339.0900000000001 162.4800000000001 344.8100000000001C160.8400000000001 355.92 158.5200000000001 359.04 149.5700000000001 362.2000000000001C144.9300000000001 363.8400000000001 140.6800000000001 366.3200000000001 136.2500000000001 369.98C135.1000000000001 370.9300000000001 132.2400000000001 373.2000000000001 129.9000000000001 375.04C127.5500000000001 376.87 125.4900000000001 378.5700000000001 125.3000000000001 378.8000000000001C125.1200000000001 379.0300000000001 123.9100000000001 379.9400000000001 122.6100000000001 380.8200000000001C116.3700000000001 385.04 113.7700000000001 387.8000000000001 111.3500000000001 392.7800000000001L108.9100000000001 397.8000000000001L108.6900000000001 410.7800000000001L108.4700000000001 423.7600000000001L115.3800000000001 430.3100000000001C119.3300000000001 434.0600000000001 123.8600000000001 437.6600000000001 125.9700000000001 438.7400000000001C129.2800000000001 440.4300000000001 130.4200000000001 440.6300000000001 137.3400000000001 440.79C145.8700000000001 440.98 147.4600000000001 440.7700000000001 149.0000000000001 439.23C150.5300000000001 437.7000000000001 150.3600000000001 432.8300000000001 148.7100000000001 430.73C147.9700000000001 429.79 147.3700000000001 428.7500000000001 147.3700000000001 428.4100000000001C147.3700000000001 427.8300000000001 144.7600000000001 423.5000000000001 141.9500000000001 419.4200000000001C141.2700000000001 418.4300000000001 139.8200000000001 414.0700000000001 139.5800000000001 412.6C160.0200000000001 399.2100000000001 161.1300000000002 408.8300000000001 153.6500000000001 383.6200000000001L165.0500000000001 381.0800000000001C168.1600000000002 389.74 171.5200000000001 398.3400000000001 173.6600000000002 407.3000000000001C173.9500000000001 414.9300000000001 161.6800000000002 411.49 158.2600000000001 415.98C155.9300000000001 421.9100000000001 161.3900000000001 430.1600000000001 164.3200000000001 435.1800000000001C165.9200000000001 437.5200000000001 170.9400000000002 439.8800000000001 173.1400000000001 439.3300000000001C174.0200000000001 439.11 177.3000000000001 439.6800000000001 180.5100000000001 440.61C183.6900000000002 441.5300000000001 187.0900000000002 442.29 188.0600000000002 442.29C189.0300000000002 442.29 191.7200000000002 442.8700000000001 194.0400000000001 443.5800000000001C197.6900000000002 444.6900000000001 198.5400000000001 444.7500000000001 200.3900000000001 443.98C201.5600000000001 443.5000000000001 204.1800000000001 442.8900000000001 206.2100000000001 442.6200000000001C208.2300000000001 442.36 210.9300000000001 441.5000000000001 212.2100000000001 440.7100000000001C213.4900000000001 439.92 215.7400000000001 438.9400000000001 217.2300000000001 438.54C219.7400000000001 437.86 220.2300000000001 437.9700000000001 224.2800000000002 440.2100000000001L228.6300000000002 442.61L239.3300000000002 443.0200000000001C249.7700000000001 443.42 250.1400000000002 443.4900000000001 254.5900000000001 445.7000000000001L259.1700000000002 448.0000000000001L261.6300000000001 446.5700000000001C263.3900000000001 445.55 264.7700000000001 443.8400000000001 266.4800000000002 440.5900000000001C268.8400000000002 436.0800000000001 268.8600000000002 436.0100000000001 267.8500000000002 433.2200000000001C266.9700000000002 430.7800000000001 266.9600000000002 429.92 267.7500000000001 426.8300000000001C268.2500000000001 424.8700000000001 269.2000000000001 422.2100000000001 269.8500000000002 420.92C270.5000000000001 419.6300000000001 271.0900000000002 417.8300000000001 271.1600000000002 416.9100000000001C271.4700000000002 412.5800000000001 271.1300000000002 411.61 268.7500000000001 409.99C266.5800000000001 408.5200000000001 261.7700000000001 402.0800000000001 261.7700000000001 400.6500000000001C261.7700000000001 400.3300000000001 261.2900000000001 398.9600000000001 260.7000000000001 397.62C255.6600000000001 386.11 253.9400000000001 384.0600000000001 246.4400000000001 380.6400000000001C237.2400000000001 376.4400000000001 234.1400000000001 375.4500000000001 230.2300000000001 375.4500000000001C227.1300000000001 375.4500000000001 226.2300000000001 375.2000000000001 225.6900000000001 374.1900000000001C225.3200000000001 373.5 223.4800000000001 371.8200000000001 221.6000000000001 370.48C219.5600000000001 369.0100000000001 217.8000000000001 367.1 217.2200000000001 365.7000000000001C216.6800000000001 364.42 215.5600000000001 363.11 214.7300000000001 362.79C213.9000000000001 362.4700000000001 212.7900000000001 361.7100000000001 212.2800000000001 361.0800000000001C211.7600000000001 360.4600000000001 208.6200000000001 358.04 205.2800000000001 355.7000000000001C201.9500000000001 353.36 198.4100000000001 350.6800000000001 197.4100000000001 349.7400000000001C196.4100000000001 348.8000000000001 195.3400000000001 348.0300000000001 195.0200000000001 348.0300000000001S193.7400000000001 347.2900000000001 192.8900000000001 346.3800000000001C191.5800000000001 344.9900000000001 191.4000000000001 344.2700000000001 191.7500000000002 341.7800000000001C191.9700000000002 340.1500000000001 192.6100000000002 337.5100000000001 193.1700000000001 335.9000000000001C194.4900000000001 332.1000000000001 194.4800000000001 328.0400000000001 193.1200000000001 325.3300000000001C191.6900000000001 322.4700000000001 192.2300000000001 318.6800000000001 194.4700000000001 315.7400000000001C196.4800000000001 313.1100000000001 196.6300000000001 311.1800000000001 195.1800000000001 306.9000000000001C194.5700000000001 305.1 194.1300000000001 301.4500000000001 194.1200000000001 297.9900000000001C194.1000000000001 293.1100000000001 194.3400000000001 291.7100000000001 195.5800000000001 289.6100000000001C196.7800000000001 287.5700000000001 197.4000000000001 287.1300000000001 198.8200000000001 287.2900000000001C200.8000000000001 287.5200000000001 201.1200000000002 288.3400000000001 203.5300000000002 299.4100000000001C205.7100000000002 309.4400000000001 207.2400000000002 311.3300000000001 217.2900000000001 316.4900000000001C220.2300000000001 318.0000000000001 224.7500000000002 320.4500000000001 227.3200000000002 321.9300000000001C229.9000000000002 323.4100000000001 234.1100000000002 325.6200000000001 236.6900000000002 326.8400000000001C243.3600000000002 330.0000000000001 247.7400000000002 333.3600000000001 251.9100000000002 338.5100000000001C259.0200000000002 347.3000000000001 261.8900000000002 354.7300000000001 264.7600000000002 371.8100000000001C265.3100000000002 375.0900000000001 266.1900000000002 377.4600000000001 267.6200000000002 379.5400000000001C268.9100000000002 381.4100000000001 269.9900000000002 384.1600000000001 270.5100000000002 386.8500000000001C271.5300000000002 392.1500000000001 273.3600000000002 395.9300000000001 276.0900000000002 398.3600000000001C280.7900000000002 402.5400000000001 282.0900000000002 399.4500000000001 280.6800000000001 387.4900000000001C280.2200000000002 383.6300000000001 279.5800000000001 377.1600000000001 279.2400000000001 373.1100000000001L278.6300000000001 365.7500000000001L283.0800000000001 361.6600000000001L287.5300000000001 357.5700000000001L287.6400000000001 349.1500000000001C287.7000000000001 344.5200000000001 288.1100000000002 339.6200000000001 288.5600000000001 338.2600000000001L289.3800000000001 335.7900000000001L282.9500000000001 329.5100000000001C274.4100000000001 321.1800000000001 270.0700000000001 315.5800000000001 266.1900000000001 307.9000000000001C264.4200000000002 304.4100000000001 262.4500000000001 300.7900000000001 261.8100000000001 299.8700000000001C259.6300000000001 296.7600000000001 255.3500000000001 286.8600000000001 253.0500000000002 279.6100000000001L250.7600000000002 272.3900000000001L243.7900000000002 265.9000000000001C239.9600000000001 262.3300000000001 235.8300000000002 258.6500000000001 234.6200000000002 257.7300000000001C231.5700000000002 255.4100000000001 230.3600000000002 252.5800000000001 230.3600000000002 247.7400000000001C230.3600000000002 244.7600000000001 230.7900000000002 242.7800000000001 231.9500000000002 240.4800000000001C232.8200000000002 238.7400000000001 233.7600000000002 236.5700000000001 234.0400000000002 235.6500000000001C234.3200000000002 234.7300000000001 235.0200000000002 233.4300000000001 235.6100000000002 232.7600000000001C237.0100000000002 231.1700000000001 237.5300000000002 216.6400000000001 236.4400000000002 209.5400000000001C235.7600000000002 205.0600000000001 232.8100000000002 197.5200000000001 231.7400000000002 197.5200000000001C229.9500000000002 197.5200000000001 227.6800000000002 188.2500000000001 226.6700000000002 176.7800000000001C226.4900000000002 174.7600000000001 226.0500000000002 170.8400000000001 225.6900000000002 168.0800000000001C225.3300000000002 165.3200000000001 224.7300000000002 158.1000000000001 224.3400000000002 152.0300000000001C223.5700000000002 139.8100000000001 224.1500000000002 133.2600000000001 226.3900000000002 128.8800000000001C229.8000000000002 122.1900000000001 226.9100000000002 116.1900000000001 215.3600000000002 106.0400000000001L211.3900000000002 102.5500000000001L211.4600000000002 97.3600000000001C211.5000000000002 94.5000000000001 212.0100000000002 90.5100000000001 212.6000000000002 88.4900000000001C217.2100000000002 72.5100000000001 217.3300000000002 71.5700000000001 216.9800000000002 51.3600000000001C216.5200000000002 24.9600000000002 216.7200000000002 11.0900000000001 217.6100000000002 7.2100000000002C218.0300000000002 5.3700000000002 218.5200000000002 2.2100000000002 218.6900000000002 0.1900000000002C218.8600000000002 -1.8299999999998 219.3500000000002 -5.1399999999998 219.7700000000002 -7.1699999999998C220.2400000000002 -9.4299999999998 220.5500000000002 -18.1899999999998 220.5600000000002 -29.9099999999999L220.5800000000002 -48.9699999999999L218.7700000000002 -51.5999999999998C216.0600000000002 -55.5099999999999 203.6600000000002 -65.1399999999999 203.2800000000002 -63.8899999999999zM232.81 -18.78C232.63 -18.48 232.48 -11.91 232.48 -4.19C232.48 9.87 231.59 23.35 230.22 30.26C229.82 32.28 229.41 39.96 229.32 47.32C229.17 59.25 227.92 71.69 226.68 73.7C226.02 74.77 223.66 91.36 223.65 95C223.64 99.23 224.67 101 228.93 104.13C233.07 107.17 233.79 107.27 234.41 104.85C234.69 103.75 235.86 99.23 237.01 94.8200000000001C240.94 79.7000000000001 241.15 78.5500000000001 241.06 73.08C240.96 67.3000000000001 240.93 66.9500000000001 239.32 55.35C238.34 48.28 238.15 42.96 238.28 26.92C238.45 7.52 237.64 -8.81 236.24 -14.35C235.53 -17.1299999999999 233.44 -19.83 232.81 -18.78zM161.82 18.8C161.58 19.18 160.81 24.04 160.09 29.59C159.37 35.15 158.6 40.0000000000001 158.36 40.3800000000001C158.13 40.7600000000001 157.68 43.6800000000001 157.37 46.8700000000001C157.06 50.0600000000001 156.46 54.33 156.04 56.3500000000001C155.05 61.1400000000001 152.69 75.7000000000001 152.62 77.4200000000001C152.59 78.1600000000001 152.28 81.4700000000001 151.92 84.7800000000001C151.25 90.9900000000001 151.08 112.4500000000001 151.7 113.0700000000001C152.66 114.0300000000001 158.33 110.3100000000001 163.03 105.6400000000001L168.31 100.3900000000001L167.8600000000001 93.9200000000001C167.6100000000001 90.3600000000001 167.2600000000001 83.6900000000001 167.0800000000001 79.0900000000001C166.9 74.4900000000001 166.59 69.2200000000001 166.4100000000001 67.3800000000001C166.2300000000001 65.5400000000001 165.8000000000001 58.0200000000001 165.4700000000001 50.6600000000001C164.6800000000001 33.2500000000001 163.5300000000001 19.3700000000001 162.8200000000001 18.6600000000001C162.5000000000001 18.3600000000001 162.0600000000001 18.4200000000001 161.8200000000001 18.8000000000001zM74.63 285.39C95.7 272.6 92.47 271.24 103.12 267.73C116.13 263.44 121.99 260.6 126.27 250.86C82.61 214.72 57.26 192.96 49.56 180.04C18.54 128.03 43.57 78.4499999999999 112.31 92.83C98.13 63.6 34.34 64.2 13.63 97.73C-11.05 137.68 -8.46 216.03 74.63 285.39zM285.42 106.37C342.08 99.49 367.74 144.11 331.96 195.6C331.96 195.6 305.09 224.94 267.68 263.56C270.66 279.01 277.17 295.68 298.25 317.38C387.45 253.87 390.25 175.77 390.7099999999999 168.02C394.9799999999999 97.44 312.05 76.9 285.4199999999999 106.37z" /> + <glyph glyph-name="markdown" + unicode="" + horiz-adv-x="640" d=" M593.85 -4.92H46.15C20.7 -4.92 0 15.78 0 41.23V342.77C0 368.2200000000001 20.7 388.92 46.15 388.92H593.84C619.2900000000001 388.92 639.99 368.2200000000001 639.99 342.77V41.23C640 15.78 619.3 -4.92 593.85 -4.92zM153.85 87.38V207.38L215.39 130.46L276.93 207.38V87.38H338.4700000000001V296.62H276.93L215.39 219.7L153.85 296.62H92.31V87.39H153.85zM566.15 192H504.61V296.62H443.07V192H381.5299999999999L473.8399999999999 84.31L566.15 192z" /> + <glyph glyph-name="mastodon" + unicode="" + horiz-adv-x="417.8" d=" M417.8 268.9C417.8 366.1 354.1 394.6 354.1 394.6C291.6 423.3 125.6 423 63.7000000000001 394.6C63.7000000000001 394.6 0 366.1 0 268.9C0 153.2 -6.6 9.5 105.6 -20.2C146.1 -30.9 180.9 -33.2 208.9 -31.6C259.7000000000001 -28.8 288.2000000000001 -13.5 288.2000000000001 -13.5L286.5000000000001 23.4S250.2000000000001 12 209.4000000000001 13.3C169.0000000000001 14.6999999999999 126.4000000000001 17.6999999999999 119.8000000000001 67.3C119.2000000000001 71.6999999999999 118.9000000000001 76.3 118.9000000000001 81.1999999999999C204.5000000000001 60.3 277.5000000000001 72.0999999999999 297.6 74.4999999999999C353.7000000000001 81.1999999999999 402.6 115.8 408.8 147.4C418.6 197.2 417.8 268.9 417.8 268.9zM342.7000000000001 143.7H296.1V257.9C296.1 307.6 232.1 309.5 232.1 251V188.5H185.8V251C185.8 309.5 121.8 307.6 121.8 257.9V143.7H75.1C75.1 265.8 69.9 291.6 93.5 318.7C119.4 347.6 173.3 349.5 197.3 312.6L208.9 293.1L220.5 312.6C244.6 349.7 298.6 347.4 324.3 318.7C348 291.4 342.7 265.7 342.7 143.7z" /> + <glyph glyph-name="maxcdn" + unicode="" + horiz-adv-x="512" d=" M461.1 5.3H363.7000000000001L415.6 248C417.9000000000001 258.2 416.5 267.5 411.2000000000001 273.7C406.2000000000001 279.8 397.5000000000001 283.3 387.0000000000001 283.3H337.7000000000001L278.2000000000001 5.3H180.8000000000001L240.3000000000001 283.3H156.9L97.4 5.3H0L59.5 283.3L14.9 378.7H387C426.4 378.7 462.3 362.4 485.3 333.8C508.6 305.2 517.1 266.4 508.9 227.9L461.1 5.3z" /> + <glyph glyph-name="medapps" + unicode="" + horiz-adv-x="320" d=" M118.3 209.6C121.8 222.1 125.2 243.2 131.5 243.2C139.8 241.4 141.1 219.8 150.1 206.6C154.7 230.1 155.4 291.7 164.2 293.3C173.2 294 183.9 226.8 186.2 215.8C196.1 211.7 235.1 209.2 235.1 209.2C237 201.9 211.1 201.6 195.1 201.4C190.5 186.6 189.7 173.7 183.7 173.4C179 173.2 175.5 202.2 166.2 223L156.8 157.5C152.4 144.5 141.3 180 134.9 196.8C131.6 196.9 72.5 198.4 87.3 204.6L118.3 209.6zM228 0C249.2 0 249.2 32 228 32H92C70.8 32 70.8 0 92 0H228zM204 -64C225.2 -64 225.2 -32 204 -32H116C94.8 -32 94.8 -64 116 -64H204zM238.2 77.5C241.4 96.4 243.4 113.9 250.1 126.3C258 141 266.2 154.4 274.1 167.3C298.7000000000001 207.7 320 242.5 320 292.8C320 378.4 248.2 448 160 448S0 378.4 0 292.8C0 242.6 21.3 207.7 45.9 167.3C53.8 154.4 61.9 141 69.9 126.3C76.6 113.8 78.6 96.5 81.8 77.4C85.3 56.4 117.9 61.7000000000001 114.4 82.5000000000001C110.8 104.2000000000001 108.8 123.2000000000001 99.1 141.1000000000001C66.5 201.5 33 236.7 33 292.8C33 360.7 90 416 160 416S287 360.7 287 292.8C287 236.7 253.5 201.5 220.9 141.2000000000001C211.2 123.2000000000001 209.2 103.8000000000001 205.6 82.6C202.2 62 234.6 56.2 238.2 77.5z" /> + <glyph glyph-name="medium-m" + unicode="" + horiz-adv-x="512" d=" M71.5 305.7C72.1 311.6 69.8 317.5 65.4 321.5L20.3 375.9V384H160.5L268.9 146.3L364.2 384H497.9V375.9L459.3 338.9C455.9999999999999 336.4 454.3 332.2 454.9999999999999 328.1V56.1C454.3 52 455.9999999999999 47.8 459.3 45.3L496.9999999999999 8.3V0.2H307.3V8.3L346.4000000000001 46.2C350.2000000000001 50 350.2000000000001 51.2 350.2000000000001 57V276.8L241.5 0.9H226.8L100.4 276.8V91.9C99.3 84.1 101.9 76.3 107.4 70.7L158.2 9.1V0.9999999999999H14.2V8.9999999999999L65 70.7C70.4 76.3 72.9 84.2 71.5 91.9V305.7z" /> + <glyph glyph-name="medium" + unicode="" + horiz-adv-x="448" d=" M0 416V-32H448V416H0zM372.2 309.9L348.2 286.9C346.1 285.3 345.1 282.7000000000001 345.5 280.2000000000001V110.9C345.1 108.3 346.1 105.7 348.2 104.2L371.7 81.2V76.1H253.7V81L278 104.6C280.4 107 280.4 107.7000000000001 280.4 111.3V248.2L212.8 76.6H203.7L125 248.2V133.2C124.3 128.4 126 123.5 129.4 120L161 81.7V76.6H71.2V81.7L102.8 120C106.2 123.5 107.7 128.4 106.9 133.2V266.2C107.3 269.9 105.9 273.5 103.1 276L75 309.9V315H162.3L229.7 167L289 314.9H372.2V309.9z" /> + <glyph glyph-name="medrt" + unicode="" + horiz-adv-x="544" d=" M113.7 192C113.7 70.2 197.6 -30.8 307.2 -49.1C288.5 -53.6 269 -56 249 -56C111.4 -56 0 55 0 192S111.4 440 248.9 440C269 440 288.5 437.6 307.1 433.1C197.5 414.8 113.7 313.8 113.7 192M411.1 91.7C333.4 36.3 231.5 44.2 170.7 106.3C176.2 92.2 183.4 78.6 192.4 65.8C254 -22.4 374.8 -43.5 462.0999999999999 18.8C549.3999999999999 81.1 570.1999999999999 203.1 508.5999999999999 291.4000000000001C499.5999999999999 304.3000000000001 489.2999999999999 315.7000000000001 478.0999999999999 325.6C515.4999999999999 246.8000000000001 488.7999999999999 147.1 411.0999999999999 91.7000000000001M192.2999999999999 335.7000000000001C190.8999999999999 334.7000000000001 189.5999999999999 333.6 188.2999999999999 332.6C252.5999999999999 350.4000000000001 324.2 328.6 367.2 272.1C402.8999999999999 225.1000000000001 410.0999999999999 165.5000000000001 391.5999999999999 114.1C448.2999999999999 170.3 459.1999999999999 256.2000000000001 413.8999999999999 315.9000000000001C363.8999999999999 381.4000000000001 264.8 390.3000000000001 192.2999999999999 335.7000000000001M296 224C291.6 224 288 227.6 288 232V272C288 276.4 284.4 280 280 280H232C227.6 280 224 276.4 224 272V232C224 227.6 220.4 224 216 224H176C171.6 224 168 220.4 168 216V168C168 163.6 171.6 160 176 160H216C220.4 160 224 156.4 224 152V112C224 107.6 227.6 104 232 104H280C284.4 104 288 107.6 288 112V152C288 156.4 291.6 160 296 160H336C340.4 160 344 163.6 344 168V216C344 220.4 340.4 224 336 224H296z" /> + <glyph glyph-name="meetup" + unicode="" + horiz-adv-x="512" d=" M99 33.7C100.1 28 96.7 22.6 91 21.4C85.6 20.3 80.1 23.7 79 29.4C77.9 34.8 81.3 40.5 86.7 41.7C92.1 42.9 97.8 39.4 99 33.7zM242.1 -37.7C235.8 -42.3000000000001 234.1 -51.1 238.4 -57.7C243 -64.3000000000001 251.8 -66 258.4 -61.4C264.7 -56.8 266.4 -48.0000000000001 261.8 -41.4C257.6 -34.9 248.7 -33.1 242.1 -37.7zM156.1 424.6C162.4 426 166.4 432.3 165 438.6C163.9 445.2 157.6 449.2 151.3 447.7C145 446.3 141 440 142.2 433.7C143.6 427.1 149.8 423.1 156.1 424.6zM34.4 221.7C24.4 228.6 10.7 226 3.8 215.7C-3.1 205.7 -0.5 191.7 9.5 184.8C19.5 177.7 33.2 180.2 40.1 190.5C47 200.9 44.4 214.6 34.4 221.7zM306.4 392.6C317 398.9 320.1 412.6 314.1 422.9C307.8 433.5 294.4 436.9 284.1 430.6S270.4 410.6 276.7 400C282.7 389.7 296.1 386.3 306.4 392.6zM115.3 334.6C123 340 124.7 350.6 119.6 358.3S103.9 367.7 96.5 362.6C88.8 357.2 87.1 346.6 92.2 338.9C97.3 331.1 107.8 329.4 115.3 334.6zM487.6 178.6C480.2 176.9 475.3 169.5 477 161.7000000000001C478.4 154.3000000000001 485.9 149.4 493.3 151.1C500.7 152.5 505.6 160 503.9 167.7000000000001C502.4 175.1 495.0000000000001 180.0000000000001 487.6 178.6zM527.3000000000001 235.4000000000001C526.2 241.1 520.7 244.5000000000001 515.3000000000001 243.4000000000001C509.6000000000001 242.3000000000001 506.2 236.5000000000001 507.3000000000001 230.8000000000001C508.4000000000001 225.4000000000001 513.9000000000001 221.7000000000001 519.6 222.8000000000001C525 224.3000000000001 528.7 229.7000000000001 527.3000000000001 235.4000000000001zM447 309.1C438.4 303.1 436.4 291.4 442.1 282.8C447.8 274.2 459.5 272.2 468.1 277.9C476.4 283.9 478.4 295.6 472.7 304.2C467.0000000000001 312.9 455.3000000000001 315.1 447.0000000000001 309.1zM440.7 169.7C467 126.6 455.8 69.7 414.4 40.6C397 28.3 377.3 22.9 357.5 23.5C345.5 -23.6 288.1 -41.1 252.4 -9.1C251.3 -10 249.8 -10.8 248.7 -12C209.6 -39.1 156.4 -29.4 129.3 10.3C119.6 24.6 114.7 40.9 114.2 57.2C48.8 68.1 24.2 151.2 73.1 196.9C44.8 243.8 73.7 304.3 126.5 311.8C151.6 378 234.1 409.4 290.1 366C357.5 388.3 426.4000000000001 336.6 421 264.9C462.1 252.3 473.8 198 440.7 169.7zM370.7 95.4C367.6 116 329.8 100 327.6 122.5C324.5 154.5 371.3 223.6 367.6 250.5C364.2 274.5 348.2 279.6 334.2 279.9C320.8 280.2000000000001 317.3 277.9 312.8 275.3C309.9000000000001 273.6 306.2 270.4 301.1 275.6C294.8 281.6 290 287.3 281.7000000000001 288.5C269.4000000000001 290.5 264.0000000000001 286.5 255.1000000000001 278.8000000000001C251.7000000000001 275.9000000000001 243.1000000000001 265.9000000000001 235.1000000000001 269.7000000000001C231.7000000000001 271.4000000000001 219.7000000000001 277.4000000000001 211.1000000000001 281.1C194.8000000000001 288.2000000000001 171.1000000000001 276.5000000000001 162.5000000000001 261.1C149.6000000000001 238.2000000000001 124.5000000000001 148.0000000000001 120.8000000000001 136.0000000000001C112.2000000000001 109.4 131.7000000000001 87.4 157.7000000000001 88.9C168.8000000000001 89.5000000000001 176.0000000000001 93.5000000000001 183.1000000000001 106.3C187.1000000000001 113.7 224.8000000000001 214 227.7000000000001 218.9C229.7000000000001 222.3 236.6000000000001 226.9 242.3000000000001 224C248.0000000000001 220.9 249.2000000000001 214.6 248.3000000000001 208.9C247.2000000000001 199.2 220.3000000000001 138 219.4 131.2C216 108.3 246.3000000000001 104.6 258.0000000000001 127.2C261.7000000000001 134.3 303.7000000000001 219.8 307.4000000000001 225.5C311.7000000000001 231.8 314.8 233.8 319.1 233.5C322.2000000000001 233.5 327.4000000000001 232.6 326.2000000000001 222.6C324.8000000000001 213.2 291.1 150.3 287.3000000000001 134.9C282.7000000000001 114.3 293.9000000000001 93.5 312.2000000000001 84.3C323.6 78.6 374.7000000000001 68.6 370.7000000000001 95.4zM376.4 3.1C366.1 -4.3 363.5 -18.9 370.7 -29.5000000000001C377.8 -40.1000000000001 392.1 -42.6000000000001 402.7 -35.5000000000001C413.3 -28.1000000000001 415.8 -13.5000000000001 408.7 -2.9C401.3 7.7 387 10.6 376.4 3.1z" /> + <glyph glyph-name="megaport" + unicode="" + horiz-adv-x="496" d=" M248 440C111.04 440 0 328.96 0 192C0 55.03 111.04 -56 248 -56C384.9600000000001 -56 496 55.03 496 192C496 328.96 384.96 440 248 440zM333.46 172.33L393.12 112.66V25.61L367.05 6.3799999999999L341 25.61V91.07L307.56 124.51L274.12 91.07V25.61L248 6.38L221.88 25.61V91.07L188.44 124.51L155 91.08V25.62L128.93 6.39L102.87 25.62V112.67L162.34 172.14V260L221.84 319.5V395.12L247.9 414.35L273.96 395.12V319.48L333.46 259.98M247.9 271.84L281.34 238.4V172L248 138.67L214.46 172.21V238.4100000000001L247.9 271.8400000000001z" /> + <glyph glyph-name="microsoft" + unicode="" + horiz-adv-x="448" d=" M0 416H214.6V201.4H0V416zM233.4 416H448V201.4H233.4V416zM0 182.6H214.6V-32H0V182.6zM233.4 182.6H448V-32H233.4V182.6z" /> + <glyph glyph-name="mix" + unicode="" + horiz-adv-x="448" d=" M0 384V35.1C0 -21.1 88 -23 88 35.1V273.7C95.9 326.6 176 324.1 176 267.2V91.9C176 34 272 33.9 272 91.9V208C277.3 262.7 360 260.5 360 203.7V179.9C360 120 448 123.3 448 179.9V384H0z" /> + <glyph glyph-name="mixcloud" + unicode="" + horiz-adv-x="640" d=" M424.43 228.271C416.124 313.273 344.135 380 256.919 380C184.653 380 120.695 333.4840000000001 97.714 265.926C43.169 257.897 1.084 211.104 1.084 154.344C1.084 92.046 51.752 41.378 114.327 41.378H403.9409999999999C456.2699999999999 41.378 498.9099999999999 83.74 498.9099999999999 136.071C498.9099999999999 181.202 466.7919999999999 219.134 424.4299999999999 228.271zM403.9410000000001 83.741H114.327C75.287 83.741 43.446 115.305 43.446 154.345S75.287 224.949 114.327 224.949C133.154 224.949 150.875 217.474 164.165 204.183C184.128 184.22 214.298 214.41 194.345 234.363C179.67 248.761 161.673 258.728 142.292 263.712C162.227 308.012 207.082 337.638 256.92 337.638C326.416 337.638 382.899 281.155 382.899 211.936C382.899 198.368 380.6840000000001 185.079 376.53 172.342C367.587 144.825 408.663 133.403 416.677 159.052C419.446 167.358 421.661 175.941 423.046 184.524C442.4269999999999 177.048 456.5479999999999 158.221 456.5479999999999 136.0709999999999C456.5479999999999 107.2759999999999 433.0129999999999 83.7409999999999 403.9409999999999 83.7409999999999zM639.01 136.071C639.01 92.047 626.273 49.6849999999999 601.908 13.414C597.755 7.322 591.11 4 584.188 4C567.871 4 557.061 22.826 566.745 36.949C586.126 66.298 596.648 100.631 596.648 136.071S586.1270000000001 205.844 566.745 234.9160000000001C551.09 257.747 586.106 282.1560000000001 601.908 258.4500000000001C626.274 222.457 639.01 180.0940000000001 639.01 136.071zM568.13 136.071C568.13 104.506 558.9929999999999 74.05 541.273 47.746C537.12 41.655 530.475 38.61 523.553 38.61C506.352 38.61 496.531 57.5889999999999 506.11 71.5579999999999C519.123 90.6619999999999 525.768 112.8129999999999 525.768 136.0709999999999C525.768 159.0519999999999 519.123 181.4789999999999 506.11 200.5829999999999C490.349 223.5689999999999 525.118 247.6779999999999 541.273 224.1179999999999C558.9920000000001 198.0919999999999 568.13 167.6349999999999 568.13 136.0709999999999z" /> + <glyph glyph-name="mizuni" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 328.9 0 192C0 55 111 -56 248 -56S496 55 496 192C496 328.9 385 440 248 440zM168 88.1C136.6 77.5 109.2 60.8 88 39.9V312C88 334.1 105.9 352 128 352S168 334.1 168 312V88.1zM288 98C275.1 100 261.8 101.1 248.2 101.1C234.4 101.1 221 100 208 98V312C208 334.1 225.9 352 248 352S288 334.1 288 312V98zM408 40.3C386.8 61.1 359.4 77.7 328 88.3V312C328 334.1 345.9 352 368 352S408 334.1 408 312V40.3z" /> + <glyph glyph-name="modx" + unicode="" + horiz-adv-x="448" d=" M356 206.2L392.7 182.5V-32L259.7 51.8L356 206.2zM440 373H226.3L203.3 335.2L356.8 238.7L440 373zM351 230.2L55.2 416V201.5L101.2 172.5L351 230.2zM97 153.8L8 11H221.7L346.7 211.5L97 153.8z" /> + <glyph glyph-name="monero" + unicode="" + horiz-adv-x="496" d=" M352 64H460.4C417 -7.9 338.1 -56 248 -56S79 -7.9 35.6 64H144V191.8L248 87L352 192V64zM88 112V320L247.4 160.6L408 320V112H482.8C491.3 137.1 496 164 496 192C496 329 385 440 248 440S0 329 0 192C0 164 4.6 137.1 13.2 112H88z" /> + <glyph glyph-name="napster" + unicode="" + horiz-adv-x="496" d=" M298.3 74.4C284.1 60.8 267 50.3 247.9 43.9C228.9 50.3 211.7 60.8 197.6 74.4H298.3zM342.3 274C362.3 290.9 385.9000000000001 303.2 411.9 310.2V149C411.9 -70.4 83.9 -68.6 83.9 148.7V310.3C109.8 303.4 133.5 290.7000000000001 153.4 273.9C210.2 313.9 285.9 313.8 342.3 274zM133.5 332.5C197.9 392.5 297.8 392.6 362.4 332.7C355.3 329.2 348.5 325.4 341.8 321.2C283.1 351.7 212.6 351.6 153.9 321.1C147.5999999999999 325.1 140 329.3 133.5 332.5zM43.8 354.8V285.5C-14.6 249 -14.6 164.4 43.9 127.2C70.3 -117.9 425.6 -113.1 451.5 125.7L451.8 127.4C510.5 163.7 510.7 249.1 452 285.6V354.8C434.7 354.3 418 351.8 401.9 347.4C319.9 438.9 176.4 438.9 94.4 347.3C78.1 351.7 61.3 354.3 43.8 354.8zM259.2 96S295.2 96.3 320.5 97.5C330.7 98 341.6 101.5 346 104C372.3 119.1 371.4 143.2 372.2 151.4C292.7 152 272.3 155.3 259.2 96zM123.7 151.3C124.5 143.1 123.6 119 149.9 103.9C154.3 101.4 165.1 97.9 175.4 97.4C200.7 96.3 236.7 95.9 236.7 95.9C223.5 155.3 203 152.0000000000001 123.7 151.3zM292.8 27.9C289.6 33.2 285.9 35.2 285.9 35.2C261.1 27.9 233.7 28.3 210 35.2C210 35.2 207.1 33.7 203.6 28.6C200.8 24.4999999999999 199.9 18.9999999999999 199.9 18.9999999999999C229 1.3999999999999 267 1.3999999999999 296.1 18.9999999999999C296 19.1 295.8 22.9999999999999 292.8 27.8999999999999z" /> + <glyph glyph-name="neos" + unicode="" + horiz-adv-x="456.38" d=" M387.44 -64H292.33L184.12 90.54V-0.5599999999999L97.69 -64H0V418.18L40.47 448H148.52L272.26 271.87V384.55L358.69 448H456.38V-13.5L387.44 -64zM10.77 412.73V-47.99L82.78 4.89V254.05L298.27 -53.64H383.06L435.4100000000001 -15.47H357.1400000000001L40.96 435.02L10.77 412.73zM93.31 -53.88L173.35 4.9V105.94L93.55 220.3V-0.64L20.97 -53.89H93.31zM52.63 437.23L363.23 -5.34H445.6V437.23H365.85V119.67L142.91 437.23H52.63zM283.0300000000001 256.35L355.04 153.54V432.07L283.0300000000001 379.11V256.35z" /> + <glyph glyph-name="nimblr" + unicode="" + horiz-adv-x="355.52" d=" M232.6 148.71C248.17 148.71 259.75 137.25 259.75 121.75C259.75 106.2 248.13 94.79 232.6 94.79C216.9 94.79 205.45 106.36 205.45 121.75C205.45 137.26 217.03 148.71 232.6 148.71zM99.01 121.75C99.01 137.36 110.69 148.71 126.16 148.71C141.73 148.71 153.31 137.25 153.31 121.75C153.31 106.34 141.84 94.79 126.16 94.79C110.72 94.79 99.01 106.1 99.01 121.75M177.76 289.05C143 289.05 75.45 269.23 45.25 221L0 448V112.52C0 14.87 79.61 -64 177.76 -64C276 -64 355.52 14.95 355.52 112.52C355.52 209.98 276.13 289.05 177.76 289.05zM177.76 -19.07C104.49 -19.07 45.25 39.83 45.25 112.52C45.25 185.2 104.49 244.11 177.76 244.11C251.03 244.11 310.27 185.2 310.27 112.52S251.02 -19.07 177.76 -19.07z" /> + <glyph glyph-name="nintendo-switch" + unicode="" + horiz-adv-x="448" d=" M95.9 414.5C51.3 406.5 15.4 373.5 4.1 330.1C0 314.4 -0.3 305.2 0.2 183.6C0.4 72 0.5 69.4 2.4 60.7C12.7 14.2 45.7 -18.9 92.7 -29.8C98.8 -31.2 106.6 -31.5 156.8 -31.7C208.7 -32.1 214.1 -32 215.5 -30.6C216.9 -29.2 217 -11.3 217 191.6C217 342.1 216.7 412.9000000000001 216.1 414.2000000000001C215.2 415.9000000000001 213.6 416 159.2 415.9000000000001C115 415.8 101.7 415.5 95.9 414.5zM179.8 191.9V4L142 4.5C107.2 4.9 103.5 5.1 96.5 6.8C66.6 14.5 44.5 37.5 38.2 67.5C36.2 76.9 36.2 307.6 38.1 316.8C43.7 342.9 61.8 364.5 86.1 374.2000000000001C98.3 379.1 104 379.7000000000001 143.7 379.8L179.6 379.9V191.9zM103.9 323.1C98.1 322 89.2 317.5 84.4 313.4C74.7 305 69.8 293 70.6 278.9C71 271.6 71.4 269.6 74.4 263.7C78.8 254.7 85.3 248.1 94.3 243.7C100.5 240.6 102.1 240.3 110.2 240C117.5 239.7 120.1 240 125 241.7C145.1 248.5 157.3 268 153.8 288.1C149.9 311.8 127.2 327.8 103.9 323.1zM262.1 415.4C261.7000000000001 415.1 261.5 314.6 261.5 191.9C261.5 -10.4 261.6 -30.9 263 -31.5C265.5 -32.4 337.5 -32.1 346.4 -31.1C384.1 -26.8 417.4 -3.9 435.4 30.1C437.7 34.4999999999999 440.8 41.8 442.4 46.3C448.2 63.6999999999999 448.1 59.1 448.1 192.4C448.1 298.8 447.9 314.7 446.6 321.4C437.4 369.7 400.5 406.2 352.1 414.5C345.6 415.6 335.6 415.8999999999999 303.3 415.8999999999999C280.9 416 262.4 415.7 262.1 415.3999999999999zM361.2000000000001 213.3C375.7000000000001 209.5 387.5000000000001 198.5 392.4000000000001 184.4C395.5000000000001 175.7 395.4000000000001 162.9 392.3 154.9C386.6 140.2 375.5 129.9 361.2 126.1C338 120.1 313.3 134.1 306.6 157.1C304.6 164.1 304.7 176 307 183.3C313.8999999999999 206 338 219.4 361.2 213.3z" /> + <glyph glyph-name="node-js" + unicode="" + horiz-adv-x="448" d=" M224 -60C217.3 -60 210.5 -58.2 204.6 -54.8L142.9 -18.3C133.7 -13.1 138.2 -11.3 141.2 -10.3C153.5 -6 156 -5.1 169.1 2.4C170.5 3.2 172.3 2.9 173.7 2L221.1 -26.1C222.8 -27.1 225.2 -27.1 226.8 -26.1L411.5 80.5C413.2 81.5 414.3 83.5 414.3 85.5V298.7C414.3 300.8 413.2 302.7 411.4000000000001 303.8L226.8 410.3C225.1 411.3 222.8 411.3 221.1 410.3L36.6 303.7C34.8 302.7 33.7 300.7 33.7 298.6V85.5C33.7 83.5 34.8 81.5 36.6 80.6L87.2 51.4C114.7 37.7 131.5 53.8 131.5 70.1V280.5C131.5 283.5 133.9 285.8 136.9 285.8H160.3C163.2 285.8 165.7 283.5 165.7 280.5V70C165.7 33.4 145.7 12.4 111 12.4C100.3 12.4 91.9 12.4 68.5 24L20.1 51.9C8.1 58.8 0.7 71.7 0.7 85.6V298.7C0.7 312.5 8.1 325.5 20.1 332.4L204.6 439C216.3 445.6 231.8 445.6 243.4 439L428.1 332.3C440.1 325.4 447.5 312.5 447.5 298.6V85.5C447.5 71.7 440.1 58.8 428.1 51.8L243.4 -54.8C237.5 -58.2 230.8 -60 224 -60zM373.1 150.1C373.1 190 346.1 200.6 289.4000000000001 208.1C232.0000000000001 215.7 226.2000000000001 219.6 226.2000000000001 233.0000000000001C226.2000000000001 244.1 231.1000000000001 258.9000000000001 273.6 258.9000000000001C311.5 258.9000000000001 325.5 250.7000000000001 331.3 225.1C331.8 222.7 334 220.9 336.5 220.9H360.5C362 220.9 363.4 221.5 364.4 222.6S365.9 225.2 365.8 226.7C362.1 270.8 332.8 291.3 273.6 291.3C220.9 291.3 189.5 269.1 189.5 231.8C189.5 191.4 220.8 180.2 271.3 175.2C331.8 169.3 336.5 160.4 336.5 148.5C336.5 127.9 319.8999999999999 119.1 281 119.1C232.1 119.1 221.4 131.4 217.8 155.7000000000001C217.4 158.3000000000001 215.2 160.2000000000001 212.5 160.2000000000001H188.5999999999999C185.5999999999999 160.2000000000001 183.2999999999999 157.8000000000001 183.2999999999999 154.9C183.2999999999999 123.8 200.1999999999999 86.7000000000001 281.0999999999999 86.7000000000001C339.4999999999999 86.8000000000001 373.0999999999999 109.9 373.0999999999999 150.1z" /> + <glyph glyph-name="node" + unicode="" + horiz-adv-x="640" d=" M316.3 -4C314.2 -4 312.1 -3.4 310.2 -2.4L291 9C288.1 10.6 289.5 11.2 290.5 11.5C294.3 12.8 295.1 13.1 299.2 15.5C299.6 15.7 300.2 15.6 300.6 15.4L315.4 6.6C315.9 6.3 316.7 6.3 317.2 6.6L375 40C375.5 40.3 375.9 40.9 375.9 41.6V108.3C375.9 109 375.6 109.6 375 109.9L317.2 143.2000000000001C316.7 143.5000000000001 316 143.5000000000001 315.4 143.2000000000001L257.6 109.9C257 109.6 256.7 108.9 256.7 108.3V41.6C256.7 41 257.1 40.4 257.6 40.1L273.4 31C282 26.7 287.3 31.8 287.3 36.8V102.7000000000001C287.3 103.6 288 104.4 289 104.4H296.3C297.2 104.4 298 103.7000000000001 298 102.7000000000001V36.8000000000001C298 25.3000000000001 291.8 18.8000000000001 280.8999999999999 18.8000000000001C277.5999999999999 18.8000000000001 274.8999999999999 18.8000000000001 267.5999999999999 22.4000000000001L252.3999999999999 31.1000000000001C248.7 33.3000000000001 246.3 37.3000000000001 246.3 41.6000000000001V108.3000000000001C246.3 112.6000000000001 248.6 116.7000000000001 252.3999999999999 118.8000000000001L310.2 152.2000000000001C313.8999999999999 154.3000000000001 318.7 154.3000000000001 322.3 152.2000000000001L380.1 118.8000000000001C383.8 116.6000000000001 386.2 112.6000000000001 386.2 108.3000000000001V41.6000000000001C386.2 37.3000000000001 383.9 33.2000000000001 380.1 31.1000000000001L322.3 -2.2999999999999C320.6 -3.3999999999999 318.5 -3.9999999999999 316.3 -3.9999999999999zM363 61.8C363 74.3 354.6 77.6 336.8 80C318.8 82.4 317 83.6 317 87.8C317 91.3 318.5 95.9 331.8 95.9C343.7 95.9 348.1 93.3 349.9000000000001 85.3C350.1 84.5 350.7000000000001 84 351.5000000000001 84H359.0000000000001C359.5000000000001 84 359.9000000000001 84.2 360.2000000000001 84.5C360.5000000000001 84.9 360.7000000000001 85.3 360.6 85.8C359.4000000000001 99.6 350.3 106 331.8 106C315.3 106 305.5 99 305.5 87.4C305.5 74.7 315.3 71.3 331.1 69.7C350 67.8 351.5 65.1 351.5 61.4C351.5 54.9 346.3 52.2 334.1 52.2C318.8 52.2 315.4000000000001 56 314.3 63.6C314.2 64.4 313.5 64.9999999999999 312.6 64.9999999999999H305.1C304.2000000000001 64.9999999999999 303.4000000000001 64.3 303.4000000000001 63.3C303.4000000000001 53.6 308.7000000000001 41.9999999999999 334.0000000000001 41.9999999999999C352.5000000000001 41.9999999999999 363.0000000000001 49.1999999999999 363.0000000000001 61.8zM417.5 111.9C417.5 105.8 412.5 100.8 406.4 100.8S395.3 105.8 395.3 111.9C395.3 118.2000000000001 400.5 123.0000000000001 406.4 123.0000000000001C412.4 123.1000000000001 417.5 118.2000000000001 417.5 111.9zM415.7 111.9C415.7 117.1 411.5 121.2000000000001 406.3 121.2000000000001C401.2 121.2000000000001 397 117.1 397 111.9C397 106.7000000000001 401.2 102.5000000000001 406.3 102.5000000000001C411.5 102.6000000000001 415.7 106.8000000000001 415.7 111.9zM411.2 105.7000000000001H408.6C408.5 106.3000000000001 408.1 109.5000000000001 408.1 109.6C407.9 110.3 407.7 110.7000000000001 406.8 110.7000000000001H404.6V105.7000000000001H402.2V118.2000000000001H406.5C408 118.2000000000001 410.9 118.2000000000001 410.9 114.9C410.9 112.6 409.4 112.1 408.5 111.8C410.2 111.7 410.3 110.6 410.6 109C410.7000000000001 108 410.9000000000001 106.3 411.2000000000001 105.7zM408.4 114.5000000000001C408.4 116.2000000000001 407.2 116.2000000000001 406.6 116.2000000000001H404.6V112.7000000000001H406.5C408.1 112.7000000000001 408.3999999999999 113.8000000000001 408.3999999999999 114.5000000000001zM137.3 257C137.3 259.7 135.9 262.1 133.6 263.4L72.3 298.7C71.3 299.3 70.1 299.6 68.9 299.7H68.3C67.1 299.7 66 299.3 64.9 298.7L3.7 263.4C1.4 262.1 0 259.6 0 257L0.1 162C0.1 160.7 0.8 159.5 1.9 158.8C3 158.1 4.4 158.1 5.6 158.8L42 179.7C44.3 181.1 45.7 183.5 45.7 186.1V230.5C45.7 233.1 47.1 235.6 49.4 236.9L64.9 245.8C66.1 246.5 67.3 246.8 68.6 246.8C69.9 246.8 71.2 246.5 72.3 245.8L87.8 236.9C90.1 235.6 91.5 233.1 91.5 230.5V186.1C91.5 183.5 92.9 181 95.2 179.7L131.6 158.8C132.7 158.1 134.2 158.1 135.3 158.8C136.4 159.4 137.1 160.7 137.1 162L137.3 257zM472.5 360.7V184.3C472.5 181.7 471.1 179.2 468.8 177.9L407.5 142.5000000000001C405.2 141.2000000000001 402.4 141.2000000000001 400.1 142.5000000000001L338.8 177.9C336.5 179.2000000000001 335.1 181.7000000000001 335.1 184.3V255.1C335.1 257.7000000000001 336.5 260.2000000000001 338.8 261.5L400.1 296.9000000000001C402.4000000000001 298.2000000000001 405.2000000000001 298.2000000000001 407.5 296.9000000000001L422.8 288.1C424.5 287.1 426.7 288.4000000000001 426.7 290.3V384.3C426.7 387.1 429.7 388.9000000000001 432.2 387.5L468.7 367.1C471 365.9000000000001 472.5 363.4000000000001 472.5 360.7000000000001zM426.5 231.8C426.5 232.5 426.1 233.1 425.6 233.4L404.6 245.6C404 245.9 403.3 245.9 402.7000000000001 245.6L381.7000000000001 233.4C381.1 233.1 380.8000000000001 232.5 380.8000000000001 231.8V207.5C380.8000000000001 206.8 381.2000000000001 206.2 381.7000000000001 205.9L402.7000000000001 193.8C403.3000000000001 193.5 404.0000000000001 193.5 404.5000000000001 193.8L425.5000000000001 205.9C426.1000000000001 206.2 426.4000000000001 206.8 426.4000000000001 207.5V231.8zM636.3 232.5C638.5999999999999 233.8 640 236.3 640 238.9V256C640 258.6 638.6 261.1 636.3 262.4L575.4 297.8C573.1 299.1 570.3 299.1 568 297.8L506.7 262.4C504.4 261.1 503 258.6 503 256V185.2C503 182.5 504.4 180.1 506.7 178.8L567.6 144.1C569.8000000000001 142.8 572.6 142.8 574.9 144.1L611.6999999999999 164.6C614.1999999999999 166 614.1999999999999 169.6 611.6999999999999 171L550 206.4C548.8 207.1 548.1 208.3 548.1 209.6V231.8C548.1 233.1 548.8000000000001 234.3 550 235L569.2 246.1C570.3000000000001 246.8 571.8000000000001 246.8 572.9000000000001 246.1L592.1000000000001 235C593.2000000000002 234.3 594.0000000000001 233.1 594.0000000000001 231.8V214.4C594.0000000000001 211.6 597.1000000000001 209.8 599.6000000000001 211.2L636.3000000000002 232.5zM559 229C558.6 228.7 558.3 228.3 558.3 227.8V214.2C558.3 213.7 558.5999999999999 213.2 559 213L570.8 206.2C571.1999999999999 205.9 571.8 205.9 572.1999999999999 206.2L584 213C584.4 213.3 584.7 213.7 584.7 214.2V227.8C584.7 228.3 584.4000000000001 228.8 584 229L572.2 235.8C571.8000000000001 236.1 571.2 236.1 570.8000000000001 235.8L559 229zM304.8 185.5V255.9C304.8 258.5 303.2 261 300.9000000000001 262.3L239.8000000000001 297.5C237.7000000000001 298.7 234.8000000000001 298.9 232.4000000000001 297.5L171.3000000000001 262.3C169 261 167.4 258.6 167.4 255.9V185.5C167.4 182.7 169.3000000000001 180.3 171.4 179.1L232.6 143.9C235.0000000000001 142.5000000000001 237.8 142.6 240.0000000000001 143.9L301 179.1C302.8 180.1 304.1 181.8 304.6 183.8C304.7000000000001 184.3 304.8 184.9 304.8 185.5zM230.5 310.4L229.7 309.9H230.8L230.5 310.4zM306.7 180.2000000000001L306.3 180.9V180.0000000000001L306.7 180.2000000000001z" /> + <glyph glyph-name="npm" + unicode="" + horiz-adv-x="576" d=" M288 160H256V224H288V160zM576 288V96H288V64H160V96H0V288H576zM160 256H32V128H96V224H128V128H160V256zM320 256H192V96H256V128H320V256zM544 256H352V128H416V224H448V128H480V224H512V128H544V256z" /> + <glyph glyph-name="ns8" + unicode="" + horiz-adv-x="640" d=" M187.1 288.1L152.9 174.4L98.4 288.1H49L0 128H44.9L76 234.5L126.6 128H183.5L232 288.1H187.1zM639.6 289C636.7 307 615.7 317.1 597.5 320.3C552.9 328.1 495.6 304 509 261.5V261.4C465.2 252.7 434.7 234.6 414.8 213.2C411.8 223 401.2 229.8 380.8 229.8H293.2000000000001C283.9000000000001 229.8 280.3000000000001 232.1 281.7000000000001 237.2C283.3000000000001 242.7 283.6 244 285.4000000000001 249.4C287.5000000000001 255.8 293.2000000000001 256.5 298.7000000000001 256.5H432.2000000000001L441.9000000000001 288C302.2000000000001 288 297.4000000000001 288.5 281.8000000000001 286.8C269.5000000000001 285.5 258.3000000000001 282 251.2000000000001 271.8C244.4000000000001 261.9 236.8000000000001 236.2 233.6000000000001 224.7C228.2000000000001 205.3 233.0000000000001 196.1 266.4000000000001 196.1H353.7000000000001C361.5000000000001 196.1 362.5000000000001 193.4 361.4000000000001 189.5C360.3000000000001 185.1 358.6000000000001 179.5 356.9000000000001 174.9C355.3000000000001 170.7 352.2000000000001 167.5 343.1000000000001 167.5H216.3L204.7 128C344.6 128 350 128.6 365.6 130.3C372.2000000000001 131 378.6 132.4 384.1 135.2C384.3 131.5 384.6 127.9 385.3 124.4C390.7 93.9 412.7 72.1 442.1 64.9C490.7 53 550.8000000000001 81.7 577.2 132.9C595.9000000000001 169.1 591.3000000000001 209.1 573.8000000000001 238.4H573.9000000000001C603.5000000000001 244.3 644.2 260.4 639.6000000000001 289zM530.7 184.3C524.8000000000001 154.8 494.1 136.5 469.1 140.4C438.2000000000001 145.2000000000001 430.6 179.9 455 205.2000000000001C471.2 222.0000000000001 500.2 229.2000000000001 523.5 232.1000000000001C530.2 218.0000000000001 533.8 200.1000000000001 530.7 184.3000000000001zM552.5 267.4C548.3 273.4 542.7 285.9 550 293.7000000000001C556.7 300.9 570.9 303.8 581.8 301.4C597.0999999999999 298 601.5 285.5 586.6999999999999 277C575.9999999999999 270.9 563.0999999999999 268.9 552.4999999999999 267.4z" /> + <glyph glyph-name="nutritionix" + unicode="" + horiz-adv-x="400" d=" M88 439.9S221.4 448.1 209 335.5C209 335.5 228.1 410.4 312 376.1C312 376.1 294.3 302.1 224 320.1C224 320.1 238.6 374.7 290.1 376.7C290.1 376.7 250.2 387 208 327.9C208 327.9 188.2 422.4 114.4 427.6C114.4 427.6 189.6 408.2 192 320.1C192 320 85.6 313.1 88 439.9zM400 124.3C400 75.8 390.3 28.9999999999999 368 -8.0000000000001C325.8 -38.9 263 -56.0000000000001 200 -56.0000000000001C137.1 -56.0000000000001 74.2 -38.9 32 -8.0000000000001C9.7 29 0 75.8 0 124.3C0 172.7 17.7 219 40 256C82.2 286.9 137.1 304.6 200 304.6C263 304.6 317.8 287 360 256C382.3 219 400 172.7 400 124.3zM120 20C120 35.5 107.5 48 92 48S64 35.5 64 20S76.5 -8 92 -8S120 4.5 120 20zM120 86.2C120 101.7 107.5 114.2 92 114.2S64 101.7 64 86.2S76.5 58.2 92 58.2S120 70.7 120 86.2zM120 152.4C120 167.9 107.5 180.4 92 180.4S64 167.9 64 152.4S76.5 124.4 92 124.4S120 136.9 120 152.4zM192 20C192 35.5 179.5 48 164 48S136 35.5 136 20S148.5 -8 164 -8S192 4.5 192 20zM192 86.2C192 101.7 179.5 114.2 164 114.2S136 101.7 136 86.2S148.5 58.2 164 58.2S192 70.7 192 86.2zM192 152.4C192 167.9 179.5 180.4 164 180.4S136 167.9 136 152.4S148.5 124.4 164 124.4S192 136.9 192 152.4zM264 20C264 35.5 251.5 48 236 48S208 35.5 208 20S220.5 -8 236 -8S264 4.5 264 20zM264 86.2C264 101.7 251.5 114.2 236 114.2S208 101.7 208 86.2S220.5 58.2 236 58.2S264 70.7 264 86.2zM264 152.4C264 167.9 251.5 180.4 236 180.4S208 167.9 208 152.4S220.5 124.4 236 124.4S264 136.9 264 152.4zM336 20C336 35.5 323.5 48 308 48S280 35.5 280 20S292.5 -8 308 -8S336 4.5 336 20zM336 86.2C336 101.7 323.5 114.2 308 114.2S280 101.7 280 86.2S292.5 58.2 308 58.2S336 70.7 336 86.2zM336 152.4C336 167.9 323.5 180.4 308 180.4S280 167.9 280 152.4S292.5 124.4 308 124.4S336 136.9 336 152.4zM360 192C355.2 214.3 352.6 228.9 344 248C305.2 267.9 253.5 280 200 280S94.8 267.9 56 248C47.2 228.5 44.8 214.1 40 192C82.2 199.9 138.7 206.8 200 206.8S317.8 199.9 360 192z" /> + <glyph glyph-name="odnoklassniki-square" + unicode="" + horiz-adv-x="448" d=" M184.2 270.9C184.2 293 202.1 310.9 224 310.9S263.8 293 263.8 270.9C263.8 248.9 245.9 231.1 224 231.1S184.2 249.0000000000001 184.2 270.9000000000001zM448 368V16C448 -10.5 426.5 -32 400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368zM142.9 270.9C142.9 226.3 179.3 190 224 190S305.1 226.2 305.1 270.9C305.1 315.7 268.7 352 224 352S142.9 315.8 142.9 270.9zM317.4 180.2C312.8 189.3 300.1 197 283.3 183.8C283.3 183.8 260.6 165.8 224 165.8S164.6999999999999 183.8 164.6999999999999 183.8C147.8999999999999 197 135.1999999999999 189.3 130.5999999999999 180.2C122.6999999999999 164.1 131.6999999999999 156.5 152 143.2C169.3 132.1 193.1999999999999 128 208.5999999999999 126.4L195.6999999999999 113.5C177.5 95.5 160.1999999999999 78 148 65.8C130.4 48.2 158.6999999999999 20 176.4 37.2L224.1 85.1C242.3 66.9 259.8 49.4 271.8 37.2C289.4 20 317.8 47.9 300.4 65.8L252.7 113.5L239.7 126.4C255.2 128 278.8 132.3 295.9 143.2C316.3 156.5 325.2 164.2 317.4 180.2z" /> + <glyph glyph-name="odnoklassniki" + unicode="" + horiz-adv-x="320" d=" M275.1 114C247.7 96.6 210 89.7 185.1 87.1L206 66.5L282.3 -9.8C310.2 -38.4 264.8 -83.1 236.6 -55.5C217.5 -36.1 189.5 -8.1 160.3 21.1L84 -55.4C55.8 -82.9 10.4 -37.8 38.6 -9.7C58 9.7 85.7 37.7 114.9 66.6L135.5 87.2000000000001C110.9 89.8000000000001 72.6 96.3000000000001 44.9 114.1C12.3 135.1 -2 147.4 10.6 173.1C18 187.7000000000001 38.3 200 65.2 178.8C65.2 178.8 101.5 149.9 160.1 149.9S255.0000000000001 178.8 255.0000000000001 178.8C281.9000000000001 199.9 302.1 187.7 309.6 173.1C322 147.4 307.7000000000001 135.1 275.1 114zM30.3 318.3C30.3 390 88.6 448 160 448S289.7 390 289.7 318.3C289.7 246.9 231.4 188.9 160 188.9S30.3 246.9 30.3 318.3zM96.3 318.3C96.3 283.2000000000001 124.9 254.6 160 254.6S223.7 283.2000000000001 223.7 318.3C223.7 353.7000000000001 195.1 382.3 160 382.3S96.3 353.7000000000001 96.3 318.3z" /> + <glyph glyph-name="old-republic" + unicode="" + horiz-adv-x="496" d=" M235.76 437.77C243.26 438.08 250.76 438.05 258.26 437.86C261.87 437.7200000000001 265.46 437.46 269.05 437.13C273.9700000000001 436.86 278.8400000000001 436.1 283.7200000000001 435.51C286.6500000000001 435.08 289.55 434.53 292.4700000000001 434.05C300.37 432.72 308.1400000000001 430.77 315.86 428.65C328.1 425.18 340.05 420.73 351.62 415.44C378.18 403.2 402.56 386.23 423.25 365.56C443.28 345.4700000000001 459.97 322.01 472.14 296.37C473.27 293.78 474.58 291.27 475.61 288.63C478.42 282.2 481 275.66 483.19 269C487.33 256.67 490.53 244.01 492.61 231.17C493.18 228.0300000000001 493.65 224.87 494.01 221.7C494.56 217.87 494.95 214.01 495.19 210.14C496.02 201.8 496.03 193.41 495.96 185.04C495.89 180.07 495.7 175.1 495.21 170.15C494.97 166.7700000000001 494.7 163.3900000000001 494.23 160.03C493.84 157.31 493.6 154.5700000000001 493.1199999999999 151.86C492.22 146.71 491.42 141.55 490.2499999999999 136.45C486.1499999999999 117.95 479.9499999999999 99.9 471.74 82.82C455.97 49.99 432.91 20.65 404.62 -2.3A246.503 246.503 0 0 0 347.7099999999999 -37.16C341.5 -39.84 335.25 -42.41 328.8399999999999 -44.57C325.33 -45.7300000000001 321.83 -46.95 318.2699999999999 -47.96C311.6499999999999 -49.84 304.9799999999999 -51.6 298.2299999999999 -52.96C293.5699999999999 -53.8700000000001 288.89 -54.6900000000001 284.2 -55.4400000000001C278.95 -56.1000000000001 273.7 -56.88 268.4099999999999 -57.1800000000001C261.7199999999999 -57.8400000000001 254.9999999999999 -58.02 248.2899999999999 -57.9900000000001C241.4699999999999 -58.02 234.6399999999999 -57.8700000000001 227.8399999999999 -57.2C224.5499999999999 -56.97 221.2699999999999 -56.7 218.0099999999999 -56.2500000000001C215.2899999999999 -55.8600000000001 212.5499999999999 -55.6200000000001 209.8399999999999 -55.14C205.7199999999999 -54.42 201.5899999999999 -53.77 197.4899999999999 -52.92C193.2399999999999 -51.98 188.9999999999999 -51.03 184.7999999999999 -49.9C176.1699999999999 -47.73 167.7199999999999 -44.89 159.3899999999999 -41.77C148.8999999999999 -37.65 138.5999999999999 -33.02 128.75 -27.52C126.61 -26.3700000000001 124.47 -25.23 122.4 -23.95C111.18 -17.3700000000001 100.54 -9.85 90.48 -1.6100000000001C55.8 26.8 29.07 64.8199999999999 14.13 107.0899999999999C11.04 115.8299999999999 8.42 124.7399999999999 6.33 133.7699999999999C4.85 139.93 3.81 146.19 2.75 152.43C2.35 154.78 2.14 157.16 1.8 159.5199999999999C1.2 163.4799999999999 1.05 167.4799999999999 0.63 171.4599999999999C-0.17 180.93 -0.08 190.4499999999999 0.12 199.9499999999999C0.26 203.4599999999999 0.46 206.9599999999999 0.82 210.4599999999999C1.13 213.6299999999999 1.28 216.8299999999999 1.74 219.9799999999999C2.15 222.7899999999999 2.39 225.63 2.9 228.42C3.6 232.36 4.2 236.32 5.02 240.2399999999999C8.45 256.76 13.49 272.9699999999999 20.28 288.42C21.43 291.3399999999999 22.87 294.14 24.14 297.01C32.19 313.7199999999999 42.04 329.57 53.63 344.07C73.63 369.45 98.73 390.75 126.9 406.54C134.4 410.69 142.06 414.5899999999999 149.97 417.9099999999999C165.7899999999999 424.7899999999999 182.38 429.86 199.28 433.2899999999999C202.7899999999999 433.9599999999999 206.3199999999999 434.5299999999999 209.84 435.14C212.46 435.61 215.12 435.8399999999999 217.75 436.2199999999999C221.28 436.75 224.8499999999999 436.8999999999999 228.4 437.26C230.86 437.5 233.31 437.62 235.76 437.7699999999999M244.4 413.36C235.17 413.26 225.97 412.37 216.83 411.13C209.53 410.05 202.3 408.5299999999999 195.12 406.83C181.21 403.33 167.64 398.49 154.66 392.41C144.2 387.42 134.07 381.7099999999999 124.48 375.19C120.3 372.2699999999999 116.08 369.39 112.14 366.16C107.06 362.19 102.16 357.99 97.46 353.57C94.95 351.33 92.65 348.87 90.24 346.51C62.02 317.7199999999999 41.8 281.12 32.74 241.82C30.7 233.38 29.2 224.7999999999999 28.3 216.1699999999999C27.2 207.2799999999999 26.86 198.3199999999999 26.89 189.37C27 182.23 27.27 175.09 28.11 168C28.73 160.88 29.98 153.8399999999999 31.31 146.8199999999999C32.3799999999999 142.17 33.3399999999999 137.5 34.64 132.9099999999999C40.93 109.5299999999999 51.14 87.2099999999999 64.71 67.1599999999999C73.35 54.1799999999999 83.49 42.2299999999999 94.69 31.3899999999999C110.97 15.5699999999999 129.74 2.3499999999999 150.03 -7.83C157.31 -11.35 164.69 -14.7 172.3 -17.46C177.34 -19.22 182.36 -21.03 187.52 -22.4400000000001C198.78 -25.6700000000001 210.29 -28.0400000000001 221.91 -29.5000000000001C224.82 -29.7900000000001 227.72 -30.1100000000001 230.63 -30.4C244.45 -31.48 258.37 -31.4 272.17 -29.97C276.62 -29.37 281.09 -28.98 285.52 -28.1900000000001C289.15 -27.52 292.8 -26.9400000000001 296.39 -26.09C300.52 -25.11 304.67 -24.18 308.75 -23.02C335.25 -15.6800000000001 360.33 -3.3100000000001 382.33 13.18C398.11 24.9999999999999 412.29 38.9399999999999 424.45 54.4599999999999C427.71 58.4799999999999 430.62 62.7699999999999 433.58 67.0099999999999C436.97 72.0699999999999 440.16 77.2599999999999 443.18 82.55C445.58 86.99 447.92 91.46 450.13 95.9999999999999C455.82 108.05 460.41 120.62 463.88 133.49C466.47 143.5 468.63 153.65 469.78 163.94C471.55 177.41 471.72 191.04 471.07 204.59C470.78 208.4799999999999 470.4 212.36 470.07 216.25C467.84 235.33 463.28 254.16 456.25 272.05C450.3 287.18 442.7200000000001 301.68 433.64 315.18C420.95 333.98 405.4 350.86 387.67 365.01C362.62 385.01 333.2 399.56 302.02 407.0899999999999C294.24 409.0199999999999 286.33 410.43 278.39 411.54C274.48 412.13 270.54 412.36 266.62 412.78C259.23 413.35 251.81 413.5 244.4 413.36zM139.26 364.4700000000001C152.56 373.36 167.34 379.85 182.56 384.65C179.39 382.88 176.12 381.27 173.03 379.36C161.82 372.68 151.51 364.46 142.65 354.87C135.85 347.44 129.89 339.14 125.64 329.98C122.35 323.12 120 315.79 118.78 308.27C117.85 303.42 117.48 298.4600000000001 117.61 293.52C117.74 279.86 122.05 266.44 128.9 254.7C134.82 244.48 142.53 235.37 151.26 227.4400000000001C156.11 223.08 161.5 219.35 166.21 214.84C168.47 212.65 170.7 210.4200000000001 172.64 207.93C175.26 204.62 177.53 200.94 178.63 196.8300000000001C179.53 193.81 179.29 190.6300000000001 179.32 187.5200000000001C179.34 183.42 179.28 179.3200000000001 179.35 175.22C179.49 171.68 179.33 168.1300000000001 179.46 164.59C179.54 162.21 179.48 159.8300000000001 179.51 157.4500000000001C179.67 151.6800000000001 179.57 145.9200000000001 179.66 140.15C179.7700000000001 137.24 179.68 134.3300000000001 179.79 131.41C179.82 129.78 179.92 128.1300000000001 179.76 126.5C178.85 126.38 177.94 126.32 177.03 126.34C166.04 126.34 155.15 128.97 145.0800000000001 133.27C139.0800000000001 135.97 133.2700000000001 139.16 127.9900000000001 143.1C122.2400000000001 147.29 116.9 152.06 112.2000000000001 157.41C105.6700000000001 164.65 100.22 172.8 95.58 181.36C94.5100000000001 183.3899999999999 93.3400000000001 185.38 92.4 187.48C91.24 190.12 89.78 192.62 88.73 195.3C84.68 204.98 82.16 215.24 80.65 225.61C80.16 230.05 79.56 234.49 79.45 238.96C78.75 254.69 80.29 270.51 84.12 285.78C86.24 293.93 88.89 301.9599999999999 92.43 309.61C98.75 323.81 107.77 336.79 118.73 347.8C125.01 354 131.8600000000001 359.64 139.2600000000001 364.47zM314.63 384.5900000000001C317.37 383.85 320.04 382.85 322.72 381.91C329.08 379.58 335.4 377.07 341.43 373.95C354.54 367.51 366.74 359.14 377.25 348.98C387.45 339.03 395.99 327.38 402.39 314.64C403.6699999999999 311.89 405.0299999999999 309.18 406.2 306.38C412.51 291.28 416.2 275.12 417.43 258.81C417.84 254.27 417.87 249.72 417.88 245.17C417.95 233.5300000000001 416.39 221.92 413.58 210.64C411.6099999999999 203.37 409.2299999999999 196.15 405.7199999999999 189.46C402.5399999999999 182.8200000000001 399.0399999999999 176.3 394.88 170.22C387.94 159.75 379.2799999999999 150.35 369.06 143C358.58 135.36 346.42 129.98 333.66 127.62C330.15 126.93 326.58 126.54 323 126.41C321.1499999999999 126.35 319.2799999999999 126.25 317.44 126.5100000000001C317.16 128.66 317.44 130.8200000000001 317.43 132.97C317.4 136.7000000000001 317.57 140.42 317.53 144.1400000000001C317.72 151.16 317.55 158.1900000000001 317.74 165.21C317.7699999999999 167.59 317.71 169.97 317.7699999999999 172.35C317.94 177.42 317.7299999999999 182.49 317.9099999999999 187.56C318.01 190.55 317.6699999999999 193.6 318.4199999999999 196.52C319.08 199.02 320.1999999999999 201.38 321.5099999999999 203.6C325.9699999999999 210.91 332.5699999999999 216.56 339.1899999999999 221.86C344.5699999999999 226.04 349.6599999999999 230.63 354.2099999999999 235.7C361.8899999999999 244.07 368.3799999999999 253.58 372.9899999999999 263.9700000000001C375.4899999999999 269.9000000000001 377.5099999999999 276.0700000000001 378.5399999999999 282.4300000000001C379.3999999999999 286.8000000000001 379.5999999999999 291.2600000000001 379.5499999999999 295.7000000000001C379.5299999999999 303.5500000000001 378.1499999999999 311.35 375.9099999999999 318.8700000000001C374.1599999999999 324.6000000000001 371.64 330.0500000000001 368.82 335.3200000000001C364.95 342.2500000000001 360.17 348.6300000000001 354.86 354.5200000000001C344.92 365.3700000000001 333.11 374.4600000000001 320.26 381.6200000000001C318.4099999999999 382.6400000000001 316.42 383.4400000000001 314.63 384.5900000000001zM213.83 326.14C214.81 327.32 215.82 328.4700000000001 216.95 329.52C216.34 328.59 215.68 327.71 215 326.84C211.9 322.96 209.46 318.53 207.97 313.78C207.1 310.51 206.29 307.18 206.24 303.78C206.17 301.26 206.16 298.7100000000001 206.56 296.2100000000001C207.69 288.5800000000001 210.89 281.36 215.33 275.0900000000001C217.33 272.39 219.58 269.82 222.25 267.76C223.87 266.49 225.78 265.67 227.59 264.71C230.7 263.03 233.91 261.48 236.66 259.23C239.33 257.14 241.21 253.9 241.06 250.44C241.05 176.77 241.06 103.1 241.05 29.42C241.05 28.0699999999999 240.97 26.72 241.09 25.3799999999999C241.22 23.8999999999999 241.91 22.55 242.56 21.23C243.42 19.5699999999999 244.34 17.89 245.74 16.61C246.59 15.84 247.71 15.21 248.89 15.3699999999999C250.39 15.5699999999999 251.55 16.72 252.34 17.9399999999999C253.3 19.4499999999999 254.02 21.1 254.62 22.79C255.38 24.92 255.06 27.21 255.16 29.42C255.3 33.4499999999999 255.14 37.48 255.3 41.5099999999999C255.33 47.3999999999999 255.33 53.2799999999999 255.36 59.17C255.5 62.79 255.39 66.41 255.47 70.03C255.62 74.06 255.45 78.09 255.61 82.12C255.64 88.11 255.64 94.1 255.68 100.0899999999999C255.82 103.7099999999999 255.7 107.3299999999999 255.79 110.9499999999999C255.93 114.88 255.77 118.81 255.93 122.7299999999999C255.96 128.7199999999999 255.96 134.7099999999999 255.99 140.6999999999999C256.15 144.6399999999999 255.98 148.5799999999999 256.18 152.5199999999999C256.4700000000001 151.0799999999999 256.31 149.5999999999999 256.4000000000001 148.1399999999999C256.5900000000001 144.5299999999999 256.8200000000001 140.9099999999999 257.1600000000001 137.3C257.48 133.86 257.6 130.41 258.0200000000001 126.98C258.3900000000001 123.88 258.5300000000001 120.7599999999999 258.9700000000001 117.67C259.54 113.58 259.8400000000001 109.46 260.5100000000001 105.3799999999999C261.9700000000001 96.3399999999999 263.3400000000001 87.2699999999999 265.6 78.3899999999999C266.73 73.5699999999999 268 68.7799999999999 269.6 64.0899999999999C272.1400000000001 56.1899999999999 275.3200000000001 48.4199999999999 279.9100000000001 41.4699999999999C281.6400000000001 38.8299999999999 283.7800000000001 36.4899999999999 286.0100000000001 34.2599999999999C286.2800000000001 34.0099999999999 286.5600000000001 33.7499999999999 286.8900000000001 33.55C287.4900000000001 33.3 288.2000000000001 33.62 288.5900000000001 34.12C289.3 34.9999999999999 289.7600000000001 36.0599999999999 290.29 37.05C294.3400000000001 44.85 298.4700000000001 52.61 302.63 60.36C303.33 61.67 304.07 62.98 305.19 63.97C306.94 65.54 309.03 66.66 311.17 67.6C314.05 68.82 317.07 69.79 320.2 70.02C326.78 70.64 333.31 69.27 339.76 68.17C343.45 67.59 347.16 66.9999999999999 350.89 66.7599999999999C354.63 66.6599999999999 358.37 66.7099999999999 362.1 67.0399999999999C370.65 67.9599999999999 379.09 69.9999999999999 387.04 73.2899999999999C392.34 75.5299999999999 397.5 78.1199999999999 402.35 81.2199999999999C413.81 88.4299999999999 423.81 97.7899999999999 432.39 108.2299999999999C433.56 109.6499999999999 434.64 111.1299999999999 435.85 112.5099999999999C434.65 109.2699999999999 433.18 106.1399999999999 431.69 103.0299999999999C430.44 100.1299999999999 428.85 97.4199999999999 427.42 94.6099999999998C422.26 84.9799999999999 416.4 75.6999999999998 409.67 67.0899999999999C405.64 61.8799999999999 401.14 57.0399999999999 396.34 52.5199999999999C389.7 46.4699999999999 382.27 41.1499999999999 373.91 37.7599999999999C365.7 34.3899999999999 356.6 33.1299999999999 347.82 34.4699999999999C344.26 35.0499999999998 340.81 36.1599999999999 337.41 37.3499999999999C334.62 38.3199999999999 332.02 39.7299999999999 329.38 41.0399999999999C325.95 42.7499999999998 322.74 44.8499999999999 319.67 47.1199999999998C322.38 44.0599999999998 325.36 41.2599999999998 328.37 38.5099999999998C332.64 34.7499999999998 337.11 31.1999999999998 342 28.2799999999998C345.98 25.8299999999998 350.29 23.8799999999998 354.84 22.7699999999998C356.3 22.3999999999998 357.8 22.3099999999998 359.29 22.1699999999998C358.04 21.0699999999998 356.66 20.1299999999998 355.3 19.1899999999998C345.69 12.6499999999998 335.29 7.3299999999998 324.61 2.7599999999998C303.75 -5.9400000000002 281.44 -11.2100000000003 258.87 -12.5800000000002C254.21 -12.8200000000002 249.55 -12.9400000000002 244.89 -12.9400000000002C239.91 -12.8300000000002 234.92 -12.8100000000002 229.97 -12.2900000000002C218.77 -11.5300000000003 207.68 -9.5600000000002 196.8 -6.8600000000002C186.45 -4.1500000000003 176.25 -0.7400000000002 166.5 3.6899999999998C157.7899999999999 7.5499999999998 149.38 12.1099999999998 141.5099999999999 17.4799999999998C139.6799999999999 18.7899999999998 137.7699999999999 20.0099999999998 136.1399999999999 21.5599999999998C142.7399999999999 22.7499999999998 149.1699999999999 24.9499999999998 155.13 28.0399999999998C160.87 30.8999999999998 166.12 34.6999999999998 170.7599999999999 39.1099999999998C173 41.2999999999998 175.0499999999999 43.6999999999998 176.9499999999999 46.1999999999998C173.5199999999999 44.0699999999998 170.0199999999999 42.0499999999998 166.3299999999999 40.4199999999998C161.9199999999999 38.2599999999998 157.2599999999999 36.6499999999998 152.5199999999999 35.3999999999998C146.7899999999999 33.8799999999998 140.7799999999999 33.6699999999998 134.9099999999999 34.2599999999998C126.7799999999999 35.2099999999998 119.0499999999999 38.5299999999998 112.3999999999999 43.2399999999998C108.0799999999999 46.1799999999998 104.1799999999999 49.6699999999998 100.4399999999999 53.2999999999998C90.5099999999999 63.4599999999999 82.2399999999999 75.1099999999998 74.7799999999999 87.1599999999999C70.8399999999999 93.4299999999998 67.2499999999999 99.9099999999999 63.6599999999999 106.3799999999999C62.6099999999999 108.4199999999999 61.5099999999999 110.4299999999999 60.4799999999999 112.4799999999999C63.3299999999999 109.5599999999999 66.0499999999999 106.5099999999999 68.9099999999999 103.5999999999999C77.8999999999999 94.6299999999999 87.4699999999999 86.1599999999999 98.0699999999999 79.1199999999999C105.6199999999999 74.2199999999999 113.7399999999999 69.8899999999999 122.6299999999999 68.0899999999999C125.7399999999999 67.3599999999999 128.9499999999999 67.6199999999999 132.0999999999999 67.2799999999999C134.8699999999999 66.9999999999999 137.6599999999999 67.0799999999999 140.4399999999999 66.9799999999999C145.4899999999999 66.9199999999999 150.5499999999999 66.9399999999999 155.5999999999999 67.1399999999999C159.2499999999999 67.3 162.8699999999999 67.8 166.4899999999999 68.2299999999999C168.5599999999999 68.4799999999999 170.5999999999999 68.9399999999999 172.6299999999999 69.4299999999999C176.5099999999999 70.3799999999999 180.7399999999999 70.3899999999999 184.4599999999999 68.8199999999999C189.2199999999999 66.9699999999999 192.8999999999999 63.1799999999999 195.8399999999999 59.1099999999999C197.9999999999999 56.0899999999999 199.8999999999999 52.8899999999999 201.4999999999999 49.5299999999999C202.6599999999999 47.0999999999999 203.9599999999999 44.7399999999999 205.0499999999999 42.2699999999999C206.0499999999999 40.0299999999999 207.1999999999999 37.8499999999999 208.4699999999999 35.7499999999999C209.1399999999999 34.73 209.8699999999999 33.6 211.0899999999999 33.1999999999999C212.1499999999999 33.9499999999999 212.7999999999999 35.11 213.3699999999999 36.2299999999999C215.4699999999999 40.3899999999999 216.7899999999999 44.8799999999999 218.2599999999999 49.2799999999999C220.2799999999999 55.8699999999999 222.0399999999999 62.5499999999999 223.4499999999999 69.2999999999999C225.6599999999999 78.5499999999999 226.6999999999999 88.0199999999999 227.9899999999999 97.4299999999999C228.5499999999999 101.4099999999999 228.8199999999999 105.4199999999999 229.2999999999999 109.3999999999999C230.1699999999999 120.0399999999999 231.1999999999999 130.6699999999999 231.5399999999999 141.3399999999999C231.6199999999999 143.1999999999999 231.7799999999999 145.0499999999999 231.7899999999999 146.9099999999999C231.7999999999999 151.2599999999999 232.0399999999999 155.5999999999999 232.0099999999999 159.9399999999999C231.9999999999999 162.3199999999999 231.9999999999999 164.6999999999999 232.0099999999999 167.0699999999999C232.0599999999999 172.1399999999999 231.8099999999999 177.2099999999999 231.7899999999999 182.2799999999999C231.5899999999999 188.8899999999999 231.0799999999999 195.4799999999999 230.4999999999999 202.0599999999999C229.7699999999999 207.9399999999999 228.9499999999999 213.8399999999999 227.3799999999999 219.5699999999999C225.3299999999999 227.3199999999999 221.7899999999999 234.5999999999999 217.5799999999999 241.3899999999999C214.4199999999999 246.4599999999999 210.7899999999999 251.2699999999999 206.4899999999999 255.4199999999999C202.6099999999999 259.2799999999999 197.9099999999999 262.4999999999999 192.5499999999999 263.8699999999999C191.0499999999999 264.2799999999999 189.4899999999999 264.3199999999998 187.9599999999999 264.5099999999998C188.0299999999999 267.4999999999999 188.6599999999999 270.4399999999999 189.2199999999999 273.3599999999998C190.8099999999999 281.0699999999998 193.0199999999999 288.6599999999999 195.9799999999999 295.9599999999998C197.4999999999999 299.9899999999998 199.3899999999999 303.8599999999998 201.3699999999998 307.6799999999999C204.8199999999998 314.2399999999998 208.9899999999999 320.4699999999998 213.8299999999999 326.1399999999998zM245.1 324.44C245.45 324.5 245.81 324.56 246.17 324.63C246.36 322.84 246.26 321.05 246.27 319.26V281.13C246.26 279.39 246.4 277.64 246.12 275.91C245.76 275.94 245.41 275.9600000000001 245.06 275.9600000000001C244.11 279.7100000000001 243.34 283.51 242.44 287.27C242.06 288.8 241.86 290.36 241.37 291.86C239.67 292.1 237.94 292.03 236.22 292.06C231.16 292.07 226.09 292.06 221.03 292.07C219.37 292.08 217.71 291.98 216.05 292.1C216.02 292.49 215.79 293.01 216.21 293.28C217.49 293.93 218.93 294.16 220.27 294.63C223.7 295.77 227.15 296.79 230.58 297.94C231.97 298.42 233.48 298.66 234.74 299.48C234.78 300.04 234.76 300.61 234.69 301.16C233.46 301.7100000000001 232.16 302.03 230.88 302.44C227.75 303.4700000000001 224.59 304.4 221.47 305.4600000000001C219.68 306.0800000000001 217.8 306.4600000000001 216.06 307.25C216.03 307.62 215.99 307.98 215.95 308.3400000000001C221.04 308.53 226.15 308.28 231.25 308.4600000000001C234.61 308.5900000000001 237.98 308.38 241.34 308.53C241.46 308.92 241.6 309.3 241.71 309.69C242.79 314.63 244.04 319.52 245.1 324.44zM251.07 324.64C251.43 324.5900000000001 251.79 324.52 252.15 324.44C253.13 320.5900000000001 253.88 316.68 254.86 312.83C255.2200000000001 311.41 255.42 309.95 255.89 308.56C258.42 308.38 260.9600000000001 308.57 263.5 308.51C268.6600000000001 308.39 273.83 308.39 278.99 308.44C279.75 308.45 280.51 308.41 281.27 308.36C281.23 308 281.2 307.64 281.17 307.28C279.35 306.45 277.39 306.03 275.5 305.39C271.7699999999999 304.16 268.0199999999999 303 264.2799999999999 301.82C263.7099999999999 301.65 263.1599999999999 301.4 262.6099999999999 301.18C262.4599999999999 300.63 262.4299999999999 300.06 262.4899999999999 299.49C263.3599999999999 299.01 264.3099999999999 298.68 265.2599999999999 298.4C270.1399999999999 296.88 274.9899999999999 295.26 279.8899999999999 293.8C280.2699999999999 293.67 280.6699999999999 293.53 281.0199999999999 293.31C281.4199999999999 293.04 281.2499999999999 292.52 281.1699999999999 292.13C279.5099999999998 292 277.8599999999999 292.1 276.1999999999998 292.09C271.0299999999998 292.08 265.8699999999999 292.1 260.6999999999998 292.08C259.0899999999998 292.05 257.4799999999998 292.1 255.8799999999998 291.87C255.3599999999998 290.2 255.1599999999999 288.45 254.7099999999999 286.76C253.7699999999999 283.19 253.1899999999999 279.52 252.1699999999999 275.98C251.8099999999999 275.97 251.4599999999999 275.9599999999999 251.1099999999999 275.92C250.8199999999999 277.65 250.9599999999999 279.4 250.9599999999999 281.14V319.27C250.9799999999999 321.05 250.8799999999998 322.85 251.0699999999999 324.64zM65.05 279.67C66.17 281.82 67.13 284.07 68.42 286.13C66.6 278.57 65.51 270.86 64.8 263.13C64 255.42 63.95 247.64 64.26 239.9C65.31 219.96 69.8 200.07 78.49 182.02C81.48 176.03 84.84 170.19 88.99 164.91C95.11 157.44 101.52 150.15 108.83 143.82C113.63 139.72 118.82 136.04 124.37 133.02C127.64 131.37 130.88 129.63 134.31 128.34C139.32 126.31 144.5 124.73 149.73 123.4C153.56 122.44 157.51 121.99 161.25 120.69C166.25 119.12 170.72 116.08 174.28 112.26C179.21 107.03 182.37 100.39 184.48 93.59C185.47 90.69 186.07 87.68 186.65 84.67C186.8 83.92 186.87 83.15 186.81 82.3799999999999C180.31 79.6 173.55 77.3199999999999 166.55 76.1999999999999C162.44 75.42 158.26 75.2099999999999 154.09 75.12C143.84 74.8799999999999 133.62 76.8799999999999 123.97 80.24C120.23 81.66 116.48 83.09 112.94 84.96C104.88 88.8 97.3 93.66 90.48 99.42C87.56 101.97 84.65 104.55 82.08 107.4499999999999C72.92 117.2799999999999 65.78 128.86 60.29 141.0999999999999C57.9 146.6499999999999 55.68 152.2799999999999 53.92 158.0599999999999C52.75 161.9999999999999 51.56 165.9499999999999 50.66 169.9699999999999C49.91 172.9099999999999 49.44 175.9199999999999 48.79 178.8899999999999C48.33 181.0299999999999 48.1 183.2099999999999 47.76 185.37C46.91 190.8 46.48 196.3 46.43 201.8C46.54 207.98 46.68 214.17 47.5 220.3C47.9 223.16 48.17 226.04 48.65 228.9C49.63 234.6 50.79 240.27 52.36 245.83C55.45 257.48 59.84 268.78 65.05 279.67zM428.7800000000001 286.11C429.8800000000001 284.45 430.6900000000001 282.63 431.56 280.85C433.6600000000001 276.4 435.8 271.95 437.58 267.36C445.19 248.6 449.88 228.57 450.62 208.31C450.64 206.55 450.69 204.79 450.73 203.02C450.86 193.45 449.4600000000001 183.93 447.55 174.57C446.82 170.98 446.01 167.4 444.9700000000001 163.88C440.93 149.16 434.9700000000001 134.88 426.56 122.1C418.35 109.53 407.55 98.55 394.7200000000001 90.69C388.99 87.1 382.93 84.05 376.67 81.5C370.8900000000001 79.31 364.9600000000001 77.47 358.87 76.39C352.4700000000001 75.34 345.96 74.87 339.4700000000001 75.16C331.55 75.64 323.6900000000001 77.23 316.2600000000001 80.01C314.3200000000001 80.81 312.3200000000001 81.47 310.4200000000001 82.34C310.2100000000001 83.85 310.6700000000001 85.33 310.9500000000001 86.8C312.1100000000001 92.54 313.98 98.16 316.6500000000001 103.3799999999999C319.0200000000001 107.8899999999999 322.17 112.0299999999999 326.11 115.2799999999999C328.54 117.3299999999999 331.35 118.8899999999999 334.2700000000001 120.1099999999999C337.85 121.6099999999999 341.7400000000001 122.0799999999999 345.5100000000001 122.9399999999999C352.7400000000001 124.6499999999999 359.8800000000001 126.8699999999999 366.6600000000001 129.9399999999999C377.0100000000001 134.5899999999999 386.37 141.3199999999999 394.31 149.3999999999999C395.9 151.0099999999999 397.54 152.5799999999999 399.05 154.2699999999999C402.42 158.0299999999999 405.76 161.8399999999999 408.9000000000001 165.7999999999999C416.3800000000001 175.8699999999998 421.7200000000001 187.3899999999998 425.61 199.2799999999998C427.19 204.5799999999999 428.82 209.8799999999998 429.82 215.3299999999999C430.45 218.1999999999999 430.86 221.1099999999999 431.34 224.0099999999999C432.21 230.0999999999999 432.93 236.2299999999999 433.02 242.3899999999999C433.14 249.0399999999999 433.16 255.7099999999999 432.49 262.3299999999998C431.76 270.3199999999998 430.62 278.2899999999999 428.7800000000001 286.1099999999999z" /> + <glyph glyph-name="opencart" + unicode="" + horiz-adv-x="640" d=" M423.3 7.3C423.3 -18 403 -38.3 377.7 -38.3S331.9 -18 331.9 7.3S352.5 53.1 377.7 53.1C403.1 53.1 423.3 32.6 423.3 7.3zM169.4 53.1C144.1 53.1 123.8 32.5 123.8 7.3S144.1 -38.3 169.4 -38.3S215.2 -18 215.2 7.3S194.7 53.1 169.4 53.1zM461.1 323.1C158.9 323.1 81.9 335.9 0 422.3C34.4 370.6 53.3 273.4 373.1 278.1C706.4000000000001 283.1 503.1 192 443.9000000000001 89.2000000000001C630.6 255.9000000000001 763.3 323.1 461.1 323.1z" /> + <glyph glyph-name="openid" + unicode="" + horiz-adv-x="448" d=" M271.5 16L203.5 -16C88.5 -5.7 0 55.5 0 129.8C0 201.3 82.5 260.8 191.7 274.1V231.1C120.2 218.6 67.7 178.1 67.7 129.8C67.7 78.8 126.2 36.5 203.4 26.8V366.8L271.4 400V16zM448 157L316.7 185.5L353.5 206.2C334 217.7 310 226.2 283.5 231V274C329.7 268.5 371.2 254.5 403.8 234.7L438.8 254.5L448 157z" /> + <glyph glyph-name="opera" + unicode="" + horiz-adv-x="496" d=" M313.9 415.3C143.7 415.3 61.3 191.5 166.4 60.2C202.9 14.8 255 -15.4 313.9 -15.4C350.2 -15.4 384.2 -4.3 413.3 15C369.5 -24.2 311.4 -48 248 -48C244.1 -48 240 -48 236.1 -47.7C104.6 -41.6 0 66.9 0 200C0 337 111 448 248 448H248.8C311.9000000000001 447.7 369.5 423.9 413.2000000000001 384.9C384.2000000000001 404.3 350.1 415.3 313.9000000000001 415.3zM415.7 17.6C374.8 -7.1 325 -6 283.7 23.4C339.9 43.9 381.4 115 381.4 200C381.4 284.7000000000001 340.2 355.8000000000001 284 376.6C325.8 405.8 375.2 406.9000000000001 416.9 381.6C522.8 282.9000000000001 522.4 115.9 415.7 17.6z" /> + <glyph glyph-name="optin-monster" + unicode="" + horiz-adv-x="576" d=" M550.671 -2.303C550.671 -13.923 534.998 -21.76 518.513 -17.166C506.353 -13.923 487.167 0.399 482.302 10.128C476.628 21.748 486.356 42.826 501.218 40.934C516.892 39.313 550.671 15.533 550.671 -2.3030000000001zM372.86 372.777C369.077 444.928 272.064 452.495 246.932 396.2870000000001C291.5200000000001 420.608 337.189 411.9600000000001 372.86 372.777zM74.795 40.934C59.122 39.313 25.343 15.533 25.343 -2.303C25.343 -13.923 41.016 -21.76 57.5 -17.166C69.66 -13.923 88.576 0.399 93.44 10.128C99.386 21.748 89.658 42.826 74.795 40.934zM572.56 26.612C573.641 23.099 574.452 19.586 574.452 15.803C575.262 -15.813 530.135 -48.242 500.949 -49.322C483.654 -50.132 466.359 -40.945 458.253 -25.812C344.7560000000001 -29.865 231.2590000000001 -30.676 118.033 -25.812C109.656 -40.945 92.361 -49.862 75.066 -49.322C46.151 -48.241 1.023 -15.813 1.563 15.803C1.833 19.586 2.374 23.099 3.455 26.612C-2.111 36.075 -1.39 41.894 8.86 38.232C12.103 43.366 15.886 47.6900000000001 19.94 52.014C17.37 62.931 21.21 66.108 31.019 61.202C35.613 64.445 41.017 67.687 46.963 70.39C46.963 86.147 58.802 81.521 64.258 76.065C76.725 77.845 84.387 75.356 91.011 70.39V90.116C78.024 90.116 50.37 101.491 45.071 126.328C40.097 147.053 47.678 164.403 70.203 173.888C71.013 179.833 78.31 187.94 85.065 189.832C92.632 191.724 97.496 185.238 99.117 179.563C106.542 179.563 116.874 178.098 120.195 171.456C125.6 171.997 131.274 172.808 136.679 173.348C134.2470000000001 175.24 131.545 176.861 128.572 177.942C123.438 186.859 114.79 189.021 103.981 189.562C103.981 190.372 103.981 191.183 104.251 192.264C84.524 192.805 60.203 197.939 49.394 210.099C28.073 233.737 33.459 293.6760000000001 61.554 313.5970000000001C69.931 319.2720000000001 83.172 314.408 84.253 303.8690000000001C86.678 283.271 84.652 277.0360000000001 110.465 277.927C118.572 285.7630000000001 127.22 292.519 136.948 297.9240000000001C122.086 299.2760000000001 108.034 296.303 93.17 294.1410000000001C105.922 306.6210000000001 117.123 319.5830000000001 149.918 336.5680000000001C173.429 348.4580000000001 199.911 357.3760000000001 226.123 359.807C207.477 367.6440000000001 186.13 371.6980000000001 166.402 376.2910000000001C242.877 392.5050000000001 340.971 398.4500000000001 410.691 338.7290000000001C428.796 323.326 443.118 302.5180000000001 453.3869999999999 278.7370000000001C493.1859999999999 273.884 489.857 284.3180000000001 492.03 303.8690000000001C493.111 314.1380000000001 506.352 319.2720000000001 514.7289999999999 313.3270000000001C529.5909999999999 302.7880000000001 536.8879999999999 282.5210000000001 539.319 265.2260000000001C541.481 247.3910000000001 539.5889999999999 223.8810000000001 526.889 210.0990000000001C516.08 197.9390000000001 492.569 192.5340000000001 473.113 191.994V189.2910000000001C462.033 189.0210000000001 452.845 186.859 447.44 177.6710000000001C444.468 176.59 441.766 174.9680000000001 439.063 173.0770000000001C444.738 172.537 450.413 171.7260000000001 455.818 171.186C457.687 176.8050000000001 468.353 179.5630000000001 476.895 179.5630000000001C478.516 184.968 483.651 191.453 490.947 189.8320000000001S504.999 179.8340000000001 505.81 173.888C516.619 169.564 527.969 161.728 530.941 148.216C532.8330000000001 140.109 532.562 133.083 531.211 126.328C525.485 101.066 497.85 90.116 485.272 90.116C485.272 83.36 485.272 76.8750000000001 485.002 70.39C493.012 76.3960000000001 501.369 77.5480000000001 511.754 76.0650000000001C517.673 81.984 529.3190000000001 85.4750000000001 529.3190000000001 70.39C534.994 67.6870000000001 540.6680000000001 64.4450000000001 545.263 61.2020000000001C555.363 66.253 558.932 61.741 556.072 52.0140000000001C560.125 47.6910000000001 564.179 43.0970000000001 567.151 38.2320000000001C577.2869999999999 41.8520000000001 578.1719999999999 36.1540000000001 572.56 26.6120000000001zM498.7869999999999 280.6280000000001C516.0819999999999 273.872 524.9989999999999 258.4690000000001 529.0519999999999 244.9580000000001C530.1329999999999 255.497 526.3499999999999 284.4110000000001 515.2699999999999 296.0310000000001C507.9739999999999 303.327 501.2179999999998 301.165 501.2179999999998 295.221C501.2189999999998 289.005 499.8679999999998 283.601 498.7869999999999 280.6280000000001zM480.1409999999999 268.198C493.1119999999999 252.525 497.1649999999999 226.583 492.8409999999999 205.235C503.6499999999999 207.397 513.3779999999999 211.45 519.0529999999999 217.395C520.9449999999999 219.557 522.8359999999999 222.259 523.9169999999999 224.961C522.8359999999999 246.3090000000001 513.6479999999999 267.658 494.1919999999999 273.8730000000001C490.9499999999999 270.63 485.0049999999999 269.009 480.1409999999999 268.198zM458.2519999999999 267.387C465.8189999999999 246.85 470.6829999999999 224.691 472.5739999999999 202.802C476.0869999999999 202.802 480.1409999999999 203.072 484.1939999999999 203.613C490.1389999999999 227.9340000000001 483.9239999999999 255.2270000000001 470.1419999999999 267.117C466.3589999999999 267.117 462.0349999999999 267.117 458.2519999999999 267.3870000000001zM77.768 280.628C76.687 283.601 75.336 289.005 75.336 295.221C75.336 301.166 68.31 303.328 61.284 296.031C49.934 284.411 46.421 255.497 47.502 244.958C51.555 258.47 60.473 273.873 77.768 280.628zM83.443 205.234C79.119 226.582 83.173 252.525 96.144 268.197C91.279 269.008 85.335 270.629 82.092 273.872C62.635 267.657 53.717 246.309 52.366 224.96C53.717 222.258 55.338 219.556 57.23 217.394C62.905 211.179 72.633 207.396 83.443 205.234zM124.788 266.307C119.654 265.226 114.79 263.334 109.926 261.442L97.766 256.308V256.578C90.47 242.526 87.767 222.259 92.361 203.613C96.955 203.072 101.008 202.802 105.061 202.802C107.493 224.961 114.249 246.58 124.788 266.307zM212.883 289.546C212.883 247.391 247.202 213.341 289.088 213.341S365.293 247.391 365.293 289.546C365.293 331.432 330.974 365.481 289.088 365.481S212.883 331.432 212.883 289.546zM365.293 192.263C375.262 141.655 368.592 127.571 381.777 134.164C397.721 142.271 404.476 173.347 404.747 191.183C391.776 191.993 378.534 191.993 365.293 192.263zM293.682 192.804V193.074C293.4120000000001 187.94 293.952 154.971 298.0060000000001 151.999C309.0850000000001 146.594 337.4590000000001 147.405 349.079 150.918C354.484 152.5389999999999 351.511 187.94 350.7 192.804C331.784 193.074 312.598 193.074 293.682 192.804zM279.629 192.804V193.074C260.173 192.804 240.987 192.804 221.8 192.263C219.908 183.076 217.206 143.352 223.692 140.649C236.663 134.974 265.308 135.515 278.278 139.028C282.8730000000001 141.46 280.711 184.427 279.629 192.804zM193.967 135.244C199.372 132.812 202.614 132.812 203.695 139.568C205.587 148.215 206.127 176.32 208.56 191.723C196.4 191.453 183.969 190.912 171.808 190.102C166.403 170.375 172.078 144.973 193.967 135.244zM128.301 146.324C172.079 99.304 220.99 60.661 284.2240000000001 39.8539999999999C351.7820000000001 59.0399999999999 399.8830000000001 99.8449999999999 447.4430000000001 146.8649999999999C436.348 151.1799999999999 439.7280000000001 157.2279999999999 440.1470000000001 158.4849999999999C431.2290000000001 159.2949999999999 422.3120000000001 160.3769999999999 413.6640000000001 161.1869999999999C404.206 128.2189999999999 377.7240000000001 108.2219999999999 366.9140000000001 129.5709999999999C364.2120000000001 134.7049999999999 363.4010000000001 141.1909999999999 362.3200000000001 146.3249999999999C358.5370000000001 137.9479999999999 349.0780000000001 138.218 337.7290000000001 137.4069999999999C324.4880000000001 136.3259999999999 306.112 136.0559999999999 293.6810000000001 140.3789999999999C290.7090000000001 127.4079999999999 282.6020000000001 127.4079999999999 266.9290000000001 126.0569999999999C252.8770000000001 124.7049999999999 218.287 122.0029999999999 212.072 136.8659999999999C210.9910000000001 108.2219999999999 176.942 126.868 166.9430000000001 143.892C163.7000000000001 149.567 161.5380000000001 155.242 159.917 161.4569999999999C152.0800000000001 160.6469999999999 144.244 159.836 136.406 158.755C138.8490000000001 155.0919999999999 137.9550000000001 149.7029999999999 128.3010000000001 146.324zM115.6 -5.545C109.926 17.694 96.954 44.177 82.092 48.501C59.663 55.257 13.183 24.991 15.885 -6.085C28.586 -25.542 55.879 -41.755 75.066 -42.566C92.901 -43.376 111.006 -31.486 114.79 -13.652C115.329 -11.22 115.6 -8.518 115.6 -5.5450000000001zM122.896 0.399C156.405 19.856 192.075 36.07 228.827 47.419C190.184 67.956 160.729 95.25 131.544 124.435C129.382 123.083 126.41 122.003 123.708 120.922C122.071 116.012 132.426 115.5920000000001 129.113 108.491C126.951 104.4370000000001 120.465 100.924 113.98 99.3030000000001C111.819 96.6010000000001 108.846 94.4390000000001 106.144 92.818H105.874C105.604 79.307 105.604 65.794 106.144 52.283C115.083 36.319 121.57 18.969 122.896 0.399zM443.6600000000001 -12.301C406.908 9.047 369.6160000000001 29.044 328.0010000000001 40.664C314.2190000000001 34.449 300.168 29.315 285.846 25.261C283.6840000000001 24.45 283.6840000000001 24.45 281.522 25.261C269.632 29.044 258.283 33.3679999999999 246.663 38.502C206.398 26.8819999999999 169.377 9.317 134.247 -12.301H133.977V-12.571C134.247 -12.571 134.247 -12.571 134.247 -12.301C237.474 -16.355 340.702 -15.814 443.66 -12.301zM470.683 51.744L470.4130000000001 51.474C470.9540000000001 65.256 471.224 79.037 471.224 92.8190000000001C468.251 94.4400000000001 465.549 96.8730000000001 463.1170000000001 99.5750000000001C456.6320000000001 100.9260000000001 450.1460000000001 104.7090000000001 447.9840000000001 108.4930000000001C446.0920000000001 112.5460000000001 449.3350000000001 116.059 453.9290000000001 118.7620000000001C453.6590000000001 119.3030000000001 453.3880000000001 120.3830000000001 453.3880000000001 121.1940000000001C450.4160000000001 122.0050000000001 447.9830000000001 123.0860000000001 445.8210000000001 124.4370000000001C414.2050000000001 94.9820000000001 380.4250000000001 67.6880000000001 342.3230000000001 47.6910000000001C381.2370000000001 36.0710000000001 418.2580000000001 19.5870000000001 454.1980000000001 0.1300000000001C455.2480000000001 14.8220000000001 461.4290000000001 35.8790000000001 470.6830000000001 51.7440000000001zM493.9230000000001 48.5C479.33 44.177 466.0890000000001 17.694 460.414 -5.546C460.414 -29.372 481.6920000000001 -43.443 500.948 -42.568C520.134 -41.757 547.428 -25.544 560.129 -6.087C563.102 24.99 516.6220000000001 55.257 493.923 48.5zM290.709 313.867C290.754 313.867 290.798 313.8640000000001 290.843 313.8640000000001C290.889 313.8640000000001 290.933 313.867 290.9790000000001 313.867H290.7090000000001zM290.709 217.124C319.354 217.124 342.593 238.742 342.593 265.495C342.593 301.587 302.086 323.574 270.442 309.813C279.9000000000001 306.841 286.926 298.193 286.926 288.195C286.926 264.938 253.635 256.24 240.446 276.8450000000001C233.149 242.778 259.814 217.124 290.709 217.124zM68.039 -26.083C68.579 -32.569 80.199 -38.784 89.657 -35.5410000000001C96.413 -32.8380000000001 104.25 -25.0020000000001 106.952 -19.3270000000001C109.925 -12.301 105.871 0.67 97.224 -0.9520000000001C88.307 -2.573 67.499 -17.7060000000001 68.039 -26.0830000000001zM478.789 -0.952C470.412 0.669 466.358 -12.301 469.331 -19.327C471.763 -25.002 479.6 -32.838 486.626 -35.541C495.813 -38.784 507.704 -32.569 507.974 -26.083C508.785 -17.706 487.707 -2.573 478.789 -0.952z" /> + <glyph glyph-name="osi" + unicode="" + horiz-adv-x="495.8" d=" M0 188.8C2.3 324.6 97.4 421.2 213.8 436.9C352.6 455.5 469.4 361.1 491.8 235.8C513.1 117 447.8 5.8 340.2000000000001 -38.2C330.9000000000001 -42 325.8000000000001 -39.9 322.2000000000001 -30.5C304.4000000000001 15.8 286.6 62.2 268.8000000000001 108.5C265.7000000000001 116.6 267.8000000000001 121.7 275.8000000000001 125.3C300.0000000000001 136.3 315.1000000000001 154.7 319.1000000000001 181.1C325.5000000000001 223.5 294.6000000000001 259.8 254.6000000000001 263.3C215.6000000000001 266.7000000000001 182.8000000000001 239.6 177.1000000000001 203.6C171.9000000000001 170.6 188.2000000000001 139.9 219.0000000000001 125.9C228.6000000000001 121.5000000000001 230.5000000000001 117.3 226.8000000000001 107.5000000000001C208.9000000000001 60.9 191.0000000000001 14.3000000000001 173.1000000000001 -32.4C170.5000000000001 -39.3 164.8000000000001 -41.7 157.6000000000001 -38.9C105.0000000000001 -18.6 56.2000000000001 22.1 26.8000000000001 80.1C1.9 129.3 1.6 167.8 0 188.8zM20.9 190.7C21.3 184.1 21.5 176.4 22.2 168.6C28.5 96.6999999999999 71.8 25.1 153.2 -14.5C156.4 -16 157.6 -15.3 158.8 -12.2C173.7 26.9 188.7 66 203.8 105.1C205.1 108.4 204.4 109.9 201.4 111.8C169.8 131.7 154.1 160.3 155.8 197.8C156.8 219.4 165.1 238.3 179.6 254.1C209.6 286.8 256.6 293.9000000000001 295.1 271.7000000000001C327 253.3 344.6 217.9 340.3 181.3C336.7 150.7 321 127.4 294.6 111.5C291.9000000000001 109.9 291.1 108.6 292.3 105.5C307.5 66.3 322.5 27.1 337.5 -12.2C338.7 -15.3 339.9 -16 343.1 -14.5C378.6 2.1 408.3 25.8 431.2000000000001 57.5C466.0000000000001 105.7 480.3000000000001 159.4 473.5000000000001 218.5C459.8 336 354.1 433.3 218 416.5C111.9 403.5 22.7 314 20.9 190.7z" /> + <glyph glyph-name="page4" + unicode="" + horiz-adv-x="496" d=" M248 -56C111 -56 0 55 0 192S111 440 248 440C268.9 440 289.3 437.4 308.7 432.5L42.3 56H248V-56zM248 87.6V301.2L98.6 87.6H248zM344 56V-36.7C389.7 -17.5 428.5 15 455.4 56H344zM401.4 194.2L380.2 185.8L401.4 177.5V194.2zM381.1 139.7C374.4 139.7 373.1 133.4 373.1 126.8V119.1H389.3V129.1C389.3 135 387 139.7000000000001 381.1 139.7000000000001zM496 192C496 154.7 487.8 119.3 473 87.6H344V420.7C433.3 383.2 496 294.9 496 192zM360.4 304.4H428.6V352H414.7V319.4H400.8V349H386.9000000000001V319.4H374.2000000000001V352H360.3000000000001V304.4zM428.5 119.1H402V130.1C402 145.5 396.4 155.3 381.1 155.3C365.7000000000001 155.3 360.4000000000001 144.7 360.4000000000001 129.4V104.1H428.6V119.1zM428.5 222.1L360.3 192.4V180L428.5 150.5V167.1L414.1 172.8V199.3L428.5 205.2V222.1zM423.7 290.6H388.1V264H402V276.2H413C421.6 260.4 414.3 240.9 394.4 240.9C371.9 240.9 366.1 266.2 378.9 278.6L367.3 289.2C351.1 271.7 355.1 225.3 394.4 225.3C428.4 225.3 439.1 261.2 423.7 290.6z" /> + <glyph glyph-name="pagelines" + unicode="" + horiz-adv-x="384" d=" M384 135.3C328.9 -1.4 196.9 81.3 196.9 81.3C156.4 -0.5 89.5 -53.1 12.3 -53.4C-3.8 -53.4 -4.3 -29 12.3 -29C76.7 -28.7 132.8 13.7 169.5 81.1C128.4 65.2000000000001 50.9 53.2 7.9 163.3C116.9 208.2 167 152.1 186.2 117.8C196.1 142.2 203.2 168.7 207.8 197.5C207.8 197.5 68.1 175.6 58.3 295.6C177.4 343.5 210.9 218.9 210.9 218.9C212.5 235.6 214.2 271.5 214.2 272.3C214.2 272.3 107.9 346 176.1 437.5C300.7000000000001 394.5 237.5000000000001 275.1 237.5000000000001 275.1C238.0000000000001 273.5 238.0000000000001 251.3 237.5000000000001 241.7C237.5000000000001 241.7 282.7000000000001 330.7 373.9000000000001 299.2C369.7000000000001 165.1999999999999 232.0000000000001 192.8 232.0000000000001 192.8C227.6 165.4 220.8000000000001 139.4 212 115.3C212 115.3 295 207.1 384 135.3z" /> + <glyph glyph-name="palfed" + unicode="" + horiz-adv-x="576" d=" M384.9 254.1C384.9 301.5 329.7 298.3 289.5 283.9C288.2 244.5 287 203.2 286.5 164.1C287.2 161.3 289.1 157.9 301.6 157.9C338.4000000000001 157.9 385 200.7000000000001 384.9000000000001 254.1zM190.4 181.9C190.6 181.9 196.9 184.6 201.6 184.6C228.2 184.6 222.3 140.5 187.2 140.5C165.7 140.5 150.1 158.6 150.1 183.5C150.1 225.5 193 279.0999999999999 250.8 310C251.8 322.4 253.8 332 261.3 338.2C272.5 347.2 287.9 341.7 290.8 327.1C363 349.3 426 326.1 426 255.1C426 177.1999999999999 346.7 102.5 285.9 116.9C285.8 77.5 286.8 42.5 288.6 16.9V16.7C288.8 13.3 289.2 4.2 283.3 -2.4C273.7 -13.0000000000001 249.9 -12.4 246.9 19.9C242.8 64.3 247.1 226 248.3 262.4C226.8 247.4 189.8 212.1 189.8 186.5C190 184 190.2 182.5 190.4 181.9zM8 266.9S7.9 229.5 46.4 229.5H76.4L98.8 12.3S98.8 -32 143.5 -32H432.4S477.1 -31.6 477.1 12.3L499.4999999999999 229.5H529.5S567.9 228.3 567.9 266.9C567.9 266.9 568 304.3 529.5 304.3H499.4C492.1 329.9 469.2 378.6 380 378.6H352V397.7S349.3 416.1 330.9 416.1H245.1S224 416.1 224 397.7V378.6H195.9S90.9 374.4 75.4 304.3H46.4S8 305.5 8 266.9z" /> + <glyph glyph-name="patreon" + unicode="" + horiz-adv-x="512" d=" M512 253.2C512 151.9 429.6 69.4 328.2 69.4C226.5 69.4 143.8 151.8 143.8 253.2C143.8 354.8 226.5 437.5 328.2 437.5C429.6 437.5 512 354.8 512 253.2zM0 -53.5H90V437.5H0V-53.5z" /> + <glyph glyph-name="paypal" + unicode="" + horiz-adv-x="384" d=" M111.4 152.1C107.9 132.9 94 43.4 89.9 18.1C89.6 16.3 88.9 15.6 86.9 15.6H12.3C4.7 15.6 -0.8 22.2 0.2 29.5L58.8 401.4C60.3 411 68.9 418.3 78.8 418.3C231.1 418.3 243.9 422 282.8 406.9C342.9000000000001 383.6 348.4 327.4 326.8 266.6C305.3 204 254.3 177.1 186.7 176.3C143.3 175.6 117.2 183.3 111.4 152.1zM357.1 296C355.3 297.3 354.6 297.8 354.1 294.7C352.1 283.3 349 272.2 345.3 261.1C305.4000000000001 147.3 194.8 157.2 140.8 157.2C134.7 157.2 130.7 153.9 129.9 147.8C107.3 7.4 102.8 -21.9 102.8 -21.9C101.8 -29 106.3 -34.8 113.4 -34.8H176.9C185.5 -34.8 192.6 -28.4999999999999 194.3 -19.9C195 -14.5 193.2 -26 208.7 71.4C213.3 93.4 223 91.1 238.0000000000001 91.1C309 91.1 364.4000000000001 119.9 380.9000000000001 203.4C387.4000000000001 238.2000000000001 385.5000000000001 274.8000000000001 357.1 296z" /> + <glyph glyph-name="periscope" + unicode="" + horiz-adv-x="448" d=" M370 384.4C331.4 425.4 280.5 448 226.6 448C111.9 448 18.5 351.8 18.5 233.6C18.5 158.5 76.3 73.8 101.2 40.9C137.8 -7.5 192.6 -64 226.6 -64C268.2 -64 339.5 30.2 347.5 41C372.1 74.1 429.5 159.3 429.5 233.6C429.5 290.1 408.4 343.7 370 384.4zM226.6 -45.9C184.1 -45.9 36.6 121.4 36.6 233.5C36.6 340.9 120.5 429.8 226.6 429.8C327.4 429.8 411.3 340.8 411.3 233.5C411.4 121.4 263.9 -45.9 226.6 -45.9zM338 241.2C338 182.1 286.9 131.5 227.2 131.5C126.6 131.5 76.5 239.7 134.3 313.3V312.9C134.3 288.4 154.4 268.5 179.1 268.5C203.8 268.5 223.9 288.4 223.9 312.9C223.9 331.1 212.8 346.7 197 353.6C273.6 372.8 338 314.3 338 241.2z" /> + <glyph glyph-name="phabricator" + unicode="" + horiz-adv-x="496" d=" M323 185.9L322.9 198.9S344.6 218.7 344 220.1L334.5 240.1C333.9 241.5 305 240.6 305 240.6L295.6 249.9S295.8 278.4 294.4000000000001 279L274.3 288.2C272.9000000000001 288.8 253.6 267.2 253.6 267.2L240.5000000000001 267.4S220 288.8 218.6 288.2L198.6 279.9C197.2 279.4 198.8 251 198.8 251L189.7 241.9S160.5 242.8 160 241.5L151.9 221.6999999999999C151.3000000000001 220.2999999999999 172.9 200.6999999999999 172.9 200.6999999999999L173 187.8S151.3000000000001 168 151.9 166.6L161.4 146.6C162 145.2 190.9 146.1 190.9 146.1L200.3000000000001 136.8S200.1000000000001 104.9999999999999 201.5 104.4999999999999L221.6 96.1999999999999C223 95.5999999999999 242.3 119.6999999999999 242.3 119.6999999999999L255.4 119.5S275.9 95.6999999999999 277.2 96.1999999999999L297.2 103.6999999999999C298.6 104.3 297 135.8 297 135.8L306.1 144.9S335.3 144 335.8 145.4L343.9000000000001 165.2C344.6 166.3 323.0000000000001 185.9 323.0000000000001 185.9zM278.1 194.6C278.8 177.5 265.3 163 248.0000000000001 162.2C230.7 161.4 215.9 174.7 215.2000000000001 191.8C214.5000000000001 208.9 228.0000000000001 223.4 245.3000000000001 224.1C262.6 224.9 277.4000000000001 211.6 278.1 194.6zM479.3 232.5L382.3 329.5L382.2 329.4C307.1 402.7 186.8 402.2 112.4 327.8C61.5 276.8 84.6 299.9 16.7 232.5C-5.6 210.2 -5.6 173.8 16.7 151.5C86.6 82.1 63.1 105.5 114.1 54.5L114.2 54.6C189.3 -18.7 309.6 -18.3 384 56.2C435 107.1 411.9 84.1 479.3 151.5000000000001C501.6 173.8000000000001 501.6 210.2000000000001 479.3 232.5000000000001zM140.4 84.2C80.8 143.7 80.8 240.2 140.4 299.7C199.9 359.3 296.4 359.2 356 299.7C415.5 240.2 415.6 143.7 356 84.1C296.4 24.6 200 24.7 140.4 84.2000000000001z" /> + <glyph glyph-name="phoenix-framework" + unicode="" + horiz-adv-x="640" d=" M212.9 103.7C216.7 103.8 235.7 105.1 238.5 105.9C236.1 108.5 194.9 106.9 170.5 155.5C166.2 164.1 163 173.1 164.1 183.1C167 208.6 197 213.1 216.1 201.6C252.1 180 279.4 110.3 329.8 104.1C366.8 99.6 414.4 121.1 438 149.5C437.4 149.6 437.2 149.7 437 149.6C436.6 149.5 436.2 149.4 435.9 149.3C402.6 137.2 341.6 139.6 301.2 164.1C263.6 186.9 248.1 222.8 249.4 238.7C251.2 260 272.3 261.9 285.3 258.3C299.7 254.4 309.7 240.7 324.2 230.9C339.8 220.5 357.0999999999999 217.2 375.5 220.6C390.3999999999999 223.3 409.8999999999999 232.9 412 235.1C410.8999999999999 235.2 410.2 235.2 409.5 235.3C403.3 235.9 397.1 236.1 391 237C279.8 253.5 262.1 400.6 138.5 410.1C94.2 413.5 39.1 402 2.2 375.1C1.4 374.5 0.7 373.9 0 373.3C0.1 373.1 0.1 373 0.2 372.8C1 372.8 1.8 372.9 2.6 373C8.9 374 15.1 373.8 21.3 372.7C45.1 368.4 69 349.6 77.2 296.2C82.5 261.9 76.5 245.4 85.2 210.1C104.2 133 176.2 102.5 212.9 103.7zM75.3 383.1C74.4 384.1 74.4 384.3 74 385.1C86.1 387.7 98.2 389.2 110.6 389.9C109.5 375.2 88.4 368.6 75.3 383.1zM272.2 32.6C229.4 31.4 180.2 59.3 148.7 94C144.1 99 131.9 114.2 130.1 117.4L130.5 117.8C137.1 113.6999999999999 156.2 99.1999999999999 185.3 90.8C209.5 83.8 233.4 84.4999999999999 256.9 94.1C279.6 103.4 297.9 94.6 300 91.2C281.5 87.4 279.9 86.8 276 83.3C270.9 78.9 271.4 71.6 283 66.1C309.2 53.7 346 68.9 380.2 40.7C382.6 38.7 388.3 32.9 390.3 30.0000000000001C390.2 29.8000000000001 390 29.7 389.9000000000001 29.5000000000001C385.1 31.0000000000001 373.5000000000001 37.0000000000001 349.7000000000001 38.8000000000001C325.0000000000001 40.8000000000001 303.4000000000001 33.5000000000001 272.2000000000001 32.6000000000001zM447 284.6C463.4 289.8 488.3 298 513.5 287.9000000000001C529.6 281.4000000000001 539.7 269.2000000000001 545.6 253.3000000000001C549.1 243.9000000000001 550.7 233.6000000000001 550.7 224.6000000000001C550.5 224.6000000000001 550.3000000000001 224.6000000000001 550.1 224.5000000000001C549.9 224.9000000000001 549.7 225.4000000000001 549.6 225.8000000000001C544.6 247.8000000000001 519.7 269.6000000000001 482 255.7000000000001C431.8 237.1000000000001 351.6 246.0000000000001 305.1 303.7000000000001C304.4000000000001 304.6000000000001 302.7000000000001 305.4000000000001 303.8 306.9000000000001C303.9000000000001 307.1 305.9000000000001 306.3000000000001 306.8 305.6C324.9000000000001 292.2000000000001 345.1 283.7000000000001 367.1 279.4000000000001C397.6 273.3000000000001 421.7000000000001 276.5000000000001 447 284.6zM549.7 167.1C517.3000000000001 166.9 515.9000000000001 117 446.1 102.7000000000001C427.9000000000001 99.0000000000001 407.4000000000001 98.1 401.2000000000001 98.5000000000001V98.9C404.0000000000001 100.4 415.9000000000001 101.5000000000001 430.9000000000001 115.5000000000001C438.8 122.8000000000001 446.2000000000001 130.6000000000001 453.7 138.4C473.2 158.6 495.1 180.6 535.6 177.4C558.7 175.6 564.9 169.2000000000001 571.7 164.7000000000001C572 164.5000000000001 572.1 164.2000000000001 572.4000000000001 163.8000000000001C571.9000000000001 163.8000000000001 571.7 163.7000000000001 571.5000000000001 163.8000000000001C564.5000000000001 166.5000000000001 557.2000000000002 167.1000000000001 549.7000000000002 167.1000000000001zM537.4000000000001 191.2000000000001C537.3000000000001 191.0000000000001 537.3000000000001 190.8000000000001 537.2 190.6C508.3000000000001 195 489.2 198.5 468.7 186.6C451.7 176.7000000000001 437.3000000000001 166.1 406.7000000000001 162.2000000000001C379.6 158.8000000000001 361.6 159.8000000000001 340.6 170.2000000000001C340.3 170.4 340 170.6 339.6 170.8000000000001C339.6 171.0000000000001 339.7000000000001 171.1000000000001 339.7000000000001 171.3000000000001C364.6 167.5000000000001 376.1 166.2000000000001 395.2000000000001 177.1000000000001C417.5000000000001 190.0000000000001 435.3000000000001 203.7000000000001 466.5000000000001 208.1000000000001C496.1000000000001 212.2000000000001 517.8000000000001 205.6000000000001 537.4000000000001 191.2000000000001zM268.6 350.7C268 351.3 267.5 351.9 266.5 353C274.1 353 296.2 354.2 319.9 344.6C339.6 336.6 352.1 323.6 370.1 311.7C381.2 304.4 393.5 302.4 406.5 303.6C410.8 304 415 304.8 419.3 305.3C419.7 305.4 420.2 305.3 420.8 305C420.2 304.6 419.6 304.1 419 303.8C410.8999999999999 299.8 402.3 297.5 393.3999999999999 296.7C367.2999999999999 294.1 343.0999999999999 300.4 319.9999999999999 312.1C300.6999999999999 322 283.5999999999999 335 268.5999999999999 350.7zM640 112.3C636.5 109.2 617.3 100.7 597.3 107C585 110.9 577.8 121.9 565.6999999999999 131.1C555.6999999999999 138.7000000000001 544.8 139 537.5999999999999 139.5C538.1999999999999 140.3 538.4999999999999 140.7 538.8 140.9C553.5999999999999 150.1 569.3 153.1 586.0999999999999 147.4C598.5999999999999 143.2 605.3 133.9 616.4999999999999 123.2C627.2999999999998 112.8 637.4999999999999 113.3 639.5999999999999 112.7C639.6999999999999 112.8 639.8 112.7 639.9999999999999 112.3zM427.5 -24.7C429.7 -25.9 429.1 -26.2 429 -26.7C410.5 -25.3 395.1 -19.1 382.2 -4.5C360.4 20.2 340.5 23.4 333.6 25.2C334.1 25.4 334.4 25.6 334.7 25.6C347.8 25.4999999999999 360.8 24.9 373.6 21.7C398.9 15.3 408.6 -3.7 415.2 -13.6C418.4 -18.4 422.5 -21.9 427.5 -24.7z" /> + <glyph glyph-name="phoenix-squadron" + unicode="" + horiz-adv-x="513.52" d=" M96.24 385.19C142.91 421.43 202.15 441.43 261.28 439.92C290.95 440.3 320.57 434.54 348.45 424.55C324.25 429.19 299.27 430.9 274.85 427C231.85 421.65 191.59 399.77 162.69 367.65C168.38 368.64 173.5 371.3300000000001 178.76 373.53C196.95 381.42 216.36 386.82 236.1600000000001 388.4C255.9600000000001 390.54 275.9100000000001 388.83 295.61 386.4700000000001C281.1500000000001 383.68 266.4100000000001 381.89 252.5 376.86C217.97 365.75 187.04 343.6 165.95 314.04C152.11 294.27 142.25 271.05 141.21 246.71C140.86 230.17 146.44 211.8 161.1 202.54C172.23 195.88 185.95 193.15 198.73 195.78C214.22 198.25 228.89 204.45 242.46 212.16C254.01 219 265.19 226.75 274.51 236.48C278.31 239.71 277.05 244.96 277.14 249.31C275.01 249.65 272.74 250.42 270.82 249.01A203.975 203.975 0 0 0 234.89 233.59C214.8199999999999 227.4 192.6099999999999 225.11 172.6099999999999 232.81C185.44 231.08 198.75 232.5 210.4599999999999 238.27C230.7499999999999 248.02 247.38 263.54 265.06 277.15C292.8999999999999 298.44 322.7 317.26 354.23 332.62C380.01 344.63 407.32 355.47 436.04 356.82C420.36 343.06 403.79 330.22 389.12 315.31C374.57 301.27 361.58 285.73 348.89 270C345.36 265.39 339.9099999999999 263.04 335.2699999999999 259.81C313.0299999999999 244.78 294.6699999999999 223.85 283.2299999999999 199.53C273.8699999999999 179.79 268.6799999999999 157.56 271.4199999999999 135.69C273.3699999999999 121.9599999999999 280.1599999999999 108.0199999999999 292.3799999999999 100.68C305.3199999999999 92.6899999999999 321.5199999999999 92.59 335.9899999999999 95.5699999999999C368.8899999999999 103.04 397.5999999999999 124.54 417.2699999999999 151.5699999999999C437.7699999999999 179.17 447.8799999999999 213.9499999999999 446.5199999999999 248.2099999999999C445.9999999999999 255.73 444.9399999999999 263.2099999999999 444.8499999999999 270.76C452.8699999999998 251.22 459.7199999999999 230.93 461.5499999999998 209.75C463.5599999999998 195.43 462.2999999999998 180.91 459.9299999999998 166.73C458.0099999999998 155.71 454.2399999999998 145.15 452.1199999999998 134.1999999999999C472.4799999999998 156.93 486.2899999999998 185.44 491.5799999999998 215.5099999999999C497.2999999999998 250.88 492.1599999999998 287.87 477.3299999999998 320.4599999999999C498.1699999999998 288.3399999999999 509.7599999999998 250.67 513.1399999999999 212.66C513.6399999999999 199.8899999999999 513.6399999999999 187.0799999999999 513.1399999999999 174.3199999999999C510.2299999999998 140.06 500.1699999999998 106.37 483.3799999999999 76.3199999999999C457.1799999999999 28.8399999999999 415.1799999999999 -9.57 365.8399999999999 -32.0000000000001C287.3199999999999 -68.34 190.6399999999999 -63.4100000000001 117.1199999999999 -17.28C78.2799999999999 6.5 46.0599999999999 41.04 25.4399999999999 81.68C10.72 110.57 2.04 142.5 0 174.87V206.3C3.94 276.27 40.99 342.62 96.24 385.19M318.89 304.62C324.4 305.42 329.71 307.19 334.91 309.12C339.9 310.89 344.18 315.07 345.26 320.37C336.35 315.37 327.31 310.42 318.89 304.62z" /> + <glyph glyph-name="php" + unicode="" + horiz-adv-x="640" d=" M320 343.5C491.4 343.5 623.2 271.3 623.2 192S491.3 40.5 320 40.5C148.6 40.5 16.8 112.7 16.8 192S148.7 343.5 320 343.5M320 360.3C143.3 360.3 0 285 0 192S143.3 23.7 320 23.7S640 99 640 192S496.7 360.3 320 360.3zM218.2 205.5C210.3 165 182.4 169.2 148.1 169.2L161.8 239.8C199.8 239.8 225.6 243.9 218.2 205.5zM97.4 97.7H134.1L142.8 142.5C183.9 142.5 209.4 139.5 233 161.6C259.1 185.6 265.9 228.3 247.3 249.7C237.6 260.9 222 266.4 200.8 266.4H130.1L97.4 97.7zM283.1 311.3H319.6L310.9000000000001 266.5C342.4000000000001 266.5 371.6 268.8 385.7000000000001 255.8C400.5000000000001 242.2 393.4000000000001 224.8 377.4000000000001 142.7000000000001H340.4000000000001C355.8 222.1000000000001 358.7000000000001 228.7000000000001 353.1 234.7000000000001C347.7000000000001 240.5000000000001 335.4000000000001 239.3000000000001 305.7000000000001 239.3000000000001L286.9000000000001 142.7000000000001H250.4000000000001L283.1 311.3000000000001zM505 205.5C497 164.4 468.3 169.2 434.9 169.2L448.6 239.8C486.8 239.8 512.4 243.9 504.9999999999999 205.5zM384.2 97.7H421L429.7 142.5C472.9 142.5 496.8 140 519.9 161.6C546 185.6 552.8 228.3 534.1999999999999 249.7C524.4999999999999 260.9 508.8999999999999 266.4 487.6999999999999 266.4H417L384.2 97.7000000000001z" /> + <glyph glyph-name="pied-piper-alt" + unicode="" + horiz-adv-x="576" d=" M242 261C248.3 272.8 255.2 278 267.9 282.8C295.2 293.1 308.1 313.3 326.8 333.9C338.7 325.5 338.8 309.3 358.4 310.9V289.1L364.7 288.8C402.1 303.2 439.4 319 471.3 343.4C519.5999999999999 380.2 524.1999999999999 393.4 552.5999999999999 443.4L554.5999999999999 446C553.9999999999999 431.9 548.3 418.7 542.1999999999999 406.1C511.6999999999999 342.3 463.4999999999999 305.8 395.3999999999999 289.4C383 286.5 369 286.2 357.7999999999999 280.5C359.1999999999999 270.7 370.9999999999999 262.4 370.9999999999999 257.5C370.9999999999999 254.1 365.4999999999999 250.3 363.4999999999999 248.9C352.2999999999999 261.8 347.3999999999999 268.2 340.7999999999999 271C333.1999999999999 274.5 276.8999999999999 277.4 241.9999999999999 261zM379.9 4.1C360.9 4.1 315.8 -5.4 300 -15.7L306.9 -60.8C342.6 -66.9 377 -64.4 412.9 -51C408.1 -41 389.4 4.1 379.9 4.1zM244 202C240.8 204 237.7 204.9 233.9 204.9C227.3 204.9 221.3 201.7 214.6 201.2L216.3 196.3L244 202zM231.4 170.2L255.5 109L276.5 122.8L245.2 173.7L231.4 170.2zM555.5 448L554.9 446.9L554.6 446L555.2 446.6L555.5 448zM496.3 65.9C462.4 122.8 421 184.3 346.3 181.4L346 187.4C344.9 200.9 378.8 184.2 381.1 218.4L366.7000000000001 211.2C346.9000000000001 256.9 358.1 265.5 301.2000000000001 265.5C286.5000000000001 265.5 274.5000000000001 263.8 259.8000000000001 260.9C262.7000000000001 242.3 262.0000000000001 224.2 248.9000000000001 210.6L268.4000000000001 205.1C266.7000000000001 201.9 265.5000000000001 198.8 265.5000000000001 195.3C265.5000000000001 174.3 308.3000000000002 192.4 308.3000000000002 161.7C308.3000000000002 143.3 271.5000000000001 101.6 253.4000000000001 101.6C245.4000000000001 101.6 199.7000000000001 151.6 200.0000000000001 161.7L200.3000000000001 166.3L252.6000000000002 177.8C265.6000000000002 180.4 264.9000000000002 200.5 249.7000000000002 200.5C246.0000000000002 200.5 206.6000000000001 191.3 200.3000000000001 189.9C198.3000000000001 195.1 192.8000000000001 204 186.5000000000001 204C183.3000000000001 204 180.2000000000001 200.8 177.0000000000001 200C167.8000000000001 197.4 146.0000000000001 197.1 155.5000000000001 179.9L15.9 149.5C10.4 148.4 7 143.2 7 137.7C7 131.7 12.5 126.8 18.5 126.8C26.5 126.8 149.8 155.2 165.9 159C168.5 155.8 170.5 152.7 173.7 150.4C193.8 136 233.5 64.5 250.1 64.5C274.2000000000001 64.5 308.1 86.9 321.4000000000001 106.4C324.6 110.7 328.3 113.9 333.8 113.3C334.4000000000001 99.4999999999999 302.2 79.1 300.8 69.6C299.4000000000001 59.4 299.8 34.4 300.5 28.4999999999999C327.2 20.3999999999999 352.5 32.1 378.4 31.3999999999999C382.7 52.3999999999999 389 73.2999999999999 388.2 94.8999999999999L387.9 104.3999999999999C386.5 138.5999999999999 377 142.8999999999999 353.1 163C352 164.1 350.5 165.6 349.4 167C351.6 168.3999999999999 350.5 168 354 168.6999999999999C442.5 168.6999999999999 410.3 -14.9000000000001 465.5 -61.2C498.6 -46.2 538 -33.3000000000001 569 -14.0000000000001C540 11.6 516.4 31.6999999999999 496.3 65.9zM300.1 19.9V-7.4L311.9000000000001 -4.0000000000001L309.0000000000001 19.8H300.1000000000001zM376.2000000000001 17C376.2000000000001 18.4 375.6 20.2 375.3000000000001 21.6C348.5000000000001 21.6 338.4000000000001 17.8 315.8000000000001 15.3L317.8000000000001 2.9C326.8000000000001 4.4 376.2000000000001 9.5000000000001 376.2000000000001 17.0000000000001z" /> + <glyph glyph-name="pied-piper-hat" + unicode="" + horiz-adv-x="640" d=" M640 423.1C559.2 369.5 550.6 330.6 543.6 318.7C536.9 306.5 531.9 258.4 520.3000000000001 235.1C508.6000000000001 211.5 466.1000000000001 192.9 454.2 185.1C442.5000000000001 177.3 425.9000000000001 147 412.3000000000001 120.9C304.2000000000001 125.3 244.9000000000001 82.1 153.1000000000001 27.3000000000001C182.5000000000001 37.0000000000001 196.4000000000001 44.0000000000001 196.4000000000001 44.0000000000001C290.6000000000001 80.0000000000001 335.7000000000001 112.3000000000001 477.5000000000001 93.2000000000001C478.6000000000001 93.2000000000001 479.4000000000001 92.6 480.3000000000001 92.4C484.2000000000001 90.2000000000001 485.6000000000001 85.5000000000001 483.4000000000001 81.6L429.5000000000002 -14.2C427.0000000000002 -18.9 421.7000000000002 -21.4 416.4000000000002 -20.3C289.6000000000002 3.5 189.5000000000002 -37.6 97.5000000000002 -38.9C24.1 -40 0 -5.4 0 -3.8C0 -2.7 0.6 -2.1 1.7 -2.1C1.7 -2.1 40 -2.1 104.8 13.2C178.4 153.5 244 202.6 315.4 202.6C315.4 202.6 387.1 202.6 406 140.7C428.8 180.4 434.3 189.9 434.3 189.9C439.6 199.3 469.3 267.1 520.7 331.3C572.2 395.3 611.1 411.2 640 423.1z" /> + <glyph glyph-name="pied-piper-pp" + unicode="" + horiz-adv-x="448" d=" M205.3 273.4C205.3 252.3 191.1 235.3 173.6 235.3C166.5 235.3 160.8 236.5 156.4 239V307C160.8000000000001 309.7 166.5 311.2 173.6 311.2C191.1 311.2 205.3 294.3 205.3 273.4zM257.9000000000001 206.4C250.8000000000001 206.4 245.1 204.9 240.7000000000001 202.2V134.2000000000001C245.1000000000001 131.7000000000001 250.8000000000001 130.5000000000001 257.9000000000001 130.5000000000001C275.3 130.5000000000001 289.6 147.4 289.6 168.3000000000001C289.6 189.4000000000001 275.3 206.4000000000001 257.9000000000001 206.4000000000001zM448 368V16C448 -10.5 426.5 -32 400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368zM185 192.9C226 192.9 259.2 228.5 259.2 272.5C259.2 316.5 226 352.1 185 352.1C173 352.1 160.9 348.9 150.4 343.3H104.7V137L156.5 147.1V197.7C165.1 194.6 174.6 192.9 185 192.9zM343.4 167.6C343.4 211.6 310.2 247.2 269.5 247.2C266.3 247.2 263.1 247.0000000000001 259.9 246.5000000000001C256.2 234.0000000000001 249.8 222.7 240.7 213.1C226.9 198.1 208.5 189.3 188.9 188.3V32L240.7 42.1V92.7000000000001C249.3 89.5000000000001 258.9 88.0000000000001 269.4 88.0000000000001C310.2 88.0000000000001 343.4 123.6000000000001 343.4 167.6z" /> + <glyph glyph-name="pied-piper" + unicode="" + horiz-adv-x="448" d=" M32 29L0 -31.2L0.8 296.8C0.8 362.7 54 416 120 416H447.2C354.2 387.1 257.3 321.8 193.3 247.4C122.7 166 82.6 110 32 29M448 416S305.2 349.2 261.6 248.9C238.4000000000001 195.3 232.7 130.8 190.6 90.3C161.7 62.5 120.8 52.1 85.3 34C62.1 22 18.9 -6.5 0.4 -32H328.8C394.8 -32 448.1 21.3 448.1 87.2C448 87.2 448 416 448 416z" /> + <glyph glyph-name="pinterest-p" + unicode="" + horiz-adv-x="384" d=" M204 441.5C101.4 441.5 0 373.1 0 262.4C0 192 39.6 152 63.6 152C73.5 152 79.2 179.6 79.2 187.4C79.2 196.7 55.5 216.5 55.5 255.2C55.5 335.6 116.7 392.6 195.9 392.6C264 392.6 314.4 353.9 314.4 282.8C314.4 229.7 293.1 130.1 224.1 130.1C199.2 130.1 177.9 148.1 177.9 173.9C177.9 211.7000000000001 204.3 248.3000000000001 204.3 287.3000000000001C204.3 353.5000000000001 110.4 341.5000000000001 110.4 261.5C110.4 244.7 112.5 226.1 120 210.8C106.2 151.4 78 62.9 78 1.7C78 -17.1999999999999 80.7 -35.8 82.5 -54.6999999999999C85.9 -58.4999999999999 84.2 -58.0999999999999 89.4 -56.1999999999999C139.8 12.8000000000001 138 26.3000000000001 160.8 116.6000000000001C173.1 93.2000000000001 204.9 80.6000000000001 230.1 80.6000000000001C336.3 80.6000000000001 384 184.1000000000001 384 277.4000000000001C384 376.7 298.2 441.5 204 441.5z" /> + <glyph glyph-name="pinterest-square" + unicode="" + horiz-adv-x="448" d=" M448 368V16C448 -10.5 426.5 -32 400 -32H154.4C164.2 -15.6 176.8 8 181.8 27.3C184.8 38.8 197.1 85.7 197.1 85.7C205.1 70.4 228.5000000000001 57.5 253.4000000000001 57.5C327.5 57.5 380.8000000000001 125.6 380.8000000000001 210.2C380.8000000000001 291.3 314.6000000000001 352 229.4000000000001 352C123.4000000000001 352 67.2000000000001 280.9 67.2000000000001 203.4C67.2000000000001 167.4 86.4000000000001 122.6 117.0000000000001 108.3C121.7000000000001 106.1 124.1000000000001 107.1 125.2000000000001 111.6C126.0000000000001 115 130.2000000000001 131.7000000000001 132.0000000000001 139.4C132.6000000000001 141.9 132.3000000000001 144.0000000000001 130.3000000000001 146.4C120.2000000000001 158.7000000000001 112.0000000000001 181.3 112.0000000000001 202.4C112.0000000000001 256.6 153.0000000000001 309 222.9000000000001 309C283.2000000000001 309 325.5000000000001 267.9000000000001 325.5000000000001 209.1C325.5000000000001 142.7000000000001 292.0000000000001 96.7000000000001 248.3000000000002 96.7000000000001C224.2000000000001 96.7000000000001 206.2000000000001 116.6 211.9000000000001 141.1C218.8000000000001 170.3 232.2000000000002 201.8 232.2000000000002 222.9C232.2000000000002 275.9000000000001 156.7000000000001 268.6 156.7000000000001 197.9C156.7000000000001 176.2000000000001 164.0000000000002 161.4 164.0000000000002 161.4C132.6000000000001 28.6 127.9000000000002 26.9 134.4000000000002 -31.1999999999999L136.6000000000001 -31.9999999999999H48C21.5 -31.9999999999999 0 -10.4999999999999 0 16.0000000000001V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368z" /> + <glyph glyph-name="pinterest" + unicode="" + horiz-adv-x="496" d=" M496 192C496 55 385 -56 248 -56C222.4 -56 197.8 -52.1 174.6 -44.9C184.7 -28.4 199.8 -1.4 205.4 20.1C208.4 31.7 220.8 79.1 220.8 79.1C228.9 63.7000000000001 252.5 50.6 277.6 50.6C352.4000000000001 50.6 406.3 119.4 406.3 204.9C406.3 286.8000000000001 339.4 348.1 253.4 348.1C146.4 348.1 89.5 276.3 89.5 198C89.5 161.6 108.9 116.3 139.8 101.9C144.5 99.7000000000001 147 100.7000000000001 148.1 105.2000000000001C148.9 108.6 153.1 125.5000000000001 155 133.3000000000001C155.6 135.8000000000001 155.3000000000001 138.0000000000001 153.3000000000001 140.4000000000001C143.2000000000001 152.9000000000001 135 175.7000000000001 135 197.0000000000001C135 251.7000000000001 176.4 304.6000000000001 247.0000000000001 304.6000000000001C307.9000000000001 304.6000000000001 350.6 263.1000000000001 350.6 203.7000000000001C350.6 136.6000000000001 316.7000000000001 90.1000000000001 272.6 90.1000000000001C248.3 90.1000000000001 230.0000000000001 110.2000000000001 235.9000000000001 134.9000000000001C242.9000000000001 164.4000000000001 256.4000000000001 196.2000000000001 256.4000000000001 217.5000000000001C256.4000000000001 236.5000000000001 246.2000000000001 252.4000000000001 225 252.4000000000001C200.1 252.4000000000001 180.1 226.7000000000001 180.1 192.2000000000001C180.1 170.2000000000001 187.5 155.4000000000001 187.5 155.4000000000001S163 51.6000000000001 158.5 32.2000000000001C153.5 10.8000000000001 155.5 -19.3999999999999 157.6 -38.9999999999999C65.4 -2.9 0 86.9 0 192C0 329 111 440 248 440S496 329 496 192z" /> + <glyph glyph-name="playstation" + unicode="" + horiz-adv-x="576" d=" M570.9 75.7C559.6 61.5 532.1 51.4 532.1 51.4L327 -22.2V32.1L477.9 85.9C495 92.0000000000001 497.7 100.7000000000001 483.7 105.3C469.8 109.9 444.6 108.6 427.5 102.4L327 66.9V123.3C350.2 131.1 374.1 136.9 402.7 140.1C443.6 144.6 493.6 139.5 532.9 124.6C577.1 110.6 582.1 89.9 570.9 75.7zM346.5 168.2V307.2C346.5 323.5 343.5 338.5 328.2 342.8C316.5 346.6 309.2 335.7 309.2 319.4V-28.5L215.4 1.3V416C255.3 408.6 313.4 391.1 344.6 380.6C424.1 353.3 451 319.3 451 242.8C451 168.3 405 140 346.5 168.2000000000001zM43.2 37.8C-2.2 50.6 -9.8 77.3 10.9 92.6C30 106.8 62.6 117.5 62.6 117.5L197.1 165.3V110.8L100.3 76.2C83.2 70.1 80.6 61.4 94.5 56.8C108.4 52.2 133.6 53.5 150.7000000000001 59.7L197.1000000000001 76.6V27.8C145.5000000000001 18.4999999999999 95.7000000000001 20.4999999999999 43.2 37.8z" /> + <glyph glyph-name="product-hunt" + unicode="" + horiz-adv-x="512" d=" M326.3 229.2C326.3 208.7 309.6 192 289.1 192H218.8V266.4H289.1C309.6 266.4 326.3 249.7 326.3 229.2zM504 192C504 55 393 -56 256 -56S8 55 8 192S119 440 256 440S504 329 504 192zM375.9 229.2C375.9 277.1 337 316 289.1 316H169.2V68H218.8V142.4H289.1C337 142.4 375.9 181.3 375.9 229.2z" /> + <glyph glyph-name="pushed" + unicode="" + horiz-adv-x="432" d=" M407 336.1L308.5 345.1L322.5 378.5C332.9 402 311.7 418.9 293.8 415.5L22.5 371.1C7.4 368.4 -3.5 352.8 1.1 334.5L106.2 -13.8C112.7 -35.1 142.9 -38 153.9 -20.8L189.2 60L424.4 291.3C440.8 308.1 428.7 334.2000000000001 407 336.1zM297.6 394.4C302.7000000000001 395.1 305.1 391.9 302.8 387L286 347.1L108.6 363.4L297.6 394.4zM22.7 340.1C19.6 345.2 23.7 350.1 28.8 349.2L277.5 326.5L180.6 95.8L22.7 340.1zM136 -8.4C133.4 -12.4 128.1 -11.5 126.6 -7.2L43.5 268.3L171.2 70.7000000000001C164.2 55.7 136 -8.4 136 -8.4zM408.8 306.1L210.1 110.7L299.8 324.4L406.2000000000001 314.7C410.2000000000001 313.6 411.9000000000001 309.4 408.8000000000001 306.1z" /> + <glyph glyph-name="python" + unicode="" + horiz-adv-x="448" d=" M167.8 411.6C122.6 403.6 114.4 386.9 114.4 356V315.3H221.3V301.7000000000001H74.3C43.2 301.7000000000001 16 283 7.5 247.5C-2.3 206.8 -2.7 181.4 7.5 138.9C15.1 107.3 33.2 84.7 64.3 84.7H101V133.5C101 168.8 131.5 199.9 167.8 199.9H274.6C304.3 199.9 328 224.4 328 254.2V356.1C328 385.1 303.6 406.8 274.6 411.7C238.8 417.6 199.9 417.3 167.8 411.6zM161.1 383.2C172.1 383.2 181.2 374 181.2 362.8S172.2 342.5 161.1 342.5C150 342.5 141 351.6 141 362.8C141.1 374.1 150 383.2000000000001 161.1 383.2000000000001zM346.3 301.8V254.3C346.3 217.5 315.1 186.5 279.5 186.5H172.7C143.5 186.5 119.3 161.5 119.3 132.2V30.4C119.3 1.4 144.5 -15.6 172.7 -23.9C206.5 -33.8 239 -35.6 279.5 -23.9C306.4 -16.1 332.9 -0.4 332.9 30.4V71.1H226.2V84.7H386.4C417.5 84.7 429 106.4 439.8 138.9C450.9999999999999 172.4 450.4999999999999 204.6 439.8 247.5C432.1 278.4 417.5 301.7 386.4 301.7H346.3zM286.2 44C297.3 44 306.3 34.9 306.3 23.7C306.3 12.4 297.3 3.3 286.2 3.3C275.2 3.3 266.1 12.5 266.1 23.7C266.2 35 275.2 44 286.2 44z" /> + <glyph glyph-name="qq" + unicode="" + horiz-adv-x="448" d=" M433.754 27.555C422.228 26.162 388.894 80.296 388.894 80.296C388.894 48.951 372.758 8.049 337.843 -21.49C354.685 -26.682 392.6860000000001 -40.657 383.646 -55.911C376.3300000000001 -68.254 258.136 -63.792 224.014 -59.948C189.892 -63.792 71.698 -68.254 64.382 -55.911C55.337 -40.661 93.3 -26.697 110.165 -21.496C75.245 8.043 59.106 48.949 59.106 80.2960000000001C59.106 80.2960000000001 25.772 26.162 14.247 27.5550000000001C8.877 28.205 1.823 57.1990000000001 23.594 127.2590000000001C33.855 160.2830000000001 45.589 187.7370000000001 63.738 233.0380000000001C60.683 349.937 108.982 447.9940000000001 224 448C337.737 447.9940000000001 387.156 351.867 384.264 233.037C402.382 187.814 414.176 160.187 424.408 127.259C446.1760000000001 57.199 439.124 28.206 433.754 27.555z" /> + <glyph glyph-name="quinscape" + unicode="" + horiz-adv-x="489.1" d=" M301.9 -26.6H300.6C213.3 -26.6 142.5 44.2 142.5 131.5S213.3 289.6 300.6 289.6C395.5 289.6 468.8 206.5 457.6 113C461.6 107.9 465.8 103.4 468.8 97.7C482.1999999999999 128 489.1 160.1 489.1 195.4C489.1 330.5 379.6 440 244.5 440C109.5 440 0 330.5 0 195.4S109.5 -49.2 244.5 -49.2C269.3 -49.2 292.3 -46 314.9 -39.1C309.7 -35.6 305.9 -30.9 301.5 -26.4999999999999L301.9 -26.6zM280.7 43.2C280.7 98 325.1 142.4 379.9 142.4C434.7 142.4 479.1 98 479.1 43.2C479.1 -11.6 434.7 -56 379.9 -56C325.1 -56 280.7 -11.6 280.7 43.2" /> + <glyph glyph-name="quora" + unicode="" + horiz-adv-x="448" d=" M440.5 61.3H411.2C409.7 47.8 400.7 30.5 378.2 30.5C357.7 30.5 342.9 44.7 328.7 66.3C372.9 100.5 403.4 153.8 403.4 219.3C403.5 336.8 306.8 416 205 416C105.3 416 7.3 336.3 7.3 219.3C7.3 85.2000000000001 138.6 -2.3 256.3 30.3C276 -3.3 302 -32 351.5 -32C433.3 -32 442.3 43.3 440.5 61.3zM297 118.8C277.5 148 253.3 171 205.5 171C175 171 151.2 161 136.5 148.2L148.7 123.9C154.9 126.9 161.7 127.9 168.5 127.9C204 127.9 222.2 97.1 237.7 66.6C227.7 63.6 217 62.4 205 62.4C130 62.4 97.5 115.4 97.5 219.1C97.5 323.5 130 377 205 377C281.2 377 313.7 323.5 313.7 219.3C313.8 177.5 308.3 143.7000000000001 297 118.8z" /> + <glyph glyph-name="r-project" + unicode="" + horiz-adv-x="581" d=" M581 221.4C581 328.9 450.9 416 290.5 416S0 328.9 0 221.4C0 125.6 103.3 46 239.4 29.9V-32H338.5V29.5C362.8 32.2 386.1 36.9 407.9 43.4L448 -32H560L492.6 81.7C547.1 117.1 581 166.6 581 221.4zM114.2 206.9C114.2 280.4 213.1 339.9 335 339.9S546.9 299.2 546.9 206.9C546.9 156.8 520.4 121.9 476.6 100.5C474.2 102.1 471.9 103.4 470.2 104.2C460 109.4 442.4 114.7 442.4 114.7S529 121.1 529 207.4S438.4 295.3 438.4 295.3H239.4V87C165.3 108.5 114.2 154.1 114.2 206.9zM339.3 168.6V224.2C397.1 224.2 427.1 231.0000000000001 427.1 196.9C427.1 160.4 388.9 168.6 339.3 168.6zM338.4 96.1H365C375.8 96.1 383.9 84.4 389 76.9C372.9 75.0000000000001 356 74.1 338.4 74.0000000000001V96.1000000000001z" /> + <glyph glyph-name="ravelry" + unicode="" + horiz-adv-x="512" d=" M407.4 386.5C331.6 425.9 257.8 417 182.9 382C171.6 376.8 167.4 371.4 163 363C152.7 343.8 146.8 325.6 143.1 310.3C121.9 284.7000000000001 106.7 254.2 99.8 220.4C89.2 202.4 78.9 179 76.7 149C76.7 149 76 141.4 76.2 141.1C40.9 145.7000000000001 0 168.1 0 168.1C9.1 153.6 61.3 135.8 76.3 130.2000000000001C76.3 130.2000000000001 78 32.2 140.8 -0.9999999999999C129.5 16.2 127.5 19.2 127.5 19.2S94.8 79 100.4 123.3C101.1 123.3 101.9 123.1 102.6 123.1C126.5 35.7 205.8 -28.3 299.5 -28.3C305.7 -28.3 311.6 -28.1 317.5 -27.6C331.5 -29.1 345.1 -28.1 357.6 -23.7C364.5 -21.5 371.4000000000001 -17.3 377.8 -12.9C448 26.2 478.7 69.1 500.9 134.8C506.3 150.8 509 170.3 510.7 187C519.4 269.3 480.1 348.6 407.4 386.5zM138.8 284.8S137.6 272.5 138.1 265.1C134.7 262.6 128 257 119.9 248.4000000000001C125.1 261.2000000000001 131.2 273.5 138.8 284.8000000000001zM107.6 162.9C112 180.1 120.9 202 137.4 218C137.4 218 139.1 170 153.2 127.9L111.8 134.8C109.6 144 108.3 153.3 107.6 162.9zM115.5 120.1C130.3 116.9 149.5 112.4999999999999 158.6 110.9999999999999C185.9 34.1999999999999 266.9000000000001 -13.3000000000001 266.9000000000001 -13.3000000000001C267.9000000000001 -13.8000000000001 268.6 -14.0000000000001 269.6 -14.3000000000001C196.5 -2.7 136.9 50.3999999999999 115.5 120.0999999999999zM386 3.9C371.5 -0.8 349.8 -4.5 321.3 0.2C321.3 0.2 230.2 23.3 193.8 108C232 107.3 246.2 108.2 271.8 111.9C311.2 117.6 350.8 128.1 386.8 144.9C398.6 150.3 397.9000000000001 164.3 396.4000000000001 174.7C394.4000000000001 187.5 385.3 186.8 375.0000000000001 179.4C375.0000000000001 179.4 293.0000000000001 120.8 185.2000000000001 125.7C166.5000000000001 157.7 158.4 236.5 158.4 236.5C199.8000000000001 271.7 241.6 296.1 326.8000000000001 288.9C327.0000000000001 295.3 329.8000000000001 316 306.4000000000001 317C306.4000000000001 317 212.9000000000001 328.1 160.4000000000001 283.5C162.9000000000001 300 166.3000000000001 312.8 171.5000000000001 322.9C205.7000000000001 353.7 250.5000000000001 372.4 299.8000000000001 372.4C406.2000000000001 372.4 492.8000000000001 285.3 492.8000000000001 177.9C492.6000000000001 101.9 449.0000000000001 35.9 386.0000000000001 3.9z" /> + <glyph glyph-name="react" + unicode="" + horiz-adv-x="512" d=" M418.2 270.8C412.8 272.6 407.4 274.3 402 275.9C402.9 279.6 403.7 283.3 404.5 287C416.8 346.6 408.7 394.5 381.4 410.3C355.1 425.4 312.2 409.7 268.8 371.9C264.5 368.2 260.3 364.3 256.3 360.4C253.6 363 250.8 365.6 248 368.1C202.5 408.5 156.9 425.5 129.5999999999999 409.6C103.3999999999999 394.4 95.5999999999999 349.3 106.5999999999999 292.9C107.6999999999999 287.3 108.8999999999999 281.8 110.2999999999999 276.2000000000001C103.8999999999999 274.4 97.5999999999999 272.4 91.6999999999999 270.3C38.3 251.8 0 222.6 0 192.4C0 161.2 40.8 129.9 96.3 110.9C100.8 109.4 105.3 107.9 109.9 106.6C108.4 100.6 107.1 94.7 105.9 88.6C95.4 33.1 103.6 -10.9 129.8 -26C156.8 -41.6 202.2 -25.6 246.4 13.1C249.9 16.2 253.4 19.4 256.9 22.8C261.3 18.5 265.9 14.4 270.5 10.4C313.3 -26.4 355.6 -41.3 381.7 -26.2C408.7 -10.6 417.5 36.7 406.1 94.3C405.2 98.7 404.2 103.2 403.1 107.8C406.3 108.7 409.4 109.7 412.5 110.7C470.1999999999999 129.8 511.9999999999999 160.7 511.9999999999999 192.4C511.9999999999999 222.7 472.6 252.1 418.2 270.8zM282.9 355.7C320.1 388.1 354.8 400.8 370.6 391.7C387.5 382 394 342.8 383.4 291.3C382.7 287.9 382 284.6 381.1 281.3C358.9 286.3 336.4 289.9 313.8 291.9C300.8 310.5 286.6 328.3 271.2 345C275.0999999999999 348.7 278.8999999999999 352.2 282.8999999999999 355.7zM152.9 166.6C157.5 157.8 162.2 149.1 167.2 140.5C172.3 131.8 177.5 123.1 183 114.6C167.4 116.3 151.9 118.8 136.6 122.1C141 136.5 146.5 151.4 152.9 166.6zM152.9 217.2C146.6 232.1 141.3 246.7 136.9 260.8C151.3 264 166.6 266.6 182.5 268.6C177.2 260.3 172 251.8 167.1 243.2C162.2 234.7 157.4 226.0000000000001 152.9 217.2zM164.3 191.9C170.9 205.7000000000001 178.1 219.2000000000001 185.7 232.5000000000001C193.3 245.8000000000001 201.5 258.7000000000001 210.1 271.4000000000001C225.1 272.5 240.4 273.1 256 273.1C271.6 273.1 287 272.5 301.9 271.4000000000001C310.4 258.8000000000001 318.5 245.9000000000001 326.2 232.7000000000001C333.9 219.5000000000001 341.1 206.0000000000001 347.9 192.3000000000001C341.2 178.5000000000001 334 164.9 326.3 151.5000000000001C318.7 138.2000000000001 310.6 125.3000000000001 302.1 112.5000000000001C287.2 111.4 271.7 110.9 256 110.9C240.3 110.9 225.1 111.4 210.4 112.3C201.7 125 193.5 138 185.8 151.3C178.1 164.6 171 178.1 164.3 191.9zM344.9 140.7000000000001C350 149.5000000000001 354.8 158.4 359.5 167.4C365.9 152.9 371.5 138.2000000000001 376.4 123.1C360.9 119.6 345.2 116.9 329.4 115.1C334.8 123.5 339.9 132.1 344.9 140.7000000000001zM359.3 217.2000000000001C354.6 226.0000000000001 349.8 234.8000000000001 344.8 243.4000000000001C339.9 251.9000000000001 334.8 260.3000000000001 329.5 268.6C345.6 266.6 361 263.9000000000001 375.3999999999999 260.6C370.7999999999999 245.8 365.3999999999999 231.4000000000001 359.2999999999999 217.2zM256.2 329.7C266.7 318.3 276.6 306.3 285.8 293.9C266 294.8 246.1 294.8 226.3 293.9C236.1 306.8 246.2 318.8 256.2 329.7zM140.2 391C157 400.8 194.3 386.8 233.6 352C236.1 349.8 238.6 347.4 241.2 345C225.7 328.3 211.4 310.5 198.3 291.9C175.7 289.9 153.3 286.4 131.1 281.5C129.8 286.6 128.7 291.8 127.6 297C118.2 345.4 124.4 381.9 140.2 391zM115.7 127.4C111.5 128.6 107.4 129.9 103.3 131.3C82 138 57.8 148.6 40.3 162.5C30.2 169.5 23.4 180.3 21.5 192.4C21.5 210.7 53.1 234.1 98.7 250C104.4 252 110.2 253.8 116 255.5C122.8 233.8 131 212.5 140.5 191.8999999999999C130.9 171 122.6 149.3999999999999 115.7 127.3999999999999zM232.3 29.4C215.8 14.3 196.7 2.3 175.9 -5.9C164.8 -11.2 152 -11.7 140.6 -7.2C124.7 1.9999999999999 118.1 37.3 127.1 84.8C128.2 90.4 129.4 95.9999999999999 130.8 101.4999999999999C153.2 96.6999999999999 175.8 93.3999999999999 198.7 91.6999999999999C211.9 72.9999999999999 226.4 55.0999999999999 241.9 38.3C238.7 35.1999999999999 235.5 32.1999999999999 232.3 29.4zM256.8 53.7C246.6 64.7 236.4 76.9 226.5 90C236.1 89.6 246 89.4 256 89.4C266.3 89.4 276.3999999999999 89.6 286.3999999999999 90.1C277.2 77.4 267.2999999999999 65.3 256.7999999999999 53.7zM387.5 23.7C386.6 11.5 380.6 0.1 371 -7.6C355.1 -16.8 321.2 -4.8 284.5999999999999 26.6C280.3999999999999 30.2 276.2 34.1 271.8999999999999 38.1C287.2 54.9999999999999 301.2999999999999 72.9 314.0999999999999 91.7C336.9999999999999 93.6 359.7999999999999 97.1 382.2999999999999 102.2C383.2999999999999 98.1 384.1999999999999 94 384.9999999999999 90C389.8999999999999 68.4 390.6999999999999 45.9 387.4999999999999 23.7zM405.7 131.2C402.8999999999999 130.3 400.0999999999999 129.4 397.2 128.6C390.2 150.4 381.5999999999999 171.7 371.7 192.4C381.3 212.8 389.3999999999999 233.8 396.2 255.3C401.3999999999999 253.8 406.3999999999999 252.2 411.2 250.6C457.8 234.6 490.4999999999999 210.8 490.4999999999999 192.6C490.4999999999999 173 455.6 147.7 405.7 131.2zM256 237.8C281.3 237.8 301.8 217.3 301.8 192C301.8 166.7 281.3 146.2 256 146.2C230.7 146.2 210.2 166.7 210.2 192C210.2 217.3 230.7 237.8 256 237.8" /> + <glyph glyph-name="readme" + unicode="" + horiz-adv-x="576" d=" M528.3 401.5H388.5C340.4 401.5 298.6 368.2 288.1 321.2C277.5 368.2 235.8 401.5 187.7 401.5H48C21.5 401.5 0 380 0 353.5V107.7C0 81.2 21.5 59.7 48 59.7H137.7C239.9 59.7 270.4 35.3 285 -15.3C285.7 -18.1 290.2 -18.1 291 -15.3C305.7 35.3 336.2 59.7 438.3 59.7H528C554.5 59.7 576 81.2 576 107.7V353.4C576 379.8 554.7 401.3 528.3 401.5zM242 136.1C242 134.2000000000001 240.5 132.6 238.5 132.6H78.2C76.3 132.6 74.7 134.1 74.7 136.1V159C74.7 160.9 76.2 162.5 78.2 162.5H238.6C240.5000000000001 162.5 242.1 161 242.1 159V136.1zM242 197C242 195.1 240.5 193.5 238.5 193.5H78.2C76.3 193.5 74.7 195 74.7 197V219.9C74.7 221.8000000000001 76.2 223.4 78.2 223.4H238.6C240.5000000000001 223.4 242.1 221.9 242.1 219.9V197zM242 257.9000000000001C242 256 240.5 254.4000000000001 238.5 254.4000000000001H78.2C76.3 254.4000000000001 74.7 255.9000000000001 74.7 257.9000000000001V280.8000000000001C74.7 282.7000000000001 76.2 284.3000000000001 78.2 284.3000000000001H238.6C240.5000000000001 284.3000000000001 242.1 282.8000000000001 242.1 280.8000000000001V257.9000000000001zM501.3 136.2000000000001C501.3 134.3000000000001 499.8 132.7000000000001 497.8 132.7000000000001H337.5C335.6 132.7000000000001 334 134.2000000000001 334 136.2000000000001V159.1C334 161 335.5 162.6 337.5 162.6H497.9C499.8 162.6 501.4 161.1 501.4 159.1V136.2000000000001zM501.3 197.1000000000001C501.3 195.2000000000001 499.8 193.6000000000001 497.8 193.6000000000001H337.5C335.6 193.6000000000001 334 195.1000000000001 334 197.1000000000001V220C334 221.9 335.5 223.5 337.5 223.5H497.9C499.8 223.5 501.4 222 501.4 220V197.1zM501.3 258.0000000000001C501.3 256.1 499.8 254.5000000000001 497.8 254.5000000000001H337.5C335.6 254.5000000000001 334 256.0000000000001 334 258.0000000000001V280.8000000000001C334 282.7000000000001 335.5 284.3000000000001 337.5 284.3000000000001H497.9C499.8 284.3000000000001 501.4 282.8000000000001 501.4 280.8000000000001V258z" /> + <glyph glyph-name="rebel" + unicode="" + horiz-adv-x="512" d=" M256.5 -56C117.2 -56 9 60.2 13.2 198.1C16 277.3 56.4 350.3 129.7 398.5C130 398.5 131.6 399.1 130.8 397.7C125 392.2 19.5 267.9 116.7 171.3C166.5 121.8 206.7 168.8 206.7 168.8C245.2 218.9 206.1 294.7000000000001 206.1 294.7000000000001C196.1 319.6 160.4 334.8 160.4 334.8L189.2 366.6C213.6 356.1 232.4 327.9 232.4 327.9C233.2 357.5 210.5 389.3 210.5 389.3L255.1 440L299.4 389.9C278.9 361.1 277.5 327.3 277.5 327.3C291.3 350.3 321 366.6 321 366.6L349.5 334.8C322.1 325.9 304.1 294.9 304.1 294.9C288.3 266.4 277 205.5 304.7000000000001 167.6C337.1 123 392.4000000000001 170.4 392.4000000000001 170.4C495.1 262.3000000000001 381.9000000000001 395.4000000000001 381.9000000000001 395.4000000000001C375.8 400.9000000000001 382.7000000000001 398.2000000000001 382.7000000000001 398.2000000000001C432.8000000000001 361.7000000000001 497.3000000000001 313.8 498.9 193.4C500.9 47.8 399 -56 256.5 -56z" /> + <glyph glyph-name="red-river" + unicode="" + horiz-adv-x="448" d=" M353.2 416H94.8C42.4 416 0 373.6 0 321.2V62.8C0 10.4 42.4 -32 94.8 -32H353.2C405.6 -32 448 10.4 448 62.8V321.2C448 373.6 405.6 416 353.2 416zM144.9 247.1V190.8C144.9 163.8 123 141.9 96 141.9V296.1C96 309.3 106.7 320 119.9 320H274.1C274.1 293 252.2 271.1 225.2 271.1H168.9C156.6 271.7 144.3000000000001 259.5 144.9 247.1zM321.2000000000001 175.1H264.9000000000001C252.6 175.7000000000001 240.3000000000001 163.5 240.9000000000001 151.1V94.8C240.9000000000001 67.8 219 45.9 192 45.9V200.1C192 213.3 202.7 224 215.9 224H370.1C370.1 197 348.2000000000001 175.1 321.2000000000001 175.1z" /> + <glyph glyph-name="reddit-alien" + unicode="" + horiz-adv-x="512" d=" M440.3 244.5C425.3 244.5 412.1 238.3 402.4000000000001 228.6C366.7000000000001 253.3 318.6 269.2 265.3000000000001 270.9L293 395.7L381.2 375.9C381.2 354.3 398.8 336.7 420.4 336.7C442.4 336.7 460.1 354.8 460.1 376.4S442.5 416.1 420.4 416.1C405 416.1 391.7 406.8 385.1 394.1L287.7 415.7C282.8 417 278 413.5 276.7 408.6L246.3 271C193.4 268.8 145.8 252.9 110 228.2C100.3 238.3 86.6 244.5 71.6 244.5C16 244.5 -2.2 169.9 48.7 144.4C46.9 136.5 46.1 128.1 46.1 119.7C46.1 35.9 140.5 -32 256.4 -32C372.8 -32 467.2 35.9 467.2 119.7C467.2 128.1 466.3 136.9 464.1 144.8C514 170.4 495.6 244.5 440.3 244.5zM129.4 139.1C129.4 161.1 147 178.8 169.1 178.8C190.7 178.8 208.3 161.2 208.3 139.1C208.3 117.5 190.7 99.9 169.1 99.9C147.1 99.8 129.4 117.5000000000001 129.4 139.1zM343.7000000000001 45.6C307.3000000000001 9.2 204.6000000000001 9.2 168.2000000000001 45.6C164.2000000000001 49.1 164.2000000000001 55.3 168.2000000000001 59.3C171.7000000000001 62.8 177.9 62.8 181.4 59.3C209.2000000000001 30.8 301.4000000000001 30.3 330.4000000000001 59.3C333.9000000000001 62.8 340.1 62.8 343.6 59.3C347.7000000000001 55.3 347.7000000000001 49.1 343.7000000000001 45.6zM342.9000000000001 99.8C321.3 99.8 303.7000000000001 117.4 303.7000000000001 139C303.7000000000001 161 321.3000000000001 178.7 342.9000000000001 178.7C364.9000000000001 178.7 382.6 161.1 382.6 139C382.5 117.5 364.9000000000001 99.8 342.9000000000001 99.8z" /> + <glyph glyph-name="reddit-square" + unicode="" + horiz-adv-x="448" d=" M283.2 102.5C285.9 99.8 285.9 95.7 283.2 93.3C258.7 68.8 189.4 68.7 164.8 93.3C162.1 95.7 162.1 99.8 164.8 102.5C167.2 104.9 171.3 104.9 173.7 102.5C192.4 83.3 254.7 82.9 274.2 102.5C276.6 104.8 280.8 104.8 283.2 102.5zM191.9 156.3C191.9 171.2 180 183.1 165.4 183.1C150.5 183.1 138.6 171.2000000000001 138.6 156.3C138.6 141.7 150.5 129.8 165.4 129.8C180 129.8 191.9 141.7 191.9 156.3zM282.6 183.1C268 183.1 256.1 171.2000000000001 256.1 156.3C256.1 141.7 268 129.8 282.6 129.8C297.5 129.8 309.4 141.7 309.4 156.3C309.4 171.2 297.5 183.1 282.6 183.1zM448 368V16C448 -10.5 426.5 -32 400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368zM348.3 227.4C338.2 227.4 329.3 223.2 322.7 216.7C298.6 233.4 266.2 244.1 230.2 245.3L248.9 329.5L308.4 316.1C308.4 301.5 320.3 289.6 334.9 289.6C349.8 289.6 361.7 301.8 361.7 316.4000000000001C361.7 331 349.8 343.2000000000001 334.9 343.2000000000001C324.5 343.2000000000001 315.6 337 311.1 328.3L245.4 342.9000000000001C242.1 343.8 238.9 341.4000000000001 238 338.1L217.5 245.3C181.8 243.8 149.7 233.1 125.6 216.4C119.1 223.2 109.8 227.4 99.7 227.4C62.2 227.4 49.9 177 84.2 159.9C83 154.5 82.4 148.9 82.4 143.2C82.4 86.7 146.1 40.9 224.3 40.9C302.8 40.9 366.5 86.7 366.5 143.2C366.5 148.9 365.8999999999999 154.8 364.3999999999999 160.2C398 177.4 385.5999999999999 227.4 348.2999999999999 227.4z" /> + <glyph glyph-name="reddit" + unicode="" + horiz-adv-x="512" d=" M201.5 142.5C187.7 142.5 176.6 153.6 176.6 167.1C176.6 180.9 187.7 192 201.5 192C215.1 192 226.1 180.9 226.1 167.1C226.1 153.5 215 142.5 201.5 142.5zM504 192C504 55 393 -56 256 -56S8 55 8 192S119 440 256 440S504 329 504 192zM371.7 233.2C362.3 233.2 354 229.3 347.9 223.2C325.5 238.7 295.3 248.7 261.8 249.8L279.2 328.1L334.5999999999999 315.6C334.5999999999999 302 345.7 291 359.2 291C373 291 384.0999999999999 302.3 384.0999999999999 315.9S372.9999999999999 340.8 359.2 340.8C349.5 340.8 341.2 335 337.0999999999999 327L275.8999999999999 340.6C272.8999999999999 341.4 269.7999999999999 339.2 269 336.2L249.9 249.8C216.6999999999999 248.4 186.8 238.5 164.4 223C158.3 229.4 149.7 233.2 140.3 233.2C105.4 233.2 94 186.3 125.9 170.3999999999999C124.8 165.3999999999999 124.2 160.1999999999999 124.2 154.8999999999999C124.2 102.2999999999999 183.4 59.6999999999999 256.2 59.6999999999999C329.3 59.6999999999999 388.5 102.3 388.5 154.8999999999999C388.5 160.1999999999999 387.8999999999999 165.6999999999999 386.6 170.6999999999999C417.9 186.6999999999999 406.4 233.2 371.7 233.2zM302.8 117C284.6 98.8 226.7 99.1 209.2 117C207 119.2 203.1 119.2 200.9 117C198.4 114.5 198.4 110.6 200.9 108.4C223.7 85.6 288.2 85.6 311.1 108.4C313.6 110.6 313.6 114.5 311.1 117C308.9000000000001 119.2 305 119.2 302.8 117zM310.5 192C296.9 192 285.9 180.9 285.9 167.1C285.9 153.5 297 142.5 310.5 142.5C324.3 142.5 335.4 153.6 335.4 167.1C335.4 180.9 324.4 192 310.5 192z" /> + <glyph glyph-name="rendact" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56C266.6 -56 284.7 -53.9 302.1 -50.1C296.5 -42.7 291.3 -35.7 286.2000000000001 -28.8C273.8000000000001 -30.9 261.0000000000001 -32.1 247.9000000000001 -32.1C124.3 -32 24 68.3 24 192S124.3 416 248 416S472 315.7 472 192C472 121 439 57.8 387.5 16.7C361.6 -2.1 348.4 -4.7 304 60.9C225.3 173.8 256 132 230.3 169.2C303.1 160.3 458.8 241.2 398.9 337.8C314 474.8 15 354.2 59.7 221.6C62.9 211.8 74.1 183 105.3 183C107.3 183 107.9 183.6 107.3 184.7C102.9 193.4 87.2 194.5 87.2 222.1C87.2 262.6 127.7 311.7 187.5 342.1C253.6 374.4 319.4 372.3 345.7 336.7C372.9 298.4 324.8 217.5 225.3 199.8C232.8 209.2 282.3 275 288.1 283.8C310.8 318.4 311.7 332.8 302.1 343C286.6 359.9 272.6 353.3 251.4 354.7C240.6 355.6 137.7 173.5 115 137.8C109.1 128.8 93.8 103.6999999999999 93.8 86.9C93.8 65.6 96.6 35.5 114.4 35.5C125 35.5 122.4 54.2 122.4 62.1C122.4 75 149.8 111.5 197.2 166.7000000000001C217.6 130.6 254.9 52.4 327.4 -42.9999999999999C425.4 -9.8999999999999 495.9 82.8000000000001 495.9 192.0000000000001C496 329 385 440 248 440z" /> + <glyph glyph-name="renren" + unicode="" + horiz-adv-x="512" d=" M214 278.9C214 168.5 153 73.5 66.4 31.5C30 74.8 8 130.3 8 191.4C8 314.1 97.1 415.8 214 435.5V278.9zM255 -56C212.1 -56 171.7 -45 136.5 -25.6C193.7 10.5 239.9 65.1 255 129C270.5 65.1 316.7 10.5 373.8 -25.7C338.7 -45 298.3 -56 255 -56zM445.6 31.5C359 73.5 298 168.4 298 278.9V435.5C414.9 415.8 504 314.1 504 191.4C504 130.3 482 74.8 445.6 31.5z" /> + <glyph glyph-name="replyd" + unicode="" + horiz-adv-x="448" d=" M320 -32H128C57.6 -32 0 25.6 0 96V288C0 358.4 57.6 416 128 416H320C390.4 416 448 358.4 448 288V96C448 25.6 390.4 -32 320 -32zM193.4 174.8C187.3 176.8 181.8 177.9 177 177.9C169.8 177.9 163.5 176.0000000000001 158.1 172.3C152.7 168.6 148.5 163.3 145.3 156.5H144.2L140 174.8H112V35.9H148.1V125.6C149.6 131 152.5 135.4 156.8 138.8C161.1 142.1999999999999 166.6 143.9 173 143.9C177.6 143.9 182.8 142.9 188.6 140.8L193.4 174.8zM308.6 71.4C305.4000000000001 69 300.9000000000001 66.6 294.9000000000001 64.3C288.9000000000001 61.9999999999999 282.1 60.8 274.5000000000001 60.8C262.3000000000001 60.8 253.4000000000001 63.8 248.0000000000001 69.6999999999999C242.5000000000001 75.5999999999999 239.5000000000001 84.3999999999999 239.0000000000001 96.0999999999999H322.3000000000001C323.2000000000001 100.8999999999999 323.9000000000001 105.4999999999999 324.4000000000001 109.9999999999999C324.9000000000001 114.3999999999999 325.1000000000001 118.5999999999999 325.1000000000001 122.4999999999999C325.1000000000001 133.1999999999999 323.5000000000001 142.1999999999999 320.4000000000001 149.3999999999999C317.2000000000001 156.5999999999999 313.1000000000001 162.3999999999999 307.9000000000001 166.5999999999999C302.7000000000001 170.8999999999999 296.8000000000001 173.8999999999999 290.1000000000001 175.7999999999999C283.4000000000001 177.5999999999999 276.6000000000001 178.5999999999999 269.5000000000001 178.5999999999999C248.4000000000001 178.5999999999999 232.0000000000001 172.4999999999998 220.3000000000001 160.2999999999999S202.8000000000001 129.7999999999999 202.8000000000001 105.2999999999998C202.8000000000001 82.4999999999998 208.0000000000001 64.5999999999999 218.4000000000001 51.5999999999999C228.8000000000001 38.4999999999998 245.2000000000001 31.9999999999998 267.6000000000001 31.9999999999998C278.3000000000001 31.9999999999998 288.5000000000001 33.4999999999998 298.0000000000001 36.5999999999999C307.5000000000001 39.6999999999999 315.1000000000001 43.3999999999999 320.6000000000001 47.7999999999998L308.6000000000001 71.3999999999999zM286.8 141.7C290.6 136.3 292.1 128.6 291.4000000000001 118.6H239.7000000000001C240.6000000000001 128 243.4000000000001 135.6 247.9000000000001 141.2C252.4000000000001 146.8 259.4000000000001 149.7 268.9000000000001 149.7C277.1 149.8 283.0000000000001 147.1 286.8 141.7zM366.7000000000001 139.2C370.8000000000001 135.3 376.1 133.4 382.8000000000001 133.4C389.8000000000001 133.4 395.4000000000001 135.3 399.5000000000001 139.2S405.6000000000001 148.3 405.6000000000001 154.8S403.6000000000001 166.4 399.5000000000001 170.2C395.4000000000001 174 389.9000000000001 175.9 382.8000000000001 175.9C376.1000000000001 175.9 370.8000000000001 174 366.7000000000001 170.2C362.6 166.4 360.6 161.3 360.6 154.8S362.6 143.1 366.7000000000001 139.2zM366.7000000000001 38.7C370.8000000000001 34.8 376.1 32.9 382.8000000000001 32.9C389.8000000000001 32.9 395.4000000000001 34.8 399.5000000000001 38.7S405.6000000000001 47.8 405.6000000000001 54.3S403.6000000000001 65.9 399.5000000000001 69.7C395.4000000000001 73.5 389.9000000000001 75.4 382.8000000000001 75.4C376.1000000000001 75.4 370.8000000000001 73.5 366.7000000000001 69.7C362.6 65.9 360.6 60.8 360.6 54.3C360.6 47.7 362.6 42.6 366.7000000000001 38.7z" /> + <glyph glyph-name="researchgate" + unicode="" + horiz-adv-x="448" d=" M0 416V-32H448V416H0zM262.2 81.6C255.6 78.6 229 75.6 212.2 95.8C203 106.4 186.9 129.1 170 159.4C161.1 159.4 155.3 159.4 148.6 160.0000000000001V113.6000000000001C148.6 90.1000000000001 154.6 92.4000000000001 174.4 89.7000000000001V81.6000000000001C167.5 81.9000000000001 151.3 82.4000000000001 138.8 82.4000000000001C125.7 82.4000000000001 112.7 81.8000000000001 105.2 81.6000000000001V89.7000000000001C120.7 92.6000000000001 127.2 91.0000000000001 127.2 113.6000000000001V223C127.2 245.6 120.8 244 105.2 246.9V255C131 254 158.3 255.6 176.1 255.6C207.8 255.6 232.0000000000001 241.2 232.0000000000001 210C232.0000000000001 188.9 215.3000000000001 167.8 192.8 162.5C206.4 138.3 222.8 116.9 235 103.6C242.2 95.8 252.2 88.9 262.2 88.9V81.6zM285.1 216.6C261.8 216.6 252.9 232.3 252.9 248.8V281C252.9 293.2 261.7 311.4 286.9 311.4S317.3 293.5 317.3 293.5L306.6 286.3S301.1 298.8 286.9 298.8C279 298.8 267.2 291.5 267.2 279.1V252.3C267.2 238.9 273.8 229 285.1 229C299.2 229 306.6 239.9 306.6 255.8H288.7V266.5H319.1C319.1 246 323.8 216.6 285.1 216.6zM168.6 171.9C159.2 171.9 155 172.2000000000001 148.6 172.7000000000001V242.4000000000001C155 243.0000000000001 163.6 243.0000000000001 171.1 243.0000000000001C194.4 243.0000000000001 208.3 230.8000000000001 208.3 208.5C208.3 186.6 193.3 171.9 168.6 171.9z" /> + <glyph glyph-name="resolving" + unicode="" + horiz-adv-x="496" d=" M281.2 169.8C327.2 183.1 330.8 193.3 325.2 213.2L314 252.5C307.9 273.4 295.6 280.6 242.9 265.3L54.7 211.2L83.3 112.6L281.2000000000001 169.8zM248.5 440C131.4 440 33.2 359.3 7.2 250.5L229.1 314.4C263.9 324.6 283.3 326.1 308.4 322.6C344.7 316.5 361.1 297.6 369.8 267.4L380.5 229.6C388.7 201.5 381.5 179 357 156C337.6 138.6 325.8 131.5 295.6 122.8L203 96.2L423.4 69.1L433.1 34.9L385 21.6L98.1999999999999 58.9L121.1999999999999 -21.3C158 -43.3 201.5 -56 247.5 -56C384.5 -56 495.9999999999999 55.4 495.9999999999999 192.3C497 328.6 385.5 440 248.5 440zM38.3 59.4L0 191.2C0 142.7 14.3 97.8 38.3 59.4z" /> + <glyph glyph-name="rev" + unicode="" + horiz-adv-x="410.22" d=" M270.67 173.11C270.67 136.9500000000001 241.26 107.54 205.11 107.54S139.54 136.9500000000001 139.54 173.11S168.95 238.67 205.11 238.67S270.67 209.27 270.67 173.11zM410.2200000000001 178.16H410.0900000000001C408.6 239.7100000000001 379.99 294.51 335.7700000000001 331.14L290.3900000000001 304.9400000000001C333.5600000000001 276.9100000000001 362.2000000000001 228.3100000000001 362.2000000000001 173.12C362.2000000000001 86.5 291.73 16.03 205.1100000000001 16.03S48.02 86.5 48.02 173.12C48.02 254.98 110.98 322.39 191.01 329.55V290.43L299.7700000000001 353.2200000000001L191.01 416V377.68C84.31 370.43 0 281.64 0 173.11C0 61.52 89.12 -29.1799999999999 200.06 -31.87V-32H410.2200000000001V178.16z" /> + <glyph glyph-name="rocketchat" + unicode="" + horiz-adv-x="448" d=" M448 191.8C448 279 348.4 345.1 228.2 345.1C209.4 345.1 190.9 343.5 172.9 340.3C161.8 350.8 148.7 360.3 134.9 367.7000000000001C61.2 403.8 0 368.6 0 368.6S56.9 321.5 47.6 280.3C-4.7 228 -4.9 156.2000000000001 47.6 103.7000000000001C56.9 62.4 0 15.4 0 15.4S61.2 -19.8 134.9 16.2C148.7 23.7 161.8 33.1 172.9 43.6C190.9 40.4 209.4 38.8 228.2 38.8C348.5 38.9 448 104.6 448 191.8zM228.3 67.8C204.6 67.8 182 70.6 161 75.6C139.7 49.8 92.9 13.9 47.4 25.5C62.2 41.5 84.1 68.6 79.4 113.1C52.1 134.5 35.8 161.8 35.8 191.6C35.8 260 122 315.5 228.3 315.5S420.8 260 420.8 191.6C420.8 123.3 334.6 67.8 228.3 67.8zM253.9 191.7000000000001C253.9 177.5000000000001 242.4 165.9 228.3 165.9C214.2 165.9 202.7 177.4 202.7 191.7000000000001C202.7 205.9 214.2 217.5000000000001 228.3 217.5000000000001C242.4 217.5000000000001 253.9 205.9000000000001 253.9 191.7000000000001zM342.8 191.7000000000001C342.8 177.5000000000001 331.4000000000001 165.9 317.2 165.9C303.1 165.9 291.6 177.4 291.6 191.7000000000001C291.6 205.9 303 217.5000000000001 317.2 217.5000000000001C331.3 217.5000000000001 342.8 205.9000000000001 342.8 191.7000000000001zM164.9 191.7000000000001C164.9 177.5000000000001 153.5 165.9 139.3 165.9C125.2 165.9 113.7 177.4 113.7 191.7000000000001C113.7 205.9 125.1 217.5000000000001 139.3 217.5000000000001C153.5 217.5000000000001 164.9 205.9000000000001 164.9 191.7000000000001z" /> + <glyph glyph-name="rockrms" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM405.4 20.5H315.4L203.4 151.8C185.5 172.2 199.5 207.9 230 207.9H305.3L220.7 307.2L136.4 208.3H46.4L193.5 380.8C207.9 399.2 234.8 398.1 248 380.8L405.7 195.7C424.7 172.9 407.7 138.5 378.1 139.6C377.5 139.6 303.9 139.4 303.9 139.4L405.4 20.5z" /> + <glyph glyph-name="safari" + unicode="" + horiz-adv-x="512" d=" M236.9 191.2C236.9 200.3 243.5 208.9 253.2 208.9C262.1 208.9 270.6 202.5 270.6 192.8C270.6 183.7 264.2000000000001 175.1 254.5000000000001 175.1C245.5000000000001 175.1 236.9000000000001 181.8 236.9000000000001 191.2zM504 192C504 55 393 -56 256 -56S8 55 8 192S119 440 256 440S504 329 504 192zM477.4 192C477.4 314.3 378.3 413.4 256 413.4S34.6 314.3 34.6 192S133.7 -29.4 256 -29.4S477.4 69.7 477.4 192zM404.9 95.4C404.9 91.8 417.9 85.2 421.2 83.2C393.8 41.7 351.4 11.8 303.3 -0.1L298.9 18.4C298.6 20.9 297 21.2 294.7 21.2C292.8 21.2 291.7 18.4 291.9 17L296.3 -1.8C283 -4.6 269.5 -6 255.9 -6C219.6 -6 183.9 4.2 152.9 23.1C154.5999999999999 25.9 165.0999999999999 41.1 165.0999999999999 43.3C165.0999999999999 45.2 163.4 46.9 161.5 46.9C157.5999999999999 46.9 149.3 30.3 146.8 27.0000000000001C105 54.7 74.8 97.6 63.2 146.6L82.3 150.8C84.5 151.4 85.1 153 85.1 155C85.1 156.9 82.3 158 80.7 157.8L62 153.5C59.5 166.2 58.1 179 58.1 192C58.1 229.1 68.6 265.6 88.3 296.9C91.1 295.2000000000001 104.4 286.1 106.6 286.1C108.5 286.1 110.2 287.5 110.2 289.4C110.2 293.3 95.5 300.7000000000001 92.2 303C120.4 344.2 163.3 373.9 212 384.9L216.2 366.4C216.8 364.2 218.4 363.6 220.4 363.6S223.4 366.4 223.2 368L219 386.3C231.2 388.5 243.6 389.9 256.1 389.9C293.2000000000001 389.9 329.4000000000001 379.4 361 359.7C359.1 356.9 350.2 343.9 350.2 341.7C350.2 339.8 351.6 338.1 353.5 338.1C357.4 338.1 364.8 352.5 366.8 355.8C407.8 328.1 437.1 285.8 448.5 237.6L433 234.3C430.5 233.7 430.2 232.1 430.2 229.9C430.2 228 433 226.9 434.4 227.1L450.2 230.7C452.7 218 454.1 205 454.1 192C454.1 155.7 444.1 120 425.3 89.3C422.5 90.7 410.9 99 408.7 99C406.5999999999999 99 404.8999999999999 97.3 404.8999999999999 95.4zM371.7 337.6C358.7 325.4 237.5 213.9 234.1 208.1L137.5 47.6C150.2 59.4999999999999 271.7 171.6 274.8 176.9L371.7000000000001 337.6z" /> + <glyph glyph-name="sass" + unicode="" + horiz-adv-x="640.4" d=" M551.1 156.1C528.7 156 509.3 150.6 493.1 142.6C487.2 154.5 481.1 164.9 480.1 172.7000000000001C478.9 181.8000000000001 477.6 187.2000000000001 479 198.0000000000001S486.7 224.1000000000001 486.6 225.2000000000001C486.5 226.3000000000001 485.2 231.8000000000001 472.3 231.9000000000001C459.4 232.0000000000001 448.3 229.4000000000001 447 226.0000000000001C445.7 222.6 443.2 214.9 441.7 206.9C439.4 195.2000000000001 415.9 153.4 402.6 131.6C398.2 140.1 394.5 147.6 393.7 153.6C392.5 162.7000000000001 391.2 168.1 392.6 178.9S400.3 205 400.2 206.1C400.1 207.2 398.8 212.7 385.9 212.8C373 212.9 361.9 210.3 360.6 206.9C359.3 203.5 357.9 195.5 355.3 187.8C352.7 180.1 321.4 110.5 313.2 92.4C309 83.2 305.3999999999999 75.8 302.8 70.8S302.6 70.4999999999999 302.4 69.9C300.2 65.6 298.9 63.2 298.9 63.2V63.1C297.2 59.9 295.3 56.9999999999999 294.4 56.9999999999999C293.8 56.9999999999999 292.5 65.3999999999999 294.7 76.8999999999999C299.4 101.0999999999999 310.5 138.6999999999999 310.4 140C310.3 140.6999999999999 312.5 147.1999999999999 303.1 150.6999999999999C294 154 290.7 148.5 289.9 148.5C289.1 148.5 288.5 146.5 288.5 146.5S298.6 188.8999999999999 269.1 188.8999999999999C250.7 188.8999999999999 225.1 168.6999999999999 212.5 150.3999999999999C204.6 146.0999999999999 187.5 136.7999999999999 169.5 126.8999999999999C162.6 123.0999999999999 155.5 119.1999999999999 148.8000000000001 115.5C148.3000000000001 116 147.9 116.5 147.4 117C111.6 155.1999999999999 45.5 182.1999999999999 48.3 233.5C49.3 252.2 55.8 301.3 175.4 360.9C273.4000000000001 409.7 351.8000000000001 396.3 365.3000000000001 366.5C384.7000000000001 324 323.4000000000001 244.9 221.6000000000001 233.5C182.8000000000001 229.2 162.4000000000001 244.2 157.3000000000001 249.8C152.0000000000001 255.7 151.2000000000001 256 149.2000000000001 254.9C145.9000000000001 253.1 148.0000000000001 247.9 149.2000000000001 244.8C152.2000000000001 236.9 164.7000000000001 222.9 186.0000000000001 215.9C204.7000000000001 209.8 250.2000000000001 206.4 305.2000000000001 227.7C367 251.5 415.1 317.8 401 373.3C386.6 429.7 293.1 448.2 204.6 416.8C151.9 398.1 94.9 368.7 53.9 330.4C5.2 284.8 -2.6 245.1 0.6 228.5C12 169.6 93.2 131.2 125.7 102.8C124.1 101.9 122.6 101.1 121.2 100.3C104.9 92.2 43 59.8 27.5 25.6C10 -13.2 30.4 -41 43.8 -44.8C85.6 -56.4 128.4 -35.4999999999999 151.4 -1.1999999999999S171.6 77.9000000000001 161 98.3000000000001C160.9 98.6000000000001 160.7 98.8000000000001 160.6 99.1000000000001C164.8 101.6000000000001 169.1 104.1000000000001 173.4 106.6000000000001C181.7 111.5000000000001 189.8 116.0000000000001 196.9 119.9000000000001C192.9 109.1000000000001 190 96.1000000000001 188.5 77.3000000000001C186.7 55.3000000000001 195.8 26.8000000000001 207.6 15.6000000000001C212.8 10.7000000000001 219.1 10.6000000000001 223 10.6000000000001C236.8 10.6000000000001 243 22.0000000000001 249.9 35.6000000000001C258.4 52.2000000000001 265.9 71.5000000000001 265.9 71.5000000000001S256.5 19.3000000000001 282.2 19.3000000000001C291.6 19.3000000000001 301 31.4000000000001 305.2 37.6000000000001V37.5000000000001S305.4 37.9 305.9 38.7C306.9 40.2 307.4 41.1 307.4 41.1V41.4C311.2 47.9 319.5 62.8 332 87.4C348.2 119.2000000000001 363.7 158.9 363.7 158.9S365.1 149.2000000000001 369.9 133.1C372.7 123.6 378.6 113.2000000000001 383.3 103.1C379.5 97.9 377.2 94.9 377.2 94.9S377.2 94.8 377.3 94.7000000000001C374.3 90.7000000000001 370.9 86.4 367.4 82.2000000000001C354.6 67.0000000000001 339.4 49.6 337.4 44.6C335 38.7 335.6 34.3 340.2 30.9C343.6 28.3 349.6 27.9 355.9 28.4C367.4 29.2 375.5 32.0000000000001 379.4 33.8C385.6 36 392.8 39.5 399.6 44.4C412.1 53.6 419.7 66.8 419 84.2000000000001C418.6 93.8000000000001 415.5 103.4 411.7 112.4C412.8 114.0000000000001 414 115.7000000000001 415.0999999999999 117.4C434.8999999999999 146.3 450.2 178.0000000000001 450.2 178.0000000000001S451.5999999999999 168.3000000000001 456.3999999999999 152.2000000000001C458.7999999999999 144.1 463.4999999999999 135.2000000000001 467.7999999999999 126.5000000000001C449.1999999999999 111.4 437.6999999999999 93.9 433.6999999999999 82.4C426.2999999999999 61.1 432.0999999999999 51.5000000000001 442.9999999999999 49.3C447.8999999999999 48.3 454.8999999999999 50.6 460.0999999999999 52.8C466.5999999999999 55 474.3999999999999 58.5 481.6999999999999 63.9C494.1999999999999 73.1 506.3 86.0000000000001 505.4999999999999 103.5000000000001C505.1999999999999 111.4 502.9999999999999 119.3000000000001 500.1 126.9C515.8 133.5000000000001 536.1999999999999 137.1 562.1999999999999 134.1C617.9 127.6 628.8 92.8 626.6999999999999 78.3C624.5999999999999 63.7 612.9 55.7 608.9999999999999 53.3C605.0999999999999 50.9 603.8999999999999 50 604.1999999999999 48.2C604.6999999999999 45.6 606.4999999999999 45.7 609.8 46.3C614.4 47.1 639 58.1 640.0999999999999 85C641.6999999999999 119 608.9999999999999 156.4 551.0999999999999 156.1zM121.8 11.4C103.4 -8.7 77.6 -16.3 66.5 -9.9C54.6 -3 59.3 26.6 82 48C95.8 61 113.6 73 125.4 80.4C128.1 82 132 84.4 136.8 87.3C137.6 87.8 138 87.9999999999999 138 87.9999999999999C138.9 88.6 139.9 89.1 140.9 89.6999999999999C149.2 59.3 141.2 32.4999999999999 121.8 11.3999999999999zM256.2 102.8C249.8 87.1 236.3 47.1 228.1 49.1999999999999C221.1 50.9999999999999 216.8 81.4999999999999 226.7 111.4999999999999C231.7 126.6 242.3 144.6 248.6 151.6C258.7 162.9 269.8 166.5 272.4 162C275.9 156.1 260.2 112.6 256.2 102.8zM367.2 49.8C364.5 48.4 362 47.4999999999999 360.8 48.1999999999999C359.9000000000001 48.6999999999999 361.9000000000001 50.5999999999999 361.9000000000001 50.5999999999999S375.8 65.4999999999999 381.3 72.2999999999999C384.5 76.2999999999999 388.2 80.9999999999999 392.2 86.1999999999999C392.2 85.6999999999999 392.3 85.1999999999999 392.3 84.5999999999999C392.2 66.6999999999999 375 54.5999999999999 367.2 49.7999999999998zM452.8 69.3C450.8 70.6999999999999 451.1 75.4 457.8 89.9999999999999C460.4 95.6999999999999 466.4 105.3 476.8 114.5C477.9999999999999 110.6999999999999 478.6999999999999 107.1 478.6999999999999 103.6999999999999C478.5999999999999 81.1999999999999 462.4999999999999 72.8 452.8 69.3z" /> + <glyph glyph-name="schlix" + unicode="" + horiz-adv-x="448" d=" M350.5 290.3L296.3 336.4L369.7000000000001 375.4L448.0000000000001 331.2L350.5000000000001 290.3zM192 325.9L237.7 354.1L272.4 319.5L217 290.5L192 325.9zM126.9 319.3L158.8 341.4L176 313L139.3 290.5L126.9 319.3zM103.6 231.1L94.8 265.9000000000001L124.4 284.2000000000001L137.5 248.9000000000001L103.6 231.1zM82.4 314.8L106.3 332.9L115.2 308.9L88.5 290.6L82.4 314.8zM59 241.5L55.4 269.9L77.7 285.4L83.8 256.7000000000001L59 241.5zM28.4 224.9L49.2 237.7L52.5 204.3L29.6 192.3L28.4 224.9zM1.4 180L20.6 190.2L21 152L0 143.2L1.4 180zM60.5 120.7L32.2 112.4L30.6 159.2L55.7 169.9L60.5 120.7zM99 184.8L67.9 171.8L62.7 212.6L90.1 227L99 184.8zM123.2 71L81.6 65.1L73.5 128.6L108.7 139.4L123.2 71zM151.7 210.9L172.9 153.8L126.7 140.2L113 194.3L151.7 210.9zM237.4 -19.6L166.5 -16.3L142.2 79.5L197.4 88.1L237.4 -19.6zM152.5 260.1L194.7 282.5L222.7 236.6L171.9 215.3L152.5 260.1zM193.5 165.1999999999999L254.8 183.8999999999999L307.6 97.3L227.8 85.9999999999999L193.5 165.1999999999999zM244.9 250.8L312.2 279.5999999999999L377.7 214.1999999999999L289.1 188L244.9000000000001 250.8z" /> + <glyph glyph-name="scribd" + unicode="" + horiz-adv-x="384" d=" M42.3 195.3C26.2 214.3 17.6 241.2 17.5 275.2000000000001C17.5 375.6 92.7 428.3 184.7 428.3C283.3 429.9000000000001 341.5 379.3 369 357.7000000000001L318.5 285.6L281.2 310.2000000000001L308.1 348.8C271.6 372.8 228.7 385.3 185.1 384.6C134.4 385.4 73.4 357.4 73.4 308.4C73.4 289.7000000000001 84.6 287.7000000000001 102 292.8C125.3 298.1 143.9 292.2000000000001 157.8 278.8C184.2 254.5 181 211.2 157.1 186.9C127.9 157.4 71.9 159.6 42.3 195.3zM360 189.4C344.5 208.2000000000001 321.1 218.8000000000001 296.8 218C258.7 220 225.7 190 226.3 150.8C225.6 134 232.3 117.8 244.7 106.5C258.8 92.6 277.7000000000001 86.8 301 92.1C318.4 97.2000000000001 329.6 95.2000000000001 329.6 76.5C329.6 72.2 329.1 68 328.2000000000001 63.8C311.5000000000001 22.9 268.7000000000001 -0.6 206.8000000000001 -0.6C154.9 -0.8 104.4 15.8 62.7000000000001 46.7L96.4000000000001 86.1L60.8000000000001 113.5L0 41.7L15.4 27.9C67.9 -18.9 135.8 -44.6 206.1 -44.3C257.5 -44.3 300.5 -33.8 339.7 -0.2C396.8 51.2 393.9 149 360 189.4z" /> + <glyph glyph-name="searchengin" + unicode="" + horiz-adv-x="460" d=" M220.6 317.7L153.4 289.5V404.8L98.7 214.5L153.4 238.7V108.4L220.6 317.7zM137.4 414.4L136.1 409.7L120.9 356.8C80.6 341.3 52 302.2 52 256.5C52 204.2 86.3 160.6 135.4 151V97.4C57.5 107.9 0 175.6 0 256.4C0 336.9 59.8 403.6 137.4 414.4zM448.8 -32.8C437.6 -44 425.7 -45.1 420.2 -43.3C414.8 -41.5 393.0999999999999 -23.4 359.8 1.1C326.5 25.7 326.2 36.8 316.8 57.8C307.4 78.6999999999999 286.4 100.4 259.3 110.1999999999999L249.6 124.8999999999999C224.9 107.9999999999999 196.6 97.9999999999999 168.3 96.1999999999999L170.4 102.8L186.3 152.3C232.8 164.1999999999999 267.2 206.3 267.2 256.5C267.2 311 228.8 358.5999999999999 171.1999999999999 363.5999999999999V415.7C254.4 410.6 320 341.2 320 256.4C320 222.8 308.8 191.7 291 166L305.6 156.4C315.4000000000001 129.3 337.1 108.4 358 99S390.2 89.3 414.8 56C439.4000000000001 22.8 457.5 1.1 459.3 -4.3S460 -21.6 448.8 -32.8zM438.9 -14.9C438.9 -10.5000000000001 435.3 -6.9 430.9 -6.9S422.9 -10.5000000000001 422.9 -14.9S426.5 -22.9 430.9 -22.9S438.9 -19.3 438.9 -14.9z" /> + <glyph glyph-name="sellcast" + unicode="" + horiz-adv-x="448" d=" M353.4 416H94.7C42.6 416 0 373.4 0 321.4V62.7000000000001C0 10.6 42.6 -32 94.7 -32H353.4C405.5 -32 448.1 10.6 448.1 62.6V321.4C448.1 373.4 405.5 416 353.4 416zM303.4 99.6C275.5 51.4 213.5 34.7 165.2 62.4C142.3 22.6 110.3 53.8 122.9 75.6L138.6 102.8C144.5 113.1 157.8 116.7 168.1 110.7C186.7 99.9 168 110.8 186.6 100C214.2 84.1 250 93.7 266 121.3C281.9 148.9 272.3 184.7 244.7 200.7C226.9 210.9 244.1 201.1 226.1 211.3C201.5 225.5 222.7 263.2000000000001 247.7 248.8C266.3 238 247.6 248.9 266.2 238.1C314.6 210.1 331.3 147.8 303.4 99.6zM325.2 308.4000000000001C308.2 278.9000000000001 308.9 279.6 306.2 276.9000000000001C299.7 270.4000000000001 289.9 268.2000000000001 279.7 273.3000000000001C261.1 284.1 279.8 273.2000000000001 261.2 284C233.6 299.9000000000001 197.8 290.3000000000001 181.8 262.7000000000001S175.5 199.3 203.1 183.3C203.1 183.3 221.6 172.7 221.7 172.7C246.3 158.5 225.1 120.8 200.1 135.2C181.5 146 200.2 135.1 181.6 145.9C133.4 173.7 116.7 236 144.5 284.3C172.4 332.5 234.4 349.2 282.7 321.5L287.5 329.9C301.8 354.8 339.5 333.2 325.2 308.4z" /> + <glyph glyph-name="sellsy" + unicode="" + horiz-adv-x="640" d=" M539.71 210.692C542.774 222.949 544 235.513 544 248.076C544 340.618 468.618 416 376.076 416C298.856 416 231.4420000000001 362.988 213.056 288.219C197.734 301.395 178.122 308.749 157.899 308.749C111.628 308.749 73.937 271.059 73.937 224.788C73.937 217.434 74.857 209.773 77.002 202.419C34.102 182.194 6.217 138.6810000000001 6.217 91.185C6.216 23.157 61.68 -32 129.401 -32H510.599C578.319 -32 633.783 23.157 633.783 91.184C633.784 147.568 594.867 197.209 539.71 210.692zM199.88 46.446C199.88 38.172 192.832 31.125 184.559 31.125H153.61C145.336 31.125 138.289 38.173 138.289 46.446V157.374C138.289 165.6470000000001 145.337 172.6950000000001 153.61 172.6950000000001H184.559C192.833 172.6950000000001 199.88 165.6470000000001 199.88 157.374V46.446zM289.357 46.446C289.357 38.172 282.309 31.125 274.035 31.125H243.086C234.812 31.125 227.765 38.173 227.765 46.446V177.904C227.765 186.178 234.813 193.225 243.086 193.225H274.035C282.309 193.225 289.357 186.177 289.357 177.904V46.446zM378.834 46.446C378.834 38.172 371.7869999999999 31.125 363.5129999999999 31.125H332.5639999999999C324.2899999999999 31.125 317.2419999999999 38.173 317.2419999999999 46.446V209.16C317.2419999999999 217.434 324.2899999999999 224.481 332.5639999999999 224.481H363.5129999999999C371.7869999999999 224.481 378.834 217.433 378.834 209.16V46.446zM465.8609999999999 46.446C465.8609999999999 38.172 458.8129999999999 31.125 450.5389999999999 31.125H422.0419999999999C413.7679999999999 31.125 406.7209999999999 38.173 406.7209999999999 46.446V271.059C406.7209999999999 279.6380000000001 413.7679999999999 286.687 422.0419999999999 286.687H450.5389999999999C458.8129999999999 286.687 465.8609999999999 279.639 465.8609999999999 271.0590000000001V46.446z" /> + <glyph glyph-name="servicestack" + unicode="" + horiz-adv-x="496" d=" M88 232C169.7 221.8 361.7 129.7 392 0H0C99.5 8.1 184.5 137 88 232zM120 384C152.3 348.4 167.7 300.1 166.4 250.4C249.3 216.7 373.7 126.7 400 0H496C455.3 216.1 222.8 368.5 120 384z" /> + <glyph glyph-name="shirtsinbulk" + unicode="" + horiz-adv-x="448" d=" M395.2080000000001 226.417H406V192.875H395.2080000000001V226.417zM395.2080000000001 236.042H406V269.584H395.2080000000001V236.042zM395.2080000000001 149.709H406V183.25H395.2080000000001V149.709zM358.75 312.75H325.208V302.25H358.75V312.75zM395.208 106.542H406V140.0840000000001H395.2080000000001V106.542zM311.5 312.75H277.958V302.25H311.5V312.75zM264.25 312.75H231V302.25H264.25V312.75zM217 312.75H183.75V302.25H217V312.75zM395.208 279.208H406V312.75H372.458V302.25H395.208V279.208zM139.416 20.208L170.041 6.791L174.416 16.708L143.791 30.1249999999999L139.416 20.208zM179.083 3L209.417 -10.708L213.791 -0.792L183.458 12.6249999999999L179.083 2.9999999999999zM395.208 63.375H406V96.917H395.2080000000001V63.375zM60.3749999999999 55.208L91 41.792L95.375 51.416L64.75 65.125L60.375 55.208zM100.0409999999999 37.709L130.666 24.292L135.041 34.209L104.4159999999999 47.625L100.0409999999999 37.709zM232.458 -0.792L236.833 -10.708L267.459 3L263.084 12.625L232.458 -0.792zM350.875 51.4160000000001L355.25 41.792L385.874 55.208L381.5 65.125L350.875 51.416zM311.5 34.209L315.875 24.292L346.5 37.709L342.126 47.625L311.5 34.209zM271.833 16.708L276.208 6.7910000000001L306.833 20.208L302.458 30.125L271.833 16.708zM311.5 401.4170000000001H277.958V390.9170000000001H311.5V401.4170000000001zM405.709 401.4170000000001H372.4580000000001V390.9170000000001H405.709V401.4170000000001zM217 401.4170000000001H183.75V390.9170000000001H217V401.4170000000001zM358.75 401.4170000000001H325.208V390.9170000000001H358.75V401.4170000000001zM264.25 401.4170000000001H231V390.9170000000001H264.25V401.4170000000001zM448 444.292V38.292L221.666 -60.292L0 38.292V444.292H448zM418.834 327.334H29.166V57.25L221.958 -28.5L418.833 57.25V327.334zM418.834 415.125H29.166V356.5H418.833V415.125zM75.542 401.4170000000001H42.291V390.9170000000001H75.542V401.4170000000001zM170.042 401.4170000000001H136.5V390.9170000000001H170.042V401.4170000000001zM122.791 401.4170000000001H89.25V390.9170000000001H122.792V401.4170000000001zM130.375 164.875C130.375 215.042 171.5 256.1670000000001 221.667 256.1670000000001C272.125 256.1670000000001 312.959 215.042 312.959 164.875C312.959 114.417 272.126 73.583 221.667 73.583C171.5 73.584 130.375 114.417 130.375 164.875zM251.125 146.791C251.125 133.666 227.208 132.5 218.459 132.5C206.209 132.5 188.709 135.125 182.584 147.375H181.709L172.666 129C187.542 119.667 201.833 116.75 219.916 116.75C239.458 116.75 270.958 122.583 270.958 147.959C270.958 196.084 192.5 164.292 192.5 185.875C192.5 199 213.208 200.75 222.25 200.75C233.041 200.75 251.416 197.542 257.833 187.626H258.708L267.459 204.542C252.292 210.667 240.042 216.501 223.125 216.501C203 216.501 173.542 210.084 173.542 184.709C173.542 140.375 251.125 172.75 251.125 146.791zM122.791 312.75H89.25V302.25H122.792V312.75zM52.792 302.25H75.542V312.75H42V279.208H52.792V302.25zM52.792 269.584H42V236.042H52.792V269.584zM170.042 312.75H136.5V302.25H170.042V312.75zM52.792 226.417H42V192.875H52.792V226.417zM52.792 140.083H42V106.5409999999999H52.792V140.083zM52.792 183.25H42V149.708H52.792V183.25zM52.792 96.917H42V63.375H52.792V96.917z" /> + <glyph glyph-name="shopware" + unicode="" + horiz-adv-x="495.99" d=" M395.5 -7.27C352.55 -39.06 301.55 -55.86 248.02 -55.86C110.81 -55.86 0 55.14 0 192.14C0 329.33 111.04 440.14 248.02 440.14C309.32 440.14 368.1600000000001 417.59 413.7000000000001 376.64C416.3200000000001 374.28 414.2800000000001 370 410.8400000000001 370.46C393.17 372.89 374.0900000000001 374.12 354.1300000000001 374.12C224.7700000000001 374.12 131.7300000000001 320.65 131.7300000000001 218.77C131.7300000000001 109.73 223.8600000000001 72.89 308.5600000000001 40.04C342.2000000000001 26.9999999999999 373.9600000000001 14.68 395.5200000000001 -1.5500000000001C397.42 -2.9900000000001 397.4100000000001 -5.8600000000001 395.5000000000001 -7.2700000000001zM494.96 215.05C494.88 215.99 494.41 216.88 493.69 217.49C441.93 260.4500000000001 400.07 277.9700000000001 349.2100000000001 277.9700000000001C265.0800000000001 277.9700000000001 268.9600000000001 225.8 268.9600000000001 224.34C268.9600000000001 181.74 321.0200000000001 162.33 381.3000000000001 139.85C412.3700000000001 128.2600000000001 444.4900000000001 116.28 473.9800000000001 99.92C475.8600000000001 98.87 478.2400000000001 99.73 479.0300000000001 101.74C497.9200000000001 150.13 496.9700000000001 191.97 494.9600000000001 215.05z" /> + <glyph glyph-name="simplybuilt" + unicode="" + horiz-adv-x="512" d=" M481.2 384H375.2C360.7 384 348.6 372.2 348.6 357.7V318.1H163.3V357.7C163.3 372.2 151.3 384 136.7 384H30.7C16.1 384 4.3 372.2 4.3 357.7V26.3C4.3 11.8 16.1 0 30.9 0H481.3C496.1 0 507.9 11.8 507.9 26.3V357.7C507.7 372.2 495.9 384 481.2 384zM149.8 92.2C113.2 92.2 83.4 121.9 83.4 158.6C83.4 195.5 113.1 225.2 149.8 225.2C186.7 225.2 216.4 195.5 216.4 158.6C216.4 121.9 186.7 92.2000000000001 149.8 92.2000000000001zM362.2000000000001 92.2C325.3000000000001 92.2 295.6 121.9 295.6 158.8C295.6 195.4 325.3 225.2 362.2000000000001 225.2C398.8000000000001 225.2 428.6 195.5 428.6 158.8C428.6 121.9 398.8 92.1999999999999 362.2000000000001 92.1999999999999z" /> + <glyph glyph-name="sistrix" + unicode="" + horiz-adv-x="448" d=" M448 -1L301.2 147.8C321.2 175.7 333.1 210 333.1 247C333.1 340.1 258.4 415.9 166.6 415.9C74.7 416 0 340.2 0 247.1S74.7 78.2 166.5 78.2C206.3 78.2 242.8 92.4 271.5 116.1L417.5 -32L448 -1zM166.5 117.2C95.9 117.2 38.4 175.5 38.4 247.1S95.9 377 166.5 377S294.6 318.7 294.6 247.1S237.2 117.2 166.5 117.2z" /> + <glyph glyph-name="sith" + unicode="" + horiz-adv-x="448" d=" M0 416L69.71 297.25L10.85 308.77L80.69 217.74A146.741 146.741 0 0 1 80.69 166.29L10.85 75.26L69.71 86.78L0 -32L118.75 37.71L107.23 -21.15L198.26 48.6899999999999C215.28 45.6499999999999 232.73 45.6499999999999 249.74 48.6899999999999L340.77 -21.1500000000001L329.25 37.7099999999999L448 -32L378.29 86.78L437.1500000000001 75.26L367.3100000000001 166.29C370.3400000000001 183.3 370.3500000000001 200.73 367.3100000000001 217.74L437.1500000000001 308.77L378.2900000000001 297.25L448 416L329.25 346.29L340.77 405.19L249.71 335.32C241.21 336.84 232.61 337.61 224 337.61S206.79 336.83 198.29 335.32L107.23 405.19L118.75 346.29L0 416zM224 316.2200000000001C255.8 316.2200000000001 287.6 304.1 311.85 279.85C360.35 231.35 360.3400000000001 152.64 311.85 104.15S184.65 55.69 136.15 104.18C87.65 152.68 87.66 231.39 136.15 279.88C160.3900000000001 304.13 192.2000000000001 316.2199999999999 224 316.2199999999999zM224 279.56C201.58 279.56 179.17 271.04 162.08 253.95C127.9 219.77 127.89 164.27 162.08 130.08S251.73 95.9 285.92 130.08C320.1 164.26 320.11 219.76 285.92 253.95C268.83 271.04 246.42 279.56 224 279.56z" /> + <glyph glyph-name="skyatlas" + unicode="" + horiz-adv-x="640" d=" M640 118.7C640 52.8 587.5 4.3 522.5 4.3C356.6 4.3 325.9 254 162.8 254C15.9 254 15.7 41.8 168.4 41.8C210.9 41.8 259.3 59.6 293.7 84.3C299.3 88.4 310.6 100.6 316.5 100.6S327.4 95.6 327.4 89.7C327.4 81.9 314.3 70.6 308.7 65.6C267.8 29.9999999999999 208.4 4.4 154 4.4C70.6 4.3 0 63.4 0 149.3S67.5 298.4 152.8 298.4C338.1 298.4 375.3 52.4999999999999 514.7 52.4999999999999C614.6 52.4999999999999 609.5 192.1999999999999 518.1 192.1999999999999C500.6 192.1999999999999 483.1 180.5999999999999 471.2 180.5999999999999C462.8000000000001 180.5999999999999 455.3000000000001 187.7999999999999 455.3000000000001 196.1999999999999C455.3000000000001 207.7999999999999 460.6000000000001 219.8999999999999 460.6000000000001 232.4999999999999C460.6000000000001 299.0999999999999 409.7000000000001 347.1999999999999 343.7000000000001 347.1999999999999C290.6 347.1999999999999 263.7000000000001 310.2999999999999 254.9000000000001 310.2999999999999C248.7000000000001 310.2999999999999 243.7000000000001 315.2999999999999 243.7000000000001 321.4999999999999C243.7000000000001 327.0999999999999 247.8000000000001 331.7999999999999 251.5000000000001 335.8999999999999C276.8000000000001 364.7 316.2000000000001 379.5999999999999 354.3000000000001 379.5999999999999C433.7000000000001 379.5999999999999 493.4000000000001 321.2 493.4000000000001 241.7999999999999C493.4000000000001 234.8999999999999 493.1000000000001 228.0999999999999 492.2000000000001 221.1999999999999C504.1000000000001 224.2999999999999 516.3000000000001 225.8999999999999 528.1000000000001 225.8999999999999C588.8000000000002 225.8999999999999 640.0000000000001 180.5999999999999 640.0000000000001 118.6999999999999z" /> + <glyph glyph-name="skype" + unicode="" + horiz-adv-x="448" d=" M424.7 148.2C427.6 162.2 429.4 177.1 429.4 192C429.4 305.5 337.5 397.3 224.1 397.3C209.2 397.3 194.4 395.6 180.3 392.6C161.3 407.3 137.7 416 112 416C50.2 416 0 365.8 0 304C0 278.3 8.7 254.7 23.3 235.8C20.4 221.8 18.6 206.9 18.6 192C18.6 78.5 110.5 -13.3 223.9 -13.3C238.8 -13.3 253.6 -11.6 267.7 -8.6C286.7 -23.2 310.3 -31.9 335.9 -31.9C397.7 -31.9 447.9 18.3 447.9 80.1C448 105.7 439.3 129.3 424.7 148.1999999999999zM230.1 56.7C164.5 56.7 109.6 85.9 109.6 121.7C109.6 137.7 118.6 152.3 139.1 152.3C170.3 152.3 173.2 107.4 227.2 107.4C252.9 107.4 269.5 118.8 269.5 133.7000000000001C269.5 152.4 253.5 155.3000000000001 227.5 161.7000000000001C165 177.1 109.7 183.7000000000001 109.7 248.9000000000001C109.7 308.1 168.3 330 218.8 330C273.9000000000001 330 329.6 308.1 329.6 274.6C329.6 257.7000000000001 318.2000000000001 242.8 299.3 242.8C271 242.8 270.1 276.3 224.3 276.3C198.6 276.3 182.3 269.3 182.3 253.8C182.3 234 203.1 232 251.4 220.8C292.8 211.5 342.1 194 342.1 143.2000000000001C342.1 84.1 285 56.7000000000001 230.1 56.7000000000001z" /> + <glyph glyph-name="slack-hash" + unicode="" + horiz-adv-x="448" d=" M446.2 177.6C440 196.6 419.3 206.7 400.2 200.5L354.8 185.4L324.5 275.4000000000001L369.9 290.5C389 296.7000000000001 399 317.3000000000001 392.9 336.4000000000001C386.7 355.4000000000001 366 365.5 346.9 359.3000000000001L301.5 344.2000000000001L285.8 391.2000000000001C279.6 410.2000000000001 258.9000000000001 420.3000000000001 239.8 414.1C220.7 407.9000000000001 210.7 387.3000000000001 216.8 368.2000000000001L232.5 321.2000000000001L139.1 290.0000000000001L123.4 337.0000000000001C117.2 356.0000000000001 96.5 366.1 77.4 359.9000000000001C58.3 353.7000000000001 48.3 333.1000000000001 54.4 314.0000000000001L70.1 267.0000000000001L24.8 252.0000000000001C5.7 245.8000000000001 -4.3 225.2000000000001 1.8 206.1000000000001C6.8 191.6 20.9 182.1 35.4 181.5000000000001C42.2 180.5000000000001 47.4 183.1000000000001 93.1 198.3000000000001L123.4 108.3000000000001L78 93.2C59 87 48.9 66.3 55 47.3C60 32.8 74.1 23.3 88.6 22.7C95.4 21.7 100.6 24.3 146.3 39.5L162 -7.5C167.9 -24.4 186.7 -36.5 208 -30.4C227.1 -24.2 237.1 -3.6 231 15.5L215.3 62.5L308.9 93.8L324.6 46.8C330.5 29.9 349.3 17.8 370.6 23.9C389.7 30.1 399.7 50.7 393.6 69.8L377.9 116.8L423.3 131.9C442.3 137.9 452.4 158.6 446.2 177.6zM192.1 130.4L161.8 220.6L255.3 251.9000000000001L285.6 161.7000000000001L192.1 130.4z" /> + <glyph glyph-name="slack" + unicode="" + horiz-adv-x="448" d=" M244.2 230.5L263.5 172.8L203.7 152.8L184.4 210.5L244.2 230.5zM285.6 -13.2C131.6 -59.4 65 -23.6 18.8 130.4S8.4 351 162.4 397.2C316.4 443.4 383 407.6 429.2 253.6C475.4 99.6 439.6 33 285.6 -13.2zM366.2 183C362.3 195.2 349 201.6 336.8 197.7L307.8 188L288.5 245.7L317.5 255.4C329.7 259.3 336.1 272.6 332.2 284.8C328.3 297 315 303.4 302.8 299.5L273.8 289.8L263.8 319.9C259.9000000000001 332.1 246.6 338.5 234.4 334.6C222.2 330.7 215.8 317.4 219.7 305.2L229.7 275.1L169.9 255L159.9 285.1C156 297.3 142.7000000000001 303.7 130.5 299.8C118.3 295.9 111.9 282.6 115.8 270.4L125.8 240.3L96.8 230.6C84.6 226.7 78.2 213.4 82.1 201.2C85.3 191.9 94.3 185.8 103.6 185.4C107.9 184.8 111.3 186.4 140.5 196.1L159.8000000000001 138.4L130.8000000000001 128.7C118.6 124.8 112.2000000000001 111.5 116.1 99.3C119.3000000000001 90 128.3000000000001 83.9 137.6 83.5C141.9 82.9 145.3 84.5 174.5 94.2L184.5 64.1C188.2 53.3 200.3000000000001 45.4999999999999 213.9 49.4C226.1 53.3 232.5000000000001 66.6 228.6 78.8L218.6 108.9L278.4000000000001 129L288.4000000000001 98.9C292.1 88.1 304.2000000000001 80.3 317.8 84.2C330 88.1 336.4000000000001 101.4 332.5 113.6L322.5 143.7L351.5 153.4C363.7 157.6 370.1 170.9 366.2 183z" /> + <glyph glyph-name="slideshare" + unicode="" + horiz-adv-x="512" d=" M249.429 236.564C249.429 204.848 221.714 178.847 187.712 178.847C153.711 178.847 125.996 204.848 125.996 236.564C125.996 268.565 153.711 294.28 187.712 294.28C221.713 294.28 249.429 268.565 249.429 236.564zM503.723 186.562C485.437 163.989 450.579 136.274 397.4340000000001 114.559C453.722 -77.163 260 -107.735 263.143 -9.446C263.143 -11.16 262.857 43.413 262.857 83.986C258.572 84.844 254.286 85.986 249.143 87.129C249.143 46.271 248.857 -11.16 248.857 -9.446C252 -107.735 58.278 -77.163 114.566 114.559C61.421 136.274 26.563 163.989 8.276 186.562C-0.867 200.276 9.134 214.849 24.277 204.277C26.277 202.849 28.562 201.42 30.562 199.992V398.284C30.563 425.713 51.135 448 76.565 448H435.722C461.151 448 481.724 425.713 481.724 398.284V199.991L487.724 204.276C502.867 214.849 512.867 200.276 503.723 186.562zM457.151 375.712C457.151 408.57 446.579 421.428 416.2920000000001 421.428H98.566C66.85 421.428 57.993 410.5700000000001 57.993 375.712V183.419C125.71 147.989 183.713 154.275 215.428 155.418C228.857 155.704 237.429 153.132 242.572 147.703C244.261 146.016 252.595 138.257 262.859 130.5600000000001C264.002 146.275 272.86 156.275 296.575 155.4180000000001C328.862 153.9900000000001 388.293 147.7030000000001 457.152 185.1340000000001V375.712zM331.146 294.28C297.144 294.28 269.43 268.565 269.43 236.564C269.43 204.848 297.145 178.847 331.146 178.847C365.433 178.847 392.862 204.848 392.862 236.564C392.862 268.565 365.4330000000001 294.28 331.146 294.28z" /> + <glyph glyph-name="snapchat-ghost" + unicode="" + horiz-adv-x="512" d=" M510.846 55.327C505.635 43.17 483.607 34.238 443.486 28.009C441.422 25.223 439.711 13.323 436.979 4.053C435.354 -1.513 431.356 -4.816 424.851 -4.816L424.554 -4.811C415.159 -4.811 405.351 -0.4880000000001 385.702 -0.4880000000001C359.181 -0.4880000000001 350.04 -6.5310000000001 329.448 -21.0760000000001C307.616 -36.5140000000001 286.677 -49.8400000000001 255.421 -48.4750000000001C223.775 -50.8090000000001 197.396 -31.5670000000001 182.55 -21.0710000000001C161.836 -6.4280000000001 152.722 -0.4890000000001 126.309 -0.4890000000001C107.445 -0.4890000000001 95.573 -5.2090000000001 87.457 -5.2090000000001C79.384 -5.2090000000001 76.244 -0.2870000000001 75.035 3.8309999999999C72.332 13.0199999999999 70.631 25.0939999999999 68.512 27.9609999999999C47.833 31.1699999999999 1.202 39.3049999999999 0.014 60.1109999999999A10.627 10.627 0 0 0 8.891 71.1799999999999C78.474 82.6349999999999 109.815 154.0809999999999 111.118 157.1139999999999C111.192 157.2899999999999 111.273 157.4579999999999 111.355 157.6289999999999C115.068 165.1659999999999 115.899 171.4779999999999 113.818 176.3819999999999C108.768 188.2779999999999 86.946 192.5459999999999 77.765 196.1779999999999C54.05 205.5439999999999 50.75 216.3059999999999 52.153 223.6819999999999C54.59 236.5179999999999 73.878 244.4169999999999 85.155 239.1349999999999C94.074 234.9539999999999 101.998 232.8379999999999 108.702 232.8379999999999C113.724 232.8379999999999 116.914 234.0419999999999 118.662 235.0089999999999C116.619 270.9449999999999 111.561 322.2989999999999 124.349 350.9779999999999C158.122 426.6960000000001 229.705 432.58 250.826 432.58C251.77 432.58 259.967 432.669 260.936 432.669C313.084 432.669 363.19 405.889 387.659 351.026C400.436 322.376 395.408 271.234 393.354 235.017C394.936 234.145 397.711 233.075 401.953 232.878C408.35 233.164 415.768 235.267 424.022 239.135C430.107 241.981 438.428 241.596 444.502 239.077L444.531 239.067C454.007 235.682 459.97 228.852 460.12 221.197C460.304 211.45 451.598 203.032 434.242 196.179C432.124 195.344 429.548 194.524 426.808 193.654C417.011 190.548 402.208 185.849 398.192 176.383C396.113 171.479 396.9360000000001 165.172 400.652 157.635C400.739 157.467 400.818 157.293 400.891 157.12C402.192 154.09 433.506 82.66 503.121 71.186C509.548 70.128 514.284 63.309 510.846 55.3270000000001z" /> + <glyph glyph-name="snapchat-square" + unicode="" + horiz-adv-x="448" d=" M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM393.5 101.1C390 93 375.4 87.1 348.7 82.9C347.3 81.0000000000001 346.2 73.1 344.4 67.0000000000001C343.3 63.3000000000001 340.7 61.1000000000001 336.3 61.1000000000001H336.1C329.9 61.1000000000001 323.3 64.0000000000001 310.3 64.0000000000001C292.7 64.0000000000001 286.6 60.0000000000001 272.9 50.3000000000001C258.4 40.0000000000001 244.5 31.2 223.7 32.1000000000001C202.7 30.5000000000001 185.1 43.3000000000001 175.2 50.3000000000001C161.4 60.0000000000001 155.4 64.0000000000001 137.8 64.0000000000001C125.3 64.0000000000001 117.4 60.9 112 60.9C106.6 60.9 104.5 64.2000000000001 103.7 66.9C101.9 73.0000000000001 100.8 81.0000000000001 99.4 82.9C85.6 85.0000000000001 54.6 90.4 53.9 104.3C53.7 107.9 56.2 111.1 59.8 111.7C106.1 119.3 126.9 166.8 127.8 168.8C127.8 168.9 127.9 169 128 169.1C130.5 174.1 131 178.3 129.6 181.6C126.2 189.5 111.7 192.3 105.6 194.8C89.8 201 87.6 208.2 88.6 213.1C90.2 221.6 103 226.9000000000001 110.5 223.4C116.4 220.6 121.7 219.2000000000001 126.2 219.2000000000001C129.5 219.2000000000001 131.7 220.0000000000001 132.8 220.6000000000001C131.4 244.5000000000001 128.1 278.6 136.6 297.7000000000001C159.1 348 206.7 352 220.7 352C221.3 352 226.8 352.1 227.4 352.1C262.1 352.1 295.4 334.3 311.7 297.8C320.2 278.7000000000001 316.9 244.7 315.5 220.7C316.6 220.1 318.4 219.4 321.2 219.3C325.5 219.5 330.4 220.9 335.9 223.5C339.9 225.4 345.5 225.1 349.5 223.5C355.8 221.2 359.8 216.7 359.9 211.6C360 205.1 354.2 199.5 342.7 195C341.3 194.4 339.6 193.9 337.8 193.3C331.3 191.2 321.4000000000001 188.1 318.8 181.8C317.4000000000001 178.5 318 174.3 320.4000000000001 169.3C320.5000000000001 169.2 320.5000000000001 169.1 320.6 169C321.5 167 342.3 119.5 388.6 111.9C392.6 110.9 395.7000000000001 106.4 393.5 101.1z" /> + <glyph glyph-name="snapchat" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM417.5 101.1C414 93 399.4 87.1 372.7 82.9C371.3 81.0000000000001 370.2 73.1 368.4 67.0000000000001C367.3 63.3000000000001 364.7 61.1000000000001 360.3 61.1000000000001H360.1C353.9 61.1000000000001 347.3 64.0000000000001 334.3 64.0000000000001C316.7 64.0000000000001 310.6 60.0000000000001 296.9 50.3000000000001C282.4 40.0000000000001 268.5 31.2 247.7 32.1000000000001C226.7 30.5000000000001 209.1 43.3000000000001 199.2 50.3000000000001C185.4 60.0000000000001 179.4 64.0000000000001 161.8 64.0000000000001C149.3 64.0000000000001 141.4 60.9 136 60.9C130.6 60.9 128.5 64.2000000000001 127.7 66.9C125.9 73.0000000000001 124.8 81.0000000000001 123.4 82.9C109.6 85.0000000000001 78.6 90.4 77.9 104.3C77.7 107.9 80.2 111.1 83.8 111.7C130.1 119.3 150.9 166.8 151.8 168.8C151.8 168.9 151.9 169 152 169.1C154.5 174.1 155 178.3 153.6 181.6C150.2 189.5 135.7 192.3 129.6 194.8C113.8 201 111.6 208.2 112.6 213.1C114.2 221.6 127 226.9000000000001 134.5 223.4C140.4 220.6 145.7 219.2000000000001 150.2 219.2000000000001C153.5 219.2000000000001 155.7 220.0000000000001 156.8 220.6000000000001C155.4 244.5000000000001 152.1 278.6 160.6 297.7000000000001C183.1 348 230.7 352 244.7 352C245.3 352 250.8 352.1 251.4 352.1C286.1 352.1 319.4 334.3 335.7 297.8C344.2 278.7000000000001 340.9 244.7 339.5 220.7C340.6 220.1 342.4 219.4 345.2 219.3C349.5 219.5 354.4 220.9 359.9 223.5C363.9 225.4 369.5 225.1 373.5 223.5C379.8 221.2 383.8 216.7 383.9 211.6C384 205.1 378.2 199.5 366.7 195C365.3 194.4 363.6 193.9 361.8 193.3C355.3 191.2 345.4000000000001 188.1 342.8 181.8C341.4000000000001 178.5 342 174.3 344.4000000000001 169.3C344.5000000000001 169.2 344.5000000000001 169.1 344.6 169C345.5 167 366.3 119.5 412.6 111.9C416.6 110.9 419.7000000000001 106.4 417.5 101.1z" /> + <glyph glyph-name="soundcloud" + unicode="" + horiz-adv-x="640" d=" M111.4 191.7L117.2 126.7L111.4 58.4C111.1 55.9 109.2 54 107 54S102.8 55.9 102.8 58.4L97.2 126.7L102.8 191.7C102.8 193.9 104.7 195.9 107 195.9C109.2 195.9 111.1 193.9 111.4 191.7zM132.8 237.3C130 237.3 128.1 235.1 127.8 232.3L122.8 126.7L127.8 58.4C128.1 55.6 130 53.4 132.8 53.4C135.3 53.4 137.5 55.6 137.5 58.4L143.3 126.7L137.5 232.3C137.5 235.1 135.3 237.3 132.8 237.3zM158.3 261.4C155.2 261.4 153 259.2 152.7 256.1L148.3 126.1L152.7 58.3C153 55.1999999999999 155.2 52.9999999999999 158.3 52.9999999999999C161.1 52.9999999999999 163.6 55.1999999999999 163.6 58.3L168.9 126.1L163.6 256.1C163.6 259.2 161.1 261.4 158.3 261.4zM7.2 164.8C5.8 164.8 5 163.7 4.7 162.3L0 126.7L4.7 91.7C5 90.3 5.8 89.2 7.2 89.2S9.4 90.3 9.7 91.7L15.3 126.7L9.7 162.3C9.4 163.7 8.6 164.8 7.2 164.8zM30.8 186.7C29.4 186.7 28.3 185.6 28.3 184.2L21.9 126.7L28.3 70.6C28.3 68.9 29.4 67.8 30.8 67.8S33.3 68.9 33.6 70.3L40.8 126.6999999999999L33.6 184.1999999999999C33.3 185.5999999999999 32.2 186.6999999999999 30.8 186.6999999999999zM56.1 198.1C54.4 198.1 53 196.7 52.8 194.8L47 126.7L52.8 60.9C53.1 59.2 54.5 57.8 56.1 57.8C57.8 57.8 59.2 59.1999999999999 59.2 60.9L66.1 126.7L59.2 194.8C59.2 196.7 57.8 198.1 56.1 198.1zM81.4 200.3C79.5 200.3 77.8 198.9 77.8 196.7L72 126.7L77.8 58.9C77.8 56.7 79.5 55.3 81.4 55.3S85 56.6999999999999 85.3 58.9L91.7 126.7L85.3 196.7C85 198.9 83.3 200.3 81.4 200.3zM322.8 311.2C321.7 312 320 312.6 318.6 312.6C316.4000000000001 312.6 314.4000000000001 311.8 313 310.7C311.1 309 309.9 306.5 309.7 304V303.2L306.4 126.5L308.1 94L309.8 62.3C310.1 57.6 314 53.7 318.7 53.7S327.3 57.6 327.3 62.3L331.2 126.5L327.3 304C326.9 307 325.3 309.8 322.8 311.2zM296.1 295.9C294.7000000000001 296.7 293.3 297.3 291.7000000000001 297.3S288.6 296.7 287.3000000000001 295.9C285.1000000000001 294.5 283.7000000000001 292 283.7000000000001 289.2L283.4000000000001 287.5L280.6 126.7S280.6 126.4 283.7000000000001 61.1V60.8C283.7000000000001 59.1 284.3000000000001 57.5 285.4000000000001 56.1C287.1 54.2 289.3 53 291.8 53C294 53 296 54.1 297.4000000000001 55.5C299.1 56.9 299.9000000000001 58.8 299.9000000000001 61.1L300.2000000000001 67.8L303.3000000000001 126.4L300.0000000000001 289.2000000000001C299.7000000000001 292.0000000000001 298.3000000000001 294.5000000000001 296.1000000000001 295.9000000000001zM184.7 273.4C181.6 273.4 178.9 270.6 178.9 267.3L174.5 126.7L178.9 59.5C179.2 56.2 181.7 53.7 184.7 53.7C188 53.7 190.5 56.2 190.8 59.5L195.8 126.7L190.8 267.3C190.6 270.6 188.1 273.4 184.7 273.4zM561.4 210.6C550.6 210.6 540.3 208.4 530.8 204.5C524.4 275.3 464.9999999999999 330.9 392.5 330.9C374.7 330.9 357.5 327.6 342.2 321.5C336.0999999999999 319.3 334.3999999999999 317.1 334.3999999999999 312.3V62.6C334.3999999999999 57.6 338.2999999999999 54 343 53.4H561.3C604.5999999999999 53.4 639.9 88.4 639.9 131.7000000000001C640 175.3000000000001 604.6999999999999 210.6000000000001 561.4 210.6000000000001zM264.7 270.9C260.5 270.9 257.2 267.6 256.9 263.1L253.6 126.4L256.9 60.8C257.2 56.6 260.5 53.3 264.7 53.3C268.9 53.3 272.2 56.6 272.2 60.8L276.1 126.4L272.2 263.1C271.9 267.6 268.9 270.9 264.7 270.9zM211.1 278.7C207.8 278.7 204.7 275.6 204.7 272L200.8 126.7L204.7 59.8C205 56.1999999999999 207.8 53.4 211.1 53.4C214.7 53.4 217.5 56.2 217.8 59.8L222.2 126.6999999999999L217.8 272C217.5 275.5999999999999 214.7 278.7 211.1 278.7zM237.8 275.3C233.9 275.3 230.9 272.2 230.9 268.4L227 126.7L230.9 60.3C231.2 56.4 234 53.4 237.8 53.4S244.7 56.5 244.7 60.3L248.9 126.6999999999999L244.7 268.3999999999999C244.7 272.3 241.7 275.3 237.8 275.3z" /> + <glyph glyph-name="speakap" + unicode="" + horiz-adv-x="448" d=" M352 416H96C43.2 416 0 372.8 0 320V64C0 11.2 43.2 -32 96 -32H352C404.8 -32 448 11.2 448 64V320C448 372.8 404.8 416 352 416zM221 65.1C181.4 65.1 139.1 82.9 139.1 118.8V146H179V128.2C179 113.1 198.5 103.7 220.9 103.7C245.1 103.7 262.2 114.1 262.2 133.2C262.2 157 235 165.1 207.5 175.8C175.6 188.2 144.4 202 144.4 244.9C144.4 292.9 183 311.3 224.3 311.3C261.9000000000001 311.3 299.8 297.2000000000001 299.8 269.4V238.2H259.9000000000001V254.3C259.9000000000001 266.4 242.1 272.8 224.3000000000001 272.8C204.8000000000001 272.8 188.7000000000001 264.7000000000001 188.7000000000001 246.6C188.7000000000001 224.5 211.2000000000001 217.4 235.7000000000001 207.7C271.6 195.3 306.8000000000001 180.5 306.8000000000001 136.2000000000001C306.9000000000001 87.6 266.0000000000001 65.1 221.0000000000001 65.1z" /> + <glyph glyph-name="spotify" + unicode="" + horiz-adv-x="496" d=" M248 440C111.1 440 0 328.9 0 192S111.1 -56 248 -56S496 55.1 496 192S384.9 440 248 440zM348.7 75.1C344.5 75.1 341.9 76.4 338 78.7000000000001C275.6 116.3000000000001 203 117.9 131.3 103.2000000000001C127.4 102.2000000000001 122.3 100.6 119.4 100.6C109.7 100.6 103.6 108.3 103.6 116.4C103.6 126.7000000000001 109.7 131.6 117.2 133.2000000000001C199.1 151.3000000000001 282.8 149.7000000000001 354.2 107.0000000000001C360.3 103.1000000000001 363.9 99.6000000000001 363.9 90.5000000000001S356.8 75.1000000000001 348.7 75.1000000000001zM375.6 140.7000000000001C370.4 140.7000000000001 366.9 143.0000000000001 363.3 144.9C300.8 181.9 207.6 196.8000000000001 124.7 174.3C119.9 173 117.3 171.7 112.8 171.7C102.1 171.7 93.4 180.4 93.4 191.1S98.6 208.9 108.9 211.8C136.7 219.6 165.1 225.4 206.6999999999999 225.4C271.5999999999999 225.4 334.3 209.3 383.7 179.9C391.8 175.1 395 168.9 395 160.2C394.8999999999999 149.4 386.5 140.7 375.6 140.7zM406.6 216.9C401.4 216.9 398.2 218.2000000000001 393.7 220.8000000000001C322.5 263.3000000000001 195.2 273.5000000000001 112.8 250.5000000000001C109.2 249.5000000000001 104.7 247.9000000000001 99.9 247.9000000000001C86.7 247.9000000000001 76.6 258.2000000000001 76.6 271.5C76.6 285.1 85 292.8000000000001 94 295.4000000000001C129.2 305.7000000000001 168.6 310.6 211.5 310.6C284.5 310.6 361 295.4000000000001 416.9 262.8C424.7 258.3 429.8 252.1 429.8 240.2C429.8 226.6 418.8 216.9 406.6 216.9z" /> + <glyph glyph-name="squarespace" + unicode="" + horiz-adv-x="512" d=" M186.12 104.66C176.47 95.0100000000001 176.47 79.37 186.12 69.72C195.77 60.0700000000001 211.41 60.0700000000001 221.06 69.72L378.24 226.9C397.5300000000001 246.19 428.81 246.19 448.1 226.9S467.39 176.33 448.1 157.04L293.95 2.9C313.22 -16.39 344.48 -16.41 363.77 2.86L363.81 2.9L483.06 122.14C521.65 160.73 521.65 223.28 483.06 261.86C444.4700000000001 300.45 381.91 300.45 343.3400000000001 261.86L186.12 104.66zM430.65 209.46C421 219.1100000000001 405.36 219.1100000000001 395.72 209.46L238.52 52.28C219.25 32.99 187.99 32.97 168.7 52.23L168.65 52.28C159.01 61.92 143.38 61.93 133.73 52.29L133.72 52.28C124.07 42.64 124.06 27 133.7 17.35L133.72 17.33C172.3 -21.24 234.86 -21.24 273.44 17.33L430.64 174.53C440.2899999999999 184.18 440.2899999999999 199.82 430.6499999999999 209.46zM168.66 122.1300000000001L325.84 279.3100000000001C335.48 288.9600000000001 335.48 304.6 325.84 314.2500000000001C316.2 323.8900000000001 300.57 323.8900000000001 290.93 314.2500000000001L133.72 157.07C114.44 137.78 83.16 137.77 63.87 157.06L63.86 157.07C44.57 176.35 44.55 207.61 63.83 226.91L63.86 226.94L218.03 381.11C198.75 400.4 167.48 400.41 148.18 381.13L148.16 381.11L28.93 261.86C-9.65 223.27 -9.65 160.72 28.93 122.14C67.53 83.55 130.06 83.55 168.66 122.13zM81.33 174.53C90.97 164.8900000000001 106.6 164.8900000000001 116.24 174.53L273.45 331.7200000000001C292.73 351.01 324 351.0200000000001 343.29 331.74L343.31 331.7200000000001C352.9599999999999 322.0700000000001 368.6 322.0700000000001 378.24 331.7200000000001C387.89 341.37 387.89 357.01 378.24 366.6500000000001C339.65 405.24 277.11 405.24 238.52 366.6500000000001L81.33 209.46C71.68 199.82 71.68 184.18 81.32 174.53H81.33z" /> + <glyph glyph-name="stack-exchange" + unicode="" + horiz-adv-x="448" d=" M17.7 115.7H430.4V93.7C430.4 56 401.1 25.7 365.1 25.7H346.1L259.3 -64V25.7H83C47 25.7 17.7 56 17.7 93.7V115.7zM17.7 139.3H430.4V224.3H17.7V139.3zM17.7 248.7H430.4V333.7000000000001H17.7V248.7zM365 448H83C47 448 17.7 417.7 17.7 380.3V358H430.4V380.3C430.3 417.7 401 448 365 448z" /> + <glyph glyph-name="stack-overflow" + unicode="" + horiz-adv-x="384" d=" M293.7 148L112.5 232.5L129.2 269L310.5 184.3L293.7 148zM341.7 224L188.2 352.3L162.7 321.5L316.2 193.2L341.7 224zM381.3 255.7L262 416L230 392L349.3 231.7L381.3 255.7zM290.7 137L95 178.3L86.8 139L282.5 98L290.7 137zM322.3 8H42.7V128H2.7V-32H362.2V128H322.2V8zM282.5 88H82.5V48.3H282.5V88z" /> + <glyph glyph-name="staylinked" + unicode="" + horiz-adv-x="440" d=" M201.6 320.6C205.7 323.8 211.9 323.6 215.4 320.1L385.4 152.8L382.7 155.5L427 114.1999999999999C430.7 110.6999999999999 430.3 105.1999999999999 426.3 101.9999999999999L228.3 -61.9000000000001C218.4 -69.5000000000001 211 -62.7000000000001 211 -62.7000000000001L2.3 133.4C-1.2 136.9 -0.7 142.4 3.5 145.6L49.3 180.5C53.5 183.6999999999999 59.7 183.5 63.2 180L215.1 32.4999999999999C218.8 28.9999999999999 225.1 28.8 229.3 32.1L322.5 106.1C326.6 109.3 327 114.8 323.4 118.3L239.4 199.6C235.8 203.1 229.5 203.3 225.4 200.1L225.3 200C221.2 196.8 214.9 197 211.3 200.5L143.2 264.8C139.7 268.3 140.1 273.8 144.3 277L201.6 320.5999999999999M216.4 63.3C220.1 59.8 226.5 59.6 230.7 62.9L280.9 101.7L280.6 102L288.3 108C292.5 111.2 292.9 116.7 289.2 120.2L232.1 174.6C228.5 178.1 222.0999999999999 178.3 217.9 175.1L217.8 175C213.6 171.8 207.3 171.8999999999999 203.6 175.3999999999999L109 267.2C105.4 270.7 105.9 276.1 110.1 279.4L202.3 350.9C206.4 354.1 212.6 353.9 216.2 350.4L376.6 191.4C380.3 187.9 386.6 187.7 390.7000000000001 190.9L436.5000000000001 226.7C440.6000000000001 229.9 440.9000000000001 235.4 437.2000000000001 238.9L226.7 445.5C225.2 446.7 218.7 451 210.4 444.4L3.6 282.3C-0.6 279.1 -1.2 273.6 2.4 270.1L44.7 228.4000000000001" /> + <glyph glyph-name="steam-square" + unicode="" + horiz-adv-x="448" d=" M185.2 91.5C192.9 110 184.2 131.2 165.6 138.9L136.1 151.1C147.5 155.4 160.4 155.6 172.5 150.6C184.7 145.5 194.1 136 199.2 123.9C204.2 111.7 204.2 98.3 199.1 86.2C188.6 61.1 159.7 49.2 134.5 59.7C122.9 64.5 114.1 73.3 109.1 83.9L137.6 72.1C156.2 64.3 177.5 72.9999999999999 185.2 91.4999999999999zM400 416H48C21.5 416 0 394.5 0 368V207.3L116.6 159.2C128.6 167.4 142.8 171.3 157.3 170.5L212.7 250.7V251.8C212.7 300 252 339.3 300.3 339.3S387.9 300 387.9 251.8C387.9 202.6 347 163.1 298.3 164.3L219.3 107.9999999999999C220.9 69.4999999999999 190.2 39.1999999999999 153.6 39.1999999999999C121.8 39.1999999999999 95.1 61.8999999999999 89.1 91.8999999999999L0 128.8V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM300.3 193.5C268.1 193.5 241.9 219.6 241.9 251.8S268.1 310.1 300.3 310.1S358.7 283.9000000000001 358.7 251.8S332.5 193.5 300.3 193.5zM300.4000000000001 208.1C324.6 208.1 344.3 227.7 344.3 251.9C344.3 276.1 324.7 295.7 300.4000000000001 295.7C276.2000000000001 295.7 256.5000000000001 276.1 256.5000000000001 251.9C256.5000000000001 227.7 276.2000000000001 208.1 300.4000000000001 208.1z" /> + <glyph glyph-name="steam-symbol" + unicode="" + horiz-adv-x="448" d=" M395.5 270.5C395.5 236.7 368 209.5 334.5 209.5C300.7 209.5 273.5 236.8 273.5 270.5S300.8 331.5 334.5 331.5C368 331.5 395.5 304.3 395.5 270.5zM448 270.3C448 207.3 397 156.5 334.3 156.5L225 76.7C221 33.7 184.5 -0.1 140.5 -0.1C100 -0.1 65.8 28.7 57.5 66.9L0 90V197.3L97.2 158C112.3 167.2 129.4 171.3 149.2 169.5L220.2 271.2C220.7 333.5 271.7 384 334.2 384C397 384 448 333 448 270.3zM203 85C203 119.7 175.2 147.5 140.5 147.5C136 147.5 131.5 147 127 146L153 135.5C178.5 125.3 191 96.5 180.7 71C170.5 45.5 141.5 33 116 43.5C105.8 47.5 95.5 51.8 85.3 55.7C95.8 36 116.5 22.5 140.5 22.5C175.2 22.5 203 50.3 203 85zM410.5 270.3C410.5 312.3 376.2 346.5 334.3 346.5C292 346.5 257.8 312.3 257.8 270.3C257.8 228.1 292.1 194.1 334.3 194.1C376.2 194 410.5 228.0000000000001 410.5 270.3z" /> + <glyph glyph-name="steam" + unicode="" + horiz-adv-x="496" d=" M496 192C496 55 384.8 -56 247.6 -56C133.8 -56 38 20.3 8.6 124.4L103.8 85.1C110.2 52.9999999999999 138.7 28.7 172.7 28.7C211.9 28.7 244.6 61.1 242.9 102.2L327.4 162.4C379.5 161.1 423.2 203.3 423.2 255.9C423.2 307.5 381.2 349.4 329.5 349.4S235.8 307.4 235.8 255.9V254.7L176.6 169C161.1 169.9 145.9 165.6 133.1 156.9L0 211.9C10.2 339.6 117.1 440 247.6 440C384.8 440 496 329 496 192zM155.7 63.7L125.2 76.3A52.79 52.79 0 0 1 152.4 50.5C179.3 39.3 210.2 52.1 221.4 78.9C226.8 91.9 226.9 106.2 221.5 119.2C216.1 132.2 206 142.4 193 147.8C180.1 153.2 166.3 153 154.1 148.4L185.6 135.4C205.4 127.2000000000001 214.8 104.5000000000001 206.5 84.7000000000001C198.2 64.8000000000001 175.5 55.5000000000001 155.7 63.7000000000001zM329.5 193.6C295.1 193.6 267.1 221.6 267.1 255.9S295.1 318.2 329.5 318.2S391.9 290.2 391.9 255.9S364 193.6 329.5 193.6zM329.6 209.2C355.5 209.2 376.5 230.2 376.5 256C376.5 281.9 355.5 302.8 329.6 302.8S282.7000000000001 281.8 282.7000000000001 256C282.8000000000001 230.2 303.8000000000001 209.2 329.6 209.2z" /> + <glyph glyph-name="sticker-mule" + unicode="" + horiz-adv-x="576" d=" M353.1 -61.8C347.2000000000001 -64.7 321 -65 316.6 -61.3C312.5 -58.3 314.4000000000001 -49.4 315.1 -46.3C317.3 -31.3 312.6 -38.4 305.3 -34.8C302.2 -33.3 301.2 -29.3 300.7 -24.8C300.2 -23.3 299.7 -22.3 299.2 -21.3C297.5 -10.6 306 12.3 307.4 22.1C312.3 45.8 306.7 59.3 308.9 68.9999999999999C312.6 85.1999999999999 313 72.4999999999999 313 98.8999999999999C311.6 124.7999999999999 316.3 135.7999999999999 313.5 137.7999999999999C298.7 137.7999999999999 249.2 127.0999999999999 201.3 135.7999999999999C155.2 144.6999999999999 141.9 164.7999999999999 135.9 166.6999999999999C125.6 171.1999999999999 112.7 166.1999999999999 108.6 159.6999999999999C108.5 159.5999999999999 73.6 89.0999999999999 69 71.8999999999999C62.8 51.3999999999999 68.5 24.4999999999999 73.1 5.0999999999999C73.1 4.9999999999998 77.6 -9.5000000000002 83.4 -14.4000000000001C85.5 -15.9000000000001 88.5 -16.9000000000001 90.6 -18.9000000000001C93.4 -21.6000000000001 100 -34.1000000000001 100.4 -34.9000000000001C103 -39.4000000000001 104 -42.9000000000001 98.9 -45.4000000000001C95.3 -47.4000000000001 89.6 -47.9000000000001 84.5 -47.9000000000001C81.9 -48.4000000000001 83 -51.4000000000001 81.4 -52.9000000000001C78.5 -55.7000000000002 60.7 -59.0000000000002 51.5 -55.4000000000001C48.9 -54.4000000000001 45.8 -52.4000000000001 45.3 -50.4000000000001C43.8 -46.4000000000001 47.4 -41.4000000000001 44.3 -37.9000000000001C39.8 -35.0000000000002 31.2 -35.9000000000001 27.3 -25.9000000000001C25.1 -20.5000000000002 24.7 -18.3000000000001 24.7 23.4999999999998C24.7 33.1999999999998 18.8 62.1999999999998 16.5 70.3999999999998C15 75.8999999999998 15 81.8999999999998 16.5 86.3999999999998C16.8 87.2999999999998 20.6 90.9999999999998 20.6 99.3999999999998C19.6 100.8999999999998 16 99.8999999999998 15.5 100.8999999999998C5.1 181.4999999999998 9.6 179.8999999999998 7.8 199.1999999999998C6.3 215.1999999999998 -3.1 243.0999999999998 1.1 263.4999999999999C1.6 265.8999999999999 4.5 284.4999999999999 25.3 302.3999999999999C56.3 329.0999999999999 73.7 340.6999999999998 184.3 313.8999999999999C185.4 313.4999999999999 250.6 292.7999999999999 295 322.8999999999999C310.5 334.1999999999998 323.8 334.1999999999998 330.5 338.8999999999999C330.6 338.9999999999999 392.2 390.9999999999999 417.5 404.1999999999998C464.7 433.5999999999999 487.4 420.8999999999998 492.6 422.1999999999998C497.3 423.1999999999998 506 447.9999999999999 509.6 447.9999999999999C515.1 447.9999999999999 511.2 427.7999999999999 513.2 422.0999999999999C513.7 420.0999999999999 516.8000000000001 417.0999999999999 519.4000000000001 417.0999999999999C521.7 417.0999999999999 521.1000000000001 417.8999999999999 529.7 422.0999999999999C538.1 427.4999999999999 544.6 439.6999999999998 550.3000000000001 439.0999999999999C562.0000000000001 437.4999999999999 531.3000000000001 397.4999999999999 531.3000000000001 392.1999999999998C531.3000000000001 390.1999999999998 531.5000000000001 391.3999999999999 535.9000000000001 382.6999999999998C538.5000000000001 377.1999999999998 540.5000000000001 369.1999999999998 542.1000000000001 362.6999999999998C550.4000000000001 332.9999999999999 547.8000000000002 348.0999999999999 555.5000000000001 325.7999999999999C575.7000000000002 275.6999999999998 576.1000000000001 280.5999999999999 576.1000000000001 272.8999999999999C576.1000000000001 265.3999999999999 572.0000000000001 261.8999999999999 568.9000000000001 256.3999999999999C567.4000000000001 253.3999999999999 564.3000000000001 248.8999999999999 561.7 248.3999999999999C559 247.6999999999999 568.7 249.8999999999999 548.3000000000001 245.8999999999999C541.1 244.8999999999999 534.9000000000001 250.3999999999999 533.4000000000001 255.3999999999999C531.8000000000001 260.0999999999998 536.2 265.4999999999999 521.6000000000001 278.2999999999999C511.3000000000001 288.2999999999999 500.5000000000001 289.5999999999999 489.7000000000002 295.2999999999999C479.9000000000001 300.9999999999999 477.8000000000002 294.2999999999999 471.7000000000002 287.2999999999999C453.7000000000002 264.3999999999999 437.7000000000002 240.3999999999999 419.7000000000002 217.4999999999998C407.9000000000002 202.4999999999998 395.5000000000002 187.0999999999999 386.2000000000002 170.0999999999999C382.3000000000002 163.2999999999999 376.7000000000002 141.9999999999998 375.9000000000002 140.1999999999999C369.7000000000002 122.4999999999999 370.4000000000002 114.3999999999999 359.4000000000002 71.8999999999999C356.3000000000002 61.8999999999999 353.7000000000002 50.4999999999999 350.7000000000002 39.4999999999999C348.5000000000002 32.6999999999999 343.3000000000002 -9.8000000000001 350.2000000000002 -19.9000000000001C352.3000000000002 -23.4000000000001 358.9000000000002 -24.4000000000001 361.5000000000002 -27.9000000000001C361.6000000000002 -28.0000000000001 371.1000000000002 -46.1000000000001 370.8000000000002 -47.9000000000001C370.8000000000002 -54.0000000000001 361.4000000000002 -53.5000000000001 359.5000000000002 -54.4000000000001C354.7000000000002 -57.3000000000001 355.7000000000002 -60.3000000000001 353.1000000000002 -61.8000000000001" /> + <glyph glyph-name="strava" + unicode="" + horiz-adv-x="369.2" d=" M301.6 156L257.7000000000001 67.8L213.1000000000001 156H145.5000000000001L257.7000000000001 -64L369.2000000000001 156H301.6zM151.4 448L0 156H89.2L151.4 272.1L213.1 156H301.6L151.4 448z" /> + <glyph glyph-name="stripe-s" + unicode="" + horiz-adv-x="362.3" d=" M144.3 293.4C144.3 315.7000000000001 162.9 324.3 192.7 324.3C236.1 324.3 291.2000000000001 311 334.6 287.6V421.9C287.3 440.8 240.1 448 192.8 448C77.1 448 0 387.6 0 286.6C0 128.7 216.8 154.3 216.8 86.2C216.8 59.8 193.9 51.3 162.1 51.3C114.9 51.3 53.9 70.8 6 96.8V-31.7C59 -54.5 112.8 -64.1 162 -64.1C280.6 -64.1 362.3000000000001 -13.1 362.3000000000001 89.5C362.3000000000001 259.7 144.3000000000001 229.2 144.3000000000001 293.4" /> + <glyph glyph-name="stripe" + unicode="" + horiz-adv-x="640" d=" M640 186.4C640 231.9 618 267.8 575.8 267.8S507.9 231.9 507.9 186.7C507.9 133.2 538.1999999999999 108.5 581.4 108.5C602.6 108.5 618.5 113.3 630.6 120V153.4C618.5 147.3 604.6 143.6 587 143.6C569.7 143.6 554.5 149.7 552.5 170.5H639.4C639.6 172.8 640 182.1 640 186.3999999999999M552.1 203.1999999999999C552.1 223.1999999999999 564.4 231.6 575.5 231.6C586.4 231.6 598 223.1999999999999 598 203.1999999999999H552.1zM439.2000000000001 267.8C421.8000000000001 267.8 410.6 259.5999999999999 404.4000000000001 253.8999999999999L402.1 264.8999999999999H363V60.0999999999999L407.4 69.4999999999999L407.5 119.6999999999999C413.9 114.9999999999999 423.4 108.4999999999999 438.9 108.4999999999999C470.7 108.4999999999999 499.7 131.6999999999999 499.7 188.0999999999999C499.8 239.6999999999999 470.4 267.7999999999999 439.2 267.7999999999999M428.6 145.2999999999999C418.2 145.2999999999999 412 149.0999999999999 407.7 153.6999999999999L407.4 219.6999999999999C412 224.7999999999999 418.4 228.4999999999999 428.6 228.4999999999999C444.8 228.4999999999999 455.9999999999999 210.2999999999999 455.9999999999999 187.0999999999999C456.1 163.1999999999999 445.1 145.2999999999999 428.6 145.2999999999999M346.4 324V287.8L301.8 278.3V314.5L346.4 324M301.9 264.8H346.5V111.6H301.9V264.8zM254.1 251.7C264.5 270.8 285.2 266.9 291.2 264.8V224C285.5 225.8 267.8 228.5 257.3 214.7V111.6H213V264.8H251.4L254.1 251.7M165.1 264.8H198.8V227H165.1V163.8C165.1 137.6 193.1 145.8 198.8 148.1V114.3C192.9 111.1 182.2 108.4 167.6 108.4C141.3 108.4 121.5 125.4 121.5 151.7000000000001L121.7 294.1L165 303.3000000000001L165.1 264.8000000000001zM44.9 219.7C44.9 199.7 112.8 209.2 112.8 156.3C112.8 124.3 87.4 108.5 50.5 108.5C35.2 108.5 18.5 111.5 2 118.6V158.6C16.9 150.5 35.9 144.4 50.6 144.4C60.5 144.4 67.6 147.1 67.6 155.3C67.6 176.5 0.1 168.5 0.1 217.7C0.1 249.1 24.1 267.9000000000001 60.1 267.9000000000001C74.8 267.9000000000001 89.5 265.6 104.2 259.8000000000001V218C90.7 225.3 73.5 229.4 60 229.4C50.7 229.3 44.9 226.6 44.9 219.7" /> + <glyph glyph-name="studiovinari" + unicode="" + horiz-adv-x="512" d=" M480.3 260.3L484.5 232.3V204.3L459.4 160.2L419.6 81.8L363.5 14.3L284.4 -23.5000000000001L266.7 -48.0000000000001L259 -60.0000000000001L249.4 -64S266.7 -0.4 268.8 -0.4C270.9000000000001 -0.4 289.1 -1.1 289.1 -1.1L355.8 37.5000000000001L263.3 11.4L207.4 -25.4L184.6 -53.4L178 -54.8L198.8 18.8000000000001L205.7 24.3000000000001L226.4 11.4000000000001L314.7 56.6000000000001L371.5 108.1000000000001L386.3 176.5000000000001L260.9 153.2000000000001L276.1 171.4000000000001L102.7 224.7000000000001L184.6 235.2000000000001L18.6 358.1000000000002L133.5 340L32.2 448L285.1 321.4L253.6 359.4L378 285L234.7 384L253.4 345.6L203.8 363.7L158.3 448L352.9 326L310 381.8L418 285.4L430 294.3L409 310.7L413.2 348.5L451 358.9L480.2 334.2L491.7 330L484.7 323.8L493.2 311.8L480.1 304.4L469.8 284.2000000000001L480.3 260.3z" /> + <glyph glyph-name="stumbleupon-circle" + unicode="" + horiz-adv-x="496" d=" M256 440C119 440 8 329 8 192S119 -56 256 -56S504 55 504 192S393 440 256 440zM256 262.5C246.2 262.5 238.2 254.5 238.2 244.7V137.8C238.2 96.9 204.3 63.9 163.3 63.9C121.9 63.9 88.4 97.4 88.4 138.8V185.3H145.7V139.5C145.7 129.5 153.7 121.6999999999999 163.5 121.6999999999999S181.3 129.5999999999999 181.3 139.5V247.9C181.3 287.9 215.5 320 256 320C296.7 320 330.7 287.7 330.7 247.4V223.7L296.6 213.6L273.7 224.3V244.9C273.8 254.5 265.8 262.5 256 262.5zM423.6 138.9C423.6 97.5 390.1 64 348.7000000000001 64C307.5000000000001 64 273.8000000000001 97.2 273.8000000000001 138.2V185L296.7000000000001 174.3L330.8000000000001 184.4V137.3C330.8000000000001 127.5 338.8000000000001 119.7 348.6000000000001 119.7S366.4000000000001 127.6 366.4000000000001 137.3V185.3H423.7000000000001C423.6000000000001 139.4 423.6000000000001 138.9 423.6000000000001 138.9z" /> + <glyph glyph-name="stumbleupon" + unicode="" + horiz-adv-x="512" d=" M502.9 182V112.3C502.9 50.2 452.6 -0.1 390.5 -0.1C328.7 -0.1 278.1 49.7 278.1 111.2V181.4L312.4000000000001 165.4L363.5000000000001 180.6V110C363.5000000000001 95.3 375.5000000000001 83.5 390.2000000000001 83.5S417 95.3 417 110V182H502.9zM278.2 240.2L312.5 224.2L363.6 239.4V275C363.6 335.5 312.5 384 251.5000000000001 384C190.7000000000001 384 139.4 335.8 139.4 275.8V113.4C139.4 98.5 127.4 86.7 112.7 86.7S86 98.5 86 113.4V182H0V112.3C0 50.3 50.3 0 112.4 0C174 0 224.8 49.5 224.8 110.8V271.1C224.8 285.8 236.8 297.8 251.5 297.8S278.2 285.8 278.2 271.1V240.2z" /> + <glyph glyph-name="superpowers" + unicode="" + horiz-adv-x="448" d=" M448 416C364.7 405 281.2 394 198 383C106 370.5 34.7 296.3 29 203C25.7 147.5 47 93.5 86.8 54.8L0 -32C83.3 -21 166.5 -10 249.8 1C341.6 13.5 413.1 87.8 418.5 180.8C422 236.3 400.5 290.3 360.8 329L448 416zM368.3 183.7C364.1 104.2 294.3 44.5 215.5 49.2C136 53.9 74.8 120.2 79.2 200.2C83.7 279.4 153.5 339.5 232.2 334.7C311.5 330 372.7 263.7 368.3 183.7z" /> + <glyph glyph-name="supple" + unicode="" + horiz-adv-x="640" d=" M640 185.5C640 121.4 531 69.4 396.5 69.4C371.7 69.4 347.9 71.2 325.4 74.4C333.1 74 340.9 73.8 348.8 73.8C483.3 73.8 592.3 130.6999999999999 592.3 200.9C592.3 230.3 573.1999999999999 257.3 541.0999999999999 278.9C601.0999999999999 257.8 639.9999999999999 223.8 639.9999999999999 185.5zM47.7 220.1C47.6 290.3 156.5 347.4 291 347.7C298.9 347.7 306.6 347.5 314.3 347.2C291.8 350.4 268 352.1 243.3 352.1C108.8 351.7 -0.1 299.5 0 235.4C0.1 197.1 39.1 163.1 99.3 142.1C67 163.6 47.8 190.7000000000001 47.7 220.1zM107.9 180.2S118.4 167 137.2 167C155.1 167 165.6 178.5 165.6 192.1C165.6 220.1 125.4 217.2 125.4 231.8C125.4 237.2 130.7 240.9 137.9 240.9C143.6 240.9 149.2000000000001 238.3 149.2000000000001 234.3V230.4H163.4V238.3C163.4 250.4 148 255.1 138 255.1C121.5 255.1 109.5 244.9000000000001 109.5 231.0000000000001C109.5 204.4 149.7000000000001 205.6 149.7000000000001 191.1C149.7000000000001 184.5 143.9 181 137.4 181C125.5 181 116.7 191.1 116.7 191.1L107.9 180.2000000000001zM228.7 253.8V199.4C228.7 188.1 221.6 181.6 210.9 181.6C200.2 181.6 193.1 188.1 193.1 199.3V253.8H177.3V198.8C177.3 179.9 190.7 166.9 211 166.9C231.1 166.9 244.4 179.9 244.4 198.8V253.8H228.7zM263.1 168.4H278.9V197.9H294.4C310.4 197.9 321.6 209.4 321.6 226S310.4 253.8 294.4 253.8H255.3V240.4H263.1V168.4zM278.9 211.4V240.5H291.8C300.5 240.5 305.5 234.8 305.5 226.1C305.5 217.2 300.3999999999999 211.4 291.5 211.4H278.8999999999999zM335.9 168.4H351.7V197.9H367.2C383.2 197.9 394.4 209.4 394.4 226S383.2 253.8 367.2 253.8H328.1V240.4H335.9V168.4zM351.6 211.4V240.5H364.5C373.2 240.5 378.2 234.8 378.2 226.1C378.2 217.2 373.2 211.4 364.2 211.4H351.5999999999999zM408.7 176.6C408.7 170.8 411.1 168.4 416.9 168.4H454.5C460.3 168.4 462.7 170.8 462.7 176.6V189.6H448.4V184.4C448.4 182.7 447.4 181.8 445.8 181.8H427.2C425.5 181.8 424.5999999999999 182.8 424.5999999999999 184.4V245.6C424.5999999999999 251.3 422.2 253.8 416.3999999999999 253.8H401V240.4H406.2C407.9 240.4 408.8 239.4 408.8 237.8V176.6zM472.1 176.6C472.1 170.8 474.4999999999999 168.4 480.3 168.4H519C524.7 168.4 527.2 170.8 527.2 176.6V189.6H512.9000000000001V184.4C512.9000000000001 182.7 511.9000000000001 181.8 510.3000000000001 181.8H490.6000000000001C488.9000000000001 181.8 488.0000000000001 182.8 488.0000000000001 184.4V204.7H515.7V218.1H488V240.5H507.2C508.9 240.5 509.8 239.5 509.8 237.9V232.7H524V245.7C524 251.4 521.5 253.9 515.8 253.9H464.1999999999999V240.5H471.9999999999999V176.6zM531 252.6V246.7H532.6V252.6H535.3000000000001V253.8H528.3000000000001V252.6H531.0000000000001zM536.7 253.8V246.7H538.2V252.4L540.5 246.7H541.8L544.0999999999999 252.4V246.7H545.5999999999999V253.8H543.3L541.1999999999999 248.7L539.0999999999999 253.8H536.6999999999999z" /> + <glyph glyph-name="teamspeak" + unicode="" + horiz-adv-x="511.8" d=" M0.82 210.18C3.18 225.7 11.51 237.22 25.7 244.21C29.2 246.06 31.35 247.71 32.07 252.02C38.24 285.43 51.6 315.9600000000001 71.44 343.61C73.8 346.8 75.45 348.9600000000001 72.47 352.9600000000001C68.77 358.31 71.44 363.14 75.45 367.45C103.51 399.32 137.33 422.55 177.43 434.89C273.24 464.29 357.53 444.24 429.8 374.44C436.48 368.07 445.32 361.5900000000001 436.79 350.08C435.4500000000001 348.23 437.82 346.58 438.9500000000001 345.04C459.6100000000001 316.98 473.1800000000001 285.62 479.35 251.39C480.17 247.69 482.33 246.35 485.21 245.02C502.58 236.18 510.91 221.68 511.22 202.77C511.22 185.6 513.07 168.23 510.1900000000001 151.06C506.1800000000001 126.39 481.0000000000001 109.32 456.9400000000001 114.36C449.7400000000001 116 447.5900000000001 121.56 447.5900000000001 128.55C447.5900000000001 156.61 448.4100000000001 184.99 447.5900000000001 213.15C445.74 288.9100000000001 411.4100000000001 345.9600000000001 345.3100000000001 382.56C234.28 443.02 92.11 375.58 67.54 251.09C61.48 220.67 65.8 202.82 63.84 125.27C63.53 118.07 59.52 114.07 51.81 113.76C20.97 112.42 0 131.95 0 162.79V183.66M221.74 76.85C233.56 81.17 241.79 88.67 244.25 101.21C246.61 113.55 232.22 131.23 211.87 149.9400000000001C191 169.1600000000001 163.65 189.0000000000001 148.44 196.5100000000001C126.75 208.5400000000001 106.7 198.3600000000001 102.18 173.7900000000001C97.14 147.5800000000001 102.18 122.3900000000001 116.67 99.8800000000001C126.85 84.3600000000001 142.06 77.1600000000001 160.05 75.8300000000001C171.67 75.2100000000001 212.59 73.6700000000001 221.74 76.8500000000001M351.5700000000001 71.3000000000001C388.0700000000001 68.4900000000001 410.9000000000001 99.8500000000001 409.9600000000001 131.7500000000001C407.8200000000001 176.9200000000001 343.79 148.2300000000001 322.17 139.7700000000001C249.01 111.6300000000001 277.12 84.85 299.9700000000001 79.02M449.23 80.35C446.25 82.71 442.0300000000001 81.38 440.9000000000001 77.99C432.8800000000001 52.6 396.1800000000001 -34.47 268.8200000000001 -43.52C119.1500000000001 -54.01 349.1100000000001 -87.11 414.1800000000001 -37.15C436.9000000000001 -19.78 461.7800000000001 -2.1 460.7500000000001 48.28C460.4300000000001 58.35 455.9100000000001 75 449.2300000000001 80.35" /> + <glyph glyph-name="telegram-plane" + unicode="" + horiz-adv-x="448" d=" M446.7 349.4L379.1 30.6C374 8.1 360.7000000000001 2.5 341.8 13.1L238.8 89L189.1 41.2C183.6 35.7 179 31.1 168.4 31.1L175.8000000000001 136L366.7000000000001 308.5C375.0000000000001 315.9 364.9000000000001 320 353.8000000000001 312.6L117.8 164L16.2 195.8C-5.9 202.7 -6.3 217.9 20.8 228.5L418.2 381.6C436.6 388.5 452.7 377.5 446.7 349.4z" /> + <glyph glyph-name="telegram" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM369.8 270.1L329.1 78.3C326.1 64.6999999999999 318 61.4 306.7000000000001 67.8L244.7000000000001 113.5L214.8000000000001 84.6999999999999C211.5 81.3999999999999 208.7000000000001 78.5999999999999 202.3000000000001 78.5999999999999L206.7000000000001 141.6999999999999L321.6 245.5C326.6 249.9 320.5 252.4 313.9000000000001 248L171.9 158.5999999999999L110.7 177.6999999999999C97.4 181.8999999999999 97.1 191 113.5 197.3999999999999L352.6 289.5999999999999C363.7000000000001 293.5999999999999 373.4000000000001 286.8999999999999 369.8 270.0999999999999z" /> + <glyph glyph-name="tencent-weibo" + unicode="" + horiz-adv-x="384" d=" M72.3 -47.8C73.7 -67.7 44.7 -70 42.6 -50.7C31 79.2 73.7 188.8 144 262.5C128.4 296.5 153.2 339.6 194.6 339.6C224.9 339.6 249.7 315 249.7 284.5C249.7 240.5 200.2 213.7 162.8 239.4C97.1 168.1 61.4 69.6 72.3 -47.8zM192 447.9C66.1 447.9 -12.3 313.7 43.7 205.6C52.4 188.2 79 201.1 70 219C23.7 311.6 91 418.2 192 418.2C267.4 418.2 328.9 356.8 328.9 281.3C328.9 190.5 242 127.4 161.2 148.2C142.1 152.3 135.6 123.8 154.6 119.1C265.3 95.9 358.6 179.1 358.6 281.4C358.6 373.3 284 447.9 192 447.9z" /> + <glyph glyph-name="the-red-yeti" + unicode="" + horiz-adv-x="505.07" d=" M484.41 206.26L505.0700000000001 199.13C495.51 223.04 481.14 236.09 473.35 243.89L480.48 262.09C480.73 262.09 492.76 289.88 478.02 292.83C477.39 304.18 471.4300000000001 319.88 459.58 319.88C451.96 330.45 441.8700000000001 332.18 428.8400000000001 325.78C419.99 321.6 411.1300000000001 315.7 403.5100000000001 309.3C398.2100000000001 315.74 400.5600000000001 308.92 400.5600000000001 339.06C363.4800000000001 363.3400000000001 355.1600000000001 350.79 325.8000000000001 336.11L326.2900000000001 335.62C305.1400000000001 343.24 282.2700000000001 347.67 257.9300000000001 348.9000000000001C252.3800000000001 357.61 239.3300000000001 368 232.8500000000001 373.98L257.6900000000001 366.85C252.2000000000001 372.3400000000001 230.9100000000001 379.76 223.5100000000001 382.1C241.7100000000001 386.2100000000001 253.2900000000001 402.87 266.0500000000001 415.05C231.1300000000001 425.13 198.1800000000001 420.9500000000001 168.1700000000001 403.25L179.97 447.52L178.24 448C146.64 423.84 145.25 406.1 144.55 402.51C143.64 404.9 138.23 422.12 129.3 429.56C125.86 420.71 125.86 412.35 128.81 404.23C131.76 395.87 134.71 389.4700000000001 137.17 385.29C121.13 388.5900000000001 108.82 390.19 87.99 385.29H84.3L117.25 371.03C96.59 351.6 81.35 329.2200000000001 70.53 303.65L68.81 295.29L70.53 293.5700000000001L78.15 298.24C74.82 286.6 72.88 278.85 71.51 272.42C60.2 259.63 51.1 246.35 43.72 232.0900000000001C28.75 231.0900000000001 11.9 221.31 3.39 217.8300000000001L6.34 214.3900000000001L35.11 213.4100000000001C34.62 212.4300000000001 34.37 211.2000000000001 33.88 210.2100000000001C26.59 203.8300000000001 -5.9 172.5600000000001 0.93 129.5500000000001L21.1 151.9300000000001C21.59 150.21 21.84 148.4900000000001 22.33 146.7700000000001C22.33 121.24 22.7 57.1300000000001 87.25 -3.73C131.03 -43.83 183.41 -63.9999999999999 244.89 -63.9999999999999C366.62 -63.9999999999999 467.94 23.2900000000001 467.94 147.4900000000001C474.74 157.2100000000001 466.7 144.4600000000001 484.66 172.5700000000001L497.6899999999999 158.3100000000001L500.1499999999999 158.8000000000001C498.4299999999999 170.1100000000001 495.4799999999999 181.1800000000001 491.2999999999999 192.9800000000001C489.0799999999999 199.3800000000001 486.6199999999999 203.3100000000001 484.4099999999999 206.2600000000001zM468.92 247.58L454.66 259.38L472.86 260.61L468.92 247.58zM394.1600000000001 336.85L393.67 314.96C399.19 296.83 410.55 297.75 416.05 297.75L412.61 302.42L434.99 307.83C424.9100000000001 307.3399999999999 416.05 307.3399999999999 407.94 307.83C420.75 309.9599999999999 441.26 336.86 450.98 319.14C454.42 311.52 457.37 301.93 460.32 291.35L462.04 297.25C460.81 301.43 460.32 306.59 460.32 312.5C465.73 312.01 469.17 309.06 469.66 302.42C470.15 296.03 471.38 287.66 473.1 277.09L477.77 288.4C482.36 288.4 482.24 292.01 475.31 267.74C454.42 276.44 440.2200000000001 276.1 428.83 276.1L447.03 292.08C421.75 283.93 414 281.28 392.19 271.18C391.11 276.5899999999999 387.2099999999999 284.68 376.2099999999999 291.1C373.0299999999999 287.28 373.45 290.2 375.4699999999999 276.34H373.01C371.7799999999999 284.7 368.83 292.32 364.6499999999999 299.46L368.83 302.9C377.19 310.03 380.63 317.16 379.3999999999999 324.79C378.9099999999999 331.18 373.9899999999999 338.32 365.87 345.45C371.53 348.65 381.12 345.7 394.16 336.85zM354.5700000000001 346.93C357.2600000000001 345.01 365.9700000000001 341.55 373.5100000000001 329.72C377.7100000000001 321.32 377.4900000000001 319.91 376.9500000000001 318.65C376.4700000000001 316.24 376.4900000000001 314.32 374.0000000000001 311.52C372.2800000000001 309.06 368.5900000000001 306.85 362.2000000000001 303.9C354.5800000000001 316.93 345.7200000000001 327.51 334.4100000000001 335.13L354.5700000000001 346.93zM87.25 304.88L88.48 306.6C89.71 309.55 92.66 314.2200000000001 97.82 321.85L100.28 325.29L87.25 312.99L92.66 317.66L82.58 308.32L78.4 307.09C90.7 331.19 101.52 348.4 110.86 357.26C120.2 366.6 126.84 373.24 131.03 376.69L124.64 375.46C113.33 379.64 105.21 382.59 99.8 383.82C102.26 384.31 103.49 384.31 103 384.31C113.33 384.31 120.46 383.82 123.9 383.08C129.31 381.36 134.47 380.62 139.88 380.62L140.37 382.34L132.0100000000001 418.24L145.5400000000001 389.22C147.2600000000001 391.68 149.7200000000001 396.35 151.4400000000001 403.48C153.1600000000001 409.87 156.8500000000001 416.51 161.5200000000001 422.91C166.1900000000001 429.3 169.1400000000001 433.48 170.8600000000001 434.22C167.9100000000001 425.37 166.1900000000001 417.01 164.4700000000001 408.89L162.7500000000001 401.76L162.2600000000001 397.09L164.7200000000001 394.63C186.6100000000001 408.16 210.2100000000001 414.06 236.0400000000001 413.57L257.1900000000001 413.08C245.3900000000001 399.55 229.4000000000001 391.19 208.7400000000001 388.24C200.1300000000001 386.76 192.5100000000001 385.78 185.3800000000001 385.29L185.1300000000001 385.78L182.6700000000001 387.01C177.5100000000001 387.99 172.8300000000001 387.26 168.65 385.04C166.19 385.29 163.7300000000001 385.53 161.5200000000001 385.78L159.06 384.06L159.5500000000001 382.83C161.5200000000001 382.58 163.4800000000001 382.34 165.7000000000001 382.09L163.7300000000001 378.65L167.1700000000001 379.14L156.6000000000001 367.83C152.4200000000001 364.88 151.1900000000001 361.44 152.4200000000001 358.49L157.8300000000001 361.93H159.06C165.45 370.29 174.31 375.46 184.3900000000001 377.18V380.13C190.78 379.64 197.4200000000001 379.15 203.8200000000001 378.9C210.21 378.9 212.1800000000001 378.41 209.2300000000001 377.67C216.8500000000001 373.49 223.4900000000001 368.82 229.8900000000001 364.14C243.4200000000001 354.06 253.5000000000001 342.25 259.8900000000001 328.73C268.7400000000001 310.53 273.42 291.6 273.42 272.17C273.42 262.0899999999999 272.19 252.74 270.4700000000001 243.89C268.12 233.1 262.67 214.27 254.4900000000001 197.9L256.9500000000001 197.41C275.1800000000001 217.0799999999999 298.85 213.3899999999999 306.1300000000001 213.3899999999999L299.7400000000001 207.4899999999999L322.1200000000001 189.7799999999999L320.4000000000001 159.0399999999999C314.99 171.3399999999999 303.92 180.1899999999999 287.4500000000001 186.8299999999999C303.9300000000001 172.0699999999999 311.0600000000001 165.68 309.3400000000001 166.6599999999999C304.5300000000001 169.4699999999999 305.8100000000001 168.5299999999999 298.5200000000001 170.3499999999999C302.6400000000001 166.2299999999999 315.9700000000001 151.5599999999999 316.7200000000001 149.6899999999999L316.9700000000001 149.4399999999999L316.7200000000001 149.1899999999999C316.7200000000001 147.4299999999999 318.2800000000001 150.3699999999999 302.7000000000001 126.3199999999999C227.5500000000001 141.6299999999999 196.4400000000001 169.0599999999999 161.5400000000001 189.5199999999999L173.3400000000001 188.2899999999999C161.5900000000001 206.8199999999999 157.7100000000001 206.0099999999999 134.9800000000001 214.3599999999999L145.5500000000001 222.7199999999999C136.7000000000001 225.6699999999999 127.3500000000001 225.6699999999999 117.2700000000001 222.2299999999999L124.8900000000001 232.7999999999999L123.6600000000001 234.5199999999999C108.7700000000001 230.1799999999999 103.8100000000001 225.3499999999999 101.0400000000001 223.2099999999998C99.9000000000001 228.6699999999999 98.2700000000001 235.6499999999999 88.7400000000001 251.9799999999999L87.5100000000001 224.9299999999998L73.9800000000001 230.3399999999999C75.4500000000001 255.4499999999998 79.3800000000001 280.7799999999999 87.2500000000001 304.8799999999998zM363.6600000000001 -25.15C313.74 -50.11 307.5300000000001 -47.56 304.6400000000001 -49C274.8800000000001 -37.2 253.7400000000001 -17.28 241.1900000000001 9.77L271.1900000000001 -6.71C261.4200000000001 2.6 252.8500000000001 9.83 232.8300000000001 37.5599999999999L244.6300000000001 14.4399999999999L226.9200000000001 22.0599999999999C241.1200000000001 0.98 250.3900000000001 -29.6800000000001 293.5600000000001 -51.47C172.7900000000001 -75.62 94.5300000000001 20.64 92.6500000000001 22.8C103.9600000000001 13.46 115.7700000000001 5.09 128.0600000000001 -2.04C131.5000000000001 -3.76 135.1900000000001 -4.5 138.1400000000001 -3.27L122.1600000000001 17.39C131.3900000000001 13.2 131.6500000000001 12.89 191.2600000000001 -11.63C148.7200000000001 9.03 117.4800000000001 29.19 98.0600000000001 48.62C97.5700000000001 42.23 96.83 38.54 96.83 38.54C105.68 30.92 112.8100000000001 22.06 117.4900000000001 11.98C78.44 30.83 59.9 59.59 46.17 94.61C96.0600000000001 39.51 165.0200000000001 57.12 166.6700000000001 57.48C201.46 41.05 236.5400000000001 33.87 280.5300000000001 46.91C283.85 46.91 300.8300000000001 29.93 305.86 7.81L310.04 10.76L307.5800000000001 34.37C316.5300000000001 25.42 332.48 11.81 342.0100000000001 21.34C326.4300000000001 26.66 318.4900000000001 30.83 312.5000000000001 53.0600000000001C317.0800000000001 48.8600000000001 320.0700000000001 44.0100000000001 340.2900000000001 38.0600000000001L341.5200000000001 39.2900000000001L330.9500000000001 53.5500000000001C342.6000000000001 58.4000000000001 327.4100000000001 52.5400000000001 362.9200000000001 64.3700000000001C367.2600000000001 30.14 371.9700000000001 15.2200000000001 363.6600000000001 -25.1499999999999zM479 189.29L476.54 188.8L479.49 179.46C475.94 173.59 455.76 135.2000000000001 407.93 99.78C368.39 70.02 331.35 60.65 327.02 59.4500000000001L319.4 66.58L318.17 63.6300000000001L332.43 47.65L325.3 52.3200000000001L328.74 48.14H327.51L305.62 61.67L314.9599999999999 35.11L296.0199999999999 62.9L294.7899999999999 60.4400000000001L302.4099999999999 31.4200000000001C296.2999999999999 39.6600000000001 281.3799999999999 64.0300000000001 245.5999999999999 71.0100000000001L278.0599999999999 49.8600000000001C246.0899999999999 45.1900000000001 214.8599999999999 47.4000000000002 184.8599999999999 56.2500000000001C180.6799999999999 57.4800000000001 176.0099999999999 58.7100000000001 171.3299999999999 60.4300000000001L172.5599999999999 63.3800000000001L127.7999999999999 85.7600000000001L153.8699999999999 63.3800000000001C96.2099999999999 54.3000000000001 40.9099999999999 88.7900000000001 27.4699999999999 146.7500000000001L25.0099999999999 163.2300000000001L2.6599999999999 140.8500000000001C22.1299999999999 198.3600000000001 28.2699999999999 198.7400000000001 54.0599999999999 210.9400000000002C44.9699999999999 216.2700000000002 52.5099999999999 214.2000000000001 15.6999999999999 220.2800000000002C31.4799999999999 226.0700000000002 48.7499999999999 235.7200000000002 88.7399999999999 215.1200000000002C91.6899999999999 216.6000000000001 90.8799999999999 216.2200000000002 92.4299999999999 216.8400000000002C93.0699999999999 220.0200000000002 92.8399999999999 217.6600000000002 93.4099999999999 228.6400000000002C97.2999999999999 218.6300000000002 97.0399999999999 219.9700000000002 96.3599999999999 219.3000000000002L98.0799999999999 218.8100000000002C110.7699999999999 225.3000000000002 106.9999999999999 223.3300000000002 115.0499999999999 227.6600000000002L109.6399999999999 214.1300000000002L132.0199999999999 220.0300000000002L123.6599999999999 211.6700000000001L126.1199999999999 209.2100000000001C130.6199999999999 211.0100000000001 156.4699999999999 205.7900000000001 166.9399999999999 193.2300000000001L143.3299999999999 195.6900000000002C182.7199999999999 172.7100000000002 194.7899999999999 141.7200000000002 199.1499999999999 126.1000000000001L200.8699999999999 127.3300000000002C198.0299999999999 149.6100000000001 188.4999999999999 161.2100000000002 184.8899999999999 167.4100000000002C189.1099999999999 162.4200000000001 224.0899999999999 132.8500000000001 295.3099999999999 121.4200000000001C283.9999999999999 121.9100000000002 272.1899999999999 116.0100000000001 260.3899999999999 102.4800000000001L307.1099999999999 122.6500000000002L297.7699999999999 100.7600000000002C305.39 110.8400000000002 312.5299999999999 124.3700000000002 318.9199999999999 140.3500000000001V140.8400000000002L320.1499999999999 143.7900000000001L318.9199999999999 127.8100000000001C332.4499999999999 169.6200000000001 344.2499999999999 206.2600000000001 354.33 237.4900000000001L367.8599999999999 265.2800000000001V267.2500000000001L362.4499999999999 271.4300000000001H372.5299999999999L378.4299999999999 267.2500000000001L380.8899999999998 268.4800000000002L377.4499999999998 284.4600000000001L389.7499999999999 265.5200000000001L431.5599999999999 285.6900000000001L416.7999999999999 272.6600000000001L417.2899999999999 269.7100000000002L434.9999999999999 270.2000000000002C446.3099999999999 269.7100000000002 456.8899999999998 268.4800000000002 467.9499999999998 266.0200000000001L444.3399999999998 263.5600000000001L443.1099999999998 260.6100000000002L469.6699999999998 237.4900000000001C479.7499999999998 227.4100000000001 488.6099999999998 216.8300000000001 496.7199999999998 205.5200000000001C485.4799999999998 208.8100000000001 486.4399999999998 208.9600000000001 475.5699999999998 208.9600000000001L487.8699999999998 176.5000000000001L478.9999999999998 189.2900000000001zM201.11 278.3200000000001C166.26 263.9000000000001 166.38 264.3400000000001 164.96 264.0600000000001C144.13 259.3300000000001 145.99 288.5 146.02 288.9000000000001L151.92 290.13L151.43 292.5900000000001C131.26 295.24 120.4 288.4200000000001 118.97 287.6700000000001C119.46 287.1800000000001 121.92 284.23 124.87 278.3300000000001C129.05 284.7200000000001 133.72 288.4100000000001 140.12 288.9000000000001C138.4 277.5900000000001 138.89 266.5200000000001 141.84 255.2100000000001C141.91 254.7000000000001 144.41 237.7700000000001 169.38 231.1100000000001C180.69 228.1600000000001 196.43 229.8800000000001 218.32 236.5200000000001L208.98 236.0300000000001C204.8 250.79 202.59 260.87 203.08 265.54C214.39 274.39 224.97 276.85 233.82 273.1600000000001H236.28L224.48 280.7800000000001L217.35 280.29C211.45 279.0600000000001 205.05 276.11 197.92 271.93L201.11 278.32zM212.18 365.13L209.72 364.6400000000001L210.21 361.6900000000001C218.57 362.18 227.42 360.4600000000001 236.28 355.79C233.78 361.3300000000001 226.31 370.05 208 370.05L208.49 367.5900000000001L212.18 365.1300000000001zM145.04 309.0600000000001C141 315.4100000000001 141.95 314.11 140.37 315.7000000000001C162.06 298.9400000000001 156.85 294.29 186.85 292.0900000000001L183.9 296.76C192.75 304.38 197.43 313.9700000000001 198.66 325.04C200.38 341.0200000000001 197.43 354.55 189.81 366.35L202.84 373.9700000000001C202.84 374.4600000000001 202.84 375.2000000000001 202.35 375.6900000000001C197.68 377.4100000000001 193.01 376.92 188.82 373.9700000000001C176.14 367.3 160.83 353.0300000000001 159.8 351.5900000000001C158.08 349.87 156.36 345.6900000000001 154.39 338.0600000000001C152.67 330.9300000000001 151.44 323.3 151.44 314.4500000000001C146.76 322.4100000000001 140.92 320.85 131.5200000000001 320.35L138.65 312.73C122.18 312.73 115.3300000000001 297.3000000000001 115.04 296.7500000000001C121.85 296.7600000000001 119.64 304.35 145.04 309.0600000000001zM159.06 334.3900000000001C160.29 342.0100000000001 162.5 347.42 165.45 351.6C170.86 357.99 176.02 361.68 181.43 363.4000000000001C185.61 365.12 188.56 362.17 191.51 354.06C193.97 346.44 194.95 337.5800000000001 194.46 328.73C193.97 319.39 191.02 311.52 186.1 305.61C183.15 302.17 180.69 299.7100000000001 179.71 297.99C175.0400000000001 297.5 171.35 297.99 168.4 298.48L161.2700000000001 301.92L155.8600000000001 308.31C156.8500000000001 318.4 157.34 327.25 159.06 334.39zM221.7700000000001 355.7800000000001C215.3800000000001 359.2200000000001 211.2000000000001 352.8300000000001 209.47 336.8400000000001S211.93 307.3300000000001 221.2700000000001 297.25C230.6100000000001 287.17 239.4700000000001 286.6800000000001 247.3400000000001 294.3000000000001C255.2100000000001 301.9200000000001 250.7800000000001 317.9100000000001 236.0300000000001 342.0100000000001C232.8400000000001 347.4200000000001 228.1600000000001 352.0900000000001 221.7700000000001 355.7800000000001zM217.1000000000001 309.5500000000001C222.4600000000001 307.3200000000001 227.6100000000001 307.6400000000001 229.4000000000001 320.12V324.79L228.1700000000001 324.3000000000001C223.8900000000001 327.35 225.6200000000001 328.79 226.4500000000001 330.4500000000001L226.9400000000001 330.9400000000001C226.0600000000001 332.1700000000001 221.9200000000001 339.0500000000001 214.4000000000001 326.2700000000001C213.9100000000001 339.8000000000001 214.8900000000001 348.1600000000001 217.3500000000001 351.11C218.5800000000001 353.5700000000001 222.0200000000001 352.3400000000001 228.6600000000001 346.9300000000001C235.0500000000001 341.5200000000001 239.9700000000001 330.9500000000001 243.9100000000001 314.4700000000001C250.5000000000001 286.4100000000001 224.2100000000001 288.2100000000001 217.1000000000001 309.5500000000001zM172.0900000000001 314.9600000000001C173.6600000000001 314.6500000000001 181.4300000000001 316.0500000000001 181.4300000000001 329.7200000000001H180.9400000000001C175.5000000000001 330.8100000000001 178.7000000000001 335.1900000000001 180.2000000000001 335.6200000000001C178.4800000000001 338.5700000000001 176.7600000000001 339.8000000000001 174.7900000000001 340.2900000000001C166.6400000000001 340.2900000000001 163.1400000000001 327.6300000000001 166.6700000000001 319.1400000000001C167.9100000000001 316.6800000000001 169.8800000000001 315.4500000000001 172.09 314.9600000000001zM218.0800000000001 253.4800000000001C219.8000000000001 242.9100000000001 222.7500000000001 235.7700000000001 226.9300000000001 231.5900000000001C217.6700000000001 224.98 199.3900000000001 217.7400000000001 180.4500000000001 215.6100000000001L180.9400000000001 214.3800000000001C189.3000000000001 213.1500000000001 197.4200000000001 213.8900000000001 205.7800000000001 216.8400000000001L198.6500000000001 203.8100000000001C202.8300000000001 205.5300000000001 208.7300000000001 210.9400000000001 216.3600000000001 218.5700000000001C228.2900000000001 224.0800000000001 229.0800000000001 223.6400000000001 236.5300000000001 234.5500000000001C223.8000000000001 241.1300000000001 220.7700000000001 248.3800000000001 218.0800000000001 253.4800000000001z" /> + <glyph glyph-name="themeco" + unicode="" + horiz-adv-x="441.03" d=" M199.74 435.71C209.48 441.35 225.33 441.44 235.13 435.92L423.26 329.9700000000001C433.07 324.45 441.02 310.83 441.02 299.5900000000001V85.72C441.02 74.46 433.09 60.83 423.31 55.2600000000001L235.09 -51.88C225.31 -57.45 209.51 -57.36 199.8 -51.67L17.58 55.05C7.87 60.74 0 74.48 0 85.73V299.5900000000001C0 310.85 7.9 324.55 17.63 330.18L199.74 435.71zM123.54 239C107.85 239 92.15 238.86 76.46 238.86V138.99H95.29V168.38H123.54C172.48 168.38 172.33 239 123.54 239zM261.5 140.27L231.25 174.37C267.65 181.76 265.51 238.58 220.55 238.86C204.71 238.86 188.88 239 173.04 239V138.99H191.87V172.37H210L239.1 138.99H261.5V140.27zM220.56 221.31C243.54 221.31 243.46 189.35 220.56 189.35H191.88V221.31H220.56zM126.49 222.88C147.34 222.88 147.27 184.64 126.49 184.64H94.68V222.87L126.49 222.88zM316.14 240.85C248.74 240.85 246.28 136.7 316.14 136.7C384.53 136.71 384.47 240.85 316.14 240.85zM316.14 223.73C359.57 223.73 360.24 153.97 316.14 153.97C272.02 153.97 272.4 223.73 316.14 223.73z" /> + <glyph glyph-name="themeisle" + unicode="" + horiz-adv-x="512" d=" M208 359.714C208 369.714 214.286 381.428 225.715 381.428C236.857 381.428 243.429 369.714 243.429 359.714C243.429 349.429 236.857 338 225.715 338C214.286 338 208 349.429 208 359.714zM512 199.714C512 163.713 500.571 97.428 475.714 70C452.856 45.142 388.286 8.857 354.857 -0.572L353.714 -0.858V-33.429C353.714 -49.715 341.142 -64 324.5710000000001 -64C314.5710000000001 -64 305.1420000000001 -58.286 299.999 -49.714C294.572 -58.286 285.1430000000001 -64 275.1430000000001 -64C265.1430000000001 -64 255.7140000000001 -58.286 250.2850000000001 -49.714C245.1430000000001 -58.286 235.7140000000001 -64 225.7150000000001 -64C215.429 -64 206.286 -58.286 200.857 -49.714C195.714 -58.286 186.286 -64 176.286 -64C157.429 -64 146.857 -48.286 146.857 -31.143C130.571 -43.4280000000001 111.142 -50.571 90.286 -50.571C68.286 -50.571 46.857 -42.286 30 -27.7140000000001C40.285 -27.4280000000001 50.571 -25.4280000000001 60.285 -22.0000000000001C39.428 -16.2860000000001 20.857 -3.143 8.285 14.2859999999999C29.655 9.641 54.494 12.6129999999999 75.428 25.429C53.428 47.429 18.857 84.286 6.856 112.857C1.143 126.286 0 144.286 0 158.571C0 208.285 20.286 318.5710000000001 86.286 318.5710000000001C96.857 318.5710000000001 105.143 313.713 109.429 303.7140000000001A158.792 158.792 0 0 0 121.429 319.1420000000001C123.429 321.7140000000001 127.143 324.5710000000001 128.572 327.428C136.571 339.999 140.286 348.5700000000001 150.286 361.428C182.571 402.572 232 430.857 285.143 430.857C291.143 430.857 297.143 430.572 302.857 429.714C313.714 441.429 328.8570000000001 448 344.572 448C359.1430000000001 448 374.286 442 384.572 431.714C385.4290000000001 430.856 386 429.428 386 428.286C386 424.572 375.715 414.857 373.1430000000001 412C377.4290000000001 410.5710000000001 388.8570000000001 405.142 388.8570000000001 400C388.8570000000001 397.1430000000001 386 394.857 384.286 392.857C415.715 365.1430000000001 433.7150000000001 325.714 440.572 284.857C444.858 290 450.857 293.429 457.715 293.429C468.2860000000001 293.429 478.572 286.285 486.2860000000001 279.428C507.143 260.857 512 226.286 512 199.714zM188 358.572C188 340.286 200.571 321.429 220.286 321.429C240 321.429 252.571 340.286 252.571 358.572C252.571 376.572 240 395.429 220.286 395.429C200.571 395.429 188 376.5710000000001 188 358.572zM237.714 254C237.714 273.714 241.428 293.1430000000001 246.285 312.286C194.246 232.752 232.754 127.715 315.1430000000001 127.715C336.5710000000001 127.715 357.7140000000001 135.429 375.1430000000001 147.715C377.1430000000001 155.144 378.8570000000001 162.572 378.8570000000001 170.287C378.8570000000001 184.573 372.5710000000001 191.715 358.2850000000001 191.715C353.714 191.715 349.1420000000001 190.858 344.8560000000001 190.001C281.5130000000001 177.333 237.7140000000001 186.3320000000001 237.7140000000001 254.0000000000001zM196.572 -0.858C196.572 10.285 187.714 19.999 176.286 19.999C164.857 19.999 156.286 10.284 156.286 -0.8579999999999V-33.429C156.286 -44.572 164.857 -54.571 176.286 -54.571C187.714 -54.571 196.572 -44.856 196.572 -33.429V-0.8579999999999zM245.715 -0.858C245.715 10.285 237.143 19.999 225.715 19.999C214.286 19.999 205.429 10.284 205.429 -0.8579999999999V-33.429C205.429 -44.572 214.286 -54.571 225.715 -54.571C237.143 -54.571 245.715 -44.571 245.715 -33.429V-0.8579999999999zM295.428 -0.858C295.428 10.285 286.5710000000001 19.999 275.143 19.999C263.714 19.999 254.857 10.284 254.857 -0.8579999999999V-33.429C254.857 -44.572 263.714 -54.571 275.143 -54.571C286.571 -54.571 295.428 -44.856 295.428 -33.429V-0.8579999999999zM345.1430000000001 -0.858C345.1430000000001 10.285 336.2860000000001 19.999 324.8570000000001 19.999C313.4290000000001 19.999 304.5710000000001 10.284 304.5710000000001 -0.8579999999999V-33.429C304.5710000000001 -44.572 313.4290000000001 -54.571 324.8570000000001 -54.571C336.286 -54.571 345.1430000000001 -44.571 345.1430000000001 -33.429V-0.8579999999999zM421.714 162C390.857 102.858 331.429 59.428 263.1430000000001 59.428C166.572 59.428 102.572 144 102.572 236C102.572 252.857 104.572 269.429 108.572 285.714C88.572 251.999 78.858 213.142 78.858 174.285C78.858 113.999 103.715 52.5699999999999 150.287 13.428C155.43 23.142 165.144 29.714 176.287 29.714C186.287 29.714 195.715 24 200.858 15.428C206.287 23.999 215.429 29.714 225.7160000000001 29.714C235.7160000000001 29.714 245.1440000000001 24 250.2870000000001 15.428C255.7160000000001 23.999 265.144 29.714 275.1450000000001 29.714C285.1450000000001 29.714 294.5730000000001 24 300.0020000000001 15.428C305.1450000000001 23.999 314.5730000000001 29.714 324.5740000000001 29.714C335.4310000000001 29.714 345.4310000000001 23.142 350.2880000000001 13.714C393.7150000000001 50 418.8570000000001 105.714 421.7140000000001 162zM432.286 261.714C432.286 315.428 397.7150000000001 367.428 339.714 367.428C309.429 367.428 281.1430000000001 352.285 260.857 330.5710000000001C240.862 264.188 233.41 194 302.286 194C331.091 194 399.6430000000001 222.538 386.572 157.143C415.429 183.143 432.286 222.857 432.286 261.7140000000001z" /> + <glyph glyph-name="trade-federation" + unicode="" + horiz-adv-x="496" d=" M202.45 339.58V257.9700000000001H38.94L87.16 196.06H201.89V-0.69H266.5V195.04H349.77V257.73H266.59V276.9H412.21V339.5800000000001H202.45zM207.31 333.58H405.0800000000001V282.9H259.44V251.97H342.62V201.04H259.36V5.31H206.63V202.06H89.86L49.91 251.97H207.31V333.58zM247.99 439.2C111.03 439.2 0 328.17 0 191.2S111.03 -56.8 247.99 -56.8S496 54.24 496 191.2S384.96 439.2 247.99 439.2zM248.01 425.96C377.67 425.96 482.77 320.8400000000001 482.77 191.18S377.67 -43.58 248.01 -43.58S13.23 61.53 13.23 191.19S118.35 425.96 248.01 425.96zM248.01 418.07C122.71 418.07 21.12 316.5 21.12 191.2S122.71 -35.69 248.01 -35.69S474.88 65.9 474.88 191.2S373.31 418.07 248.01 418.07zM247.99 404.77C365.94 404.77 461.55 309.15 461.55 191.21S365.93 -22.35 247.99 -22.35S34.43 73.25 34.43 191.2S130.04 404.77 247.99 404.77zM174.67 299.9700000000001L190.33 281.92L168.17 291.37L155.84 270.9L157.99 294.89L134.71 300.29L158.19 305.66L156.13 329.4700000000001L168.5 308.8L190.51 318.12L174.67 299.9700000000001zM127.53 346.51L135.54 334.11L148.23 339.97L138.91 328.52L148.41 318.27L134.64 323.59L127.82 311.39L128.63 326.13L114.92 328.84L129.19 332.62L127.53 346.51zM378.3 270.92L390.29 251.36L411.17 260.47L396.2700000000001 243.02L411.3800000000001 225.98L390.1800000000001 234.76L378.6400000000001 215.12L380.4400000000001 237.99L358.2000000000001 242.89L380.5100000000001 248.2500000000001L378.3000000000001 270.92zM271.25 172.47L285.11 175.69L283.8300000000001 189.86L291.1800000000001 177.68L304.2600000000001 183.27L294.9500000000001 172.52L304.3100000000001 161.81L291.2100000000001 167.35L283.92 155.1400000000001L285.1400000000001 169.3100000000001L271.2500000000001 172.4700000000001zM145.82 165.97L169.55 169.84L167.82 194.37L178.83 172.99L201.62 182.21L184.69 165.13L200.5 146.3L179.03 157.12L166.01 136.26L169.67 160.03L145.82 165.97zM209.26 331.63V250.02H54.16L90.88 204.01H208.58V7.26H257.4V202.99H340.67V250.02H257.4V284.85H403.13V331.63H209.26zM220.12 320.43H391.92V296.07H246.88V239.84H329.81V215.9H246.88V18.48H220.12V215.9H96.31L76.22 239.84H220.12V320.43z" /> + <glyph glyph-name="trello" + unicode="" + horiz-adv-x="448" d=" M392 416H56C25.1 416 0 390.9 0 360V24C0 -6.9 25.1 -32 56 -32H392C422.9 -32 448 -6.9 448 24V360C448 390.9 422.9 416 392 416zM194.9 76.6C194.9 61.8 182.9 49.7 168 49.7H85.1C70.3 49.7 58.2 61.7000000000001 58.2 76.6V330.9C58.2 345.7 70.2 357.8 85.1 357.8H168C182.8 357.8 194.9 345.8 194.9 330.9V76.6zM389.8 188.6C389.8 173.8 377.8 161.7000000000001 362.9000000000001 161.7000000000001H280C265.2 161.7000000000001 253.1 173.7000000000001 253.1 188.6V330.9C253.1 345.7 265.1 357.8 280 357.8H362.9C377.7 357.8 389.8 345.8 389.8 330.9V188.6z" /> + <glyph glyph-name="tripadvisor" + unicode="" + horiz-adv-x="576" d=" M166.4 167.479C166.4 154.243 155.67 143.513 142.434 143.513S118.468 154.243 118.468 167.479S129.198 191.445 142.434 191.445S166.4 180.716 166.4 167.479zM431.362 191.435C418.132 191.435 407.406 180.71 407.406 167.479C407.406 154.249 418.131 143.523 431.362 143.523C444.592 143.523 455.318 154.248 455.318 167.479C455.317 180.71 444.592 191.435 431.362 191.435zM520.75 51.945C458.083 2.841 367.474 13.836 318.371 76.504L287.392 30.179L256.709 76.1180000000001C208.432 15.7280000000001 121.087 4.227 58.824 50.063C-5.234 97.2210000000001 -18.935 187.379 28.223 251.4370000000001A186.76199999999997 186.76199999999997 0 0 1 0 308.584L90.286 308.634A358.48 358.48 0 0 0 287.351 362.664A350.382 350.382 0 0 0 479.532 309.3150000000001L575.75 309.241A185.71300000000002 185.71300000000002 0 0 1 547.398 251.592C594.191 188.845 582.3620000000001 100.222 520.75 51.9450000000001zM259.366 166.239C259.359 229.796 207.831 281.314 144.274 281.307C80.717 281.3 29.2 229.772 29.206 166.215C29.213 102.658 80.741 51.14 144.298 51.147C207.811 51.222 259.282 102.686 259.366 166.199V166.239zM287.957 176.694C293.39 250.134 353.467 307.578 427.077 309.716A339.146 339.146 0 0 1 287.35 337.528A356.31 356.31 0 0 1 147.186 310.275C221.53 308.693 282.485 250.851 287.957 176.694zM539.663 205.461C517.671 265.095 451.501 295.6089999999999 391.8680000000001 273.618C332.2340000000001 251.626 301.7200000000001 185.4559999999999 323.7110000000001 125.823V125.791C345.7490000000001 66.184 411.9090000000001 35.7 471.5380000000001 57.678C531.153 79.682 561.6510000000001 145.84 539.663 205.461zM213.624 167.4859999999999V167.3709999999999C213.567 128.0429999999999 181.638 96.2079999999999 142.31 96.2649999999999C102.982 96.322 71.147 128.2509999999999 71.204 167.579C71.261 206.907 103.19 238.742 142.518 238.685C181.7770000000001 238.569 213.56 206.745 213.624 167.4859999999999zM189.112 167.4859999999999V167.5699999999999C189.061 193.3539999999999 168.118 214.215 142.334 214.1639999999999C116.5500000000001 214.113 95.689 193.1699999999999 95.74 167.387C95.791 141.603 116.734 120.742 142.5170000000001 120.793C168.2430000000001 120.906 189.0540000000001 141.761 189.1120000000001 167.4859999999999zM502.535 167.4859999999999V167.4379999999999C502.515 128.1099999999999 470.617 96.2439999999999 431.288 96.2649999999999S360.094 128.1829999999999 360.115 167.512C360.135 206.84 392.033 238.706 431.362 238.685C470.652 238.619 502.483 206.776 502.535 167.4859999999999zM478.031 167.4939999999999C478.022 193.2779999999999 457.113 214.1729999999999 431.329 214.1639999999999C405.545 214.155 384.65 193.2459999999999 384.659 167.4619999999999C384.668 141.678 405.577 120.7839999999999 431.361 120.7919999999999C457.126 120.8379999999999 477.997 141.7199999999999 478.031 167.4849999999999V167.4939999999999z" /> + <glyph glyph-name="tumblr-square" + unicode="" + horiz-adv-x="448" d=" M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM317.7 51.8C309.2 42.7 286.5 32 256.8 32C181.3 32 164.9 87.5 164.9 119.9V209.9H135.2C131.8 209.9 129 212.7 129 216.1V258.6C129 263.1 131.8000000000001 267.1 136.1 268.6C174.9 282.3 187 316.1 188.8 341.8C189.3 348.7 192.9 352 198.8 352H243.1C246.5000000000001 352 249.3 349.2 249.3 345.8V273.8H301.2C304.6 273.8 307.4 271 307.4 267.6V216.5C307.4 213.1 304.6 210.3 301.2 210.3H249.1V127C249.1 105.6 263.9 93.5 291.6 104.6C294.6 105.8 297.2000000000001 106.6 299.6 106C301.8 105.5 303.2000000000001 103.9 304.2000000000001 101.1L318.0000000000001 60.9C319.0000000000001 57.7000000000001 320.0000000000001 54.2 317.7000000000001 51.8z" /> + <glyph glyph-name="tumblr" + unicode="" + horiz-adv-x="320" d=" M309.8 -32.3C296.2 -46.8 259.8 -64 212.4 -64C91.6 -64 65.4 24.8 65.4 76.6V220.6H17.9C12.4 220.6 7.9 225.1 7.9 230.6V298.6C7.9 305.8 12.4 312.2000000000001 19.2 314.6C81.2 336.4000000000001 100.7 390.6 103.5 431.7000000000001C104.3 442.7000000000001 110 448 119.6 448H190.5C196 448 200.5 443.5 200.5 438V322.8H283.5C289 322.8 293.5 318.4 293.5 312.9V231.2C293.5 225.7 289 221.2 283.5 221.2H200.1V88C200.1 53.8 223.8 34.4 268.1 52.2C272.9000000000001 54.1 277.1 55.4 280.8 54.4C284.3 53.5 286.6 51 288.2 46.5L310.2 -17.8C312 -22.8 313.5 -28.4 309.8 -32.3z" /> + <glyph glyph-name="twitch" + unicode="" + horiz-adv-x="448" d=" M40.1 416L10 339.1V24.8H117V-32H177.2L234 24.8H321L438 141.8V416H40.1zM397.9000000000001 161.9L331 95H224L167.2 38.2V95H76.9V375.9H397.9V161.9zM331 299V182.1H290.9V299H331zM224 299V182.1H183.9V299H224z" /> + <glyph glyph-name="twitter-square" + unicode="" + horiz-adv-x="448" d=" M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM351.1 257.2C351.3 254.4 351.3 251.5 351.3 248.7C351.3 162 285.3 62.1 164.7 62.1C127.5 62.1 93 72.9 64 91.5C69.3 90.9 74.4 90.7 79.8 90.7C110.5 90.7 138.7 101.1 161.2 118.7C132.4 119.3 108.2 138.2 99.9 164.2C110 162.7 119.1 162.7 129.5 165.4C99.5 171.5 77 197.9 77 229.8V230.6C85.7 225.7 95.9 222.7 106.6 222.3A65.447 65.447 0 0 0 77.4 276.9C77.4 289.1 80.6 300.3 86.3 310C118.6 270.2 167.1 244.2 221.5 241.4C212.2 285.9 245.5 322 285.5 322C304.4 322 321.4 314.1 333.4 301.3C348.2 304.1 362.4 309.6 375 317.1C370.1 301.9 359.8 289.1 346.2 281C359.4 282.4 372.2 286.1 384 291.2C375.1 278.1 363.9 266.5 351.1 257.2z" /> + <glyph glyph-name="twitter" + unicode="" + horiz-adv-x="512" d=" M459.37 296.284C459.695 291.736 459.695 287.187 459.695 282.639C459.695 143.919 354.112 -15.919 161.137 -15.919C101.685 -15.919 46.457 1.3 0 31.187C8.447 30.213 16.568 29.888 25.34 29.888C74.395 29.888 119.553 46.456 155.614 74.72C109.482 75.6950000000001 70.822 105.908 57.502 147.492C64 146.518 70.497 145.868 77.32 145.868C86.741 145.868 96.163 147.168 104.934 149.441C56.853 159.188 20.791 201.421 20.791 252.426V253.725C34.76 245.928 51.005 241.055 68.222 240.406C39.958 259.249 21.441 291.411 21.441 327.7970000000001C21.441 347.289 26.638 365.1570000000001 35.735 380.751C87.39 317.076 165.035 275.493 252.1 270.944C250.4760000000001 278.741 249.5010000000001 286.862 249.5010000000001 294.9840000000001C249.5010000000001 352.812 296.283 399.918 354.4350000000001 399.918C384.6480000000001 399.918 411.9370000000001 387.248 431.1050000000001 366.781C454.8200000000001 371.329 477.5610000000001 380.101 497.7040000000001 392.121C489.9060000000001 367.755 473.3380000000001 347.288 451.5720000000001 334.294C472.6890000000001 336.567 493.1560000000001 342.416 511.998 350.5370000000001C497.7060000000001 329.746 479.837 311.2290000000001 459.3700000000001 296.284z" /> + <glyph glyph-name="typo3" + unicode="" + horiz-adv-x="433.3" d=" M330.8 107C323.8 104.7 319.2 104.7 312.3 104.7C255.1 104.7 171.7 303.2 171.7 369.6C171.7 394.3 177.1 402 185.6 409C116.1 400.5 36.3 375 9.3 342.6C3.9 334.9 0 321.8 0 305.5C0 202 106.8 -32 184.1 -32C220.4 -32 281.4 27.5 330.8 107M294.5 416C366.3 416 433.3 404.4 433.3 363.5C433.3 280.9 380.8 181.2 354.5 181.2C306.6 181.2 252.8 313.3 252.8 379.7C252.8 410.6 264.4000000000001 416 294.5 416" /> + <glyph glyph-name="uber" + unicode="" + horiz-adv-x="448" d=" M414.1 416H33.9C15.2 416 0 400.8 0 382.1V2C0 -16.8 15.2 -32 33.9 -32H414C432.7 -32 447.9 -16.8 447.9 1.9V382.1C448 400.8 432.8 416 414.1 416zM237.6 56.9C163 49.4 96.4 103.8 88.9 178.4H183.3V158C183.3 154.3 186.3 151.2 190.1 151.2H258C261.7 151.2 264.8 154.2 264.8 158V225.9C264.8 229.6 261.8 232.7 258 232.7H190.1C186.4 232.7 183.3 229.7 183.3 225.9V205.5H88.9C95.9 274.9 154.3 327.7 224 327.7C293.7 327.7 352.1 274.9 359.1 205.5C366.6 131 312.2000000000001 64.4 237.6 56.9z" /> + <glyph glyph-name="uikit" + unicode="" + horiz-adv-x="448" d=" M443.9 320V64L218 -64L0 64V278.3L87.6 233.2V116.2000000000001L221.1 40.7L356.9 116.2000000000001V267.2000000000001L255.8 324.8000000000001L343.4 377.9000000000001L443.9 320zM308.6 398.9L223.8 448L135.2 393.2L221.2 345.9L308.6 398.9z" /> + <glyph glyph-name="uniregistry" + unicode="" + horiz-adv-x="384" d=" M281.1 227.9H384V242.7H281.1V227.9zM281.1 265H384V277.4H281.1V265zM281.1 190.8H384V208.1H281.1V190.8zM123.4 104.1H8.5C11.1 95.6 14.3 87.3 18.1 79.3H156.4C143.5 85 132.3 93.5 123.4 104.1M269.1 116.5H378.8C380.6 123.8 381.9000000000001 131.2 382.7 138.8H278.3C276.2 130.9 273.1 123.4 269.1 116.5M227.6 79.4H367C370.7 87.4 372.8 95.6 375.5 104.2H260.5C251.7 93.5 240.4 85 227.6 79.4M384 416H281.1V413.5H384V416zM192 -32C231.5 -32 268.2 -20.2 298.8 0.2H85.3C115.8 -20.2 152.5 -32 192 -32M281.1 302.2H384V312H281.1V302.2zM281.1 339.3H384V346.7H281.1V339.3zM281.1 376.4H384V381.3H281.1V376.4zM102.9 277.4H0V265H102.9V277.4zM38.8 42.3H344.1C350.8 50.8 356.7000000000001 59.9 361.9000000000001 69.5H23C28.2 59.9 32.2 50.8 38.8 42.3M102.9 161.1V173.5H0V161.1C0 158.6 0 156.1 0.1 153.7000000000001H103.2C103 156.1 102.9 158.6 102.9 161.1M281.1 161.1C281.1 158.6 281 156.1 280.7 153.7000000000001H383.8C383.9 156.2000000000001 384 158.6 384 161.1V173.5H281.1V161.1zM78.1 5.1H305.8C317.6 13.8 328.5 23.7 338 34.8H44.9C54.5 23.8 66.3 13.8 78.1 5.1M102.9 381.3H0V376.4H102.9V381.3zM102.9 416H0V413.5H102.9V416zM102.9 242.7H0V227.9H102.9V242.7zM102.9 208.1H0V190.8H102.9V208.1zM102.9 312H0V302.1H102.9V312zM102.9 346.7H0V339.3H102.9V346.7zM105.7 138.8H1.3C2.2 131.2 3.5 123.8 5.2 116.5H114.9C110.9 123.4 107.7 130.9 105.7 138.8" /> + <glyph glyph-name="untappd" + unicode="" + horiz-adv-x="640" d=" M401.3 398.1C321.5 238 316.7000000000001 245.6 313.4 224.9L308.2 192.1C306.3 180.1 301.6 168.6 294.5 158.7000000000001L145.6 -49.1C138 -59.7 125.2 -65.3000000000001 112.2 -63.7C71.9 -58.7 34.4 -31.5000000000001 16.9 4.8C11.2 16.6 12.4 30.6 20 41.1999999999999L168.9 249.1C176 259 185.3 267.0999999999999 196.1 272.8L225.4 288.3C243.9 298.0999999999999 235.1 300.2 361 427.2C362 432 362 434.5 364.6 435.2C367.6 435.8999999999999 371.2000000000001 436.2 370.9000000000001 439.8L370.5000000000001 444.3999999999999C370.3000000000001 446.3 371.8000000000001 448 373.7000000000001 448C378.2000000000001 448.0999999999999 386.9000000000001 446.8 399.3000000000001 438C411.6000000000001 429.0999999999999 415.7000000000001 421.2 417.0000000000001 416.8999999999999C417.6000000000001 415.0999999999999 416.4000000000001 413.2 414.6000000000001 412.7L410.1000000000001 411.5999999999999C406.7000000000001 410.7 407.6000000000001 407.2 407.8000000000001 404.2C407.9000000000001 401.3999999999999 405.5000000000001 400.5999999999999 401.3000000000001 398.0999999999999zM230.1 411.6C233.5 410.7 232.6 407.2 232.4 404.2C232.2 401.5 234.5 400.7 238.8 398.2C246.7 382.3 254.1 367.7 261 354.2C261.7 352.9 263.3 352.7 264.3 353.7C275.5 365.7 288.9000000000001 379.9 304.8 396.3C306.1 397.7 306.2 399.8 304.9000000000001 401.2C296.9000000000001 409.4 288.4000000000001 418.1 279.3 427.3C278.3 432 278.3 434.6 275.7 435.3C272.7 436.1 269.1 436.3 269.4 439.9C269.7 443.2 270.8 448 266.6 448.1C262.1 448.2 253.4 447 241 438.1C228.7 429.2 224.6 421.3 223.3 417C221.9 412.8 226.9 412.4 230.1 411.6zM620 41.3L471.2 249.2C458 267.7 444.6 272.6 414.8 288.3C403.6 294.2 400.6 299.2 384.3 317.2C383.3 318.3 381.4000000000001 318.1 380.7 316.7C334.4 227.9 333.6 233.9 331.7 221.9C330 211.2 330.4 201.9 332 192.1C333.9 180.1 338.6 168.6 345.7 158.7L494.6 -49.2C502.2 -59.8000000000001 514.8000000000001 -65.4000000000001 527.7 -63.9C568 -59.0000000000001 605.7 -31.9 623.4000000000001 4.6999999999999C628.8000000000001 16.5999999999999 627.7 30.5999999999999 620.0000000000001 41.3z" /> + <glyph glyph-name="usb" + unicode="" + horiz-adv-x="640" d=" M641.5 192C641.5 188.9 639.8 185.9 637 184.5L547.9 131C546.5 130.2 545.1 129.6 543.4 129.6C542 129.6 540.3 129.9 538.9 130.7000000000001C536.1 132.4 534.4 135.2000000000001 534.4 138.5000000000001V174.1000000000001H295.7C321 134.5000000000001 336.2 67.2000000000001 365.3 67.2000000000001H392V94C392 99 395.9 102.9 400.9 102.9H490C495 102.9 498.9 99 498.9 94V4.9C498.9 -0.1 495 -4 490 -4H400.9C395.9 -4 392 -0.1 392 4.9V31.6H365.3C289.9 31.6 284.2000000000001 174.1 240.6 174.1H140.3C132.2 143.5 104.4 120.6 71.3 120.6C32 120.7 0 152.7 0 192S32 263.3 71.3 263.3C104.4 263.3 132.3 240.5 140.3 209.8C179.4 209.8 184.2 200.3 214.9 270.2000000000001C255 359.3 273 352.3 323.8 352.3C331.3 373.2 350.8 387.9 374.2 387.9C403.7 387.9 427.7 364 427.7 334.4S403.8 280.9 374.2 280.9C350.8 280.9 331.3 295.7000000000001 323.8 316.5H294C264.9 316.5 249.7 249.1 224.4 209.6H534.5V245.2C534.5 248.5 536.2 251.3 539 253C541.8 254.7 545.4 254.4 547.9 252.7L637 199.2C639.8 198.1 641.5 195.1 641.5 192z" /> + <glyph glyph-name="ussunnah" + unicode="" + horiz-adv-x="512" d=" M156.8 162.9L162.5 148.5H154.3C153 151.7 151.2 156.2 150.5 158C148 164.3 149.4 166.4 150.5 168C152.4 170.7 153.7 172.4 154.1 173.2C154.1 171 154.9 167.5 156.8 162.9zM454.1 144.1C452 130.3 448.4000000000001 117 443.6 104.4L486.6 81L441.8 99.8C436.5 86.6 429.8 74.2 421.9000000000001 62.6L456.1 32.4L419.3 58.8C410.9000000000001 47 401.3 36.2 390.6 26.5L415.5 -8.2L387.4 23.6C376.4 14 364.3 5.6 351.3 -1.5L367 -38.7L347.7 -3.4C334.5999999999999 -10.2 320.7 -15.5 306.0999999999999 -19.3L312.7999999999999 -57.6999999999999L302.2999999999999 -20.3C287.9999999999999 -23.6999999999999 273.0999999999999 -25.6 257.7999999999999 -25.6999999999999L256 -64L254.1 -25.6C238.8 -25.5 223.9 -23.6 209.6 -20.3L199 -57.6L205.7 -19.4C191.1 -15.7 177.1 -10.3 164 -3.6L144.8 -38.7L160.4 -1.7C147.4 5.3 135.2 13.6999999999999 124.2 23.4L96.3 -8.2L121 26.1999999999999C110.3 35.8999999999999 100.6 46.6999999999999 92.2 58.4999999999999L55.7 32.3L89.6 62.1999999999999C81.7 73.8 75 86.3 69.6 99.4999999999999L25.2 80.8L67.8 104C63 116.7 59.4 130.1 57.3 143.9L6.3 134.9L56.6 149.1C55.5 157.6 54.9 166.2 54.9 175C54.9 179.6999999999999 55.1 184.3999999999999 55.4 189.1L0 192L56 194.8C57.3 207.9 59.8 220.6 63.5 232.9L6.4 249L65.3 238.6C69.3 250.6 74.4 262.1 80.5 273L25.4 303L83.7 278.4C90 289 97.2 298.8 105.3 308L55.8 351.6L109.7 312.9C117.8 321.5 126.7 329.4 136.3 336.5L96.3 392.1L141.9 340.5C151.4 347.1 161.6 352.8 172.2 357.7L144.9 422.6L178.7 360.5C189.2 364.9 200.1 368.4 211.4 370.9L199 441.6L218.5 372.4C229.5 374.5 240.8 375.6 252.3 375.8L256 448L259.6 375.8C271.1 375.6 282.4000000000001 374.4 293.4000000000001 372.3L313 441.6L300.6 370.9C311.9000000000001 368.3 322.8 364.8 333.2000000000001 360.4L367.1 422.6L339.7000000000001 357.5C350.3000000000001 352.6 360.4000000000001 346.8 369.9000000000001 340.3L415.7000000000001 392.1L375.6 336.2C385.1 329.1 394 321.2 402.1 312.6L456.3 351.5L406.6 307.6C414.6 298.5 421.8 288.7 428.1 278.2L486.8 302.9L431.3 272.7C437.4000000000001 261.8 442.4000000000001 250.4 446.4000000000001 238.4L505.7 248.8L448.2000000000001 232.6C451.9 220.4 454.4 207.7 455.7 194.7L512 192L456 189.2C456.3 184.6 456.5 179.9 456.5 175.1C456.5 166.4 455.9 157.8 454.9 149.3L505.6 135L454.1 144.1zM432.3 175.1C432.3 272.6 353.3 351.6 255.8 351.6S79.3 272.6 79.3 175.1S158.3 -1.4 255.8 -1.4S432.3 77.6 432.3 175.1zM408.3 175.1C408.3 90.8 340 22.5 255.7 22.5S103.1 90.8 103.1 175.1S171.4 327.7000000000001 255.7 327.7000000000001S408.3 259.4000000000001 408.3 175.1zM195 207C195 204.9 196.3 203.2 198.6 201.9C201.9 200 204.8 197.3 206.8 193.7C209.6 199.4 211.1 203.2 211.1 204.9C211.1 207.1 210 209.3 207.9 211.9C205.8 214.4 204.7 217.1 204.6 219.6C198.1 212.8 195 208.7 195 207zM154.3 226C154.3 223.9 155.6 222.2 157.9 220.9C161.4 219 164.1 216.3 166.1 212.7C168.9 218.4 170.4 222.2 170.4 223.9C170.4 226.1 169.3 228.3 167.2 230.9C165.1 233.4 164 236.1 163.9 238.6C157.4 231.8 154.3 227.7 154.3 226zM135.3 226C135.3 223.9 136.6 222.2 138.9 220.9C142.2 219 145.1 216.3 147.1 212.7C149.9 218.4 151.4 222.2 151.4 223.9C151.4 226.1 150.3 228.3 148.2 230.9C146.1 233.4 145 236.1 144.9 238.6C138.5 231.8 135.3 227.7 135.3 226zM340.2000000000001 138.1C331.8000000000001 141.1 331.5000000000001 144.9 331.5000000000001 153.7000000000001V266C323.3000000000001 253.5 317.3000000000001 247.4 313.5000000000001 247.4C319.8000000000001 233 323.0000000000001 223.5 323.0000000000001 219.1V154.8C323.0000000000001 152.6 320.8000000000001 148.3 318.3000000000001 148.3H300.3000000000001C297.5000000000001 155.8 290.1000000000001 175.2 285.0000000000001 188.6C283.0000000000001 186.1 277.8000000000001 179.4 274.3000000000001 174.9C276.7000000000001 173.3 278.4000000000001 171.3 279.5000000000001 168.6C282.1000000000001 161.9 285.9000000000001 152.1 287.4000000000001 148.4H278.2000000000001C274.3000000000001 158.8 268.6 173.8 266.4000000000001 179.5000000000001C264.4000000000001 177.0000000000001 259.2000000000001 170.3000000000001 255.7000000000001 165.8000000000001C258.1 164.2000000000001 259.8000000000001 162.2000000000001 260.9000000000001 159.5000000000001C261.7000000000001 157.5000000000001 263.7000000000001 152.2000000000001 265.2000000000001 148.6000000000001H256C254.5 152.7000000000001 250.4 163.2000000000001 247.6 170.6000000000001C245.6 168.1000000000001 240.4 161.4000000000001 236.9 156.9000000000001C239.4 155.3000000000001 241.2 153.3000000000001 242.1 150.6000000000001C242.3 150.0000000000001 242.6 149.2000000000001 242.7 148.9000000000001H225C220.4 162.8000000000001 213.6 176.6000000000001 213.6 183.0000000000001C213.6 185.2000000000001 213.9 188.1000000000001 214.7 191.2000000000001C205.9 180.4000000000001 200.7 175.3000000000001 200.7 166.2000000000001C200.7 158.7000000000001 211.1 137.9000000000001 211.1 132.9000000000001C211.1 131.2000000000001 210.6 129.6000000000001 209.7 128.0000000000001C200.1 140.7000000000001 194.2 148.7000000000001 190.9 148.7000000000001H178.9L167.7 176.7000000000001C163.9 186.3000000000001 162 192.7000000000001 162 195.5000000000001C162 199.3000000000001 162.5 203.2000000000001 163.7 207.7000000000001C162.7 206.4000000000001 160 203.0000000000001 158.2 200.6000000000001C157.4 202.7000000000001 155.1 208.3000000000001 153.6 212.1000000000001C151.5 209.6000000000001 146.1 203.0000000000001 142.4 198.5000000000001C143.3 196.2000000000001 145.7 190.4000000000001 147.3 186.3000000000001C144.8 183.0000000000001 138.2 174.5000000000001 133.7 168.6000000000001C129.7 163.3000000000001 127.9 155.3000000000001 131 146.8000000000001C133.5 140.1000000000001 133 138.9000000000002 129.3000000000001 132.7000000000001H191C196.5 132.7000000000001 205.3 118.7000000000001 206.5 110.7000000000001C219.7 126.7000000000001 221.9 130.3000000000001 223.3 132.3000000000001H330.3C334.2 132.3000000000001 337.5 134.2000000000001 340.2 138.1000000000001zM360.3000000000001 164.7000000000001V266.3C351.3000000000001 253.8 344.4000000000001 247.7 339.6000000000001 247.7C346.7000000000001 233.3 350.3000000000001 223.8 350.3000000000001 219.4V153.1C350.3000000000001 135.6 358.9000000000001 132.7000000000001 374.3000000000001 132.7000000000001C382.4000000000001 132.7000000000001 386.8000000000001 133.5000000000001 388.0000000000001 135.4C383.7000000000001 137.0000000000001 380.4000000000001 137.9 378.1000000000001 138.7000000000001C370.0000000000001 141.9 360.3000000000001 146.1 360.3000000000001 164.7000000000001z" /> + <glyph glyph-name="vaadin" + unicode="" + horiz-adv-x="448" d=" M224.5 307.3C226 324.9 229.4 360 274.3 360H372.9C393.6 360 405 367.8 405 381.6V393.9C405 406.1 414.3 416 426.5 416S448 406.1 448 393.9V357.4C448 314.5 426.5 295.4 381.2 295.4H280.7C250.6 295.4 247.7 280.7000000000001 247.7 268.3C247.7 267 247.6 265.8 247.5 264.6C246.8 252.3 236.6 242.4000000000001 224.1 242.4000000000001S201.4 252.2000000000001 200.7 264.6C200.6 265.8 200.5 267 200.5 268.3C200.5 280.6 197.5 295.4 167.5 295.4H66.8C21.5 295.4 0 314.5 0 357.4V393.9C0 406.1 9.4 416 21.6 416S43.1 406.1 43.1 393.9V381.6C43.1 367.8 54.5 360 75.2 360H173.8C218.6 360 222.1 324.9 223.6 307.3H224.5zM224 -8C235.5 -8 245.4 -1 249.7 8.3C250.8 10.1 346.8 177.9 347.9 179.7000000000001C359.8 199.3000000000001 344.7 224.0000000000001 320.7 224.0000000000001C306.8 224.0000000000001 297.4 217.6000000000001 290.9 203.7000000000001L224 86L157.1 203.7C150.7 217.6 141.2 224 127.3 224C103.3 224 88.2 199.4 100.1 179.7C101.2 177.8 197.2 10.1 198.3 8.3C202.6 -1.0000000000001 212.5 -8.0000000000001 224 -8.0000000000001z" /> + <glyph glyph-name="viacoin" + unicode="" + horiz-adv-x="384" d=" M384 416H320L239.3 224H144.8L64 416H0L48 304H0V256H68.5L82.3 224H0V176H102.8L192 -32L281.2 176H384V224H301.7L315.5 256H384V304H336L384 416zM192 112L165 176H219L192 112z" /> + <glyph glyph-name="viadeo-square" + unicode="" + horiz-adv-x="448" d=" M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM280.7 66.8C238.3 20.6 160.7 20.2 118.3 66.8C50.3 140.4 98.5 262.9 199.5 262.9C212.8 262.9 226.1 260.8 238.6 256.2000000000001C234.3 247.8 231.3 238.6 230.2 229.1C220.5 233.2 210 235.1 199.5 235.1C150.7 235.1 114.9 193.4 114.9 146.2000000000001C114.9 103.2000000000001 143.4 67.5000000000001 184.4 60.3000000000001C245.9 84.3000000000001 257.3 177.9000000000001 257.3 235.3000000000001C257.3 242.6000000000001 257.3 250.1000000000001 256.7 257.4000000000001C245.5 290.3000000000001 230.1 322.0000000000001 212.5 351.9000000000001C239.6 333.6000000000001 254.4 289.4000000000001 256.7 257.8000000000001V257.4000000000001C264.4 234.9000000000001 268.5 211.2000000000001 268.5 187.4000000000001C268.5 133.3000000000001 246.6 88.4000000000001 200.2 59.2000000000001L197.8 59.0000000000001C247.8 58.0000000000001 284 97.6000000000001 284 146.2000000000001C284 158.4000000000001 281.9 170.5000000000001 277.1 181.9000000000001C286.6 183.8000000000001 295.6 187.5000000000001 303.5 192.4000000000001C318.8 155.8000000000001 316.1 105.1000000000001 280.7 66.8000000000001zM309 214.3C295.7 214.3 283.9 221.4 274.6 230.4C296.5 242.4 324.2000000000001 261.1 336.9000000000001 283.4C338.4000000000001 286.4 341.0000000000001 292 341.4000000000001 295.4C328.9000000000001 267.5 297.2000000000001 245.6 267.5 238.7C262.8 246 260 254.2 260 263C260 273.3 265.2 287.1 272.9 294.6C294.5 315.1 325.9 303.1 345.3 344.6C377.8 298.4 358.4 214.3 309 214.3z" /> + <glyph glyph-name="viadeo" + unicode="" + horiz-adv-x="448" d=" M276.2 297.5V296.8C258.3 349.4 233.6 400.2 205.4 448C248.7 418.8 272.4 348 276.2 297.5zM308.9 175.8C316.5 157.6 319.9 138.3 319.9 118.8C319.9 41.1 262.1 -22.2 182.1 -20.6L185.9 -20.3C260.1 26.4 295.2 98.3 295.2 184.8C295.2 222.9 288.7 260.7 276.3 296.8C277.3 285.1 277.3 273.1 277.3 261.4C277.3 169.6 259.2 19.8 160.7 -18.6C95 -7.2 49.4 50 49.4 118.8C49.4 194.4 106.8 261.1 184.8 261.1C201.6 261.1 218.5 258 233.9 251.5000000000001C235.6 266.6 240.4 281.4000000000001 247.3 294.8C227.4 302 206.1 305.5 184.8 305.5C23.3 305.5 -53.9 109.6 54.9 -8.2C122.8 -82.7999999999999 246.9 -82.1 314.7000000000001 -8.2C371.3000000000001 53.1 375.6 134.2000000000001 351.1 192.8C338.4000000000001 184.8 324 178.9 308.9000000000001 175.8zM418.1 436.3C387.1 369.8 336.8 389.1 302.3 356.2C289.9000000000001 344.2 281.7 322.2 281.7 305.7C281.7 291.6 286.2 278.6 293.7 266.9C341.1 277.9 392 312.9 411.9 357.6C411.2 352.1 407.1 343.2 404.7 338.4C384.4 302.7 340.1 272.8 305 253.5C319.8 239.1 338.7 227.7 360 227.7C439 227.7 470.1 362.3 418.1 436.3z" /> + <glyph glyph-name="viber" + unicode="" + horiz-adv-x="512" d=" M444 398.1C431.3 409.8 379.9 447.1 265.3 447.6C265.3 447.6 130.2 455.7 64.4 395.3C27.8 358.7 14.9 305 13.5 238.5C12.1 172 10.4 47.4 130.5 13.6H130.6L130.5 -38S129.7 -58.9 143.5 -63.1C160.1 -68.3000000000001 169.9 -52.4 185.8 -35.3C194.5 -25.9 206.5 -12.1 215.6 -1.6C297.8 -8.5 360.9000000000001 7.3 368.1 9.6C384.7000000000001 14.9999999999999 478.6 26.9999999999999 493.8 151.6C509.6 280.2 486.2 361.4 444 398.1zM457.9 161C445 57 368.9 50.4 354.9 45.9C348.9 44 293.4 30.2 223.7 34.7C223.7 34.7 171.7 -28 155.5 -44.3C150.2 -49.6 144.4 -49.1 144.5 -38.6C144.5 -31.7 144.9 47.1 144.9 47.1C144.8 47.1 144.8 47.1 144.9 47.1C43.1 75.3 49.1 181.4 50.2 236.9C51.3 292.4 61.8 337.9 92.8 368.5C148.5 419 263.2000000000001 411.5 263.2000000000001 411.5C360.1 411.1 406.5000000000001 381.9 417.3000000000001 372.1C453.0000000000001 341.5 471.2 268.3 457.9000000000001 161zM318.9 241.8C319.3 233.2 306.4 232.6 306 241.2C304.9 263.2000000000001 294.6 273.9000000000001 273.4 275.1C264.8 275.6 265.6 288.5 274.1 288C302 286.5 317.5 270.5 318.9 241.8zM339.2 230.5C340.2 272.9 313.7 306.1 263.4 309.8C254.9 310.4 255.8 323.3 264.3 322.7000000000001C322.3 318.5 353.2 278.6 352.1 230.2C352 221.6 339 222 339.2 230.5000000000001zM386.2 217.1C386.3 208.5 373.3 208.4 373.3 217C372.7 298.5 318.4000000000001 342.9 252.5 343.4C244 343.5 244 356.3 252.5 356.3C326.2 355.8 385.5 304.9 386.2 217.1zM374.9 119V118.8C364.1 99.8 343.9 78.8 323.1 85.5L322.9 85.8C301.8 91.7 252.1 117.3 220.7 142.3C204.5 155.1 189.7 170.2 178.3 184.7C168 197.6 157.6 212.9 147.5 231.3C126.2 269.8 121.5 287 121.5 287C114.8 307.8 135.7 328 154.8 338.8H155C164.1999999999999 343.6 173 342 178.9 334.9C178.9 334.9 191.3 320.1 196.5999999999999 312.8C201.5999999999999 306 208.2999999999999 295.1 211.7999999999999 289C217.8999999999999 278.1 214.0999999999999 267 208.0999999999999 262.4L196.0999999999999 252.8C190 247.9 190.7999999999999 238.8 190.7999999999999 238.8S208.5999999999999 171.5 275.0999999999999 154.5C275.0999999999999 154.5 284.2 153.7 289.0999999999999 159.8L298.7 171.8C303.3 177.8 314.3999999999999 181.6 325.3 175.5C340 167.2 358.7 154.3 371.1 142.6C378.1 136.9 379.7 128.2000000000001 374.9 119z" /> + <glyph glyph-name="vimeo-square" + unicode="" + horiz-adv-x="448" d=" M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM383.8 266.4C382.4000000000001 235.3 360.6 192.6 318.5 138.5C275 82 238.2 53.7 208.1 53.7C189.4 53.7 173.7 70.9 160.8 105.3C135.6 197.6 124.9 251.7 104.1 251.7C101.7 251.7 93.3 246.7 79 236.6L64 256C100.9 288.4 136.1 324.4 158.1 326.4C183 328.8 198.3 311.8 204.1 275.3C224.6 145.7000000000001 233.7 126.1 270.9 184.8C284.3 206 291.5 222 292.4 233.1C295.8 265.9000000000001 266.8 263.7000000000001 247.2 255.3C262.9 306.8 293 331.8 337.3 330.4C370.2 329.4 385.7 308 383.8 266.4z" /> + <glyph glyph-name="vimeo-v" + unicode="" + horiz-adv-x="448" d=" M447.8 294.4C445.8 250.8 415.4000000000001 191.1 356.4 115.3C295.5 36.1 244 -3.5 201.8 -3.5C175.7 -3.5 153.6 20.6 135.5 68.8C100.3 198 85.3 273.7 56.2 273.7C52.8 273.7 41.1 266.6 21 252.6L0 279.8C51.6 325.1 100.9 375.5 131.8 378.3C166.7 381.7000000000001 188.1 357.8 196.2 306.8C224.9 125.3 237.6 97.9 289.8 180.1C308.5 209.7 318.6 232.2 320 247.7C324.8 293.6 284.2 290.5 256.7 278.7000000000001C278.7 350.8 320.8 385.8 382.9 383.8C428.7 382.6 450.4 352.7000000000001 447.8 294.4z" /> + <glyph glyph-name="vimeo" + unicode="" + horiz-adv-x="448" d=" M403.2 416H44.8C20.1 416 0 395.9 0 371.2V12.8C0 -11.9 20.1 -32 44.8 -32H403.2C427.9 -32 448 -11.9 448 12.8V371.2C448 395.9 427.9 416 403.2 416zM377 267.2C375.6 235.7 353.6 192.5 311 137.8C267 80.6 229.7 51.9999999999999 199.3 51.9999999999999C180.4 51.9999999999999 164.5 69.3999999999999 151.4 104.3C125.9 197.6 115 252.3 94 252.3C91.6 252.3 83.1 247.2 68.6 237.1L53.4 256.7C90.7 289.5 126.3 325.9 148.6 327.9C173.8 330.3 189.3 313.1 195.1 276.2C215.8 145 225 125.1999999999999 262.7 184.6C276.2 206 283.5 222.3 284.5 233.5C288 266.7 258.6 264.4 238.7 255.9C254.6 308 285 333.3 329.9 331.9C363.2 331 378.9 309.4 377 267.2z" /> + <glyph glyph-name="vine" + unicode="" + horiz-adv-x="384" d=" M384 193.3V141.2C365.6 137 347.1 135.1 331.9 135.1C295 57.6999999999999 228.9 -8.7 206.8 -21.1C192.8 -29 179.7 -29.5 164.1 -20.3C137 -4 34.2 80.3 0 345.3H74.5C93.2 186.2 139 104.6 189.3 43.5C217.2 71.4 244.1 108.6 264.9 150.4C215.1 175.7 184.8 231.3 184.8 296C184.8 361.6 222.5 411.1 287 411.1C401.9 411.1 393.2 283.2 368.6 229.6C368.6 229.6 322.2000000000001 220.4 305.1 250.1C308.5 261.4 313.3 280.9 313.3 298.6C313.3 329.9 302 345.2 284.9000000000001 345.2C266.7000000000001 345.2 254.1 328.1 254.1 295.2C254.2 216 313.5 176.5 384 193.3z" /> + <glyph glyph-name="vk" + unicode="" + horiz-adv-x="576" d=" M545 330.3C548.7 342.8 545 352 527.2 352H468.3000000000001C453.3000000000001 352 446.4000000000001 344.1 442.7000000000001 335.3C442.7000000000001 335.3 412.7000000000001 262.2 370.3000000000001 214.8C356.6000000000001 201.1 350.3000000000001 196.7 342.8000000000001 196.7C339.1000000000001 196.7 333.4000000000001 201.1 333.4000000000001 213.6V330.3C333.4000000000001 345.3 329.2000000000001 352 316.8000000000001 352H224.2000000000001C214.8000000000001 352 209.2000000000001 345 209.2000000000001 338.5C209.2000000000001 324.3 230.4000000000001 321 232.6000000000001 281V194.2C232.6000000000001 175.2 229.2000000000001 171.7 221.7000000000001 171.7C201.7000000000001 171.7 153.1000000000001 245.1 124.3000000000001 329.1C118.5000000000001 345.4 112.8000000000001 352 97.7000000000001 352H38.8C22 352 18.6 344.1 18.6 335.3C18.6 319.7 38.6 242.2 111.7 139.8C160.4 69.9 229 32 291.4 32C328.9 32 333.5 40.4 333.5 54.9C333.5 121.7 330.1 128 348.9 128C357.6 128 372.6 123.6 407.6 89.9C447.6 49.9 454.2 32 476.6 32H535.5C552.3 32 560.8 40.4 555.9 57C544.6999999999999 91.9 469 163.7 465.6 168.5C456.9 179.7 459.4 184.7 465.6 194.7C465.7 194.8 537.5999999999999 296 545 330.3z" /> + <glyph glyph-name="vnv" + unicode="" + horiz-adv-x="640" d=" M104.9 96C70.8 96 58.5 126.4 58.5 126.4L2.6 237.9S-7.8 256 13 256H45.8C56.2 256 59 247.3 64.6 237.9L101.3 163.4S106.5 150.3 122.4 150.3S143.5 163.4 143.5 163.4L180.2 237.9C185.8 247.4 188.6 256 199 256H231.8C252.6 256 242.2 237.9 242.2 237.9L186.4 126.4S174.2 96 140 96H104.9zM499.9 96C465.8 96 453.5 126.4 453.5 126.4L397.6 237.9S387.2 256 408 256H440.8C451.2 256 454 247.3 459.6 237.9L496.3 163.4S501.5 150.3 517.4 150.3S538.5 163.4 538.5 163.4L575.3 237.9C580.9 247.4 583.6999999999999 256 594.0999999999999 256H627C647.8 256 637.4 237.9 637.4 237.9L581.5 126.4S569.3 96 535.1 96H499.9zM337.6 256C371.7000000000001 256 384 225.6 384 225.6L439.9 114.1S450.3 96 429.5 96H396.7C386.3 96 383.5 104.7 377.9 114.1L341.2 188.6S336 201.7 320.1 201.7C304.2 201.7 299 188.6 299 188.6L262.3 114.1C256.7 104.7000000000001 253.9 96 243.5 96H210.5999999999999C189.7999999999999 96 200.1999999999999 114.1 200.1999999999999 114.1L256.0999999999999 225.6S268.2999999999999 256 302.4999999999999 256H337.5999999999999z" /> + <glyph glyph-name="vuejs" + unicode="" + horiz-adv-x="448" d=" M356.9 383.7H280L224 295.1L176 383.7000000000001H0L224 0L448 383.7H356.9zM55.7 351.7H109.5L224 153.5L338.4 351.7H392.2L224 63.5L55.7 351.7z" /> + <glyph glyph-name="weebly" + unicode="" + horiz-adv-x="512" d=" M425.09 382.17C385.21 382.17 351.81 356.44 341.43 317.8400000000001C323.2699999999999 375.9 275.93 382.17 256.48 382.17C236.7 382.17 189.68 375.89 171.2 317.8400000000001C160.82 356.44 127.75 382.17 87.54 382.17C38.59 382.17 0 348.28 0 304.9700000000001C0 276.01 4.18 271.7 77.17 71.49C99.54 10.92 144.94 2.14 169.91 2.14C209.14 2.14 239.95 21.6 255.84 56.12C271.73 21.29 302.53 1.83 341.77 1.83C366.74 1.83 412.13 10.93 434.51 71.5C511.06 280.15 512.01 277.0800000000001 512.01 298.7C512.64 347.02 476 382.17 425.09 382.17zM451.4299999999999 267.36L385.86 90.92C377.94 69.43 364.64 53.7 339.62 53.7C316.18 53.7 302.24 66.1100000000001 295.5899999999999 87.6L256.31 205.0200000000001H255.36L216.08 87.6C209.12 66.1 195.18 54 172.06 54C147.04 54 133.73 69.74 125.82 91.22L60.88 266.45C55.5 281.28 52.96 290.36 52.96 300.95C52.96 317.29 68.8 330.31 91.29 330.31C109.98 330.31 123.28 318.51 127.4 301.26L171.43 161.44H172.38L217.04 298.23C223.06 317.9 233.51 330.31 256 330.31S288.94 318.2 294.96 298.23L339.62 161.44H340.57L384.6 301.26C388.7200000000001 318.51 402.0200000000001 330.31 420.7100000000001 330.31C442.8800000000001 330.31 459.04 316.99 459.04 294.6C458.72 286.73 454.92 278.56 451.43 267.36z" /> + <glyph glyph-name="weibo" + unicode="" + horiz-adv-x="512" d=" M407 270.4C414.6 294.4 393.6 317.2 369.6 312.1C347.6 307.3 340.8 340.2000000000001 362.5 344.9000000000001C412.6 355.8 454.8 307.8 439 260.1C432.2 238.9000000000001 400.2 249.3 407 270.4000000000001zM214.8 1.3C108.5 1.3 0 52.7 0 137.6C0 181.9 28 233.0000000000001 76.3 281.3C176 381 279.5 382.2 249.9 287C245.9 273.9 262.2 281.3 262.2 281C341.7 314.6 402.7 297.8 376.2 229.6C372.5 220.2 377.3 218.7 384.5 216.5C520.2 174.2 419.3 1.3 214.8 1.3zM358.5 147.6C353.1 203.3 280 241.6 195.1 233.3C110.3 224.7 46.3 173 51.7 117.3S130.2 23.3 215.1 31.6C299.9 40.2 363.9 91.9 358.5 147.6zM347.9 412.9C322 407.3 331.1 369.2 356.2 374.6C428.5 389.8 491 321.8 467.9 250.6C460.5 226.4 497 213.6 505.3 238.6C537.1999999999999 338.4 450.2 434.5 347.9 412.9zM269.4 101.9C252.3 63.1 202.6 41.9 160.3 55.6C119.5 68.7 102.3 108.9999999999999 120 145.3C137.7 180.6999999999999 183.1 200.7 223.4 190.4C265.4 179.6 286.5 140.2 269.4 101.9zM183.1 131.9C170.2 137.3 153.1 131.6 145.1 119C136.8 106.1 140.8 91 153.7 85C166.8 79 184.5 84.7 192.8 97.9C200.8 111 196.5 126.2 183.1 131.9zM215.7 145.3C210.6 147 204.3 144.6999999999999 201.4 139.9C198.5 134.8 200 129.3 205.0999999999999 127C210.1999999999999 125 216.7999999999999 127.3 219.6999999999999 132.4C222.5 137.6 220.7999999999999 143.3 215.6999999999999 145.3z" /> + <glyph glyph-name="weixin" + unicode="" + horiz-adv-x="576" d=" M385.2 280.4C391.6 280.4 397.8 280.1 404 279.3C387.4 357.7 303.3 416 207.7 416C100.5 416 13 343.2 13 250.6C13 197.2 42.3 153.1 90.9 119L71.6 60.4L139.6 94.5C164 89.7 183.4 84.8 207.8 84.8C214 84.8 219.9 85.1 226.1 85.6C222.1 98.5 219.9 112.2000000000001 219.9 126.4C219.8000000000001 211.3000000000001 292.8000000000001 280.4000000000001 385.2000000000001 280.4000000000001zM280.7 333.3C295.2 333.3 304.9 323.6 304.9 308.9C304.9 294.4 295.2 284.7000000000001 280.7 284.7000000000001C265.9 284.7000000000001 251.4 294.4 251.4 308.9C251.5 323.6 266 333.3 280.7 333.3zM144.3 284.7000000000001C129.8 284.7000000000001 115 294.4 115 308.9C115 323.7 129.8 333.3 144.3 333.3C159.1 333.3 168.7 323.6 168.7 308.9C168.7 294.3 159.1 284.7000000000001 144.3 284.7000000000001zM563 128.6C563 206.5 485.1 269.9000000000001 397.6 269.9000000000001C304.9000000000001 269.9000000000001 232.2 206.5 232.2 128.6S305 -12.7 397.6 -12.7C416.9000000000001 -12.7 436.5 -7.6 456.2 -2.8L509.6 -32.1L494.8 16.5C534 45.9 563 84.8 563 128.6zM343.9 153.1C334.2 153.1 324.6 162.8 324.6 172.7000000000001C324.6 182.4 334.3 192.0000000000001 343.9 192.0000000000001C358.7 192.0000000000001 368.3 182.3000000000001 368.3 172.7000000000001C368.3 162.7000000000001 358.6 153.1 343.9 153.1zM451 153.1C441.3 153.1 431.7 162.8 431.7 172.7000000000001C431.7 182.4 441.4 192.0000000000001 451 192.0000000000001C465.5 192.0000000000001 475.4 182.3000000000001 475.4 172.7000000000001C475.5 162.7000000000001 465.5 153.1 451 153.1z" /> + <glyph glyph-name="whatsapp-square" + unicode="" + horiz-adv-x="448" d=" M224 325.2C151.3 325.2 92.2 266.1 92.1 193.4C92.1 168.5 99.1 144.2 112.3 123.3L115.4 118.3L102.1 69.6999999999999L152 82.8L156.8 79.9C177 67.9 200.2 61.5 223.9 61.5H224C296.6 61.5 357.3 120.6 357.3 193.3C357.3 228.5 342.1 261.6 317.2 286.5C292.2 311.5 259.2 325.2 224 325.2zM301.5 136.8C298.2 127.5 282.4 119.1 274.8 118C262.2 116.1 252.4 117.1 227.3 127.9C187.6 145.1 161.6 185.1 159.6 187.7C157.6 190.3 143.4 209.2 143.4 228.7S153.6 257.8 157.3000000000001 261.8C160.9 265.8 165.2000000000001 266.8 167.9 266.8C170.5 266.8 173.2000000000001 266.8 175.5 266.7C177.9 266.6 181.2 267.6 184.4 259.9C187.7000000000001 252 195.6 232.5 196.6 230.5S198.3 226.2 196.9 223.6C189.3000000000001 208.4 181.2000000000001 209 185.3000000000001 202C200.6000000000001 175.7 215.9 166.6 239.2000000000001 154.9C243.2000000000001 152.9 245.5000000000001 153.2 247.8000000000001 155.9C250.1000000000001 158.5 257.7000000000001 167.5 260.3000000000001 171.4C262.9000000000001 175.4 265.6000000000001 174.7 269.2000000000001 173.4C272.8000000000001 172.1 292.3000000000001 162.5 296.3000000000001 160.5S302.9000000000001 157.5 303.9000000000001 155.9C304.8000000000001 154 304.8000000000001 146 301.5000000000001 136.8zM400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM223.9 34.8C197.3 34.8 171.2 41.5 148.1 54.1L64 32L86.5 114.2C72.6 138.2 65.3 165.5 65.3 193.5C65.4 280.9 136.5 352 223.9 352C266.3 352 306.1 335.5 336.1 305.5C366 275.5 384 235.7 384 193.3C384 105.9 311.3 34.8 223.9 34.8z" /> + <glyph glyph-name="whatsapp" + unicode="" + horiz-adv-x="448" d=" M380.9 350.9C339 392.9 283.2 416 223.9 416C101.5 416 1.9 316.4 1.9 194C1.9 154.9 12.1 116.7 31.5 83L0 -32L117.7 -1.1C150.1 -18.8 186.6 -28.1 223.8 -28.1H223.9C346.2 -28.1 448 71.5 448 193.9C448 253.2 422.8 308.9 380.9 350.9zM223.9 9.3C190.7 9.3 158.2 18.1999999999999 129.9 34.9999999999999L123.2 38.9999999999999L53.4 20.6999999999999L72 88.8L67.6 95.8C49.1 125.2 39.4 159.1 39.4 194C39.4 295.7 122.2 378.5 224 378.5C273.3 378.5 319.6 359.3 354.4 324.4C389.2 289.5 410.6 243.2 410.5 193.9C410.5 92.1 325.6 9.3 223.9 9.3zM325.1 147.5C319.6 150.3 292.3 163.6999999999999 287.2 165.5C282.1 167.3999999999999 278.4 168.3 274.7 162.6999999999999C271 157.0999999999999 260.4 144.6999999999999 257.1 140.8999999999999C253.9 137.1999999999999 250.6 136.6999999999999 245.1 139.5C212.5 155.8 191.1 168.6 169.6 205.5C163.9 215.3 175.3 214.5999999999999 185.9 235.8C187.7 239.5 186.8 242.7 185.4 245.5C184 248.3 172.9 275.5999999999999 168.3 286.7C163.8 297.5 159.2 296 155.8 296.2C152.6 296.3999999999999 148.9 296.3999999999999 145.2 296.3999999999999C141.5 296.3999999999999 135.5 294.9999999999999 130.4 289.4999999999999C125.3 283.8999999999999 111 270.4999999999999 111 243.2C111 215.8999999999999 130.9 189.5 133.6 185.8C136.4 182.1 172.7 126.1 228.4 101.9999999999999C263.6 86.8 277.4 85.4999999999999 295 88.1C305.7 89.7 327.8 101.4999999999999 332.4 114.5C337 127.5 337 138.6 335.6 140.8999999999999C334.3 143.3999999999999 330.6 144.7999999999999 325.1 147.5z" /> + <glyph glyph-name="whmcs" + unicode="" + horiz-adv-x="448" d=" M448 287V308.3L419.5 317.1L417.3 327.5L437.4000000000001 348.2000000000001L427 367.6L398 360.1L390.8 367.6L398.3 395.8L379.2 407.4L357.9 386.4L347.2 389.6L340.2 416H317.6L311.4 389.6L299.3 386.4L279.6 407.4L260.2 396.4L268.3 368.7L260.2 360.3L231.7 367.8L220.7 348.7L241.4 327.7L238.5 317.3L210 309.5L209.7 287.8L238.5 280.3L240.9 268.2L220.8 248.3L231.2 229.8L260.8 237.3L268 228.7L259.9 201.8L279.8 190.2L299.2 210.6L310.8 207.7L317.5 179.2L340.1 178.9L346.8 207.7L358.4 211.2L379.1 189.6L399.5 201.7L390.7 229.7L398.5 237.8L427.3 229L437.6 249.1L416.7 267.9L418.9 280L448 287zM328.8 241.8C297.5 241.8 272 267.2000000000001 272 298.6S297.4 355.4000000000001 328.8 355.4000000000001S385.6 330 385.6 298.6C385.6 267.1 360.2000000000001 241.8 328.8 241.8zM401.1 225.4L448 210.9V171L392.9 157.6L388.8 134.9L427.7 99.6L408.5 61.7000000000001L354.5 78.4L339.8999999999999 63.2000000000001L356.5999999999999 10.7L318.2999999999999 -11.9999999999999L279.3999999999999 28.5000000000001L257.7 21.9L245.1 -32.1L202.6999999999999 -31.6L190.0999999999999 22.0000000000001L168.4 27.6000000000001L132 -10.7999999999999L94.5999999999999 10.9000000000001L109.7999999999999 61.4000000000001L96.0999999999999 77.5000000000001L40.5999999999999 63.4000000000001L20.8999999999999 98.2000000000001L58.7999999999999 135.6000000000001L53.9999999999999 158.4000000000001L-1e-13 172.5000000000001L0.4999999999999 213.4000000000001L54 228.1L59.7 247.8L20.8 287.2L41.5 323L95.1 308.9L110.3 324.6L95.1 376.6L131.5 397.3L168.3 357.9L191 364L202.6 416H245L256.6 370.1L234 376L227.7 377.7L224.4 372L213.4 352.9L210.1 347.3L214.7 342.7000000000001L231.9 325.3L231.6 324.3L207.7999999999999 317.8L201.5999999999999 316.1L201.5 309.7000000000001L201.3 296.8C153.8 286.4 118 244 118 193.3C118 135 165.3 87.6 223.7 87.6C274.2 87.6 316.4 123 326.9 170.4L340.1 170.2000000000001L347 170.1L348.6 176.8L354.2 200.8L356.1 201.4L373.2 183.6L377.9 178.7000000000001L383.7 182.1L404.1 194.2L409.9 197.7L407.9 204.2L401.1 225.4z" /> + <glyph glyph-name="wikipedia-w" + unicode="" + horiz-adv-x="640" d=" M640 396.8L639.7 384.6C611.6 383.8 594.7 368.8 583.9000000000001 344.3C558.9000000000001 286.5 480.6000000000001 104.3 428.6000000000001 -14.3H415L333.1 178.8C300.6 115.1999999999999 264.8 48.8 233.9000000000001 -14.3000000000001C233.6 -14.6000000000001 218.9 -14.3000000000001 218.9 -14.0000000000001C172 95.7 122.8 204.6 75.8 314.6C64.4 341.3 26.4 384.6 0.2 384.3C0.2 387.4 -0.1 394.3 -0.1 398.5H161.8V384.6C142.6 383.5 109 371.3 118.5 350.4C140.4 300.7 222.1 110.1 244.1 61.8C259.1 91.4999999999999 301.9000000000001 171 319.4000000000001 204.6C305.5000000000001 232.9 260.8 338.5 246.6 364.6C236.9000000000001 382.4 210.5 384 190.8 384.3V398.2L333.3 397.9V384.8C313.9000000000001 384.2 295.2 377 303.9000000000001 358.7C322.8 318.7 334.5000000000001 290.6 352.0000000000001 254C357.6000000000001 264.8 386.7000000000001 323.4 400.1000000000001 354.8C409.0000000000001 375.4 396.2000000000001 383.4 361.5000000000001 384.2C361.8000000000001 387.8 361.5000000000001 394.5 361.8000000000001 397.8C406.2000000000001 398.1 472.9000000000001 398.1 484.9000000000001 398.4V384.8C462.4000000000001 384 439.1000000000001 372 426.8000000000001 353.1L367.6000000000001 230.3C374.0000000000001 214.2 430.9000000000001 87.5 436.8000000000001 73.6L559.2 356.2C550.6 379.3 522.8000000000001 384.3 512 384.5V398.4L639.8 397.3L640 396.8z" /> + <glyph glyph-name="windows" + unicode="" + horiz-adv-x="448" d=" M0 354.3L183.6 379.6V202.2H0V354.3zM0 29.7L183.6 4.4V179.6H0V29.7zM203.8 1.7L448 -32V179.6H203.8V1.7zM203.8 382.3V202.2H448V416L203.8 382.3z" /> + <glyph glyph-name="wix" + unicode="" + horiz-adv-x="640" d=" M393.38 316.31C393.38 303.28 395.46 283.62 364.7 272.48C355.18 269.0300000000001 348.75 262.8200000000001 348.75 262.8200000000001C348.75 293.8200000000001 353.4700000000001 305.04 366.15 311.68C375.9 316.79 393.38 316.31 393.38 316.31zM277.58 280.77L243.34 148.11L214.86 256.68C207.17 288.67 194.05 305.2100000000001 166.43 305.2100000000001C139.06 305.2100000000001 125.77 289.03 118 256.68L89.52 148.11L55.28 280.77C49.73 307.49 23.86 319.04 0 316.04L65.57 68.11S87.2 66.55 98.03 72.07C112.25 79.32 119.01 84.91 127.62 118.64C135.29 148.71 156.73 237.05 158.74 243.34C163.5 258.28 169.83 257.15 174.14 243.34C176.11 237.04 197.59 148.71 205.26 118.64C213.86 84.91 220.63 79.32 234.85 72.07C245.67 66.55 267.31 68.11 267.31 68.11L332.88 316.04C308.46 319.11 283.06 307.11 277.58 280.77zM393.36 275.56S389.26 269.2200000000001 379.9000000000001 263.99C373.8900000000001 260.63 368.1200000000001 258.35 361.9300000000001 255.38C346.7900000000001 248.12 348.7500000000001 241.43 348.7500000000001 220.18V68.11S365.3000000000001 66.02 376.1200000000001 71.54C390.0500000000001 78.64 393.2500000000001 85.49 393.3800000000001 116.3200000000001V266.5900000000001L393.3600000000001 266.5800000000001V275.56zM556.8 191.48L640 315.2200000000001S604.89 321.2 587.5 305.37C574.2 293.27 563.09 275.82 533.32 232.9C532.85 232.17 527.07 222.36 520.25 232.9C490.96 275.13 479.45 293.19 466.07 305.37C448.68 321.2 413.57 315.2200000000001 413.57 315.2200000000001L496.77 191.48L413.8 68.12S450.3699999999999 63.5 467.7499999999999 79.33C479.24 89.79 485.3299999999999 99.7 520.26 150.05C527.0699999999999 160.5699999999999 532.83 150.8199999999999 533.33 150.05C562.73 107.67 572.5600000000001 91.99 586.47 79.3299999999999C603.86 63.4999999999999 639.7900000000001 68.12 639.7900000000001 68.12L556.8 191.48z" /> + <glyph glyph-name="wolf-pack-battalion" + unicode="" + horiz-adv-x="456.58" d=" M239.73 -23.53L250.29 -39.3699999999999L255.57 -27.05L260.85 -34.09V-64C281.91 -56.08 281.96 2.86 286.36 33.21C290.98 65.1 285.48 126.02 367.73 182.32C358.85 205.93 355.73 231.75 365.09 262.37C392.96 259.03 419.03 251.79 428.43 208.27L398.08 199.91C409.2299999999999 176.87 415.0899999999999 153.15 411.2799999999999 127.7700000000001L384 134.82L377.84 101.39L359.37 108.43L350.57 75L331.22 82.04L357.61 60.93L366.41 89.08L391.04 83.8L398.08 119.43L424.47 104.91C424.72 124.93 431.44 162.97 415.67 189.36L442.06 184.0800000000001C446.05 206.15 439.68 223.2900000000001 434.14 240.8200000000001L456.5699999999999 231.1400000000001C456.1299999999999 256.2100000000001 426.63 287.9300000000001 394.99 289.6400000000001C374.77 290.73 338.25 314.8100000000001 340.89 341.5400000000001C342.8499999999999 361.4100000000001 358.3399999999999 384.1600000000001 384 391.2400000000001C340.01 354.73 374.32 323.9400000000001 389.2799999999999 317.7800000000001C393.6799999999999 329.2200000000001 406.82 386.8600000000001 389.2799999999999 447.98C348.81 425.1100000000001 299.5499999999999 382.8800000000001 296.0299999999999 300.1900000000001L237.9699999999999 261.48L234.4499999999999 168.23L341.7799999999999 228.05L348.82 221.01L331.23 217.49L287.24 178.78L271.4 184.06L243.25 134.8L239.73 15.16L260.84 -0.6799999999999L228.29 -16.5199999999999L195.74 -0.6799999999999L216.85 15.16L213.33 134.8L185.18 184.06L169.34 178.78L125.3499999999999 217.4900000000001L107.7599999999999 221.0100000000001L114.8 228.0500000000001L222.13 168.23L218.6099999999999 261.48L160.5499999999999 300.1900000000001C157.03 382.9 107.77 425.13 67.3 448C49.76 386.88 62.9 329.24 67.3 317.8C82.26 323.9600000000001 116.56 354.75 72.58 391.26C98.24 384.18 113.73 361.43 115.69 341.56C118.32 314.82 81.81 290.75 61.59 289.66C29.94 287.94 0.44 256.2200000000001 0 231.15L22.43 240.83C16.89 223.3 10.52 206.16 14.51 184.09L40.9 189.37C25.14 162.98 31.85 124.94 32.1 104.92L58.49 119.44L65.53 83.81L90.16 89.09L98.96 60.94L125.35 82.05L106.01 75L97.21 108.43L78.74 101.39L72.58 134.82L45.31 127.78C41.49 153.16 47.36 176.88 58.51 199.92L28.16 208.28C37.56 251.8 63.63 259.05 91.5 262.38C100.86 231.76 97.74 205.93 88.86 182.33C171.11 126.03 165.61 65.1 170.23 33.22C174.63 2.8699999999999 174.68 -56.07 195.74 -63.99V-34.08L201.02 -27.04L206.3 -39.36L216.86 -23.52L228.3 -44.63L239.73 -23.53zM318.9 71.48L303.06 82.04C310.5300000000001 86.4 316.82 90.46 322.4100000000001 94.36C321.81 87.1 322.1400000000001 80.48 318.9000000000001 71.48zM347.05 120.74C346.65 109.8 346.15 99.08 345.29 89.07C337.44 90.93 329.72 92.87 324.18 96.11C332.42 104.01 339.73 112.38 347.05 120.74zM371.68 115.46C371.66 128.8900000000001 369.63 139.67 366.4 148.8900000000001C361.02 139.8000000000001 355.17 130.71 347.93 121.6200000000001L371.68 115.46zM375.2 196.4C394.64 183.59 403 162.74 405.11 140.1C392.79 144.63 380.48 149.41 368.16 150.66C373.22 162.65 374.81 178.8 375.2 196.4zM373.44 242.1400000000001C374.25 227.8400000000001 375.2799999999999 213.3200000000001 375.2 199.9100000000001C394.42 208.0200000000001 404.9799999999999 209.6300000000001 419.19 213.9900000000001C408.5899999999999 232.9400000000001 391.9699999999999 239.5100000000001 373.44 242.1400000000001zM137.68 71.48L153.52 82.04C146.05 86.4 139.76 90.46 134.17 94.36C134.77 87.1 134.44 80.48 137.68 71.48zM109.53 120.74C109.93 109.8 110.43 99.08 111.29 89.07C119.14 90.93 126.86 92.87 132.4 96.11C124.16 104.01 116.85 112.38 109.53 120.74zM84.89 115.46C84.91 128.8900000000001 86.94 139.67 90.17 148.8900000000001C95.55 139.8000000000001 101.4 130.71 108.64 121.6200000000001L84.89 115.46zM81.37 196.4C61.93 183.59 53.57 162.74 51.46 140.1C63.78 144.63 76.09 149.41 88.41 150.66C83.36 162.65 81.76 178.8 81.37 196.4zM83.13 242.1400000000001C82.32 227.8400000000001 81.29 213.3200000000001 81.37 199.9100000000001C62.15 208.0200000000001 51.59 209.6300000000001 37.38 213.9900000000001C47.99 232.9400000000001 64.6 239.5100000000001 83.13 242.1400000000001z" /> + <glyph glyph-name="wordpress-simple" + unicode="" + horiz-adv-x="512" d=" M256 440C119.3 440 8 328.8 8 192C8 55.3 119.3 -56 256 -56S504 55.3 504 192C504 328.8 392.7 440 256 440zM33 192C33 224.3 39.9 255 52.3 282.7L158.7 -8.7C84.3 27.5 33 103.8 33 192zM256 -31C234.1 -31 213 -27.8 193 -21.9L259.9 172.5L328.4 -15.3C328.9 -16.4 329.4 -17.4 330 -18.4C306.9 -26.5000000000001 282 -31.0000000000001 256 -31.0000000000001zM286.7 296.5C300.1 297.2 312.2 298.6 312.2 298.6C324.2 300 322.8 317.7 310.8 317C310.8 317 274.7 314.2 251.4 314.2C229.5 314.2 192.7 317 192.7 317C180.7 317.7 179.3 299.3 191.3 298.6C191.3 298.6 202.7 297.2 214.7 296.5L249.4 201.3L200.6 55L119.4 296.5C132.8 297.2 144.9 298.6 144.9 298.6C156.9 300 155.5 317.7 143.5 317C143.5 317 107.4 314.2 84.1 314.2C79.9 314.2 75 314.3 69.7 314.5C109.6 375 178.1 415 256 415C314 415 366.9 392.8 406.6 356.5C405.6 356.6 404.7000000000001 356.7 403.7000000000001 356.7C381.8000000000001 356.7 366.3000000000001 337.6 366.3000000000001 317.1C366.3000000000001 298.7 376.9000000000001 283.2 388.2000000000001 264.8C396.7000000000001 250 406.6 230.9 406.6 203.3C406.6 184.2 399.3 162.1 389.6 131.2000000000001L367.4000000000001 56.9L286.7000000000001 296.5zM368.1 -0.7L436.2000000000001 196.2C448.9000000000001 228.0000000000001 453.2 253.4000000000001 453.2 276.1C453.2 284.3 452.7 291.9000000000001 451.7 299C469.1 267.2000000000001 479.0000000000001 230.8 479.0000000000001 192C479.0000000000001 109.7000000000001 434.4000000000001 37.9 368.1 -0.6999999999999z" /> + <glyph glyph-name="wordpress" + unicode="" + horiz-adv-x="512" d=" M61.7 278.6L163.2 0.6C92.2 35 43.3 107.8 43.3 192C43.3 222.9 49.9 252.1 61.7 278.6zM399.6 202.7C399.6 229 390.2 247.2 382.1 261.4C371.3 278.9 361.2 293.8 361.2 311.3C361.2 330.9 376 349.1 396.9 349.1C397.8 349.1 398.7 349 399.7 348.9C361.8 383.6 311.4 404.8 256 404.8C181.7 404.8 116.3 366.7 78.2 308.9C83.2 308.7 87.9 308.6 91.9 308.6C114.1 308.6 148.6 311.3 148.6 311.3C160.1 312 161.4 295.1 150 293.8C150 293.8 138.5 292.5 125.7 291.8L203.2 61.4L249.8 201L216.7 291.8C205.2 292.5 194.4 293.8 194.4 293.8C182.9 294.5 184.3 312 195.7 311.3C195.7 311.3 230.8 308.6 251.7 308.6C273.9000000000001 308.6 308.4000000000001 311.3 308.4000000000001 311.3C319.9000000000001 312 321.2000000000001 295.1 309.8 293.8C309.8 293.8 298.3 292.5 285.5 291.8L362.4 63.1L383.6 134C392.6 163.4 399.6 184.5 399.6 202.7zM259.7 173.4L195.8999999999999 -12.1C214.9999999999999 -17.7 235.0999999999999 -20.8 255.9999999999999 -20.8C280.7999999999999 -20.8 304.4999999999999 -16.5 326.5999999999999 -8.7C325.9999999999999 -7.8 325.4999999999999 -6.8 325.0999999999999 -5.8L259.7 173.4zM442.7 294.1C443.5999999999999 287.3 444.0999999999999 280.1 444.0999999999999 272.2C444.0999999999999 250.6 440.0999999999999 226.4 427.8999999999999 196L362.8999999999999 8.0999999999999C426.2 45 468.7 113.5 468.7 192C468.7 229 459.3 263.8 442.7 294.1zM504 192C504 55.2 392.7 -56 256 -56C119.2 -56 8 55.3 8 192C8 328.8 119.2 440 256 440C392.7 440 504 328.8 504 192zM492.6 192C492.6 322.5 386.4000000000001 428.6 256 428.6C125.5 428.6 19.4 322.5 19.4 192S125.6 -44.6 256 -44.6C386.5 -44.6 492.6 61.5 492.6 192z" /> + <glyph glyph-name="wpbeginner" + unicode="" + horiz-adv-x="512" d=" M462.799 125.626C519.01 61.318 466.961 -32 370.944 -32C331.3420000000001 -32 292.12 -14.313 270.802 18.04C263.915 17.684 248.1 17.684 241.212 18.04C219.848 -14.381 180.588 -32 141.069 -32C45.579 -32 -7.279 60.996 49.214 125.626C-29.925 257.477 80.479 416 256.006 416C431.638 416 541.876 257.374 462.799 125.626zM123.152 208.598H164.681V266.673H123.152V208.598zM340.332 122.526V146.365C279.826 125.4499999999999 207.977 137.167 152.743 180.336L152.989 155.439C204.09 109.072 284.735 97.564 340.332 122.526zM189.579 208.598H355.637V266.673H189.579V208.598z" /> + <glyph glyph-name="wpexplorer" + unicode="" + horiz-adv-x="512" d=" M512 192C512 50.8 397.3 -64 256 -64C114.8 -64 0 50.7 0 192S114.7 448 256 448S512 333.3 512 192zM480 192C480 315.2 379.7 416 256 416C132.5 416 32 315.5 32 192S132.5 -32 256 -32S480 68.5 480 192zM160.9 323.4L247.8 286.3L210.7 199.4L123.8 236.5L160.9 323.4zM270.9 154.3L317.5 60.3H302.9L252.9 160.3L204 60.3H190L241.1 167.2000000000001L218.8 176.6L224.8 190.6L293.4 161.5L287.4 147.2L270.9 154.3zM259.1 270.6L327.7 241.2L298.3 172.9L230 202L259.1 270.6zM339.4 227.7L394 204.6L370.6 150.3L316.3 173.4L339.4000000000001 227.7000000000001z" /> + <glyph glyph-name="wpforms" + unicode="" + horiz-adv-x="448" d=" M448 372.8V11.1C448 -13.2 429 -32.1 404.8 -32.1H43.2C19.3 -32 0 -13.4 0 11.2V372.8C0 396.9 18.8 416 43.2 416H404.9C428.9 416 448 397.2 448 372.8zM410.7 11.2V372.8C410.7 375.8 408.1 378.6 404.9 378.6H395.6L285.3 304L224 353.9L162.8 304L52.5 378.7H43.2C40 378.7 37.4 375.9 37.4 372.9V11.2C37.4 8.2 40 5.4 43.2 5.4H404.9C408.1 5.3 410.7 8.1 410.7 11.2zM150.2 262V225H76.7V262H150.2zM150.2 187.6V150.3H76.7V187.6H150.2zM161.3 334.9000000000001L215.3 378.6H96.8L161.3 334.9000000000001zM371.3 262V225H175.3V262H371.3zM371.3 187.6V150.3H175.3V187.6H371.3zM286.7 334.9000000000001L351.2 378.6H232.8L286.7 334.9000000000001zM371.3 113V75.7H271.9V113H371.3z" /> + <glyph glyph-name="xbox" + unicode="" + horiz-adv-x="512" d=" M369.9 129.8C414.2 75.5 434.6 31 424.3 11.1C416.4 -4 367.6 -33.5 331.7 -44.8C302.0999999999999 -54.1 263.3 -58.1 231.3 -54.9999999999999C193.0999999999999 -51.3 154.3999999999999 -37.6 121.1999999999999 -15.9999999999999C93.3 2.2 87 9.7 87 24.6C87 54.5 119.9 106.9 176.2 166.7000000000001C208.2 200.6000000000001 252.7 240.4000000000001 257.6 239.3000000000001C267 237.2000000000001 341.9000000000001 164.2000000000001 369.9000000000001 129.8000000000001zM188.6 304.2C158.9 331.1 130.5 358.1 102.2 367.6C87 372.7 85.9 372.4 73.5 359.5C44.3 329.1 20 279.8 13.2 237.1C7.8 202.9 7.1 193.3 9 176.6C14.6 126.1 26.3 91.2000000000001 49.5 55.7C59 41.1 61.6 38.4 58.8 45.8000000000001C54.6 56.8000000000001 58.5 83.3000000000001 68.3 109.8000000000001C82.6 148.8000000000001 122.2 222.7000000000001 188.6 304.2000000000001zM500.2 240.7C483.3 320.7 432.7 371 425.6 371C418.3 371 401.4000000000001 364.5 389.6 357.1C366.3 342.6 348.6 325.7 325.3 304.3C367.7 251 427.5 164.9 448.2 102C455 81.3 457.9 60.9 455.6 49.7C453.9 41.2 453.9 41.2 456.9999999999999 45.1C463.1 52.8 476.8999999999999 76.4 482.3999999999999 88.6C489.7999999999999 104.8 497.3999999999999 128.8 500.9999999999999 147.3C505.3 169.8 504.8999999999999 218.1 500.1999999999999 240.7zM141.3 405C189 407.5 251 370.5 255.6 369.6C256.3 369.5 266 373.8 277.2 379.3C341.1 410.4 371.2 405.1 384.6 404.5C320.7000000000001 443.8 231.9000000000001 454.5 150.7 416.2C127.3 405.1 126.7 404.3 141.3 405z" /> + <glyph glyph-name="xing-square" + unicode="" + horiz-adv-x="448" d=" M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM140.4 127.8H93.8C88.3 127.8 85.1 133.1 87.8 138.1L137.1 224.8C137.2 224.8 137.2 224.9 137.1 225L105.7 279C102.7 284.6 105.9 289.1 111.7 289.1H158.3C163.5 289.1 167.8 286.2 171.2 280.4L203.1 225.1C201.8 222.8 185.1 193.4 153 136.9C149.5 130.7000000000001 145.3 127.8 140.4 127.8zM360.1 341.9L257.3 161.2V161L322.8 42C325.6 36.9 322.9000000000001 31.9 316.8 31.9H270.2C264.7 31.9 260.5 34.8 257.3 40.6L191.3 160.9C193.6 165 228.1 225.8 294.7000000000001 343.2C298.0000000000001 349 302.1 351.9 307.2000000000001 351.9H354.1C359.8 352 362.9000000000001 347.2 360.1 341.9z" /> + <glyph glyph-name="xing" + unicode="" + horiz-adv-x="384" d=" M162.7 238C160.9 234.7 137.5 193.6 92.6 114.5C87.7 106.2 81.8 102 74.9 102H9.8C2.1 102 -2.3 109.5 1.3 116.4L70.3 237.7C70.5 237.7 70.5 237.8 70.3 238L26.4 313.6C22.1 321.4 26.7 327.7 34.9 327.7H100C107.3 327.7 113.3 323.6 118 315.5L162.7 238zM382.6 401.9L238.6 148.9V148.6L330.2 -18C334.1 -25.1 330.4 -32.1 321.7 -32.1H256.5C248.9 -32.1 242.9 -28.1 238.5 -19.9L146.1 148.6C149.4 154.4 197.6 239.4 290.9 403.8C295.5 411.9 301.3 416 308.4 416H374.1C382.1 416 386.4 409.3 382.6 401.9z" /> + <glyph glyph-name="y-combinator" + unicode="" + horiz-adv-x="448" d=" M448 416V-32H0V416H448zM236 160.5L313.5 306H280.8L235 215C230.3 205.7 226 196.7 222.2 188.2L210 215L164.8 306H129.8L206.5 162.2V67.7H236V160.5z" /> + <glyph glyph-name="yahoo" + unicode="" + horiz-adv-x="448" d=" M252 156L256 -64C243.3 -61.8 232.5 -60.1 223.7 -60.1C215.3 -60.1 204.5 -61.8 191.4 -64L195.4 156C140.4 250.8 85 352.8 21.4 448C33.3 444.9 44.4 444.1 54.6 444.1C63.6 444.1 75 444.9 88.7 448C129.6 375.8 170.8 309.3 223.7 222.5C261 284.1 314.8 366.6 358.6 448C369.7000000000001 445.1 380.6 444.1 391.5 444.1C403 444.1 414.7 445.1 426.5 448C392.1 400.1 294.9 231.1 252 156z" /> + <glyph glyph-name="yandex-international" + unicode="" + horiz-adv-x="320" d=" M129.5 -64V102.1L18.5 400H74.3L156.1 170.3L250.2 448H301.5L180.8 100.2V-64H129.5z" /> + <glyph glyph-name="yandex" + unicode="" + horiz-adv-x="256" d=" M153.1 132.2L65.7 -64H2L98 145.8C52.9 168.7 22.8 210.2 22.8 286.9C22.7 394.3 90.8 448 171.7 448H254V-64H198.9V132.2H153.1zM198.9 401.5H169.5C125.1 401.5 82.1 372.1 82.1 286.9C82.1 204.6 121.5 178.1 169.5 178.1H198.9V401.5z" /> + <glyph glyph-name="yelp" + unicode="" + horiz-adv-x="384" d=" M136.9 120C135.9 119.7 27.7 84.3 21.1 84.3C5.9 85.2 2.6 100.5 1.2 115.5C-0.3 129.7 -0.2 145.3 1.5 162.3C3.4 181.1 7 207.4 25.7 206.3C30.5 206.3 92.8 180.4 138.4 161.9C155.5 155.1 157 126.1 136.9 120.0000000000001zM194.8 233.9C196.6 195.7 169.3 185.4 147.6 219.6L41.3 387.6C39.8 394.2 41.6 400 46.6 405C62.2 421.5 146 444.8 168.1 439.1C175.6 437.2 180.2 433 181.9 426.5C183.2 418.2 193.4 259.1 194.8 233.9zM193.4 69.1C193.4 64.5 193.6 -47.3 191.7 -52.4C189.4 -58.4 184.7 -62.1 177.4 -63.6C167.3 -65.2999999999999 150.3 -61.7 126.4 -52.9C104.4 -44.8 69.7 -31.4 77.1 -10.4C79.9 -3.5 128.5 52.4 154.4 83.2000000000001C166.4 98.4 194.2 88.7000000000001 193.4 69.1zM373.6 186.9C368 183.2000000000001 262.8 158.7000000000001 255.5000000000001 156.3L255.8000000000001 156.9C237.7000000000001 152.2000000000001 220.4 175.4 232.5000000000001 191.5000000000001C236.2 195.2000000000001 298.4000000000001 283.9000000000001 305.3 288.5000000000001C310.5 292.1 316.6 292.3000000000001 323.6 289.1C342 280.3000000000001 378.7000000000001 226.0000000000001 381 204.5000000000001C380.9 201.6000000000001 382.2 192.8000000000001 373.6 186.9zM383.7000000000001 56.2C381.0000000000001 35.6 339.2000000000001 -17.1999999999999 319.9000000000001 -24.8C313.0000000000001 -27.4 307.0000000000001 -26.8 302.2000000000001 -22.8C297.2000000000001 -19.3 240.4000000000001 74.3000000000001 237.3000000000001 79.5000000000001C226.4000000000001 95.7000000000001 244.1000000000001 119.3000000000001 262.9000000000001 112.7000000000001C262.9000000000001 112.7000000000001 373.4000000000001 77.0000000000001 377.6 73.3000000000001C382.8 69.2000000000001 384.8 63.5000000000001 383.7000000000001 56.2z" /> + <glyph glyph-name="yoast" + unicode="" + horiz-adv-x="448" d=" M91.3 372H277.3L270.3 353.1H91.3C51.6 353.1 19.4 321.5 19.4 282.8V77.4C19.4 42 44.3 7.1 103.4 7.1V-12H91.3C41.2 -12 0 28.2 0 77.5V282.8C0 332.1 40.7 372 91.3 372zM320.4 428H386.9C243.1 49.9 241.2 29.1 202.2 -11.3C181.4 -32.9 152.9 -43 123.9 -44V7.1C173.1 14.8 188.5 57 188.5 82.4C188.5 102.5000000000001 189.1 95.0000000000001 106.4 305.6H167.8L218.2 149L320.4 428zM448 286.5V-12H234C240.6 -2.4 244.7 4.3 246.1 7.4H428.6V286.5C428.6 319 411.5 338.4 380.4000000000001 349.4L387.1 367C428.8 353.4 448 323.9 448 286.5z" /> + <glyph glyph-name="youtube-square" + unicode="" + horiz-adv-x="448" d=" M186.8 245.9L282 191.8L186.8 137.7V245.9zM448 368V16C448 -10.5 426.5 -32 400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368zM406 191.7S406 251.3 398.4 279.9C394.2 295.7 381.9 308.1 366.2 312.3C337.9 320 224 320 224 320S110.1 320 81.8 312.3C66.1 308.1 53.8 295.7000000000001 49.6 279.9C42 251.4 42 191.7 42 191.7S42 132.1 49.6 103.5C53.8 87.7 66.1 75.8 81.8 71.6C110.1 64 224 64 224 64S337.9 64 366.2 71.7C381.9 75.9 394.2 87.8 398.4 103.6C406 132.1 406 191.6999999999999 406 191.6999999999999z" /> + <glyph glyph-name="youtube" + unicode="" + horiz-adv-x="576" d=" M549.655 323.9170000000001C543.374 347.567 524.8679999999999 366.193 501.371 372.514C458.781 384 288 384 288 384S117.22 384 74.629 372.514C51.132 366.192 32.626 347.567 26.345 323.9170000000001C14.933 281.05 14.933 191.612 14.933 191.612S14.933 102.174 26.345 59.307C32.626 35.657 51.132 17.807 74.629 11.486C117.22 0 288 0 288 0S458.78 0 501.371 11.486C524.8679999999999 17.807 543.374 35.657 549.655 59.307C561.067 102.174 561.067 191.612 561.067 191.612S561.067 281.05 549.655 323.9170000000001zM232.145 110.409V272.815L374.884 191.61L232.145 110.409z" /> + <glyph glyph-name="zhihu" + unicode="" + horiz-adv-x="640" d=" M170.54 299.87V82.33L193.97 82.3200000000001L201.68 55.95L243.69 82.3200000000001H293.2200000000001V299.87H170.54zM268.29 105.94H240.35L212.45 88.43L207.37 105.9L195.47 105.94V276.25H268.29V105.94zM149.83 200.33H97.5C99.24 227.43 99.7 251.92 99.7 273.79H150.86S152.83 296.35 142.28 296.1H53.78C57.27 309.22 61.65 322.76 66.9 336.77C66.9 336.77 42.83 336.77 34.63 315.2C31.24 306.3 21.42 272.06 3.93 237.08C9.82 237.72 29.3 238.26 40.77 259.29C42.88 265.18 43.28 265.95 45.91 273.82H74.78C74.78 263.32 73.58 206.94 73.1 200.38H20.83C9.09 200.38 5.27 176.76 5.27 176.76H70.85C66.45 126.9 42.83 84.88 0 51.66C20.49 45.81 40.91 52.59 51 61.56C51 61.56 73.98 82.46 86.59 130.81L140.55 65.87S148.46 92.76 139.31 105.86C131.73 114.78 111.25 138.92 102.52 147.67L87.9 136.05C92.26 150.03 94.89 163.6 95.77 176.72H157.42S157.33 200.34 149.83 200.34V200.3300000000001zM561.8499999999999 201.93C582.68 227.57 606.8299999999999 260.5 606.8299999999999 260.5S588.18 275.3 579.4499999999999 264.56C573.4499999999999 256.41 542.6199999999999 216.36 542.6199999999999 216.36L561.8499999999999 201.93zM411.7599999999999 261.02C402.7499999999999 269.27 385.8499999999999 258.89 385.8499999999999 258.89S425.3699999999999 203.85 426.9699999999999 201.44L446.4299999999999 215.17S420.7599999999998 252.78 411.7699999999999 261.03H411.7599999999999zM640 189.65C620.22 189.65 509.09 188.72 508.94 188.72V289.72C513.75 289.72 521.36 290.12 531.79 290.92C572.67 293.33 601.92 294.92 619.56 295.73C619.56 295.73 631.78 322.92 618.9699999999999 329.17C615.8999999999999 330.35 595.8 324.59 595.8 324.59S430.58 308.1 363.44 306.54C365.04 297.72 371.06 289.46 379.2199999999999 286.99C392.5299999999999 283.51 401.9099999999999 285.29 428.3699999999999 286.1C453.1999999999999 287.7 472.0499999999999 288.53 484.8799999999999 288.53V188.72H351.4100000000001S354.23 166.41 376.92 165.87H484.86V94.9499999999999C484.86 80.9799999999999 473.67 72.9599999999999 460.38 73.8299999999999C446.3 73.7199999999999 434.3 74.9799999999999 418.69 75.6399999999999C420.68 71.6699999999999 425.02 61.2499999999999 438 53.8C447.88 48.99 454.17 47.23 464.02 47.23C493.58 47.23 509.69 64.51 508.91 92.54V165.86H631.27C640.9499999999999 165.86 639.97 189.64 639.97 189.64L640 189.65z" /> + </font> +</defs> +</svg> diff --git a/assets/fonts/font-awesome/fa-brands-400.ttf b/assets/fonts/font-awesome/fa-brands-400.ttf new file mode 100644 index 0000000000000000000000000000000000000000..ecbc761ef8cbce6bed98c0d4abb01f6dac5c471e Binary files /dev/null and b/assets/fonts/font-awesome/fa-brands-400.ttf differ diff --git a/assets/fonts/font-awesome/fa-brands-400.woff b/assets/fonts/font-awesome/fa-brands-400.woff new file mode 100644 index 0000000000000000000000000000000000000000..21c2dd306306138b06705fd6a1d6583ace61bb8c Binary files /dev/null and b/assets/fonts/font-awesome/fa-brands-400.woff differ diff --git a/assets/fonts/font-awesome/fa-brands-400.woff2 b/assets/fonts/font-awesome/fa-brands-400.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..8d8c89e96337764490d8626e278ac2cea83e5a8d Binary files /dev/null and b/assets/fonts/font-awesome/fa-brands-400.woff2 differ diff --git a/assets/fonts/font-awesome/fa-regular-400.eot b/assets/fonts/font-awesome/fa-regular-400.eot new file mode 100644 index 0000000000000000000000000000000000000000..656e9a028a2cda2f16b4ae4a37e79b80466eb686 Binary files /dev/null and b/assets/fonts/font-awesome/fa-regular-400.eot differ diff --git a/assets/fonts/font-awesome/fa-regular-400.svg b/assets/fonts/font-awesome/fa-regular-400.svg new file mode 100644 index 0000000000000000000000000000000000000000..0085843379df705574e8a82fbb0a2ae0e380ff24 --- /dev/null +++ b/assets/fonts/font-awesome/fa-regular-400.svg @@ -0,0 +1,467 @@ +<?xml version="1.0" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > +<svg xmlns="http://www.w3.org/2000/svg"> +<defs> + <font id="fontawesome-free" horiz-adv-x="640"> + <font-face font-family="Font Awesome 5 Free" + units-per-em="512" ascent="448" + descent="64" + font-weight="400" + font-style="Regular" /> + <missing-glyph horiz-adv-x="0" /> + <glyph glyph-name="address-book" + unicode="" + horiz-adv-x="448" d=" M436 288C442.6 288 448 293.4 448 300V340C448 346.6 442.6 352 436 352H416V400C416 426.5 394.5 448 368 448H48C21.5 448 0 426.5 0 400V-16C0 -42.5 21.5 -64 48 -64H368C394.5 -64 416 -42.5 416 -16V32H436C442.6 32 448 37.4 448 44V84C448 90.6 442.6 96 436 96H416V160H436C442.6 160 448 165.4 448 172V212C448 218.6 442.6 224 436 224H416V288H436zM368 -16H48V400H368V-16zM208 192C243.3 192 272 220.7 272 256S243.3 320 208 320S144 291.3 144 256S172.7 192 208 192zM118.4 64H297.6C310 64 320 72.6 320 83.2V102.4C320 134.2 289.9 160 252.8 160C242 160 234.1 152 208 152C181.1 152 174.6 160 163.2 160C126.1 160 96 134.2 96 102.4V83.2C96 72.6 106 64 118.4 64z" /> + <glyph glyph-name="address-card" + unicode="" + horiz-adv-x="576" d=" M528 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H528C554.5 -32 576 -10.5 576 16V368C576 394.5 554.5 416 528 416zM528 16H48V368H528V16zM208 192C243.3 192 272 220.7 272 256S243.3 320 208 320S144 291.3 144 256S172.7 192 208 192zM118.4 64H297.6C310 64 320 72.6 320 83.2V102.4C320 134.2 289.9 160 252.8 160C242 160 234.1 152 208 152C181.1 152 174.6 160 163.2 160C126.1 160 96 134.2 96 102.4V83.2C96 72.6 106 64 118.4 64zM360 128H472C476.4 128 480 131.6 480 136V152C480 156.4 476.4 160 472 160H360C355.6 160 352 156.4 352 152V136C352 131.6 355.6 128 360 128zM360 192H472C476.4 192 480 195.6 480 200V216C480 220.4 476.4 224 472 224H360C355.6 224 352 220.4 352 216V200C352 195.6 355.6 192 360 192zM360 256H472C476.4 256 480 259.6 480 264V280C480 284.4 476.4 288 472 288H360C355.6 288 352 284.4 352 280V264C352 259.6 355.6 256 360 256z" /> + <glyph glyph-name="angry" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM248 136C214.4 136 182.8 121.2 161.2 95.4C152.7 85.2 154.1 70.1 164.3 61.6S189.6 54.4 198.1 64.6C222.9 94.3 273.1 94.3 297.9 64.6C306 54.9 321.1 52.7 331.7 61.6C341.9 70.1 343.2 85.2 334.8 95.4C313.2 121.2 281.6 136 248 136zM200 208C210.3 208 219.9 214.7 223 225.1C226.8 237.8 219.6 251.2 206.9 255L126.9 279C114.1 282.9 100.8 275.6 97 262.9C93.2 250.2 100.4 236.8 113.1 233L141.3 224.5C138.2 219.6 136 214.1 136 207.9C136 190.2 150.3 175.9 168 175.9S200 190.3 200 208zM399 262.9C395.2 275.6 381.9 282.8 369.1 279L289.1 255C276.4000000000001 251.2 269.2000000000001 237.8 273 225.1C276.1 214.7 285.7 208 296 208C296 190.3 310.3 176 328 176S360 190.3 360 208C360 214.2 357.8 219.7 354.7 224.6L382.9 233.1C395.6 236.8 402.8 250.2 399 262.9z" /> + <glyph glyph-name="arrow-alt-circle-down" + unicode="" + horiz-adv-x="512" d=" M256 440C119 440 8 329 8 192S119 -56 256 -56S504 55 504 192S393 440 256 440zM256 -8C145.5 -8 56 81.5 56 192S145.5 392 256 392S456 302.5 456 192S366.5 -8 256 -8zM224 308V192H157C146.3 192 141 179.1 148.5 171.5L247.5 72.5C252.2 67.8 259.8 67.8 264.5 72.5L363.5 171.5C371.1 179.1 365.7 192 355 192H288V308C288 314.6 282.6 320 276 320H236C229.4 320 224 314.6 224 308z" /> + <glyph glyph-name="arrow-alt-circle-left" + unicode="" + horiz-adv-x="512" d=" M8 192C8 55 119 -56 256 -56S504 55 504 192S393 440 256 440S8 329 8 192zM456 192C456 81.5 366.5 -8 256 -8S56 81.5 56 192S145.5 392 256 392S456 302.5 456 192zM384 212V172C384 165.4 378.6 160 372 160H256V93C256 82.3 243.1 77 235.5 84.5L136.5 183.5C131.8 188.2 131.8 195.8 136.5 200.5L235.5 299.5C243.1 307.1 256 301.7 256 291V224H372C378.6 224 384 218.6 384 212z" /> + <glyph glyph-name="arrow-alt-circle-right" + unicode="" + horiz-adv-x="512" d=" M504 192C504 329 393 440 256 440S8 329 8 192S119 -56 256 -56S504 55 504 192zM56 192C56 302.5 145.5 392 256 392S456 302.5 456 192S366.5 -8 256 -8S56 81.5 56 192zM128 172V212C128 218.6 133.4 224 140 224H256V291C256 301.7 268.9 307 276.5 299.5L375.5 200.5C380.2 195.8 380.2 188.2 375.5 183.5L276.5 84.5C268.9 76.9 256 82.3 256 93V160H140C133.4 160 128 165.4 128 172z" /> + <glyph glyph-name="arrow-alt-circle-up" + unicode="" + horiz-adv-x="512" d=" M256 -56C393 -56 504 55 504 192S393 440 256 440S8 329 8 192S119 -56 256 -56zM256 392C366.5 392 456 302.5 456 192S366.5 -8 256 -8S56 81.5 56 192S145.5 392 256 392zM276 64H236C229.4 64 224 69.4 224 76V192H157C146.3 192 141 204.9 148.5 212.5L247.5 311.5C252.2 316.2 259.8 316.2 264.5 311.5L363.5 212.5C371.1 204.9 365.7 192 355 192H288V76C288 69.4 282.6 64 276 64z" /> + <glyph glyph-name="bell-slash" + unicode="" + horiz-adv-x="640" d=" M633.99 -23.02L36 444.49C29.1 450.01 19.03 448.9 13.51 442L3.51 429.51C-2.02 422.61 -0.9 412.54 6 407.02L604 -60.49C610.9 -66.01 620.96 -64.89 626.49 -58L636.49 -45.51C642.01 -38.61 640.9 -28.54 633.99 -23.02zM163.53 80C180.24 102.03 198.01 135.8 204.93 190.58L159.46 226.13C156.19 135.4 122.99 105.45 104.62 85.71C98.62 79.2600000000001 95.96 71.55 96.01 64.0000000000001C96.12 47.6000000000001 108.99 32.0000000000001 128.11 32.0000000000001H407.7700000000001L346.3700000000001 80.0000000000001H163.53zM320 352C381.86 352 432 301.86 432 240C432 239.8 431.94 239.62 431.94 239.42C431.96 222.58 433.1 207.65 434.73 193.69L494.26 147.15C485.95 169.28 479.92 198.64 479.92 240C479.92 317.7 425.44 379.9 351.98 395.16V416C351.98 433.67 337.6600000000001 448 320 448S288.02 433.67 288.02 416V395.16C262 389.75 238.57 378.2200000000001 218.89 362.44L257.06 332.6C275 344.82 296.65 352 320 352zM320 -64C355.32 -64 383.9700000000001 -35.35 383.9700000000001 0H256.03C256.03 -35.35 284.68 -64 320 -64z" /> + <glyph glyph-name="bell" + unicode="" + horiz-adv-x="448" d=" M439.39 85.71C420.07 106.47 383.92 137.7 383.92 240C383.92 317.7 329.44 379.9 255.98 395.16V416C255.98 433.67 241.66 448 224 448S192.02 433.67 192.02 416V395.16C118.56 379.9 64.08 317.7 64.08 240C64.08 137.7 27.93 106.47 8.61 85.71C2.61 79.2600000000001 -0.05 71.55 0 64.0000000000001C0.11 47.6000000000001 12.98 32.0000000000001 32.1 32.0000000000001H415.9000000000001C435.0200000000001 32.0000000000001 447.9000000000001 47.6000000000001 448.0000000000001 64.0000000000001C448.0500000000001 71.5500000000001 445.3900000000001 79.27 439.3900000000001 85.71zM67.53 80C88.75 107.97 111.95 154.33 112.06 239.42C112.06 239.62 112 239.8 112 240C112 301.86 162.14 352 224 352S336 301.86 336 240C336 239.8 335.94 239.62 335.94 239.42C336.05 154.32 359.25 107.96 380.4700000000001 80H67.53zM224 -64C259.32 -64 287.9700000000001 -35.35 287.9700000000001 0H160.03C160.03 -35.35 188.68 -64 224 -64z" /> + <glyph glyph-name="bookmark" + unicode="" + horiz-adv-x="384" d=" M336 448H48C21.49 448 0 426.51 0 400V-64L192 48L384 -64V400C384 426.51 362.51 448 336 448zM336 19.57L192 103.57L48 19.57V394A6 6 0 0 0 54 400H330C333.314 400 336 397.317 336 394.004V19.57z" /> + <glyph glyph-name="building" + unicode="" + horiz-adv-x="448" d=" M128 300V340C128 346.6 133.4 352 140 352H180C186.6 352 192 346.6 192 340V300C192 293.4 186.6 288 180 288H140C133.4 288 128 293.4 128 300zM268 288H308C314.6 288 320 293.4 320 300V340C320 346.6 314.6 352 308 352H268C261.4 352 256 346.6 256 340V300C256 293.4 261.4 288 268 288zM140 192H180C186.6 192 192 197.4 192 204V244C192 250.6 186.6 256 180 256H140C133.4 256 128 250.6 128 244V204C128 197.4 133.4 192 140 192zM268 192H308C314.6 192 320 197.4 320 204V244C320 250.6 314.6 256 308 256H268C261.4 256 256 250.6 256 244V204C256 197.4 261.4 192 268 192zM192 108V148C192 154.6 186.6 160 180 160H140C133.4 160 128 154.6 128 148V108C128 101.4 133.4 96 140 96H180C186.6 96 192 101.4 192 108zM268 96H308C314.6 96 320 101.4 320 108V148C320 154.6 314.6 160 308 160H268C261.4 160 256 154.6 256 148V108C256 101.4 261.4 96 268 96zM448 -28V-64H0V-28C0 -21.4 5.4 -16 12 -16H31.5V424C31.5 437.3 42.2 448 55.5 448H392.5C405.8 448 416.5 437.3 416.5 424V-16H436C442.6 -16 448 -21.4 448 -28zM79.5 -15H192V52C192 58.6 197.4 64 204 64H244C250.6 64 256 58.6 256 52V-15H368.5V399L80 400L79.5 -15z" /> + <glyph glyph-name="calendar-alt" + unicode="" + horiz-adv-x="448" d=" M148 160H108C101.4 160 96 165.4 96 172V212C96 218.6 101.4 224 108 224H148C154.6 224 160 218.6 160 212V172C160 165.4 154.6 160 148 160zM256 172V212C256 218.6 250.6 224 244 224H204C197.4 224 192 218.6 192 212V172C192 165.4 197.4 160 204 160H244C250.6 160 256 165.4 256 172zM352 172V212C352 218.6 346.6 224 340 224H300C293.4 224 288 218.6 288 212V172C288 165.4 293.4 160 300 160H340C346.6 160 352 165.4 352 172zM256 76V116C256 122.6 250.6 128 244 128H204C197.4 128 192 122.6 192 116V76C192 69.4 197.4 64 204 64H244C250.6 64 256 69.4 256 76zM160 76V116C160 122.6 154.6 128 148 128H108C101.4 128 96 122.6 96 116V76C96 69.4 101.4 64 108 64H148C154.6 64 160 69.4 160 76zM352 76V116C352 122.6 346.6 128 340 128H300C293.4 128 288 122.6 288 116V76C288 69.4 293.4 64 300 64H340C346.6 64 352 69.4 352 76zM448 336V-16C448 -42.5 426.5 -64 400 -64H48C21.5 -64 0 -42.5 0 -16V336C0 362.5 21.5 384 48 384H96V436C96 442.6 101.4 448 108 448H148C154.6 448 160 442.6 160 436V384H288V436C288 442.6 293.4 448 300 448H340C346.6 448 352 442.6 352 436V384H400C426.5 384 448 362.5 448 336zM400 -10V288H48V-10C48 -13.3 50.7 -16 54 -16H394C397.3 -16 400 -13.3 400 -10z" /> + <glyph glyph-name="calendar-check" + unicode="" + horiz-adv-x="448" d=" M400 384H352V436C352 442.627 346.627 448 340 448H300C293.373 448 288 442.627 288 436V384H160V436C160 442.627 154.627 448 148 448H108C101.373 448 96 442.627 96 436V384H48C21.49 384 0 362.51 0 336V-16C0 -42.51 21.49 -64 48 -64H400C426.51 -64 448 -42.51 448 -16V336C448 362.51 426.51 384 400 384zM394 -16H54A6 6 0 0 0 48 -10V288H400V-10A6 6 0 0 0 394 -16zM341.151 184.65L198.842 43.481C194.137 38.814 186.539 38.844 181.871 43.549L106.78 119.248C102.113 123.953 102.143 131.551 106.848 136.219L129.567 158.755C134.272 163.422 141.87 163.392 146.537 158.686L190.641 114.225L301.713 224.406C306.418 229.073 314.016 229.043 318.6840000000001 224.3379999999999L341.2200000000001 201.62C345.887 196.9149999999999 345.8560000000001 189.317 341.151 184.65z" /> + <glyph glyph-name="calendar-minus" + unicode="" + horiz-adv-x="448" d=" M124 120C117.4 120 112 125.4 112 132V156C112 162.6 117.4 168 124 168H324C330.6 168 336 162.6 336 156V132C336 125.4 330.6 120 324 120H124zM448 336V-16C448 -42.5 426.5 -64 400 -64H48C21.5 -64 0 -42.5 0 -16V336C0 362.5 21.5 384 48 384H96V436C96 442.6 101.4 448 108 448H148C154.6 448 160 442.6 160 436V384H288V436C288 442.6 293.4 448 300 448H340C346.6 448 352 442.6 352 436V384H400C426.5 384 448 362.5 448 336zM400 -10V288H48V-10C48 -13.3 50.7 -16 54 -16H394C397.3 -16 400 -13.3 400 -10z" /> + <glyph glyph-name="calendar-plus" + unicode="" + horiz-adv-x="448" d=" M336 156V132C336 125.4 330.6 120 324 120H248V44C248 37.4 242.6 32 236 32H212C205.4 32 200 37.4 200 44V120H124C117.4 120 112 125.4 112 132V156C112 162.6 117.4 168 124 168H200V244C200 250.6 205.4 256 212 256H236C242.6 256 248 250.6 248 244V168H324C330.6 168 336 162.6 336 156zM448 336V-16C448 -42.5 426.5 -64 400 -64H48C21.5 -64 0 -42.5 0 -16V336C0 362.5 21.5 384 48 384H96V436C96 442.6 101.4 448 108 448H148C154.6 448 160 442.6 160 436V384H288V436C288 442.6 293.4 448 300 448H340C346.6 448 352 442.6 352 436V384H400C426.5 384 448 362.5 448 336zM400 -10V288H48V-10C48 -13.3 50.7 -16 54 -16H394C397.3 -16 400 -13.3 400 -10z" /> + <glyph glyph-name="calendar-times" + unicode="" + horiz-adv-x="448" d=" M311.7 73.3L294.7 56.3C290 51.6 282.4 51.6 277.7 56.3L224 110.1L170.3 56.4C165.6 51.7 158 51.7 153.3 56.4L136.3 73.4C131.6 78.1 131.6 85.7000000000001 136.3 90.4L190 144.1L136.3 197.8C131.6 202.5 131.6 210.1 136.3 214.8L153.3 231.8C158 236.5 165.6 236.5 170.3 231.8L224 178.1L277.7 231.8C282.4 236.5 290 236.5 294.7 231.8L311.7 214.8C316.4 210.1 316.4 202.5 311.7 197.8L257.9 144L311.6 90.3C316.4 85.6 316.4 78 311.7 73.3zM448 336V-16C448 -42.5 426.5 -64 400 -64H48C21.5 -64 0 -42.5 0 -16V336C0 362.5 21.5 384 48 384H96V436C96 442.6 101.4 448 108 448H148C154.6 448 160 442.6 160 436V384H288V436C288 442.6 293.4 448 300 448H340C346.6 448 352 442.6 352 436V384H400C426.5 384 448 362.5 448 336zM400 -10V288H48V-10C48 -13.3 50.7 -16 54 -16H394C397.3 -16 400 -13.3 400 -10z" /> + <glyph glyph-name="calendar" + unicode="" + horiz-adv-x="448" d=" M400 384H352V436C352 442.6 346.6 448 340 448H300C293.4 448 288 442.6 288 436V384H160V436C160 442.6 154.6 448 148 448H108C101.4 448 96 442.6 96 436V384H48C21.5 384 0 362.5 0 336V-16C0 -42.5 21.5 -64 48 -64H400C426.5 -64 448 -42.5 448 -16V336C448 362.5 426.5 384 400 384zM394 -16H54C50.7 -16 48 -13.3 48 -10V288H400V-10C400 -13.3 397.3 -16 394 -16z" /> + <glyph glyph-name="caret-square-down" + unicode="" + horiz-adv-x="448" d=" M125.1 240H322.9C333.6 240 339 227 331.4 219.5L232.5 121.2C227.8 116.5 220.3 116.5 215.6 121.2L116.7 219.5C109 227 114.4 240 125.1 240zM448 368V16C448 -10.5 426.5 -32 400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368zM400 22V362C400 365.3 397.3 368 394 368H54C50.7 368 48 365.3 48 362V22C48 18.7 50.7 16 54 16H394C397.3 16 400 18.7 400 22z" /> + <glyph glyph-name="caret-square-left" + unicode="" + horiz-adv-x="448" d=" M272 290.9V93.1C272 82.4 259 77 251.5 84.6L153.2 183.5C148.5 188.2 148.5 195.7 153.2 200.4L251.5 299.3C259 307 272 301.6 272 290.9zM448 368V16C448 -10.5 426.5 -32 400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368zM400 22V362C400 365.3 397.3 368 394 368H54C50.7 368 48 365.3 48 362V22C48 18.7 50.7 16 54 16H394C397.3 16 400 18.7 400 22z" /> + <glyph glyph-name="caret-square-right" + unicode="" + horiz-adv-x="448" d=" M176 93.1V290.9C176 301.6 189 307 196.5 299.4L294.8 200.5C299.5 195.8 299.5 188.3 294.8 183.6L196.5 84.7000000000001C189 77.0000000000001 176 82.4 176 93.1zM448 368V16C448 -10.5 426.5 -32 400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368zM400 22V362C400 365.3 397.3 368 394 368H54C50.7 368 48 365.3 48 362V22C48 18.7 50.7 16 54 16H394C397.3 16 400 18.7 400 22z" /> + <glyph glyph-name="caret-square-up" + unicode="" + horiz-adv-x="448" d=" M322.9 144H125.1C114.4 144 109 157 116.6 164.5L215.5 262.8C220.2 267.5 227.7 267.5 232.4 262.8L331.3 164.5C339 157 333.6 144 322.9000000000001 144zM448 368V16C448 -10.5 426.5 -32 400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368zM400 22V362C400 365.3 397.3 368 394 368H54C50.7 368 48 365.3 48 362V22C48 18.7 50.7 16 54 16H394C397.3 16 400 18.7 400 22z" /> + <glyph glyph-name="chart-bar" + unicode="" + horiz-adv-x="512" d=" M396.8 96H419.2C425.6 96 432 102.4 432 108.8V339.2C432 345.6 425.6 352 419.2 352H396.8C390.4000000000001 352 384 345.6 384 339.2V108.8C384 102.4 390.4 96 396.8 96zM204.8 96H227.2C233.6 96 240.0000000000001 102.4 240.0000000000001 108.8V307.2C240.0000000000001 313.6 233.6 320 227.2 320H204.8C198.4 320 192 313.6 192 307.2V108.8C192 102.4 198.4 95.9999999999999 204.8 95.9999999999999zM300.8 96H323.2C329.6 96 336 102.4 336 108.8V243.2C336 249.6 329.6 256 323.2 256H300.8C294.4000000000001 256 288 249.6 288 243.2V108.8C288 102.4 294.4 95.9999999999999 300.8 95.9999999999999zM496 48H48V368C48 376.8400000000001 40.84 384 32 384H16C7.16 384 0 376.8400000000001 0 368V32C0 14.33 14.33 0 32 0H496C504.84 0 512 7.16 512 16V32C512 40.84 504.84 48 496 48zM108.8 96H131.2C137.6 96 144 102.4 144 108.8V179.2000000000001C144 185.6 137.6 192.0000000000001 131.2 192.0000000000001H108.8C102.4 192.0000000000001 96 185.6000000000001 96 179.2000000000001V108.8000000000001C96 102.4000000000001 102.4 96.0000000000001 108.8 96.0000000000001z" /> + <glyph glyph-name="check-circle" + unicode="" + horiz-adv-x="512" d=" M256 440C119.033 440 8 328.967 8 192S119.033 -56 256 -56S504 55.033 504 192S392.967 440 256 440zM256 392C366.532 392 456 302.549 456 192C456 81.468 366.549 -8 256 -8C145.468 -8 56 81.451 56 192C56 302.532 145.451 392 256 392M396.204 261.733L373.668 284.451C369.0010000000001 289.156 361.403 289.187 356.698 284.519L215.346 144.303L155.554 204.58C150.887 209.285 143.289 209.316 138.584 204.649L115.865 182.113C111.16 177.446 111.129 169.848 115.797 165.142L206.578 73.6259999999999C211.245 68.9209999999999 218.843 68.8899999999999 223.548 73.5579999999999L396.1370000000001 244.762C400.8410000000001 249.43 400.8710000000001 257.0279999999999 396.2040000000001 261.733z" /> + <glyph glyph-name="check-square" + unicode="" + horiz-adv-x="448" d=" M400 416H48C21.49 416 0 394.51 0 368V16C0 -10.51 21.49 -32 48 -32H400C426.51 -32 448 -10.51 448 16V368C448 394.51 426.51 416 400 416zM400 16H48V368H400V16zM364.136 257.724L191.547 86.52C186.842 81.853 179.244 81.883 174.577 86.588L83.796 178.104C79.129 182.809 79.159 190.407 83.865 195.075L106.584 217.611C111.289 222.278 118.887 222.248 123.554 217.542L183.346 157.265L324.698 297.481C329.403 302.148 337.001 302.118 341.668 297.413L364.204 274.695C368.871 269.9890000000001 368.841 262.391 364.136 257.724z" /> + <glyph glyph-name="circle" + unicode="" + horiz-adv-x="512" d=" M256 440C119 440 8 329 8 192S119 -56 256 -56S504 55 504 192S393 440 256 440zM256 -8C145.5 -8 56 81.5 56 192S145.5 392 256 392S456 302.5 456 192S366.5 -8 256 -8z" /> + <glyph glyph-name="clipboard" + unicode="" + horiz-adv-x="384" d=" M336 384H256C256 419.29 227.29 448 192 448S128 419.29 128 384H48C21.49 384 0 362.51 0 336V-16C0 -42.51 21.49 -64 48 -64H336C362.51 -64 384 -42.51 384 -16V336C384 362.51 362.51 384 336 384zM330 -16H54A6 6 0 0 0 48 -10V330A6 6 0 0 0 54 336H96V300C96 293.373 101.373 288 108 288H276C282.627 288 288 293.373 288 300V336H330A6 6 0 0 0 336 330V-10A6 6 0 0 0 330 -16zM192 408C205.255 408 216 397.255 216 384S205.255 360 192 360S168 370.745 168 384S178.745 408 192 408" /> + <glyph glyph-name="clock" + unicode="" + horiz-adv-x="512" d=" M256 440C119 440 8 329 8 192S119 -56 256 -56S504 55 504 192S393 440 256 440zM256 -8C145.5 -8 56 81.5 56 192S145.5 392 256 392S456 302.5 456 192S366.5 -8 256 -8zM317.8 96.4L232.9 158.1C229.8 160.4 228 164 228 167.8V332C228 338.6 233.4 344 240 344H272C278.6 344 284 338.6 284 332V190.3L350.8 141.7C356.2 137.8 357.3 130.3 353.4000000000001 124.9L334.6 99C330.7000000000001 93.7 323.2000000000001 92.5 317.8 96.4z" /> + <glyph glyph-name="clone" + unicode="" + horiz-adv-x="512" d=" M464 448H144C117.49 448 96 426.51 96 400V352H48C21.49 352 0 330.51 0 304V-16C0 -42.51 21.49 -64 48 -64H368C394.51 -64 416 -42.51 416 -16V32H464C490.51 32 512 53.49 512 80V400C512 426.51 490.51 448 464 448zM362 -16H54A6 6 0 0 0 48 -10V298A6 6 0 0 0 54 304H96V80C96 53.49 117.49 32 144 32H368V-10A6 6 0 0 0 362 -16zM458 80H150A6 6 0 0 0 144 86V394A6 6 0 0 0 150 400H458A6 6 0 0 0 464 394V86A6 6 0 0 0 458 80z" /> + <glyph glyph-name="closed-captioning" + unicode="" + horiz-adv-x="512" d=" M464 384H48C21.5 384 0 362.5 0 336V48C0 21.5 21.5 0 48 0H464C490.5 0 512 21.5 512 48V336C512 362.5 490.5 384 464 384zM458 48H54C50.7 48 48 50.7 48 54V330C48 333.3 50.7 336 54 336H458C461.3 336 464 333.3 464 330V54C464 50.7 461.3 48 458 48zM246.9 133.7C248.6 131.3 248.4 128.1 246.4 126C192.8 69.2 73.6 93.9 73.6 193.9C73.6 291.2 195.3 313.4 246.1 264C248.2 262 248.6 260.8 247.1 258.3L229.6 227.8C227.7 224.7 223.4 223.8 220.5 226.1C179.7 258.1 125.9 241.0000000000001 125.9 194.9C125.9 146.9 176.9 124.4 218.1 162.3C220.9 164.8 225.2 164.4 227.3 161.4L246.9 133.7000000000001zM437.3 133.7C439 131.3 438.8 128.1 436.8 126C383.2 69.1 264 93.9 264 193.9C264 291.2 385.7 313.4 436.5 264C438.6 262 439 260.8 437.5 258.3L420 227.8C418.1 224.7 413.8 223.8 410.9 226.1C370.1 258.1 316.3 241.0000000000001 316.3 194.9C316.3 146.9 367.3 124.4 408.5 162.3C411.3 164.8 415.6 164.4 417.7 161.4L437.3 133.7000000000001z" /> + <glyph glyph-name="comment-alt" + unicode="" + horiz-adv-x="512" d=" M448 448H64C28.7 448 0 419.3 0 384V96C0 60.7 28.7 32 64 32H160V-52C160 -59.1 165.8 -64 172 -64C174.4 -64 176.9 -63.3 179.1 -61.6L304 32H448C483.3 32 512 60.7 512 96V384C512 419.3 483.3 448 448 448zM464 96C464 87.2 456.8 80 448 80H288L275.2 70.4L208 20V80H64C55.2 80 48 87.2 48 96V384C48 392.8 55.2 400 64 400H448C456.8 400 464 392.8 464 384V96z" /> + <glyph glyph-name="comment-dots" + unicode="" + horiz-adv-x="512" d=" M144 240C126.3 240 112 225.7 112 208S126.3 176 144 176S176 190.3 176 208S161.7 240 144 240zM256 240C238.3 240 224 225.7 224 208S238.3 176 256 176S288 190.3 288 208S273.7 240 256 240zM368 240C350.3 240 336 225.7 336 208S350.3 176 368 176S400 190.3 400 208S385.7 240 368 240zM256 416C114.6 416 0 322.9 0 208C0 160.4 19.9 116.8 52.9 81.7C38 42.3 7 8.9 6.5 8.5C-0.1 1.5 -1.9 -8.7 1.9 -17.5S14.4 -32 24 -32C85.5 -32 134 -6.3 163.1 14.3C192 5.2 223.2 0 256 0C397.4 0 512 93.1 512 208S397.4 416 256 416zM256 48C229.3 48 202.9 52.1 177.6 60.1L154.9 67.3L135.4 53.5C121.1 43.4 101.5 32.1 77.9 24.5C85.2 36.6 92.3 50.2 97.8 64.7L108.4 92.8L87.8 114.6C69.7 133.9 48 165.8 48 208C48 296.2 141.3 368 256 368S464 296.2 464 208S370.7 48 256 48z" /> + <glyph glyph-name="comment" + unicode="" + horiz-adv-x="512" d=" M256 416C114.6 416 0 322.9 0 208C0 160.4 19.9 116.8 52.9 81.7C38 42.3 7 8.9 6.5 8.5C-0.1 1.5 -1.9 -8.7 1.9 -17.5S14.4 -32 24 -32C85.5 -32 134 -6.3 163.1 14.3C192 5.2 223.2 0 256 0C397.4 0 512 93.1 512 208S397.4 416 256 416zM256 48C229.3 48 202.9 52.1 177.6 60.1L154.9 67.3L135.4 53.5C121.1 43.4 101.5 32.1 77.9 24.5C85.2 36.6 92.3 50.2 97.8 64.7L108.4 92.8L87.8 114.6C69.7 133.9 48 165.8 48 208C48 296.2 141.3 368 256 368S464 296.2 464 208S370.7 48 256 48z" /> + <glyph glyph-name="comments" + unicode="" + horiz-adv-x="576" d=" M532 61.8C559.5 88.9 576 122.9 576 160C576 240 499.5 306.1 399.8 317.9C368.3 375.5 294.3 416 208 416C93.1 416 0 344.4 0 256C0 219 16.5 185 44 157.8C28.7 127.1 6.7 103.3 6.3 102.9C0 96.2000000000001 -1.8 86.4 1.9 77.9C5.5 69.4 13.9 63.9 23.1 63.9C76.6 63.9 119.8 84.1 148.3 102.7000000000001C157.5 100.6 167 99.0000000000001 176.7 97.8000000000001C208.1 40.4 281.8 0 368 0C388.8 0 408.8 2.4 427.8 6.8C456.3 -11.7 499.4 -32 553 -32C562.2 -32 570.5 -26.5 574.2 -18C577.8000000000001 -9.5 576.1 0.3 569.8000000000001 7C569.4000000000001 7.3 547.3000000000001 31.1 532.0000000000001 61.8zM139.2 154.1L122.1 143C108 133.9 93.6 126.7 79 121.6C81.7 126.3 84.4 131.3 87 136.4L102.5 167.5000000000001L77.7 192C64.2 205.4 48 227.3 48 256C48 316.7 121.3 368 208 368S368 316.7 368 256S294.7 144 208 144C191.5 144 175 145.9 159 149.6L139.2 154.1zM498.3 96L473.6 71.6L489.1 40.5C491.7 35.4 494.4 30.4 497.1 25.7C482.5 30.8 468.1 38 454 47.1L436.9 58.2L417 53.6C401 49.9 384.5 47.9999999999999 368 47.9999999999999C314 47.9999999999999 265.8 68.1 236.7 97.6999999999999C338 108.5 416 175.1 416 256C416 259.4 415.6 262.7 415.3 266C479.7 251.5 528 209.2 528 160C528 131.3 511.8 109.4 498.3 96z" /> + <glyph glyph-name="compass" + unicode="" + horiz-adv-x="496" d=" M347.94 318.14L203.6 252.17A31.938 31.938 0 0 1 187.83 236.4L121.86 92.06C114.25 75.41 131.4 58.2499999999999 148.06 65.86L292.4 131.8299999999999A31.938 31.938 0 0 1 308.17 147.5999999999999L374.14 291.94C381.75 308.5999999999999 364.6 325.7499999999999 347.94 318.1399999999999zM270.58 169.42C258.11 156.9499999999999 237.89 156.9499999999999 225.42 169.42C212.95 181.89 212.95 202.11 225.42 214.58C237.89 227.05 258.11 227.05 270.58 214.58C283.05 202.11 283.05 181.89 270.58 169.42zM248 440C111.03 440 0 328.9700000000001 0 192S111.03 -56 248 -56S496 55.03 496 192S384.9700000000001 440 248 440zM248 -8C137.72 -8 48 81.72 48 192S137.72 392 248 392S448 302.28 448 192S358.28 -8 248 -8z" /> + <glyph glyph-name="copy" + unicode="" + horiz-adv-x="448" d=" M433.941 382.059L382.059 433.941A48 48 0 0 1 348.118 448H176C149.49 448 128 426.51 128 400V352H48C21.49 352 0 330.51 0 304V-16C0 -42.51 21.49 -64 48 -64H272C298.51 -64 320 -42.51 320 -16V32H400C426.51 32 448 53.49 448 80V348.118A48 48 0 0 1 433.941 382.059zM266 -16H54A6 6 0 0 0 48 -10V298A6 6 0 0 0 54 304H128V80C128 53.49 149.49 32 176 32H272V-10A6 6 0 0 0 266 -16zM394 80H182A6 6 0 0 0 176 86V394A6 6 0 0 0 182 400H288V312C288 298.745 298.745 288 312 288H400V86A6 6 0 0 0 394 80zM400 336H336V400H345.632C347.223 400 348.749 399.368 349.875 398.243L398.243 349.875A6 6 0 0 0 400 345.632V336z" /> + <glyph glyph-name="copyright" + unicode="" + horiz-adv-x="512" d=" M256 440C119.033 440 8 328.967 8 192S119.033 -56 256 -56S504 55.033 504 192S392.967 440 256 440zM256 -8C145.468 -8 56 81.451 56 192C56 302.531 145.451 392 256 392C366.532 392 456 302.549 456 192C456 81.468 366.549 -8 256 -8zM363.351 93.064C353.737 83.352 317.8210000000001 51.668 259.286 51.668C176.856 51.668 118.802 113.093 118.802 193.235C118.802 272.387 179.077 332.636 258.564 332.636C314.095 332.636 347.302 306.016 356.157 297.857A11.965 11.965 0 0 0 358.093 282.535L339.938 254.422C336.097 248.472 327.972 247.14 322.439 251.501C313.844 258.277 290.625 274.039 260.731 274.039C212.428 274.039 182.815 238.709 182.815 193.957C182.815 152.368 209.703 110.265 261.092 110.265C293.749 110.265 317.935 129.304 326.818 137.49C332.088 142.347 340.414 141.529 344.638 135.752L364.503 108.582A11.947000000000001 11.947000000000001 0 0 0 363.351 93.064z" /> + <glyph glyph-name="credit-card" + unicode="" + horiz-adv-x="576" d=" M527.9 416H48.1C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48.1 -32H527.9C554.5 -32 576 -10.5 576 16V368C576 394.5 554.5 416 527.9 416zM54.1 368H521.9C525.1999999999999 368 527.9 365.3 527.9 362V320H48.1V362C48.1 365.3 50.8 368 54.1 368zM521.9 16H54.1C50.8 16 48.1 18.7 48.1 22V192H527.9V22C527.9 18.7 525.1999999999999 16 521.9 16zM192 116V76C192 69.4 186.6 64 180 64H108C101.4 64 96 69.4 96 76V116C96 122.6 101.4 128 108 128H180C186.6 128 192 122.6 192 116zM384 116V76C384 69.4 378.6 64 372 64H236C229.4 64 224 69.4 224 76V116C224 122.6 229.4 128 236 128H372C378.6 128 384 122.6 384 116z" /> + <glyph glyph-name="dizzy" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM214.2 209.9C222 217.7 222 230.4 214.2 238.2L196.3 256L214.2 273.9C222 281.7000000000001 222 294.4 214.2 302.2000000000001C206.4 310 193.7 310 185.9 302.2000000000001L168 284.3L150.2 302.1C142.4 309.9000000000001 129.7 309.9000000000001 121.9 302.1C114.1 294.3 114.1 281.6 121.9 273.8L139.8 255.9L121.9 238C114.1 230.2 114.1 217.5 121.9 209.7C129.7 201.9 142.4 201.9 150.2 209.7L168 227.5L185.8 209.7C193.7 202 206.3 202 214.2 209.9zM374.2 302.1C366.4 309.9000000000001 353.7 309.9000000000001 345.9 302.1L328 284.3L310.2 302.1C302.4 309.9000000000001 289.7 309.9000000000001 281.9 302.1C274.1 294.3 274.1 281.6 281.9 273.8L299.8 255.9L281.9 238C274.1 230.2 274.1 217.5 281.9 209.7C289.7 201.9 302.4 201.9 310.2 209.7L328 227.5L345.8 209.7C353.6 201.9 366.3 201.9 374.1 209.7C381.9000000000001 217.5 381.9000000000001 230.2 374.1 238L356.3 256L374.2 273.9C381.9 281.7000000000001 381.9 294.3 374.2 302.1zM248 176C212.7 176 184 147.3 184 112S212.7 48 248 48S312 76.7 312 112S283.3 176 248 176z" /> + <glyph glyph-name="dot-circle" + unicode="" + horiz-adv-x="512" d=" M256 392C366.532 392 456 302.549 456 192C456 81.468 366.549 -8 256 -8C145.468 -8 56 81.451 56 192C56 302.532 145.451 392 256 392M256 440C119.033 440 8 328.967 8 192S119.033 -56 256 -56S504 55.033 504 192S392.967 440 256 440zM256 272C211.817 272 176 236.183 176 192S211.817 112 256 112S336 147.817 336 192S300.183 272 256 272z" /> + <glyph glyph-name="edit" + unicode="" + horiz-adv-x="576" d=" M402.3 103.1L434.3 135.1C439.3 140.1 448 136.6 448 129.4V-16C448 -42.5 426.5 -64 400 -64H48C21.5 -64 0 -42.5 0 -16V336C0 362.5 21.5 384 48 384H321.5C328.6 384 332.2 375.4 327.2 370.3L295.2 338.3C293.7 336.8 291.7 336 289.5 336H48V-16H400V97.5C400 99.6 400.8 101.6 402.3 103.1zM558.9 304.9000000000001L296.3 42.3L205.9 32.3C179.7 29.4 157.4 51.5 160.3 77.9L170.3 168.3000000000001L432.9 430.9C455.8 453.8 492.8 453.8 515.6 430.9L558.8000000000001 387.7C581.7 364.8 581.7 327.7 558.9000000000001 304.9zM460.1 274L402 332.1L216.2 146.2L208.9 80.9L274.2 88.2L460.1 274zM524.9 353.7L481.7 396.9C477.6 401 470.9 401 466.9 396.9L436 366L494.1 307.9L525 338.8C529 343 529 349.6 524.9 353.7000000000001z" /> + <glyph glyph-name="envelope-open" + unicode="" + horiz-adv-x="512" d=" M494.586 283.4840000000001C489.889 287.367 382.863 373.4340000000001 359.3350000000001 392.141C337.231 409.809 299.437 448 256 448C212.795 448 175.364 410.283 152.665 392.141C128.202 372.6910000000001 21.595 286.9460000000001 17.515 283.592A48.004000000000005 48.004000000000005 0 0 1 0 246.515V-16C0 -42.51 21.49 -64 48 -64H464C490.51 -64 512 -42.51 512 -16V246.491A48 48 0 0 1 494.586 283.4840000000001zM464 -10A6 6 0 0 0 458 -16H54A6 6 0 0 0 48 -10V243.653C48 245.466 48.816 247.179 50.226 248.318C66.096 261.132 159.019 335.872 182.59 354.611C200.755 369.12 232.398 400 256 400C279.693 400 311.857 368.631 329.41 354.611C352.983 335.87 445.913 261.118 461.776 248.295A5.99 5.99 0 0 0 463.9999999999999 243.632V-10zM432.009 177.704C436.2580000000001 172.545 435.474 164.909 430.264 160.723C401.289 137.44 370.99 113.126 359.3350000000001 103.86C336.636 85.717 299.205 48 256 48C212.548 48 174.713 86.237 152.665 103.86C141.386 112.827 110.921 137.273 81.738 160.725C76.528 164.912 75.745 172.547 79.993 177.706L95.251 196.234C99.429 201.307 106.908 202.077 112.03 197.96C140.648 174.959 170.596 150.925 182.59 141.389C200.143 127.369 232.307 96 256 96C279.602 96 311.246 126.88 329.41 141.389C341.404 150.924 371.354 174.959 399.973 197.957C405.095 202.073 412.574 201.303 416.751 196.23L432.009 177.704z" /> + <glyph glyph-name="envelope" + unicode="" + horiz-adv-x="512" d=" M464 384H48C21.49 384 0 362.51 0 336V48C0 21.49 21.49 0 48 0H464C490.51 0 512 21.49 512 48V336C512 362.51 490.51 384 464 384zM464 336V295.195C441.578 276.936 405.832 248.544 329.413 188.705C312.572 175.458 279.212 143.633 256 144.004C232.792 143.629 199.421 175.463 182.587 188.705C106.18 248.535 70.425 276.933 48 295.195V336H464zM48 48V233.602C70.914 215.351 103.409 189.74 152.938 150.956C174.795 133.751 213.072 95.77 256 96.001C298.717 95.77 336.509 133.2000000000001 359.053 150.948C408.581 189.7310000000001 441.085 215.3490000000001 464 233.6010000000001V48H48z" /> + <glyph glyph-name="eye-slash" + unicode="" + horiz-adv-x="576" d=" M272.702 88.861C192.219 97.872 136.49 175.747 155.772 255.903L272.702 88.861zM288 56C185.444 56 95.908 110.701 48 192C69.755 228.917 100.1 260.342 136.344 283.658L108.803 323.0010000000001C67.001 295.766 31.921 259.259 6.646 216.369A47.999 47.999 0 0 1 6.646 167.63C63.004 71.994 168.14 8 288 8A332.89 332.89 0 0 1 327.648 10.367L295.627 56.111A284.16 284.16 0 0 0 288 56zM569.354 167.631C536.1220000000001 111.237 485.933 65.889 425.8000000000001 38.139L473.9160000000001 -30.601C477.717 -36.03 476.3960000000001 -43.513 470.967 -47.313L450.23 -61.83C444.8010000000001 -65.631 437.3180000000001 -64.3099999999999 433.5180000000001 -58.881L102.084 414.601C98.283 420.03 99.604 427.513 105.033 431.313L125.77 445.83C131.199 449.631 138.682 448.31 142.482 442.881L198.008 363.556C226.612 371.657 256.808 376 288 376C407.86 376 512.996 312.006 569.354 216.369A48.00200000000001 48.00200000000001 0 0 0 569.354 167.631zM528 192C483.843 266.933 404.323 319.27 311.838 327.007C302.042 316.9220000000001 296 303.17 296 288C296 257.072 321.072 232 352 232S408 257.072 408 288L407.999 288.0420000000001C438.6310000000001 230.765 424.738 157.7820000000001 371.0710000000001 116.323L397.766 78.188C452.626 101.449 498.308 141.614 528 192z" /> + <glyph glyph-name="eye" + unicode="" + horiz-adv-x="576" d=" M569.354 216.369C512.97 312.051 407.81 376 288 376C168.14 376 63.004 312.006 6.646 216.369A47.999 47.999 0 0 1 6.646 167.63C63.031 71.949 168.19 8 288 8C407.86 8 512.996 71.994 569.354 167.631A47.997 47.997 0 0 1 569.354 216.369zM288 56C185.444 56 95.909 110.701 48 192C92.157 266.933 171.677 319.27 264.1620000000001 327.007C273.9580000000001 316.9220000000001 280 303.17 280 288C280 257.072 254.928 232 224 232S168 257.072 168 288L168.001 288.0420000000001C157.794 268.957 152 247.156 152 224C152 148.889 212.889 88 288 88S424 148.889 424 224C424 255.031 413.6 283.629 396.105 306.515C451.704 283.362 498.009 242.894 528 192C480.092 110.701 390.5560000000001 56 288 56z" /> + <glyph glyph-name="file-alt" + unicode="" + horiz-adv-x="384" d=" M288 200V172C288 165.4 282.6 160 276 160H108C101.4 160 96 165.4 96 172V200C96 206.6 101.4 212 108 212H276C282.6 212 288 206.6 288 200zM276 128H108C101.4 128 96 122.6 96 116V88C96 81.4 101.4 76 108 76H276C282.6 76 288 81.4 288 88V116C288 122.6 282.6 128 276 128zM384 316.1V-16C384 -42.5 362.5 -64 336 -64H48C21.5 -64 0 -42.5 0 -16V400C0 426.5 21.5 448 48 448H252.1C264.8 448 277 442.9 286 433.9L369.9 350C378.9 341.1 384 328.8 384 316.1zM256 396.1V320H332.1L256 396.1zM336 -16V272H232C218.7 272 208 282.7 208 296V400H48V-16H336z" /> + <glyph glyph-name="file-archive" + unicode="" + horiz-adv-x="384" d=" M369.941 350.059L286.059 433.9410000000001A48 48 0 0 1 252.118 448H48C21.49 448 0 426.51 0 400V-16C0 -42.51 21.49 -64 48 -64H336C362.51 -64 384 -42.51 384 -16V316.118A48 48 0 0 1 369.941 350.059zM256 396.118L332.118 320H256V396.118zM336 -16H48V400H127.714V384H159.714V400H208V296C208 282.745 218.745 272 232 272H336V-16zM192.27 352H160.27V384H192.27V352zM160.27 352V320H128.27V352H160.27zM160.27 288V256H128.27V288H160.27zM192.27 288H160.27V320H192.27V288zM194.179 182.322A12 12 0 0 1 182.406 192H160.27V224H128.27V192L108.58 94.894C101.989 62.389 126.834 32 160 32C193.052 32 217.871 62.192 211.476 94.62L194.179 182.322zM160.27 57.927C142.352 57.927 127.826 70.032 127.826 84.963C127.826 99.895 142.351 111.999 160.27 111.999S192.714 99.894 192.714 84.963C192.714 70.032 178.188 57.927 160.27 57.927zM192.27 224H160.27V256H192.27V224z" /> + <glyph glyph-name="file-audio" + unicode="" + horiz-adv-x="384" d=" M369.941 350.059L286.059 433.9410000000001A48 48 0 0 1 252.118 448H48C21.49 448 0 426.51 0 400V-16C0 -42.51 21.49 -64 48 -64H336C362.51 -64 384 -42.51 384 -16V316.118A48 48 0 0 1 369.941 350.059zM332.118 320H256V396.118L332.118 320zM48 -16V400H208V296C208 282.745 218.745 272 232 272H336V-16H48zM192 60.024C192 49.333 179.074 43.979 171.515 51.539L136 87.514H108C101.373 87.514 96 92.887 96 99.514V155.514C96 162.141 101.373 167.514 108 167.514H136L171.515 204.461C179.075 212.021 192 206.667 192 195.976V60.024zM233.201 107.154C242.252 116.451 242.261 131.287 233.202 140.593C211.053 163.345 245.437 196.839 267.597 174.074C294.795 146.134 294.809 101.63 267.598 73.673C245.805 51.287 210.651 83.988 233.201 107.154z" /> + <glyph glyph-name="file-code" + unicode="" + horiz-adv-x="384" d=" M369.941 350.059L286.059 433.9410000000001A48 48 0 0 1 252.118 448H48C21.49 448 0 426.51 0 400V-16C0 -42.51 21.49 -64 48 -64H336C362.51 -64 384 -42.51 384 -16V316.118A48 48 0 0 1 369.941 350.059zM332.118 320H256V396.118L332.118 320zM48 -16V400H208V296C208 282.745 218.745 272 232 272H336V-16H48zM149.677 99.115L116.854 128L149.676 156.885A8.793 8.793 0 0 1 150.281 169.509L132.878 188.073C129.494 191.686 123.914 191.735 120.44 188.4740000000001L62.78 134.42C59.077 130.946 59.076 125.053 62.781 121.5800000000001L120.44 67.525A8.738 8.738 0 0 1 126.452 65.1440000000001A8.746 8.746 0 0 1 132.879 67.9260000000001L150.282 86.489A8.795 8.795 0 0 1 149.677 99.115zM233.961 226.965L209.56 234.049A8.796 8.796 0 0 1 198.655 228.051L144.04 39.939C142.687 35.279 145.378 30.387 150.038 29.0340000000001L174.441 21.95C179.121 20.595 183.998 23.304 185.346 27.948L239.958 216.06C241.312 220.72 238.621 225.612 233.961 226.9650000000001zM321.219 134.42L263.561 188.475C260.035 191.7820000000001 254.462 191.6400000000001 251.122 188.074L233.719 169.511A8.795 8.795 0 0 1 234.324 156.886L267.146 128L234.324 99.115A8.793 8.793 0 0 1 233.719 86.491L251.122 67.927A8.797 8.797 0 0 1 263.5610000000001 67.526H263.5600000000001L321.2200000000001 121.581C324.923 125.054 324.923 130.947 321.2190000000001 134.42z" /> + <glyph glyph-name="file-excel" + unicode="" + horiz-adv-x="384" d=" M369.9 350.1L286 434C277 443 264.8 448.1 252.1 448.1H48C21.5 448 0 426.5 0 400V-16C0 -42.5 21.5 -64 48 -64H336C362.5 -64 384 -42.5 384 -16V316.1C384 328.8 378.9 341.1 369.9 350.1zM332.1 320H256V396.1L332.1 320zM48 -16V400H208V296C208 282.7 218.7 272 232 272H336V-16H48zM260 224H231.2C226.8 224 222.8 221.6 220.7 217.7C202.7 184.6 198.5 175.3 192.1 160C178.2 189.1 185.2 177.3 163.5 217.7C161.4 221.6 157.3 224 152.9 224H124C114.7 224 109 214 113.6 206L159.9 128L113.6 50C108.9 42 114.7 32 124 32H152.9C157.3 32 161.3 34.4 163.4 38.3C185.1 78.3 186.4 83.3 192 96C206.9 65.8 197.9 80.1 220.6 38.3C222.7 34.4 226.8 32 231.2 32H260C269.3 32 275 42 270.4 50L224 128C224.7 129.1 254.3 178.5 270.3 206C275 214 269.2 224 260 224z" /> + <glyph glyph-name="file-image" + unicode="" + horiz-adv-x="384" d=" M369.9 350.1L286 434C277 443 264.8 448.1 252.1 448.1H48C21.5 448 0 426.5 0 400V-16C0 -42.5 21.5 -64 48 -64H336C362.5 -64 384 -42.5 384 -16V316.1C384 328.8 378.9 341.1 369.9 350.1zM332.1 320H256V396.1L332.1 320zM48 -16V400H208V296C208 282.7 218.7 272 232 272H336V-16H48zM80 32H304V160L280.5 183.5C275.8 188.2 268.2 188.2 263.5 183.5L176 96L136.5 135.5C131.8 140.2 124.2 140.2 119.5 135.5L80 96V32zM128 272C101.5 272 80 250.5 80 224S101.5 176 128 176S176 197.5 176 224S154.5 272 128 272z" /> + <glyph glyph-name="file-pdf" + unicode="" + horiz-adv-x="384" d=" M369.9 350.1L286 434C277 443 264.8 448.1 252.1 448.1H48C21.5 448 0 426.5 0 400V-16C0 -42.5 21.5 -64 48 -64H336C362.5 -64 384 -42.5 384 -16V316.1C384 328.8 378.9 341.1 369.9 350.1zM332.1 320H256V396.1L332.1 320zM48 -16V400H208V296C208 282.7 218.7 272 232 272H336V-16H48zM298.2 127.7C286 139.7 251.2 136.4 233.8 134.2C216.6 144.7 205.1 159.2 197 180.5C200.9 196.6 207.1 221.1 202.4 236.5C198.2 262.7 164.6 260.1 159.8 242.4C155.4 226.3 159.4 203.9 166.8 175.3C156.8 151.4 141.9 119.3 131.4 100.9C111.4 90.6 84.4 74.7 80.4 54.7C77.1 38.9 106.4 -0.5 156.5 85.9C178.9 93.3 203.3 102.4 224.9 106C243.8 95.8 265.9 89 280.7 89C306.2 89 308.7 117.2 298.2 127.7zM100.1 49.9C105.2 63.6 124.6 79.4 130.5 84.9C111.5 54.6 100.1 49.2 100.1 49.9zM181.7 240.5C189.1 240.5 188.4 208.4 183.5 199.7C179.1 213.6 179.2 240.5 181.7 240.5zM157.3 103.9C167 120.8 175.3 140.9 182 158.6C190.3 143.5 200.9 131.4 212.1 123.1C191.3 118.8 173.2 109.9999999999999 157.3 103.9zM288.9 108.9S283.9 102.9 251.6 116.7C286.7 119.3 292.5 111.3 288.9 108.9z" /> + <glyph glyph-name="file-powerpoint" + unicode="" + horiz-adv-x="384" d=" M369.9 350.1L286 434C277 443 264.8 448.1 252.1 448.1H48C21.5 448 0 426.5 0 400V-16C0 -42.5 21.5 -64 48 -64H336C362.5 -64 384 -42.5 384 -16V316.1C384 328.8 378.9 341.1 369.9 350.1zM332.1 320H256V396.1L332.1 320zM48 -16V400H208V296C208 282.7 218.7 272 232 272H336V-16H48zM120 44V212C120 218.6 125.4 224 132 224H201.2C237.9 224 264 197 264 157.7C264 83.4 195.3 91.2 168.5 91.2V44C168.5 37.4 163.1 32 156.5 32H132C125.4 32 120 37.4 120 44zM168.5 131.4H191.5C199.4 131.4 205.4 133.8 209.6 138.6C218.1 148.4 218 167.1 209.7 176.4C205.6 181 199.8 183.4 192.3 183.4H168.4V131.4z" /> + <glyph glyph-name="file-video" + unicode="" + horiz-adv-x="384" d=" M369.941 350.059L286.059 433.9410000000001A48 48 0 0 1 252.118 448H48C21.49 448 0 426.51 0 400V-16C0 -42.51 21.49 -64 48 -64H336C362.51 -64 384 -42.51 384 -16V316.118A48 48 0 0 1 369.941 350.059zM332.118 320H256V396.118L332.118 320zM48 -16V400H208V296C208 282.745 218.745 272 232 272H336V-16H48zM276.687 195.303L224 142.626V180C224 191.046 215.046 200 204 200H100C88.954 200 80 191.046 80 180V76C80 64.954 88.954 56 100 56H204C215.046 56 224 64.954 224 76V113.374L276.687 60.7000000000001C286.704 50.682 304 57.72 304 72.014V183.989C304 198.3 286.691 205.308 276.687 195.303z" /> + <glyph glyph-name="file-word" + unicode="" + horiz-adv-x="384" d=" M369.9 350.1L286 434C277 443 264.8 448.1 252.1 448.1H48C21.5 448 0 426.5 0 400V-16C0 -42.5 21.5 -64 48 -64H336C362.5 -64 384 -42.5 384 -16V316.1C384 328.8 378.9 341.1 369.9 350.1zM332.1 320H256V396.1L332.1 320zM48 -16V400H208V296C208 282.7 218.7 272 232 272H336V-16H48zM268.1 192C262.4000000000001 192 257.5 188 256.4000000000001 182.5C235.8000000000001 84.8 236.0000000000001 87.1 235.4000000000001 79C235.2000000000001 80.2 235.0000000000001 81.6 234.7000000000001 83.3C233.9000000000001 88.4 235.0000000000001 83.1 211.1000000000001 182.8C209.8000000000001 188.2 205.0000000000001 192 199.4000000000001 192H186.1000000000001C180.6000000000001 192 175.8000000000001 188.2 174.4000000000001 182.9C150.0000000000001 83.9 150.4000000000001 86.7 149.6000000000001 79.2C149.5000000000001 80.3 149.4000000000001 81.7 149.1000000000001 83.4C148.4000000000001 88.6 135.0000000000001 156.7 130.0000000000001 182.4C128.9000000000001 188 124.0000000000001 192.1 118.2000000000001 192.1H101.4000000000001C93.6000000000001 192.1 87.9000000000001 184.8 89.7000000000001 177.3C97.7000000000001 144.6999999999999 116.4000000000001 67.8 122.9000000000001 41.3C124.2000000000001 35.9 129.0000000000001 32.1999999999999 134.6000000000001 32.1999999999999H159.8000000000001C165.3000000000001 32.1999999999999 170.1000000000001 35.8999999999999 171.4 41.3L189.3000000000001 112.6999999999999C190.8000000000001 118.8999999999999 191.8000000000001 124.6999999999999 192.3000000000001 130L195.2000000000001 112.6999999999999C195.3000000000001 112.3 207.8000000000001 62.1999999999999 213.1000000000001 41.3C214.4000000000001 35.9999999999999 219.2000000000001 32.1999999999999 224.7000000000001 32.1999999999999H249.4000000000001C254.9000000000001 32.1999999999999 259.7000000000001 35.8999999999999 261.0000000000001 41.3C281.8000000000001 123.1999999999999 291.2000000000001 160.3 295.5000000000001 177.3C297.4000000000001 184.9 291.7000000000001 192.2 283.9000000000001 192.2H268.1z" /> + <glyph glyph-name="file" + unicode="" + horiz-adv-x="384" d=" M369.9 350.1L286 434C277 443 264.8 448.1 252.1 448.1H48C21.5 448 0 426.5 0 400V-16C0 -42.5 21.5 -64 48 -64H336C362.5 -64 384 -42.5 384 -16V316.1C384 328.8 378.9 341.1 369.9 350.1zM332.1 320H256V396.1L332.1 320zM48 -16V400H208V296C208 282.7 218.7 272 232 272H336V-16H48z" /> + <glyph glyph-name="flag" + unicode="" + horiz-adv-x="512" d=" M336.174 368C287.042 368 242.869 400 174.261 400C142.96 400 115.958 393.5180000000001 93.54 384.832A48.04 48.04 0 0 1 95.682 405.559C93.067 428.425 74.167 446.406 51.201 447.896C23.242 449.71 0 427.569 0 400C0 382.236 9.657 366.738 24 358.438V-48C24 -56.837 31.163 -64 40 -64H56C64.837 -64 72 -56.837 72 -48V35.443C109.869 52.72 143.259 64 199.826 64C248.958 64 293.131 32 361.7390000000001 32C420.218 32 463.711 54.617 490.287 71.981C503.846 80.839 512 95.949 512 112.145V352.063C512 386.522 476.736 409.831 445.096 396.18C409.193 380.6910000000001 371.641 368 336.174 368zM464 112C442.217 96.588 403.176 80 361.7390000000001 80C301.7940000000001 80 259.737 112 199.826 112C156.465 112 103.447 102.597 72 88V320C93.784 335.4120000000001 132.824 352 174.261 352C234.206 352 276.2630000000001 320 336.1740000000001 320C379.4450000000001 320 432.4940000000001 337.366 464 352V112z" /> + <glyph glyph-name="flushed" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM344 304C299.8 304 264 268.2 264 224S299.8 144 344 144S424 179.8 424 224S388.2 304 344 304zM344 176C317.5 176 296 197.5 296 224S317.5 272 344 272S392 250.5 392 224S370.5 176 344 176zM344 248C330.7 248 320 237.3 320 224S330.7 200 344 200S368 210.7 368 224S357.3 248 344 248zM232 224C232 268.2 196.2 304 152 304S72 268.2 72 224S107.8 144 152 144S232 179.8 232 224zM152 176C125.5 176 104 197.5 104 224S125.5 272 152 272S200 250.5 200 224S178.5 176 152 176zM152 248C138.7 248 128 237.3 128 224S138.7 200 152 200S176 210.7 176 224S165.3 248 152 248zM312 104H184C170.8 104 160 93.2 160 80S170.8 56 184 56H312C325.2 56 336 66.8 336 80S325.2 104 312 104z" /> + <glyph glyph-name="folder-open" + unicode="" + horiz-adv-x="576" d=" M527.943 224H480V272C480 298.51 458.51 320 432 320H272L208 384H48C21.49 384 0 362.51 0 336V48C0 21.49 21.49 0 48 0H448A48.001 48.001 0 0 1 488.704 22.56L568.646 150.56C588.5939999999999 182.477 565.608 224 527.943 224zM54 336H188.118L252.118 272H426A6 6 0 0 0 432 266V224H152A48 48 0 0 1 110.902 200.798L48 96.551V330.007A5.993 5.993 0 0 0 54 336zM448 48H72L149.234 176H528L448 48z" /> + <glyph glyph-name="folder" + unicode="" + horiz-adv-x="512" d=" M464 320H272L217.37 374.63C211.37 380.63 203.23 384 194.74 384H48C21.49 384 0 362.51 0 336V48C0 21.49 21.49 0 48 0H464C490.51 0 512 21.49 512 48V272C512 298.51 490.51 320 464 320zM464 48H48V336H188.12L242.75 281.37C248.75 275.37 256.89 272 265.38 272H464V48z" /> + <glyph glyph-name="frown-open" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM200 240C200 257.7 185.7 272 168 272S136 257.7 136 240S150.3 208 168 208S200 222.3 200 240zM328 272C310.3 272 296 257.7 296 240S310.3 208 328 208S360 222.3 360 240S345.7 272 328 272zM248 160C212.4 160 159.2 138.7 152.2 98.8C150.2 87 161.2 77.3 172.7 80.7C203.9 90.3 232.1 96 248 96S292.1 90.3 323.3 80.7C334.7 77.2 345.8 87 343.8 98.8C336.8 138.7 283.6 160 248 160z" /> + <glyph glyph-name="frown" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM168 208C185.7 208 200 222.3 200 240S185.7 272 168 272S136 257.7 136 240S150.3 208 168 208zM328 272C310.3 272 296 257.7 296 240S310.3 208 328 208S360 222.3 360 240S345.7 272 328 272zM248 144C207.8 144 170 126.3 144.2 95.4C135.7 85.2 137.1 70.1 147.3 61.6C157.5 53.2 172.6 54.4999999999999 181.1 64.7C197.7 84.6 222.1 96.1 248 96.1S298.3 84.7 314.9 64.7C323 55 338 52.8 348.7 61.6C358.9 70.1 360.2 85.2 351.8 95.4C326 126.3 288.2 144 248 144z" /> + <glyph glyph-name="futbol" + unicode="" + horiz-adv-x="496" d=" M483.8 268.6C449.8 373.4 352.6 440 248.1 440C222.7 440 196.9 436.1 171.4 427.8C41.2 385.5 -30.1 245.6 12.2 115.4C46.2 10.6 143.4 -56 247.9 -56C273.3 -56 299.1 -52.1 324.6 -43.8C454.8 -1.5 526.1 138.4 483.8 268.6zM409.3 74.9L357.1 68.5L313.4000000000001 129.4L337.8 204.6L408.9 226.7L447.8 190.3C447.6 159.6 440.4 129.1999999999999 426.1 101.1C421.4 91.8 415.4 83.3 409.3 74.9zM409.3 310.3L398.9000000000001 257.2L328.2000000000001 235.2L264.0000000000001 281.7V355.5L311.4000000000001 381.7C350.6 368.7 384.8000000000001 343.7 409.3000000000001 310.3zM184.9 381.6L232 355.5V281.7L167.8 235.2L97.2 257.2L87.1 309.7C111.4 343.1 145 368.3 184.9 381.6zM139 68.5L85.9 75C71.5 95.1 48.6 134.6 48.1 190.3L87.1 226.7L158.2 204.5L182.5 130.2000000000001L139 68.5000000000001zM187.2 1.5L164.8 49.6L208.4 111.3H287L331.3 49.6L308.9000000000001 1.5C302.7000000000001 -0.3 251.3000000000001 -18.9 187.2000000000001 1.5z" /> + <glyph glyph-name="gem" + unicode="" + horiz-adv-x="576" d=" M464 448H112C108 448 104.2 446 102 442.6L2 295.4C-0.9 291 -0.6 285.2000000000001 2.7 281.2000000000001L278.7 -59.6C283.5 -65.5 292.5 -65.5 297.3 -59.6L573.3 281.2C576.5999999999999 285.3 576.9 291 574 295.4L474.1 442.6C471.8 446 468.1 448 464 448zM444.7 400L508 304H439.6L387.9000000000001 400H444.7000000000001zM242.6 400H333.3L385 304H191L242.6 400zM131.3 400H188.1L136.4 304H68L131.3 400zM88.3 256H139.7L208 96L88.3 256zM191.2 256H384.8L288 12.7L191.2 256zM368 96L436.2 256H487.6L368 96z" /> + <glyph glyph-name="grimace" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM168 208C185.7 208 200 222.3 200 240S185.7 272 168 272S136 257.7 136 240S150.3 208 168 208zM328 208C345.7 208 360 222.3 360 240S345.7 272 328 272S296 257.7 296 240S310.3 208 328 208zM344 192H152C125.5 192 104 170.5 104 144V112C104 85.5 125.5 64 152 64H344C370.5 64 392 85.5 392 112V144C392 170.5 370.5 192 344 192zM176 96H152C143.2 96 136 103.2 136 112V120H176V96zM176 136H136V144C136 152.8 143.2 160 152 160H176V136zM240 96H192V120H240V96zM240 136H192V160H240V136zM304 96H256V120H304V96zM304 136H256V160H304V136zM360 112C360 103.2 352.8 96 344 96H320V120H360V112zM360 136H320V160H344C352.8 160 360 152.8 360 144V136z" /> + <glyph glyph-name="grin-alt" + unicode="" + horiz-adv-x="496" d=" M200.3 200C212.7 218.7 215.4 237.3 216 256C215.5 274.7 212.7 293.3 200.3 312C192.3 324 175.2 323.4 167.6 312C155.2 293.3 152.5 274.7 151.9 256C152.4 237.3 155.2000000000001 218.7 167.6 200C175.7 188 192.8 188.6 200.3 200zM328.3 200C340.7 218.7 343.4000000000001 237.3 344 256C343.5 274.7 340.7 293.3 328.3 312C320.3 324 303.2 323.4 295.6 312C283.2000000000001 293.3 280.5 274.7 279.9000000000001 256C280.4000000000001 237.3 283.2000000000001 218.7 295.6 200C303.7000000000001 188 320.8 188.6 328.3 200zM248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM353.6 143.4C327.7000000000001 135.1 289.2000000000001 130.3 248.0000000000001 130.3S168.4 135.1 142.4 143.4C132.5 146.5 123 138.1 124.7 128.1C132.6 80.9 196 48.1 248.0000000000001 48.1S363.3 80.9999999999999 371.3 128.1C372.9000000000001 137.9 363.6 146.5 353.6 143.4z" /> + <glyph glyph-name="grin-beam-sweat" + unicode="" + horiz-adv-x="496" d=" M440 288C469.5 288 493.3 314.3 493.3 346.7C493.3 371.7 461.6 422.2 447.1 444C443.5 449.3 436.4000000000001 449.3 432.9000000000001 444C418.4000000000001 422.2 386.7000000000001 371.7 386.7000000000001 346.7C386.7000000000001 314.3 410.5000000000001 288 440.0000000000001 288zM248 48C299.9 48 363.3 80.9 371.3 128C373 137.9 363.6 146.5 353.6 143.3C327.7000000000001 135 289.2000000000001 130.2 248.0000000000001 130.2S168.4 135 142.4 143.3C132.6 146.4 123 138 124.7 128C132.7000000000001 80.9 196.1 48 248.0000000000001 48zM378.3 216.3C381.9000000000001 217.4 384.3 220.8 384 224.6C380.7 266.7000000000001 351.8 296 328 296S275.3 266.7000000000001 272 224.6C271.7 220.9 274.1 217.4 277.7 216.3C281.2 215.2 285.1 216.8 287 220L296.5 237C304.2 250.7 315.7 258.6 328 258.6S351.8 250.7 359.5 237L369 220C371.1 216.4 375.2 215.4 378.3 216.3zM483.6 269.2000000000001C459 253.5000000000001 437.6 256.3 437.2000000000001 256.3C444.1 236.1 448.0000000000001 214.5 448.0000000000001 192C448.0000000000001 81.7 358.3000000000001 -8 248.0000000000001 -8S48 81.7 48 192S137.7 392 248 392C287.8 392 324.8 380.2 356 360.1C357.7 369.6 362.3 384.2 373.2 405.8C336.4 427.4 293.7 440 248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192C496 219 491.6 244.9 483.6 269.2zM168 258.6C180.3 258.6 191.8 250.7 199.5 237L209 220C211.1 216.3 215.2 215.3 218.3 216.3C221.9 217.4 224.3 220.8 224 224.6C220.7 266.7000000000001 191.8 296 168 296S115.3 266.7000000000001 112 224.6C111.7 220.9 114.1 217.4 117.7 216.3C121.2 215.2 125.1 216.8 127 220L136.5 237C144.2 250.8 155.7 258.6 168 258.6z" /> + <glyph glyph-name="grin-beam" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM353.6 143.4C327.7000000000001 135.1 289.2000000000001 130.3 248.0000000000001 130.3S168.4 135.1 142.4 143.4C132.6 146.5 123 138.1 124.7 128.1C132.6 80.9999999999999 196 48.1 248.0000000000001 48.1S363.3 80.9999999999999 371.3 128.1C372.9000000000001 137.9 363.6 146.5 353.6 143.4zM117.7 216.3C121.2 215.2 125.1 216.8 127 220L136.5 237C144.2 250.7 155.7 258.6 168 258.6S191.8 250.7 199.5 237L209 220C211.1 216.3 215.2 215.3 218.3 216.3C221.9 217.4 224.3 220.8 224 224.6C220.7 266.7 191.8 296 168 296S115.3 266.7 112 224.6C111.7 220.9 114.1 217.4 117.7 216.3zM277.7000000000001 216.3C281.2000000000001 215.2 285.1 216.8 287.0000000000001 220L296.5000000000001 237C304.2000000000001 250.7 315.7000000000001 258.6 328.0000000000001 258.6S351.8000000000001 250.7 359.5000000000001 237L369.0000000000001 220C371.1000000000001 216.3 375.2000000000001 215.3 378.3000000000001 216.3C381.9000000000001 217.4 384.3000000000001 220.8 384.0000000000001 224.6C380.7000000000001 266.7 351.8000000000001 296 328.0000000000001 296S275.3000000000001 266.7 272.0000000000001 224.6C271.7000000000001 220.9 274.1000000000001 217.4 277.7000000000001 216.3z" /> + <glyph glyph-name="grin-hearts" + unicode="" + horiz-adv-x="496" d=" M353.6 143.4C327.7000000000001 135.1 289.2000000000001 130.3 248.0000000000001 130.3S168.4 135.1 142.4 143.4C132.6 146.5 123 138.1 124.7 128.1C132.6 80.9 196 48.1 248.0000000000001 48.1S363.3 80.9999999999999 371.3 128.1C372.9000000000001 137.9 363.6 146.5 353.6 143.4zM200.8 192.3C205.3 191.1 210 193.8 211.3 198.3L230.7 268.2C236.3 288.5 223.3 309.3 201.9 312.7C183.3 315.7 165.5 302.9 160.4 284.8L158.4 277.7L151.3 279.6C133.1 284.3 113.1 275.3 106.4 257.6C98.7 237.4 110.2 215.7 130.6 210.4L200.8 192.3zM389.6 257.6C382.9000000000001 275.2 362.9000000000001 284.3 344.7000000000001 279.6L337.6 277.7L335.6 284.8C330.6 302.9 312.8 315.7 294.1 312.7C272.7000000000001 309.3 259.7000000000001 288.5 265.3 268.2L284.7 198.3C285.9 193.8 290.6 191.1 295.2 192.3L365.4 210.5C385.8 215.8 397.3 237.4 389.6 257.5999999999999zM248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8z" /> + <glyph glyph-name="grin-squint-tears" + unicode="" + horiz-adv-x="512" d=" M117.1 63.9C91.3 60.2 33.1 50.2 16.2 33.3C-5.7 11.4 -5.3 -24.6 17.1 -47.0000000000001S75.4 -69.8000000000001 97.4 -47.9C114.3 -31 124.3 27.2 128 53C128.8 59.4 123.4 64.8 117.1 63.9zM75.9 105.6C40.3 180 53 271.9 114.6 333.4C152.4 371.2 202.6 392 256 392C292.2 392 326.8 382.2 357.2 364.3C361 384.6 365.2 400.4 369.2 412.6C333.8 430.8 294.9 440 256 440C192.5 440 129.1 415.8 80.6 367.4C6.5 293.3 -10.7 184 28.6 93.4C40.8 97.5 56.3 101.7 75.9 105.6zM428.2 293.2C473.2 216.6 463.1 116.3 397.4 50.6C359.6 12.8 309.4 -8.0000000000001 256 -8.0000000000001C225.5 -8.0000000000001 196.2 -1.0000000000001 169.6 11.8C165.7 -7.7 161.6 -23.2 157.4 -35.4C188.8 -49.0000000000001 222.4 -56.0000000000001 256.1 -56.0000000000001C319.6 -56.0000000000001 383 -31.8000000000001 431.5 16.5999999999999C509.6 94.6999999999999 524.6 211.9999999999999 476.7 305.2C464.4 301.2 448.5 297.0999999999999 428.2 293.2zM394.9 320.1C420.7 323.8 478.9 333.8 495.8 350.7C517.6999999999999 372.6 517.3 408.6 494.9 431S436.6 453.8 414.6 431.9C397.7 415 387.7 356.8 384 331C383.2 324.6 388.6 319.2 394.9 320.1zM207.9 211.8C204.9 214.8 200.7 216 196.5 215L106 192.3C100.3 190.9 96.5 185.6 96.9 179.7C97.4 173.9 102 169.2 107.8 168.7L160.1 163.9L164.9 111.6C165.4 105.8 170.1 101.2 175.9 100.7H176.8000000000001C182.3000000000001 100.7 187.1000000000001 104.4 188.5 109.8L211.1 200.3C212.1 204.5 210.9 208.8 207.9 211.8zM247.6 236.9L338.1 259.5C343.8 260.9 347.6 266.2 347.2 272.0999999999999C346.7 277.9 342.1 282.5999999999999 336.3 283.0999999999999L284 287.9L279.2 340.2C278.7 346 274 350.6 268.2 351.1C262.6 351.2 257 347.7 255.6 342L233 251.5C232 247.4 233.2 243.1 236.2 240.1C241.2 235.1 247.5 236.9 247.6 236.9zM299.6 148.4C270.5 119.3 239.9 95.5 215.7 83C206.5 78.2 205.7 65.5 214 59.6C252.9 31.9 321 53.4 357.7 90.2000000000001S416 195 388.3 233.9C382.5 242.1 369.8 241.5 364.9000000000001 232.2C352.6 208 328.7000000000001 177.5 299.6 148.4z" /> + <glyph glyph-name="grin-squint" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM353.6 143.4C327.7000000000001 135.1 289.2000000000001 130.3 248.0000000000001 130.3S168.4 135.1 142.4 143.4C132.5 146.5 123 138 124.7 128.1C132.6 80.9999999999999 196 48.1 248.0000000000001 48.1S363.3 80.9999999999999 371.3 128.1C372.9000000000001 137.9 363.6 146.5 353.6 143.4zM118.9 184.2C122.5 180 128.8000000000001 178.5 134.2000000000001 181.7L214.2000000000001 229.7C217.8000000000001 231.9 220.0000000000001 235.8 220.0000000000001 240S217.8000000000001 248.1 214.2000000000001 250.3L134.2000000000001 298.3C129.1000000000001 301.3 122.8000000000001 300.2000000000001 118.9000000000001 295.8C115.1000000000001 291.3 115.1000000000001 284.8 118.8000000000001 280.3L152.4000000000001 240L118.8000000000001 199.7C115.0000000000001 195.2 115.1000000000001 188.6 118.9000000000001 184.2zM361.8000000000001 181.7C367.2000000000001 178.5 373.5000000000001 180 377.1000000000001 184.2C380.9000000000001 188.7 380.9000000000001 195.2 377.2000000000001 199.7L343.6 240L377.2000000000001 280.3C381.0000000000001 284.8 380.9000000000001 291.3 377.1 295.8C373.3 300.2000000000001 366.9000000000001 301.2000000000001 361.8 298.3L281.8 250.3C278.2 248.1 276 244.2 276 240S278.2 231.9 281.8 229.7L361.8 181.7z" /> + <glyph glyph-name="grin-stars" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM353.6 143.4C327.7000000000001 135.1 289.2000000000001 130.3 248.0000000000001 130.3S168.4 135.1 142.4 143.4C132.6 146.5 123 138.1 124.7 128.1C132.6 80.9 196 48.1 248.0000000000001 48.1S363.3 80.9999999999999 371.3 128.1C372.9000000000001 137.9 363.6 146.5 353.6 143.4zM125.7 200.9C124.7 194.7 131.1 189.9 136.7 193L168 209.3L199.3000000000001 193C204.9 189.9 211.3000000000001 194.7 210.3000000000001 200.9L204.3000000000001 235.8L229.7000000000001 260.4C234.2000000000001 264.9 231.6000000000001 272.6 225.4000000000001 273.6L190.5 278.6L175 310.2C172.1 316 164 316 161.1 310.2L145.6 278.6L110.7 273.6C104.5 272.7 101.8 265 106.4 260.4L131.8 235.8L125.7 200.9zM385.4 273.6L350.5 278.6L335 310.2C332.1 316 324 316 321.1 310.2L305.6 278.6L270.7000000000001 273.6C264.5000000000001 272.7 261.8000000000001 265 266.4000000000001 260.4L291.8 235.8L285.8 200.9C284.8 194.7 291.2 189.9 296.8 193L328.1 209.3L359.4000000000001 193C365.0000000000001 189.9 371.4000000000001 194.7 370.4000000000001 200.9L364.4000000000001 235.8L389.8 260.4C394.3 265 391.6 272.6 385.4000000000001 273.6z" /> + <glyph glyph-name="grin-tears" + unicode="" + horiz-adv-x="640" d=" M117.1 191.9C91.3 188.2 33.1 178.2 16.2 161.3C-5.7 139.4 -5.3 103.4 17.1 80.9999999999999S75.4 58.1999999999999 97.4 80.1C114.3 97 124.3 155.2 128 181C128.8 187.4 123.4 192.8 117.1 191.9zM623.8 161.3C606.9 178.1999999999999 548.6999999999999 188.1999999999999 522.9 191.9C516.6 192.8 511.2 187.4 512.1 181.1C515.8000000000001 155.3 525.8000000000001 97.1 542.7 80.1999999999999C564.6 58.3 600.6 58.6999999999999 623 81.0999999999999C645.3 103.3999999999999 645.7 139.3999999999999 623.8 161.2999999999999zM497.1999999999999 99.6C463.8 35.7 396.9 -8 320 -8C243.1 -8 176.2 35.7 142.8 99.6C130.3 62.2000000000001 117.6 55.7 114.5 53.1C159.1 -12.7 234.5 -56 320 -56S480.9 -12.7 525.5 53.1C522.3 55.8 509.6 62.3 497.2 99.6zM122.7 223.5C137.9 318.8 220.5 392 320 392C419.5 392 502.1 318.8 517.3 223.5C519.4 223.7 522.5 225.9 566.8 216.5C554.4 342 448.7 440 320 440S85.6 342 73.2 216.6C117.7 226 120.3 223.8 122.7 223.5zM320 48C371.9 48 435.3 80.9 443.3 128C445 137.9 435.6 146.5 425.6 143.3C399.7000000000001 135 361.2000000000001 130.2 320 130.2S240.4 135 214.4 143.3C204.6 146.4 195 138 196.7 128C204.7 80.9 268.1 48 320 48zM450.3 216.3C453.9 217.4 456.3 220.8 456 224.6C452.7 266.7000000000001 423.8 296 400 296S347.3 266.7000000000001 344 224.6C343.7 220.9 346.1 217.4 349.7 216.3C353.2 215.2 357.1 216.8 359 220L368.5 237C376.2 250.7 387.7 258.6 400 258.6S423.8 250.7 431.5 237L441 220C443.1 216.4 447.2 215.4 450.3 216.3zM240 258.6C252.3 258.6 263.8 250.7 271.5 237L281 220C283.1 216.3 287.2 215.3 290.3 216.3C293.9000000000001 217.4 296.3 220.8 296 224.6C292.7 266.7000000000001 263.8 296 240 296S187.3 266.7000000000001 184 224.6C183.7 220.9 186.1 217.4 189.7 216.3C193.2 215.2 197.1 216.8 199 220L208.5 237C216.2 250.8 227.7 258.6 240 258.6z" /> + <glyph glyph-name="grin-tongue-squint" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM312 40C312 4.4 282.9 -24.5 247.1 -24C212 -23.5 184 5.8 184 41V83.8L201.7 92.6C216.7 100.1 233.2 90.9 236.6 76.1L239.4 64C241.5 54.8 254.6 54.8 256.7 64L259.5 76.1C262.9 90.9 279.3 100.2000000000001 294.4 92.6L312.1 83.8V40zM340.2 14.7C342.4 22.8 344 31.2 344 40V83.5C358.2 95.9 368.4 111 371.3 128C373 137.9 363.6 146.5 353.6 143.3C327.7000000000001 135 289.2000000000001 130.2 248.0000000000001 130.2S168.4 135 142.4 143.3C132.5 146.4 123 138 124.7 128C127.6 111 137.8000000000001 95.9 152 83.5V40C152 31.2 153.6 22.8 155.8000000000001 14.7C91.8 48.1 48 115 48 192C48 302.3 137.7 392 248 392S448 302.3 448 192C448 115 404.2 48.1 340.2 14.7zM377.1 295.8C373.3 300.2000000000001 366.8 301.3 361.8 298.3L281.8 250.3C278.2 248.1 276 244.2 276 240S278.2 231.9 281.8 229.7L361.8 181.7C367.2 178.5 373.5 180 377.1 184.2C380.9 188.7 380.9 195.2 377.2 199.7L343.6 240L377.2000000000001 280.3C381.0000000000001 284.8 380.9000000000001 291.4 377.1 295.8zM214.2 250.3L134.2 298.3C129.2 301.3 122.8 300.3 118.9 295.8C115.1 291.3 115.1 284.8 118.8 280.3L152.4 240L118.8 199.7C115 195.2 115.1 188.7 118.9 184.2C122.5 180 128.8 178.5 134.2 181.7L214.2 229.7C217.8 231.9 220 235.8 220 240S217.8 248.1 214.2 250.3z" /> + <glyph glyph-name="grin-tongue-wink" + unicode="" + horiz-adv-x="496" d=" M152 268C126.3 268 96.1 251.1 92.2 225.9C91.4 220.9 93.9 215.9 98.3 213.5C102.7 211.1 108.2 211.7 112 215.1L121.5 223.6C136.3 236.8 167.7 236.8 182.5 223.6L192 215.1C194.5 212.9 200 210.4 205.7 213.5C210.1 215.9 212.6 220.9 211.8 225.9C207.9 251.1 177.7 268 152 268zM328 320C283.8 320 248 284.2 248 240S283.8 160 328 160S408 195.8 408 240S372.2 320 328 320zM328 192C301.5 192 280 213.5 280 240S301.5 288 328 288S376 266.5 376 240S354.5 192 328 192zM328 264C314.7 264 304 253.3 304 240S314.7 216 328 216S352 226.7 352 240S341.3 264 328 264zM248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM312 40C312 4.4 282.9 -24.5 247.1 -24C212 -23.5 184 5.8 184 41V83.8L201.7 92.6C216.7 100.1 233.2 90.9 236.6 76.1L239.4 64C241.5 54.8 254.6 54.8 256.7 64L259.5 76.1C262.9 90.9 279.3 100.2000000000001 294.4 92.6L312.1 83.8V40zM340.2 14.7C342.4 22.8 344 31.2 344 40V83.5C358.2 95.9 368.4 111 371.3 128C373 137.9 363.6 146.5 353.6 143.3C327.7000000000001 135 289.2000000000001 130.2 248.0000000000001 130.2S168.4 135 142.4 143.3C132.5 146.4 123 138 124.7 128C127.6 111 137.8000000000001 95.9 152 83.5V40C152 31.2 153.6 22.8 155.8000000000001 14.7C91.8 48.1 48 115 48 192C48 302.3 137.7 392 248 392S448 302.3 448 192C448 115 404.2 48.1 340.2 14.7z" /> + <glyph glyph-name="grin-tongue" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM312 40C312 4.4 282.9 -24.5 247.1 -24C212 -23.5 184 5.8 184 41V83.8L201.7 92.6C216.7 100.1 233.2 90.9 236.6 76.1L239.4 64C241.5 54.8 254.6 54.8 256.7 64L259.5 76.1C262.9 90.9 279.3 100.2000000000001 294.4 92.6L312.1 83.8V40zM340.2 14.7C342.4 22.8 344 31.2 344 40V83.5C358.2 95.9 368.4 111 371.3 128C373 137.9 363.6 146.5 353.6 143.3C327.7000000000001 135 289.2000000000001 130.2 248.0000000000001 130.2S168.4 135 142.4 143.3C132.5 146.4 123 138 124.7 128C127.6 111 137.8000000000001 95.9 152 83.5V40C152 31.2 153.6 22.8 155.8000000000001 14.7C91.8 48.1 48 115 48 192C48 302.3 137.7 392 248 392S448 302.3 448 192C448 115 404.2 48.1 340.2 14.7zM168 272C150.3 272 136 257.7 136 240S150.3 208 168 208S200 222.3 200 240S185.7 272 168 272zM328 272C310.3 272 296 257.7 296 240S310.3 208 328 208S360 222.3 360 240S345.7 272 328 272z" /> + <glyph glyph-name="grin-wink" + unicode="" + horiz-adv-x="496" d=" M328 268C302.31 268 272.12 251.08 268.14 225.88C266.39 214.66 279.64 207.64 287.97 215.04L297.52 223.52C312.33 236.71 343.68 236.71 358.49 223.52L368.04 215.04C376.5200000000001 207.61 389.6 214.79 387.87 225.88C383.88 251.08 353.69 268 328 268zM168 208C185.67 208 200 222.33 200 240S185.67 272 168 272S136 257.67 136 240S150.33 208 168 208zM353.55 143.36C327.62 135.06 289.15 130.3 248 130.3S168.38 135.05 142.45 143.36C132.51 146.49 123.05 137.99 124.74 128.0200000000001C132.67 80.87 196.06 48 248 48S363.33 80.87 371.26 128.02C372.94 137.91 363.59 146.5 353.55 143.36zM248 440C111.03 440 0 328.9700000000001 0 192S111.03 -56 248 -56S496 55.03 496 192S384.9700000000001 440 248 440zM248 -8C137.72 -8 48 81.72 48 192S137.72 392 248 392S448 302.28 448 192S358.28 -8 248 -8z" /> + <glyph glyph-name="grin" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM353.6 143.4C327.7000000000001 135.1 289.2000000000001 130.3 248.0000000000001 130.3S168.4 135.1 142.4 143.4C132.5 146.5 123 138 124.7 128.1C132.6 80.9999999999999 196 48.1 248.0000000000001 48.1S363.3 80.9999999999999 371.3 128.1C372.9000000000001 137.9 363.6 146.5 353.6 143.4zM168 208C185.7 208 200 222.3 200 240S185.7 272 168 272S136 257.7 136 240S150.3 208 168 208zM328 208C345.7 208 360 222.3 360 240S345.7 272 328 272S296 257.7 296 240S310.3 208 328 208z" /> + <glyph glyph-name="hand-lizard" + unicode="" + horiz-adv-x="576" d=" M556.686 157.458L410.328 383.171C397.001 403.728 374.417 416 349.917 416H56C25.121 416 0 390.878 0 360V352C0 307.8880000000001 35.888 272 80 272H276.0420000000001L257.7090000000001 224H144C95.477 224 56 184.523 56 136C56 105.121 81.121 80 112 80H243.552C246.539 80 249.466 79.451 252.249 78.369L352 39.582V-32H576V92.171C576 115.396 569.321 137.972 556.686 157.458zM528 16H400V39.582C400 59.53 387.986 77.09 369.396 84.318L269.645 123.106A71.733 71.733 0 0 1 243.552 128H112C107.589 128 104 131.589 104 136C104 158.056 121.944 176 144 176H257.709C277.476 176 295.495 188.407 302.549 206.873L327.101 271.154C336.097 294.707 318.673 320 293.471 320H80C62.355 320 48 334.355 48 352V360C48 364.411 51.589 368 56 368H349.917C358.083 368 365.61 363.91 370.054 357.058L516.412 131.343A71.84 71.84 0 0 0 528 92.171V16z" /> + <glyph glyph-name="hand-paper" + unicode="" + horiz-adv-x="448" d=" M372.57 335.359V346.184C372.57 389.796 332.05 422.875 289.531 411.73C263.902 461.23 195.441 459.18 171.549 410.983C130.269 421.544 89.144 390.055 89.144 346V219.87C69.191 227.297 45.836 224.938 27.061 210.999C-2.294 189.203 -8.733 147.666 12.511 117.846L132.48 -50.569A32 32 0 0 1 158.542 -64.001H381.439C396.343 -64.001 409.274 -53.712 412.621 -39.188L442.805 91.77A203.637 203.637 0 0 1 448 137.436V269C448 309.62 412.477 340.992 372.57 335.359zM399.997 137.437C399.997 125.706 398.663 113.968 396.0320000000001 102.551L368.707 -16H166.787L51.591 145.697C37.152 165.967 66.614 188.473 80.985 168.302L108.113 130.223C117.108 117.597 137.144 123.936 137.144 139.506V346C137.144 371.645 173.715 370.81 173.715 345.309V192C173.715 183.163 180.878 176 189.715 176H196.571C205.408 176 212.571 183.163 212.571 192V381C212.571 406.663 249.142 405.81 249.142 380.309V192C249.142 183.163 256.305 176 265.142 176H271.998C280.835 176 287.998 183.163 287.998 192V346.875C287.998 372.5470000000001 324.568 371.685 324.568 346.184V192C324.568 183.163 331.731 176 340.568 176H347.425C356.262 176 363.425 183.163 363.425 192V268.309C363.425 294.551 399.995 293.949 399.995 269V137.437z" /> + <glyph glyph-name="hand-peace" + unicode="" + horiz-adv-x="448" d=" M362.146 256.024C348.4360000000001 277.673 323.385 290.04 297.14 286.365V374C297.14 414.804 264.329 448 223.999 448C183.669 448 150.859 414.804 150.859 374L160 280L141.321 358.85C126.578 397.157 83.85 415.89 46.209 400.7920000000001C8.735 385.762 -9.571 343.0370000000001 5.008 305.15L60.765 160.223C30.208 135.267 16.771 102.414 36.032 68.005L90.885 -29.994C102.625 -50.97 124.73 -64 148.575 -64H354.277C385.021 -64 411.835 -42.56 418.832 -12.203L446.259 106.7960000000001A67.801 67.801 0 0 1 447.988 121.999L448 192C448 236.956 404.737 269.343 362.146 256.024zM399.987 122C399.987 120.512 399.8180000000001 119.023 399.485 117.577L372.058 -1.424C370.08 -10.006 362.768 -16 354.276 -16H148.575C142.089 -16 136.033 -12.379 132.77 -6.551L77.916 91.449C73.359 99.59 75.297 110.117 82.424 115.937L109.071 137.701A16 16 0 0 1 113.883 155.84L49.793 322.389C37.226 355.044 84.37 373.163 96.51 341.611L156.294 186.254A16 16 0 0 1 171.227 176H182.859C191.696 176 198.859 183.163 198.859 192V374C198.859 408.375 249.14 408.43 249.14 374V192C249.14 183.163 256.303 176 265.14 176H271.996C280.833 176 287.996 183.163 287.996 192V220C287.996 245.122 324.563 245.159 324.563 220V192C324.563 183.163 331.726 176 340.563 176H347.419C356.256 176 363.419 183.163 363.419 192C363.419 217.12 399.986 217.16 399.986 192V122z" /> + <glyph glyph-name="hand-point-down" + unicode="" + horiz-adv-x="448" d=" M188.8 -64C234.416 -64 272 -26.235 272 19.2V54.847A93.148 93.148 0 0 1 294.064 62.776C316.0700000000001 60.269 339.0420000000001 66.2789999999999 356.855 78.761C409.342 79.9 448 116.159 448 178.701V200C448 260.063 408 298.512 408 327.2V329.879C412.952 335.626 416 343.415 416 351.999V416C416 433.673 403.106 448 387.2 448H156.8C140.894 448 128 433.673 128 416V352C128 343.416 131.048 335.627 136 329.88V327.201C136 320.237 129.807 312.339 112.332 297.0180000000001L112.184 296.889L112.038 296.7580000000001C102.101 287.9020000000001 91.197 278.642 78.785 270.9070000000001C48.537 252.202 0 240.514 0 195.2C0 138.272 35.286 103.2 83.2 103.2C91.226 103.2 98.689 104.014 105.6 105.376V19.2C105.6 -25.899 143.701 -64 188.8 -64zM188.8 -16C170.1 -16 153.6 0.775 153.6 19.2V177.6C136.275 177.6 118.4 151.2000000000001 83.2 151.2000000000001C56.8 151.2000000000001 48 171.8250000000001 48 195.2000000000001C48 203.9940000000001 80.712 215.6450000000001 104.1 230.1260000000001C118.675 239.2000000000001 131.325 249.6500000000001 143.975 260.9250000000001C162.349 277.0340000000001 180.608 294.761 183.571 320.0000000000001H360.3230000000001C364.087 277.2100000000001 400 245.491 400 200V178.701C400 138.177 377.803 121.577 338.675 128.1C330.6740000000001 113.488 304.6960000000001 103.949 285.05 115.175C266.825 95.81 238.669 97.388 224 110.225V19.2C224 0.225 207.775 -16 188.8 -16zM328 384C328 397.255 338.745 408 352 408S376 397.255 376 384S365.255 360 352 360S328 370.745 328 384z" /> + <glyph glyph-name="hand-point-left" + unicode="" + horiz-adv-x="512" d=" M0 227.2C0 181.584 37.765 144 83.2 144H118.847A93.148 93.148 0 0 1 126.776 121.936C124.269 99.93 130.279 76.958 142.761 59.145C143.9 6.658 180.159 -32 242.701 -32H264C324.063 -32 362.512 8 391.2 8H393.879C399.626 3.048 407.415 0 415.999 0H479.999C497.672 0 511.999 12.894 511.999 28.8V259.2C511.999 275.106 497.672 288 479.999 288H415.999C407.415 288 399.626 284.952 393.879 280H391.2C384.236 280 376.338 286.193 361.017 303.668L360.888 303.8160000000001L360.757 303.962C351.901 313.899 342.641 324.803 334.906 337.215C316.202 367.463 304.514 416 259.2 416C202.272 416 167.2 380.714 167.2 332.8C167.2 324.774 168.014 317.3110000000001 169.376 310.4H83.2C38.101 310.4 0 272.299 0 227.2zM48 227.2C48 245.9 64.775 262.4 83.2 262.4H241.6C241.6 279.725 215.2 297.6 215.2 332.8C215.2 359.2 235.825 368 259.2000000000001 368C267.9940000000001 368 279.6450000000001 335.288 294.1260000000001 311.9C303.2000000000001 297.325 313.6500000000001 284.675 324.925 272.025C341.034 253.651 358.761 235.392 384 232.429V55.677C341.21 51.913 309.491 16 264 16H242.701C202.177 16 185.577 38.197 192.1 77.325C177.488 85.326 167.949 111.304 179.175 130.95C159.81 149.175 161.388 177.331 174.225 192H83.2C64.225 192 48 208.225 48 227.2zM448 88C461.255 88 472 77.255 472 64S461.255 40 448 40S424 50.745 424 64S434.745 88 448 88z" /> + <glyph glyph-name="hand-point-right" + unicode="" + horiz-adv-x="512" d=" M428.8 310.4H342.623A115.52 115.52 0 0 1 344.799 332.8C344.799 380.714 309.727 416 252.799 416C207.485 416 195.797 367.463 177.092 337.216C169.357 324.803 160.098 313.899 151.241 303.963L151.11 303.817L150.981 303.6690000000001C135.662 286.193 127.764 280 120.8 280H118.121C112.374 284.952 104.585 288 96.001 288H32C14.327 288 0 275.106 0 259.2V28.8C0 12.894 14.327 0 32 0H96C104.584 0 112.373 3.048 118.12 8H120.799C149.487 8 187.936 -32 247.999 -32H269.298C331.8400000000001 -32 368.098 6.658 369.238 59.145C381.7200000000001 76.958 387.729 99.93 385.223 121.936A93.148 93.148 0 0 1 393.152 144H428.8C474.235 144 512 181.584 512 227.2C512 272.299 473.899 310.4 428.8 310.4zM428.8 192H337.774C350.611 177.331 352.189 149.175 332.824 130.95C344.051 111.304 334.511 85.326 319.899 77.325C326.423 38.197 309.823 16 269.299 16H248C202.509 16 170.79 51.913 128 55.676V232.429C153.239 235.393 170.966 253.651 187.075 272.025C198.35 284.675 208.8 297.3250000000001 217.874 311.9C232.355 335.288 244.006 368 252.8 368C276.175 368 296.8 359.2 296.8 332.8C296.8 297.6 270.4000000000001 279.725 270.4000000000001 262.4H428.8000000000001C447.2250000000001 262.4 464.0000000000001 245.9 464.0000000000001 227.2C464.0000000000001 208.225 447.7750000000001 192 428.8000000000001 192zM88 64C88 50.745 77.255 40 64 40S40 50.745 40 64S50.745 88 64 88S88 77.255 88 64z" /> + <glyph glyph-name="hand-point-up" + unicode="" + horiz-adv-x="448" d=" M105.6 364.8V278.623A115.52 115.52 0 0 1 83.2 280.799C35.286 280.799 0 245.727 0 188.799C0 143.485 48.537 131.797 78.784 113.092C91.197 105.357 102.101 96.098 112.037 87.241L112.183 87.11L112.331 86.981C129.807 71.662 136 63.764 136 56.8V54.121C131.048 48.374 128 40.585 128 32.001V-31.999C128 -49.672 140.894 -63.999 156.8 -63.999H387.2000000000001C403.1060000000001 -63.999 416.0000000000001 -49.672 416.0000000000001 -31.999V32.001C416.0000000000001 40.585 412.9520000000001 48.374 408.0000000000001 54.121V56.8C408.0000000000001 85.488 448.0000000000001 123.937 448.0000000000001 184V205.299C448.0000000000001 267.841 409.3420000000001 304.099 356.8550000000001 305.2390000000001C339.0420000000001 317.721 316.0700000000001 323.73 294.0640000000001 321.224A93.148 93.148 0 0 1 272 329.153V364.8C272 410.235 234.416 448 188.8 448C143.701 448 105.6 409.899 105.6 364.8zM224 364.8V273.774C238.669 286.611 266.825 288.189 285.05 268.824C304.6960000000001 280.0510000000001 330.6740000000001 270.511 338.675 255.899C377.803 262.423 400 245.823 400 205.299V184C400 138.509 364.087 106.79 360.324 64H183.571C180.607 89.239 162.349 106.966 143.975 123.075C131.325 134.35 118.675 144.8 104.1 153.874C80.712 168.355 48 180.006 48 188.8C48 212.175 56.8 232.8 83.2 232.8C118.4 232.8 136.275 206.4 153.6 206.4V364.8C153.6 383.225 170.1 400 188.8 400C207.775 400 224 383.775 224 364.8zM352 24C365.255 24 376 13.255 376 0S365.255 -24 352 -24S328 -13.255 328 0S338.745 24 352 24z" /> + <glyph glyph-name="hand-pointer" + unicode="" + horiz-adv-x="448" d=" M358.182 268.639C338.689 293.4070000000001 305.5030000000001 300.584 278.31 287.737C263.183 303.4240000000001 242.128 310.2240000000001 221.715 307.366V381C221.715 417.944 191.979 448 155.429 448S89.143 417.944 89.143 381V219.871C69.234 227.281 45.871 224.965 27.06 210.999C-2.295 189.204 -8.733 147.6660000000001 12.51 117.847L122.209 -36.154C134.632 -53.59 154.741 -64 176 -64H354.286C385.088 -64 411.86 -42.5 418.843 -12.203L446.272 106.7960000000001A67.873 67.873 0 0 1 448 122V206C448 252.844 401.375 285.273 358.182 268.639zM80.985 168.303L108.111 130.224C117.106 117.598 137.142 123.937 137.142 139.507V381C137.142 406.12 173.713 406.16 173.713 381V206C173.713 197.164 180.876 190 189.713 190H196.57C205.407 190 212.57 197.164 212.57 206V241C212.57 266.12 249.141 266.16 249.141 241V206C249.141 197.164 256.304 190 265.141 190H272C280.837 190 288 197.164 288 206V227C288 252.12 324.5710000000001 252.16 324.5710000000001 227V206C324.5710000000001 197.164 331.7340000000001 190 340.5710000000001 190H347.4280000000001C356.2650000000001 190 363.4280000000001 197.164 363.4280000000001 206C363.4280000000001 231.121 399.999 231.16 399.999 206V122C399.999 120.512 399.8300000000001 119.023 399.497 117.577L372.067 -1.424C370.089 -10.006 362.777 -16 354.2850000000001 -16H176C170.231 -16 164.737 -13.122 161.303 -8.303L51.591 145.697C37.185 165.92 66.585 188.515 80.985 168.303zM176.143 48V144C176.143 152.837 182.411 160 190.143 160H196.143C203.875 160 210.143 152.837 210.143 144V48C210.143 39.163 203.875 32 196.143 32H190.143C182.41 32 176.143 39.163 176.143 48zM251.571 48V144C251.571 152.837 257.839 160 265.5710000000001 160H271.5710000000001C279.3030000000001 160 285.5710000000001 152.837 285.5710000000001 144V48C285.5710000000001 39.163 279.3030000000001 32 271.5710000000001 32H265.5710000000001C257.839 32 251.5710000000001 39.163 251.5710000000001 48zM327 48V144C327 152.837 333.268 160 341 160H347C354.7320000000001 160 361 152.837 361 144V48C361 39.163 354.7320000000001 32 347 32H341C333.268 32 327 39.163 327 48z" /> + <glyph glyph-name="hand-rock" + unicode="" + horiz-adv-x="512" d=" M408.864 368.948C386.463 402.846 342.756 411.221 310.051 392.536C280.577 424.005 230.906 423.629 201.717 392.558C154.557 419.578 93.007 387.503 91.046 331.752C44.846 342.593 0 307.999 0 260.5710000000001V203.618C0 170.877 14.28 139.664 39.18 117.984L136.89 32.903C141.142 29.201 140 27.33 140 -1e-13C140 -17.6730000000001 154.327 -32.0000000000001 172 -32.0000000000001H424C441.673 -32.0000000000001 456 -17.6730000000001 456 -1e-13C456 23.5129999999999 454.985 30.745 459.982 42.37L502.817 142.026C508.911 156.203 512 171.198 512 186.5939999999999V301.0370000000001C512 353.876 457.686 389.699 408.8640000000001 368.948zM464 186.594A64.505 64.505 0 0 0 458.718 160.981L415.8830000000001 61.326C410.653 49.155 408.0000000000001 36.286 408.0000000000001 23.076V16H188V26.286C188 42.656 180.86 58.263 168.41 69.103L70.7 154.183C56.274 166.745 48 184.764 48 203.619V260.572C48 293.78 100 294.1090000000001 100 259.895V218.667A16 16 0 0 1 105.493 206.6L112.493 200.505A16 16 0 0 1 139 212.571V329.1430000000001C139 362.24 191 362.868 191 328.466V301.7150000000001C191 292.879 198.164 285.7150000000001 207 285.7150000000001H214C222.836 285.7150000000001 230 292.879 230 301.7150000000001V342.858C230 375.992 282 376.533 282 342.181V301.7150000000001C282 292.879 289.163 285.7150000000001 298 285.7150000000001H305C313.837 285.7150000000001 321 292.879 321 301.7150000000001V329.144C321 362.174 373 362.924 373 328.467V301.716C373 292.88 380.163 285.716 389 285.716H396C404.837 285.716 412 292.88 412 301.716C412 334.862 464 335.329 464 301.039V186.5940000000001z" /> + <glyph glyph-name="hand-scissors" + unicode="" + horiz-adv-x="512" d=" M256 -32L326 -31.987C331.114 -31.987 336.231 -31.404 341.203 -30.258L460.202 -2.831C490.56 4.165 512 30.98 512 61.723V267.425C512 291.27 498.97 313.376 477.995 325.115L379.996 379.968C345.587 399.2290000000001 312.733 385.7920000000001 287.778 355.235L142.85 410.992C104.963 425.5710000000001 62.238 407.265 47.208 369.791C32.11 332.149 50.843 289.421 89.15 274.679L168 256L74 265.141C33.196 265.141 0 232.33 0 192.001C0 151.671 33.196 118.86 74 118.86H161.635C157.96 92.615 170.327 67.563 191.976 53.8539999999999C178.657 11.263 211.044 -32 256 -32zM256 16.013C230.84 16.013 230.88 52.58 256 52.58C264.837 52.58 272 59.743 272 68.58V75.436C272 84.273 264.837 91.436 256 91.436H228C202.841 91.436 202.878 128.003 228 128.003H256C264.837 128.003 272 135.166 272 144.003V150.859C272 159.696 264.837 166.859 256 166.859H74C39.57 166.859 39.625 217.14 74 217.14H256C264.837 217.14 272 224.303 272 233.14V244.772A16 16 0 0 1 261.746 259.705L106.389 319.49C74.837 331.63 92.957 378.773 125.611 366.207L292.16 302.116A16.001 16.001 0 0 1 310.299 306.928L332.063 333.5750000000001C337.883 340.702 348.411 342.639 356.551 338.0830000000001L454.551 283.2290000000001C460.379 279.966 464 273.911 464 267.424V61.723C464 53.232 458.006 45.919 449.424 43.941L330.423 16.514A19.743 19.743 0 0 0 326 16.012H256z" /> + <glyph glyph-name="hand-spock" + unicode="" + horiz-adv-x="512" d=" M21.096 66.21L150.188 -55.303A32 32 0 0 1 172.12 -64.001H409.7200000000001C423.8900000000001 -64.001 436.3730000000001 -54.682 440.4000000000001 -41.097L472.215 66.216A115.955 115.955 0 0 1 477 99.189V136.028C477 140.079 477.476 144.132 478.414 148.073L510.144 281.4830000000001C520.243 323.8950000000001 487.828 364.221 444.6 364.0080000000001C440.456 388.8640000000001 422.057 411.1730000000001 394.75 418.0000000000001C358.947 426.9520000000001 322.523 405.3450000000001 313.5 369.25L296.599 264L274.924 395.99C266.638 432.06 230.621 454.562 194.62 446.286C165.004 439.4820000000001 144.482 413.897 142.738 384.991C100.101 384.16 69.283 344.428 78.667 303.147L109.707 166.639C82.513 189.154 42.423 186.631 18.225 160.917C-7.151 133.956 -5.873 91.592 21.096 66.21zM53.164 128.021L53.166 128.0219999999999C60.385 135.694 72.407 136.002 80.022 128.8349999999999L133.034 78.9409999999999C143.225 69.351 160 76.6 160 90.594V160.073C160 161.266 159.866 162.456 159.603 163.619L125.473 313.791C119.877 338.408 156.975 346.651 162.527 322.212L192.926 188.4549999999999A16 16 0 0 1 208.529 176.0009999999999H217.1330000000001C227.4090000000001 176.0009999999999 235.0270000000001 185.5679999999999 232.7270000000001 195.5839999999999L191.107 376.7369999999999C185.484 401.2059999999999 222.497 409.813 228.142 385.2449999999999L273.362 188.4169999999999A16 16 0 0 1 288.956 176H302.173A16 16 0 0 1 317.695 188.119L360.067 357.6090000000001C366.171 382.0310000000001 403.029 372.7680000000001 396.932 348.3920000000001L358.805 195.88C356.284 185.792 363.92 176 374.327 176H384.021A16 16 0 0 1 399.586 188.295L426.509 301.4C432.3300000000001 325.848 469.306 317.087 463.475 292.598L431.7200000000001 159.19A100.094 100.094 0 0 1 429 136.028V99.189C429 92.641 428.057 86.138 426.195 79.8610000000001L397.775 -16H178.465L53.978 101.164C46.349 108.344 45.984 120.393 53.164 128.021z" /> + <glyph glyph-name="handshake" + unicode="" + horiz-adv-x="640" d=" M519.2 320.1L471.6 367.7A56.252 56.252 0 0 1 432 384H205.2C190.4 384 176.1 378.1 165.6 367.7L118 320.1H0V64.4H64C81.6 64.4 95.8 78.6 95.9 96.1H105L189.6 19.6999999999999C220.5 -5.4000000000001 263.4 -6.0000000000001 295.2 15.8999999999999C307.7 5.0999999999999 321.2 -1e-13 336.3 -1e-13C354.5 -1e-13 371.6 7.3999999999999 385.1 23.9999999999999C407.2000000000001 15.3 433.3 21.3999999999999 449.1 40.8L475.3 73.1C480.9 79.9999999999999 484.4 87.9 486.2 96.1H544.1C544.2 78.6 558.5 64.4 576 64.4H640V320.1H519.2zM48 96.4C39.2 96.4 32 103.6 32 112.4S39.2 128.4 48 128.4S64 121.2 64 112.4C64 103.5 56.8 96.4 48 96.4zM438 103.3L411.9 71.1C409.1 67.7 404.1 67.1 400.6 69.9L376.7 89.3L346.7 52.8C340.7 45.4999999999999 331.7 47.9999999999999 328.7 50.4L291.9 81.9L276.3 62.7C262.4 45.6 237.1 43 221 56.1L123.7 144.1H96V272.2H137.9L199.6 333.8C201.6 334.6 203.3 335.3 205.3 336.1H262L223.3 300.6C193.9 273.7 192.2 228.3 218.9 199.3C233.7 183.1 280.1 158.1 320.4 194.9L328.6 202.4L436.8 114.6C440.2 111.8 440.7 106.7 438 103.3zM544 144.1H474.8C472.5 146.9 469.9 149.5 467.1 151.8L364.4000000000001 235.2L376.9000000000001 246.6C383.4000000000001 252.6 383.9000000000001 262.7 377.9000000000001 269.2L367 280.9C361 287.4 350.9 287.8 344.4 281.9L289.2 231.3C279.7 222.6 263.5 221.9 254.6 231.3C245.3 241.2 246.1 256.4 255.8 265.2000000000001L321.4 325.3C328.8 332.1 338.4 335.8 348.4 335.8L432.1 336C434.2 336 436.2 335.2000000000001 437.6 333.7000000000001L499.3 272.1H544V144.1zM592 96.4C583.2 96.4 576 103.6 576 112.4S583.2 128.4 592 128.4S608 121.2 608 112.4C608 103.5 600.8 96.4 592 96.4z" /> + <glyph glyph-name="hdd" + unicode="" + horiz-adv-x="576" d=" M567.403 212.358L462.323 363.411A48 48 0 0 1 422.919 384H153.081A48 48 0 0 1 113.677 363.411L8.597 212.358A48.001 48.001 0 0 1 0 184.946V48C0 21.49 21.49 0 48 0H528C554.51 0 576 21.49 576 48V184.946C576 194.747 573 204.312 567.403 212.358zM153.081 336H422.919L500.832 224H75.168L153.081 336zM528 48H48V176H528V48zM496 112C496 94.327 481.673 80 464 80S432 94.327 432 112S446.327 144 464 144S496 129.673 496 112zM400 112C400 94.327 385.673 80 368 80S336 94.327 336 112S350.327 144 368 144S400 129.673 400 112z" /> + <glyph glyph-name="heart" + unicode="" + horiz-adv-x="512" d=" M458.4 383.7C400.6 432.3 311.3 425 256 368.7C200.7 425 111.4 432.4 53.6 383.7C-21.6 320.4 -10.6 217.2 43 162.5L218.4 -16.2C228.4 -26.4 241.8 -32.1 256 -32.1C270.3 -32.1 283.6 -26.4999999999999 293.6 -16.3L469 162.4C522.5 217.1 533.7 320.3 458.4 383.7zM434.8 196.2L259.4 17.5C257 15.1 255 15.1 252.6 17.5L77.2 196.2C40.7 233.4 33.3 303.8 84.5 346.9C123.4 379.6 183.4 374.7 221 336.4L256 300.7L291 336.4C328.8 374.9 388.8 379.6 427.5 347C478.6 303.9 471 233.1 434.8 196.2z" /> + <glyph glyph-name="hospital" + unicode="" + horiz-adv-x="448" d=" M128 204V244C128 250.627 133.373 256 140 256H180C186.627 256 192 250.627 192 244V204C192 197.373 186.627 192 180 192H140C133.373 192 128 197.373 128 204zM268 192H308C314.627 192 320 197.373 320 204V244C320 250.627 314.627 256 308 256H268C261.373 256 256 250.627 256 244V204C256 197.373 261.373 192 268 192zM192 108V148C192 154.627 186.627 160 180 160H140C133.373 160 128 154.627 128 148V108C128 101.373 133.373 96 140 96H180C186.627 96 192 101.373 192 108zM268 96H308C314.627 96 320 101.373 320 108V148C320 154.627 314.627 160 308 160H268C261.373 160 256 154.627 256 148V108C256 101.373 261.373 96 268 96zM448 -28V-64H0V-28C0 -21.373 5.373 -16 12 -16H31.5V362.9650000000001C31.5 374.582 42.245 384 55.5 384H144V424C144 437.255 154.745 448 168 448H280C293.255 448 304 437.255 304 424V384H392.5C405.755 384 416.5 374.582 416.5 362.9650000000001V-16H436C442.627 -16 448 -21.373 448 -28zM79.5 -15H192V52C192 58.627 197.373 64 204 64H244C250.627 64 256 58.627 256 52V-15H368.5V336H304V312C304 298.745 293.255 288 280 288H168C154.745 288 144 298.745 144 312V336H79.5V-15zM266 384H240V410A6 6 0 0 1 234 416H214A6 6 0 0 1 208 410V384H182A6 6 0 0 1 176 378V358A6 6 0 0 1 182 352H208V326A6 6 0 0 1 214 320H234A6 6 0 0 1 240 326V352H266A6 6 0 0 1 272 358V378A6 6 0 0 1 266 384z" /> + <glyph glyph-name="hourglass" + unicode="" + horiz-adv-x="384" d=" M368 400H372C378.627 400 384 405.373 384 412V436C384 442.627 378.627 448 372 448H12C5.373 448 0 442.627 0 436V412C0 405.373 5.373 400 12 400H16C16 319.4360000000001 48.188 234.193 113.18 192C47.899 149.619 16 64.1 16 -16H12C5.373 -16 0 -21.373 0 -28V-52C0 -58.627 5.373 -64 12 -64H372C378.627 -64 384 -58.627 384 -52V-28C384 -21.373 378.627 -16 372 -16H368C368 64.564 335.812 149.807 270.82 192C336.102 234.381 368 319.9 368 400zM64 400H320C320 298.38 262.693 216 192 216S64 298.379 64 400zM320 -16H64C64 85.62 121.308 168 192 168S320 85.62 320 -16z" /> + <glyph glyph-name="id-badge" + unicode="" + horiz-adv-x="384" d=" M336 448H48C21.5 448 0 426.5 0 400V-16C0 -42.5 21.5 -64 48 -64H336C362.5 -64 384 -42.5 384 -16V400C384 426.5 362.5 448 336 448zM336 -16H48V400H336V-16zM144 336H240C248.8 336 256 343.2 256 352S248.8 368 240 368H144C135.2 368 128 360.8 128 352S135.2 336 144 336zM192 160C227.3 160 256 188.7 256 224S227.3 288 192 288S128 259.3 128 224S156.7 160 192 160zM102.4 32H281.6C294 32 304 40.6 304 51.2V70.4C304 102.2 273.9 128 236.8 128C226 128 218.1 120 192 120C165.1 120 158.6 128 147.2 128C110.1 128 80 102.2 80 70.4V51.2C80 40.6 90 32 102.4 32z" /> + <glyph glyph-name="id-card" + unicode="" + horiz-adv-x="576" d=" M528 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H528C554.5 -32 576 -10.5 576 16V368C576 394.5 554.5 416 528 416zM528 16H303.2C304.1 20.5 304 12.4 304 38.4C304 70.2 273.9 96 236.8 96C226 96 218.1 88 192 88C165.1 88 158.6 96 147.2 96C110.1 96 80 70.2 80 38.4C80 12.4 79.8 20.5 80.8 16H48V304H528V16zM360 96H472C476.4 96 480 99.6 480 104V120C480 124.4 476.4 128 472 128H360C355.6 128 352 124.4 352 120V104C352 99.6 355.6 96 360 96zM360 160H472C476.4 160 480 163.6 480 168V184C480 188.4 476.4 192 472 192H360C355.6 192 352 188.4 352 184V168C352 163.6 355.6 160 360 160zM360 224H472C476.4 224 480 227.6 480 232V248C480 252.4 476.4 256 472 256H360C355.6 256 352 252.4 352 248V232C352 227.6 355.6 224 360 224zM192 128C227.3 128 256 156.7 256 192S227.3 256 192 256S128 227.3 128 192S156.7 128 192 128z" /> + <glyph glyph-name="image" + unicode="" + horiz-adv-x="512" d=" M464 384H48C21.49 384 0 362.51 0 336V48C0 21.49 21.49 0 48 0H464C490.51 0 512 21.49 512 48V336C512 362.51 490.51 384 464 384zM458 48H54A6 6 0 0 0 48 54V330A6 6 0 0 0 54 336H458A6 6 0 0 0 464 330V54A6 6 0 0 0 458 48zM128 296C105.909 296 88 278.091 88 256S105.909 216 128 216S168 233.909 168 256S150.091 296 128 296zM96 96H416V176L328.485 263.515C323.7990000000001 268.201 316.201 268.201 311.514 263.515L192 144L152.485 183.515C147.799 188.201 140.201 188.201 135.514 183.515L96 144V96z" /> + <glyph glyph-name="images" + unicode="" + horiz-adv-x="576" d=" M480 32V16C480 -10.51 458.51 -32 432 -32H48C21.49 -32 0 -10.51 0 16V272C0 298.51 21.49 320 48 320H64V272H54A6 6 0 0 1 48 266V22A6 6 0 0 1 54 16H426A6 6 0 0 1 432 22V32H480zM522 368H150A6 6 0 0 1 144 362V118A6 6 0 0 1 150 112H522A6 6 0 0 1 528 118V362A6 6 0 0 1 522 368zM528 416C554.51 416 576 394.51 576 368V112C576 85.49 554.51 64 528 64H144C117.49 64 96 85.49 96 112V368C96 394.51 117.49 416 144 416H528zM264 304C264 281.909 246.091 264 224 264S184 281.909 184 304S201.909 344 224 344S264 326.091 264 304zM192 208L231.515 247.515C236.201 252.201 243.799 252.201 248.486 247.515L288 208L391.515 311.515C396.201 316.201 403.799 316.201 408.486 311.515L480 240V160H192V208z" /> + <glyph glyph-name="keyboard" + unicode="" + horiz-adv-x="576" d=" M528 384H48C21.49 384 0 362.51 0 336V48C0 21.49 21.49 0 48 0H528C554.51 0 576 21.49 576 48V336C576 362.51 554.51 384 528 384zM536 48C536 43.589 532.411 40 528 40H48C43.589 40 40 43.589 40 48V336C40 340.411 43.589 344 48 344H528C532.411 344 536 340.411 536 336V48zM170 178V206C170 212.627 164.627 218 158 218H130C123.373 218 118 212.627 118 206V178C118 171.373 123.373 166 130 166H158C164.627 166 170 171.373 170 178zM266 178V206C266 212.627 260.627 218 254 218H226C219.373 218 214 212.627 214 206V178C214 171.373 219.373 166 226 166H254C260.627 166 266 171.373 266 178zM362 178V206C362 212.627 356.627 218 350 218H322C315.373 218 310 212.627 310 206V178C310 171.373 315.373 166 322 166H350C356.627 166 362 171.373 362 178zM458 178V206C458 212.627 452.627 218 446 218H418C411.373 218 406 212.627 406 206V178C406 171.373 411.373 166 418 166H446C452.627 166 458 171.373 458 178zM122 96V124C122 130.627 116.627 136 110 136H82C75.373 136 70 130.627 70 124V96C70 89.373 75.373 84 82 84H110C116.627 84 122 89.373 122 96zM506 96V124C506 130.627 500.627 136 494 136H466C459.373 136 454 130.627 454 124V96C454 89.373 459.373 84 466 84H494C500.627 84 506 89.373 506 96zM122 260V288C122 294.627 116.627 300 110 300H82C75.373 300 70 294.627 70 288V260C70 253.373 75.373 248 82 248H110C116.627 248 122 253.373 122 260zM218 260V288C218 294.627 212.627 300 206 300H178C171.373 300 166 294.627 166 288V260C166 253.373 171.373 248 178 248H206C212.627 248 218 253.373 218 260zM314 260V288C314 294.627 308.627 300 302 300H274C267.373 300 262 294.627 262 288V260C262 253.373 267.373 248 274 248H302C308.627 248 314 253.373 314 260zM410 260V288C410 294.627 404.627 300 398 300H370C363.373 300 358 294.627 358 288V260C358 253.373 363.373 248 370 248H398C404.627 248 410 253.373 410 260zM506 260V288C506 294.627 500.627 300 494 300H466C459.373 300 454 294.627 454 288V260C454 253.373 459.373 248 466 248H494C500.627 248 506 253.373 506 260zM408 102V118C408 124.627 402.627 130 396 130H180C173.373 130 168 124.627 168 118V102C168 95.373 173.373 90 180 90H396C402.627 90 408 95.373 408 102z" /> + <glyph glyph-name="kiss-beam" + unicode="" + horiz-adv-x="496" d=" M168 296C144.2 296 115.3 266.7 112 224.6C111.7 220.9 114 217.4 117.6 216.3C121.1 215.3 125.1 216.8 126.9 220L136.4 237C144.1 250.7 155.6 258.6 167.9 258.6S191.7 250.7 199.4 237L208.9 220C211 216.3 215.1 215.3 218.2 216.3C221.8 217.4 224.1 220.8 223.8 224.6C220.7 266.7 191.8 296 168 296zM248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM304 140C304 159.2 275.2 181.5 232.5 184C228.7 184.4 225.1 181.6 224.3 177.8C223.4 174 225.4 170.1 229 168.6L245.9 161.4C258.9 155.9 266.7 147.9 266.7 139.9S258.9 123.9 246 118.4L229 111.2000000000001C223.3 108.8000000000001 223 99.0000000000001 229 96.4L245.9 89.2000000000001C258.9 83.7000000000001 266.7 75.7000000000001 266.7 67.7000000000001S258.9 51.7 246 46.2L229 39.0000000000001C225.4 37.5000000000001 223.4 33.6000000000001 224.3 29.8000000000001C225.1 26.2 228.4 23.6000000000001 232.1 23.6000000000001H232.6C275.4000000000001 26.1000000000001 304.1 48.4000000000001 304.1 67.6000000000001C304.1 80.6000000000001 290.7000000000001 94.9000000000001 268.9000000000001 103.6000000000001C290.6 112.7 304 127 304 140zM328 296C304.2 296 275.3 266.7 272 224.6C271.7 220.9 274 217.4 277.6 216.3C281.1 215.3 285.1 216.8 286.9000000000001 220L296.4000000000001 237C304.1 250.7 315.6 258.6 327.9000000000001 258.6S351.7000000000001 250.7 359.4000000000001 237L368.9000000000001 220C371.0000000000001 216.3 375.1 215.3 378.2000000000001 216.3C381.8000000000001 217.4 384.1 220.8 383.8000000000001 224.6C380.7000000000001 266.7 351.8000000000001 296 328.0000000000001 296z" /> + <glyph glyph-name="kiss-wink-heart" + unicode="" + horiz-adv-x="504" d=" M304 139.5C304 158.7 275.2 181 232.5 183.5C228.7 183.9 225.1 181.1 224.3 177.3C223.4 173.5 225.4 169.6 229 168.1L245.9 160.9C258.9 155.4 266.7 147.4 266.7 139.4S258.9 123.4 246 117.9L229 110.7000000000001C223.3 108.3000000000001 223 98.5000000000001 229 95.9L245.9 88.7000000000001C258.9 83.2000000000001 266.7 75.2000000000001 266.7 67.2000000000001S258.9 51.2 246 45.7L229 38.5000000000001C225.4 37.0000000000001 223.4 33.1000000000001 224.3 29.3000000000001C225.1 25.7 228.4 23.1000000000001 232.1 23.1000000000001H232.6C275.4000000000001 25.6000000000001 304.1 47.9000000000001 304.1 67.1000000000001C304.1 80.1000000000001 290.7000000000001 94.4000000000001 268.9000000000001 103.1000000000001C290.6 112.2000000000001 304.0000000000001 126.5000000000001 304.0000000000001 139.5000000000001zM374.5 223L384 214.5C387.8 211.2 393.3 210.5 397.7 212.9C402.1 215.3 404.6 220.3 403.8 225.3C399.8 250.5 369.6 267.4 344 267.4S288.1 250.5 284.2 225.3C283.4 220.3 285.9 215.3 290.3 212.9C296.1 209.8 301.5 212.2 304 214.5L313.5 223C328.3 236.2 359.7 236.2 374.5 223zM136 239.5C136 221.8 150.3 207.5 168 207.5S200 221.8 200 239.5S185.7 271.5 168 271.5S136 257.2 136 239.5zM501.1 45.5C493.1 66.3 469.6 77 448 71.4L439.6 69.2L437.3 77.6C431.4000000000001 98.9999999999999 410.3 114.1 388.3 110.6C363.1 106.6 347.7 81.9999999999999 354.3 57.9999999999999L377.2 -24.6C378.7 -29.9 384.2 -33.1 389.6 -31.7L472.6 -10.2C496.7 -3.9 510.3 21.6 501.1 45.4999999999999zM334 11.7C307.9 -0.8 278.8 -8 248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192C448 169.9 444.3 148.7 437.6 128.8C446.6 122.4 454.6 114.6 460.2 104.9C466.6 104.8 472.8000000000001 103.5000000000001 478.8000000000001 102.0000000000001C489.7 129.9 495.9000000000001 160.2000000000001 495.9000000000001 192.0000000000001C496 329 385 440 248 440S0 329 0 192S111 -56 248 -56C283.4 -56 316.9 -48.5 347.4 -35.1C344.9 -27.8 351.7 -52.3 334 11.7z" /> + <glyph glyph-name="kiss" + unicode="" + horiz-adv-x="496" d=" M168 272C150.3 272 136 257.7 136 240S150.3 208 168 208S200 222.3 200 240S185.7 272 168 272zM304 140C304 159.2 275.2 181.5 232.5 184C228.7 184.4 225.1 181.6 224.3 177.8C223.4 174 225.4 170.1 229 168.6L245.9 161.4C258.9 155.9 266.7 147.9 266.7 139.9S258.9 123.9 246 118.4L229 111.2000000000001C223.3 108.8000000000001 223 99.0000000000001 229 96.4L245.9 89.2000000000001C258.9 83.7000000000001 266.7 75.7000000000001 266.7 67.7000000000001S258.9 51.7 246 46.2L229 39.0000000000001C225.4 37.5000000000001 223.4 33.6000000000001 224.3 29.8000000000001C225.1 26.2 228.4 23.6000000000001 232.1 23.6000000000001H232.6C275.4000000000001 26.1000000000001 304.1 48.4000000000001 304.1 67.6000000000001C304.1 80.6000000000001 290.7000000000001 94.9000000000001 268.9000000000001 103.6000000000001C290.6 112.7 304 127 304 140zM248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM328 272C310.3 272 296 257.7 296 240S310.3 208 328 208S360 222.3 360 240S345.7 272 328 272z" /> + <glyph glyph-name="laugh-beam" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM389.4 50.6C351.6 12.8 301.4 -8 248 -8S144.4 12.8 106.6 50.6S48 138.6 48 192S68.8 295.6 106.6 333.4S194.6 392 248 392S351.6 371.2 389.4 333.4S448 245.4 448 192S427.2 88.4 389.4 50.6zM328 296C304.2 296 275.3 266.7 272 224.6C271.3 216 282.8 212.7 286.9 220.1L296.4 237.1C304.1 250.8 315.6 258.7 327.9 258.7S351.7 250.8 359.4 237.1L368.9 220.1C373 212.7 384.5 216.1 383.8 224.6C380.7 266.7 351.8 296 328 296zM127 220.1L136.5 237.1C144.2 250.8 155.7 258.7 168 258.7S191.8 250.8 199.5 237.1L209 220.1C213.1 212.7 224.6 216.1 223.9 224.6C220.6 266.7 191.7 296 167.9 296S115.2 266.7 111.9 224.6C111.3 216.1 122.8 212.7 127 220.1zM362.4 160H133.6C125.4 160 119.1 153 120.1 145C127.6 85.8 179 40 241.2 40H254.8C317 40 368.4 85.8 375.9 145C376.9 153 370.6 160 362.4 160z" /> + <glyph glyph-name="laugh-squint" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM389.4 50.6C351.6 12.8 301.4 -8 248 -8S144.4 12.8 106.6 50.6S48 138.6 48 192S68.8 295.6 106.6 333.4S194.6 392 248 392S351.6 371.2 389.4 333.4S448 245.4 448 192S427.2 88.4 389.4 50.6zM343.6 252L377.2000000000001 292.3C385.8000000000001 302.6 373.4000000000001 317.1 361.8000000000001 310.3L281.8000000000001 262.3C274.0000000000001 257.6 274.0000000000001 246.4 281.8000000000001 241.7L361.8000000000001 193.7C373.3000000000001 186.9 385.8000000000001 201.3 377.2000000000001 211.7L343.6 252zM134.2 193.7L214.2 241.7C222 246.4 222 257.6 214.2 262.3L134.2 310.3C122.6 317.2 110.2 302.6 118.8 292.3L152.4 252L118.8 211.7C110.1 201.3 122.6 186.9 134.2 193.7zM362.4 160H133.6C125.4 160 119.1 153 120.1 145C127.6 85.8 179 40 241.2 40H254.8C317 40 368.4 85.8 375.9 145C376.9 153 370.6 160 362.4 160z" /> + <glyph glyph-name="laugh-wink" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM389.4 50.6C351.6 12.8 301.4 -8 248 -8S144.4 12.8 106.6 50.6C68.8 88.4 48 138.6 48 192S68.8 295.6 106.6 333.4C144.4 371.2 194.6 392 248 392S351.6 371.2 389.4 333.4C427.2 295.6 448 245.4 448 192S427.2 88.4 389.4 50.6zM328 284C302.3 284 272.1 267.1 268.1 241.9C266.4000000000001 230.7 279.6 223.7 287.9000000000001 231.1L297.4000000000001 239.6C312.2000000000001 252.8 343.6 252.8 358.4000000000001 239.6L367.9000000000001 231.1C376.4000000000001 223.7 389.5000000000001 230.8 387.7000000000001 241.9C383.9000000000001 267.1 353.7000000000001 284 328.0000000000001 284zM168 224C185.7 224 200 238.3 200 256S185.7 288 168 288S136 273.7 136 256S150.3 224 168 224zM362.4 160H133.6C125.4 160 119.1 153 120.1 145C127.6 85.8 179 40 241.2 40H254.8C317 40 368.4 85.8 375.9 145C376.9 153 370.6 160 362.4 160z" /> + <glyph glyph-name="laugh" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM389.4 50.6C351.6 12.8 301.4 -8 248 -8S144.4 12.8 106.6 50.6S48 138.6 48 192S68.8 295.6 106.6 333.4S194.6 392 248 392S351.6 371.2 389.4 333.4S448 245.4 448 192S427.2 88.4 389.4 50.6zM328 224C345.7 224 360 238.3 360 256S345.7 288 328 288S296 273.7 296 256S310.3 224 328 224zM168 224C185.7 224 200 238.3 200 256S185.7 288 168 288S136 273.7 136 256S150.3 224 168 224zM362.4 160H133.6C125.4 160 119.1 153 120.1 145C127.6 85.8 179 40 241.2 40H254.8C317 40 368.4 85.8 375.9 145C376.9 153 370.6 160 362.4 160z" /> + <glyph glyph-name="lemon" + unicode="" + horiz-adv-x="512" d=" M484.112 420.111C455.989 448.233 416.108 456.057 387.0590000000001 439.135C347.604 416.152 223.504 489.111 91.196 356.803C-41.277 224.328 31.923 100.528 8.866 60.942C-8.056 31.891 -0.234 -7.99 27.888 -36.112C56.023 -64.247 95.899 -72.0499999999999 124.945 -55.133C164.368 -32.163 288.502 -105.102 420.803 27.196C553.277 159.673 480.076 283.473 503.134 323.057C520.056 352.1070000000001 512.234 391.988 484.112 420.111zM461.707 347.217C422.907 280.608 507.307 181.582 386.862 61.137C266.422 -59.306 167.387 25.089 100.786 -13.706C78.1069999999999 -26.913 36.751 13.535 50.2929999999999 36.782C89.0929999999999 103.391 4.6929999999999 202.417 125.138 322.862C245.573 443.298 344.616 358.914 411.219 397.708C433.949 410.948 475.224 370.42 461.707 347.217zM291.846 338.481C293.216 327.521 285.442 317.524 274.481 316.154C219.635 309.299 138.702 228.367 131.846 173.519C130.473 162.53 120.447 154.785 109.52 156.154C98.559 157.524 90.785 167.52 92.155 178.48C101.317 251.766 196.322 346.6950000000001 269.5200000000001 355.8450000000001C280.473 357.213 290.4760000000001 349.442 291.8460000000001 338.481z" /> + <glyph glyph-name="life-ring" + unicode="" + horiz-adv-x="512" d=" M256 -56C392.967 -56 504 55.033 504 192S392.967 440 256 440S8 328.967 8 192S119.033 -56 256 -56zM152.602 20.72L206.013 74.131C237.819 60.625 274.141 60.609 305.987 74.131L359.398 20.72C296.1810000000001 -17.599 215.819 -17.599 152.602 20.72zM336 192C336 147.888 300.112 112 256 112S176 147.888 176 192S211.888 272 256 272S336 236.112 336 192zM427.28 88.602L373.869 142.013C387.374 173.819 387.391 210.141 373.869 241.987L427.28 295.398C465.599 232.181 465.599 151.819 427.28 88.602zM359.397 363.28L305.986 309.8690000000001C274.18 323.374 237.858 323.391 206.013 309.8690000000001L152.602 363.28C215.819 401.599 296.1810000000001 401.599 359.397 363.28zM84.72 295.398L138.131 241.987C124.625 210.181 124.609 173.859 138.131 142.013L84.72 88.602C46.401 151.819 46.401 232.181 84.72 295.398z" /> + <glyph glyph-name="lightbulb" + unicode="" + horiz-adv-x="352" d=" M176 368C123.06 368 80 324.94 80 272C80 263.16 87.16 256 96 256S112 263.16 112 272C112 307.3 140.72 336 176 336C184.84 336 192 343.16 192 352S184.84 368 176 368zM96.06 -11.17C96.06 -14.32 96.99 -17.39 98.74 -20.01L123.25 -56.85C126.22 -61.31 131.22 -63.99 136.57 -63.99H215.42C220.78 -63.99 225.7800000000001 -61.31 228.74 -56.85L253.25 -20.01C254.99 -17.39 255.92 -14.31 255.93 -11.17L255.98 32.01H96.02L96.06 -11.17zM176 448C73.72 448 0 365.03 0 272C0 227.63 16.45 187.15 43.56 156.22C60.2 137.23 86.3 97.42 95.98 64.0600000000001V64.0000000000001H143.98V64.1200000000001C143.97 68.89 143.26 73.6300000000001 141.83 78.1900000000001C136.24 96.0000000000001 119.01 142.96 79.66 187.8600000000001C59.12 211.2900000000001 48.14 241.0100000000001 48.05 272.0000000000001C47.85 345.6400000000001 107.72 400.0000000000001 176 400.0000000000001C246.58 400.0000000000001 304 342.5800000000001 304 272.0000000000001C304 241.0300000000001 292.76 211.1500000000001 272.35 187.8600000000001C233.24 143.2500000000001 215.93 96.3900000000001 210.25 78.4000000000001A47.507 47.507 0 0 1 208.03 64.1000000000001V64.0000000000001H256.0300000000001V64.0500000000001C265.7100000000001 97.4200000000001 291.8100000000001 137.2300000000001 308.4500000000001 156.21C335.55 187.15 352 227.63 352 272C352 369.2 273.2 448 176 448z" /> + <glyph glyph-name="list-alt" + unicode="" + horiz-adv-x="512" d=" M464 416H48C21.49 416 0 394.51 0 368V16C0 -10.51 21.49 -32 48 -32H464C490.51 -32 512 -10.51 512 16V368C512 394.51 490.51 416 464 416zM458 16H54A6 6 0 0 0 48 22V362A6 6 0 0 0 54 368H458A6 6 0 0 0 464 362V22A6 6 0 0 0 458 16zM416 108V84C416 77.373 410.627 72 404 72H204C197.373 72 192 77.373 192 84V108C192 114.627 197.373 120 204 120H404C410.627 120 416 114.627 416 108zM416 204V180C416 173.373 410.627 168 404 168H204C197.373 168 192 173.373 192 180V204C192 210.627 197.373 216 204 216H404C410.627 216 416 210.627 416 204zM416 300V276C416 269.373 410.627 264 404 264H204C197.373 264 192 269.373 192 276V300C192 306.627 197.373 312 204 312H404C410.627 312 416 306.627 416 300zM164 288C164 268.118 147.882 252 128 252S92 268.118 92 288S108.118 324 128 324S164 307.882 164 288zM164 192C164 172.118 147.882 156 128 156S92 172.118 92 192S108.118 228 128 228S164 211.882 164 192zM164 96C164 76.118 147.882 60 128 60S92 76.118 92 96S108.118 132 128 132S164 115.882 164 96z" /> + <glyph glyph-name="map" + unicode="" + horiz-adv-x="576" d=" M560.02 416C558.06 416 556.04 415.63 554.06 414.8400000000001L384.01 352H384L212 412.7200000000001A64.252 64.252 0 0 1 191.76 416C185.07 416 178.39 414.95 171.95 412.86L20.12 360.05A32.006 32.006 0 0 1 0 330.3400000000001V-15.98C0 -25.17 7.53 -32 15.99 -32C17.95 -32 19.96 -31.63 21.95 -30.84L192 32L364 -28.71A63.97999999999999 63.97999999999999 0 0 1 404.05 -28.86L555.88 23.95A31.996 31.996 0 0 1 576 53.66V399.98C576 409.17 568.47 416 560.02 416zM224 357.58L352 312.39V26.42L224 71.61V357.58zM48 29.95V318.93L176 363.4600000000001V77.26L175.36 77.03L48 29.95zM528 65.08L400 20.55V306.74L400.64 306.98L528 354.05V65.08z" /> + <glyph glyph-name="meh-blank" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM168 272C150.3 272 136 257.7 136 240S150.3 208 168 208S200 222.3 200 240S185.7 272 168 272zM328 272C310.3 272 296 257.7 296 240S310.3 208 328 208S360 222.3 360 240S345.7 272 328 272z" /> + <glyph glyph-name="meh-rolling-eyes" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM336 296C296.2 296 264 263.8 264 224S296.2 152 336 152S408 184.2 408 224S375.8 296 336 296zM336 184C313.9 184 296 201.9 296 224C296 237.6 303.3 249.1 313.7 256.3C312.7 253.7 312 251 312 248C312 234.7 322.7 224 336 224S360 234.7 360 248C360 250.9 359.3 253.7 358.3 256.3C368.7 249.1 376 237.6 376 224C376 201.9 358.1 184 336 184zM232 224C232 263.8 199.8 296 160 296S88 263.8 88 224S120.2 152 160 152S232 184.2 232 224zM120 224C120 237.6 127.3 249.1 137.7 256.3C136.7 253.7 136 251 136 248C136 234.7 146.7 224 160 224S184 234.7 184 248C184 250.9 183.3 253.7 182.3 256.3C192.7 249.1 200 237.6 200 224C200 201.9 182.1 184 160 184S120 201.9 120 224zM312 96H184C170.8 96 160 85.2 160 72S170.8 48 184 48H312C325.2 48 336 58.8 336 72S325.2 96 312 96z" /> + <glyph glyph-name="meh" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM168 208C185.7 208 200 222.3 200 240S185.7 272 168 272S136 257.7 136 240S150.3 208 168 208zM328 272C310.3 272 296 257.7 296 240S310.3 208 328 208S360 222.3 360 240S345.7 272 328 272zM336 128H160C146.8 128 136 117.2 136 104S146.8 80 160 80H336C349.2 80 360 90.8 360 104S349.2 128 336 128z" /> + <glyph glyph-name="minus-square" + unicode="" + horiz-adv-x="448" d=" M108 164C101.4 164 96 169.4 96 176V208C96 214.6 101.4 220 108 220H340C346.6 220 352 214.6 352 208V176C352 169.4 346.6 164 340 164H108zM448 368V16C448 -10.5 426.5 -32 400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368zM400 22V362C400 365.3 397.3 368 394 368H54C50.7 368 48 365.3 48 362V22C48 18.7 50.7 16 54 16H394C397.3 16 400 18.7 400 22z" /> + <glyph glyph-name="money-bill-alt" + unicode="" + horiz-adv-x="640" d=" M320 304C266.98 304 224 253.86 224 192C224 130.15 266.98 80 320 80C373 80 416 130.13 416 192C416 253.86 373.02 304 320 304zM360 136C360 131.58 356.42 128 352 128H288C283.58 128 280 131.58 280 136V152C280 156.42 283.58 160 288 160H304V215.44L303.53 215.13A7.991999999999999 7.991999999999999 0 0 0 292.44 217.35L283.56 230.66A7.991999999999999 7.991999999999999 0 0 0 285.7800000000001 241.75L301.11 251.97A23.99 23.99 0 0 0 314.42 256H328C332.42 256 336 252.42 336 248V160H352C356.42 160 360 156.42 360 152V136zM608 384H32C14.33 384 0 369.67 0 352V32C0 14.33 14.33 0 32 0H608C625.67 0 640 14.33 640 32V352C640 369.67 625.67 384 608 384zM592 112C556.65 112 528 83.35 528 48H112C112 83.35 83.35 112 48 112V272C83.35 272 112 300.65 112 336H528C528 300.65 556.65 272 592 272V112z" /> + <glyph glyph-name="moon" + unicode="" + horiz-adv-x="512" d=" M279.135 -64C357.891 -64 430.117 -28.196 477.979 30.775C506.249 65.606 475.421 116.497 431.73 108.176C349.382 92.493 273.458 155.444 273.458 238.968C273.458 287.392 299.518 331.26 340.892 354.804C379.637 376.854 369.891 435.592 325.87 443.723A257.936 257.936 0 0 1 279.135 448C137.775 448 23.135 333.425 23.135 192C23.135 50.64 137.711 -64 279.135 -64zM279.135 400C292.12 400 304.824 398.799 317.151 396.522C262.391 365.359 225.4580000000001 306.48 225.4580000000001 238.968C225.4580000000001 125.12 329.0990000000001 39.768 440.7100000000001 61.024C402.574 14.036 344.366 -16 279.135 -16C164.26 -16 71.135 77.125 71.135 192S164.26 400 279.135 400z" /> + <glyph glyph-name="newspaper" + unicode="" + horiz-adv-x="576" d=" M552 384H112C91.142 384 73.357 370.623 66.752 352H24C10.745 352 0 341.255 0 328V56C0 25.072 25.072 0 56 0H552C565.255 0 576 10.745 576 24V360C576 373.255 565.255 384 552 384zM48 56V304H64V56C64 51.589 60.411 48 56 48S48 51.589 48 56zM528 48H111.422C111.796 50.614 112 53.283 112 56V336H528V48zM172 168H308C314.627 168 320 173.373 320 180V276C320 282.627 314.627 288 308 288H172C165.373 288 160 282.627 160 276V180C160 173.373 165.373 168 172 168zM200 248H280V208H200V248zM160 108V132C160 138.627 165.373 144 172 144H308C314.627 144 320 138.627 320 132V108C320 101.373 314.627 96 308 96H172C165.373 96 160 101.373 160 108zM352 108V132C352 138.627 357.373 144 364 144H468C474.627 144 480 138.627 480 132V108C480 101.373 474.627 96 468 96H364C357.373 96 352 101.373 352 108zM352 252V276C352 282.627 357.373 288 364 288H468C474.627 288 480 282.627 480 276V252C480 245.373 474.627 240 468 240H364C357.373 240 352 245.373 352 252zM352 180V204C352 210.627 357.373 216 364 216H468C474.627 216 480 210.627 480 204V180C480 173.373 474.627 168 468 168H364C357.373 168 352 173.373 352 180z" /> + <glyph glyph-name="object-group" + unicode="" + horiz-adv-x="512" d=" M500 320C506.627 320 512 325.373 512 332V404C512 410.627 506.627 416 500 416H428C421.373 416 416 410.627 416 404V392H96V404C96 410.627 90.627 416 84 416H12C5.373 416 0 410.627 0 404V332C0 325.373 5.373 320 12 320H24V64H12C5.373 64 0 58.627 0 52V-20C0 -26.627 5.373 -32 12 -32H84C90.627 -32 96 -26.627 96 -20V-8H416V-20C416 -26.627 421.373 -32 428 -32H500C506.627 -32 512 -26.627 512 -20V52C512 58.627 506.627 64 500 64H488V320H500zM448 384H480V352H448V384zM32 384H64V352H32V384zM64 0H32V32H64V0zM480 0H448V32H480V0zM440 64H428C421.373 64 416 58.627 416 52V40H96V52C96 58.627 90.627 64 84 64H72V320H84C90.627 320 96 325.373 96 332V344H416V332C416 325.373 421.373 320 428 320H440V64zM404 256H320V308C320 314.628 314.627 320 308 320H108C101.373 320 96 314.628 96 308V140C96 133.372 101.373 128 108 128H192V76C192 69.372 197.373 64 204 64H404C410.627 64 416 69.372 416 76V244C416 250.628 410.627 256 404 256zM136 280H280V168H136V280zM376 104H232V128H308C314.627 128 320 133.372 320 140V216H376V104z" /> + <glyph glyph-name="object-ungroup" + unicode="" + horiz-adv-x="576" d=" M564 224C570.627 224 576 229.373 576 236V308C576 314.627 570.627 320 564 320H492C485.373 320 480 314.627 480 308V296H392V320H404C410.627 320 416 325.373 416 332V404C416 410.627 410.627 416 404 416H332C325.373 416 320 410.627 320 404V392H96V404C96 410.627 90.627 416 84 416H12C5.373 416 0 410.627 0 404V332C0 325.373 5.373 320 12 320H24V160H12C5.373 160 0 154.627 0 148V76C0 69.373 5.373 64 12 64H84C90.627 64 96 69.373 96 76V88H184V64H172C165.373 64 160 58.627 160 52V-20C160 -26.627 165.373 -32 172 -32H244C250.627 -32 256 -26.627 256 -20V-8H480V-20C480 -26.627 485.373 -32 492 -32H564C570.627 -32 576 -26.627 576 -20V52C576 58.627 570.627 64 564 64H552V224H564zM352 384H384V352H352V384zM352 128H384V96H352V128zM64 96H32V128H64V96zM64 352H32V384H64V352zM96 136V148C96 154.627 90.627 160 84 160H72V320H84C90.627 320 96 325.373 96 332V344H320V332C320 325.373 325.373 320 332 320H344V160H332C325.373 160 320 154.627 320 148V136H96zM224 0H192V32H224V0zM504 64H492C485.373 64 480 58.627 480 52V40H256V52C256 58.627 250.627 64 244 64H232V88H320V76C320 69.373 325.373 64 332 64H404C410.627 64 416 69.373 416 76V148C416 154.627 410.627 160 404 160H392V248H480V236C480 229.373 485.373 224 492 224H504V64zM544 0H512V32H544V0zM544 256H512V288H544V256z" /> + <glyph glyph-name="paper-plane" + unicode="" + horiz-adv-x="512" d=" M440 441.5L24 201.6C-10.4 181.7 -7.1 130.8 29.7 115.7L144 68.4V-16C144 -62.4 203.2 -81.5 230.6 -44.6L274.4 14.5L386.3 -31.7C392.2 -34.1 398.4 -35.3 404.6 -35.3C412.8 -35.3 420.9 -33.2 428.2 -29.1C441 -21.9 449.8 -9.1 452.1 5.4L511.4999999999999 392.6C517.5999999999999 432.7 474.6 461.4 440 441.5zM192 -16V48.6L228.6 33.5L192 -16zM404.6 12.7L250.8 76.2L391 278.5C401.7 294 381.5 312 367.3 299.7L155.8 115.4L48 160L464 400L404.6 12.7z" /> + <glyph glyph-name="pause-circle" + unicode="" + horiz-adv-x="512" d=" M256 440C119 440 8 329 8 192S119 -56 256 -56S504 55 504 192S393 440 256 440zM256 -8C145.5 -8 56 81.5 56 192S145.5 392 256 392S456 302.5 456 192S366.5 -8 256 -8zM352 272V112C352 103.2 344.8 96 336 96H288C279.2 96 272 103.2 272 112V272C272 280.8 279.2 288 288 288H336C344.8 288 352 280.8 352 272zM240 272V112C240 103.2 232.8 96 224 96H176C167.2 96 160 103.2 160 112V272C160 280.8 167.2 288 176 288H224C232.8 288 240 280.8 240 272z" /> + <glyph glyph-name="play-circle" + unicode="" + horiz-adv-x="512" d=" M371.7 210L195.7 317C179.9 325.8 160 314.5 160 296V88C160 69.6 179.8 58.2 195.7 67L371.7 168C388.1 177.1 388.1 200.8 371.7 210zM504 192C504 329 393 440 256 440S8 329 8 192S119 -56 256 -56S504 55 504 192zM56 192C56 302.5 145.5 392 256 392S456 302.5 456 192S366.5 -8 256 -8S56 81.5 56 192z" /> + <glyph glyph-name="plus-square" + unicode="" + horiz-adv-x="448" d=" M352 208V176C352 169.4 346.6 164 340 164H252V76C252 69.4 246.6 64 240 64H208C201.4 64 196 69.4 196 76V164H108C101.4 164 96 169.4 96 176V208C96 214.6 101.4 220 108 220H196V308C196 314.6 201.4 320 208 320H240C246.6 320 252 314.6 252 308V220H340C346.6 220 352 214.6 352 208zM448 368V16C448 -10.5 426.5 -32 400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368zM400 22V362C400 365.3 397.3 368 394 368H54C50.7 368 48 365.3 48 362V22C48 18.7 50.7 16 54 16H394C397.3 16 400 18.7 400 22z" /> + <glyph glyph-name="question-circle" + unicode="" + horiz-adv-x="512" d=" M256 440C119.043 440 8 328.9170000000001 8 192C8 55.003 119.043 -56 256 -56S504 55.003 504 192C504 328.9170000000001 392.957 440 256 440zM256 -8C145.468 -8 56 81.431 56 192C56 302.495 145.472 392 256 392C366.491 392 456 302.529 456 192C456 81.47 366.569 -8 256 -8zM363.2440000000001 247.2C363.2440000000001 180.148 290.8230000000001 179.116 290.8230000000001 154.337V148C290.8230000000001 141.373 285.4500000000001 136 278.8230000000001 136H233.1760000000001C226.5490000000001 136 221.1760000000001 141.373 221.1760000000001 148V156.659C221.1760000000001 192.404 248.2760000000001 206.693 268.7550000000001 218.175C286.3160000000001 228.02 297.0790000000001 234.716 297.0790000000001 247.754C297.0790000000001 265 275.0800000000001 276.447 257.2950000000001 276.447C234.1060000000001 276.447 223.4010000000001 265.4700000000001 208.3530000000001 246.478C204.2960000000001 241.358 196.8930000000001 240.407 191.6870000000001 244.354L163.8630000000001 265.452C158.7560000000001 269.324 157.6120000000001 276.5180000000001 161.2190000000001 281.815C184.846 316.509 214.94 336 261.794 336C310.865 336 363.244 297.6960000000001 363.244 247.2zM298 80C298 56.841 279.159 38 256 38S214 56.841 214 80S232.841 122 256 122S298 103.159 298 80z" /> + <glyph glyph-name="registered" + unicode="" + horiz-adv-x="512" d=" M256 440C119.033 440 8 328.967 8 192S119.033 -56 256 -56S504 55.033 504 192S392.967 440 256 440zM256 -8C145.468 -8 56 81.451 56 192C56 302.531 145.451 392 256 392C366.532 392 456 302.549 456 192C456 81.468 366.549 -8 256 -8zM366.442 73.791C313.396 170.075 316.192 165.259 313.171 169.876C337.438 183.755 352.653 211.439 352.653 243.052C352.653 295.555 322.406 328.304 251.1550000000001 328.304H172.488C165.8710000000001 328.304 160.488 322.921 160.488 316.304V68C160.488 61.383 165.8710000000001 56 172.488 56H211.0560000000001C217.673 56 223.0560000000001 61.383 223.0560000000001 68V151.663H255.0140000000001L302.5290000000001 62.36A11.98 11.98 0 0 1 313.1220000000001 56H355.9320000000001C365.0720000000001 56 370.8460000000001 65.799 366.4420000000001 73.791zM256.933 208.094H223.058V272.234H250.435C282.852 272.234 289.3640000000001 260.101 289.3640000000001 240.525C289.3630000000001 219.612 277.846 208.094 256.9330000000001 208.094z" /> + <glyph glyph-name="sad-cry" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM392 53.6V168C392 181.2 381.2 192 368 192S344 181.2 344 168V16.6C315.5 1 282.8 -8 248 -8S180.5 1 152 16.6V168C152 181.2 141.2 192 128 192S104 181.2 104 168V53.6C69.4 89.6 48 138.3 48 192C48 302.3 137.7 392 248 392S448 302.3 448 192C448 138.3 426.6 89.5 392 53.6zM205.8 213.5C210.2 215.9 212.7 220.9 211.9 225.9C207.9 251.1 177.7 268 152.1 268S96.2 251.1 92.3 225.9C91.5 220.9 94 215.9 98.4 213.5C102.8 211.1 108.3 211.7 112.1 215.1L121.6 223.6C136.4 236.8 167.8 236.8 182.6 223.6L192.1 215.1C194.6 212.8 200 210.3 205.8 213.5zM344 268C318.3 268 288.1 251.1 284.2 225.9C283.4 220.9 285.9 215.9 290.3 213.5C294.8 211.1 300.2 211.7 304 215.1L313.5 223.6C328.3 236.8 359.7 236.8 374.5 223.6L384 215.1C386.5 212.9 392 210.4 397.7 213.5C402.1 215.9 404.6 220.9 403.8 225.9C399.9000000000001 251.1 369.7 268 344 268zM248 176C217.1 176 192 147.3 192 112S217.1 48 248 48S304 76.7 304 112S278.9 176 248 176z" /> + <glyph glyph-name="sad-tear" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM256 144C242.8 144 232 133.2 232 120S242.8 96 256 96C279.8 96 302.3 85.5 317.6 67.2C325.7000000000001 57.4 340.8 55.3 351.4000000000001 64.1C361.6 72.6 363.0000000000001 87.7 354.5000000000001 97.9C330 127.2 294.1 144 256 144zM168 208C185.7 208 200 222.3 200 240S185.7 272 168 272S136 257.7 136 240S150.3 208 168 208zM328 272C310.3 272 296 257.7 296 240S310.3 208 328 208S360 222.3 360 240S345.7 272 328 272zM162.4 173.2C151 157.9 126 122.6 126 105.1C126 82.4 144.8 64 168 64S210 82.4 210 105.1C210 122.6 185 157.9 173.6 173.2000000000001C170.8 176.9 165.2 176.9 162.4 173.2000000000001z" /> + <glyph glyph-name="save" + unicode="" + horiz-adv-x="448" d=" M433.941 318.059L350.059 401.9410000000001A48 48 0 0 1 316.118 416H48C21.49 416 0 394.51 0 368V16C0 -10.51 21.49 -32 48 -32H400C426.51 -32 448 -10.51 448 16V284.118A48 48 0 0 1 433.941 318.059zM272 368V288H144V368H272zM394 16H54A6 6 0 0 0 48 22V362A6 6 0 0 0 54 368H96V264C96 250.745 106.745 240 120 240H296C309.255 240 320 250.745 320 264V364.118L398.243 285.875A6 6 0 0 0 400 281.632V22A6 6 0 0 0 394 16zM224 216C175.477 216 136 176.523 136 128S175.477 40 224 40S312 79.477 312 128S272.523 216 224 216zM224 88C201.944 88 184 105.944 184 128S201.944 168 224 168S264 150.056 264 128S246.056 88 224 88z" /> + <glyph glyph-name="share-square" + unicode="" + horiz-adv-x="576" d=" M561.938 289.94L417.94 433.908C387.926 463.922 336 442.903 336 399.968V342.77C293.55 340.89 251.97 336.2200000000001 215.24 324.7800000000001C180.07 313.8300000000001 152.17 297.2000000000001 132.33 275.36C108.22 248.8 96 215.4 96 176.06C96 114.363 129.178 63.605 180.87 31.3C218.416 7.792 266.118 43.951 251.89 87.04C236.375 134.159 234.734 157.963 336 165.8V112C336 69.007 387.968 48.087 417.94 78.06L561.938 222.06C580.688 240.8 580.688 271.2 561.938 289.94zM384 112V215.84C255.309 213.918 166.492 192.65 206.31 72C176.79 90.45 144 123.92 144 176.06C144 285.394 273.14 295.007 384 295.91V400L528 256L384 112zM408.74 27.507A82.658 82.658 0 0 1 429.714 36.81C437.69 41.762 448 35.984 448 26.596V-16C448 -42.51 426.51 -64 400 -64H48C21.49 -64 0 -42.51 0 -16V336C0 362.51 21.49 384 48 384H180C186.627 384 192 378.627 192 372V367.514C192 362.597 189.013 358.145 184.431 356.362C170.729 351.031 158.035 344.825 146.381 337.777A12.138 12.138 0 0 0 140.101 336H54A6 6 0 0 1 48 330V-10A6 6 0 0 1 54 -16H394A6 6 0 0 1 400 -10V15.966C400 21.336 403.579 26.025 408.74 27.507z" /> + <glyph glyph-name="smile-beam" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM332 135.4C311.2 110.4 280.5 96 248 96S184.8 110.3 164 135.4C155.5 145.6 140.4 146.9 130.2 138.5C120 130 118.7 114.9 127.1 104.7C157.1 68.7 201.2 48.1 248 48.1S338.9 68.7 368.9 104.7C377.4 114.9 376 130 365.8 138.5C355.6 146.9 340.5 145.6 332 135.4zM136.5 237C144.2 250.7 155.7 258.6 168 258.6S191.8 250.7 199.5 237L209 220C211.1 216.3 215.2 215.3 218.3 216.3C221.9 217.4 224.3 220.8 224 224.6C220.7 266.7000000000001 191.8 296 168 296S115.3 266.7000000000001 112 224.6C111.7 220.9 114.1 217.4 117.7 216.3C121.1 215.2 125.1 216.8 127 220L136.5 237zM328 296C304.2 296 275.3 266.7 272 224.6C271.7 220.9 274.1 217.4 277.7 216.3C281.2 215.2 285.1 216.8 287 220L296.5 237C304.2 250.7 315.7 258.6 328 258.6S351.8 250.7 359.5 237L369 220C371.1 216.3 375.2 215.3 378.3 216.3C381.9000000000001 217.4 384.3 220.8 384 224.6C380.7 266.7 351.8 296 328 296z" /> + <glyph glyph-name="smile-wink" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM365.8 138.4C355.6 146.9 340.5 145.5 332 135.3C311.2 110.3 280.5 95.9 248 95.9S184.8 110.2 164 135.3C155.5 145.5 140.3 146.8 130.2 138.4C120 129.9 118.7 114.8 127.1 104.6C157.1 68.6 201.2 47.9999999999999 248 47.9999999999999S338.9 68.6 368.9 104.6C377.4 114.8 376 129.9 365.8 138.4zM168 208C185.7 208 200 222.3 200 240S185.7 272 168 272S136 257.7 136 240S150.3 208 168 208zM328 268C302.3 268 272.1 251.1 268.1 225.9C266.4000000000001 214.7 279.6 207.7 287.9000000000001 215.1L297.4000000000001 223.6C312.2000000000001 236.8 343.6 236.8 358.4000000000001 223.6L367.9000000000001 215.1C376.4000000000001 207.7 389.5000000000001 214.8 387.7000000000001 225.9C383.9000000000001 251.1 353.7000000000001 268 328.0000000000001 268z" /> + <glyph glyph-name="smile" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM168 208C185.7 208 200 222.3 200 240S185.7 272 168 272S136 257.7 136 240S150.3 208 168 208zM328 208C345.7 208 360 222.3 360 240S345.7 272 328 272S296 257.7 296 240S310.3 208 328 208zM332 135.4C311.2 110.4 280.5 96 248 96S184.8 110.3 164 135.4C155.5 145.6 140.3 146.9 130.2 138.5C120 130 118.7 114.9 127.1 104.7C157.1 68.7 201.2 48.1 248 48.1S338.9 68.7 368.9 104.7C377.4 114.9 376 130 365.8 138.5C355.7 146.9 340.5 145.6 332 135.4z" /> + <glyph glyph-name="snowflake" + unicode="" + horiz-adv-x="448" d=" M438.237 92.073L371.663 130.613L431.111 140.94C436.957 142.315 441.72 146.123 444.569 151.07C447.0490000000001 155.377 448.075 160.548 447.093 165.721C444.983 176.836 434.4070000000001 183.76 423.4720000000001 181.188L338.0490000000001 150.073L255.914 192L338.05 233.926L423.473 202.811C434.409 200.239 444.985 207.163 447.094 218.278C449.205 229.393 442.048 240.487 431.113 243.059L371.665 253.386L438.238 291.926C447.778 297.449 450.853 310.018 445.105 320C439.357 329.982 426.965 333.596 417.425 328.074L350.851 289.534L371.656 346.3210000000001C374.902 357.103 368.898 368.863 358.243 372.589C347.589 376.314 336.3209999999999 370.592 333.075 359.81L317.2369999999999 270.075L244.8139999999999 228.149V312L314.3989999999999 370.621C322.0879999999999 378.831 321.3959999999999 391.4770000000001 312.8509999999999 398.866C304.3059999999999 406.257 291.1459999999999 405.589 283.4569999999999 397.38L244.8129999999999 350.92V428C244.8129999999999 439.046 235.4949999999999 448 223.9999999999999 448S203.1869999999999 439.046 203.1869999999999 428V350.92L164.5429999999999 397.38C156.8539999999999 405.5900000000001 143.6939999999999 406.256 135.1489999999999 398.866C126.6049999999999 391.477 125.9129999999999 378.831 133.6019999999999 370.621L203.187 312V228.147L130.764 270.073L114.926 359.809C111.679 370.591 100.411 376.313 89.757 372.588C79.101 368.863 73.098 357.102 76.344 346.32L97.149 289.533L30.576 328.073C21.036 333.596 8.643 329.981 2.896 319.999S0.223 297.448 9.763 291.925L76.337 253.385L16.888 243.057C5.953 240.485 -1.202 229.391 0.907 218.276C3.017 207.162 13.593 200.238 24.529 202.81L109.951 233.925L192.086 192L109.95 150.074L24.527 181.189C13.591 183.761 3.016 176.8370000000001 0.905 165.723C-1.204 154.61 5.951 143.514 16.886 140.942L76.335 130.614L9.761 92.074C0.223 86.551 -2.852 73.982 2.896 64S21.036 50.403 30.576 55.926L97.15 94.466L76.345 37.68C74.61 31.916 75.517 25.875 78.365 20.929C80.845 16.622 84.798 13.145 89.757 11.412C100.412 7.687 111.68 13.409 114.926 24.191L130.764 113.927L203.187 155.853V72L133.602 13.379C125.912 5.169 126.605 -7.476 135.149 -14.866C143.693 -22.254 156.854 -21.589 164.543 -13.379L203.187 33.081V-44C203.187 -55.046 212.505 -64 224 -64S244.813 -55.046 244.813 -44V33.081L283.457 -13.379C287.568 -17.768 293.2389999999999 -19.9999999999999 298.935 -19.9999999999999C303.8949999999999 -19.9999999999999 308.874 -18.3059999999999 312.851 -14.8659999999999C321.396 -7.4759999999999 322.088 5.1690000000001 314.399 13.3790000000001L244.813 72V155.853L317.236 113.927L333.074 24.191C336.32 13.409 347.588 7.687 358.242 11.412C368.8950000000001 15.138 374.901 26.8990000000001 371.654 37.6800000000001L350.849 94.467L417.423 55.927C426.963 50.404 439.356 54.019 445.103 64.001C450.852 73.982 447.778 86.5510000000001 438.237 92.073z" /> + <glyph glyph-name="square" + unicode="" + horiz-adv-x="448" d=" M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM394 16H54C50.7 16 48 18.7 48 22V362C48 365.3 50.7 368 54 368H394C397.3 368 400 365.3 400 362V22C400 18.7 397.3 16 394 16z" /> + <glyph glyph-name="star-half" + unicode="" + horiz-adv-x="576" d=" M288 62.7L163.7 -2.7L187.4 135.6999999999999L86.8 233.7L225.8 253.8999999999999L288 379.8999999999999V448C276.6 448 265.2 442.1 259.3 430.2L194 297.8L47.9 276.6C21.7 272.8 11.2 240.5 30.2 222L135.9 119L110.9 -26.5C106.4 -52.6 133.9 -72.5 157.3 -60.2L288 8.4V62.7z" /> + <glyph glyph-name="star" + unicode="" + horiz-adv-x="576" d=" M528.1 276.5L382 297.8L316.7 430.2C305 453.8 271.1 454.1 259.3 430.2L194 297.8L47.9 276.5C21.7 272.7 11.2 240.4 30.2 221.9L135.9 118.9L110.9 -26.6C106.4 -52.9 134.1 -72.6 157.3 -60.3L288 8.4L418.7 -60.3C441.9 -72.5 469.6 -52.9 465.1 -26.6L440.1 118.9L545.8 221.9C564.8 240.4 554.3 272.7 528.0999999999999 276.5zM388.6 135.7L412.3 -2.7L288 62.6L163.7 -2.7L187.4 135.7000000000001L86.8 233.7000000000001L225.8 253.9000000000001L288 379.9000000000001L350.2 253.9000000000001L489.2 233.7000000000001L388.6 135.7000000000001z" /> + <glyph glyph-name="sticky-note" + unicode="" + horiz-adv-x="448" d=" M448 99.894V368C448 394.51 426.51 416 400 416H48C21.49 416 0 394.51 0 368V16.012C0 -10.498 21.49 -31.988 48 -31.988H316.118A48 48 0 0 1 350.059 -17.929L433.941 65.953A48 48 0 0 1 448 99.894zM320 19.894V96.012H396.118L320 19.894zM400 368V144.012H296C282.745 144.012 272 133.267 272 120.012V16.012H48V368H400z" /> + <glyph glyph-name="stop-circle" + unicode="" + horiz-adv-x="512" d=" M504 192C504 329 393 440 256 440S8 329 8 192S119 -56 256 -56S504 55 504 192zM56 192C56 302.5 145.5 392 256 392S456 302.5 456 192S366.5 -8 256 -8S56 81.5 56 192zM352 272V112C352 103.2 344.8 96 336 96H176C167.2 96 160 103.2 160 112V272C160 280.8 167.2 288 176 288H336C344.8 288 352 280.8 352 272z" /> + <glyph glyph-name="sun" + unicode="" + horiz-adv-x="512" d=" M220.116 -39.936L199.903 9.489A3.9920000000000004 3.9920000000000004 0 0 1 194.095 11.3750000000001L148.691 -16.7289999999999C119.225 -34.9689999999999 82.396 -8.2099999999999 90.637 25.45L103.336 77.3150000000001A3.9930000000000003 3.9930000000000003 0 0 1 99.746 82.256L46.495 86.2070000000001C11.941 88.7690000000001 -2.137 132.0620000000001 24.321 154.4540000000001L65.08 188.95A3.9920000000000004 3.9920000000000004 0 0 1 65.08 195.056L24.32 229.553C-2.13 251.937 11.93 295.235 46.494 297.799L99.745 301.75A3.9930000000000003 3.9930000000000003 0 0 1 103.335 306.691L90.637 358.557C82.398 392.213 119.218 418.977 148.691 400.736L194.094 372.632A3.9930000000000003 3.9930000000000003 0 0 1 199.902 374.519L220.115 423.944C233.231 456.015 278.753 456.025 291.873 423.944L312.085 374.52A3.9939999999999998 3.9939999999999998 0 0 1 317.894 372.6330000000001L363.2970000000001 400.737C392.761 418.973 429.5940000000001 392.224 421.351 358.558L408.652 306.693A3.9950000000000006 3.9950000000000006 0 0 1 412.242 301.752L465.4929999999999 297.8010000000001C500.0459999999999 295.2380000000001 514.126 251.947 487.6679999999999 229.555L446.908 195.058A3.9930000000000003 3.9930000000000003 0 0 1 446.908 188.951L487.6679999999999 154.455C514.179 132.014 499.99 88.766 465.4929999999999 86.208L412.242 82.257A3.9930000000000003 3.9930000000000003 0 0 1 408.653 77.3149999999999L421.351 25.451C429.592 -8.207 392.7679999999999 -34.97 363.2969999999999 -16.729L317.8939999999999 11.3749999999999A3.9939999999999998 3.9939999999999998 0 0 1 312.0849999999999 9.4879999999999L291.8729999999999 -39.936C278.7139999999999 -72.114 233.1979999999999 -71.9290000000001 220.1159999999999 -39.936zM236.93 24.632L255.994 -21.984L275.058 24.631C285.366 49.831 315.836 59.697 338.95 45.39L381.772 18.883L369.796 67.802C363.321 94.246 382.176 120.141 409.283 122.151L459.509 125.877L421.065 158.413C400.283 176.004 400.318 208.034 421.066 225.593L459.508 258.129L409.283 261.856C382.132 263.871 363.333 289.8040000000001 369.795 316.2050000000001L381.773 365.124L338.95 338.617C315.799 324.29 285.347 334.217 275.058 359.377L255.994 405.992L236.93 359.375C226.625 334.177 196.152 324.3090000000001 173.039 338.615L130.216 365.123L142.193 316.2050000000001C148.667 289.759 129.812 263.867 102.705 261.855L52.481 258.129L90.924 225.592C111.706 208.004 111.671 175.973 90.924 158.414L52.48 125.877L102.706 122.151C129.857 120.137 148.656 94.204 142.193 67.802L130.216 18.883L173.039 45.39C196.227 59.7450000000001 226.661 49.742 236.93 24.6320000000001zM256 64C185.42 64 128 121.421 128 192C128 262.58 185.42 320 256 320C326.579 320 384 262.58 384 192C384 121.421 326.579 64 256 64zM256 272C211.888 272 176 236.112 176 192S211.888 112 256 112S336 147.888 336 192S300.112 272 256 272z" /> + <glyph glyph-name="surprise" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM248 168C212.7 168 184 139.3 184 104S212.7 40 248 40S312 68.7 312 104S283.3 168 248 168zM200 240C200 257.7 185.7 272 168 272S136 257.7 136 240S150.3 208 168 208S200 222.3 200 240zM328 272C310.3 272 296 257.7 296 240S310.3 208 328 208S360 222.3 360 240S345.7 272 328 272z" /> + <glyph glyph-name="thumbs-down" + unicode="" + horiz-adv-x="512" d=" M466.27 222.69C470.944 245.337 467.134 267.228 457.28 285.68C460.238 309.548 453.259 334.245 439.94 352.67C438.986 408.577 404.117 448 327 448C320 448 312 447.99 304.78 447.99C201.195 447.99 168.997 408 128 408H117.155C111.515 412.975 104.113 416 96 416H32C14.327 416 0 401.673 0 384V144C0 126.327 14.327 112 32 112H96C107.842 112 118.175 118.438 123.708 128H130.76C149.906 111.047 176.773 67.347 199.52 44.6C213.187 30.9330000000001 209.673 -64 271.28 -64C328.86 -64 366.55 -32.064 366.55 40.73C366.55 59.14 362.62 74.46 357.7 87.27H394.18C442.782 87.27 479.9999999999999 128.835 479.9999999999999 172.85C479.9999999999999 192 475.04 207.84 466.2699999999999 222.69zM64 152C50.745 152 40 162.745 40 176S50.745 200 64 200S88 189.255 88 176S77.255 152 64 152zM394.18 135.27H290.19C290.19 97.45 318.55 79.9 318.55 40.73C318.55 16.98 318.55 -16.0000000000001 271.2800000000001 -16.0000000000001C252.3700000000001 2.91 261.8200000000001 50.18 233.4600000000001 78.54C206.9 105.11 167.28 176 138.92 176H128V362.17C181.611 362.17 228.001 399.99 299.64 399.99H337.46C372.972 399.99 398.28 382.87 390.58 334.0900000000001C405.78 325.93 417.08 297.65 404.52 276.52C426.101 256.136 423.219 225.455 409.73 210.9C419.18 210.9 432.09 191.99 432 173.09C431.91 154.18 415.29 135.2700000000001 394.18 135.2700000000001z" /> + <glyph glyph-name="thumbs-up" + unicode="" + horiz-adv-x="512" d=" M466.27 161.31C475.04 176.16 480 192 480 211.15C480 255.165 442.782 296.73 394.18 296.73H357.7C362.62 309.54 366.55 324.86 366.55 343.27C366.55 416.064 328.86 448 271.28 448C209.673 448 213.187 353.067 199.52 339.4C176.773 316.653 149.905 272.953 130.76 256H32C14.327 256 0 241.673 0 224V-16C0 -33.673 14.327 -48 32 -48H96C110.893 -48 123.408 -37.826 126.978 -24.05C171.487 -25.051 202.038 -63.99 304.78 -63.99C312 -63.99 320 -64 327 -64C404.117 -64 438.986 -24.577 439.94 31.33C453.259 49.755 460.239 74.452 457.28 98.32C467.134 116.772 470.944 138.663 466.27 161.31zM404.52 107.48C417.08 86.35 405.78 58.0700000000001 390.58 49.91C398.28 1.13 372.972 -15.99 337.46 -15.99H299.64C228.001 -15.99 181.611 21.83 128 21.83V208H138.92C167.28 208 206.9 278.89 233.46 305.46C261.82 333.82 252.37 381.09 271.28 400C318.55 400 318.55 367.02 318.55 343.27C318.55 304.1 290.19 286.55 290.19 248.73H394.18C415.29 248.73 431.91 229.82 432 210.91C432.0899999999999 192.01 419.18 173.1 409.73 173.1C423.219 158.545 426.101 127.864 404.52 107.48zM88 16C88 2.745 77.255 -8 64 -8S40 2.745 40 16S50.745 40 64 40S88 29.255 88 16z" /> + <glyph glyph-name="times-circle" + unicode="" + horiz-adv-x="512" d=" M256 440C119 440 8 329 8 192S119 -56 256 -56S504 55 504 192S393 440 256 440zM256 -8C145.5 -8 56 81.5 56 192S145.5 392 256 392S456 302.5 456 192S366.5 -8 256 -8zM357.8 254.2L295.6 192L357.8 129.8C362.5 125.1 362.5 117.5 357.8 112.8L335.2 90.2C330.5 85.5 322.9 85.5 318.2 90.2L256 152.4L193.8 90.2C189.1 85.5 181.5 85.5 176.8 90.2L154.2 112.8C149.5 117.5 149.5 125.1 154.2 129.8L216.4 192L154.2000000000001 254.2C149.5000000000001 258.9 149.5000000000001 266.5 154.2000000000001 271.2L176.8000000000001 293.8C181.5 298.5 189.1000000000001 298.5 193.8000000000001 293.8L256.0000000000001 231.6L318.2000000000001 293.8C322.9000000000001 298.5 330.5000000000001 298.5 335.2000000000001 293.8L357.8000000000001 271.2C362.5000000000001 266.5 362.5000000000001 258.9 357.8000000000001 254.2z" /> + <glyph glyph-name="tired" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C137.7 -8 48 81.7 48 192S137.7 392 248 392S448 302.3 448 192S358.3 -8 248 -8zM377.1 295.8C373.3 300.2000000000001 366.8 301.2000000000001 361.8 298.3L281.8 250.3C278.2 248.1 276 244.2 276 240S278.2 231.9 281.8 229.7L361.8 181.7C367.2 178.5 373.6 180.1 377.1 184.2C380.9000000000001 188.7 381 195.2 377.2000000000001 199.7L343.6 240L377.2000000000001 280.3C381.0000000000001 284.8 380.9000000000001 291.4 377.1 295.8zM220 240C220 244.2 217.8 248.1 214.2 250.3L134.2 298.3C129.2 301.3 122.7 300.2000000000001 118.9 295.8C115.1 291.3 115 284.8 118.8 280.3L152.4 240L118.8 199.7C115 195.2 115.1 188.7 118.9 184.2C122.4 180.1 128.8 178.5 134.2 181.7L214.2 229.7C217.8 231.9 220 235.8 220 240zM248 176C202.6 176 147.1 137.7 140.2 82.7C138.7 70.9 147.1 61.1 155.7 64.8C178.4 74.5 212 80 248 80S317.6 74.5 340.3 64.8C348.8 61.1 357.3 70.8 355.8 82.7C348.9000000000001 137.7 293.4000000000001 176 248 176z" /> + <glyph glyph-name="trash-alt" + unicode="" + horiz-adv-x="448" d=" M192 260V44C192 37.373 186.627 32 180 32H156C149.373 32 144 37.373 144 44V260C144 266.627 149.373 272 156 272H180C186.627 272 192 266.627 192 260zM292 272H268C261.373 272 256 266.627 256 260V44C256 37.373 261.373 32 268 32H292C298.627 32 304 37.373 304 44V260C304 266.627 298.627 272 292 272zM424 368C437.255 368 448 357.255 448 344V332C448 325.373 442.627 320 436 320H416V-16C416 -42.51 394.51 -64 368 -64H80C53.49 -64 32 -42.51 32 -16V320H12C5.373 320 0 325.373 0 332V344C0 357.255 10.745 368 24 368H98.411L132.429 424.6960000000001A48 48 0 0 0 173.589 448H274.412A48 48 0 0 0 315.572 424.6960000000001L349.589 368H424zM154.389 368H293.612L276.1600000000001 397.087A6 6 0 0 1 271.015 400H176.987A6 6 0 0 1 171.842 397.087L154.389 368zM368 320H80V-10A6 6 0 0 1 86 -16H362A6 6 0 0 1 368 -10V320z" /> + <glyph glyph-name="user-circle" + unicode="" + horiz-adv-x="496" d=" M248 344C195 344 152 301 152 248S195 152 248 152S344 195 344 248S301 344 248 344zM248 200C221.5 200 200 221.5 200 248S221.5 296 248 296S296 274.5 296 248S274.5 200 248 200zM248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 -8C198.3 -8 152.9 10.3 117.9 40.4C132.8 63.4 158.3 79 187.5 79.9C208.3 73.5 228.1 70.3 248 70.3S287.7 73.4 308.5 79.9C337.7 78.9 363.2 63.4 378.1 40.4C343.1 10.3 297.7000000000001 -8 248.0000000000001 -8zM410.7 76.1C386.3 107.5 348.6 128 305.6 128C295.4000000000001 128 279.6 118.4 248.0000000000001 118.4C216.5 118.4 200.6 128 190.4 128C147.5 128 109.8 107.5 85.3 76.1C61.9 108.8 48 148.8 48 192C48 302.3 137.7 392 248 392S448 302.3 448 192C448 148.8 434.1 108.8 410.7 76.1z" /> + <glyph glyph-name="user" + unicode="" + horiz-adv-x="448" d=" M313.6 144C284.9000000000001 144 271.1 128 224 128C176.9 128 163.2000000000001 144 134.4 144C60.2 144 0 83.8 0 9.6V-16C0 -42.5 21.5 -64 48 -64H400C426.5 -64 448 -42.5 448 -16V9.6C448 83.8 387.8 144 313.6 144zM400 -16H48V9.6C48 57.2000000000001 86.8 96 134.4 96C149 96 172.7 80 224 80C275.7 80 298.9 96 313.6 96C361.2000000000001 96 400 57.2 400 9.6V-16zM224 160C303.5 160 368 224.5 368 304S303.5 448 224 448S80 383.5 80 304S144.5 160 224 160zM224 400C276.9 400 320 356.9 320 304S276.9 208 224 208S128 251.1 128 304S171.1 400 224 400z" /> + <glyph glyph-name="window-close" + unicode="" + horiz-adv-x="512" d=" M464 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H464C490.5 -32 512 -10.5 512 16V368C512 394.5 490.5 416 464 416zM464 22C464 18.7 461.3 16 458 16H54C50.7 16 48 18.7 48 22V362C48 365.3 50.7 368 54 368H458C461.3 368 464 365.3 464 362V22zM356.5 253.4L295.1 192L356.5 130.6C361.1 126 361.1 118.5 356.5 113.8L334.2 91.5C329.6 86.9 322.1 86.9 317.4 91.5L256 152.9L194.6 91.5C190 86.9 182.5 86.9 177.8 91.5L155.5 113.8C150.9 118.4 150.9 125.9 155.5 130.6L216.9 192L155.5 253.4000000000001C150.9 258 150.9 265.5 155.5 270.2000000000001L177.8 292.5000000000001C182.4 297.1 189.9 297.1 194.6 292.5000000000001L256 231.1000000000001L317.4 292.5000000000001C322 297.1 329.5 297.1 334.2 292.5000000000001L356.5 270.2000000000001C361.2 265.6 361.2 258.1 356.5 253.4000000000001z" /> + <glyph glyph-name="window-maximize" + unicode="" + horiz-adv-x="512" d=" M464 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H464C490.5 -32 512 -10.5 512 16V368C512 394.5 490.5 416 464 416zM464 22C464 18.7 461.3 16 458 16H54C50.7 16 48 18.7 48 22V256H464V22z" /> + <glyph glyph-name="window-minimize" + unicode="" + horiz-adv-x="512" d=" M480 -32H32C14.3 -32 0 -17.7 0 0S14.3 32 32 32H480C497.7 32 512 17.7 512 0S497.7 -32 480 -32z" /> + <glyph glyph-name="window-restore" + unicode="" + horiz-adv-x="512" d=" M464 448H144C117.5 448 96 426.5 96 400V352H48C21.5 352 0 330.5 0 304V-16C0 -42.5 21.5 -64 48 -64H368C394.5 -64 416 -42.5 416 -16V32H464C490.5 32 512 53.5 512 80V400C512 426.5 490.5 448 464 448zM368 -16H48V192H368V-16zM464 80H416V304C416 330.5 394.5 352 368 352H144V400H464V80z" /> + </font> +</defs> +</svg> diff --git a/assets/fonts/font-awesome/fa-regular-400.ttf b/assets/fonts/font-awesome/fa-regular-400.ttf new file mode 100644 index 0000000000000000000000000000000000000000..36a7de36cc8eaf102da5b60290d3cce885268fe2 Binary files /dev/null and b/assets/fonts/font-awesome/fa-regular-400.ttf differ diff --git a/assets/fonts/font-awesome/fa-regular-400.woff b/assets/fonts/font-awesome/fa-regular-400.woff new file mode 100644 index 0000000000000000000000000000000000000000..f7fab8586e1b289547ad2779507faa082d3998a8 Binary files /dev/null and b/assets/fonts/font-awesome/fa-regular-400.woff differ diff --git a/assets/fonts/font-awesome/fa-regular-400.woff2 b/assets/fonts/font-awesome/fa-regular-400.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..719a712a39cc413d9fbf49b9248e4c1d9e27fda9 Binary files /dev/null and b/assets/fonts/font-awesome/fa-regular-400.woff2 differ diff --git a/assets/fonts/font-awesome/fa-solid-900.eot b/assets/fonts/font-awesome/fa-solid-900.eot new file mode 100644 index 0000000000000000000000000000000000000000..4e4cbb2c60f8986d600b9e48e9d2b6d036dad16b Binary files /dev/null and b/assets/fonts/font-awesome/fa-solid-900.eot differ diff --git a/assets/fonts/font-awesome/fa-solid-900.svg b/assets/fonts/font-awesome/fa-solid-900.svg new file mode 100644 index 0000000000000000000000000000000000000000..4f5aa88f3b17b6fff43e3cfb9d8db5d4113f3b9f --- /dev/null +++ b/assets/fonts/font-awesome/fa-solid-900.svg @@ -0,0 +1,2444 @@ +<?xml version="1.0" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > +<svg xmlns="http://www.w3.org/2000/svg"> +<defs> + <font id="fontawesome-free" horiz-adv-x="640"> + <font-face font-family="Font Awesome 5 Free" + units-per-em="512" ascent="448" + descent="64" + font-weight="900" + font-style="Solid" /> + <missing-glyph horiz-adv-x="0" /> + <glyph glyph-name="ad" + unicode="" + horiz-adv-x="512" d=" M157.52 176H194.48L176 229.22L157.52 176zM352 192C338.77 192 328 181.23 328 168S338.77 144 352 144S376 154.77 376 168S365.23 192 352 192zM464 384H48C21.5 384 0 362.5 0 336V48C0 21.5 21.5 0 48 0H464C490.5 0 512 21.5 512 48V336C512 362.5 490.5 384 464 384zM250.58 96H233.64C226.83 96 220.76 100.32 218.52 106.75L211.15 128H140.86L133.48 106.75A16 16 0 0 0 118.36 96H101.42C90.41 96 82.69 106.85 86.3 117.25L140 271.88A23.995000000000005 23.995000000000005 0 0 0 162.67 288H189.33A23.99 23.99 0 0 0 212 271.87L265.69 117.25C269.3 106.85 261.58 96 250.58 96zM424 112C424 103.16 416.84 96 408 96H392C387.15 96 382.96 98.27 380.02 101.68C371.4 98.02 361.93 96 352 96C312.3 96 280 128.3 280 168S312.3 240 352 240C360.46 240 368.46 238.27 376 235.58V272C376 280.8400000000001 383.1600000000001 288 392 288H408C416.84 288 424 280.8400000000001 424 272V112z" /> + <glyph glyph-name="address-book" + unicode="" + horiz-adv-x="448" d=" M436 288C442.6 288 448 293.4 448 300V340C448 346.6 442.6 352 436 352H416V400C416 426.5 394.5 448 368 448H48C21.5 448 0 426.5 0 400V-16C0 -42.5 21.5 -64 48 -64H368C394.5 -64 416 -42.5 416 -16V32H436C442.6 32 448 37.4 448 44V84C448 90.6 442.6 96 436 96H416V160H436C442.6 160 448 165.4 448 172V212C448 218.6 442.6 224 436 224H416V288H436zM208 320C243.3 320 272 291.3 272 256S243.3 192 208 192S144 220.7 144 256S172.7 320 208 320zM320 83.2C320 72.6 310 64 297.6 64H118.4C106 64 96 72.6 96 83.2V102.4C96 134.2 126.1 160 163.2 160H168.2C180.5 154.9 193.9 152 208 152S235.6 154.9 247.8 160H252.8C289.9000000000001 160 320 134.2 320 102.4V83.2z" /> + <glyph glyph-name="address-card" + unicode="" + horiz-adv-x="576" d=" M528 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H528C554.5 -32 576 -10.5 576 16V368C576 394.5 554.5 416 528 416zM176 320C211.3 320 240 291.3 240 256S211.3 192 176 192S112 220.7 112 256S140.7 320 176 320zM288 83.2C288 72.6 278 64 265.6 64H86.4C74 64 64 72.6 64 83.2V102.4C64 134.2 94.1 160 131.2 160H136.2C148.5 154.9 161.9 152 176 152S203.6 154.9 215.8 160H220.8C257.9000000000001 160 288 134.2 288 102.4V83.2zM512 136C512 131.6 508.4 128 504 128H360C355.6 128 352 131.6 352 136V152C352 156.4 355.6 160 360 160H504C508.4 160 512 156.4 512 152V136zM512 200C512 195.6 508.4 192 504 192H360C355.6 192 352 195.6 352 200V216C352 220.4 355.6 224 360 224H504C508.4 224 512 220.4 512 216V200zM512 264C512 259.6 508.4 256 504 256H360C355.6 256 352 259.6 352 264V280C352 284.4 355.6 288 360 288H504C508.4 288 512 284.4 512 280V264z" /> + <glyph glyph-name="adjust" + unicode="" + horiz-adv-x="512" d=" M8 192C8 55.034 119.033 -56 256 -56S504 55.034 504 192S392.966 440 256 440S8 328.967 8 192zM256 8V376C357.705 376 440 293.689 440 192C440 90.295 357.689 8 256 8z" /> + <glyph glyph-name="air-freshener" + unicode="" + horiz-adv-x="384" d=" M378.94 126.59L284.7 224H333.92C349.22 224 357.58 240.6 347.78 251.53L234.45 378.04C237.88 384.65 240 392.04 240 400C240 426.51 218.51 448 192 448S144 426.51 144 400C144 392.04 146.12 384.65 149.55 378.04L36.22 251.53C26.42 240.6 34.78 224 50.08 224H99.3L5.06 126.59C-6.69 114.44 3.34 96 21.7 96H160V64H48C39.16 64 32 56.84 32 48V-48C32 -56.84 39.16 -64 48 -64H336C344.84 -64 352 -56.84 352 -48V48C352 56.84 344.84 64 336 64H224V96H362.3C380.6600000000001 96 390.69 114.44 378.94 126.59zM192 416.02C200.85 416.02 208.02 408.85 208.02 400C208.02 391.16 200.85 383.98 192 383.98S175.98 391.16 175.98 400C175.98 408.85 183.15 416.02 192 416.02zM304 16V-16H80V16H304z" /> + <glyph glyph-name="align-center" + unicode="" + horiz-adv-x="448" d=" M352 404V364C352 355.163 344.837 348 336 348H112C103.163 348 96 355.163 96 364V404C96 412.837 103.163 420 112 420H336C344.837 420 352 412.837 352 404zM16 220H432C440.837 220 448 227.163 448 236V276C448 284.837 440.837 292 432 292H16C7.163 292 0 284.837 0 276V236C0 227.163 7.163 220 16 220zM16 -36H432C440.837 -36 448 -28.837 448 -20V20C448 28.837 440.837 36 432 36H16C7.163 36 0 28.837 0 20V-20C0 -28.837 7.163 -36 16 -36zM336 164H112C103.163 164 96 156.837 96 148V108C96 99.163 103.163 92 112 92H336C344.837 92 352 99.163 352 108V148C352 156.837 344.837 164 336 164z" /> + <glyph glyph-name="align-justify" + unicode="" + horiz-adv-x="448" d=" M0 364V404C0 412.837 7.163 420 16 420H432C440.837 420 448 412.837 448 404V364C448 355.163 440.837 348 432 348H16C7.163 348 0 355.163 0 364zM16 220H432C440.837 220 448 227.163 448 236V276C448 284.837 440.837 292 432 292H16C7.163 292 0 284.837 0 276V236C0 227.163 7.163 220 16 220zM16 -36H432C440.837 -36 448 -28.837 448 -20V20C448 28.837 440.837 36 432 36H16C7.163 36 0 28.837 0 20V-20C0 -28.837 7.163 -36 16 -36zM16 92H432C440.837 92 448 99.163 448 108V148C448 156.837 440.837 164 432 164H16C7.163 164 0 156.837 0 148V108C0 99.163 7.163 92 16 92z" /> + <glyph glyph-name="align-left" + unicode="" + horiz-adv-x="448" d=" M288 404V364C288 355.163 280.837 348 272 348H16C7.163 348 0 355.163 0 364V404C0 412.837 7.163 420 16 420H272C280.837 420 288 412.837 288 404zM0 276V236C0 227.163 7.163 220 16 220H432C440.837 220 448 227.163 448 236V276C448 284.837 440.837 292 432 292H16C7.163 292 0 284.837 0 276zM16 -36H432C440.837 -36 448 -28.837 448 -20V20C448 28.837 440.837 36 432 36H16C7.163 36 0 28.837 0 20V-20C0 -28.837 7.163 -36 16 -36zM272 164H16C7.163 164 0 156.837 0 148V108C0 99.163 7.163 92 16 92H272C280.837 92 288 99.163 288 108V148C288 156.837 280.837 164 272 164z" /> + <glyph glyph-name="align-right" + unicode="" + horiz-adv-x="448" d=" M160 364V404C160 412.837 167.163 420 176 420H432C440.837 420 448 412.837 448 404V364C448 355.163 440.837 348 432 348H176C167.163 348 160 355.163 160 364zM16 220H432C440.837 220 448 227.163 448 236V276C448 284.837 440.837 292 432 292H16C7.163 292 0 284.837 0 276V236C0 227.163 7.163 220 16 220zM16 -36H432C440.837 -36 448 -28.837 448 -20V20C448 28.837 440.837 36 432 36H16C7.163 36 0 28.837 0 20V-20C0 -28.837 7.163 -36 16 -36zM176 92H432C440.837 92 448 99.163 448 108V148C448 156.837 440.837 164 432 164H176C167.163 164 160 156.837 160 148V108C160 99.163 167.163 92 176 92z" /> + <glyph glyph-name="allergies" + unicode="" + horiz-adv-x="448" d=" M416 336C398.4 336 384 321.6 384 304V232C384 227.6 380.4 224 376 224H360C355.6 224 352 227.6 352 232V384C352 401.6 337.6 416 320 416S288 401.6 288 384V232C288 227.6 284.4 224 280 224H264C259.6 224 256 227.6 256 232V416C256 433.6 241.6 448 224 448S192 433.6 192 416V232C192 227.6 188.4 224 184 224H168C163.6 224 160 227.6 160 232V384C160 401.6 145.6 416 128 416S96 401.6 96 384V143L72.4 175.5C59.4 193.4 34.4 197.3 16.5 184.3S-5.3 146.3 7.7 128.4L133.3 -44.3C142.3 -56.6999999999999 156.8 -64.0999999999999 172.1 -64.0999999999999H369.7000000000001C392.0000000000001 -64.0999999999999 411.3000000000001 -48.7999999999999 416.4000000000001 -27.0999999999999L442.9000000000001 85.6000000000001C446.1 99.3000000000001 447.8 113.9000000000001 448.0000000000001 127.9000000000001V304C448.0000000000001 321.6 433.6000000000001 336 416.0000000000001 336zM176 32C167.2 32 160 39.2 160 48S167.2 64 176 64S192 56.8 192 48S184.8 32 176 32zM176 128C167.2 128 160 135.2 160 144S167.2 160 176 160S192 152.8 192 144S184.8 128 176 128zM240 0C231.2 0 224 7.2 224 16S231.2 32 240 32S256 24.8 256 16S248.8 0 240 0zM240 96C231.2 96 224 103.2 224 112S231.2 128 240 128S256 120.8 256 112S248.8 96 240 96zM304 64C295.2 64 288 71.2 288 80S295.2 96 304 96S320 88.8 320 80S312.8 64 304 64zM336 0C327.2 0 320 7.2 320 16S327.2 32 336 32S352 24.8 352 16S344.8 0 336 0zM368 128C359.2 128 352 135.2 352 144S359.2 160 368 160S384 152.8 384 144S376.8 128 368 128z" /> + <glyph glyph-name="ambulance" + unicode="" + horiz-adv-x="640" d=" M624 96H608V204.1C608 216.8 602.9 229 593.9 238L494 337.9C485 346.9 472.8 352 460.1 352H416V400C416 426.5 394.5 448 368 448H48C21.5 448 0 426.5 0 400V80C0 53.5 21.5 32 48 32H64C64 -21 107 -64 160 -64S256 -21 256 32H384C384 -21 427 -64 480 -64S576 -21 576 32H624C632.8 32 640 39.2 640 48V80C640 88.8 632.8 96 624 96zM160 -16C133.5 -16 112 5.5 112 32S133.5 80 160 80S208 58.5 208 32S186.5 -16 160 -16zM304 232C304 227.6 300.4 224 296 224H240V168C240 163.6 236.4 160 232 160H184C179.6 160 176 163.6 176 168V224H120C115.6 224 112 227.6 112 232V280C112 284.4 115.6 288 120 288H176V344C176 348.4 179.6 352 184 352H232C236.4 352 240 348.4 240 344V288H296C300.4 288 304 284.4 304 280V232zM480 -16C453.5 -16 432 5.5 432 32S453.5 80 480 80S528 58.5 528 32S506.5 -16 480 -16zM560 192H416V304H460.1L560 204.1V192z" /> + <glyph glyph-name="american-sign-language-interpreting" + unicode="" + horiz-adv-x="640" d=" M290.5470000000001 258.961C270.252 269.11 246.4000000000001 270.1600000000001 225.808 262.851C268.4140000000001 262.851 297.016 242.376 311.386 212.275C319.9620000000001 194.376 306.238 174.204 287.769 174.204C306.198 174.204 319.98 154.068 311.386 136.1330000000001C296.661 105.287 265.2630000000001 85.2790000000001 231.088 85.2790000000001C230.5310000000001 85.2790000000001 136.617 93.8940000000001 136.617 93.8940000000001L70.211 60.5470000000001C60.827 55.8540000000001 50.396 60.1680000000001 46.316 68.3280000000001L1.86 157.253C-2.307 165.868 0.749 176.15 8.806 180.874L66.878 213.943L108 288.139C114.39 345.384 142.731 397.906 187.743 434.865C199.134 444.313 216.084 442.646 225.253 431.252C234.699 419.858 233.033 403.185 221.641 393.736C209.138 383.177 198.023 371.227 189.132 358.166C210.804 372.895 235.811 382.898 263.318 386.233C278.043 388.178 291.381 377.897 293.048 363.168C294.993 348.44 284.712 335.101 269.986 333.434C253.87 331.4890000000001 238.866 325.931 225.808 318.15C251.922 323.863 284.52 321.288 313.887 307.035C327.223 300.366 332.78 284.526 326.111 271.187C319.722 258.127 303.607 252.57 290.547 258.961zM263.3180000000001 189.489C257.206 201.994 244.9800000000001 209.775 231.0870000000001 209.775A35.46 35.46 0 0 1 195.5220000000001 174.2050000000001C195.5220000000001 152.7770000000001 213.3300000000001 138.6350000000001 231.0870000000001 138.6350000000001C244.9800000000001 138.6350000000001 257.206 146.4160000000001 263.3180000000001 158.9210000000001C267.7640000000001 168.3700000000001 276.932 173.927 286.6570000000001 174.2050000000001C276.932 174.482 267.764 180.04 263.3180000000001 189.489zM638.1390000000001 226.7260000000001C642.3070000000001 218.111 639.2500000000001 207.829 631.1930000000001 203.105L573.1220000000001 170.036L532 95.84C525.61 38.595 497.269 -13.927 452.257 -50.886C441.325 -59.998 424.4580000000001 -59.03 414.747 -47.273C405.301 -35.879 406.9670000000001 -19.206 418.36 -9.757C430.863 0.802 441.9770000000001 12.752 450.868 25.813C429.196 11.084 404.189 1.081 376.682 -2.254C366.661 -4.76 349.13 3.389 346.952 20.811C345.007 35.539 355.288 48.878 370.014 50.545C386.13 52.491 401.134 58.048 414.192 65.829C388.0780000000001 60.1159999999999 355.48 62.691 326.113 76.944C312.777 83.6129999999999 307.2200000000001 99.453 313.889 112.792C320.278 125.853 336.394 131.411 349.454 125.019C369.749 114.87 393.601 113.8199999999999 414.193 121.129C371.587 121.129 342.985 141.604 328.615 171.705C320.039 189.604 333.7630000000001 209.776 352.2320000000001 209.776C333.8030000000001 209.776 320.021 229.912 328.615 247.847C342.648 277.243 372.654 298.734 410.581 298.701L503.384 290.086L569.79 323.433C579.198 328.137 589.6179999999999 323.787 593.684 315.652L638.139 226.726zM408.9120000000002 245.344C395.0190000000001 245.344 382.7930000000001 237.563 376.6810000000002 225.058C372.2350000000002 215.609 363.0670000000002 210.052 353.3420000000002 209.774C363.0670000000002 209.4960000000001 372.2350000000002 203.938 376.6810000000002 194.4900000000001C382.7930000000002 181.985 395.0190000000002 174.2040000000001 408.9120000000002 174.2040000000001A35.46 35.46 0 0 1 444.4770000000002 209.7740000000001C444.4770000000002 231.2030000000001 426.6690000000002 245.3440000000001 408.9120000000002 245.3440000000001z" /> + <glyph glyph-name="anchor" + unicode="" + horiz-adv-x="576" d=" M12.971 96H45.365C67.172 -6.735 181.944 -64 288 -64C394.229 -64 508.853 -6.62 530.635 96H563.029C573.72 96 579.074 108.926 571.514 116.485L504.485 183.514C499.799 188.2 492.201 188.2 487.514 183.514L420.485 116.485C412.925 108.925 418.279 96 428.9700000000001 96H464.116C443.826 41.683 379.153 9.412 319.999 1.985V192H371.999C378.6260000000001 192 383.999 197.373 383.999 204V244C383.999 250.627 378.6260000000001 256 371.999 256H319.999V261.4700000000001C357.2800000000001 274.648 383.9940000000001 310.195 383.999 351.988C384.005 404.228 341.605 447.262 289.37 447.99C235.723 448.739 192 405.475 192 352C192 310.202 218.716 274.65 256 261.4700000000001V256H204C197.373 256 192 250.627 192 244V204C192 197.373 197.373 192 204 192H256V1.985C197.064 9.384 132.18 41.664 111.883 96H147.029C157.72 96 163.074 108.926 155.514 116.485L88.485 183.514C83.799 188.2 76.201 188.2 71.514 183.514L4.485 116.485C-3.074 108.926 2.28 96 12.971 96zM288 384C305.645 384 320 369.645 320 352S305.645 320 288 320S256 334.355 256 352S270.355 384 288 384z" /> + <glyph glyph-name="angle-double-down" + unicode="" + horiz-adv-x="320" d=" M143 191.7L7 327.7C-2.4 337.1 -2.4 352.3 7 361.6L29.6 384.2C39 393.6 54.2 393.6 63.5 384.2L159.9 287.8L256.3 384.2C265.7 393.6 280.9000000000001 393.6 290.2 384.2L313 361.7C322.4 352.3 322.4 337.1 313 327.8L177 191.8C167.6 182.3 152.4 182.3 143 191.7zM177 -0.3L313 135.7C322.4 145.1 322.4 160.3 313 169.6L290.4 192.2C281 201.6 265.8 201.6 256.5 192.2L160 95.9L63.6 192.3C54.2 201.7 39 201.7 29.7 192.3L7 169.7C-2.4 160.3 -2.4 145.1 7 135.8L143 -0.2C152.4 -9.7 167.6 -9.7 177 -0.3z" /> + <glyph glyph-name="angle-double-left" + unicode="" + horiz-adv-x="448" d=" M223.7 209L359.7 345C369.1 354.4 384.3 354.4 393.6 345L416.2 322.4C425.6 313 425.6 297.8 416.2 288.5L319.9 192L416.3 95.6C425.7 86.2000000000001 425.7 71 416.3 61.7000000000001L393.7 39C384.3 29.6 369.1 29.6 359.8 39L223.8 175C214.3 184.4 214.3 199.6 223.7 209zM31.7 175L167.7 39C177.1 29.6 192.3 29.6 201.6 39L224.2 61.6C233.6 71 233.6 86.2000000000001 224.2 95.5L127.9 192L224.3 288.4C233.7 297.8 233.7 313 224.3 322.3L201.7 345C192.3 354.4 177.1 354.4 167.8 345L31.8 209C22.3 199.6 22.3 184.4 31.7 175z" /> + <glyph glyph-name="angle-double-right" + unicode="" + horiz-adv-x="448" d=" M224.3 175L88.3 39C78.9 29.6 63.7 29.6 54.4 39L31.8 61.6C22.4 71 22.4 86.2000000000001 31.8 95.5L128.2 191.9L31.8 288.3C22.4 297.7 22.4 312.9 31.8 322.2L54.3 345C63.7 354.4 78.9 354.4 88.2 345L224.2 209C233.7 199.6 233.7 184.4 224.3 175zM416.3 209L280.3 345C270.9000000000001 354.4 255.7 354.4 246.4 345L223.8 322.4C214.4 313 214.4 297.8 223.8 288.5L320.2000000000001 192.1L223.8000000000001 95.7C214.4 86.3 214.4 71.1 223.8000000000001 61.8L246.4000000000001 39.2C255.8000000000001 29.8 271.0000000000001 29.8 280.3 39.2L416.3 175.2C425.7 184.4 425.7 199.6 416.3 209z" /> + <glyph glyph-name="angle-double-up" + unicode="" + horiz-adv-x="320" d=" M177 192.3L313 56.3C322.4 46.9 322.4 31.7 313 22.4L290.4 -0.2C281 -9.6 265.8 -9.6 256.5 -0.2L160 96.1L63.6 -0.3C54.2 -9.6999999999999 39 -9.6999999999999 29.7 -0.3L7 22.3C-2.4 31.7 -2.4 46.9 7 56.2L143 192.2C152.4 201.7 167.6 201.7 177 192.3zM143 384.3L7 248.3C-2.4 238.9 -2.4 223.7 7 214.4L29.6 191.8C39 182.4 54.2 182.4 63.5 191.8L159.9 288.2000000000001L256.3 191.8C265.7 182.4 280.9000000000001 182.4 290.2 191.8L312.8 214.4C322.2 223.8 322.2 239 312.8 248.3L176.8 384.3C167.6 393.7 152.4 393.7 143 384.3z" /> + <glyph glyph-name="angle-down" + unicode="" + horiz-adv-x="320" d=" M143 95.7L7 231.7C-2.4 241.1 -2.4 256.3 7 265.6L29.6 288.2C39 297.6 54.2 297.6 63.5 288.2L159.9 191.8L256.3 288.2C265.7 297.6 280.9000000000001 297.6 290.2 288.2L312.8 265.6C322.2 256.2 322.2 241 312.8 231.7L176.8 95.6999999999999C167.6 86.3 152.4 86.3 143 95.6999999999999z" /> + <glyph glyph-name="angle-left" + unicode="" + horiz-adv-x="256" d=" M31.7 209L167.7 345C177.1 354.4 192.3 354.4 201.6 345L224.2 322.4C233.6 313 233.6 297.8 224.2 288.5L127.9 192L224.3 95.6C233.7 86.2000000000001 233.7 71 224.3 61.7000000000001L201.7 39C192.3 29.6 177.1 29.6 167.8 39L31.8 175C22.3 184.4 22.3 199.6 31.7 209z" /> + <glyph glyph-name="angle-right" + unicode="" + horiz-adv-x="256" d=" M224.3 175L88.3 39C78.9 29.6 63.7 29.6 54.4 39L31.8 61.6C22.4 71 22.4 86.2000000000001 31.8 95.5L128.2 191.9L31.8 288.3C22.4 297.7 22.4 312.9 31.8 322.2L54.3 345C63.7 354.4 78.9 354.4 88.2 345L224.2 209C233.7 199.6 233.7 184.4 224.3 175z" /> + <glyph glyph-name="angle-up" + unicode="" + horiz-adv-x="320" d=" M177 288.3L313 152.3C322.4 142.9 322.4 127.7 313 118.4L290.4 95.8C281 86.4 265.8 86.4 256.5 95.8L160 192.1L63.6 95.7C54.2 86.3 39 86.3 29.7 95.7L7 118.3C-2.4 127.7 -2.4 142.9 7 152.2L143 288.2C152.4 297.7 167.6 297.7 177 288.3z" /> + <glyph glyph-name="angry" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM136 208C136 217.3 140.1 225.5 146.5 231.4L115.5 240.7C107 243.2 102.2 252.2 104.8 260.6C107.3 269.1 116.2 273.8 124.7 271.3L204.7 247.3C213.2 244.8 218 235.8 215.4 227.4C213.3 220.5 207 216 200.1 216C199.6 216 199 216.2 198.4 216.2C199.1 213.5 200.1 210.9 200.1 208C200.1 190.3 185.8 176 168.1 176S136 190.3 136 208zM304 53.8C276.2 87.2 219.8 87.2 191.9 53.8C178.4 37.5 153.7 58 167.3 74.3C187.3 98.3 216.7 112.1 247.9 112.1S308.5 98.3 328.5 74.3C342.3 57.8 317.4 37.7 304 53.8zM380.6 240.7L349.6 231.4C355.9000000000001 225.6 360.1 217.3 360.1 208C360.1 190.3 345.8 176 328.1 176S296.1 190.3 296.1 208C296.1 210.9 297 213.6 297.8 216.2C297.2 216.1 296.7 216 296.1 216C289.2000000000001 216 282.9000000000001 220.5 280.8 227.4C278.3 235.9 283.1 244.8 291.5 247.3L371.5 271.3C379.9 273.8 388.9 269 391.4 260.6C393.9 252.1 389.1 243.2 380.6 240.7z" /> + <glyph glyph-name="ankh" + unicode="" + horiz-adv-x="320" d=" M296 192H251.38C272.46 225.99 288 266.35 288 304C288 392.37 230.69 448 160 448S32 392.37 32 304C32 266.35 47.54 225.99 68.62 192H24C10.75 192 0 181.26 0 168V136C0 122.75 10.75 112 24 112H120V-40C120 -53.25 130.75 -64 144 -64H176C189.25 -64 200 -53.25 200 -40V112H296C309.25 112 320 122.75 320 136V168C320 181.26 309.25 192 296 192zM160 368C189.61 368 208 343.48 208 304C208 269.3400000000001 180.86 225.86 160 203.13C139.14 225.85 112 269.34 112 304C112 343.48 130.39 368 160 368z" /> + <glyph glyph-name="apple-alt" + unicode="" + horiz-adv-x="448" d=" M351.18 318.85C315.65 325.1 253.12 304.49 224 288.04C194.88 304.49 132.34 325.11 96.81 318.85C15.57 304.55 -10.61 194.36 3.72 113.25C18.05 32.14 65.02 -64 160.41 -64C172.47 -64 184.53 -59.39 194.85 -53.66C212.93 -43.63 235.08 -43.63 253.16 -53.66C263.48 -59.39 275.54 -64 287.59 -64C382.98 -64 429.95 32.14 444.27 113.25C458.6 194.36 432.44 304.55 351.18 318.85zM295.63 360.38C326.19 390.94 319.35 447.35 319.35 447.35S262.9400000000001 454.2 232.38 423.63C201.81 393.06 208.66 336.66 208.66 336.66S265.06 329.81 295.63 360.38z" /> + <glyph glyph-name="archive" + unicode="" + horiz-adv-x="512" d=" M32 0C32 -17.7 46.3 -32 64 -32H448C465.7 -32 480 -17.7 480 0V288H32V0zM192 212C192 218.6 197.4 224 204 224H308C314.6 224 320 218.6 320 212V204C320 197.4 314.6 192 308 192H204C197.4 192 192 197.4 192 204V212zM480 416H32C14.3 416 0 401.7 0 384V336C0 327.2 7.2 320 16 320H496C504.8 320 512 327.2 512 336V384C512 401.7 497.7 416 480 416z" /> + <glyph glyph-name="archway" + unicode="" + horiz-adv-x="576" d=" M560 0H544V352H32V0H16.02C7.18 0 0.02 -7.16 0.02 -16V-48C0.02 -56.84 7.18 -64 16.02 -64H176C184.84 -64 192 -56.84 192 -48V128C192 181.02 234.98 224 288 224S384 181.02 384 128L384.02 -32V-48C384.02 -56.84 391.18 -64 400.02 -64H560C568.84 -64 576 -56.84 576 -48V-16C576 -7.16 568.84 0 560 0zM560 448H16C7.16 448 0 440.84 0 432V400C0 391.16 7.16 384 16 384H560C568.84 384 576 391.16 576 400V432C576 440.84 568.84 448 560 448z" /> + <glyph glyph-name="arrow-alt-circle-down" + unicode="" + horiz-adv-x="512" d=" M504 192C504 55 393 -56 256 -56S8 55 8 192S119 440 256 440S504 329 504 192zM212 308V192H141.1C130.4 192 125 179 132.6 171.5L247.5 57.2C252.2 52.5 259.7 52.5 264.4 57.2L379.3 171.5C386.9 179.1 381.5 192 370.8 192H300V308C300 314.6 294.6 320 288 320H224C217.4 320 212 314.6 212 308z" /> + <glyph glyph-name="arrow-alt-circle-left" + unicode="" + horiz-adv-x="512" d=" M256 -56C119 -56 8 55 8 192S119 440 256 440S504 329 504 192S393 -56 256 -56zM372 236H256V306.9C256 317.6 243 323 235.5 315.4L121.2 200.5C116.5 195.8 116.5 188.3 121.2 183.6L235.5 68.7000000000001C243.1 61.1 256 66.5000000000001 256 77.2000000000001V148H372C378.6 148 384 153.4 384 160V224C384 230.6 378.6 236 372 236z" /> + <glyph glyph-name="arrow-alt-circle-right" + unicode="" + horiz-adv-x="512" d=" M256 440C393 440 504 329 504 192S393 -56 256 -56S8 55 8 192S119 440 256 440zM140 148H256V77.1C256 66.4 269 61 276.5 68.6L390.8 183.5C395.5 188.2 395.5 195.7 390.8 200.4L276.5 315.4C268.9 323 256 317.6 256 306.9V236H140C133.4 236 128 230.6 128 224V160C128 153.4 133.4 148 140 148z" /> + <glyph glyph-name="arrow-alt-circle-up" + unicode="" + horiz-adv-x="512" d=" M8 192C8 329 119 440 256 440S504 329 504 192S393 -56 256 -56S8 55 8 192zM300 76V192H370.9C381.6 192 387 205 379.4 212.5L264.5 326.8C259.8 331.5 252.3 331.5 247.6 326.8L132.6 212.5C125 204.9 130.4 192 141.1 192H212V76C212 69.4 217.4 64 224 64H288C294.6 64 300 69.4 300 76z" /> + <glyph glyph-name="arrow-circle-down" + unicode="" + horiz-adv-x="512" d=" M504 192C504 55 393 -56 256 -56S8 55 8 192S119 440 256 440S504 329 504 192zM360.4 220.9L288 145.4V328C288 341.3 277.3 352 264 352H248C234.7 352 224 341.3 224 328V145.4L151.6 220.9C142.3 230.6 126.8 230.8 117.3 221.3L106.4 210.3C97 200.9 97 185.7 106.4 176.4L239 43.7C248.4 34.3 263.6 34.3 272.9 43.7L405.6 176.4C415 185.8 415 201 405.6 210.3L394.7 221.3C385.2 230.8 369.7 230.6 360.4 220.9z" /> + <glyph glyph-name="arrow-circle-left" + unicode="" + horiz-adv-x="512" d=" M256 -56C119 -56 8 55 8 192S119 440 256 440S504 329 504 192S393 -56 256 -56zM284.9 87.6L209.4 160H392C405.3 160 416 170.7 416 184V200C416 213.3 405.3 224 392 224H209.4L284.9 296.4C294.6 305.7000000000001 294.8 321.2 285.3 330.7L274.3 341.6C264.9 351 249.7 351 240.4 341.6L107.7 209C98.3 199.6 98.3 184.4 107.7 175.1L240.4 42.4C249.8 33.0000000000001 265 33.0000000000001 274.3 42.4L285.3 53.3C294.8 62.8 294.6 78.3 284.9 87.6z" /> + <glyph glyph-name="arrow-circle-right" + unicode="" + horiz-adv-x="512" d=" M256 440C393 440 504 329 504 192S393 -56 256 -56S8 55 8 192S119 440 256 440zM227.1 296.4L302.6 224H120C106.7 224 96 213.3 96 200V184C96 170.7 106.7 160 120 160H302.6L227.1 87.6C217.4 78.3 217.2 62.8 226.7 53.3L237.7 42.4C247.1 33.0000000000001 262.3 33.0000000000001 271.6 42.4L404.3 175C413.7 184.4 413.7 199.6 404.3 208.9L271.6 341.7C262.2000000000001 351.1 247.0000000000001 351.1 237.7 341.7L226.7 330.8C217.2 321.2 217.4 305.7 227.1 296.4z" /> + <glyph glyph-name="arrow-circle-up" + unicode="" + horiz-adv-x="512" d=" M8 192C8 329 119 440 256 440S504 329 504 192S393 -56 256 -56S8 55 8 192zM151.6 163.1L224 238.6V56C224 42.7 234.7 32 248 32H264C277.3 32 288 42.7 288 56V238.6L360.4 163.1C369.7 153.4 385.2 153.2000000000001 394.7 162.7000000000001L405.6 173.7000000000001C415 183.1 415 198.3000000000001 405.6 207.6000000000001L273 340.3C263.6 349.7 248.4 349.7 239.1 340.3L106.3 207.6C96.9 198.2 96.9 183 106.3 173.7L117.2 162.7C126.8 153.2 142.3 153.4 151.6 163.1z" /> + <glyph glyph-name="arrow-down" + unicode="" + horiz-adv-x="448" d=" M413.1 225.5L435.3 203.3C444.7 193.9 444.7 178.7 435.3 169.4L241 -25C231.6 -34.4 216.4 -34.4 207.1 -25L12.7 169.4C3.3 178.8 3.3 194 12.7 203.3L34.9 225.5C44.4 235 59.9 234.8 69.2 225.1L184 104.6V392C184 405.3 194.7 416 208 416H240C253.3 416 264 405.3 264 392V104.6L378.8 225.1C388.1 234.9000000000001 403.6 235.1 413.1 225.5000000000001z" /> + <glyph glyph-name="arrow-left" + unicode="" + horiz-adv-x="448" d=" M257.5 2.9L235.3 -19.3C225.9 -28.7 210.7 -28.7 201.4 -19.3L7 175C-2.4 184.4 -2.4 199.6 7 208.9L201.4 403.3C210.8 412.7 226 412.7 235.3 403.3L257.5 381.1C267 371.6 266.8 356.1 257.1 346.8L136.6 232H424C437.3 232 448 221.3 448 208V176C448 162.7 437.3 152 424 152H136.6L257.1 37.2C266.9000000000001 27.9 267.1 12.4 257.5 2.9z" /> + <glyph glyph-name="arrow-right" + unicode="" + horiz-adv-x="448" d=" M190.5 381.1L212.7 403.3C222.1 412.7 237.3 412.7 246.6 403.3L441 209C450.4 199.6 450.4 184.4 441 175.1L246.6 -19.3C237.2 -28.7 222 -28.7 212.7 -19.3L190.5 2.9C181 12.4 181.2 27.9 190.9 37.2L311.4 152H24C10.7 152 0 162.7 0 176V208C0 221.3 10.7 232 24 232H311.4L190.9 346.8C181.1 356.1 180.9 371.6 190.5 381.1z" /> + <glyph glyph-name="arrow-up" + unicode="" + horiz-adv-x="448" d=" M34.9 158.5L12.7 180.7C3.3 190.1 3.3 205.3 12.7 214.6L207 409C216.4 418.4 231.6 418.4 240.9 409L435.2000000000001 214.7C444.6 205.3 444.6 190.1 435.2000000000001 180.8L413 158.6C403.5 149.1 388 149.3 378.7 159L264 279.4V-8C264 -21.3 253.3 -32 240 -32H208C194.7 -32 184 -21.3 184 -8V279.4L69.2 158.9C59.9 149.1 44.4 148.9 34.9 158.5z" /> + <glyph glyph-name="arrows-alt-h" + unicode="" + horiz-adv-x="512" d=" M377.941 278.059V232H134.059V278.059C134.059 299.4410000000001 108.208 310.149 93.088 295.03L7.029 208.971C-2.344 199.598 -2.344 184.403 7.029 175.03L93.088 88.971C108.207 73.852 134.059 84.56 134.059 105.942V152H377.9410000000001V105.941C377.9410000000001 84.559 403.7920000000001 73.851 418.9120000000001 88.97L504.971 175.029C514.344 184.402 514.344 199.597 504.971 208.97L418.9120000000001 295.029C403.793 310.149 377.9410000000001 299.4410000000001 377.9410000000001 278.059z" /> + <glyph glyph-name="arrows-alt-v" + unicode="" + horiz-adv-x="256" d=" M214.059 70.059H168V313.9410000000001H214.059C235.441 313.9410000000001 246.149 339.7920000000001 231.03 354.9120000000001L144.971 440.971C135.598 450.344 120.403 450.344 111.03 440.971L24.971 354.9120000000001C9.852 339.793 20.56 313.9410000000001 41.942 313.9410000000001H88V70.059H41.941C20.559 70.059 9.851 44.208 24.97 29.088L111.029 -56.971C120.402 -66.344 135.597 -66.344 144.97 -56.971L231.029 29.088C246.149 44.207 235.441 70.059 214.059 70.059z" /> + <glyph glyph-name="arrows-alt" + unicode="" + horiz-adv-x="512" d=" M352.201 22.225L273.005 -56.971C263.632 -66.344 248.437 -66.344 239.064 -56.971L159.868 22.225C144.749 37.3440000000001 155.457 63.196 176.839 63.1950000000001H228.001L228 164H127.196V112.838C127.196 91.456 101.345 80.7480000000001 86.225 95.867L7.029 175.063C-2.344 184.436 -2.344 199.632 7.029 209.004L86.225 288.2C101.344 303.319 127.196 292.611 127.196 271.229V220H228V320.804H176.77C155.388 320.804 144.68 346.655 159.799 361.775L238.995 440.971C248.368 450.344 263.563 450.344 272.9360000000001 440.971L352.1320000000001 361.775C367.2510000000001 346.656 356.5430000000001 320.804 335.1610000000001 320.804H283.9990000000001V220H384.8030000000001V271.1620000000001C384.8030000000001 292.544 410.6540000000001 303.252 425.7730000000002 288.1330000000001L504.9690000000002 208.937C514.3420000000002 199.564 514.3420000000002 184.368 504.9690000000002 174.996L425.773 95.8C410.654 80.681 384.802 91.389 384.803 112.771V164H284V63.196H335.23C356.612 63.196 367.3200000000001 37.345 352.201 22.225z" /> + <glyph glyph-name="assistive-listening-systems" + unicode="" + horiz-adv-x="512" d=" M216 188C216 172.536 203.464 160 188 160S160 172.536 160 188C160 232.112 195.888 268 240 268S320 232.112 320 188C320 172.536 307.464 160 292 160S264 172.536 264 188C264 201.234 253.233 212 240 212S216 201.234 216 188zM240 364C142.953 364 64 285.0470000000001 64 188C64 172.536 76.536 160 92 160S120 172.536 120 188C120 254.168 173.832 308 240 308S360 254.168 360 188C360 112.836 288.991 117.689 288.003 44.378L288 44C288 15.327 264.673 -8 236 -8C220.536 -8 208 -20.536 208 -36S220.536 -64 236 -64C295.475 -64 343.876 -15.672 344 43.774C344.5950000000001 78.202 416 92.014 416 188C416 285.0470000000001 337.0470000000001 364 240 364zM160 128C142.327 128 128 113.673 128 96S142.327 64 160 64S192 78.327 192 96S177.673 128 160 128zM32 0C14.327 0 0 -14.327 0 -32S14.327 -64 32 -64S64 -49.673 64 -32S49.673 0 32 0zM512 187.993C512 189.511 511.988 191.018 511.955 192.524C510.076 307.475 436.157 409.53 327.9940000000001 446.489C313.3610000000001 451.487 297.4450000000001 443.68 292.444 429.0470000000001C287.444 414.414 295.254 398.498 309.886 393.497C395.7920000000001 364.1430000000001 454.496 282.984 455.963 191.544L455.966 191.356C455.992 190.238 455.999 189.12 455.999 187.993C455.999 172.529 468.535 159.993 483.999 159.993S512 172.529 512 187.993zM152.971 8.971L72.971 88.971L39.03 55.03L119.03 -24.97L152.971 8.971z" /> + <glyph glyph-name="asterisk" + unicode="" + horiz-adv-x="512" d=" M478.21 113.907L336 192L478.21 270.093C490.0050000000001 276.5700000000001 494.171 291.4770000000001 487.442 303.13L467.962 336.8710000000001C461.234 348.524 446.242 352.37 434.735 345.394L296 261.2820000000001L299.475 423.486C299.763 436.939 288.937 448 275.48 448H236.52C223.064 448 212.237 436.939 212.526 423.486L216 261.2820000000001L77.265 345.3930000000001C65.759 352.3690000000001 50.766 348.523 44.038 336.87L24.558 303.129C17.83 291.476 21.996 276.569 33.791 270.092L176 192L33.79 113.907C21.995 107.43 17.829 92.523 24.558 80.87L44.038 47.129C50.766 35.476 65.759 31.63 77.265 38.606L216 122.718L212.525 -39.486C212.237 -52.939 223.064 -64 236.52 -64H275.481C288.937 -64 299.764 -52.939 299.476 -39.486L296 122.718L434.735 38.607C446.241 31.631 461.234 35.477 467.962 47.1300000000001L487.442 80.871C494.17 92.5240000000001 490.005 107.4300000000001 478.21 113.9070000000001z" /> + <glyph glyph-name="at" + unicode="" + horiz-adv-x="512" d=" M256 440C118.941 440 8 329.081 8 192C8 54.941 118.919 -56 256 -56C304.154 -56 351.342 -41.86 391.408 -15.777C403.413 -7.962 406.033 8.511 396.9600000000001 19.595L386.783 32.028C379.112 41.399 365.6040000000001 43.695 355.4100000000001 37.157C325.92 18.243 291.314 8 256 8C154.542 8 72 90.542 72 192S154.542 376 256 376C356.139 376 440 318.381 440 216C440 177.214 418.907 136.258 381.83 132.307C364.481 132.761 364.92 145.164 368.354 162.331L391.787 283.4410000000001C394.653 298.25 383.308 312 368.225 312H323.2440000000001A13.518 13.518 0 0 1 309.812 300.007L309.802 299.915C295.105 317.8160000000001 269.3540000000001 321.69 249.831 321.69C175.251 321.69 112 259.456 112 170.23C112 104.927 148.785 64.36 208 64.36C234.9840000000001 64.36 265.3690000000001 79.997 282.9910000000001 102.693C292.5130000000001 68.589 323.6040000000001 68.59 353.701 68.59C462.609 68.59 504 140.202 504 216C504 352.347 394.023 440 256 440zM234.32 135.57C212.071 135.57 198.25 151.193 198.25 176.341C198.25 221.334 229.029 249.07 256.88 249.07C279.1720000000001 249.07 292.481 233.829 292.481 208.3C292.481 163.239 258.606 135.57 234.32 135.57z" /> + <glyph glyph-name="atlas" + unicode="" + horiz-adv-x="448" d=" M318.38 240H279.29C277.8 212.97 272.75 188.65 265.08 169.59C292.79 182.8300000000001 313.1 208.78 318.38 240.0000000000001zM318.38 272C313.09 303.2200000000001 292.79 329.17 265.08 342.41C272.76 323.35 277.8 299.03 279.29 272H318.38zM224 350.69C216.31 343.24 203.23 316.27 200.57 272H247.44C244.77 316.26 231.69 343.24 224 350.69zM182.92 342.41C155.21 329.17 134.9 303.2200000000001 129.62 272H168.71C170.2 299.03 175.24 323.35 182.92 342.41zM182.92 169.59C175.24 188.65 170.2 212.97 168.71 240.0000000000001H129.62C134.9 208.78 155.21 182.8300000000001 182.92 169.59zM247.43 240H200.56C203.22 195.74 216.3 168.76 223.99 161.31C231.69 168.76 244.77 195.74 247.43 240zM448 89.6V422.4C448 438.4 438.4 448 422.4 448H96C41.6 448 0 406.4 0 352V32C0 -22.4 41.6 -64 96 -64H422.4C435.2 -64 448 -54.4 448 -38.4V-22.4C448 -16 444.8 -9.6 438.4 -3.2C435.2 12.8 435.2 57.6 438.4 70.4C444.8 73.6 448 80 448 89.6zM224 384C294.69 384 352 326.69 352 256S294.69 128 224 128S96 185.31 96 256S153.31 384 224 384zM384 0H96C76.8 0 64 12.8 64 32S80 64 96 64H384V0z" /> + <glyph glyph-name="atom" + unicode="" + horiz-adv-x="448" d=" M413.03 192C453.16 246.89 454.54 290.62 438.17 320C427.26 339.52 397.63 370.73 321.84 361.88C300.36 413.11 267.64 448 224 448S147.64 413.11 126.16 361.88C50.43 370.66 20.73 339.52 9.83 320C-6.55 290.6 -5.17 246.91 34.97 192C-5.16 137.11 -6.54 93.38 9.83 64C39.04 11.66 111.51 20.42 126.16 22.12C147.63 -29.1 180.36 -64 224 -64S300.37 -29.1 321.8400000000001 22.12C336.48 20.42 408.9500000000001 11.66 438.17 64C454.55 93.4 453.17 137.09 413.0300000000001 192zM63.38 96C59.35 103.21 63.19 120.8 78.33 144.29C85.29 137.7600000000001 92.53 131.4 100.2 125.11C101.91 111.4 104.2 98.03 106.96 85.03C82.4 84.14 67.07 89.4 63.38 96.0000000000001zM100.2 258.88C92.54 252.59 85.3 246.23 78.33 239.7C63.2 263.2 59.36 280.79 63.38 288C66.79 294.14 79.77 299.4700000000001 101.3 299.4700000000001C103.01 299.4700000000001 105.17 299.17 106.99 299.1A472.19100000000003 472.19100000000003 0 0 1 100.2 258.88zM224 384C233.47 384 246.2 370.48 257.86 346.74C246.67 343.04 235.42 338.74 224 333.88C212.58 338.74 201.33 343.04 190.14 346.74C201.8 370.48 214.53 384 224 384zM224 0C214.53 0 201.8 13.52 190.14 37.26C201.33 40.96 212.58 45.26 224 50.12C235.42 45.26 246.67 40.96 257.86 37.26C246.2 13.52 233.47 0 224 0zM286.5 157.3300000000001C259.8 138.2500000000001 240.36 128.0000000000001 224 119.85C207.65 127.99 188.2 138.2600000000001 161.5 157.3300000000001C159.51 185.1200000000001 159.51 198.87 161.5 226.6600000000001C188.17 245.7100000000001 207.63 255.98 224 264.14C240.39 255.9700000000001 259.86 245.7 286.5 226.6600000000001C288.48 198.88 288.49 185.13 286.5 157.3300000000001zM384.62 96C380.95 89.38 365.62 84.18 341.04 85.05C343.8 98.05 346.0900000000001 111.42 347.8 125.11C355.4600000000001 131.4 362.7 137.76 369.67 144.29C384.8 120.8 388.64 103.21 384.62 96zM369.67 239.71C362.7100000000001 246.24 355.4700000000001 252.6 347.8 258.89A473.535 473.535 0 0 1 341.01 299.11C342.83 299.18 344.98 299.48 346.7 299.48C368.22 299.48 381.21 294.14 384.62 288.01C388.64 280.79 384.8 263.2000000000001 369.67 239.7100000000001zM224 224C206.33 224 192 209.67 192 192S206.33 160 224 160S256 174.33 256 192S241.67 224 224 224z" /> + <glyph glyph-name="audio-description" + unicode="" + horiz-adv-x="512" d=" M162.925 209.291L171.747 178.636H146.141L155.182 209.288C156.459 213.709 157.833 219.282 159.054 224.533C160.274 219.282 161.648 213.71 162.9250000000001 209.291zM329.399 241.39H314.876V142.609H329.399C359.175 142.609 375.574 160.287 375.574 192.385C375.574 224.624 358.084 241.39 329.399 241.39zM512 336V48C512 21.49 490.51 0 464 0H48C21.49 0 0 21.49 0 48V336C0 362.51 21.49 384 48 384H464C490.51 384 512 362.51 512 336zM245.459 111.861L188.362 279.861A12.001000000000001 12.001000000000001 0 0 1 177 288H141.106A12.001000000000001 12.001000000000001 0 0 1 129.744 279.861L72.647 111.861C70.003 104.078 75.789 96 84.009 96H113.142A12 12 0 0 1 124.677 104.693L133.251 134.599H184.618L193.411 104.622A12 12 0 0 1 204.926 96H234.098C242.318 96 248.104 104.078 245.459 111.861zM430.16 192.386C430.16 251.363 392.241 288 331.2 288H273.834C267.207 288 261.834 282.627 261.834 276V108C261.834 101.373 267.207 96 273.834 96H331.2C392.241 96 430.16 132.933 430.16 192.386z" /> + <glyph glyph-name="award" + unicode="" + horiz-adv-x="384" d=" M97.12 85.37C88.43 94.06 92.96 91.61 72 97.22C62.49 99.77 54.13 104.67 46.57 110.54L1.2 -0.7C-3.19 -11.47 5.01 -23.17 16.63 -22.73L69.32 -20.72L105.56 -59C113.56 -67.44 127.6 -64.8099999999999 131.99 -54.04L184.04 73.58C173.2 67.54 161.17 64 148.73 64C129.23 64 110.91 71.59 97.12 85.37zM382.8 -0.7L337.43 110.54C329.87 104.66 321.51 99.77 312 97.22C290.93 91.58 295.55 94.04 286.88 85.37C273.09 71.59 254.76 64 235.26 64C222.82 64 210.79 67.55 199.95 73.58L252 -54.04C256.39 -64.8100000000001 270.44 -67.44 278.43 -59L314.68 -20.72L367.37 -22.73C378.99 -23.17 387.19 -11.46 382.8 -0.7zM263 108C278.28 123.55 280.03 122.21 301.79 128.14C315.68 131.93 326.54 142.98 330.26 157.12C337.74 185.52 335.8 182.09 356.21 202.87C366.38 213.22 370.35 228.31 366.63 242.45C359.16 270.83 359.15 266.87 366.63 295.28C370.35 309.42 366.38 324.51 356.21 334.86C335.8 355.64 337.74 352.22 330.26 380.61C326.54 394.75 315.68 405.8 301.79 409.59C273.91 417.2 277.27 415.21 256.84 436C246.67 446.35 231.84 450.4 217.95 446.61C190.08 439.01 193.97 439 166.05 446.61C152.16 450.4 137.33 446.36 127.16 436C106.75 415.22 110.11 417.2 82.22 409.59C68.33 405.8 57.47 394.75 53.75 380.61C46.28 352.22 48.21 355.64 27.8 334.86C17.63 324.51 13.65 309.42 17.38 295.28C24.85 266.92 24.86 270.88 17.38 242.46C13.66 228.32 17.63 213.23 27.8 202.87C48.21 182.09 46.27 185.52 53.75 157.12C57.47 142.98 68.33 131.93 82.22 128.14C104.6 122.04 106.27 123 121 108C134.23 94.53 154.84 92.12 170.74 102.18A39.676 39.676 0 0 0 213.27 102.18C229.1600000000001 92.12 249.77 94.53 263 108zM97.66 272.04C97.66 325.07 139.9 368.06 192 368.06S286.3400000000001 325.07 286.3400000000001 272.04S244.1 176.02 192 176.02S97.66 219.01 97.66 272.04z" /> + <glyph glyph-name="backspace" + unicode="" + horiz-adv-x="640" d=" M576 384H205.26A63.97 63.97 0 0 1 160 365.25L9.37 214.63C-3.13 202.13 -3.13 181.87 9.37 169.38L160 18.75C172 6.75 188.28 0 205.25 0H576C611.35 0 640 28.65 640 64V320C640 355.35 611.35 384 576 384zM491.31 129.94C497.56 123.69 497.56 113.56 491.31 107.31L468.69 84.69C462.44 78.44 452.31 78.44 446.06 84.69L384 146.75L321.94 84.69C315.69 78.44 305.56 78.44 299.31 84.69L276.69 107.31C270.44 113.56 270.44 123.69 276.69 129.94L338.75 192L276.69 254.06C270.44 260.31 270.44 270.44 276.69 276.69L299.31 299.31C305.56 305.56 315.69 305.56 321.94 299.31L384 237.25L446.06 299.31C452.31 305.56 462.44 305.56 468.69 299.31L491.31 276.69C497.56 270.44 497.56 260.31 491.31 254.06L429.25 192L491.31 129.94z" /> + <glyph glyph-name="backward" + unicode="" + horiz-adv-x="512" d=" M11.5 167.4L203.5 7.4C224.1 -9.8 256 4.6 256 32V352C256 379.4 224.1 393.8 203.5 376.6L11.5 216.6C-3.8 203.8 -3.8 180.2 11.5 167.4zM267.5 167.4L459.5 7.4C480.1 -9.8 512 4.6 512 32V352C512 379.4 480.1 393.8 459.5 376.6L267.5 216.6C252.2 203.8 252.2 180.2 267.5 167.4z" /> + <glyph glyph-name="balance-scale" + unicode="" + horiz-adv-x="640" d=" M256 112H255.98C255.98 128.18 257.32 120.73 170.93 293.51C153.28 328.8 102.74 328.87 85.06 293.51C-2.06 119.25 0.02 127.67 0.02 112H0C0 67.82 57.31 32 128 32S256 67.82 256 112zM128 272L200 128H56L128 272zM639.98 112C639.98 128.18 641.32 120.73 554.9300000000001 293.51C537.2800000000001 328.8 486.7400000000001 328.87 469.0600000000001 293.51C381.9400000000001 119.25 384.0200000000001 127.67 384.0200000000001 112H384C384 67.82 441.31 32 512 32S640 67.82 640 112H639.98zM440 128L512 272L584 128H440zM528 0H352V294.75C375.51 305.04 393.16 326.23 398.39 352H528C536.84 352 544 359.16 544 368V400C544 408.8400000000001 536.84 416 528 416H383.64C369.04 435.32 346.09 448 320 448S270.96 435.32 256.36 416H112C103.16 416 96 408.8400000000001 96 400V368C96 359.16 103.16 352 112 352H241.61C246.84 326.24 264.48 305.04 288 294.75V0H112C103.16 0 96 -7.16 96 -16V-48C96 -56.84 103.16 -64 112 -64H528C536.84 -64 544 -56.84 544 -48V-16C544 -7.16 536.84 0 528 0z" /> + <glyph glyph-name="ban" + unicode="" + horiz-adv-x="512" d=" M256 440C119.034 440 8 328.967 8 192S119.034 -56 256 -56S504 55.034 504 192S392.967 440 256 440zM386.108 322.108C451.556 256.6600000000001 456.108 156.627 406.7850000000001 86.471L150.47 342.784C220.674 392.14 320.6960000000001 387.519 386.108 322.108zM125.892 61.892C60.444 127.34 55.892 227.373 105.215 297.529L361.53 41.216C291.327 -8.14 191.304 -3.52 125.892 61.892z" /> + <glyph glyph-name="band-aid" + unicode="" + horiz-adv-x="640" d=" M0 288V96C0 60.7 28.7 32 64 32H160V352H64C28.7 352 0 323.3 0 288zM576 352H480V32H576C611.3 32 640 60.7 640 96V288C640 323.3 611.3 352 576 352zM192 32H448V352H192V32zM368 264C381.3 264 392 253.3 392 240S381.3 216 368 216S344 226.7 344 240S354.7 264 368 264zM368 168C381.3 168 392 157.3 392 144S381.3 120 368 120S344 130.7 344 144S354.7 168 368 168zM272 264C285.3 264 296 253.3 296 240S285.3 216 272 216S248 226.7 248 240S258.7 264 272 264zM272 168C285.3 168 296 157.3 296 144S285.3 120 272 120S248 130.7 248 144S258.7 168 272 168z" /> + <glyph glyph-name="barcode" + unicode="" + horiz-adv-x="512" d=" M0 0V384H18V0H0zM26.857 0.273V384H36V0.273H26.857zM54 0.273V384H62.857V0.273H54zM98.857 0.273V384H107.714V0.273H98.857zM134.857 0.273V384H152.571V0.273H134.857zM179.714 0.273V384H188.571V0.273H179.714zM197.714 0.273V384H206.571V0.273H197.714zM215.714 0.273V384H224.571V0.273H215.714zM251.429 0.273V384H269.429V0.273H251.429zM296.286 0.273V384H314.286V0.273H296.286zM332.2850000000001 0.273V384H350.286V0.273H332.2850000000001zM368.286 0.273V384H386.287V0.273H368.286zM395.1430000000001 0.273V384H413.1430000000001V0.273H395.1430000000001zM440.2860000000001 0.273V384H467.143V0.273H440.2860000000001zM476.0000000000001 0.273V384H485.143V0.273H476zM494.0000000000001 0V384H512V0H494z" /> + <glyph glyph-name="bars" + unicode="" + horiz-adv-x="448" d=" M16 316H432C440.837 316 448 323.163 448 332V372C448 380.837 440.837 388 432 388H16C7.163 388 0 380.837 0 372V332C0 323.163 7.163 316 16 316zM16 156H432C440.837 156 448 163.163 448 172V212C448 220.837 440.837 228 432 228H16C7.163 228 0 220.837 0 212V172C0 163.163 7.163 156 16 156zM16 -4H432C440.837 -4 448 3.163 448 12V52C448 60.837 440.837 68 432 68H16C7.163 68 0 60.837 0 52V12C0 3.163 7.163 -4 16 -4z" /> + <glyph glyph-name="baseball-ball" + unicode="" + horiz-adv-x="496" d=" M368.5 84.1L397.3 98C408.4000000000001 75.1 423.3 54.8 441.4000000000001 37.1C475.4 79.6 495.9 133.4 495.9 192C495.9 250.5000000000001 475.5000000000001 304.2000000000001 441.7000000000001 346.6C423.9000000000001 329.3 409.1 309.5 398.1 287.1L369.4000000000001 301.2000000000001C382.2000000000001 327.2000000000001 399.4000000000001 350.2000000000001 420.2000000000001 370.2000000000001C375.6 413.3 315 440 248 440C181.1 440 120.5 413.4 75.9 370.3C96.6 350.4 113.8 327.4 126.6 301.5L97.9 287.4C86.9 309.7000000000001 72.2 329.5 54.4 346.8C20.4 304.3 0 250.6 0 192C0 133.4 20.4 79.7 54.4 37.3C72.6 55 87.6 75.3 98.7 98.3L127.5 84.4C114.6 57.7000000000001 97.2 34.1 76 13.7C120.5 -29.4 181.1 -55.9999999999999 248 -55.9999999999999C314.8 -55.9999999999999 375.3 -29.4999999999999 419.9 13.5000000000001C398.8 33.9 381.4 57.4 368.5 84.1zM140.2 116.1L109.7 125.9C124.6 172.3 122.4 219.7000000000001 109.1 259.9000000000001L139.5 269.9000000000001C154.5 224.3000000000001 157.5 170 140.2 116.1zM356.5 269.5L386.9 259.5C373.7 219.4 371.4 172 386.3 125.5L355.8 115.7C338.5 169.7 341.5 224 356.5 269.5z" /> + <glyph glyph-name="basketball-ball" + unicode="" + horiz-adv-x="496" d=" M212.3 437.7C168.5 431.4 126.1 413.6 90.1 383.9L167.5 306.5C195.3 342.3 210.8 387.7 212.3 437.7zM248 226L405.9 383.9C363.5 418.9 312.3 437.4 260.4 440C259.2 376.1 238.9 317.7000000000001 201.7 272.3L248 226zM56.1 349.9C26.4 313.9 8.6 271.5 2.3 227.7C52.3 229.2 97.8 244.7 133.5 272.5L56.1 349.9zM328.3 145.7000000000001C373.6 182.8000000000001 432 203.1000000000001 496 204.4C493.4 256.3000000000001 474.9 307.5 439.9 349.9000000000001L282 192L328.3 145.7zM248 158L90.1 0.1C132.5 -34.8 183.7 -53.4 235.6 -56C236.9 8 257.2 66.4 294.3 111.7L248 158zM439.9 34.1C469.6 70.1 487.4 112.5 493.7 156.3C443.6 154.7 398.2 139.2 362.5 111.5L439.9 34.1zM167.7 238.3C122.3 201.1 63.9 180.7 0 179.6C2.6 127.7000000000001 21.1 76.5 56.1 34.1L214 192L167.7 238.3zM283.7 -53.7C327.5 -47.4 369.9 -29.6 405.9 0.1L328.5 77.5C300.8 41.8 285.3 -3.7 283.7 -53.7z" /> + <glyph glyph-name="bath" + unicode="" + horiz-adv-x="512" d=" M488 192H80V336C80 353.645 94.355 368 112 368C123.351 368 133.332 362.055 139.015 353.12C122.523 327.913 124.328 293.544 145.853 270.0850000000001C141.677 265.372 141.832 258.169 146.344 253.657L157.658 242.343C162.344 237.657 169.942 237.657 174.629 242.343L269.659 337.372C274.345 342.058 274.345 349.656 269.659 354.343L258.345 365.6570000000001C253.833 370.169 246.63 370.323 241.917 366.148C223.968 382.617 199.623 387.577 177.739 381.5130000000001C163.281 402.333 139.212 416 112 416C67.888 416 32 380.112 32 336V192H24C10.745 192 0 181.255 0 168V152C0 138.745 10.745 128 24 128H32V96C32 67.57 44.362 42.031 64 24.453V-8C64 -21.255 74.745 -32 88 -32H104C117.255 -32 128 -21.255 128 -8V0H384V-8C384 -21.255 394.745 -32 408 -32H424C437.255 -32 448 -21.255 448 -8V24.453C467.638 42.031 480 67.57 480 96V128H488C501.255 128 512 138.745 512 152V168C512 181.255 501.255 192 488 192z" /> + <glyph glyph-name="battery-empty" + unicode="" + horiz-adv-x="640" d=" M544 288V224H576V160H544V96H64V288H544M560 352H48C21.49 352 0 330.51 0 304V80C0 53.49 21.49 32 48 32H560C586.51 32 608 53.49 608 80V96H616C629.255 96 640 106.745 640 120V264C640 277.255 629.255 288 616 288H608V304C608 330.51 586.51 352 560 352z" /> + <glyph glyph-name="battery-full" + unicode="" + horiz-adv-x="640" d=" M544 288V224H576V160H544V96H64V288H544M560 352H48C21.49 352 0 330.51 0 304V80C0 53.49 21.49 32 48 32H560C586.51 32 608 53.49 608 80V96H616C629.255 96 640 106.745 640 120V264C640 277.255 629.255 288 616 288H608V304C608 330.51 586.51 352 560 352zM512 256H96V128H512V256z" /> + <glyph glyph-name="battery-half" + unicode="" + horiz-adv-x="640" d=" M544 288V224H576V160H544V96H64V288H544M560 352H48C21.49 352 0 330.51 0 304V80C0 53.49 21.49 32 48 32H560C586.51 32 608 53.49 608 80V96H616C629.255 96 640 106.745 640 120V264C640 277.255 629.255 288 616 288H608V304C608 330.51 586.51 352 560 352zM320 256H96V128H320V256z" /> + <glyph glyph-name="battery-quarter" + unicode="" + horiz-adv-x="640" d=" M544 288V224H576V160H544V96H64V288H544M560 352H48C21.49 352 0 330.51 0 304V80C0 53.49 21.49 32 48 32H560C586.51 32 608 53.49 608 80V96H616C629.255 96 640 106.745 640 120V264C640 277.255 629.255 288 616 288H608V304C608 330.51 586.51 352 560 352zM224 256H96V128H224V256z" /> + <glyph glyph-name="battery-three-quarters" + unicode="" + horiz-adv-x="640" d=" M544 288V224H576V160H544V96H64V288H544M560 352H48C21.49 352 0 330.51 0 304V80C0 53.49 21.49 32 48 32H560C586.51 32 608 53.49 608 80V96H616C629.255 96 640 106.745 640 120V264C640 277.255 629.255 288 616 288H608V304C608 330.51 586.51 352 560 352zM416 256H96V128H416V256z" /> + <glyph glyph-name="bed" + unicode="" + horiz-adv-x="640" d=" M176 192C220.11 192 256 227.89 256 272S220.11 352 176 352S96 316.11 96 272S131.89 192 176 192zM528 320H304C295.1600000000001 320 288 312.8400000000001 288 304V160H64V368C64 376.8400000000001 56.84 384 48 384H16C7.16 384 0 376.8400000000001 0 368V16C0 7.16 7.16 0 16 0H48C56.84 0 64 7.16 64 16V64H576V16C576 7.16 583.16 0 592 0H624C632.84 0 640 7.16 640 16V208C640 269.86 589.86 320 528 320z" /> + <glyph glyph-name="beer" + unicode="" + horiz-adv-x="448" d=" M368 352H320V392C320 405.255 309.255 416 296 416H24C10.745 416 0 405.255 0 392V-8C0 -21.255 10.745 -32 24 -32H296C309.255 -32 320 -21.255 320 -8V34.11L400.606 70.087C429.396 82.937 448 111.612 448 143.14V272C448 316.112 412.112 352 368 352zM384 143.14A16.018 16.018 0 0 0 374.521 128.529L320 104.195V288H368C376.822 288 384 280.822 384 272V143.14zM208 64C199.164 64 192 71.164 192 80V304C192 312.836 199.164 320 208 320S224 312.836 224 304V80C224 71.164 216.836 64 208 64zM112 64C103.164 64 96 71.164 96 80V304C96 312.836 103.164 320 112 320S128 312.836 128 304V80C128 71.164 120.836 64 112 64z" /> + <glyph glyph-name="bell-slash" + unicode="" + horiz-adv-x="640" d=" M633.82 -10.1L543.2 59.95C543.3900000000001 61.33 544 62.61 544 64.01C544.05 71.56 541.39 79.28 535.39 85.72C516.0699999999999 106.48 479.92 137.71 479.92 240.01C479.92 317.71 425.44 379.91 351.98 395.17V416C351.98 433.67 337.66 448 320 448S288.0199999999999 433.67 288.0199999999999 416V395.16C247.69 386.78 213.3599999999999 364.0900000000001 190.4299999999999 332.5900000000001L45.47 444.63C38.49 450.05 28.43 448.8 23.01 441.82L3.37 416.55C-2.05 409.58 -0.8 399.53 6.18 394.1L594.53 -60.63C601.51 -66.0599999999999 611.56 -64.7999999999999 616.99 -57.82L636.63 -32.55C642.05 -25.58 640.8 -15.53 633.82 -10.1zM157.23 196.46C148.62 128.5 120.82 103.13 104.61 85.71C98.61 79.2600000000001 95.95 71.55 96 64.0000000000001C96.11 47.6000000000001 108.98 32.0000000000001 128.1 32.0000000000001H370.02L157.23 196.46zM320 -64C355.32 -64 383.9700000000001 -35.35 383.9700000000001 0H256.03C256.03 -35.35 284.68 -64 320 -64z" /> + <glyph glyph-name="bell" + unicode="" + horiz-adv-x="448" d=" M224 -64C259.32 -64 287.9700000000001 -35.35 287.9700000000001 0H160.03C160.03 -35.35 188.68 -64 224 -64zM439.39 85.71C420.07 106.47 383.92 137.7000000000001 383.92 240.0000000000001C383.92 317.7000000000001 329.44 379.9000000000001 255.98 395.1600000000001V416C255.98 433.67 241.66 448 224 448S192.02 433.67 192.02 416V395.16C118.56 379.9 64.08 317.7 64.08 240C64.08 137.7 27.93 106.47 8.61 85.71C2.61 79.2600000000001 -0.05 71.55 0 64.0000000000001C0.11 47.6000000000001 12.98 32.0000000000001 32.1 32.0000000000001H415.9000000000001C435.0200000000001 32.0000000000001 447.9000000000001 47.6000000000001 448.0000000000001 64.0000000000001C448.0500000000001 71.5500000000001 445.3900000000001 79.27 439.3900000000001 85.71z" /> + <glyph glyph-name="bezier-curve" + unicode="" + horiz-adv-x="640" d=" M368 416H272C254.33 416 240 401.67 240 384V288C240 270.33 254.33 256 272 256H368C385.67 256 400 270.3300000000001 400 288V384C400 401.67 385.67 416 368 416zM208 360H123.25C113.75 383.44 90.84 400 64 400C28.66 400 0 371.35 0 336S28.66 272 64 272C90.84 272 113.75 288.56 123.25 312H202.98C147.61 279.48 107.12 224.68 93.44 160H142.84C154.14 201.61 179.61 237.21 213.88 261.56C210.18 269.64 208 278.55 208 288V360zM160 128H64C46.33 128 32 113.67 32 96V0C32 -17.67 46.33 -32 64 -32H160C177.67 -32 192 -17.67 192 0V96C192 113.67 177.67 128 160 128zM576 400C549.16 400 526.25 383.44 516.75 360H432V288C432 278.55 429.81 269.64 426.12 261.56C460.39 237.21 485.86 201.61 497.16 160H546.5600000000001C532.8800000000001 224.68 492.39 279.48 437.0200000000001 312H516.75C526.25 288.56 549.16 272 576 272C611.34 272 640 300.65 640 336S611.34 400 576 400zM576 128H480C462.33 128 448 113.67 448 96V0C448 -17.67 462.33 -32 480 -32H576C593.67 -32 608 -17.67 608 0V96C608 113.67 593.67 128 576 128z" /> + <glyph glyph-name="bible" + unicode="" + horiz-adv-x="448" d=" M448 89.6V422.4C448 438.4 438.4 448 422.4 448H96C41.6 448 0 406.4 0 352V32C0 -22.4 41.6 -64 96 -64H422.4C435.2 -64 448 -54.4 448 -38.4V-22.4C448 -16 444.8 -9.6 438.4 -3.2C435.2 12.8 435.2 57.6 438.4 70.4C444.8 73.6 448 80 448 89.6zM144 304C144 312.8400000000001 151.16 320 160 320H208V368C208 376.8400000000001 215.16 384 224 384H256C264.84 384 272 376.8400000000001 272 368V320H320C328.84 320 336 312.8400000000001 336 304V272C336 263.16 328.84 256 320 256H272V144C272 135.16 264.84 128 256 128H224C215.16 128 208 135.16 208 144V256H160C151.16 256 144 263.16 144 272V304zM380.8 0H96C76.8 0 64 12.8 64 32S80 64 96 64H380.8V0z" /> + <glyph glyph-name="bicycle" + unicode="" + horiz-adv-x="640" d=" M512.509 255.999C496.136 256.063 480.479 253.044 466.073 247.504L388.3930000000001 372.657A24 24 0 0 1 368.001 384H304.001C295.164 384 288.001 376.837 288.001 368V352C288.001 343.163 295.164 336 304.001 336H354.65L369.546 312H256.002V328C256.002 336.837 248.839 344 240.002 344H152.543C139.102 344 127.766 333.001 128.007 319.563C128.239 306.519 138.883 296 152.002 296H200.728L171.311 248.48C157.878 253.31 143.407 255.963 128.319 256C58.094 256.17 0.412 198.988 0.002 128.764C-0.413 57.721 57.055 0 128.002 0C187.644 0 237.76 40.793 251.969 96H304.002A24 24 0 0 1 324.408 107.367L410.37 246.23L425.308 222.163C399.853 198.715 383.923 165.082 384.001 127.726C384.146 58.893 441.9 0.675 510.73 0.007C581.336 -0.678 638.911 55.81 639.9849999999999 126.003C641.0709999999999 196.944 583.459 255.723 512.5089999999999 255.999zM186.75 182.228C196.477 171.699 203.423 158.567 206.392 144H163.086L186.75 182.228zM128.002 48C83.89 48 48.002 83.888 48.002 128S83.89 208 128.002 208C133.871 208 139.588 207.347 145.101 206.141L99.596 132.632C89.715 116.673 101.213 96 120.002 96H201.302C188.932 67.775 160.74 48 128.002 48zM290.632 144H255.008C251.048 175.756 235.452 203.894 212.625 224.026L237.371 264H364.918L290.632 144zM507.689 48.114C466.653 50.2790000000001 433.64 83.806 432.062 124.869C431.25 145.99 438.695 165.3870000000001 451.3969999999999 180.132L495.8299999999999 108.546C500.49 101.038 510.3539999999999 98.73 517.862 103.39L531.456 111.827C538.964 116.487 541.273 126.351 536.612 133.859L492.1439999999999 205.502A79.901 79.901 0 0 0 512.002 207.999C556.1139999999999 207.999 592.002 172.111 592.002 127.999C592.001 82.459 553.75 45.683 507.689 48.114z" /> + <glyph glyph-name="binoculars" + unicode="" + horiz-adv-x="512" d=" M416 400C416 408.8400000000001 408.84 416 400 416H336C327.1600000000001 416 320 408.8400000000001 320 400V352H416V400zM63.91 288.01C61.4 194.16 3.46 173.78 0 44V0C0 -17.67 14.33 -32 32 -32H128C145.67 -32 160 -17.67 160 0V160H192V320H95.84C78.21 320 64.39 305.63 63.91 288.01zM448.0900000000001 288.01C447.61 305.63 433.79 320 416.1600000000001 320H320V160H352V0C352 -17.67 366.33 -32 384 -32H480C497.67 -32 512 -17.67 512 0V44C508.54 173.78 450.6 194.16 448.0900000000001 288.01zM176 416H112C103.16 416 96 408.8400000000001 96 400V352H192V400C192 408.8400000000001 184.84 416 176 416zM224 160H288V320H224V160z" /> + <glyph glyph-name="birthday-cake" + unicode="" + horiz-adv-x="448" d=" M448 64C419.98 64 416.74 96 373.5 96C330.07 96 326.675 64 298.75 64C271.055 64 267.296 96 224 96C181.158 96 176.782 64 149.5 64C121.352 64 118.298 96 74.75 96C31.203 96 28.097 64 0 64V144C0 170.5 21.5 192 48 192H64V336H128V192H192V336H256V192H320V336H384V192H400C426.5 192 448 170.5 448 144V64zM448 -64H0V32C43.356 32 46.767 64 74.75 64C102.701 64 106.003 32 149.5 32C192.343 32 196.717 64 224 64C252.148 64 255.201 32 298.75 32C342.107 32 345.517 64 373.5 64C400.988 64 404.752 32 448 32V-64zM96 352C78.25 352 64 366.25 64 384C64 415 96 407 96 448C108 448 128 418.5 128 392S113.75 352 96 352zM224 352C206.25 352 192 366.25 192 384C192 415 224 407 224 448C236 448 256 418.5 256 392S241.75 352 224 352zM352 352C334.25 352 320 366.25 320 384C320 415 352 407 352 448C364 448 384 418.5 384 392S369.75 352 352 352z" /> + <glyph glyph-name="blender" + unicode="" + horiz-adv-x="512" d=" M416 64H160C124.65 64 96 35.35 96 0V-32C96 -49.67 110.33 -64 128 -64H448C465.67 -64 480 -49.67 480 -32V0C480 35.35 451.35 64 416 64zM288 -32C270.33 -32 256 -17.67 256 0S270.33 32 288 32S320 17.67 320 0S305.67 -32 288 -32zM328 384H494.54L512 448H48C21.49 448 0 426.51 0 400V240C0 213.49 21.49 192 48 192H151.27L160 96H416L433.46 160H328C323.58 160 320 163.58 320 168V184C320 188.42 323.58 192 328 192H442.18L459.64 256H328C323.58 256 320 259.5800000000001 320 264V280C320 284.42 323.58 288 328 288H468.36L485.82 352H328C323.58 352 320 355.58 320 360V376C320 380.42 323.58 384 328 384zM64 256V384H133.82L145.46 256H64z" /> + <glyph glyph-name="blind" + unicode="" + horiz-adv-x="384" d=" M380.15 -62.837A8 8 0 0 0 369.161 -60.15L243.831 146.2770000000001A31.923 31.923 0 0 1 256.7890000000001 155.7620000000001L382.8370000000001 -51.8459999999999A8 8 0 0 0 380.1500000000001 -62.8369999999999zM142.803 133.662L110.263 44.177L146.383 -44.1080000000001C153.076 -60.4680000000001 171.76 -68.3000000000001 188.116 -61.609C204.473 -54.917 212.309 -36.2330000000001 205.617 -19.8750000000001L142.803 133.6619999999999zM96 360C120.301 360 140 379.699 140 404S120.301 448 96 448S52 428.301 52 404S71.699 360 96 360zM250.837 190.872L130.837 342.872C126.104 348.867 119.087 351.98 112 351.9840000000001V352H80V351.974C72.854 351.971 65.783 348.813 61.056 342.7340000000001L0 264.2340000000001V168.54C0 155.085 11.011 143.749 24.464 144.004C37.505 144.252 48 154.9 48 168V247.766L64 268.337V127.639L9.927 -21.055C3.887 -37.664 12.455 -56.024 29.065 -62.064C45.667 -68.1030000000001 64.033 -59.54 70.074 -42.926L136 138.362V245.559L104.594 285.375A4 4 0 1 0 110.863 290.346L213.163 161.129C222.308 149.545 237.531 149.79 246.871 157.1640000000001C257.281 165.3800000000001 259.0300000000001 180.4980000000001 250.837 190.8720000000001z" /> + <glyph glyph-name="bold" + unicode="" + horiz-adv-x="384" d=" M304.793 204.109C338.432 222.646 358.45 258.269 358.45 299.802C358.45 348.038 332.2 387.428 289.824 403.981C265.138 413.99 240.849 416 209.661 416H24C15.163 416 8 408.837 8 400V366.951C8 358.114 15.163 350.951 24 350.951H57.113V32.4210000000001H24C15.163 32.4210000000001 8 25.258 8 16.4210000000001V-16C8 -24.837 15.163 -32 24 -32H219.69C243.893 -32 264.524 -30.711 286.556 -24.416C337.52 -9.193 376 37.353 376 97.986C376 150.154 349.427 189.67 304.793 204.109zM142.217 347.1910000000001H209.661C225.955 347.1910000000001 237.197 345.1720000000001 247.186 340.474C263.014 331.995 272.092 313.972 272.092 291.028C272.092 255.999 251.772 234.2380000000001 219.063 234.2380000000001H142.217V347.1910000000001zM254.859 41.716C244.719 37.66 232.182 36.809 223.45 36.809H142.217V166.057H226.584C266.229 166.057 289.641 140.677 289.641 103C289.642 74.575 275.981 50.517 254.8590000000001 41.716z" /> + <glyph glyph-name="bolt" + unicode="" + horiz-adv-x="320" d=" M295.973 288H180.572L215.19 417.816C219.25 433.044 207.756 448 192 448H56C43.971 448 33.8 439.0950000000001 32.211 427.1720000000001L0.215 187.172C-1.704 172.783 9.504 160 24.004 160H142.705L96.646 -34.466C93.05 -49.649 104.659 -64 119.992 -64C128.342 -64 136.368 -59.626 140.77 -52.022L316.7430000000001 251.975C325.9870000000001 267.942 314.4550000000001 288 295.9730000000001 288z" /> + <glyph glyph-name="bomb" + unicode="" + horiz-adv-x="512" d=" M440.5 359.5L388.5 307.5L415 281C424.4 271.6 424.4 256.4 415 247.1L397.6 229.7C409.4000000000001 203.6 416 174.6 416 144.1C416 29.2 322.9 -63.9 208 -63.9S0 29.1 0 144S93.1 352 208 352C238.5 352 267.5 345.4 293.6 333.6L311 351C320.4 360.4 335.6 360.4 344.9 351L371.4 324.5L423.4 376.5L440.5 359.5zM500 388H476C469.4 388 464 382.6 464 376S469.4 364 476 364H500C506.6 364 512 369.4 512 376S506.6 388 500 388zM440 448C433.4 448 428 442.6 428 436V412C428 405.4 433.4 400 440 400S452 405.4 452 412V436C452 442.6 446.6 448 440 448zM473.9 393L490.9 410C495.6 414.7 495.6 422.3 490.9 427C486.2 431.7 478.6 431.7 473.9 427L456.9 410C452.2 405.3 452.2 397.7 456.9 393C461.7 388.3 469.3 388.3 473.9 393zM406.1 393C410.8 388.3 418.4 388.3 423.1 393C427.8 397.7 427.8 405.3 423.1 410L406.1 427C401.4 431.7 393.8 431.7 389.1 427C384.4 422.3 384.4 414.7 389.1 410L406.1 393zM473.9 359C469.2 363.7 461.6 363.7 456.9 359C452.2 354.3 452.2 346.7 456.9 342L473.9 325C478.6 320.3 486.2 320.3 490.9 325C495.6 329.7 495.6 337.3 490.9 342L473.9 359zM112 176C112 211.3 140.7 240 176 240C184.8 240 192 247.2 192 256S184.8 272 176 272C123.1 272 80 228.9 80 176C80 167.2 87.2 160 96 160S112 167.2 112 176z" /> + <glyph glyph-name="bone" + unicode="" + horiz-adv-x="640" d=" M598.88 203.44C624.08 216.04 640 241.8 640 269.9700000000001V277.61C640 318.7 606.7 352 565.61 352C533.59 352 505.17 331.51 495.04 301.14C487.36 278.11 483.44 256 456.93 256H183.06C155.68 256 151.48 281.54 144.95 301.14C134.83 331.51 106.4 352 74.39 352C33.3 352 0 318.7 0 277.61V269.9700000000001C0 241.8 15.92 216.04 41.12 203.44C50.55 198.73 50.55 185.2700000000001 41.12 180.56C15.92 167.96 0 142.2 0 114.03V106.39C0 65.3 33.3 32 74.38 32C106.4 32 134.82 52.49 144.95 82.86C152.63 105.89 156.55 128 183.06 128H456.93C484.31 128 488.51 102.46 495.04 82.86C505.17 52.49 533.6 32 565.61 32C606.69 32 639.99 65.3 639.99 106.39V114.03C639.99 142.21 624.07 167.96 598.87 180.56C589.45 185.2699999999999 589.45 198.73 598.88 203.44z" /> + <glyph glyph-name="bong" + unicode="" + horiz-adv-x="448" d=" M302.5 -64C325.68 -64 346.93 -51.42 358.5 -31.34C374.69 -3.26 384 29.25 384 64C384 100.12 373.92 133.81 356.56 162.62L400 206.06L409.38 196.68C415.63 190.43 425.76 190.43 432.01 196.68L443.31 208C449.56 214.25 449.56 224.38 443.31 230.63L390.62 283.32C384.37 289.57 374.24 289.57 367.99 283.32L356.68 272.01C350.43 265.76 350.43 255.63 356.68 249.38L366.06 240L326.65 200.59C315.09 211.96 302.12 221.92 288 230.1V384.26L303.9700000000001 384.28C312.79 384.29 319.9400000000001 391.44 319.9500000000001 400.26L319.9900000000001 431.98C320 440.83 312.82 448.01 303.9700000000001 448L80.03 447.74C71.21 447.73 64.06 440.58 64.05 431.76L64.01 400.03C64 391.18 71.18 384.01 80.03 384.02L96 384.04V230.11C38.67 196.9 0 135.03 0 64C0 29.25 9.31 -3.27 25.5 -31.34C37.08 -51.42 58.33 -64 81.5 -64H302.5zM120.06 188.57L144 202.44V384.0900000000001L240 384.2V202.44L263.94 188.57C288.75 174.2 308.06 152.84 320.5 128H63.5C75.95 152.84 95.25 174.2 120.06 188.57z" /> + <glyph glyph-name="book-open" + unicode="" + horiz-adv-x="576" d=" M542.22 415.95C487.42 412.8400000000001 378.5 401.52 311.26 360.36C306.62 357.52 303.99 352.4700000000001 303.99 347.19V-16.68C303.99 -28.23 316.62 -35.53 327.27 -30.17C396.45 4.65 496.5 14.15 545.97 16.75C562.86 17.64 575.99 31.18 575.99 47.41V385.25C576 402.96 560.64 416.99 542.22 415.95zM264.73 360.36C197.5 401.52 88.58 412.83 33.78 415.95C15.36 416.99 0 402.96 0 385.25V47.4C0 31.16 13.13 17.62 30.02 16.74C79.51 14.1399999999999 179.61 4.6299999999999 248.79 -30.21C259.4100000000001 -35.5600000000001 272 -28.27 272 -16.7500000000001V347.37C272 352.6600000000001 269.38 357.51 264.73 360.36z" /> + <glyph glyph-name="book-reader" + unicode="" + horiz-adv-x="512" d=" M352 352C352 405.02 309.02 448 256 448S160 405.02 160 352S202.98 256 256 256S352 298.98 352 352zM233.59 206.9C174.26 243.22 78.16 253.2 29.8 255.95C13.55 256.87 0 244.49 0 228.86V6.06C0 -8.27 11.59 -20.22 26.49 -20.99C70.15 -23.28 158.48 -31.67 219.53 -62.42C228.9 -67.14 240.01 -60.71 240.01 -50.55V195.44C240 200.11 237.69 204.39 233.59 206.9zM482.2 255.95C433.85 253.21 337.74 243.22 278.4200000000001 206.9C274.3200000000001 204.39 272.0100000000001 199.94 272.0100000000001 195.27V-50.52C272.0100000000001 -60.71 283.1500000000001 -67.15 292.5500000000001 -62.42C353.5900000000001 -31.6999999999999 441.8700000000001 -23.3099999999999 485.5200000000001 -21.02C500.4200000000001 -20.24 512.0100000000001 -8.29 512.0100000000001 6.04V228.86C512.0000000000001 244.49 498.4500000000001 256.87 482.2000000000001 255.95z" /> + <glyph glyph-name="book" + unicode="" + horiz-adv-x="448" d=" M448 88V424C448 437.3 437.3 448 424 448H96C43 448 0 405 0 352V32C0 -21 43 -64 96 -64H424C437.3 -64 448 -53.3 448 -40V-24C448 -16.5 444.5 -9.7 439.1 -5.3C434.9000000000001 10.1 434.9000000000001 54 439.1 69.4C444.5 73.7 448 80.5 448 88zM128 314C128 317.3 130.7 320 134 320H346C349.3 320 352 317.3 352 314V294C352 290.7 349.3 288 346 288H134C130.7 288 128 290.7 128 294V314zM128 250C128 253.3 130.7 256 134 256H346C349.3 256 352 253.3 352 250V230C352 226.7 349.3 224 346 224H134C130.7 224 128 226.7 128 230V250zM381.4 0H96C78.3 0 64 14.3 64 32C64 49.6 78.4 64 96 64H381.4C379.5 46.9 379.5 17.1 381.4 0z" /> + <glyph glyph-name="bookmark" + unicode="" + horiz-adv-x="384" d=" M0 -64V400C0 426.51 21.49 448 48 448H336C362.51 448 384 426.51 384 400V-64L192 48L0 -64z" /> + <glyph glyph-name="bowling-ball" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM120 256C102.3 256 88 270.3 88 288S102.3 320 120 320S152 305.7 152 288S137.7 256 120 256zM184 352C184 369.7 198.3 384 216 384S248 369.7 248 352S233.7 320 216 320S184 334.3 184 352zM232 208C214.3 208 200 222.3 200 240S214.3 272 232 272S264 257.7 264 240S249.7 208 232 208z" /> + <glyph glyph-name="box-open" + unicode="" + horiz-adv-x="640" d=" M53.2 407L1.7 304.2C-2.9 295 2 284 11.8 281.2L209.7 224.7C216.8 222.7 224.4 225.7 228.2 232L320 384L69.8 415.9C62.9 416.7 56.3 413.2 53.2 407zM638.3000000000001 304.2L586.8 407C583.6999999999999 413.2 577 416.8 570.0999999999999 415.9L320 384L411.7 231.9C415.5 225.6 423.1 222.6 430.2 224.6L628.1 281.1C638 284 642.8000000000001 295 638.3000000000001 304.2zM425.7 192C408.8 192 392.9 201 384.3 215.4L320 322L255.8 215.4C247.1 200.9 231.2 191.9 214.3 191.9C209.8 191.9 205.3 192.5 201 193.8L64 233V55C64 40.3 74 27.5 88.2 24L304.4 -30.1C314.6 -32.6 325.3 -32.6 335.4 -30.1L551.8 24C566 27.6 576 40.4 576 55V233L439 193.9C434.7 192.6 430.2 192 425.7 192z" /> + <glyph glyph-name="box" + unicode="" + horiz-adv-x="512" d=" M509.5 263.4L458.9 415.2C452.4 434.8 434.1 448 413.4 448H272V256H510.7C510.3 258.5 510.3 261 509.5 263.4zM240 448H98.6C77.9 448 59.6 434.8 53.1 415.2L2.5 263.4C1.7 261 1.7 258.5 1.3 256H240V448zM0 224V-16C0 -42.5 21.5 -64 48 -64H464C490.5 -64 512 -42.5 512 -16V224H0z" /> + <glyph glyph-name="boxes" + unicode="" + horiz-adv-x="576" d=" M560 160H480V64L448 85.3L416 64V160H336C327.2 160 320 152.8 320 144V-48C320 -56.8 327.2 -64 336 -64H560C568.8 -64 576 -56.8 576 -48V144C576 152.8 568.8 160 560 160zM176 224H400C408.8 224 416 231.2 416 240V432C416 440.8 408.8 448 400 448H320V352L288 373.3L256 352V448H176C167.2 448 160 440.8 160 432V240C160 231.2 167.2 224 176 224zM240 160H160V64L128 85.3L96 64V160H16C7.2 160 0 152.8 0 144V-48C0 -56.8 7.2 -64 16 -64H240C248.8 -64 256 -56.8 256 -48V144C256 152.8 248.8 160 240 160z" /> + <glyph glyph-name="braille" + unicode="" + horiz-adv-x="640" d=" M128 192C128 156.654 99.346 128 64 128S0 156.654 0 192S28.654 256 64 256S128 227.346 128 192zM64 64C46.327 64 32 49.673 32 32S46.327 0 64 0S96 14.327 96 32S81.673 64 64 64zM64 416C28.654 416 0 387.346 0 352S28.654 288 64 288S128 316.654 128 352S99.346 416 64 416zM224 224C206.327 224 192 209.673 192 192S206.327 160 224 160S256 174.327 256 192S241.673 224 224 224zM224 64C206.327 64 192 49.673 192 32S206.327 0 224 0S256 14.327 256 32S241.673 64 224 64zM224 416C188.654 416 160 387.346 160 352S188.654 288 224 288S288 316.654 288 352S259.346 416 224 416zM448 224C430.327 224 416 209.673 416 192S430.327 160 448 160S480 174.327 480 192S465.673 224 448 224zM448 64C430.327 64 416 49.673 416 32S430.327 0 448 0S480 14.327 480 32S465.673 64 448 64zM448 416C412.654 416 384 387.346 384 352S412.654 288 448 288S512 316.654 512 352S483.346 416 448 416zM608 224C590.327 224 576 209.673 576 192S590.327 160 608 160S640 174.327 640 192S625.673 224 608 224zM608 64C590.327 64 576 49.673 576 32S590.327 0 608 0S640 14.327 640 32S625.673 64 608 64zM608 384C590.327 384 576 369.673 576 352S590.327 320 608 320S640 334.327 640 352S625.673 384 608 384z" /> + <glyph glyph-name="brain" + unicode="" + horiz-adv-x="576" d=" M208 448C178.13 448 153.26 427.45 146.2 399.78C145.45 399.8 144.75 400 144 400C108.66 400 80 371.35 80 336C80 331.16 80.64 326.49 81.66 321.9600000000001C52.54 310 32 281.43 32 248C32 235.42 35.16 223.68 40.34 213.09C16.34 199.28 0 173.67 0 144C0 110.66 20.42 82.12 49.42 70.11C48.52 65.54 48 60.83 48 56C48 16.24 80.23 -16 120 -16C124.12 -16 128.1 -15.45 132.03 -14.79C141.61 -43.31 168.25 -64 200 -64C239.77 -64 272 -31.76 272 8V242.55C261.09 233.57 248.02 227.1 233.64 224.16C228.67 223.14 224 226.98 224 232.05V248.23C224 251.8 226.35 255.01 229.8 255.89C254 262.05 272 283.8400000000001 272 309.93V384C272 419.35 243.34 448 208 448zM576 144C576 173.67 559.66 199.28 535.66 213.09C540.8299999999999 223.68 544 235.42 544 248C544 281.43 523.46 310 494.34 321.96C495.36 326.49 496.0000000000001 331.16 496.0000000000001 336C496.0000000000001 371.35 467.34 400 432.0000000000001 400C431.2500000000001 400 430.5500000000001 399.8 429.8000000000001 399.78C422.74 427.45 397.87 448 368 448C332.66 448 304 419.35 304 384V309.93C304 283.8400000000001 321.99 262.05 346.2 255.89C349.66 255.01 352 251.8 352 248.23V232.05C352 226.98 347.32 223.14 342.36 224.16C327.98 227.1 314.92 233.57 304 242.55V8C304 -31.76 336.23 -64 376 -64C407.75 -64 434.39 -43.31 443.9700000000001 -14.79C447.9000000000001 -15.46 451.8800000000001 -16 456 -16C495.77 -16 528 16.24 528 56C528 60.83 527.48 65.54 526.58 70.11C555.58 82.12 576 110.66 576 144z" /> + <glyph glyph-name="briefcase-medical" + unicode="" + horiz-adv-x="512" d=" M464 320H384V368C384 394.5 362.5 416 336 416H176C149.5 416 128 394.5 128 368V320H48C21.5 320 0 298.5 0 272V-16C0 -42.5 21.5 -64 48 -64H464C490.5 -64 512 -42.5 512 -16V272C512 298.5 490.5 320 464 320zM192 352H320V320H192V352zM352 104C352 99.6 348.4 96 344 96H288V40C288 35.6 284.4 32 280 32H232C227.6 32 224 35.6 224 40V96H168C163.6 96 160 99.6 160 104V152C160 156.4 163.6 160 168 160H224V216C224 220.4 227.6 224 232 224H280C284.4 224 288 220.4 288 216V160H344C348.4 160 352 156.4 352 152V104z" /> + <glyph glyph-name="briefcase" + unicode="" + horiz-adv-x="512" d=" M320 112C320 103.16 312.84 96 304 96H208C199.16 96 192 103.16 192 112V160H0V16C0 -9.6 22.4 -32 48 -32H464C489.6 -32 512 -9.6 512 16V160H320V112zM464 320H384V368C384 393.6 361.6 416 336 416H176C150.4 416 128 393.6 128 368V320H48C22.4 320 0 297.6 0 272V192H512V272C512 297.6 489.6 320 464 320zM320 320H192V352H320V320z" /> + <glyph glyph-name="broadcast-tower" + unicode="" + horiz-adv-x="640" d=" M150.94 256H184.67C195.68 256 203.28 266.8300000000001 199.53 277.18C194.6 290.76 191.98 305.16 191.98 320S194.6 349.24 199.53 362.82C203.29 373.17 195.68 384 184.67 384H150.94C143.93 384 137.48 379.51 135.53 372.77C130.64 355.79 128 338.12 128 320C128 301.88 130.64 284.2100000000001 135.54 267.24C137.48 260.5 143.93 256 150.94 256zM89.92 424.6600000000001C95.56 435.28 87.97 448 75.96 448H40.63C34.36 448 28.49 444.4100000000001 25.89 438.69C9.4 402.46 0 362.35 0 320C0 295.25 3.12 251.67 26.69 201.14C29.31 195.51 35.11 192 41.3 192H76.14C88.16 192 95.75 204.74 90.09 215.37C40.31 308.69 73.38 393.52 89.92 424.66zM614.06 438.71C611.46 444.42 605.6 448 599.33 448H563.9100000000001C551.9300000000001 448 544.2500000000001 435.34 549.8900000000001 424.75C568.1600000000001 390.46 598.3100000000001 305.33 550.1700000000001 215.52C544.45 204.84 551.97 192 564.08 192H599.3100000000001C605.58 192 611.44 195.58 614.0400000000001 201.29C630.57 237.52 640 277.64 640 320S630.58 402.48 614.06 438.71zM489.06 384H455.33C444.32 384 436.72 373.17 440.47 362.82C445.4 349.24 448.02 334.84 448.02 320S445.4 290.76 440.47 277.18C436.71 266.8300000000001 444.32 256 455.33 256H489.06C496.08 256 502.52 260.49 504.47 267.24C509.37 284.2100000000001 512 301.88 512 320C512 338.12 509.36 355.79 504.46 372.76C502.52 379.51 496.07 384 489.06 384zM372.76 283.88C379.81 294.17 383.96 306.5900000000001 383.96 320C383.96 355.35 355.33 384 320 384C284.68 384 256.04 355.35 256.04 320C256.04 306.5900000000001 260.19 294.17 267.24 283.88L136.74 -29.53C133.34 -37.68 137.2 -47.05 145.35 -50.45L174.86 -62.76C183.01 -66.1600000000001 192.38 -62.3000000000001 195.77 -54.15L244.96 64H395.03L444.23 -54.15C447.63 -62.31 456.99 -66.16 465.14 -62.76L494.65 -50.45C502.8 -47.05 506.65 -37.68 503.26 -29.53L372.76 283.8800000000001zM271.62 128L320 244.19L368.38 128H271.62z" /> + <glyph glyph-name="broom" + unicode="" + horiz-adv-x="512" d=" M10.8 200.8C-0.7 196.2 -3.7 181.3 5 172.6L59.8 117.8L133 142.2L108.6 69L236.6 -59C245.4 -67.7999999999999 260.2 -64.7 264.8 -53.2L362.9 190.5L254.5 298.9L10.8 200.8zM507.3 420.7L484.7 443.3C478.5 449.6 468.3 449.6 462.1 443.3L359.8 341.1L319.4000000000001 381.5C315.2000000000001 385.8 308.0000000000001 384.5 305.5000000000001 379L278.3000000000001 320.4L384.4000000000001 214.3L443.0000000000001 241.5C448.4000000000001 244 449.7000000000001 251.2 445.5000000000001 255.4L405.1000000000002 295.8L507.3 398.1C513.6 404.3 513.6 414.4 507.3 420.7z" /> + <glyph glyph-name="brush" + unicode="" + horiz-adv-x="384" d=" M352 448H32C14.33 448 0 433.67 0 416V192H384V416C384 433.67 369.67 448 352 448zM0 128C0 92.65 28.66 64 64 64H128V0C128 -35.35 156.66 -64 192 -64S256 -35.35 256 0V64H320C355.3400000000001 64 384 92.65 384 128V160H0V128zM192 24C205.25 24 216 13.26 216 0C216 -13.25 205.25 -24 192 -24S168 -13.25 168 0C168 13.26 178.75 24 192 24z" /> + <glyph glyph-name="bug" + unicode="" + horiz-adv-x="512" d=" M511.988 159.1C511.51 141.67 496.771 128 479.335 128H424V112C424 90.136 419.118 69.416 410.4 50.855L470.628 -9.373C483.124 -21.87 483.124 -42.131 470.628 -54.628C458.13 -67.125 437.869 -67.124 425.372 -54.628L370.636 0.108C345.886 -19.965 314.351 -32 280 -32V212C280 218.627 274.627 224 268 224H244C237.373 224 232 218.627 232 212V-32C197.649 -32 166.114 -19.965 141.364 0.108L86.628 -54.628C74.13 -67.125 53.869 -67.124 41.372 -54.628C28.876 -42.131 28.876 -21.87 41.372 -9.373L101.6 50.855C92.882 69.416 88 90.136 88 112V128H32.666C15.23 128 0.491 141.67 0.013 159.1C-0.484 177.184 14.028 192 32 192H88V250.745L41.372 297.373C28.876 309.87 28.876 330.131 41.372 342.628C53.87 355.125 74.13 355.125 86.628 342.628L141.255 288H370.7440000000001L425.3710000000001 342.627C437.8690000000001 355.124 458.129 355.124 470.6270000000001 342.627C483.123 330.13 483.123 309.8690000000001 470.6270000000001 297.372L424 250.745V192H480C497.972 192 512.484 177.184 511.988 159.1zM257 448C195.144 448 145 397.856 145 336H369C369 397.856 318.856 448 257 448z" /> + <glyph glyph-name="building" + unicode="" + horiz-adv-x="448" d=" M436 -32H416V424C416 437.255 405.255 448 392 448H56C42.745 448 32 437.255 32 424V-32H12C5.373 -32 0 -37.373 0 -44V-64H448V-44C448 -37.373 442.627 -32 436 -32zM128 372C128 378.627 133.373 384 140 384H180C186.627 384 192 378.627 192 372V332C192 325.373 186.627 320 180 320H140C133.373 320 128 325.373 128 332V372zM128 276C128 282.627 133.373 288 140 288H180C186.627 288 192 282.627 192 276V236C192 229.373 186.627 224 180 224H140C133.373 224 128 229.373 128 236V276zM180 128H140C133.373 128 128 133.373 128 140V180C128 186.627 133.373 192 140 192H180C186.627 192 192 186.627 192 180V140C192 133.373 186.627 128 180 128zM256 -32H192V52C192 58.627 197.373 64 204 64H244C250.627 64 256 58.627 256 52V-32zM320 140C320 133.373 314.627 128 308 128H268C261.373 128 256 133.373 256 140V180C256 186.627 261.373 192 268 192H308C314.627 192 320 186.627 320 180V140zM320 236C320 229.373 314.627 224 308 224H268C261.373 224 256 229.373 256 236V276C256 282.627 261.373 288 268 288H308C314.627 288 320 282.627 320 276V236zM320 332C320 325.373 314.627 320 308 320H268C261.373 320 256 325.373 256 332V372C256 378.627 261.373 384 268 384H308C314.627 384 320 378.627 320 372V332z" /> + <glyph glyph-name="bullhorn" + unicode="" + horiz-adv-x="576" d=" M576 208C576 231.63 563.05 252.04 544 263.12V415.99C544 424.74 537.02 448 512 448C504.88 448 497.81 445.62 492.02 440.98L406.99 372.95C364.28 338.81 310.6600000000001 320 256 320H64C28.65 320 0 291.35 0 256V160C0 124.65 28.65 96 64 96H97.7C96.31 85.52 95.52 74.86 95.52 64C95.52 24.23 104.78 -13.35 121.08 -46.94C126.27 -57.63 137.6 -64 149.48 -64H223.76C249.81 -64 265.45 -34.16 249.66 -13.44C233.26 8.08 223.51 34.92 223.51 64C223.51 75.11 225.13 85.79 227.92 96H256C310.66 96 364.28 77.19 406.98 43.05L492.01 -24.98A32.023 32.023 0 0 1 511.99 -32C536.91 -32 543.99 -9.22 543.99 0V152.87C563.05 163.96 576 184.37 576 208zM480 66.58L446.95 93.02C392.95 136.22 325.12 160 256 160V256C325.12 256 392.95 279.78 446.95 322.98L480 349.42V66.58z" /> + <glyph glyph-name="bullseye" + unicode="" + horiz-adv-x="496" d=" M248 440C111.03 440 0 328.9700000000001 0 192S111.03 -56 248 -56S496 55.03 496 192S384.9700000000001 440 248 440zM248 8C146.31 8 64 90.29 64 192C64 293.69 146.29 376 248 376C349.69 376 432 293.71 432 192C432 90.31 349.71 8 248 8zM248 320C177.31 320 120 262.69 120 192S177.31 64 248 64S376 121.31 376 192S318.69 320 248 320zM248 128C212.71 128 184 156.71 184 192S212.71 256 248 256S312 227.29 312 192S283.29 128 248 128z" /> + <glyph glyph-name="burn" + unicode="" + horiz-adv-x="384" d=" M192 448C79.7 346.7 0 227.1 0 147.5C0 23 79 -64 192 -64S384 23 384 147.5C384 227.4 303.8 347.1 192 448zM192 0C135.5 0 96 39 96 94.8C96 108.3 100.6 156.3 192 256C283.4 156.3 288 108.3 288 94.8C288 39 248.5 0 192 0z" /> + <glyph glyph-name="bus-alt" + unicode="" + horiz-adv-x="512" d=" M488 320H480V368C480 412.8 380.8 448 256 448S32 412.8 32 368V320H24C10.75 320 0 309.26 0 296V216C0 202.75 10.75 192 24 192H32V32C32 14.33 46.33 0 64 0V-32C64 -49.67 78.33 -64 96 -64H128C145.67 -64 160 -49.67 160 -32V0H352V-32C352 -49.67 366.33 -64 384 -64H416C433.67 -64 448 -49.67 448 -32V0H454.4C470.4 0 480 12.8 480 25.6V192H488C501.25 192 512 202.75 512 216V296C512 309.26 501.25 320 488 320zM160 376C160 380.42 163.58 384 168 384H344C348.42 384 352 380.42 352 376V360C352 355.58 348.42 352 344 352H168C163.58 352 160 355.58 160 360V376zM112 48C94.33 48 80 62.33 80 80S94.33 112 112 112S144 97.67 144 80S129.67 48 112 48zM240 160H128C110.33 160 96 174.33 96 192V288C96 305.67 110.33 320 128 320H240V160zM272 160V320H384C401.67 320 416 305.67 416 288V192C416 174.33 401.67 160 384 160H272zM400 48C382.33 48 368 62.33 368 80S382.33 112 400 112S432 97.67 432 80S417.67 48 400 48z" /> + <glyph glyph-name="bus" + unicode="" + horiz-adv-x="512" d=" M488 320H480V368C480 412.8 380.8 448 256 448S32 412.8 32 368V320H24C10.75 320 0 309.26 0 296V216C0 202.75 10.75 192 24 192H32V32C32 14.33 46.33 0 64 0V-32C64 -49.67 78.33 -64 96 -64H128C145.67 -64 160 -49.67 160 -32V0H352V-32C352 -49.67 366.33 -64 384 -64H416C433.67 -64 448 -49.67 448 -32V0H454.4C470.4 0 480 12.8 480 25.6V192H488C501.25 192 512 202.75 512 216V296C512 309.26 501.25 320 488 320zM112 48C94.33 48 80 62.33 80 80S94.33 112 112 112S144 97.67 144 80S129.67 48 112 48zM128 160C110.33 160 96 174.33 96 192V320C96 337.67 110.33 352 128 352H384C401.67 352 416 337.67 416 320V192C416 174.33 401.67 160 384 160H128zM400 48C382.33 48 368 62.33 368 80S382.33 112 400 112S432 97.67 432 80S417.67 48 400 48z" /> + <glyph glyph-name="business-time" + unicode="" + horiz-adv-x="640" d=" M496 224C416.41 224 352 159.59 352 80S416.41 -64 496 -64S640 0.41 640 80S575.59 224 496 224zM560 73.71C560 68.3700000000001 555.63 64.0000000000001 550.29 64.0000000000001H489.72C484.38 64.0000000000001 480.01 68.3700000000001 480.01 73.71V150.28C480.01 155.62 484.38 159.99 489.72 159.99H502.29C507.6299999999999 159.99 511.9999999999999 155.62 511.9999999999999 150.28V96H550.29C555.63 96 560 91.63 560 86.29V73.71zM496 256C501.4 256 506.72 255.67 512 255.19V304C512 329.6 489.6 352 464 352H384V400C384 425.6 361.6 448 336 448H176C150.4 448 128 425.6 128 400V352H48C22.4 352 0 329.6 0 304V224H395.12C423.7200000000001 244.09 458.47 256 496 256zM320 352H192V384H320V352zM326.82 128H208C199.16 128 192 135.16 192 144V192H0V48C0 22.4 22.4 0 48 0H339.43C327.1 24.04 320 51.18 320 80C320 96.66 322.48 112.72 326.82 128z" /> + <glyph glyph-name="calculator" + unicode="" + horiz-adv-x="448" d=" M400 448H48C22.4 448 0 425.6 0 400V-16C0 -41.6 22.4 -64 48 -64H400C425.6 -64 448 -41.6 448 -16V400C448 425.6 425.6 448 400 448zM128 12.8C128 6.4 121.6 0 115.2 0H76.8C70.4 0 64 6.4 64 12.8V51.2C64 57.6 70.4 64 76.8 64H115.2C121.6 64 128 57.6 128 51.2V12.8zM128 140.8C128 134.4 121.6 128 115.2 128H76.8C70.4 128 64 134.4 64 140.8V179.2C64 185.6 70.4 192 76.8 192H115.2C121.6 192 128 185.6 128 179.2V140.8zM256 12.8C256 6.4 249.6 0 243.2 0H204.8C198.4 0 192 6.4 192 12.8V51.2C192 57.6 198.4 64 204.8 64H243.2C249.6 64 256 57.6 256 51.2V12.8zM256 140.8C256 134.4 249.6 128 243.2 128H204.8C198.4 128 192 134.4 192 140.8V179.2C192 185.6 198.4 192 204.8 192H243.2C249.6 192 256 185.6 256 179.2V140.8zM384 12.8C384 6.4 377.6 0 371.2 0H332.8C326.4000000000001 0 320 6.4 320 12.8V179.2C320 185.6 326.4 192 332.8 192H371.2C377.6 192 384 185.6 384 179.2V12.8zM384 268.8C384 262.4 377.6 256 371.2 256H76.8C70.4 256 64 262.4 64 268.8V371.2C64 377.6 70.4 384 76.8 384H371.2C377.6 384 384 377.6 384 371.2V268.8z" /> + <glyph glyph-name="calendar-alt" + unicode="" + horiz-adv-x="448" d=" M436 288H12C5.4 288 0 293.4 0 300V336C0 362.5 21.5 384 48 384H96V436C96 442.6 101.4 448 108 448H148C154.6 448 160 442.6 160 436V384H288V436C288 442.6 293.4 448 300 448H340C346.6 448 352 442.6 352 436V384H400C426.5 384 448 362.5 448 336V300C448 293.4 442.6 288 436 288zM12 256H436C442.6 256 448 250.6 448 244V-16C448 -42.5 426.5 -64 400 -64H48C21.5 -64 0 -42.5 0 -16V244C0 250.6 5.4 256 12 256zM128 52C128 58.6 122.6 64 116 64H76C69.4 64 64 58.6 64 52V12C64 5.4 69.4 0 76 0H116C122.6 0 128 5.4 128 12V52zM128 180C128 186.6 122.6 192 116 192H76C69.4 192 64 186.6 64 180V140C64 133.4 69.4 128 76 128H116C122.6 128 128 133.4 128 140V180zM256 52C256 58.6 250.6 64 244 64H204C197.4 64 192 58.6 192 52V12C192 5.4 197.4 0 204 0H244C250.6 0 256 5.4 256 12V52zM256 180C256 186.6 250.6 192 244 192H204C197.4 192 192 186.6 192 180V140C192 133.4 197.4 128 204 128H244C250.6 128 256 133.4 256 140V180zM384 52C384 58.6 378.6 64 372 64H332C325.4 64 320 58.6 320 52V12C320 5.4 325.4 0 332 0H372C378.6 0 384 5.4 384 12V52zM384 180C384 186.6 378.6 192 372 192H332C325.4 192 320 186.6 320 180V140C320 133.4 325.4 128 332 128H372C378.6 128 384 133.4 384 140V180z" /> + <glyph glyph-name="calendar-check" + unicode="" + horiz-adv-x="448" d=" M436 288H12C5.373 288 0 293.373 0 300V336C0 362.51 21.49 384 48 384H96V436C96 442.627 101.373 448 108 448H148C154.627 448 160 442.627 160 436V384H288V436C288 442.627 293.373 448 300 448H340C346.627 448 352 442.627 352 436V384H400C426.51 384 448 362.51 448 336V300C448 293.373 442.627 288 436 288zM12 256H436C442.627 256 448 250.627 448 244V-16C448 -42.51 426.51 -64 400 -64H48C21.49 -64 0 -42.51 0 -16V244C0 250.627 5.373 256 12 256zM345.296 160.053L317.127 188.451C312.4600000000001 193.156 304.862 193.187 300.1570000000001 188.519L194.12 83.335L148.14 129.687C143.473 134.392 135.874 134.423 131.169 129.755L102.772 101.5849999999999C98.067 96.918 98.036 89.3199999999999 102.704 84.6149999999999L185.305 1.3459999999999C189.972 -3.3590000000001 197.57 -3.3900000000001 202.275 1.2779999999999L345.228 143.0829999999999C349.933 147.7499999999999 349.964 155.3479999999999 345.296 160.0529999999999z" /> + <glyph glyph-name="calendar-minus" + unicode="" + horiz-adv-x="448" d=" M436 288H12C5.4 288 0 293.4 0 300V336C0 362.5 21.5 384 48 384H96V436C96 442.6 101.4 448 108 448H148C154.6 448 160 442.6 160 436V384H288V436C288 442.6 293.4 448 300 448H340C346.6 448 352 442.6 352 436V384H400C426.5 384 448 362.5 448 336V300C448 293.4 442.6 288 436 288zM12 256H436C442.6 256 448 250.6 448 244V-16C448 -42.5 426.5 -64 400 -64H48C21.5 -64 0 -42.5 0 -16V244C0 250.6 5.4 256 12 256zM316 64C322.6 64 328 69.4 328 76V116C328 122.6 322.6 128 316 128H132C125.4 128 120 122.6 120 116V76C120 69.4 125.4 64 132 64H316z" /> + <glyph glyph-name="calendar-plus" + unicode="" + horiz-adv-x="448" d=" M436 288H12C5.4 288 0 293.4 0 300V336C0 362.5 21.5 384 48 384H96V436C96 442.6 101.4 448 108 448H148C154.6 448 160 442.6 160 436V384H288V436C288 442.6 293.4 448 300 448H340C346.6 448 352 442.6 352 436V384H400C426.5 384 448 362.5 448 336V300C448 293.4 442.6 288 436 288zM12 256H436C442.6 256 448 250.6 448 244V-16C448 -42.5 426.5 -64 400 -64H48C21.5 -64 0 -42.5 0 -16V244C0 250.6 5.4 256 12 256zM328 116C328 122.6 322.6 128 316 128H256V188C256 194.6 250.6 200 244 200H204C197.4 200 192 194.6 192 188V128H132C125.4 128 120 122.6 120 116V76C120 69.4 125.4 64 132 64H192V4C192 -2.6 197.4 -8 204 -8H244C250.6 -8 256 -2.6 256 4V64H316C322.6 64 328 69.4 328 76V116z" /> + <glyph glyph-name="calendar-times" + unicode="" + horiz-adv-x="448" d=" M436 288H12C5.4 288 0 293.4 0 300V336C0 362.5 21.5 384 48 384H96V436C96 442.6 101.4 448 108 448H148C154.6 448 160 442.6 160 436V384H288V436C288 442.6 293.4 448 300 448H340C346.6 448 352 442.6 352 436V384H400C426.5 384 448 362.5 448 336V300C448 293.4 442.6 288 436 288zM12 256H436C442.6 256 448 250.6 448 244V-16C448 -42.5 426.5 -64 400 -64H48C21.5 -64 0 -42.5 0 -16V244C0 250.6 5.4 256 12 256zM269.3 96L317.4000000000001 144.1C322.1 148.8 322.1 156.4 317.4000000000001 161.1L289.1 189.4C284.4000000000001 194.1 276.8 194.1 272.1 189.4L224 141.3L175.9 189.4C171.2 194.1 163.6 194.1 158.9 189.4L130.6 161.1C125.9 156.4 125.9 148.8 130.6 144.1L178.7 96L130.6 47.9C125.9 43.2 125.9 35.6 130.6 30.9L158.9 2.6C163.6 -2.1 171.2 -2.1 175.9 2.6L224 50.7L272.1 2.6C276.8 -2.1 284.4000000000001 -2.1 289.1 2.6L317.4000000000001 30.9C322.1 35.6 322.1 43.2 317.4000000000001 47.9L269.3 96z" /> + <glyph glyph-name="calendar" + unicode="" + horiz-adv-x="448" d=" M12 256H436C442.6 256 448 250.6 448 244V-16C448 -42.5 426.5 -64 400 -64H48C21.5 -64 0 -42.5 0 -16V244C0 250.6 5.4 256 12 256zM448 300V336C448 362.5 426.5 384 400 384H352V436C352 442.6 346.6 448 340 448H300C293.4 448 288 442.6 288 436V384H160V436C160 442.6 154.6 448 148 448H108C101.4 448 96 442.6 96 436V384H48C21.5 384 0 362.5 0 336V300C0 293.4 5.4 288 12 288H436C442.6 288 448 293.4 448 300z" /> + <glyph glyph-name="camera-retro" + unicode="" + horiz-adv-x="512" d=" M48 416C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H464C490.5 -32 512 -10.5 512 16V368C512 394.5 490.5 416 464 416H48zM48 384H154C157.3 384 160 381.3 160 378V358C160 354.7 157.3 352 154 352H38C34.7 352 32 354.7 32 358V368C32 376.8 39.2 384 48 384zM474 288H38C34.7 288 32 290.7 32 294V330C32 333.3 34.7 336 38 336H176L206.2 381.3C207.3 383 209.2 384 211.2 384H464C472.8 384 480 376.8 480 368V294C480 290.7 477.3 288 474 288zM256 24C189.8 24 136 77.8 136 144S189.8 264 256 264S376 210.2 376 144S322.2 24 256 24zM256 232C207.5 232 168 192.5 168 144S207.5 56 256 56S344 95.5 344 144S304.5 232 256 232zM208 128C199.2 128 192 135.2 192 144C192 179.3 220.7 208 256 208C264.8 208 272 200.8 272 192S264.8 176 256 176C238.4 176 224 161.6 224 144C224 135.2 216.8 128 208 128z" /> + <glyph glyph-name="camera" + unicode="" + horiz-adv-x="512" d=" M512 304V16C512 -10.5 490.5 -32 464 -32H48C21.5 -32 0 -10.5 0 16V304C0 330.5 21.5 352 48 352H136L148.3 384.9C155.3 403.6 173.2 416 193.2 416H318.7000000000001C338.7000000000001 416 356.6 403.6 363.6 384.9L376 352H464C490.5 352 512 330.5 512 304zM376 160C376 226.2 322.2 280 256 280S136 226.2 136 160S189.8 40 256 40S376 93.8 376 160zM344 160C344 111.5 304.5 72 256 72S168 111.5 168 160S207.5 248 256 248S344 208.5 344 160z" /> + <glyph glyph-name="cannabis" + unicode="" + horiz-adv-x="512" d=" M503.47 87.75C501.91 88.57 471.08 104.64 426.6900000000001 113.56C490.9400000000001 188.68 510.7400000000001 275.23 511.6200000000001 279.2C512.8000000000001 284.53 511.1800000000001 290.1 507.3200000000001 293.9700000000001C504.2900000000001 297.01 500.2 298.67 496.0000000000001 298.67C494.8600000000001 298.67 493.71 298.55 492.5600000000001 298.29C488.6800000000001 297.44 406.0200000000001 278.7 331.98 218.53C331.99 219.99 331.99 221.46 331.99 222.93C331.99 341.72 272.01 436.65 269.4600000000001 440.63A15.973000000000003 15.973000000000003 0 0 1 256 448C250.55 448 245.47 445.2200000000001 242.53 440.63C239.98 436.65 180 341.7200000000001 180 222.93C180 221.46 180.01 219.99 180.01 218.53C105.98 278.69 23.32 297.43 19.43 298.29C18.29 298.54 17.14 298.67 15.99 298.67C11.79 298.67 7.7 297.01 4.67 293.9700000000001A15.986 15.986 0 0 1 0.38 279.2C1.26 275.23 21.06 188.68 85.31 113.56C40.92 104.64 10.1 88.57 8.53 87.75A16.003 16.003 0 0 1 8.51 59.46C10.96 58.17 69.27 27.74 142 27.74C148.14 27.74 153.96 27.84 159.5 28.05C148.13 5.82 142.98 -10.26 142.69 -11.17C140.89 -16.85 142.4 -23.0599999999999 146.6 -27.28A16.019 16.019 0 0 1 162.7 -31.27C164.53 -30.7 200.42 -19.28 240 8.02V-56C240 -60.42 243.58 -64 248 -64H264C268.42 -64 272 -60.42 272 -56V8.01C311.58 -19.29 347.4700000000001 -30.7 349.3 -31.28A16.019 16.019 0 0 1 365.4000000000001 -27.29C369.6 -23.07 371.11 -16.86 369.3100000000001 -11.18C369.0200000000001 -10.27 363.8600000000001 5.81 352.5000000000001 28.04C358.0400000000001 27.83 363.8700000000001 27.73 370.0000000000001 27.73C442.7200000000001 27.73 501.0400000000001 58.16 503.4900000000001 59.4499999999999C508.7300000000001 62.2299999999999 512.0100000000001 67.67 512.0000000000001 73.5999999999999C511.9900000000001 79.5399999999999 508.7100000000001 84.9899999999999 503.4700000000001 87.7499999999999z" /> + <glyph glyph-name="capsules" + unicode="" + horiz-adv-x="576" d=" M555.3 147.9L424.2 335.2C401.9 367 366.4 384 330.4 384C307.8 384 284.9 377.3 264.9 363.3C245.2 349.5 231.2 330.5 223.4 309.5C220.5 368.8 172 416 112 416C50.1 416 0 365.9 0 304V80C0 18.1 50.1 -32 112 -32S224 18.1 224 80V229.1C227.3 220.5 231.3 212 236.8 204.1L368 16.8C390.2 -15 425.7 -32 461.8 -32C484.5 -32 507.3 -25.3 527.3 -11.3C579 24.9 591.5 96.2 555.3 147.9zM160 192H64V304C64 330.5 85.5 352 112 352S160 330.5 160 304V192zM354.8 147.1L289.2000000000001 240.8C281.5000000000001 251.8 278.5000000000001 265.2000000000001 280.9000000000001 278.4C283.2000000000001 291.6 290.6 303.2000000000001 301.6 310.9C310.1 316.9 320.1 320 330.4000000000001 320C346.9000000000001 320 362.3 312 371.7000000000001 298.5L437.3000000000001 204.8L354.8000000000001 147.1z" /> + <glyph glyph-name="car-alt" + unicode="" + horiz-adv-x="480" d=" M438.6600000000001 235.67L427.42 263.77L407.49 313.6C390.38 356.37 349.57 384 303.5 384H176.5C130.44 384 89.62 356.37 72.51 313.6L52.58 263.77L41.34 235.67C17.22 226.5 0 203.34 0 176V128C0 111.88 6.16 97.33 16 86.07V32C16 14.33 30.33 0 48 0H80C97.67 0 112 14.33 112 32V64H368V32C368 14.33 382.33 0 400 0H432C449.67 0 464 14.33 464 32V86.07C473.84 97.32 480 111.87 480 128V176C480 203.34 462.78 226.5 438.66 235.67zM131.93 289.83C139.22 308.05 156.87 320 176.5 320H303.5C323.13 320 340.78 308.05 348.07 289.83L368 240H112L131.93 289.83zM80 128.2C60.8 128.2 48 140.96 48 160.1S60.8 192 80 192S128 163.29 128 144.15S99.2 128.2 80 128.2zM400 128.2C380.8 128.2 352 125.01 352 144.15S380.8 192 400 192S432 179.24 432 160.1S419.2 128.2000000000001 400 128.2000000000001z" /> + <glyph glyph-name="car-battery" + unicode="" + horiz-adv-x="512" d=" M480 320H448V368C448 376.8400000000001 440.84 384 432 384H336C327.1600000000001 384 320 376.8400000000001 320 368V320H192V368C192 376.8400000000001 184.84 384 176 384H80C71.16 384 64 376.8400000000001 64 368V320H32C14.33 320 0 305.67 0 288V32C0 14.33 14.33 0 32 0H480C497.67 0 512 14.33 512 32V288C512 305.67 497.67 320 480 320zM192 184C192 179.58 188.42 176 184 176H72C67.58 176 64 179.58 64 184V200C64 204.42 67.58 208 72 208H184C188.42 208 192 204.42 192 200V184zM448 184C448 179.58 444.42 176 440 176H400V136C400 131.58 396.42 128 392 128H376C371.58 128 368 131.58 368 136V176H328C323.58 176 320 179.58 320 184V200C320 204.42 323.58 208 328 208H368V248C368 252.42 371.58 256 376 256H392C396.42 256 400 252.42 400 248V208H440C444.42 208 448 204.42 448 200V184z" /> + <glyph glyph-name="car-crash" + unicode="" + horiz-adv-x="640" d=" M143.25 227.19L130.83 180.82C127.82 169.57 127.2 157.93 128.42 146.43L93.22 117.45C86.65 112.04 76.91 117.88 78.6 126.22L94.04 202.9C95.1 208.16 91.38 213.18 86.04 213.69L8.18 221.24C-0.29 222.06 -3.05 233.07 4.04 237.78L69.19 281.08C73.65 284.05 74.57 290.23 71.17 294.37L21.46 354.78C16.05 361.35 21.89 371.08 30.24 369.4L106.92 353.9600000000001C112.18 352.9 117.2 356.62 117.72 361.9600000000001L125.27 439.82C126.09 448.3 137.1 451.05 141.82 443.96L185.12 378.82C188.09 374.36 194.27 373.44 198.41 376.8400000000001L258.81 426.55C265.38 431.96 275.11 426.12 273.43 417.7800000000001L262.1 361.62C259.3900000000001 358.57 256.67 355.53 254.1900000000001 352.2200000000001L222.04 309.25L211.33 294.93C178.6 286.17 152.15 260.4 143.25 227.19zM637.8199999999999 94.68L625.4 48.32C622.27 36.64 616.02 26.71 607.85 18.96A66.876 66.876 0 0 0 599.09 11.96L585.1 -40.27C583.96 -44.54 582 -48.3700000000001 579.45 -51.65C571.7800000000001 -61.49 558.71 -66.33 545.9100000000001 -62.9L515 -54.62C497.93 -50.05 487.8 -32.5 492.37 -15.43L500.65 15.48L253.37 81.74L245.09 50.83C240.52 33.76 222.97 23.63 205.9 28.2L174.99 36.48C162.19 39.91 153.29 50.64 151.57 62.99C151 67.11 151.22 71.41 152.36 75.67L166.35 127.9A66.62 66.62 0 0 0 162.26 138.35C159.06 149.14 158.61 160.87 161.74 172.55L174.16 218.92C179.47 238.72 193.52 253.75 211.05 261.13A64.336 64.336 0 0 0 229.54 265.85L247.67 290.08L279.82 333.05C283.2699999999999 337.66 287.01 341.95 291.0199999999999 345.89C299.0199999999999 353.78 308.05 360.33 317.76 365.4C322.62 367.94 327.6499999999999 370.11 332.81 371.89C343.14 375.47 354 377.52 365.05 377.93C376.1 378.34 387.36 377.11 398.48 374.13L521.16 341.26C532.28 338.28 542.64 333.72 552.01 327.83A111.10999999999999 111.10999999999999 0 0 0 586.7 293.33C595.5200000000001 279.45 601.34 263.49 603.38 246.34L609.74 193.05L613.33 163A64.49 64.49 0 0 0 636.07 133.0699999999999C640.46 121.19 641.36 107.8799999999999 637.82 94.68zM255.58 213.66C237.03 218.63 221.37 209.62 216.41 191.13C211.45 172.64 220.5200000000001 157.01 239.0600000000001 152.04C257.61 147.0699999999999 284.6 136.53 289.55 155.02C294.51 173.51 274.12 208.69 255.58 213.66zM546.19 185.49L539.83 238.78C539.25 243.65 537.94 248.31 536.01 252.64C530.21 265.63 518.81 275.65 504.59 279.46L381.91 312.33A48.008 48.008 0 0 1 331.05 294.72L298.9 251.75L470.9 205.67L546.1899999999999 185.49zM564.6800000000001 130.84C546.1300000000001 135.8100000000001 510.8800000000001 115.53 505.9300000000001 97.05C500.9800000000001 78.56 529.6200000000001 74.19 548.1700000000001 69.22C566.72 64.25 582.3800000000001 73.2600000000001 587.34 91.75C592.2900000000001 110.23 583.23 125.87 564.6800000000001 130.84z" /> + <glyph glyph-name="car-side" + unicode="" + horiz-adv-x="640" d=" M544 256H528L419.2200000000001 391.98A64.025 64.025 0 0 1 369.24 416H155.33C129.16 416 105.63 400.07 95.91 375.77L48 253.74C20.44 246.6 0 221.79 0 192V80C0 71.16 7.16 64 16 64H64C64 10.98 106.98 -32 160 -32S256 10.98 256 64H384C384 10.98 426.98 -32 480 -32S576 10.98 576 64H624C632.84 64 640 71.16 640 80V160C640 213.02 597.02 256 544 256zM160 16C133.53 16 112 37.53 112 64S133.53 112 160 112S208 90.47 208 64S186.47 16 160 16zM232 256H116.93L155.33 352H232V256zM280 256V352H369.24L446.04 256H280zM480 16C453.53 16 432 37.53 432 64S453.53 112 480 112S528 90.47 528 64S506.47 16 480 16z" /> + <glyph glyph-name="car" + unicode="" + horiz-adv-x="512" d=" M499.99 272H440.12L423.48 313.6C406.38 356.37 365.57 384 319.5 384H192.5C146.44 384 105.62 356.37 88.51 313.6L71.87 272H12.01C4.2 272 -1.53 264.66 0.37 257.0900000000001L6.37 233.09C7.7 227.75 12.5 224 18.01 224H38.08C24.65 212.27 16 195.22 16 176V128C16 111.88 22.16 97.33 32 86.07V32C32 14.33 46.33 0 64 0H96C113.67 0 128 14.33 128 32V64H384V32C384 14.33 398.33 0 416 0H448C465.67 0 480 14.33 480 32V86.07C489.84 97.32 496 111.87 496 128V176C496 195.22 487.35 212.27 473.93 224H494C499.51 224 504.31 227.75 505.64 233.09L511.64 257.0900000000001C513.53 264.66 507.8 272 499.99 272zM147.93 289.83C155.22 308.05 172.87 320 192.5 320H319.5C339.13 320 356.78 308.05 364.07 289.83L384 240H128L147.93 289.83zM96 128.2C76.8 128.2 64 140.96 64 160.1S76.8 192 96 192S144 163.29 144 144.15S115.2 128.2 96 128.2zM416 128.2C396.8 128.2 368 125.01 368 144.15S396.8 192 416 192S448 179.24 448 160.1S435.2 128.2000000000001 416 128.2000000000001z" /> + <glyph glyph-name="caret-down" + unicode="" + horiz-adv-x="320" d=" M31.3 256H288.6C306.4000000000001 256 315.3 234.5 302.7000000000001 221.9L174.1 93.2C166.3 85.4 153.6 85.4 145.8 93.2L17.2 221.9C4.6 234.5 13.5 256 31.3 256z" /> + <glyph glyph-name="caret-left" + unicode="" + horiz-adv-x="192" d=" M192 320.6620000000001V63.338C192 45.52 170.457 36.597 157.858 49.196L29.196 177.858C21.386 185.668 21.386 198.332 29.196 206.142L157.858 334.804C170.457 347.404 192 338.48 192 320.6620000000001z" /> + <glyph glyph-name="caret-right" + unicode="" + horiz-adv-x="192" d=" M0 63.338V320.6620000000001C0 338.48 21.543 347.403 34.142 334.804L162.804 206.142C170.614 198.332 170.614 185.668 162.804 177.858L34.142 49.196C21.543 36.596 0 45.52 0 63.338z" /> + <glyph glyph-name="caret-square-down" + unicode="" + horiz-adv-x="448" d=" M448 368V16C448 -10.5 426.5 -32 400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368zM92.5 227.5L215.5 104.5C220.2 99.8 227.8 99.8 232.5 104.5L355.5 227.5C363.1 235.1 357.7 248 347 248H101C90.3 248 84.9 235.1 92.5 227.5z" /> + <glyph glyph-name="caret-square-left" + unicode="" + horiz-adv-x="448" d=" M400 -32H48C21.49 -32 0 -10.51 0 16V368C0 394.51 21.49 416 48 416H400C426.51 416 448 394.51 448 368V16C448 -10.51 426.51 -32 400 -32zM259.515 323.515L136.485 200.485C131.799 195.799 131.799 188.201 136.485 183.514L259.514 60.485C267.074 52.925 279.999 58.279 279.999 68.97V315.029C280 325.7200000000001 267.074 331.074 259.5150000000001 323.515z" /> + <glyph glyph-name="caret-square-right" + unicode="" + horiz-adv-x="448" d=" M48 416H400C426.51 416 448 394.51 448 368V16C448 -10.51 426.51 -32 400 -32H48C21.49 -32 0 -10.51 0 16V368C0 394.51 21.49 416 48 416zM188.485 60.485L311.514 183.514C316.2 188.2 316.2 195.798 311.514 200.485L188.485 323.515C180.925 331.0750000000001 168 325.721 168 315.0300000000001V68.971C168 58.28 180.926 52.926 188.485 60.485z" /> + <glyph glyph-name="caret-square-up" + unicode="" + horiz-adv-x="448" d=" M0 16V368C0 394.51 21.49 416 48 416H400C426.51 416 448 394.51 448 368V16C448 -10.51 426.51 -32 400 -32H48C21.49 -32 0 -10.51 0 16zM355.515 156.485L232.485 279.515C227.799 284.201 220.201 284.201 215.514 279.515L92.485 156.485C84.925 148.925 90.279 136 100.97 136H347.029C357.72 136 363.074 148.926 355.515 156.485z" /> + <glyph glyph-name="caret-up" + unicode="" + horiz-adv-x="320" d=" M288.662 96H31.338C13.52 96 4.597 117.543 17.196 130.142L145.858 258.804C153.668 266.6140000000001 166.332 266.6140000000001 174.142 258.804L302.804 130.142C315.404 117.543 306.48 96 288.662 96z" /> + <glyph glyph-name="cart-arrow-down" + unicode="" + horiz-adv-x="576" d=" M504.717 128H211.572L218.117 96H486.535C501.936 96 513.351 81.699 509.938 66.681L504.421 42.405C523.112 33.332 536 14.172 536 -8C536 -39.202 510.481 -64.444 479.176 -63.994C449.353 -63.565 424.826 -39.3630000000001 424.021 -9.547C423.581 6.74 430.106 21.502 440.824 32.001H231.176C241.553 21.835 248 7.674 248 -8C248 -39.813 221.472 -65.431 189.33 -63.938C160.79 -62.613 137.579 -39.553 136.079 -11.021C134.921 11.013 146.515 30.434 164.13 40.5650000000001L93.883 384H24C10.745 384 0 394.745 0 408V424C0 437.255 10.745 448 24 448H126.529C137.93 448 147.757 439.979 150.042 428.81L159.208 384H551.99C567.391 384 578.806 369.699 575.393 354.681L528.12 146.681C525.637 135.754 515.923 128 504.717 128zM403.029 256H360V316C360 322.627 354.627 328 348 328H324C317.373 328 312 322.627 312 316V256H268.971C258.2800000000001 256 252.926 243.074 260.486 235.515L327.515 168.486C332.201 163.8 339.799 163.8 344.486 168.486L411.515 235.515C419.074 243.074 413.72 256 403.029 256z" /> + <glyph glyph-name="cart-plus" + unicode="" + horiz-adv-x="576" d=" M504.717 128H211.572L218.117 96H486.535C501.936 96 513.351 81.699 509.938 66.681L504.421 42.405C523.112 33.332 536 14.172 536 -8C536 -39.202 510.481 -64.444 479.176 -63.994C449.353 -63.565 424.826 -39.3630000000001 424.021 -9.547C423.581 6.74 430.106 21.502 440.824 32.001H231.176C241.553 21.835 248 7.674 248 -8C248 -39.813 221.472 -65.431 189.33 -63.938C160.79 -62.613 137.579 -39.553 136.079 -11.021C134.921 11.013 146.515 30.434 164.13 40.5650000000001L93.883 384H24C10.745 384 0 394.745 0 408V424C0 437.255 10.745 448 24 448H126.529C137.93 448 147.757 439.979 150.042 428.81L159.208 384H551.99C567.391 384 578.806 369.699 575.393 354.681L528.12 146.681C525.637 135.754 515.923 128 504.717 128zM408 280H360V320C360 328.837 352.837 336 344 336H328C319.163 336 312 328.837 312 320V280H264C255.163 280 248 272.837 248 264V248C248 239.163 255.163 232 264 232H312V192C312 183.163 319.163 176 328 176H344C352.837 176 360 183.163 360 192V232H408C416.837 232 424 239.163 424 248V264C424 272.837 416.837 280 408 280z" /> + <glyph glyph-name="certificate" + unicode="" + horiz-adv-x="512" d=" M458.622 192.08L504.607 237.085C518.315 250.062 511.923 273.124 493.943 277.424L431.2930000000001 293.414L448.9540000000001 355.4290000000001C453.9450000000001 373.2670000000001 437.1250000000001 390.092 419.2930000000001 385.1L357.2990000000001 367.433L341.3150000000001 430.1040000000001C337.085 447.803 313.765 454.276 300.99 440.772L256 394.43L211.011 440.771C198.381 454.122 174.964 448.005 170.686 430.103L154.702 367.432L92.707 385.099C74.87 390.093 58.056 373.262 63.046 355.428L80.707 293.413L18.057 277.423C0.069 273.122 -6.31 250.056 7.392 237.085L53.377 192.08L7.392 147.076C-6.316 134.0990000000001 0.076 111.037 18.056 106.737L80.706 90.747L63.045 28.732C58.054 10.894 74.874 -5.931 92.706 -0.939L154.7 16.7280000000001L170.684 -45.9429999999999C175.123 -64.5179999999999 198.38 -69.9609999999999 211.009 -56.6109999999999L256 -10.61L300.989 -56.611C313.489 -70.0989999999999 336.976 -64.097 341.314 -45.943L357.298 16.728L419.2919999999999 -0.939C437.128 -5.933 453.9429999999999 10.898 448.9529999999999 28.732L431.2919999999999 90.747L493.9419999999999 106.737C511.9289999999999 111.0390000000001 518.3079999999999 134.1040000000001 504.6059999999999 147.076L458.6219999999999 192.08z" /> + <glyph glyph-name="chalkboard-teacher" + unicode="" + horiz-adv-x="640" d=" M208 96C205.61 96 203.22 95.65 200.94 94.91C187.98 90.7 174.35 88 160 88C145.65 88 132.02 90.7 119.05 94.91C116.77 95.65 114.39 96 112 96C49.94 96 -0.33 45.52 0 -16.62C0.14 -42.88 21.73 -64 48 -64H272C298.27 -64 319.86 -42.88 320 -16.62C320.33 45.52 270.06 96 208 96zM160 128C213.02 128 256 170.98 256 224S213.02 320 160 320S64 277.02 64 224S106.98 128 160 128zM592 448H208C181.53 448 160 425.75 160 398.41V352C183.42 352 205.1 345.2200000000001 224 334.2V384H576V96H512V160H384V96H307.76C326.86 79.31 340.88 57.27 347.45 32H592C618.47 32 640 54.25 640 81.59V398.41C640 425.75 618.47 448 592 448z" /> + <glyph glyph-name="chalkboard" + unicode="" + horiz-adv-x="640" d=" M96 384H544V32H608V408C608 430.06 590.06 448 568 448H72C49.94 448 32 430.06 32 408V32H96V384zM624 0H480V64H288V0H16C7.16 0 0 -7.16 0 -16V-48C0 -56.84 7.16 -64 16 -64H624C632.84 -64 640 -56.84 640 -48V-16C640 -7.16 632.84 0 624 0z" /> + <glyph glyph-name="charging-station" + unicode="" + horiz-adv-x="576" d=" M336 0H16C7.16 0 0 -7.16 0 -16V-48C0 -56.84 7.16 -64 16 -64H336C344.84 -64 352 -56.84 352 -48V-16C352 -7.16 344.84 0 336 0zM544 320V368C544 376.8400000000001 536.84 384 528 384S512 376.8400000000001 512 368V320H480V368C480 376.8400000000001 472.84 384 464 384S448 376.8400000000001 448 368V320H432C423.1600000000001 320 416 312.8400000000001 416 304V272C416 236.24 439.62 206.31 472 196.07V77.58C472 63.63 462.5 50.66 448.74 48.39C431.2200000000001 45.5 416 59.01 416 76V104C416 152.6 376.6 192 328 192H320V384C320 419.35 291.35 448 256 448H96C60.65 448 32 419.35 32 384V32H320V144H328C350.09 144 368 126.09 368 104V79.39C368 39.72 396.92 4.23 436.41 0.38C481.71 -4.05 520 31.59 520 76V196.07C552.38 206.31 576 236.24 576 272V304C576 312.8400000000001 568.84 320 560 320H544zM260.09 272.24L166.39 133.24C164.19 129.91 160.18 128 156 128C148.33 128 142.53 134.28 144.33 140.92L167.35 224H108C100.75 224 95.15 229.59 96.11 235.89L112.11 342.89C112.9 348.1 117.98 352 124 352H192C199.88 352 205.62 345.46 203.6 338.79L192 288H249.7C258.94 288 264.71 279.2200000000001 260.09 272.24z" /> + <glyph glyph-name="chart-area" + unicode="" + horiz-adv-x="512" d=" M500 64C506.6 64 512 58.6 512 52V12C512 5.4 506.6 0 500 0H12C5.4 0 0 5.4 0 12V372C0 378.6 5.4 384 12 384H52C58.6 384 64 378.6 64 372V64H500zM372.7 288.5L288 232L202.7 345.7C197.6 352.5 187.2 352 182.8 344.7L96 200V96H480L390.1 283.8C386.9000000000001 290.3 378.7000000000001 292.5 372.7000000000001 288.5z" /> + <glyph glyph-name="chart-bar" + unicode="" + horiz-adv-x="512" d=" M332.8 128H371.2C377.6 128 384 134.4 384 140.8V275.2C384 281.6 377.6 288 371.2 288H332.8C326.4000000000001 288 320 281.6 320 275.2V140.8C320 134.4 326.4 128 332.8 128zM428.8 128H467.2C473.6 128 480 134.4 480 140.8V371.2C480 377.6 473.6 384 467.2 384H428.8C422.4000000000001 384 416 377.6 416 371.2V140.8C416 134.4 422.4 128 428.8 128zM140.8 128H179.2C185.6 128 192 134.4 192 140.8V211.2C192 217.6 185.6 224 179.2 224H140.8C134.4 224 128 217.6 128 211.2V140.8C128 134.4 134.4 128 140.8 128zM236.8 128H275.2C281.6 128 288 134.4 288 140.8V339.2C288 345.6 281.6 352 275.2 352H236.8C230.4 352 224 345.6 224 339.2V140.8C224 134.4 230.4 128 236.8 128zM496 64H64V368C64 376.8400000000001 56.84 384 48 384H16C7.16 384 0 376.8400000000001 0 368V32C0 14.33 14.33 0 32 0H496C504.84 0 512 7.16 512 16V48C512 56.84 504.84 64 496 64z" /> + <glyph glyph-name="chart-line" + unicode="" + horiz-adv-x="512" d=" M496 64H64V368C64 376.8400000000001 56.84 384 48 384H16C7.16 384 0 376.8400000000001 0 368V32C0 14.33 14.33 0 32 0H496C504.84 0 512 7.16 512 16V48C512 56.84 504.84 64 496 64zM464 352H345.94C324.56 352 313.85 326.15 328.9700000000001 311.03L361.37 278.63L288 205.25L214.63 278.62C202.13 291.12 181.87 291.12 169.38 278.62L100.69 209.93C94.44 203.68 94.44 193.55 100.69 187.3L123.31 164.68C129.56 158.43 139.69 158.43 145.94 164.68L192 210.75L265.37 137.38C277.87 124.88 298.13 124.88 310.62 137.38L406.62 233.38L439.02 200.98C454.14 185.86 479.99 196.57 479.99 217.95V336C480 344.8400000000001 472.84 352 464 352z" /> + <glyph glyph-name="chart-pie" + unicode="" + horiz-adv-x="544" d=" M527.79 160H290.5L448.53 1.97C454.57 -4.07 464.51 -4.5599999999999 470.72 1.29C509.42 37.75 536.04 86.9 543.8499999999999 142.15C545.1899999999999 151.61 537.3399999999999 160.0000000000001 527.79 160.0000000000001zM511.96 224.8C503.72 344.26 408.26 439.7200000000001 288.8 447.96C279.68 448.59 272 440.9 272 431.76V208H495.77C504.91 208 512.59 215.68 511.96 224.8zM224 160V397.29C224 406.8400000000001 215.61 414.69 206.16 413.35C86.99 396.51 -4.1 292.4 0.14 167.63C4.5 39.49 114.83 -65.59 243.03 -63.98C293.43 -63.35 340 -47.11 378.29 -19.95C386.19 -14.35 386.71 -2.72 379.86 4.1299999999999L224 160z" /> + <glyph glyph-name="check-circle" + unicode="" + horiz-adv-x="512" d=" M504 192C504 55.033 392.967 -56 256 -56S8 55.033 8 192S119.033 440 256 440S504 328.967 504 192zM227.314 60.686L411.314 244.686C417.562 250.934 417.562 261.065 411.314 267.313L388.687 289.94C382.439 296.189 372.308 296.189 366.059 289.94L216 139.882L145.941 209.941C139.693 216.189 129.562 216.189 123.313 209.941L100.686 187.314C94.438 181.066 94.438 170.935 100.686 164.687L204.686 60.687C210.935 54.438 221.065 54.438 227.314 60.686z" /> + <glyph glyph-name="check-double" + unicode="" + horiz-adv-x="512" d=" M504.5 276.05L468.3 312.4600000000001C458.3 322.51 442.0900000000001 322.51 432.1 312.4600000000001L192 70.98L79.9 183.72C69.9 193.78 53.69 193.78 43.7 183.72L7.5 147.31C-2.5 137.26 -2.5 120.95 7.5 110.9L173.9 -56.46C183.9 -66.52 200.11 -66.52 210.1 -56.46L504.5 239.63C514.5 249.69 514.5 265.99 504.5 276.05zM166.57 165.29C173.41 158.2700000000001 184.75 158.2700000000001 191.78 165.11L403.85 375.38C410.87 382.2200000000001 410.87 393.56 404.0300000000001 400.59L362.08 442.71C355.24 449.73 343.9 449.73 336.87 442.89L179.71 286.81L111.48 355.58C104.64 362.6 93.3 362.6 86.28 355.76L44.15 313.99C37.13 307.15 37.13 295.81 43.97 288.79L166.57 165.29z" /> + <glyph glyph-name="check-square" + unicode="" + horiz-adv-x="448" d=" M400 -32H48C21.49 -32 0 -10.51 0 16V368C0 394.51 21.49 416 48 416H400C426.51 416 448 394.51 448 368V16C448 -10.51 426.51 -32 400 -32zM195.314 66.059L379.314 250.059C385.562 256.307 385.562 266.438 379.314 272.686L356.687 295.313C350.439 301.561 340.308 301.562 334.059 295.313L184 145.255L113.941 215.314C107.693 221.562 97.562 221.562 91.313 215.314L68.686 192.687C62.438 186.439 62.438 176.308 68.686 170.06L172.686 66.06C178.935 59.81 189.065 59.81 195.314 66.059z" /> + <glyph glyph-name="check" + unicode="" + horiz-adv-x="512" d=" M173.898 8.596L7.498 174.996C-2.499 184.993 -2.499 201.202 7.498 211.2L43.701 247.404C53.698 257.402 69.908 257.402 79.905 247.404L192 135.31L432.0950000000001 375.404C442.0920000000001 385.401 458.302 385.401 468.299 375.404L504.5020000000001 339.2C514.499 329.203 514.499 312.9940000000001 504.5020000000001 302.996L210.1020000000001 8.595C200.1040000000001 -1.402 183.8950000000001 -1.402 173.8980000000001 8.5959999999999z" /> + <glyph glyph-name="chess-bishop" + unicode="" + horiz-adv-x="320" d=" M123.158 370.1190000000001C107.369 375.4700000000001 96 390.403 96 408C96 430.091 113.909 448 136 448H183.796C205.887 448 223.796 430.091 223.796 408C223.796 390.459 212.501 375.5660000000001 196.791 370.171C220.784 353.514 245.368 323.332 265.4940000000001 288.121L144.929 167.557A6 6 0 0 1 144.929 159.072L159.071 144.93A6 6 0 0 1 167.556 144.93L280.9 258.274C298.658 219.977 310.271 178.831 310.271 144.001C310.271 90.215 287.374 68.213 251.825 57.968V0H68.174V57.97C32.631 68.216 9.739 90.219 9.739 144C9.739 222.029 68.02 331.766 123.158 370.1190000000001zM320 -52V-28C320 -21.373 314.627 -16 308 -16H12C5.373 -16 0 -21.373 0 -28V-52C0 -58.627 5.373 -64 12 -64H308C314.627 -64 320 -58.627 320 -52z" /> + <glyph glyph-name="chess-board" + unicode="" + horiz-adv-x="512" d=" M256 192V128H192V192H256zM256 448H192V384H256V448zM256 192H320V256H256V192zM384 448H320V384H384V448zM384 -64H448V0H384V-64zM512 0V64H448V0H512zM128 -64H192V0H128V-64zM128 448H64V384H128V448zM512 256V320H448V256H512zM512 128V192H448V128H512zM0 -64H64V0H0V-64zM0 384V320H64V384H0zM0 256V192H64V256H0zM0 128V64H64V128H0zM256 -64H320V0H256V-64zM192 64V0H256V64H192zM256 256V320H192V256H256zM64 64V0H128V64H64zM128 192H64V128H128V192zM384 64H448V128H384V64zM512 448H448V384H512V448zM384 192H448V256H384V192zM384 384V320H448V384H384zM320 64V0H384V64H320zM128 128V64H192V128H128zM256 128V64H320V128H256zM192 256H128V192H192V256zM128 320H64V256H128V320zM320 128H384V192H320V128zM192 320V384H128V320H192zM320 320V384H256V320H320zM320 256H384V320H320V256z" /> + <glyph glyph-name="chess-king" + unicode="" + horiz-adv-x="448" d=" M416 -28V-52C416 -58.627 410.627 -64 404 -64H44C37.373 -64 32 -58.627 32 -52V-28C32 -21.373 37.373 -16 44 -16H404C410.627 -16 416 -21.373 416 -28zM407.967 296H248V344H298A6 6 0 0 1 304 350V386A6 6 0 0 1 298 392H248V442A6 6 0 0 1 242 448H206A6 6 0 0 1 200 442V392H150A6 6 0 0 1 144 386V350A6 6 0 0 1 150 344H200V296H40.033C12.459 296 -6.846 268.756 2.295 242.741L87.582 0H360.418L445.7050000000001 242.741C454.846 268.756 435.541 296 407.967 296z" /> + <glyph glyph-name="chess-knight" + unicode="" + horiz-adv-x="384" d=" M352 224V0H32V46.557C32 76.859 49.12 104.56 76.223 118.111L133.466 146.733A48 48 0 0 1 160 189.666V240L137.873 228.937A23.996 23.996 0 0 1 125.323 213.292L113.488 165.954A12 12 0 0 0 106.303 157.723L76.702 145.8830000000001A11.998 11.998 0 0 0 67.372 146.059L7.126 172.833A12 12 0 0 0 0 183.799V342.059C0 348.424 2.529 354.529 7.03 359.03L16 368L1.789 396.4220000000001A16.937 16.937 0 0 0 0 404C0 410.627 5.373 416 12 416H160C266.039 416 352 330.039 352 224zM372 -16H12C5.373 -16 0 -21.373 0 -28V-52C0 -58.627 5.373 -64 12 -64H372C378.627 -64 384 -58.627 384 -52V-28C384 -21.373 378.627 -16 372 -16zM52 320C40.954 320 32 311.046 32 300S40.954 280 52 280S72 288.954 72 300S63.046 320 52 320z" /> + <glyph glyph-name="chess-pawn" + unicode="" + horiz-adv-x="320" d=" M264 0H56S116 42.743 116 176H84C77.373 176 72 181.373 72 188V212C72 218.627 77.373 224 84 224H124.209C95.721 237.44 76 266.4120000000001 76 300C76 346.392 113.608 384 160 384S244 346.392 244 300C244 266.4120000000001 224.279 237.44 195.791 224H236C242.627 224 248 218.627 248 212V188C248 181.373 242.627 176 236 176H204C204 42.743 264 0 264 0zM292 -16H28C21.373 -16 16 -21.373 16 -28V-52C16 -58.627 21.373 -64 28 -64H292C298.627 -64 304 -58.627 304 -52V-28C304 -21.373 298.627 -16 292 -16z" /> + <glyph glyph-name="chess-queen" + unicode="" + horiz-adv-x="512" d=" M436 -64H76C69.373 -64 64 -58.627 64 -52V-28C64 -21.373 69.373 -16 76 -16H436C442.627 -16 448 -21.373 448 -28V-52C448 -58.627 442.627 -64 436 -64zM255.579 448C224.651 448 199.579 422.928 199.579 392S224.651 336 255.579 336S311.579 361.072 311.579 392S286.507 448 255.579 448zM460.147 293.366C454.3790000000001 296.411 447.2310000000001 294.298 444.0650000000001 288.596C435.4490000000001 273.0800000000001 421.3180000000001 250.795 400.0000000000001 250.795C371.2860000000001 250.795 369.3750000000001 270.5990000000001 368.3140000000001 308.337C368.1310000000001 314.829 362.8130000000001 320.0010000000001 356.3190000000001 320.0010000000001H315.3130000000001C310.1380000000001 320.0010000000001 305.5590000000001 316.673 303.9250000000002 311.7630000000001C295.0350000000002 285.0540000000001 277.8520000000002 270.7710000000001 256.0000000000001 270.7710000000001S216.9660000000001 285.0540000000001 208.0750000000001 311.7630000000001C206.4410000000001 316.673 201.8620000000001 320.0010000000001 196.6870000000001 320.0010000000001H155.6820000000001C149.1870000000001 320.0010000000001 143.8690000000001 314.827 143.6870000000001 308.3340000000001C142.6350000000001 270.692 140.7530000000001 250.795 111.9990000000001 250.795C91.3080000000001 250.795 78.1820000000001 271.019 67.5740000000001 288.8200000000001C64.3080000000001 294.3 57.3160000000001 296.2510000000001 51.6750000000001 293.273L12.4960000000001 272.5940000000001A12 12 0 0 1 6.9860000000001 257.449L112 0H400L505.014 257.448A12 12 0 0 1 499.504 272.593L460.147 293.366z" /> + <glyph glyph-name="chess-rook" + unicode="" + horiz-adv-x="384" d=" M81.241 232.973C80.957 189.08 77.411 99.924 48 0H335.9820000000001C306.5820000000001 99.604 303.0460000000001 188.912 302.761 232.975L348.1790000000001 275.287A11.998 11.998 0 0 1 351.999 284.067V404C351.999 410.627 346.6260000000001 416 339.999 416H299.999C293.372 416 287.999 410.627 287.999 404V360H239.999V404C239.999 410.627 234.6260000000001 416 227.999 416H155.999C149.372 416 143.999 410.627 143.999 404V360H96V404C96 410.627 90.627 416 84 416H44C37.373 416 32 410.627 32 404V284.068C32 280.738 33.384 277.558 35.82 275.288L81.241 232.973zM160 192C160 209.673 174.327 224 192 224C209.673 224 224 209.673 224 192V127.996H160V192zM384 -28V-52C384 -58.627 378.627 -64 372 -64H12C5.373 -64 0 -58.627 0 -52V-28C0 -21.373 5.373 -16 12 -16H372C378.627 -16 384 -21.373 384 -28z" /> + <glyph glyph-name="chess" + unicode="" + horiz-adv-x="512" d=" M199.821 230.367A6 6 0 0 0 205.821 224.367L205.82 203.601A6 6 0 0 0 199.82 197.601H174.015C174.015 165.886 171.862 101.4 191.413 44.372H64.597C84.54 102.548 82.02 168.755 82.02 197.601H56.183A6 6 0 0 0 50.183 203.601L50.185 224.367A6 6 0 0 0 56.185 230.367H199.821zM41.554 332.9120000000001L76.134 237.841H179.868L214.44 332.913C217.286 340.7390000000001 211.49 349.014 203.162 349.014H152V379.2340000000001H173.57A6 6 0 0 1 179.57 385.2340000000001V407.617A6 6 0 0 1 173.57 413.617H145.203V442A6 6 0 0 1 139.203 448H116.82A6 6 0 0 1 110.82 442V413.617H82.421A6 6 0 0 1 76.421 407.617V385.2340000000001A6 6 0 0 1 82.421 379.2340000000001H104V349.015H52.831C44.503 349.014 38.707 340.7390000000001 41.554 332.9120000000001zM222.678 2.83V30.897A6 6 0 0 1 216.678 36.897H39.322A6 6 0 0 1 33.322 30.897V2.83L11.174 -11.334A6 6 0 0 1 8.407 -16.389V-58A6 6 0 0 1 14.407 -64H241.594A6 6 0 0 1 247.594 -58V-16.388A6 6 0 0 1 244.8270000000001 -11.333L222.678 2.83zM313.256 147.055L338.136 130.0919999999999C338.226 111.9679999999999 337.969 66.1879999999999 326.231 15.5699999999999H473.757C462.044 66.045 461.788 111.894 461.875 130.107L486.734 147.056A3.856 3.856 0 0 1 488.418 150.243V220.144A3.8569999999999998 3.8569999999999998 0 0 1 484.561 224.001H456.9059999999999A3.8569999999999998 3.8569999999999998 0 0 1 453.0489999999999 220.144V188.63H430.3119999999999V220.144A3.8569999999999998 3.8569999999999998 0 0 1 426.4539999999999 224.001H373.5359999999999A3.8569999999999998 3.8569999999999998 0 0 1 369.6789999999999 220.144V188.63H346.9419999999999V220.144A3.8569999999999998 3.8569999999999998 0 0 1 343.0849999999998 224.001H315.43A3.8569999999999998 3.8569999999999998 0 0 1 311.573 220.144V150.243A3.8549999999999995 3.8549999999999995 0 0 1 313.256 147.055zM384.841 95.149C384.841 103.521 391.628 110.307 400 110.307S415.158 103.52 415.158 95.149V64.831H384.841V95.149zM504.62 -22.059L490.956 -11.42V4.132A3.8569999999999998 3.8569999999999998 0 0 1 487.099 7.989H312.915A3.8569999999999998 3.8569999999999998 0 0 1 309.058 4.132V-11.42L295.381 -22.059A3.8569999999999998 3.8569999999999998 0 0 1 293.893 -25.103V-60.142A3.8569999999999998 3.8569999999999998 0 0 1 297.75 -63.999H502.25A3.8569999999999998 3.8569999999999998 0 0 1 506.107 -60.142V-25.102A3.859 3.859 0 0 1 504.62 -22.059z" /> + <glyph glyph-name="chevron-circle-down" + unicode="" + horiz-adv-x="512" d=" M504 192C504 55 393 -56 256 -56S8 55 8 192S119 440 256 440S504 329 504 192zM273 78.1L408.5 213.6C417.9 223 417.9 238.2 408.5 247.5000000000001L391.5 264.5C382.1 273.9000000000001 366.9 273.9000000000001 357.6 264.5L256 162.9L154.4 264.5C145 273.9 129.8 273.9 120.5 264.5L103.5 247.5C94.1 238.1 94.1 222.9 103.5 213.6L239 78.1C248.4 68.7000000000001 263.6 68.7000000000001 273 78.1z" /> + <glyph glyph-name="chevron-circle-left" + unicode="" + horiz-adv-x="512" d=" M256 -56C119 -56 8 55 8 192S119 440 256 440S504 329 504 192S393 -56 256 -56zM142.1 175L277.6 39.5C287 30.1 302.2000000000001 30.1 311.5 39.5L328.5 56.5C337.9 65.9 337.9 81.1 328.5 90.4L226.9 192L328.5 293.6C337.9 303 337.9 318.2 328.5 327.5L311.5 344.5C302.1 353.9 286.9 353.9 277.6 344.5L142.1 209C132.7 199.6 132.7 184.4 142.1 175z" /> + <glyph glyph-name="chevron-circle-right" + unicode="" + horiz-adv-x="512" d=" M256 440C393 440 504 329 504 192S393 -56 256 -56S8 55 8 192S119 440 256 440zM369.9 209L234.4 344.5C225 353.9 209.8 353.9 200.5 344.5L183.5 327.5C174.1 318.1 174.1 302.9 183.5 293.6L285.1 192L183.5 90.4C174.1 81 174.1 65.8 183.5 56.5L200.5 39.5C209.9 30.1 225.1 30.1 234.4 39.5L369.9 175C379.3 184.4 379.3 199.6 369.9 209z" /> + <glyph glyph-name="chevron-circle-up" + unicode="" + horiz-adv-x="512" d=" M8 192C8 329 119 440 256 440S504 329 504 192S393 -56 256 -56S8 55 8 192zM239 305.9L103.5 170.4C94.1 161 94.1 145.8 103.5 136.5L120.5 119.5C129.9 110.1 145.1 110.1 154.4 119.5L256 221.1L357.6 119.5C367 110.1 382.2000000000001 110.1 391.5 119.5L408.5 136.5C417.9 145.9 417.9 161.1 408.5 170.4L273 305.9C263.6 315.3 248.4 315.3 239 305.9z" /> + <glyph glyph-name="chevron-down" + unicode="" + horiz-adv-x="448" d=" M207.029 66.524L12.686 260.868C3.313 270.241 3.313 285.437 12.686 294.809L35.353 317.476C44.71 326.833 59.875 326.851 69.254 317.516L224 163.495L378.745 317.516C388.124 326.851 403.289 326.833 412.646 317.476L435.313 294.809C444.686 285.4360000000001 444.686 270.24 435.313 260.868L240.971 66.524C231.598 57.152 216.402 57.152 207.029 66.524z" /> + <glyph glyph-name="chevron-left" + unicode="" + horiz-adv-x="320" d=" M34.52 208.97L228.87 403.31C238.24 412.68 253.44 412.68 262.81 403.31L285.48 380.64C294.8400000000001 371.28 294.85 356.12 285.5200000000001 346.74L131.49 192L285.51 37.25C294.85 27.87 294.83 12.71 285.47 3.35L262.8 -19.32C253.43 -28.69 238.23 -28.69 228.86 -19.32L34.52 175.03C25.15 184.4 25.15 199.6 34.52 208.97z" /> + <glyph glyph-name="chevron-right" + unicode="" + horiz-adv-x="320" d=" M285.476 175.029L91.132 -19.314C81.759 -28.687 66.563 -28.687 57.191 -19.314L34.524 3.353C25.167 12.7099999999999 25.149 27.8749999999999 34.484 37.254L188.505 192L34.484 346.745C25.149 356.124 25.167 371.289 34.524 380.646L57.191 403.313C66.564 412.6860000000001 81.76 412.6860000000001 91.132 403.313L285.475 208.97C294.848 199.598 294.848 184.402 285.476 175.029z" /> + <glyph glyph-name="chevron-up" + unicode="" + horiz-adv-x="448" d=" M240.971 317.476L435.314 123.1330000000001C444.687 113.7600000000001 444.687 98.564 435.314 89.192L412.647 66.525C403.29 57.168 388.125 57.15 378.7459999999999 66.485L224 220.505L69.255 66.484C59.876 57.149 44.711 57.167 35.354 66.524L12.687 89.191C3.314 98.564 3.314 113.7600000000001 12.687 123.1320000000001L207.03 317.475C216.402 326.848 231.598 326.848 240.971 317.476z" /> + <glyph glyph-name="child" + unicode="" + horiz-adv-x="384" d=" M120 376C120 415.765 152.235 448 192 448S264 415.765 264 376C264 336.236 231.765 304 192 304S120 336.236 120 376zM374.627 374.627C362.1310000000001 387.124 341.8690000000001 387.124 329.373 374.627L242.745 288H141.254L54.627 374.627C42.131 387.124 21.869 387.124 9.373 374.627C-3.124 362.13 -3.124 341.8690000000001 9.373 329.372L104 234.746V-32C104 -49.673 118.327 -64 136 -64H152C169.673 -64 184 -49.673 184 -32V80H200V-32C200 -49.673 214.327 -64 232 -64H248C265.673 -64 280 -49.673 280 -32V234.746L374.627 329.373C387.124 341.87 387.124 362.13 374.627 374.627z" /> + <glyph glyph-name="church" + unicode="" + horiz-adv-x="640" d=" M464.46 201.32L352 268.8V320H400C408.84 320 416 327.16 416 336V368C416 376.8400000000001 408.84 384 400 384H352V432C352 440.84 344.84 448 336 448H304C295.1600000000001 448 288 440.84 288 432V384H240C231.16 384 224 376.8400000000001 224 368V336C224 327.16 231.16 320 240 320H288V268.8L175.54 201.32A31.997 31.997 0 0 1 160 173.88V-64H256V32C256 67.35 284.65 96 320 96S384 67.35 384 32V-64H480V173.88C480 185.12 474.1 195.54 464.46 201.32zM0 52.04V-48C0 -56.84 7.16 -64 16 -64H128V128L19.39 81.46A32.024 32.024 0 0 1 0 52.04zM620.61 81.46L512 128V-64H624C632.84 -64 640 -56.84 640 -48V52.04C640 64.84 632.37 76.41 620.61 81.46z" /> + <glyph glyph-name="circle-notch" + unicode="" + horiz-adv-x="512" d=" M288 408.944V392.2850000000001C288 381.481 295.281 372.126 305.686 369.219C383.204 347.5660000000001 440 276.482 440 192C440 90.311 357.705 8 256 8C154.311 8 72 90.295 72 192C72 276.4700000000001 128.786 347.564 206.312 369.219C216.719 372.126 224 381.483 224 392.288V408.936C224 424.645 209.166 436.089 193.954 432.17C86.603 404.5180000000001 7.394 306.794 8.003 190.668C8.723 53.616 119.48 -56.288 256.534 -55.999C393.255 -55.711 504 55.212 504 192C504 307.633 424.86 404.779 317.789 432.236C302.678 436.111 288 424.544 288 408.944z" /> + <glyph glyph-name="circle" + unicode="" + horiz-adv-x="512" d=" M256 440C119 440 8 329 8 192S119 -56 256 -56S504 55 504 192S393 440 256 440z" /> + <glyph glyph-name="city" + unicode="" + horiz-adv-x="640" d=" M616 256H480V424C480 437.26 469.26 448 456 448H312C298.74 448 288 437.26 288 424V352H224V432C224 440.84 216.84 448 208 448H192C183.16 448 176 440.84 176 432V352H112V432C112 440.84 104.84 448 96 448H80C71.16 448 64 440.84 64 432V352H24C10.74 352 0 341.26 0 328V-32C0 -49.67 14.33 -64 32 -64H608C625.67 -64 640 -49.67 640 -32V232C640 245.26 629.25 256 616 256zM128 44C128 37.37 122.63 32 116 32H76C69.37 32 64 37.37 64 44V84C64 90.63 69.37 96 76 96H116C122.63 96 128 90.63 128 84V44zM128 140C128 133.37 122.63 128 116 128H76C69.37 128 64 133.37 64 140V180C64 186.63 69.37 192 76 192H116C122.63 192 128 186.63 128 180V140zM128 236C128 229.37 122.63 224 116 224H76C69.37 224 64 229.37 64 236V276C64 282.63 69.37 288 76 288H116C122.63 288 128 282.63 128 276V236zM256 44C256 37.37 250.63 32 244 32H204C197.37 32 192 37.37 192 44V84C192 90.63 197.37 96 204 96H244C250.63 96 256 90.63 256 84V44zM256 140C256 133.37 250.63 128 244 128H204C197.37 128 192 133.37 192 140V180C192 186.63 197.37 192 204 192H244C250.63 192 256 186.63 256 180V140zM256 236C256 229.37 250.63 224 244 224H204C197.37 224 192 229.37 192 236V276C192 282.63 197.37 288 204 288H244C250.63 288 256 282.63 256 276V236zM416 140C416 133.37 410.63 128 404 128H364C357.37 128 352 133.37 352 140V180C352 186.63 357.37 192 364 192H404C410.63 192 416 186.63 416 180V140zM416 236C416 229.37 410.63 224 404 224H364C357.37 224 352 229.37 352 236V276C352 282.63 357.37 288 364 288H404C410.63 288 416 282.63 416 276V236zM416 332C416 325.37 410.63 320 404 320H364C357.37 320 352 325.37 352 332V372C352 378.63 357.37 384 364 384H404C410.63 384 416 378.63 416 372V332zM576 44C576 37.37 570.63 32 564 32H524C517.37 32 512 37.37 512 44V84C512 90.63 517.37 96 524 96H564C570.63 96 576 90.63 576 84V44zM576 140C576 133.37 570.63 128 564 128H524C517.37 128 512 133.37 512 140V180C512 186.63 517.37 192 524 192H564C570.63 192 576 186.63 576 180V140z" /> + <glyph glyph-name="clipboard-check" + unicode="" + horiz-adv-x="384" d=" M336 384H256C256 419.3 227.3 448 192 448S128 419.3 128 384H48C21.5 384 0 362.5 0 336V-16C0 -42.5 21.5 -64 48 -64H336C362.5 -64 384 -42.5 384 -16V336C384 362.5 362.5 384 336 384zM192 408C205.3 408 216 397.3 216 384S205.3 360 192 360S168 370.7 168 384S178.7 408 192 408zM313.2 176.2L170.2 34.4C165.5 29.7 157.9 29.8 153.2 34.5L70.6 117.8C65.9 122.5 66 130.1 70.7 134.8L99.1 163C103.8 167.7 111.4 167.6 116.1 162.9L162.1 116.5L268.1 221.7C272.8 226.4 280.4000000000001 226.3 285.1 221.6L313.3 193.2C318 188.4 317.9000000000001 180.9 313.2 176.2z" /> + <glyph glyph-name="clipboard-list" + unicode="" + horiz-adv-x="384" d=" M336 384H256C256 419.3 227.3 448 192 448S128 419.3 128 384H48C21.5 384 0 362.5 0 336V-16C0 -42.5 21.5 -64 48 -64H336C362.5 -64 384 -42.5 384 -16V336C384 362.5 362.5 384 336 384zM96 24C82.7 24 72 34.7 72 48S82.7 72 96 72S120 61.3 120 48S109.3 24 96 24zM96 120C82.7 120 72 130.7 72 144S82.7 168 96 168S120 157.3 120 144S109.3 120 96 120zM96 216C82.7 216 72 226.7 72 240S82.7 264 96 264S120 253.3 120 240S109.3 216 96 216zM192 408C205.3 408 216 397.3 216 384S205.3 360 192 360S168 370.7 168 384S178.7 408 192 408zM320 40C320 35.6 316.4 32 312 32H168C163.6 32 160 35.6 160 40V56C160 60.4 163.6 64 168 64H312C316.4 64 320 60.4 320 56V40zM320 136C320 131.6 316.4 128 312 128H168C163.6 128 160 131.6 160 136V152C160 156.4 163.6 160 168 160H312C316.4 160 320 156.4 320 152V136zM320 232C320 227.6 316.4 224 312 224H168C163.6 224 160 227.6 160 232V248C160 252.4 163.6 256 168 256H312C316.4 256 320 252.4 320 248V232z" /> + <glyph glyph-name="clipboard" + unicode="" + horiz-adv-x="384" d=" M384 336V-16C384 -42.51 362.51 -64 336 -64H48C21.49 -64 0 -42.51 0 -16V336C0 362.51 21.49 384 48 384H128C128 419.29 156.71 448 192 448S256 419.29 256 384H336C362.51 384 384 362.51 384 336zM192 408C178.745 408 168 397.255 168 384S178.745 360 192 360S216 370.745 216 384S205.255 408 192 408M288 294V314A6 6 0 0 1 282 320H102A6 6 0 0 1 96 314V294A6 6 0 0 1 102 288H282A6 6 0 0 1 288 294z" /> + <glyph glyph-name="clock" + unicode="" + horiz-adv-x="512" d=" M256 440C119 440 8 329 8 192S119 -56 256 -56S504 55 504 192S393 440 256 440zM313.1 89.9L224.9 154C221.8 156.3 220 159.9 220 163.7V332C220 338.6 225.4 344 232 344H280C286.6 344 292 338.6 292 332V194.3L355.5 148.1C360.9 144.2000000000001 362 136.7000000000001 358.1 131.3L329.9000000000001 92.5C326.0000000000001 87.2 318.5000000000001 86 313.1 89.9z" /> + <glyph glyph-name="clone" + unicode="" + horiz-adv-x="512" d=" M464 448C490.51 448 512 426.51 512 400V112C512 85.49 490.51 64 464 64H176C149.49 64 128 85.49 128 112V400C128 426.51 149.49 448 176 448H464M176 32C131.888 32 96 67.888 96 112V320H48C21.49 320 0 298.51 0 272V-16C0 -42.51 21.49 -64 48 -64H336C362.51 -64 384 -42.51 384 -16V32H176z" /> + <glyph glyph-name="closed-captioning" + unicode="" + horiz-adv-x="512" d=" M464 384H48C21.5 384 0 362.5 0 336V48C0 21.5 21.5 0 48 0H464C490.5 0 512 21.5 512 48V336C512 362.5 490.5 384 464 384zM218.1 160.3C220.9 162.8 225.2 162.4 227.3 159.4L246.8 131.7000000000001C248.5 129.3000000000001 248.3 126.1 246.3 124.0000000000001C192.7 67.2000000000001 73.5 91.9 73.5 191.9000000000001C73.5 289.2000000000001 195.2 311.4000000000001 246 262.0000000000001C248.1 260.0000000000001 248.5 258.8000000000001 247 256.3000000000001L229.5 225.8000000000001C227.6 222.7000000000001 223.3 221.8000000000001 220.4 224.1000000000001C179.6 256.1000000000002 125.8 239.0000000000001 125.8 192.9000000000001C125.9 144.9000000000001 176.9 122.4000000000001 218.1 160.3000000000001zM408.5 160.3C411.3 162.8 415.6 162.4 417.7 159.4L437.2 131.7000000000001C438.9 129.3000000000001 438.7 126.1 436.7 124.0000000000001C383.2 67.1000000000001 264 91.9 264 191.9000000000001C264 289.2000000000001 385.7 311.4000000000001 436.5 262.0000000000001C438.6 260.0000000000001 439 258.8000000000001 437.5 256.3000000000001L420 225.8C418.1 222.7 413.8 221.8 410.9 224.1C370.1 256.1 316.3 239.0000000000001 316.3 192.9C316.3 144.9 367.3 122.4 408.5 160.3z" /> + <glyph glyph-name="cloud-download-alt" + unicode="" + horiz-adv-x="640" d=" M537.6 221.4C541.7 232.1 544 243.8 544 256C544 309 501 352 448 352C428.3 352 409.9 346 394.7 335.8C367 383.8 315.3 416 256 416C167.6 416 96 344.4 96 256C96 253.3 96.1 250.6 96.2 247.9C40.2 228.2 0 174.8 0 112C0 32.5 64.5 -32 144 -32H512C582.7 -32 640 25.3 640 96C640 157.9 596 209.6 537.6 221.4zM404.7000000000001 132.7L299.3 27.3C293.1 21.1 282.9000000000001 21.1 276.7 27.3L171.3 132.7C161.2 142.8 168.4 160 182.6 160H248V272C248 280.8 255.2 288 264 288H312C320.8 288 328 280.8 328 272V160H393.4C407.6 160 414.8 142.8 404.7 132.7z" /> + <glyph glyph-name="cloud-upload-alt" + unicode="" + horiz-adv-x="640" d=" M537.6 221.4C541.7 232.1 544 243.8 544 256C544 309 501 352 448 352C428.3 352 409.9 346 394.7 335.8C367 383.8 315.3 416 256 416C167.6 416 96 344.4 96 256C96 253.3 96.1 250.6 96.2 247.9C40.2 228.2 0 174.8 0 112C0 32.5 64.5 -32 144 -32H512C582.7 -32 640 25.3 640 96C640 157.9 596 209.6 537.6 221.4zM393.4 160H328V48C328 39.2 320.8 32 312 32H264C255.2 32 248 39.2 248 48V160H182.6C168.3 160 161.2 177.2 171.3 187.3L276.7 292.7000000000001C282.9 298.9 293.1 298.9 299.3 292.7000000000001L404.7000000000001 187.3C414.8000000000001 177.2 407.6 160 393.4000000000001 160z" /> + <glyph glyph-name="cloud" + unicode="" + horiz-adv-x="640" d=" M537.6 221.4C541.7 232.1 544 243.8 544 256C544 309 501 352 448 352C428.3 352 409.9 346 394.7 335.8C367 383.8 315.3 416 256 416C167.6 416 96 344.4 96 256C96 253.3 96.1 250.6 96.2 247.9C40.2 228.2 0 174.8 0 112C0 32.5 64.5 -32 144 -32H512C582.7 -32 640 25.3 640 96C640 157.9 596 209.6 537.6 221.4z" /> + <glyph glyph-name="cocktail" + unicode="" + horiz-adv-x="576" d=" M296 -16H240V109.22L408.74 277.9500000000001C424.26 293.4700000000001 413.27 320 391.32 320H24.68C2.73 320 -8.26 293.4700000000001 7.26 277.9500000000001L176 109.22V-16H120C97.91 -16 80 -33.91 80 -56C80 -60.42 83.58 -64 88 -64H328C332.42 -64 336 -60.42 336 -56C336 -33.91 318.09 -16 296 -16zM432 448C369.39 448 316.65 407.8 296.82 352H349.36C366.01 380.55 396.63 400 432 400C484.93 400 528 356.94 528 304S484.93 208 432 208C417.96 208 404.71 211.2 392.68 216.64L357.42 181.38C379.23 168.08 404.59 160 432 160C511.53 160 576 224.47 576 304S511.53 448 432 448z" /> + <glyph glyph-name="code-branch" + unicode="" + horiz-adv-x="384" d=" M384 304C384 348.2 348.2 384 304 384S224 348.2 224 304C224 267.6 248.3 236.9 281.5 227.2C280.9 211.1 277.3 198.7 270.5 190.3C255.1 171.1 221.2 167.9 185.3 164.6C157.1 162 127.9 159.2000000000001 104 147.7000000000001V291.7000000000001C136.5 301.9000000000001 160 332.2000000000001 160 368.0000000000001C160 412.2000000000001 124.2 448.0000000000001 80 448.0000000000001S0 412.2 0 368C0 332.2 23.5 301.9 56 291.7V92.4C23.5 82.1 0 51.8 0 16C0 -28.2 35.8 -64 80 -64S160 -28.2 160 16C160 50 138.8 79.1 108.8 90.6C111.9 95.8 116.6 100.4 123.7 104C139.9 112.2 164.1 114.4 189.8 116.8C232 120.7 279.8 125.2 308 160.2C322 177.6 329.1 200 329.6 228.1C361.2000000000001 238.9 384 268.8 384 304zM80 384C88.8 384 96 376.8 96 368S88.8 352 80 352S64 359.2 64 368S71.2 384 80 384zM80 0C71.2 0 64 7.2 64 16S71.2 32 80 32S96 24.8 96 16S88.8 0 80 0zM304 320C312.8 320 320 312.8 320 304S312.8 288 304 288S288 295.2 288 304S295.2 320 304 320z" /> + <glyph glyph-name="code" + unicode="" + horiz-adv-x="640" d=" M278.9 -63.5L217.9 -45.8C211.5 -44 207.9 -37.3 209.7 -30.9L346.2 439.3C348 445.7 354.7 449.3 361.1 447.5L422.1 429.8C428.5 428 432.1 421.3 430.3 414.9L293.8 -55.3C291.9000000000001 -61.7 285.3 -65.4 278.9000000000001 -63.5zM164.9 48.7L208.4 95.1C213 99.9999999999999 212.7 107.8 207.6 112.3L117 192L207.6 271.7C212.7 276.2 213.1 284 208.4 288.9L164.9 335.3C160.4 340.1 152.8 340.4 147.9 335.8L3.8 200.8C-1.3 196.1 -1.3 188 3.8 183.3L147.9 48.2C152.8 43.6 160.4 43.8000000000001 164.9 48.7zM492.1 48.1L636.1999999999999 183.1999999999999C641.3 187.8999999999999 641.3 196 636.1999999999999 200.6999999999999L492.1 335.9C487.3 340.4 479.7 340.2 475.1 335.4L431.6 289C427 284.1 427.3 276.3 432.4000000000001 271.8L523 192L432.4 112.3C427.3 107.8 426.9 100 431.6 95.1L475.1 48.7C479.6 43.8000000000001 487.2 43.6 492.1 48.1z" /> + <glyph glyph-name="coffee" + unicode="" + horiz-adv-x="640" d=" M192 64H384C437 64 480 107 480 160H512C582.6 160 640 217.4 640 288S582.6 416 512 416H120C106.7 416 96 405.3 96 392V160C96 107 139 64 192 64zM512 352C547.3 352 576 323.3 576 288S547.3 224 512 224H480V352H512zM559.7 -32H48.3C0.7 -32 -12.7 32 12.3 32H595.5999999999999C620.5999999999999 32 607.3999999999999 -32 559.6999999999999 -32z" /> + <glyph glyph-name="cog" + unicode="" + horiz-adv-x="512" d=" M444.788 156.9L487.404 132.301C492.271 129.492 494.53 123.683 492.863 118.316C481.793 82.674 462.893 50.474 438.174 23.73A12.015999999999998 12.015999999999998 0 0 0 423.342 21.4759999999999L380.758 46.0709999999999A191.577 191.577 0 0 0 319.999 10.9409999999999V-38.2410000000001A12.01 12.01 0 0 0 310.622 -49.9590000000001C275.666 -57.8090000000001 238.123 -58.2150000000001 201.403 -49.9660000000001C195.913 -48.7330000000001 192 -43.8700000000001 192 -38.2430000000001V10.9409999999999A191.555 191.555 0 0 0 131.241 46.0709999999999L88.657 21.4759999999999A12.015999999999998 12.015999999999998 0 0 0 73.825 23.7299999999999C49.107 50.4739999999999 30.206 82.6739999999999 19.136 118.3159999999999C17.469 123.6819999999999 19.728 129.4909999999999 24.595 132.3009999999999L67.212 156.9A193.48000000000002 193.48000000000002 0 0 0 67.212 227.099L24.596 251.698C19.729 254.507 17.47 260.316 19.137 265.683C30.207 301.325 49.107 333.525 73.826 360.269A12.015999999999998 12.015999999999998 0 0 0 88.658 362.523L131.242 337.928A191.577 191.577 0 0 0 192.001 373.058V422.241A12.01 12.01 0 0 0 201.3780000000001 433.959C236.3340000000001 441.8090000000001 273.8770000000001 442.215 310.5970000000001 433.966C316.0870000000001 432.733 320.0000000000001 427.87 320.0000000000001 422.243V373.059A191.555 191.555 0 0 0 380.7590000000001 337.929L423.3430000000001 362.524A12.015999999999998 12.015999999999998 0 0 0 438.1750000000001 360.27C462.8930000000001 333.526 481.7940000000001 301.326 492.8640000000001 265.684C494.5310000000001 260.318 492.2720000000001 254.509 487.4050000000001 251.699L444.788 227.1A193.485 193.485 0 0 0 444.788 156.9zM336 192C336 236.112 300.112 272 256 272S176 236.112 176 192S211.888 112 256 112S336 147.888 336 192z" /> + <glyph glyph-name="cogs" + unicode="" + horiz-adv-x="640" d=" M512.1 257L503.9 242.7C500.9 237.4 494.5000000000001 235.2 488.8 237.3C477 241.7 466.2 248 456.7 255.9C452.1 259.7 450.9 266.4 453.9 271.6L462.1 285.9C455.2 293.9 449.8 303.2 446.2 313.3H429.7C423.7 313.3 418.5 317.6 417.5 323.6C415.5 335.6 415.4 348.2 417.5 360.7C418.5 366.7 423.7 371.1 429.7 371.1H446.2C449.8 381.2 455.2 390.5 462.1 398.5L453.9 412.8C450.9 418 452 424.7 456.7 428.5C466.2 436.4 477.1 442.7 488.8 447.1C494.5 449.2 500.9 447 503.9 441.7L512.1 427.4C522.6 429.3 533.3000000000001 429.3 543.8000000000001 427.4L552 441.7C555 447 561.4 449.2 567.1 447.1C578.9 442.7 589.7 436.4 599.2 428.5C603.8000000000001 424.7 605 418 602 412.8L593.8 398.5C600.6999999999999 390.5 606.0999999999999 381.2 609.6999999999999 371.1H626.1999999999999C632.1999999999999 371.1 637.4 366.8 638.4 360.8C640.4 348.8 640.5 336.2 638.4 323.7C637.4 317.7 632.1999999999999 313.3 626.1999999999999 313.3H609.6999999999999C606.0999999999999 303.2 600.6999999999999 293.9 593.8 285.9L602 271.6C605 266.4 603.9 259.7 599.2 255.9C589.7 248 578.8000000000001 241.7 567.1 237.3C561.4 235.2 555 237.4 552 242.7L543.8 257C533.4 255.1 522.5999999999999 255.1 512.0999999999999 257zM501.6 315.8C540.1 286.2000000000001 584 330.1 554.4 368.6C515.9 398.3 472 354.3 501.6 315.8zM386.3 161.9L420 145.1C430.1 139.3 434.5 127 430.5 116C421.6 91.8 404.1 69.6 387.9 50.1999999999999C380.5 41.3 367.7 39.0999999999999 357.6 44.8999999999999L328.5 61.6999999999999C312.5 47.9999999999999 293.8999999999999 37.0999999999999 273.6 29.9999999999999V-3.6000000000001C273.6 -15.2000000000001 265.3 -25.2000000000001 253.9 -27.2000000000001C229.3 -31.4000000000001 203.5 -31.6000000000001 178 -27.2000000000001C166.5 -25.2000000000001 158 -15.3000000000001 158 -3.6000000000001V30C137.7 37.2 119.1 48 103.1 61.7L74 45C64 39.2 51.1 41.4 43.7 50.3C27.5 69.7 10.4 91.9 1.5 116C-2.5 126.9 1.9 139.2 12 145.1L45.3 161.9C41.4 182.8 41.4 204.3000000000001 45.3 225.3000000000001L12 242.2C1.9 248 -2.6 260.3 1.5 271.2C10.4 295.4 27.5 317.6 43.7 337C51.1 345.9 63.9 348.1 74 342.3L103.1 325.5C119.1 339.2 137.7 350.1 158 357.2V390.9C158 402.4 166.2 412.4 177.6 414.4C202.2 418.6 228.1 418.8 253.6 414.5C265.1 412.5 273.6 402.6 273.6 390.9V357.3C293.9000000000001 350.1 312.5 339.3 328.5 325.6L357.6 342.4C367.6 348.2 380.5 346 387.9000000000001 337.1C404.1 317.7 421.1 295.5 430.0000000000001 271.3C434.0000000000001 260.4 430.1000000000001 248.1 420.0000000000001 242.2L386.3000000000001 225.4C390.2000000000001 204.4 390.2000000000001 182.9 386.3000000000001 161.9zM268.7000000000001 140.8C327.9000000000001 217.8 240.0000000000001 305.7 163.0000000000001 246.5C103.8000000000001 169.5 191.7000000000001 81.5999999999999 268.7000000000001 140.8zM512.1 -41.9L503.9 -56.2C500.9 -61.5000000000001 494.5000000000001 -63.7 488.8 -61.6C477 -57.2 466.2 -50.9 456.7 -43C452.1 -39.2 450.9 -32.5 453.9 -27.3L462.1 -13C455.2 -5 449.8 4.3 446.2 14.4H429.7C423.7 14.4 418.5 18.7 417.5 24.7C415.5 36.7 415.4 49.3 417.5 61.8C418.5 67.8 423.7 72.2 429.7 72.2H446.2C449.8 82.3 455.2 91.6 462.1 99.6L453.9 113.9C450.9 119.1 452 125.8 456.7 129.6C466.2 137.5 477.1 143.8 488.8 148.2C494.5 150.3 500.9 148.1 503.9 142.8L512.1 128.5C522.6 130.4 533.3000000000001 130.4 543.8000000000001 128.5L552.0000000000001 142.8C555.0000000000001 148.1 561.4000000000001 150.3 567.1000000000001 148.2C578.9000000000001 143.8 589.7000000000002 137.5 599.2000000000002 129.6C603.8000000000002 125.8 605.0000000000001 119.1 602.0000000000001 113.9L593.8000000000001 99.6C600.7 91.6 606.1 82.3 609.7 72.2H626.2C632.2 72.2 637.4000000000001 67.9 638.4000000000001 61.9C640.4000000000001 49.9 640.5000000000001 37.3 638.4000000000001 24.8C637.4000000000001 18.8 632.2 14.4 626.2 14.4H609.7C606.1 4.3 600.7 -5 593.8000000000001 -13L602.0000000000001 -27.3C605.0000000000001 -32.5 603.9000000000001 -39.2 599.2000000000002 -43C589.7000000000002 -50.9 578.8000000000002 -57.2 567.1000000000001 -61.6C561.4000000000001 -63.7 555.0000000000001 -61.5 552.0000000000001 -56.2L543.8000000000001 -41.9C533.4000000000001 -43.8 522.6 -43.8 512.1 -41.9zM501.6 17C540.1 -12.6 584 31.3 554.4 69.8C515.9 99.4 472 55.5 501.6 17z" /> + <glyph glyph-name="coins" + unicode="" + horiz-adv-x="512" d=" M0 42.7V0C0 -35.3 86 -64 192 -64S384 -35.3 384 0V42.7C342.7 13.6 267.2 0 192 0S41.3 13.6 0 42.7zM320 320C426 320 512 348.7 512 384S426 448 320 448S128 419.3 128 384S214 320 320 320zM0 147.6V96C0 60.7 86 32 192 32S384 60.7 384 96V147.6C342.7 113.6 267.1 96 192 96S41.3 113.6 0 147.6zM416 136.6C473.3 147.7000000000001 512 168.3 512 192V234.7000000000001C488.8 218.3000000000001 454.7 207.1000000000001 416 200.2000000000001V136.6zM192 288C86 288 0 252.2 0 208S86 128 192 128S384 163.8 384 208S298 288 192 288zM411.3 231.7C471.3 242.5 512 263.7 512 288V330.7C476.5 305.6 415.5 292.1 351.3 288.9C380.8 274.6 402.5 255.4 411.3 231.7z" /> + <glyph glyph-name="columns" + unicode="" + horiz-adv-x="512" d=" M464 416H48C21.49 416 0 394.51 0 368V16C0 -10.51 21.49 -32 48 -32H464C490.51 -32 512 -10.51 512 16V368C512 394.51 490.51 416 464 416zM224 32H64V288H224V32zM448 32H288V288H448V32z" /> + <glyph glyph-name="comment-alt" + unicode="" + horiz-adv-x="512" d=" M448 448H64C28.7 448 0 419.3 0 384V96C0 60.7 28.7 32 64 32H160V-52C160 -61.8 171.2 -67.5 179.1 -61.7L304 32H448C483.3 32 512 60.7 512 96V384C512 419.3 483.3 448 448 448z" /> + <glyph glyph-name="comment-dollar" + unicode="" + horiz-adv-x="512" d=" M256 416C114.62 416 0 322.88 0 208C0 158.44 21.41 112.99 57.02 77.26C44.46 26.95 2.7 -17.97 2.2 -18.5A7.995 7.995 0 0 1 8 -32C74.26 -32 123.99 -0.25 148.6 19.38C181.29 7.07 217.59 0 256 0C397.38 0 512 93.12 512 208S397.38 416 256 416zM280 113.56V96C280 87.16 272.84 80 264 80H248C239.16 80 232 87.16 232 96V113.73C220.58 115.0800000000001 209.72 118.92 200.22 125.19C194 129.3 193.4 138.3 198.67 143.57L216.19 161.09C219.93 164.83 225.5 165.33 230.3 163.12C233.48 161.66 236.96 160.8999999999999 240.56 160.8999999999999H273.3400000000001C278.0000000000001 160.8999999999999 281.7800000000001 164.6799999999999 281.7800000000001 169.3199999999999C281.7800000000001 173.0699999999999 279.2600000000001 176.3999999999999 275.6600000000001 177.43L225.5900000000001 191.73C203.34 198.08 185.5800000000001 216.44 182.68 239.4C178.63 271.47 201.71 298.83 232.0000000000001 302.45V320C232.0000000000001 328.8400000000001 239.1600000000001 336 248.0000000000001 336H264C272.84 336 280 328.8400000000001 280 320V302.27C291.42 300.92 302.28 297.0800000000001 311.78 290.81C318 286.7 318.6 277.7 313.33 272.43L295.81 254.91C292.07 251.17 286.5 250.67 281.7 252.88A24.516 24.516 0 0 1 271.44 255.1H238.66C234 255.1 230.22 251.32 230.22 246.68C230.22 242.93 232.74 239.6 236.34 238.57L286.4100000000001 224.27C308.6600000000001 217.91 326.42 199.56 329.3200000000001 176.6C333.3700000000001 144.54 310.2900000000001 117.18 280.0000000000001 113.56z" /> + <glyph glyph-name="comment-dots" + unicode="" + horiz-adv-x="512" d=" M256 416C114.6 416 0 322.9 0 208C0 158.4 21.4 113 57 77.3C44.5 26.9 2.7 -18 2.2 -18.5C0 -20.8 -0.6 -24.2 0.7 -27.2S4.8 -32 8 -32C74.3 -32 124 -0.2 148.6 19.4C181.3 7.1 217.6 0 256 0C397.4 0 512 93.1 512 208S397.4 416 256 416zM128 176C110.3 176 96 190.3 96 208S110.3 240 128 240S160 225.7 160 208S145.7 176 128 176zM256 176C238.3 176 224 190.3 224 208S238.3 240 256 240S288 225.7 288 208S273.7 176 256 176zM384 176C366.3 176 352 190.3 352 208S366.3 240 384 240S416 225.7 416 208S401.7 176 384 176z" /> + <glyph glyph-name="comment-slash" + unicode="" + horiz-adv-x="640" d=" M64 208C64 158.4 85.4 113 121 77.3C108.4 27 66.7 -17.9 66.2 -18.5C64 -20.8 63.4 -24.2 64.7 -27.2C66 -30.1 68.8 -32 72 -32C138.3 -32 188 -0.2 212.6 19.4C245.3 7.1 281.6 0 320 0C347.4 0 373.7 3.6 398.4 10L72.9 261.6C67.3 244.5 64 226.6 64 208zM633.8 -10.1L519.4 78.3C554.6 113.9 576 158.8 576 208C576 322.9 461.4 416 320 416C254.9 416 195.8 395.9 150.6 363.3L45.5 444.6C38.5 450 28.5 448.8 23 441.8L3.4 416.6C-2 409.6 -0.8 399.6 6.2 394.2L594.6 -60.5C601.6 -65.9 611.6 -64.7 617.1 -57.7L636.7 -32.4C642.1 -25.6 640.8000000000001 -15.5 633.8000000000001 -10.1z" /> + <glyph glyph-name="comment" + unicode="" + horiz-adv-x="512" d=" M256 416C114.6 416 0 322.9 0 208C0 158.4 21.4 113 57 77.3C44.5 26.9 2.7 -18 2.2 -18.5C0 -20.8 -0.6 -24.2 0.7 -27.2S4.8 -32 8 -32C74.3 -32 124 -0.2 148.6 19.4C181.3 7.1 217.6 0 256 0C397.4 0 512 93.1 512 208S397.4 416 256 416z" /> + <glyph glyph-name="comments-dollar" + unicode="" + horiz-adv-x="576" d=" M416 256C416 344.37 322.88 416 208 416S0 344.37 0 256C0 221.73 14.13 190.05 37.97 164.02C24.61 133.78 2.52 109.84 2.2 109.5A7.995 7.995 0 0 1 8 96C44.58 96 74.93 108.25 96.73 120.98C128.93 105.24 167.02 96 208 96C322.88 96 416 167.63 416 256zM192 160V176.29C180.71 176.87 169.73 180.81 160.63 187.6400000000001C156.73 190.5700000000001 156.53 196.4100000000001 160.06 199.78L171.81 210.9900000000001C174.58 213.63 178.7 213.75 181.94 211.72C185.81 209.3000000000001 190.2 208 194.76 208H222.87C229.37 208 234.67 213.92 234.67 221.19C234.67 227.14 231.06 232.38 225.9 233.92L180.9 247.42C162.31 253.0000000000001 149.32 270.8400000000001 149.32 290.81C149.32 315.3300000000001 168.37 335.25 191.99 335.88V352C191.99 356.42 195.57 360 199.99 360H215.99C220.41 360 223.99 356.42 223.99 352V335.7100000000001C235.28 335.13 246.26 331.2 255.36 324.36C259.26 321.43 259.4600000000001 315.5900000000001 255.93 312.2200000000001L244.18 301.01C241.41 298.37 237.29 298.25 234.05 300.2800000000001C230.18 302.7100000000001 225.79 304 221.23 304H193.12C186.62 304 181.32 298.0800000000001 181.32 290.8100000000001C181.32 284.86 184.93 279.62 190.09 278.0800000000001L235.09 264.5800000000001C253.68 259 266.67 241.1600000000001 266.67 221.1900000000001C266.67 196.6600000000001 247.62 176.7500000000001 224 176.1200000000001V160C224 155.58 220.42 152 216 152H200C195.58 152 192 155.58 192 160zM538.01 36.01C561.87 62.04 576 93.73 576 128C576 194.94 522.51 252.2 446.67 276.07C447.53 269.4700000000001 448 262.78 448 256C448 150.13 340.3399999999999 64 208 64C197.22 64 186.68 64.77 176.27 65.88C207.8 8.37 281.77 -32 368 -32C408.98 -32 447.07 -22.76 479.27 -7.02C501.07 -19.75 531.42 -32 568 -32C571.2 -32 574.09 -30.09 575.34 -27.16C576.61 -24.22 576 -20.82 573.7900000000001 -18.49C573.4800000000001 -18.16 551.3700000000001 5.75 538.0100000000001 36.01z" /> + <glyph glyph-name="comments" + unicode="" + horiz-adv-x="576" d=" M416 256C416 344.4 322.9 416 208 416S0 344.4 0 256C0 221.7 14.1 190.1 38 164C24.6 133.8 2.5 109.8 2.2 109.5C0 107.2 -0.6 103.8 0.7 100.8S4.8 96 8 96C44.6 96 74.9 108.3 96.7 121C128.9 105.3 167 96 208 96C322.9 96 416 167.6 416 256zM538 36C561.9 62 576 93.7 576 128C576 194.9 522.5 252.2 446.7 276.1C447.6 269.5 448 262.8 448 256C448 150.1 340.3 64 208 64C197.2 64 186.7 64.8 176.3 65.9C207.8 8.4 281.8 -32 368 -32C409 -32 447.1 -22.8 479.3 -7C501.1 -19.7 531.4 -32 568 -32C571.2 -32 574.1 -30.1 575.3 -27.2C576.5999999999999 -24.3 576 -20.9 573.8 -18.5C573.5 -18.2 551.4 5.7 538 36z" /> + <glyph glyph-name="compact-disc" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM88 192H56C56 297.9 142.1 384 248 384V352C159.8 352 88 280.2 88 192zM248 96C195 96 152 139 152 192S195 288 248 288S344 245 344 192S301 96 248 96zM248 224C230.3 224 216 209.7 216 192S230.3 160 248 160S280 174.3 280 192S265.7 224 248 224z" /> + <glyph glyph-name="compass" + unicode="" + horiz-adv-x="496" d=" M225.38 214.63C212.88 202.13 212.88 181.87 225.38 169.38C237.87 156.88 258.14 156.88 270.63 169.38C283.13 181.88 283.13 202.14 270.63 214.63C258.13 227.12 237.87 227.12 225.38 214.63zM248 440C111.03 440 0 328.9700000000001 0 192S111.03 -56 248 -56S496 55.03 496 192S384.9700000000001 440 248 440zM374.14 291.95L308.17 147.6A31.938 31.938 0 0 0 292.4000000000001 131.8300000000001L148.06 65.86C131.41 58.25 114.25 75.41 121.86 92.06L187.84 236.41A31.938 31.938 0 0 0 203.6100000000001 252.18L347.9500000000001 318.15C364.6 325.75 381.7500000000001 308.6 374.1400000000001 291.9500000000001z" /> + <glyph glyph-name="compress" + unicode="" + horiz-adv-x="448" d=" M436 256H312C298.7 256 288 266.7 288 280V404C288 410.6 293.4 416 300 416H340C346.6 416 352 410.6 352 404V320H436C442.6 320 448 314.6 448 308V268C448 261.4 442.6 256 436 256zM160 280V404C160 410.6 154.6 416 148 416H108C101.4 416 96 410.6 96 404V320H12C5.4 320 0 314.6 0 308V268C0 261.4 5.4 256 12 256H136C149.3 256 160 266.7 160 280zM160 -20V104C160 117.3 149.3 128 136 128H12C5.4 128 0 122.6 0 116V76C0 69.4 5.4 64 12 64H96V-20C96 -26.6 101.4 -32 108 -32H148C154.6 -32 160 -26.6 160 -20zM352 -20V64H436C442.6 64 448 69.4 448 76V116C448 122.6 442.6 128 436 128H312C298.7 128 288 117.3 288 104V-20C288 -26.6 293.4 -32 300 -32H340C346.6 -32 352 -26.6 352 -20z" /> + <glyph glyph-name="concierge-bell" + unicode="" + horiz-adv-x="512" d=" M288 317.4600000000001V336H304C312.84 336 320 343.16 320 352V368C320 376.8400000000001 312.84 384 304 384H208C199.16 384 192 376.8400000000001 192 368V352C192 343.16 199.16 336 208 336H224V317.4600000000001C115.49 301.89 32 208.82 32 96H480C480 208.82 396.51 301.89 288 317.4600000000001zM496 64H16C7.16 64 0 56.84 0 48V16C0 7.16 7.16 0 16 0H496C504.84 0 512 7.16 512 16V48C512 56.84 504.84 64 496 64z" /> + <glyph glyph-name="cookie-bite" + unicode="" + horiz-adv-x="512" d=" M510.52 192.18C440.55 193.03 384.05 249.87 384.05 320.04C313.88 320.04 257.05 376.53 256.19 446.49C228.93 450.63 201.06 446.19 176.47 433.67L107.34 398.45A132.221 132.221 0 0 1 49.55 340.64L14.4499999999999 271.76A132.645 132.645 0 0 1 1.6299999999999 190.81L13.7099999999999 114.54A132.521 132.521 0 0 1 50.8699999999999 41.58L105.6399999999999 -13.1799999999999A132.036 132.036 0 0 1 178.3499999999999 -50.2399999999999L255.06 -62.3899999999999C282.57 -66.7499999999999 310.76 -62.2799999999999 335.5899999999999 -49.6299999999999L404.7199999999999 -14.42A132.273 132.273 0 0 1 462.5099999999999 43.39L497.61 112.27C510.17 136.91 514.62 164.85 510.52 192.18zM176 80C158.33 80 144 94.33 144 112S158.33 144 176 144S208 129.67 208 112S193.67 80 176 80zM208 240C190.33 240 176 254.33 176 272S190.33 304 208 304S240 289.67 240 272S225.67 240 208 240zM368 112C350.33 112 336 126.33 336 144S350.33 176 368 176S400 161.67 400 144S385.67 112 368 112z" /> + <glyph glyph-name="cookie" + unicode="" + horiz-adv-x="512" d=" M510.37 193.21L498.29 269.4700000000001A132.493 132.493 0 0 1 461.13 342.42L406.37 397.17C386.64 416.8900000000001 361.19 429.87 333.6600000000001 434.2200000000001L256.9600000000001 446.37C229.4500000000001 450.73 201.2700000000001 446.2600000000001 176.4400000000001 433.61L107.32 398.4A132.25 132.25 0 0 1 49.53 340.6L14.43 271.7200000000001A132.602 132.602 0 0 1 1.61 190.78L13.69 114.51A132.493 132.493 0 0 1 50.85 41.56L105.61 -13.19A132.087 132.087 0 0 1 178.32 -50.24L255.02 -62.38C282.53 -66.74 310.71 -62.27 335.54 -49.63L404.66 -14.42A132.302 132.302 0 0 1 462.45 43.38L497.55 112.25C510.26 137.21 514.75 165.55 510.37 193.21zM176 80C158.33 80 144 94.33 144 112S158.33 144 176 144S208 129.67 208 112S193.67 80 176 80zM208 240C190.33 240 176 254.33 176 272S190.33 304 208 304S240 289.67 240 272S225.67 240 208 240zM368 112C350.33 112 336 126.33 336 144S350.33 176 368 176S400 161.67 400 144S385.67 112 368 112z" /> + <glyph glyph-name="copy" + unicode="" + horiz-adv-x="448" d=" M320 0V-40C320 -53.255 309.255 -64 296 -64H24C10.745 -64 0 -53.255 0 -40V328C0 341.255 10.745 352 24 352H96V56C96 25.121 121.121 0 152 0H320zM320 344V448H152C138.745 448 128 437.255 128 424V56C128 42.745 138.745 32 152 32H424C437.255 32 448 42.745 448 56V320H344C330.8 320 320 330.8 320 344zM440.971 375.029L375.029 440.971A24 24 0 0 1 358.0590000000001 448H352V352H448V358.059A24 24 0 0 1 440.971 375.029z" /> + <glyph glyph-name="copyright" + unicode="" + horiz-adv-x="512" d=" M256 440C119.033 440 8 328.967 8 192S119.033 -56 256 -56S504 55.033 504 192S392.967 440 256 440zM373.134 93.247C371.5420000000001 91.38 333.358 47.516 263.283 47.516C178.591 47.516 118.799 110.776 118.799 193.083C118.799 274.386 180.803 336.4840000000001 262.5610000000001 336.4840000000001C329.5180000000001 336.4840000000001 364.5260000000001 299.1690000000001 365.9830000000001 297.5800000000001A12 12 0 0 0 367.2210000000001 282.9570000000001L344.8410000000001 248.3020000000001C340.7920000000001 242.0350000000001 332.0670000000001 240.9510000000001 326.6070000000001 246.0070000000001C326.3740000000001 246.2210000000001 300.0780000000001 269.8870000000001 264.7270000000001 269.8870000000001C218.6110000000001 269.8870000000001 190.8110000000001 236.3120000000001 190.8110000000001 193.8050000000001C190.8110000000001 154.2030000000001 216.3250000000001 114.1130000000001 265.0880000000001 114.1130000000001C303.7850000000001 114.1130000000001 330.3680000000001 142.4510000000001 330.6320000000001 142.7380000000001C335.7640000000001 148.3030000000001 344.6910000000001 147.7710000000001 349.1400000000001 141.6850000000001L373.6870000000001 108.1130000000001A12.001000000000001 12.001000000000001 0 0 0 373.1340000000001 93.2470000000001z" /> + <glyph glyph-name="couch" + unicode="" + horiz-adv-x="640" d=" M160 224V160H480V224C480 259.3 508.7 288 544 288H576C576 341 533 384 480 384H160C107 384 64 341 64 288H96C131.3 288 160 259.3 160 224zM576 256H544C526.3 256 512 241.7 512 224V128H128V224C128 241.7 113.7 256 96 256H64C28.7 256 0 227.3 0 192C0 168.4 13 148 32 136.9V16C32 7.2 39.2 0 48 0H112C120.8 0 128 7.2 128 16V32H512V16C512 7.2 519.2 0 528 0H592C600.8 0 608 7.2 608 16V136.9C627 148 640 168.4 640 192C640 227.3 611.3 256 576 256z" /> + <glyph glyph-name="credit-card" + unicode="" + horiz-adv-x="576" d=" M0 16C0 -10.5 21.5 -32 48 -32H528C554.5 -32 576 -10.5 576 16V192H0V16zM192 84C192 90.6 197.4 96 204 96H340C346.6 96 352 90.6 352 84V44C352 37.4 346.6 32 340 32H204C197.4 32 192 37.4 192 44V84zM64 84C64 90.6 69.4 96 76 96H148C154.6 96 160 90.6 160 84V44C160 37.4 154.6 32 148 32H76C69.4 32 64 37.4 64 44V84zM576 368V320H0V368C0 394.5 21.5 416 48 416H528C554.5 416 576 394.5 576 368z" /> + <glyph glyph-name="crop-alt" + unicode="" + horiz-adv-x="512" d=" M488 96H448V352C448 369.67 433.67 384 416 384H192V288H352V-40C352 -53.25 362.75 -64 376 -64H424C437.25 -64 448 -53.25 448 -40V0H488C501.25 0 512 10.75 512 24V72C512 85.26 501.25 96 488 96zM160 424C160 437.26 149.25 448 136 448H88C74.75 448 64 437.26 64 424V384H24C10.75 384 0 373.26 0 360V312C0 298.75 10.75 288 24 288H64V32C64 14.33 78.33 0 96 0H320V96H160V424z" /> + <glyph glyph-name="crop" + unicode="" + horiz-adv-x="512" d=" M488 96H448V338.75L507.31 398.06C513.56 404.31 513.56 414.44 507.31 420.69L484.69 443.31C478.44 449.56 468.31 449.56 462.06 443.31L402.75 384H192V288H306.75L160 141.25V424C160 437.26 149.25 448 136 448H88C74.75 448 64 437.26 64 424V384H24C10.75 384 0 373.26 0 360V312C0 298.75 10.75 288 24 288H64V24C64 10.75 74.75 0 88 0H320V96H205.25L352 242.75V-40C352 -53.25 362.75 -64 376 -64H424C437.25 -64 448 -53.25 448 -40V0H488C501.25 0 512 10.75 512 24V72C512 85.26 501.25 96 488 96z" /> + <glyph glyph-name="cross" + unicode="" + horiz-adv-x="384" d=" M352 320H256V416C256 433.67 241.67 448 224 448H160C142.33 448 128 433.67 128 416V320H32C14.33 320 0 305.67 0 288V224C0 206.33 14.33 192 32 192H128V-32C128 -49.67 142.33 -64 160 -64H224C241.67 -64 256 -49.67 256 -32V192H352C369.67 192 384 206.33 384 224V288C384 305.67 369.67 320 352 320z" /> + <glyph glyph-name="crosshairs" + unicode="" + horiz-adv-x="512" d=" M500 224H469.636C455.724 317.675 381.675 391.724 288 405.636V436C288 442.627 282.627 448 276 448H236C229.373 448 224 442.627 224 436V405.636C130.325 391.724 56.276 317.675 42.364 224H12C5.373 224 0 218.627 0 212V172C0 165.373 5.373 160 12 160H42.364C56.276 66.325 130.325 -7.724 224 -21.636V-52C224 -58.627 229.373 -64 236 -64H276C282.627 -64 288 -58.627 288 -52V-21.636C381.675 -7.724 455.724 66.325 469.636 160H500C506.627 160 512 165.373 512 172V212C512 218.627 506.627 224 500 224zM288 43.366V84C288 90.627 282.627 96 276 96H236C229.373 96 224 90.627 224 84V43.366C165.826 55.768 119.783 101.757 107.366 160H148C154.627 160 160 165.373 160 172V212C160 218.627 154.627 224 148 224H107.366C119.768 282.174 165.757 328.217 224 340.634V300C224 293.373 229.373 288 236 288H276C282.627 288 288 293.373 288 300V340.634C346.174 328.232 392.217 282.243 404.634 224H364C357.373 224 352 218.627 352 212V172C352 165.373 357.373 160 364 160H404.634C392.2320000000001 101.826 346.243 55.783 288 43.366zM288 192C288 174.327 273.673 160 256 160S224 174.327 224 192C224 209.673 238.327 224 256 224S288 209.673 288 192z" /> + <glyph glyph-name="crow" + unicode="" + horiz-adv-x="640" d=" M544 416H527.64C513.04 435.32 490.09 448 464 448C419.82 448 384 412.18 384 368V347.02L12.09 54.43A30.216 30.216 0 0 1 0 30.26C0 7.8 23.64 -6.81 43.73 3.23L165.27 64H261.76L306.17 -56.1C308.44 -62.33 315.32 -65.5400000000001 321.55 -63.27L344.1 -55.0600000000001C350.33 -52.7900000000001 353.54 -45.9100000000001 351.27 -39.6800000000001L312.94 64H352C353.9100000000001 64 355.76 64.23 357.6600000000001 64.29L402.17 -56.09C404.44 -62.32 411.32 -65.53 417.55 -63.26L440.1 -55.05C446.3300000000001 -52.78 449.54 -45.9 447.2700000000001 -39.67L406.0300000000001 71.86C485.74 95.2 544 168.74 544 256V336L640 352C640 387.35 597.02 416 544 416zM464 344C450.75 344 440 354.75 440 368C440 381.26 450.75 392 464 392S488 381.26 488 368C488 354.75 477.25 344 464 344z" /> + <glyph glyph-name="crown" + unicode="" + horiz-adv-x="640" d=" M528 0H112C103.2 0 96 -7.2 96 -16V-48C96 -56.8 103.2 -64 112 -64H528C536.8 -64 544 -56.8 544 -48V-16C544 -7.2 536.8 0 528 0zM592 320C565.5 320 544 298.5 544 272C544 264.9 545.6 258.3 548.4 252.2L476 208.8C460.6 199.6 440.7 204.8 431.8 220.4L350.3 363C361 371.8 368 385 368 400C368 426.5 346.5 448 320 448S272 426.5 272 400C272 385 279 371.8 289.7 363L208.2 220.4C199.3 204.8 179.3 199.6 164 208.8L91.7 252.2C94.4 258.2000000000001 96.1 264.9 96.1 272C96.1 298.5 74.6 320 48.1 320S0 298.5 0 272S21.5 224 48 224C50.6 224 53.2 224.4 55.7 224.8L128 32H512L584.3 224.8C586.8 224.4 589.4 224 592 224C618.5 224 640 245.5 640 272S618.5 320 592 320z" /> + <glyph glyph-name="cube" + unicode="" + horiz-adv-x="512" d=" M239.1 441.7L31.1 363.7C12.4 356.7 0 338.7 0 318.7V93.6C0 75.4 10.3 58.8 26.5 50.7L234.5 -53.3C248 -60.1 263.9 -60.1 277.4 -53.3L485.4 50.7C501.7 58.8000000000001 511.9 75.5000000000001 511.9 93.6V318.7C511.9 338.7 499.5 356.6 480.8 363.6L272.8 441.6C262 445.8 250 445.8 239.1 441.7zM256 379.6L448 307.6V306.5L256 228.5L64 306.5V307.6L256 379.6zM288 23.6V172.5L448 237.5V103.6L288 23.6z" /> + <glyph glyph-name="cubes" + unicode="" + horiz-adv-x="512" d=" M488.6 197.8L392 234V342.5C392 357.5 382.7 370.9 368.6 376.2L268.6 413.7C260.5 416.8 251.5000000000001 416.8 243.3 413.7L143.3 376.2C129.2 370.9 119.9 357.5 119.9 342.5V234L23.3 197.8C9.3 192.5 0 179.1 0 164.1V54C0 40.4 7.7 27.9 19.9 21.8L119.9 -28.2C130 -33.3 142 -33.3 152.1 -28.2L256 23.8L359.9 -28.2C370 -33.3 382 -33.3 392.1 -28.2L492.1 21.8C504.3 27.9 511.9999999999999 40.4 511.9999999999999 54V164.1C511.9999999999999 179.1 502.6999999999999 192.5 488.6 197.8zM358 233.2L273 201.3V269.5L358 306.5V233.2zM154 343.9L256 382.1L358 343.9V343.3L256 301.9L154 343.3V343.9zM238 52.8L153 10.3V89.4L238 128.2V52.8zM238 164.8L136 123.4L34 164.8V165.4L136 203.6L238 165.4V164.8zM478 52.8L393 10.3V89.4L478 128.2V52.8zM478 164.8L376 123.4L274 164.8V165.4L376 203.6L478 165.4V164.8z" /> + <glyph glyph-name="cut" + unicode="" + horiz-adv-x="448" d=" M278.06 192L444.48 358.43C449.17 363.12 449.17 370.7200000000001 444.48 375.4C411.68 408.2 358.49 408.2 325.69 375.4L210.18 259.88L185.32 284.74C189.63 295.66 192 307.55 192 320C192 373.02 149.02 416 96 416S0 373.02 0 320S42.98 224 96 224C100.54 224 104.99 224.32 109.36 224.93L142.29 192L109.36 159.07C104.99 159.68 100.53 160 96 160C42.98 160 0 117.02 0 64S42.98 -32 96 -32S192 10.98 192 64C192 76.45 189.63 88.34 185.32 99.26L210.18 124.12L325.69 8.6C358.49 -24.2 411.68 -24.2 444.48 8.6C449.17 13.28 449.17 20.88 444.48 25.5700000000001L278.06 192zM96 288C78.36 288 64 302.36 64 320S78.36 352 96 352S128 337.64 128 320S113.64 288 96 288zM96 32C78.36 32 64 46.36 64 64S78.36 96 96 96S128 81.64 128 64S113.64 32 96 32z" /> + <glyph glyph-name="database" + unicode="" + horiz-adv-x="448" d=" M448 374.857V329.1430000000001C448 288.857 347.667 256 224 256S0 288.857 0 329.1430000000001V374.857C0 415.1430000000001 100.333 448 224 448S448 415.1430000000001 448 374.857zM448 272V169.143C448 128.857 347.667 96 224 96S0 128.857 0 169.143V272C48.125 238.857 136.208 223.428 224 223.428S399.874 238.857 448 272zM448 112V9.143C448 -31.143 347.667 -64 224 -64S0 -31.143 0 9.143V112C48.125 78.857 136.208 63.428 224 63.428S399.874 78.857 448 112z" /> + <glyph glyph-name="deaf" + unicode="" + horiz-adv-x="512" d=" M216 188C216 172.536 203.464 160 188 160S160 172.536 160 188C160 232.112 195.888 268 240 268S320 232.112 320 188C320 172.536 307.464 160 292 160S264 172.536 264 188C264 201.234 253.233 212 240 212S216 201.234 216 188zM240 364C142.953 364 64 285.0470000000001 64 188C64 172.536 76.536 160 92 160S120 172.536 120 188C120 254.168 173.832 308 240 308S360 254.168 360 188C360 112.836 288.991 117.689 288.003 44.378L288 44C288 15.327 264.673 -8 236 -8C220.536 -8 208 -20.536 208 -36S220.536 -64 236 -64C295.475 -64 343.876 -15.672 344 43.774C344.5950000000001 78.202 416 92.014 416 188C416 285.0470000000001 337.0470000000001 364 240 364zM508.485 416.201L480.2 444.485C475.513 449.171 467.916 449.171 463.229 444.485L376.2 357.456C371.514 352.77 371.514 345.1720000000001 376.2 340.485L404.485 312.2C409.171 307.514 416.769 307.514 421.4550000000001 312.2L508.485 399.229C513.172 403.917 513.172 411.515 508.485 416.201zM168.97 133.255C164.284 137.941 156.686 137.941 152 133.255L3.515 -15.23C-1.171 -19.916 -1.171 -27.514 3.515 -32.201L31.8 -60.485C36.487 -65.171 44.084 -65.171 48.771 -60.485L197.256 88C201.942 92.686 201.942 100.284 197.256 104.971L168.97 133.255z" /> + <glyph glyph-name="desktop" + unicode="" + horiz-adv-x="576" d=" M528 448H48C21.5 448 0 426.5 0 400V80C0 53.5 21.5 32 48 32H240L224 -16H152C138.7 -16 128 -26.7 128 -40S138.7 -64 152 -64H424C437.3 -64 448 -53.3 448 -40S437.3 -16 424 -16H352L336 32H528C554.5 32 576 53.5 576 80V400C576 426.5 554.5 448 528 448zM512 96H64V384H512V96z" /> + <glyph glyph-name="dharmachakra" + unicode="" + horiz-adv-x="512" d=" M495 222.94L477.78 221.86C472.51 261.35 456.99 297.5 433.92 327.7L446.87 339.13C453.79 345.24 454.1199999999999 355.92 447.6 362.44L426.44 383.6C419.9100000000001 390.13 409.23 389.79 403.13 382.87L391.7 369.93C361.5 392.99 325.35 408.51 285.87 413.79L286.94 431C287.52 440.21 280.2 448 270.97 448H241.03C231.8 448 224.49 440.21 225.06 431L226.14 413.78C186.65 408.51 150.5 392.99 120.31 369.92L108.88 382.87C102.77 389.79 92.09 390.12 85.57 383.6L64.4 362.44C57.87 355.91 58.21 345.23 65.13 339.13L78.08 327.7C55.02 297.5 39.5 261.35 34.22 221.86L17 222.94C7.79 223.52 0 216.2 0 206.97V177.03C0 167.8 7.79 160.49 17 161.06L34.22 162.1399999999999C39.49 122.6499999999999 55.01 86.4999999999999 78.08 56.31L65.13 44.8799999999999C58.21 38.7699999999999 57.88 28.0899999999999 64.4 21.5699999999999L85.57 0.3999999999999C92.1 -6.1300000000001 102.78 -5.7900000000001 108.88 1.1299999999999L120.31 14.0799999999999C150.51 -8.9800000000001 186.66 -24.5000000000001 226.15 -29.7800000000001L225.06 -47C224.48 -56.21 231.8 -64 241.03 -64H270.9700000000001C280.2000000000001 -64 287.5100000000001 -56.21 286.9400000000001 -47L285.8600000000001 -29.78C325.3500000000001 -24.51 361.5000000000001 -8.99 391.7000000000001 14.08L403.1300000000001 1.1300000000001C409.2400000000001 -5.79 419.9200000000001 -6.1199999999999 426.4400000000001 0.4L447.6100000000001 21.5700000000001C454.14 28.1 453.8000000000001 38.78 446.8800000000001 44.8800000000001L433.9300000000001 56.3100000000001C456.9900000000001 86.5100000000001 472.51 122.6600000000001 477.7900000000001 162.1400000000001L495.0100000000001 161.0600000000001C504.2200000000001 160.4800000000001 512.0100000000001 167.8000000000001 512.0100000000001 177.0300000000001V206.9700000000001C512.0000000000001 216.2000000000001 504.2100000000001 223.5100000000001 495.0000000000001 222.9400000000001zM281.84 349.39C306.65 345.32 329.47 335.73 349.07 321.61L306.45 273.32C297.72 278.76 288.13 282.86 277.83 285.27L281.84 349.39zM230.16 349.39L234.17 285.27C223.88 282.86 214.28 278.75 205.55 273.32L162.93 321.61C182.53 335.73 205.35 345.32 230.16 349.39zM126.39 285.06L174.69 242.45C169.25 233.72 165.15 224.12 162.73 213.83L98.61 217.84C102.68 242.65 112.27 265.46 126.39 285.06zM98.61 166.16L162.73 170.17C165.14 159.88 169.25 150.28 174.68 141.55L126.39 98.93C112.27 118.53 102.68 141.35 98.61 166.16zM230.16 34.61C205.35 38.68 182.53 48.27 162.93 62.39L205.54 110.69C214.27 105.25 223.87 101.15 234.16 98.73L230.16 34.61zM256 160C238.33 160 224 174.33 224 192S238.33 224 256 224S288 209.67 288 192S273.67 160 256 160zM281.84 34.61L277.83 98.73C288.12 101.14 297.72 105.25 306.45 110.69L349.06 62.39C329.46 48.27 306.65 38.68 281.8400000000001 34.61zM385.61 98.94L337.32 141.56C342.76 150.29 346.86 159.88 349.2699999999999 170.18L413.39 166.17C409.32 141.35 399.7299999999999 118.53 385.6099999999999 98.94zM349.27 213.83C346.86 224.12 342.75 233.72 337.31 242.45L385.61 285.06C399.73 265.4600000000001 409.32 242.64 413.39 217.83L349.27 213.83z" /> + <glyph glyph-name="diagnoses" + unicode="" + horiz-adv-x="640" d=" M496 192C504.8 192 512 199.2 512 208S504.8 224 496 224S480 216.8 480 208S487.2 192 496 192zM320 272C368.5 272 408 311.5 408 360S368.5 448 320 448S232 408.5 232 360S271.5 272 320 272zM59.8 84C70 68.7 89.1 66.2 102.7 74.2C118.9 83.8 158.9 105.9 208 122.8V32H432V122.7C481.1 105.9 521.1 83.7 537.3 74.1C550.9 66.1 570 68.8 580.1999999999999 83.9L597.9999999999999 110.6C606.7999999999998 123.8 605.5999999999999 145.2 587.9999999999999 155.7C576.0999999999999 162.8 558.2999999999998 172.7 536.8999999999999 183.1C508.7999999999998 137 437.4999999999999 165.3 449.1999999999999 218.2C409.3 230.8 365.1 240 320 240C263 240 207.1 225.5 160 207.8C159.8 167.6 112.4 144.5 80.8 171.8C69.6 165.8 59.5 160.2 52.1 155.8C34.5 145.3 33.3 124 42.1 110.7L59.8 84zM368 104C381.3 104 392 93.3 392 80S381.3 56 368 56S344 66.7 344 80S354.7 104 368 104zM272 200C285.3 200 296 189.3 296 176S285.3 152 272 152S248 162.7 248 176S258.7 200 272 200zM112 192C120.8 192 128 199.2 128 208S120.8 224 112 224S96 216.8 96 208S103.2 192 112 192zM624 0H16C7.2 0 0 -7.2 0 -16V-48C0 -56.8 7.2 -64 16 -64H624C632.8 -64 640 -56.8 640 -48V-16C640 -7.2 632.8 0 624 0z" /> + <glyph glyph-name="dice-five" + unicode="" + horiz-adv-x="448" d=" M384 416H64C28.65 416 0 387.35 0 352V32C0 -3.35 28.65 -32 64 -32H384C419.35 -32 448 -3.35 448 32V352C448 387.35 419.35 416 384 416zM128 64C110.33 64 96 78.33 96 96S110.33 128 128 128S160 113.67 160 96S145.67 64 128 64zM128 256C110.33 256 96 270.3300000000001 96 288S110.33 320 128 320S160 305.67 160 288S145.67 256 128 256zM224 160C206.33 160 192 174.33 192 192S206.33 224 224 224S256 209.67 256 192S241.67 160 224 160zM320 64C302.33 64 288 78.33 288 96S302.33 128 320 128S352 113.67 352 96S337.67 64 320 64zM320 256C302.33 256 288 270.3300000000001 288 288S302.33 320 320 320S352 305.67 352 288S337.67 256 320 256z" /> + <glyph glyph-name="dice-four" + unicode="" + horiz-adv-x="448" d=" M384 416H64C28.65 416 0 387.35 0 352V32C0 -3.35 28.65 -32 64 -32H384C419.35 -32 448 -3.35 448 32V352C448 387.35 419.35 416 384 416zM128 64C110.33 64 96 78.33 96 96S110.33 128 128 128S160 113.67 160 96S145.67 64 128 64zM128 256C110.33 256 96 270.3300000000001 96 288S110.33 320 128 320S160 305.67 160 288S145.67 256 128 256zM320 64C302.33 64 288 78.33 288 96S302.33 128 320 128S352 113.67 352 96S337.67 64 320 64zM320 256C302.33 256 288 270.3300000000001 288 288S302.33 320 320 320S352 305.67 352 288S337.67 256 320 256z" /> + <glyph glyph-name="dice-one" + unicode="" + horiz-adv-x="448" d=" M384 416H64C28.65 416 0 387.35 0 352V32C0 -3.35 28.65 -32 64 -32H384C419.35 -32 448 -3.35 448 32V352C448 387.35 419.35 416 384 416zM224 160C206.33 160 192 174.33 192 192S206.33 224 224 224S256 209.67 256 192S241.67 160 224 160z" /> + <glyph glyph-name="dice-six" + unicode="" + horiz-adv-x="448" d=" M384 416H64C28.65 416 0 387.35 0 352V32C0 -3.35 28.65 -32 64 -32H384C419.35 -32 448 -3.35 448 32V352C448 387.35 419.35 416 384 416zM128 64C110.33 64 96 78.33 96 96S110.33 128 128 128S160 113.67 160 96S145.67 64 128 64zM128 160C110.33 160 96 174.33 96 192S110.33 224 128 224S160 209.67 160 192S145.67 160 128 160zM128 256C110.33 256 96 270.3300000000001 96 288S110.33 320 128 320S160 305.67 160 288S145.67 256 128 256zM320 64C302.33 64 288 78.33 288 96S302.33 128 320 128S352 113.67 352 96S337.67 64 320 64zM320 160C302.33 160 288 174.33 288 192S302.33 224 320 224S352 209.67 352 192S337.67 160 320 160zM320 256C302.33 256 288 270.3300000000001 288 288S302.33 320 320 320S352 305.67 352 288S337.67 256 320 256z" /> + <glyph glyph-name="dice-three" + unicode="" + horiz-adv-x="448" d=" M384 416H64C28.65 416 0 387.35 0 352V32C0 -3.35 28.65 -32 64 -32H384C419.35 -32 448 -3.35 448 32V352C448 387.35 419.35 416 384 416zM128 256C110.33 256 96 270.3300000000001 96 288S110.33 320 128 320S160 305.67 160 288S145.67 256 128 256zM224 160C206.33 160 192 174.33 192 192S206.33 224 224 224S256 209.67 256 192S241.67 160 224 160zM320 64C302.33 64 288 78.33 288 96S302.33 128 320 128S352 113.67 352 96S337.67 64 320 64z" /> + <glyph glyph-name="dice-two" + unicode="" + horiz-adv-x="448" d=" M384 416H64C28.65 416 0 387.35 0 352V32C0 -3.35 28.65 -32 64 -32H384C419.35 -32 448 -3.35 448 32V352C448 387.35 419.35 416 384 416zM128 256C110.33 256 96 270.3300000000001 96 288S110.33 320 128 320S160 305.67 160 288S145.67 256 128 256zM320 64C302.33 64 288 78.33 288 96S302.33 128 320 128S352 113.67 352 96S337.67 64 320 64z" /> + <glyph glyph-name="dice" + unicode="" + horiz-adv-x="640" d=" M592 256H473.26C485.95 226.41 480.38 190.8 456.26 166.68L320 30.42V-16C320 -42.51 341.49 -64 368 -64H592C618.51 -64 640 -42.51 640 -16V208C640 234.51 618.51 256 592 256zM480 72C466.75 72 456 82.75 456 96C456 109.26 466.75 120 480 120S504 109.26 504 96C504 82.75 493.25 72 480 72zM433.63 258.7L258.7 433.63C239.54 452.79 208.47 452.79 189.31 433.63L14.37 258.7C-4.79 239.54 -4.79 208.47 14.37 189.31L189.3 14.37C208.46 -4.79 239.53 -4.79 258.69 14.37L433.63 189.3C452.79 208.47 452.79 239.54 433.63 258.7000000000001zM96 200C82.75 200 72 210.75 72 224C72 237.26 82.75 248 96 248S120 237.26 120 224C120 210.75 109.25 200 96 200zM224 72C210.75 72 200 82.75 200 96C200 109.26 210.75 120 224 120S248 109.26 248 96C248 82.75 237.25 72 224 72zM224 200C210.75 200 200 210.75 200 224C200 237.26 210.75 248 224 248S248 237.26 248 224C248 210.75 237.25 200 224 200zM224 328C210.75 328 200 338.75 200 352C200 365.26 210.75 376 224 376S248 365.26 248 352C248 338.75 237.25 328 224 328zM352 200C338.75 200 328 210.75 328 224C328 237.26 338.75 248 352 248S376 237.26 376 224C376 210.75 365.25 200 352 200z" /> + <glyph glyph-name="digital-tachograph" + unicode="" + horiz-adv-x="640" d=" M608 352H32C14.33 352 0 337.67 0 320V64C0 46.33 14.33 32 32 32H608C625.67 32 640 46.33 640 64V320C640 337.67 625.67 352 608 352zM304 96C304 91.58 300.42 88 296 88H72C67.58 88 64 91.58 64 96V104C64 108.42 67.58 112 72 112H296C300.42 112 304 108.42 304 104V96zM72 160V176C72 180.42 75.58 184 80 184H96C100.42 184 104 180.42 104 176V160C104 155.58 100.42 152 96 152H80C75.58 152 72 155.58 72 160zM136 160V176C136 180.42 139.58 184 144 184H160C164.42 184 168 180.42 168 176V160C168 155.58 164.42 152 160 152H144C139.58 152 136 155.58 136 160zM200 160V176C200 180.42 203.58 184 208 184H224C228.42 184 232 180.42 232 176V160C232 155.58 228.42 152 224 152H208C203.58 152 200 155.58 200 160zM264 160V176C264 180.42 267.58 184 272 184H288C292.42 184 296 180.42 296 176V160C296 155.58 292.42 152 288 152H272C267.58 152 264 155.58 264 160zM304 224C304 215.16 296.84 208 288 208H80C71.16 208 64 215.16 64 224V272C64 280.8400000000001 71.16 288 80 288H288C296.84 288 304 280.8400000000001 304 272V224zM576 96C576 91.58 572.42 88 568 88H344C339.58 88 336 91.58 336 96V104C336 108.42 339.58 112 344 112H568C572.42 112 576 108.42 576 104V96z" /> + <glyph glyph-name="directions" + unicode="" + horiz-adv-x="512" d=" M502.61 214.68L278.68 438.61C266.1600000000001 451.13 245.85 451.13 233.32 438.61L9.39 214.68C-3.13 202.15 -3.13 181.85 9.39 169.32L233.32 -54.61C245.84 -67.14 266.15 -67.14 278.68 -54.61L502.61 169.32C515.13 181.85 515.13 202.15 502.61 214.68zM401.63 202.12L317.42 124.39C312.3 119.66 303.99 123.29 303.99 130.27V184H207.99V120C207.99 115.58 204.41 112 199.99 112H167.99C163.57 112 159.99 115.58 159.99 120V200C159.99 217.67 174.32 232 191.99 232H303.99V285.73C303.99 292.7 312.29 296.34 317.42 291.61L401.63 213.88C405.06 210.71 405.06 205.29 401.63 202.12z" /> + <glyph glyph-name="divide" + unicode="" + horiz-adv-x="448" d=" M224 96C188.65 96 160 67.35 160 32S188.65 -32 224 -32S288 -3.35 288 32S259.35 96 224 96zM224 288C259.35 288 288 316.65 288 352S259.35 416 224 416S160 387.35 160 352S188.65 288 224 288zM416 240H32C14.33 240 0 225.67 0 208V176C0 158.33 14.33 144 32 144H416C433.67 144 448 158.33 448 176V208C448 225.67 433.67 240 416 240z" /> + <glyph glyph-name="dizzy" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM152 233.4L123.3 204.7C108.5 189.9 85.5 212.2 100.7 227.3L129.4 256L100.7 284.7C85.7 299.7 108.4 322.3 123.3 307.3L152 278.6L180.7 307.3C195.7 322.3 218.3 299.6 203.3 284.7L174.6 256L203.3 227.3C218.5 212.1 195.4 189.9 180.7 204.7L152 233.4zM248 32C212.7 32 184 60.7 184 96S212.7 160 248 160S312 131.3 312 96S283.3 32 248 32zM395.3 227.3C410.5 212.1 387.4000000000001 189.9 372.7 204.7L344 233.4L315.3 204.7C300.5 189.9 277.5 212.2 292.7 227.3L321.4 256L292.7 284.7C277.7 299.7 300.4 322.3 315.3 307.3L344 278.6L372.7 307.3C387.7 322.3 410.3 299.6 395.3 284.7L366.6 256L395.3 227.3z" /> + <glyph glyph-name="dna" + unicode="" + horiz-adv-x="448" d=" M0.1 -46.1C-1 -55.6 6.4 -63.9 16 -63.9L48.3 -64C56.4 -64 63.2 -58.1 64.3 -50.1C65 -45.2 66.1 -39 67.7 -32H380C381.6 -38.9 382.9 -45.2 383.5 -50.1C384.6 -58.1 391.4 -64.1 399.5 -64L431.8 -63.9C441.4000000000001 -63.9 448.9000000000001 -55.6 447.7 -46.1C443.1 -8.2 422.1 82.9 328.8 161.6C311.2 149.2000000000001 291.7 137.4 270.3 126.2000000000001C276.5 121.6 281.7 116.8000000000001 287.3 112.0000000000001H159.7C181 130.1000000000001 206.7 147.6000000000001 238.4 163.4C410.5 248.9 442.1 382.2 447.9 430.1C449 439.6 441.6 447.9 432 447.9L399.6 448C391.5 448 384.7000000000001 442.1 383.6 434.1C382.9000000000001 429.2 381.8 423 380.2000000000001 416H67.8C66.2 423 65.1 429.1 64.4 434.1C63.3 442.1 56.5 448.1 48.4 448L16.1 447.9C6.5 447.9 -1 439.6 0.1 430.1C5.3 387.2 31.4 276.2 160 192C31.5 107.8 5.3 -3.2 0.1 -46.1zM224 228.4C198.9 242.1 177.6 256.8 159.7 272H288.2C270.4 256.8 249.1 242 224 228.4zM355.1 352C349.3 341.6 342.3 330.9 334.1 320H114C105.7 330.9 98.7 341.6 93 352H355.1zM92.9 32C98.7 42.4 105.7 53.1 113.9 64H333.3C341.6 53.1 348.7 42.4 354.5 32H92.9z" /> + <glyph glyph-name="dollar-sign" + unicode="" + horiz-adv-x="288" d=" M209.2 214.6L101.2 246.2C88.7 249.8 80 261.5 80 274.5C80 290.8 93.2 304 109.5 304H175.8C188 304 200 300.3 210 293.5C216.1 289.4 224.3 290.4 229.5 295.5L264.3 329.5C271.4000000000001 336.4 270.4000000000001 347.9 262.5 354C238 373.2 207.4 383.9 176 384V432C176 440.8 168.8 448 160 448H128C119.2 448 112 440.8 112 432V384H109.5C45.8 384 -5.4 329.3 0.5 264.4C4.7 218.3 39.9 180.8 84.3 167.8L186.8 137.8C199.3 134.1 208 122.5 208 109.5C208 93.2 194.8 80 178.5 80H112.2C100 80 88 83.7 78 90.5C71.9 94.6 63.7 93.6 58.5 88.5L23.7 54.5C16.6 47.6 17.6 36.1 25.5 30C50 10.8 80.6 0.1 112 0V-48C112 -56.8 119.2 -64 128 -64H160C168.8 -64 176 -56.8 176 -48V0.2C222.6 1.1 266.3 28.8 281.7 72.9C303.2 134.5 267.1 197.7 209.2 214.6z" /> + <glyph glyph-name="dolly-flatbed" + unicode="" + horiz-adv-x="640" d=" M208 128H592C600.8 128 608 135.2 608 144V400C608 408.8 600.8 416 592 416H448V288L400 320L352 288V416H208C199.2 416 192 408.8 192 400V144C192 135.2 199.2 128 208 128zM624 64H128V432C128 440.8 120.8 448 112 448H16C7.2 448 0 440.8 0 432V400C0 391.2 7.2 384 16 384H64V16C64 7.2 71.2 0 80 0H162.9C161.1 -5 160 -10.4 160 -16C160 -42.5 181.5 -64 208 -64S256 -42.5 256 -16C256 -10.4 254.8 -5 253.1 0H451C449.2 -5 448.1 -10.4 448.1 -16C448.1 -42.5 469.6 -64 496.1 -64S544.1 -42.5 544.1 -16C544.1 -10.4 542.9 -5 541.2 0H624C632.8 0 640 7.2 640 16V48C640 56.8 632.8 64 624 64z" /> + <glyph glyph-name="dolly" + unicode="" + horiz-adv-x="576" d=" M294.2 170.3C312.2 165.3 328.9 156.9 343.7 145.6L505.2 199.4C513.6 202.2000000000001 518.1 211.3000000000001 515.3 219.6L454.9 400.8C452.1 409.2 443 413.7 434.7 410.9L373.6 390.5L406.7 291.1L346 271L312.9 370.4L251.3 349.9C242.9 347.1 238.4 338 241.2 329.7L294.2 170.3zM575.2 121.6L565 152C562.2 160.4 553.1 164.9 544.8 162.1L331.3 90.9C314.1 112.9 287.7 127.3 257.8 127.9L158.4 426.1C154 439.2 141.8 448 128 448H16C7.2 448 0 440.8 0 432V400C0 391.2 7.2 384 16 384H104.9L197.1 107.3C171 86.9 155.4 53.7 161.1 16.8C167.2 -22.6 199 -55.5 238.4000000000001 -62.4C298.6 -73.1 350.7000000000001 -27.6 351.8000000000001 30.2L565.1000000000001 101.4C573.4000000000001 104.2000000000001 578.0000000000001 113.2000000000001 575.2000000000002 121.6zM256 -16C229.5 -16 208 5.5 208 32S229.5 80 256 80S304 58.5 304 32S282.5 -16 256 -16z" /> + <glyph glyph-name="donate" + unicode="" + horiz-adv-x="512" d=" M256 32C370.9 32 464 125.1 464 240S370.9 448 256 448S48 354.9 48 240S141.1 32 256 32zM233.8 350.6V367.4C233.8 376.6 241.2 384 250.4 384H261.5C270.7 384 278.1 376.6 278.1 367.4V350.4C293.6 349.6 308.6 344.3 321.1 335C326.7000000000001 330.9 327.3 322.7 322.3 317.9L306 302.4C302.2 298.7000000000001 296.5 298.6 292 301.4C286.6 304.8 280.6 306.5 274.2 306.5H235.3C226.3 306.5 219 298.3 219 288.2C219 280 224 272.7 231.1 270.6L293.4 251.9C319.1 244.2 337.1 219.5 337.1 191.8C337.1 157.8 310.7 130.3 278 129.4V112.6C278 103.4 270.6 96 261.3999999999999 96H250.3C241.1 96 233.7 103.4 233.7 112.6V129.6C218.1999999999999 130.4 203.1999999999999 135.7000000000001 190.6999999999999 145C185.0999999999999 149.1 184.5 157.3 189.5 162.1L205.8 177.6C209.6 181.3 215.3 181.4 219.8 178.6C225.2 175.2000000000001 231.2 173.5 237.6 173.5H276.5C285.5 173.5 292.8 181.7 292.8 191.8C292.8 200 287.8 207.3 280.7 209.4L218.3999999999999 228.1C192.6999999999999 235.8 174.6999999999999 260.5 174.6999999999999 288.2C174.7999999999999 322.2 201.0999999999999 349.7 233.8 350.6zM480 96H447.5C427.9 70 402.9 48.3 374.5 32H438.3C443.6 32 447.9000000000001 28.4 447.9000000000001 24V8C447.9000000000001 3.6 443.6 0 438.3 0H73.6C68.3 0 64 3.6 64 8V24C64 28.4 68.3 32 73.6 32H137.4C109 48.3 84.1 70 64.4 96H32C14.3 96 0 81.7 0 64V-32C0 -49.7 14.3 -64 32 -64H480C497.7 -64 512 -49.7 512 -32V64C512 81.7 497.7 96 480 96z" /> + <glyph glyph-name="door-closed" + unicode="" + horiz-adv-x="640" d=" M624 0H512V397.2C512 425.2200000000001 490.47 448 464 448H175.99C149.52 448 127.99 425.2200000000001 127.99 397.2V0H16C7.16 0 0 -7.16 0 -16V-48C0 -56.84 7.16 -64 16 -64H624C632.84 -64 640 -56.84 640 -48V-16C640 -7.16 632.84 0 624 0zM415.99 160C398.32 160 383.99 174.33 383.99 192S398.32 224 415.99 224S447.99 209.67 447.99 192C448 174.33 433.67 160 415.99 160z" /> + <glyph glyph-name="door-open" + unicode="" + horiz-adv-x="640" d=" M624 0H544V334.55C544 361.81 522.47 384 496 384H384V320H480V-64H624C632.84 -64 640 -56.84 640 -48V-16C640 -7.16 632.84 0 624 0zM312.24 446.99L120.24 397.25C105.99 393.56 96 380.3 96 365.08V0H16C7.16 0 0 -7.16 0 -16V-48C0 -56.84 7.16 -64 16 -64H352V414.82C352 436.4 332.44 452.23 312.24 446.99zM264 160C250.75 160 240 174.33 240 192S250.75 224 264 224S288 209.67 288 192S277.25 160 264 160z" /> + <glyph glyph-name="dot-circle" + unicode="" + horiz-adv-x="512" d=" M256 440C119.033 440 8 328.967 8 192S119.033 -56 256 -56S504 55.033 504 192S392.967 440 256 440zM336 192C336 147.888 300.112 112 256 112S176 147.888 176 192S211.888 272 256 272S336 236.112 336 192z" /> + <glyph glyph-name="dove" + unicode="" + horiz-adv-x="512" d=" M288 280.8V308.9C259.8 345.2 240.9 388.2 233.9 434.1C231.8 447.6 214.9 452.9 206.1 442.4000000000001C185 417.5 168.4 388.3 157.2 355.9C191.4 317.6 237.2 291.3 288 280.8zM400 384C355.8 384 320 348.1 320 303.9V244.5C215.6 250.7 127 315 87 406.2C81.5 418.7 63.8 419.4 58 407.1C41.4 372 32 332.8 32 291.4C32 220.6 66.1 154.5 117.1 105.5C130.3 92.8 143.2 82.3 156 72.7L12.1 36.7C1.4 34 -3.4 21.6 2.6 12.3C20 -14.6 63 -60.2 155.8 -64C163.8 -64.2999999999999 171.8 -61.4 177.9 -56.1L243.1 0H320C408.4 0 480 71.5 480 159.9V320L512 384H400zM400 287.9C391.2 287.9 384 295.1 384 303.9S391.2 319.9 400 319.9S416 312.7000000000001 416 303.9S408.8 287.9 400 287.9z" /> + <glyph glyph-name="download" + unicode="" + horiz-adv-x="512" d=" M216 448H296C309.3 448 320 437.3 320 424V256H407.7C425.5 256 434.4 234.5 421.8 221.9L269.7 69.7C262.2 62.2 249.9 62.2 242.4 69.7L90.1 221.9C77.5 234.5 86.4 256 104.2 256H192V424C192 437.3 202.7 448 216 448zM512 72V-40C512 -53.3 501.3 -64 488 -64H24C10.7 -64 0 -53.3 0 -40V72C0 85.3 10.7 96 24 96H170.7L219.7 47C239.8 26.9 272.2 26.9 292.3 47L341.3 96H488C501.3 96 512 85.3 512 72zM388 -16C388 -5 379 4 368 4S348 -5 348 -16S357 -36 368 -36S388 -27 388 -16zM452 -16C452 -5 443 4 432 4S412 -5 412 -16S421 -36 432 -36S452 -27 452 -16z" /> + <glyph glyph-name="drafting-compass" + unicode="" + horiz-adv-x="512" d=" M457.01 103.58C431.96 83.25 404.38 66.4 374.47 54.53L428.85 -39.66L482.8 -62.7C492.61 -66.8900000000001 503.6899999999999 -60.4900000000001 504.97 -49.9L511.99 8.35L457.0099999999999 103.58zM499.5 198.14C504.36 205.81 501.39 216.13 493.45 220.53L465.38 236.1C457.9 240.25 448.77 237.56 444.12 230.38C403.01 166.85 332.25 128 256 128C232.07 128 208.77 132.25 186.59 139.53L253.95 256.21C254.65 256.19 255.29 256 255.99 256S257.34 256.19 258.03 256.21L309.12 167.71C340.35 176.67 368.68 193.46 391.73 216.63L339.94 306.34C347.39 319.9700000000001 352 335.37 352 352C352 405.02 309.02 448 256 448S160 405.02 160 352C160 335.37 164.61 319.9700000000001 172.05 306.3400000000001L103.75 188.03C91.2 199.64 79.79 212.62 70.07 227.03C65.28 234.13 56.1 236.65 48.69 232.36L20.94 216.29C13.09 211.75 10.31 201.39 15.3 193.82C30.87 170.18 49.99 149.61 71.28 131.8L0 8.34L7.02 -49.91C8.3 -60.5 19.38 -66.9 29.19 -62.71L83.14 -39.67L153.94 82.96C186.13 70.72 220.62 64 256 64C355.05 64 446.88 115.01 499.5 198.14zM256 384C273.67 384 288 369.67 288 352S273.67 320 256 320S224 334.33 224 352S238.33 384 256 384z" /> + <glyph glyph-name="draw-polygon" + unicode="" + horiz-adv-x="448" d=" M384 96C383.65 96 383.33 95.9 382.98 95.9L343.7800000000001 161.22C348.85 170.39 352.0000000000001 180.78 352.0000000000001 192S348.8600000000001 213.61 343.7800000000001 222.78L382.98 288.1C383.3300000000001 288.0900000000001 383.6500000000001 288 384 288C419.35 288 448 316.65 448 352S419.35 416 384 416C360.37 416 339.96 403.05 328.88 384H119.12C108.04 403.05 87.63 416 64 416C28.65 416 0 387.35 0 352C0 328.37 12.95 307.9600000000001 32 296.88V87.13C12.95 76.04 0 55.63 0 32C0 -3.35 28.65 -32 64 -32C87.63 -32 108.04 -19.05 119.12 0H328.87C339.96 -19.05 360.36 -32 383.99 -32C419.3400000000001 -32 447.99 -3.35 447.99 32C448 67.35 419.35 96 384 96zM96 87.12V296.88A63.824999999999996 63.824999999999996 0 0 1 119.12 320H327.48L289.0200000000001 255.9C288.67 255.91 288.35 256 288.0000000000001 256C252.6500000000001 256 224.0000000000001 227.35 224.0000000000001 192S252.6500000000001 128 288.0000000000001 128C288.3500000000001 128 288.6700000000001 128.1 289.0200000000001 128.1L327.48 64H119.12A63.748000000000005 63.748000000000005 0 0 1 96 87.12zM272 192C272 200.82 279.18 208 288 208S304 200.82 304 192S296.82 176 288 176S272 183.18 272 192zM400 352C400 343.18 392.82 336 384 336S368 343.18 368 352S375.18 368 384 368S400 360.82 400 352zM64 368C72.82 368 80 360.82 80 352S72.82 336 64 336S48 343.18 48 352S55.18 368 64 368zM48 32C48 40.82 55.18 48 64 48S80 40.82 80 32S72.82 16 64 16S48 23.18 48 32zM384 16C375.18 16 368 23.18 368 32S375.18 48 384 48S400 40.82 400 32S392.82 16 384 16z" /> + <glyph glyph-name="drum-steelpan" + unicode="" + horiz-adv-x="576" d=" M288 416C128.94 416 0 358.69 0 288V96C0 25.31 128.94 -32 288 -32S576 25.31 576 96V288C576 358.69 447.06 416 288 416zM205.01 257.64C200.56 241.03 190.47 227.07 176.7 217.16C100.23 230.54 48 257.2200000000001 48 288C48 318.16 98.11 344.39 172.04 358.03L197.64 313.69C207.5 296.6 210.12 276.7 205.01 257.64zM288 208C266.92 208 246.59 209 227.11 210.7C235.17 236.83 259.26 256 288 256S340.83 236.83 348.89 210.7C329.4100000000001 209 309.08 208 288 208zM352 352C352 316.7100000000001 323.29 288 288 288S224 316.7100000000001 224 352V365.04C244.4 366.92 265.8 368 288 368S331.6 366.92 352 365.04V352zM398.93 217.1C385.12 227.01 374.99 241 370.5300000000001 257.64C365.42 276.7 368.04 296.6 377.9100000000001 313.68L403.56 358.1C477.72 344.5 528 318.2100000000001 528 288C528 257.17 475.6 230.46 398.93 217.1z" /> + <glyph glyph-name="drum" + unicode="" + horiz-adv-x="576" d=" M458.08 327.12L560.47 388.55C575.63 397.64 580.53 417.3 571.44 432.46C562.34 447.61 542.7 452.53 527.53 443.43L366.84 347.02A629.3200000000002 629.3200000000002 0 0 1 288 352C128.94 352 0 294.69 0 224V63.17C0 32.71 24.03 4.77 64 -17.2V79.17C64 96.77 78.4 111.17 96 111.17S128 96.77 128 79.17V-43.24C165.4 -54.37 209 -61.68 256 -63.99V47.16C256 64.7600000000001 270.4 79.16 288 79.16S320 64.7600000000001 320 47.16V-64C367 -61.69 410.6 -54.38 448 -43.25V79.16C448 96.7600000000001 462.4 111.16 480 111.16S512 96.7600000000001 512 79.16V-17.21C551.97 4.76 576 32.7 576 63.16V223.99C575.99 266.37 529.46 303.8300000000001 458.08 327.12zM288 144C155.45 144 48 179.82 48 224S155.45 304 288 304C290.34 304 292.62 303.9 294.94 303.88L207.53 251.44C192.37 242.35 187.47 222.69 196.56 207.53C206.12 191.6 226.07 187.92 240.47 196.56L403.18 294.18C477.55 280.5900000000001 528 254.26 528 223.99C528 179.81 420.54 144 288 144z" /> + <glyph glyph-name="dumbbell" + unicode="" + horiz-adv-x="640" d=" M104 352H56C42.7 352 32 341.3 32 328V224H8C3.6 224 0 220.4 0 216V168C0 163.6 3.6 160 8 160H32V56C32 42.7 42.7 32 56 32H104C117.3 32 128 42.7 128 56V328C128 341.3 117.3 352 104 352zM632 224H608V328C608 341.3 597.3 352 584 352H536C522.7 352 512 341.3 512 328V56C512 42.7 522.7 32 536 32H584C597.3 32 608 42.7 608 56V160H632C636.4 160 640 163.6 640 168V216C640 220.4 636.4 224 632 224zM456 416H408C394.7 416 384 405.3 384 392V224H256V392C256 405.3 245.3 416 232 416H184C170.7 416 160 405.3 160 392V-8C160 -21.3 170.7 -32 184 -32H232C245.3 -32 256 -21.3 256 -8V160H384V-8C384 -21.3 394.7 -32 408 -32H456C469.3 -32 480 -21.3 480 -8V392C480 405.3 469.3 416 456 416z" /> + <glyph glyph-name="edit" + unicode="" + horiz-adv-x="576" d=" M402.6 364.8L492.8 274.6C496.6 270.8 496.6 264.6 492.8 260.8L274.4 42.4L181.6 32.1C169.2 30.7 158.7 41.2 160.1 53.6L170.4 146.4L388.8 364.8C392.6 368.6 398.8 368.6 402.6 364.8zM564.6 387.7L515.8000000000001 436.5C500.6000000000001 451.7 475.9000000000001 451.7 460.6000000000001 436.5L425.2000000000001 401.1C421.4000000000001 397.3 421.4000000000001 391.1 425.2000000000001 387.3L515.4000000000001 297.1C519.2 293.3 525.4000000000001 293.3 529.2 297.1L564.6 332.5C579.8000000000001 347.8 579.8000000000001 372.5 564.6 387.7zM384 101.8V0H64V320H293.8C297 320 300 321.3 302.3 323.5L342.3 363.5C349.9000000000001 371.1 344.5 384 333.8 384H48C21.5 384 0 362.5 0 336V-16C0 -42.5 21.5 -64 48 -64H400C426.5 -64 448 -42.5 448 -16V141.8C448 152.5 435.1 157.8 427.5 150.3L387.5 110.3C385.3 108 384 105 384 101.8z" /> + <glyph glyph-name="eject" + unicode="" + horiz-adv-x="448" d=" M448 64V0C448 -17.673 433.673 -32 416 -32H32C14.327 -32 0 -17.673 0 0V64C0 81.673 14.327 96 32 96H416C433.673 96 448 81.673 448 64zM48.053 128H399.939C441.5900000000001 128 463.52 177.674 435.322 208.435L259.383 400.442C240.369 421.185 207.632 421.186 188.616 400.442L12.67 208.435C-15.475 177.732 6.324 128 48.053 128z" /> + <glyph glyph-name="ellipsis-h" + unicode="" + horiz-adv-x="512" d=" M328 192C328 152.2 295.8 120 256 120S184 152.2 184 192S216.2 264 256 264S328 231.8 328 192zM432 264C392.2 264 360 231.8 360 192S392.2 120 432 120S504 152.2 504 192S471.8 264 432 264zM80 264C40.2 264 8 231.8 8 192S40.2 120 80 120S152 152.2 152 192S119.8 264 80 264z" /> + <glyph glyph-name="ellipsis-v" + unicode="" + horiz-adv-x="192" d=" M96 264C135.8 264 168 231.8 168 192S135.8 120 96 120S24 152.2 24 192S56.2 264 96 264zM24 368C24 328.2 56.2 296 96 296S168 328.2 168 368S135.8 440 96 440S24 407.8 24 368zM24 16C24 -23.8 56.2 -56 96 -56S168 -23.8 168 16S135.8 88 96 88S24 55.8 24 16z" /> + <glyph glyph-name="envelope-open-text" + unicode="" + horiz-adv-x="512" d=" M176 232H336C344.84 232 352 239.16 352 248V264C352 272.8400000000001 344.84 280 336 280H176C167.16 280 160 272.8400000000001 160 264V248C160 239.16 167.16 232 176 232zM160 152C160 143.16 167.16 136 176 136H336C344.84 136 352 143.16 352 152V168C352 176.84 344.84 184 336 184H176C167.16 184 160 176.84 160 168V152zM256 30.87C239.58 30.87 223.16 35.93 209.14 46.06L0 197.14V-16C0 -42.51 21.49 -64 48 -64H464C490.51 -64 512 -42.51 512 -16V197.14L302.86 46.06C288.8400000000001 35.94 272.42 30.87 256 30.87zM493.61 285.05C484.76 291.99 476.37 298.52 464 307.86V352C464 378.51 442.51 400 416 400H338.45C335.41 402.2 332.58 404.26 329.41 406.56C312.6 418.83 279.2 448.35 256 448C232.8 448.35 199.41 418.83 182.59 406.56C179.42 404.26 176.59 402.2 173.55 400H96C69.49 400 48 378.51 48 352V307.86C35.63 298.53 27.24 291.99 18.39 285.05A47.995 47.995 0 0 1 0 247.28V236.63L96 167.28V352H416V167.28L512 236.63V247.28C512 262.02 505.22 275.95 493.61 285.05z" /> + <glyph glyph-name="envelope-open" + unicode="" + horiz-adv-x="512" d=" M512 -16C512 -42.51 490.51 -64 464 -64H48C21.49 -64 0 -42.51 0 -16V247.276A48 48 0 0 0 18.387 285.052C43.3 304.581 63.888 320.4170000000001 182.587 406.563C199.412 418.83 232.797 448.347 256 447.997C279.198 448.351 312.596 418.825 329.413 406.564C448.1 320.427 468.716 304.569 493.613 285.052A48 48 0 0 0 512 247.276V-16zM446.334 180.605C443.771 184.333 438.634 185.2000000000001 434.995 182.512C412.15 165.639 379.533 141.807 329.413 105.433C312.588 93.167 279.2030000000001 63.652 256 64.003C232.789 63.659 199.441 93.146 182.587 105.433C132.473 141.803 99.853 165.637 77.005 182.512C73.366 185.2 68.229 184.333 65.666 180.605L56.594 167.409A7.997999999999999 7.997999999999999 0 0 1 58.433 156.442C81.32 139.543 113.887 115.752 163.736 79.574C184.01 64.793 220.26 31.761 256 32.001C291.724 31.759 327.961 64.7720000000001 348.2630000000001 79.574C398.1130000000001 115.7530000000001 430.6810000000001 139.544 453.566 156.442A7.997999999999999 7.997999999999999 0 0 1 455.405 167.409L446.334 180.605z" /> + <glyph glyph-name="envelope-square" + unicode="" + horiz-adv-x="448" d=" M400 416H48C21.49 416 0 394.51 0 368V16C0 -10.51 21.49 -32 48 -32H400C426.51 -32 448 -10.51 448 16V368C448 394.51 426.51 416 400 416zM178.117 185.896C87.429 251.713 88.353 251.879 64 270.833V296C64 309.255 74.745 320 88 320H360C373.255 320 384 309.255 384 296V270.833C359.629 251.864 360.566 251.709 269.883 185.895C259.383 178.24 238.491 159.775 224 160.001C209.497 159.783 188.633 178.228 178.117 185.896zM384 230.225V88C384 74.745 373.255 64 360 64H88C74.745 64 64 74.745 64 88V230.225C77.958 219.431 97.329 204.989 159.303 160.011C173.465 149.67 197.278 127.866 223.997 128.001C250.884 127.867 275.034 150.042 288.717 160.026C350.675 204.991 370.042 219.432 384 230.225z" /> + <glyph glyph-name="envelope" + unicode="" + horiz-adv-x="512" d=" M502.3 257.2C506.2 260.3 512 257.4 512 252.5V48C512 21.5 490.5 0 464 0H48C21.5 0 0 21.5 0 48V252.4C0 257.4 5.7 260.2000000000001 9.7 257.1C32.1 239.7 61.8 217.6 163.8 143.5C184.9 128.1 220.5 95.7 256 95.9C291.7 95.6 328 128.7 348.3 143.5C450.3 217.6 479.9 239.8 502.3 257.2zM256 128C279.2 127.6 312.6 157.2 329.4 169.4C462.1 265.7 472.2 274.1 502.8 298.1C508.6 302.6 511.9999999999999 309.6 511.9999999999999 317V336C511.9999999999999 362.5 490.4999999999999 384 463.9999999999999 384H48C21.5 384 0 362.5 0 336V317C0 309.6 3.4 302.7 9.2 298.1C39.8 274.2 49.9 265.7 182.6 169.4C199.4 157.2 232.8 127.6 256 128z" /> + <glyph glyph-name="equals" + unicode="" + horiz-adv-x="448" d=" M416 144H32C14.33 144 0 129.67 0 112V80C0 62.33 14.33 48 32 48H416C433.67 48 448 62.33 448 80V112C448 129.67 433.67 144 416 144zM416 336H32C14.33 336 0 321.67 0 304V272C0 254.33 14.33 240 32 240H416C433.67 240 448 254.33 448 272V304C448 321.67 433.67 336 416 336z" /> + <glyph glyph-name="eraser" + unicode="" + horiz-adv-x="512" d=" M497.941 174.059C516.6859999999999 192.804 516.6859999999999 223.196 497.941 241.9410000000001L337.941 401.9410000000001C319.196 420.6860000000001 288.805 420.687 270.058 401.9410000000001L14.058 145.941C-4.687 127.196 -4.687 96.804 14.058 78.059L110.058 -17.941A48.004000000000005 48.004000000000005 0 0 1 144 -32H500C506.627 -32 512 -26.627 512 -20V20C512 26.627 506.627 32 500 32H355.883L497.941 174.059zM195.314 236.6860000000001L332.687 99.3130000000001L265.373 32H150.628L70.628 112L195.314 236.686z" /> + <glyph glyph-name="euro-sign" + unicode="" + horiz-adv-x="320" d=" M310.706 34.235C309.392 40.865 302.8710000000001 45.107 296.2820000000001 43.604C285.5900000000001 41.165 268.86 38.191 250.8560000000001 38.191C194.0930000000001 38.191 148.9270000000001 72.9810000000001 129.3950000000001 123.6400000000001H243.0840000000001A12 12 0 0 1 254.7920000000001 133.009L261.165 161.369C262.851 168.8710000000001 257.146 176 249.457 176H115.22C114.01 190.328 113.806 204.287 115.357 218.245H261.95A12 12 0 0 1 273.673 227.679L280.185 257.434C281.823 264.918 276.124 272 268.462 272H130.184C150.817 316.991 192.874 347.03 247.803 347.03C262.289 347.03 276.367 344.78 285.654 342.885C291.87 341.617 298.001 345.3830000000001 299.656 351.5080000000001L311.647 395.8760000000001C313.469 402.617 309.182 409.492 302.321 410.793C290.217 413.088 270.71 416 249.635 416C152.451 416 74.03 355.748 45.075 272H12C5.373 272 0 266.627 0 260V230.245C0 223.618 5.373 218.245 12 218.245H33.569C32.56 204.638 32.388 188.958 33.388 176H12C5.373 176 0 170.627 0 164V135.64C0 129.013 5.373 123.64 12 123.64H42.114C67.139 33.308 145.264 -32 249.635 -32C275.936 -32 298.197 -27.456 310.736 -24.212C316.903 -22.617 320.763 -16.504 319.524 -10.255L310.706 34.235z" /> + <glyph glyph-name="exchange-alt" + unicode="" + horiz-adv-x="512" d=" M0 280V296C0 309.255 10.745 320 24 320H384V368C384 389.367 409.899 400.0420000000001 424.971 384.971L504.971 304.971C514.343 295.598 514.343 280.4020000000001 504.971 271.03L424.971 191.03C409.956 176.018 384 186.544 384 208V256H24C10.745 256 0 266.745 0 280zM488 128H128V176C128 197.314 102.138 208.08 87.029 192.971L7.029 112.971C-2.343 103.598 -2.343 88.402 7.029 79.03L87.029 -0.97C102.057 -15.997 128 -5.437 128 16V64H488C501.255 64 512 74.745 512 88V104C512 117.255 501.255 128 488 128z" /> + <glyph glyph-name="exclamation-circle" + unicode="" + horiz-adv-x="512" d=" M504 192C504 55.003 392.957 -56 256 -56S8 55.003 8 192C8 328.9170000000001 119.043 440 256 440S504 328.9170000000001 504 192zM256 142C230.595 142 210 121.405 210 96S230.595 50 256 50S302 70.595 302 96S281.405 142 256 142zM212.327 307.346L219.745 171.346C220.092 164.982 225.354 160 231.727 160H280.273C286.646 160 291.908 164.982 292.255 171.346L299.673 307.346C300.048 314.2200000000001 294.575 320 287.6910000000001 320H224.308C217.424 320 211.952 314.2200000000001 212.327 307.346z" /> + <glyph glyph-name="exclamation-triangle" + unicode="" + horiz-adv-x="576" d=" M569.517 7.987C587.975 -24.007 564.806 -64 527.94 -64H48.054C11.117 -64 -11.945 -23.945 6.477 7.987L246.423 424.015C264.89 456.024 311.1430000000001 455.966 329.577 424.015L569.517 7.987zM288 94C262.5950000000001 94 242 73.405 242 48S262.5950000000001 2 288 2S334 22.595 334 48S313.405 94 288 94zM244.327 259.346L251.745 123.346C252.092 116.982 257.354 112 263.727 112H312.273C318.646 112 323.908 116.982 324.255 123.346L331.673 259.346C332.048 266.2200000000001 326.575 272 319.6910000000001 272H256.3080000000001C249.4240000000001 272 243.9520000000001 266.2200000000001 244.3270000000001 259.346z" /> + <glyph glyph-name="exclamation" + unicode="" + horiz-adv-x="192" d=" M176 16C176 -28.112 140.112 -64 96 -64S16 -28.112 16 16S51.888 96 96 96S176 60.112 176 16zM25.26 422.801L38.86 150.801C39.499 138.028 50.041 128 62.83 128H129.17C141.959 128 152.501 138.028 153.14 150.801L166.74 422.801C167.425 436.51 156.496 448 142.77 448H49.23C35.504 448 24.575 436.51 25.26 422.801z" /> + <glyph glyph-name="expand-arrows-alt" + unicode="" + horiz-adv-x="448.1" d=" M448.1 104V-8C448.1 -21.3 437.4000000000001 -32 424.1 -32H312.1C290.7000000000001 -32 280 -6.1 295.1 9L331.3 45.2L224 152.4L116.8 45.1L153 9C168.1 -6.1 157.4 -32 136 -32H24C10.7 -32 0 -21.3 0 -8V104C0 125.4 25.9 136.1 41 121L77.2 84.8L184.5 192L77.2 299.3L41 263C25.9 247.9 0 258.6 0 280V392C0 405.3 10.7 416 24 416H136C157.4 416 168.1 390.1 153 375L116.8 338.8L224 231.6L331.3 338.9L295.1 375C280 390.1 290.7000000000001 416 312.1 416H424.1C437.4000000000001 416 448.1 405.3 448.1 392V280C448.1 258.6 422.2000000000001 247.9 407.1 263L370.9000000000001 299.2L263.6 192L370.9000000000001 84.7L407.1 120.9C422.2000000000001 136.1 448.1 125.4 448.1 104z" /> + <glyph glyph-name="expand" + unicode="" + horiz-adv-x="448" d=" M0 268V392C0 405.3 10.7 416 24 416H148C154.6 416 160 410.6 160 404V364C160 357.4 154.6 352 148 352H64V268C64 261.4 58.6 256 52 256H12C5.4 256 0 261.4 0 268zM288 404V364C288 357.4 293.4 352 300 352H384V268C384 261.4 389.4 256 396 256H436C442.6 256 448 261.4 448 268V392C448 405.3 437.3 416 424 416H300C293.4 416 288 410.6 288 404zM436 128H396C389.4 128 384 122.6 384 116V32H300C293.4 32 288 26.6 288 20V-20C288 -26.6 293.4 -32 300 -32H424C437.3 -32 448 -21.3 448 -8V116C448 122.6 442.6 128 436 128zM160 -20V20C160 26.6 154.6 32 148 32H64V116C64 122.6 58.6 128 52 128H12C5.4 128 0 122.6 0 116V-8C0 -21.3 10.7 -32 24 -32H148C154.6 -32 160 -26.6 160 -20z" /> + <glyph glyph-name="external-link-alt" + unicode="" + horiz-adv-x="576" d=" M576 424V296.016C576 274.555 550.04 264.0360000000001 535.029 279.045L499.322 314.754L255.799 71.231C246.426 61.858 231.231 61.858 221.858 71.231L199.231 93.858C189.858 103.231 189.858 118.427 199.231 127.799L442.756 371.324L407.053 407.029C391.9820000000001 422.1 402.656 448 424.024 448H552C565.255 448 576 437.255 576 424zM407.029 177.206L391.029 161.206A23.999000000000002 23.999000000000002 0 0 1 384 144.235V0H64V320H328A24.003 24.003 0 0 1 344.9700000000001 327.029L360.9700000000001 343.029C376.089 358.149 365.381 384 344 384H48C21.49 384 0 362.51 0 336V-16C0 -42.51 21.49 -64 48 -64H400C426.51 -64 448 -42.51 448 -16V160.236C448 181.618 422.148 192.326 407.029 177.206z" /> + <glyph glyph-name="external-link-square-alt" + unicode="" + horiz-adv-x="448" d=" M448 368V16C448 -10.51 426.51 -32 400 -32H48C21.49 -32 0 -10.51 0 16V368C0 394.51 21.49 416 48 416H400C426.51 416 448 394.51 448 368zM360 352H248.029C226.716 352 215.949 326.139 231.058 311.029L263.042 279.0420000000001L67.515 83.515C62.829 78.829 62.829 71.231 67.515 66.544L98.544 35.515C103.231 30.829 110.829 30.829 115.515 35.515L311.041 231.041L343.029 199.05C358.058 184.023 384 194.575 384 216.021V328C384 341.255 373.255 352 360 352z" /> + <glyph glyph-name="eye-dropper" + unicode="" + horiz-adv-x="512" d=" M50.75 114.75C38.75 102.75 32 86.47 32 69.49V24L0 -32L32 -64L88 -32H133.49C150.46 -32 166.74 -25.26 178.74 -13.26L305.38 113.36L177.38 241.36L50.75 114.75zM483.88 419.88C446.41 457.38 385.6 457.38 348.13 419.88L271.04 342.79L257.94 355.89C248.5 365.33 233.29 365.2 224 355.89L183.03 314.92C173.66 305.55 173.66 290.35 183.03 280.98L344.9699999999999 119.04C354.4099999999999 109.6 369.6199999999999 109.73 378.9099999999999 119.04L419.88 160C429.25 169.37 429.25 184.57 419.88 193.94L406.78 207.04L483.87 284.13C521.38 321.61 521.38 382.39 483.88 419.88z" /> + <glyph glyph-name="eye-slash" + unicode="" + horiz-adv-x="576" d=" M286.693 56.016L319.272 9.474A333.958 333.958 0 0 0 288 8C168.19 8 63.031 71.949 6.646 167.631A47.999 47.999 0 0 0 6.646 216.37C30.669 257.136 63.559 292.145 102.67 318.907L159.747 237.368C154.736 223.18 152 207.913 152 192C152 117.264 212.135 56.718 286.693 56.016zM569.354 167.631C537.687 113.894 490.607 70.1710000000001 434.1790000000001 42.1560000000001L434.1900000000001 42.1410000000001L475.6600000000001 -17.0589999999999C483.2600000000001 -27.9189999999999 480.6200000000001 -42.8789999999999 469.7600000000001 -50.4789999999999L456.6500000000001 -59.6589999999999C445.7900000000001 -67.2589999999999 430.8300000000001 -64.6189999999999 423.2300000000001 -53.759L100.34 401.06C92.74 411.92 95.38 426.88 106.24 434.48L119.35 443.6600000000001C130.21 451.26 145.17 448.62 152.77 437.76L203.808 365.1430000000001C230.68 372.224 258.905 376 288 376C407.81 376 512.969 312.051 569.354 216.369A48.00200000000001 48.00200000000001 0 0 0 569.354 167.631zM424 192C424 267.174 363.162 328 288 328C270.061 328 252.944 324.527 237.271 318.228L256.57 291.17C282.439 299.341 311.614 297.3330000000001 336.9700000000001 283.76H336.9400000000001C313.2900000000001 283.76 294.1200000000001 264.5900000000001 294.1200000000001 240.9400000000001C294.1200000000001 217.314 313.2670000000001 198.12 336.9400000000001 198.12C360.5900000000001 198.12 379.7600000000001 217.29 379.7600000000001 240.9400000000001V240.9700000000001C398.2220000000001 206.48 396.0720000000001 163.0560000000001 371.5100000000001 130.0200000000001V130.0100000000001L390.8240000000001 102.9490000000001C411.496 126.8 424 157.926 424 192zM262.014 91.273L184.484 202.03C179.47 149.643 213.798 103.6760000000001 262.014 91.273z" /> + <glyph glyph-name="eye" + unicode="" + horiz-adv-x="576" d=" M569.354 216.369C512.969 312.051 407.81 376 288 376C168.14 376 63.004 312.006 6.646 216.369A47.999 47.999 0 0 1 6.646 167.63C63.031 71.949 168.19 8 288 8C407.86 8 512.996 71.994 569.354 167.631A47.997 47.997 0 0 1 569.354 216.369zM288 56C212.838 56 152 116.827 152 192C152 267.1620000000001 212.826 328 288 328C363.1620000000001 328 424 267.174 424 192C424 116.838 363.174 56 288 56zM392 192C392 134.562 345.438 88 288 88S184 134.562 184 192C184 209.708 188.431 226.379 196.236 240.973L196.235 240.941C196.235 217.29 215.408 198.118 239.059 198.118S281.883 217.291 281.883 240.941C281.883 264.592 262.71 283.765 239.059 283.765L239.027 283.764C253.621 291.569 270.292 296 288 296C345.438 296 392 249.438 392 192z" /> + <glyph glyph-name="fast-backward" + unicode="" + horiz-adv-x="512" d=" M0 12V372C0 378.6 5.4 384 12 384H52C58.6 384 64 378.6 64 372V220.1L235.5 376.6C256.1 393.7 288 379.4 288 352V220.1L459.5 376.6C480.1 393.7 512 379.4 512 352V32C512 4.6 480.1 -9.7 459.5 7.4L288 162.7V32C288 4.6 256.1 -9.7 235.5 7.4L64 162.7V12C64 5.4 58.6 0 52 0H12C5.4 0 0 5.4 0 12z" /> + <glyph glyph-name="fast-forward" + unicode="" + horiz-adv-x="512" d=" M512 372V12C512 5.4 506.6 0 500 0H460C453.4 0 448 5.4 448 12V163.9L276.5 7.4C255.9 -9.8 224 4.6 224 32V163.9L52.5 7.4C31.9 -9.8 0 4.6 0 32V352C0 379.4 31.9 393.7 52.5 376.6L224 221.2V352C224 379.4 255.9 393.7 276.5 376.6L448 221.2V372C448 378.6 453.4 384 460 384H500C506.6 384 512 378.6 512 372z" /> + <glyph glyph-name="fax" + unicode="" + horiz-adv-x="512" d=" M64 320H32C14.33 320 0 305.67 0 288V-32C0 -49.67 14.33 -64 32 -64H64C81.67 -64 96 -49.67 96 -32V288C96 305.67 81.67 320 64 320zM480 288V370.75C480 379.24 476.63 387.37 470.63 393.38L425.37 438.63C419.37 444.63 411.23 448 402.74 448H160C142.33 448 128 433.67 128 416V-32C128 -49.67 142.33 -64 160 -64H480C497.67 -64 512 -49.67 512 -32V256C512 273.67 497.67 288 480 288zM288 16C288 7.16 280.84 0 272 0H240C231.16 0 224 7.16 224 16V48C224 56.84 231.16 64 240 64H272C280.84 64 288 56.84 288 48V16zM288 144C288 135.16 280.84 128 272 128H240C231.16 128 224 135.16 224 144V176C224 184.84 231.16 192 240 192H272C280.84 192 288 184.84 288 176V144zM416 16C416 7.16 408.84 0 400 0H368C359.1600000000001 0 352 7.16 352 16V48C352 56.84 359.1600000000001 64 368 64H400C408.84 64 416 56.84 416 48V16zM416 144C416 135.16 408.84 128 400 128H368C359.1600000000001 128 352 135.16 352 144V176C352 184.84 359.1600000000001 192 368 192H400C408.84 192 416 184.84 416 176V144zM432 256H176V400H384V368C384 359.16 391.1600000000001 352 400 352H432V256z" /> + <glyph glyph-name="feather-alt" + unicode="" + horiz-adv-x="512" d=" M512 448C460.22 444.44 96.44 409.8 71.01 160.39C67.92 133.73 66.17 106.95 65.02 80.15L243.89 258.84C250.14 265.09 260.29 265.09 266.54 258.84S272.79 242.46 266.54 236.21L7.04 -23.03C-2.34 -32.4 -2.34 -47.6 7.04 -56.97C16.42 -66.3399999999999 31.63 -66.3399999999999 41.02 -56.97L98.15 0.1C140.24 0.24 182.3 2.63 224.11 7.46C277.5900000000001 12.9 321.13 33.9300000000001 356.6900000000001 64.0000000000001H255.74L402.53 112.8800000000001C413.78 127.7700000000001 423.9 143.59 432.98 160.0000000000001H351.84L458.38 213.2100000000001C500.29 315.14 510.19 421.74 512 448z" /> + <glyph glyph-name="feather" + unicode="" + horiz-adv-x="512" d=" M467.14 403.16C404.59 465.64 305.4700000000001 467.94 214.86 377.43C136.25 298.91 153.88 316.51 129.11 291.77C68.65 231.38 58.72 140.94 65.47 80.6L243.91 258.85C250.17 265.1 260.31 265.1 266.56 258.85S272.81 242.4700000000001 266.56 236.2200000000001L7.04 -23.03C-2.34 -32.4 -2.34 -47.6 7.04 -56.97C16.42 -66.3399999999999 31.64 -66.3399999999999 41.02 -56.97L107.12 9.0600000000001C159.42 -6.65 279 -9.11 353.95 64H255.76L403.33 113.14C453.32 163.07 439.71 149.32 449.64 160H351.86L483.4 203.8C528.8399999999999 278.26 517.71 352.64 467.14 403.1600000000001z" /> + <glyph glyph-name="female" + unicode="" + horiz-adv-x="256" d=" M128 448C163.346 448 192 419.346 192 384S163.346 320 128 320C92.654 320 64 348.654 64 384S92.654 448 128 448M247.283 93.821L199.283 285.8210000000001A24 24 0 0 1 176 304H164.64C141.929 293.557 115.05 293.106 91.36 304H80A24 24 0 0 1 56.717 285.8210000000001L8.717 93.821C4.935 78.695 16.383 64 32 64H88V-40C88 -53.255 98.745 -64 112 -64H144C157.255 -64 168 -53.255 168 -40V64H224C239.591 64 251.071 78.671 247.283 93.821z" /> + <glyph glyph-name="fighter-jet" + unicode="" + horiz-adv-x="640" d=" M544 224L416 240L368 256H344L227.158 404H266.667C278.3330000000001 404 288 406.625 288 410S278.3330000000001 416 266.6670000000001 416H152V404H168V240H120L53.333 320H18.667L8 309.333V240H16V224H64V221.334L0 213.334V170.667L64 162.667V160H16V144H8V74.667L18.667 64H53.334L120 144H168V-20H152V-32H266.6670000000001C278.334 -32 288 -29.375 288 -26S278.3330000000001 -20 266.6670000000001 -20H227.158L344 128H368L416 144L544 160C640 181.333 640 186.583 640 192C640 197.417 640 202.667 544 224z" /> + <glyph glyph-name="file-alt" + unicode="" + horiz-adv-x="384" d=" M224 312V448H24C10.7 448 0 437.3 0 424V-40C0 -53.3 10.7 -64 24 -64H360C373.3 -64 384 -53.3 384 -40V288H248C234.8 288 224 298.8 224 312zM288 76C288 69.4 282.6 64 276 64H108C101.4 64 96 69.4 96 76V84C96 90.6 101.4 96 108 96H276C282.6 96 288 90.6 288 84V76zM288 140C288 133.4 282.6 128 276 128H108C101.4 128 96 133.4 96 140V148C96 154.6 101.4 160 108 160H276C282.6 160 288 154.6 288 148V140zM288 212V204C288 197.4 282.6 192 276 192H108C101.4 192 96 197.4 96 204V212C96 218.6 101.4 224 108 224H276C282.6 224 288 218.6 288 212zM384 326.1V320H256V448H262.1C268.5 448 274.6 445.5 279.1 441L377 343C381.5 338.5 384 332.4 384 326.1z" /> + <glyph glyph-name="file-archive" + unicode="" + horiz-adv-x="384" d=" M224 312V448H160.4V416H128.4V448H24C10.7 448 0 437.3 0 424V-40C0 -53.3 10.7 -64 24 -64H360C373.3 -64 384 -53.3 384 -40V288H248C234.8 288 224 298.8 224 312zM95.9 416H127.9V384H95.9V416zM128.2 32C95 32 70.2 62.4 76.8 94.9L96.4 192V224H128.4V256H96.4V288H128.4V320H96.4V352H128.4V384H160.4V352H128.4V320H160.4V288H128.4V256H160.4V224H128.4V192H150.5C156.2 192 161.2 187.9 162.3 182.3L179.6 94.6C186 62.2000000000001 161.2 32 128.2 32zM160.9 85C160.9 70.1 146.4 58 128.5 58S96 70 96 85C96 99.9 110.5 112 128.4 112S160.9 99.9 160.9 85zM384 326.1V320H256V448H262.1C268.5 448 274.6 445.5 279.1 441L377 343C381.5 338.5 384 332.4 384 326.1z" /> + <glyph glyph-name="file-audio" + unicode="" + horiz-adv-x="384" d=" M224 312V448H24C10.7 448 0 437.3 0 424V-40C0 -53.3 10.7 -64 24 -64H360C373.3 -64 384 -53.3 384 -40V288H248C234.8 288 224 298.8 224 312zM160 44C160 33.3 147.1 28 139.5 35.5L104 72H76C69.4 72 64 77.4 64 84V140C64 146.6 69.4 152 76 152H104L139.5 188.5C147.1 196.1 160 190.7 160 180V44zM193.2 91.6C202.3 100.9 202.3 115.7000000000001 193.2 125C171.1 147.8 205.4 181.2 227.6 158.5C254.8 130.6 254.8 86.1 227.6 58.1C205.8 35.8 170.7 68.5 193.2 91.6zM279.2 208.7C333.6 152.8 333.6 63.9 279.2 7.9C257.4 -14.5 222.2 18.2 244.8 41.4C281 78.6 281.1 137.9 244.8 175.2C222.7 198 257.1 231.5 279.2 208.7zM384 326.1V320H256V448H262.1C268.5 448 274.6 445.5 279.1 441L377 343C381.5 338.5 384 332.4 384 326.1z" /> + <glyph glyph-name="file-code" + unicode="" + horiz-adv-x="384" d=" M384 326.059V320H256V448H262.0590000000001C268.4240000000001 448 274.5290000000001 445.471 279.0300000000001 440.971L376.971 343.03A24.005 24.005 0 0 0 384 326.059zM248 288C234.8 288 224 298.8 224 312V448H24C10.745 448 0 437.255 0 424V-40C0 -53.255 10.745 -64 24 -64H360C373.255 -64 384 -53.255 384 -40V288H248zM123.206 47.495A5.4 5.4 0 0 0 115.573 47.249L50.707 108.061A5.4 5.4 0 0 0 50.707 115.9400000000001L115.573 176.7520000000001A5.4 5.4 0 0 0 123.206 176.5060000000001L142.785 155.6210000000001A5.4 5.4 0 0 0 142.413 147.8740000000001L101.65 112L142.413 76.126A5.4 5.4 0 0 0 142.785 68.379L123.206 47.495zM174.501 -2.984L147.048 4.986A5.401999999999999 5.401999999999999 0 0 0 143.367 11.6780000000001L204.807 223.3040000000001A5.401999999999999 5.401999999999999 0 0 0 211.499 226.9850000000001L238.951 219.0150000000001A5.4 5.4 0 0 0 242.631 212.3230000000001L181.191 0.6970000000001A5.396999999999999 5.396999999999999 0 0 0 174.501 -2.9839999999999zM335.293 108.061L270.427 47.249A5.4 5.4 0 0 0 262.7940000000001 47.495L243.2140000000001 68.38A5.4 5.4 0 0 0 243.5860000000001 76.127L284.35 112L243.587 147.874A5.4 5.4 0 0 0 243.215 155.6210000000001L262.795 176.506A5.4 5.4 0 0 0 270.428 176.752L335.294 115.94A5.4 5.4 0 0 0 335.293 108.061z" /> + <glyph glyph-name="file-contract" + unicode="" + horiz-adv-x="384" d=" M224 312V448H24C10.7 448 0 437.3 0 424V-40C0 -53.3 10.7 -64 24 -64H360C373.3 -64 384 -53.3 384 -40V288H248C234.8 288 224 298.8 224 312zM64 376C64 380.42 67.58 384 72 384H152C156.42 384 160 380.42 160 376V360C160 355.58 156.42 352 152 352H72C67.58 352 64 355.58 64 360V376zM64 312C64 316.42 67.58 320 72 320H152C156.42 320 160 316.42 160 312V296C160 291.5800000000001 156.42 288 152 288H72C67.58 288 64 291.5800000000001 64 296V312zM256.81 64H304C312.84 64 320 56.84 320 48S312.84 32 304 32H256.81C240.36 32 225.54 41.14 218.17 55.86C215.22 61.78 210.08 62.38 208 62.38S200.78 61.79 197.98 56.19L190.31 40.85A15.986 15.986 0 0 0 176 32.0100000000001C175.62 32.0100000000001 175.25 32.03 174.8600000000001 32.0600000000001C168.4100000000001 32.5100000000001 162.8600000000001 36.8100000000001 160.8300000000001 42.95L144 93.41L133.39 61.53C127.5 43.87 111.01 32 92.39 32H80C71.16 32 64 39.16 64 48S71.16 64 80 64H92.39C97.22 64 101.5 67.08 103.03 71.66L121.22 126.3C124.52 136.11 133.66 142.71 144 142.71S163.48 136.1200000000001 166.77 126.3L180.65 84.66C200.42 100.85 234.7 94.36 246.65 70.5C248.67 66.44 252.61 64 256.81 64zM377 343L279.1 441C274.6 445.5 268.5 448 262.1 448H256V320H384V326.1C384 332.4 381.5 338.5 377 343z" /> + <glyph glyph-name="file-download" + unicode="" + horiz-adv-x="384" d=" M224 312V448H24C10.7 448 0 437.3 0 424V-40C0 -53.3 10.7 -64 24 -64H360C373.3 -64 384 -53.3 384 -40V288H248C234.8 288 224 298.8 224 312zM300.45 100.64L204.03 4.94C197.38 -1.67 186.64 -1.67 179.99 4.94L83.57 100.64C73.42 110.71 80.54 128 94.82 128H160V208C160 216.84 167.16 224 176 224H208C216.84 224 224 216.84 224 208V128H289.18C303.46 128 310.58 110.71 300.45 100.64zM377 343L279.1 441C274.6 445.5 268.5 448 262.1 448H256V320H384V326.1C384 332.4 381.5 338.5 377 343z" /> + <glyph glyph-name="file-excel" + unicode="" + horiz-adv-x="384" d=" M224 312V448H24C10.7 448 0 437.3 0 424V-40C0 -53.3 10.7 -64 24 -64H360C373.3 -64 384 -53.3 384 -40V288H248C234.8 288 224 298.8 224 312zM284.1 205.5L224 112L284.1 18.5C289.2000000000001 10.5 283.5 0 274 0H239.1C234.7 0 230.6 2.4 228.5 6.3C208.9 42.5 192 75 192 75C185.6 60.2 182 55 155.4 6.2C153.3 2.3 149.3 -0.1 144.9 -0.1H110C100.5 -0.1 94.8 10.4 99.9 18.4L160.2 111.9L99.9 205.4C94.7 213.4 100.5 223.9 110 223.9H144.8C149.2 223.9 153.3 221.5 155.4 217.6C181.5 168.8 175.4 184 192 149.1C192 149.1 198.1 160.8 228.6 217.6C230.7 221.5 234.8 223.9 239.2 223.9H274C283.5 224 289.2 213.5 284.1 205.5zM384 326.1V320H256V448H262.1C268.5 448 274.6 445.5 279.1 441L377 343C381.5 338.5 384 332.4 384 326.1z" /> + <glyph glyph-name="file-export" + unicode="" + horiz-adv-x="576" d=" M384 326.1C384 332.4 381.5 338.5 377 343L279.1 441C274.6 445.5 268.5 448 262.1 448H256V320H384V326.1zM192 112V144C192 152.84 199.16 160 208 160H384V288H248C234.8 288 224 298.8 224 312V448H24C10.7 448 0 437.3 0 424V-40C0 -53.3 10.7 -64 24 -64H360C373.3 -64 384 -53.3 384 -40V96H208C199.16 96 192 103.16 192 112zM571.05 140.02L475.35 236.45C465.29 246.59 447.99 239.46 447.99 225.18V160H384V96H447.99V30.82C447.99 16.54 465.28 9.41 475.35 19.55L571.0500000000001 115.97C577.6500000000001 122.6300000000001 577.6500000000001 133.37 571.0500000000001 140.0200000000001z" /> + <glyph glyph-name="file-image" + unicode="" + horiz-adv-x="384" d=" M384 326.059V320H256V448H262.0590000000001A24 24 0 0 0 279.029 440.971L376.9700000000001 343.03A24.002000000000002 24.002000000000002 0 0 0 384 326.059zM248 288C234.8 288 224 298.8 224 312V448H24C10.745 448 0 437.255 0 424V-40C0 -53.255 10.745 -64 24 -64H360C373.255 -64 384 -53.255 384 -40V288H248zM112.545 272C139.055 272 160.545 250.51 160.545 224S139.055 176 112.545 176S64.545 197.49 64.545 224S86.036 272 112.545 272zM320.545 32H64.545L65.03 80.485L104.545 120C109.231 124.686 116.344 124.201 121.03 119.515L160.545 80L264.06 183.515C268.746 188.201 276.344 188.201 281.031 183.515L320.545 144V32z" /> + <glyph glyph-name="file-import" + unicode="" + horiz-adv-x="512" d=" M16 160C7.16 160 0 152.84 0 144V112C0 103.16 7.16 96 16 96H128V160H16zM352 312V448H152C138.7 448 128 437.3 128 424V160H255.99V225.18C255.99 239.46 273.2800000000001 246.59 283.35 236.45L379.05 140.02C385.6500000000001 133.37 385.6500000000001 122.63 379.05 115.98L283.35 19.5599999999999C273.29 9.42 255.99 16.55 255.99 30.8299999999999V96H128V-40C128 -53.3 138.7 -64 152 -64H488C501.3 -64 512 -53.3 512 -40V288H376C362.8 288 352 298.8 352 312zM505 343L407.1 441C402.6 445.5 396.5 448 390.1 448H384V320H512V326.1C512 332.4 509.5 338.5 505 343z" /> + <glyph glyph-name="file-invoice-dollar" + unicode="" + horiz-adv-x="384" d=" M377 343L279.1 441C274.6 445.5 268.5 448 262.1 448H256V320H384V326.1C384 332.4 381.5 338.5 377 343zM224 312V448H24C10.7 448 0 437.3 0 424V-40C0 -53.3 10.7 -64 24 -64H360C373.3 -64 384 -53.3 384 -40V288H248C234.8 288 224 298.8 224 312zM64 376C64 380.42 67.58 384 72 384H152C156.42 384 160 380.42 160 376V360C160 355.58 156.42 352 152 352H72C67.58 352 64 355.58 64 360V376zM64 296V312C64 316.42 67.58 320 72 320H152C156.42 320 160 316.42 160 312V296C160 291.5800000000001 156.42 288 152 288H72C67.58 288 64 291.5800000000001 64 296zM208 32.12V8C208 3.58 204.42 0 200 0H184C179.58 0 176 3.58 176 8V32.29C164.71 32.87 153.73 36.81 144.63 43.64C140.73 46.5700000000001 140.53 52.41 144.06 55.78L155.81 66.99C158.58 69.63 162.7 69.75 165.94 67.72C169.81 65.3 174.2 64 178.76 64H206.87C213.37 64 218.67 69.92 218.67 77.19C218.67 83.14 215.06 88.38 209.9 89.92L164.9 103.42C146.31 109 133.32 126.84 133.32 146.81C133.32 171.33 152.37 191.25 175.99 191.88V216C175.99 220.42 179.57 224 183.99 224H199.99C204.41 224 207.99 220.42 207.99 216V191.71C219.28 191.13 230.26 187.2 239.36 180.36C243.26 177.43 243.46 171.59 239.93 168.22L228.18 157.01C225.41 154.37 221.29 154.25 218.05 156.28C214.18 158.71 209.79 160 205.23 160H177.12C170.62 160 165.32 154.08 165.32 146.81C165.32 140.86 168.93 135.62 174.09 134.08L219.09 120.58C237.68 115 250.67 97.16 250.67 77.19C250.67 52.66 231.62 32.75 208 32.12z" /> + <glyph glyph-name="file-invoice" + unicode="" + horiz-adv-x="384" d=" M288 192H96V128H288V192zM377 343L279.1 441C274.6 445.5 268.5 448 262.1 448H256V320H384V326.1C384 332.4 381.5 338.5 377 343zM224 312V448H24C10.7 448 0 437.3 0 424V-40C0 -53.3 10.7 -64 24 -64H360C373.3 -64 384 -53.3 384 -40V288H248C234.8 288 224 298.8 224 312zM64 376C64 380.42 67.58 384 72 384H152C156.42 384 160 380.42 160 376V360C160 355.58 156.42 352 152 352H72C67.58 352 64 355.58 64 360V376zM64 312C64 316.42 67.58 320 72 320H152C156.42 320 160 316.42 160 312V296C160 291.5800000000001 156.42 288 152 288H72C67.58 288 64 291.5800000000001 64 296V312zM320 8C320 3.58 316.42 0 312 0H232C227.58 0 224 3.58 224 8V24C224 28.42 227.58 32 232 32H312C316.42 32 320 28.42 320 24V8zM320 208V112C320 103.16 312.84 96 304 96H80C71.16 96 64 103.16 64 112V208C64 216.84 71.16 224 80 224H304C312.84 224 320 216.84 320 208z" /> + <glyph glyph-name="file-medical-alt" + unicode="" + horiz-adv-x="448" d=" M288 312V448H88C74.7 448 64 437.3 64 424V192H8C3.6 192 0 188.4 0 184V168C0 163.6 3.6 160 8 160H148.9C151.9 160 154.7 158.3 156.1 155.6L176 115.8L232.8 229.5C235.7 235.4 244.2 235.4 247.1 229.5L281.8 160H352C360.8 160 368 152.8 368 144S360.8 128 352 128H262.1L240 172.2L183.2 58.5C180.3 52.6 171.8 52.6 168.9 58.5L134.1 128H64V-40C64 -53.3 74.7 -64 88 -64H424C437.3 -64 448 -53.3 448 -40V288H312C298.8 288 288 298.8 288 312zM441 343L343.1 441C338.6 445.5 332.5 448 326.1 448H320V320H448V326.1C448 332.4 445.5 338.5 441 343z" /> + <glyph glyph-name="file-medical" + unicode="" + horiz-adv-x="384" d=" M377 343L279.1 441C274.6 445.5 268.5 448 262.1 448H256V320H384V326.1C384 332.4 381.5 338.5 377 343zM224 312V448H24C10.7 448 0 437.3 0 424V-40C0 -53.3 10.7 -64 24 -64H360C373.3 -64 384 -53.3 384 -40V288H248C234.8 288 224 298.8 224 312zM288 152V104C288 99.6 284.4 96 280 96H224V40C224 35.6 220.4 32 216 32H168C163.6 32 160 35.6 160 40V96H104C99.6 96 96 99.6 96 104V152C96 156.4 99.6 160 104 160H160V216C160 220.4 163.6 224 168 224H216C220.4 224 224 220.4 224 216V160H280C284.4 160 288 156.4 288 152z" /> + <glyph glyph-name="file-pdf" + unicode="" + horiz-adv-x="384" d=" M181.9 191.9C176.9 207.9 177 238.8 179.9 238.8C188.3 238.8 187.5 201.9 181.9 191.9zM180.2 144.7C172.5 124.5 162.9 101.4 151.8 82C170.1 89 190.8 99.2 214.7 103.9C202 113.5 189.8 127.3 180.2 144.7zM86.1 19.9C86.1 19.1 99.3 25.3 121 60.1C114.3 53.8 91.9 35.6 86.1 19.9zM248 288H384V-40C384 -53.3 373.3 -64 360 -64H24C10.7 -64 0 -53.3 0 -40V424C0 437.3 10.7 448 24 448H224V312C224 298.8 234.8 288 248 288zM240 116.2C220 128.4 206.7 145.2 197.3 170C201.8 188.5 208.9 216.6 203.5 234.2C198.8 263.6 161.1 260.7 155.7 241C150.7 222.7 155.3 196.9 163.8 164C152.2 136.4 135.1 99.4 123 78.2C122.9 78.2 122.9 78.1 122.8 78.1C95.7 64.2 49.2 33.6 68.3 10.1C73.9 3.2 84.3 0.1 89.8 0.1C107.7 0.1 125.5 18.1 150.9 61.9C176.7 70.4 205 81 229.9 85.1C251.6 73.3 277 65.6 293.9 65.6C323.1 65.6 325.1 97.6 313.6 108.9999999999999C299.7 122.6 259.3 118.6999999999999 240 116.1999999999999zM377 343L279 441C274.5 445.5 268.4 448 262 448H256V320H384V326.1C384 332.4 381.5 338.5 377 343zM302.9 87.7C307 90.4 300.4 99.6 260.1 96.7C297.2 80.9 302.9 87.7 302.9 87.7z" /> + <glyph glyph-name="file-powerpoint" + unicode="" + horiz-adv-x="384" d=" M193.7 176.8C202.5 176.8 209.2 174.1 214 168.7C223.6 157.8 223.8 136 213.8 124.6C208.9 119 201.9 116.1 192.7 116.1H165.8V176.8H193.7zM377 343L279 441C274.5 445.5 268.4 448 262 448H256V320H384V326.1C384 332.4 381.5 338.5 377 343zM224 312V448H24C10.7 448 0 437.3 0 424V-40C0 -53.3 10.7 -64 24 -64H360C373.3 -64 384 -53.3 384 -40V288H248C234.8 288 224 298.8 224 312zM277 146.8C277 56.5 188.2 69.2000000000001 165.9 69.2000000000001V12C165.9 5.4 160.5 0 153.9 0H123.1C116.5 0 111.1 5.4 111.1 12V211.8C111.1 218.4 116.5 223.8 123.1 223.8H204.1C248.6 223.8 277 191 277 146.8z" /> + <glyph glyph-name="file-prescription" + unicode="" + horiz-adv-x="384" d=" M224 312V448H24C10.7 448 0 437.3 0 424V-40C0 -53.3 10.7 -64 24 -64H360C373.3 -64 384 -53.3 384 -40V288H248C234.8 288 224 298.8 224 312zM292.53 132.52L303.84 121.21C310.09 114.96 310.09 104.83 303.84 98.58L273.94 68.68L304 38.62C310.25 32.37 310.25 22.24 304 15.99L292.69 4.68C286.44 -1.57 276.31 -1.57 270.06 4.68L240 34.75L209.94 4.69C203.69 -1.56 193.56 -1.56 187.31 4.69L176 16C169.75 22.25 169.75 32.38 176 38.63L206.06 68.69L146.74 128H128V80C128 71.16 120.84 64 112 64H96C87.16 64 80 71.16 80 80V240C80 248.84 87.16 256 96 256H176C211.35 256 240 227.35 240 192C240 167.78 226.38 146.95 206.54 136.08L240 102.62L269.9 132.52C276.15 138.77 286.28 138.77 292.53 132.52zM176 176H128V208H176C184.82 208 192 200.82 192 192S184.82 176 176 176zM384 326.1V320H256V448H262.1C268.5 448 274.6 445.5 279.1 441L377 343C381.5 338.5 384 332.4 384 326.1z" /> + <glyph glyph-name="file-signature" + unicode="" + horiz-adv-x="576" d=" M218.17 23.86C215.22 29.78 210.08 30.38 208 30.38S200.78 29.79 197.98 24.19L190.31 8.85C183.94 -3.9299999999999 165.28 -2.52 160.83 10.94L144 61.41L133.39 29.53C127.5 11.87 111.01 0 92.39 0H80C71.16 0 64 7.16 64 16S71.16 32 80 32H92.39C97.22 32 101.5 35.08 103.03 39.66L121.22 94.3C124.52 104.11 133.66 110.71 144 110.71S163.48 104.1200000000001 166.77 94.3L180.65 52.66C200.4 68.85 234.71 62.36 246.65 38.5C248.54 34.72 252.14 32.55 256.01 32.24V114.36L384.01 241.45V288H248C234.8 288 224 298.8 224 312V448H24C10.7 448 0 437.3 0 424V-40C0 -53.3 10.7 -64 24 -64H360C373.3 -64 384 -53.3 384 -40V0L256 0.11C239.88 0.42 225.42 9.39 218.17 23.86zM384 326.1C384 332.4 381.5 338.5 377 343L279.1 441C274.6 445.5 268.5 448 262.1 448H256V320H384V326.1zM288 101.04V32H356.99L518.6700000000001 194.78L450.7900000000001 262.66L288 101.04zM568.54 280.67L536.67 312.54C526.7299999999999 322.48 510.6 322.48 500.66 312.54L473.41 285.29L541.29 217.41L568.54 244.66C578.49 254.6 578.49 270.73 568.54 280.67z" /> + <glyph glyph-name="file-upload" + unicode="" + horiz-adv-x="384" d=" M224 312V448H24C10.7 448 0 437.3 0 424V-40C0 -53.3 10.7 -64 24 -64H360C373.3 -64 384 -53.3 384 -40V288H248C234.8 288 224 298.8 224 312zM289.18 95.99H224V15.99C224 7.15 216.84 -0.01 208 -0.01H176C167.16 -0.01 160 7.15 160 15.99V95.99H94.82C80.54 95.99 73.41 113.28 83.55 123.35L179.97 219.05C186.62 225.6600000000001 197.36 225.6600000000001 204.01 219.05L300.43 123.35C310.58 113.28 303.46 95.99 289.18 95.99zM377 343L279.1 441C274.6 445.5 268.5 448 262.1 448H256V320H384V326.1C384 332.4 381.5 338.5 377 343z" /> + <glyph glyph-name="file-video" + unicode="" + horiz-adv-x="384" d=" M384 326.059V320H256V448H262.0590000000001C268.4240000000001 448 274.5290000000001 445.471 279.0300000000001 440.971L376.971 343.03A24.005 24.005 0 0 0 384 326.059zM224 312V448H24C10.745 448 0 437.255 0 424V-40C0 -53.255 10.745 -64 24 -64H360C373.255 -64 384 -53.255 384 -40V288H248C234.8 288 224 298.8 224 312zM320 167.984V56.0210000000001C320 34.5760000000001 294.057 24.0230000000001 279.029 39.0500000000001L224 94.059V56C224 42.745 213.255 32 200 32H88C74.745 32 64 42.745 64 56V168C64 181.255 74.745 192 88 192H200C213.255 192 224 181.255 224 168V129.941L279.029 184.954C294.04 199.964 320 189.445 320 167.984z" /> + <glyph glyph-name="file-word" + unicode="" + horiz-adv-x="384" d=" M224 312V448H24C10.7 448 0 437.3 0 424V-40C0 -53.3 10.7 -64 24 -64H360C373.3 -64 384 -53.3 384 -40V288H248C234.8 288 224 298.8 224 312zM281.1 192H305C312.7 192 318.4 184.9 316.7 177.3L278.7 9.3C277.5 3.8 272.6 0 267 0H229C223.5 0 218.7 3.8 217.4 9.1C191.6 112.6 196.6 90.3 191.8 119.6H191.3C190.2 105.3 188.9 102.2000000000001 165.7 9.1C164.4 3.8 159.6 0 154.1 0H117C111.4 0 106.5 3.9 105.3 9.4L67.5 177.4C65.8 184.9 71.5 192 79.2 192H103.7C109.4 192 114.4 188 115.5 182.3C131.1 104.3 135.6 72.8 136.5 60.1C138.1 70.3 143.8 92.8 165.9 182.8C167.2 188.2 172 191.9 177.6 191.9H206.7C212.3 191.9 217.1 188.1 218.4 182.7000000000001C242.4 82.3000000000001 247.2 58.7000000000001 248 53.3000000000001C247.8 64.5000000000001 245.4 71.1000000000001 269.6 182.5000000000001C270.6 188.1000000000001 275.5 192.0000000000001 281.1 192.0000000000001zM384 326.1V320H256V448H262.1C268.5 448 274.6 445.5 279.1 441L377 343C381.5 338.5 384 332.4 384 326.1z" /> + <glyph glyph-name="file" + unicode="" + horiz-adv-x="384" d=" M224 312V448H24C10.7 448 0 437.3 0 424V-40C0 -53.3 10.7 -64 24 -64H360C373.3 -64 384 -53.3 384 -40V288H248C234.8 288 224 298.8 224 312zM384 326.1V320H256V448H262.1C268.5 448 274.6 445.5 279.1 441L377 343C381.5 338.5 384 332.4 384 326.1z" /> + <glyph glyph-name="fill-drip" + unicode="" + horiz-adv-x="576" d=" M512 128S448 35.35 448 0C448 -35.35 476.66 -64 512 -64S576 -35.35 576 0S512 128 512 128zM502.63 230.94L294.94 438.63C288.69 444.88 280.5 448 272.31 448S255.93 444.88 249.69 438.63L168.11 357.05L81.93 443.24C75.68 449.49 65.55 449.49 59.31 443.24L36.69 420.62C30.45 414.37 30.45 404.24 36.69 398L122.88 311.82L28.12 217.06C-9.37 179.58 -9.37 118.8 28.12 81.31L145.31 -35.88C164.05 -54.62 188.62 -64 213.18 -64C237.75 -64 262.31 -54.63 281.05 -35.88L502.62 185.69C515.12 198.19 515.12 218.44 502.63 230.94zM386.41 159.97H65.93C67.29 163.81 69.5 167.9500000000001 73.36 171.8L86.51 184.95L168.12 266.56L226.72 207.96C239.21 195.47 259.4700000000001 195.47 271.96 207.96S284.45 240.71 271.96 253.2L213.36 311.8L272.31 370.75L434.75 208.31L386.41 159.97z" /> + <glyph glyph-name="fill" + unicode="" + horiz-adv-x="512" d=" M502.63 230.94L294.94 438.63C288.69 444.88 280.5 448 272.31 448S255.93 444.88 249.69 438.63L168.11 357.05L81.93 443.23C75.69 449.48 65.55 449.48 59.31 443.23L36.69 420.62C30.45 414.37 30.45 404.24 36.69 397.99L122.88 311.81L28.12 217.05C-9.37 179.56 -9.37 118.79 28.12 81.3L145.31 -35.89C164.06 -54.63 188.62 -64.01 213.18 -64.01C237.75 -64.01 262.31 -54.64 281.06 -35.89L502.63 185.68C515.12 198.18 515.12 218.44 502.63 230.94zM386.41 159.97H65.93C67.29 163.81 69.5 167.9500000000001 73.36 171.8L86.51 184.95L168.12 266.56L226.73 207.96C239.2200000000001 195.47 259.48 195.47 271.9700000000001 207.96C284.4600000000001 220.45 284.4600000000001 240.71 271.9700000000001 253.2L213.36 311.8L272.31 370.75L434.76 208.31L386.41 159.97z" /> + <glyph glyph-name="film" + unicode="" + horiz-adv-x="512" d=" M488 384H480V364C480 357.4 474.6 352 468 352H428C421.4 352 416 357.4 416 364V384H96V364C96 357.4 90.6 352 84 352H44C37.4 352 32 357.4 32 364V384H24C10.7 384 0 373.3 0 360V24C0 10.7 10.7 0 24 0H32V20C32 26.6 37.4 32 44 32H84C90.6 32 96 26.6 96 20V0H416V20C416 26.6 421.4 32 428 32H468C474.6 32 480 26.6 480 20V0H488C501.3 0 512 10.7 512 24V360C512 373.3 501.3 384 488 384zM96 76C96 69.4 90.6 64 84 64H44C37.4 64 32 69.4 32 76V116C32 122.6 37.4 128 44 128H84C90.6 128 96 122.6 96 116V76zM96 172C96 165.4 90.6 160 84 160H44C37.4 160 32 165.4 32 172V212C32 218.6 37.4 224 44 224H84C90.6 224 96 218.6 96 212V172zM96 268C96 261.4 90.6 256 84 256H44C37.4 256 32 261.4 32 268V308C32 314.6 37.4 320 44 320H84C90.6 320 96 314.6 96 308V268zM368 60C368 53.4 362.6 48 356 48H156C149.4 48 144 53.4 144 60V156C144 162.6 149.4 168 156 168H356C362.6 168 368 162.6 368 156V60zM368 228C368 221.4 362.6 216 356 216H156C149.4 216 144 221.4 144 228V324C144 330.6 149.4 336 156 336H356C362.6 336 368 330.6 368 324V228zM480 76C480 69.4 474.6 64 468 64H428C421.4 64 416 69.4 416 76V116C416 122.6 421.4 128 428 128H468C474.6 128 480 122.6 480 116V76zM480 172C480 165.4 474.6 160 468 160H428C421.4 160 416 165.4 416 172V212C416 218.6 421.4 224 428 224H468C474.6 224 480 218.6 480 212V172zM480 268C480 261.4 474.6 256 468 256H428C421.4 256 416 261.4 416 268V308C416 314.6 421.4 320 428 320H468C474.6 320 480 314.6 480 308V268z" /> + <glyph glyph-name="filter" + unicode="" + horiz-adv-x="512" d=" M487.976 448H24.028C2.71 448 -8.047 422.134 7.058 407.029L192 222.059V16C192 8.169 195.821 0.83 202.237 -3.662L282.237 -59.642C298.02 -70.69 320 -59.493 320 -39.98V222.059L504.947 407.029C520.021 422.104 509.338 448 487.976 448z" /> + <glyph glyph-name="fingerprint" + unicode="" + horiz-adv-x="512" d=" M256.12 202.04C242.87 202.04 232.12 191.3 232.12 178.04C233.26 105.79 223.98 36.14 204.42 -33.51C201.69 -43.2300000000001 206.57 -64 227.54 -64C238.02 -64 247.6500000000001 -57.08 250.63 -46.48C264.1600000000001 1.43 281.67 78.93 280.11 178.04C280.12 191.29 269.38 202.04 256.12 202.04zM255.26 283.77C194 283.8400000000001 151.25 236.7 152.1 182.68C152.85 134.74 148.35 86.77 138.73 40.13C136.04 27.15 144.4 14.44 157.37 11.77C170.42 9.1 183.04 17.43 185.73 30.41C196.07 80.5 200.9 131.99 200.1 183.43C199.69 209.38 220.0200000000001 235.92 254.55 235.77C285.86 235.3 311.7 210.43 312.17 180.3C312.94 132.25 309.36 83.97 301.56 36.7499999999999C299.39 23.6899999999999 308.25 11.3299999999999 321.32 9.17C341.29 5.84 348.13 24.27 348.9 28.9399999999999C357.18 78.9699999999999 360.96 130.1499999999999 360.17 181.05C359.29 236.85 312.23 282.93 255.26 283.77zM144.57 303.55C134.27 311.89 119.2 310.35 110.81 300.07C85.19 268.57 71.42 228.79 72.06 188.07C72.65 150.49 69.59 112.8 62.95 76.02C60.61 62.97 69.26 50.49 82.31 48.13C102.42 44.63 109.38 62.94 110.2 67.49C117.39 107.33 120.7 148.15 120.06 188.82C119.59 218.7 129.26 246.7 148.06 269.79C156.41 280.07 154.85 295.18 144.57 303.55zM254.04 365.88C238.63 366.29 223.17 364.44 208.26 360.91C195.37 357.85 187.39 344.93 190.43 332.02C193.49 319.13 206.43 311.19 219.32 314.19C230.37 316.8 241.79 317.9600000000001 253.32 317.88C328.75 316.75 391.05 256.38 392.2 183.3C392.79 145.42 390.92 107.1899999999999 386.62 69.67C385.12 56.4999999999999 394.57 44.59 407.73 43.09C424.4500000000001 41.14 433.24 54.97 434.31 64.2A929.06 929.06 0 0 1 440.2 184.05C438.64 282.8 355.13 364.38 254.04 365.88zM506.11 244.43C503.25 257.35 490.6 265.63 477.5 262.7C464.56 259.84 456.38 247.04 459.24 234.09C463.95 212.68 464.15 196.68 463.94 172.49C463.83 159.22 474.49 148.4 487.74 148.29H487.94C501.11 148.29 511.83 158.9 511.94 172.09C512.12 194.27 512.34 216.2 506.11 244.43zM465.99 335.15C417.29 404.54 337.6 446.71 252.81 447.98C183.02 448.82 118.47 423.09 70.46 375.06C24.09 328.63 -0.9 266.9600000000001 0.14 201.35L0.02 179.88C-0.37 166.63 10.05 155.57 23.3 155.19C23.53 155.17 23.78 155.17 24.02 155.17C36.94 155.17 47.61 165.47 47.99 178.47L48.15 202.11C47.32 254.61 67.31 303.9700000000001 104.43 341.11C143.19 379.9100000000001 195.77 400.7800000000001 252.11 399.9700000000001C321.56 398.94 386.8400000000001 364.4100000000001 426.73 307.5800000000001C434.3400000000001 296.7200000000001 449.29 294.13 460.15 301.7200000000001C470.99 309.3400000000001 473.61 324.31 465.99 335.15z" /> + <glyph glyph-name="fire-extinguisher" + unicode="" + horiz-adv-x="448" d=" M434.027 421.671L266.027 393.671C254.693 391.782 256 380.2 256 376H197.668C208.353 411.892 181.446 448 144 448C104.565 448 77.632 408.324 91.772 371.7970000000001C39.733 358.746 16.391 317.584 1.723 280.913C-3.2 268.606 2.786 254.639 15.093 249.716C27.41 244.79 41.372 250.791 46.289 263.086C75.058 335.01 106.964 328 168 328V300.924C126.457 290.062 96 251.689 96 206.795V-40C96 -53.255 106.745 -64 120 -64H264C277.255 -64 288 -53.255 288 -40V208C288 252.731 257.404 290.312 216 300.9700000000001V328H256C256 325.026 254.297 312.284 266.027 310.329L434.027 282.329C441.342 281.11 448 286.75 448 294.166V409.834C448 417.25 441.342 422.89 434.027 421.671zM144 376C135.178 376 128 383.178 128 392S135.178 408 144 408S160 400.822 160 392S152.822 376 144 376z" /> + <glyph glyph-name="fire" + unicode="" + horiz-adv-x="384" d=" M216 424.142C216 447.944 185.347 456.907 171.851 437.18C48 256.149 224 248 224 160C224 124.371 194.886 95.542 159.15 96.006C123.98 96.462 96 125.78 96 160.954V246.464C96 268.1670000000001 69.529 278.689 54.568 262.968C27.801 234.842 0 186.668 0 128C0 22.131 86.131 -64 192 -64S384 22.131 384 128C384 298.29 216 321.003 216 424.142z" /> + <glyph glyph-name="first-aid" + unicode="" + horiz-adv-x="576" d=" M0 368V16C0 -10.5 21.5 -32 48 -32H96V416H48C21.5 416 0 394.5 0 368zM128 -32H448V416H128V-32zM192 216C192 220.4 195.6 224 200 224H256V280C256 284.4 259.6 288 264 288H312C316.4 288 320 284.4 320 280V224H376C380.4 224 384 220.4 384 216V168C384 163.6 380.4 160 376 160H320V104C320 99.6 316.4 96 312 96H264C259.6 96 256 99.6 256 104V160H200C195.6 160 192 163.6 192 168V216zM528 416H480V-32H528C554.5 -32 576 -10.5 576 16V368C576 394.5 554.5 416 528 416z" /> + <glyph glyph-name="fish" + unicode="" + horiz-adv-x="576" d=" M327.1 352C237.13 352 158.56 297.23 114.83 250.37L27.5 316.42C15.37 325.6 -2.74 315.82 0.36 301.76L24.54 192L0.35 82.23C-2.75 68.17 15.36 58.4 27.49 67.57L114.82 133.62C158.55 86.77 237.13 32 327.1 32C464.56 32 576 160 576 192S464.56 352 327.1 352zM414.5300000000001 168C401.2800000000001 168 390.5300000000001 178.75 390.5300000000001 192C390.5300000000001 205.26 401.2800000000001 216 414.5300000000001 216C427.79 216 438.5300000000001 205.26 438.5300000000001 192C438.5300000000001 178.75 427.7800000000001 168 414.5300000000001 168z" /> + <glyph glyph-name="flag-checkered" + unicode="" + horiz-adv-x="512" d=" M466.515 381.072C487.731 390.926 512 375.449 512 352.056V108.956C512 98.43 506.839 88.549 498.157 82.598C462.32 58.034 423.822 41.74 375.652 41.74C308.279 41.74 264.022 76.523 210.435 76.523C159.582 76.523 124.311 66.465 96 54.401V-40C96 -53.255 85.255 -64 72 -64H56C42.745 -64 32 -53.255 32 -40V346.055C17.497 356.175 8 372.974 8 392C8 423.704 34.345 449.254 66.338 447.952C94.806 446.794 118.117 423.984 119.889 395.548C120.409 387.206 119.079 379.238 116.303 371.986C137.039 379.616 159.393 384 184.348 384C251.721 384 295.978 349.217 349.5650000000001 349.217C390.0610000000001 349.217 432.177 365.123 466.515 381.072zM96 313.37V242.88C125 253.55 147.18 260.71 169.6 263.79V335.36C146.1 333.19 129.16 325.57 96 313.37zM316.8 304.18C290.3830000000001 308.852 266.914 318.159 243.2 325.52V258.1C267.375 251.3940000000001 290.766 241.6560000000001 316.8 235.79V304.18zM169.6 263.79V193.75C202.396 196.728 223.51 194.385 243.2 189.95V258.1C217.953 265.135 196.619 267.523 169.6 263.79zM243.2 121.5600000000001C269.538 116.9080000000001 292.932 107.633 316.8 100.2200000000001V167.6300000000001C292.523 174.3760000000001 269.26 184.0800000000001 243.2 189.9500000000001V121.5600000000001zM96 105.9C119.62 114.29 143.79 119.74 169.6 122.46V193.75C143.49 191.4 122.24 185.71 96 176.39V105.9zM464 327.5C442.7 318.65 417.41 309.86 390.4 305.03V233.12C417.71 237.48 440.43 247.22 464 257.01V327.5zM464 117.54V188.03C441.81 173.83 415.2200000000001 165.42 390.4 162.01V90.43C415.47 92.81 438.89 101.47 464 117.54zM316.8 235.79V167.63C342.464 160.496 363.416 158.288 390.4 162.01V233.12C364.401 228.933 340.457 230.444 316.8 235.79z" /> + <glyph glyph-name="flag" + unicode="" + horiz-adv-x="512" d=" M349.565 349.217C295.978 349.217 251.721 384 184.348 384C159.393 384 137.039 379.616 116.303 371.987A55.947 55.947 0 0 1 119.889 395.549C118.117 423.985 94.806 446.794 66.338 447.952C34.345 449.254 8 423.704 8 392C8 372.974 17.497 356.175 32 346.055V-40C32 -53.255 42.745 -64 56 -64H72C85.255 -64 96 -53.255 96 -40V54.4C124.311 66.464 159.582 76.522 210.435 76.522C264.023 76.522 308.279 41.739 375.6520000000001 41.739C423.8210000000001 41.739 462.3190000000001 58.033 498.157 82.597C506.84 88.548 512 98.429 512 108.955V352.055C512 375.448 487.731 390.925 466.515 381.071C432.177 365.123 390.061 349.217 349.565 349.217z" /> + <glyph glyph-name="flask" + unicode="" + horiz-adv-x="448" d=" M437.2 44.5L320 233V384H328C341.3 384 352 394.7 352 408V424C352 437.3 341.3 448 328 448H120C106.7 448 96 437.3 96 424V408C96 394.7 106.7 384 120 384H128V233L10.8 44.5C-18.5 -2.6 15.3 -64 70.9 -64H377.1C432.8 -64 466.5 -2.5 437.2000000000001 44.5zM137.9 128L186.1 205.6C189.8 210.8 191.9 217.2 191.9 224V384H255.9000000000001V224C255.9000000000001 217.1 258.1 210.8 261.7000000000001 205.6L309.9000000000001 128H137.9z" /> + <glyph glyph-name="flushed" + unicode="" + horiz-adv-x="496" d=" M344 248C330.7 248 320 237.3 320 224S330.7 200 344 200S368 210.7 368 224S357.3 248 344 248zM152 248C138.7 248 128 237.3 128 224S138.7 200 152 200S176 210.7 176 224S165.3 248 152 248zM248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM80 224C80 263.8 112.2 296 152 296S224 263.8 224 224S191.8 152 152 152S80 184.2 80 224zM312 48H184C162.8 48 162.8 80 184 80H312C333.2 80 333.2 48 312 48zM344 152C304.2 152 272 184.2 272 224S304.2 296 344 296S416 263.8 416 224S383.8 152 344 152z" /> + <glyph glyph-name="folder-minus" + unicode="" + horiz-adv-x="512" d=" M464 320H272L208 384H48C21.49 384 0 362.51 0 336V48C0 21.49 21.49 0 48 0H464C490.51 0 512 21.49 512 48V272C512 298.51 490.51 320 464 320zM368 152C368 143.16 360.84 136 352 136H160C151.16 136 144 143.16 144 152V168C144 176.84 151.16 184 160 184H352C360.84 184 368 176.84 368 168V152z" /> + <glyph glyph-name="folder-open" + unicode="" + horiz-adv-x="576" d=" M572.694 155.907L500.27 31.752A63.99699999999999 63.99699999999999 0 0 0 444.989 0H45.025C26.502 0 14.961 20.093 24.294 36.093L96.718 160.2480000000001A64 64 0 0 0 152 192H551.9639999999999C570.487 192 582.0279999999999 171.907 572.694 155.907zM152 224H480V272C480 298.51 458.51 320 432 320H272L208 384H48C21.49 384 0 362.51 0 336V57.954L69.077 176.372C86.214 205.75 117.989 224 152 224z" /> + <glyph glyph-name="folder-plus" + unicode="" + horiz-adv-x="512" d=" M464 320H272L208 384H48C21.49 384 0 362.51 0 336V48C0 21.49 21.49 0 48 0H464C490.51 0 512 21.49 512 48V272C512 298.51 490.51 320 464 320zM368 152C368 143.16 360.84 136 352 136H280V64C280 55.16 272.84 48 264 48H248C239.16 48 232 55.16 232 64V136H160C151.16 136 144 143.16 144 152V168C144 176.84 151.16 184 160 184H232V256C232 264.8400000000001 239.16 272 248 272H264C272.84 272 280 264.8400000000001 280 256V184H352C360.84 184 368 176.84 368 168V152z" /> + <glyph glyph-name="folder" + unicode="" + horiz-adv-x="512" d=" M464 320H272L208 384H48C21.49 384 0 362.51 0 336V48C0 21.49 21.49 0 48 0H464C490.51 0 512 21.49 512 48V272C512 298.51 490.51 320 464 320z" /> + <glyph glyph-name="font" + unicode="" + horiz-adv-x="448" d=" M152 32H127.987L154.573 112.782H292.8L319.386 32H296C287.163 32 280 24.837 280 16V-16C280 -24.837 287.163 -32 296 -32H432C440.837 -32 448 -24.837 448 -16V16C448 24.837 440.837 32 432 32H405.261L275.495 405.254A16 16 0 0 1 260.382 416H187.616A16 16 0 0 1 172.503 405.254L42.739 32H16C7.163 32 0 24.837 0 16V-16C0 -24.837 7.163 -32 16 -32H152C160.837 -32 168 -24.837 168 -16V16C168 24.837 160.837 32 152 32zM216.353 303.778C220.701 318.9940000000001 222.963 331.9340000000001 223.939 338.4220000000001C224.778 331.901 226.878 318.9460000000001 231.6660000000001 303.716L273.0010000000001 179.71H174.382L216.353 303.778z" /> + <glyph glyph-name="football-ball" + unicode="" + horiz-adv-x="496" d=" M481.5 387.7C476.7 405.9 462.4 420.2 444.2 425.1C420.3 431.5 383 439.1 339.4 440L496 283.2C495.2 326.7 487.8 363.8 481.5 387.7zM14.5 -3.7C19.3 -21.9 33.6 -36.2 51.8 -41.1C75.7 -47.4999999999999 113 -55.1 156.6 -55.9999999999999L0 100.8C0.8 57.3 8.2 20.2 14.5 -3.7zM4.2 164.6L220.4 -52C352.9 -32.6 469.2 66.7 491.9 219.4L275.6 436C143.1 416.6 26.8 317.3 4.2 164.6zM321.5 288.2000000000001C324.6 291.3 329.7 291.3 332.8 288.2000000000001L344.1 276.9C347.2000000000001 273.8 347.2000000000001 268.7000000000001 344.1 265.6L315.8 237.3L344.1 209C347.2000000000001 205.9 347.2000000000001 200.8 344.1 197.7L332.8 186.4C329.7 183.3 324.6 183.3 321.5 186.4L293.2 214.7L270.6 192L298.9 163.7C302 160.6 302 155.5 298.9 152.4L287.6 141.1C284.5 138 279.4 138 276.3 141.1L248 169.4L225.4 146.8L253.7 118.5C256.8 115.3999999999999 256.8 110.3 253.7 107.1999999999999L242.4 95.8999999999999C239.3 92.7999999999999 234.2 92.7999999999999 231.1 95.8999999999999L202.8 124.1999999999999L174.5 95.8999999999999C171.4 92.7999999999999 166.3 92.7999999999999 163.2 95.8999999999999L151.9 107.1999999999999C148.8 110.3 148.8 115.3999999999999 151.9 118.5L180.2 146.8L151.9 175C148.8 178.1 148.8 183.1999999999999 151.9 186.3L163.2 197.6C166.3 200.7 171.4 200.7 174.5 197.6L202.8 169.3L225.4 191.9L197.1 220.2C194 223.3 194 228.4 197.1 231.5L208.4 242.8C211.5 245.9 216.6 245.9 219.7 242.8L248 214.5L270.6 237.1L242.3 265.4C239.2 268.5 239.2 273.6 242.3 276.7000000000001L253.6 288C256.7000000000001 291.1 261.8 291.1 264.9000000000001 288L293.2000000000001 259.7000000000001L321.5000000000001 288.2000000000001z" /> + <glyph glyph-name="forward" + unicode="" + horiz-adv-x="512" d=" M500.5 216.6L308.5 376.6C287.9 393.7 256 379.4 256 352V32C256 4.6 287.9 -9.8 308.5 7.4L500.5 167.4C515.8 180.2 515.8 203.8 500.5 216.6zM244.5 216.6L52.5 376.6C31.9 393.7 0 379.4 0 352V32C0 4.6 31.9 -9.8 52.5 7.4L244.5 167.4C259.8 180.2 259.8 203.8 244.5 216.6z" /> + <glyph glyph-name="frog" + unicode="" + horiz-adv-x="576" d=" M446.53 350.57C439.67 387.77 407.19 416 368 416C328.77 416 296.28 387.71 289.46 350.46C126.75 335.04 -0.5 197.88 0 31.02C0.11 -3.9 29.08 -32 64 -32H368C376.84 -32 384 -24.84 384 -16C384 1.67 369.67 16 352 16H272.51L308.31 64.33C332.45 100.56 318.6600000000001 152.61 274.6 170.93C250.7100000000001 180.86 223.05 175.5799999999999 202.36 160.05L169.6 135.46C162.54 130.15 152.51 131.55 147.19 138.65C141.89 145.73 143.31 155.76 150.38 161.06L185.16 187.15C222 214.81 273.4400000000001 214.77 310.29 187.15C321.1600000000001 179 356.1600000000001 148.09 351.0900000000001 93.94L469.62 -32H560C568.84 -32 576 -24.84 576 -16C576 1.67 561.67 16 544 16H490.37L391.85 120.68L546.29 207.33A58.15999999999999 58.15999999999999 0 0 1 576 258.06C576 279.4600000000001 564.28 299.01 545.52 309.29C504.96 331.51 446.53 350.57 446.53 350.57zM368 312C354.74 312 344 322.75 344 336C344 349.26 354.74 360 368 360C381.25 360 392 349.26 392 336C392 322.75 381.25 312 368 312z" /> + <glyph glyph-name="frown-open" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM136 240C136 257.7 150.3 272 168 272S200 257.7 200 240S185.7 208 168 208S136 222.3 136 240zM323.3 56.7C292.1 66.3 263.9000000000001 72 248 72S203.9 66.3 172.7 56.7C161.2 53.2 150.2 63 152.2 74.8C159.2 114.8 212.3 136 248 136S336.8 114.7 343.8 74.8C345.8 62.9 334.7 53.2 323.3 56.7zM328 208C310.3 208 296 222.3 296 240S310.3 272 328 272S360 257.7 360 240S345.7 208 328 208z" /> + <glyph glyph-name="frown" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM328 272C345.7 272 360 257.7 360 240S345.7 208 328 208S296 222.3 296 240S310.3 272 328 272zM168 272C185.7 272 200 257.7 200 240S185.7 208 168 208S136 222.3 136 240S150.3 272 168 272zM338.2 53.8C315.8 80.6 282.9 96 248 96S180.2 80.6 157.8 53.8C144.3 37.5 119.7 58 133.2 74.3C161.7 108.4 203.6 128 248 128S334.3 108.4 362.7 74.2C376.3 58 351.7 37.5 338.2 53.8z" /> + <glyph glyph-name="funnel-dollar" + unicode="" + horiz-adv-x="640" d=" M433.46 282.06L534.66 393.93C554.61 413.88 540.48 448 512.26 448H31.74C3.52 448 -10.61 413.88 9.34 393.93L192 192V36.08C192 23.4900000000001 197.93 11.64 208 4.08L287.99 -55.92C308.85 -71.5599999999999 336.4600000000001 -62.89 347.2100000000001 -42.35C310.8 -7.38 288 41.65 288 96C288 185.79 350.05 261.17 433.4600000000001 282.06zM480 256C391.63 256 320 184.37 320 96S391.63 -64 480 -64S640 7.63 640 96S568.37 256 480 256zM496 16.12V0C496 -4.42 492.42 -8 488 -8H472C467.58 -8 464 -4.42 464 0V16.29C452.71 16.87 441.73 20.81 432.63 27.64C428.73 30.5700000000001 428.53 36.41 432.06 39.78L443.81 50.99C446.58 53.63 450.7 53.75 453.94 51.72C457.81 49.3 462.2 48 466.76 48H494.87C501.37 48 506.67 53.92 506.67 61.19C506.67 67.14 503.06 72.38 497.9 73.92L452.9 87.42C434.3100000000001 93 421.3200000000001 110.84 421.3200000000001 130.81C421.3200000000001 155.33 440.3700000000001 175.25 463.9900000000001 175.88V192C463.9900000000001 196.42 467.5700000000001 200 471.9900000000001 200H487.9900000000001C492.4100000000001 200 495.9900000000001 196.42 495.9900000000001 192V175.71C507.2800000000001 175.13 518.2600000000001 171.2 527.36 164.36C531.26 161.43 531.46 155.59 527.9300000000001 152.22L516.1800000000001 141.01C513.4100000000001 138.37 509.2900000000001 138.25 506.0500000000001 140.28C502.1800000000001 142.71 497.7900000000001 144 493.2300000000001 144H465.1200000000001C458.6200000000001 144 453.3200000000001 138.08 453.3200000000001 130.81C453.3200000000001 124.86 456.9300000000001 119.62 462.09 118.08L507.09 104.58C525.6800000000001 99 538.6700000000001 81.16 538.6700000000001 61.19C538.6700000000001 36.66 519.6300000000001 16.75 496.0000000000001 16.12z" /> + <glyph glyph-name="futbol" + unicode="" + horiz-adv-x="512" d=" M504 192C504 55.033 392.967 -56 256 -56S8 55.033 8 192S119.033 440 256 440S504 328.967 504 192zM456 192L455.997 192.282L429.933 169.541L367.254 228.041L383.7080000000001 312.396L418.011 309.324C393.122 343.54 358.007 369.413 317.302 382.4650000000001L330.9530000000001 350.526L256 309L181.047 350.525L194.698 382.464C154.067 369.436 118.918 343.594 93.989 309.323L128.554 312.396L144.746 228.041L82.068 169.541L56.004 192.282L56.001 192C56.001 148.985 69.498 108.048 94.473 74.009L102.177 107.906L187.315 97.459L223.616 19.633L193.714 1.847C233.916 -11.275 278.004 -11.301 318.286 1.847L288.384 19.633L324.685 97.4590000000001L409.823 107.9060000000001L417.527 74.0090000000001C442.503 108.048 456 148.985 456 192zM207.898 122.429L178.004 213.741L256 270.2680000000001L333.996 213.741L304.374 122.429H207.898z" /> + <glyph glyph-name="gamepad" + unicode="" + horiz-adv-x="640" d=" M480 352H160C71.6 352 0 280.4 0 192S71.6 32 160 32C204.8 32 245.2 50.4 274.2 80H365.7C394.7 50.4 435.2 32 479.9 32C568.3 32 639.9 103.6 639.9 192S568.4 352 480 352zM256 172C256 165.4 250.6 160 244 160H192V108C192 101.4 186.6 96 180 96H140C133.4 96 128 101.4 128 108V160H76C69.4 160 64 165.4 64 172V212C64 218.6 69.4 224 76 224H128V276C128 282.6 133.4 288 140 288H180C186.6 288 192 282.6 192 276V224H244C250.6 224 256 218.6 256 212V172zM440 104C413.5 104 392 125.5 392 152S413.5 200 440 200S488 178.5 488 152S466.5 104 440 104zM520 184C493.5 184 472 205.5 472 232S493.5 280 520 280S568 258.5 568 232S546.5 184 520 184z" /> + <glyph glyph-name="gas-pump" + unicode="" + horiz-adv-x="512" d=" M336 0H16C7.2 0 0 -7.2 0 -16V-48C0 -56.8 7.2 -64 16 -64H336C344.8 -64 352 -56.8 352 -48V-16C352 -7.2 344.8 0 336 0zM493.2 340.7L412.2 421.7C406 427.9 395.8 427.9 389.6 421.7L378.3 410.4C372.1 404.2 372.1 394 378.3 387.8L416 350.1V288C416 259.9 436.9 236.7 464 232.8V72C464 58.8 453.2 48 440 48S416 58.8 416 72V104C416 152.6 376.6 192 328 192H320V384C320 419.3 291.3 448 256 448H96C60.7 448 32 419.3 32 384V32H320V144H328C350.1 144 368 126.1 368 104V76.2C368 38.5 395 4.2 432.5 0.3C475.5 -4.0000000000001 512 29.8 512 71.9999999999999V295.4C512 312.4 505.2 328.7 493.2 340.7zM256 256H96V384H256V256z" /> + <glyph glyph-name="gavel" + unicode="" + horiz-adv-x="512" d=" M504.971 248.638L482.344 271.265C472.971 280.6380000000001 457.775 280.6380000000001 448.403 271.265L442.7460000000001 265.608L329.608 378.745L335.265 384.402C344.638 393.775 344.638 408.971 335.265 418.343L312.638 440.971C303.265 450.344 288.069 450.344 278.697 440.971L154.246 316.52C144.873 307.1470000000001 144.873 291.951 154.246 282.579L176.873 259.952C186.246 250.579 201.442 250.579 210.814 259.952L216.471 265.6090000000001L256.069 226.011L175.029 144.971L169.372 150.628C156.875 163.125 136.614 163.125 124.117 150.628L9.373 35.882C-3.124 23.385 -3.124 3.124 9.373 -9.373L54.628 -54.628C67.125 -67.125 87.386 -67.125 99.883 -54.628L214.628 60.117C227.125 72.614 227.125 92.875 214.628 105.372L208.971 111.029L290.011 192.069L329.6090000000001 152.471L323.9520000000001 146.814C314.5790000000001 137.441 314.5790000000001 122.245 323.9520000000001 112.8730000000001L346.5790000000001 90.246C355.9520000000001 80.8730000000001 371.1480000000001 80.8730000000001 380.5200000000001 90.246L504.9710000000001 214.697C514.3430000000001 224.069 514.3430000000001 239.2650000000001 504.9710000000001 248.6380000000001z" /> + <glyph glyph-name="gem" + unicode="" + horiz-adv-x="576" d=" M485.5 448L576 288H474.9L405.7 448H485.5zM357.5 448L426.7 288H149.3L218.5 448H357.5zM90.5 448H170.3L101.1 288H0L90.5 448zM0 256H100.7L223.7 4.3C225.2 1.2 221 -1.6 218.7 1L0 256zM148.2 256H427.8L290.8 -62.2C289.8 -64.6 286.3 -64.6 285.3 -62.2L148.2 256zM352.3 4.3L475.3 256H576L357.3 1.1C355 -1.6 350.8 1.2 352.3 4.3z" /> + <glyph glyph-name="genderless" + unicode="" + horiz-adv-x="288" d=" M144 272C188.1 272 224 236.1 224 192S188.1 112 144 112S64 147.9 64 192S99.9 272 144 272M144 336C64.5 336 0 271.5 0 192S64.5 48 144 48S288 112.5 288 192S223.5 336 144 336z" /> + <glyph glyph-name="gift" + unicode="" + horiz-adv-x="512" d=" M32 0C32 -17.7 46.3 -32 64 -32H224V128H32V0zM480 288H437.9C444.1 300.1 448 313.5 448 328C448 376.5 408.5 416 360 416C318.4 416 291.5 394.7 257 347.7C222.5 394.7 195.6 416 154 416C105.5 416 66 376.5 66 328C66 313.5 69.8 300.1 76.1 288H32C14.3 288 0 273.7 0 256V176C0 167.2 7.2 160 16 160H496C504.8 160 512 167.2 512 176V256C512 273.7 497.7 288 480 288zM153.9 288C131.8 288 113.9 305.9 113.9 328S131.8 368 153.9 368C173.8 368 188.5 364.7 240 288H153.9zM360 288H273.9C325.3 364.5 339.6 368 360 368C382.1 368 400 350.1 400 328S382.1 288 360 288zM288 -32H448C465.7 -32 480 -17.7 480 0V128H288V-32z" /> + <glyph glyph-name="glass-martini-alt" + unicode="" + horiz-adv-x="512" d=" M502.05 390.4C523.3 411.66 508.25 448 478.2 448H33.8C3.75 448 -11.3 411.66 9.95 390.4L224 176.36V-16H168C145.91 -16 128 -33.91 128 -56C128 -60.42 131.58 -64 136 -64H376C380.42 -64 384 -60.42 384 -56C384 -33.91 366.09 -16 344 -16H288V176.36L502.05 390.4zM443.77 400L395.77 352H116.24L68.24 400H443.77z" /> + <glyph glyph-name="glass-martini" + unicode="" + horiz-adv-x="512" d=" M502.05 390.4C523.3 411.66 508.25 448 478.2 448H33.8C3.75 448 -11.3 411.66 9.95 390.4L224 176.36V-16H168C145.91 -16 128 -33.91 128 -56C128 -60.42 131.58 -64 136 -64H376C380.42 -64 384 -60.42 384 -56C384 -33.91 366.09 -16 344 -16H288V176.36L502.05 390.4z" /> + <glyph glyph-name="glasses" + unicode="" + horiz-adv-x="576" d=" M574.1 167.63L528.75 349.3400000000001C522.84 373.04 507.16 393.39 485.75 405.15C464.31 416.88 438.78 419.26 415.56 411.48L400.31 406.4C391.92 403.61 387.39 394.54 390.19 386.1600000000001L395.25 370.98C398.04 362.6 407.1 358.0700000000001 415.48 360.86L428.6600000000001 365.25C439.5300000000001 368.87 451.66 368.82 461.8200000000001 363.52C472.1100000000001 358.15 479.39 348.9600000000001 482.1900000000001 337.7000000000001L520.6500000000001 183.88C498.4600000000001 190.69 470.8600000000001 196.34 439.4500000000001 196.34C404.6800000000001 196.34 365.4700000000001 189.32 324.6000000000002 169.6H251.4200000000002C210.5500000000001 189.34 171.3400000000002 196.35 136.5600000000001 196.35C105.1400000000001 196.35 77.5400000000001 190.7000000000001 55.3500000000001 183.8900000000001L93.8100000000001 337.7200000000001C96.6000000000001 348.9700000000001 103.9000000000001 358.1700000000001 114.1900000000001 363.5300000000001C124.3500000000001 368.8300000000001 136.4700000000001 368.8800000000001 147.3400000000001 365.2600000000001L160.5100000000001 360.8700000000001C168.8900000000001 358.0800000000001 177.9500000000001 362.6100000000001 180.7400000000001 370.9900000000001L185.8000000000001 386.1700000000001C188.6000000000001 394.5500000000001 184.0700000000001 403.6200000000001 175.6800000000001 406.4100000000001L160.4300000000001 411.4900000000001C137.2100000000001 419.2700000000001 111.6800000000001 416.9000000000001 90.2400000000001 405.1600000000001C68.8300000000001 393.3900000000001 53.1500000000001 373.0500000000001 47.2400000000001 349.3600000000001L1.9 167.63A64.218 64.218 0 0 1 0 152.14V81.89C0 18.99 51.58 -32 115.2 -32H152.32C212.6 -32 262.69 13.94 267.2 73.37L270.13 112H305.88L308.81 73.37C313.31 13.94 363.4 -32 423.68 -32H460.8C524.42 -32 576 18.99 576 81.88V152.13C576 157.36 575.36 162.56 574.1 167.63zM203.38 78.21C201.41 52.3 178.98 32 152.32 32H115.2C86.97 32 64 54.38 64 81.89V119.43C82.12 125.92 107.42 132.35 136.58 132.35C160.44 132.35 183.84 128.0200000000001 206.51 119.43L203.38 78.21zM512 81.88C512 54.37 489.03 32 460.8 32H423.68C397.01 32 374.58 52.3 372.62 78.21L369.49 119.43C392.1600000000001 128.0199999999999 415.57 132.35 439.44 132.35C468.56 132.35 493.87 125.91 511.99 119.42V81.8799999999999z" /> + <glyph glyph-name="globe-africa" + unicode="" + horiz-adv-x="496" d=" M248 440C111.03 440 0 328.9700000000001 0 192S111.03 -56 248 -56S496 55.03 496 192S384.9700000000001 440 248 440zM408 224.5V217.57C408 211.7 404.68 206.33 399.43 203.71L384.04 196.01A15.485 15.485 0 0 0 368.5100000000001 196.98L350.3000000000001 209.12A15.519999999999998 15.519999999999998 0 0 1 336.8000000000001 210.93L334.1500000000001 210.05C324.4500000000001 206.82 320.4900000000001 195.26 326.1600000000001 186.75L339.4000000000001 166.89C342.2700000000001 162.58 347.1100000000001 159.99 352.2900000000001 159.99H360.5000000000001C369.0600000000001 159.99 376.0000000000001 153.05 376.0000000000001 144.49V133.15C376.0000000000001 129.8 374.9100000000001 126.53 372.9000000000001 123.85L354.1600000000001 98.87C352.74 96.97 351.7700000000001 94.77 351.3300000000001 92.44L347.0300000000001 69.61C346.4100000000001 66.32 344.74 63.32 342.2700000000001 61.05A159.60800000000003 159.60800000000003 0 0 1 317.2700000000001 31.89L304.2400000000001 12.34A27.756 27.756 0 0 0 281.1500000000001 -0.02C270.6400000000001 -0.02 261.0300000000001 5.92 256.3300000000001 15.3199999999999A78.902 78.902 0 0 0 248.0000000000001 50.61V80.5C248.0000000000001 89.06 241.0600000000001 96 232.5000000000001 96H206.6200000000001C192.1300000000001 96 178.2400000000001 101.76 167.9900000000001 112A54.65899999999999 54.65899999999999 0 0 0 151.9900000000001 150.63V164.69C151.9900000000001 181.88 160.0900000000001 198.07 173.8400000000001 208.39L201.4200000000001 229.08A54.663 54.663 0 0 0 234.2000000000001 240.01H235.0900000000001C243.5700000000001 240.01 251.9400000000001 238.04 259.5200000000001 234.24L274.2400000000001 226.88C277.9200000000001 225.04 282.1700000000001 224.74 286.0700000000001 226.04L333.3800000000001 241.81C339.7100000000001 243.92 343.9800000000001 249.84 343.9800000000001 256.51C343.9800000000001 265.07 337.0400000000001 272.01 328.4800000000001 272.01H318.3900000000001C314.2800000000001 272.01 310.3400000000001 273.64 307.4300000000001 276.55L300.5100000000001 283.4699999999999A15.493 15.493 0 0 1 289.5500000000002 288.01H199.5C190.94 288.01 184 294.95 184 303.51V307.91C184 315.02 188.84 321.2199999999999 195.74 322.95L210.19 326.56C213.93 327.5 217.19 329.79 219.33 333L227.41 345.1099999999999C230.28 349.42 235.12 352.01 240.3 352.01H264.51C273.07 352.01 280.01 358.95 280.01 367.51V389.2099999999999C359.23 376.37 422.86 316.98 441.93 240H423.5C414.94 240 408 233.06 408 224.5z" /> + <glyph glyph-name="globe-americas" + unicode="" + horiz-adv-x="496" d=" M248 440C111.03 440 0 328.9700000000001 0 192S111.03 -56 248 -56S496 55.03 496 192S384.9700000000001 440 248 440zM330.29 82.4C326.3900000000001 78.52 322.3 74.45 318.98 71.12C315.99 68.12 313.88 64.42 312.81 60.41C311.3 54.75 310.08 49.03 308.04 43.54L290.6500000000001 -3.31C276.8900000000001 -6.31 262.6500000000001 -8 248.0000000000001 -8V19.38C249.6900000000001 32 240.3600000000001 55.64 225.3700000000001 70.63C219.37 76.63 216 84.77 216 93.26V125.27C216 136.91 209.73 147.61 199.54 153.24C185.17 161.19 164.73 172.3 150.73 179.35C139.25 185.13 128.63 192.49 119.08 201.1L118.28 201.82A114.792 114.792 0 0 0 100.22 222.56C90.84 236.3300000000001 75.56 258.98 65.63 273.7000000000001C86.1 319.2000000000001 122.99 355.7400000000001 168.83 375.5900000000001L192.84 363.5800000000001C203.48 358.26 216 365.99 216 377.89V389.19C223.99 390.48 232.12 391.3 240.39 391.61L268.69 363.31C274.94 357.06 274.94 346.93 268.69 340.68L264 336L253.66 325.66C250.54 322.54 250.54 317.4700000000001 253.66 314.35L258.35 309.66C261.4700000000001 306.54 261.4700000000001 301.4700000000001 258.35 298.35L250.35 290.35A8.008 8.008 0 0 0 244.6900000000001 288.01H235.7C233.62 288.01 231.62 287.2 230.12 285.74L220.2 276.09A8.008 8.008 0 0 1 218.62 266.78L234.21 235.59C236.87 230.27 233 224.01 227.06 224.01H221.42C219.49 224.01 217.63 224.71 216.18 225.97L206.9 234.03A16.017 16.017 0 0 1 191.35 237.13L160.18 226.74A11.95 11.95 0 0 1 152.01 215.4C152.01 210.87 154.57 206.74 158.62 204.71L169.7000000000001 199.17C179.1100000000001 194.46 189.4900000000001 192.01 200.0100000000001 192.01S222.6000000000001 164.72 232.0100000000001 160.01H298.7600000000001C307.2500000000001 160.01 315.3800000000001 156.64 321.3900000000001 150.64L335.0800000000001 136.95A30.503000000000004 30.503000000000004 0 0 0 344.0100000000001 115.38A46.536 46.536 0 0 0 330.29 82.4zM417 173.75C411.21 175.2 406.1600000000001 178.75 402.85 183.72L384.87 210.69A23.97 23.97 0 0 0 384.87 237.3100000000001L404.46 266.6900000000001C406.78 270.1600000000001 409.96 272.98 413.7 274.8400000000001L426.68 281.3300000000001C440.2 254.41 448 224.13 448 192C448 183.33 447.26 174.84 446.18 166.46L417 173.75z" /> + <glyph glyph-name="globe-asia" + unicode="" + horiz-adv-x="496" d=" M248 440C111.03 440 0 328.9700000000001 0 192S111.03 -56 248 -56S496 55.03 496 192S384.9700000000001 440 248 440zM236.66 199.77C233.77 194.95 228.56 192 222.94 192H222.63C218.39 192 214.32 190.31 211.32 187.31L205.66 181.65C202.54 178.53 202.54 173.46 205.66 170.34L211.32 164.68C214.32 161.68 216.01 157.61 216.01 153.37V144C216.01 135.16 208.85 128 200.01 128H193.9C187.84 128 182.3 131.42 179.59 136.85L156.97 182.0800000000001C154.53 186.96 148.02 188.0200000000001 144.16 184.16L124.69 164.7000000000001C121.69 161.7000000000001 117.62 160.0100000000001 113.38 160.0100000000001H50.81C49.12 170.45 48 181.08 48 192C48 302.28 137.72 392 248 392C269.51 392 290.2 388.49 309.63 382.18L259.4700000000001 343.65C254.36 340.24 254.8400000000001 332.5900000000001 260.3300000000001 329.8400000000001L271.1600000000001 324.43C276.5800000000001 321.7200000000001 280 316.18 280 310.12V232C280 227.58 276.42 224 272 224H268.94C265.9100000000001 224 263.14 225.71 261.79 228.42C260.23 231.54 255.83 231.71 254.0300000000001 228.72L236.6600000000001 199.77zM408 89.57C408 85.33 406.31 81.26 403.31 78.26L393.74 68.69C390.74 65.69 386.67 64 382.43 64H367.27C363.03 64 358.96 65.69 355.96 68.69L342.95 81.7A26.767 26.767 0 0 1 317.53 88.74L296.26 83.42C294.99 83.1 293.69 82.94 292.38 82.94H282.04C277.8 82.94 273.73 84.63 270.73 87.63L258.82 99.54A8.008 8.008 0 0 0 256.48 105.2000000000001V115.4C256.48 118.67 258.4700000000001 121.61 261.51 122.8300000000001L300.85 138.5700000000001C302.8300000000001 139.3600000000001 304.7100000000001 140.3900000000001 306.44 141.6200000000001L330.15 158.5100000000001A7.978 7.978 0 0 0 334.79 159.9900000000001H346.88C350.11 159.9900000000001 353.0299999999999 158.0500000000001 354.2699999999999 155.0600000000001L359.62 142.21A4 4 0 0 1 363.31 139.7500000000001H367.11C368.89 139.7500000000001 370.46 140.9300000000001 370.95 142.6300000000001L375.1499999999999 157.1000000000001C375.6499999999999 158.8100000000001 377.2099999999999 159.9800000000001 378.9899999999999 159.9800000000001H385.0499999999999C387.2599999999999 159.9800000000001 389.0499999999999 158.1900000000001 389.0499999999999 155.9800000000001V143.0500000000001C389.0499999999999 140.9300000000001 389.8899999999999 138.8900000000001 391.3899999999999 137.3900000000001L403.2999999999999 125.48C406.2999999999999 122.48 407.9899999999999 118.41 407.9899999999999 114.17V89.57z" /> + <glyph glyph-name="globe" + unicode="" + horiz-adv-x="496" d=" M336.5 288C322 377.3 287.8 440 248 440S174 377.3 159.5 288H336.5zM152 192C152 169.8 153.2 148.5 155.3 128H340.6C342.7000000000001 148.5 343.9000000000001 169.8 343.9000000000001 192S342.7000000000001 235.5 340.6 256H155.3C153.2 235.5 152 214.2 152 192zM476.7 288C448.1 355.9 390.2 408.4 318.7 429.6C343.1 395.8 359.9 344.9 368.7 288H476.7zM177.2 429.6C105.8 408.4 47.8 355.9 19.3 288H127.3C136 344.9 152.8 395.8 177.2 429.6zM487.4 256H372.7C374.8 235 376 213.5 376 192S374.8 149 372.7 128H487.3C492.8 148.5 495.9 169.8 495.9 192S492.8 235.5 487.4 256zM120 192C120 213.5 121.2 235 123.3 256H8.6C3.2 235.5 0 214.2 0 192S3.2 148.5 8.6 128H123.2C121.2 149 120 170.5 120 192zM159.5 96C174 6.7 208.2 -56 248 -56S322 6.7 336.5 96H159.5zM318.8 -45.6C390.2000000000001 -24.4 448.2000000000001 28.1 476.8 96H368.8C360 39.1 343.2 -11.8 318.8 -45.6zM19.3 96C47.9 28.1 105.8 -24.4 177.3 -45.6C152.9 -11.8 136.1 39.1 127.3 96H19.3z" /> + <glyph glyph-name="golf-ball" + unicode="" + horiz-adv-x="416" d=" M96 32H320C320 14.3 305.7 0 288 0H272C254.3 0 240 -14.3 240 -32V-52C240 -58.6 234.6 -64 228 -64H188C181.4 -64 176 -58.6 176 -52V-32C176 -14.3 161.7 0 144 0H128C110.3 0 96 14.3 96 32zM416 240C416 165.8 377 100.8 318.5 64H97.5C39 100.8 0 165.8 0 240C0 354.9 93.1 448 208 448S416 354.9 416 240zM235.9 196.1C254.2 196.1 269 210.9 269 229.2C269 243.6 259.7 255.5 246.9 260.1C256.5 233.3 231.3 208.8 205 218.2C209.6 205.4 221.5 196.1 235.9 196.1zM285 149.2C285 163.6 275.7 175.5 262.9 180.1C272.5 153.3 247.3 128.8 221 138.2C225.6 125.4 237.5 116.1 251.9 116.1C270.2 116.1 285 131 285 149.2zM349 213.2C349 227.6 339.7 239.5 326.9 244.1C336.5 217.3 311.3 192.8 285 202.2C289.6 189.4 301.5 180.1 315.9 180.1C334.2 180.1 349 195 349 213.2z" /> + <glyph glyph-name="gopuram" + unicode="" + horiz-adv-x="512" d=" M496 96H480V208C480 216.84 472.84 224 464 224H448V304C448 312.8400000000001 440.84 320 432 320H416V432C416 440.84 408.84 448 400 448S384 440.84 384 432V416H320V432C320 440.84 312.84 448 304 448S288 440.84 288 432V416H224V432C224 440.84 216.84 448 208 448S192 440.84 192 432V416H128V432C128 440.84 120.84 448 112 448S96 440.84 96 432V320H80C71.16 320 64 312.8400000000001 64 304V224H48C39.16 224 32 216.84 32 208V96H16C7.16 96 0 88.84 0 80V-48C0 -56.84 7.16 -64 16 -64H96V96H128V224H160V320H192V224H160V96H128V-64H208V16C208 24.84 215.16 32 224 32H288C296.84 32 304 24.84 304 16V-64H384V96H352V224H320V320H352V224H384V96H416V-64H496C504.84 -64 512 -56.84 512 -48V80C512 88.84 504.84 96 496 96zM224 96V160C224 168.84 231.16 176 240 176H272C280.84 176 288 168.84 288 160V96H224zM232 224V272C232 280.8400000000001 239.16 288 248 288H264C272.84 288 280 280.8400000000001 280 272V224H232z" /> + <glyph glyph-name="graduation-cap" + unicode="" + horiz-adv-x="640" d=" M622.34 294.8L343.4 380.5C328.2 385.17 311.8 385.17 296.61 380.5L17.66 294.8C-5.88 287.5700000000001 -5.88 256.44 17.66 249.21L66.29 234.27C55.62 221.08 49.06 204.99 48.41 187.37C38.78 181.85 32 171.89 32 160C32 149.22 37.68 140.15 45.86 134.35L20.33 19.47C18.11 9.48 25.71 0 35.94 0H92.05C102.29 0 109.89 9.48 107.67 19.47L82.14 134.35C90.32 140.15 96 149.22 96 160C96 171.57 89.53 181.25 80.34 186.87C81.1 201.89 88.78 215.17 101.03 223.59L296.6 163.5C305.6600000000001 160.72 323.04 157.25 343.3900000000001 163.5L622.34 249.2C645.89 256.44 645.89 287.56 622.34 294.8zM352.79 132.91C324.26 124.15 299.9500000000001 128.99 287.2000000000001 132.91L142.18 177.46L128 64C128 28.65 213.96 0 320 0S512 28.65 512 64L497.82 177.47L352.79 132.91z" /> + <glyph glyph-name="greater-than-equal" + unicode="" + horiz-adv-x="448" d=" M55.22 340.31L230.78 272.2200000000001L55.34 204.17C36.95 198.14 27.46 179.78 34.14 163.17L46.23 133.09C52.91 116.48 73.22 107.9 91.61 113.9400000000001L393.02 233.8C406.79 238.32 416 250.4100000000001 416 263.9700000000001V279.9300000000001C416 293.49 406.79 305.5800000000001 393.02 310.1L91.3 430.08C73.01 436.08 52.79 427.55 46.15 411.02L34.12 381.1C27.48 364.57 36.93 346.31 55.22 340.31zM424 48H24C10.75 48 0 37.26 0 24V-24C0 -37.25 10.75 -48 24 -48H424C437.25 -48 448 -37.25 448 -24V24C448 37.26 437.25 48 424 48z" /> + <glyph glyph-name="greater-than" + unicode="" + horiz-adv-x="384" d=" M365.52 238.15L59.22 380.99C43.16 388.48 24.07 381.53 16.58 365.4700000000001L3.01 336.39C-4.48 320.33 2.47 301.24 18.53 293.75L236.96 191.9L18.49 90.01C2.47 82.54 -4.46 63.5 3.01 47.48L16.53 18.48C24 2.46 43.04 -4.47 59.06 3L365.5300000000001 145.91A32.003 32.003 0 0 1 384.0100000000001 174.91V209.14C384.0000000000001 221.59 376.8000000000001 232.9 365.5200000000001 238.15z" /> + <glyph glyph-name="grimace" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM144 48H136C118.3 48 104 62.3 104 80V88H144V48zM144 104H104V112C104 129.7 118.3 144 136 144H144V104zM136 240C136 257.7 150.3 272 168 272S200 257.7 200 240S185.7 208 168 208S136 222.3 136 240zM208 48H160V88H208V48zM208 104H160V144H208V104zM272 48H224V88H272V48zM272 104H224V144H272V104zM336 48H288V88H336V48zM336 104H288V144H336V104zM328 208C310.3 208 296 222.3 296 240S310.3 272 328 272S360 257.7 360 240S345.7 208 328 208zM392 80C392 62.3 377.7 48 360 48H352V88H392V80zM392 104H352V144H360C377.7 144 392 129.7 392 112V104z" /> + <glyph glyph-name="grin-alt" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM311.7 311.3C319.3 322.7000000000001 336.4 323 344.4 311.3C356.8 292.9 359.5 274.4 360.1 256C359.6 237.6 356.8 219.1 344.4 200.7C336.8 189.3 319.7 189 311.7 200.7C299.3 219.1 296.6 237.6 296 256C296.5 274.4 299.3 292.9 311.7 311.3zM151.7 311.3C159.3 322.7000000000001 176.4 323 184.4 311.3C196.8 292.9 199.5 274.4 200.1 256C199.6 237.6 196.8 219.1 184.4 200.7C176.8 189.3 159.7 189 151.7 200.7C139.3 219.1 136.6 237.6 136 256C136.5 274.4 139.3 292.9 151.7 311.3zM248 16C187.4 16 113.5 54.3 104.2 109.3C102.2 121.1 113.5 130.9 124.9 127.2C155.1 117.5 200 112 248 112S340.9 117.5 371.1 127.2C382.5 130.9 393.7000000000001 121.1 391.8 109.3C382.5 54.3 308.6 16 248 16z" /> + <glyph glyph-name="grin-beam-sweat" + unicode="" + horiz-adv-x="504" d=" M456 320C482.5 320 504 341 504 367C504 387 475.5 427.4 462.4 444.8C459.2 449.1 452.8 449.1 449.6 444.8C436.5 427.4 408 387 408 367C408 341 429.5 320 456 320zM456 288C411.9 288 376 323.4 376 367C376 371.4 376.3 381.2 384.1 399.2C345 424.9 298.3 440 248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192C496 227.1 488.6 260.4 475.5 290.6C469.2 289.1 462.8 288 456 288zM328 296C351.8 296 380.7 266.7 384 224.6C384.7 216 373.2 212.6 369.1 220.1L359.6 237.1C351.9000000000001 250.8 340.4000000000001 258.7 328.1 258.7S304.3 250.8 296.6 237.1L287.1 220.1C283 212.7 271.5 216.1 272.2000000000001 224.6C275.3000000000001 266.7 304.2000000000001 296 328.0000000000001 296zM168 296C191.8 296 220.7 266.7 224 224.6C224.7 216 213.2 212.6 209.1 220.1L199.6 237.1C191.9 250.8 180.4 258.7 168.1 258.7S144.3 250.8 136.6 237.1L127.1 220.1C122.9 212.7 111.5 216.1 112.2 224.6C115.3 266.7 144.2 296 168 296zM248 16C187.4 16 113.5 54.3 104.2 109.3C102.2 121.1 113.5 130.9 124.9 127.2C155.1 117.5 200 112 248 112S340.9 117.5 371.1 127.2C382.6 130.9 393.7000000000001 121 391.8 109.3C382.5 54.3 308.6 16 248 16z" /> + <glyph glyph-name="grin-beam" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM328 296C351.8 296 380.7 266.7 384 224.6C384.7 216 373.2 212.7 369.1 220.1L359.6 237.1C351.9000000000001 250.8 340.4000000000001 258.7 328.1 258.7S304.3 250.8 296.6 237.1L287.1 220.1C283 212.8 271.5 216.1 272.2000000000001 224.6C275.3000000000001 266.7 304.2000000000001 296 328.0000000000001 296zM168 296C191.8 296 220.7 266.7 224 224.6C224.7 216 213.2 212.7 209.1 220.1L199.6 237.1C191.9 250.8 180.4 258.7 168.1 258.7S144.3 250.8 136.6 237.1L127.1 220.1C122.9 212.7 111.5 216.1 112.2 224.6C115.3 266.7 144.2 296 168 296zM248 16C187.4 16 113.5 54.3 104.2 109.3C102.2 121.2 113.6 130.9 124.9 127.2C155.1 117.5 200 112 248 112S340.9 117.5 371.1 127.2C382.5 130.9 393.7000000000001 121.1 391.8 109.3C382.5 54.3 308.6 16 248 16z" /> + <glyph glyph-name="grin-hearts" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM90.4 264.4C97.1 282 117.1 291.1 135.3 286.3L142.4 284.4L144.4 291.5C149.4 309.6 167.2 322.4 185.9 319.4C207.3 316 220.3 295.2000000000001 214.7 274.9L195.3 205C194.1 200.5 189.4 197.8 184.8 199L114.6 217.2C94.2 222.6 82.7 244.2 90.4 264.4zM248 16C187.4 16 113.5 54.3 104.2 109.3C102.2 121.1 113.4 130.8 124.9 127.2C155.1 117.5 200 112 248 112S340.9 117.5 371.1 127.2C382.5 130.8 393.7000000000001 121.1 391.8 109.3C382.5 54.3 308.6 16 248 16zM381.4 217.3L311.2 199.1C306.7 197.9 302 200.6 300.7 205.1L281.3 275C275.7 295.3 288.7 316.1 310.1 319.5C328.7000000000001 322.5 346.5 309.7 351.6 291.6L353.6 284.5L360.7000000000001 286.4C378.9000000000001 291.1 398.9000000000001 282.1 405.6 264.5C413.3 244.2 401.8 222.6 381.4000000000001 217.3z" /> + <glyph glyph-name="grin-squint-tears" + unicode="" + horiz-adv-x="512" d=" M409.6 336.1C432.2000000000001 339.3 483.1 348.1 497.9 362.9C517.1 382.1 516.8000000000001 413.5 497.2 433.1S446 453 426.9 433.8C412.1 419 403.4 368.1 400.1 345.5C399.3 340 404 335.3 409.6 336.1zM102.4 47.9C79.8 44.7 28.9 35.9 14.1 21.1C-5 1.9999999999999 -4.7 -29.5000000000001 14.9 -49.1S65.9 -69 85.1 -49.8C99.9 -35 108.6 15.9 111.9 38.5C112.7 44 108 48.7 102.4 47.9zM414.1 304.4C381.1 300.5 365.5 329.5 368.4000000000001 350.1C371.8 374.1 375.8 392.2 379.9000000000001 406.6C285.1 461.4 161.8 448.5 80.6 367.4C-0.5 286.3 -13.4 163 41.4 68.1C55.8 72.2000000000001 73.8 76.1 97.9 79.6C131.1 83.5 146.5 54.4 143.6 33.9C140.2 9.9 136.2 -8.2 132.1 -22.6C226.9000000000001 -77.4 350.2000000000001 -64.5 431.4000000000001 16.6S525.4000000000001 221 470.6 315.9000000000001C456.2 311.8000000000001 438.1 307.9000000000001 414.1 304.4000000000001zM255.7 342C259 355.2 278.1 353.5 279.3 340.2L284.1 287.9L336.4000000000001 283.1C349.8 281.9 351.3 262.8 338.2000000000001 259.5L247.7000000000001 236.9C238.8000000000001 234.7 231.0000000000001 242.8 233.2000000000001 251.4L255.7000000000001 342zM164.8 111.7L160 164L107.7 168.8C94.3 170 92.8 189.1 105.9 192.4L196.4 215C205.2 217.2 213.1 209.2 210.9 200.5L188.3 110C185.2 96.8 166.1 98.3 164.8 111.7zM380.5 67.5C351.2 38.2 304.8 17.1 263.8 17.1C244.9 17.1 227.2 21.6 212.8 31.8C203 38.7 204.1 53.6 214.8 59C243.1 73.6 278.7 101.4 312.6 135.3S374.3 204.9 388.9000000000001 233.1C394.3 243.6 409.1 245.0000000000001 416.2000000000001 235.1C448.5000000000001 189.8 423.3000000000001 110.4 380.5000000000001 67.5z" /> + <glyph glyph-name="grin-squint" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM281.8 250.3L361.8 298.3C373.4000000000001 305.2000000000001 385.8 290.6 377.2 280.3L343.6 240L377.2000000000001 199.7C385.9000000000001 189.3 373.3000000000001 174.9 361.8000000000001 181.7L281.8000000000001 229.7C274.1000000000001 234.4 274.1000000000001 245.6 281.8000000000001 250.3zM118.8 280.3C110.2 290.6 122.6 305.2000000000001 134.2 298.3L214.2 250.3C222 245.6 222 234.4 214.2 229.7L134.2 181.7000000000001C122.7 174.9 110.2 189.3000000000001 118.8 199.7000000000001L152.4 240.0000000000001L118.8 280.3000000000001zM248 16C187.4 16 113.5 54.3 104.2 109.3C102.2 121.2 113.6 130.9 124.9 127.2C155.1 117.5 200 112 248 112S340.9 117.5 371.1 127.2C382.6 130.9 393.7000000000001 121 391.8 109.3C382.5 54.3 308.6 16 248 16z" /> + <glyph glyph-name="grin-stars" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM94.6 279.1L129.5 284.1L145 315.7C147.9 321.5 156 321.5 158.9 315.7L174.4 284.1L209.3 279.1C215.5 278.1 218.2 270.5 213.6 265.9L188.2 241.3L194.2 206.4C195.2 200.2 188.9 195.4 183.2 198.5L152 214.7L120.7 198.4C115 195.3 108.7 200.1 109.7 206.3L115.7 241.2L90.3 265.8C85.7 270.5 88.4 278.1 94.6 279.1zM248 16C187.4 16 113.5 54.3 104.2 109.3C102.2 121.1 113.5 130.8 124.9 127.2C155.1 117.5 200 112 248 112S340.9 117.5 371.1 127.2C382.6 130.9 393.7000000000001 121.1 391.8 109.3C382.5 54.3 308.6 16 248 16zM405.7 265.9L380.3 241.3L386.3 206.4C387.3 200.2 381 195.4 375.3 198.5L344 214.7L312.7 198.4C307 195.3 300.7 200.1 301.7 206.3L307.7 241.2L282.3 265.8C277.8 270.4 280.4000000000001 278 286.6 279L321.5 284L337 315.6C339.9 321.4 348 321.4 350.9 315.6L366.4 284L401.3 279C407.6 278.1 410.3 270.5 405.7 265.9z" /> + <glyph glyph-name="grin-tears" + unicode="" + horiz-adv-x="640" d=" M102.4 191.9C79.8 188.7 28.9 179.9 14.1 165.1C-5 146 -4.7 114.5 14.9 94.9S65.9 75 85.1 94.2C99.9 109 108.6 159.9 111.9 182.5C112.7 188 108 192.7 102.4 191.9zM625.8 165.1C611 179.9 560.0999999999999 188.6 537.5 191.9C532 192.7 527.2 188 528 182.4C531.2 159.8 540 108.9 554.8 94.1C574 74.9 605.4 75.2 625 94.8S645 146 625.8 165.1zM496.4 177.9C492.6 204.5 515.5 227.4 542.1 223.6C551 222.3 558.9 220.9 566.4 219.5C552.7 343.5 447.7 440 320 440S87.3 343.5 73.6 219.5C81.1 220.9 89 222.3 97.9 223.6C131.1 227.5 146.5 198.3 143.6 177.9C131.8 95.6 113.7 77.5 107.8 71.5C106.9 70.6 105.8 69.9 104.8 69C147.5 -5.6 227.8 -56 320 -56S492.5 -5.6 535.2 69.1C534.2 70 533.1 70.6 532.2 71.6C526.3000000000001 77.5 508.2 95.6 496.4 177.9zM400 296C423.8 296 452.7 266.7 456 224.6C456.7 216 445.2 212.6 441.1 220.1L431.6 237.1C423.9000000000001 250.8 412.4000000000001 258.7 400.1 258.7S376.3 250.8 368.6 237.1L359.1 220.1C354.9000000000001 212.7 343.5 216.1 344.2000000000001 224.6C347.3000000000001 266.7 376.2000000000001 296 400.0000000000001 296zM240 296C263.8 296 292.7 266.7 296 224.6C296.7 216 285.2 212.6 281.1 220.1L271.6 237.1C263.9000000000001 250.8 252.4000000000001 258.7 240.1 258.7S216.3 250.8 208.6 237.1L199.1 220.1C194.9 212.7 183.5 216.1 184.2 224.6C187.3 266.7 216.2 296 240 296zM320 16C259.4 16 185.5 54.3 176.2 109.3C174.2 121 185.4 130.9 196.9 127.2C227.1 117.5 272 112 320 112S412.9 117.5 443.1 127.2C454.5 130.9 465.7 121.1 463.8 109.3C454.5 54.3 380.6 16 320 16z" /> + <glyph glyph-name="grin-tongue-squint" + unicode="" + horiz-adv-x="496" d=" M293.1 73.4C278.7000000000001 79.9 262 71.2 258.5 55.8L256.7 47.9999999999999C254.6 38.8 241.5 38.8 239.4 47.9999999999999L237.6 55.8C234.1 71.1999999999999 217.4 79.9 203 73.4C202.1 73 203.3 73.6 184.1 64V1C184.1 -34.2 212.1 -63.5 247.2 -63.9C282.9 -64.4 312.1 -35.5 312.1 0.1V64.1C292.6 73.7000000000001 293.9 73 293.1 73.4zM248 440C111 440 0 329 0 192C0 85.7 67 -4.7 161 -40C155.4 -27.8 152 -14.3 152 0V45.5C127.3 61.7 108.5 83.6 104.2 109.3C102.2 121.1 113.4 130.8 124.9 127.2C155.1 117.5 200 112 248 112S340.9 117.5 371.1 127.2C382.5 130.9 393.7000000000001 121.1 391.8 109.3C387.5 83.6 368.7 61.7 344 45.5V0C344 -14.3 340.6 -27.8 335 -40C429 -4.7 496 85.7 496 192C496 329 385 440 248 440zM214.2 229.7L134.2 181.7C122.7 174.9 110.2 189.3 118.8 199.7L152.4 240L118.8 280.3C110.2 290.6 122.6 305.2000000000001 134.2 298.3L214.2 250.3C221.9 245.6 221.9 234.4 214.2 229.7zM377.2 199.7C385.9 189.3 373.3 174.9 361.8 181.7L281.8 229.7C274 234.4 274 245.6 281.8 250.3L361.8 298.3C373.5 305.2 385.7 290.6 377.2 280.3L343.6 240L377.2000000000001 199.7z" /> + <glyph glyph-name="grin-tongue-wink" + unicode="" + horiz-adv-x="496" d=" M344 264C330.7 264 320 253.3 320 240S330.7 216 344 216S368 226.7 368 240S357.3 264 344 264zM248 440C111 440 0 329 0 192C0 85.7 67 -4.7 161 -40C155.4 -27.8 152 -14.3 152 0V45.5C127.3 61.7 108.5 83.6 104.2 109.3C102.2 121.1 113.5 130.8 124.9 127.2C155.1 117.5 200 112 248 112S340.9 117.5 371.1 127.2C382.6 130.9 393.7000000000001 121.1 391.8 109.3C387.5 83.6 368.7 61.7 344 45.5V0C344 -14.3 340.6 -27.8 335 -40C429 -4.7 496 85.7 496 192C496 329 385 440 248 440zM192 215L182.5 223.5C167.7 236.7 136.3 236.7 121.5 223.5L112 215C103.5 207.6 90.4 214.7 92.2 225.8C96.2 251 126.4 267.9 152.1 267.9S208 251 212 225.8C213.6 214.7 200.4 207.6 192 215zM344 176C308.7 176 280 204.7 280 240S308.7 304 344 304S408 275.3 408 240S379.3 176 344 176zM293.1 73.4C278.7000000000001 79.9 262 71.2 258.5 55.8L256.7 47.9999999999999C254.6 38.8 241.5 38.8 239.4 47.9999999999999L237.6 55.8C234.1 71.1999999999999 217.4 79.9 203 73.4C202.1 73 203.3 73.6 184.1 64V1C184.1 -34.2 212.1 -63.5 247.2 -63.9C282.9 -64.4 312.1 -35.5 312.1 0.1V64.1C292.6 73.7000000000001 293.9 73 293.1 73.4z" /> + <glyph glyph-name="grin-tongue" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192C0 85.7 67 -4.7 161 -40C155.4 -27.8 152 -14.3 152 0V45.5C127.3 61.7 108.5 83.6 104.2 109.3C102.2 121.1 113.5 130.8 124.9 127.2C155.1 117.5 200 112 248 112S340.9 117.5 371.1 127.2C382.5 130.8 393.7000000000001 121.1 391.8 109.3C387.5 83.6 368.7 61.7 344 45.5V0C344 -14.3 340.6 -27.8 335 -40C429 -4.7 496 85.7 496 192C496 329 385 440 248 440zM168 208C150.3 208 136 222.3 136 240S150.3 272 168 272S200 257.7 200 240S185.7 208 168 208zM328 208C310.3 208 296 222.3 296 240S310.3 272 328 272S360 257.7 360 240S345.7 208 328 208zM293.1 73.4C278.7000000000001 79.9 262 71.2 258.5 55.8L256.7 47.9999999999999C254.6 38.8 241.5 38.8 239.4 47.9999999999999L237.6 55.8C234.1 71.1999999999999 217.4 79.9 203 73.4C202.1 73 203.3 73.6 184.1 64V1C184.1 -34.2 212.1 -63.5 247.2 -63.9C282.9 -64.4 312.1 -35.5 312.1 0.1V64.1C292.6 73.7000000000001 293.9 73 293.1 73.4z" /> + <glyph glyph-name="grin-wink" + unicode="" + horiz-adv-x="496" d=" M0 192C0 55 111 -56 248 -56S496 55 496 192S385 440 248 440S0 329 0 192zM200 240C200 222.3 185.7 208 168 208S136 222.3 136 240S150.3 272 168 272S200 257.7 200 240zM368 215L358.5 223.5C343.7 236.7 312.3 236.7 297.5 223.5L288 215C279.7 207.6 266.4 214.6 268.2 225.8C272.2 251 302.4 267.9 328.1 267.9S384 251 388 225.8C389.6 214.8 376.5 207.6 368 215zM124.9 127.2C155.1 117.5 200 112 248 112S340.9 117.5 371.1 127.2C382.4000000000001 130.9 393.7000000000001 121.2 391.8 109.3C382.6 54.3 308.6 16 248 16S113.5 54.3 104.2 109.3C102.2 121.2 113.5 130.9 124.9 127.2z" /> + <glyph glyph-name="grin" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM328 272C345.7 272 360 257.7 360 240S345.7 208 328 208S296 222.3 296 240S310.3 272 328 272zM168 272C185.7 272 200 257.7 200 240S185.7 208 168 208S136 222.3 136 240S150.3 272 168 272zM248 16C187.4 16 113.5 54.3 104.2 109.3C102.2 121.1 113.5 130.9 124.9 127.2C155.1 117.5 200 112 248 112S340.9 117.5 371.1 127.2C382.4000000000001 130.9 393.7000000000001 121.1 391.8 109.3C382.5 54.3 308.6 16 248 16z" /> + <glyph glyph-name="grip-horizontal" + unicode="" + horiz-adv-x="448" d=" M96 160H32C14.33 160 0 145.67 0 128V64C0 46.33 14.33 32 32 32H96C113.67 32 128 46.33 128 64V128C128 145.67 113.67 160 96 160zM256 160H192C174.33 160 160 145.67 160 128V64C160 46.33 174.33 32 192 32H256C273.67 32 288 46.33 288 64V128C288 145.67 273.67 160 256 160zM416 160H352C334.33 160 320 145.67 320 128V64C320 46.33 334.33 32 352 32H416C433.67 32 448 46.33 448 64V128C448 145.67 433.67 160 416 160zM96 352H32C14.33 352 0 337.67 0 320V256C0 238.33 14.33 224 32 224H96C113.67 224 128 238.33 128 256V320C128 337.67 113.67 352 96 352zM256 352H192C174.33 352 160 337.67 160 320V256C160 238.33 174.33 224 192 224H256C273.67 224 288 238.33 288 256V320C288 337.67 273.67 352 256 352zM416 352H352C334.33 352 320 337.67 320 320V256C320 238.33 334.33 224 352 224H416C433.67 224 448 238.33 448 256V320C448 337.67 433.67 352 416 352z" /> + <glyph glyph-name="grip-vertical" + unicode="" + horiz-adv-x="320" d=" M96 416H32C14.33 416 0 401.67 0 384V320C0 302.33 14.33 288 32 288H96C113.67 288 128 302.3300000000001 128 320V384C128 401.67 113.67 416 96 416zM96 256H32C14.33 256 0 241.67 0 224V160C0 142.33 14.33 128 32 128H96C113.67 128 128 142.33 128 160V224C128 241.67 113.67 256 96 256zM96 96H32C14.33 96 0 81.67 0 64V0C0 -17.67 14.33 -32 32 -32H96C113.67 -32 128 -17.67 128 0V64C128 81.67 113.67 96 96 96zM288 416H224C206.33 416 192 401.67 192 384V320C192 302.33 206.33 288 224 288H288C305.67 288 320 302.3300000000001 320 320V384C320 401.67 305.67 416 288 416zM288 256H224C206.33 256 192 241.67 192 224V160C192 142.33 206.33 128 224 128H288C305.67 128 320 142.33 320 160V224C320 241.67 305.67 256 288 256zM288 96H224C206.33 96 192 81.67 192 64V0C192 -17.67 206.33 -32 224 -32H288C305.67 -32 320 -17.67 320 0V64C320 81.67 305.67 96 288 96z" /> + <glyph glyph-name="h-square" + unicode="" + horiz-adv-x="448" d=" M448 368V16C448 -10.51 426.51 -32 400 -32H48C21.49 -32 0 -10.51 0 16V368C0 394.51 21.49 416 48 416H400C426.51 416 448 394.51 448 368zM336 320H304C295.163 320 288 312.837 288 304V224H160V304C160 312.837 152.837 320 144 320H112C103.163 320 96 312.837 96 304V80C96 71.163 103.163 64 112 64H144C152.837 64 160 71.163 160 80V160H288V80C288 71.163 295.163 64 304 64H336C344.837 64 352 71.163 352 80V304C352 312.837 344.837 320 336 320z" /> + <glyph glyph-name="hamsa" + unicode="" + horiz-adv-x="512" d=" M509.34 140.75C504.28 152.44 492.75 160 480 160H416V368C416 390 398 408 376 408S336 390 336 368V234C336 228.48 331.52 224 326 224H306C300.48 224 296 228.48 296 234V408C296 430 278 448 256 448S216 430 216 408V234C216 228.48 211.52 224 206 224H186C180.48 224 176 228.48 176 234V368C176 390 158 408 136 408S96 390 96 368V160H32C19.25 160 7.72 152.44 2.66 140.75A31.966 31.966 0 0 1 8.6 106.17L111.29 -3.86C146.97 -42.08 199.69 -64 256 -64S365.03 -42.08 400.7200000000001 -3.86L503.4 106.17A31.966 31.966 0 0 1 509.34 140.75zM256 32C202.98 32 160 96 160 96S202.98 160 256 160S352 96 352 96S309.02 32 256 32zM256 128C238.33 128 224 113.67 224 96S238.33 64 256 64S288 78.33 288 96S273.67 128 256 128z" /> + <glyph glyph-name="hand-holding-heart" + unicode="" + horiz-adv-x="576" d=" M275.3 197.5C282.3 190.1 293.7 190.1 300.8 197.5L409.7000000000001 311.7C441.3000000000001 344.9 439.5000000000001 399.9 404.1 430.5C373.3 457.2 327.4000000000001 452.4 299.2000000000001 422.8L288 411.1L276.9 422.7C248.7 452.4 202.8 457.2 172 430.5C136.7 399.9 134.8 344.9 166.4 311.7L275.3 197.5zM565.3 119.9C553.5 130.6 535.0999999999999 129.9 522.6999999999999 119.9L430.3 46C419 36.9 404.9000000000001 32 390.3 32H272C263.2 32 256 39.2 256 48S263.2 64 272 64H350.3C366.2 64 381 74.9 383.6 90.6C386.9000000000001 110.6 371.5 128 352 128H192C165 128 138.9 118.7 117.9 101.7L71.4 64H16C7.2 64 0 56.8 0 48V-48C0 -56.8 7.2 -64 16 -64H372.8C387.3 -64 401.4000000000001 -59.1 412.8 -50L564 71C579.2 83.1 580.4 106.3 565.3 119.9z" /> + <glyph glyph-name="hand-holding-usd" + unicode="" + horiz-adv-x="544" d=" M257.6 303.7L307.6 289.4C311.2000000000001 288.4 313.7000000000001 285 313.7000000000001 281.3C313.7000000000001 276.7 309.9000000000001 272.9 305.3000000000001 272.9H272.5000000000001C268.9000000000001 272.9 265.4000000000001 273.7 262.2000000000001 275.1C257.4000000000001 277.3 251.8000000000001 276.8 248.1000000000001 273.1L230.6000000000001 255.6C225.3000000000001 250.3 225.9000000000001 241.3 232.1000000000001 237.2C241.6000000000001 230.9 252.4000000000001 227.1 263.9000000000001 225.7V208C263.9000000000001 199.2 271.1 192 279.9000000000001 192H295.9000000000001C304.7000000000001 192 311.9000000000001 199.2 311.9000000000001 208V225.6C342.2000000000001 229.2 365.2000000000001 256.6 361.2000000000001 288.6C358.3000000000001 311.6 340.5000000000001 329.9 318.3000000000001 336.3L268.3000000000001 350.6C264.7000000000001 351.6 262.2000000000001 355 262.2000000000001 358.7C262.2000000000001 363.3 266.0000000000001 367.1 270.6 367.1H303.4000000000001C307.0000000000001 367.1 310.5000000000001 366.3 313.7000000000001 364.9C318.5000000000001 362.7 324.1 363.2 327.8000000000001 366.9L345.3000000000001 384.4C350.6000000000001 389.7 350.0000000000001 398.7 343.8000000000001 402.8C334.3000000000001 409.1 323.5000000000001 412.9 312.0000000000001 414.3V432C312.0000000000001 440.8 304.8000000000001 448 296.0000000000001 448H280.0000000000001C271.2000000000001 448 264.0000000000001 440.8 264.0000000000001 432V414.4C233.7000000000001 410.8 210.7000000000001 383.4 214.7000000000001 351.4C217.6000000000001 328.4 235.4000000000001 310.1 257.6 303.7zM533.9000000000001 119.9C522.7 130.6 505.4000000000001 129.9 493.6000000000001 119.9L406.4 46C395.7 36.9 382.4 32 368.6 32H256.9C248.6 32 241.8 39.2 241.8 48S248.6 64 256.9 64H330.8C345.9 64 359.8 74.9 362.2 90.6C365.3 110.6 350.7 128 332.3999999999999 128H181.3C155.8 128 131.1 118.7 111.4 101.7L67.5 64H15.1C6.8 64 0 56.8 0 48V-48C0 -56.8 6.8 -64 15.1 -64H352C365.7 -64 379 -59.1 389.8 -50L532.6 71C547 83.1 548.1 106.3 533.9 119.9z" /> + <glyph glyph-name="hand-holding" + unicode="" + horiz-adv-x="576" d=" M565.3 119.9C553.5 130.6 535.0999999999999 129.9 522.6999999999999 119.9L430.3 46C419 36.9 404.9000000000001 32 390.3 32H272C263.2 32 256 39.2 256 48S263.2 64 272 64H350.3C366.2 64 381 74.9 383.6 90.6C386.9000000000001 110.6 371.5 128 352 128H192C165 128 138.9 118.7 117.9 101.7L71.4 64H16C7.2 64 0 56.8 0 48V-48C0 -56.8 7.2 -64 16 -64H372.8C387.3 -64 401.4000000000001 -59.1 412.8 -50L564 71C579.2 83.1 580.4 106.3 565.3 119.9z" /> + <glyph glyph-name="hand-lizard" + unicode="" + horiz-adv-x="576" d=" M384 -32H576V84.222A95.998 95.998 0 0 1 561.167 135.485L398.127 393.632A48 48 0 0 1 357.544 416H24C10.745 416 0 405.255 0 392V376C0 345.072 25.072 320 56 320H285.981C298.825 320 307.537 306.933 302.596 295.077L281.186 243.692A32 32 0 0 0 251.648 224H128C92.654 224 64 195.346 64 160V152C64 138.745 74.745 128 88 128H235.406A47.995 47.995 0 0 0 261.098 120.545L372.846 49.734A24.001000000000005 24.001000000000005 0 0 0 384 29.461V-32z" /> + <glyph glyph-name="hand-paper" + unicode="" + horiz-adv-x="448" d=" M408.781 319.993C386.356 320.4220000000001 368 301.64 368 279.2100000000001V192H360V368.21C360 390.64 341.644 409.4220000000001 319.219 408.993C297.488 408.577 280 390.831 280 369V192H272V407.21C272 429.64 253.644 448.4220000000001 231.219 447.993C209.488 447.577 192 429.831 192 408V192H184V367.21C184 389.64 165.644 408.4220000000001 143.219 407.993C121.488 407.577 104 389.831 104 368V132.0080000000001L72.352 175.5270000000001C59.359 193.393 34.343 197.3440000000001 16.475 184.35C-1.39 171.356 -5.34 146.34 7.653 128.473L133.254 -44.232A48 48 0 0 1 172.073 -64H369.663C391.937 -64 411.2850000000001 -48.676 416.387 -26.994L442.895 85.6659999999999A192.011 192.011 0 0 1 447.999 129.641V280C448 301.831 430.512 319.577 408.781 319.993z" /> + <glyph glyph-name="hand-peace" + unicode="" + horiz-adv-x="448" d=" M408 232C385.908 232 368 214.091 368 192H360V224C360 246.091 342.092 264 320 264S280 246.091 280 224V192H272V400C272 426.51 250.51 448 224 448S176 426.51 176 400V192H162.428L92.688 369.551C82.994 394.226 55.134 406.37 30.461 396.676C5.787 386.983 -6.356 359.123 3.337 334.449L78.102 144.107L47.012 119.235C31.631 106.929 27.497 85.257 37.271 68.1539999999999L101.271 -43.8460000000001A39.998 39.998 0 0 1 136 -64H376C394.562 -64 410.686 -51.23 414.937 -33.162L446.937 102.838A39.97 39.97 0 0 1 448 112V192C448 214.091 430.092 232 408 232z" /> + <glyph glyph-name="hand-point-down" + unicode="" + horiz-adv-x="384" d=" M91.826 -19.2V130.034C83.578 124.193 75.268 119.464 66.908 115.881C35.098 102.248 -0.014 125.778 0 160C0.008 178.616 10.897 192.203 29.092 200C57.378 212.122 93.421 278.648 106.415 307.534C114.371 325.391 131.894 335.987 150.26 335.998L150.261 336H321.7870000000001C333.5990000000001 336 343.6840000000001 327.404 345.49 315.731C352.74 268.894 383.973 253.971 383.805 192C383.798 189.276 384 178.746 384 176C384 125.346 361.878 94.426 312.737 103.4C303.44 84.803 273.251 72.662 250.422 86.95C229.245 62.305 196.526 64.311 179.478 80.651V-19.2C179.478 -43.35 159.277 -64 135.652 -64C112.369 -64 91.826 -42.65 91.826 -19.2zM112 376V424C112 437.255 122.745 448 136 448H328C341.255 448 352 437.255 352 424V376C352 362.745 341.255 352 328 352H136C122.745 352 112 362.745 112 376zM324 400C324 411.046 315.046 420 304 420S284 411.046 284 400S292.954 380 304 380S324 388.954 324 400z" /> + <glyph glyph-name="hand-point-left" + unicode="" + horiz-adv-x="512" d=" M44.8 292.174H194.034C188.193 300.4220000000001 183.464 308.732 179.881 317.092C166.248 348.902 189.778 384.014 224 384C242.616 383.992 256.203 373.103 264 354.908C276.122 326.622 342.648 290.579 371.534 277.5850000000001C389.391 269.629 399.987 252.106 399.998 233.74L400 233.739V62.213C400 50.401 391.404 40.316 379.731 38.51C332.894 31.26 317.971 0.027 256 0.195C253.276 0.202 242.746 0 240 0C189.346 0 158.426 22.122 167.4 71.263C148.803 80.5600000000001 136.662 110.749 150.95 133.578C126.305 154.7550000000001 128.311 187.4740000000001 144.651 204.5220000000001H44.8C20.65 204.5220000000001 0 224.7230000000001 0 248.3480000000001C0 271.6310000000001 21.35 292.1740000000001 44.8 292.1740000000001zM440 272H488C501.255 272 512 261.255 512 248V56C512 42.745 501.255 32 488 32H440C426.745 32 416 42.745 416 56V248C416 261.255 426.745 272 440 272zM464 60C475.046 60 484 68.954 484 80S475.046 100 464 100S444 91.046 444 80S452.954 60 464 60z" /> + <glyph glyph-name="hand-point-right" + unicode="" + horiz-adv-x="512" d=" M512 248.348C512 224.723 491.35 204.522 467.2 204.522H367.349C383.689 187.4740000000001 385.695 154.756 361.05 133.578C375.338 110.749 363.197 80.561 344.6 71.263C353.574 22.122 322.654 0 272 0C269.254 0 258.724 0.203 256 0.195C194.029 0.027 179.106 31.26 132.269 38.51C120.596 40.317 112 50.401 112 62.214V233.739L112.002 233.74C112.013 252.106 122.609 269.629 140.466 277.5850000000001C169.352 290.579 235.879 326.623 248 354.908C255.797 373.102 269.384 383.992 288 384C322.222 384.014 345.752 348.902 332.1190000000001 317.092C328.536 308.733 323.807 300.422 317.966 292.174H467.2C490.65 292.174 512 271.631 512 248.348zM96 248V56C96 42.745 85.255 32 72 32H24C10.745 32 0 42.745 0 56V248C0 261.255 10.745 272 24 272H72C85.255 272 96 261.255 96 248zM68 80C68 91.046 59.046 100 48 100S28 91.046 28 80S36.954 60 48 60S68 68.954 68 80z" /> + <glyph glyph-name="hand-point-up" + unicode="" + horiz-adv-x="384" d=" M135.652 448C159.277 448 179.478 427.35 179.478 403.2V303.349C196.526 319.689 229.244 321.695 250.422 297.05C273.251 311.338 303.439 299.197 312.737 280.6C361.878 289.574 384 258.654 384 208C384 205.254 383.7970000000001 194.724 383.805 192C383.973 130.029 352.74 115.106 345.49 68.269C343.683 56.596 333.599 48 321.786 48H150.261L150.26 48.002C131.894 48.013 114.371 58.609 106.415 76.466C93.421 105.352 57.377 171.878 29.092 184C10.897 191.797 0.008 205.384 0 224C-0.014 258.222 35.098 281.752 66.908 268.1190000000001C75.267 264.536 83.578 259.807 91.826 253.966V403.2C91.826 426.65 112.369 448 135.652 448zM136 32H328C341.255 32 352 21.255 352 8V-40C352 -53.255 341.255 -64 328 -64H136C122.745 -64 112 -53.255 112 -40V8C112 21.255 122.745 32 136 32zM304 4C292.954 4 284 -4.954 284 -16S292.954 -36 304 -36S324 -27.046 324 -16S315.046 4 304 4z" /> + <glyph glyph-name="hand-pointer" + unicode="" + horiz-adv-x="448" d=" M448 208V112C448 108.916 447.644 105.841 446.937 102.838L414.937 -33.162C410.686 -51.23 394.562 -64 376 -64H168A40.004 40.004 0 0 0 135.65 -47.527L7.653 128.473C-5.34 146.339 -1.39 171.356 16.475 184.349C34.342 197.343 59.359 193.392 72.352 175.526L104 132.008V408C104 430.091 121.908 448 144 448S184 430.091 184 408V208H192V248C192 270.091 209.908 288 232 288S272 270.091 272 248V208H280V232C280 254.091 297.908 272 320 272S360 254.091 360 232V208H368C368 230.091 385.908 248 408 248S448 230.091 448 208zM192 128H184V32H192V128zM280 128H272V32H280V128zM368 128H360V32H368V128z" /> + <glyph glyph-name="hand-rock" + unicode="" + horiz-adv-x="512" d=" M512 319.2100000000001C512 345.5320000000001 491.139 367.554 464.82 367.993C437.935 368.442 416 346.783 416 320H408V351.21C408 377.532 387.139 399.554 360.82 399.993C333.935 400.442 312 378.783 312 352V320H304V367.21C304 393.532 283.139 415.554 256.82 415.993C229.935 416.442 208 394.783 208 368V320H200V351.21C200 377.532 179.139 399.554 152.82 399.993C125.935 400.442 104 378.783 104 352V216L96 223.111V271.2100000000001C96 297.5320000000001 75.139 319.554 48.82 319.993C21.935 320.442 0 298.783 0 272V205.555A95.998 95.998 0 0 1 32.221 133.804L143.889 34.543A47.999 47.999 0 0 0 160 -1.333V-8C160 -21.255 170.745 -32 184 -32H424C437.255 -32 448 -21.255 448 -8V-5.079A96.01 96.01 0 0 0 455.523 32.175L504.477 148.44A96.002 96.002 0 0 1 512 185.694V319.2100000000001z" /> + <glyph glyph-name="hand-scissors" + unicode="" + horiz-adv-x="512" d=" M216 8C216 30.092 233.909 48 256 48V56H224C201.909 56 184 73.908 184 96S201.909 136 224 136H256V144H48C21.49 144 0 165.49 0 192S21.49 240 48 240H256V253.572L78.449 323.312C53.775 333.006 41.631 360.867 51.324 385.54C61.017 410.214 88.878 422.357 113.552 412.664L303.894 337.899L328.766 368.9890000000001C341.072 384.37 362.7440000000001 388.504 379.8470000000001 378.73L491.847 314.73A40.002 40.002 0 0 0 512 280V40C512 21.438 499.23 5.314 481.162 1.063L345.162 -30.937A39.982 39.982 0 0 0 336 -32H256C233.909 -32 216 -14.092 216 8z" /> + <glyph glyph-name="hand-spock" + unicode="" + horiz-adv-x="512" d=" M10.872 131.415C26.011 147.501 51.326 148.269 67.415 133.1280000000001L128 76.107V155.5120000000001L88.995 327.135C84.099 348.677 97.593 370.1090000000001 119.135 375.005C140.684 379.899 162.11 366.406 167.005 344.8640000000001L201.747 192H211.58L164.016 399.034C159.07 420.565 172.514 442.028 194.044 446.974C215.576 451.924 237.038 438.476 241.984 416.9460000000001L293.664 192H308.769L357.194 385.702C362.5510000000001 407.134 384.269 420.164 405.701 414.806C427.1330000000001 409.448 440.1640000000001 387.731 434.805 366.299L391.231 192H402.311L433.079 321.265C438.196 342.756 459.764 356.033 481.256 350.912C502.747 345.795 516.021 324.226 510.903 302.735L474.611 150.268A96.02400000000002 96.02400000000002 0 0 1 472 128.033V85.931A96.002 96.002 0 0 0 468.04 58.6440000000001L441.8660000000001 -29.6429999999999C435.825 -50.022 417.101 -64 395.846 -64H179.172A48.00200000000001 48.00200000000001 0 0 0 146.274 -50.954L12.585 74.872C-3.502 90.013 -4.268 115.328 10.872 131.415z" /> + <glyph glyph-name="hands-helping" + unicode="" + horiz-adv-x="640" d=" M488 256H336V200C336 160.3 303.7 128 264 128S192 160.3 192 200V321.6L127.1 282.6C107.8 271.1 96 250.2 96 227.8V180.5L16 134.3C0.7 125.5 -4.6 105.9 4.3 90.6L84.3 -48C93.1 -63.3 112.7 -68.5 128 -59.7L231.4 0H368C403.3 0 432 28.7 432 64H448C465.7 64 480 78.3 480 96V160H488C501.3 160 512 170.7 512 184V232C512 245.3 501.3 256 488 256zM635.7 293.4L555.7 432C546.9 447.3 527.3 452.5 512 443.7L408.6 384H306.4C294.4 384 282.7 380.6 272.5 374.3L239 353.4C229.6 347.6 224 337.3 224 326.3V200C224 177.9 241.9 160 264 160S304 177.9 304 200V288H488C518.9 288 544 262.9 544 232V203.5L624 249.7C639.3 258.6 644.5 278.1 635.7 293.4z" /> + <glyph glyph-name="hands" + unicode="" + horiz-adv-x="640" d=" M204.8 217.6C194.2 231.7 174.1 234.6 160 224C145.9 213.4 143 193.3 153.6 179.2L191.7 128.4C196.5 122 195.8 113.1 190.2 107.5L177.4 94.7C170.7 88 159.8 88.5 153.8 95.8L64 203.6V352C64 369.7 49.7 384 32 384S0 369.7 0 352V133.6C0 122.7000000000001 3.7 112.1 10.5 103.6L114.6 -30.7C119.6 -37.2 123 -44.6 125 -52.4C126.8 -59.2999999999999 133.1 -64 140.3 -64H272C280.8 -64 288 -56.8 288 -48V64C288 91.7 279 118.6 262.4 140.8L204.8 217.6zM608 384C590.3 384 576 369.7 576 352V203.6L486.2 95.8C480.2 88.6 469.2 88.1 462.6 94.7L449.8 107.5C444.2 113.1 443.5 122 448.3 128.4L486.4 179.2C497 193.3 494.1 213.4 480 224C465.9 234.6 445.8 231.7 435.2 217.6L377.6 140.8C361 118.6 352 91.7 352 64V-48C352 -56.8 359.2 -64 368 -64H499.7C506.8 -64 513.2 -59.3 515 -52.4C517 -44.6 520.4 -37.2 525.4 -30.7L629.5 103.6C636.3 112.1 640 122.7000000000001 640 133.6V352C640 369.7 625.7 384 608 384z" /> + <glyph glyph-name="handshake" + unicode="" + horiz-adv-x="640" d=" M434.7 384H348.8C340.8 384 333.1 381 327.2 375.6L228.8999999999999 285.6C228.8 285.5 228.7 285.3 228.5999999999999 285.2C211.9999999999999 269.6 212.2999999999999 244.7 226.4999999999999 229.2C239.1999999999999 215.3 265.8999999999999 211.6 282.5999999999999 226.5C282.7 226.6 282.8999999999999 226.6 282.9999999999999 226.7L362.8999999999999 299.9C369.3999999999999 305.8 379.5999999999999 305.4 385.4999999999999 298.9C391.4999999999999 292.4 390.9999999999999 282.3 384.4999999999999 276.3L358.3999999999999 252.4L504 134.2C506.9 131.8 509.5 129.2 511.9 126.5V320L457.3 374.6C451.4 380.6 443.2 384 434.7 384zM544 319.8V95.9C544 78.2 558.3 63.9 576 63.9H640V319.8H544zM592 95.9C583.2 95.9 576 103.1 576 111.9S583.2 127.9 592 127.9S608 120.7 608 111.9S600.8 95.9 592 95.9zM0 64H64C81.7 64 96 78.3 96 96V319.8H0V64zM48 127.9C56.8 127.9 64 120.7 64 111.9S56.8 95.9 48 95.9S32 103.1 32 111.9C32 120.8 39.2 127.9 48 127.9zM483.9 109.3L334.6 230.5L304.6 203C274.9000000000001 175.9 229.4000000000001 178.5 202.9 207.4C176 236.8 178.1 282.3 207.3000000000001 309.1L289.1 384H205.3C196.8 384 188.7 380.6 182.7 374.6L128 320V96.1H146.3L236.8 14.2C264.2 -8.1 304.5 -3.9 326.8 23.5000000000001L327 23.7L344.9 8.2C360.8 -4.8 384.3 -2.3 397.2 13.6L428.6 52.2L434 47.8000000000001C447.7 36.7 467.8999999999999 38.7 478.9999999999999 52.5000000000001L488.4999999999999 64.2000000000001C499.6999999999999 78.0000000000001 497.6 98.1 483.8999999999999 109.3000000000001z" /> + <glyph glyph-name="hashtag" + unicode="" + horiz-adv-x="448" d=" M440.667 265.891L447.81 305.891C449.123 313.246 443.468 320 435.997 320H361.187L375.81 401.891C377.123 409.246 371.468 416 363.997 416H323.365A12 12 0 0 1 311.552 406.109L296.175 320H197.54L212.163 401.891C213.477 409.246 207.822 416 200.35 416H159.718A12 12 0 0 1 147.905 406.109L132.528 320H53.432A12 12 0 0 1 41.619 310.1090000000001L34.476 270.1090000000001C33.163 262.754 38.818 256 46.289 256H121.099L98.242 128H19.146A12 12 0 0 1 7.333 118.109L0.19 78.109C-1.123 70.754 4.532 64 12.003 64H86.813L72.19 -17.891C70.877 -25.246 76.532 -32 84.003 -32H124.635A12 12 0 0 1 136.448 -22.109L151.826 64H250.46L235.837 -17.891C234.523 -25.246 240.178 -32 247.65 -32H288.282A12 12 0 0 1 300.095 -22.109L315.472 64H394.568A12 12 0 0 1 406.381 73.891L413.524 113.891C414.837 121.2460000000001 409.182 128 401.711 128H326.901L349.7579999999999 256H428.854A12 12 0 0 1 440.6669999999999 265.891zM261.889 128H163.255L186.112 256H284.746L261.889 128z" /> + <glyph glyph-name="haykal" + unicode="" + horiz-adv-x="512" d=" M496.25 245.48L386.25 260.92L428.07 365.26C434.74 381.9 416.47 397.44 401.48 387.89L307.44 328L273.35 435.18C270.64 443.73 263.32 448 256 448C248.68 448 241.36 443.73 238.65 435.18L204.56 327.99L110.52 387.88C95.53 397.43 77.27 381.89 83.93 365.25L125.75 260.9100000000001L15.75 245.48C-1.79 243.02 -5.93 219.21 9.72 210.81L107.88 158.15L33.4 74.61C22.48 62.36 31.68 43.68 46.69 43.68C48 43.68 49.36 43.8199999999999 50.76 44.1299999999999L159.33 67.7799999999999L155.22 -44.7700000000001C154.79 -56.4200000000001 164.09 -63.9900000000001 173.63 -63.9900000000001C178.78 -63.9900000000001 184.02 -61.7800000000001 187.83 -56.8100000000001L256.01 32.0899999999999L324.19 -56.8100000000001C328 -61.7800000000001 333.23 -63.9900000000001 338.39 -63.9900000000001C347.93 -63.9900000000001 357.23 -56.4200000000001 356.8 -44.7700000000001L352.69 67.7799999999999L461.26 44.1299999999999C478.62 40.37 490.47 61.3299999999999 478.61 74.62L404.13 158.16L502.29 210.82C517.93 219.21 513.79 243.02 496.2499999999999 245.48zM338.51 136.32L286.62 147.62L288.5900000000001 93.83L256 136.32L223.41 93.83L225.37 147.62L173.48 136.32L209.08 176.25L162.16 201.42L214.73 208.8L194.74 258.67L239.69 230.05L256 281.28L272.29 230.05L317.24 258.67L297.25 208.8L349.82 201.42L302.9 176.25L338.51 136.32z" /> + <glyph glyph-name="hdd" + unicode="" + horiz-adv-x="576" d=" M576 144V48C576 21.49 554.51 0 528 0H48C21.49 0 0 21.49 0 48V144C0 170.51 21.49 192 48 192H528C554.51 192 576 170.51 576 144zM528 224A79.557 79.557 0 0 0 558.777 217.835L462.25 362.626A48.003 48.003 0 0 1 422.311 384H153.689A48 48 0 0 1 113.751 362.626L17.223 217.835A79.557 79.557 0 0 0 48 224H528zM480 128C462.327 128 448 113.673 448 96S462.327 64 480 64S512 78.327 512 96S497.673 128 480 128zM384 128C366.327 128 352 113.673 352 96S366.327 64 384 64S416 78.327 416 96S401.673 128 384 128z" /> + <glyph glyph-name="heading" + unicode="" + horiz-adv-x="512" d=" M496 368V400C496 408.837 488.837 416 480 416H320C311.163 416 304 408.837 304 400V368C304 359.163 311.163 352 320 352H357.621V224H154.379V352H192C200.837 352 208 359.163 208 368V400C208 408.837 200.837 416 192 416H32C23.163 416 16 408.837 16 400V368C16 359.163 23.163 352 32 352H69.275V32H32C23.163 32 16 24.837 16 16V-16C16 -24.837 23.163 -32 32 -32H192C200.837 -32 208 -24.837 208 -16V16C208 24.837 200.837 32 192 32H154.379V160H357.62V32H320C311.163 32 304 24.837 304 16V-16C304 -24.837 311.163 -32 320 -32H480C488.837 -32 496 -24.837 496 -16V16C496 24.837 488.837 32 480 32H442.725V352H480C488.837 352 496 359.163 496 368z" /> + <glyph glyph-name="headphones-alt" + unicode="" + horiz-adv-x="512" d=" M160 160H144C108.65 160 80 131.3 80 95.88V32.12C80 -3.29 108.65 -32 144 -32H160C177.67 -32 192 -17.64 192 0.06V127.94C192 145.65 177.67 160 160 160zM368 160H352C334.33 160 320 145.65 320 127.94V0.06C320 -17.64 334.33 -32 352 -32H368C403.35 -32 432 -3.29 432 32.12V95.88C432 131.29 403.35 160 368 160zM256 416C112.91 416 4.57 296.87 0 160V48C0 39.16 7.16 32 16 32H32C40.84 32 48 39.16 48 48V160C48 274.67 141.33 367.8 256 367.82C370.67 367.8 464 274.67 464 160V48C464 39.16 471.16 32 480 32H496C504.84 32 512 39.16 512 48V160C507.43 296.87 399.09 416 256 416z" /> + <glyph glyph-name="headphones" + unicode="" + horiz-adv-x="512" d=" M256 416C114.52 416 0 301.504 0 160V112A32 32 0 0 1 17.689 83.378L32.072 76.187C34.083 16.097 83.421 -32 144 -32H168C181.255 -32 192 -21.255 192 -8V168C192 181.255 181.255 192 168 192H144C112.658 192 84.329 179.121 64 158.373V160C64 265.8690000000001 150.131 352 256 352S448 265.8690000000001 448 160V158.373C427.671 179.121 399.342 192 368 192H344C330.745 192 320 181.255 320 168V-8C320 -21.255 330.745 -32 344 -32H368C428.579 -32 477.917 16.098 479.928 76.187L494.31 83.378A32 32 0 0 1 512 112V160C512 301.4790000000001 397.504 416 256 416z" /> + <glyph glyph-name="headset" + unicode="" + horiz-adv-x="512" d=" M192 240C192 257.67 177.67 272 160 272H144C108.65 272 80 243.35 80 208V160C80 124.65 108.65 96 144 96H160C177.67 96 192 110.33 192 128V240zM368 96C403.35 96 432 124.65 432 160V208C432 243.35 403.35 272 368 272H352C334.33 272 320 257.67 320 240V128C320 110.33 334.33 96 352 96H368zM256 448C113.18 448 4.58 329.17 0 192V176C0 167.16 7.16 160 16 160H32C40.84 160 48 167.16 48 176V192C48 306.69 141.31 400 256 400S464 306.69 464 192H463.88C463.96 189.57 464 26.28 464 26.28C464 2.93 445.07 -16 421.7200000000001 -16H320C320 10.51 298.51 32 272 32H240C213.49 32 192 10.51 192 -16S213.49 -64 240 -64H421.7200000000001C471.58 -64 512 -23.58 512 26.28V192C507.42 329.17 398.82 448 256 448z" /> + <glyph glyph-name="heart" + unicode="" + horiz-adv-x="512" d=" M462.3 385.4C407.5 432.1 326 423.7 275.7 371.8L256 351.5L236.3 371.8C186.1 423.7 104.5 432.1 49.7 385.4C-13.1 331.8 -16.4 235.6 39.8 177.5L233.3 -22.3C245.8 -35.2 266.1 -35.2 278.6 -22.3L472.1 177.5C528.4 235.6 525.1 331.8 462.3 385.4z" /> + <glyph glyph-name="heartbeat" + unicode="" + horiz-adv-x="512" d=" M320.2 204.2L270.5 104.8C264.5 92.6999999999999 247.1 93.1 241.6 105.4L184.7 231.7L154.7 160H60.6L243.1 -26.5C250.2 -33.8 261.7 -33.8 268.8 -26.5L451.4 160H342.3L320.2 204.2zM473.7 374.1L471.3 376.6C419.8 429.2 335.5 429.2 283.9 376.6L256 348L228.1 376.5C176.6 429.2 92.2 429.2 40.7 376.5L38.3 374.1C-10.4 324.3 -12.5 245 31 192H133.4L169.3 278.2C174.7 291.1 192.9 291.4 198.7 278.6L256.9000000000001 149.3L305.9000000000001 247.2C311.8 259 328.6 259 334.5000000000001 247.2L362.1000000000001 192H481C524.5 245 522.4 324.3 473.7 374.0999999999999z" /> + <glyph glyph-name="helicopter" + unicode="" + horiz-adv-x="640" d=" M304 64H576C593.67 64 608 78.33 608 96C608 219.71 507.71 320 384 320V384H560C568.84 384 576 391.16 576 400V432C576 440.84 568.84 448 560 448H144C135.16 448 128 440.84 128 432V400C128 391.16 135.16 384 144 384H320V320H112L68.8 377.6C65.78 381.63 61.03 384 56 384H16.01C5.6 384 -2.04 374.2200000000001 0.49 364.12L32 256L192 192L278.4 76.8A31.991999999999997 31.991999999999997 0 0 1 304 64zM416 252.49C478.55 239.7 528.03 190.56 540.79 128H416V252.49zM635.37 -10.81L613.22 11.39C606.97 17.65 596.98 17.49 590.58 11.38C583.49 4.61 576.74 0.13 565.94 0.13H240C231.16 0.13 224 -7.05 224 -15.9V-47.96C224 -56.81 231.16 -63.99 240 -63.99H565.94C580.82 -63.99 601.24 -63.52 634.3900000000001 -34.47C641.4100000000001 -28.33 641.9600000000002 -17.42 635.3700000000001 -10.81z" /> + <glyph glyph-name="highlighter" + unicode="" + horiz-adv-x="544" d=" M0 -31.98L99.92 -64L135.37 -28.55L68.33 38.49L0 -31.98zM124.61 208.03A36.592 36.592 0 0 1 113.82 169.93L126.87 127.1L75.94 76.16L172.17 -20.07L223.03 30.79L265.7700000000001 17.71C279.5000000000001 13.51 294.42 17.72 303.92 28.49L339.4700000000001 70.1299999999999L166.13 243.47L124.61 208.03zM527.92 368.73L464.72 431.93C444.23 452.42 411.34 453.45 389.6 434.28L190.55 264.32L360.3200000000001 94.54L530.27 293.6C549.4499999999999 315.3400000000001 548.42 348.23 527.92 368.73z" /> + <glyph glyph-name="history" + unicode="" + horiz-adv-x="512" d=" M504 192.469C504.253 55.829 392.82 -55.903 256.18 -55.999C197.165 -56.041 142.957 -35.469 100.358 -1.088C89.281 7.852 88.453 24.453 98.519 34.519L109.786 45.786C118.395 54.395 132.139 55.337 141.677 47.77C173.062 22.865 212.781 8 256 8C357.705 8 440 90.311 440 192C440 293.705 357.689 376 256 376C207.186 376 162.851 357.031 129.932 326.068L180.686 275.314C190.766 265.234 183.627 248 169.373 248H24C15.163 248 8 255.163 8 264V409.373C8 423.627 25.234 430.766 35.314 420.687L84.686 371.315C129.209 413.864 189.552 440 256 440C392.81 440 503.747 329.2200000000001 504 192.469zM323.088 113.685L332.911 126.315C341.0489999999999 136.778 339.164 151.857 328.701 159.994L288 191.651V296C288 309.255 277.255 320 264 320H248C234.745 320 224 309.255 224 296V160.349L289.409 109.475C299.872 101.338 314.95 103.222 323.088 113.685z" /> + <glyph glyph-name="hockey-puck" + unicode="" + horiz-adv-x="512" d=" M0 288C0 341 114.6 384 256 384S512 341 512 288S397.4 192 256 192S0 235 0 288zM0 205.8V96C0 43 114.6 0 256 0S512 43 512 96V205.8C398.6 123.5 113.5 123.4 0 205.8z" /> + <glyph glyph-name="home" + unicode="" + horiz-adv-x="576" d=" M488 135.3V-8C488 -21.3 477.3 -32 464 -32H348C341.4 -32 336 -26.6 336 -20V92C336 98.6 330.6 104 324 104H252C245.4 104 240 98.6 240 92V-20C240 -26.6 234.6 -32 228 -32H112C98.7 -32 88 -21.3 88 -8V135.3C88 138.9 89.6 142.3 92.4 144.6L280.4 299.4000000000001C284.8 303 291.2 303 295.7 299.4000000000001L483.7 144.6C486.4 142.3 488 138.9 488 135.3zM571.6 196.2L488 265.1V403.6C488 410.2 482.6 415.6 476 415.6H420C413.4 415.6 408 410.2 408 403.6V331L318.5 404.7C300.8 419.3 275.2 419.3 257.5 404.7L4.4 196.2C-0.7 192 -1.4 184.4 2.8 179.3L28.3 148.3C32.5 143.2 40.1 142.5 45.2 146.7L280.4 340.4C284.8 344 291.2 344 295.7 340.4L530.9 146.7C536 142.5 543.6 143.2 547.8 148.3L573.3 179.3C577.5 184.5 576.6999999999999 192 571.5999999999999 196.2z" /> + <glyph glyph-name="hospital-alt" + unicode="" + horiz-adv-x="576" d=" M544 352H416V416C416 433.7 401.7 448 384 448H192C174.3 448 160 433.7 160 416V352H32C14.3 352 0 337.7 0 320V-48C0 -56.8 7.2 -64 16 -64H560C568.8 -64 576 -56.8 576 -48V320C576 337.7 561.7 352 544 352zM160 12C160 5.4 154.6 0 148 0H108C101.4 0 96 5.4 96 12V52C96 58.6 101.4 64 108 64H148C154.6 64 160 58.6 160 52V12zM160 140C160 133.4 154.6 128 148 128H108C101.4 128 96 133.4 96 140V180C96 186.6 101.4 192 108 192H148C154.6 192 160 186.6 160 180V140zM320 12C320 5.4 314.6 0 308 0H268C261.4 0 256 5.4 256 12V52C256 58.6 261.4 64 268 64H308C314.6 64 320 58.6 320 52V12zM320 140C320 133.4 314.6 128 308 128H268C261.4 128 256 133.4 256 140V180C256 186.6 261.4 192 268 192H308C314.6 192 320 186.6 320 180V140zM336 310C336 306.7 333.3 304 330 304H304V278C304 274.7 301.3 272 298 272H278C274.7 272 272 274.7 272 278V304H246C242.7 304 240 306.7 240 310V330C240 333.3 242.7 336 246 336H272V362C272 365.3 274.7 368 278 368H298C301.3 368 304 365.3 304 362V336H330C333.3 336 336 333.3 336 330V310zM480 12C480 5.4 474.6 0 468 0H428C421.4 0 416 5.4 416 12V52C416 58.6 421.4 64 428 64H468C474.6 64 480 58.6 480 52V12zM480 140C480 133.4 474.6 128 468 128H428C421.4 128 416 133.4 416 140V180C416 186.6 421.4 192 428 192H468C474.6 192 480 186.6 480 180V140z" /> + <glyph glyph-name="hospital-symbol" + unicode="" + horiz-adv-x="512" d=" M256 448C114.6 448 0 333.4 0 192S114.6 -64 256 -64S512 50.6 512 192S397.4 448 256 448zM368 72C368 67.6 364.4 64 360 64H312C307.6 64 304 67.6 304 72V160H208V72C208 67.6 204.4 64 200 64H152C147.6 64 144 67.6 144 72V312C144 316.4 147.6 320 152 320H200C204.4 320 208 316.4 208 312V224H304V312C304 316.4 307.6 320 312 320H360C364.4 320 368 316.4 368 312V72z" /> + <glyph glyph-name="hospital" + unicode="" + horiz-adv-x="448" d=" M448 -44V-64H0V-44C0 -37.373 5.373 -32 12 -32H32V328C32 341.255 42.745 352 56 352H144V424C144 437.255 154.745 448 168 448H280C293.255 448 304 437.255 304 424V352H392C405.255 352 416 341.255 416 328V-32H436C442.627 -32 448 -37.373 448 -44zM308 256H268C261.373 256 256 250.627 256 244V204C256 197.373 261.373 192 268 192H308C314.627 192 320 197.373 320 204V244C320 250.627 314.627 256 308 256zM140 192H180C186.627 192 192 197.373 192 204V244C192 250.627 186.627 256 180 256H140C133.373 256 128 250.627 128 244V204C128 197.373 133.373 192 140 192zM244 64H204C197.373 64 192 58.627 192 52V-32H256V52C256 58.627 250.627 64 244 64zM308 160H268C261.373 160 256 154.627 256 148V108C256 101.373 261.373 96 268 96H308C314.627 96 320 101.373 320 108V148C320 154.627 314.627 160 308 160zM192 148C192 154.627 186.627 160 180 160H140C133.373 160 128 154.627 128 148V108C128 101.373 133.373 96 140 96H180C186.627 96 192 101.373 192 108V148zM182 352H208V326A6 6 0 0 1 214 320H234A6 6 0 0 1 240 326V352H266A6 6 0 0 1 272 358V378A6 6 0 0 1 266 384H240V410A6 6 0 0 1 234 416H214A6 6 0 0 1 208 410V384H182A6 6 0 0 1 176 378V358A6 6 0 0 1 182 352z" /> + <glyph glyph-name="hot-tub" + unicode="" + horiz-adv-x="512" d=" M414.21 270.35C415.23 262.14 421.96 256 429.96 256H446.08C455.59 256 463.16 264.57 462.08 274.35C457.74 313.46 439.68 348.88 411.95 371.51C394.58 385.68 383.13 408.26 379.97 433.66C378.96 441.86 372.2200000000001 448 364.23 448H348.11C338.6 448 331.0200000000001 439.43 332.11 429.65C336.45 390.54 354.51 355.12 382.24 332.49C399.6 318.3200000000001 411.06 295.74 414.2100000000001 270.35zM306.21 270.35C307.23 262.14 313.96 256 321.96 256H338.08C347.59 256 355.16 264.57 354.08 274.35C349.74 313.46 331.68 348.88 303.95 371.51C286.58 385.68 275.13 408.26 271.97 433.66C270.96 441.86 264.2200000000001 448 256.23 448H240.11C230.6 448 223.02 439.43 224.11 429.65C228.45 390.54 246.51 355.12 274.24 332.49C291.6 318.3200000000001 303.06 295.74 306.2100000000001 270.35zM480 192H256L145.07 275.2A63.99 63.99 0 0 1 106.67 288H64C28.65 288 0 259.35 0 224V0C0 -35.35 28.65 -64 64 -64H448C483.35 -64 512 -35.35 512 0V160C512 177.67 497.67 192 480 192zM128 8C128 3.58 124.42 0 120 0H104C99.58 0 96 3.58 96 8V120C96 124.42 99.58 128 104 128H120C124.42 128 128 124.42 128 120V8zM224 8C224 3.58 220.42 0 216 0H200C195.58 0 192 3.58 192 8V120C192 124.42 195.58 128 200 128H216C220.42 128 224 124.42 224 120V8zM320 8C320 3.58 316.42 0 312 0H296C291.58 0 288 3.58 288 8V120C288 124.42 291.58 128 296 128H312C316.42 128 320 124.42 320 120V8zM416 8C416 3.58 412.42 0 408 0H392C387.58 0 384 3.58 384 8V120C384 124.42 387.58 128 392 128H408C412.42 128 416 124.42 416 120V8zM64 320C99.35 320 128 348.65 128 384S99.35 448 64 448S0 419.35 0 384S28.65 320 64 320z" /> + <glyph glyph-name="hotel" + unicode="" + horiz-adv-x="576" d=" M560 384C568.84 384 576 391.16 576 400V432C576 440.84 568.84 448 560 448H16C7.16 448 0 440.84 0 432V400C0 391.16 7.16 384 16 384H31.98V0H16C7.16 0 0 -7.16 0 -16V-48C0 -56.84 7.16 -64 16 -64H256V16C256 24.8 263.2 32 272 32H304C312.8 32 320 24.8 320 16V-64H560C568.84 -64 576 -56.84 576 -48V-16C576 -7.16 568.84 0 560 0H544V384H560zM256 339.2C256 345.6 262.4 352 268.8 352H307.2C313.6 352 320 345.6 320 339.2V300.8C320 294.4 313.6 288 307.2 288H268.8C262.4000000000001 288 256 294.4 256 300.8V339.2000000000001zM256 243.2C256 249.6 262.4 256 268.8 256H307.2C313.6 256 320 249.6 320 243.2V204.8C320 198.4 313.6 192 307.2 192H268.8C262.4000000000001 192 256 198.4 256 204.8V243.2zM128 339.2C128 345.6 134.4 352 140.8 352H179.2C185.6 352 192 345.6 192 339.2V300.8C192 294.4 185.6 288 179.2 288H140.8C134.4 288 128 294.4 128 300.8V339.2zM179.2 192H140.8C134.4 192 128 198.4 128 204.8V243.2C128 249.6 134.4 256 140.8 256H179.2C185.6 256 192 249.6 192 243.2V204.8C192 198.4 185.6 192 179.2 192zM192 64C192 117.02 234.98 160 288 160S384 117.02 384 64H192zM448 204.8C448 198.4 441.6 192 435.2 192H396.8C390.4000000000001 192 384 198.4 384 204.8V243.2C384 249.6 390.4 256 396.8 256H435.2C441.6 256 448 249.6 448 243.2V204.8zM448 300.8C448 294.4 441.6 288 435.2 288H396.8C390.4000000000001 288 384 294.4 384 300.8V339.2000000000001C384 345.6 390.4 352 396.8 352H435.2C441.6 352 448 345.6 448 339.2000000000001V300.8z" /> + <glyph glyph-name="hourglass-end" + unicode="" + horiz-adv-x="384" d=" M360 384C373.255 384 384 394.745 384 408V424C384 437.255 373.255 448 360 448H24C10.745 448 0 437.255 0 424V408C0 394.745 10.745 384 24 384C24 293.035 75.016 216.266 144.842 192C75.016 167.734 24 90.965 24 0C10.745 0 0 -10.745 0 -24V-40C0 -53.255 10.745 -64 24 -64H360C373.255 -64 384 -53.255 384 -40V-24C384 -10.745 373.255 0 360 0C360 90.965 308.984 167.734 239.158 192C308.984 216.266 360 293.035 360 384zM192 240C134.213 240 88 306.5180000000001 88 384H296C296 306.055 249.49 240 192 240z" /> + <glyph glyph-name="hourglass-half" + unicode="" + horiz-adv-x="384" d=" M360 448H24C10.745 448 0 437.255 0 424V408C0 394.745 10.745 384 24 384C24 293.035 75.016 216.266 144.842 192C75.016 167.734 24 90.965 24 0C10.745 0 0 -10.745 0 -24V-40C0 -53.255 10.745 -64 24 -64H360C373.255 -64 384 -53.255 384 -40V-24C384 -10.745 373.255 0 360 0C360 90.965 308.984 167.734 239.158 192C308.984 216.266 360 293.035 360 384C373.255 384 384 394.745 384 408V424C384 437.255 373.255 448 360 448zM284.9220000000001 64H99.08C116.139 110.797 151.176 144 192 144C232.821 144 267.862 110.804 284.9220000000001 64zM284.9410000000001 320H99.078C91.988 339.452 88 361.252 88 384H296C296 361.195 292.013 339.413 284.941 320z" /> + <glyph glyph-name="hourglass-start" + unicode="" + horiz-adv-x="384" d=" M360 448H24C10.745 448 0 437.255 0 424V408C0 394.745 10.745 384 24 384C24 293.035 75.016 216.266 144.842 192C75.016 167.734 24 90.965 24 0C10.745 0 0 -10.745 0 -24V-40C0 -53.255 10.745 -64 24 -64H360C373.255 -64 384 -53.255 384 -40V-24C384 -10.745 373.255 0 360 0C360 90.965 308.984 167.734 239.158 192C308.984 216.266 360 293.035 360 384C373.255 384 384 394.745 384 408V424C384 437.255 373.255 448 360 448zM296 0H88C88 77.458 134.204 144 192 144C249.786 144 296 77.483 296 0z" /> + <glyph glyph-name="hourglass" + unicode="" + horiz-adv-x="384" d=" M360 384C373.255 384 384 394.745 384 408V424C384 437.255 373.255 448 360 448H24C10.745 448 0 437.255 0 424V408C0 394.745 10.745 384 24 384C24 293.035 75.016 216.266 144.842 192C75.016 167.734 24 90.965 24 0C10.745 0 0 -10.745 0 -24V-40C0 -53.255 10.745 -64 24 -64H360C373.255 -64 384 -53.255 384 -40V-24C384 -10.745 373.255 0 360 0C360 90.965 308.984 167.734 239.158 192C308.984 216.266 360 293.035 360 384z" /> + <glyph glyph-name="i-cursor" + unicode="" + horiz-adv-x="256" d=" M256 395.952V435.935C256 442.504 250.726 447.852 244.158 447.9340000000001C211.621 448.344 166.469 447.989 128 410.041C90.266 447.264 46.979 448.114 11.913 447.886C5.318 447.843 0 442.481 0 435.886V396.241C0 389.554 5.458 384.163 12.145 384.243C38.111 384.553 96 380.757 96 335.818V224H60C53.373 224 48 218.627 48 212V172C48 165.373 53.373 160 60 160H96V48C96 3.068 39.925 -0.031 12.05 0.041C5.404 0.058 0 -5.306 0 -11.952V-51.935C0 -58.504 5.274 -63.852 11.842 -63.934C44.379 -64.3430000000001 89.531 -63.988 128 -26.04C165.734 -63.263 209.021 -64.1130000000001 244.087 -63.885C250.682 -63.842 256 -58.48 256 -51.885V-12.24C256 -5.553 250.542 -0.162 243.855 -0.242C217.889 -0.553 160 3.061 160 48V160H196C202.627 160 208 165.373 208 172V212C208 218.627 202.627 224 196 224H160V335.818C160 380.75 216.075 384.031 243.95 383.9600000000001C250.596 383.942 256 389.3060000000001 256 395.952z" /> + <glyph glyph-name="id-badge" + unicode="" + horiz-adv-x="384" d=" M336 448H48C21.5 448 0 426.5 0 400V-16C0 -42.5 21.5 -64 48 -64H336C362.5 -64 384 -42.5 384 -16V400C384 426.5 362.5 448 336 448zM144 416H240C248.8 416 256 408.8 256 400S248.8 384 240 384H144C135.2 384 128 391.2 128 400S135.2 416 144 416zM192 288C227.3 288 256 259.3 256 224S227.3 160 192 160S128 188.7 128 224S156.7 288 192 288zM304 51.2C304 40.6 294 32 281.6 32H102.4C90 32 80 40.6 80 51.2V70.4C80 102.2 110.1 128 147.2 128H152.2C164.5 122.9 177.9 120 192 120S219.6 122.9 231.8 128H236.8C273.9000000000001 128 304 102.2 304 70.4V51.2z" /> + <glyph glyph-name="id-card-alt" + unicode="" + horiz-adv-x="576" d=" M528 384H384V288H192V384H48C21.5 384 0 362.5 0 336V-16C0 -42.5 21.5 -64 48 -64H528C554.5 -64 576 -42.5 576 -16V336C576 362.5 554.5 384 528 384zM288 224C323.3 224 352 195.3 352 160S323.3 96 288 96S224 124.7 224 160S252.7 224 288 224zM381.3 0H194.7C184.3 0 175.9 10 179.1 19.8C187.4 45.4 211.5 64 240 64H248.2C260.5 58.9 273.9 56 288 56S315.6 58.9 327.8 64H336C364.4 64 388.5 45.5 396.9 19.8C400.1 10 391.7 0 381.3 0zM352 416C352 433.7 337.7 448 320 448H256C238.3 448 224 433.7 224 416V320H352V416z" /> + <glyph glyph-name="id-card" + unicode="" + horiz-adv-x="576" d=" M528 416H48C21.5 416 0 394.5 0 368V352H576V368C576 394.5 554.5 416 528 416zM0 16C0 -10.5 21.5 -32 48 -32H528C554.5 -32 576 -10.5 576 16V320H0V16zM352 248C352 252.4 355.6 256 360 256H504C508.4 256 512 252.4 512 248V232C512 227.6 508.4 224 504 224H360C355.6 224 352 227.6 352 232V248zM352 184C352 188.4 355.6 192 360 192H504C508.4 192 512 188.4 512 184V168C512 163.6 508.4 160 504 160H360C355.6 160 352 163.6 352 168V184zM352 120C352 124.4 355.6 128 360 128H504C508.4 128 512 124.4 512 120V104C512 99.6 508.4 96 504 96H360C355.6 96 352 99.6 352 104V120zM176 256C211.3 256 240 227.3 240 192S211.3 128 176 128S112 156.7 112 192S140.7 256 176 256zM67.1 51.8C75.5 77.5 99.6 96 128 96H136.2C148.5 90.9 161.9 88 176 88S203.6 90.9 215.8 96H224C252.4 96 276.5 77.5 284.9 51.8C288.1 41.9 279.7 32 269.3 32H82.7C72.3 32 63.9 42 67.1 51.8z" /> + <glyph glyph-name="image" + unicode="" + horiz-adv-x="512" d=" M464 0H48C21.49 0 0 21.49 0 48V336C0 362.51 21.49 384 48 384H464C490.51 384 512 362.51 512 336V48C512 21.49 490.51 0 464 0zM112 328C81.072 328 56 302.928 56 272S81.072 216 112 216S168 241.072 168 272S142.928 328 112 328zM64 64H448V176L360.485 263.515C355.7990000000001 268.201 348.201 268.201 343.514 263.515L208 128L152.485 183.515C147.799 188.201 140.201 188.201 135.514 183.515L64 112V64z" /> + <glyph glyph-name="images" + unicode="" + horiz-adv-x="576" d=" M480 32V16C480 -10.51 458.51 -32 432 -32H48C21.49 -32 0 -10.51 0 16V272C0 298.51 21.49 320 48 320H64V112C64 67.888 99.888 32 144 32H480zM576 112V368C576 394.51 554.51 416 528 416H144C117.49 416 96 394.51 96 368V112C96 85.49 117.49 64 144 64H528C554.51 64 576 85.49 576 112zM256 320C256 293.49 234.51 272 208 272S160 293.49 160 320S181.49 368 208 368S256 346.51 256 320zM160 176L215.515 231.515C220.201 236.201 227.799 236.201 232.486 231.515L272 192L407.515 327.515C412.201 332.201 419.799 332.201 424.486 327.515L512 240V128H160V176z" /> + <glyph glyph-name="inbox" + unicode="" + horiz-adv-x="576" d=" M567.938 204.092L462.25 362.626A48.003 48.003 0 0 1 422.311 384H153.689A48 48 0 0 1 113.751 362.626L8.062 204.092A47.994 47.994 0 0 1 0 177.467V48C0 21.49 21.49 0 48 0H528C554.51 0 576 21.49 576 48V177.467A47.994 47.994 0 0 1 567.938 204.092zM162.252 320H413.749L499.082 192H376L344 128H232L200 192H76.918L162.252 320z" /> + <glyph glyph-name="indent" + unicode="" + horiz-adv-x="448" d=" M0 364V404C0 412.837 7.163 420 16 420H432C440.837 420 448 412.837 448 404V364C448 355.163 440.837 348 432 348H16C7.163 348 0 355.163 0 364zM176 220H432C440.837 220 448 227.163 448 236V276C448 284.837 440.837 292 432 292H176C167.163 292 160 284.837 160 276V236C160 227.163 167.163 220 176 220zM16 -36H432C440.837 -36 448 -28.837 448 -20V20C448 28.837 440.837 36 432 36H16C7.163 36 0 28.837 0 20V-20C0 -28.837 7.163 -36 16 -36zM176 92H432C440.837 92 448 99.163 448 108V148C448 156.837 440.837 164 432 164H176C167.163 164 160 156.837 160 148V108C160 99.163 167.163 92 176 92zM123.313 203.313L27.313 299.297C17.266 309.348 0 302.224 0 287.9840000000001V96.009C0 81.68 17.325 74.705 27.313 84.696L123.313 180.6880000000001C129.562 186.9350000000001 129.562 197.0650000000001 123.313 203.3130000000001z" /> + <glyph glyph-name="industry" + unicode="" + horiz-adv-x="512" d=" M475.115 284.219L336 195.691V263.971C336 282.887 315.069 294.37 299.115 284.219L160 195.691V392C160 405.255 149.255 416 136 416H24C10.745 416 0 405.255 0 392V-8C0 -21.255 10.745 -32 24 -32H488C501.255 -32 512 -21.255 512 -8V263.971C512 282.8880000000001 491.069 294.37 475.115 284.219z" /> + <glyph glyph-name="infinity" + unicode="" + horiz-adv-x="640" d=" M471.1 352C405 352 353.3 310.7 320 273.4C286.7 310.7 235 352 168.9 352C75.8 352 0 280.2 0 192S75.8 32 168.9 32C235 32 286.7 73.3 320 110.6C353.3 73.3 405 32 471.1 32C564.2 32 640 103.8 640 192S564.2 352 471.1 352zM168.9 128C128.7 128 96 156.7 96 192S128.7 256 168.9 256C207.1 256 242.3 219.9 262.9 192C242.5 164.4 207 128 168.9 128zM471.1 128C432.9000000000001 128 397.7000000000001 164.1 377.1 192C397.5 219.6 433 256 471.1 256C511.3 256 544 227.3 544 192S511.3 128 471.1 128z" /> + <glyph glyph-name="info-circle" + unicode="" + horiz-adv-x="512" d=" M256 440C119.043 440 8 328.9170000000001 8 192C8 55.003 119.043 -56 256 -56S504 55.003 504 192C504 328.9170000000001 392.957 440 256 440zM256 330C279.1960000000001 330 298 311.1960000000001 298 288S279.1960000000001 246 256 246S214 264.804 214 288S232.804 330 256 330zM312 76C312 69.373 306.627 64 300 64H212C205.373 64 200 69.373 200 76V100C200 106.627 205.373 112 212 112H224V176H212C205.373 176 200 181.373 200 188V212C200 218.627 205.373 224 212 224H276C282.627 224 288 218.627 288 212V112H300C306.627 112 312 106.627 312 100V76z" /> + <glyph glyph-name="info" + unicode="" + horiz-adv-x="192" d=" M20 23.771H40V168.229H20C8.954 168.229 0 177.183 0 188.229V236C0 247.046 8.954 256 20 256H132C143.046 256 152 247.046 152 236V23.771H172C183.046 23.771 192 14.817 192 3.771V-44C192 -55.046 183.046 -64 172 -64H20C8.954 -64 0 -55.046 0 -44V3.771C0 14.817 8.954 23.771 20 23.771zM96 448C56.235 448 24 415.765 24 376S56.235 304 96 304S168 336.235 168 376S135.764 448 96 448z" /> + <glyph glyph-name="italic" + unicode="" + horiz-adv-x="320" d=" M204.758 32H170.909L233.0010000000001 352H273.7260000000001A16 16 0 0 1 289.4300000000001 364.937L295.6720000000001 396.937C297.599 406.8160000000001 290.034 416 279.968 416H120.235A16 16 0 0 1 104.531 403.063L98.289 371.063C96.362 361.184 103.927 352 113.993 352H147.839L85.749 32H46.278A16 16 0 0 1 30.574 19.065L24.329 -12.935C22.402 -22.815 29.967 -32 40.034 -32H198.513A16 16 0 0 1 214.217 -19.065L220.462 12.935C222.389 22.815 214.824 32 204.758 32z" /> + <glyph glyph-name="jedi" + unicode="" + horiz-adv-x="544" d=" M479.99 96L538.87 154.87C542.16 171.67 544 188.99 544 206.73C544 212.54 543.32 218.24 542.95 224H496L537.25 265.24C522.75 330.0300000000001 484.82 388.29 429.3400000000001 427.5100000000001C426.5700000000001 429.4700000000001 423.37 430.5000000000001 420.0900000000001 430.5000000000001C414.7200000000001 430.5000000000001 409.68 427.7900000000001 406.6 423.2600000000001C403.55 418.7700000000001 402.9600000000001 413.2700000000001 404.99 408.1700000000001C411.54 391.7100000000001 414.85 374.4400000000001 414.85 356.86C414.85 311.74 393.8200000000001 270.2900000000001 357.1600000000001 243.1300000000001C353.1400000000001 240.1500000000001 350.7000000000001 235.6300000000001 350.4600000000001 230.7300000000001C350.2200000000001 225.8100000000001 352.2200000000001 221.0700000000001 355.9500000000001 217.7000000000001C388.8800000000001 187.9500000000001 403.3000000000001 144.1900000000001 394.5200000000001 100.6300000000001C384.7800000000001 52.28 345.6800000000001 13.5300000000001 297.2100000000001 4.1300000000001L294.7100000000001 69.47L321.88 51C324.86 48.94 329.27 49.31 331.9 51.8A8.002 8.002 0 0 1 333.24 61.72L313.13 95.4500000000001L355.2 104.1700000000001C358.8999999999999 104.9200000000001 361.58 108.2200000000001 361.58 112.0000000000001C361.58 115.7700000000001 358.89 119.0600000000001 355.2 119.8300000000001L313.13 128.5600000000001L333.26 162.3300000000001C335.18 165.5600000000001 334.5999999999999 169.6400000000001 331.88 172.2400000000001C329.18 174.7900000000001 324.9099999999999 175.1300000000001 321.88 173.0400000000001L291.49 152.3700000000001L279.96 440.3A7.9639999999999995 7.9639999999999995 0 0 1 271.96 448C267.63 448 264.12 444.62 263.96 440.33L252.44 152.36L222.05 173.02C218.91 175.14 214.78 174.85 212.05 172.24C209.33 169.65 208.75 165.57 210.69 162.3L230.8 128.57L188.73 119.84C185.03 119.09 182.35 115.79 182.35 112.01S185.02 104.93 188.73 104.18L230.8 95.46L210.67 61.69C208.75 58.46 209.33 54.36 212.06 51.75C214.65 49.3 219.09 49 222.06 51L249.22 69.48L246.72 4.22C189.78 15.86 146.8299999999999 66.11 146.8299999999999 126.1400000000001C146.8299999999999 161.22 161.4499999999999 193.7400000000001 188 217.72C191.72 221.0800000000001 193.72 225.8300000000001 193.4799999999999 230.73C193.2399999999999 235.63 190.7999999999999 240.14 186.7899999999999 243.11C150.12 270.27 129.0799999999999 311.73 129.0799999999999 356.85C129.0799999999999 374.4100000000001 132.3899999999999 391.6600000000001 138.9199999999999 408.11C140.94 413.2 140.3499999999999 418.7 137.2999999999999 423.2C134.2199999999999 427.74 129.1699999999999 430.45 123.7899999999999 430.45C120.4899999999999 430.45 117.2899999999999 429.4100000000001 114.5199999999999 427.45C58.6499999999999 387.93 20.9199999999999 330.08 6.5499999999999 265.38L47.93 224H0.72C0.09 214.08 -0.25 204.09 0.22 194.01C0.84 180.58 2.76 167.48 5.33 154.6L63.93 96H24.02C65.27 5.77 155.15 -58.94 259.12 -63.71C263.42 -63.91 267.71 -64 271.9700000000001 -64C382.3100000000001 -64 477.3200000000001 1.83 519.95 96H479.9900000000001z" /> + <glyph glyph-name="joint" + unicode="" + horiz-adv-x="640" d=" M444.34 266.9C466.72 251.22 480 225.74 480 198.31V168C480 163.58 483.58 160 488 160H536C540.42 160 544 163.58 544 168V198.31C544 241.55 522.99 281.7200000000001 487.66 306.37C463.85 322.98 448 348.66 448 377.69V440C448 444.42 444.42 448 440 448H392C387.58 448 384 444.42 384 440V373.6C384 329.91 408.56 291.9700000000001 444.3400000000001 266.9zM194.97 89.02C126.03 77.93 59.69 53.31 0 16C83.65 -36.28 180.3 -64 278.94 -64H367.51L254.79 67.51C240.05 84.71 217.34 92.62 194.97 89.02zM553.28 360.91C547.61 364.71 544 370.87 544 377.69V440C544 444.42 540.42 448 536 448H488C483.58 448 480 444.42 480 440V377.69C480 355.67 490.17 334.28 508.64 322.3C550.79 294.9600000000001 576 248.46 576 198.31V168C576 163.58 579.58 160 584 160H632C636.42 160 640 163.58 640 168V198.31C640 263.75 607.59 324.5 553.28 360.91zM360.89 95.95C326.49 95.89 274.08 95.8 272.68 95.78L390.48 -41.65A63.98700000000001 63.98700000000001 0 0 1 439.07 -64H527.52L409.57 73.6A63.95499999999999 63.95499999999999 0 0 1 360.89 95.9500000000001zM616 96H432L549.99 -41.65A63.98700000000001 63.98700000000001 0 0 1 598.58 -64H616C629.25 -64 640 -53.25 640 -40V72C640 85.26 629.25 96 616 96z" /> + <glyph glyph-name="journal-whills" + unicode="" + horiz-adv-x="448" d=" M448 89.6V422.4C448 438.4 438.4 448 422.4 448H96C41.6 448 0 406.4 0 352V32C0 -22.4 41.6 -64 96 -64H422.4C435.2 -64 448 -54.4 448 -38.4V-22.4C448 -16 444.8 -9.6 438.4 -3.2C435.2 12.8 435.2 57.6 438.4 70.4C444.8 73.6 448 80 448 89.6zM133.08 303.61L154.34 282.35C155.9 280.79 157.95 280.01 160 280.01S164.09 280.79 165.66 282.35C168.78 285.4700000000001 168.78 290.54 165.66 293.6600000000001L139.24 320.0800000000001C149.24 340.98 165.48 358.05 185.61 369.3400000000001C179.62 359.6 176 348.26 176 336C176 316.04 185.33 298.43 199.66 286.69C190.01 276.63 184 263.04 184 248C184 221.06 203.04 198.6 228.38 193.24L229.74 225.95L219.37 218.91C218.68 218.46 217.9 218.22 217.12 218.22C216.12 218.22 215.14 218.6 214.37 219.31A4.006 4.006 0 0 0 213.68 224.26L222.22 238.57L204.31 242.29C202.45 242.68 201.12 244.32 201.12 246.21S202.45 249.74 204.31 250.13L222.22 253.85L213.68 268.16C212.73 269.77 213.01 271.83 214.37 273.11C215.73 274.41 217.81 274.55 219.37 273.52L231.38 265.36L236 376.17C236.09 378.31 237.86 380 240 380S243.91 378.31 244 376.17L248.68 263.88L262.88 273.53A4.067 4.067 0 0 0 267.88 273.12A4.006 4.006 0 0 0 268.57 268.17L260.03 253.86L277.94 250.14C279.8 249.7500000000001 281.13 248.11 281.13 246.2200000000001S279.8 242.6900000000001 277.94 242.3000000000001L260.03 238.5800000000001L268.57 224.2700000000001C269.52 222.66 269.24 220.6000000000001 267.88 219.3200000000001C267.11 218.6000000000001 266.11 218.2300000000001 265.13 218.2300000000001C264.35 218.2300000000001 263.57 218.46 262.88 218.9200000000001L250.2 227.5400000000001L251.63 193.2600000000001C276.96 198.6 296 221.06 296 248C296 263.04 289.99 276.63 280.34 286.69C294.67 298.43 304 316.04 304 336C304 348.26 300.38 359.6 294.4 369.33C314.53 358.05 330.77 340.9700000000001 340.77 320.07L314.35 293.65C311.23 290.53 311.23 285.46 314.35 282.34C315.91 280.78 317.96 280 320.01 280S324.1 280.78 325.67 282.34L346.93 303.6C349.9000000000001 293.52 352 283.05 352 272C352 271.48 351.86 271.01 351.85 270.49L314.74 238.02A7.974999999999999 7.974999999999999 0 0 1 313.99 226.74A7.97 7.97 0 0 1 320.01 224.01C321.89 224.01 323.76 224.67 325.28 225.99L348.87 246.63C337.32 197.04 293.09 160 240 160S142.68 197.04 131.14 246.62L154.73 225.98A7.957 7.957 0 0 1 160 224C162.22 224 164.44 224.92 166.02 226.73C168.94 230.06 168.6 235.11 165.27 238.01L128.16 270.48C128.15 271 128.01 271.4700000000001 128.01 271.99C128 283.05 130.1 293.52 133.08 303.61zM380.8 0H96C76.8 0 64 12.8 64 32S80 64 96 64H380.8V0z" /> + <glyph glyph-name="kaaba" + unicode="" + horiz-adv-x="576" d=" M554.12 364.49L318.36 443.07A95.962 95.962 0 0 1 257.6500000000001 443.07L21.88 364.49A32.006 32.006 0 0 1 0 334.13V285.12L265.02 364.63C280.05 369.13 295.94 369.13 311 364.63L576 285.12V334.13C576 347.9 567.19 360.13 554.12 364.49zM274.2200000000001 333.9700000000001L0 251.7V23.32C0 8.32 10.42 -4.66 25.06 -7.92L267.18 -61.72A95.937 95.937 0 0 1 308.83 -61.72L550.95 -7.92C565.59 -4.67 576.01 8.32 576.01 23.32V251.71L301.81 333.9700000000001C292.77 336.69 283.2200000000001 336.69 274.2200000000001 333.9700000000001zM128 217.89C128 214.28 125.59 211.12 122.11 210.17L42.11 188.35C37.02 186.97 32 190.8 32 196.07V212.65C32 216.26 34.41 219.42 37.89 220.37L117.89 242.19C122.98 243.58 128 239.75 128 234.47V217.89zM272 257.17C272 253.56 269.59 250.4 266.11 249.45L170.11 223.27C165.02 221.88 160 225.71 160 230.99V247.57C160 251.18 162.41 254.34 165.89 255.29L261.89 281.4700000000001C266.98 282.86 272 279.03 272 273.75V257.17zM448 234.47C448 239.75 453.02 243.58 458.11 242.19L538.11 220.37C541.59 219.42 544 216.26 544 212.65V196.07C544 190.79 538.98 186.96 533.89 188.35L453.89 210.17A7.997 7.997 0 0 0 448 217.89V234.47zM304 273.74C304 279.02 309.02 282.85 314.11 281.4600000000001L410.11 255.28C413.5900000000001 254.33 416 251.17 416 247.56V230.98C416 225.7 410.98 221.87 405.89 223.26L309.89 249.4400000000001A7.997 7.997 0 0 0 304 257.1600000000001V273.74z" /> + <glyph glyph-name="key" + unicode="" + horiz-adv-x="512" d=" M512 271.999C512 174.797 433.202 96 336 96C324.78 96 313.81 97.062 303.173 99.069L279.161 72.055A23.999000000000002 23.999000000000002 0 0 0 261.223 64H224V24C224 10.745 213.255 0 200 0H160V-40C160 -53.255 149.255 -64 136 -64H24C10.745 -64 0 -53.255 0 -40V38.059C0 44.424 2.529 50.529 7.029 55.03L168.831 216.832C163.108 234.186 160 252.729 160 272C160 369.202 238.797 447.999 335.999 448C433.488 448.001 512 369.4890000000001 512 271.999zM336 320C336 293.49 357.49 272 384 272S432 293.49 432 320S410.51 368 384 368S336 346.51 336 320z" /> + <glyph glyph-name="keyboard" + unicode="" + horiz-adv-x="576" d=" M528 0H48C21.49 0 0 21.49 0 48V336C0 362.51 21.49 384 48 384H528C554.51 384 576 362.51 576 336V48C576 21.49 554.51 0 528 0zM128 268V308C128 314.627 122.627 320 116 320H76C69.373 320 64 314.627 64 308V268C64 261.373 69.373 256 76 256H116C122.627 256 128 261.373 128 268zM224 268V308C224 314.627 218.627 320 212 320H172C165.373 320 160 314.627 160 308V268C160 261.373 165.373 256 172 256H212C218.627 256 224 261.373 224 268zM320 268V308C320 314.627 314.627 320 308 320H268C261.373 320 256 314.627 256 308V268C256 261.373 261.373 256 268 256H308C314.627 256 320 261.373 320 268zM416 268V308C416 314.627 410.627 320 404 320H364C357.373 320 352 314.627 352 308V268C352 261.373 357.373 256 364 256H404C410.627 256 416 261.373 416 268zM512 268V308C512 314.627 506.627 320 500 320H460C453.373 320 448 314.627 448 308V268C448 261.373 453.373 256 460 256H500C506.627 256 512 261.373 512 268zM176 172V212C176 218.627 170.627 224 164 224H124C117.373 224 112 218.627 112 212V172C112 165.373 117.373 160 124 160H164C170.627 160 176 165.373 176 172zM272 172V212C272 218.627 266.627 224 260 224H220C213.373 224 208 218.627 208 212V172C208 165.373 213.373 160 220 160H260C266.627 160 272 165.373 272 172zM368 172V212C368 218.627 362.627 224 356 224H316C309.373 224 304 218.627 304 212V172C304 165.373 309.373 160 316 160H356C362.627 160 368 165.373 368 172zM464 172V212C464 218.627 458.627 224 452 224H412C405.373 224 400 218.627 400 212V172C400 165.373 405.373 160 412 160H452C458.627 160 464 165.373 464 172zM128 76V116C128 122.627 122.627 128 116 128H76C69.373 128 64 122.627 64 116V76C64 69.373 69.373 64 76 64H116C122.627 64 128 69.373 128 76zM416 76V116C416 122.627 410.627 128 404 128H172C165.373 128 160 122.627 160 116V76C160 69.373 165.373 64 172 64H404C410.627 64 416 69.373 416 76zM512 76V116C512 122.627 506.627 128 500 128H460C453.373 128 448 122.627 448 116V76C448 69.373 453.373 64 460 64H500C506.627 64 512 69.373 512 76z" /> + <glyph glyph-name="khanda" + unicode="" + horiz-adv-x="512" d=" M415.81 382C409.44 385.5 401.44 384.33 396.45 378.98A15.973999999999998 15.973999999999998 0 0 1 394.54 359.4600000000001C411.03 333.3 419.74 303.07 419.74 272.05C419.55 218.8 392.97 169.36 348.47 139.64L271.84 86.29V106.39L315.89 142.48C319.81 146.68 320.89 152.57 318.7 157.76L310.85 175C344.6900000000001 194.26 367.79 230.25 367.79 271.99C367.79 312.78 345.7700000000001 348.12 313.2000000000001 367.7L318.4200000000001 379.14C320.7600000000001 384.67 319.3500000000001 390.9700000000001 314.8500000000001 395.18L255.86 448L196.87 395.19C192.37 390.98 190.97 384.68 193.3 379.15L198.52 367.7100000000001C165.95 348.13 143.93 312.78 143.93 271.99C143.93 230.24 167.02 194.26 200.87 175L193.02 157.76C190.83 152.58 191.92 146.69 195.83 142.48L239.88 106.39V86.49L163.29 139.82C119.02 169.38 92.44 218.81 92.26 272C92.26 303.08 100.97 333.31 117.46 359.4700000000001C121.33 365.63 119.86 373.24 114.87 378.55C109.87 383.89 101.19 384.75 94.85 381.25C16.32 338.4 -22.3 242.7 13.36 152.01C20.43 134.02 31.25 117.63 43.82 102.95L99.79 37.59C104.66 31.9 112.83 30.35 119.44 33.87L198.79 76.1L228 55.77L180.92 22.99C179.25 23.36 177.69 24 175.91 24C162.66 24 151.92 13.26 151.92 0C151.92 -13.25 162.66 -24 175.91 -24C188.01 -24 197.6 -14.89 199.24 -3.24L239.87 25.04V-4.91C230.48 -10.48 223.88 -20.29 223.88 -32.01C223.88 -49.6800000000001 238.2 -64.01 255.86 -64.01S287.84 -49.68 287.84 -32.01C287.84 -20.3 281.23 -10.49 271.85 -4.91V25.24L312.76 -3.24C314.4100000000001 -14.89 324 -24 336.09 -24C349.34 -24 360.08 -13.25 360.08 0C360.08 13.26 349.34 24 336.09 24C334.31 24 332.75 23.36 331.08 22.99L284 55.77L313.21 76.11L392.56 33.8799999999999C399.17 30.36 407.3399999999999 31.9099999999999 412.2099999999999 37.5899999999999L464.7199999999999 98.8999999999999C483.5899999999999 120.9199999999999 498.7199999999999 146.3999999999999 505.9699999999999 174.4899999999999C527.5899999999999 258.1499999999999 489.5199999999999 341.7599999999999 415.81 381.9999999999999zM319.82 272C319.82 249.7 308.33 230.08 290.99 218.62L285.3400000000001 231.03C276.5900000000001 255.55 276.5900000000001 282.07 285.3400000000001 306.5900000000001L293.17 323.77C309.24 312.12 319.82 293.3200000000001 319.82 272zM191.89 272C191.89 293.32 202.47 312.12 218.55 323.76L226.38 306.58C235.13 282.06 235.13 255.55 226.38 231.02L220.73 218.61C203.39 230.07 191.89 249.7 191.89 272z" /> + <glyph glyph-name="kiss-beam" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM209 220.1L199.5 237.1C191.8 250.8 180.3 258.7 168 258.7S144.2 250.8 136.5 237.1L127 220.1C122.8 212.7 111.4 216.1 112.1 224.6C115.4 266.7 144.3 296 168.1 296S220.8 266.7 224.1 224.6C224.6 216.1 213.2 212.6 209 220.1zM304 52C304 32.8 275.3 10.5 232.5 8C224 7.2 220.4 19.8 228.9 23.4L245.9 30.6C258.9 36.1 266.7 44.1 266.7 52.1S258.9 68.1 245.9 73.6L228.9 80.8C222.9 83.3 222.8 92.9999999999999 228.9 95.6L245.9 102.8C258.9 108.3 266.7 116.3 266.7 124.3S258.9 140.3 245.9 145.8L228.9 153C220.3 156.6 224.1 169.5 232.5 168.3999999999999C275.3 165.8999999999999 304 143.5999999999999 304 124.3999999999999C304 111.3999999999999 290.6 97.0999999999999 268.8 88.3999999999999C290.6 79.3 304 65 304 52zM369 220.1L359.5 237.1C351.8 250.8 340.3 258.7 328 258.7S304.2 250.8 296.5 237.1L287 220.1C282.9 212.8 271.4 216.1 272.1 224.6C275.4000000000001 266.7 304.3 296 328.1 296S380.8 266.7 384.1 224.6C384.6 216.1 373.2000000000001 212.6 369 220.1z" /> + <glyph glyph-name="kiss-wink-heart" + unicode="" + horiz-adv-x="504" d=" M501.1 45.5C493.1 66.3 469.6 77 448 71.4L439.6 69.2L437.3 77.6C431.4000000000001 98.9999999999999 410.3 114.1 388.3 110.6C363.1 106.6 347.7 81.9999999999999 354.3 57.9999999999999L377.2 -24.6C378.7 -29.9 384.2 -33.1 389.6 -31.7L472.6 -10.2C496.7 -3.9 510.3 21.6 501.1 45.4999999999999zM323.5 49.5C317.9 69.8 321.2 91.5 332.5 109.2C362.2 155.5 431.2 154.7 460.3 104.9C466.7 104.8 472.9 103.5 478.9 102C489.8 129.9 496.0000000000001 160.2 496.0000000000001 192C496 329 385 440 248 440S0 329 0 192S111 -56 248 -56C283.4 -56 316.9 -48.5 347.4 -35.1C347.1 -34.4 323.5 49.5 323.5 49.5zM168 208C150.3 208 136 222.3 136 240S150.3 272 168 272S200 257.7 200 240S185.7 208 168 208zM288 52C288 32.8 259.3 10.5 216.5 8C208 7.2 204.4 19.8 212.9 23.4L229.9 30.6C242.9 36.1 250.7 44.1 250.7 52.1S242.9 68.1 229.9 73.6L212.9 80.8C206.9 83.3 207.2 93.1 212.9 95.6L229.9 102.8C242.9 108.3 250.7 116.3 250.7 124.3S242.9 140.3 229.9 145.8L212.9 153C204.1 156.6999999999999 208.3 169.6 216.5 168.3999999999999C259.3 165.8999999999999 288 143.5999999999999 288 124.3999999999999C288 111.3999999999999 274.6 97.0999999999999 252.8 88.3999999999999C274.6 79.3 288 65 288 52zM304 231C295.7 223.6 282.4 230.6 284.2 241.8C288.2 267 318.4 283.9 344.1 283.9S400 267 404 241.8C405.7 230.7 392.7 223.5 384.2 231L374.7 239.5C359.9 252.7 328.5 252.7 313.7 239.5L304 231z" /> + <glyph glyph-name="kiss" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM168 208C150.3 208 136 222.3 136 240S150.3 272 168 272S200 257.7 200 240S185.7 208 168 208zM304 52C304 32.8 275.3 10.5 232.5 8C224 7.2 220.4 19.8 228.9 23.4L245.9 30.6C258.9 36.1 266.7 44.1 266.7 52.1S258.9 68.1 245.9 73.6L228.9 80.8C222.9 83.3 222.8 92.9999999999999 228.9 95.6L245.9 102.8C258.9 108.3 266.7 116.3 266.7 124.3S258.9 140.3 245.9 145.8L228.9 153C220.3 156.6 224.1 169.5 232.5 168.3999999999999C275.3 165.8999999999999 304 143.5999999999999 304 124.3999999999999C304 111.3999999999999 290.6 97.0999999999999 268.8 88.3999999999999C290.6 79.3 304 65 304 52zM328 208C310.3 208 296 222.3 296 240S310.3 272 328 272S360 257.7 360 240S345.7 208 328 208z" /> + <glyph glyph-name="kiwi-bird" + unicode="" + horiz-adv-x="576" d=" M575.81 230.02C572.64 290.5900000000001 518.28 336 457.63 336H448.26C395.44 336 344.01 352.25 300.52 382.24C258.53 411.2 204.48 423.86 147.31 410.94C129.3 406.88 -0.08 369.76 0 224C0.04 153.05 38.68 91.2 95.99 57.99V-16C95.99 -24.84 103.15 -32 111.99 -32H127.99C136.83 -32 143.99 -24.84 143.99 -16V38.26C159.35 34.3 175.39 32 191.99 32C197.43 32 202.67 32.73 207.99 33.18V-16C207.99 -24.84 215.15 -32 223.99 -32H239.99C248.83 -32 255.99 -24.84 255.99 -16V43.43C270.23 48.49 283.87 54.82 296.3300000000001 62.94C342.07 92.75 393.86 112 448.46 112C473.94 112 464.47 112.31 471.51 112.78L545.92 -23.66C548.78 -28.89 554.2199999999999 -32 559.9699999999999 -32C561.2799999999999 -32 562.6099999999999 -31.84 563.92 -31.5C571.01 -29.7 575.9699999999999 -23.31 575.9699999999999 -16C575.9699999999999 -16 576.1099999999999 224.24 575.81 230.02zM463.97 200C450.72 200 439.9700000000001 210.75 439.9700000000001 224C439.9700000000001 237.26 450.72 248 463.97 248S487.97 237.26 487.97 224C487.97 210.75 477.22 200 463.97 200zM543.97 46.75L504.11 119.83C519.23 125.66 532.84 134.43 543.97 145.81V46.75z" /> + <glyph glyph-name="landmark" + unicode="" + horiz-adv-x="512" d=" M501.62 355.89L267.24 445.96A31.958 31.958 0 0 1 244.77 445.96L10.38 355.89A16.001 16.001 0 0 1 0 340.91V304C0 295.16 7.16 288 16 288H496C504.84 288 512 295.16 512 304V340.91C512 347.58 507.86 353.55 501.62 355.89zM64 256V96H48C39.16 96 32 88.84 32 80V32H480V80C480 88.84 472.84 96 464 96H448V256H384V96H288V256H224V96H128V256H64zM496 0H16C7.16 0 0 -7.16 0 -16V-48C0 -56.84 7.16 -64 16 -64H496C504.84 -64 512 -56.84 512 -48V-16C512 -7.16 504.84 0 496 0z" /> + <glyph glyph-name="language" + unicode="" + horiz-adv-x="640" d=" M304 32H24C10.745 32 0 42.745 0 56V328C0 341.255 10.745 352 24 352H304V32zM183.324 104.622A12 12 0 0 1 194.839 96H217.702C225.922 96 231.709 104.078 229.064 111.861L171.61 280.915A12 12 0 0 1 160.248 289.054H127.759A12.001000000000001 12.001000000000001 0 0 1 116.397 280.915L58.942 111.861C56.297 104.078 62.084 96 70.304 96H93.109A12 12 0 0 1 104.644 104.693L113.762 136.5H173.973L183.324 104.622zM144.273 245.042S148.593 223.981 152.103 211.832L162.9030000000001 174.301H124.8330000000001L135.9030000000001 211.832C139.4130000000001 223.982 143.7330000000001 245.042 143.7330000000001 245.042H144.2730000000001zM616 32H336V352H616C629.255 352 640 341.255 640 328V56C640 42.745 629.255 32 616 32zM580 260H516V276C516 282.627 510.627 288 504 288H488C481.373 288 476 282.627 476 276V260H412C405.373 260 400 254.627 400 248V232C400 225.373 405.373 220 412 220H526.106C519.843 205.701 509.588 191.028 496.083 176.794C489.523 183.692 483.686 190.704 478.718 197.727C475.079 202.871 468.133 204.402 462.723 201.173L455.443 196.827L448.945 192.948C442.989 189.392 441.252 181.527 445.21 175.831C451.275 167.102 458.308 158.495 466.194 150.105C458.0719999999999 143.879 449.353 137.861 440.091 132.141C434.57 128.731 432.7099999999999 121.585 435.929 115.951L443.87 102.055C447.232 96.172 454.8049999999999 94.2289999999999 460.576 97.7789999999999C473.308 105.61 485.147 113.954 496.0189999999999 122.67C506.9359999999999 113.9089999999999 518.785 105.568 531.415 97.789C537.189 94.233 544.7679999999999 96.171 548.132 102.059L556.0759999999999 115.962C559.2889999999999 121.585 557.4459999999999 128.722 551.9409999999999 132.133A312.737 312.737 0 0 0 525.881 150.152C546.905 172.577 561.649 196.441 568.5939999999999 220.002H580C586.627 220.002 592 225.375 592 232.002V248.002C592 254.627 586.627 260 580 260z" /> + <glyph glyph-name="laptop-code" + unicode="" + horiz-adv-x="640" d=" M255.03 186.35C261.28 180.1 271.4100000000001 180.1 277.6600000000001 186.35L288.9700000000001 197.66C295.2200000000001 203.91 295.2200000000001 214.04 288.9700000000001 220.29L253.25 256L288.96 291.7200000000001C295.21 297.9700000000001 295.21 308.1 288.96 314.35L277.65 325.66C271.4 331.91 261.27 331.91 255.02 325.66L196.68 267.32C190.43 261.07 190.43 250.94 196.68 244.69L255.03 186.35zM351.04 197.65L362.35 186.34C368.6 180.09 378.73 180.09 384.98 186.34L443.3200000000001 244.6800000000001C449.5700000000001 250.9300000000001 449.5700000000001 261.0600000000001 443.3200000000001 267.3100000000001L384.98 325.6500000000001C378.73 331.9000000000001 368.6 331.9000000000001 362.35 325.6500000000001L351.04 314.3400000000001C344.79 308.0900000000001 344.79 297.9600000000001 351.04 291.7100000000001L386.75 256L351.04 220.28C344.79 214.03 344.79 203.9 351.04 197.65zM624 32H381.54C380.8 12.19 366.8300000000001 0 348.8 0H288C269.31 0 254.98 17.47 255.23 32H16C7.2 32 0 24.8 0 16V0C0 -35.2 28.8 -64 64 -64H576C611.2 -64 640 -35.2 640 0V16C640 24.8 632.8 32 624 32zM576 400C576 426.4 554.4 448 528 448H112C85.6 448 64 426.4 64 400V64H576V400zM512 128H128V384H512V128z" /> + <glyph glyph-name="laptop" + unicode="" + horiz-adv-x="640" d=" M624 32H381.54C380.8 12.19 366.8300000000001 0 348.8 0H288C269.31 0 254.98 17.47 255.23 32H16C7.2 32 0 24.8 0 16V0C0 -35.2 28.8 -64 64 -64H576C611.2 -64 640 -35.2 640 0V16C640 24.8 632.8 32 624 32zM576 400C576 426.4 554.4 448 528 448H112C85.6 448 64 426.4 64 400V64H576V400zM512 128H128V384H512V128z" /> + <glyph glyph-name="laugh-beam" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM272 240.6C275.3 282.7 304.2 312 328 312S380.7 282.7 384 240.6C384.7 232 373.2 228.7 369.1 236.1L359.6 253.1C351.9000000000001 266.8 340.4000000000001 274.7 328.1 274.7S304.3 266.8 296.6 253.1L287.1 236.1C282.9000000000001 228.7 271.3 232 272 240.6zM112 240.6C115.3 282.7 144.2 312 168 312S220.7 282.7 224 240.6C224.7 232 213.2 228.7 209.1 236.1L199.6 253.1C191.9 266.8 180.4 274.7 168.1 274.7S144.3 266.8 136.6 253.1L127.1 236.1C122.8 228.7 111.3 232.1 112 240.6zM398.9 142C390 71 329.4 16 256 16H240C166.6 16 106 71 97.1 142C95.9 151.5 103.4 160 113 160H383C392.6 160 400.1 151.6 398.9 142z" /> + <glyph glyph-name="laugh-squint" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM281.8 278.3L361.8 326.3C373.4000000000001 333.2000000000001 385.8 318.6 377.2 308.3L343.6 268L377.2000000000001 227.7C385.9000000000001 217.3 373.3000000000001 202.9 361.8000000000001 209.7L281.8000000000001 257.7C274.1000000000001 262.4 274.1000000000001 273.6 281.8000000000001 278.3zM118.8 308.3C110.2 318.6 122.6 333.2000000000001 134.2 326.3L214.2 278.3C222 273.6 222 262.4 214.2 257.7000000000001L134.2 209.7C122.7 202.9 110.2 217.3 118.8 227.7L152.4 268L118.8 308.3zM398.9 142C390 71 329.4 16 256 16H240C166.6 16 106 71 97.1 142C95.9 151.5 103.4 160 113 160H383C392.6 160 400.1 151.6 398.9 142z" /> + <glyph glyph-name="laugh-wink" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM268.1 241.9C272.1 267.1 302.3 284 328 284S383.9 267.1 387.9 241.9C389.6 230.8 376.5 223.6 368.1 231.1L358.6 239.6C343.8 252.8 312.4 252.8 297.6 239.6L288 231C279.6 223.6 266.4 230.7 268.1 241.9zM168 288C185.7 288 200 273.7 200 256S185.7 224 168 224S136 238.3 136 256S150.3 288 168 288zM398.9 142C390 71 329.4 16 256 16H240C166.6 16 106 71 97.1 142C95.9 151.5 103.4 160 113 160H383C392.6 160 400.1 151.6 398.9 142z" /> + <glyph glyph-name="laugh" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM328 288C345.7 288 360 273.7 360 256S345.7 224 328 224S296 238.3 296 256S310.3 288 328 288zM168 288C185.7 288 200 273.7 200 256S185.7 224 168 224S136 238.3 136 256S150.3 288 168 288zM256 16H240C166.6 16 106 71 97.1 142C95.9 151.5 103.4 160 113 160H383C392.6 160 400.1 151.6 398.9 142C390 71 329.4 16 256 16z" /> + <glyph glyph-name="layer-group" + unicode="" + horiz-adv-x="512" d=" M12.41 299.98L245.35 194.31C252.15 191.22 259.84 191.22 266.64 194.31L499.58 299.98C516.13 307.49 516.13 332.5 499.58 340.01L266.65 445.69A25.606999999999996 25.606999999999996 0 0 1 245.36 445.69L12.41 340.02C-4.14 332.51 -4.14 307.49 12.41 299.98zM499.59 211.7L441.5 238.03L279.86 164.76C272.3 161.33 264.2700000000001 159.59 256 159.59S239.71 161.33 232.14 164.76L70.51 238.03L12.41 211.7C-4.14 204.2 -4.14 179.2 12.41 171.7L245.35 66.11C252.15 63.03 259.84 63.03 266.64 66.11L499.59 171.7C516.14 179.2 516.14 204.2 499.59 211.7zM499.59 83.9L441.7200000000001 110.13L279.86 36.76C272.3 33.33 264.2700000000001 31.59 256 31.59S239.71 33.33 232.14 36.76L70.29 110.13L12.41 83.9C-4.14 76.4 -4.14 51.4 12.41 43.9L245.35 -61.69C252.15 -64.7700000000001 259.84 -64.7700000000001 266.64 -61.69L499.59 43.9C516.14 51.4 516.14 76.4 499.59 83.9z" /> + <glyph glyph-name="leaf" + unicode="" + horiz-adv-x="576" d=" M546.2 438.3C540.6 450.8 524.6 451.3 517.9000000000001 439.5C486.9 385.6 431.4 352 368 352H288C182 352 96 266 96 160C96 153 96.8 146.3 97.5 139.5C161.3 185.2 253.4 224 384 224C392.8 224 400 216.8 400 208S392.8 192 384 192C132.6 192 26 37.9 2.4 -20C-4.2 -36.3 3.6 -54.9 19.9 -61.6C36.3 -68.4 54.9 -60.5 61.7 -44.3C63.2 -40.7 82.6 3.6 133.6 46.3C166 2.4 227.6 -39.5000000000001 308.5 -30.9C465.5 -19.5 576 121.3 576 293.7C576 343.9 565.2 395.9 546.2 438.3z" /> + <glyph glyph-name="lemon" + unicode="" + horiz-adv-x="512" d=" M489.038 425.037C465.944 448.13 434.648 453.93 413.947 441.871C355.041 407.5590000000001 232.697 494.948 92.874 355.125S40.441 92.959 6.129 34.055C-5.93 13.353 -0.131 -17.944 22.962 -41.038C46.057 -64.133 77.354 -69.929 98.057 -57.87C156.958 -23.56 279.303 -110.9489999999999 419.125 28.873S471.56 291.04 505.871 349.944C517.93 370.646 512.132 401.943 489.038 425.0370000000001zM243.881 352.478C185.692 337.931 110.073 262.323 95.523 204.12C93.706 196.85 87.181 191.996 80.012 191.996C78.728 191.996 77.422 192.152 76.119 192.477C67.547 194.621 62.335 203.307 64.477 211.88C81.901 281.573 166.316 366.07 236.119 383.522C244.694 385.665 253.38 380.453 255.522 371.88S252.453 354.621 243.881 352.478z" /> + <glyph glyph-name="less-than-equal" + unicode="" + horiz-adv-x="448" d=" M54.98 233.8L356.3900000000001 113.93C374.7800000000001 107.9 395.1 116.47 401.7700000000001 133.08L413.86 163.16C420.54 179.77 411.04 198.13 392.6500000000001 204.16L217.21 272.21L392.7700000000001 340.3C411.0600000000001 346.3 420.5100000000001 364.57 413.8700000000001 381.09L401.8400000000001 411.01C395.2000000000001 427.54 374.9800000000001 436.07 356.6900000000001 430.07L54.98 310.11C41.21 305.5900000000001 32 293.5 32 279.93V263.9700000000001C32 250.41 41.21 238.32 54.98 233.8zM424 48H24C10.75 48 0 37.26 0 24V-24C0 -37.25 10.75 -48 24 -48H424C437.25 -48 448 -37.25 448 -24V24C448 37.26 437.25 48 424 48z" /> + <glyph glyph-name="less-than" + unicode="" + horiz-adv-x="384" d=" M365.46 90.26L147.04 192.11L365.51 293.99C381.53 301.4600000000001 388.46 320.5 380.99 336.52L367.4700000000001 365.52C360 381.54 340.96 388.4700000000001 324.94 381L18.48 238.09A32.014 32.014 0 0 1 0 209.09V174.85C0 162.41 7.21 151.1 18.48 145.85L324.79 3.02C340.85 -4.47 359.94 2.48 367.43 18.54L380.99 47.62C388.48 63.68 381.5300000000001 82.7699999999999 365.4600000000001 90.2599999999999z" /> + <glyph glyph-name="level-down-alt" + unicode="" + horiz-adv-x="320" d=" M313.553 55.669L209.587 -56.334C200.102 -66.548 183.911 -66.563 174.413 -56.334L70.438 55.669C56.232 70.969 67.062 96 88.025 96H152V368H68.024A11.996 11.996 0 0 0 59.539 371.515L3.539 427.515C-4.021 435.074 1.333 448 12.024 448H208C221.255 448 232 437.255 232 424V96H295.966C316.844 96 327.817 71.031 313.553 55.669z" /> + <glyph glyph-name="level-up-alt" + unicode="" + horiz-adv-x="320" d=" M313.553 328.331L209.587 440.334C200.102 450.548 183.911 450.563 174.413 440.334L70.438 328.331C56.232 313.031 67.062 288 88.025 288H152V16H68.024A11.996 11.996 0 0 1 59.539 12.485L3.539 -43.515C-4.021 -51.074 1.333 -64 12.024 -64H208C221.255 -64 232 -53.255 232 -40V288H295.966C316.844 288 327.817 312.969 313.553 328.331z" /> + <glyph glyph-name="life-ring" + unicode="" + horiz-adv-x="512" d=" M256 440C119.033 440 8 328.967 8 192S119.033 -56 256 -56S504 55.033 504 192S392.967 440 256 440zM429.6960000000001 320.4410000000001L366.2970000000001 257.0420000000001C355.31 275.601 339.627 291.294 321.0420000000001 302.2970000000001L384.4410000000001 365.6960000000001A218.396 218.396 0 0 0 429.6960000000001 320.4410000000001zM256 96C202.981 96 160 138.981 160 192S202.981 288 256 288S352 245.019 352 192S309.019 96 256 96zM127.559 365.6960000000001L190.958 302.2970000000001C172.399 291.31 156.706 275.627 145.703 257.0420000000001L82.304 320.4410000000001A218.372 218.372 0 0 0 127.559 365.6960000000001zM82.304 63.559L145.703 126.958C156.69 108.399 172.373 92.706 190.958 81.703L127.559 18.304A218.396 218.396 0 0 0 82.304 63.559zM384.4410000000001 18.304L321.0420000000001 81.703C339.6010000000001 92.6900000000001 355.2940000000001 108.3730000000001 366.2970000000001 126.958L429.6960000000001 63.559A218.40299999999996 218.40299999999996 0 0 0 384.4410000000001 18.304z" /> + <glyph glyph-name="lightbulb" + unicode="" + horiz-adv-x="352" d=" M96.06 -6.35C96.07 -12.64 97.93 -18.8 101.42 -24.04L118.51 -49.73A31.989999999999995 31.989999999999995 0 0 1 145.15 -64.01H206.86A31.989999999999995 31.989999999999995 0 0 1 233.5 -49.73L250.59 -24.04A31.989000000000004 31.989000000000004 0 0 1 255.95 -6.35L255.99 32H96.01L96.06 -6.35zM0 272C0 227.63 16.45 187.15 43.56 156.22C60.08 137.37 85.92 97.99 95.77 64.77C95.81 64.5100000000001 95.84 64.2500000000001 95.88 63.9900000000001H256.12C256.1600000000001 64.2500000000001 256.19 64.5000000000001 256.23 64.77C266.0800000000001 97.99 291.92 137.37 308.44 156.22C335.55 187.15 352 227.63 352 272C352 369.39 272.9100000000001 448.3 175.45 448C73.44 447.69 0 365.03 0 272zM176 352C131.89 352 96 316.11 96 272C96 263.16 88.84 256 80 256S64 263.16 64 272C64 333.76 114.24 384 176 384C184.84 384 192 376.8400000000001 192 368S184.84 352 176 352z" /> + <glyph glyph-name="link" + unicode="" + horiz-adv-x="512" d=" M326.612 262.6090000000001C386.3590000000001 202.8 385.5390000000001 106.911 326.9720000000001 48.019C326.862 47.899 326.7320000000001 47.769 326.612 47.649L259.4120000000001 -19.551C200.142 -78.821 103.713 -78.813 44.452 -19.551C-14.818 39.709 -14.818 136.149 44.452 195.409L81.558 232.515C91.398 242.355 108.344 235.8150000000001 108.852 221.909C109.5 204.187 112.678 186.382 118.542 169.1880000000001C120.528 163.3660000000001 119.109 156.9260000000001 114.759 152.576L101.672 139.489C73.646 111.463 72.767 65.8290000000001 100.517 37.5290000000001C128.541 8.95 174.603 8.78 202.842 37.0190000000001L270.0420000000001 104.2090000000001C298.233 132.4 298.115 177.9660000000001 270.0420000000001 206.0390000000001C266.341 209.733 262.6130000000001 212.603 259.701 214.608A16.037 16.037 0 0 0 252.754 227.2140000000001C252.3580000000001 237.7810000000001 256.1020000000001 248.67 264.452 257.0200000000001L285.506 278.0750000000001C291.027 283.596 299.688 284.2740000000001 306.09 279.8060000000001A152.482 152.482 0 0 0 326.612 262.6090000000001zM467.547 403.551C408.286 462.813 311.8570000000001 462.821 252.587 403.551L185.387 336.351C185.267 336.231 185.137 336.101 185.027 335.981C126.461 277.089 125.64 181.2 185.387 121.391A152.454 152.454 0 0 1 205.908 104.1949999999999C212.31 99.7269999999999 220.972 100.406 226.492 105.9259999999999L247.546 126.981C255.896 135.331 259.6400000000001 146.2199999999999 259.2440000000001 156.7869999999999A16.037 16.037 0 0 1 252.2970000000001 169.3929999999999C249.385 171.3979999999999 245.6570000000001 174.2679999999999 241.956 177.9619999999999C213.883 206.035 213.765 251.601 241.956 279.7919999999999L309.156 346.9819999999999C337.395 375.2209999999999 383.456 375.051 411.481 346.4719999999999C439.231 318.1719999999999 438.353 272.5379999999999 410.326 244.5119999999999L397.2390000000001 231.425C392.889 227.075 391.4700000000001 220.6349999999999 393.456 214.8129999999999C399.32 197.619 402.498 179.8139999999999 403.146 162.0919999999999C403.6550000000001 148.1859999999999 420.6 141.6459999999999 430.44 151.4859999999999L467.546 188.5919999999999C526.817 247.851 526.817 344.291 467.547 403.551z" /> + <glyph glyph-name="lira-sign" + unicode="" + horiz-adv-x="384" d=" M371.9940000000001 192H323.975C317.64 192 312 187.088 312 180.754C312 80 230.179 32 144 32V191.219L278.603 221.131A12 12 0 0 1 288 232.845V273.8210000000001C288 281.498 280.891 287.201 273.397 285.535L144 256.781V287.2200000000001L278.603 317.132A12 12 0 0 1 288 328.846V369.8210000000001C288 377.498 280.891 383.201 273.397 381.535L144 352.781V404C144 410.627 138.627 416 132 416H76C69.373 416 64 410.627 64 404V335.003L9.397 322.8690000000001A12 12 0 0 1 0 311.155V270.179C0 262.502 7.109 256.799 14.603 258.4650000000001L64 269.442V239.003L9.397 226.869A12 12 0 0 1 0 215.155V174.179C0 166.502 7.109 160.799 14.603 162.465L64 173.442V-20C64 -26.627 69.373 -32 76 -32H155.583C289.674 -32 378.838 45.834 383.991 179.592C384.252 186.374 378.78 192 371.994 192z" /> + <glyph glyph-name="list-alt" + unicode="" + horiz-adv-x="512" d=" M464 -32H48C21.49 -32 0 -10.51 0 16V368C0 394.51 21.49 416 48 416H464C490.51 416 512 394.51 512 368V16C512 -10.51 490.51 -32 464 -32zM128 328C105.909 328 88 310.091 88 288S105.909 248 128 248S168 265.909 168 288S150.091 328 128 328zM128 232C105.909 232 88 214.091 88 192S105.909 152 128 152S168 169.909 168 192S150.091 232 128 232zM128 136C105.909 136 88 118.091 88 96S105.909 56 128 56S168 73.909 168 96S150.091 136 128 136zM416 272V304C416 310.627 410.627 316 404 316H204C197.373 316 192 310.627 192 304V272C192 265.373 197.373 260 204 260H404C410.627 260 416 265.373 416 272zM416 176V208C416 214.627 410.627 220 404 220H204C197.373 220 192 214.627 192 208V176C192 169.373 197.373 164 204 164H404C410.627 164 416 169.373 416 176zM416 80V112C416 118.627 410.627 124 404 124H204C197.373 124 192 118.627 192 112V80C192 73.373 197.373 68 204 68H404C410.627 68 416 73.373 416 80z" /> + <glyph glyph-name="list-ol" + unicode="" + horiz-adv-x="512" d=" M3.263 308.473C3.263 315.9500000000001 7.18 320.045 14.836 320.045H29.967V359.9220000000001C29.967 365.085 30.501 370.425 30.501 370.425H30.145S28.366 367.755 27.297 366.687C22.846 362.414 16.793 362.236 11.631 367.755L6.113 373.986C0.771 379.327 1.129 385.202 6.647 390.365L28.367 410.303C32.815 414.398 36.732 416 42.785 416H54.89C62.546 416 66.639 412.084 66.639 404.428V320.044H82.127C89.782 320.044 93.699 315.95 93.699 308.472V299.5710000000001C93.699 292.094 89.782 287.999 82.127 287.999H14.836C7.18 287.999 3.263 292.094 3.263 299.5710000000001V308.473zM2.211 143.409C2.211 190.687 53.166 199.792 53.166 212.574C53.166 219.754 47.212 221.329 43.886 221.329C40.733 221.329 37.407 220.278 34.431 217.477C29.352 212.574 23.924 210.473 18.32 215.026L9.741 221.855C3.962 226.408 2.561 231.6600000000001 6.938 237.264C13.592 246.019 26.025 256 47.387 256C66.824 256 91.863 245.494 91.863 216.427C91.863 178.08 45.11 170.025 43.184 159.518H82.233C89.762 159.518 93.79 155.491 93.79 148.136V139.381C93.79 132.027 89.762 127.999 82.233 127.999H14.293C7.288 127.999 2.21 132.027 2.21 139.381V143.409zM5.654 -6.61L11.257 2.67C15.11 9.324 20.362 9.674 26.841 5.8219999999999C31.744 3.7209999999999 36.471 2.67 41.2 2.67C51.355 2.67 55.558 6.172 55.558 10.9C55.558 17.554 49.954 20.006 39.624 20.006H34.896C28.942 20.006 25.616 22.107 22.638 27.886L21.588 29.812C19.137 34.54 20.362 39.6179999999999 24.389 44.696L29.993 51.7C36.822 60.105 42.25 65.183 42.25 65.183V65.533S38.047 64.482 29.642 64.482H16.685C9.155 64.482 5.302 68.5100000000001 5.302 75.864V84.619C5.302 92.149 9.155 96.001 16.685 96.001H75.169C82.698 96.001 86.551 91.9740000000001 86.551 84.619V81.292C86.551 75.514 85.15 71.4860000000001 81.472 67.109L63.963 46.972C83.574 41.8940000000001 92.679 26.485 92.679 12.1270000000001C92.679 -9.2359999999999 78.321 -31.9989999999999 44.176 -31.9989999999999C27.54 -31.9989999999999 15.984 -27.2709999999999 8.28 -22.5439999999999C2.501 -18.3419999999999 1.976 -12.7389999999999 5.654 -6.6099999999999zM144 316H496C504.837 316 512 323.163 512 332V372C512 380.837 504.837 388 496 388H144C135.163 388 128 380.837 128 372V332C128 323.163 135.163 316 144 316zM144 156H496C504.837 156 512 163.163 512 172V212C512 220.837 504.837 228 496 228H144C135.163 228 128 220.837 128 212V172C128 163.163 135.163 156 144 156zM144 -4H496C504.837 -4 512 3.163 512 12V52C512 60.837 504.837 68 496 68H144C135.163 68 128 60.837 128 52V12C128 3.163 135.163 -4 144 -4z" /> + <glyph glyph-name="list-ul" + unicode="" + horiz-adv-x="512" d=" M96 352C96 325.49 74.51 304 48 304S0 325.49 0 352S21.49 400 48 400S96 378.51 96 352zM48 240C21.49 240 0 218.51 0 192S21.49 144 48 144S96 165.49 96 192S74.51 240 48 240zM48 80C21.49 80 0 58.51 0 32S21.49 -16 48 -16S96 5.49 96 32S74.51 80 48 80zM144 316H496C504.837 316 512 323.163 512 332V372C512 380.837 504.837 388 496 388H144C135.163 388 128 380.837 128 372V332C128 323.163 135.163 316 144 316zM144 156H496C504.837 156 512 163.163 512 172V212C512 220.837 504.837 228 496 228H144C135.163 228 128 220.837 128 212V172C128 163.163 135.163 156 144 156zM144 -4H496C504.837 -4 512 3.163 512 12V52C512 60.837 504.837 68 496 68H144C135.163 68 128 60.837 128 52V12C128 3.163 135.163 -4 144 -4z" /> + <glyph glyph-name="list" + unicode="" + horiz-adv-x="512" d=" M128 332V372C128 380.837 135.163 388 144 388H496C504.837 388 512 380.837 512 372V332C512 323.163 504.837 316 496 316H144C135.163 316 128 323.163 128 332zM144 156H496C504.837 156 512 163.163 512 172V212C512 220.837 504.837 228 496 228H144C135.163 228 128 220.837 128 212V172C128 163.163 135.163 156 144 156zM144 -4H496C504.837 -4 512 3.163 512 12V52C512 60.837 504.837 68 496 68H144C135.163 68 128 60.837 128 52V12C128 3.163 135.163 -4 144 -4zM16 304H80C88.837 304 96 311.163 96 320V384C96 392.837 88.837 400 80 400H16C7.163 400 0 392.837 0 384V320C0 311.163 7.163 304 16 304zM16 144H80C88.837 144 96 151.163 96 160V224C96 232.837 88.837 240 80 240H16C7.163 240 0 232.837 0 224V160C0 151.163 7.163 144 16 144zM16 -16H80C88.837 -16 96 -8.837 96 0V64C96 72.837 88.837 80 80 80H16C7.163 80 0 72.837 0 64V0C0 -8.837 7.163 -16 16 -16z" /> + <glyph glyph-name="location-arrow" + unicode="" + horiz-adv-x="512" d=" M444.52 444.48L28.74 252.58C-19.23 230.19 -3.24 159.8300000000001 47.93 159.8300000000001H223.84V-16.0799999999999C223.84 -67.2499999999999 294.2 -83.2499999999999 316.5900000000001 -35.2699999999999L508.49 380.5100000000001C524.48 418.9000000000001 482.9 460.48 444.52 444.48z" /> + <glyph glyph-name="lock-open" + unicode="" + horiz-adv-x="576" d=" M423.5 448C339.5 447.7 272 378.5 272 294.5V224H48C21.5 224 0 202.5 0 176V-16C0 -42.5 21.5 -64 48 -64H400C426.5 -64 448 -42.5 448 -16V176C448 202.5 426.5 224 400 224H352V295.1C352 334.7 383.7 367.6 423.3 368C463.3 368.4 496 335.9 496 296V216C496 202.7 506.7 192 520 192H552C565.3 192 576 202.7 576 216V296C576 380 507.5 448.3 423.5 448z" /> + <glyph glyph-name="lock" + unicode="" + horiz-adv-x="448" d=" M400 224H376V296C376 379.8 307.8 448 224 448S72 379.8 72 296V224H48C21.5 224 0 202.5 0 176V-16C0 -42.5 21.5 -64 48 -64H400C426.5 -64 448 -42.5 448 -16V176C448 202.5 426.5 224 400 224zM296 224H152V296C152 335.7 184.3 368 224 368S296 335.7 296 296V224z" /> + <glyph glyph-name="long-arrow-alt-down" + unicode="" + horiz-adv-x="256" d=" M168 102.059V404C168 410.627 162.627 416 156 416H100C93.373 416 88 410.627 88 404V102.059H41.941C20.559 102.059 9.851 76.208 24.97 61.088L111.029 -24.971C120.402 -34.344 135.598 -34.344 144.97 -24.971L231.029 61.088C246.148 76.207 235.44 102.059 214.058 102.059H168z" /> + <glyph glyph-name="long-arrow-alt-left" + unicode="" + horiz-adv-x="448" d=" M134.059 152H436C442.627 152 448 157.373 448 164V220C448 226.627 442.627 232 436 232H134.059V278.059C134.059 299.4410000000001 108.208 310.149 93.088 295.03L7.029 208.971C-2.344 199.598 -2.344 184.402 7.029 175.03L93.088 88.971C108.207 73.852 134.059 84.56 134.059 105.942V152z" /> + <glyph glyph-name="long-arrow-alt-right" + unicode="" + horiz-adv-x="448" d=" M313.941 232H12C5.373 232 0 226.627 0 220V164C0 157.373 5.373 152 12 152H313.941V105.941C313.941 84.559 339.792 73.851 354.912 88.97L440.971 175.029C450.344 184.402 450.344 199.598 440.971 208.97L354.9120000000001 295.029C339.793 310.148 313.9410000000001 299.44 313.9410000000001 278.058V232z" /> + <glyph glyph-name="long-arrow-alt-up" + unicode="" + horiz-adv-x="256" d=" M88 281.9410000000001V-20C88 -26.627 93.373 -32 100 -32H156C162.627 -32 168 -26.627 168 -20V281.9410000000001H214.059C235.441 281.9410000000001 246.149 307.7920000000001 231.03 322.9120000000001L144.971 408.971C135.598 418.344 120.402 418.344 111.03 408.971L24.971 322.9120000000001C9.852 307.793 20.56 281.9410000000001 41.942 281.9410000000001H88z" /> + <glyph glyph-name="low-vision" + unicode="" + horiz-adv-x="576" d=" M569.344 216.369C512.96 312.051 407.81 376 288 376C259.532 376 231.898 372.381 205.549 365.591L152.778 437.76C145.177 448.618 130.214 451.26 119.355 443.6600000000001L106.241 434.482C95.381 426.881 92.739 411.916 100.341 401.056L143.472 342.661C89.449 316.27 40.228 273.317 6.682 216.419C6.672 216.402 6.659 216.386 6.648 216.369C-2.117 201.494 -2.316 182.841 6.648 167.63C45.148 102.298 106.39 51.768 179.507 26.281L55.316 203.698A272.194 272.194 0 0 0 83.61 239.61L203.01 69.03H203.02L243.65 10.99A330.055 330.055 0 0 1 322.59 9.8199999999999L132.61 281.2199999999999A277.628 277.628 0 0 0 171.387 302.7829999999999L423.223 -53.7610000000001C430.824 -64.619 445.7870000000001 -67.2600000000001 456.646 -59.6610000000001L469.76 -50.4830000000001C480.62 -42.8820000000001 483.262 -27.9160000000001 475.66 -17.0570000000001L432.54 41.3199999999999L432.533 41.329C489.694 69.307 537.3679999999999 113.369 569.343 167.63A47.937999999999995 47.937999999999995 0 0 1 569.3439999999999 216.369zM390.026 102.06L370.9600000000001 129.29C395.6420000000001 161.857 398.6710000000001 205.643 379.7600000000001 240.9700000000001V240.9400000000001C379.7600000000001 217.29 360.5900000000001 198.12 336.9400000000001 198.12C313.1120000000001 198.12 294.1200000000001 217.469 294.1200000000001 240.9400000000001C294.1200000000001 264.5900000000001 313.2900000000001 283.76 336.9400000000001 283.76H336.9700000000001C312.2200000000001 297.009 283.4480000000001 299.403 257.4600000000001 291.4400000000001L238.392 318.677C253.758 324.694 270.488 328 288 328C363.1620000000001 328 424 267.174 424 192C424 157.496 411.167 126.025 390.026 102.06z" /> + <glyph glyph-name="luggage-cart" + unicode="" + horiz-adv-x="640" d=" M224 128H256V352H224C206.33 352 192 337.67 192 320V160C192 142.33 206.33 128 224 128zM576 160V320C576 337.67 561.67 352 544 352H512V128H544C561.67 128 576 142.33 576 160zM624 64H128V432C128 440.84 120.84 448 112 448H16C7.16 448 0 440.84 0 432V400C0 391.16 7.16 384 16 384H64V16C64 7.16 71.16 0 80 0H162.94C161.15 -5.03 160 -10.36 160 -16C160 -42.51 181.49 -64 208 -64S256 -42.51 256 -16C256 -10.36 254.85 -5.03 253.06 0H450.94C449.15 -5.03 448 -10.36 448 -16C448 -42.51 469.49 -64 496 -64S544 -42.51 544 -16C544 -10.36 542.85 -5.03 541.06 0H624C632.84 0 640 7.16 640 16V48C640 56.84 632.84 64 624 64zM480 352V400C480 426.51 458.51 448 432 448H336C309.49 448 288 426.51 288 400V128H480V352zM432 352H336V400H432V352z" /> + <glyph glyph-name="magic" + unicode="" + horiz-adv-x="512" d=" M224 352L240 384L272 400L240 416L224 448L208 416L176 400L208 384L224 352zM80 288L106.66 341.33L160 368L106.66 394.67L80 448L53.34 394.67L0 368L53.34 341.33L80 288zM432 160L405.34 106.67L352 80L405.3400000000001 53.33L432 0L458.66 53.33L512 80L458.66 106.67L432 160zM502.62 353.77L417.77 438.62C411.53 444.88 403.34 448 395.15 448C386.96 448 378.77 444.88 372.52 438.62L9.38 75.48C-3.12 62.98 -3.12 42.72 9.38 30.23L94.23 -54.62C100.48 -60.87 108.67 -63.99 116.85 -63.99C125.04 -63.99 133.23 -60.87 139.48 -54.62L502.62 308.53C515.12 321.01 515.12 341.28 502.62 353.77zM359.45 244.54L308.54 295.45L395.14 382.05L446.05 331.14L359.45 244.54z" /> + <glyph glyph-name="magnet" + unicode="" + horiz-adv-x="512.1" d=" M164.1 288H12C5.4 288 0 293.4 0 300V380C0 399.9 16.1 416 36 416H140C159.9 416 176 399.9 176 380V300C176.1 293.4 170.7 288 164.1 288zM512.1 300V380.1C512.1 400 496 416.1 476.1 416.1H372.1C352.2000000000001 416.1 336.1 400 336.1 380.1V300.1C336.1 293.5 341.5 288.1 348.1 288.1H500.1C506.7 288 512.1 293.4 512.1 300zM348.1 256C341.5 256 336.1 250.6 336.1 244V192C336.1 63.9 176.1 64.1 176.1 192V244C176.1 250.6 170.7 256 164.1 256H12.1C5.4 256 0.1 250.6 0.1 243.9C0.2 222.5 0.7 203.6 0.1 190.6C0.1 40 136.3 -56 256.9 -56C377.5 -56 512 40 512 190.7C511.4 203.5 511.8 223.7 512 243.9C512 250.6 506.7 256 500 256H348.1z" /> + <glyph glyph-name="mail-bulk" + unicode="" + horiz-adv-x="576" d=" M160 0C134.4 0 108.8 22.4 96 32C32 76.8 12.8 92.8 0 102.4V-32C0 -49.67 14.33 -64 32 -64H288C305.67 -64 320 -49.67 320 -32V102.4C307.2 92.8 288 76.8 224 32C211.2 22.4 185.6 0 160 0zM288 192H32C14.33 192 0 177.67 0 160V144C25.6 124.8 22.4 124.8 115.2 57.6C124.8 51.2 144 32 160 32S195.2 51.2 204.8 54.4C297.6 121.6 294.4 121.6 320 140.8V160C320 177.67 305.67 192 288 192zM544 288H224C206.33 288 192 273.67 192 256V224H288C321.21 224 348.5900000000001 198.58 351.71 166.18L352 166.4V32H544C561.67 32 576 46.33 576 64V256C576 273.67 561.67 288 544 288zM512 160H448V224H512V160zM160 256C160 291.29 188.71 320 224 320H448V416C448 433.67 433.67 448 416 448H96C78.33 448 64 433.67 64 416V224H160V256z" /> + <glyph glyph-name="male" + unicode="" + horiz-adv-x="192" d=" M96 448C131.346 448 160 419.346 160 384S131.346 320 96 320S32 348.654 32 384S60.654 448 96 448M144 304H132.64C109.929 293.557 83.05 293.106 59.36 304H48C21.49 304 0 282.51 0 256V120C0 106.745 10.745 96 24 96H40V-40C40 -53.255 50.745 -64 64 -64H128C141.255 -64 152 -53.255 152 -40V96H168C181.255 96 192 106.745 192 120V256C192 282.51 170.51 304 144 304z" /> + <glyph glyph-name="map-marked-alt" + unicode="" + horiz-adv-x="576" d=" M288 448C218.41 448 162 391.5900000000001 162 322C162 265.74 244.35 163.2 275.9 125.98C282.29 118.44 293.72 118.44 300.1 125.98C331.65 163.2 414 265.74 414 322C414 391.5900000000001 357.59 448 288 448zM288 280C264.8 280 246 298.8 246 322S264.8 364 288 364S330 345.2 330 322S311.2 280 288 280zM20.12 232.05A32.006 32.006 0 0 1 0 202.34V-47.98C0 -59.3 11.43 -67.04 21.94 -62.84L160 0V233.08C151.16 249.06 143.93 264.62 138.75 279.5L20.12 232.05zM288 88.33C273.93 88.33 260.62 94.51 251.49 105.29C231.83 128.49 210.92 154.91 192 182.01V0.01L384 -63.99V182C365.08 154.91 344.18 128.48 324.51 105.28C315.38 94.51 302.07 88.33 288 88.33zM554.06 286.84L416 224V-64L555.88 -8.05A31.996 31.996 0 0 1 576 21.66V271.98C576 283.3 564.57 291.04 554.06 286.84z" /> + <glyph glyph-name="map-marked" + unicode="" + horiz-adv-x="576" d=" M288 448C218.41 448 162 391.5900000000001 162 322C162 265.74 244.35 163.2 275.9 125.98C282.29 118.44 293.72 118.44 300.1 125.98C331.65 163.2 414 265.74 414 322C414 391.5900000000001 357.59 448 288 448zM20.12 232.05A32.006 32.006 0 0 1 0 202.34V-47.98C0 -59.3 11.43 -67.04 21.94 -62.84L160 0V233.08C151.16 249.06 143.93 264.62 138.75 279.5L20.12 232.05zM288 88.33C273.93 88.33 260.62 94.51 251.49 105.29C231.83 128.49 210.92 154.91 192 182.01V0.01L384 -63.99V182C365.08 154.91 344.18 128.48 324.51 105.28C315.38 94.51 302.07 88.33 288 88.33zM554.06 286.84L416 224V-64L555.88 -8.05A31.996 31.996 0 0 1 576 21.66V271.98C576 283.3 564.57 291.04 554.06 286.84z" /> + <glyph glyph-name="map-marker-alt" + unicode="" + horiz-adv-x="384" d=" M172.268 -53.67C26.97 156.969 0 178.587 0 256C0 362.039 85.961 448 192 448S384 362.039 384 256C384 178.587 357.03 156.969 211.732 -53.67C202.197 -67.444 181.802 -67.443 172.268 -53.67zM192 176C236.183 176 272 211.817 272 256S236.183 336 192 336S112 300.183 112 256S147.817 176 192 176z" /> + <glyph glyph-name="map-marker" + unicode="" + horiz-adv-x="384" d=" M172.268 -53.67C26.97 156.969 0 178.587 0 256C0 362.039 85.961 448 192 448S384 362.039 384 256C384 178.587 357.03 156.969 211.732 -53.67C202.197 -67.444 181.802 -67.443 172.268 -53.67z" /> + <glyph glyph-name="map-pin" + unicode="" + horiz-adv-x="288" d=" M112 131.06V-25.63L134.02 -58.65C138.77 -65.77 149.24 -65.77 153.99 -58.65L176 -25.63V131.06C165.61 129.14 154.94 128 144 128S122.39 129.14 112 131.06zM144 448C64.47 448 0 383.53 0 304S64.47 160 144 160S288 224.47 288 304S223.53 448 144 448zM144 372C106.5 372 76 341.5 76 304C76 297.38 70.62 292 64 292S52 297.38 52 304C52 354.73 93.28 396 144 396C150.62 396 156 390.62 156 384S150.62 372 144 372z" /> + <glyph glyph-name="map-signs" + unicode="" + horiz-adv-x="512" d=" M507.31 363.31L464 406.63C458 412.63 449.86 416 441.37 416H288V432C288 440.84 280.84 448 272 448H240C231.16 448 224 440.84 224 432V416H56C42.75 416 32 405.25 32 392V312C32 298.75 42.75 288 56 288H441.37C449.86 288 457.99 291.37 464 297.37L507.31 340.68C513.56 346.94 513.56 357.06 507.31 363.31zM224 -48C224 -56.84 231.16 -64 240 -64H272C280.84 -64 288 -56.84 288 -48V64H224V-48zM456 224H288V256H224V224H70.63C62.14 224 54.01 220.63 48 214.63L4.69 171.31C-1.56 165.06 -1.56 154.93 4.69 148.68L48 105.37C54 99.37 62.14 96 70.63 96H456C469.25 96 480 106.75 480 120V200C480 213.25 469.25 224 456 224z" /> + <glyph glyph-name="map" + unicode="" + horiz-adv-x="576" d=" M0 330.3400000000001V-15.98C0 -27.3 11.43 -35.04 21.94 -30.84L160 32V416L20.12 360.05A32.006 32.006 0 0 1 0 330.3400000000001zM192 32L384 -32V352L192 416V32zM554.06 414.8400000000001L416 352V-32L555.88 23.95A31.996 31.996 0 0 1 576 53.66V399.98C576 411.3 564.57 419.04 554.06 414.84z" /> + <glyph glyph-name="marker" + unicode="" + horiz-adv-x="512" d=" M93.95 157.97A327.038 327.038 0 0 1 0.17 -37.11L0.14 -37.34C-1.56 -52.62 11.35 -65.5400000000001 26.63 -63.85A327.02000000000004 327.02000000000004 0 0 1 221.97 29.95L297.37 105.35L169.35 233.3700000000001L93.95 157.97zM485.49 421.49C450.14 456.84 392.82 456.84 357.4700000000001 421.49L335.7100000000001 399.73L299.1500000000001 436.28C283.5300000000001 451.9 258.2000000000001 451.9 242.5900000000001 436.28L138.47 332.16C132.22 325.91 132.22 315.78 138.47 309.53L161.09 286.91C167.34 280.66 177.47 280.66 183.72 286.91L270.87 374.06L290.46 354.4700000000001L191.98 256L320 127.98L485.49 293.4700000000001C520.84 328.8200000000001 520.84 386.13 485.49 421.49z" /> + <glyph glyph-name="mars-double" + unicode="" + horiz-adv-x="512" d=" M340 448H261C250.3 448 245 435.1 252.5 427.5L269.4 410.6L220.7 361.9C198.5 375.9 172.2 384 144 384C64.5 384 0 319.5 0 240S64.5 96 144 96S288 160.5 288 240C288 268.2 279.9 294.5 265.9 316.7L314.6 365.4L331.5 348.5C333.8999999999999 346.1 337 345 339.8999999999999 345C346.0999999999999 345 352 349.8 352 357V436C352 442.6 346.6 448 340 448zM144 160C99.9 160 64 195.9 64 240S99.9 320 144 320S224 284.1 224 240S188.1 160 144 160zM500 288.1H421C410.3 288.1 405 275.2 412.5 267.6L429.4 250.7L380.7 202C362.5 213.4 341.7 220.9 319.2 223.3C317.1 201.5 311 180 300.8 160C301.9000000000001 160 303 160.1 304 160.1C348.1 160.1 384 124.2000000000001 384 80.1S348.1 0.1 304 0.1S224 36 224 80.1C224 81.2000000000001 224 82.3 224.1 83.3C204.1 73.1 182.6 66.9 160.8 64.9C168.4 -7.6 229.6 -64 304 -64C383.5 -64 448 0.5 448 80C448 108.2 439.9 134.5 425.9 156.7L474.6 205.4L491.4999999999999 188.5C493.8999999999999 186.1 496.8999999999999 185 499.8999999999999 185C506.0999999999999 185 511.9999999999999 189.8 511.9999999999999 197V276C511.9999999999999 282.7 506.6 288.1 499.9999999999999 288.1z" /> + <glyph glyph-name="mars-stroke-h" + unicode="" + horiz-adv-x="480" d=" M476.2 200.5L420.3 256.4C412.7 264 399.8 258.6 399.8 247.9V224H376V244C376 250.6 370.6 256 364 256H324C317.4 256 312 250.6 312 244V224H284.4C278.6 249.6 265.7 273.9 245.8 293.8C189.6 350 98.4 350 42.2 293.8C-14 237.6 -14 146.4 42.2 90.2000000000001C98.4 34.0000000000001 189.6 34.0000000000001 245.8 90.2000000000001C265.7 110.1 278.6 134.4 284.4000000000001 160.0000000000001H312V140.0000000000001C312 133.4 317.4 128.0000000000001 324 128.0000000000001H364C370.6 128.0000000000001 376 133.4 376 140.0000000000001V160.0000000000001H399.9V136.1000000000001C399.9 125.4000000000001 412.8 120.1000000000001 420.4 127.6000000000001L476.3 183.5000000000001C480.9 188.2000000000001 480.9 195.8000000000001 476.1999999999999 200.5000000000001zM200.6 135.4C169.4 104.2 118.7 104.2 87.5 135.4C56.3 166.6 56.3 217.3 87.5 248.5C118.7 279.7 169.4 279.7 200.6 248.5C231.8 217.4 231.8 166.6 200.6 135.4z" /> + <glyph glyph-name="mars-stroke-v" + unicode="" + horiz-adv-x="288" d=" M245.8 213.8C225.9 233.7 201.6 246.6 176 252.4V277.8H196C202.6 277.8 208 283.2000000000001 208 289.8V329.8C208 336.4 202.6 341.8 196 341.8H176V366.6H199.9C210.6 366.6 215.9 379.5 208.4 387.1L152.5 442.9C147.8 447.6 140.2 447.6 135.5 442.9L79.6 387C72 379.4 77.4 366.5 88.1 366.5H112V341.8H92C85.4 341.8 80 336.4 80 329.8V289.8C80 283.2000000000001 85.4 277.8 92 277.8H112V252.4C86.4 246.6 62.1 233.7 42.2 213.8C-14 157.6 -14 66.4 42.2 10.2C98.4 -45.9999999999999 189.6 -45.9999999999999 245.8 10.2C302.1 66.4 302.1 157.6 245.8 213.8000000000001zM200.6 55.4C169.4 24.2 118.7 24.2 87.5 55.4C56.3 86.6 56.3 137.3 87.5 168.5C118.7 199.7 169.4 199.7 200.6 168.5C231.8 137.4 231.8 86.6 200.6 55.4z" /> + <glyph glyph-name="mars-stroke" + unicode="" + horiz-adv-x="384" d=" M372 384H293C282.3 384 277 371.1 284.5 363.5L301.4 346.6L283.9 329.1L269.8 343.2C265.1 347.9 257.5 347.9 252.8 343.2L224.5 315C219.8 310.3 219.8 302.7 224.5 298L238.6 283.9L220.6 265.9C198.4 279.9 172.1 288 143.9 288C64.5 288 0 223.5 0 144S64.5 0 144 0S288 64.5 288 144C288 172.2 279.9 198.5 265.9 220.7L283.9 238.7L298 224.6C302.7 219.9 310.3 219.9 315 224.6L343.3 252.9C348 257.6 348 265.2000000000001 343.3 269.9L329.2 284L346.7 301.5L363.6 284.6C371.2 277 384.1 282.4 384.1 293.1V372C384 378.6 378.6 384 372 384zM144 64C99.9 64 64 99.9 64 144S99.9 224 144 224S224 188.1 224 144S188.1 64 144 64z" /> + <glyph glyph-name="mars" + unicode="" + horiz-adv-x="384" d=" M372 384H293C282.3 384 277 371.1 284.5 363.5L301.4 346.6L220.7 265.9C198.5 279.9 172.2 288 144 288C64.5 288 0 223.5 0 144S64.5 0 144 0S288 64.5 288 144C288 172.2 279.9 198.5 265.9 220.7L346.6 301.4L363.5 284.5C371.1 276.9 384 282.3 384 293V372C384 378.6 378.6 384 372 384zM144 64C99.9 64 64 99.9 64 144S99.9 224 144 224S224 188.1 224 144S188.1 64 144 64z" /> + <glyph glyph-name="medal" + unicode="" + horiz-adv-x="512" d=" M223.75 317.25L154.62 432.46A31.997 31.997 0 0 1 127.18 448H16.03C3.08 448 -4.5 433.43 2.92 422.82L114.19 263.86C143.91 291.63 181.71 310.69 223.75 317.25zM495.97 448H384.82C373.58 448 363.16 442.1 357.38 432.46L288.25 317.25C330.29 310.69 368.0900000000001 291.63 397.81 263.87L509.08 422.82C516.5 433.43 508.92 448 495.97 448zM256 288C158.8 288 80 209.2 80 112S158.8 -64 256 -64S432 14.8 432 112S353.2 288 256 288zM348.52 130.74L310.59 93.78L319.56 41.5600000000001C321.1600000000001 32.2 311.3 25.0500000000001 302.9100000000001 29.4700000000001L256 54.12L209.1 29.47C200.7 25.02 190.85 32.21 192.45 41.56L201.42 93.78L163.49 130.74C156.67 137.38 160.44 148.97 169.84 150.3299999999999L222.27 157.9699999999999L245.7 205.4899999999999C247.81 209.7699999999999 251.89 211.8799999999999 255.98 211.8799999999999C260.09 211.8799999999999 264.2 209.7399999999999 266.31 205.4899999999999L289.74 157.9699999999999L342.17 150.3299999999999C351.57 148.9699999999999 355.3400000000001 137.38 348.5200000000001 130.74z" /> + <glyph glyph-name="medkit" + unicode="" + horiz-adv-x="512" d=" M96 -32H416V320H384V368C384 394.51 362.51 416 336 416H176C149.49 416 128 394.51 128 368V320H96V-32zM192 352H320V320H192V352zM512 272V16C512 -10.51 490.51 -32 464 -32H448V320H464C490.51 320 512 298.51 512 272zM64 -32H48C21.49 -32 0 -10.51 0 16V272C0 298.51 21.49 320 48 320H64V-32zM352 176V144C352 135.163 344.837 128 336 128H288V80C288 71.163 280.837 64 272 64H240C231.163 64 224 71.163 224 80V128H176C167.163 128 160 135.163 160 144V176C160 184.837 167.163 192 176 192H224V240C224 248.837 231.163 256 240 256H272C280.837 256 288 248.837 288 240V192H336C344.837 192 352 184.837 352 176z" /> + <glyph glyph-name="meh-blank" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM168 208C150.3 208 136 222.3 136 240S150.3 272 168 272S200 257.7 200 240S185.7 208 168 208zM328 208C310.3 208 296 222.3 296 240S310.3 272 328 272S360 257.7 360 240S345.7 208 328 208z" /> + <glyph glyph-name="meh-rolling-eyes" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM88 224C88 248.3 101.7 269.2 121.6 280C120.9 277.4 120 274.8 120 272C120 254.3 134.3 240 152 240S184 254.3 184 272C184 274.8 183.1 277.4 182.4 280C202.3 269.2 216 248.3 216 224C216 188.7 187.3 160 152 160S88 188.7 88 224zM312 48H184C162.8 48 162.8 80 184 80H312C333.2 80 333.2 48 312 48zM344 160C308.7 160 280 188.7 280 224C280 248.3 293.7 269.2 313.6 280C312.9000000000001 277.4 312 274.8 312 272C312 254.3 326.3 240 344 240S376 254.3 376 272C376 274.8 375.1 277.4 374.4 280C394.3 269.2 408 248.3 408 224C408 188.7 379.3 160 344 160z" /> + <glyph glyph-name="meh" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM168 272C185.7 272 200 257.7 200 240S185.7 208 168 208S136 222.3 136 240S150.3 272 168 272zM344 80H152C130.8 80 130.8 112 152 112H344C365.2 112 365.2 80 344 80zM328 208C310.3 208 296 222.3 296 240S310.3 272 328 272S360 257.7 360 240S345.7 208 328 208z" /> + <glyph glyph-name="memory" + unicode="" + horiz-adv-x="640" d=" M640 317.06V352C640 369.67 625.67 384 608 384H32C14.33 384 0 369.67 0 352V317.06C18.6 310.45 32 292.87 32 272S18.6 233.55 0 226.94V128H640V226.94C621.4 233.55 608 251.13 608 272S621.4 310.45 640 317.06zM224 192H160V320H224V192zM352 192H288V320H352V192zM480 192H416V320H480V192zM0 0H64V26.67C64 35.51 71.16 42.67 80 42.67S96 35.51 96 26.67V0H224V26.67C224 35.51 231.16 42.67 240 42.67S256 35.51 256 26.67V0H384V26.67C384 35.51 391.1600000000001 42.67 400 42.67S416 35.51 416 26.67V0H544V26.67C544 35.51 551.16 42.67 560 42.67S576 35.51 576 26.67V0H640V96H0V0z" /> + <glyph glyph-name="menorah" + unicode="" + horiz-adv-x="640" d=" M144 288H112C103.16 288 96 280.8400000000001 96 272V160H160V272C160 280.8400000000001 152.84 288 144 288zM240 288H208C199.16 288 192 280.8400000000001 192 272V160H256V272C256 280.8400000000001 248.84 288 240 288zM432 288H400C391.1600000000001 288 384 280.8400000000001 384 272V160H448V272C448 280.8400000000001 440.84 288 432 288zM528 288H496C487.16 288 480 280.8400000000001 480 272V160H544V272C544 280.8400000000001 536.84 288 528 288zM608 320C625.67 320 640 334.33 640 352S608 416 608 416S576 369.67 576 352S590.33 320 608 320zM512 320C529.67 320 544 334.33 544 352S512 416 512 416S480 369.67 480 352S494.33 320 512 320zM416 320C433.67 320 448 334.33 448 352S416 416 416 416S384 369.67 384 352S398.33 320 416 320zM320 352C337.67 352 352 366.33 352 384S320 448 320 448S288 401.67 288 384S302.33 352 320 352zM224 320C241.67 320 256 334.33 256 352S224 416 224 416S192 369.67 192 352S206.33 320 224 320zM128 320C145.67 320 160 334.33 160 352S128 416 128 416S96 369.67 96 352S110.33 320 128 320zM32 320C49.67 320 64 334.33 64 352S32 416 32 416S0 369.67 0 352S14.33 320 32 320zM576 160C576 142.33 561.67 128 544 128H352V304C352 312.8400000000001 344.84 320 336 320H304C295.1600000000001 320 288 312.8400000000001 288 304V128H96C78.33 128 64 142.33 64 160V272C64 280.8400000000001 56.84 288 48 288H16C7.16 288 0 280.8400000000001 0 272V160C0 106.98 42.98 64 96 64H288V0H112C103.16 0 96 -7.16 96 -16V-48C96 -56.84 103.16 -64 112 -64H528C536.84 -64 544 -56.84 544 -48V-16C544 -7.16 536.84 0 528 0H352V64H544C597.02 64 640 106.98 640 160V272C640 280.8400000000001 632.84 288 624 288H592C583.16 288 576 280.8400000000001 576 272V160z" /> + <glyph glyph-name="mercury" + unicode="" + horiz-adv-x="288" d=" M288 240C288 284.2 268.1 323.7 236.8 350.1C239.3 351.9 241.7 353.9 244 355.9C268.7 377.1 283.8 404.7 287.2 434.7C288.1 441.8 282.5 448 275.3 448H234.8C229 448 224.1 443.9 223 438.2C220.6 425.7 213.4 413.9 202.3 404.4C187 391.2 166.3 384 144 384S101 391.2 85.6 404.4C74.5 413.9 67.4 425.7 64.9 438.2C63.8 443.9 58.9 448 53.2 448H12.7C5.5 448 -0.1 441.8 0.8 434.7C4.2 404.6 19.2 377 44 355.8C46.3 353.8 48.7 351.9 51.2 350C19.9 323.7 0 284.2 0 240C0 171.5 47.9 114.1 112 99.6V48H76C69.4 48 64 42.6 64 36V-4C64 -10.6 69.4 -16 76 -16H112V-52C112 -58.6 117.4 -64 124 -64H164C170.6 -64 176 -58.6 176 -52V-16H212C218.6 -16 224 -10.6 224 -4V36C224 42.6 218.6 48 212 48H176V99.6C240.1 114.1 288 171.5 288 240.0000000000001zM64 240C64 284.1 99.9 320 144 320S224 284.1 224 240S188.1 160 144 160S64 195.9 64 240z" /> + <glyph glyph-name="microchip" + unicode="" + horiz-adv-x="512" d=" M416 400V-16C416 -42.51 394.51 -64 368 -64H144C117.49 -64 96 -42.51 96 -16V400C96 426.51 117.49 448 144 448H368C394.51 448 416 426.51 416 400zM512 342V330A6 6 0 0 0 506 324H488V318A6 6 0 0 0 482 312H440V360H482A6 6 0 0 0 488 354V348H506A6 6 0 0 0 512 342zM512 246V234A6 6 0 0 0 506 228H488V222A6 6 0 0 0 482 216H440V264H482A6 6 0 0 0 488 258V252H506A6 6 0 0 0 512 246zM512 150V138A6 6 0 0 0 506 132H488V126A6 6 0 0 0 482 120H440V168H482A6 6 0 0 0 488 162V156H506A6 6 0 0 0 512 150zM512 54V42A6 6 0 0 0 506 36H488V30A6 6 0 0 0 482 24H440V72H482A6 6 0 0 0 488 66V60H506A6 6 0 0 0 512 54zM30 72H72V24H30A6 6 0 0 0 24 30V36H6A6 6 0 0 0 0 42V54A6 6 0 0 0 6 60H24V66A6 6 0 0 0 30 72zM30 168H72V120H30A6 6 0 0 0 24 126V132H6A6 6 0 0 0 0 138V150A6 6 0 0 0 6 156H24V162A6 6 0 0 0 30 168zM30 264H72V216H30A6 6 0 0 0 24 222V228H6A6 6 0 0 0 0 234V246A6 6 0 0 0 6 252H24V258A6 6 0 0 0 30 264zM30 360H72V312H30A6 6 0 0 0 24 318V324H6A6 6 0 0 0 0 330V342A6 6 0 0 0 6 348H24V354A6 6 0 0 0 30 360z" /> + <glyph glyph-name="microphone-alt-slash" + unicode="" + horiz-adv-x="640" d=" M633.82 -10.1L476.26 111.67C488.74 135.79 496 163.02 496 192V240C496 248.84 488.84 256 480 256H464C455.16 256 448 248.84 448 240V192C448 174.08 444.04 157.2 437.28 141.8L410.73 162.32C413.83 171.72 416.01 181.54 416.01 191.99H372.3399999999999L330.94 223.99H416V255.99H330.67C324.7800000000001 255.99 320 259.5700000000001 320 263.99V279.99C320 284.41 324.78 287.99 330.67 287.99H416V319.99H330.67C324.7800000000001 319.99 320 323.57 320 327.99V343.99C320 348.4100000000001 324.78 351.99 330.67 351.99H416C416 405.01 373.02 447.99 320 447.99S224 405.01 224 351.99V306.63L45.47 444.63C38.49 450.05 28.43 448.8 23.01 441.82L3.37 416.55C-2.05 409.58 -0.8 399.53 6.18 394.1L594.54 -60.63C601.52 -66.0599999999999 611.5699999999999 -64.7999999999999 617 -57.82L636.64 -32.55C642.05 -25.58 640.8 -15.53 633.8199999999999 -10.1zM400 -16H344V17.78C355.71 19.4 367.1 22.0599999999999 377.96 25.86L327.56 64.8199999999999C320.85 64.42 314.15 63.9499999999999 307.21 64.62C251.36 70.0699999999999 208.47 113.25 196.03 166.4699999999999L144 206.69V199.84C144 110.2 207.97 30.29 296 18.15V-16H240C231.16 -16 224 -23.16 224 -32V-48C224 -56.84 231.16 -64 240 -64H400C408.84 -64 416 -56.84 416 -48V-32C416 -23.16 408.84 -16 400 -16z" /> + <glyph glyph-name="microphone-alt" + unicode="" + horiz-adv-x="352" d=" M336 256H320C311.1600000000001 256 304 248.84 304 240V192C304 117.2 239.51 57.18 163.21 64.62C96.71 71.11 48 130.89 48 197.7V240C48 248.84 40.84 256 32 256H16C7.16 256 0 248.84 0 240V199.84C0 110.2 63.97 30.29 152 18.15V-16H96C87.16 -16 80 -23.16 80 -32V-48C80 -56.84 87.16 -64 96 -64H256C264.84 -64 272 -56.84 272 -48V-32C272 -23.16 264.84 -16 256 -16H200V17.77C285.71 29.53 352 103.1 352 192V240C352 248.84 344.84 256 336 256zM176 96C229.02 96 272 138.98 272 192H186.67C180.78 192 176 195.58 176 200V216C176 220.42 180.78 224 186.67 224H272V256H186.67C180.78 256 176 259.5800000000001 176 264V280C176 284.42 180.78 288 186.67 288H272V320H186.67C180.78 320 176 323.58 176 328V344C176 348.42 180.78 352 186.67 352H272C272 405.02 229.02 448 176 448S80 405.02 80 352V192C80 138.98 122.98 96 176 96z" /> + <glyph glyph-name="microphone-slash" + unicode="" + horiz-adv-x="640" d=" M633.82 -10.1L476.02 111.86C488.61 135.87 496 162.99 496 192V240C496 248.84 488.84 256 480 256H464C455.16 256 448 248.84 448 240V192C448 174.08 444.04 157.2 437.28 141.8L410.73 162.32C413.83 171.72 416.01 181.54 416.01 191.99V352C416.01 405.02 373.0299999999999 448 320.01 448S224.0099999999999 405.02 224.0099999999999 352V306.64L45.47 444.63C38.49 450.05 28.43 448.8 23.01 441.82L3.37 416.55C-2.05 409.58 -0.8 399.53 6.18 394.1L594.54 -60.63C601.52 -66.0599999999999 611.5699999999999 -64.7999999999999 617 -57.82L636.64 -32.55C642.05 -25.58 640.8 -15.53 633.8199999999999 -10.1zM400 -16H344V17.77C355.6600000000001 19.37 366.85 22.31 377.67 26.08L327.56 64.81C320.85 64.41 314.15 63.94 307.21 64.61C251.36 70.06 208.47 113.24 196.03 166.46L144 206.69V199.84C144 110.2 207.97 30.29 296 18.15V-16H240C231.16 -16 224 -23.16 224 -32V-48C224 -56.84 231.16 -64 240 -64H400C408.84 -64 416 -56.84 416 -48V-32C416 -23.16 408.84 -16 400 -16z" /> + <glyph glyph-name="microphone" + unicode="" + horiz-adv-x="352" d=" M176 96C229.02 96 272 138.98 272 192V352C272 405.02 229.02 448 176 448S80 405.02 80 352V192C80 138.98 122.98 96 176 96zM336 256H320C311.1600000000001 256 304 248.84 304 240V192C304 117.2 239.51 57.18 163.21 64.62C96.71 71.11 48 130.89 48 197.7V240C48 248.84 40.84 256 32 256H16C7.16 256 0 248.84 0 240V199.84C0 110.2 63.97 30.29 152 18.15V-16H96C87.16 -16 80 -23.16 80 -32V-48C80 -56.84 87.16 -64 96 -64H256C264.84 -64 272 -56.84 272 -48V-32C272 -23.16 264.84 -16 256 -16H200V17.77C285.71 29.53 352 103.1 352 192V240C352 248.84 344.84 256 336 256z" /> + <glyph glyph-name="microscope" + unicode="" + horiz-adv-x="512" d=" M160 128H172V112C172 103.16 179.16 96 188 96H228C236.84 96 244 103.16 244 112V128H256C273.67 128 288 142.33 288 160V384C288 401.67 273.67 416 256 416V432C256 440.84 248.84 448 240 448H176C167.16 448 160 440.84 160 432V416C142.33 416 128 401.67 128 384V160C128 142.33 142.33 128 160 128zM464 0H462.71C493.24 34.01 512 78.8 512 128C512 233.88 425.88 320 320 320V256C390.58 256 448 198.58 448 128S390.58 0 320 0H48C21.49 0 0 -21.49 0 -48C0 -56.84 7.16 -64 16 -64H496C504.84 -64 512 -56.84 512 -48C512 -21.49 490.51 0 464 0zM104 32H312C316.42 32 320 35.58 320 40V56C320 60.42 316.42 64 312 64H104C99.58 64 96 60.42 96 56V40C96 35.58 99.58 32 104 32z" /> + <glyph glyph-name="minus-circle" + unicode="" + horiz-adv-x="512" d=" M256 440C119 440 8 329 8 192S119 -56 256 -56S504 55 504 192S393 440 256 440zM124 152C117.4 152 112 157.4 112 164V220C112 226.6 117.4 232 124 232H388C394.6 232 400 226.6 400 220V164C400 157.4 394.6 152 388 152H124z" /> + <glyph glyph-name="minus-square" + unicode="" + horiz-adv-x="448" d=" M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM92 152C85.4 152 80 157.4 80 164V220C80 226.6 85.4 232 92 232H356C362.6 232 368 226.6 368 220V164C368 157.4 362.6 152 356 152H92z" /> + <glyph glyph-name="minus" + unicode="" + horiz-adv-x="448" d=" M416 240H32C14.33 240 0 225.67 0 208V176C0 158.33 14.33 144 32 144H416C433.67 144 448 158.33 448 176V208C448 225.67 433.67 240 416 240z" /> + <glyph glyph-name="mobile-alt" + unicode="" + horiz-adv-x="320" d=" M272 448H48C21.5 448 0 426.5 0 400V-16C0 -42.5 21.5 -64 48 -64H272C298.5 -64 320 -42.5 320 -16V400C320 426.5 298.5 448 272 448zM160 -32C142.3 -32 128 -17.7 128 0S142.3 32 160 32S192 17.7 192 0S177.7 -32 160 -32zM272 76C272 69.4 266.6 64 260 64H60C53.4 64 48 69.4 48 76V388C48 394.6 53.4 400 60 400H260C266.6 400 272 394.6 272 388V76z" /> + <glyph glyph-name="mobile" + unicode="" + horiz-adv-x="320" d=" M272 448H48C21.5 448 0 426.5 0 400V-16C0 -42.5 21.5 -64 48 -64H272C298.5 -64 320 -42.5 320 -16V400C320 426.5 298.5 448 272 448zM160 -32C142.3 -32 128 -17.7 128 0S142.3 32 160 32S192 17.7 192 0S177.7 -32 160 -32z" /> + <glyph glyph-name="money-bill-alt" + unicode="" + horiz-adv-x="640" d=" M352 160H336V248C336 252.42 332.42 256 328 256H314.42C309.68 256 305.05 254.6 301.11 251.97L285.7800000000001 241.75A7.993999999999999 7.993999999999999 0 0 1 283.56 230.66L292.44 217.35A7.993999999999999 7.993999999999999 0 0 1 303.53 215.13L304 215.44V160H288C283.58 160 280 156.42 280 152V136C280 131.58 283.58 128 288 128H352C356.42 128 360 131.58 360 136V152C360 156.42 356.42 160 352 160zM608 384H32C14.33 384 0 369.67 0 352V32C0 14.33 14.33 0 32 0H608C625.67 0 640 14.33 640 32V352C640 369.67 625.67 384 608 384zM48 48V112C83.35 112 112 83.35 112 48H48zM48 272V336H112C112 300.65 83.35 272 48 272zM320 80C266.98 80 224 130.15 224 192C224 253.86 266.98 304 320 304S416 253.86 416 192C416 130.13 373 80 320 80zM592 48H528C528 83.35 556.65 112 592 112V48zM592 272C556.65 272 528 300.65 528 336H592V272z" /> + <glyph glyph-name="money-bill-wave-alt" + unicode="" + horiz-adv-x="640" d=" M621.16 393.54C582.37 409.81 543.55 416 504.75 416C381.58 416.01 258.42 353.66 135.25 353.66C104.36 353.66 73.49 357.58 42.6 367.38C39.13 368.48 35.65 369 32.25 369C15.04 369 0 355.68 0 337.19V19.93C0 7.3 7.23 -4.67 18.84 -9.53C57.63 -25.81 96.45 -32 135.25 -32C258.42 -32 381.5900000000001 30.35 504.76 30.35C535.65 30.35 566.52 26.43 597.41 16.63C600.88 15.53 604.36 15.01 607.76 15.01C624.97 15.01 640.01 28.33 640.01 46.82V364.07C640 376.71 632.77 388.67 621.16 393.54zM320 96C275.81 96 240 138.99 240 192C240 245.02 275.82 288 320 288S400 245.02 400 192C400 138.97 364.17 96 320 96z" /> + <glyph glyph-name="money-bill-wave" + unicode="" + horiz-adv-x="640" d=" M621.16 393.54C582.37 409.81 543.55 416 504.75 416C381.58 416.01 258.42 353.66 135.25 353.66C104.36 353.66 73.49 357.58 42.6 367.38C39.13 368.48 35.65 369 32.25 369C15.04 369 0 355.68 0 337.19V19.93C0 7.3 7.23 -4.67 18.84 -9.53C57.63 -25.81 96.45 -32 135.25 -32C258.42 -32 381.5900000000001 30.35 504.76 30.35C535.65 30.35 566.52 26.43 597.41 16.63C600.88 15.53 604.36 15.01 607.76 15.01C624.97 15.01 640.01 28.33 640.01 46.82V364.07C640 376.71 632.77 388.67 621.16 393.54zM48 315.78C68.12 310.74 89.12 308.2100000000001 110.72 306.85C104.84 277.4600000000001 79 255.31 48 255.31V315.78zM48 30.78V78.56C82.37 78.56 110.18 51.29 111.71 17.16C89.18 18.97 68.12 23.47 48 30.78zM320 96C275.81 96 240 138.99 240 192C240 245.02 275.82 288 320 288S400 245.02 400 192C400 138.97 364.17 96 320 96zM592 68.22C574.48 72.61 556.29 75.0700000000001 537.68 76.66C543.55 102.74 565.18 122.54 592 125.9400000000001V68.22zM592 304.3300000000001C561.11 308.24 537.14 334.0300000000001 536.19 365.8800000000001C555.73 363.7100000000001 574.2800000000001 359.6500000000001 592 353.2200000000001V304.3300000000001z" /> + <glyph glyph-name="money-bill" + unicode="" + horiz-adv-x="640" d=" M608 384H32C14.33 384 0 369.67 0 352V32C0 14.33 14.33 0 32 0H608C625.67 0 640 14.33 640 32V352C640 369.67 625.67 384 608 384zM48 48V112C83.35 112 112 83.35 112 48H48zM48 272V336H112C112 300.65 83.35 272 48 272zM320 96C275.81 96 240 138.99 240 192C240 245.02 275.82 288 320 288S400 245.02 400 192C400 138.97 364.17 96 320 96zM592 48H528C528 83.35 556.65 112 592 112V48zM592 272C556.65 272 528 300.65 528 336H592V272z" /> + <glyph glyph-name="money-check-alt" + unicode="" + horiz-adv-x="640" d=" M608 416H32C14.33 416 0 401.67 0 384V0C0 -17.67 14.33 -32 32 -32H608C625.67 -32 640 -17.67 640 0V384C640 401.67 625.67 416 608 416zM176 120.12V104C176 99.58 172.42 96 168 96H152C147.58 96 144 99.58 144 104V120.29C132.71 120.87 121.73 124.81 112.63 131.6400000000001C108.73 134.5700000000001 108.53 140.41 112.06 143.78L123.81 154.99C126.58 157.63 130.7 157.75 133.94 155.72C137.81 153.3 142.2 152 146.76 152H174.87C181.37 152 186.67 157.92 186.67 165.19C186.67 171.14 183.06 176.38 177.9 177.92L132.9 191.42C114.31 197 101.32 214.84 101.32 234.81C101.32 259.3300000000001 120.37 279.25 143.99 279.88V296C143.99 300.42 147.57 304 151.99 304H167.99C172.41 304 175.99 300.42 175.99 296V279.7100000000001C187.28 279.13 198.26 275.2000000000001 207.36 268.36C211.26 265.43 211.46 259.5900000000001 207.93 256.2200000000001L196.18 245.01C193.41 242.3700000000001 189.29 242.2500000000001 186.05 244.2800000000001C182.18 246.7100000000001 177.79 248.0000000000001 173.23 248.0000000000001H145.12C138.62 248.0000000000001 133.32 242.0800000000001 133.32 234.8100000000001C133.32 228.8600000000001 136.93 223.62 142.09 222.0800000000001L187.09 208.5800000000001C205.68 203 218.67 185.16 218.67 165.1900000000001C218.67 140.6600000000001 199.62 120.7500000000001 176 120.1200000000001zM416 136C416 131.58 412.42 128 408 128H296C291.58 128 288 131.58 288 136V152C288 156.42 291.58 160 296 160H408C412.42 160 416 156.42 416 152V136zM576 136C576 131.58 572.42 128 568 128H488C483.58 128 480 131.58 480 136V152C480 156.42 483.58 160 488 160H568C572.42 160 576 156.42 576 152V136zM576 232C576 227.58 572.42 224 568 224H296C291.58 224 288 227.58 288 232V248C288 252.42 291.58 256 296 256H568C572.42 256 576 252.42 576 248V232z" /> + <glyph glyph-name="money-check" + unicode="" + horiz-adv-x="640" d=" M0 0C0 -17.67 14.33 -32 32 -32H608C625.67 -32 640 -17.67 640 0V320H0V0zM448 208C448 216.84 455.16 224 464 224H560C568.84 224 576 216.84 576 208V176C576 167.16 568.84 160 560 160H464C455.16 160 448 167.16 448 176V208zM448 88C448 92.42 451.58 96 456 96H568C572.42 96 576 92.42 576 88V72C576 67.58 572.42 64 568 64H456C451.58 64 448 67.58 448 72V88zM64 184C64 188.42 67.58 192 72 192H376C380.42 192 384 188.42 384 184V168C384 163.58 380.42 160 376 160H72C67.58 160 64 163.58 64 168V184zM64 88C64 92.42 67.58 96 72 96H248C252.42 96 256 92.42 256 88V72C256 67.58 252.42 64 248 64H72C67.58 64 64 67.58 64 72V88zM624 416H16C7.16 416 0 408.8400000000001 0 400V352H640V400C640 408.8400000000001 632.84 416 624 416z" /> + <glyph glyph-name="monument" + unicode="" + horiz-adv-x="384" d=" M368 0H16C7.16 0 0 -7.16 0 -16V-48C0 -56.84 7.16 -64 16 -64H368C376.84 -64 384 -56.84 384 -48V-16C384 -7.16 376.84 0 368 0zM289.14 347.26A31.97 31.97 0 0 1 279.93 366.7L203.31 443.31C197.06 449.56 186.93 449.56 180.68 443.31L104.08 366.7A31.97 31.97 0 0 1 94.87 347.26L64 32H320L289.14 347.26zM240 140.8C240 134.4 233.6 128 227.2 128H156.8C150.4 128 144 134.4 144 140.8V179.2C144 185.6 150.4 192 156.8 192H227.2C233.6 192 240 185.6 240 179.2V140.8z" /> + <glyph glyph-name="moon" + unicode="" + horiz-adv-x="512" d=" M283.211 -64C362.173 -64 434.29 -28.075 482.068 30.792C489.136 39.5000000000001 481.429 52.222 470.506 50.1420000000001C346.303 26.4880000000001 232.244 121.7180000000001 232.244 247.0960000000001C232.244 319.3180000000001 270.906 385.7310000000001 333.742 421.4900000000001C343.428 427.0020000000001 340.992 441.6870000000001 329.986 443.7200000000001A258.156 258.156 0 0 1 283.211 448C141.902 448 27.211 333.4890000000001 27.211 192C27.211 50.691 141.722 -64 283.211 -64z" /> + <glyph glyph-name="mortar-pestle" + unicode="" + horiz-adv-x="512" d=" M501.54 387.0900000000001C518.76 404.31 514.0500000000001 433.3400000000001 492.27 444.23A35.696 35.696 0 0 1 454.9 440.86L251.09 288H402.4600000000001L501.54 387.0900000000001zM496 256H16C7.16 256 0 248.84 0 240V208C0 199.16 7.16 192 16 192H32C32 111.02 82.2 41.89 153.13 13.68C140.37 -3.19 131.41 -23.12 128.18 -45.01C126.72 -54.93 134.22 -63.99 144.25 -63.99H367.75C377.78 -63.99 385.28 -54.93 383.82 -45.01C380.6 -23.12 371.64 -3.19 358.87 13.68C429.8 41.89 480 111.02 480 192H496C504.84 192 512 199.16 512 208V240C512 248.84 504.84 256 496 256z" /> + <glyph glyph-name="mosque" + unicode="" + horiz-adv-x="640" d=" M0 -32C0 -49.67 14.33 -64 32 -64H96C113.67 -64 128 -49.67 128 -32V288H0V-32zM579.16 160C597.02 177.39 608 197.34 608 218.91C608 271.77 566.21 312.7 520.08 341.81C478.14 368.28 439.4500000000001 399.58 408.1200000000001 438.03L400 448L391.88 438.03C360.55 399.58 321.87 368.27 279.92 341.81C233.79 312.7 192 271.77 192 218.91C192 197.34 202.98 177.39 220.84 160H579.16zM608 128H192C174.33 128 160 113.67 160 96V-32C160 -49.67 174.33 -64 192 -64H224V0C224 17.67 238.33 32 256 32S288 17.67 288 0V-64H352V8C352 56 400 80 400 80S448 56 448 8V-64H512V0C512 17.67 526.33 32 544 32S576 17.67 576 0V-64H608C625.67 -64 640 -49.67 640 -32V96C640 113.67 625.67 128 608 128zM64 448S0 416 0 352V320H128V352C128 416 64 448 64 448z" /> + <glyph glyph-name="motorcycle" + unicode="" + horiz-adv-x="640" d=" M512.949 255.997C498.0869999999999 256.105 483.809 253.675 470.515 249.123L437.589 304H520C533.255 304 544 314.745 544 328V360C544 373.255 533.255 384 520 384H474.689A24 24 0 0 1 456.85 376.055L419.3540000000001 334.392L396.5800000000001 372.348A24 24 0 0 1 376 384H296C287.163 384 280 376.837 280 368V352C280 343.163 287.163 336 296 336H362.411L381.611 304H227.904C210.177 327.073 182.98 344 128 344H72.54C59.085 344 47.749 332.9890000000001 48.004 319.536C48.252 306.495 58.9 296 72 296H128C152.504 296 166.686 285.081 175.787 271.231L164.496 250.702C151.49 254.567 137.625 256.438 123.245 255.912C55.857 253.451 1.565 198.395 0.034 130.979C-1.603 58.924 56.317 0 128 0C187.642 0 237.744 40.794 251.953 96H336.189C349.862 96 360.778 107.421 360.165 121.077C358.0470000000001 168.197 377.687 214.742 416.35 246.103L428.8350000000001 225.295C401.189 201.641 383.7380000000001 166.415 384.004 127.116C384.4740000000001 57.56 441.207 0.664 510.762 0.006C582.391 -0.672 640.601 57.493 639.996 129.105C639.408 198.696 582.5409999999999 255.491 512.949 255.997zM128 48C83.888 48 48 83.888 48 128S83.888 208 128 208C132.242 208 136.405 207.659 140.469 207.018L98.97 131.566C90.187 115.593 101.762 96 120 96H201.297C188.927 67.775 160.737 48 128 48zM516.351 48.116C470.272 45.663 432 82.446 432 128C432 149.363 440.4340000000001 168.781 454.125 183.144L503.537 100.792C508.083 93.215 517.912 90.758 525.489 95.304L539.2090000000001 103.5360000000001C546.7860000000001 108.0820000000001 549.243 117.9110000000001 544.6970000000001 125.4880000000001L496.1410000000001 206.4150000000001A80.005 80.005 0 0 0 512 208C557.554 208 594.338 169.727 591.884 123.648C589.724 83.09 556.91 50.276 516.351 48.116z" /> + <glyph glyph-name="mouse-pointer" + unicode="" + horiz-adv-x="320" d=" M302.189 118.874H196.105L251.936 -17.119C255.825 -26.547 251.381 -37.118 242.492 -41.118L193.327 -62.545C184.162 -66.5450000000001 173.884 -61.974 169.995 -52.831L116.942 76.305L30.278 -12.8330000000001C18.729 -24.71 0 -15.554 0 0.023V429.701C0 446.101 19.921 454.096 30.277 442.557L314.689 150.0150000000001C326.161 138.8360000000001 317.696 118.874 302.189 118.874z" /> + <glyph glyph-name="music" + unicode="" + horiz-adv-x="512" d=" M511.99 415.99C511.99 437.7 490.89 453 470.39 446.5L150.4 352C137.1 347.8 128 335.5 128 321.5V60.08C117.95 62.46 107.28 64 96 64C42.98 64 0 35.35 0 0S42.98 -64 96 -64S192 -35.35 192 0V233.69L448 308.71V124.08C437.95 126.46 427.28 128 416 128C362.98 128 320 99.35 320 64S362.98 0 416 0S512 28.65 512 64L511.99 415.99z" /> + <glyph glyph-name="neuter" + unicode="" + horiz-adv-x="288" d=" M288 272C288 351.5 223.5 416 144 416S0 351.5 0 272C0 203.5 47.9 146.1 112 131.6V-20C112 -26.6 117.4 -32 124 -32H164C170.6 -32 176 -26.6 176 -20V131.6C240.1 146.1 288 203.5 288 272zM144 192C99.9 192 64 227.9 64 272S99.9 352 144 352S224 316.1 224 272S188.1 192 144 192z" /> + <glyph glyph-name="newspaper" + unicode="" + horiz-adv-x="576" d=" M552 384H88C74.745 384 64 373.255 64 360V352H24C10.745 352 0 341.255 0 328V56C0 25.072 25.072 0 56 0H528C554.51 0 576 21.49 576 48V360C576 373.255 565.255 384 552 384zM56 48A8 8 0 0 0 48 56V304H64V56A8 8 0 0 0 56 48zM292 64H140C133.373 64 128 69.373 128 76V84C128 90.627 133.373 96 140 96H292C298.627 96 304 90.627 304 84V76C304 69.373 298.627 64 292 64zM500 64H348C341.373 64 336 69.373 336 76V84C336 90.627 341.373 96 348 96H500C506.627 96 512 90.627 512 84V76C512 69.373 506.627 64 500 64zM292 160H140C133.373 160 128 165.373 128 172V180C128 186.627 133.373 192 140 192H292C298.627 192 304 186.627 304 180V172C304 165.373 298.627 160 292 160zM500 160H348C341.373 160 336 165.373 336 172V180C336 186.627 341.373 192 348 192H500C506.627 192 512 186.627 512 180V172C512 165.373 506.627 160 500 160zM500 256H140C133.373 256 128 261.373 128 268V308C128 314.627 133.373 320 140 320H500C506.627 320 512 314.627 512 308V268C512 261.373 506.627 256 500 256z" /> + <glyph glyph-name="not-equal" + unicode="" + horiz-adv-x="448" d=" M416 240C433.67 240 448 254.33 448 272V304C448 321.67 433.67 336 416 336H392.12L443.99 402.81C449.36 409.83 448.0300000000001 419.87 441.02 425.24L415.61 444.7C408.5900000000001 450.08 398.55 448.74 393.17 441.73L311.09 336H32C14.33 336 0 321.67 0 304V272C0 254.33 14.33 240 32 240H236.56L162.03 144H32C14.33 144 0 129.67 0 112V80C0 62.33 14.33 48 32 48H87.49L35.62 -18.81C30.25 -25.82 31.58 -35.86 38.59 -41.24L64 -60.7C71.02 -66.08 81.06 -64.74 86.43 -57.73L168.52 48H416C433.67 48 448 62.33 448 80V112C448 129.67 433.67 144 416 144H243.05L317.5800000000001 240H416z" /> + <glyph glyph-name="notes-medical" + unicode="" + horiz-adv-x="384" d=" M336 384H256C256 419.3 227.3 448 192 448S128 419.3 128 384H48C21.5 384 0 362.5 0 336V-16C0 -42.5 21.5 -64 48 -64H336C362.5 -64 384 -42.5 384 -16V336C384 362.5 362.5 384 336 384zM192 408C205.3 408 216 397.3 216 384S205.3 360 192 360S168 370.7 168 384S178.7 408 192 408zM288 104C288 99.6 284.4 96 280 96H224V40C224 35.6 220.4 32 216 32H168C163.6 32 160 35.6 160 40V96H104C99.6 96 96 99.6 96 104V152C96 156.4 99.6 160 104 160H160V216C160 220.4 163.6 224 168 224H216C220.4 224 224 220.4 224 216V160H280C284.4 160 288 156.4 288 152V104zM288 296C288 291.6 284.4 288 280 288H104C99.6 288 96 291.6 96 296V312C96 316.4 99.6 320 104 320H280C284.4 320 288 316.4 288 312V296z" /> + <glyph glyph-name="object-group" + unicode="" + horiz-adv-x="512" d=" M480 320V352H500C506.627 352 512 357.373 512 364V404C512 410.627 506.627 416 500 416H460C453.373 416 448 410.627 448 404V384H64V404C64 410.627 58.627 416 52 416H12C5.373 416 0 410.627 0 404V364C0 357.373 5.373 352 12 352H32V32H12C5.373 32 0 26.627 0 20V-20C0 -26.627 5.373 -32 12 -32H52C58.627 -32 64 -26.627 64 -20V0H448V-20C448 -26.627 453.373 -32 460 -32H500C506.627 -32 512 -26.627 512 -20V20C512 26.627 506.627 32 500 32H480V320zM96 172V308C96 314.627 101.373 320 108 320H276C282.627 320 288 314.627 288 308V172C288 165.373 282.627 160 276 160H108C101.373 160 96 165.373 96 172zM416 76C416 69.373 410.627 64 404 64H236C229.373 64 224 69.373 224 76V128H296C309.255 128 320 138.745 320 152V224H404C410.627 224 416 218.627 416 212V76z" /> + <glyph glyph-name="object-ungroup" + unicode="" + horiz-adv-x="576" d=" M64 128V102A6 6 0 0 0 58 96H6A6 6 0 0 0 0 102V154A6 6 0 0 0 6 160H32V352H6A6 6 0 0 0 0 358V410A6 6 0 0 0 6 416H58A6 6 0 0 0 64 410V384H352V410A6 6 0 0 0 358 416H410A6 6 0 0 0 416 410V358A6 6 0 0 0 410 352H384V160H410A6 6 0 0 0 416 154V102A6 6 0 0 0 410 96H358A6 6 0 0 0 352 102V128H64zM544 192V224H570A6 6 0 0 1 576 230V282A6 6 0 0 1 570 288H518A6 6 0 0 1 512 282V256H408V184H416C429.255 184 440 173.255 440 160V96C440 82.745 429.255 72 416 72H352C338.745 72 328 82.745 328 96V104H192V32H166A6 6 0 0 1 160 26V-26A6 6 0 0 1 166 -32H218A6 6 0 0 1 224 -26V0H512V-26A6 6 0 0 1 518 -32H570A6 6 0 0 1 576 -26V26A6 6 0 0 1 570 32H544V192z" /> + <glyph glyph-name="oil-can" + unicode="" + horiz-adv-x="640" d=" M629.8 287.69L416 224L365.51 249.24A64.07 64.07 0 0 1 336.89 256H280V304H336C344.84 304 352 311.16 352 320V336C352 344.8400000000001 344.84 352 336 352H176C167.16 352 160 344.8400000000001 160 336V320C160 311.16 167.16 304 176 304H232V256H176L37.72 281.14A31.899999999999995 31.899999999999995 0 0 1 31.93 281.67C14.67 281.67 0 267.64 0 249.66V154.71C0 139.25 11.06 125.99 26.28 123.23L96 110.54V64C96 46.33 110.33 32 128 32H402.63C411.18 32 419.38 35.42 425.39 41.51L637.65 256.26C639.15 257.76 639.99 259.8 639.99 261.92V280C640 285.31 634.91 289.15 629.8 287.69zM96 159.33L48 168.06V230.49L96 221.76V159.3300000000001zM549.3299999999999 74.67C549.3299999999999 51.11 568.43 31.9999999999999 591.9999999999999 31.9999999999999S634.6699999999998 51.1 634.6699999999998 74.67S592 160 592 160S549.33 98.23 549.33 74.67z" /> + <glyph glyph-name="om" + unicode="" + horiz-adv-x="512" d=" M360.6 387.06A10.43 10.43 0 0 1 375.36 387.06L396.93 408.62A10.43 10.43 0 0 1 396.93 423.38L375.35 444.94C371.2700000000001 449.01 364.67 449.01 360.5900000000001 444.94L339.0200000000001 423.38A10.43 10.43 0 0 1 339.0200000000001 408.62L360.6 387.06zM412.11 256C385.42 256 360.3400000000001 245.61 341.4700000000001 226.75L317.2200000000001 202.5C310.4400000000001 195.73 301.4400000000001 192 291.8400000000001 192H245C255.54 214.1 259.17 240.11 252.73 267.23C242.63 309.7800000000001 206.37 343.3400000000001 163.21 350.42C127.06 356.35 92.31 345.38 67.2 321.64C59.84 314.68 60.23 302.79 68.32 296.7100000000001L94.47 277.0800000000001C100.19 272.78 108.13 272.76 113.67 277.29C122.12 284.1900000000001 132.69 288 143.94 288C170.41 288 191.95 266.4700000000001 191.95 240.0000000000001S170.41 192 143.94 192H112.04C100.08 192 92.3 179.42 97.65 168.72L113.74 136.55C116.27 131.49 121.34 128.45 126.91 128H159.94C195.24 128 223.95 99.3 223.95 64S195.24 0 159.94 0C63.92 0 37.59 54.02 14.79 92.03C10.26 99.58 0.02 95.61 0 86.81C-0.09 32 41.13 -64 159.94 -64C230.53 -64 287.9600000000001 -6.58 287.9600000000001 64C287.9600000000001 87.42 281.1800000000001 109.1 270.1500000000001 128H291.8400000000001C318.5300000000001 128 343.61 138.39 362.48 157.25L386.73 181.5C393.51 188.27 402.51 192 412.11 192C431.89 192 447.99 175.91 447.99 156.12V56C447.99 42.77 429.2200000000001 32 415.98 32C376.5800000000001 32 349.31 56.24 334.1600000000001 74.89C329.3900000000001 80.76 319.9600000000001 77.43 319.9600000000001 69.87V32S319.9600000000001 -32 415.98 -32C464.52 -32 512 7.47 512 56V156.12C512 211.2 467.2 256 412.11 256zM454.29 380.73C368.74 315.61 285.24 377.98 281.7100000000001 380.68C275.6900000000001 385.3 267.2700000000001 385.06 261.5700000000001 380.13C255.8300000000001 375.2100000000001 254.3000000000001 366.9600000000001 257.9100000000001 360.3300000000001C259.5200000000001 357.38 298.2800000000001 287.99 376.7100000000001 287.99C456.6300000000001 287.99 475.49 319.35 478.46 325.65C479.48 327.77 479.99 330.12 479.99 332.48V368C479.99 381.2200000000001 464.85 388.69 454.29 380.73z" /> + <glyph glyph-name="outdent" + unicode="" + horiz-adv-x="448" d=" M0 364V404C0 412.837 7.163 420 16 420H432C440.837 420 448 412.837 448 404V364C448 355.163 440.837 348 432 348H16C7.163 348 0 355.163 0 364zM208 220H432C440.837 220 448 227.163 448 236V276C448 284.837 440.837 292 432 292H208C199.163 292 192 284.837 192 276V236C192 227.163 199.163 220 208 220zM16 -36H432C440.837 -36 448 -28.837 448 -20V20C448 28.837 440.837 36 432 36H16C7.163 36 0 28.837 0 20V-20C0 -28.837 7.163 -36 16 -36zM208 92H432C440.837 92 448 99.163 448 108V148C448 156.837 440.837 164 432 164H208C199.163 164 192 156.837 192 148V108C192 99.163 199.163 92 208 92zM4.687 180.687L100.687 84.703C110.734 74.652 128 81.776 128 96.016V287.992C128 302.3210000000001 110.675 309.296 100.687 299.305L4.687 203.313C-1.562 197.065 -1.562 186.935 4.687 180.687z" /> + <glyph glyph-name="paint-brush" + unicode="" + horiz-adv-x="512" d=" M167.02 138.66C126.9 136.0800000000001 90.49 120.8 69.83 66.36C67.48 60.15 61.83 56.38 55.24 56.38C44.13 56.38 9.78 84.05 -0.01 90.73C0 8.38 37.93 -64 128 -64C203.86 -64 256 -20.23 256 56.19C256 59.3 255.35 62.27 255.03 65.32L167.02 138.66zM457.89 448C442.73 448 428.52 441.29 417.68 431.55C213.27 248.95 192 244.66 192 190.91C192 177.21 195.25 164.15 200.73 152.21L264.55 99.03C271.76 97.23 279.19 96.0000000000001 286.94 96.0000000000001C349.05 96.0000000000001 385.05 141.47 498.1 352.4600000000001C505.48 366.8100000000001 512 382.3100000000001 512 398.4500000000001C512 427.36 486 448 457.89 448z" /> + <glyph glyph-name="paint-roller" + unicode="" + horiz-adv-x="512" d=" M416 320V416C416 433.67 401.67 448 384 448H32C14.33 448 0 433.67 0 416V320C0 302.33 14.33 288 32 288H384C401.67 288 416 302.3300000000001 416 320zM448 384V256C448 238.33 433.67 224 416 224H256C220.65 224 192 195.35 192 160V128C174.33 128 160 113.67 160 96V-32C160 -49.67 174.33 -64 192 -64H256C273.67 -64 288 -49.67 288 -32V96C288 113.67 273.67 128 256 128V160H416C469.02 160 512 202.98 512 256V320C512 355.35 483.35 384 448 384z" /> + <glyph glyph-name="palette" + unicode="" + horiz-adv-x="512" d=" M204.3 443C104.9 423.6 24.8 343.7 5.2 244.6C-31.8 57.6 136.9 -81.7999999999999 264 -62.1C305.2 -55.7 325.4 -7.5 306.5 29.6C283.4 74.9999999999999 316.4 128 367.4 128H447.1C482.9 128 511.9 157.6 512 193.3C511.5 350.9 368.1 474.9 204.3 443zM96 128C78.3 128 64 142.3 64 160S78.3 192 96 192S128 177.7 128 160S113.7 128 96 128zM128 256C110.3 256 96 270.3 96 288S110.3 320 128 320S160 305.7 160 288S145.7 256 128 256zM256 320C238.3 320 224 334.3 224 352S238.3 384 256 384S288 369.7 288 352S273.7 320 256 320zM384 256C366.3 256 352 270.3 352 288S366.3 320 384 320S416 305.7 416 288S401.7 256 384 256z" /> + <glyph glyph-name="pallet" + unicode="" + horiz-adv-x="640" d=" M144 192H496C504.8 192 512 199.2 512 208V432C512 440.8 504.8 448 496 448H384V320L320 352L256 320V448H144C135.2 448 128 440.8 128 432V208C128 199.2 135.2 192 144 192zM624 64C632.8 64 640 71.2 640 80V112C640 120.8 632.8 128 624 128H16C7.2 128 0 120.8 0 112V80C0 71.2 7.2 64 16 64H64V0H16C7.2 0 0 -7.2 0 -16V-48C0 -56.8 7.2 -64 16 -64H624C632.8 -64 640 -56.8 640 -48V-16C640 -7.2 632.8 0 624 0H576V64H624zM288 0H128V64H288V0zM512 0H352V64H512V0z" /> + <glyph glyph-name="paper-plane" + unicode="" + horiz-adv-x="512" d=" M476 444.8L12.5 177.4C-5.6 167 -3.3 141.8 14.7 134.2L121 89.6L408.3 342.8C413.8 347.7000000000001 421.6 340.2000000000001 416.9000000000001 334.5L176 41V-39.5C176 -63.1 204.5 -72.4 218.5 -55.3L282 22L406.6 -30.2C420.8 -36.2 437 -27.3 439.6 -12L511.6 420C515 440.2 493.3 454.8 476 444.8z" /> + <glyph glyph-name="paperclip" + unicode="" + horiz-adv-x="448" d=" M43.246 -18.142C-15.184 42.147 -14.095 139.369 44.632 199.439L254.392 414C298.708 459.332 370.743 459.336 415.063 414C458.953 369.106 459.006 296.671 415.063 251.724L232.214 64.872C202.359 34.335 153.581 34.761 124.232 65.87C95.957 95.84 96.864 143.343 125.684 172.823L269.427 319.658C275.6090000000001 325.972 285.7390000000001 326.08 292.053 319.899L314.914 297.52C321.229 291.338 321.336 281.208 315.155 274.894L171.427 128.073C166.495 123.028 166.191 114.645 170.779 109.781C175.151 105.1469999999999 182.024 105.0699999999999 186.467 109.6159999999999L369.316 296.467C388.929 316.529 388.929 349.1919999999999 369.305 369.265C350.116 388.892 319.348 388.902 300.151 369.265L90.39 154.705C55.627 119.145 55.091 61.585 89.199 26.392C123.209 -8.701 178.184 -8.745 212.257 26.106L384.317 202.105C390.4940000000001 208.424 400.624 208.538 406.943 202.361L429.82 179.997C436.139 173.82 436.254 163.69 430.076 157.3710000000001L258.016 -18.627C198.44 -79.5649999999999 102.073 -78.843 43.246 -18.1419999999999z" /> + <glyph glyph-name="parachute-box" + unicode="" + horiz-adv-x="512" d=" M511.9 273C502.8 348.6 433.5 405.4 353.6 431.7C390 392.3 416 331.1 416 256H444.1L327.5 126.5C325 127.1 322.7 128 320 128H272V256H384C384 371.2 315.1 448 256 448S128 371.2 128 256H240V128H192C189.3 128 187 127.1 184.5 126.5L67.9 256H96C96 331.1 122 392.3 158.4 431.7C78.5 405.3 9.2 348.5 0.1 273C-1 263.9 6.9 256 16.1 256H24.8L161.5 104.1C160.8 101.5 159.9 98.9 159.9 96V-32C159.9 -49.7 174.2 -64 191.9 -64H319.9C337.6 -64 351.9 -49.7 351.9 -32V96C351.9 98.9 351 101.4 350.3 104.1L487.1 256H495.8C505.1 256 513 263.8 511.9 273z" /> + <glyph glyph-name="paragraph" + unicode="" + horiz-adv-x="448" d=" M408 416H177.531C88.948 416 16.045 344.665 16 256.082C15.956 167.679 87.607 96 176 96V-8C176 -21.255 186.745 -32 200 -32H232C245.255 -32 256 -21.255 256 -8V336H288V-8C288 -21.255 298.745 -32 312 -32H344C357.255 -32 368 -21.255 368 -8V336H408C421.255 336 432 346.745 432 360V392C432 405.255 421.255 416 408 416z" /> + <glyph glyph-name="parking" + unicode="" + horiz-adv-x="448" d=" M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM240 128H192V80C192 71.2 184.8 64 176 64H144C135.2 64 128 71.2 128 80V304C128 312.8 135.2 320 144 320H240C292.9 320 336 276.9 336 224S292.9 128 240 128zM240 256H192V192H240C257.6 192 272 206.4 272 224S257.6 256 240 256z" /> + <glyph glyph-name="passport" + unicode="" + horiz-adv-x="448" d=" M129.62 272H168.71C170.2 299.03 175.25 323.35 182.92 342.41C155.21 329.17 134.9 303.2200000000001 129.62 272zM129.62 240C134.91 208.78 155.21 182.83 182.92 169.59C175.24 188.65 170.2 212.97 168.71 240.0000000000001H129.62zM224 161.31C231.69 168.76 244.77 195.73 247.43 240H200.56C203.23 195.74 216.31 168.76 224 161.31zM200.57 272H247.44C244.78 316.26 231.7 343.24 224.01 350.69C216.31 343.24 203.23 316.26 200.57 272zM265.08 169.59C292.79 182.8300000000001 313.1 208.78 318.38 240.0000000000001H279.29C277.8 212.97 272.76 188.65 265.08 169.59zM416 448H64C28.65 448 0 419.35 0 384V0C0 -35.35 28.65 -64 64 -64H416C433.67 -64 448 -49.67 448 -32V416C448 433.67 433.67 448 416 448zM336 32H112C103.2 32 96 39.2 96 48S103.2 64 112 64H336C344.8 64 352 56.8 352 48S344.8 32 336 32zM224 128C153.31 128 96 185.31 96 256S153.31 384 224 384S352 326.69 352 256S294.69 128 224 128zM265.08 342.41C272.76 323.35 277.8 299.03 279.29 272H318.38C313.1 303.2200000000001 292.79 329.17 265.08 342.41z" /> + <glyph glyph-name="pastafarianism" + unicode="" + horiz-adv-x="640" d=" M624.54 100.33C591.8399999999999 112.85 567.18 96.08 549.17 83.88C532.11 72.35 525.92 69.46 517.76 72.52C509.64 75.61 506.93 81.9 501.87 101.9C498.54 115.05 494.43 131.22 483.92 144.55C486.16 147.46 488.35 150.34 490.3 153.12C500.47 143.55 513.71 136 532 136C565.95 136 582.87 161.78 594.06 178.83C604.65 194.97 609.06 200 616 200C629.25 200 640 210.75 640 224S629.25 248 616 248C582.05 248 565.13 222.22 553.94 205.17C543.34 189.03 538.94 184 532 184C514.69 184 494.52 245.43 434.74 285.91L451.99 320.41C485.43 322.5 512 350.02 512 384C512 419.35 483.35 448 448 448S384 419.35 384 384C384 370.98 387.94 358.9 394.62 348.79L376.4700000000001 312.49C359.49 317.0900000000001 340.87 320 320.0100000000001 320S280.5200000000001 317.0900000000001 263.5500000000001 312.49L245.4000000000001 348.79C252.06 358.9 256 370.98 256 384C256 419.35 227.35 448 192 448S128 419.35 128 384C128 350.02 154.56 322.5 188.02 320.4L205.27 285.9C145.68 245.56 125.15 184 108 184C101.06 184 96.66 189.03 86.06 205.17C74.88 222.22 57.96 248 24 248C10.75 248 0 237.25 0 224S10.75 200 24 200C30.94 200 35.34 194.97 45.94 178.83C57.13 161.78 74.05 136 108 136C126.29 136 139.53 143.55 149.7 153.11C151.65 150.32 153.84 147.45 156.08 144.54C145.57 131.21 141.46 115.04 138.13 101.89C133.07 81.89 130.36 75.61 122.24 72.5100000000001C114.13 69.4500000000001 107.91 72.34 90.83 83.8700000000001C72.8 96.0700000000001 48.11 112.7900000000001 15.46 100.3200000000001C3.07 95.6 -3.13 81.7400000000001 1.59 69.35C6.31 56.94 20.2 50.74 32.56 55.47C40.72 58.56 46.9 55.66 63.95 44.11C77.5 34.95 94.78 23.25 116.37 23.27C123.54 23.27 131.2 24.55 139.34 27.66C172 40.1 179.32 68.99 184.67 90.1C186.88 98.8200000000001 188.66 104.59 190.62 108.97C207.24 95.36 227.57 83.09 252.26 74.8C242.3 37.8 220.08 -16 192 -16C178.75 -16 168 -26.75 168 -40S178.75 -64 192 -64C258.74 -64 289.05 24.63 299.42 65.14C306.11 64.54 312.8400000000001 64 320 64S333.89 64.54 340.58 65.14C350.95 24.63 381.26 -64 448 -64C461.25 -64 472 -53.25 472 -40S461.25 -16 448 -16C420.06 -16 397.79 37.81 387.78 74.81C412.47 83.1 432.78 95.37 449.4 108.97C451.36 104.59 453.14 98.8200000000001 455.35 90.1C460.6899999999999 68.99 468.02 40.1 500.6799999999999 27.66C508.8199999999999 24.55 516.4799999999999 23.27 523.65 23.27C545.24 23.27 562.52 34.96 576.0699999999999 44.11C593.1199999999999 55.66 599.3499999999999 58.56 607.4599999999999 55.47C619.8499999999999 50.72 633.7299999999999 56.9400000000001 638.43 69.35C643.14 81.75 636.9399999999999 95.61 624.54 100.33zM448 400C456.82 400 464 392.82 464 384S456.82 368 448 368S432 375.18 432 384S439.18 400 448 400zM192 400C200.82 400 208 392.82 208 384S200.82 368 192 368S176 375.18 176 384S183.18 400 192 400z" /> + <glyph glyph-name="paste" + unicode="" + horiz-adv-x="448" d=" M128 264C128 294.879 153.122 320 184 320H320V392C320 405.255 309.255 416 296 416H215.39C204.306 435.11 183.637 448 160 448S115.694 435.11 104.61 416H24C10.745 416 0 405.255 0 392V56C0 42.745 10.745 32 24 32H128V264zM160 408C173.255 408 184 397.255 184 384S173.255 360 160 360S136 370.745 136 384S146.745 408 160 408zM344 160H448V-40C448 -53.255 437.255 -64 424 -64H184C170.745 -64 160 -53.255 160 -40V264C160 277.255 170.745 288 184 288H320V184C320 170.8 330.8 160 344 160zM448 198.059V192H352V288H358.0590000000001A24 24 0 0 0 375.029 280.971L440.9700000000001 215.03A24.002000000000002 24.002000000000002 0 0 0 448 198.059z" /> + <glyph glyph-name="pause-circle" + unicode="" + horiz-adv-x="512" d=" M256 440C119 440 8 329 8 192S119 -56 256 -56S504 55 504 192S393 440 256 440zM240 112C240 103.2 232.8 96 224 96H176C167.2 96 160 103.2 160 112V272C160 280.8 167.2 288 176 288H224C232.8 288 240 280.8 240 272V112zM352 112C352 103.2 344.8 96 336 96H288C279.2 96 272 103.2 272 112V272C272 280.8 279.2 288 288 288H336C344.8 288 352 280.8 352 272V112z" /> + <glyph glyph-name="pause" + unicode="" + horiz-adv-x="448" d=" M144 -31H48C21.5 -31 0 -9.5 0 17V369C0 395.5 21.5 417 48 417H144C170.5 417 192 395.5 192 369V17C192 -9.5 170.5 -31 144 -31zM448 17V369C448 395.5 426.5 417 400 417H304C277.5 417 256 395.5 256 369V17C256 -9.5 277.5 -31 304 -31H400C426.5 -31 448 -9.5 448 17z" /> + <glyph glyph-name="paw" + unicode="" + horiz-adv-x="512" d=" M85.231 117.042C36 117.042 0 174.208 0 216.5C0 244.792 16 274.5420000000001 49.538 274.5420000000001C98.769 274.5420000000001 134.769 217.084 134.769 174.792C134.769 146.5 119.077 117.042 85.231 117.042zM433.231 10.875C433.231 -26.167 401.231 -32 369.846 -32C328.615 -32 295.384 -5.75 256 -5.75C214.769 -5.75 179.692 -31.708 135.077 -31.708C105.23 -31.708 78.769 -22.083 78.769 10.875C78.769 80 180.616 182.667 256 182.667S433.231 79.708 433.231 10.875zM182.462 244.208C132.615 244.208 102.462 303.708 102.462 344.541C102.462 377.208 120.308 416 160 416C210.154 416 240 356.5 240 315.6670000000001C240 283 222.154 244.208 182.462 244.208zM272 315.6670000000001C272 356.5 301.846 416 352 416C391.692 416 409.539 377.208 409.539 344.5420000000001C409.539 303.709 379.385 244.209 329.538 244.209C289.846 244.208 272 283 272 315.6670000000001zM512 216.5C512 174.208 476 117.042 426.769 117.042C392.9220000000001 117.042 377.231 146.5 377.231 174.792C377.231 217.083 413.23 274.5420000000001 462.462 274.5420000000001C496 274.5420000000001 512 244.792 512 216.5z" /> + <glyph glyph-name="peace" + unicode="" + horiz-adv-x="496" d=" M248 440C111.03 440 0 328.9700000000001 0 192S111.03 -56 248 -56S496 55.03 496 192S384.9700000000001 440 248 440zM432 192C432 160.07 423.8 130.03 409.43 103.83L280 207.37V373.03C366.23 357.82 432 282.53 432 192zM216 10.97C182.14 16.9400000000001 151.51 32.17 126.71 53.99L216 125.43V10.97zM280 125.43L369.29 54C344.49 32.18 313.86 16.95 280 10.98V125.43zM216 373.03V207.37L86.57 103.83C72.2 130.03 64 160.07 64 192C64 282.53 129.77 357.82 216 373.03z" /> + <glyph glyph-name="pen-alt" + unicode="" + horiz-adv-x="512" d=" M497.94 373.83L437.83 433.94C419.08 452.69 388.67 452.69 369.92 433.94L313.37 377.39L441.39 249.37L497.94 305.92C516.69 324.67 516.69 355.0700000000001 497.94 373.8300000000001zM251.14 394.36C235.52 409.98 210.2 409.98 194.58 394.36L75.8 275.57C69.55 269.32 69.55 259.19 75.8 252.95L98.43 230.32C104.68 224.07 114.81 224.07 121.06 230.32L222.88 332.14L245.51 309.52L93.95 157.97A327.038 327.038 0 0 1 0.17 -37.11L0.14 -37.34C-1.56 -52.62 11.35 -65.5400000000001 26.63 -63.85A327.02000000000004 327.02000000000004 0 0 1 221.97 29.95L418.76 226.74L335.99 309.51L251.14 394.36z" /> + <glyph glyph-name="pen-fancy" + unicode="" + horiz-adv-x="512" d=" M79.18 165.06A32.005 32.005 0 0 1 58.94 144.82L0 -32L4.69 -36.69L97.58 56.2C96.92 58.76 96.01 61.23 96.01 64C96.01 81.67 110.34 96 128.01 96S160.01 81.67 160.01 64S145.68 32 128.01 32C125.24 32 122.77 32.91 120.21 33.57L27.32 -59.32L32 -64L208.82 -5.06A31.982999999999997 31.982999999999997 0 0 1 229.06 15.18L262.13 99.25L163.25 198.13L79.18 165.06zM369.25 419.68L186.14 220.19L283.99 122.34L483.48 305.4500000000001C568.4 380.52 443.73 503.94 369.25 419.68z" /> + <glyph glyph-name="pen-nib" + unicode="" + horiz-adv-x="512" d=" M136.6 309.2100000000001A64.003 64.003 0 0 1 93.29 267.86L0 -12L14.69 -26.69L164.8 123.42C161.81 129.68 160 136.6 160 144C160 170.51 181.49 192 208 192S256 170.51 256 144S234.51 96 208 96C200.6 96 193.68 97.81 187.42 100.8L37.31 -49.31L52 -64L331.86 29.29A64.003 64.003 0 0 1 373.2100000000001 72.6L416 224L288 352L136.6 309.2100000000001zM497.9399999999999 373.8300000000001L437.83 433.94C419.08 452.69 388.67 452.69 369.92 433.94L313.37 377.39L441.39 249.37L497.94 305.92C516.69 324.67 516.69 355.0700000000001 497.94 373.8300000000001z" /> + <glyph glyph-name="pen-square" + unicode="" + horiz-adv-x="448" d=" M400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368V16C448 -10.5 426.5 -32 400 -32zM238.1 270.1L102.4 134.4L96.1 77.3C95.3 69.6999999999999 101.7 63.1999999999999 109.4 63.9999999999999L166.5 70.3L302.2 206C304.5 208.3 304.5 212.1 302.2 214.5L246.7 270C244.2 272.4 240.4 272.4 238.1 270.1zM345 282.9L314.9 313C305.5 322.4 290.3 322.4 281 313L257.9 289.9C255.6 287.6 255.6 283.8 257.9 281.4L313.4 225.9C315.7 223.6 319.5 223.6 321.9 225.9L345 249C354.3 258.3 354.3 273.5 345 282.9z" /> + <glyph glyph-name="pen" + unicode="" + horiz-adv-x="512" d=" M290.74 354.76L418.76 226.74L140.77 -51.25L26.63 -63.85C11.35 -65.54 -1.56 -52.62 0.14 -37.34L12.84 76.88L290.74 354.76zM497.94 373.82L437.83 433.93C419.08 452.68 388.67 452.68 369.92 433.93L313.37 377.38L441.39 249.36L497.94 305.9100000000001C516.69 324.67 516.69 355.0700000000001 497.94 373.8200000000001z" /> + <glyph glyph-name="pencil-alt" + unicode="" + horiz-adv-x="512" d=" M497.9 305.9L451.8 259.8C447.1 255.1 439.5 255.1 434.8 259.8L323.8 370.8C319.1 375.5 319.1 383.1 323.8 387.8L369.9 433.9000000000001C388.6 452.6 419 452.6 437.8 433.9000000000001L497.9 373.8C516.6999999999999 355.1 516.6999999999999 324.7000000000001 497.9 305.9zM284.2 348.2L21.6 85.6L0.4 -35.9C-2.5 -52.3 11.8 -66.5 28.2 -63.7L149.7 -42.4L412.3 220.2000000000001C417 224.9 417 232.5000000000001 412.3 237.2000000000001L301.3 348.2000000000001C296.5 352.9000000000001 288.9000000000001 352.9000000000001 284.2 348.2000000000001zM124.1 108.1C118.6 113.6 118.6 122.4 124.1 127.9L278.1 281.9000000000001C283.6 287.4000000000001 292.4000000000001 287.4000000000001 297.9000000000001 281.9000000000001S303.4000000000001 267.6 297.9000000000001 262.1L143.9 108.1C138.4 102.6 129.6 102.6 124.1 108.1zM88 24H136V-12.3L71.5 -23.6L40.4 7.5L51.7 72H88V24z" /> + <glyph glyph-name="pencil-ruler" + unicode="" + horiz-adv-x="512" d=" M109.46 203.96L244.04 338.52L199.92 382.64L138.24 320.9600000000001A7.919 7.919 0 0 0 127.03 320.9600000000001L115.82 332.17C112.72 335.27 112.72 340.29 115.82 343.38L177.5 405.06L143.86 438.7100000000001C131.47 451.1 111.39 451.1 99 438.71L9.29 349C-3.09 336.61 -3.1 316.53 9.29 304.14L109.46 203.96zM497.93 320.76C516.69 339.52 516.6800000000001 369.93 497.93 388.69L452.68 433.94C433.92 452.7 403.5 452.7 384.73 433.94L338.7100000000001 387.93L451.91 274.73L497.93 320.76zM316.08 365.29L19.08 68.33L0.32 -39.11C-2.21 -53.6 10.41 -66.22 24.91 -63.67L132.36 -44.83L429.28 252.1L316.08 365.29zM502.71 79.86L469.07 113.5L407.39 51.82C404.29 48.72 399.27 48.72 396.18 51.82L384.9700000000001 63.03C381.8800000000001 66.13 381.8800000000001 71.15 384.9700000000001 74.24L446.6500000000001 135.92L402.5100000000001 180.06L267.93 45.5L368.14 -54.7C380.53 -67.09 400.61 -67.09 413 -54.7L502.71 35C515.1 47.39 515.1 67.47 502.71 79.86z" /> + <glyph glyph-name="people-carry" + unicode="" + horiz-adv-x="640" d=" M128 352C154.5 352 176 373.5 176 400S154.5 448 128 448S80 426.5 80 400S101.5 352 128 352zM512 352C538.5 352 560 373.5 560 400S538.5 448 512 448S464 426.5 464 400S485.5 352 512 352zM637.7 -20.1L593.7 89.9L552.6 43.5L550.6 25.3L578.3000000000001 -43.9C583.3000000000001 -56.4 595.3000000000001 -64 608.0000000000001 -64C612.0000000000001 -64 616.0000000000001 -63.3 619.9000000000001 -61.7C636.3000000000001 -55.1 644.3000000000001 -36.5 637.7 -20.1zM603.5 189.7L585 269.9C580.4 289.9 566.4 306.7 547.5 314.8C529 322.8 508.5 321.5 491.4 311.5C468.7 298.1 451.7 277 443.3 252.1L432 218.2L416 208V304C416 312.8 408.8 320 400 320H240C231.2 320 224 312.8 224 304V208L207.9 218.2L196.6 252.1C188.3 277.1 171.2 298.1 148.5 311.5C131.3 321.5 110.9 322.8 92.4 314.8C73.5 306.7000000000001 59.5 289.9 54.9 269.9L36.5 189.7C31.9 169.7 37.2 148.5 50.9 133L118.1 57.1L128.2 -35.5C130 -51.8 143.8 -64 160 -64C161.2 -64 162.3 -63.9 163.5 -63.8C181.1 -61.9 193.7 -46.1 191.8 -28.5L181.7 64.3C180.2 77.3 174.8 89.4 166.1 99.3L122.8 148.3L140.4 218.6L147.2000000000001 198.2C151.3000000000001 185.7000000000001 159.1000000000001 174.8 171.7000000000001 165.6L222.8000000000001 133.1C227.4000000000001 130.2000000000001 234.9000000000001 128.5 240.0000000000001 128.1H400C405.1 128.5 412.6 130.2000000000001 417.2 133.1L468.3 165.6C480.9 174.8 488.7 185.6 492.8 198.2L499.6 218.6L517.2 148.3L473.9 99.3C465.2 89.4 459.8 77.3 458.3 64.3L448.2 -28.5C446.3 -46.1 459 -61.9 476.5 -63.8C477.7 -63.9 478.8 -64 480 -64C496.1 -64 510 -51.9 511.8 -35.5L521.9 57.1L589.1 133C602.7 148.5 608.1 169.7 603.5 189.7zM46.3 89.9L2.3 -20.1C-4.3 -36.5 3.7 -55.1 20.1 -61.7C36.9 -68.3000000000001 55.2 -60.0000000000001 61.7 -43.9L89.4 25.3L87.4 43.4999999999999L46.3 89.8999999999999z" /> + <glyph glyph-name="percent" + unicode="" + horiz-adv-x="448" d=" M112 224C173.9 224 224 274.1 224 336S173.9 448 112 448S0 397.9 0 336S50.1 224 112 224zM112 384C138.5 384 160 362.5 160 336S138.5 288 112 288S64 309.5 64 336S85.5 384 112 384zM336 160C274.1 160 224 109.9 224 48S274.1 -64 336 -64S448 -13.9 448 48S397.9 160 336 160zM336 0C309.5 0 288 21.5 288 48S309.5 96 336 96S384 74.5 384 48S362.5 0 336 0zM392.3 447.8L423.9000000000001 447.9C443.3 448 454.8 426.1 443.6 410.1L77.4 -53.6A23.95 23.95 0 0 0 57.8 -63.8L24.4 -63.9C4.9 -63.9 -6.5 -42.0000000000001 4.7 -26.1L372.7 437.6C377.2 444 384.5 447.8 392.3 447.8z" /> + <glyph glyph-name="percentage" + unicode="" + horiz-adv-x="384" d=" M109.25 274.75C134.24 299.74 134.24 340.27 109.25 365.26C84.26 390.25 43.73 390.25 18.74 365.26C-6.25 340.27 -6.25 299.74 18.74 274.75C43.74 249.75 84.26 249.75 109.25 274.75zM365.25 109.26C340.26 134.25 299.73 134.25 274.74 109.26C249.75 84.27 249.75 43.74 274.74 18.75C299.73 -6.24 340.26 -6.24 365.25 18.75C390.25 43.74 390.25 84.26 365.25 109.26zM363.31 340.69L340.69 363.31C328.19 375.81 307.93 375.81 295.44 363.31L20.69 88.56C8.19 76.06 8.19 55.8 20.69 43.31L43.31 20.69C55.81 8.19 76.07 8.19 88.56 20.69L363.31 295.44C375.81 307.93 375.81 328.19 363.31 340.69z" /> + <glyph glyph-name="phone-slash" + unicode="" + horiz-adv-x="640" d=" M268.2 66.6L218.6 127.2000000000001C211.8 135.5000000000001 200.4 138.3000000000001 190.6 134.1L78.6 86.1C67.9 81.5 62.1 70 64.7 58.6L88.7 -45.4C91.2 -56.2 100.8 -64 112.1 -64C212.8 -64 305.8 -31.6 381.8 22.9L301.8 84.7C290.9 78.2 279.7 72 268.2 66.6zM633.8 -10.1L475.1 112.5C537.9 191.6 576 291.1 576 400C576 411.2 568.3 420.9 557.4 423.4L453.4 447.4C442.1 450 430.5 444.1 425.9 433.5L377.9 321.5C373.7 311.7 376.5 300.2 384.8 293.5L445.4 243.9C433.2 217.8 417.5 193.6 399.4 171.1L45.5 444.6C38.5 450 28.5 448.8 23 441.8L3.4 416.6C-2 409.6 -0.8 399.6 6.2 394.2L594.6 -60.5C601.6 -65.9 611.6 -64.7 617.1 -57.7L636.7 -32.4C642.1 -25.6 640.8000000000001 -15.5 633.8000000000001 -10.1z" /> + <glyph glyph-name="phone-square" + unicode="" + horiz-adv-x="448" d=" M400 416H48C21.49 416 0 394.51 0 368V16C0 -10.51 21.49 -32 48 -32H400C426.51 -32 448 -10.51 448 16V368C448 394.51 426.51 416 400 416zM94 32C86.967 32 80.943 36.873 79.384 43.627L64.386 108.627A15 15 0 0 0 73.093 125.787L143.091 155.7860000000001A15 15 0 0 0 160.609 151.4970000000001L191.606 113.6120000000001C240.55 136.5750000000001 279.903 176.4700000000001 302.387 224.3920000000001L264.501 255.3890000000001A15.000999999999998 15.000999999999998 0 0 0 260.212 272.9070000000001L290.212 342.9050000000001A15 15 0 0 0 307.372 351.6120000000001L372.372 336.6140000000001A14.997000000000002 14.997000000000002 0 0 0 384 322C384 161.708 254.055 32 94 32z" /> + <glyph glyph-name="phone-volume" + unicode="" + horiz-adv-x="384" d=" M97.333 -58.966C-32.541 70.908 -32.348 281.286 97.333 410.967C103.031 416.665 111.86 417.599 118.596 413.389L183.413 372.876A17.187 17.187 0 0 0 190.262 351.918L157.854 270.897A17.188 17.188 0 0 0 140.185 260.178L84.375 265.7580000000001C63.324 207.497 63.763 143.287 84.375 86.2430000000001L140.186 91.8240000000001A17.188 17.188 0 0 0 157.855 81.1050000000001L190.263 0.0830000000001A17.188 17.188 0 0 0 183.414 -20.8749999999999L118.597 -61.3879999999999A17.19 17.19 0 0 0 97.333 -58.9659999999998zM247.126 352.527C258.9580000000001 332.48 258.9580000000001 307.519 247.126 287.472C243.176 280.779 234.018 279.513 228.408 284.891L222.433 290.617C218.522 294.365 217.64 300.239 220.172 305.027A32.063 32.063 0 0 1 220.172 334.972C217.6390000000001 339.76 218.522 345.634 222.433 349.382L228.408 355.108C234.0180000000001 360.486 243.176 359.22 247.126 352.527zM338.913 443.714C399.053 372.11 399.005 267.832 338.913 196.286C334.439 190.959 326.3830000000001 190.54 321.361 195.353L315.563 200.91C311.003 205.281 310.586 212.439 314.633 217.289C364.32 276.827 364.279 363.222 314.633 422.711C310.586 427.561 311.002 434.719 315.563 439.09L321.361 444.647C326.383 449.46 334.439 449.041 338.913 443.714zM292.9410000000001 398.773C328.9910000000001 352.451 329.0490000000001 287.624 292.9410000000001 241.227C288.5510000000001 235.586 280.2440000000001 234.976 275.0850000000001 239.923L269.2670000000001 245.502C264.8670000000001 249.721 264.2690000000001 256.597 267.9820000000001 261.433C294.5180000000001 295.997 294.516 344.005 267.9820000000001 378.567C264.269 383.403 264.867 390.278 269.2670000000001 394.4980000000001L275.0850000000001 400.077C280.2440000000001 405.024 288.5510000000001 404.414 292.9410000000001 398.773z" /> + <glyph glyph-name="phone" + unicode="" + horiz-adv-x="512" d=" M493.4 423.4L389.4 447.4C378.1 450 366.5 444.1 361.9 433.5L313.9 321.5C309.7 311.7 312.5 300.2 320.8 293.5L381.4 243.9C345.4 167.2 282.5 103.4 204.2 66.7000000000001L154.6 127.3000000000001C147.8 135.6000000000001 136.4 138.4000000000001 126.6 134.2000000000001L14.6 86.2000000000001C3.9 81.5 -2 69.9 0.6 58.6L24.6 -45.4C27.1 -56.2 36.7 -64 48 -64C304.1 -64 512 143.5 512 400C512 411.2 504.3 420.9 493.4 423.4z" /> + <glyph glyph-name="piggy-bank" + unicode="" + horiz-adv-x="576" d=" M560 224H530.5C521.7 244 508.9 261.7 493.1 276.5L512 352H480C450.6 352 424.6 338.5 407 317.7C399.4 318.8 391.9 320 384 320H256C178.6 320 114.1 265 99.2 192H56C41.2 192 29.5 205.5 32.5 220.8C34.7 232.2 45.4 240 57 240H58C61.3 240 64 242.7 64 246V266C64 269.3 61.3 272 58 272C29.5 272 4.1 251.6 0.5 223.4C-3.9 189.2 22.7 160 56 160H96C96 107.8 121.4 61.9 160 32.7V-48C160 -56.8 167.2 -64 176 -64H240C248.8 -64 256 -56.8 256 -48V0H384V-48C384 -56.8 391.2 -64 400 -64H464C472.8 -64 480 -56.8 480 -48V32.7C491.8 41.6 502.3 52.1 511.3 64H560C568.8 64 576 71.2 576 80V208C576 216.8 568.8 224 560 224zM432 160C423.2 160 416 167.2 416 176S423.2 192 432 192S448 184.8 448 176S440.8 160 432 160zM256 352H384C389.4 352 394.7 351.6 399.9 351.2C399.9 351.5 400 351.7 400 352C400 405 357 448 304 448S208 405 208 352C208 349.9 208.5 347.9 208.6 345.8C223.8 349.7 239.6 352 256 352z" /> + <glyph glyph-name="pills" + unicode="" + horiz-adv-x="576" d=" M112 416C50.1 416 0 365.9 0 304V80C0 18.1 50.1 -32 112 -32S224 18.1 224 80V304C224 365.9 173.9 416 112 416zM160 192H64V304C64 330.5 85.5 352 112 352S160 330.5 160 304V192zM299.7 221.7C296.2 225.2 290.3 224.8 287.4 220.9C242.1 158.4 247 70.8 303.3 14.5C359.6 -41.8 447.2 -46.7 509.6999999999999 -1.4C513.6999999999999 1.5 513.9999999999999 7.4 510.4999999999999 10.9L299.7 221.7zM529.5 240.7C473.2 297 385.6 301.9 323.1 256.6C319.1 253.7 318.8 247.8 322.3 244.3L533.1 33.5C536.6 30 542.5 30.4 545.4 34.3C590.6999999999999 96.9 585.9 184.4 529.5 240.7z" /> + <glyph glyph-name="place-of-worship" + unicode="" + horiz-adv-x="640" d=" M620.61 81.45L512 128V-64H624C632.84 -64 640 -56.84 640 -48V52.04A32 32 0 0 1 620.61 81.4500000000001zM0 52.04V-48C0 -56.84 7.16 -64 16 -64H128V128L19.39 81.45A32 32 0 0 1 0 52.04zM464.46 201.32L416 230.4V345.37C416 353.86 412.63 361.99 406.62 368L331.31 443.31C325.06 449.56 314.93 449.56 308.69 443.31L233.38 368C227.38 362 224 353.86 224 345.37V230.4L175.54 201.32A31.997 31.997 0 0 1 160 173.88V-64H256V32C256 67.35 284.6600000000001 96 320 96S384 67.35 384 32V-64H480V173.88C480 185.12 474.1 195.54 464.46 201.32z" /> + <glyph glyph-name="plane-arrival" + unicode="" + horiz-adv-x="640" d=" M624 0H16C7.16 0 0 -7.16 0 -16V-48C0 -56.84 7.16 -64 16 -64H624C632.84 -64 640 -56.84 640 -48V-16C640 -7.16 632.84 0 624 0zM44.81 242.34L133.55 162.34A62.60699999999999 62.60699999999999 0 0 1 159.02 148.41L446.62 70.0600000000001C473.1 62.8500000000001 501.18 61.34 527.62 68.7000000000001C557.29 76.97 571.06 89.91 574.87 104.41C578.7 118.91 573.14 137.12 551.5 159.37C532.22 179.19 507.15 192.16 480.67 199.37L383.1600000000001 225.93L282.8 417.78C281.29 423.59 276.85 428.13 271.14 429.69L206.05 447.42C195.49 450.3 185.15 442.1 185.34 430.98L233.26 266.77L131.06 294.61L103.47 362.49C101.54 367.38 97.46 371.06 92.45 372.42L52.72 383.25C42.38 386.07 32.19 378.25 32 367.37L32.23 265.5900000000001C32.42 256.68 38.26 248.25 44.81 242.34z" /> + <glyph glyph-name="plane-departure" + unicode="" + horiz-adv-x="640" d=" M624 0H16C7.16 0 0 -7.16 0 -16V-48C0 -56.84 7.16 -64 16 -64H624C632.84 -64 640 -56.84 640 -48V-16C640 -7.16 632.84 0 624 0zM80.55 106.73C86.83 99.89 95.65 96.01 104.88 96.02L235.42 96.2000000000001A65.62 65.62 0 0 1 265.06 103.3200000000001L556.02 250.9700000000001C582.76 264.5400000000001 606.73 283.9100000000001 623.04 309.2800000000001C641.3499999999999 337.7600000000001 643.3399999999999 358.3700000000001 636.11 372.9300000000001C628.9 387.5000000000001 611.37 398.2000000000001 577.86 400.3800000000001C548.01 402.3200000000001 518.32 394.4600000000001 491.58 380.9000000000001L393.0700000000001 330.9100000000001L174.3700000000001 412.9700000000001A17.799 17.799 0 0 1 156.3700000000001 414.0800000000001L90.62 380.71C79.95 375.3 77.37 361.06 85.45 352.18L241.67 254.08L138.46 201.7L66.11 238.17A17.804 17.804 0 0 1 50.04 238.15L9.91 217.78C-0.53 212.48 -3.28 198.66 4.34 189.7L80.55 106.73z" /> + <glyph glyph-name="plane" + unicode="" + horiz-adv-x="576" d=" M480 256H365.71L260.61 439.94A16.014 16.014 0 0 1 246.71 448H181.21C170.58 448 162.91 437.83 165.83 427.61L214.86 256H112L68.8 313.6C65.78 317.63 61.03 320 56 320H16.01C5.6 320 -2.04 310.2200000000001 0.49 300.12L32 192L0.49 83.88C-2.04 73.78 5.6 64 16.01 64H56C61.04 64 65.78 66.37 68.8 70.4L112 128H214.86L165.83 -43.6C162.91 -53.82 170.58 -64 181.21 -64H246.71C252.45 -64 257.75 -60.92 260.6 -55.94L365.71 128H480C515.35 128 576 156.65 576 192S515.35 256 480 256z" /> + <glyph glyph-name="play-circle" + unicode="" + horiz-adv-x="512" d=" M256 440C119 440 8 329 8 192S119 -56 256 -56S504 55 504 192S393 440 256 440zM371.7 168L195.7 67C179.9 58.2 160 69.5 160 88V296C160 314.4 179.8 325.8 195.7 317L371.7 210C388.1 200.8 388.1 177.1 371.7 168z" /> + <glyph glyph-name="play" + unicode="" + horiz-adv-x="448" d=" M424.4 233.3L72.4 441.4C43.8 458.3 0 441.9 0 400.1V-16C0 -53.5 40.7 -76.1 72.4 -57.3L424.4 150.7C455.8 169.2 455.9 214.8 424.4 233.3z" /> + <glyph glyph-name="plug" + unicode="" + horiz-adv-x="384" d=" M256 304V416C256 433.673 270.327 448 288 448S320 433.673 320 416V304H256zM368 288H16C7.163 288 0 280.837 0 272V240C0 231.163 7.163 224 16 224H32V192C32 114.594 86.969 50.029 160 35.204V-64H224V35.204C297.031 50.029 352 114.594 352 192V224H368C376.837 224 384 231.163 384 240V272C384 280.837 376.837 288 368 288zM128 304V416C128 433.673 113.673 448 96 448S64 433.673 64 416V304H128z" /> + <glyph glyph-name="plus-circle" + unicode="" + horiz-adv-x="512" d=" M256 440C119 440 8 329 8 192S119 -56 256 -56S504 55 504 192S393 440 256 440zM400 164C400 157.4 394.6 152 388 152H296V60C296 53.4 290.6 48 284 48H228C221.4 48 216 53.4 216 60V152H124C117.4 152 112 157.4 112 164V220C112 226.6 117.4 232 124 232H216V324C216 330.6 221.4 336 228 336H284C290.6 336 296 330.6 296 324V232H388C394.6 232 400 226.6 400 220V164z" /> + <glyph glyph-name="plus-square" + unicode="" + horiz-adv-x="448" d=" M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM368 164C368 157.4 362.6 152 356 152H264V60C264 53.4 258.6 48 252 48H196C189.4 48 184 53.4 184 60V152H92C85.4 152 80 157.4 80 164V220C80 226.6 85.4 232 92 232H184V324C184 330.6 189.4 336 196 336H252C258.6 336 264 330.6 264 324V232H356C362.6 232 368 226.6 368 220V164z" /> + <glyph glyph-name="plus" + unicode="" + horiz-adv-x="448" d=" M416 240H272V384C272 401.67 257.67 416 240 416H208C190.33 416 176 401.67 176 384V240H32C14.33 240 0 225.67 0 208V176C0 158.33 14.33 144 32 144H176V0C176 -17.67 190.33 -32 208 -32H240C257.67 -32 272 -17.67 272 0V144H416C433.67 144 448 158.33 448 176V208C448 225.67 433.67 240 416 240z" /> + <glyph glyph-name="podcast" + unicode="" + horiz-adv-x="448" d=" M267.429 -40.563C262.286 -59.573 242.858 -64 224 -64C205.143 -64 185.714 -59.573 180.572 -40.563C172.927 -12.134 160 59.102 160 92.25C160 127.406 191.142 136 224 136S288 127.406 288 92.25C288 59.301 275.129 -11.929 267.429 -40.563zM156.867 159.446C138.174 177.754 126.909 203.619 128.083 232.045C130.137 281.769 170.478 322.0010000000001 220.207 323.9260000000001C274.862 326.0420000000001 320 282.193 320 228C320 201.173 308.936 176.884 291.134 159.448C288.459 156.828 288.733 152.462 291.762 150.261C301.074 143.496 308.222 134.918 312.996 124.898C314.737 121.244 319.493 120.238 322.445 123.007C351.271 150.05 368.998 188.79 367.956 231.572C366.101 307.778 304.361 369.78 228.163 371.9409999999999C146.869 374.247 80 308.785 80 228C80 186.639 97.532 149.3 125.55 123.011C128.503 120.24 133.261 121.241 135.003 124.898C139.777 134.919 146.926 143.496 156.238 150.261C159.267 152.461 159.542 156.827 156.867 159.446zM224 448C100.204 448 0 347.815 0 224C0 134.008 52.602 58.353 125.739 22.592C130.072 20.474 135.006 24.136 134.274 28.902C131.892 44.414 129.932 59.848 128.868 73.241C128.722 75.077 127.719 76.727 126.19 77.753C78.79 109.559 47.626 163.769 48.003 225.1C48.595 321.337 127.293 399.748 223.532 399.999C320.793 400.253 400 321.203 400 224C400 162.068 367.842 107.51 319.35 76.133C318.351 62.0960000000001 316.281 45.545 313.726 28.903C312.994 24.136 317.929 20.474 322.261 22.593C395.227 58.273 448 133.813 448 224C448 347.795 347.815 448 224 448zM224 288C188.654 288 160 259.346 160 224S188.654 160 224 160S288 188.654 288 224S259.346 288 224 288z" /> + <glyph glyph-name="poll-h" + unicode="" + horiz-adv-x="448" d=" M448 16V368C448 394.5 426.5 416 400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16zM112 256C103.16 256 96 263.16 96 272V304C96 312.8400000000001 103.16 320 112 320H240C248.84 320 256 312.8400000000001 256 304V272C256 263.16 248.84 256 240 256H112zM112 160C103.16 160 96 167.16 96 176V208C96 216.84 103.16 224 112 224H336C344.84 224 352 216.84 352 208V176C352 167.16 344.84 160 336 160H112zM112 64C103.16 64 96 71.16 96 80V112C96 120.84 103.16 128 112 128H176C184.84 128 192 120.84 192 112V80C192 71.16 184.84 64 176 64H112z" /> + <glyph glyph-name="poll" + unicode="" + horiz-adv-x="448" d=" M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM160 80C160 71.16 152.84 64 144 64H112C103.16 64 96 71.16 96 80V208C96 216.84 103.16 224 112 224H144C152.84 224 160 216.84 160 208V80zM256 80C256 71.16 248.84 64 240 64H208C199.16 64 192 71.16 192 80V304C192 312.8400000000001 199.16 320 208 320H240C248.84 320 256 312.8400000000001 256 304V80zM352 80C352 71.16 344.84 64 336 64H304C295.1600000000001 64 288 71.16 288 80V144C288 152.84 295.1600000000001 160 304 160H336C344.84 160 352 152.84 352 144V80z" /> + <glyph glyph-name="poo" + unicode="" + horiz-adv-x="512" d=" M451.4 78.9C468.7 92 480 112.6 480 136C480 175.8 447.8 208 408 208H393.9C407.3 219.7 416 236.8 416 256C416 291.3 387.3 320 352 320H346.1C349.7000000000001 330.1 352 340.7 352 352C352 405 309 448 256 448C250.8 448 245.8 447.3 240.9 446.5C250.3 433.4 256 417.4 256 400C256 355.8 220.2 320 176 320H160C124.7 320 96 291.3 96 256C96 236.8 104.7 219.7 118.1 208H104C64.2 208 32 175.8 32 136C32 112.6 43.3 92 60.6 78.9C26.3 73.4 0 43.9 0 8C0 -31.8 32.2 -64 72 -64H440C479.8 -64 512 -31.8 512 8C512 43.9 485.7 73.4 451.4 78.9zM192 192C209.7 192 224 177.7 224 160S209.7 128 192 128S160 142.3 160 160S174.3 192 192 192zM351.5 53C341 25.1 293 0 256 0S171 25.1 160.5 53C158.5 58.3 162.5 64 168.3 64H343.7000000000001C349.5000000000001 64 353.5000000000001 58.3 351.5000000000001 53zM320 128C302.3 128 288 142.3 288 160S302.3 192 320 192S352 177.7 352 160S337.7 128 320 128z" /> + <glyph glyph-name="poop" + unicode="" + horiz-adv-x="512" d=" M451.36 78.86C468.66 92.01 480 112.59 480 136C480 175.77 447.76 208 408 208H393.93C407.35 219.73 416 236.78 416 256C416 291.35 387.35 320 352 320H346.12C349.69 330.05 352 340.7200000000001 352 352C352 405.02 309.02 448 256 448C250.83 448 245.85 447.26 240.89 446.48C250.31 433.36 256 417.38 256 400C256 355.82 220.18 320 176 320H160C124.65 320 96 291.35 96 256C96 236.78 104.65 219.73 118.07 208H104C64.24 208 32 175.77 32 136C32 112.59 43.34 92.01 60.64 78.86C26.31 73.38 0 43.88 0 8C0 -31.76 32.24 -64 72 -64H440C479.76 -64 512 -31.76 512 8C512 43.88 485.69 73.38 451.36 78.86z" /> + <glyph glyph-name="portrait" + unicode="" + horiz-adv-x="384" d=" M336 448H48C21.5 448 0 426.5 0 400V-16C0 -42.5 21.5 -64 48 -64H336C362.5 -64 384 -42.5 384 -16V400C384 426.5 362.5 448 336 448zM192 320C227.3 320 256 291.3 256 256S227.3 192 192 192S128 220.7 128 256S156.7 320 192 320zM304 83.2C304 72.6 294 64 281.6 64H102.4C90 64 80 72.6 80 83.2V102.4C80 134.2 110.1 160 147.2 160H152.2C164.5 154.9 177.9 152 192 152S219.6 154.9 231.8 160H236.8C273.9000000000001 160 304 134.2 304 102.4V83.2z" /> + <glyph glyph-name="pound-sign" + unicode="" + horiz-adv-x="320" d=" M308 96H262.505C255.878 96 250.505 90.627 250.505 84V33.152H128V160H212C218.627 160 224 165.373 224 172V212C224 218.627 218.627 224 212 224H128V287.556C128 319.822 152.562 344.642 189.792 344.642C213.45 344.642 235.67 333.137 247.444 325.793C252.5950000000001 322.58 259.332 323.742 263.132 328.478L291.625 363.991C295.858 369.267 294.904 376.996 289.506 381.072C273.124 393.44 236.576 416 187.931 416C106.026 416 48 363.258 48 290.039V224H20C13.373 224 8 218.627 8 212V172C8 165.373 13.373 160 20 160H48V32H12C5.373 32 0 26.627 0 20V-20C0 -26.627 5.373 -32 12 -32H308C314.627 -32 320 -26.627 320 -20V84C320 90.627 314.627 96 308 96z" /> + <glyph glyph-name="power-off" + unicode="" + horiz-adv-x="512" d=" M400 393.9C463 348.9 504 275.3 504 192C504 55.2 393.2 -55.7 256.5 -56C120 -56.3 8.2 55 8 191.6C7.9 274.9 48.9 348.7 111.8 393.8C123.5 402.1 139.8 398.6 146.8 386.1L162.6 358C168.5 347.5 165.7 334.2 156 327C114.5 296.2 88 247.4 88 192.1C87.9 99.8 162.5 24 256 24C347.6 24 424.6 98.2 424 193.1C423.7 244.9 399.3 294.9 355.9 327.1C346.2 334.3 343.5 347.6 349.4 358L365.2 386.1C372.2 398.5 388.4 402.2 400 393.9zM296 184V424C296 437.3 285.3 448 272 448H240C226.7 448 216 437.3 216 424V184C216 170.7 226.7 160 240 160H272C285.3 160 296 170.7 296 184z" /> + <glyph glyph-name="pray" + unicode="" + horiz-adv-x="384" d=" M256 320C291.35 320 320 348.65 320 384S291.35 448 256 448S192 419.35 192 384S220.65 320 256 320zM225.37 150.25C239.43 133.53 264.37 131.16 281.3400000000001 145.03L369.3400000000001 217.05C386.43 231.03 388.93 256.24 374.9600000000001 273.33C360.99 290.44 335.7700000000001 292.92 318.6500000000001 278.95L261.2100000000001 231.95L222.3000000000001 278.26C206.8600000000001 296.65 183.0800000000001 306.18 158.3000000000001 303.59C134.1100000000001 301.11 113.0500000000001 287.32 101.93 266.67L52.56 174.64C29.16 131 43.87 78.27 86.75 50.89L131.56 16H40C17.91 16 0 -1.91 0 -24S17.91 -64 40 -64H248C282.08 -64 301.77 -21.21 276.28 4.28L166.42 114.14L201.22 179.01L225.37 150.25z" /> + <glyph glyph-name="praying-hands" + unicode="" + horiz-adv-x="640" d=" M272 256.0900000000001C254.4 256.0900000000001 240 241.69 240 224.09V144.09C240 135.2500000000001 232.84 128.09 224 128.09S208 135.2500000000001 208 144.09V220.6400000000001C208 238.0300000000001 212.72 255.1100000000001 221.69 270.0300000000001L299.44 399.62C308.53 414.7800000000001 303.63 434.4300000000001 288.47 443.5300000000001C274.02 452.2 255.75 447.8300000000001 246.17 434.3200000000001C245.97 434.0900000000001 245.55 434.11 245.38 433.8400000000001L128.12 257.9400000000001C117.56 242.1 112 223.69 112 204.71V124.48L21.88 94.44A31.974000000000004 31.974000000000004 0 0 1 0 64.09V-31.91C0 -42.73 8.52 -63.91 32 -63.91C34.69 -63.91 37.41 -63.57 40.06 -62.88L219.25 -16.26C269.1600000000001 -1.99 304 44.2 304 96.09V224.09C304 241.69 289.6 256.09 272 256.09zM618.12 94.36L528 124.4V204.63C528 223.61 522.44 242.02 511.88 257.86L394.62 433.75C394.44 434.02 394.0300000000001 433.99 393.83 434.23C384.25 447.74 365.98 452.11 351.53 443.44C336.37 434.35 331.47 414.69 340.56 399.53L418.31 269.94C427.28 255.02 432 237.94 432 220.55V144C432 135.16 424.8399999999999 128 416 128S400 135.16 400 144V224C400 241.6 385.6 256 368 256S336 241.6 336 224V96C336 44.11 370.8399999999999 -2.08 420.75 -16.34L599.9399999999999 -62.96C602.5999999999999 -63.65 605.3199999999999 -63.99 607.9999999999999 -63.99C631.4799999999999 -63.99 639.9999999999999 -42.81 639.9999999999999 -31.99V64.01C639.9999999999999 77.78 631.1899999999999 90 618.1199999999999 94.36z" /> + <glyph glyph-name="prescription-bottle-alt" + unicode="" + horiz-adv-x="384" d=" M360 448H24C10.8 448 0 437.2 0 424V376C0 362.8 10.8 352 24 352H360C373.2 352 384 362.8 384 376V424C384 437.2 373.2 448 360 448zM32 -32C32 -49.6 46.4 -64 64 -64H320C337.6 -64 352 -49.6 352 -32V320H32V-32zM96 152C96 156.4 99.6 160 104 160H160V216C160 220.4 163.6 224 168 224H216C220.4 224 224 220.4 224 216V160H280C284.4 160 288 156.4 288 152V104C288 99.6 284.4 96 280 96H224V40C224 35.6 220.4 32 216 32H168C163.6 32 160 35.6 160 40V96H104C99.6 96 96 99.6 96 104V152z" /> + <glyph glyph-name="prescription-bottle" + unicode="" + horiz-adv-x="384" d=" M32 256H152C156.4 256 160 252.4 160 248V232C160 227.6 156.4 224 152 224H32V160H152C156.4 160 160 156.4 160 152V136C160 131.6 156.4 128 152 128H32V64H152C156.4 64 160 60.4 160 56V40C160 35.6 156.4 32 152 32H32V-32C32 -49.6 46.4 -64 64 -64H320C337.6 -64 352 -49.6 352 -32V320H32V256zM360 448H24C10.8 448 0 437.2 0 424V376C0 362.8 10.8 352 24 352H360C373.2 352 384 362.8 384 376V424C384 437.2 373.2 448 360 448z" /> + <glyph glyph-name="prescription" + unicode="" + horiz-adv-x="384" d=" M301.26 96L379.32 174.06C385.57 180.31 385.57 190.44 379.32 196.69L356.69 219.32C350.44 225.57 340.31 225.57 334.06 219.32L256 141.26L172.04 225.22C219.31 231.2 256 271.11 256 320C256 373.02 213.02 416 160 416H16C7.16 416 0 408.8400000000001 0 400V144C0 135.16 7.16 128 16 128H48C56.84 128 64 135.16 64 144V224H82.75L210.75 96L132.69 17.94C126.44 11.69 126.44 1.56 132.69 -4.69L155.32 -27.32C161.57 -33.57 171.7 -33.57 177.95 -27.32L256 50.75L334.06 -27.31C340.31 -33.56 350.44 -33.56 356.69 -27.31L379.32 -4.68C385.57 1.57 385.57 11.7 379.32 17.95L301.26 96zM64 352H160C177.64 352 192 337.64 192 320S177.64 288 160 288H64V352z" /> + <glyph glyph-name="print" + unicode="" + horiz-adv-x="512" d=" M448 256V370.75C448 379.24 444.63 387.37 438.63 393.38L393.37 438.63C387.37 444.63 379.23 448 370.74 448H96C78.33 448 64 433.67 64 416V256C28.65 256 0 227.35 0 192V80C0 71.16 7.16 64 16 64H64V-32C64 -49.67 78.33 -64 96 -64H416C433.67 -64 448 -49.67 448 -32V64H496C504.84 64 512 71.16 512 80V192C512 227.35 483.35 256 448 256zM384 0H128V96H384V0zM384 224H128V384H320V336C320 327.16 327.1600000000001 320 336 320H384V224zM432 152C418.75 152 408 162.75 408 176C408 189.26 418.75 200 432 200S456 189.26 456 176C456 162.75 445.25 152 432 152z" /> + <glyph glyph-name="procedures" + unicode="" + horiz-adv-x="640" d=" M528 224H272C263.2 224 256 216.8 256 208V64H64V304C64 312.8 56.8 320 48 320H16C7.2 320 0 312.8 0 304V-48C0 -56.8 7.2 -64 16 -64H48C56.8 -64 64 -56.8 64 -48V0H576V-48C576 -56.8 583.2 -64 592 -64H624C632.8 -64 640 -56.8 640 -48V112C640 173.9 589.9 224 528 224zM136 352H262.1L289.7000000000001 296.8C295.6 285 312.4000000000001 285 318.3000000000001 296.8L368 396.2L390.1 352H512C520.8 352 528 359.2 528 368S520.8 384 512 384H409.9L382.3 439.2C376.4 451 359.6 451 353.7 439.2L304 339.8L284.1 379.6C282.7000000000001 382.3 280 384 276.9000000000001 384H136C131.6 384 128 380.4 128 376V360C128 355.6 131.6 352 136 352zM160 96C195.3 96 224 124.7 224 160S195.3 224 160 224S96 195.3 96 160S124.7 96 160 96z" /> + <glyph glyph-name="project-diagram" + unicode="" + horiz-adv-x="640" d=" M384 128H256C238.33 128 224 113.67 224 96V-32C224 -49.67 238.33 -64 256 -64H384C401.67 -64 416 -49.67 416 -32V96C416 113.67 401.67 128 384 128zM192 416C192 433.67 177.67 448 160 448H32C14.33 448 0 433.67 0 416V288C0 270.33 14.33 256 32 256H127.72L200.88 127.96C211.98 147.02 232.4 160 256 160H256.28L192 272.49V320H416V384H192V416zM608 448H480C462.33 448 448 433.67 448 416V288C448 270.33 462.33 256 480 256H608C625.67 256 640 270.3300000000001 640 288V416C640 433.67 625.67 448 608 448z" /> + <glyph glyph-name="puzzle-piece" + unicode="" + horiz-adv-x="576" d=" M519.442 159.349C477.923 159.349 459.942 127.756 437.384 127.756C377.409 127.756 432 304 432 304S235.712 224 235.712 307.2970000000001C235.712 343.124 272 353.5470000000001 272 393.282C272 428.784 243.885 448 210.539 448C175.885 448 144.173 429.109 144.173 391.654C144.173 350.29 175.884 332.377 175.884 309.904C175.885 240.281 0 281.242 0 281.242V-51.995S178.635 -93.042 178.635 -23.333C178.635 -0.86 138.635 16.774 138.635 58.138C138.635 95.594 167.885 114.484 202.212 114.484C235.885 114.484 264 95.268 264 59.767C264 20.032 227.712 9.609 227.712 -26.218C227.712 -87.021 357.387 -51.948 408.942 -51.948C408.942 -51.948 374.217 68.153 434.769 68.153C470.731 68.153 481.192 32.001 521.077 32.001C556.712 32 576 60.01 576 93.557C576 127.756 557.038 159.3490000000001 519.442 159.3490000000001z" /> + <glyph glyph-name="qrcode" + unicode="" + horiz-adv-x="448" d=" M0 224H192V416H0V224zM64 352H128V288H64V352zM256 416V224H448V416H256zM384 288H320V352H384V288zM0 -32H192V160H0V-32zM64 96H128V32H64V96zM416 160H448V32H352V64H320V-32H256V160H352V128H416V160zM416 0H448V-32H416V0zM352 0H384V-32H352V0z" /> + <glyph glyph-name="question-circle" + unicode="" + horiz-adv-x="512" d=" M504 192C504 55.003 392.957 -56 256 -56S8 55.003 8 192C8 328.9170000000001 119.043 440 256 440S504 328.9170000000001 504 192zM262.655 358C208.158 358 173.4 335.043 146.106 294.242C142.57 288.956 143.753 281.827 148.821 277.984L183.52 251.674C188.725 247.727 196.141 248.666 200.185 253.796C218.049 276.454 230.298 289.593 257.488 289.593C277.9169999999999 289.593 303.1859999999999 276.445 303.1859999999999 256.635C303.1859999999999 241.659 290.8229999999999 233.968 270.652 222.659C247.128 209.472 216 193.059 216 152V148C216 141.373 221.373 136 228 136H284C290.627 136 296 141.373 296 148V149.333C296 177.795 379.1860000000001 178.98 379.1860000000001 256C379.1860000000001 314.0020000000001 319.021 358 262.6550000000001 358zM256 110C230.635 110 210 89.365 210 64C210 38.636 230.635 18 256 18S302 38.636 302 64C302 89.365 281.365 110 256 110z" /> + <glyph glyph-name="question" + unicode="" + horiz-adv-x="384" d=" M202.021 448C122.202 448 70.503 415.2970000000001 29.914 356.974C22.551 346.394 24.821 331.8880000000001 35.092 324.1L78.23 291.391C88.603 283.526 103.362 285.365 111.483 295.539C136.532 326.92 155.113 344.988 194.24 344.988C225.004 344.988 263.0560000000001 325.189 263.0560000000001 295.357C263.0560000000001 272.805 244.4390000000001 261.223 214.0630000000001 244.193C178.6400000000001 224.333 131.7640000000001 199.617 131.7640000000001 137.788V128C131.7640000000001 114.745 142.5090000000001 104 155.7640000000001 104H228.2350000000001C241.4900000000001 104 252.2350000000001 114.745 252.2350000000001 128V133.773C252.2350000000001 176.6330000000001 377.5030000000001 178.418 377.5030000000001 294.4000000000001C377.504 381.7440000000001 286.902 448 202.021 448zM192 74.541C153.804 74.541 122.729 43.466 122.729 5.27C122.729 -32.925 153.804 -64 192 -64S261.271 -32.925 261.271 5.271S230.1960000000001 74.541 192 74.541z" /> + <glyph glyph-name="quidditch" + unicode="" + horiz-adv-x="640" d=" M256.5 231.2L343.2 122S326.6 19.6 266.6 -28.1C206.7 -75.7999999999999 0 -62.2 0 -62.2S3.8 -39.1 11 -6.8L105.6 105.4C109.6 110.1 104.7 117 99 114.9L38.6 92.8C53 134.5 71.3 172.8 93.2 190.3C153.1 238.1 256.5 231.2 256.5 231.2zM494.5 96.2C450.5 96.2 414.7 60.4 414.7 16.3C414.7 -27.8000000000001 450.4 -63.6 494.5 -63.6C538.6 -63.6 574.3 -27.8 574.3 16.3C574.3 60.4999999999999 538.5 96.1999999999999 494.4999999999999 96.1999999999999zM636.5 417L616.7 442C611.2 448.9 601.2 450 594.3000000000001 444.6L361.8 266.7L327.7 309.7C322.6 316.1 312.6 314.9 309.1 307.5L283.8 252.9L370.5 143.7L429.3 156.1C437.3 157.8 440.7 167.3 435.6 173.7L401.5 216.6L634 394.5C640.9 400 642 410.1 636.5 417z" /> + <glyph glyph-name="quote-left" + unicode="" + horiz-adv-x="512" d=" M464 192H384V256C384 291.3 412.7 320 448 320H456C469.3 320 480 330.7 480 344V392C480 405.3 469.3 416 456 416H448C359.6 416 288 344.4 288 256V16C288 -10.5 309.5 -32 336 -32H464C490.5 -32 512 -10.5 512 16V144C512 170.5 490.5 192 464 192zM176 192H96V256C96 291.3 124.7 320 160 320H168C181.3 320 192 330.7 192 344V392C192 405.3 181.3 416 168 416H160C71.6 416 0 344.4 0 256V16C0 -10.5 21.5 -32 48 -32H176C202.5 -32 224 -10.5 224 16V144C224 170.5 202.5 192 176 192z" /> + <glyph glyph-name="quote-right" + unicode="" + horiz-adv-x="512" d=" M464 416H336C309.5 416 288 394.5 288 368V240C288 213.5 309.5 192 336 192H416V128C416 92.7 387.3 64 352 64H344C330.7 64 320 53.3 320 40V-8C320 -21.3 330.7 -32 344 -32H352C440.4 -32 512 39.6 512 128V368C512 394.5 490.5 416 464 416zM176 416H48C21.5 416 0 394.5 0 368V240C0 213.5 21.5 192 48 192H128V128C128 92.7 99.3 64 64 64H56C42.7 64 32 53.3 32 40V-8C32 -21.3 42.7 -32 56 -32H64C152.4 -32 224 39.6 224 128V368C224 394.5 202.5 416 176 416z" /> + <glyph glyph-name="quran" + unicode="" + horiz-adv-x="448" d=" M448 89.6V422.4C448 438.4 438.4 448 422.4 448H96C41.6 448 0 406.4 0 352V32C0 -22.4 41.6 -64 96 -64H422.4C435.2 -64 448 -54.4 448 -38.4V-22.4C448 -16 444.8 -9.6 438.4 -3.2C435.2 12.8 435.2 57.6 438.4 70.4C444.8 73.6 448 80 448 89.6zM301.08 302.18C301.68 303.39 302.84 304 304 304S306.32 303.39 306.92 302.18L318.1 279.53L343.1 275.9C345.7700000000001 275.51 346.8400000000001 272.23 344.9100000000001 270.3400000000001L326.8200000000001 252.71L331.0900000000001 227.82C331.4500000000001 225.71 329.7800000000001 224 327.8800000000001 224C327.3800000000001 224 326.8600000000001 224.12 326.3600000000001 224.38L304 236.13L281.64 224.38C281.14 224.12 280.62 224 280.12 224C278.2200000000001 224 276.55 225.71 276.9100000000001 227.82L281.18 252.71L263.0900000000001 270.34C261.1500000000001 272.23 262.2200000000001 275.51 264.9000000000001 275.9L289.8900000000001 279.53L301.0800000000001 302.18zM243.19 371.19C256.86 371.19 270.45 368.7000000000001 283.57 363.7800000000001A6.775 6.775 0 1 0 281.19 350.6600000000001C280.52 350.6600000000001 278.1 350.87 277.06 350.87C224.75 350.87 182.2 308.32 182.2 256.01C182.2 203.71 224.75 161.15 277.06 161.15C278.09 161.15 280.54 161.36 281.19 161.36C285.12 161.36 287.99 158.22 287.99 154.58C287.99 151.6 286.05 149.07 283.37 148.16C270.3 143.29 256.7800000000001 140.82 243.18 140.82C179.67 140.81 128 192.49 128 256C128 319.52 179.67 371.19 243.19 371.19zM380.8 0H96C76.8 0 64 12.8 64 32S80 64 96 64H380.8V0z" /> + <glyph glyph-name="random" + unicode="" + horiz-adv-x="512" d=" M504.971 88.971C514.344 79.598 514.344 64.402 504.971 55.03L424.971 -24.954C409.961 -39.964 384 -29.444 384 -7.983V32H325.2150000000001A12.004 12.004 0 0 0 316.442 35.812L245.886 111.408L299.2190000000001 168.5510000000001L352 112H384V151.981C384 173.419 409.943 183.979 424.971 168.952L504.971 88.971zM12 272H96L148.781 215.449L202.114 272.592L131.558 348.188A11.999000000000002 11.999000000000002 0 0 1 122.785 352H12C5.373 352 0 346.627 0 340V284C0 277.373 5.373 272 12 272zM384 272V232.016C384 210.556 409.961 200.036 424.971 215.045L504.971 295.029C514.344 304.402 514.344 319.598 504.971 328.9700000000001L424.971 408.951C409.943 423.979 384 413.418 384 391.981V352H325.2150000000001A12.004 12.004 0 0 1 316.442 348.188L96 112H12C5.373 112 0 106.627 0 100V44C0 37.373 5.373 32 12 32H122.785C126.111 32 129.288 33.381 131.558 35.812L352 272H384z" /> + <glyph glyph-name="receipt" + unicode="" + horiz-adv-x="384" d=" M358.4 444.8L320 400L265.6 444.8A15.9 15.9 0 0 1 246.4000000000001 444.8L192 400L137.6 444.8A15.9 15.9 0 0 1 118.4 444.8L64 400L25.6 444.8C15 452.7 0 445.2 0 432V-48C0 -61.2 15 -68.7 25.6 -60.8L64 -16L118.4 -60.8A15.9 15.9 0 0 1 137.6 -60.8L192 -16L246.4 -60.8A15.9 15.9 0 0 1 265.6 -60.8L320 -16L358.4 -60.8C368.9 -68.7 384 -61.2 384 -48V432C384 445.2 369 452.7 358.4 444.8zM320 88C320 83.6 316.4 80 312 80H72C67.6 80 64 83.6 64 88V104C64 108.4 67.6 112 72 112H312C316.4 112 320 108.4 320 104V88zM320 184C320 179.6 316.4 176 312 176H72C67.6 176 64 179.6 64 184V200C64 204.4 67.6 208 72 208H312C316.4 208 320 204.4 320 200V184zM320 280C320 275.6 316.4 272 312 272H72C67.6 272 64 275.6 64 280V296C64 300.4 67.6 304 72 304H312C316.4 304 320 300.4 320 296V280z" /> + <glyph glyph-name="recycle" + unicode="" + horiz-adv-x="512" d=" M184.561 186.097C187.793 172.1 172.438 161.462 160.493 168.929L119.757 194.384L68.89 112.982C55.606 91.727 70.96 64 96.012 64H148C154.627 64 160 58.627 160 52V12C160 5.373 154.627 0 148 0H96.115C20.781 0 -25.187 83.048 14.707 146.88L65.529 228.268L24.804 253.716C12.723 261.2630000000001 15.838 279.677 29.683 282.874L139.92 308.324C148.531 310.312 157.121 304.943 159.109 296.334L184.561 186.097zM283.122 369.012L324.411 302.936L283.671 277.479C271.62 269.951 274.671 251.526 288.55 248.321L398.7870000000001 222.871C407.4590000000001 220.872 416.002 226.309 417.9760000000001 234.861L443.4260000000001 345.098C446.6230000000001 358.942 431.4360000000001 369.817 419.3580000000001 362.266L378.6710000000001 336.842L337.4080000000001 402.924C299.8870000000001 462.957 212.1990000000001 463.095 174.5920000000001 402.924L156.6290000000001 374.158C153.1190000000001 368.538 154.8290000000001 361.137 160.4490000000001 357.625L194.3680000000001 336.43C199.9880000000001 332.918 207.3920000000001 334.627 210.9040000000001 340.247L228.8650000000001 368.99C241.5770000000001 389.331 270.8380000000001 388.666 283.1220000000001 369.012zM497.288 146.88L469.773 190.945C466.262 196.568 458.857 198.279 453.235 194.766L419.374 173.607C413.754 170.095 412.0440000000001 162.692 415.5560000000001 157.071L443.1200000000001 112.959C456.3770000000001 91.7479999999999 441.0630000000001 63.999 415.9840000000001 63.999H320V111.98C320 126.1930000000001 302.758 133.363 292.687 123.293L212.687 43.312C206.438 37.064 206.438 26.933 212.687 20.685L292.687 -59.304C302.689 -69.308 320 -62.3 320 -47.989V0H415.88C491.154 0 537.215 82.997 497.288 146.88z" /> + <glyph glyph-name="redo-alt" + unicode="" + horiz-adv-x="512" d=" M256.455 440C322.724 439.881 382.892 413.767 427.314 371.315L463.029 407.03C478.149 422.149 504 411.4410000000001 504 390.059V256C504 242.745 493.255 232 480 232H345.941C324.559 232 313.851 257.851 328.97 272.971L370.72 314.721C339.856 343.62 299.919 359.628 257.49 359.9940000000001C165.092 360.7920000000001 87.207 286.017 88.0059999999999 190.552C88.764 99.991 162.184 24 256 24C297.127 24 335.997 38.678 366.629 65.556C371.372 69.717 378.5350000000001 69.464 382.997 65.003L422.659 25.341C427.531 20.469 427.29 12.526 422.177 7.908C378.202 -31.813 319.926 -56 256 -56C119.034 -56 8.001 55.033 8 191.998C7.999 328.807 119.646 440.245 256.455 440z" /> + <glyph glyph-name="redo" + unicode="" + horiz-adv-x="512.333" d=" M500.333 448H452.922C446.069 448 440.608 442.271 440.9360000000001 435.426L444.9020000000001 352.6670000000001C399.416 406.101 331.6720000000001 440 256.001 440C119.34 440 7.899 328.474 8 191.813C8.101 54.932 119.096 -56 256 -56C319.926 -56 378.202 -31.813 422.178 7.908C427.291 12.526 427.532 20.469 422.6600000000001 25.341L388.689 59.312C384.223 63.778 377.0490000000001 64.029 372.3090000000001 59.855C341.308 32.552 300.606 16 256 16C158.733 16 80 94.716 80 192C80 289.267 158.716 368 256 368C316.892 368 370.506 337.142 402.099 290.2L300.574 295.065C293.729 295.3930000000001 288 289.932 288 283.079V235.668C288 229.041 293.373 223.668 300 223.668H500.333C506.96 223.668 512.333 229.041 512.333 235.668V436C512.333 442.627 506.96 448 500.333 448z" /> + <glyph glyph-name="registered" + unicode="" + horiz-adv-x="512" d=" M285.363 240.525C285.363 221.925 275.532 212.094 256.932 212.094H227.056V268.234H250.4340000000001C279.1020000000001 268.234 285.3630000000001 259.461 285.3630000000001 240.525zM504 192C504 55.033 392.967 -56 256 -56S8 55.033 8 192S119.033 440 256 440S504 328.967 504 192zM363.411 87.586C316.682 172.411 320.112 166.222 318.709 168.566C342.141 183.7380000000001 356.654 211.545 356.654 243.052C356.654 297.2960000000001 325.154 332.3040000000001 251.156 332.3040000000001H180.489C167.234 332.3040000000001 156.489 321.5590000000001 156.489 308.3040000000001V76C156.489 62.745 167.234 52 180.489 52H203.056C216.311 52 227.056 62.745 227.056 76V147.663H252.612L296.7410000000001 64.726A24.001000000000005 24.001000000000005 0 0 1 317.9290000000001 51.999H342.3930000000001C360.6540000000001 52 372.2220000000001 71.59 363.4110000000001 87.586z" /> + <glyph glyph-name="reply-all" + unicode="" + horiz-adv-x="576" d=" M136.309 258.164L312.313 410.149C327.7200000000001 423.454 352 412.652 352 391.985V309.222C481.182 298.991 576 257.01 576 125.674C576 64.233 536.418 3.365 492.667 -28.458C479.014 -38.389 459.556 -25.925 464.59 -9.827C503.102 113.335 460.668 159.655 352 172.188V88.013C352 67.312 327.7 56.56 312.313 69.849L136.309 221.836C125.238 231.397 125.223 248.589 136.309 258.164zM8.309 221.836L184.313 69.85C199.7 56.561 224 67.313 224 88.014V103.832L115.394 197.617A55.96 55.96 0 0 0 96 240.002A55.95300000000001 55.95300000000001 0 0 0 115.393 282.382L224 376.168V391.985C224 412.652 199.72 423.454 184.313 410.149L8.309 258.164C-2.777 248.589 -2.762 231.397 8.309 221.836z" /> + <glyph glyph-name="reply" + unicode="" + horiz-adv-x="512" d=" M8.309 258.164L184.313 410.149C199.719 423.454 224 412.653 224 391.985V311.932C384.629 310.093 512 277.9000000000001 512 125.674C512 64.233 472.419 3.365 428.6670000000001 -28.458C415.014 -38.389 395.5560000000001 -25.925 400.5900000000001 -9.827C445.9340000000001 135.185 379.0830000000001 173.683 224 175.915V88C224 67.3 199.7 56.547 184.3130000000001 69.836L8.3090000000001 221.836C-2.7619999999999 231.398 -2.7769999999999 248.589 8.3090000000001 258.164z" /> + <glyph glyph-name="retweet" + unicode="" + horiz-adv-x="640" d=" M629.657 104.402L528.971 3.716C519.598 -5.656 504.403 -5.656 495.03 3.716L394.343 104.402C384.9700000000001 113.775 384.9700000000001 128.971 394.343 138.343L405.166 149.166C414.728 158.728 430.299 158.5059999999999 439.585 148.6739999999999L480 105.882V288H292.451A24.005 24.005 0 0 0 275.48 295.029L259.48 311.029C244.361 326.149 255.069 352 276.451 352H520C533.255 352 544 341.255 544 328V105.882L584.4159999999999 148.674C593.7009999999999 158.505 609.2719999999999 158.728 618.8349999999999 149.166L629.6579999999999 138.343C639.0299999999999 128.971 639.0299999999999 113.774 629.6569999999999 104.402zM364.5190000000001 88.971A23.999000000000002 23.999000000000002 0 0 1 347.548 96H160V278.1190000000001L200.416 235.327C209.702 225.496 225.272 225.273 234.835 234.836L245.657 245.658C255.03 255.031 255.03 270.227 245.657 279.599L144.971 380.284C135.598 389.657 120.402 389.657 111.03 380.284L10.343 279.598C0.97 270.225 0.97 255.029 10.343 245.657L21.165 234.835C30.727 225.273 46.298 225.495 55.584 235.326L96 278.1190000000001V56C96 42.745 106.745 32 120 32H363.549C384.931 32 395.639 57.851 380.52 72.971L364.519 88.971z" /> + <glyph glyph-name="ribbon" + unicode="" + horiz-adv-x="448" d=" M6.1 3.7C-3.5 -7.1 -1.4 -23.9 10.6 -32L79.4 -59.9C89.3 -66.6 102.7 -64.9 110.7 -56.1L202.5 45.8000000000001L123.3 133.7000000000001L6.1 3.7zM441.9000000000001 3.7S149.9 328.3 146.5000000000001 333.8C161.9000000000001 342.2000000000001 186.7000000000001 351.7000000000001 224.0000000000001 351.7000000000001S286.1000000000001 342.2000000000001 301.5000000000001 333.8C298.2000000000001 328.2000000000001 245.5000000000001 269.2000000000001 245.5000000000001 269.2000000000001L324.6 181.5L358.8 219.5C387.5 251.4 392.1 298.1 370.2 335L326.5 408.5C322.2 415.7 316.6 421.8 309.7 426.5C269 454.1 182.3 456.2 138.3 426.5C131.4 421.8 125.8 415.7 121.5 408.5L77.9 335.3C76.4 332.8 40.8 273.1 89.4 219.3L337.5 -56C345.5 -64.9 358.9 -66.5 368.8 -59.8L437.6 -31.9C449.5 -23.9 451.6 -7.1 441.9000000000001 3.7z" /> + <glyph glyph-name="road" + unicode="" + horiz-adv-x="576" d=" M573.19 45.33L433.4000000000001 365.33C428.43 376.71 417.6 384 405.68 384H308.0900000000001L310.54 360.8400000000001C311.04 356.12 307.3300000000001 352 302.5800000000001 352H273.42C268.67 352 264.9600000000001 356.12 265.4600000000001 360.8400000000001L267.9100000000001 384H170.32C158.39 384 147.56 376.71 142.59 365.33L2.8 45.33C-6.45 24.14 8.31 0 30.54 0H227.38L237.69 97.68C238.55 105.82 245.41 112 253.6 112H322.4C330.59 112 337.45 105.82 338.31 97.68L348.62 0H545.46C567.69 0 582.45 24.14 573.19 45.33zM260.4 312.8400000000001A8 8 0 0 0 268.36 320H307.65C311.74 320 315.18 316.91 315.61 312.8400000000001L320.21 269.26C320.96 262.17 315.4 256 308.28 256H267.74C260.61 256 255.06 262.17 255.81 269.26L260.3999999999999 312.84zM315.64 144H260.35C250.85 144 243.44 152.23 244.44 161.68L249.51 209.68C250.37 217.82 257.23 224 265.42 224H310.57C318.76 224 325.62 217.82 326.48 209.68L331.55 161.68C332.55 152.23 325.14 144 315.64 144z" /> + <glyph glyph-name="robot" + unicode="" + horiz-adv-x="640" d=" M0 192V64C0 46.3 14.3 32 32 32H64V224H32C14.3 224 0 209.7 0 192zM464 352H352V416C352 433.7 337.7 448 320 448S288 433.7 288 416V352H176C131.8 352 96 316.2 96 272V0C96 -35.3 124.7 -64 160 -64H480C515.3 -64 544 -35.3 544 0V272C544 316.2 508.2 352 464 352zM256 32H192V64H256V32zM224 152C201.9 152 184 169.9 184 192S201.9 232 224 232S264 214.1 264 192S246.1 152 224 152zM352 32H288V64H352V32zM448 32H384V64H448V32zM416 152C393.9 152 376 169.9 376 192S393.9 232 416 232S456 214.1 456 192S438.1 152 416 152zM608 224H576V32H608C625.7 32 640 46.3 640 64V192C640 209.7 625.7 224 608 224z" /> + <glyph glyph-name="rocket" + unicode="" + horiz-adv-x="512" d=" M505.1 428.9C503.8 435 499 439.8 492.9 441.1C460.7 448 435.5 448 410.4 448C307.2 448 245.3 392.8 199.1 320H94.9C76.7 320 60.1 309.7 52 293.5L2.6 194.7C-5.4 178.7 6.2 160 24.1 160H119.2C113.3 147.2 107.3 134.5 101.2 122.3C98.1 116.1 99.3 108.7 104.2 103.8L167.8 40.2C172.7 35.3 180.1 34.1 186.3 37.2C198.5 43.3 211.2 49.2 224 55.1V-40C224 -57.8 242.8 -69.4 258.7 -61.5L357.4 -12.1C373.7 -4 383.9 12.7 383.9 30.8V135.2C456.5 181.5 511.9 243.6 511.9 346.3C512 371.5 512 396.7 505.1 428.9zM400 288C373.5 288 352 309.5 352 336S373.5 384 400 384S448 362.5 448 336S426.5 288 400 288z" /> + <glyph glyph-name="route" + unicode="" + horiz-adv-x="512" d=" M416 128H320C302.4 128 288 142.4 288 160S302.4 192 320 192H416S512 299 512 352S469 448 416 448S320 405 320 352C320 326.5 342.2 288.6 365.3 256H320C267.1 256 224 212.9 224 160S267.1 64 320 64H416C433.6 64 448 49.6 448 32S433.6 0 416 0H185.5C169.5 -24.8 151.7 -47.7 138.2 -64H416C468.9 -64 512 -20.9 512 32S468.9 128 416 128zM416 384C433.7 384 448 369.7 448 352S433.7 320 416 320S384 334.3 384 352S398.3 384 416 384zM96 192C43 192 0 149 0 96S96 -64 96 -64S192 43 192 96S149 192 96 192zM96 64C78.3 64 64 78.3 64 96S78.3 128 96 128S128 113.7 128 96S113.7 64 96 64z" /> + <glyph glyph-name="rss-square" + unicode="" + horiz-adv-x="448" d=" M400 416H48C21.49 416 0 394.51 0 368V16C0 -10.51 21.49 -32 48 -32H400C426.51 -32 448 -10.51 448 16V368C448 394.51 426.51 416 400 416zM112 32C85.49 32 64 53.49 64 80S85.49 128 112 128S160 106.51 160 80S138.51 32 112 32zM269.533 32H235.198C229.187 32 224.147 36.636 223.756 42.634C218.542 122.684 154.513 186.554 74.633 191.757C68.636 192.147 64 197.188 64 203.198V237.533C64 244.068 69.468 249.31 75.994 248.9580000000001C186.54 242.9840000000001 274.9910000000001 154.422 280.9580000000001 43.994C281.31 37.468 276.0680000000001 32 269.533 32zM372.56 32H338.226C332.065 32 327.051 36.882 326.799 43.038C321.201 179.573 211.595 289.199 75.039 294.798C68.882 295.051 64 300.065 64 306.226V340.56C64 347.014 69.338 352.224 75.787 351.992C243.617 345.967 377.997 210.801 383.992 43.787C384.224 37.338 379.014 32.0000000000001 372.56 32.0000000000001z" /> + <glyph glyph-name="rss" + unicode="" + horiz-adv-x="448" d=" M128.081 32.041C128.081 -3.328 99.409 -32 64.04 -32S0 -3.328 0 32.041S28.672 96.082 64.041 96.082S128.081 67.409 128.081 32.041zM303.741 -15.209C295.387 139.391 171.556 263.378 16.791 271.741C7.656 272.235 0 264.895 0 255.747V207.678C0 199.263 6.49 192.206 14.887 191.66C126.719 184.376 216.36 94.958 223.659 -17.112C224.206 -25.509 231.263 -31.999 239.677 -31.999H287.746C296.895 -32 304.235 -24.344 303.741 -15.209zM447.99 -15.497C439.596 218.323 251.465 407.555 16.503 415.99C7.473 416.314 0 409.019 0 399.984V351.916C0 343.291 6.835 336.271 15.453 335.9170000000001C206.632 328.078 360.08 174.601 367.918 -16.548C368.271 -25.166 375.291 -32.001 383.917 -32.001H431.985C441.019 -32 448.314 -24.527 447.99 -15.497z" /> + <glyph glyph-name="ruble-sign" + unicode="" + horiz-adv-x="384" d=" M239.36 128C324.48 128 384 187.458 384 272.929S324.48 416 239.36 416H76C69.373 416 64 410.627 64 404V197.368H12C5.373 197.368 0 191.995 0 185.368V140C0 133.373 5.373 128 12 128H64V96H12C5.373 96 0 90.627 0 84V44C0 37.373 5.373 32 12 32H64V-20C64 -26.627 69.373 -32 76 -32H134.56C141.187 -32 146.56 -26.627 146.56 -20V32H308C314.627 32 320 37.373 320 44V84C320 90.627 314.627 96 308 96H146.56V128H239.36zM146.56 347.252H225.28C272 347.252 300.16 318.142 300.16 272.9290000000001C300.16 227.0970000000001 272 197.368 224 197.368H146.56V347.252z" /> + <glyph glyph-name="ruler-combined" + unicode="" + horiz-adv-x="512" d=" M160 160H104C99.58 160 96 163.58 96 168V184C96 188.42 99.58 192 104 192H160V256H104C99.58 256 96 259.5800000000001 96 264V280C96 284.42 99.58 288 104 288H160V352H104C99.58 352 96 355.58 96 360V376C96 380.42 99.58 384 104 384H160V416C160 433.67 145.67 448 128 448H32C14.33 448 0 433.67 0 416V-32C0 -34.77 0.91 -37.24 1.57 -39.8L160 118.62V160zM480 96H448V40C448 35.58 444.42 32 440 32H424C419.58 32 416 35.58 416 40V96H352V40C352 35.58 348.42 32 344 32H328C323.58 32 320 35.58 320 40V96H256V40C256 35.58 252.42 32 248 32H232C227.58 32 224 35.58 224 40V96H182.63L24.2 -62.43C26.76 -63.09 29.24 -64 32 -64H480C497.67 -64 512 -49.67 512 -32V64C512 81.67 497.67 96 480 96z" /> + <glyph glyph-name="ruler-horizontal" + unicode="" + horiz-adv-x="576" d=" M544 320H496V232C496 227.58 492.42 224 488 224H472C467.58 224 464 227.58 464 232V320H400V232C400 227.58 396.42 224 392 224H376C371.58 224 368 227.58 368 232V320H304V232C304 227.58 300.42 224 296 224H280C275.58 224 272 227.58 272 232V320H208V232C208 227.58 204.42 224 200 224H184C179.58 224 176 227.58 176 232V320H112V232C112 227.58 108.42 224 104 224H88C83.58 224 80 227.58 80 232V320H32C14.33 320 0 305.67 0 288V96C0 78.33 14.33 64 32 64H544C561.67 64 576 78.33 576 96V288C576 305.67 561.67 320 544 320z" /> + <glyph glyph-name="ruler-vertical" + unicode="" + horiz-adv-x="256" d=" M168 32C163.58 32 160 35.58 160 40V56C160 60.42 163.58 64 168 64H256V128H168C163.58 128 160 131.58 160 136V152C160 156.42 163.58 160 168 160H256V224H168C163.58 224 160 227.58 160 232V248C160 252.42 163.58 256 168 256H256V320H168C163.58 320 160 323.58 160 328V344C160 348.42 163.58 352 168 352H256V416C256 433.67 241.67 448 224 448H32C14.33 448 0 433.67 0 416V-32C0 -49.67 14.33 -64 32 -64H224C241.67 -64 256 -49.67 256 -32V32H168z" /> + <glyph glyph-name="ruler" + unicode="" + horiz-adv-x="640" d=" M635.7 280.8L556.1 416.3C547.3000000000001 431.3 527.8000000000001 436.4 512.6 427.8L443.6 388.7L503.3 287C505.5 283.2 504.2 278.5 500.4 276.3L486.6 268.5C482.8 266.3 477.9 267.6 475.7 271.4L416 373L360.8 341.7L388.7 294.3C390.9 290.5 389.6 285.8 385.8 283.6L372 275.8C368.2 273.6 363.3 274.9 361.1 278.7000000000001L333.2 326L278 294.7L337.8 193C340 189.3 338.7 184.5 334.9000000000001 182.3L321.1 174.5C317.3 172.3 312.4000000000001 173.6 310.2000000000001 177.4L250.5000000000001 279.1L195.3000000000001 247.8L223.2000000000001 200.4C225.4000000000001 196.5999999999999 224.1000000000001 191.9 220.3000000000001 189.6999999999999L206.5000000000001 181.8999999999999C202.7000000000001 179.6999999999999 197.8000000000001 181 195.6000000000001 184.7999999999999L167.7000000000001 232.2999999999999L112.5 200.9999999999999L172.2000000000001 99.2999999999999C174.4 95.5999999999999 173.1000000000001 90.7999999999999 169.3000000000001 88.5999999999999L155.5 80.7999999999999C151.7 78.5999999999999 146.8000000000001 79.8999999999999 144.6 83.6999999999999L84.9 185.1L15.9 146C0.7 137.3 -4.6 118.2 4.2 103.2L83.8 -32.4C92.6 -47.4 112.1 -52.5 127.3 -43.9L624.1 238C639.3000000000001 246.6 644.5 265.8 635.7 280.8z" /> + <glyph glyph-name="rupee-sign" + unicode="" + horiz-adv-x="320" d=" M308 352C314.627 352 320 357.373 320 364V404C320 410.627 314.627 416 308 416H12C5.373 416 0 410.627 0 404V359.252C0 352.625 5.373 347.252 12 347.252H97.28C124.588 347.252 145.541 337.294 158.25 320H12C5.373 320 0 314.627 0 308V268C0 261.373 5.373 256 12 256H170.757C164.54 219.914 137.796 197.368 96 197.368H12C5.373 197.368 0 191.995 0 185.368V132.356C0 129.007 1.4 125.81 3.861 123.538L168.913 -28.818A12.001000000000001 12.001000000000001 0 0 1 177.052 -32H259.614C270.538 -32 275.78 -18.592 267.753 -11.182L116.871 128.094C193.37 130.434 248.015 181.489 255.189 256H308C314.627 256 320 261.373 320 268V308C320 314.627 314.627 320 308 320H249.31C245.824 331.541 241.03 342.246 235.058 352H308z" /> + <glyph glyph-name="sad-cry" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192C0 101.9 48.2 23.3 120 -20.1V160C120 168.8 127.2 176 136 176S152 168.8 152 160V-36.7C181.5 -49.1 214 -56 248 -56S314.5 -49.1 344 -36.7V160C344 168.8 351.2 176 360 176S376 168.8 376 160V-20.1C447.8 23.3 496 102 496 192C496 329 385 440 248 440zM182.5 223.5C167.7 236.7 136.3 236.7 121.5 223.5L112 215C108.2 211.7 102.7 211 98.3 213.4C93.9 215.8 91.4 220.8 92.2 225.8C96.2 251 126.4 267.9 152.1 267.9S208 251 212 225.8C212.8 220.8 210.3 215.8 205.9 213.4C200.1 210.3 194.7 212.7 192.2 215L182.5 223.5zM248 32C221.5 32 200 60.7 200 96S221.5 160 248 160S296 131.3 296 96S274.5 32 248 32zM397.8 213.5C392 210.4 386.6 212.8 384.1 215.1L374.6 223.6C359.8 236.8 328.4000000000001 236.8 313.6 223.6L304 215C300.2 211.7 294.7 211 290.3 213.4C285.9000000000001 215.8 283.4000000000001 220.8 284.2 225.8C288.2 251 318.4 267.9 344.1 267.9S400 251 404 225.8C404.6 220.9 402.2 215.9 397.8 213.5z" /> + <glyph glyph-name="sad-tear" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM328 272C345.7 272 360 257.7 360 240S345.7 208 328 208S296 222.3 296 240S310.3 272 328 272zM152 32C125.5 32 104 53 104 79C104 99 132.5 139.4 145.6 156.8C148.8 161.1 155.2 161.1 158.4 156.8C171.5 139.4 200 99 200 79C200 53 178.5 32 152 32zM168 208C150.3 208 136 222.3 136 240S150.3 272 168 272S200 257.7 200 240S185.7 208 168 208zM338.2 53.8C315.8 80.6 282.9 96 248 96C226.8 96 226.8 128 248 128C292.4 128 334.3 108.4 362.7 74.2C376.5 57.8 351.5 37.7 338.2 53.8z" /> + <glyph glyph-name="save" + unicode="" + horiz-adv-x="448" d=" M433.941 318.059L350.059 401.9410000000001A48 48 0 0 1 316.118 416H48C21.49 416 0 394.51 0 368V16C0 -10.51 21.49 -32 48 -32H400C426.51 -32 448 -10.51 448 16V284.118A48 48 0 0 1 433.941 318.059zM224 32C188.654 32 160 60.654 160 96C160 131.346 188.654 160 224 160S288 131.346 288 96C288 60.654 259.346 32 224 32zM320 336.52V236C320 229.373 314.627 224 308 224H76C69.373 224 64 229.373 64 236V340C64 346.627 69.373 352 76 352H304.52C307.703 352 310.755 350.736 313.005 348.485L316.485 345.005A11.996 11.996 0 0 0 320 336.52z" /> + <glyph glyph-name="school" + unicode="" + horiz-adv-x="640" d=" M0 224V-48C0 -56.84 7.16 -64 16 -64H96V256H32C14.33 256 0 241.67 0 224zM360 272H336V312C336 316.42 332.42 320 328 320H312C307.58 320 304 316.42 304 312V248C304 243.58 307.58 240 312 240H360C364.42 240 368 243.58 368 248V264C368 268.42 364.42 272 360 272zM497.75 335.9600000000001L337.75 442.63A32.02 32.02 0 0 1 302.25 442.63L142.25 335.9600000000001A32.002 32.002 0 0 1 128 309.3400000000001V-64H256V80C256 88.84 263.1600000000001 96 272 96H368C376.84 96 384 88.84 384 80V-64H512V309.3300000000001C512 320.0300000000001 506.65 330.0300000000001 497.75 335.9600000000001zM320 192C275.82 192 240 227.82 240 272S275.82 352 320 352S400 316.18 400 272S364.18 192 320 192zM608 256H544V-64H624C632.84 -64 640 -56.84 640 -48V224C640 241.67 625.67 256 608 256z" /> + <glyph glyph-name="screwdriver" + unicode="" + horiz-adv-x="512" d=" M448 448L320 352V289.94L236.97 206.91C243.76 202.66 250.24 197.85 256.04 192.04C261.8400000000001 186.24 266.6600000000001 179.76 270.9100000000001 172.97L353.94 256H416L512 384L448 448zM128 169.41L10.92 52.33C-3.63 37.78 -3.63 14.18 10.92 -0.38L63.62 -53.08C78.18 -67.64 101.77 -67.64 116.33 -53.08L233.41 64C262.52 93.11 262.52 140.3 233.41 169.41S157.11 198.52 128 169.41z" /> + <glyph glyph-name="search-dollar" + unicode="" + horiz-adv-x="512" d=" M505.04 5.34L405.3300000000001 105.03C400.8300000000001 109.53 394.73 112.03 388.3300000000001 112.03H372.0300000000001C399.6300000000001 147.33 416.0300000000001 191.72 416.0300000000001 240.02C416.03 354.91 322.92 448 208.02 448S0 354.91 0 240.02S93.11 32.04 208.02 32.04C256.32 32.04 300.73 48.44 336.03 76.04V59.74C336.03 53.34 338.53 47.24 343.03 42.74L442.74 -56.95C452.1399999999999 -66.35 467.34 -66.35 476.6399999999999 -56.95L504.9399999999999 -28.65C514.3399999999999 -19.25 514.3399999999999 -4.06 505.04 5.34zM208.0200000000001 96.04C128.48 96.04 64.02 160.38 64.02 240.02C64.02 319.55 128.37 384 208.0200000000001 384C287.5600000000001 384 352.0200000000001 319.66 352.0200000000001 240.02C352.0200000000001 160.49 287.6700000000001 96.04 208.0200000000001 96.04zM235.1300000000001 248.58L190.1200000000001 262.08C184.9600000000001 263.63 181.3500000000001 268.86 181.3500000000001 274.81C181.3500000000001 282.08 186.6500000000001 288 193.1500000000001 288H221.2600000000001C225.8200000000001 288 230.2200000000001 286.7099999999999 234.0800000000001 284.28C237.3200000000001 282.25 241.4400000000001 282.37 244.2100000000001 285.01L255.9600000000001 296.2199999999999C259.49 299.5899999999999 259.29 305.43 255.3900000000001 308.36C246.2900000000001 315.19 235.3100000000001 319.13 224.0200000000001 319.7099999999999V336C224.0200000000001 340.42 220.44 344 216.0200000000001 344H200.0200000000001C195.6000000000001 344 192.0200000000001 340.42 192.0200000000001 336V319.88C168.3900000000001 319.25 149.34 299.33 149.34 274.81C149.34 254.84 162.3300000000001 237 180.92 231.42L225.93 217.92C231.09 216.37 234.7 211.14 234.7 205.19C234.7 197.92 229.4 192 222.9 192H194.8C190.24 192 185.84 193.29 181.98 195.72C178.74 197.75 174.62 197.63 171.85 194.9900000000001L160.1 183.78C156.57 180.41 156.77 174.5700000000001 160.67 171.6400000000001C169.77 164.8100000000001 180.75 160.8700000000001 192.04 160.29V144C192.04 139.58 195.62 136 200.04 136H216.04C220.46 136 224.04 139.58 224.04 144V160.12C247.67 160.75 266.7200000000001 180.66 266.7200000000001 205.19C266.7200000000001 225.16 253.73 243 235.13 248.58z" /> + <glyph glyph-name="search-location" + unicode="" + horiz-adv-x="512" d=" M505.04 5.34L405.3300000000001 105.03C400.8300000000001 109.53 394.73 112.03 388.3300000000001 112.03H372.0300000000001C399.6300000000001 147.33 416.0300000000001 191.72 416.0300000000001 240.02C416.03 354.91 322.92 448 208.02 448S0 354.91 0 240.02S93.11 32.04 208.02 32.04C256.32 32.04 300.73 48.44 336.03 76.04V59.74C336.03 53.34 338.53 47.24 343.03 42.74L442.74 -56.95C452.1399999999999 -66.35 467.34 -66.35 476.6399999999999 -56.95L504.9399999999999 -28.65C514.3399999999999 -19.25 514.3399999999999 -4.06 505.04 5.34zM208.0200000000001 96.04C128.48 96.04 64.02 160.38 64.02 240.02C64.02 319.55 128.37 384 208.0200000000001 384C287.5600000000001 384 352.0200000000001 319.66 352.0200000000001 240.02C352.0200000000001 160.49 287.6700000000001 96.04 208.0200000000001 96.04zM208.0400000000001 336C167.2600000000001 336 134.2000000000001 302.95 134.2000000000001 262.17C134.2000000000001 229.21 182.46 169.12 200.9500000000001 147.31A9.24 9.24 0 0 1 215.1300000000001 147.31C233.6200000000001 169.12 281.8800000000001 229.2 281.8800000000001 262.17C281.8800000000001 302.95 248.8200000000001 336 208.0400000000001 336zM208.0400000000001 240C194.7800000000001 240 184.0400000000001 250.75 184.0400000000001 264C184.0400000000001 277.26 194.7900000000001 288 208.0400000000001 288S232.0400000000001 277.26 232.0400000000001 264C232.0400000000001 250.75 221.2900000000001 240 208.0400000000001 240z" /> + <glyph glyph-name="search-minus" + unicode="" + horiz-adv-x="512" d=" M304 256V224C304 217.4 298.6 212 292 212H124C117.4 212 112 217.4 112 224V256C112 262.6 117.4 268 124 268H292C298.6 268 304 262.6 304 256zM505 -28.7L476.7 -57C467.3 -66.4 452.1 -66.4 442.8 -57L343 42.7C338.5 47.2 336 53.3 336 59.7V76C300.7 48.4 256.3 32 208 32C93.1 32 0 125.1 0 240S93.1 448 208 448S416 354.9 416 240C416 191.7 399.6 147.3 372 112H388.3C394.7 112 400.8 109.5 405.3 105L505 5.3C514.3 -4.1 514.3 -19.3 505 -28.7zM344 240C344 315.2 283.2 376 208 376S72 315.2 72 240S132.8 104 208 104S344 164.8 344 240z" /> + <glyph glyph-name="search-plus" + unicode="" + horiz-adv-x="512" d=" M304 256V224C304 217.4 298.6 212 292 212H236V156C236 149.4 230.6 144 224 144H192C185.4 144 180 149.4 180 156V212H124C117.4 212 112 217.4 112 224V256C112 262.6 117.4 268 124 268H180V324C180 330.6 185.4 336 192 336H224C230.6 336 236 330.6 236 324V268H292C298.6 268 304 262.6 304 256zM505 -28.7L476.7 -57C467.3 -66.4 452.1 -66.4 442.8 -57L343 42.7C338.5 47.2 336 53.3 336 59.7V76C300.7 48.4 256.3 32 208 32C93.1 32 0 125.1 0 240S93.1 448 208 448S416 354.9 416 240C416 191.7 399.6 147.3 372 112H388.3C394.7 112 400.8 109.5 405.3 105L505 5.3C514.3 -4.1 514.3 -19.3 505 -28.7zM344 240C344 315.2 283.2 376 208 376S72 315.2 72 240S132.8 104 208 104S344 164.8 344 240z" /> + <glyph glyph-name="search" + unicode="" + horiz-adv-x="512" d=" M505 5.3L405.3 105C400.8 109.5 394.7 112 388.3 112H372C399.6 147.3 416 191.7 416 240C416 354.9 322.9 448 208 448S0 354.9 0 240S93.1 32 208 32C256.3 32 300.7 48.4 336 76V59.7C336 53.3 338.5 47.2 343 42.7L442.7 -57C452.1 -66.4 467.3 -66.4 476.6 -57L504.9 -28.7C514.3 -19.3 514.3 -4.1 505 5.3zM208 112C137.3 112 80 169.2 80 240C80 310.7 137.2 368 208 368C278.7 368 336 310.8 336 240C336 169.3 278.8 112 208 112z" /> + <glyph glyph-name="seedling" + unicode="" + horiz-adv-x="512" d=" M64 352H0C0 228.3 100.3 128 224 128V-16C224 -24.8 231.2 -32 240 -32H272C280.8 -32 288 -24.8 288 -16V128C288 251.7 187.7 352 64 352zM448 416C363.8 416 290.6 369.5 252.3 300.8C280 270.6 300.5 233.9 311.3 193.2C424 204.9 512 300.1 512 416H448z" /> + <glyph glyph-name="server" + unicode="" + horiz-adv-x="512" d=" M480 288H32C14.327 288 0 302.327 0 320V384C0 401.673 14.327 416 32 416H480C497.673 416 512 401.673 512 384V320C512 302.327 497.673 288 480 288zM432 376C418.745 376 408 365.255 408 352S418.745 328 432 328S456 338.745 456 352S445.255 376 432 376zM368 376C354.745 376 344 365.255 344 352S354.745 328 368 328S392 338.745 392 352S381.255 376 368 376zM480 128H32C14.327 128 0 142.327 0 160V224C0 241.673 14.327 256 32 256H480C497.673 256 512 241.673 512 224V160C512 142.327 497.673 128 480 128zM432 216C418.745 216 408 205.255 408 192S418.745 168 432 168S456 178.745 456 192S445.255 216 432 216zM368 216C354.745 216 344 205.255 344 192S354.745 168 368 168S392 178.745 392 192S381.255 216 368 216zM480 -32H32C14.327 -32 0 -17.673 0 0V64C0 81.673 14.327 96 32 96H480C497.673 96 512 81.673 512 64V0C512 -17.673 497.673 -32 480 -32zM432 56C418.745 56 408 45.255 408 32S418.745 8 432 8S456 18.745 456 32S445.255 56 432 56zM368 56C354.745 56 344 45.255 344 32S354.745 8 368 8S392 18.745 392 32S381.255 56 368 56z" /> + <glyph glyph-name="shapes" + unicode="" + horiz-adv-x="512" d=" M512 128V-32C512 -49.67 497.67 -64 480 -64H320C302.33 -64 288 -49.67 288 -32V128C288 145.67 302.33 160 320 160H480C497.67 160 512 145.67 512 128zM128 192C57.31 192 0 134.69 0 64S57.31 -64 128 -64S256 -6.69 256 64S198.69 192 128 192zM479.03 224C504.3699999999999 224 520.2099999999999 250.67 507.54 272L412.51 432C399.84 453.33 368.16 453.33 355.49 432L260.4600000000001 272C247.7900000000001 250.67 263.6300000000001 224 288.9700000000001 224H479.03z" /> + <glyph glyph-name="share-alt-square" + unicode="" + horiz-adv-x="448" d=" M448 368V16C448 -10.51 426.51 -32 400 -32H48C21.49 -32 0 -10.51 0 16V368C0 394.51 21.49 416 48 416H400C426.51 416 448 394.51 448 368zM304 152C289.438 152 276.177 146.439 266.217 137.329L198.259 178.104A56.33899999999999 56.33899999999999 0 0 1 198.259 205.897L266.217 246.672C276.177 237.561 289.438 232 304 232C334.928 232 360 257.072 360 288S334.928 344 304 344S248 318.928 248 288C248 283.203 248.605 278.5470000000001 249.74 274.103L181.782 233.328C171.823 242.439 158.562 248 144 248C113.072 248 88 222.928 88 192S113.072 136 144 136C158.562 136 171.823 141.561 181.783 150.671L249.741 109.896A56.08800000000001 56.08800000000001 0 0 1 248.001 95.999C248.001 65.071 273.073 39.999 304.001 39.999S360.001 65.071 360.001 95.999C360 126.928 334.928 152 304 152z" /> + <glyph glyph-name="share-alt" + unicode="" + horiz-adv-x="448" d=" M352 128C329.392 128 308.613 120.181 292.21 107.105L189.724 171.159A96.551 96.551 0 0 1 189.724 212.842L292.21 276.896C308.613 263.819 329.392 256 352 256C405.019 256 448 298.981 448 352S405.019 448 352 448S256 405.019 256 352C256 344.842 256.79 337.87 258.276 331.159L155.79 267.105C139.387 280.1810000000001 118.608 288 96 288C42.981 288 0 245.019 0 192S42.981 96 96 96C118.608 96 139.387 103.819 155.79 116.895L258.276 52.841A96.301 96.301 0 0 1 256 32C256 -21.019 298.981 -64 352 -64S448 -21.019 448 32S405.019 128 352 128z" /> + <glyph glyph-name="share-square" + unicode="" + horiz-adv-x="576" d=" M568.482 270.552L424.479 134.567C409.3 120.232 384 130.86 384 152.015V223.978C239.425 223.008 178.434 188.865 219.225 52.625C223.708 37.652 206.379 26.058 194.219 35.295C155.252 64.895 120 121.512 120 178.661C120 322.598 237.599 351.161 384 351.973V423.988C384 445.162 409.317 455.756 424.479 441.436L568.482 305.448C578.502 295.985 578.51 280.023 568.482 270.552zM384 68.872V0H64V320H114.916A11.989999999999998 11.989999999999998 0 0 1 123.564 323.693C138.517 339.261 155.801 351.583 174.578 361.3690000000001C185.708 367.17 181.584 384 169.033 384H48C21.49 384 0 362.51 0 336V-16C0 -42.51 21.49 -64 48 -64H400C426.51 -64 448 -42.51 448 -16V72.806C448 81.094 439.803 86.872 431.989 84.108A71.83 71.83 0 0 0 397.8 80.731C390.53 81.777 384 76.217 384 68.872z" /> + <glyph glyph-name="share" + unicode="" + horiz-adv-x="512" d=" M503.691 258.164L327.687 410.149C312.281 423.454 288 412.653 288 391.985V311.932C127.371 310.093 0 277.9 0 125.674C0 64.233 39.581 3.365 83.333 -28.458C96.986 -38.389 116.444 -25.925 111.41 -9.827C66.066 135.186 132.917 173.684 288 175.915V88C288 67.3 312.3 56.547 327.687 69.836L503.691 221.836C514.7620000000001 231.398 514.777 248.589 503.691 258.164z" /> + <glyph glyph-name="shekel-sign" + unicode="" + horiz-adv-x="448" d=" M248 280V112C248 103.16 255.16 96 264 96H312C320.84 96 328 103.16 328 112V280C328 355.11 267.11 416 192 416H24C10.75 416 0 405.26 0 392V-16C0 -24.84 7.16 -32 16 -32H64C72.84 -32 80 -24.84 80 -16V336H192C222.93 336 248 310.93 248 280zM432 416H384C375.1600000000001 416 368 408.8400000000001 368 400V104C368 73.07 342.93 48 312 48H200V272C200 280.8400000000001 192.84 288 184 288H136C127.16 288 120 280.8400000000001 120 272V-8C120 -21.25 130.75 -32 144 -32H312C387.11 -32 448 28.89 448 104V400C448 408.8400000000001 440.84 416 432 416z" /> + <glyph glyph-name="shield-alt" + unicode="" + horiz-adv-x="512" d=" M496 320C496 98.718 360.0660000000001 -24.645 274.461 -60.308A48 48 0 0 0 237.538 -60.308C130.495 -15.713 16 121.513 16 320A48 48 0 0 0 45.539 364.308L237.539 444.308A48 48 0 0 0 274.462 444.308L466.462 364.308A48 48 0 0 0 496 320zM256 1.687L256.066 1.653C349.801 48.342 428.563 157.961 431.883 309.382L256 382.6670000000001V1.687z" /> + <glyph glyph-name="ship" + unicode="" + horiz-adv-x="640" d=" M496.616 75.361L566.6279999999999 145.373C583.5269999999999 162.273 576.5699999999999 191.144 553.7919999999999 198.465L512 211.898V352C512 369.673 497.673 384 480 384H416V424C416 437.255 405.255 448 392 448H248C234.745 448 224 437.255 224 424V384H160C142.327 384 128 369.673 128 352V211.898L86.208 198.465C63.455 191.152 56.454 162.292 73.372 145.373L143.384 75.361C125.828 31.713 85.587 0 24 0C10.745 0 0 -10.745 0 -24V-40C0 -53.255 10.745 -64 24 -64C85.023 -64 131.499 -43.39 167.258 -4.604C181.677 -39.432 216.021 -64 256 -64H384C423.979 -64 458.323 -39.432 472.742 -4.604C508.495 -43.384 554.968 -64 616 -64C629.255 -64 640 -53.255 640 -40V-24C640 -10.745 629.255 0 616 0C555.183 0 514.458 31.001 496.616 75.361zM192 320H448V232.469L329.7920000000001 270.464A31.995 31.995 0 0 1 310.2080000000001 270.464L192 232.469V320z" /> + <glyph glyph-name="shipping-fast" + unicode="" + horiz-adv-x="640" d=" M624 96H608V204.1C608 216.8 602.9 229 593.9 238L494 337.9C485 346.9 472.8 352 460.1 352H416V400C416 426.5 394.5 448 368 448H112C85.5 448 64 426.5 64 400V352H8C3.6 352 0 348.4 0 344V328C0 323.6 3.6 320 8 320H280C284.4 320 288 316.4 288 312V296C288 291.6 284.4 288 280 288H40C35.6 288 32 284.4 32 280V264C32 259.6 35.6 256 40 256H248C252.4 256 256 252.4 256 248V232C256 227.6 252.4 224 248 224H8C3.6 224 0 220.4 0 216V200C0 195.6 3.6 192 8 192H216C220.4 192 224 188.4 224 184V168C224 163.6 220.4 160 216 160H64V32C64 -21 107 -64 160 -64S256 -21 256 32H384C384 -21 427 -64 480 -64S576 -21 576 32H624C632.8 32 640 39.2 640 48V80C640 88.8 632.8 96 624 96zM160 -16C133.5 -16 112 5.5 112 32S133.5 80 160 80S208 58.5 208 32S186.5 -16 160 -16zM480 -16C453.5 -16 432 5.5 432 32S453.5 80 480 80S528 58.5 528 32S506.5 -16 480 -16zM560 192H416V304H460.1L560 204.1V192z" /> + <glyph glyph-name="shoe-prints" + unicode="" + horiz-adv-x="640" d=" M192 288H224V416H192C156.65 416 128 387.35 128 352S156.65 288 192 288zM0 32C0 -3.35 28.65 -32 64 -32H96V96H64C28.65 96 0 67.35 0 32zM337.46 160C302.55 160 261.3 146.88 232.73 128C207.94 111.62 188.21 96 128 96V-32L185.53 -47.97C211.74 -55.25 238.54 -61.09 265.84 -63.02C298.53 -65.33 331.44 -63.69 363.42 -56.82C472.9 -33.3 512 18.78 512 64C512 128 427.82 160 337.4600000000001 160zM491.42 440.81C459.44 447.68 426.53 449.33 393.84 447.01C366.54 445.08 339.74 439.24 313.53 431.9700000000001L256 416V288C316.2 288 335.94 272.38 360.73 256C389.3 237.12 430.55 224 465.46 224C555.82 224 640 256 640 320C640 365.2200000000001 600.9 417.3 491.42 440.81z" /> + <glyph glyph-name="shopping-bag" + unicode="" + horiz-adv-x="448" d=" M352 288V320C352 390.58 294.579 448 224 448C153.42 448 96 390.58 96 320V288H0V16C0 -28.183 35.817 -64 80 -64H368C412.183 -64 448 -28.183 448 16V288H352zM160 320C160 355.29 188.71 384 224 384S288 355.29 288 320V288H160V320zM320 200C306.745 200 296 210.745 296 224S306.745 248 320 248S344 237.255 344 224S333.255 200 320 200zM128 200C114.745 200 104 210.745 104 224S114.745 248 128 248S152 237.255 152 224S141.255 200 128 200z" /> + <glyph glyph-name="shopping-basket" + unicode="" + horiz-adv-x="576" d=" M576 232V216C576 202.745 565.255 192 552 192H544L517.887 9.212C514.509 -14.435 494.257 -32 470.37 -32H105.63C81.743 -32 61.491 -14.435 58.112 9.212L32 192H24C10.745 192 0 202.745 0 216V232C0 245.255 10.745 256 24 256H91.341L198.121 402.8210000000001C208.516 417.113 228.528 420.274 242.822 409.879C257.115 399.484 260.275 379.471 249.88 365.178L170.477 256H405.523L326.12 365.179C315.725 379.471 318.886 399.485 333.1790000000001 409.88C347.4700000000001 420.275 367.485 417.115 377.8800000000001 402.822L484.659 256H552C565.255 256 576 245.255 576 232zM312 56V168C312 181.255 301.255 192 288 192S264 181.255 264 168V56C264 42.745 274.745 32 288 32S312 42.745 312 56zM424 56V168C424 181.255 413.255 192 400 192S376 181.255 376 168V56C376 42.745 386.745 32 400 32S424 42.745 424 56zM200 56V168C200 181.255 189.255 192 176 192S152 181.255 152 168V56C152 42.745 162.745 32 176 32S200 42.745 200 56z" /> + <glyph glyph-name="shopping-cart" + unicode="" + horiz-adv-x="576" d=" M528.12 146.681L575.393 354.681C578.806 369.699 567.391 384 551.99 384H159.208L150.042 428.81C147.758 439.979 137.93 448 126.529 448H24C10.745 448 0 437.255 0 424V408C0 394.745 10.745 384 24 384H93.883L164.131 40.565C147.325 30.9 136 12.778 136 -8C136 -38.928 161.072 -64 192 -64S248 -38.928 248 -8C248 7.674 241.553 21.835 231.176 32H440.823C430.447 21.835 424 7.674 424 -8C424 -38.928 449.072 -64 480 -64S536 -38.928 536 -8C536 14.172 523.112 33.332 504.421 42.405L509.938 66.681C513.351 81.699 501.936 96 486.535 96H218.117L211.572 128H504.717C515.923 128 525.637 135.754 528.12 146.681z" /> + <glyph glyph-name="shower" + unicode="" + horiz-adv-x="512" d=" M389.6600000000001 312.4L231.6 154.34C222.23 144.97 207.03 144.97 197.66 154.34L186.34 165.66C176.97 175.03 176.97 190.23 186.34 199.6L186.45 199.71C152.42 239.92 151.29 298.65 183.06 340.09C171.09 347.64 156.92 352 141.7600000000001 352C98.88 352 64 317.12 64 274.24V-32H0V274.24C0 352.41 63.59 416 141.76 416C178.69 416 212.37 401.8 237.62 378.58C273.52 390.09 314.12 383.08 344.29 357.55L344.4000000000001 357.66C353.7700000000001 367.03 368.9700000000001 367.03 378.3400000000001 357.66L389.6600000000001 346.3400000000001C399.0300000000001 336.9700000000001 399.0300000000001 321.77 389.6600000000001 312.4zM384 240C384 231.163 376.837 224 368 224S352 231.163 352 240S359.163 256 368 256S384 248.837 384 240zM416 240C416 248.837 423.163 256 432 256S448 248.837 448 240S440.837 224 432 224S416 231.163 416 240zM512 240C512 231.163 504.837 224 496 224S480 231.163 480 240S487.163 256 496 256S512 248.837 512 240zM352 208C352 199.163 344.837 192 336 192S320 199.163 320 208S327.163 224 336 224S352 216.837 352 208zM400 224C408.837 224 416 216.837 416 208S408.837 192 400 192S384 199.163 384 208S391.163 224 400 224zM480 208C480 199.163 472.837 192 464 192S448 199.163 448 208S455.163 224 464 224S480 216.837 480 208zM320 176C320 167.163 312.837 160 304 160S288 167.163 288 176S295.163 192 304 192S320 184.837 320 176zM352 176C352 184.837 359.163 192 368 192S384 184.837 384 176S376.837 160 368 160S352 167.163 352 176zM448 176C448 167.163 440.837 160 432 160S416 167.163 416 176S423.163 192 432 192S448 184.837 448 176zM320 144C320 152.837 327.163 160 336 160S352 152.837 352 144S344.837 128 336 128S320 135.163 320 144zM416 144C416 135.163 408.837 128 400 128S384 135.163 384 144S391.163 160 400 160S416 152.837 416 144zM320 112C320 103.163 312.837 96 304 96S288 103.163 288 112S295.163 128 304 128S320 120.837 320 112zM384 112C384 103.163 376.837 96 368 96S352 103.163 352 112S359.163 128 368 128S384 120.837 384 112zM352 80C352 71.163 344.837 64 336 64S320 71.163 320 80S327.163 96 336 96S352 88.837 352 80zM320 48C320 39.163 312.837 32 304 32S288 39.163 288 48S295.163 64 304 64S320 56.837 320 48z" /> + <glyph glyph-name="shuttle-van" + unicode="" + horiz-adv-x="640" d=" M628.88 237.35L494.39 398.73A48.01 48.01 0 0 1 457.52 416H32C14.33 416 0 401.67 0 384V96C0 78.33 14.33 64 32 64H64C64 10.98 106.98 -32 160 -32S256 10.98 256 64H384C384 10.98 426.98 -32 480 -32S576 10.98 576 64H608C625.67 64 640 78.33 640 96V206.62C640 217.85 636.06 228.72 628.88 237.35zM64 256V352H160V256H64zM160 16C133.49 16 112 37.49 112 64S133.49 112 160 112S208 90.51 208 64S186.51 16 160 16zM320 256H224V352H320V256zM480 16C453.49 16 432 37.49 432 64S453.49 112 480 112S528 90.51 528 64S506.51 16 480 16zM384 256V352H450.02L530.02 256H384z" /> + <glyph glyph-name="sign-in-alt" + unicode="" + horiz-adv-x="512" d=" M416 0H332C325.4 0 320 5.4 320 12V52C320 58.6 325.4 64 332 64H416C433.7 64 448 78.3 448 96V288C448 305.7 433.7 320 416 320H332C325.4 320 320 325.4 320 332V372C320 378.6 325.4 384 332 384H416C469 384 512 341 512 288V96C512 43 469 0 416 0zM369 201L201 369C186 384 160 373.5 160 352V256H24C10.7 256 0 245.3 0 232V136C0 122.7 10.7 112 24 112H160V16C160 -5.5 186 -16 201 -1L369 167C378.3 176.4 378.3 191.6 369 201z" /> + <glyph glyph-name="sign-language" + unicode="" + horiz-adv-x="448" d=" M91.434 -35.987C91.127 -19.969 104.543 -6.858 120.564 -6.858H182.857V-1.144H56.993C40.972 -1.144 27.556 11.967 27.863 27.985C28.16 43.509 40.835 56 56.428 56H182.857V61.714H29.136C13.115 61.714 -0.301 74.825 0.006 90.843C0.303 106.365 12.979 118.856 28.572 118.856H182.858V124.57H57.707C41.686 124.57 28.27 137.681 28.577 153.699C28.874 169.221 41.55 181.712 57.143 181.712H225.709L194.624 204.318C181.862 213.599 179.041 231.467 188.322 244.23C197.603 256.991 215.472 259.812 228.234 250.532L351.5950000000001 160.817A34.287 34.287 0 0 0 365.7150000000001 133.089V-8.047C365.7150000000001 -23.957 354.769 -37.777 339.2820000000001 -41.421L258.8110000000001 -60.3550000000001A137.16 137.16 0 0 0 227.4000000000001 -64.0010000000001H120C104.407 -64.0000000000001 91.731 -51.5090000000001 91.434 -35.9870000000001zM164.683 189.714H201.106L189.919 197.8499999999999C171.34 211.3609999999999 169.606 238.737 186.749 254.386L173.745 271.0859999999999C163.902 283.7269999999999 145.315 286.257 132.865 276.1739999999999C120.8 266.4029999999999 118.732 248.7269999999999 128.312 236.4239999999999L164.683 189.714zM447.981 191.817L442.978 344.269C442.4600000000001 360.04 429.2560000000001 372.405 413.485 371.8879999999999C397.712 371.37 385.348 358.166 385.866 342.395L387.128 303.98L283.565 436.981C273.985 449.284 256.342 451.611 243.912 442.3090000000001C231.085 432.71 228.983 414.069 238.826 401.428L315.715 302.683L311.206 299.1720000000001L216.416 420.906C206.8359999999999 433.209 189.1929999999999 435.536 176.763 426.234C163.936 416.635 161.834 397.994 171.6769999999999 385.353L266.12 264.065L261.611 260.554L183.9359999999999 360.308C174.3559999999999 372.611 156.7129999999999 374.938 144.2829999999999 365.636C131.4559999999999 356.0370000000001 129.3539999999999 337.396 139.1969999999999 324.755L191.2499999999999 257.906C203.7469999999999 266.163 220.3049999999999 266.1910000000001 232.9399999999999 257.002L356.2999999999999 167.288C367.2039999999999 159.358 373.7149999999999 146.573 373.7149999999999 133.09V116.091L434.779 163.64A34.285 34.285 0 0 1 447.981 191.817z" /> + <glyph glyph-name="sign-out-alt" + unicode="" + horiz-adv-x="512" d=" M497 175L329 7C314 -8 288 2.5 288 24V120H152C138.7 120 128 130.7 128 144V240C128 253.3 138.7 264 152 264H288V360C288 381.4 313.9 392 329 377L497 209C506.3 199.6 506.3 184.4 497 175zM192 12V52C192 58.6 186.6 64 180 64H96C78.3 64 64 78.3 64 96V288C64 305.7 78.3 320 96 320H180C186.6 320 192 325.4 192 332V372C192 378.6 186.6 384 180 384H96C43 384 0 341 0 288V96C0 43 43 0 96 0H180C186.6 0 192 5.4 192 12z" /> + <glyph glyph-name="sign" + unicode="" + horiz-adv-x="512" d=" M496 384H128V432C128 440.8 120.8 448 112 448H80C71.2 448 64 440.8 64 432V384H16C7.2 384 0 376.8 0 368V336C0 327.2 7.2 320 16 320H64V-48C64 -56.8 71.2 -64 80 -64H112C120.8 -64 128 -56.8 128 -48V320H496C504.8 320 512 327.2 512 336V368C512 376.8 504.8 384 496 384zM160 64H480V288H160V64z" /> + <glyph glyph-name="signal" + unicode="" + horiz-adv-x="640" d=" M216 160H168C159.16 160 152 152.84 152 144V-48C152 -56.84 159.16 -64 168 -64H216C224.84 -64 232 -56.84 232 -48V144C232 152.84 224.84 160 216 160zM88 64H40C31.16 64 24 56.84 24 48V-48C24 -56.84 31.16 -64 40 -64H88C96.84 -64 104 -56.84 104 -48V48C104 56.84 96.84 64 88 64zM344 256H296C287.1600000000001 256 280 248.84 280 240V-48C280 -56.84 287.1600000000001 -64 296 -64H344C352.84 -64 360 -56.84 360 -48V240C360 248.84 352.84 256 344 256zM472 352H424C415.1600000000001 352 408 344.8400000000001 408 336V-48C408 -56.84 415.1600000000001 -64 424 -64H472C480.84 -64 488 -56.84 488 -48V336C488 344.8400000000001 480.84 352 472 352zM600 448H552C543.16 448 536 440.84 536 432V-48C536 -56.84 543.16 -64 552 -64H600C608.84 -64 616 -56.84 616 -48V432C616 440.84 608.84 448 600 448z" /> + <glyph glyph-name="signature" + unicode="" + horiz-adv-x="512" d=" M496 128H404.14C394.87 128 384.42 139.31 378.36 156.52C363.13 199.88 330.25 226.82 292.56 226.82C261.7200000000001 226.82 234.09 208.77 216.45 177.59L194.8 341.5C188.84 366.92 169.34 384 146.28 384C123.23 384 103.73 366.92 97.78 341.5L56.16 163.8C50.7 140.55 37.75 128 28.33 128H16C7.16 128 0 120.84 0 112V80C0 71.16 7.16 64 16 64H28.33C70.3 64 106.52 98.23 118.47 149.2L142.31 250.98L171.56 28.87C173.54 13.82 185.38 1.42 200.5 0.12C201.49 0.03 202.46 -0.01 203.43 -0.01C217.51 -0.01 230.07 9.26 234.12 22.94L267.15 135.28C273.03 152 282.99 162.8 292.56 162.8C302.14 162.8 312.11 152 318.3400000000001 134.28C333.5700000000001 90.92 366.4500000000001 63.98 404.1400000000001 63.98H496C504.84 63.98 512 71.14 512 79.98V111.98C512 120.84 504.84 128 496 128z" /> + <glyph glyph-name="sitemap" + unicode="" + horiz-adv-x="640" d=" M128 96H32C14.33 96 0 81.67 0 64V-32C0 -49.67 14.33 -64 32 -64H128C145.67 -64 160 -49.67 160 -32V64C160 81.67 145.67 96 128 96zM104 176H296V128H344V176H536V128H584V185.59C584 206.7600000000001 566.77 224 545.59 224H344V288H384C401.67 288 416 302.3300000000001 416 320V416C416 433.67 401.67 448 384 448H256C238.33 448 224 433.67 224 416V320C224 302.33 238.33 288 256 288H296V224H94.41C73.23 224 56 206.77 56 185.59V128H104V176zM368 96H272C254.33 96 240 81.67 240 64V-32C240 -49.67 254.33 -64 272 -64H368C385.67 -64 400 -49.67 400 -32V64C400 81.67 385.67 96 368 96zM608 96H512C494.33 96 480 81.67 480 64V-32C480 -49.67 494.33 -64 512 -64H608C625.67 -64 640 -49.67 640 -32V64C640 81.67 625.67 96 608 96z" /> + <glyph glyph-name="skull" + unicode="" + horiz-adv-x="512" d=" M256 448C114.6 448 0 347.7 0 224C0 153.9 36.9 91.4 94.5 50.3C104.1 43.4 109.7 32.2 108 20.4L98.6 -45.8C97.2 -55.4 104.6 -63.9999999999999 114.3 -63.9999999999999H192V-7.9999999999999C192 -3.6 195.6 1e-13 200 1e-13H216C220.4 1e-13 224 -3.6 224 -7.9999999999999V-63.9999999999999H288V-7.9999999999999C288 -3.6 291.6 1e-13 296 1e-13H312C316.4 1e-13 320 -3.6 320 -7.9999999999999V-63.9999999999999H397.7C407.4 -63.9999999999999 414.8 -55.3999999999999 413.4 -45.8L404 20.4C402.3 32.1 407.8 43.4 417.5 50.3C475.1 91.4 512 153.9 512 224C512 347.7 397.4 448 256 448zM160 128C124.7 128 96 156.7 96 192S124.7 256 160 256S224 227.3 224 192S195.3 128 160 128zM352 128C316.7 128 288 156.7 288 192S316.7 256 352 256S416 227.3 416 192S387.3 128 352 128z" /> + <glyph glyph-name="sliders-h" + unicode="" + horiz-adv-x="512" d=" M496 64H160V80C160 88.8 152.8 96 144 96H112C103.2 96 96 88.8 96 80V64H16C7.2 64 0 56.8 0 48V16C0 7.2 7.2 0 16 0H96V-16C96 -24.8 103.2 -32 112 -32H144C152.8 -32 160 -24.8 160 -16V0H496C504.8 0 512 7.2 512 16V48C512 56.8 504.8 64 496 64zM496 224H416V240C416 248.8 408.8 256 400 256H368C359.2 256 352 248.8 352 240V224H16C7.2 224 0 216.8 0 208V176C0 167.2 7.2 160 16 160H352V144C352 135.2 359.2 128 368 128H400C408.8 128 416 135.2 416 144V160H496C504.8 160 512 167.2 512 176V208C512 216.8 504.8 224 496 224zM496 384H288V400C288 408.8 280.8 416 272 416H240C231.2 416 224 408.8 224 400V384H16C7.2 384 0 376.8 0 368V336C0 327.2 7.2 320 16 320H224V304C224 295.2 231.2 288 240 288H272C280.8 288 288 295.2 288 304V320H496C504.8 320 512 327.2 512 336V368C512 376.8 504.8 384 496 384z" /> + <glyph glyph-name="smile-beam" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM112 224.6C115.3 266.7 144.2 296 168 296S220.7 266.7 224 224.6C224.7 216 213.2 212.7 209.1 220.1L199.6 237.1C191.9 250.8 180.4 258.7 168.1 258.7S144.3 250.8 136.6 237.1L127.1 220.1C122.8 212.7 111.3 216.1 112 224.6zM362.8 101.8C334.3 67.6 292.5 48 248 48S161.7 67.6 133.2 101.8C119.7 118.1 144.2 138.5 157.8 122.3C180.2 95.4 213 80.1 248 80.1S315.8 95.5 338.2 122.3C351.8 138.5 376.3 118 362.8 101.8zM369 220.1L359.5 237.1C351.8 250.8 340.3 258.7000000000001 328 258.7000000000001S304.2 250.8 296.5 237.1L287 220.1C282.9 212.8 271.4 216.1 272.1 224.6C275.4000000000001 266.7000000000001 304.3 296 328.1 296S380.8 266.7000000000001 384.1 224.6C384.7000000000001 216 373.1 212.7 369 220.1z" /> + <glyph glyph-name="smile-wink" + unicode="" + horiz-adv-x="496" d=" M0 192C0 55 111 -56 248 -56S496 55 496 192S385 440 248 440S0 329 0 192zM200 240C200 222.3 185.7 208 168 208S136 222.3 136 240S150.3 272 168 272S200 257.7 200 240zM358.5 223.5C343.7 236.7 312.3 236.7 297.5 223.5L288 215C279.7 207.6 266.4 214.6 268.2 225.8C272.2 251 302.4 267.9 328.1 267.9S384 251 388 225.8C389.7 214.7 376.6 207.5 368.2 215L358.5 223.5zM157.8 122.2C180.2 95.3 213 80 248 80S315.8 95.4 338.2 122.2C351.8 138.4 376.3 118 362.8 101.7C334.3 67.6 292.5 48 248 48S161.7 67.6 133.2 101.8C119.7 118.1 144.4 138.5 157.8 122.2z" /> + <glyph glyph-name="smile" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM328 272C345.7 272 360 257.7 360 240S345.7 208 328 208S296 222.3 296 240S310.3 272 328 272zM168 272C185.7 272 200 257.7 200 240S185.7 208 168 208S136 222.3 136 240S150.3 272 168 272zM362.8 101.8C334.3 67.6 292.5 48 248 48S161.7 67.6 133.2 101.8C119.6 118.1 144.2 138.5 157.8 122.3C180.2 95.4 213 80.1 248 80.1S315.8 95.5 338.2 122.3C351.6 138.5 376.3 118.1 362.8 101.8z" /> + <glyph glyph-name="smoking-ban" + unicode="" + horiz-adv-x="512" d=" M96 144C96 135.2 103.2 128 112 128H229.5L133.5 224H112C103.2 224 96 216.8 96 208V144zM256 448C114.6 448 0 333.4 0 192S114.6 -64 256 -64S512 50.6 512 192S397.4 448 256 448zM256 0C150.1 0 64 86.1 64 192C64 233.4 77.3 271.7 99.7 303.1L367.1 35.7C335.7 13.3 297.4 0 256 0zM301.2 192H384V160H333.2L301.2 192zM412.3 80.9L365.2 128H400C408.8 128 416 135.2 416 144V208C416 216.8 408.8 224 400 224H269.2L144.9 348.3C176.3 370.7 214.6 384 256 384C361.9 384 448 297.9 448 192C448 150.6 434.7 112.3 412.3 80.9zM320.6 320C305 320 292 331.2 289.2000000000001 345.9C288.5000000000001 349.5 285.2000000000001 352 281.5000000000001 352H265.3000000000001C260.3000000000001 352 256.6000000000001 347.5 257.3000000000001 342.6C261.9000000000001 311.7 288.5000000000001 288 320.6000000000001 288C336.2000000000001 288 349.2000000000001 276.8 352.0000000000001 262.1C352.7000000000001 258.5 356.0000000000001 256 359.7000000000001 256H375.9000000000001C380.9000000000001 256 384.6 260.5 383.9000000000001 265.4C379.3 296.3 352.7000000000001 320 320.6 320z" /> + <glyph glyph-name="smoking" + unicode="" + horiz-adv-x="640" d=" M632 96H584C579.6 96 576 92.4 576 88V-56C576 -60.4 579.6 -64 584 -64H632C636.4 -64 640 -60.4 640 -56V88C640 92.4 636.4 96 632 96zM553.3 360.9C547.5999999999999 364.7 544 370.9 544 377.7V440C544 444.4 540.4 448 536 448H488C483.6 448 480 444.4 480 440V377.7C480 355.7 490.2 334.3 508.6 322.3C550.8000000000001 295 576 248.5 576 198.3V168C576 163.6 579.6 160 584 160H632C636.4 160 640 163.6 640 168V198.3C640 263.8 607.6 324.5 553.3 360.9zM432 96H48C21.5 96 0 74.5 0 48V-16C0 -42.5 21.5 -64 48 -64H432C440.8 -64 448 -56.8 448 -48V80C448 88.8 440.8 96 432 96zM400 -16H224V48H400V-16zM487.7 306.4C463.8 323 448 348.7 448 377.7V440C448 444.4 444.4 448 440 448H392C387.6 448 384 444.4 384 440V373.6C384 329.9 408.6 292 444.3 266.9C466.7 251.2 480 225.7 480 198.3V168C480 163.6 483.6 160 488 160H536C540.4 160 544 163.6 544 168V198.3C544 241.6 523 281.7000000000001 487.7 306.4zM536 96H488C483.6 96 480 92.4 480 88V-56C480 -60.4 483.6 -64 488 -64H536C540.4 -64 544 -60.4 544 -56V88C544 92.4 540.4 96 536 96z" /> + <glyph glyph-name="snowflake" + unicode="" + horiz-adv-x="448" d=" M444.816 146.361A24.12 24.12 0 0 1 447.477 163.339C444.752 176.305 432.138 184.584 419.303 181.831L331.896 156.785L264 192L331.896 227.215L419.303 202.169C432.138 199.416 444.752 207.695 447.477 220.661C450.202 233.627 442.006 246.369 429.172 249.122L381.695 256.259L434.772 287.2150000000001C446.135 293.842 450.029 308.521 443.468 320C436.9070000000001 331.479 422.377 335.4120000000001 411.014 328.785L357.937 297.829L375.558 342.933C379.615 355.539 372.79 369.079 360.311 373.178C347.833 377.2770000000001 334.428 370.3810000000001 330.371 357.776L308.139 268.786L247.759 233.571V304L312.9340000000001 367.945C321.7120000000001 377.7970000000001 320.9210000000001 392.972 311.168 401.839C301.415 410.706 286.3930000000001 409.907 277.616 400.055L247.759 362.088V424C247.759 437.255 237.122 448 224.001 448S200.243 437.255 200.243 424V362.088L170.386 400.055C161.607 409.907 146.587 410.707 136.834 401.839C127.081 392.972 126.291 377.7970000000001 135.068 367.945L200.242 304V233.569L139.862 268.784L117.63 357.774C113.573 370.379 100.168 377.2750000000001 87.69 373.1760000000001C75.212 369.077 68.386 355.536 72.443 342.9310000000001L90.063 297.827L36.986 328.783C25.623 335.41 11.093 331.477 4.532 319.998S1.865 293.841 13.228 287.213L66.305 256.257L18.828 249.12C5.993 246.366 -2.203 233.625 0.523 220.659C3.248 207.694 15.862 199.414 28.697 202.167L116.104 227.213L184 192L116.104 156.785L28.698 181.83C15.863 184.583 3.249 176.304 0.524 163.338C-2.201 150.371 5.994 137.63 18.829 134.877L66.306 127.74L13.229 96.7839999999999C1.866 90.157 -2.027 75.479 4.533 64S25.624 48.588 36.987 55.215L90.064 86.171L72.444 41.067A24.157 24.157 0 0 1 74.466 21.639C77.297 16.686 81.882 12.73 87.69 10.823C100.168 6.724 113.573 13.6200000000001 117.63 26.225L139.862 115.215L200.242 150.4300000000001V80L135.067 16.055C126.289 6.203 127.08 -8.972 136.833 -17.839C146.587 -26.707 161.607 -25.907 170.385 -16.055L200.242 21.912V-40C200.242 -53.255 210.879 -64 224 -64S247.758 -53.255 247.758 -40V21.912L277.615 -16.055A23.59 23.59 0 0 1 295.282 -24A23.534 23.534 0 0 1 311.167 -17.839C320.92 -8.972 321.711 6.203 312.933 16.055L247.758 80V150.431L308.1380000000001 115.216L330.37 26.226C334.427 13.621 347.832 6.725 360.31 10.824C372.789 14.923 379.614 28.464 375.557 41.069L357.9360000000001 86.173L411.0130000000001 55.217C422.3760000000001 48.59 436.9060000000001 52.523 443.4670000000001 64.002S446.134 90.159 434.771 96.787L381.694 127.7430000000001L429.171 134.8800000000001C436.031 136.3490000000001 441.565 140.6730000000001 444.816 146.3610000000001z" /> + <glyph glyph-name="socks" + unicode="" + horiz-adv-x="512" d=" M214.66 136.99L288 192V352H128V176L41.35 111.39C1.95 81.83 -12.51 26.97 12.14 -15.67C30.39 -47.25 63.27 -64 96.08 -64C116.11 -64 136.33 -57.75 153.6 -44.8L175.46 -28.41C145.61 26.97 161.92 97.43 214.66 136.99zM288 416C288 427.05 291.07 437.3 296.02 446.38C293.4 447.08 290.85 448 288 448H160C142.33 448 128 433.67 128 416V384H288V416zM480 448H352C334.33 448 320 433.67 320 416V384H512V416C512 433.67 497.67 448 480 448zM320 176L233.87 111.39C194.47 81.83 180.01 26.97 204.66 -15.67C222.91 -47.25 255.27 -64 288.08 -64C308.11 -64 328.33 -57.75 345.6 -44.8L460.8 41.6A127.99699999999999 127.99699999999999 0 0 1 512 144V352H320V176z" /> + <glyph glyph-name="solar-panel" + unicode="" + horiz-adv-x="640" d=" M431.98 -0.01L384.01 -0.06V32H256.01V-0.21L208.03 -0.26C199.21 -0.27 192.06 -7.42 192.05 -16.25L192 -47.98C191.99 -56.83 199.17 -64.01 208.02 -64L431.98 -63.74C440.8 -63.73 447.9500000000001 -56.58 447.9600000000001 -47.76L448.0000000000001 -16.03C448.0100000000001 -7.1799999999999 440.8300000000001 0 431.9800000000001 -0.01zM585.2 421.26C582.58 436.69 568.99 448 553.06 448H86.93C71 448 57.41 436.69 54.79 421.26C-3.32 78.84 0.04 99.92 0.03 96C0 78.68 14.32 64 32.63 64H607.37C625.6 64 639.88 78.56 639.96 95.79C639.98 99.87 643.3100000000001 78.84 585.2 421.2600000000001zM259.83 384H380.16L389.93 288H250.06L259.83 384zM184.66 128H71.09L90.1 240H196.07L184.66 128zM200.95 288H98.24L114.53 384H210.72L200.95 288zM233.77 128L245.17 240H394.82L406.2199999999999 128H233.77zM429.27 384H525.46L541.75 288H439.04L429.2700000000001 384zM455.33 128L443.93 240H549.9L568.91 128H455.33z" /> + <glyph glyph-name="sort-alpha-down" + unicode="" + horiz-adv-x="448" d=" M187.298 52.686L107.314 -27.316C101.066 -33.563 90.931 -33.561 84.687 -27.316L4.705 52.686C-5.365 62.756 1.807 80 16.019 80H64V400C64 408.837 71.163 416 80 416H112C120.837 416 128 408.837 128 400V80H175.984C190.225 80 197.347 62.736 187.298 52.686zM306.373 232.693A12 12 0 0 0 294.838 224H259.1210000000001C250.9010000000001 224 245.1140000000001 232.078 247.7590000000001 239.861L304.855 407.861A12 12 0 0 0 316.217 416H355.783C360.9220000000001 416 365.4910000000001 412.727 367.1450000000001 407.861L424.2410000000001 239.861C426.886 232.078 421.1 224 412.879 224H377.144A12 12 0 0 0 365.629 232.622L357.3280000000001 260.9210000000001H314.4650000000001L306.3730000000001 232.693zM329.23 311.39H342.5970000000001L335.997 334.327L329.23 311.39zM341.805 24.067L409.256 119.765A12 12 0 0 1 411.448 126.678V148C411.448 154.627 406.075 160 399.448 160H274.522C267.895 160 262.522 154.627 262.522 148V119.07C262.522 112.443 267.895 107.07 274.522 107.07H330.991C330.252 106.079 329.494 105.034 328.721 103.937L261.5180000000001 8.732A12.001000000000001 12.001000000000001 0 0 1 259.322 1.812V-20C259.322 -26.627 264.695 -32 271.322 -32H400.677C407.3040000000001 -32 412.677 -26.627 412.677 -20V8.93C412.677 15.557 407.3040000000001 20.93 400.677 20.93H339.531C340.271 21.923 341.031 22.969 341.805 24.067z" /> + <glyph glyph-name="sort-alpha-up" + unicode="" + horiz-adv-x="448" d=" M4.702 331.314L84.686 411.316C90.934 417.563 101.069 417.561 107.313 411.316L187.294 331.314C197.364 321.2440000000001 190.193 304 175.98 304H128V-16C128 -24.837 120.837 -32 112 -32H80C71.163 -32 64 -24.837 64 -16V304H16.016C1.775 304 -5.347 321.264 4.702 331.314zM306.373 232.693A12 12 0 0 0 294.838 224H259.1210000000001C250.9010000000001 224 245.1140000000001 232.078 247.7590000000001 239.861L304.855 407.861A12 12 0 0 0 316.217 416H355.783C360.9220000000001 416 365.4910000000001 412.727 367.1450000000001 407.861L424.2410000000001 239.861C426.886 232.078 421.1 224 412.879 224H377.144A12 12 0 0 0 365.629 232.622L357.3280000000001 260.9210000000001H314.4650000000001L306.3730000000001 232.693zM329.23 311.39H342.5970000000001L335.997 334.327L329.23 311.39zM341.805 24.067L409.256 119.765A12 12 0 0 1 411.448 126.678V148C411.448 154.627 406.075 160 399.448 160H274.522C267.895 160 262.522 154.627 262.522 148V119.07C262.522 112.443 267.895 107.07 274.522 107.07H330.991C330.252 106.079 329.494 105.034 328.721 103.937L261.5180000000001 8.732A12.001000000000001 12.001000000000001 0 0 1 259.322 1.812V-20C259.322 -26.627 264.695 -32 271.322 -32H400.677C407.3040000000001 -32 412.677 -26.627 412.677 -20V8.93C412.677 15.557 407.3040000000001 20.93 400.677 20.93H339.531C340.271 21.923 341.031 22.969 341.805 24.067z" /> + <glyph glyph-name="sort-amount-down" + unicode="" + horiz-adv-x="512" d=" M187.298 52.686L107.314 -27.316C101.066 -33.563 90.931 -33.561 84.687 -27.316L4.705 52.686C-5.365 62.756 1.807 80 16.019 80H64V400C64 408.837 71.163 416 80 416H112C120.837 416 128 408.837 128 400V80H175.984C190.225 80 197.347 62.736 187.298 52.686zM240 352H496C504.837 352 512 359.163 512 368V400C512 408.837 504.837 416 496 416H240C231.163 416 224 408.837 224 400V368C224 359.163 231.163 352 240 352zM224 240V272C224 280.837 231.163 288 240 288H432C440.837 288 448 280.837 448 272V240C448 231.163 440.837 224 432 224H240C231.163 224 224 231.163 224 240zM224 -16V16C224 24.837 231.163 32 240 32H304C312.837 32 320 24.837 320 16V-16C320 -24.837 312.837 -32 304 -32H240C231.163 -32 224 -24.837 224 -16zM224 112V144C224 152.837 231.163 160 240 160H368C376.837 160 384 152.837 384 144V112C384 103.163 376.837 96 368 96H240C231.163 96 224 103.163 224 112z" /> + <glyph glyph-name="sort-amount-up" + unicode="" + horiz-adv-x="512" d=" M4.702 331.314L84.686 411.316C90.934 417.563 101.069 417.561 107.313 411.316L187.294 331.314C197.364 321.2440000000001 190.193 304 175.98 304H128V-16C128 -24.837 120.837 -32 112 -32H80C71.163 -32 64 -24.837 64 -16V304H16.016C1.775 304 -5.347 321.264 4.702 331.314zM240 352H496C504.837 352 512 359.163 512 368V400C512 408.837 504.837 416 496 416H240C231.163 416 224 408.837 224 400V368C224 359.163 231.163 352 240 352zM224 240V272C224 280.837 231.163 288 240 288H432C440.837 288 448 280.837 448 272V240C448 231.163 440.837 224 432 224H240C231.163 224 224 231.163 224 240zM224 -16V16C224 24.837 231.163 32 240 32H304C312.837 32 320 24.837 320 16V-16C320 -24.837 312.837 -32 304 -32H240C231.163 -32 224 -24.837 224 -16zM224 112V144C224 152.837 231.163 160 240 160H368C376.837 160 384 152.837 384 144V112C384 103.163 376.837 96 368 96H240C231.163 96 224 103.163 224 112z" /> + <glyph glyph-name="sort-down" + unicode="" + horiz-adv-x="320" d=" M41 160H279C300.4 160 311.1 134.1 296 119L177 0C167.6 -9.4 152.4 -9.4 143.1 0L24 119C8.9 134.1 19.6 160 41 160z" /> + <glyph glyph-name="sort-numeric-down" + unicode="" + horiz-adv-x="448" d=" M308.811 334.213L289.363 355.008C284.841 359.844 285.089 367.429 289.919 371.958L333.362 412.699A11.999000000000002 11.999000000000002 0 0 0 341.571 415.9460000000001H373.162C379.789 415.9460000000001 385.162 410.573 385.162 403.9460000000001V276.876H410.822C417.449 276.876 422.822 271.5030000000001 422.822 264.876V235.946C422.822 229.319 417.449 223.946 410.822 223.946H301.649C295.022 223.946 289.649 229.319 289.649 235.946V264.876C289.649 271.5030000000001 295.022 276.876 301.649 276.876H327.063V334.814C319.809 328.2340000000001 312.852 329.8930000000001 308.811 334.213zM278.241 95.644C278.241 128.297 302.106 163 346.335 163C384.588 163 425.759 134.139 425.759 70.772C425.759 19.496 393.522 -35 333.776 -35C315.94 -35 303.23 -31.443 295.228 -28.219C289.438 -25.886 286.439 -19.473 288.306 -13.516L297.543 15.964C299.5780000000001 22.46 306.592 25.947 313.01 23.68C326.039 19.078 340.888 18.405 351.113 27.818C312.371 22.746 278.241 53.178 278.241 95.644zM370.514 76.306C370.514 98.591 355.212 112.811 344.6790000000001 112.811C336.0370000000001 112.811 331.5150000000001 104.846 331.5150000000001 96.979C331.5150000000001 91.31 333.3300000000001 72.811 356.6830000000001 72.811C366.6560000000001 72.811 370.0600000000001 74.965 370.427 75.542C370.4480000000001 75.588 370.514 75.833 370.514 76.306zM175.984 80H128V400C128 408.837 120.837 416 112 416H80C71.163 416 64 408.837 64 400V80H16.019C1.807 80 -5.365 62.756 4.705 52.686L84.686 -27.316C90.931 -33.561 101.066 -33.563 107.313 -27.316L187.297 52.686C197.347 62.736 190.225 80 175.984 80z" /> + <glyph glyph-name="sort-numeric-up" + unicode="" + horiz-adv-x="448" d=" M308.811 334.213L289.363 355.008C284.841 359.844 285.089 367.429 289.919 371.958L333.362 412.699A11.999000000000002 11.999000000000002 0 0 0 341.571 415.9460000000001H373.162C379.789 415.9460000000001 385.162 410.573 385.162 403.9460000000001V276.876H410.822C417.449 276.876 422.822 271.5030000000001 422.822 264.876V235.946C422.822 229.319 417.449 223.946 410.822 223.946H301.649C295.022 223.946 289.649 229.319 289.649 235.946V264.876C289.649 271.5030000000001 295.022 276.876 301.649 276.876H327.063V334.814C319.809 328.2340000000001 312.852 329.8930000000001 308.811 334.213zM278.241 95.644C278.241 128.297 302.106 163 346.335 163C384.588 163 425.759 134.139 425.759 70.772C425.759 19.496 393.522 -35 333.776 -35C315.94 -35 303.23 -31.443 295.228 -28.219C289.438 -25.886 286.439 -19.473 288.306 -13.516L297.543 15.964C299.5780000000001 22.46 306.592 25.947 313.01 23.68C326.039 19.078 340.888 18.405 351.113 27.818C312.371 22.746 278.241 53.178 278.241 95.644zM370.514 76.306C370.514 98.591 355.212 112.811 344.6790000000001 112.811C336.0370000000001 112.811 331.5150000000001 104.846 331.5150000000001 96.979C331.5150000000001 91.31 333.3300000000001 72.811 356.6830000000001 72.811C366.6560000000001 72.811 370.0600000000001 74.965 370.427 75.542C370.4480000000001 75.588 370.514 75.833 370.514 76.306zM16.016 304H64V-16C64 -24.837 71.163 -32 80 -32H112C120.837 -32 128 -24.837 128 -16V304H175.981C190.193 304 197.365 321.2440000000001 187.295 331.314L107.314 411.316C101.069 417.561 90.934 417.563 84.687 411.316L4.702 331.314C-5.347 321.264 1.775 304 16.016 304z" /> + <glyph glyph-name="sort-up" + unicode="" + horiz-adv-x="320" d=" M279 224H41C19.6 224 8.9 249.9 24 265L143 384C152.4 393.4 167.6 393.4 176.9 384L295.9 265C311.1 249.9 300.4 224 279 224z" /> + <glyph glyph-name="sort" + unicode="" + horiz-adv-x="320" d=" M41 160H279C300.4 160 311.1 134.1 296 119L177 0C167.6 -9.4 152.4 -9.4 143.1 0L24 119C8.9 134.1 19.6 160 41 160zM296 265L177 384C167.6 393.4 152.4 393.4 143.1 384L24 265C8.9 249.9 19.6 224 41 224H279C300.4 224 311.1 249.9 296 265z" /> + <glyph glyph-name="spa" + unicode="" + horiz-adv-x="576" d=" M568.25 256C539.21 255.87 433.24 249.84 354.41 173C321.29 143.37 301.05 109.7 288 78.14C274.95 109.7 254.71 143.37 221.59 173C142.76 249.84 36.79 255.87 7.75 256C3.34 256.02 -0.04 252.6 0 248.18C0.23 220.26 7.14 122.04 88.77 48.88C172.79 -32.94 256 -32 288 -32S403.19 -32.95 487.23 48.88C568.87 122.05 575.77 220.26 576 248.18C576.04 252.6 572.66 256.02 568.25 256zM287.98 145.4C300.8 164.25 315.5800000000001 181.18 332.0700000000001 195.92C351.1600000000001 214.53 371.6500000000001 229.22 392.3300000000001 241.1C375.8900000000001 311.6 340.61 374.15 295.6 413.32C291.49 416.9 284.5800000000001 416.9 280.4600000000001 413.32C235.4700000000001 374.18 200.1900000000001 311.69 183.72 241.25C204.09 229.55 224.22 215.11 242.9400000000001 196.86A282.768 282.768 0 0 0 287.98 145.4z" /> + <glyph glyph-name="space-shuttle" + unicode="" + horiz-adv-x="640" d=" M592.604 239.756C559.735 255.164 515.777 264 472 264H186.327C181.375 270.555 175.742 275.978 169.607 280H376C229.157 310.253 219.403 416 96.003 416H96V288H80V416C53.49 416 32 387.346 32 352V288C8.803 288 0 277.968 0 264V224C0 210.017 8.819 200 32 200V184C8.803 184 0 173.968 0 160V120C0 106.017 8.819 96 32 96V32C32 -3.346 53.49 -32 80 -32V96H96V-32H96.003C219.403 -32 229.157 73.747 376 104H169.606C175.741 108.022 181.374 113.445 186.326 120H472C515.777 120 559.735 128.836 592.604 144.244C622.282 158.155 640 176.008 640 192S622.282 225.845 592.604 239.756zM488 152A8 8 0 0 0 480 160V224A8 8 0 0 0 488 232C519.909 232 519.942 152 488 152z" /> + <glyph glyph-name="spinner" + unicode="" + horiz-adv-x="512" d=" M304 400C304 373.49 282.51 352 256 352S208 373.49 208 400S229.49 448 256 448S304 426.51 304 400zM256 32C229.49 32 208 10.51 208 -16S229.49 -64 256 -64S304 -42.51 304 -16S282.51 32 256 32zM464 240C437.49 240 416 218.51 416 192S437.49 144 464 144S512 165.49 512 192S490.51 240 464 240zM96 192C96 218.51 74.51 240 48 240S0 218.51 0 192S21.49 144 48 144S96 165.49 96 192zM108.922 92.922C82.412 92.922 60.922 71.432 60.922 44.922S82.412 -3.078 108.922 -3.078S156.922 18.412 156.922 44.922C156.922 71.431 135.431 92.922 108.922 92.922zM403.078 92.922C376.568 92.922 355.078 71.432 355.078 44.922S376.568 -3.078 403.078 -3.078S451.078 18.412 451.078 44.922C451.078 71.431 429.588 92.922 403.078 92.922zM108.922 387.078C82.412 387.078 60.922 365.588 60.922 339.078S82.412 291.078 108.922 291.078S156.922 312.568 156.922 339.078S135.431 387.078 108.922 387.078z" /> + <glyph glyph-name="splotch" + unicode="" + horiz-adv-x="512" d=" M472.29 252.11L405.23 275.06C385.9500000000001 281.66 371.69 295.98 367.0900000000001 313.36L351.1 373.81C339.5200000000001 417.58 274.5300000000001 430.94 241.12 396.43L194.98 348.76C181.72 335.05 161.44 327.8300000000001 140.78 329.45L68.9 335.07C16.85 339.14 -18.03 290.19 9.87 252.24L48.41 199.82C59.49 184.75 61.23 165.96 53.05 149.58L24.62 92.6C4.03 51.35 47.46 7.73 98.11 18.79L168.07 34.07C188.18 38.46 209.52 34.07 225.14 22.34L279.46 -18.49C318.78 -48.05 380.5 -26.06 383.91 18.73L388.61 80.59C389.96 98.3800000000001 401.41 114.4500000000001 419.24 123.5800000000001L481.24 155.3200000000001C526.12 178.28 520.8299999999999 235.4900000000001 472.29 252.1100000000001z" /> + <glyph glyph-name="spray-can" + unicode="" + horiz-adv-x="512" d=" M224 416C224 433.67 209.67 448 192 448H128C110.33 448 96 433.67 96 416V320H224V416zM480 320C462.33 320 448 305.67 448 288S462.33 256 480 256S512 270.3300000000001 512 288S497.67 320 480 320zM224 288H96C42.98 288 0 245.02 0 192V-32C0 -49.67 14.33 -64 32 -64H288C305.67 -64 320 -49.67 320 -32V192C320 245.02 277.02 288 224 288zM160 32C115.82 32 80 67.82 80 112S115.82 192 160 192S240 156.18 240 112S204.18 32 160 32zM480 352C497.67 352 512 366.33 512 384S497.67 416 480 416S448 401.67 448 384S462.33 352 480 352zM384 320C366.33 320 352 305.67 352 288S366.33 256 384 256S416 270.3300000000001 416 288S401.67 320 384 320zM288 416C270.33 416 256 401.67 256 384S270.33 352 288 352S320 366.33 320 384S305.67 416 288 416zM384 416C366.33 416 352 401.67 352 384S366.33 352 384 352S416 366.33 416 384S401.67 416 384 416zM480 224C462.33 224 448 209.67 448 192S462.33 160 480 160S512 174.33 512 192S497.67 224 480 224z" /> + <glyph glyph-name="square-full" + unicode="" + horiz-adv-x="512" d=" M512 -64H0V448H512V-64z" /> + <glyph glyph-name="square-root-alt" + unicode="" + horiz-adv-x="576" d=" M571.31 196.69L548.6899999999999 219.31C542.4399999999999 225.56 532.31 225.56 526.06 219.31L480 173.25L433.94 219.31C427.69 225.56 417.56 225.56 411.31 219.31L388.69 196.69C382.44 190.44 382.44 180.31 388.69 174.06L434.75 128L388.69 81.94C382.44 75.69 382.44 65.56 388.69 59.31L411.31 36.69C417.56 30.44 427.69 30.44 433.94 36.69L480 82.75L526.06 36.69C532.31 30.44 542.4399999999999 30.44 548.6899999999999 36.69L571.31 59.31C577.56 65.56 577.56 75.69 571.31 81.94L525.25 128L571.31 174.06C577.56 180.31 577.56 190.44 571.31 196.69zM552 448H307.65C293.11 448 280.39 438.2 276.7 424.13L191.91 101.33L133.5 207.43A32.008 32.008 0 0 1 105.47 224H24C10.75 224 0 213.26 0 200V152C0 138.75 10.75 128 24 128H67.62L156.5 -35.73C168.99 -55.5 186.3 -64 204.94 -64C222.21 -64 249.38 -55 259.2200000000001 -22.52L357.03 352H552C565.25 352 576 362.75 576 376V424C576 437.26 565.25 448 552 448z" /> + <glyph glyph-name="square" + unicode="" + horiz-adv-x="448" d=" M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416z" /> + <glyph glyph-name="stamp" + unicode="" + horiz-adv-x="512" d=" M32 -64H480V0H32V-64zM416 192H349.44C333.18 192 320 205.18 320 221.44V230.9C320 258.27 328.88 284.31 341.46 308.62C350.57 326.23 354.36 347.01 350.51 369.04C343.74 407.82 312.04 439.74 273.25 446.49C212.62 457.04 160 410.67 160 352C160 337.8400000000001 163.12 324.4600000000001 168.69 312.42C182.02 283.57 192 253.3 192 221.51V221.44C192 205.18 178.82 192 162.56 192H96C42.98 192 0 149.02 0 96V64C0 46.33 14.33 32 32 32H480C497.67 32 512 46.33 512 64V96C512 149.02 469.02 192 416 192z" /> + <glyph glyph-name="star-and-crescent" + unicode="" + horiz-adv-x="512" d=" M340.4700000000001 -18.36C339.0200000000001 -18.36 333.5800000000001 -18.82 331.29 -18.82C215.04 -18.82 120.47 75.75 120.47 192S215.04 402.82 331.29 402.82C333.61 402.82 338.99 402.36 340.4700000000001 402.36C347.6 402.36 353.8 407.39 355.2200000000001 414.43C356.68 421.68 352.67 428.92 345.75 431.52C316.58 442.46 286.39 448 256 448C114.84 448 0 333.16 0 192S114.84 -64 256 -64C286.23 -64 316.28 -58.51 345.32 -47.68C351.28 -45.66 355.6 -40.04 355.6 -33.42C355.6 -25.33 349.21 -18.36 340.47 -18.36zM503.46 234.14L427.0800000000001 245.24L392.9200000000001 314.45C391.0900000000001 318.15 387.5400000000001 320 383.9900000000001 320S376.8900000000001 318.15 375.0600000000001 314.45L340.9000000000001 245.24L264.5200000000001 234.14C256.3500000000001 232.96 253.0900000000001 222.92 259.0000000000001 217.15L314.2700000000001 163.28L301.2200000000001 87.21C300.1100000000001 80.77 305.2300000000001 75.55 311.0300000000001 75.55C312.5600000000001 75.55 314.1400000000001 75.91 315.6700000000001 76.72L384 112.63L452.31 76.72C453.84 75.92 455.42 75.55 456.95 75.55C462.75 75.55 467.87 80.78 466.76 87.21L453.71 163.28L508.98 217.15C514.89 222.9200000000001 511.6299999999999 232.9600000000001 503.46 234.1400000000001z" /> + <glyph glyph-name="star-half-alt" + unicode="" + horiz-adv-x="536" d=" M508.55 276.49L362.18 297.8L296.77 430.19C290.89 442.02 279.42 448 267.95 448C256.55 448 245.16 442.1 239.26 430.19L173.83 297.81L27.45 276.52C1.2 272.7200000000001 -9.32 240.43 9.71 221.93L115.6 118.93L90.54 -26.55C86.98 -47.33 103.57 -64 122.15 -64C127.08 -64 132.15 -62.83 137.02 -60.25L267.9700000000001 8.43L398.9100000000001 -60.27C403.7700000000001 -62.82 408.8300000000001 -63.98 413.74 -63.98C432.3400000000001 -63.98 448.9600000000001 -47.3699999999999 445.4000000000001 -26.58L420.37 118.91L526.28 221.8900000000001C545.3199999999999 240.3900000000001 534.8 272.6900000000001 508.55 276.49zM386.81 153.29L368.69 135.67L372.97 110.79L392.49 -2.66L290.36 50.9300000000001L267.98 62.6700000000001L268.01 379.8600000000001L319.04 276.5700000000001L330.22 253.9400000000001L355.23 250.3000000000001L469.46 233.6700000000001L386.81 153.2900000000001z" /> + <glyph glyph-name="star-half" + unicode="" + horiz-adv-x="576" d=" M288 448C276.6 448 265.2 442.1 259.3 430.2L194 297.8L47.9 276.6C21.7 272.8 11.2 240.5 30.2 222L135.9 119L110.9 -26.5C106.4 -52.6 133.9 -72.5 157.3 -60.2L288 8.4V448z" /> + <glyph glyph-name="star-of-david" + unicode="" + horiz-adv-x="464" d=" M405.68 192L458.89 281.39C473.3 305.6 455.48 336 426.88 336H319.96L264.01 429.98C256.86 441.99 244.43 448 232 448S207.14 441.99 199.99 429.98L144.04 336H37.11C8.51 336 -9.31 305.6 5.1 281.39L58.32 192L5.1 102.61C-9.31 78.4 8.51 48 37.11 48H144.04L199.99 -45.98C207.14 -57.99 219.57 -64 232 -64S256.86 -57.99 264.01 -45.98L319.96 48H426.89C455.49 48 473.31 78.4 458.9 102.61L405.68 192zM392.9000000000001 280L373.1 246.74L353.3 280H392.9000000000001zM340.5100000000001 192L288.1200000000001 104H175.88L123.49 192L175.87 280H288.12L340.51 192zM232 374.28L254.79 336H209.22L232 374.28zM71.1 280H110.7L90.9 246.74L71.1 280zM71.1 104L90.9 137.26L110.7 104H71.1zM232 9.72L209.21 48H254.78L232 9.72zM353.29 104L373.0900000000001 137.26L392.9 104H353.29z" /> + <glyph glyph-name="star-of-life" + unicode="" + horiz-adv-x="480" d=" M471.99 113.57L336.06 192L471.99 270.43C479.65 274.85 482.27 284.63 477.85 292.29L445.8300000000001 347.7200000000001C441.4100000000001 355.37 431.6200000000001 358 423.9600000000001 353.5800000000001L288.0300000000001 275.1500000000001V432C288.0300000000001 440.84 280.86 448 272.0200000000001 448H207.98C199.14 448 191.97 440.84 191.97 432V275.14L56.04 353.57C48.38 357.99 38.59 355.36 34.17 347.71L2.15 292.29C-2.27 284.64 0.35 274.85 8.01 270.43L143.94 192L8.01 113.57C0.35 109.15 -2.27 99.36 2.15 91.71L34.17 36.28C38.59 28.63 48.38 26.01 56.04 30.42L191.97 108.85V-48C191.97 -56.84 199.14 -64 207.98 -64H272.0200000000001C280.86 -64 288.0300000000001 -56.84 288.0300000000001 -48V108.86L423.9600000000001 30.43C431.6200000000001 26.01 441.4100000000001 28.63 445.8300000000001 36.29L477.85 91.72C482.27 99.37 479.65 109.15 471.99 113.5700000000001z" /> + <glyph glyph-name="star" + unicode="" + horiz-adv-x="576" d=" M259.3 430.2L194 297.8L47.9 276.5C21.7 272.7 11.2 240.4 30.2 221.9L135.9 118.9L110.9 -26.6C106.4 -52.9 134.1 -72.6 157.3 -60.3L288 8.4L418.7 -60.3C441.9 -72.5 469.6 -52.9 465.1 -26.6L440.1 118.9L545.8 221.9C564.8 240.4 554.3 272.7 528.0999999999999 276.5L382 297.8L316.7 430.2C305 453.8 271.1 454.1 259.3 430.2z" /> + <glyph glyph-name="step-backward" + unicode="" + horiz-adv-x="448" d=" M64 -20V404C64 410.6 69.4 416 76 416H124C130.6 416 136 410.6 136 404V227.6L331.5 408.6C352.1 425.7 384 411.4 384 384V0C384 -27.4 352.1 -41.7 331.5 -24.6L136 155.3V-20C136 -26.6 130.6 -32 124 -32H76C69.4 -32 64 -26.6 64 -20z" /> + <glyph glyph-name="step-forward" + unicode="" + horiz-adv-x="448" d=" M384 404V-20C384 -26.6 378.6 -32 372 -32H324C317.4 -32 312 -26.6 312 -20V156.4L116.5 -24.6C95.9 -41.7 64 -27.4 64 0V384C64 411.4 95.9 425.7 116.5 408.6L312 228.7V404C312 410.6 317.4 416 324 416H372C378.6 416 384 410.6 384 404z" /> + <glyph glyph-name="stethoscope" + unicode="" + horiz-adv-x="512" d=" M447.1 336C412.9000000000001 335.5 384.8 307.6 384.1 273.4C383.6 249.1 396.6 227.8 416.1 216.6V104C416.1 46.7 365.9000000000001 0 304.1 0C244.1 0 194.9 44.1 192.2 99.2C265 114.2 320 178.8 320 256V411.4C320 422.8 311.9 432.7 300.7 434.9L237.8 447.5C224.8 450.1 212.2 441.7 209.6 428.7L206.4 413C203.8 400 212.2 387.4 225.2 384.8L255.9 378.7V257.3C255.9 204.4 213.7 160.6 160.8 160.1C107.4 159.6 63.9 202.8 63.9 256.1V378.6L94.6 384.7C107.6 387.3 116 399.9 113.4 412.9L110.3 428.6C107.7 441.6 95.1 450 82.1 447.4L19.3 435C8.1 432.7 0 422.9 0 411.4V256C0 178.7 55.1 114 128.1 99.2C130.7 8.8 208.6 -64 304 -64C401 -64 480 11.4 480 104V216.6C499.1 227.7 512 248.3 512 272C512 307.7 482.8 336.5 447.1 336zM448 256C439.2 256 432 263.2 432 272S439.2 288 448 288S464 280.8 464 272S456.8 256 448 256z" /> + <glyph glyph-name="sticky-note" + unicode="" + horiz-adv-x="448" d=" M312 128H448V392C448 405.3 437.3 416 424 416H24C10.7 416 0 405.3 0 392V-8C0 -21.3 10.7 -32 24 -32H288V104C288 117.2 298.8 128 312 128zM441 73L343 -25C338.5 -29.5 332.4 -32 326 -32H320V96H448V89.9C448 83.6 445.5 77.5 441 73z" /> + <glyph glyph-name="stop-circle" + unicode="" + horiz-adv-x="512" d=" M256 440C119 440 8 329 8 192S119 -56 256 -56S504 55 504 192S393 440 256 440zM352 112C352 103.2 344.8 96 336 96H176C167.2 96 160 103.2 160 112V272C160 280.8 167.2 288 176 288H336C344.8 288 352 280.8 352 272V112z" /> + <glyph glyph-name="stop" + unicode="" + horiz-adv-x="448" d=" M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416z" /> + <glyph glyph-name="stopwatch" + unicode="" + horiz-adv-x="448" d=" M432 144C432 29.1 338.9 -64 224 -64S16 29.1 16 144C16 248 92.3 334.2 192 349.5V384H164C157.4 384 152 389.4 152 396V436C152 442.6 157.4 448 164 448H284C290.6 448 296 442.6 296 436V396C296 389.4 290.6 384 284 384H256V349.5C293.5 343.7 327.7 327.9 355.7 304.9L383.2 332.4C387.9 337.1 395.5 337.1 400.2 332.4L428.5 304.1C433.2 299.4 433.2 291.8 428.5 287.1L399.1 257.7L398.5 257.1C419.7 224.7 432 185.8 432 144zM256 108V259.5C256 266.1 250.6 271.5 244 271.5H204C197.4 271.5 192 266.1 192 259.5V108C192 101.4 197.4 96 204 96H244C250.6 96 256 101.4 256 108z" /> + <glyph glyph-name="store-alt" + unicode="" + horiz-adv-x="640" d=" M320 64H128V224H64V-32C64 -49.7 78.3 -64 96 -64H352C369.7 -64 384 -49.7 384 -32V224H320V64zM634.6 305.8L549.3000000000001 433.8C543.3000000000001 442.7 533.3000000000001 448 522.6 448H117.4C106.7 448 96.7 442.7 90.8 433.8L5.5 305.8C-8.7 284.5 6.5 256 32.1 256H608C633.5 256 648.7 284.5 634.6 305.8zM512 -48C512 -56.8 519.2 -64 528 -64H560C568.8 -64 576 -56.8 576 -48V224H512V-48z" /> + <glyph glyph-name="store" + unicode="" + horiz-adv-x="616" d=" M602 329.4L537.1 433C531.3 442.3 521 448 510 448H106C95 448 84.7 442.3 78.9 433L14 329.4C-19.5 275.9 10.2 201.5 72.8 193C77.3 192.4 81.9 192.1 86.5 192.1C116.1 192.1 142.3 205.1 160.3 225.2C178.3 205.1 204.6 192.1 234.1 192.1C263.7000000000001 192.1 289.9000000000001 205.1 307.9000000000001 225.2C325.9000000000001 205.1 352.2000000000001 192.1 381.7000000000001 192.1C411.3000000000001 192.1 437.5000000000001 205.1 455.5000000000001 225.2C473.6000000000001 205.1 499.8000000000001 192.1 529.3000000000001 192.1C534.0000000000001 192.1 538.5000000000001 192.4 543.0000000000001 193C605.8000000000001 201.4 635.6000000000001 275.8 602.0000000000001 329.4zM529.5 160C519.5 160 509.6 161.5 500 163.8V64H116V163.8C106.4 161.6 96.5 160 86.5 160C80.5 160 74.4 160.4 68.5 161.2C62.9 162 57.4 163.3 52.1 164.8V-32C52.1 -49.7 66.4 -64 84.1 -64H532.1C549.8000000000001 -64 564.1 -49.7 564.1 -32V164.8C558.7 163.2 553.3000000000001 161.9 547.7 161.2C541.6 160.4 535.6 160 529.5 160z" /> + <glyph glyph-name="stream" + unicode="" + horiz-adv-x="512" d=" M16 320H432C440.84 320 448 327.16 448 336V400C448 408.8400000000001 440.84 416 432 416H16C7.16 416 0 408.8400000000001 0 400V336C0 327.16 7.16 320 16 320zM496 240H80C71.16 240 64 232.84 64 224V160C64 151.16 71.16 144 80 144H496C504.84 144 512 151.16 512 160V224C512 232.84 504.84 240 496 240zM432 64H16C7.16 64 0 56.84 0 48V-16C0 -24.84 7.16 -32 16 -32H432C440.84 -32 448 -24.84 448 -16V48C448 56.84 440.84 64 432 64z" /> + <glyph glyph-name="street-view" + unicode="" + horiz-adv-x="512" d=" M367.9 118.24C363.28 112.94 358.12 108.14 352 104.59V81.65C418.52 72.3100000000001 464 53.6 464 32.0000000000001C464 1.0700000000001 370.88 -23.9999999999999 256 -23.9999999999999S48 1.07 48 32C48 53.6 93.48 72.3 160 81.65V104.59C153.88 108.14 148.72 112.94 144.1 118.24C58.87 102.66 0 69.95 0 32C0 -21.02 114.62 -64 256 -64S512 -21.02 512 32C512 69.95 453.13 102.66 367.9 118.24zM256 320C291.35 320 320 348.65 320 384S291.35 448 256 448S192 419.35 192 384S220.65 320 256 320zM192 128V32C192 14.33 206.33 0 224 0H288C305.67 0 320 14.33 320 32V128C337.67 128 352 142.33 352 160V256C352 282.51 330.51 304 304 304H292.2C281.13 298.9700000000001 268.94 296 256 296S230.87 298.9700000000001 219.8 304H208C181.49 304 160 282.51 160 256V160C160 142.33 174.33 128 192 128z" /> + <glyph glyph-name="strikethrough" + unicode="" + horiz-adv-x="512" d=" M496 160H16C7.163 160 0 167.163 0 176V208C0 216.837 7.163 224 16 224H496C504.837 224 512 216.837 512 208V176C512 167.163 504.837 160 496 160zM281.334 144C308.592 131.063 327.858 115.317 327.858 87.757C327.858 54.649 298.8810000000001 34.081 252.237 34.081C219.912 34.081 175.363 46.161 175.363 78.352V80C175.363 88.837 168.1990000000001 96 159.363 96H113.75C104.914 96 97.75 88.837 97.75 80V60.796C97.75 -6.049 175.467 -41.024 252.237 -41.024C340.815 -41.024 414.25 4.414 414.25 93.4C414.25 113.215 410.632 129.817 404.107 144H281.334zM250.382 240C217.96 253.505 193.546 268.9460000000001 193.546 299.683C193.546 333.603 224.447 347.089 258.508 347.089C301.155 347.089 323.47 330.496 323.47 314.104V312C323.47 303.163 330.634 296 339.47 296H385.083C393.919 296 401.083 303.163 401.083 312V342.318C401.083 394.756 329.358 422.193 258.508 422.193C173.305 422.193 107.782 381.221 107.782 296.5470000000001C107.782 273.837 112.447 255.371 120.559 240H250.382z" /> + <glyph glyph-name="stroopwafel" + unicode="" + horiz-adv-x="512" d=" M188.12 237.26L142.86 192L188.11 146.75L233.37 192L188.12 237.26zM301.25 259.88L256 305.14L210.75 259.89L256 214.63L301.25 259.88zM210.75 124.12L256 78.86L301.26 124.12L256 169.37L210.75 124.12zM256 448C114.62 448 0 333.38 0 192S114.62 -64 256 -64S512 50.62 512 192S397.38 448 256 448zM442.68 152.4L431.37 141.09C428.25 137.97 423.18 137.97 420.06 141.09L391.77 169.38L346.52 124.13L380.46 90.19L397.43 107.16C400.55 110.28 405.62 110.28 408.74 107.16L420.05 95.85C423.17 92.73 423.17 87.66 420.05 84.54L403.08 67.5699999999999L420.05 50.5999999999999C423.17 47.4799999999999 423.17 42.4099999999999 420.05 39.2899999999999L408.74 27.9799999999999C405.62 24.8599999999999 400.55 24.8599999999999 397.43 27.9799999999999L380.4599999999999 44.9499999999999L363.4899999999999 27.9799999999999C360.3699999999999 24.8599999999999 355.2999999999999 24.8599999999999 352.1799999999999 27.9799999999999L340.8699999999999 39.2899999999999C337.7499999999999 42.4099999999999 337.7499999999999 47.4799999999999 340.8699999999999 50.5999999999999L357.8399999999999 67.5699999999999L323.8999999999999 101.5099999999999L278.64 56.2499999999999L306.93 27.9599999999999C310.05 24.8399999999999 310.05 19.7699999999999 306.93 16.6499999999999L295.62 5.3399999999999C292.5 2.2199999999999 287.43 2.2199999999999 284.31 5.3399999999999L256 33.61L227.71 5.32C224.59 2.2 219.52 2.2 216.4 5.32L205.09 16.63C201.97 19.75 201.97 24.82 205.09 27.94L233.38 56.23L188.13 101.49L154.19 67.55L171.16 50.58C174.28 47.46 174.28 42.39 171.16 39.27L159.85 27.96C156.73 24.84 151.66 24.84 148.54 27.96L131.57 44.9300000000001L114.6 27.96C111.48 24.84 106.41 24.84 103.29 27.96L91.98 39.27C88.86 42.39 88.86 47.46 91.98 50.58L108.95 67.5500000000001L91.98 84.5200000000001C88.86 87.6400000000001 88.86 92.7100000000001 91.98 95.8300000000001L103.29 107.1400000000001C106.41 110.2600000000001 111.48 110.2600000000001 114.6 107.1400000000001L131.57 90.1700000000001L165.51 124.1100000000001L120.26 169.3600000000001L91.97 141.0700000000001C88.85 137.9500000000001 83.78 137.9500000000001 80.66 141.0700000000001L69.32 152.4C66.2 155.52 66.2 160.59 69.32 163.71L97.61 192L69.32 220.29C66.2 223.41 66.2 228.48 69.32 231.6L80.63 242.91C83.75 246.03 88.82 246.03 91.94 242.91L120.23 214.62L165.48 259.88L131.54 293.82L114.57 276.85C111.45 273.73 106.38 273.73 103.26 276.85L91.95 288.16C88.83 291.28 88.83 296.35 91.95 299.4700000000001L108.92 316.44L91.95 333.41C88.83 336.53 88.83 341.6 91.95 344.7200000000001L103.26 356.03C106.38 359.15 111.45 359.15 114.57 356.03L131.54 339.06L148.51 356.03C151.63 359.15 156.7 359.15 159.82 356.03L171.13 344.7200000000001C174.25 341.6 174.25 336.53 171.13 333.41L154.16 316.44L188.1 282.5L233.36 327.75L205.07 356.04C201.95 359.16 201.95 364.23 205.07 367.35L216.38 378.66C219.5 381.78 224.57 381.78 227.69 378.66L256 350.39L284.29 378.68C287.4100000000001 381.8 292.48 381.8 295.6 378.68L306.9100000000001 367.37C310.0300000000001 364.25 310.0300000000001 359.18 306.9100000000001 356.06L278.62 327.77L323.88 282.52L357.82 316.4600000000001L340.85 333.43C337.73 336.55 337.73 341.62 340.85 344.74L352.1600000000001 356.05C355.2800000000001 359.17 360.35 359.17 363.4700000000001 356.05L380.4400000000001 339.0800000000001L397.4100000000001 356.05C400.5300000000001 359.17 405.6000000000001 359.17 408.7200000000001 356.05L420.0300000000001 344.74C423.1500000000001 341.62 423.1500000000001 336.55 420.0300000000001 333.43L403.0600000000001 316.4600000000001L420.0300000000001 299.49C423.1500000000001 296.37 423.1500000000001 291.3 420.0300000000001 288.18L408.7200000000001 276.87C405.6000000000001 273.75 400.5300000000001 273.75 397.4100000000001 276.87L380.4400000000001 293.8400000000001L346.5000000000001 259.9L391.7500000000001 214.64L420.0400000000001 242.93C423.1600000000001 246.05 428.2300000000001 246.05 431.3500000000001 242.93L442.6600000000001 231.62C445.7800000000001 228.5 445.7800000000001 223.43 442.6600000000001 220.31L414.39 192L442.68 163.72A8.015 8.015 0 0 0 442.68 152.4zM278.63 192L323.89 146.75L369.14 192L323.89 237.26L278.63 192z" /> + <glyph glyph-name="subscript" + unicode="" + horiz-adv-x="512" d=" M395.198 32C398.659 42.526 413.994 53.28 431.463 64.425C448.088 75.03 466.9299999999999 87.051 481.804 103.287C499.2619999999999 122.341 507.748 143.4620000000001 507.748 167.8540000000001C507.748 228.4160000000001 457.046 256.0000000000001 409.938 256.0000000000001C367.447 256.0000000000001 333.56 233.9840000000001 315.506 205.5530000000001C310.852 198.2240000000001 312.914 188.5170000000001 320.129 183.6880000000001L350.457 163.3920000000001C357.4889999999999 158.686 366.9169999999999 160.3080000000001 372.087 167.006C380.1089999999999 177.4 390.9049999999999 185.2310000000001 403.7539999999999 185.2310000000001C423.1409999999999 185.2310000000001 430.0199999999999 172.3300000000001 430.0199999999999 161.2830000000001C430.0199999999999 125.1240000000001 310.5829999999999 104.2600000000001 310.5829999999999 1.2590000000001C310.5829999999999 -5.3949999999999 311.1439999999999 -11.7549999999999 311.998 -18.0719999999999C313.074 -26.0359999999999 319.832 -31.9999999999999 327.868 -31.9999999999999H496C504.837 -31.9999999999999 512 -24.8369999999999 512 -15.9999999999999V16.0000000000001C512 24.837 504.837 32.0000000000001 496 32.0000000000001H395.198zM272 192C280.837 192 288 184.837 288 176V144C288 135.163 280.837 128 272 128H209.601A16 16 0 0 0 196.06 135.478L150.359 208.093C148.062 211.445 145.937 215.062 144.164 218.302C142.514 215.058 140.517 211.365 138.29 207.72L93.578 135.573A15.999 15.999 0 0 0 79.978 128.001H16C7.163 128.001 0 135.1640000000001 0 144.001V176.001C0 184.838 7.163 192.001 16 192.001H42.325L98.877 274.7100000000001L46.111 352H16C7.163 352 0 359.163 0 368V400C0 408.837 7.163 416 16 416H84.806A16 16 0 0 0 98.451 408.356L138.333 343.23C140.405 339.707 142.386 336.059 144.06 332.86C145.837 336.104 147.98 339.814 150.297 343.397L190.629 408.432A15.999 15.999 0 0 0 204.226 416H272C280.837 416 288 408.837 288 400V368C288 359.163 280.837 352 272 352H244.021L191.331 276.329L249.974 192H272z" /> + <glyph glyph-name="subway" + unicode="" + horiz-adv-x="448" d=" M448 352V96C448 44.185 386.376 0 317.978 0L380.9580000000001 -49.721C386.905 -54.417 383.562 -64 376 -64H72C64.422 -64 61.108 -54.406 67.043 -49.721L130.022 0C61.82 0 0 44.046 0 96V352C0 405.019 64 448 128 448H320C385 448 448 405.019 448 352zM200 216V328C200 341.255 189.255 352 176 352H72C58.745 352 48 341.255 48 328V216C48 202.745 58.745 192 72 192H176C189.255 192 200 202.745 200 216zM400 216V328C400 341.255 389.255 352 376 352H272C258.745 352 248 341.255 248 328V216C248 202.745 258.745 192 272 192H376C389.255 192 400 202.745 400 216zM352 160C325.49 160 304 138.51 304 112S325.49 64 352 64S400 85.49 400 112S378.51 160 352 160zM96 160C69.49 160 48 138.51 48 112S69.49 64 96 64S144 85.49 144 112S122.51 160 96 160z" /> + <glyph glyph-name="suitcase-rolling" + unicode="" + horiz-adv-x="384" d=" M336 288H48C21.49 288 0 266.51 0 240V16C0 -10.51 21.49 -32 48 -32H64V-48C64 -56.84 71.16 -64 80 -64H112C120.84 -64 128 -56.84 128 -48V-32H256V-48C256 -56.84 263.1600000000001 -64 272 -64H304C312.84 -64 320 -56.84 320 -48V-32H336C362.51 -32 384 -10.51 384 16V240C384 266.51 362.51 288 336 288zM320 72C320 67.58 316.42 64 312 64H72C67.58 64 64 67.58 64 72V88C64 92.42 67.58 96 72 96H312C316.42 96 320 92.42 320 88V72zM320 168C320 163.58 316.42 160 312 160H72C67.58 160 64 163.58 64 168V184C64 188.42 67.58 192 72 192H312C316.42 192 320 188.42 320 184V168zM144 400H240V320H288V400C288 426.51 266.51 448 240 448H144C117.49 448 96 426.51 96 400V320H144V400z" /> + <glyph glyph-name="suitcase" + unicode="" + horiz-adv-x="512" d=" M128 -32H384V368C384 394.5 362.5 416 336 416H176C149.5 416 128 394.5 128 368V-32zM192 352H320V320H192V352zM512 272V16C512 -10.5 490.5 -32 464 -32H416V320H464C490.5 320 512 298.5 512 272zM96 -32H48C21.5 -32 0 -10.5 0 16V272C0 298.5 21.5 320 48 320H96V-32z" /> + <glyph glyph-name="sun" + unicode="" + horiz-adv-x="512" d=" M274.835 435.354L300.351 372.961C304.564 362.66 317.022 358.612 326.485 364.469L383.8010000000001 399.948C399.2910000000001 409.536 418.6090000000001 395.501 414.2760000000001 377.806L398.2460000000001 312.331C395.5990000000001 301.521 403.2990000000001 290.923 414.3980000000001 290.1L481.6220000000001 285.1130000000001C499.7890000000001 283.765 507.1680000000001 261.0560000000001 493.2630000000001 249.2870000000001L441.81 205.74C433.315 198.55 433.315 185.451 441.81 178.261L493.264 134.713C507.17 122.944 499.791 100.235 481.623 98.887L414.399 93.9C403.3 93.077 395.6 82.479 398.247 71.669L414.2770000000001 6.194C418.6090000000001 -11.501 399.2910000000001 -25.5360000000001 383.802 -15.948L326.486 19.531C317.023 25.389 304.564 21.341 300.352 11.0389999999999L274.836 -51.354C267.94 -68.216 244.062 -68.216 237.166 -51.354L211.65 11.039C207.437 21.34 194.979 25.388 185.516 19.531L128.199 -15.948C112.709 -25.536 93.391 -11.501 97.724 6.194L113.754 71.669C116.401 82.479 108.701 93.077 97.602 93.9L30.378 98.887C12.211 100.235 4.832 122.944 18.737 134.713L70.19 178.26C78.685 185.45 78.685 198.549 70.19 205.739L18.736 249.287C4.83 261.056 12.209 283.765 30.377 285.113L97.601 290.1C108.7 290.923 116.4 301.521 113.753 312.331L97.723 377.806C93.391 395.501 112.709 409.536 128.198 399.948L185.515 364.469C194.978 358.611 207.436 362.659 211.649 372.961L237.165 435.354C244.061 452.215 267.939 452.215 274.835 435.354zM392 192C392 266.991 330.99 328 256 328C181.009 328 120 266.991 120 192S181.009 56 256 56C330.99 56 392 117.009 392 192zM360 192C360 134.654 313.346 88 256 88S152 134.654 152 192S198.654 296 256 296S360 249.346 360 192z" /> + <glyph glyph-name="superscript" + unicode="" + horiz-adv-x="512" d=" M395.198 192C398.659 202.526 413.994 213.28 431.463 224.425C448.088 235.03 466.9299999999999 247.051 481.804 263.2870000000001C499.2619999999999 282.341 507.748 303.462 507.748 327.854C507.748 388.416 457.046 416 409.938 416C367.447 416 333.56 393.984 315.506 365.553C310.852 358.224 312.914 348.517 320.129 343.688L350.457 323.392C357.4889999999999 318.6860000000001 366.9169999999999 320.308 372.087 327.006C380.1089999999999 337.4 390.9049999999999 345.231 403.7539999999999 345.231C423.1409999999999 345.231 430.0199999999999 332.33 430.0199999999999 321.283C430.0199999999999 285.124 310.5829999999999 264.26 310.5829999999999 161.259C310.5829999999999 154.605 311.1439999999999 148.245 311.998 141.928C313.074 133.964 319.832 128 327.868 128H496C504.837 128 512 135.163 512 144V176C512 184.837 504.837 192 496 192H395.198zM272 32C280.837 32 288 24.837 288 16V-16C288 -24.837 280.837 -32 272 -32H209.601A16 16 0 0 0 196.06 -24.522L150.359 48.093C148.062 51.445 145.937 55.062 144.164 58.302C142.514 55.058 140.517 51.365 138.29 47.72L93.578 -24.427A15.999 15.999 0 0 0 79.978 -31.999H16C7.163 -31.999 0 -24.836 0 -15.999V16.001C0 24.838 7.163 32.001 16 32.001H42.325L98.877 114.71L46.111 192H16C7.163 192 0 199.163 0 208V240C0 248.837 7.163 256 16 256H84.806A16 16 0 0 0 98.451 248.356L138.333 183.23C140.405 179.707 142.386 176.059 144.06 172.86C145.837 176.1040000000001 147.98 179.814 150.297 183.397L190.629 248.432A16 16 0 0 0 204.227 255.999H272C280.837 255.999 288 248.836 288 239.999V207.999C288 199.162 280.837 191.999 272 191.999H244.021L191.331 116.328L249.974 32H272z" /> + <glyph glyph-name="surprise" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM136 240C136 257.7 150.3 272 168 272S200 257.7 200 240S185.7 208 168 208S136 222.3 136 240zM248 32C212.7 32 184 60.7 184 96S212.7 160 248 160S312 131.3 312 96S283.3 32 248 32zM328 208C310.3 208 296 222.3 296 240S310.3 272 328 272S360 257.7 360 240S345.7 208 328 208z" /> + <glyph glyph-name="swatchbook" + unicode="" + horiz-adv-x="511" d=" M479.06 128H372.29L186.15 -58.51C184.09 -60.58 181.66 -62.09 179.48 -64H479.06C496.7 -64 511 -49.67 511 -32V96C511 113.67 496.7 128 479.06 128zM434.56 280.9L344.23 371.4100000000001C331.76 383.9100000000001 311.54 383.9100000000001 299.06 371.4100000000001L223.56 295.76V32C223.56 29.04 222.89 26.27 222.69 23.36L434.56 235.64C447.0300000000001 248.14 447.0300000000001 268.4100000000001 434.56 280.9zM191.62 416C191.62 433.67 177.32 448 159.68 448H31.94C14.3 448 0 433.67 0 416V32C0 -21.02 42.9 -64 95.81 -64S191.62 -21.02 191.62 32V416zM95.81 8C82.58 8 71.86 18.75 71.86 32C71.86 45.26 82.59 56 95.81 56S119.76 45.26 119.76 32C119.77 18.75 109.04 8 95.81 8zM127.75 192H63.88V256H127.76V192zM127.75 320H63.88V384H127.76V320z" /> + <glyph glyph-name="swimmer" + unicode="" + horiz-adv-x="640" d=" M189.61 137.42C193.15 134.16 204.88 128 224 128S254.86 134.16 258.39 137.42C274.41 152.19 292.89 160 311.85 160H328.15C347.11 160 365.6 152.19 381.61 137.42C385.15 134.16 396.88 128 416 128S446.86 134.16 450.3899999999999 137.42C465.2499999999999 151.13 482.2699999999999 158.54 499.7799999999999 159.5800000000001L386.94 240.1800000000001L404.94 253.04C408.58 255.6200000000001 413.2199999999999 256.5600000000001 417.56 255.6500000000001L517.91 234.1200000000001C543.8199999999999 228.5900000000001 569.3499999999999 245.0900000000001 574.91 271C580.4599999999999 296.92 563.9599999999999 322.4400000000001 538.03 328L437.68 349.53C406.95 356.11 374.6600000000001 349.41 349.12 331.15L269.1 273.98C258.7200000000001 266.5900000000001 249.74 257.54 242.38 247.04L173.75 149C179.22 145.77 184.57 142.07 189.61 137.42zM624 96H608C581.96 96 562.2 104.42 551.91 113.9C543.01 122.11 532.25 128 520.14 128H503.84C491.73 128 480.97 122.11 472.07 113.9C461.8 104.42 442.04 96 416 96S370.2 104.42 359.91 113.9C351.01 122.11 340.25 128 328.14 128H311.84C299.73 128 288.97 122.11 280.07 113.9C269.8 104.42 250.04 96 224 96S178.2 104.42 167.91 113.9C159.01 122.11 148.25 128 136.14 128H119.84C107.73 128 96.97 122.11 88.07 113.9C77.8 104.42 58.04 96 32 96H16C7.16 96 0 88.84 0 80V48C0 39.16 7.16 32 16 32H32C70.62 32 104.72 44.19 128 63.84C151.28 44.18 185.38 32 224 32S296.7200000000001 44.19 320 63.84C343.28 44.18 377.38 32 416 32S488.72 44.19 512 63.84C535.28 44.18 569.38 32 608 32H624C632.84 32 640 39.16 640 48V80C640 88.84 632.84 96 624 96zM112 192C156.18 192 192 227.82 192 272S156.18 352 112 352S32 316.18 32 272S67.82 192 112 192z" /> + <glyph glyph-name="swimming-pool" + unicode="" + horiz-adv-x="640" d=" M624 32H608C581.96 32 562.2 40.42 551.91 49.9C543.01 58.11 532.25 64 520.14 64H503.84C491.73 64 480.97 58.11 472.07 49.9C461.8 40.42 442.04 32 416 32S370.2 40.42 359.91 49.9C351.01 58.11 340.25 64 328.14 64H311.84C299.73 64 288.97 58.11 280.07 49.9C269.8 40.42 250.04 32 224 32S178.2 40.42 167.91 49.9C159.01 58.11 148.25 64 136.14 64H119.84C107.73 64 96.97 58.11 88.07 49.9C77.8 40.42 58.04 32 32 32H16C7.16 32 0 24.84 0 16V-16C0 -24.84 7.16 -32 16 -32H32C70.62 -32 104.72 -19.81 128 -0.16C151.28 -19.82 185.38 -32 224 -32S296.7200000000001 -19.81 320 -0.16C343.28 -19.82 377.38 -32 416 -32S488.72 -19.81 512 -0.16C535.28 -19.82 569.38 -32 608 -32H624C632.84 -32 640 -24.84 640 -16V16C640 24.84 632.84 32 624 32zM224 64V160H416V64C435.12 64 446.86 70.16 450.39 73.42C459.56 81.88 469.59 87.76 480 91.49V320C480 337.64 494.36 352 512 352S544 337.64 544 320V304C544 295.16 551.16 288 560 288H592C600.84 288 608 295.16 608 304V320C608 372.94 564.94 416 512 416S416 372.94 416 320V224H224V320C224 337.64 238.36 352 256 352S288 337.64 288 320V304C288 295.16 295.1600000000001 288 304 288H336C344.84 288 352 295.16 352 304V320C352 372.94 308.94 416 256 416S160 372.94 160 320V91.5C170.41 87.77 180.44 81.88 189.61 73.43C193.14 70.16 204.88 64 224 64z" /> + <glyph glyph-name="synagogue" + unicode="" + horiz-adv-x="640" d=" M70 251.49L6.67 179.71A26.643000000000004 26.643000000000004 0 0 1 0 162.07V-64H128V208.42L90 251.49C84.69 257.5 75.31 257.5 70 251.49zM633.33 179.71L570 251.49C564.69 257.51 555.31 257.51 550 251.49L512 208.42V-64H640V162.07C640 168.57 637.63 174.84 633.33 179.71zM339.99 440.99C328.3 450.34 311.7 450.34 300.01 440.99L172.01 338.59A32.005 32.005 0 0 1 160 313.6V-64H256V28.57C256 60.45 277.78 90 309.25 95.12C349.34 101.65 384 70.87 384 32V-64H480V313.6C480 323.32 475.58 332.52 467.99 338.59L339.99 440.99zM392.06 225.44C394.04 222.29 391.77 218.2 388.06 218.2H349.12L324 178.21C322.15 175.26 317.85 175.26 316 178.21L290.88 218.19H251.94C248.22 218.19 245.96 222.28 247.94 225.43L267.14 255.99L247.94 286.55C245.96 289.7 248.23 293.79 251.94 293.79H290.88L316 333.79C317.85 336.74 322.15 336.74 324 333.79L349.12 293.81H388.07C391.78 293.81 394.05 289.7200000000001 392.07 286.57L372.87 256L392.06 225.44z" /> + <glyph glyph-name="sync-alt" + unicode="" + horiz-adv-x="512" d=" M370.7200000000001 314.7200000000001C339.4580000000001 343.992 298.888 360.038 255.848 360C178.39 359.932 111.52 306.822 93.057 233.15C91.713 227.787 86.935 224 81.406 224H24.103C16.605 224 10.909 230.807 12.296 238.176C33.933 353.076 134.813 440 256 440C322.448 440 382.791 413.8640000000001 427.315 371.315L463.03 407.03C478.149 422.149 504 411.4410000000001 504 390.059V256C504 242.745 493.255 232 480 232H345.941C324.559 232 313.851 257.851 328.97 272.971L370.72 314.7200000000001zM32 152H166.059C187.441 152 198.149 126.149 183.03 111.029L141.28 69.279C172.542 40.006 213.115 23.96 256.156 23.999C333.574 24.069 400.471 77.143 418.943 150.848C420.287 156.211 425.065 159.998 430.594 159.998H487.898C495.396 159.998 501.092 153.191 499.705 145.822C478.067 30.924 377.187 -56 256 -56C189.552 -56 129.209 -29.864 84.685 12.685L48.97 -23.03C33.851 -38.149 8 -27.441 8 -6.059V128C8 141.255 18.745 152 32 152z" /> + <glyph glyph-name="sync" + unicode="" + horiz-adv-x="512.333" d=" M440.935 435.426L444.901 352.66C399.416 406.096 331.674 440 256 440C134.813 440 33.933 353.076 12.296 238.176C10.908 230.807 16.604 224 24.103 224H73.187C78.757 224 83.564 227.842 84.863 233.259C103.407 310.592 172.931 368 256 368C316.8930000000001 368 370.512 337.144 402.1040000000001 290.199L300.5740000000001 295.064C293.7290000000001 295.3920000000001 288.0000000000001 289.9310000000001 288.0000000000001 283.0780000000001V235.6670000000001C288.0000000000001 229.04 293.3730000000001 223.667 300.0000000000001 223.667H500.3330000000001C506.9600000000001 223.667 512.3330000000001 229.04 512.3330000000001 235.6670000000001V436C512.3330000000001 442.627 506.9600000000001 448 500.3330000000001 448H452.9220000000001C446.0690000000001 448 440.6070000000001 442.271 440.9350000000001 435.426zM256 16C195.105 16 141.483 46.858 109.891 93.805L211.759 88.934C218.604 88.607 224.332 94.068 224.332 100.92V148.332C224.332 154.959 218.959 160.332 212.332 160.332H12C5.373 160.332 0 154.959 0 148.332V-52C0 -58.627 5.373 -64 12 -64H59.385C66.248 -64 71.713 -58.255 71.37 -51.401L67.241 31.174C112.725 -22.166 180.405 -56 256 -56C377.187 -56 478.067 30.924 499.704 145.824C501.092 153.193 495.396 160 487.897 160H438.813C433.243 160 428.436 156.158 427.137 150.741C408.593 73.408 339.069 16 256 16z" /> + <glyph glyph-name="syringe" + unicode="" + horiz-adv-x="512" d=" M201.5 273.2L257.2 217.4C260.3 214.3 260.3 209.2 257.2 206.1L245.9 194.8C242.8 191.6999999999999 237.7 191.6999999999999 234.6 194.8L178.9 250.6L133.6 205.3L189.4 149.5C192.5 146.3999999999999 192.5 141.3 189.4 138.1999999999999L178.1 126.8999999999999C175 123.7999999999999 169.9 123.7999999999999 166.8 126.8999999999999L111 182.8L84.6 156.4C67.3 139.1 59 115.3 61.6 91L68.7 27.4L2.3 -39C-0.8 -42.1 -0.8 -47.2 2.3 -50.3L13.6 -61.6C16.7 -64.7 21.8 -64.7 24.9 -61.6L91.2 4.7L154.8 -2.4C178.7 -5.0000000000001 202.7 2.9999999999999 220.2 20.6L402.1 202.5L266.4000000000001 338.2L201.5 273.2zM509.7 366.5L430.5 445.7C427.4 448.8 422.3 448.8 419.2 445.7L407.9 434.4C404.8 431.3 404.8 426.2 407.9 423.1L436.2 394.8L390.9 349.5L334.3 406.1L317.3 423.1C314.2 426.2 309.1 426.2 306 423.1L272.1 389.2C269 386.1 269 381 272.1 377.9L289.1 360.9L424.8 225L441.8 208C444.9000000000001 204.9 450 204.9 453.1 208L487 242C490.1 245.1 490.1 250.2 487 253.3L413.5 326.8L458.8 372.1L487.1 343.8C490.2 340.7000000000001 495.3 340.7000000000001 498.4 343.8L509.7 355.1C512.8000000000001 358.3 512.8000000000001 363.3 509.7 366.5z" /> + <glyph glyph-name="table-tennis" + unicode="" + horiz-adv-x="512" d=" M496.2 151.5C527.7 229.3 512 321.8 449 384.9C365.1 469 229 469 145.1 384.9L89.1 328.8L300.6 117.3C346.7000000000001 179.4 432.1 194.7 496.2 151.5zM278.3 71.8L57.9 292.1C30.6 246.8 36.2 187.1 75.2 148L109.7 113.4L6.7 24C-1.9 16.5 -2.4 3.3 5.7 -4.8L59.1 -58.3C67.1 -66.4 80.3 -65.9 87.8 -57.3L177.1 46L212.8 10.3C232.5 -9.4 257.4000000000001 -20.2 283.1 -23C276 -6 272.1 12.6 272.1 32.1C272 45.9 274.6 59.1 278.3 71.8zM416 128C363 128 320 85 320 32S363 -64 416 -64S512 -21 512 32S469 128 416 128z" /> + <glyph glyph-name="table" + unicode="" + horiz-adv-x="512" d=" M464 416H48C21.49 416 0 394.51 0 368V16C0 -10.51 21.49 -32 48 -32H464C490.51 -32 512 -10.51 512 16V368C512 394.51 490.51 416 464 416zM224 32H64V128H224V32zM224 192H64V288H224V192zM448 32H288V128H448V32zM448 192H288V288H448V192z" /> + <glyph glyph-name="tablet-alt" + unicode="" + horiz-adv-x="448" d=" M400 448H48C21.5 448 0 426.5 0 400V-16C0 -42.5 21.5 -64 48 -64H400C426.5 -64 448 -42.5 448 -16V400C448 426.5 426.5 448 400 448zM224 -32C206.3 -32 192 -17.7 192 0S206.3 32 224 32S256 17.7 256 0S241.7 -32 224 -32zM400 76C400 69.4 394.6 64 388 64H60C53.4 64 48 69.4 48 76V388C48 394.6 53.4 400 60 400H388C394.6 400 400 394.6 400 388V76z" /> + <glyph glyph-name="tablet" + unicode="" + horiz-adv-x="448" d=" M400 448H48C21.5 448 0 426.5 0 400V-16C0 -42.5 21.5 -64 48 -64H400C426.5 -64 448 -42.5 448 -16V400C448 426.5 426.5 448 400 448zM224 -32C206.3 -32 192 -17.7 192 0S206.3 32 224 32S256 17.7 256 0S241.7 -32 224 -32z" /> + <glyph glyph-name="tablets" + unicode="" + horiz-adv-x="640" d=" M160 256C78.9 256 12.5 197.5 0.1 121.3C-0.7 116.5 3.4 112 8.4 112H311.7C316.7 112 320.8 116.5 320 121.3C307.5 197.5 241.1 256 160 256zM311.6 80H8.4C3.4 80 -0.7 75.5 0.1 70.7C12.5 -5.5 78.9 -64 160 -64S307.5 -5.5 319.9 70.7C320.7 75.5 316.6 80 311.6 80zM593.4 401.4C536.9 457.9 449.2 462.8 386.5 417.4C382.5 414.5 382.2 408.5 385.7 405.1L597 193.7C600.5 190.2 606.5 190.5 609.3 194.5C654.8 257.2 649.9 344.9 593.4 401.4zM363 382.3C359.5 385.8 353.5 385.5 350.7 381.5C305.3 318.8 310.2 231.1 366.6 174.6C423.1 118.1 510.8 113.2000000000001 573.5 158.7000000000001C577.5 161.6 577.8 167.6 574.3 171.0000000000001L363 382.3z" /> + <glyph glyph-name="tachometer-alt" + unicode="" + horiz-adv-x="576" d=" M288 416C128.94 416 0 287.06 0 128C0 75.2 14.25 25.74 39.06 -16.8C44.67 -26.42 55.36 -32 66.5 -32H509.5C520.64 -32 531.33 -26.42 536.94 -16.8C561.75 25.74 576 75.2 576 128C576 287.06 447.06 416 288 416zM288 352C302.71 352 314.58 341.87 318.32 328.35C317.21 326.09 315.68 324.12 314.87 321.68L305.65 294.01C300.52 290.52 294.68 288 288.01 288C270.34 288 256.01 302.3300000000001 256.01 320S270.33 352 288 352zM96 64C78.33 64 64 78.33 64 96S78.33 128 96 128S128 113.67 128 96S113.67 64 96 64zM144 224C126.33 224 112 238.33 112 256S126.33 288 144 288S176 273.67 176 256S161.67 224 144 224zM390.77 296.41L329.44 112.41C343.13 100.67 352 83.46 352 64C352 52.28 348.62 41.45 343.12 32H232.88C227.38 41.45 224 52.28 224 64C224 97.94 250.5 125.43 283.9 127.59L345.24 311.6C349.4100000000001 324.1600000000001 362.9700000000001 331.05 375.6 326.7700000000001C388.17 322.5800000000001 394.9500000000001 308.98 390.7700000000001 296.4100000000001zM405.43 239.21L420.95 285.76C424.42 287.05 428.08 287.99 432 287.99C449.67 287.99 464 273.66 464 255.99S449.67 223.99 432 223.99C420.62 224 411.11 230.27 405.43 239.21zM480 64C462.33 64 448 78.33 448 96S462.33 128 480 128S512 113.67 512 96S497.67 64 480 64z" /> + <glyph glyph-name="tag" + unicode="" + horiz-adv-x="512" d=" M0 195.882V400C0 426.51 21.49 448 48 448H252.118A48 48 0 0 0 286.059 433.941L497.941 222.059C516.6859999999999 203.314 516.6859999999999 172.922 497.941 154.177L293.823 -49.941C275.078 -68.6859999999999 244.686 -68.6859999999999 225.941 -49.941L14.059 161.941A48 48 0 0 0 0 195.882zM112 384C85.49 384 64 362.51 64 336S85.49 288 112 288S160 309.49 160 336S138.51 384 112 384z" /> + <glyph glyph-name="tags" + unicode="" + horiz-adv-x="640" d=" M497.941 222.059L286.0590000000001 433.941A48 48 0 0 1 252.118 448H48C21.49 448 0 426.51 0 400V195.882A48 48 0 0 1 14.059 161.941L225.941 -49.941C244.685 -68.6859999999999 275.077 -68.687 293.823 -49.941L497.941 154.177C516.6859999999999 172.922 516.6859999999999 203.314 497.941 222.059zM112 288C85.49 288 64 309.49 64 336S85.49 384 112 384S160 362.51 160 336S138.51 288 112 288zM625.941 154.177L421.823 -49.941C403.078 -68.6859999999999 372.686 -68.6859999999999 353.941 -49.941L353.581 -49.581L527.64 124.478C544.639 141.477 554 164.078 554 188.118S544.638 234.759 527.64 251.758L331.397 448H380.118A48 48 0 0 0 414.059 433.941L625.941 222.059C644.686 203.314 644.686 172.922 625.941 154.177z" /> + <glyph glyph-name="tape" + unicode="" + horiz-adv-x="640" d=" M224 256C188.7 256 160 227.3 160 192S188.7 128 224 128S288 156.7 288 192S259.3 256 224 256zM624 32H380.6C422.1 72.7 448 129.3 448 192C448 315.7 347.7 416 224 416S0 315.7 0 192S100.3 -32 224 -32H624C632.8 -32 640 -24.8 640 -16V16C640 24.8 632.8 32 624 32zM224 96C171 96 128 139 128 192S171 288 224 288S320 245 320 192S277 96 224 96z" /> + <glyph glyph-name="tasks" + unicode="" + horiz-adv-x="512" d=" M208 316H496C504.8 316 512 323.2 512 332V372C512 380.8 504.8 388 496 388H208C199.2 388 192 380.8 192 372V332C192 323.2 199.2 316 208 316zM208 156H496C504.8 156 512 163.2 512 172V212C512 220.8 504.8 228 496 228H208C199.2 228 192 220.8 192 212V172C192 163.2 199.2 156 208 156zM208 -4H496C504.8 -4 512 3.2 512 12V52C512 60.8 504.8 68 496 68H208C199.2 68 192 60.8 192 52V12C192 3.2 199.2 -4 208 -4zM64 80C37.5 80 15.4 58.5 15.4 32S37.5 -16 64 -16S112 5.5 112 32S90.5 80 64 80zM156.5 379L84.3 306.8L68.7 291.2000000000001C64 286.5 55.8 286.5 51.1 291.2000000000001L3.5 338.6C-1.2 343.3 -1.2 350.9 3.5 355.6L19.2 371.3C23.9 376 31.5 376 36.2 371.3L58.9 349.2L122.6 412.5C127.3 417.2 134.9 417.2 139.6 412.5L156.6 396C161.2 391.3 161.2 383.7 156.5 379zM156.5 219.4L84.3 147.2L68.6 131.5C63.9 126.8 55.7 126.8 51 131.5L3.5 179C-1.2 183.7 -1.2 191.3 3.5 196L19.2 211.7C23.9 216.4 31.5 216.4 36.2 211.7L58.9 189.6L122.6 253.3C127.3 258 134.9 258 139.6 253.3L156.6 236.3C161.2 231.7 161.2 224.1 156.5 219.4z" /> + <glyph glyph-name="taxi" + unicode="" + horiz-adv-x="512" d=" M462 206.36L440 291.2000000000001C430.4 326.4000000000001 398.4 352 363.2 352H352V384C352 401.67 337.67 416 320 416H192C174.33 416 160 401.67 160 384V352H148.8C113.6 352 81.6 326.4 72 291.2L50 206.36C21.41 199.96 0 174.53 0 144V96C0 72.37 12.95 51.96 32 40.88V0C32 -17.67 46.33 -32 64 -32H96C113.67 -32 128 -17.67 128 0V32H384V0C384 -17.67 398.33 -32 416 -32H448C465.67 -32 480 -17.67 480 0V40.88C499.05 51.97 512 72.38 512 96V144C512 174.53 490.59 199.96 462 206.36zM96 96C78.33 96 64 110.33 64 128S78.33 160 96 160S128 145.67 128 128S113.67 96 96 96zM116.55 208L133.75 274.36C135.98 282.52 143.34 288 148.81 288H363.2100000000001C368.6800000000001 288 376.04 282.52 378.0600000000001 275.14L395.45 208H116.55zM416 96C398.33 96 384 110.33 384 128S398.33 160 416 160S448 145.67 448 128S433.67 96 416 96z" /> + <glyph glyph-name="teeth-open" + unicode="" + horiz-adv-x="640" d=" M544 448H96C42.98 448 0 405.02 0 352V288C0 252.65 28.66 224 64 224H576C611.34 224 640 252.65 640 288V352C640 405.02 597.02 448 544 448zM160 272C160 263.16 152.84 256 144 256H80C71.16 256 64 263.16 64 272V304C64 330.51 85.49 352 112 352S160 330.51 160 304V272zM304 272C304 263.16 296.84 256 288 256H208C199.16 256 192 263.16 192 272V328C192 358.93 217.07 384 248 384S304 358.93 304 328V272zM448 272C448 263.16 440.84 256 432 256H352C343.1600000000001 256 336 263.16 336 272V328C336 358.93 361.07 384 392 384S448 358.93 448 328V272zM576 272C576 263.16 568.84 256 560 256H496C487.16 256 480 263.16 480 272V304C480 330.51 501.49 352 528 352S576 330.51 576 304V272zM576 128H64C28.66 128 0 99.35 0 64V32C0 -21.02 42.98 -64 96 -64H544C597.02 -64 640 -21.02 640 32V64C640 99.35 611.34 128 576 128zM160 48C160 21.49 138.51 0 112 0S64 21.49 64 48V80C64 88.84 71.16 96 80 96H144C152.84 96 160 88.84 160 80V48zM304 56C304 25.07 278.93 0 248 0S192 25.07 192 56V80C192 88.84 199.16 96 208 96H288C296.84 96 304 88.84 304 80V56zM448 56C448 25.07 422.93 0 392 0S336 25.07 336 56V80C336 88.84 343.1600000000001 96 352 96H432C440.84 96 448 88.84 448 80V56zM576 48C576 21.49 554.51 0 528 0S480 21.49 480 48V80C480 88.84 487.16 96 496 96H560C568.84 96 576 88.84 576 80V48z" /> + <glyph glyph-name="teeth" + unicode="" + horiz-adv-x="640" d=" M544 448H96C42.98 448 0 405.02 0 352V32C0 -21.02 42.98 -64 96 -64H544C597.02 -64 640 -21.02 640 32V352C640 405.02 597.02 448 544 448zM160 80C160 53.49 138.51 32 112 32S64 53.49 64 80V144C64 152.84 71.16 160 80 160H144C152.84 160 160 152.84 160 144V80zM160 208C160 199.16 152.84 192 144 192H80C71.16 192 64 199.16 64 208V272C64 298.51 85.49 320 112 320S160 298.51 160 272V208zM304 88C304 57.07 278.93 32 248 32S192 57.07 192 88V144C192 152.84 199.16 160 208 160H288C296.84 160 304 152.84 304 144V88zM304 208C304 199.16 296.84 192 288 192H208C199.16 192 192 199.16 192 208V296C192 326.93 217.07 352 248 352S304 326.93 304 296V208zM448 88C448 57.07 422.93 32 392 32S336 57.07 336 88V144C336 152.84 343.1600000000001 160 352 160H432C440.84 160 448 152.84 448 144V88zM448 208C448 199.16 440.84 192 432 192H352C343.1600000000001 192 336 199.16 336 208V296C336 326.93 361.07 352 392 352S448 326.93 448 296V208zM576 80C576 53.49 554.51 32 528 32S480 53.49 480 80V144C480 152.84 487.16 160 496 160H560C568.84 160 576 152.84 576 144V80zM576 208C576 199.16 568.84 192 560 192H496C487.16 192 480 199.16 480 208V272C480 298.51 501.49 320 528 320S576 298.51 576 272V208z" /> + <glyph glyph-name="terminal" + unicode="" + horiz-adv-x="640" d=" M257.981 175.029L63.638 -19.314C54.265 -28.687 39.069 -28.687 29.697 -19.314L7.029 3.353C-2.328 12.71 -2.346 27.875 6.989 37.254L161.011 192L6.99 346.745C-2.345 356.124 -2.327 371.289 7.03 380.646L29.697 403.313C39.07 412.6860000000001 54.266 412.6860000000001 63.638 403.313L257.981 208.97C267.354 199.598 267.354 184.402 257.981 175.029zM640 -8V24C640 37.255 629.255 48 616 48H312C298.745 48 288 37.255 288 24V-8C288 -21.255 298.745 -32 312 -32H616C629.255 -32 640 -21.255 640 -8z" /> + <glyph glyph-name="text-height" + unicode="" + horiz-adv-x="576" d=" M16 416H304C312.837 416 320 408.837 320 400V304C320 295.163 312.837 288 304 288H268.504C259.6670000000001 288 252.504 295.163 252.504 304V352H197.743V32H232C240.837 32 248 24.837 248 16V-16C248 -24.837 240.837 -32 232 -32H88C79.163 -32 72 -24.837 72 -16V16C72 24.837 79.163 32 88 32H122.257V352H67.496V304C67.496 295.163 60.333 288 51.496 288H16C7.163 288 0 295.163 0 304V400C0 408.837 7.163 416 16 416zM491.308 411.315L571.303 331.314C581.309 321.307 574.297 304 559.99 304H512V80H560C575.639 80 580.635 62.009 571.313 52.686L491.318 -27.3150000000001C485.071 -33.5620000000001 474.937 -33.5600000000001 468.692 -27.3150000000001L388.697 52.6859999999999C378.691 62.693 385.703 80 400.01 80H448V304H400C384.361 304 379.365 321.991 388.687 331.314L468.682 411.315C474.929 417.563 485.063 417.56 491.308 411.315z" /> + <glyph glyph-name="text-width" + unicode="" + horiz-adv-x="448" d=" M16 416H432C440.837 416 448 408.837 448 400V304C448 295.163 440.837 288 432 288H396.504C387.6670000000001 288 380.504 295.163 380.504 304V352H261.743V224H296C304.837 224 312 216.837 312 208V176C312 167.163 304.837 160 296 160H152C143.163 160 136 167.163 136 176V208C136 216.837 143.163 224 152 224H186.257V352H67.496V304C67.496 295.163 60.333 288 51.496 288H16C7.163 288 0 295.163 0 304V400C0 408.837 7.163 416 16 416zM443.315 75.318L363.314 155.313C353.991 164.635 336 159.638 336 144V96H112V143.99C112 158.297 94.693 165.309 84.686 155.303L4.685 75.308C-1.56 69.063 -1.562 58.929 4.685 52.682L84.686 -27.313C94.009 -36.635 112 -31.638 112 -16V32H336V-15.99C336 -30.297 353.307 -37.309 363.314 -27.303L443.3150000000001 52.692C449.5600000000001 58.937 449.5630000000001 69.071 443.3150000000001 75.318z" /> + <glyph glyph-name="th-large" + unicode="" + horiz-adv-x="512" d=" M296 416H488C501.255 416 512 405.255 512 392V232C512 218.745 501.255 208 488 208H296C282.745 208 272 218.745 272 232V392C272 405.255 282.745 416 296 416zM216 416H24C10.745 416 0 405.255 0 392V232C0 218.745 10.745 208 24 208H216C229.255 208 240 218.745 240 232V392C240 405.255 229.255 416 216 416zM0 152V-8C0 -21.255 10.745 -32 24 -32H216C229.255 -32 240 -21.255 240 -8V152C240 165.255 229.255 176 216 176H24C10.745 176 0 165.255 0 152zM296 -32H488C501.255 -32 512 -21.255 512 -8V152C512 165.255 501.255 176 488 176H296C282.745 176 272 165.255 272 152V-8C272 -21.255 282.745 -32 296 -32z" /> + <glyph glyph-name="th-list" + unicode="" + horiz-adv-x="512" d=" M149.333 232V152C149.333 138.745 138.588 128 125.333 128H24C10.745 128 0 138.745 0 152V232C0 245.255 10.745 256 24 256H125.333C138.588 256 149.333 245.255 149.333 232zM0 72V-8C0 -21.255 10.745 -32 24 -32H125.333C138.588 -32 149.333 -21.255 149.333 -8V72C149.333 85.255 138.588 96 125.333 96H24C10.745 96 0 85.255 0 72zM125.333 416H24C10.745 416 0 405.255 0 392V312C0 298.745 10.745 288 24 288H125.333C138.588 288 149.333 298.745 149.333 312V392C149.333 405.255 138.588 416 125.333 416zM205.333 -32H488C501.255 -32 512 -21.255 512 -8V72C512 85.255 501.255 96 488 96H205.333C192.078 96 181.333 85.255 181.333 72V-8C181.333 -21.255 192.078 -32 205.333 -32zM181.333 392V312C181.333 298.745 192.078 288 205.333 288H488C501.255 288 512 298.745 512 312V392C512 405.255 501.255 416 488 416H205.333C192.078 416 181.333 405.255 181.333 392zM205.333 128H488C501.255 128 512 138.745 512 152V232C512 245.255 501.255 256 488 256H205.333C192.078 256 181.333 245.255 181.333 232V152C181.333 138.745 192.078 128 205.333 128z" /> + <glyph glyph-name="th" + unicode="" + horiz-adv-x="512" d=" M149.333 392V312C149.333 298.745 138.588 288 125.333 288H24C10.745 288 0 298.745 0 312V392C0 405.255 10.745 416 24 416H125.333C138.588 416 149.333 405.255 149.333 392zM330.6670000000001 152V232C330.6670000000001 245.255 319.9220000000001 256 306.6670000000001 256H205.333C192.078 256 181.333 245.255 181.333 232V152C181.333 138.745 192.078 128 205.333 128H306.666C319.9220000000001 128 330.667 138.745 330.667 152zM362.6670000000001 392V312C362.6670000000001 298.745 373.4120000000001 288 386.6670000000001 288H488C501.255 288 512 298.745 512 312V392C512 405.255 501.255 416 488 416H386.667C373.412 416 362.667 405.255 362.667 392zM330.6670000000001 312V392C330.6670000000001 405.255 319.9220000000001 416 306.6670000000001 416H205.333C192.078 416 181.333 405.255 181.333 392V312C181.333 298.745 192.078 288 205.333 288H306.666C319.9220000000001 288 330.667 298.745 330.667 312zM125.333 256H24C10.745 256 0 245.255 0 232V152C0 138.745 10.745 128 24 128H125.333C138.588 128 149.333 138.745 149.333 152V232C149.333 245.255 138.588 256 125.333 256zM0 72V-8C0 -21.255 10.745 -32 24 -32H125.333C138.588 -32 149.333 -21.255 149.333 -8V72C149.333 85.255 138.588 96 125.333 96H24C10.745 96 0 85.255 0 72zM386.667 128H488C501.255 128 512 138.745 512 152V232C512 245.255 501.255 256 488 256H386.667C373.412 256 362.667 245.255 362.667 232V152C362.667 138.745 373.412 128 386.667 128zM386.667 -32H488C501.255 -32 512 -21.255 512 -8V72C512 85.255 501.255 96 488 96H386.667C373.412 96 362.667 85.255 362.667 72V-8C362.667 -21.255 373.412 -32 386.667 -32zM181.333 72V-8C181.333 -21.255 192.078 -32 205.333 -32H306.666C319.921 -32 330.666 -21.255 330.666 -8V72C330.666 85.255 319.921 96 306.666 96H205.333C192.078 96 181.333 85.255 181.333 72z" /> + <glyph glyph-name="theater-masks" + unicode="" + horiz-adv-x="640" d=" M206.86 202.85C170.98 192.4 146.91 161.65 149.33 128.75C160.73 141.47 178.14 152.45 199.23 159.67L206.86 202.85zM95.81 153L64.08 332.51C63.79 334.13 64.36 335.13 64.32 335.1600000000001C122.08 367.2200000000001 187.44 384.17 253.33 384.17C254.94 384.17 256.56 384 258.18 383.98C272.13 397.45 289.9100000000001 406.81 309.77 409.98C328.66 413 347.82 414.53 366.95 415.3C356.96 429.25 342.47 439.5300000000001 325.18 442.3C301.27 446.11 277.24 448 253.32 448C176.66 448 101.02 428.58 33.2 390.94C9.03 377.52 -3.92 349.52 1.05 321.42L32.78 141.91C47.01 61.39 169.11 -0.17 237.23 -0.17C240.82 -0.17 243.98 0.29 247.24 0.6300000000001C233.72 17.71 218.3 41.1100000000001 207.74 68.21C160.13 81.1900000000001 101.68 119.8300000000001 95.81 153.0000000000001zM193.36 290.4600000000001C192.63 294.5800000000001 191.13 298.3300000000001 189.29 301.86C181.04 292.9500000000001 168.62 286.11 153.97 283.54C139.32 280.9600000000001 125.3 283.14 114.4900000000001 288.7100000000001C113.9700000000001 284.77 113.85 280.73 114.5800000000001 276.61C118.4200000000001 254.9100000000001 139.16 240.42 160.9200000000001 244.24C182.6700000000001 248.06 197.2000000000001 268.76 193.3600000000001 290.4600000000001zM606.8 327.1C517.8199999999999 376.48 415.37 394.51 314.82 378.45C287.51 374.09 265.74 352.19 260.7799999999999 324.09L229.05 144.58C213.6599999999999 57.53 324.33 -51.6900000000001 387.3599999999999 -62.77C450.3899999999999 -73.86 591.8299999999999 -8.98 607.2199999999999 78.0700000000001L638.9499999999999 257.5800000000001C643.92 285.6900000000001 630.9699999999999 313.6900000000001 606.8 327.1zM333.56 230.3C337.3999999999999 252 358.14 266.49 379.9 262.6600000000001C401.66 258.8300000000001 416.18 238.14 412.35 216.44C411.62 212.32 410.12 208.57 408.28 205.04C400.03 213.95 387.61 220.79 372.96 223.36C358.31 225.9400000000001 344.29 223.76 333.48 218.19C332.95 222.14 332.83 226.1800000000001 333.56 230.3zM404.03 31.54C348.35 41.33 310.51 90.81 314.99 144.4400000000001C335.59 118.9 371.2 98.27 414.48 90.6600000000001C457.76 83.0500000000001 498.3 90.2900000000001 526.41 107.2600000000001C512.23 55.3200000000001 459.7 21.7500000000001 404.03 31.5400000000001zM534.3299999999999 182.88C526.0799999999999 191.79 513.65 198.63 498.9999999999999 201.2C484.35 203.78 470.3299999999999 201.6 459.5199999999999 196.03C458.9999999999999 199.97 458.8799999999999 204.01 459.6099999999999 208.13C463.4499999999999 229.83 484.1899999999999 244.32 505.9499999999999 240.5C527.6999999999999 236.67 542.2299999999999 215.98 538.4 194.28C537.67 190.15 536.17 186.4 534.3299999999999 182.88z" /> + <glyph glyph-name="thermometer-empty" + unicode="" + horiz-adv-x="256" d=" M192 64C192 28.654 163.346 0 128 0S64 28.654 64 64C64 99.346 92.654 128 128 128S192 99.346 192 64zM224 148.653C243.912 126.09 256 96.459 256 64C256 -6.696 198.697 -64 128 -64C127.701 -64 127.391 -63.999 127.091 -63.997C56.789 -63.509 -0.357 -5.636 0.002 64.667C0.166 96.865 12.225 126.245 32 148.653V352C32 405.019 74.981 448 128 448S224 405.019 224 352V148.653zM208 64C208 98.339 188.63 116.19 176 130.502V352C176 378.467 154.467 400 128 400S80 378.467 80 352V130.502C67.268 116.074 48.175 98.402 48.001 64.422C47.777 20.5460000000001 83.564 -15.694 127.424 -15.998L128 -16C172.112 -16 208 19.888 208 64z" /> + <glyph glyph-name="thermometer-full" + unicode="" + horiz-adv-x="256" d=" M224 352C224 405.019 181.019 448 128 448S32 405.019 32 352V148.653C12.225 126.244 0.166 96.864 0.002 64.667C-0.357 -5.636 56.789 -63.509 127.091 -63.997C127.39 -63.999 127.701 -64 128 -64C198.698 -64 256 -6.696 256 64C256 96.459 243.912 126.09 224 148.653V352zM128 -16L127.424 -15.998C83.564 -15.694 47.777 20.546 48.001 64.422C48.174 98.402 67.267 116.074 80 130.502V352C80 378.467 101.533 400 128 400S176 378.467 176 352V130.502C188.63 116.19 208 98.338 208 64C208 19.888 172.112 -16 128 -16zM192 64C192 28.654 163.346 0 128 0S64 28.654 64 64C64 87.685 76.876 108.349 96 119.417V352C96 369.673 110.327 384 128 384S160 369.673 160 352V119.417C179.124 108.3490000000001 192 87.6850000000001 192 64z" /> + <glyph glyph-name="thermometer-half" + unicode="" + horiz-adv-x="256" d=" M192 64C192 28.654 163.346 0 128 0S64 28.654 64 64C64 87.685 76.876 108.349 96 119.417V224C96 241.673 110.327 256 128 256S160 241.673 160 224V119.417C179.124 108.3490000000001 192 87.6850000000001 192 64zM224 148.653C243.912 126.09 256 96.459 256 64C256 -6.696 198.697 -64 128 -64C127.701 -64 127.391 -63.999 127.091 -63.997C56.789 -63.509 -0.357 -5.636 0.002 64.667C0.166 96.865 12.225 126.245 32 148.653V352C32 405.019 74.981 448 128 448S224 405.019 224 352V148.653zM208 64C208 98.339 188.63 116.19 176 130.502V352C176 378.467 154.467 400 128 400S80 378.467 80 352V130.502C67.268 116.074 48.175 98.402 48.001 64.422C47.777 20.5460000000001 83.564 -15.694 127.424 -15.998L128 -16C172.112 -16 208 19.888 208 64z" /> + <glyph glyph-name="thermometer-quarter" + unicode="" + horiz-adv-x="256" d=" M192 64C192 28.654 163.346 0 128 0S64 28.654 64 64C64 87.685 76.876 108.349 96 119.417V160C96 177.673 110.327 192 128 192S160 177.673 160 160V119.417C179.124 108.3490000000001 192 87.6850000000001 192 64zM224 148.653C243.912 126.09 256 96.459 256 64C256 -6.696 198.697 -64 128 -64C127.701 -64 127.391 -63.999 127.091 -63.997C56.789 -63.509 -0.357 -5.636 0.002 64.667C0.166 96.865 12.225 126.245 32 148.653V352C32 405.019 74.981 448 128 448S224 405.019 224 352V148.653zM208 64C208 98.339 188.63 116.19 176 130.502V352C176 378.467 154.467 400 128 400S80 378.467 80 352V130.502C67.268 116.074 48.175 98.402 48.001 64.422C47.777 20.5460000000001 83.564 -15.694 127.424 -15.998L128 -16C172.112 -16 208 19.888 208 64z" /> + <glyph glyph-name="thermometer-three-quarters" + unicode="" + horiz-adv-x="256" d=" M192 64C192 28.654 163.346 0 128 0C92.654 0 64 28.654 64 64C64 87.685 76.876 108.349 96 119.417V288C96 305.673 110.327 320 128 320S160 305.673 160 288V119.417C179.124 108.3490000000001 192 87.6850000000001 192 64zM224 148.653C243.912 126.09 256 96.459 256 64C256 -6.696 198.697 -64 128 -64C127.701 -64 127.391 -63.999 127.091 -63.997C56.789 -63.509 -0.357 -5.636 0.002 64.667C0.166 96.865 12.225 126.245 32 148.653V352C32 405.019 74.981 448 128 448S224 405.019 224 352V148.653zM208 64C208 98.339 188.63 116.19 176 130.502V352C176 378.467 154.467 400 128 400S80 378.467 80 352V130.502C67.268 116.074 48.175 98.402 48.001 64.422C47.777 20.5460000000001 83.564 -15.694 127.424 -15.998L128 -16C172.112 -16 208 19.888 208 64z" /> + <glyph glyph-name="thermometer" + unicode="" + horiz-adv-x="512" d=" M476.8 427.6C439.3 458.3 381.3 453.9 344.9 417.4L299.2 371.4L349.7 320.9C352.8 317.8 352.8 312.7000000000001 349.7 309.6L338.4 298.3C335.3 295.2 330.2 295.2 327.1 298.3L276.7 348.8L231.6 303.4L281.9 253C285 249.9 285 244.8 281.9 241.7L270.6 230.4C267.5 227.3 262.4 227.3 259.3 230.4L209 280.6L163.9 235.2L214 185C217.1 181.9 217.1 176.8 214 173.7L202.7 162.4C199.6 159.3 194.5 159.3 191.4 162.4L141.3 212.6L96 166.9V66L7 -23C-2.4 -32.4 -2.4 -47.6 7 -56.9C16.4 -66.2999999999999 31.6 -66.2999999999999 40.9 -56.9L129.9 32.1H229.8L484 285.4C518.9 320.3 526.2 386.9 476.8 427.6z" /> + <glyph glyph-name="thumbs-down" + unicode="" + horiz-adv-x="512" d=" M0 392V152C0 138.745 10.745 128 24 128H104C117.255 128 128 138.745 128 152V392C128 405.255 117.255 416 104 416H24C10.745 416 0 405.255 0 392zM40 192C40 205.255 50.745 216 64 216S88 205.255 88 192S77.255 168 64 168S40 178.745 40 192zM312 -64C291.817 -64 282.515 -24.707 278.069 -6.205C272.863 15.461 267.48 37.865 252.676 52.697C220.207 85.221 203.173 126.664 163.559 165.808A11.98 11.98 0 0 0 160.001 174.329V388.099C160.001 394.64 165.244 399.977 171.784 400.097C187.615 400.387 208.478 409.176 224.435 416.275C256.189 430.402 295.709 447.983 343.995 448H346.839C389.616 448 440.202 447.587 460.613 418.263C469.005 406.206 471.059 391.229 466.761 373.631C483.073 356.578 491.824 324.7680000000001 483.143 298.874C500.687 275.442 502.2860000000001 242.742 492.451 219.405L492.561 219.295C504.4540000000001 207.346 512.0840000000001 188.036 512 170.098C511.844 139.746 485.843 111.9999999999999 452.447 111.9999999999999H350.723C358.03 83.66 384 59.868 384 17.452C384 -56 336 -64 312 -64z" /> + <glyph glyph-name="thumbs-up" + unicode="" + horiz-adv-x="512" d=" M104 224H24C10.745 224 0 213.255 0 200V-40C0 -53.255 10.745 -64 24 -64H104C117.255 -64 128 -53.255 128 -40V200C128 213.255 117.255 224 104 224zM64 -24C50.745 -24 40 -13.255 40 0S50.745 24 64 24S88 13.255 88 0S77.255 -24 64 -24zM384 366.548C384 324.132 358.03 300.3400000000001 350.723 272H452.446C485.843 272 511.843 244.254 511.999 213.902C512.083 195.964 504.453 176.653 492.56 164.705L492.45 164.595C502.286 141.258 500.687 108.558 483.142 85.126C491.823 59.231 483.073 27.422 466.76 10.369C471.058 -7.229 469.004 -22.206 460.612 -34.263C440.202 -63.587 389.616 -64 346.839 -64L343.994 -63.999C295.707 -63.982 256.188 -46.401 224.434 -32.274C208.477 -25.175 187.613 -16.387 171.783 -16.096C165.243 -15.976 160 -10.639 160 -4.098V209.672C160 212.872 161.282 215.943 163.558 218.193C203.172 257.337 220.206 298.78 252.675 331.304C267.479 346.136 272.863 368.54 278.068 390.206C282.515 408.707 291.817 448 312 448C336 448 384 440 384 366.548z" /> + <glyph glyph-name="thumbtack" + unicode="" + horiz-adv-x="384" d=" M298.028 233.733L285.793 352H328C341.255 352 352 362.745 352 376V424C352 437.255 341.255 448 328 448H56C42.745 448 32 437.255 32 424V376C32 362.745 42.745 352 56 352H98.207L85.972 233.733C37.465 211.18 0 170.739 0 120C0 106.745 10.745 96 24 96H160V-8.007C160 -9.249 160.289 -10.474 160.845 -11.585L184.845 -59.585C187.786 -65.467 196.209 -65.4779999999999 199.156 -59.585L223.156 -11.585A8.008 8.008 0 0 1 224.001 -8.007V96H360.001C373.256 96 384.001 106.745 384.001 120C384 171.183 346.018 211.42 298.028 233.733z" /> + <glyph glyph-name="ticket-alt" + unicode="" + horiz-adv-x="576" d=" M128 288H448V96H128V288zM528 192C528 165.49 549.49 144 576 144V48C576 21.49 554.51 0 528 0H48C21.49 0 0 21.49 0 48V144C26.51 144 48 165.49 48 192S26.51 240 0 240V336C0 362.51 21.49 384 48 384H528C554.51 384 576 362.51 576 336V240C549.49 240 528 218.51 528 192zM480 296C480 309.255 469.255 320 456 320H120C106.745 320 96 309.255 96 296V88C96 74.745 106.745 64 120 64H456C469.255 64 480 74.745 480 88V296z" /> + <glyph glyph-name="times-circle" + unicode="" + horiz-adv-x="512" d=" M256 440C119 440 8 329 8 192S119 -56 256 -56S504 55 504 192S393 440 256 440zM377.6 126.9C382.3 122.2 382.3 114.6 377.6 109.9L338 70.4C333.3 65.7 325.7 65.7 321 70.4L256 136L190.9 70.4C186.2 65.7 178.6 65.7 173.9 70.4L134.4 110C129.7 114.7 129.7 122.3 134.4 127L200 192L134.4 257.1C129.7 261.8 129.7 269.4 134.4 274.1L174 313.7C178.7 318.4 186.3 318.4 191 313.7L256 248L321.1 313.6C325.8 318.3 333.4000000000001 318.3 338.1 313.6L377.7000000000001 274C382.4000000000001 269.3 382.4000000000001 261.7 377.7000000000001 257L312 192L377.6 126.9z" /> + <glyph glyph-name="times" + unicode="" + horiz-adv-x="352" d=" M242.72 192L342.79 292.07C355.07 304.35 355.07 324.26 342.79 336.55L320.55 358.79C308.27 371.07 288.36 371.07 276.07 358.79L176 258.7200000000001L75.93 358.79C63.65 371.07 43.74 371.07 31.45 358.79L9.21 336.55C-3.07 324.27 -3.07 304.36 9.21 292.07L109.28 192L9.21 91.93C-3.07 79.65 -3.07 59.74 9.21 47.45L31.45 25.21C43.73 12.93 63.65 12.93 75.93 25.21L176 125.28L276.07 25.21C288.35 12.93 308.27 12.93 320.55 25.21L342.79 47.45C355.07 59.73 355.07 79.64 342.79 91.93L242.72 192z" /> + <glyph glyph-name="tint-slash" + unicode="" + horiz-adv-x="640" d=" M633.82 -10.1L494.97 97.22C495.49 102.79 496 108.3800000000001 496 114.09C496 225.85 396.21 267.4300000000001 349.2200000000001 425.9100000000001C341.2800000000001 454.6900000000001 299.7800000000001 456.03 290.7800000000001 425.9100000000001C275.2600000000001 373.5700000000001 253.9100000000001 333.9500000000001 232.29 300.23L45.47 444.63C38.49 450.05 28.43 448.8 23.01 441.82L3.37 416.55C-2.05 409.58 -0.8 399.53 6.18 394.1L594.54 -60.63C601.52 -66.0599999999999 611.5699999999999 -64.7999999999999 617 -57.82L636.64 -32.55C642.05 -25.58 640.8 -15.53 633.8199999999999 -10.1zM144 114.09C144 15.65 222.72 -64 320 -64C364.71 -64 405.37 -47.04 436.4 -19.3L162.72 192.22C151.31 168.72 144 143.87 144 114.09z" /> + <glyph glyph-name="tint" + unicode="" + horiz-adv-x="352" d=" M205.22 425.9100000000001C197.28 454.69 155.78 456.03 146.78 425.9100000000001C100.01 268.15 0 225.28 0 114.09C0 15.65 78.72 -64 176 -64S352 15.65 352 114.09C352 225.8400000000001 252.21 267.4300000000001 205.22 425.9100000000001zM176 0C114.25 0 64 50.25 64 112C64 120.84 71.16 128 80 128S96 120.84 96 112C96 67.89 131.89 32 176 32C184.84 32 192 24.84 192 16S184.84 0 176 0z" /> + <glyph glyph-name="tired" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM281.8 250.3L361.8 298.3C373.4000000000001 305.2000000000001 385.8 290.6 377.2 280.3L343.6 240L377.2000000000001 199.7C385.9000000000001 189.3 373.3000000000001 174.9 361.8000000000001 181.7L281.8000000000001 229.7C274.1000000000001 234.4 274.1000000000001 245.6 281.8000000000001 250.3zM118.8 280.3C110.2 290.6 122.6 305.2000000000001 134.2 298.3L214.2 250.3C222 245.6 222 234.4 214.2 229.7L134.2 181.7000000000001C122.7 174.9 110.2 189.3000000000001 118.8 199.7000000000001L152.4 240.0000000000001L118.8 280.3000000000001zM248 160C299.9 160 363.3 116.2 371.2 53.3C372.9 39.7 363.2 28.7 353.5 32.9C327.6 44.0000000000001 289.1 50.3 248 50.3S168.4 44 142.5 32.9C132.7 28.7 123.1 39.9 124.8 53.3C132.7 116.2 196.1 160 248 160z" /> + <glyph glyph-name="toggle-off" + unicode="" + horiz-adv-x="576" d=" M384 384H192C85.961 384 0 298.039 0 192S85.961 0 192 0H384C490.039 0 576 85.961 576 192S490.039 384 384 384zM64 192C64 262.741 121.249 320 192 320C262.741 320 320 262.751 320 192C320 121.259 262.751 64 192 64C121.259 64 64 121.249 64 192zM384 64H335.0950000000001C400.312 136.858 400.331 247.12 335.0950000000001 320H384C454.741 320 512 262.751 512 192C512 121.26 454.751 64 384 64z" /> + <glyph glyph-name="toggle-on" + unicode="" + horiz-adv-x="576" d=" M576 192C576 85.961 490.039 0 384 0H192C85.961 0 0 85.961 0 192S85.961 384 192 384H384C490.039 384 576 298.039 576 192zM384 320C313.259 320 256 262.751 256 192C256 121.259 313.249 64 384 64C454.741 64 512 121.249 512 192C512 262.741 454.751 320 384 320" /> + <glyph glyph-name="toolbox" + unicode="" + horiz-adv-x="512" d=" M502.63 233.37L457.38 278.62C451.38 284.62 443.24 287.99 434.75 287.99H384V368C384 394.51 362.51 416 336 416H176C149.49 416 128 394.51 128 368V288H77.25C68.76 288 60.63 284.63 54.62 278.63L9.37 233.37C3.37 227.37 0 219.23 0 210.74V128H128V144C128 152.84 135.16 160 144 160H176C184.84 160 192 152.84 192 144V128H320V144C320 152.84 327.1600000000001 160 336 160H368C376.84 160 384 152.84 384 144V128H512V210.75C512 219.23 508.63 227.37 502.63 233.37zM320 288H192V352H320V288zM384 80C384 71.16 376.84 64 368 64H336C327.1600000000001 64 320 71.16 320 80V96H192V80C192 71.16 184.84 64 176 64H144C135.16 64 128 71.16 128 80V96H0V0C0 -17.67 14.33 -32 32 -32H480C497.67 -32 512 -17.67 512 0V96H384V80z" /> + <glyph glyph-name="tooth" + unicode="" + horiz-adv-x="448" d=" M443.98 351.75C432.9700000000001 396.9700000000001 396.87 433.81 351.9700000000001 445.4700000000001C319.7800000000001 453.83 288.9700000000001 440.37 262.8300000000001 421.14C259.5800000000001 418.75 255.8700000000001 417.4100000000001 252.3300000000001 415.66L280.6500000000001 397.45C288.0700000000001 392.68 290.23 382.78 285.4500000000001 375.3400000000001C280.9900000000001 368.39 271.1800000000001 365.48 263.3400000000001 370.54L162.83 435.1600000000001C142.13 446.01 119.45 451.56 96.02 445.4700000000001C51.12 433.8 15.02 396.9700000000001 4.01 351.75C-6.12 310.13 3.59 270.94 25.51 241.32C48.87 209.75 58.19 172.66 61.8 133.97C66.2 86.8100000000001 72.13 39.8100000000001 82.74 -6.35L90.54 -40.3C93.73 -54.17 106.03 -63.9999999999999 120.21 -63.9999999999999C134.18 -63.9999999999999 146.36 -54.4499999999999 149.75 -40.8399999999999L184.22 97.58C188.78 115.9 205.18 128.7400000000001 223.98 128.7400000000001S259.18 115.8900000000001 263.74 97.58L298.2100000000001 -40.8399999999999C301.6 -54.4499999999999 313.7800000000001 -63.9999999999999 327.7500000000001 -63.9999999999999C341.9300000000001 -63.9999999999999 354.2300000000001 -54.17 357.4200000000001 -40.3L365.2200000000001 -6.35C375.8300000000001 39.8 381.7500000000001 86.8100000000001 386.1600000000001 133.97C389.7700000000001 172.67 399.0900000000001 209.75 422.4500000000001 241.32C444.4000000000001 270.93 454.1100000000001 310.12 443.9800000000002 351.75z" /> + <glyph glyph-name="torah" + unicode="" + horiz-adv-x="448" d=" M448 89.6V422.4C448 438.4 438.4 448 422.4 448H96C41.6 448 0 406.4 0 352V32C0 -22.4 41.6 -64 96 -64H422.4C435.2 -64 448 -54.4 448 -38.4V-22.4C448 -16 444.8 -9.6 438.4 -3.2C435.2 12.8 435.2 57.6 438.4 70.4C444.8 73.6 448 80 448 89.6zM139.11 306.79C136.34 311.2 139.51 316.93 144.71 316.93H197.79C198.69 316.93 199.52 317.39 200 318.15L234.4000000000001 372.91C237.0000000000001 377.04 243.0100000000001 377.04 245.6100000000001 372.91L280.0100000000001 318.15A2.61 2.61 0 0 1 282.2200000000001 316.93H335.3C340.5 316.93 343.67 311.2000000000001 340.9000000000001 306.79L314.01 264L340.89 221.21C343.66 216.81 340.49 211.08 335.29 211.08H282.21C281.31 211.08 280.48 210.62 280 209.86L245.6 155.1C243 150.97 236.99 150.97 234.39 155.1L200 209.85A2.61 2.61 0 0 1 197.79 211.07H144.71C139.51 211.07 136.34 216.8 139.11 221.2L165.99 264L139.11 306.79zM380.8 0H96C76.8 0 64 12.8 64 32S80 64 96 64H380.8V0z" /> + <glyph glyph-name="torii-gate" + unicode="" + horiz-adv-x="512" d=" M376.45 416H135.55A303.17 303.17 0 0 0 0 448V352C0 334.33 14.33 320 32 320H64V256H16C7.16 256 0 248.84 0 240V208C0 199.16 7.16 192 16 192H64V-48C64 -56.84 71.16 -64 80 -64H112C120.84 -64 128 -56.84 128 -48V192H384V-48C384 -56.84 391.1600000000001 -64 400 -64H432C440.84 -64 448 -56.84 448 -48V192H496C504.84 192 512 199.16 512 208V240C512 248.84 504.84 256 496 256H448V320H480C497.67 320 512 334.33 512 352V448A303.17 303.17 0 0 0 376.45 416zM128 320H224V256H128V320zM384 256H288V320H384V256z" /> + <glyph glyph-name="trademark" + unicode="" + horiz-adv-x="640" d=" M97.119 284.867H12C5.373 284.867 0 290.24 0 296.867V340C0 346.627 5.373 352 12 352H260.559C267.186 352 272.559 346.627 272.559 340V296.867C272.559 290.24 267.186 284.867 260.559 284.867H175.44V44C175.44 37.373 170.067 32 163.44 32H109.118C102.491 32 97.118 37.373 97.118 44V284.867zM329.825 352H395.25A12 12 0 0 0 406.596 343.907L450.355 216.839C457.516 196.251 466.466 164.027 466.466 164.027H467.362S476.312 196.251 483.473 216.839L527.231 343.907A12 12 0 0 0 538.577 352H603.987A12 12 0 0 0 615.948 340.9700000000001L639.96 44.97C640.527 37.983 635.009 32 627.999 32H573.898A12 12 0 0 0 561.926 43.182L552.844 176.112C551.0540000000001 200.28 552.844 229.8180000000001 552.844 229.8180000000001H551.9480000000001S541.2070000000001 196.2520000000001 534.046 176.112L503.3460000000001 91.381A12 12 0 0 0 492.0640000000001 83.4690000000001H441.7620000000001A12 12 0 0 0 430.4800000000001 91.381L399.7800000000001 176.112C392.6190000000001 196.252 381.8770000000001 229.8180000000001 381.8770000000001 229.8180000000001H380.9820000000001S382.7720000000001 200.28 380.9820000000001 176.112L371.9000000000001 43.182C371.4720000000001 36.887 366.2400000000001 32 359.9300000000001 32H305.4C298.383 32 292.864 37.994 293.441 44.987L317.866 340.987A11.999000000000002 11.999000000000002 0 0 0 329.825 352z" /> + <glyph glyph-name="traffic-light" + unicode="" + horiz-adv-x="384" d=" M384 256H320V293.88C357.2 307.1 384 342.26 384 384H320V416C320 433.67 305.67 448 288 448H96C78.33 448 64 433.67 64 416V384H0C0 342.26 26.8 307.1 64 293.88V256H0C0 214.26 26.8 179.1 64 165.88V128H0C0 85.16 28.25 49.31 66.99 36.95C79.42 -20.72 130.6 -64 192 -64S304.58 -20.72 317.01 36.95C355.75 49.31 384 85.16 384 128H320V165.88C357.2 179.1 384 214.26 384 256zM192 32C165.49 32 144 53.49 144 80S165.49 128 192 128S240 106.51 240 80S218.51 32 192 32zM192 160C165.49 160 144 181.49 144 208S165.49 256 192 256S240 234.51 240 208S218.51 160 192 160zM192 288C165.49 288 144 309.49 144 336S165.49 384 192 384S240 362.51 240 336S218.51 288 192 288z" /> + <glyph glyph-name="train" + unicode="" + horiz-adv-x="448" d=" M448 352V96C448 44.185 386.376 0 317.978 0L380.9580000000001 -49.721C386.905 -54.417 383.562 -64 376 -64H72C64.422 -64 61.108 -54.406 67.043 -49.721L130.022 0C61.82 0 0 44.046 0 96V352C0 405.019 64 448 128 448H320C385 448 448 405.019 448 352zM400 216V328C400 341.255 389.255 352 376 352H72C58.745 352 48 341.255 48 328V216C48 202.745 58.745 192 72 192H376C389.255 192 400 202.745 400 216zM224 152C193.072 152 168 126.928 168 96S193.072 40 224 40S280 65.072 280 96S254.928 152 224 152z" /> + <glyph glyph-name="transgender-alt" + unicode="" + horiz-adv-x="480" d=" M468 448H389C378.3 448 373 435.1 380.5 427.5L397.4 410.6L316.7 329.9C294.5 343.9 268.2 352 240 352C211.8 352 185.5 343.9 163.3 329.9L146.8 346.4L166.6 366.2C171.3 370.9 171.3 378.5 166.6 383.2L138.3 411.5C133.6 416.2 126 416.2 121.3 411.5L101.5 391.7L82.5 410.7L99.4 427.6C107.1 435.1 101.7 448 91 448H12C5.4 448 0 442.6 0 436V357C0 346.3 12.9 341 20.5 348.5L37.4 365.4L56.4 346.4L36.6 326.6C31.9 321.9 31.9 314.3 36.6 309.6L64.9 281.3C69.6 276.6 77.2 276.6 81.9 281.3L101.7 301.1L118.2 284.6C104.1 262.5 96 236.2 96 208C96 139.5 143.9 82.1 208 67.6V40H172C165.4 40 160 34.6 160 28V-12C160 -18.6 165.4 -24 172 -24H208V-52C208 -58.6 213.4 -64 220 -64H260C266.6 -64 272 -58.6 272 -52V-24H308C314.6 -24 320 -18.6 320 -12V28C320 34.6 314.6 40 308 40H272V67.6C336.1 82.2000000000001 384 139.5 384 208C384 236.2 375.9 262.5 361.9 284.7000000000001L442.6 365.4000000000001L459.4999999999999 348.5000000000001C467.1 340.9000000000001 479.9999999999999 346.3000000000001 479.9999999999999 357.0000000000001V436C479.9999999999999 442.6 474.6 448 467.9999999999999 448zM240 128C195.9 128 160 163.9 160 208S195.9 288 240 288S320 252.1 320 208S284.1 128 240 128z" /> + <glyph glyph-name="transgender" + unicode="" + horiz-adv-x="384" d=" M372 448H293C282.3 448 277 435.1 284.5 427.5L301.4 410.6L220.7 329.9C198.5 343.9 172.2 352 144 352C64.5 352 0 287.5 0 208C0 139.5 47.9 82.1 112 67.6V40H76C69.4 40 64 34.6 64 28V-12C64 -18.6 69.4 -24 76 -24H112V-52C112 -58.6 117.4 -64 124 -64H164C170.6 -64 176 -58.6 176 -52V-24H212C218.6 -24 224 -18.6 224 -12V28C224 34.6 218.6 40 212 40H176V67.6C240.1 82.2000000000001 288 139.5 288 208C288 236.2 279.9 262.5 265.9 284.7000000000001L346.6 365.4000000000001L363.5 348.5000000000001C371.1 340.9000000000001 384 346.3000000000001 384 357.0000000000001V436C384 442.6 378.6 448 372 448zM144 128C99.9 128 64 163.9 64 208S99.9 288 144 288S224 252.1 224 208S188.1 128 144 128z" /> + <glyph glyph-name="trash-alt" + unicode="" + horiz-adv-x="448" d=" M0 364V392C0 405.3 10.7 416 24 416H136L145.4 434.7C149.4 442.9 157.7 448 166.8 448H281.1C290.2000000000001 448 298.5 442.9 302.6 434.7L312 416H424C437.3 416 448 405.3 448 392V364C448 357.4 442.6 352 436 352H12C5.4 352 0 357.4 0 364zM416 308V-16C416 -42.5 394.5 -64 368 -64H80C53.5 -64 32 -42.5 32 -16V308C32 314.6 37.4 320 44 320H404C410.6 320 416 314.6 416 308zM144 240C144 248.8 136.8 256 128 256S112 248.8 112 240V16C112 7.2 119.2 0 128 0S144 7.2 144 16V240zM240 240C240 248.8 232.8 256 224 256S208 248.8 208 240V16C208 7.2 215.2 0 224 0S240 7.2 240 16V240zM336 240C336 248.8 328.8 256 320 256S304 248.8 304 240V16C304 7.2 311.2 0 320 0S336 7.2 336 16V240z" /> + <glyph glyph-name="trash" + unicode="" + horiz-adv-x="448" d=" M0 364V392C0 405.3 10.7 416 24 416H136L145.4 434.7C149.4 442.9 157.7 448 166.8 448H281.1C290.2000000000001 448 298.5 442.9 302.6 434.7L312 416H424C437.3 416 448 405.3 448 392V364C448 357.4 442.6 352 436 352H12C5.4 352 0 357.4 0 364zM415.2 307.3L394.8 -19C393.2 -44.3 372.2 -64 346.9000000000001 -64H101.1C75.8 -64 54.8 -44.3 53.2 -19L32.8 307.3C32.4 314.2000000000001 37.9 320 44.8 320H403.3C410.1 320 415.6 314.2000000000001 415.2 307.3z" /> + <glyph glyph-name="tree" + unicode="" + horiz-adv-x="384" d=" M377.33 72.571L293.906 160H328C349.017 160 359.872 185.207 345.448 200.479L262.79 288H296C316.878 288 327.851 312.969 313.587 328.331L209.587 440.334C200.102 450.548 183.911 450.563 174.413 440.334L70.413 328.331C56.206 313.031 67.037 288 88 288H121.21L38.551 200.479C24.121 185.199 34.993 160 56 160H90.094L6.665 72.571C-7.869 57.345 2.925 32 24.025 32H144C144 -0.781 132.812 -17.26 110.005 -35.506C98.225 -44.93 104.914 -64 120 -64H264C279.086 -64 285.776 -44.931 273.995 -35.506C254.227 -19.6919999999999 240.003 -3.841 240 31.99V32H359.9700000000001C381.0200000000001 32 391.899 57.309 377.3300000000001 72.571z" /> + <glyph glyph-name="trophy" + unicode="" + horiz-adv-x="576" d=" M552 384H448V424C448 437.3 437.3 448 424 448H152C138.7 448 128 437.3 128 424V384H24C10.7 384 0 373.3 0 360V304C0 268.3 22.5 231.6 61.9 203.3C93.4 180.6 131.7 166.2 171.9 161.6C203.3 109.5 240 88 240 88V16H192C156.7 16 128 -4.7 128 -40V-52C128 -58.6 133.4 -64 140 -64H436C442.6 -64 448 -58.6 448 -52V-40C448 -4.7 419.3 16 384 16H336V88S372.7 109.5 404.1 161.6C444.4000000000001 166.2000000000001 482.7 180.6 514.1 203.3C553.4 231.6 576 268.3 576 304V360C576 373.3 565.3 384 552 384zM99.3 255.2C74.9 272.8 64 292.4 64 304V320H128.2C129.2 287.4 134 258.8 141 233.8C125.9 239 111.8 246.2 99.3 255.2zM512 304C512 287.9 494.3 267.9 476.7 255.2C464.2 246.2 450 239 434.9 233.8C441.9 258.8 446.7 287.4 447.7 320H512V304z" /> + <glyph glyph-name="truck-loading" + unicode="" + horiz-adv-x="640" d=" M50.2 72.4C52.5 63.9 61.3 58.8 69.8 61.1L286.2000000000001 119.1C294.7000000000001 121.4 299.8000000000001 130.2 297.5000000000001 138.7L247.8000000000001 324.2C245.5000000000001 332.7 236.7000000000001 337.8 228.2000000000001 335.5L151 314.7L175.8 222L114 205.5L89.2 298.2L11.9 277.5C3.4 275.2 -1.7 266.4 0.6 257.9L50.2 72.4zM384 448C366.3 448 352 433.7 352 416V92.4L5.9 -2C1.6 -3.2 -0.9 -7.6 0.3 -11.8L12.9 -58.1C14.1 -62.4 18.5 -64.9 22.7 -63.7L416.4 43.6999999999999C418.8 -16.1 467.6 -64 528 -64C589.9 -64 640 -13.9 640 48V448H384zM528 0C501.5 0 480 21.5 480 48S501.5 96 528 96S576 74.5 576 48S554.5 0 528 0z" /> + <glyph glyph-name="truck-monster" + unicode="" + horiz-adv-x="640" d=" M624 224H608V288C608 305.67 593.67 320 576 320H502.4L419.2200000000001 423.98A64.025 64.025 0 0 1 369.24 448H256C238.33 448 224 433.67 224 416V320H48C39.16 320 32 312.8400000000001 32 304V224H16C7.16 224 0 216.84 0 208V176C0 167.16 7.16 160 16 160H32.72C61.93 198.65 107.82 224 160 224S258.07 198.65 287.28 160H352.73C381.94 198.65 427.83 224 480.01 224S578.0799999999999 198.65 607.29 160H624C632.84 160 640 167.16 640 176V208C640 216.84 632.84 224 624 224zM288 320V384H369.24L420.44 320H288zM592 96H586.8C584.5999999999999 103.33 581.7299999999999 110.28 578.15 116.89L581.8199999999999 120.56C588.0699999999999 126.81 588.0699999999999 136.94 581.8199999999999 143.19L559.1899999999999 165.82C552.9399999999999 172.07 542.81 172.07 536.56 165.82L532.89 162.15A110.84999999999998 110.84999999999998 0 0 1 512 170.8V176C512 184.84 504.84 192 496 192H464C455.16 192 448 184.84 448 176V170.8C440.67 168.6 433.7200000000001 165.73 427.11 162.15L423.44 165.8200000000001C417.19 172.0700000000001 407.06 172.0700000000001 400.81 165.8200000000001L378.18 143.1900000000001C371.93 136.9400000000001 371.93 126.8100000000001 378.18 120.5600000000001L381.85 116.8900000000001A110.84999999999998 110.84999999999998 0 0 1 373.2 96H368C359.1600000000001 96 352 88.84 352 80V48C352 39.16 359.1600000000001 32 368 32H373.2C375.4 24.67 378.27 17.72 381.85 11.11L378.18 7.44C371.93 1.19 371.93 -8.94 378.18 -15.19L400.81 -37.82C407.06 -44.07 417.19 -44.07 423.44 -37.82L427.11 -34.15C433.72 -37.72 440.68 -40.6 448.01 -42.8V-47.9999999999999C448.01 -56.8399999999999 455.17 -63.9999999999999 464.0099999999999 -63.9999999999999H496.0099999999999C504.8499999999999 -63.9999999999999 512.01 -56.8399999999999 512.01 -47.9999999999999V-42.8C519.34 -40.6 526.29 -37.73 532.91 -34.15L536.5799999999999 -37.82C542.8299999999999 -44.07 552.9599999999999 -44.07 559.2099999999999 -37.82L581.8399999999999 -15.19C588.0899999999999 -8.94 588.0899999999999 1.19 581.8399999999999 7.44L578.17 11.11A110.84999999999998 110.84999999999998 0 0 1 586.8199999999999 32H592.02C600.86 32 608.02 39.16 608.02 48V80C608 88.84 600.84 96 592 96zM480 16C453.49 16 432 37.49 432 64S453.49 112 480 112S528 90.51 528 64S506.51 16 480 16zM272 96H266.8C264.6 103.33 261.73 110.28 258.1500000000001 116.89L261.8200000000001 120.56C268.0700000000001 126.81 268.0700000000001 136.94 261.8200000000001 143.19L239.1900000000001 165.82C232.9400000000001 172.07 222.8100000000001 172.07 216.5600000000001 165.82L212.8900000000001 162.15A110.84999999999998 110.84999999999998 0 0 1 192 170.8V176C192 184.84 184.84 192 176 192H144C135.16 192 128 184.84 128 176V170.8C120.67 168.6 113.72 165.73 107.11 162.15L103.44 165.8200000000001C97.19 172.0700000000001 87.06 172.0700000000001 80.81 165.8200000000001L58.18 143.2C51.93 136.95 51.93 126.82 58.18 120.57L61.85 116.9A110.84999999999998 110.84999999999998 0 0 1 53.2 96.01H48C39.16 96.01 32 88.85 32 80.01V48.01C32 39.17 39.16 32.01 48 32.01H53.2C55.4 24.68 58.27 17.73 61.85 11.12L58.18 7.45C51.93 1.2 51.93 -8.93 58.18 -15.18L80.81 -37.81C87.06 -44.06 97.19 -44.06 103.44 -37.81L107.11 -34.14C113.72 -37.71 120.68 -40.59 128.01 -42.79V-47.9899999999999C128.01 -56.8299999999999 135.17 -63.9899999999999 144.01 -63.9899999999999H176.01C184.85 -63.9899999999999 192.01 -56.8299999999999 192.01 -47.9899999999999V-42.79C199.34 -40.59 206.29 -37.72 212.91 -34.14L216.58 -37.81C222.83 -44.06 232.96 -44.06 239.21 -37.81L261.84 -15.18C268.09 -8.93 268.09 1.2 261.84 7.45L258.17 11.12A110.84999999999998 110.84999999999998 0 0 1 266.82 32.01H272.0199999999999C280.8599999999999 32.01 288.0199999999999 39.17 288.0199999999999 48.01V80.01C288 88.84 280.84 96 272 96zM160 16C133.49 16 112 37.49 112 64S133.49 112 160 112S208 90.51 208 64S186.51 16 160 16z" /> + <glyph glyph-name="truck-moving" + unicode="" + horiz-adv-x="640" d=" M621.3 210.7L562.8 269.2C550.8 281.2 534.5 287.9 517.5 287.9H480V384C480 401.7 465.7 416 448 416H32C14.3 416 0 401.7 0 384V48C0 3.8 35.8 -32 80 -32C106.3 -32 129.4 -19.1 144 0.4C158.6 -19.2 181.7 -32 208 -32C252.2 -32 288 3.8 288 48C288 53.5 287.4 58.8 286.4 64H449.6C448.5 58.8 448 53.5 448 48C448 3.8 483.8 -32 528 -32S608 3.8 608 48C608 53.5 607.4 58.8 606.4 64H624C632.8 64 640 71.2 640 80V165.5C640 182.5 633.3 198.7 621.3 210.7zM80 16C62.4 16 48 30.4 48 48S62.4 80 80 80S112 65.6 112 48S97.6 16 80 16zM208 16C190.4 16 176 30.4 176 48S190.4 80 208 80S240 65.6 240 48S225.6 16 208 16zM480 240H517.5C521.8 240 525.8 238.3 528.8 235.3L572.0999999999999 192H480V240zM528 16C510.4 16 496 30.4 496 48S510.4 80 528 80S560 65.6 560 48S545.6 16 528 16z" /> + <glyph glyph-name="truck-pickup" + unicode="" + horiz-adv-x="640" d=" M624 160H608V224C608 241.67 593.67 256 576 256H528L419.2200000000001 391.98A64.025 64.025 0 0 1 369.24 416H256C238.33 416 224 401.67 224 384V256H64C46.33 256 32 241.67 32 224V160H16C7.16 160 0 152.84 0 144V112C0 103.16 7.16 96 16 96H65.61C64.85 90.73 64 85.48 64 80C64 18.14 114.14 -32 176 -32S288 18.14 288 80C288 85.48 287.15 90.73 286.39 96H353.62C352.86 90.73 352.01 85.48 352.01 80C352.01 18.14 402.15 -32 464.01 -32S576.01 18.14 576.01 80C576.01 85.48 575.16 90.73 574.4 96H624C632.84 96 640 103.16 640 112V144C640 152.84 632.84 160 624 160zM288 352H369.24L446.04 256H288V352zM176 32C149.53 32 128 53.53 128 80S149.53 128 176 128S224 106.47 224 80S202.47 32 176 32zM464 32C437.53 32 416 53.53 416 80S437.53 128 464 128S512 106.47 512 80S490.47 32 464 32z" /> + <glyph glyph-name="truck" + unicode="" + horiz-adv-x="640" d=" M624 96H608V204.1C608 216.8 602.9 229 593.9 238L494 337.9C485 346.9 472.8 352 460.1 352H416V400C416 426.5 394.5 448 368 448H48C21.5 448 0 426.5 0 400V80C0 53.5 21.5 32 48 32H64C64 -21 107 -64 160 -64S256 -21 256 32H384C384 -21 427 -64 480 -64S576 -21 576 32H624C632.8 32 640 39.2 640 48V80C640 88.8 632.8 96 624 96zM160 -16C133.5 -16 112 5.5 112 32S133.5 80 160 80S208 58.5 208 32S186.5 -16 160 -16zM480 -16C453.5 -16 432 5.5 432 32S453.5 80 480 80S528 58.5 528 32S506.5 -16 480 -16zM560 192H416V304H460.1L560 204.1V192z" /> + <glyph glyph-name="tshirt" + unicode="" + horiz-adv-x="640" d=" M631.2 351.5L436.5 448C416.4 420.2 371.9 400.8 320 400.8S223.6 420.2 203.5 448L8.8 351.5C0.9 347.5 -2.3 337.9 1.6 330L58.8 215.5C62.8 207.6 72.4 204.4 80.3 208.3L136.9 236C147.5 241.2 159.9 233.5 159.9 221.6V-32C159.9 -49.7 174.2 -64 191.9 -64H447.9C465.6 -64 479.9 -49.7 479.9 -32V221.7C479.9 233.5 492.3 241.3 502.9 236.1L559.5 208.4C567.4 204.4 577 207.6 581 215.6L638.3 330C642.3 337.9 639.0999999999999 347.6 631.1999999999999 351.5z" /> + <glyph glyph-name="tty" + unicode="" + horiz-adv-x="512" d=" M5.37 344.178C143.902 482.71 368.306 482.504 506.632 344.178C512.71 338.1 513.706 328.682 509.215 321.497L466.001 252.359A18.332 18.332 0 0 0 443.6450000000001 245.054L357.2230000000001 279.623A18.335 18.335 0 0 0 345.7890000000001 298.469L351.741 358C289.596 380.454 221.105 379.986 160.258 358L166.211 298.468A18.331 18.331 0 0 0 154.777 279.622L68.354 245.0540000000001A18.334 18.334 0 0 0 45.998 252.3590000000001L2.787 321.498A18.333 18.333 0 0 0 5.37 344.178zM96 140V180C96 186.627 90.627 192 84 192H44C37.373 192 32 186.627 32 180V140C32 133.373 37.373 128 44 128H84C90.627 128 96 133.373 96 140zM192 140V180C192 186.627 186.627 192 180 192H140C133.373 192 128 186.627 128 180V140C128 133.373 133.373 128 140 128H180C186.627 128 192 133.373 192 140zM288 140V180C288 186.627 282.627 192 276 192H236C229.373 192 224 186.627 224 180V140C224 133.373 229.373 128 236 128H276C282.627 128 288 133.373 288 140zM384 140V180C384 186.627 378.627 192 372 192H332C325.373 192 320 186.627 320 180V140C320 133.373 325.373 128 332 128H372C378.627 128 384 133.373 384 140zM480 140V180C480 186.627 474.627 192 468 192H428C421.373 192 416 186.627 416 180V140C416 133.373 421.373 128 428 128H468C474.627 128 480 133.373 480 140zM144 44V84C144 90.627 138.627 96 132 96H92C85.373 96 80 90.627 80 84V44C80 37.373 85.373 32 92 32H132C138.627 32 144 37.373 144 44zM240 44V84C240 90.627 234.627 96 228 96H188C181.373 96 176 90.627 176 84V44C176 37.373 181.373 32 188 32H228C234.627 32 240 37.373 240 44zM336 44V84C336 90.627 330.627 96 324 96H284C277.373 96 272 90.627 272 84V44C272 37.373 277.373 32 284 32H324C330.627 32 336 37.373 336 44zM432 44V84C432 90.627 426.627 96 420 96H380C373.373 96 368 90.627 368 84V44C368 37.373 373.373 32 380 32H420C426.627 32 432 37.373 432 44zM96 -52V-12C96 -5.373 90.627 0 84 0H44C37.373 0 32 -5.373 32 -12V-52C32 -58.627 37.373 -64 44 -64H84C90.627 -64 96 -58.627 96 -52zM384 -52V-12C384 -5.373 378.627 0 372 0H140C133.373 0 128 -5.373 128 -12V-52C128 -58.627 133.373 -64 140 -64H372C378.627 -64 384 -58.627 384 -52zM480 -52V-12C480 -5.373 474.627 0 468 0H428C421.373 0 416 -5.373 416 -12V-52C416 -58.627 421.373 -64 428 -64H468C474.627 -64 480 -58.627 480 -52z" /> + <glyph glyph-name="tv" + unicode="" + horiz-adv-x="640" d=" M592 448H48C21.5 448 0 426.5 0 400V80C0 53.5 21.5 32 48 32H293.1V0H133.1C115.4 0 101.1 -14.3 101.1 -32S115.4 -64 133.1 -64H517.1C534.8000000000001 -64 549.1 -49.7 549.1 -32S534.8000000000001 0 517.1 0H357.1V32H592C618.5 32 640 53.5 640 80V400C640 426.5 618.5 448 592 448zM576 96H64V384H576V96z" /> + <glyph glyph-name="umbrella-beach" + unicode="" + horiz-adv-x="640" d=" M115.38 311.1L217.49 273.92C252.68 355.46 303.7 418.21 356.49 447.62C260.61 452.51 167.71 410.66 107.96 335.82C101.27 327.42 105.3 314.77 115.38 311.1zM247.63 262.94L486.11 176.11C521.87 297.49 504.81 407.77 443.48 430.0900000000001C436.0800000000001 432.79 428.35 434.0900000000001 420.3900000000001 434.0900000000001C362.3700000000001 434.08 292.12 364.92 247.6300000000001 262.94zM521.48 387.5C527.7 371.2 532.3100000000001 352.9 534.6800000000001 332.31C540.4200000000001 282.42 533.2600000000001 224.08 515.73 165.3300000000001L618.35 127.97C628.44 124.3 639.66 131.4 639.9200000000001 142.1400000000001C642.2400000000001 237.8300000000001 598.0100000000001 329.5800000000001 521.48 387.5000000000001zM560 0.02H321.06L386 178.5L325.86 200.4L252.96 0.03H16C7.16 0.03 0 -7.1300000000001 0 -15.98V-47.99C0 -56.83 7.16 -64 16 -64H560C568.84 -64 576 -56.83 576 -47.99V-15.98C576 -7.14 568.84 0.02 560 0.02z" /> + <glyph glyph-name="umbrella" + unicode="" + horiz-adv-x="576" d=" M557.011 180.369C505.579 225.586 449.439 224.067 398.444 149.638C393.146 141.7770000000001 383.538 142.473 378.708 149.638C376.225 153.2620000000001 346.49 210.446 288 210.446C242.234 210.446 217.458 179.0680000000001 197.291 149.638C192.462 142.473 182.855 141.7770000000001 177.557 149.638C126.653 223.923 70.944 226.0440000000001 18.99 180.369C8.78 172.105 -1.922 181.478 0.294 189.85C32.146 313.427 158.516 383.3880000000001 288.001 383.3880000000001C416.794 383.3880000000001 544.547 313.427 575.707 189.85C577.913 181.528 567.281 172.057 557.011 180.369zM256 186.999V32C256 14.355 241.645 0 224 0S192 14.355 192 32C192 49.673 177.673 64 160 64S128 49.673 128 32C128 -20.935 171.065 -64 224 -64S320 -20.935 320 32V186.712C298.164 197.518 274.575 196.449 256 186.999zM320 398.0060000000001V416C320 433.673 305.673 448 288 448S256 433.673 256 416V398.0130000000001A372.105 372.105 0 0 0 320 398.0060000000001z" /> + <glyph glyph-name="underline" + unicode="" + horiz-adv-x="448" d=" M224.264 59.76C132.595 59.76 67.661 110.925 67.661 211.152V384H39.37C30.533 384 23.37 391.163 23.37 400V432C23.37 440.837 30.533 448 39.37 448H176.76C185.597 448 192.76 440.837 192.76 432V400C192.76 391.163 185.597 384 176.76 384H147.947V211.152C147.947 157.453 176.261 131.708 224.264 131.708C271.23 131.708 300.06 157.142 300.06 211.673V384H271.769C262.932 384 255.769 391.163 255.769 400V432C255.769 440.837 262.932 448 271.769 448H408.637C417.474 448 424.637 440.837 424.637 432V400C424.637 391.163 417.474 384 408.637 384H380.346V211.152C380.346 111.747 315.4650000000001 59.76 224.264 59.76zM16 0H432C440.837 0 448 -7.163 448 -16V-48C448 -56.837 440.837 -64 432 -64H16C7.163 -64 0 -56.837 0 -48V-16C0 -7.163 7.163 0 16 0z" /> + <glyph glyph-name="undo-alt" + unicode="" + horiz-adv-x="512" d=" M255.545 440C189.276 439.881 129.107 413.767 84.685 371.315L48.971 407.029C33.851 422.149 8 411.4410000000001 8 390.059V256C8 242.745 18.745 232 32 232H166.059C187.441 232 198.149 257.851 183.03 272.971L141.28 314.721C172.144 343.62 212.081 359.628 254.51 359.9940000000001C346.908 360.7920000000001 424.793 286.017 423.9940000000001 190.552C423.236 99.991 349.816 24 256 24C214.873 24 176.003 38.678 145.37 65.556C140.627 69.717 133.464 69.464 129.002 65.003L89.34 25.341C84.468 20.469 84.709 12.526 89.822 7.908C133.798 -31.813 192.074 -56 256 -56C392.966 -56 503.999 55.033 504 191.998C504.001 328.807 392.354 440.245 255.545 440z" /> + <glyph glyph-name="undo" + unicode="" + horiz-adv-x="512" d=" M212.333 223.667H12C5.373 223.667 0 229.04 0 235.667V436C0 442.627 5.373 448 12 448H60C66.627 448 72 442.627 72 436V357.8880000000001C117.773 408.721 184.26 440.53 258.175 439.993C395.081 438.999 504.623 328.37 504.332 191.461C504.041 54.742 393.12 -56 256.3330000000001 -56C192.244 -56 133.8370000000001 -31.687 89.823 8.215C84.724 12.837 84.489 20.769 89.356 25.635L123.323 59.602C127.7970000000001 64.076 134.9850000000001 64.319 139.7240000000001 60.127C170.76 32.664 211.58 16 256.3330000000001 16C353.601 16 432.3330000000001 94.716 432.3330000000001 192C432.3330000000001 289.267 353.617 368 256.3330000000001 368C197.837 368 146.053 339.524 114.059 295.6670000000001H212.333C218.96 295.6670000000001 224.333 290.294 224.333 283.6670000000001V235.667C224.333 229.04 218.96 223.667 212.333 223.667z" /> + <glyph glyph-name="universal-access" + unicode="" + horiz-adv-x="512" d=" M256 400C370.953 400 464 306.971 464 192C464 77.047 370.971 -16 256 -16C141.047 -16 48 77.029 48 192C48 306.953 141.029 400 256 400M256 440C119.033 440 8 328.967 8 192S119.033 -56 256 -56S504 55.033 504 192S392.967 440 256 440zM256 384C149.961 384 64 298.039 64 192S149.961 0 256 0S448 85.961 448 192S362.039 384 256 384zM256 340C275.882 340 292 323.882 292 304S275.882 268 256 268S220 284.118 220 304S236.118 340 256 340zM373.741 241.977C345.029 235.198 318.23 229.229 291.601 226.17C292.452 125.1470000000001 303.907 103.118 316.638 70.549C320.255 61.289 315.681 50.851 306.421 47.234C297.16 43.617 286.722 48.191 283.105 57.451C274.4000000000001 79.759 266.019 98.087 260.844 136H251.158C245.991 98.149 237.624 79.792 228.896 57.451C225.281 48.196 214.846 43.615 205.581 47.234C196.321 50.8510000000001 191.747 61.29 195.364 70.549C208.077 103.09 219.549 125.09 220.401 226.1700000000001C193.772 229.2280000000001 166.973 235.1970000000001 138.26 241.9770000000001C129.66 244.0080000000001 124.334 252.6250000000001 126.365 261.226S137.012 275.1520000000001 145.614 273.1210000000001C242.3 250.2920000000001 269.897 250.338 366.389 273.1210000000001C374.988 275.1510000000001 383.6070000000001 269.827 385.6380000000001 261.226C387.6670000000001 252.6250000000001 382.341 244.0070000000001 373.7410000000001 241.9770000000001z" /> + <glyph glyph-name="university" + unicode="" + horiz-adv-x="512" d=" M496 320V304A8 8 0 0 0 488 296H464V284C464 277.373 458.627 272 452 272H60C53.373 272 48 277.373 48 284V296H24A8 8 0 0 0 16 304V320A8 8 0 0 0 20.941 327.392L252.941 415.392A7.996000000000001 7.996000000000001 0 0 0 259.0590000000001 415.392L491.059 327.392A8 8 0 0 0 496 320zM472 16H40C26.745 16 16 5.255 16 -8V-24A8 8 0 0 1 24 -32H488A8 8 0 0 1 496 -24V-8C496 5.255 485.255 16 472 16zM96 256V64H60C53.373 64 48 58.627 48 52V32H464V52C464 58.627 458.627 64 452 64H416V256H352V64H288V256H224V64H160V256H96z" /> + <glyph glyph-name="unlink" + unicode="" + horiz-adv-x="512" d=" M304.0830000000001 42.093C308.769 37.407 308.769 29.809 304.0830000000001 25.122L259.4090000000001 -19.552C200.1460000000001 -78.814 103.716 -78.818 44.448 -19.552C-14.816 39.713 -14.816 136.144 44.448 195.4080000000001L89.123 240.0830000000001C93.809 244.7690000000001 101.407 244.7690000000001 106.094 240.0830000000001L145.692 200.485C150.3780000000001 195.799 150.3780000000001 188.201 145.692 183.514L101.017 138.84C72.945 110.7670000000001 72.945 65.09 101.017 37.0170000000001C129.089 8.9450000000001 174.7670000000001 8.9440000000001 202.841 37.0170000000001L247.5150000000001 81.691C252.2010000000001 86.377 259.7990000000001 86.377 264.4860000000001 81.691L304.0830000000001 42.093zM247.5150000000001 302.3090000000001C252.2010000000001 297.6230000000001 259.7990000000001 297.6230000000001 264.4860000000001 302.3090000000001L309.1600000000001 346.9830000000001C337.2320000000001 375.0580000000001 382.9100000000001 375.0560000000001 410.9840000000001 346.9830000000001C439.0560000000001 318.9100000000001 439.0560000000001 273.2330000000001 410.9840000000001 245.1600000000001L366.3090000000001 200.486C361.6230000000001 195.8 361.6230000000001 188.202 366.3090000000001 183.5150000000001L405.9070000000001 143.917C410.593 139.2310000000001 418.1910000000001 139.2310000000001 422.8780000000001 143.917L467.5530000000001 188.5920000000001C526.8180000000001 247.8570000000001 526.8180000000001 344.2870000000001 467.5530000000001 403.552C408.2870000000001 462.816 311.8580000000001 462.816 252.5920000000001 403.552L207.918 358.8780000000001C203.232 354.192 203.232 346.5940000000001 207.918 341.9070000000001L247.5150000000001 302.3090000000001zM482.3430000000001 -56.9709999999999L504.9700000000001 -34.3439999999999C514.3430000000001 -24.9709999999999 514.3430000000001 -9.7749999999999 504.9700000000001 -0.4029999999999L63.598 440.971C54.225 450.344 39.029 450.344 29.657 440.971L7.029 418.343C-2.344 408.9700000000001 -2.344 393.774 7.029 384.402L448.402 -56.971C457.775 -66.343 472.971 -66.343 482.343 -56.971z" /> + <glyph glyph-name="unlock-alt" + unicode="" + horiz-adv-x="448" d=" M400 192H152V295.1C152 334.7 183.7 367.6 223.3 368C263.3 368.4 296 335.9 296 296V280C296 266.7 306.7 256 320 256H352C365.3 256 376 266.7 376 280V296C376 380 307.5 448.3 223.5 448C139.5 447.7 72 378.5 72 294.5V192H48C21.5 192 0 170.5 0 144V-16C0 -42.5 21.5 -64 48 -64H400C426.5 -64 448 -42.5 448 -16V144C448 170.5 426.5 192 400 192zM264 40C264 17.9 246.1 0 224 0S184 17.9 184 40V88C184 110.1 201.9 128 224 128S264 110.1 264 88V40z" /> + <glyph glyph-name="unlock" + unicode="" + horiz-adv-x="448" d=" M400 192H152V295.1C152 334.7 183.7 367.6 223.3 368C263.3 368.4 296 335.9 296 296V280C296 266.7 306.7 256 320 256H352C365.3 256 376 266.7 376 280V296C376 380 307.5 448.3 223.5 448C139.5 447.7 72 378.5 72 294.5V192H48C21.5 192 0 170.5 0 144V-16C0 -42.5 21.5 -64 48 -64H400C426.5 -64 448 -42.5 448 -16V144C448 170.5 426.5 192 400 192z" /> + <glyph glyph-name="upload" + unicode="" + horiz-adv-x="512" d=" M296 64H216C202.7 64 192 74.7 192 88V256H104.3C86.5 256 77.6 277.5 90.2 290.1L242.3 442.3C249.8 449.8 262.1 449.8 269.6 442.3L421.8 290.1C434.4000000000001 277.5 425.5 256 407.7 256H320V88C320 74.7 309.3 64 296 64zM512 72V-40C512 -53.3 501.3 -64 488 -64H24C10.7 -64 0 -53.3 0 -40V72C0 85.3 10.7 96 24 96H160V88C160 57.1 185.1 32 216 32H296C326.9 32 352 57.1 352 88V96H488C501.3 96 512 85.3 512 72zM388 -16C388 -5 379 4 368 4S348 -5 348 -16S357 -36 368 -36S388 -27 388 -16zM452 -16C452 -5 443 4 432 4S412 -5 412 -16S421 -36 432 -36S452 -27 452 -16z" /> + <glyph glyph-name="user-alt-slash" + unicode="" + horiz-adv-x="640" d=" M633.8 -10.1L389.6 178.7C433.8 203.3 464 249.9 464 304C464 383.5 399.5 448 320 448C252.9 448 197 401.9 181 339.8L45.5 444.6C38.5 450 28.5 448.8 23 441.8L3.4 416.6C-2 409.6 -0.8 399.6 6.2 394.2L594.6 -60.5C601.6 -65.9 611.6 -64.7 617.1 -57.7L636.7 -32.4C642.1 -25.6 640.8000000000001 -15.5 633.8000000000001 -10.1zM198.4 128C124.2 128 64 67.8 64 -6.4V-16C64 -42.5 85.5 -64 112 -64H494.2L245.8 128H198.4z" /> + <glyph glyph-name="user-alt" + unicode="" + horiz-adv-x="512" d=" M256 160C335.5 160 400 224.5 400 304S335.5 448 256 448S112 383.5 112 304S176.5 160 256 160zM384 128H328.9C306.7 117.8 282 112 256 112S205.4 117.8 183.1 128H128C57.3 128 0 70.7 0 0V-16C0 -42.5 21.5 -64 48 -64H464C490.5 -64 512 -42.5 512 -16V0C512 70.7 454.7 128 384 128z" /> + <glyph glyph-name="user-astronaut" + unicode="" + horiz-adv-x="448" d=" M64 224H77.5C102.2 167.5 158.4 128 224 128S345.8 167.5 370.5 224H384C392.8 224 400 231.2 400 240V336C400 344.8 392.8 352 384 352H370.5C345.8 408.5 289.6 448 224 448S102.2 408.5 77.5 352H64C55.2 352 48 344.8 48 336V240C48 231.2 55.2 224 64 224zM104 312C104 334.1 125.5 352 152 352H296C322.5 352 344 334.1 344 312V288C344 235 301 192 248 192H200C147 192 104 235 104 288V312zM176 240L188 276L224 288L188 300L176 336L164 300L128 288L164 276L176 240zM327.6 126.6C297.7 107.3 262.2 96 224 96S150.3 107.3 120.4 126.6C52.9 119.5 0 63 0 -6.4V-16C0 -42.5 21.5 -64 48 -64H128V0C128 17.7 142.3 32 160 32H288C305.7 32 320 17.7 320 0V-64H400C426.5 -64 448 -42.5 448 -16V-6.4C448 63 395.1 119.5 327.6 126.6zM272 0C263.2 0 256 -7.2 256 -16S263.2 -32 272 -32S288 -24.8 288 -16S280.8 0 272 0zM176 0C167.2 0 160 -7.2 160 -16V-64H192V-16C192 -7.2 184.8 0 176 0z" /> + <glyph glyph-name="user-check" + unicode="" + horiz-adv-x="640" d=" M224 192C294.7 192 352 249.3 352 320S294.7 448 224 448S96 390.7 96 320S153.3 192 224 192zM313.6 160H296.9000000000001C274.7000000000001 149.8 250.0000000000001 144 224 144S173.4 149.8 151.1 160H134.4C60.2 160 0 99.8 0 25.6V-16C0 -42.5 21.5 -64 48 -64H400C426.5 -64 448 -42.5 448 -16V25.6C448 99.8 387.8 160 313.6 160zM636.6 288.4L608.8000000000001 316.5C604.2 321.2 596.7 321.2 592.0000000000001 316.6L487.2000000000001 212.6L441.7000000000001 258.4C437.1000000000001 263.1 429.6000000000001 263.1 424.9000000000001 258.5L396.8000000000001 230.6C392.1000000000001 226 392.1000000000001 218.5 396.7000000000001 213.8L478.4 131.5C483.0000000000001 126.8 490.5000000000001 126.8 495.2 131.3999999999999L636.5 271.5999999999999C641.1 276.2999999999999 641.2 283.7999999999999 636.6 288.3999999999999z" /> + <glyph glyph-name="user-circle" + unicode="" + horiz-adv-x="496" d=" M248 440C111 440 0 329 0 192S111 -56 248 -56S496 55 496 192S385 440 248 440zM248 344C296.6 344 336 304.6 336 256S296.6 168 248 168S160 207.4 160 256S199.4 344 248 344zM248 0C189.3 0 136.7 26.6 101.5 68.2C120.3 103.6 157.1 128 200 128C202.4 128 204.8 127.6 207.1 126.9C220.1 122.7 233.7 120 248 120C262.3 120 276 122.7 288.9 126.9C291.2 127.6 293.6 128 296 128C338.9 128 375.7 103.6 394.5 68.2C359.3 26.6 306.7 0 248 0z" /> + <glyph glyph-name="user-clock" + unicode="" + horiz-adv-x="640" d=" M496 224C416.4 224 352 159.6 352 80S416.4 -64 496 -64S640 0.4 640 80S575.6 224 496 224zM560 73.7C560 68.4 555.6 64 550.3 64H489.6999999999999C484.3999999999999 64 479.9999999999999 68.4 479.9999999999999 73.7V150.3C479.9999999999999 155.6 484.3999999999999 160 489.6999999999999 160H502.3C507.6 160 511.9999999999999 155.6 511.9999999999999 150.3V96H550.3C555.5999999999999 96 560 91.6 560 86.3V73.7zM320 80C320 107.8 326.7 134.1 338.2 157.5C330.2 159 322 160 313.6 160H296.9C274.7 149.8 250 144 224 144S173.4 149.8 151.1 160H134.4C60.2 160 0 99.8 0 25.6V-16C0 -42.5 21.5 -64 48 -64H395.1C349.8 -32.1 320 20.5 320 80zM224 192C294.7 192 352 249.3 352 320S294.7 448 224 448S96 390.7 96 320S153.3 192 224 192z" /> + <glyph glyph-name="user-cog" + unicode="" + horiz-adv-x="640" d=" M610.5 74.7C613.1 88.8 613.1 103.2 610.5 117.3L636.3 132.2C639.3 133.9 640.5999999999999 137.4 639.5999999999999 140.7C632.8999999999999 162.3 621.3999999999999 181.9 606.3999999999999 198.1C604.0999999999999 200.6 600.3999999999999 201.2 597.3999999999999 199.5L571.5999999999999 184.6C560.6999999999999 193.9 548.1999999999999 201.1 534.6999999999999 205.9V235.7000000000001C534.6999999999999 239.1000000000001 532.3 242.1000000000001 528.9999999999999 242.8000000000001C506.6999999999999 247.8000000000001 483.9999999999999 247.6000000000001 462.7999999999999 242.8000000000001C459.4999999999999 242.1000000000001 457.0999999999999 239.1000000000001 457.0999999999999 235.7000000000001V205.9C443.5999999999999 201.1 431.0999999999999 193.9 420.2 184.6L394.3999999999999 199.5C391.5 201.2 387.7 200.6 385.3999999999999 198.1C370.3999999999999 181.9 358.8999999999999 162.3 352.2 140.7000000000001C351.2 137.4 352.5999999999999 133.9 355.5 132.2000000000001L381.3 117.3000000000001C378.7 103.2000000000001 378.7 88.8000000000001 381.3 74.7000000000001L355.5 59.8000000000001C352.5 58.1000000000001 351.2 54.6000000000001 352.2 51.3000000000001C358.8999999999999 29.7 370.3999999999999 10.2 385.3999999999999 -6.0999999999999C387.7 -8.5999999999999 391.3999999999999 -9.1999999999999 394.3999999999999 -7.4999999999999L420.2 7.4000000000001C431.0999999999999 -1.8999999999999 443.5999999999999 -9.0999999999999 457.0999999999999 -13.8999999999999V-43.6999999999999C457.0999999999999 -47.0999999999999 459.4999999999999 -50.0999999999999 462.7999999999999 -50.8C485.0999999999999 -55.8 507.7999999999999 -55.6 528.9999999999999 -50.8C532.2999999999998 -50.1 534.6999999999999 -47.1 534.6999999999999 -43.6999999999999V-13.8999999999999C548.1999999999999 -9.0999999999999 560.6999999999999 -1.8999999999999 571.5999999999999 7.4000000000001L597.3999999999999 -7.4999999999999C600.2999999999998 -9.1999999999999 604.0999999999999 -8.5999999999999 606.3999999999999 -6.0999999999999C621.3999999999999 10.1000000000001 632.8999999999999 29.7000000000001 639.5999999999999 51.3000000000001C640.5999999999999 54.6000000000001 639.1999999999999 58.1000000000001 636.3 59.8000000000001L610.5 74.7000000000001zM496 47.5C469.2 47.5 447.5 69.3 447.5 96S469.3 144.5 496 144.5S544.5 122.7 544.5 96S522.8 47.5 496 47.5zM224 192C294.7 192 352 249.3 352 320S294.7 448 224 448S96 390.7 96 320S153.3 192 224 192zM425.2 -34.5C422.9 -33.3 420.6 -31.9 418.4 -30.6L410.5 -35.2C404.5 -38.6 397.7 -40.5000000000001 390.9 -40.5000000000001C380 -40.5000000000001 369.5 -35.9 362 -27.9C343.7 -8.1 329.7 15.9999999999999 321.8 41.6999999999999C316.3 59.3999999999999 323.7 78.0999999999999 339.7 87.3999999999999L347.6 91.9999999999999C347.5 94.6 347.5 97.1999999999999 347.6 99.8L339.7 104.4C323.7 113.6 316.3 132.4 321.8 150.1C322.7 153 324 155.9 325 158.8C321.2 159.1 317.5 160 313.6 160H296.9000000000001C274.7000000000001 149.8 250.0000000000001 144 224 144S173.4 149.8 151.1 160H134.4C60.2 160 0 99.8 0 25.6V-16C0 -42.5 21.5 -64 48 -64H400C410.1 -64 419.5 -60.8 427.2 -55.5C426 -51.7 425.2 -47.8 425.2 -43.7V-34.5z" /> + <glyph glyph-name="user-edit" + unicode="" + horiz-adv-x="640" d=" M224 192C294.7 192 352 249.3 352 320S294.7 448 224 448S96 390.7 96 320S153.3 192 224 192zM313.6 160H296.9000000000001C274.7000000000001 149.8 250.0000000000001 144 224 144S173.4 149.8 151.1 160H134.4C60.2 160 0 99.8 0 25.6V-16C0 -42.5 21.5 -64 48 -64H322.9C320.5 -57.2 319.5 -50 320.3 -42.7L327.1 18.2L328.3 29.3L336.2 37.2L413.5 114.5C389 142.2 353.5 160 313.5999999999999 160zM358.9000000000001 14.7L352.1 -46.3C351 -56.5 359.6 -65.1 369.7000000000001 -63.9L430.6 -57.1L568.5 80.8L496.8 152.5L358.9 14.6999999999999zM633 179.1L595.1 217C585.8000000000001 226.3 570.6 226.3 561.3000000000001 217L523.5000000000001 179.2L519.4000000000001 175.1L591.2 103.4L633 145.2C642.3 154.6 642.3 169.7 633 179.1z" /> + <glyph glyph-name="user-friends" + unicode="" + horiz-adv-x="640" d=" M192 192C253.9 192 304 242.1 304 304S253.9 416 192 416S80 365.9 80 304S130.1 192 192 192zM268.8 160H260.5C239.7 150 216.6 144 192 144S144.4 150 123.5 160H115.2C51.6 160 0 108.4 0 44.8V16C0 -10.5 21.5 -32 48 -32H336C362.5 -32 384 -10.5 384 16V44.8C384 108.4 332.4 160 268.8 160zM480 192C533 192 576 235 576 288S533 384 480 384S384 341 384 288S427 192 480 192zM528 160H524.2C510.3000000000001 155.2 495.6 152 480.0000000000001 152S449.7000000000001 155.2 435.8000000000001 160H432C411.6 160 392.8 154.1 376.3 144.6C400.7 118.3 416 83.4 416 44.8V6.4C416 4.2 415.5 2.1 415.4 1e-13H592C618.5 1e-13 640 21.5000000000001 640 48.0000000000001C640 109.9 589.9 160.0000000000001 528 160.0000000000001z" /> + <glyph glyph-name="user-graduate" + unicode="" + horiz-adv-x="448" d=" M319.4 127.4L224 32L128.6 127.4C57.1 124.3 0 65.8 0 -6.4V-16C0 -42.5 21.5 -64 48 -64H400C426.5 -64 448 -42.5 448 -16V-6.4C448 65.8 390.9 124.3 319.4 127.4zM13.6 368.2L20 366.7V308.3C13 304.1 8 296.8 8 288C8 279.6 12.6 272.6 19.1 268.3L3.5 206C1.8 199.1 5.6 192 11.1 192H52.9C58.4 192 62.2 199.1 60.5 206L44.9 268.3C51.4 272.6 56 279.6 56 288C56 296.8 51 304.1 44 308.3V360.9L110 345C101.4 327.8 96 308.6 96 288C96 217.3 153.3 160 224 160S352 217.3 352 288C352 308.6 346.7 327.8 338 345L434.3 368.2C452.5 372.6 452.5 395.3 434.3 399.7L243.9 445.7C230.9 448.8 217.2 448.8 204.2 445.7L13.6 399.8C-4.5 395.4 -4.5 372.6 13.6 368.2z" /> + <glyph glyph-name="user-lock" + unicode="" + horiz-adv-x="640" d=" M320 128C320 139.1 323.1 149.4 328.1 158.5C323.3 159 318.6 160 313.6 160H296.9000000000001C274.7000000000001 149.8 250.0000000000001 144 224 144S173.4 149.8 151.1 160H134.4C60.2 160 0 99.8 0 25.6V-16C0 -42.5 21.5 -64 48 -64H328.9C323.4 -54.5 320 -43.7 320 -32V128zM224 192C294.7 192 352 249.3 352 320S294.7 448 224 448S96 390.7 96 320S153.3 192 224 192zM608 160H576V208C576 252.2 540.2 288 496 288S416 252.2 416 208V160H384C366.3 160 352 145.7 352 128V-32C352 -49.7 366.3 -64 384 -64H608C625.7 -64 640 -49.7 640 -32V128C640 145.7 625.7 160 608 160zM528 160H464V208C464 225.6 478.4 240 496 240S528 225.6 528 208V160z" /> + <glyph glyph-name="user-md" + unicode="" + horiz-adv-x="448" d=" M224 192C294.7 192 352 249.3 352 320S294.7 448 224 448S96 390.7 96 320S153.3 192 224 192zM104 24C104 10.7 114.7 0 128 0S152 10.7 152 24S141.3 48 128 48S104 37.3 104 24zM320 159.4V110.4C356.5 103 384 70.6 384 32V-9.7C384 -17.3 378.6 -23.9 371.1 -25.4L338.9000000000001 -31.8C334.6 -32.6999999999999 330.4000000000001 -29.9 329.5000000000001 -25.4999999999999L326.4000000000001 -9.8C325.5000000000001 -5.4999999999999 328.3 -1.1999999999999 332.7000000000001 -0.4L352.0000000000001 3.5V32C352.0000000000001 94.8 256.0000000000001 97.1 256.0000000000001 30.1V3.4L275.3000000000001 -0.4999999999999C279.6000000000001 -1.3999999999999 282.4000000000001 -5.6 281.6000000000001 -9.8999999999999L278.5000000000001 -25.5999999999999C277.6000000000001 -29.8999999999999 273.4000000000001 -32.6999999999999 269.1000000000001 -31.8999999999999L237.9000000000001 -27.6999999999999C230.0000000000001 -26.5999999999999 224.1000000000001 -19.8999999999999 224.1000000000001 -11.8V32C224.1000000000001 70.6 251.6000000000001 102.9 288.1000000000001 110.4V155.6C285.9000000000001 154.9 283.7000000000001 154.5 281.5000000000001 153.7C263.5000000000001 147.4 244.2000000000001 143.9 224.1000000000001 143.9S184.7000000000001 147.4 166.7000000000001 153.7C159.3000000000001 156.3 151.8000000000001 157.9 144.1000000000001 158.9V77.3C167.2000000000001 70.4 184.1000000000001 49.1999999999999 184.1000000000001 23.9C184.1000000000001 -7 159.0000000000001 -32.1 128.1000000000001 -32.1S72.1000000000001 -7 72.1000000000001 23.9C72.1000000000001 49.2 89.0000000000001 70.4 112.1000000000001 77.3V157.6999999999999C48.5 147 0 92.2 0 25.6V-19.2C0 -43.9 20.1 -64 44.8 -64H403.2C427.9 -64 448 -43.9 448 -19.2V25.6C448 97.6 391.2 155.9 320 159.4z" /> + <glyph glyph-name="user-minus" + unicode="" + horiz-adv-x="640" d=" M624 240H432C423.2 240 416 232.8 416 224V192C416 183.2 423.2 176 432 176H624C632.8 176 640 183.2 640 192V224C640 232.8 632.8 240 624 240zM224 192C294.7 192 352 249.3 352 320S294.7 448 224 448S96 390.7 96 320S153.3 192 224 192zM313.6 160H296.9000000000001C274.7000000000001 149.8 250.0000000000001 144 224 144S173.4 149.8 151.1 160H134.4C60.2 160 0 99.8 0 25.6V-16C0 -42.5 21.5 -64 48 -64H400C426.5 -64 448 -42.5 448 -16V25.6C448 99.8 387.8 160 313.6 160z" /> + <glyph glyph-name="user-ninja" + unicode="" + horiz-adv-x="448" d=" M325.4 158.8L224 57.4L122.6 158.8C54 152.7 0 95.8 0 25.6V-16C0 -42.5 21.5 -64 48 -64H400C426.5 -64 448 -42.5 448 -16V25.6C448 95.8 394 152.7000000000001 325.4 158.8zM32 256C59.3 256 83.8 267.5 101.2 285.7C116.3 231.8 165.2 192 224 192C294.7 192 352 249.3 352 320S294.7 448 224 448C173.6 448 130.4 418.6 109.5 376.2C92.1 400.2 64 416 32 416C32 382.6 49.1 353.2 75.1 336C49.1 318.8 32 289.4 32 256zM176 352H272C289.7 352 304 337.7 304 320H144C144 337.7 158.3 352 176 352z" /> + <glyph glyph-name="user-plus" + unicode="" + horiz-adv-x="640" d=" M624 240H560V304C560 312.8 552.8 320 544 320H512C503.2 320 496 312.8 496 304V240H432C423.2 240 416 232.8 416 224V192C416 183.2 423.2 176 432 176H496V112C496 103.2 503.2 96 512 96H544C552.8 96 560 103.2 560 112V176H624C632.8 176 640 183.2 640 192V224C640 232.8 632.8 240 624 240zM224 192C294.7 192 352 249.3 352 320S294.7 448 224 448S96 390.7 96 320S153.3 192 224 192zM313.6 160H296.9000000000001C274.7000000000001 149.8 250.0000000000001 144 224 144S173.4 149.8 151.1 160H134.4C60.2 160 0 99.8 0 25.6V-16C0 -42.5 21.5 -64 48 -64H400C426.5 -64 448 -42.5 448 -16V25.6C448 99.8 387.8 160 313.6 160z" /> + <glyph glyph-name="user-secret" + unicode="" + horiz-adv-x="448" d=" M383.9 139.7L407.8 202.3C411.8 212.8 404.1 224 392.8 224H334.3C345.3 242.9 352.1 264.6 352.1 288V288.3C391.3 296.1 416.1 307.4 416.1 320C416.1 333.3 388.8 345.1 346 353C336.8 385.8 319 418.8 305.4 435.8C295.9 447.7 279.5 451.4 265.9 444.6L238.3 430.8C229.3 426.3 218.7 426.3 209.7 430.8L182.1 444.6C168.5 451.4 152.1 447.7 142.6 435.8C129.1 418.8 111.2 385.8 102 353C59.3 345.1 32 333.3 32 320C32 307.4 56.8 296.1 96 288.3V288C96 264.6 102.8 242.9 113.8 224H56.3C44.8 224 37.1 212.3 41.6 201.7L67.4 141.5C27.3 118.2 0 75.3 0 25.6V-19.2C0 -43.9 20.1 -64 44.8 -64H403.2C427.9 -64 448 -43.9 448 -19.2V25.6C448 74 422.2 116 383.9 139.7000000000001zM176 -32L134.4 160L184 128L208 88L176 -32zM272 -32L240 88L264 128L313.6 160L272 -32zM313.7 266.5C309.8 254.6 306.7 241.9 297.2 233.1C287.1 223.8 249.2 210.7 233.2 258.1C230.4 266.5 217.8 266.5 214.9 258.1C197.9 207.9 158.9 225.7 150.9 233.1C141.4 241.9 138.2 254.6 134.4 266.5C133.6 269 128.1 272.2 128.1 272.3V283.1C156.4 279.5 189.1 277.3 224.1 277.3S291.8 279.4 320.1 283.1V272.3C320 272.2000000000001 314.5 269.1 313.7 266.5z" /> + <glyph glyph-name="user-shield" + unicode="" + horiz-adv-x="640" d=" M622.3 176.9L507.1 221.9C502.9999999999999 223.5 494.4999999999999 225.6 484.9 221.9L369.7 176.9C359 172.7 352 162.9 352 152C352 40.4 420.7 -36.8 484.9 -61.9C494.5 -65.6 502.9 -63.5 507.1 -61.9C558.4 -41.9 640 27.5 640 152C640 162.9 633 172.7 622.3 176.9zM496 -14.4V174.7L591.5 137.4C585.9 50.3 530.6 2 496 -14.4zM224 192C294.7 192 352 249.3 352 320S294.7 448 224 448S96 390.7 96 320S153.3 192 224 192zM320 152C320 154.5 320.8 156.8 321.1 159.2C318.6 159.3 316.2000000000001 160 313.6 160H296.9000000000001C274.7000000000001 149.8 250.0000000000001 144 224 144S173.4 149.8 151.1 160H134.4C60.2 160 0 99.8 0 25.6V-16C0 -42.5 21.5 -64 48 -64H400C406.8 -64 413.3 -62.5 419.2 -60C365.2 -17.1 320 56.7 320 152z" /> + <glyph glyph-name="user-slash" + unicode="" + horiz-adv-x="640" d=" M633.8 -10.1L362.3 199.7C412.1 217.3 448 264.2 448 320C448 390.7 390.7 448 320 448C252.9 448 198.5 396.2 193.1 330.6L45.5 444.6C38.5 450 28.5 448.8 23 441.8L3.4 416.6C-2 409.6 -0.8 399.6 6.2 394.2L594.6 -60.5C601.6 -65.9 611.6 -64.7 617.1 -57.7L636.7 -32.4C642.1 -25.6 640.8000000000001 -15.5 633.8000000000001 -10.1zM96 25.6V-16C96 -42.5 117.5 -64 144 -64H494.2L207.4 157.7C144.2 146.7 96 92 96 25.6z" /> + <glyph glyph-name="user-tag" + unicode="" + horiz-adv-x="640" d=" M630.6 83.1L540.3000000000001 173.3C528.3000000000001 185.3 512.0000000000001 192 495.0000000000001 192H415.7000000000001C398.0000000000001 192 383.7000000000001 177.7 383.7000000000001 160V80.8C383.7000000000001 63.8 390.4000000000001 47.6 402.4000000000001 35.6L492.7 -54.6C505.2 -67.0999999999999 525.5 -67.0999999999999 538 -54.6L630.5 37.9C643.1 50.4 643.1 70.6 630.6 83.1zM447.8 104.1C434.5 104.1 423.8 114.8 423.8 128.1S434.5 152.1 447.8 152.1S471.8 141.4 471.8 128.1C471.8 114.9 461.1 104.1 447.8 104.1zM224 192.1C294.7 192.1 352 249.4000000000001 352 320.1C352 390.7 294.7 448 224 448S96 390.7 96 320C96 249.4 153.3 192.1 224 192.1zM351.8 80.9V154C339.6 157.6 326.9000000000001 160.2 313.6 160.2H296.9000000000001C274.7000000000001 150 250.0000000000001 144.2 224 144.2S173.4 150 151.1 160.2H134.4C60.2 160.1 0 99.9 0 25.7V-15.9C0 -42.4 21.5 -63.9 48 -63.9H400C415.5 -63.9 429.1 -56.4 437.9 -45.0000000000001L379.9 12.9999999999999C361.8 31.1 351.8 55.1999999999999 351.8 80.9z" /> + <glyph glyph-name="user-tie" + unicode="" + horiz-adv-x="448" d=" M224 192C294.7 192 352 249.3 352 320S294.7 448 224 448S96 390.7 96 320S153.3 192 224 192zM319.8 159.4L272 -32L240 104L272 160H176L208 104L176 -32L128.2 159.4C56.9 156 0 97.7 0 25.6V-16C0 -42.5 21.5 -64 48 -64H400C426.5 -64 448 -42.5 448 -16V25.6C448 97.7000000000001 391.1 156 319.8 159.4z" /> + <glyph glyph-name="user-times" + unicode="" + horiz-adv-x="640" d=" M589.6 208L635.2 253.6C641.5 259.9 641.5 270.1 635.2 276.4L612.4000000000001 299.2000000000001C606.1000000000001 305.5 595.9000000000001 305.5 589.6000000000001 299.2000000000001L544 253.6L498.4 299.2C492.1 305.5 481.9 305.5 475.6 299.2L452.8 276.4C446.5 270.1 446.5 259.9 452.8 253.6L498.4 208L452.8 162.4C446.5 156.1 446.5 145.9 452.8 139.6L475.6 116.8C481.9 110.4999999999999 492.1 110.4999999999999 498.4 116.8L544 162.4L589.6 116.8C595.9 110.4999999999999 606.1 110.4999999999999 612.4 116.8L635.1999999999999 139.6C641.4999999999999 145.9 641.4999999999999 156.1 635.1999999999999 162.4L589.6 208zM224 192C294.7 192 352 249.3 352 320S294.7 448 224 448S96 390.7 96 320S153.3 192 224 192zM313.6 160H296.9000000000001C274.7000000000001 149.8 250.0000000000001 144 224 144S173.4 149.8 151.1 160H134.4C60.2 160 0 99.8 0 25.6V-16C0 -42.5 21.5 -64 48 -64H400C426.5 -64 448 -42.5 448 -16V25.6C448 99.8 387.8 160 313.6 160z" /> + <glyph glyph-name="user" + unicode="" + horiz-adv-x="448" d=" M224 192C294.7 192 352 249.3 352 320S294.7 448 224 448S96 390.7 96 320S153.3 192 224 192zM313.6 160H296.9000000000001C274.7000000000001 149.8 250.0000000000001 144 224 144S173.4 149.8 151.1 160H134.4C60.2 160 0 99.8 0 25.6V-16C0 -42.5 21.5 -64 48 -64H400C426.5 -64 448 -42.5 448 -16V25.6C448 99.8 387.8 160 313.6 160z" /> + <glyph glyph-name="users-cog" + unicode="" + horiz-adv-x="640" d=" M610.5 106.7C613.1 120.8 613.1 135.2 610.5 149.3L636.3 164.2C639.3 165.9 640.5999999999999 169.4 639.5999999999999 172.7C632.8999999999999 194.3 621.3999999999999 213.9 606.3999999999999 230.1C604.0999999999999 232.6 600.3999999999999 233.2 597.3999999999999 231.5L571.5999999999999 216.6C560.6999999999999 225.9 548.1999999999999 233.1 534.6999999999999 237.9V267.7000000000001C534.6999999999999 271.1 532.3 274.1 528.9999999999999 274.8C506.6999999999999 279.8 483.9999999999999 279.6 462.7999999999999 274.8C459.4999999999999 274.1 457.0999999999999 271.1 457.0999999999999 267.7000000000001V237.9C443.5999999999999 233.1 431.0999999999999 225.9 420.2 216.6L394.3999999999999 231.5C391.5 233.2 387.7 232.6 385.3999999999999 230.1C370.3999999999999 213.9 358.8999999999999 194.3 352.2 172.7C351.2 169.4 352.5999999999999 165.9 355.5 164.2L381.3 149.3C378.7 135.2 378.7 120.8 381.3 106.7L355.5 91.8C352.5 90.1 351.2 86.6 352.2 83.3C358.8999999999999 61.7 370.3999999999999 42.2 385.3999999999999 25.9C387.7 23.4 391.3999999999999 22.8 394.3999999999999 24.5000000000001L420.2 39.4C431.0999999999999 30.1 443.5999999999999 22.9 457.0999999999999 18.1V-11.7C457.0999999999999 -15.1 459.4999999999999 -18.1 462.7999999999999 -18.8C485.0999999999999 -23.8 507.7999999999999 -23.6 528.9999999999999 -18.8C532.2999999999998 -18.1 534.6999999999999 -15.1 534.6999999999999 -11.7V18.1C548.1999999999999 22.9 560.6999999999999 30.1 571.5999999999999 39.4L597.3999999999999 24.5000000000001C600.2999999999998 22.8000000000001 604.0999999999999 23.4 606.3999999999999 25.9C621.3999999999999 42.1 632.8999999999999 61.7000000000001 639.5999999999999 83.3C640.5999999999999 86.6 639.1999999999999 90.1 636.3 91.8L610.5 106.7zM496 79.5C469.2 79.5 447.5 101.3 447.5 128S469.3 176.5 496 176.5S544.5 154.7 544.5 128S522.8 79.5 496 79.5zM96 224C131.3 224 160 252.7 160 288S131.3 352 96 352S32 323.3 32 288S60.7 224 96 224zM320 192C321.9 192 323.7 192.5 325.6 192.6C333.9000000000001 214.3 346.1 234.7 361.9000000000001 251.8C369.3 259.8 379.8 264.4 390.8 264.4C397.7 264.4 404.5 262.6 410.4000000000001 259.1L418.3 254.5C419.1 255 419.9000000000001 255.4 420.7 255.9C427.7 270.5 431.9 286.7000000000001 431.9 303.9C431.9 365.8 381.8 415.9 319.9 415.9S208 365.9 208 304C208 242.1 258.1 192 320 192zM425.2 -2.5C422.9 -1.3 420.6 0.1 418.4 1.4C410.2 -3.4 403.1 -8.4 390.9 -8.4C380 -8.4 369.5 -3.8 362 4.2C343.7 24 329.7 48.1 321.8 73.8C311.1 108.3 346.7 123.5 347.6 124.1C347.5 126.7 347.5 129.3 347.6 131.9L339.7000000000001 136.5C335.9000000000001 138.7 332.7000000000001 141.5 329.9000000000001 144.6C326.6 144.4 323.4000000000001 144 320.1 144C295.5 144 272.5 150 251.6 160H243.3C179.6 160 128 108.4 128 44.8V16C128 -10.5 149.5 -32 176 -32H431.4C427.7 -26 425.2 -19.2 425.2 -11.7V-2.5zM173.1 173.4C161.5 184.9 145.6 192 128 192H64C28.7 192 0 163.3 0 128V96C0 78.3 14.3 64 32 64H97.9C104.2 111.4 132.8 151.3 173.1 173.4z" /> + <glyph glyph-name="users" + unicode="" + horiz-adv-x="640" d=" M96 224C131.3 224 160 252.7 160 288S131.3 352 96 352S32 323.3 32 288S60.7 224 96 224zM544 224C579.3 224 608 252.7 608 288S579.3 352 544 352S480 323.3 480 288S508.7 224 544 224zM576 192H512C494.4 192 478.5 184.9 466.9 173.4C507.2 151.3 535.8 111.4 542 64H608C625.7 64 640 78.3 640 96V128C640 163.3 611.3 192 576 192zM320 192C381.9 192 432 242.1 432 304S381.9 416 320 416S208 365.9 208 304S258.1 192 320 192zM396.8 160H388.5C367.7 150 344.6 144 320 144S272.4 150 251.5 160H243.2C179.6 160 128 108.4 128 44.8V16C128 -10.5 149.5 -32 176 -32H464C490.5 -32 512 -10.5 512 16V44.8C512 108.4 460.4 160 396.8 160zM173.1 173.4C161.5 184.9 145.6 192 128 192H64C28.7 192 0 163.3 0 128V96C0 78.3 14.3 64 32 64H97.9C104.2 111.4 132.8 151.3 173.1 173.4z" /> + <glyph glyph-name="utensil-spoon" + unicode="" + horiz-adv-x="512" d=" M480.1 416.1C425.1 471.2 315.2000000000001 450.6 252.3 387.6C203 338.3 197.2 277.6 223.5 227.2L9 34.8C-2.6 24.3 -3.1 6.3 8 -4.7L59.3 -56C70.3 -67 88.4 -66.5 98.8 -54.9L291.2 159.5C341.6 133.2 402.3 139 451.6 188.3C514.6 251.2 535.2 361.1 480.1 416.1z" /> + <glyph glyph-name="utensils" + unicode="" + horiz-adv-x="416" d=" M207.9 432.8C208.7 428.1 224 338.3 224 304C224 251.7 196.2 214.4 155.1 199.4L168 -38.7C168.7 -52.4 157.8 -64 144 -64H80C66.3 -64 55.3 -52.5 56 -38.7L68.9 199.4C27.7 214.4 0 251.8 0 304C0 338.4 15.3 428.1 16.1 432.8C19.3 453.1 61.4 453.4 64 431.7V290.5C65.3 287.1 79.1 287.3 80 290.5C81.4 315.8 87.9 429.7 88 432.3C91.3 453.1 132.7 453.1 135.9 432.3C136.1 429.6 142.5 315.8 143.9 290.5C144.8 287.3 158.7 287.1 159.9 290.5V431.7C162.5 453.3 204.7 453.1 207.9 432.8zM327.1 147.1L312.1 -38C310.9000000000001 -52 322 -64 336 -64H392C405.3 -64 416 -53.3 416 -40V424C416 437.2 405.3 448 392 448C309.5 448 170.6 269.5 327.1 147.1z" /> + <glyph glyph-name="vector-square" + unicode="" + horiz-adv-x="512" d=" M512 320V416C512 433.67 497.67 448 480 448H384C366.33 448 352 433.67 352 416H160C160 433.67 145.67 448 128 448H32C14.33 448 0 433.67 0 416V320C0 302.33 14.33 288 32 288V96C14.33 96 0 81.67 0 64V-32C0 -49.67 14.33 -64 32 -64H128C145.67 -64 160 -49.67 160 -32H352C352 -49.67 366.33 -64 384 -64H480C497.67 -64 512 -49.67 512 -32V64C512 81.67 497.67 96 480 96V288C497.67 288 512 302.3300000000001 512 320zM416 384H448V352H416V384zM64 384H96V352H64V384zM96 0H64V32H96V0zM448 0H416V32H448V0zM416 96H384C366.33 96 352 81.67 352 64V32H160V64C160 81.67 145.67 96 128 96H96V288H128C145.67 288 160 302.3300000000001 160 320V352H352V320C352 302.33 366.33 288 384 288H416V96z" /> + <glyph glyph-name="venus-double" + unicode="" + horiz-adv-x="512" d=" M288 272C288 351.5 223.5 416 144 416S0 351.5 0 272C0 203.5 47.9 146.1 112 131.6V80H76C69.4 80 64 74.6 64 68V28C64 21.4 69.4 16 76 16H112V-20C112 -26.6 117.4 -32 124 -32H164C170.6 -32 176 -26.6 176 -20V16H212C218.6 16 224 21.4 224 28V68C224 74.6 218.6 80 212 80H176V131.6C240.1 146.1 288 203.5 288 272zM64 272C64 316.1 99.9 352 144 352S224 316.1 224 272S188.1 192 144 192S64 227.9 64 272zM400 131.6V80H436C442.6 80 448 74.6 448 68V28C448 21.4 442.6 16 436 16H400V-20C400 -26.6 394.6 -32 388 -32H348C341.4 -32 336 -26.6 336 -20V16H300C293.4 16 288 21.4 288 28V68C288 74.6 293.4 80 300 80H336V131.6C314.8 136.4 295.4 145.9 278.8 158.9C292.8 175.6 303.8 194.9 310.9000000000001 216C325.4000000000001 201.2 345.6 192 368.0000000000001 192C412.1000000000001 192 448.0000000000001 227.9000000000001 448.0000000000001 272S412.1000000000001 352 368.0000000000001 352C345.7000000000001 352 325.4000000000001 342.8 310.9000000000001 328C303.8 349.1 292.9000000000001 368.4000000000001 278.8 385.1C303.4 404.4 334.3 416 368 416C447.5 416 512 351.5 512 272C512 203.5 464.1 146.1 400 131.6z" /> + <glyph glyph-name="venus-mars" + unicode="" + horiz-adv-x="576" d=" M564 448H485C474.3 448 469 435.1 476.5 427.5L493.4 410.6L444.7 361.9C422.5 375.9 396.2 384 368 384C334.3 384 303.4 372.4 278.8 353.1C292.8 336.4 303.8 317.1 310.9000000000001 296C325.4000000000001 310.8 345.6 320 368.0000000000001 320C412.1000000000001 320 448.0000000000001 284.1 448.0000000000001 240S412.1000000000001 160 368.0000000000001 160C345.7000000000001 160 325.4000000000001 169.2 310.9000000000001 184C303.8 162.9 292.9000000000001 143.6 278.8 126.9C303.3 107.5 334.3 96 368 96C447.5 96 512 160.5 512 240C512 268.2 503.9 294.5 489.9 316.7L538.6 365.4L555.5 348.5C557.9 346.1 560.9 345 563.9 345C570.1 345 576 349.8 576 357V436C576 442.6 570.6 448 564 448zM144 384C64.5 384 0 319.5 0 240C0 171.5 47.9 114.1 112 99.6V48H76C69.4 48 64 42.6 64 36V-4C64 -10.6 69.4 -16 76 -16H112V-52C112 -58.6 117.4 -64 124 -64H164C170.6 -64 176 -58.6 176 -52V-16H212C218.6 -16 224 -10.6 224 -4V36C224 42.6 218.6 48 212 48H176V99.6C240.1 114.2000000000001 288 171.5 288 240.0000000000001C288 319.5 223.5 384 144 384zM144 160C99.9 160 64 195.9 64 240S99.9 320 144 320S224 284.1 224 240S188.1 160 144 160z" /> + <glyph glyph-name="venus" + unicode="" + horiz-adv-x="288" d=" M288 272C288 351.5 223.5 416 144 416S0 351.5 0 272C0 203.5 47.9 146.1 112 131.6V80H76C69.4 80 64 74.6 64 68V28C64 21.4 69.4 16 76 16H112V-20C112 -26.6 117.4 -32 124 -32H164C170.6 -32 176 -26.6 176 -20V16H212C218.6 16 224 21.4 224 28V68C224 74.6 218.6 80 212 80H176V131.6C240.1 146.1 288 203.5 288 272zM64 272C64 316.1 99.9 352 144 352S224 316.1 224 272S188.1 192 144 192S64 227.9 64 272z" /> + <glyph glyph-name="vial" + unicode="" + horiz-adv-x="480" d=" M477.7 261.9L309.5 429.7C306.4 432.8 301.3 432.8 298.2 429.7L264.2 395.8C261.1 392.7 261.1 387.6 264.2 384.5L275.4 373.4L33 131.5C-5.8 92.8 -12.1 29.5 23.6 -12C44.2 -36 73.1 -48 102 -47.9C128.4 -47.9 154.8 -37.9 174.9 -17.8L421.2000000000001 227.9000000000001L432.4000000000001 216.8000000000001C435.5000000000001 213.7000000000001 440.6 213.7000000000001 443.7000000000001 216.8000000000001L477.7 250.7000000000001C480.8000000000001 253.7000000000001 480.8000000000001 258.8000000000001 477.7 261.9000000000001zM318 192H161L309 339.7L387.5 261.4L318 192z" /> + <glyph glyph-name="vials" + unicode="" + horiz-adv-x="640" d=" M72 384H96V144C96 99.9 131.9 64 176 64S256 99.9 256 144V384H280C284.4 384 288 387.6 288 392V440C288 444.4 284.4 448 280 448H72C67.6 448 64 444.4 64 440V392C64 387.6 67.6 384 72 384zM144 384H208V288H144V384zM624 0H16C7.2 0 0 -7.2 0 -16V-48C0 -56.8 7.2 -64 16 -64H624C632.8 -64 640 -56.8 640 -48V-16C640 -7.2 632.8 0 624 0zM360 384H384V144C384 99.9 419.9 64 464 64S544 99.9 544 144V384H568C572.4 384 576 387.6 576 392V440C576 444.4 572.4 448 568 448H360C355.6 448 352 444.4 352 440V392C352 387.6 355.6 384 360 384zM432 384H496V288H432V384z" /> + <glyph glyph-name="video-slash" + unicode="" + horiz-adv-x="640" d=" M633.8 -10.1L578.8 32.4C594.1999999999999 33.8 608 46.1 608 63.5V320.5C608 346 578.9 360.9 557.6 346.3L448 270.7V133.5L416 158.2V336.2C416 362.6 394.6 384 368.2 384H123.9L45.5 444.6C38.5 450 28.5 448.8 23 441.8L3.4 416.6C-2 409.6 -0.8 399.6 6.2 394.2L42.7 366L416 77.4L594.5 -60.6C601.5 -66 611.5 -64.8000000000001 617 -57.8L636.6 -32.5C642.1 -25.6 640.8000000000001 -15.5 633.8000000000001 -10.1zM32 47.8C32 21.4 53.4 0 79.8 0H368.2C379.4 0 389.6 4 397.8 10.5L32 293.3V47.8z" /> + <glyph glyph-name="video" + unicode="" + horiz-adv-x="576" d=" M336.2 384H47.8C21.4 384 0 362.6 0 336.2V47.8C0 21.4 21.4 0 47.8 0H336.2C362.6 0 384 21.4 384 47.8V336.2C384 362.6 362.6 384 336.2 384zM525.6 346.3L416 270.7V113.3L525.6 37.8C546.8000000000001 23.1999999999999 576 38.1 576 63.6V320.5C576 345.9 546.9 360.9 525.6 346.3z" /> + <glyph glyph-name="vihara" + unicode="" + horiz-adv-x="640" d=" M632.88 47.29L544 96V160L599.16 177.69C610.9499999999999 183.59 610.9499999999999 200.41 599.16 206.31L480 256V320L507.31 336.3C515.03 344.02 512.92 357.04 503.15 361.92L320 448L136.85 361.93C127.08 357.05 124.97 344.03 132.69 336.31L160 320V256L40.84 206.31C29.05 200.41 29.05 183.59 40.84 177.69L96 160V96L7.12 47.29C1.7 43.67 -0.58 37.66 0.12 32C0.74 26.99 3.69 22.25 8.84 19.67L64 0V-48C64 -56.84 71.16 -64 80 -64H112C120.84 -64 128 -56.84 128 -48V0H288V-48C288 -56.84 295.1600000000001 -64 304 -64H336C344.84 -64 352 -56.84 352 -48V0H512V-48C512 -56.84 519.16 -64 528 -64H560C568.84 -64 576 -56.84 576 -48V0L631.15 19.67C636.31 22.25 639.25 26.99 639.87 32C640.58 37.67 638.3 43.68 632.88 47.29zM224 320H416V256H224V320zM160 96V160H480V96H160z" /> + <glyph glyph-name="volleyball-ball" + unicode="" + horiz-adv-x="495.9" d=" M223.3 204.6C222.4 241.6 214.7 277.4 200.6 310.3C109.8 267.9 43.1 187.9 20.3 93.5C33.7 62.7 53.2 35.2 77.2 12.4C99.9 91.6 151.4 160.2 223.3 204.6zM186.4 339C171.4 365.4 151.9 389.1 129 409.7C38 359.9 -15.8 256.8 4 147.5C37.4 230.6 102.4 299.5 186.4 339zM374 173.9C382.6 273.7 346.7 371.4 276.5 438.3C261.8 440 224.9 443.8 177.6 429.8C234.9 370.5 268.6 291.6 271.1 207.1C303.6 189.4 338.4000000000001 178.1 374 173.9zM249.3 164.4C217.7 145.1 190.6 120.5 169.1 91.8C251.1 34.4999999999999 353.6 16.6999999999999 446.6 43.9999999999999C466.3 70.3999999999999 480.8 100.8 488.8 133.9C462.2 127.3 435.1 123.5 407.9 123.5C353.3 123.6 299 137.6 249.3 164.4zM151 64.7C135.8 38.7 125.3 10.3 118.9 -19.5C156.5 -42.5 200.6 -56 248 -56C309 -56 364.7 -33.9 407.9 2.6C295 -13.5 204.6 27.4 151 64.7zM331.3 425.3C386.6 354.9 413.8 264.1 405.9 171.7C436.2 171.5 466.4 176.5 495.6 185.9C495.6 187.9 495.9 189.9 495.9 191.9C495.9 299.7 427.2 391 331.3 425.3z" /> + <glyph glyph-name="volume-down" + unicode="" + horiz-adv-x="384" d=" M215.03 375.96L126.06 287H24C10.74 287 0 276.26 0 263V119C0 105.75 10.74 95 24 95H126.06L215.03 6.05C230.06 -8.98 256 1.58 256 23.02V358.98C256 380.45 230.04 390.9600000000001 215.03 375.9600000000001zM338.23 267.88C326.6500000000001 274.2100000000001 312.04 270.04 305.62 258.43C299.23 246.82 303.46 232.23 315.07 225.82C327.98 218.72 336 205.38 336 191C336 176.62 327.98 163.28 315.08 156.19C303.47 149.78 299.24 135.19 305.63 123.58C312.06 111.92 326.68 107.78 338.24 114.13C366.4700000000001 129.68 384.01 159.13 384.01 191.01S366.47 252.33 338.23 267.88z" /> + <glyph glyph-name="volume-off" + unicode="" + horiz-adv-x="257.33" d=" M216.36 376.96L127.39 288H25.33C12.07 288 1.33 277.26 1.33 264V120C1.33 106.75 12.07 96 25.33 96H127.39L216.36 7.05C231.39 -7.98 257.3300000000001 2.58 257.3300000000001 24.02V359.98C257.3300000000001 381.45 231.3700000000001 391.9600000000001 216.3600000000001 376.9600000000001z" /> + <glyph glyph-name="volume-up" + unicode="" + horiz-adv-x="576" d=" M215.03 376.95L126.06 288H24C10.74 288 0 277.26 0 264V120C0 106.75 10.74 96 24 96H126.06L215.03 7.05C230.06 -7.98 256 2.58 256 24.02V359.98C256 381.44 230.04 391.9600000000001 215.03 376.95zM448.35 428.03C437.18 435.36 422.17 432.27 414.8400000000001 421.08C407.5000000000001 409.9100000000001 410.62 394.9 421.79 387.57C488.06 344.0800000000001 527.61 270.9700000000001 527.61 191.99C527.61 113.01 488.06 39.9 421.79 -3.59C410.62 -10.91 407.5 -25.93 414.8400000000001 -37.09C421.8800000000001 -47.8 436.7700000000001 -51.65 448.35 -44.04C528.27 8.42 576 96.67 576 192S528.27 375.57 448.35 428.03zM480 192C480 255.53 447.94 313.94 394.23 348.24C383.04 355.38 368.2000000000001 352.06 361.11 340.7800000000001S357.3300000000001 314.5700000000001 368.5200000000001 307.42C408.27 282.03 432 238.89 432 192S408.27 101.97 368.52 76.58C357.33 69.44 354.02 54.51 361.11 43.22C367.62 32.86 382.23 28.08 394.23 35.76C447.94 70.06 480 128.46 480 192zM338.23 268.87C326.6500000000001 275.2000000000001 312.04 271.03 305.62 259.42C299.23 247.81 303.46 233.2200000000001 315.07 226.81C327.98 219.72 336 206.37 336 192C336 177.62 327.98 164.28 315.08 157.19C303.47 150.78 299.24 136.19 305.63 124.58C312.06 112.92 326.68 108.78 338.24 115.13C366.4700000000001 130.68 384.01 160.13 384.01 192.01S366.47 253.33 338.23 268.87z" /> + <glyph glyph-name="walking" + unicode="" + horiz-adv-x="320" d=" M208 352C234.5 352 256 373.5 256 400S234.5 448 208 448S160 426.5 160 400S181.5 352 208 352zM302.5 202.9L279.2 214.7L269.5 244.1C254.8 288.7000000000001 213.8 319.9000000000001 167.3 320C131.3 320.1 111.4 309.9000000000001 74 294.8000000000001C52.4 286.1 34.7 269.6 24.3 248.6L17.6 235C9.8 219.2 16.1 200 31.8 192.1C47.4 184.2 66.4 190.6 74.3 206.4L81 220C84.5 227 90.3 232.5 97.5 235.4L124.3 246.2L109.1 185.5C103.9 164.7 109.5 142.6 124 126.7L183.9 61.3C191.1 53.4 196.2 43.9 198.8 33.6L217.1 -39.7C221.4 -56.8000000000001 238.8 -67.3000000000001 255.9000000000001 -63.0000000000001C273.0000000000001 -58.7 283.5000000000001 -41.3000000000001 279.2000000000001 -24.2L257.0000000000001 64.8C254.4000000000001 75.1 249.3000000000001 84.6999999999999 242.1000000000001 92.4999999999999L196.6000000000001 142.1999999999999L213.8000000000001 210.8999999999999L219.3000000000001 194.3999999999999C224.6000000000001 178.2999999999999 236.0000000000001 165 251.0000000000001 157.3999999999999L274.3 145.5999999999999C289.9000000000001 137.6999999999999 308.9000000000001 144.0999999999999 316.8 159.8999999999999C324.5 175.5999999999999 318.2 194.9999999999999 302.5 202.8999999999999zM73.6 62.2C70.4 54.1 65.6 46.8 59.4 40.7L9.4 -9.4C-3.1 -21.9 -3.1 -42.2 9.4 -54.7S42.1 -67.2 54.6 -54.7L114 4.6999999999999C120.1 10.8 124.9 18.0999999999999 128.2 26.1999999999999L141.7 59.9999999999999C86.4 120.3 103 101.8 94.3 113.6999999999999L73.6 62.1999999999999z" /> + <glyph glyph-name="wallet" + unicode="" + horiz-adv-x="512" d=" M461.2 320H80C71.16 320 64 327.16 64 336S71.16 352 80 352H464C472.84 352 480 359.16 480 368C480 394.51 458.51 416 432 416H64C28.65 416 0 387.35 0 352V32C0 -3.35 28.65 -32 64 -32H461.2C489.22 -32 512 -10.47 512 16V272C512 298.4700000000001 489.22 320 461.2 320zM416 112C398.33 112 384 126.33 384 144S398.33 176 416 176S448 161.67 448 144S433.67 112 416 112z" /> + <glyph glyph-name="warehouse" + unicode="" + horiz-adv-x="640" d=" M504 96H136.4C132 96 128.4 92.4 128.4 88L128.3 40C128.3 35.6 131.9 32 136.3 32H504C508.4 32 512 35.6 512 40V88C512 92.4 508.4 96 504 96zM504 0H136.1C131.7 0 128.1 -3.6 128.1 -8L128 -56C128 -60.4 131.6 -64 136 -64H504C508.4 -64 512 -60.4 512 -56V-8C512 -3.6 508.4 0 504 0zM504 192H136.6C132.2 192 128.6 188.4 128.6 184L128.5 136C128.5 131.6 132.1 128 136.5 128H504C508.4 128 512 131.6 512 136V184C512 188.4 508.4 192 504 192zM610.5 331L338.4 444.3A48.15 48.15 0 0 1 301.5 444.3L29.5 331C11.7 323.5 0 306.1 0 286.7V-56C0 -60.4 3.6 -64 8 -64H88C92.4 -64 96 -60.4 96 -56V192C96 209.6 110.6 224 128.6 224H511.4C529.4 224 544 209.6 544 192V-56C544 -60.4 547.6 -64 552 -64H632C636.4 -64 640 -60.4 640 -56V286.7C640 306.1 628.3 323.5 610.5 331z" /> + <glyph glyph-name="weight-hanging" + unicode="" + horiz-adv-x="512" d=" M510.28 2.14L437.25 294.27C433.45 309.46 420.81 319.99 406.38 319.99H346.13C349.7 330.04 352.01 340.71 352.01 351.99C352.01 405.01 309.03 447.99 256.01 447.99S160.01 405.01 160.01 351.99C160.01 340.71 162.31 330.04 165.89 319.99H105.64C91.21 319.99 78.56 309.45 74.77 294.27L1.72 2.14C-6.61 -31.17 16.38 -64 48.03 -64H463.98C495.62 -64 518.61 -31.17 510.28 2.14zM256 320C238.36 320 224 334.36 224 352S238.36 384 256 384S288 369.64 288 352S273.64 320 256 320z" /> + <glyph glyph-name="weight" + unicode="" + horiz-adv-x="512" d=" M448 384H422.02C438.44 355.7200000000001 448 322.99 448 288C448 182.13 361.87 96 256 96S64 182.13 64 288C64 322.99 73.56 355.7200000000001 89.98 384H64C28.71 384 0 355.29 0 320V0C0 -35.29 28.71 -64 64 -64H448C483.29 -64 512 -35.29 512 0V320C512 355.29 483.29 384 448 384zM256 128C344.37 128 416 199.63 416 288S344.37 448 256 448S96 376.37 96 288S167.63 128 256 128zM255.7 279.94L289.28 358.3C292.78 366.4700000000001 302.22 370.2200000000001 310.31 366.71C318.43 363.23 322.19 353.82 318.72 345.71L285.05 267.16C291.73 260 296 250.55 296 240C296 217.91 278.09 200 256 200S216 217.91 216 240C216 261.98 233.76 279.77 255.7 279.94z" /> + <glyph glyph-name="wheelchair" + unicode="" + horiz-adv-x="512" d=" M496.101 62.331L510.328 33.668C514.257 25.753 511.025 16.152 503.11 12.223L437.645 -20.663C421.596 -28.63 402.089 -21.857 394.456 -5.608L331.679 128H192C176.075 128 162.574 139.71 160.321 155.475C126.433 392.692 128.38 377.956 128 384C128 420.358 158.318 449.635 195.052 447.929C228.3230000000001 446.384 255.1 419.024 255.9770000000001 385.728C256.8450000000001 352.795 232.8250000000001 325.305 201.369 320.689L206.039 287.999H336C344.837 287.999 352 280.836 352 271.999V239.999C352 231.162 344.837 223.999 336 223.999H215.182L219.754 191.999H352A32 32 0 0 0 380.962 173.607L438.477 51.2L474.655 69.549C482.57 73.478 492.172 70.246 496.101 62.331zM311.358 96H286.852C279.064 41.796 232.324 0 176 0C114.243 0 64 50.243 64 112C64 153.505 86.694 189.809 120.324 209.156C116.612 235.121 113.48 257.016 110.836 275.4890000000001C45.956 249.536 0 186.037 0 112C0 14.953 78.953 -64 176 -64C247.87 -64 309.8060000000001 -20.692 337.11 41.192L311.358 96z" /> + <glyph glyph-name="wifi" + unicode="" + horiz-adv-x="640" d=" M634.91 293.12C457.74 456.99 182.19 456.93 5.09 293.12C-1.57 286.9600000000001 -1.7 276.53 4.74 270.14L38.98 236.17C45.12 230.07 55 229.9400000000001 61.38 235.79C207.3 369.4700000000001 432.68 369.5 578.63 235.79C585.01 229.9400000000001 594.89 230.08 601.03 236.17L635.27 270.14C641.6999999999999 276.53 641.5699999999999 286.9600000000001 634.91 293.12zM320 96C284.65 96 256 67.35 256 32S284.65 -32 320 -32S384 -3.35 384 32S355.35 96 320 96zM522.67 179.59C407.41 281.5200000000001 232.46 281.4100000000001 117.33 179.59C110.43 173.49 110.21 162.9 116.76 156.4400000000001L151.2 122.4500000000001C157.2 116.53 166.86 116.1300000000001 173.25 121.65C257.2 194.22 382.99 194.06 466.74 121.65C473.13 116.1300000000001 482.79 116.5200000000001 488.79 122.4500000000001L523.23 156.4400000000001C529.79 162.9 529.5600000000001 173.5000000000001 522.6700000000001 179.59z" /> + <glyph glyph-name="window-close" + unicode="" + horiz-adv-x="512" d=" M464 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H464C490.5 -32 512 -10.5 512 16V368C512 394.5 490.5 416 464 416zM380.4 125.5C385.2 120.7 385.2 112.9 380.4 108.1L339.9 67.6C335.1 62.8 327.3 62.8 322.5 67.6L256 134.7L189.5 67.6C184.7 62.8 176.9 62.8 172.1 67.6L131.6 108.1C126.8 112.9 126.8 120.7000000000001 131.6 125.5L198.7 192L131.6 258.5C126.8 263.3 126.8 271.1 131.6 275.9L172.1 316.4C176.9 321.2 184.7 321.2 189.5 316.4L256 249.3L322.5 316.4C327.3 321.2 335.1 321.2 339.9 316.4L380.4 275.9C385.2 271.1 385.2 263.3 380.4 258.5L313.3 192L380.4 125.5z" /> + <glyph glyph-name="window-maximize" + unicode="" + horiz-adv-x="512" d=" M464 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H464C490.5 -32 512 -10.5 512 16V368C512 394.5 490.5 416 464 416zM448 256H64V340C64 346.6 69.4 352 76 352H436C442.6 352 448 346.6 448 340V256z" /> + <glyph glyph-name="window-minimize" + unicode="" + horiz-adv-x="512" d=" M464 96H48C21.5 96 0 74.5 0 48V16C0 -10.5 21.5 -32 48 -32H464C490.5 -32 512 -10.5 512 16V48C512 74.5 490.5 96 464 96z" /> + <glyph glyph-name="window-restore" + unicode="" + horiz-adv-x="512" d=" M512 400V112C512 85.5 490.5 64 464 64H416V272C416 316.1 380.1 352 336 352H128V400C128 426.5 149.5 448 176 448H464C490.5 448 512 426.5 512 400zM384 272V-16C384 -42.5 362.5 -64 336 -64H48C21.5 -64 0 -42.5 0 -16V272C0 298.5 21.5 320 48 320H336C362.5 320 384 298.5 384 272zM316 244C316 250.6 310.6 256 304 256H76C69.4 256 64 250.6 64 244V192H316V244z" /> + <glyph glyph-name="wine-glass-alt" + unicode="" + horiz-adv-x="288" d=" M216 -16H176V101.19C244.47 117.08 294.05 181.1 287.4 255.35L271.45 433.45C270.71 441.69 263.9 448 255.74 448H32.26C24.11 448 17.29 441.69 16.56 433.45L0.6 255.34C-6.05 181.09 43.53 117.07 112 101.18V-16H72C49.91 -16 32 -33.91 32 -56C32 -60.42 35.58 -64 40 -64H248C252.42 -64 256 -60.42 256 -56C256 -33.91 238.09 -16 216 -16zM61.75 400H226.25L233.42 320H54.58L61.75 400z" /> + <glyph glyph-name="wine-glass" + unicode="" + horiz-adv-x="288" d=" M216 -16H176V101.19C244.47 117.08 294.05 181.1 287.4 255.35L271.45 433.45C270.71 441.69 263.9 448 255.74 448H32.26C24.11 448 17.29 441.69 16.56 433.45L0.6 255.34C-6.05 181.09 43.53 117.07 112 101.18V-16H72C49.91 -16 32 -33.91 32 -56C32 -60.42 35.58 -64 40 -64H248C252.42 -64 256 -60.42 256 -56C256 -33.91 238.09 -16 216 -16z" /> + <glyph glyph-name="won-sign" + unicode="" + horiz-adv-x="576" d=" M564 256C570.627 256 576 261.373 576 268V308C576 314.627 570.627 320 564 320H515.972L534.544 400.61C536.276 408.128 530.566 415.304 522.851 415.304H476.744A11.998 11.998 0 0 1 465.008 405.804L450.73 320H340.839L321.114 405.987A12 12 0 0 1 309.418 415.304H265.43A12 12 0 0 1 253.743 406.027L233.696 320H124.975L107.5 405.701A12 12 0 0 1 95.742 415.303H53.628C45.942 415.303 40.238 408.179 41.919 400.679L60 320H12C5.373 320 0 314.627 0 308V268C0 261.373 5.373 256 12 256H74.342L81.513 224H12C5.373 224 0 218.627 0 212V172C0 165.373 5.373 160 12 160H95.856L136.783 -22.624A12 12 0 0 1 148.492 -32H205.259C210.842 -32 215.687 -28.15 216.948 -22.712L259.335 160H314.421L356.807 -22.712A12 12 0 0 1 368.496 -32H425.322A12 12 0 0 1 437.016 -22.694L479.108 160H564C570.627 160 576 165.373 576 172V212C576 218.627 570.627 224 564 224H493.854L501.227 256H564zM138.024 256H218.781L211.324 224H144.548L138.024 256zM183.82 105.971C177.626 80.14 177.062 58.721 176.499 58.721H175.373S173.684 80.771 168.615 105.971L157.599 160H196.411L183.82 105.971zM274.182 224L276.178 232.602C278.034 240.564 279.635 248.57 280.981 256H292.775C294.122 248.57 295.722 240.564 297.578 232.602L299.574 224H274.182zM405.141 105.971C400.0730000000001 80.771 398.3830000000001 58.721 398.3830000000001 58.721H397.2570000000001C396.6940000000001 58.721 396.1310000000001 80.141 389.9360000000001 105.971L377.542 160H416.649L405.141 105.971zM430.281 224H362.861L355.521 256H437.098L430.281 224z" /> + <glyph glyph-name="wrench" + unicode="" + horiz-adv-x="512" d=" M507.73 338.9C505.49 347.93 494.19 350.99 487.61 344.4100000000001L413.25 270.05L345.37 281.36L334.06 349.24L408.42 423.6C415.04 430.2200000000001 411.85 441.5 402.76 443.76C355.38 455.5 303.21 442.85 266.18 405.8300000000001C226.54 366.19 215.63 308.73 232.13 258.63L18.74 45.24C-6.25 20.25 -6.25 -20.27 18.74 -45.26C43.73 -70.25 84.25 -70.25 109.24 -45.26L322.45 167.9500000000001C372.57 151.2400000000001 429.92 162.2700000000001 469.82 202.1700000000001C506.89 239.2400000000001 519.52 291.49 507.73 338.9000000000001zM64 -24C50.75 -24 40 -13.25 40 0C40 13.26 50.75 24 64 24S88 13.26 88 0C88 -13.25 77.25 -24 64 -24z" /> + <glyph glyph-name="x-ray" + unicode="" + horiz-adv-x="640" d=" M240 64C231.2 64 224 56.8 224 48S231.2 32 240 32S256 39.2 256 48S248.8 64 240 64zM400 32C408.8 32 416 39.2 416 48S408.8 64 400 64S384 56.8 384 48S391.2 32 400 32zM624 448H16C7.2 448 0 440.8 0 432V400C0 391.2 7.2 384 16 384H624C632.8 384 640 391.2 640 400V432C640 440.8 632.8 448 624 448zM624 0H576V352H64V0H16C7.2 0 0 -7.2 0 -16V-48C0 -56.8 7.2 -64 16 -64H624C632.8 -64 640 -56.8 640 -48V-16C640 -7.2 632.8 0 624 0zM480 200C480 195.6 476.4 192 472 192H336V160H440C444.4 160 448 156.4 448 152V136C448 131.6 444.4 128 440 128H336V96H400C426.5 96 448 74.5 448 48S426.5 0 400 0S352 21.5 352 48V64H288V48C288 21.5 266.5 0 240 0S192 21.5 192 48S213.5 96 240 96H304V128H200C195.6 128 192 131.6 192 136V152C192 156.4 195.6 160 200 160H304V192H168C163.6 192 160 195.6 160 200V216C160 220.4 163.6 224 168 224H304V256H200C195.6 256 192 259.6 192 264V280C192 284.4 195.6 288 200 288H304V312C304 316.4 307.6 320 312 320H328C332.4 320 336 316.4 336 312V288H440C444.4 288 448 284.4 448 280V264C448 259.6 444.4 256 440 256H336V224H472C476.4 224 480 220.4 480 216V200z" /> + <glyph glyph-name="yen-sign" + unicode="" + horiz-adv-x="384" d=" M351.2080000000001 416H285.9310000000001A12 12 0 0 1 275.153 409.276L219.763 296.113C205.25 261.409 192.63 224.181 192.63 224.181H191.368S178.748 261.409 164.235 296.113L108.845 409.276A11.997 11.997 0 0 1 98.068 416H32.792C23.735 416 17.942 406.35 22.202 398.357L102.322 248H44C37.373 248 32 242.627 32 236V204C32 197.373 37.373 192 44 192H132.162L152 154.772V128H44C37.373 128 32 122.627 32 116V84C32 77.373 37.373 72 44 72H152V-20C152 -26.627 157.373 -32 164 -32H220C226.627 -32 232 -26.627 232 -20V72H340C346.627 72 352 77.373 352 84V116C352 122.627 346.627 128 340 128H232V154.772L251.838 192H340C346.627 192 352 197.373 352 204V236C352 242.627 346.627 248 340 248H281.678L361.798 398.357C366.058 406.35 360.266 416 351.2080000000001 416z" /> + <glyph glyph-name="yin-yang" + unicode="" + horiz-adv-x="496" d=" M248 440C111.03 440 0 328.9700000000001 0 192S111.03 -56 248 -56S496 55.03 496 192S384.9700000000001 440 248 440zM248 64C230.33 64 216 78.33 216 96S230.33 128 248 128S280 113.67 280 96S265.67 64 248 64zM248 192C194.98 192 152 149.02 152 96S194.98 0 248 0C141.96 0 56 85.96 56 192S141.96 384 248 384C301.02 384 344 341.02 344 288S301.02 192 248 192zM248 320C230.33 320 216 305.67 216 288S230.33 256 248 256S280 270.3300000000001 280 288S265.67 320 248 320z" /> + </font> +</defs> +</svg> diff --git a/assets/fonts/font-awesome/fa-solid-900.ttf b/assets/fonts/font-awesome/fa-solid-900.ttf new file mode 100644 index 0000000000000000000000000000000000000000..2a05512698c686d42e010ac9988efa86d10cdd22 Binary files /dev/null and b/assets/fonts/font-awesome/fa-solid-900.ttf differ diff --git a/assets/fonts/font-awesome/fa-solid-900.woff b/assets/fonts/font-awesome/fa-solid-900.woff new file mode 100644 index 0000000000000000000000000000000000000000..839528cca03223e0ffa395073755a7cfb93917be Binary files /dev/null and b/assets/fonts/font-awesome/fa-solid-900.woff differ diff --git a/assets/fonts/font-awesome/fa-solid-900.woff2 b/assets/fonts/font-awesome/fa-solid-900.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..3aae386a623d78bda21ce7a38103f03c72de5382 Binary files /dev/null and b/assets/fonts/font-awesome/fa-solid-900.woff2 differ diff --git a/assets/img/Allen-School-white-RGB-sm.png b/assets/img/Allen-School-white-RGB-sm.png new file mode 100644 index 0000000000000000000000000000000000000000..aa7f60b59f54800f79b2d76a6e1dabbc22219e27 Binary files /dev/null and b/assets/img/Allen-School-white-RGB-sm.png differ diff --git a/assets/img/androidbook.jpg b/assets/img/androidbook.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8875d55818024e8717447eade7f1c9471e6bcae0 Binary files /dev/null and b/assets/img/androidbook.jpg differ diff --git a/assets/img/bush.png b/assets/img/bush.png new file mode 100644 index 0000000000000000000000000000000000000000..152db57592c183feed8320b6c52ef1033774ddc8 Binary files /dev/null and b/assets/img/bush.png differ diff --git a/assets/img/favicon.ico b/assets/img/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..3de0ab46720fce42c4729feab729cefe27aa7dcf Binary files /dev/null and b/assets/img/favicon.ico differ diff --git a/assets/img/favicon.png b/assets/img/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..0d23094c5305769a49c68e686cc03a107198428b Binary files /dev/null and b/assets/img/favicon.png differ diff --git a/assets/img/staff/gotfrid.jpg b/assets/img/staff/gotfrid.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6c5ad260999e0fe55749f6d9b02130bb16744b53 Binary files /dev/null and b/assets/img/staff/gotfrid.jpg differ diff --git a/assets/img/staff/mankoff.jpg b/assets/img/staff/mankoff.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cdd8f03953ef83843fed306c9946498497581424 Binary files /dev/null and b/assets/img/staff/mankoff.jpg differ diff --git a/assets/img/star.png b/assets/img/star.png new file mode 100644 index 0000000000000000000000000000000000000000..b7a7b0c9f71664bd1d5999f1bf301c02d2020ca1 Binary files /dev/null and b/assets/img/star.png differ diff --git a/assets/img/thumbnail.png b/assets/img/thumbnail.png new file mode 100755 index 0000000000000000000000000000000000000000..d06bb2a4a20ec00440950c7769f35d25784f702e Binary files /dev/null and b/assets/img/thumbnail.png differ diff --git a/assets/img/ui.jpg b/assets/img/ui.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4ac67b3cf8170d6474d2e848bb61ec07a2c1d47d Binary files /dev/null and b/assets/img/ui.jpg differ diff --git a/assets/img/wireless-work.png b/assets/img/wireless-work.png new file mode 100644 index 0000000000000000000000000000000000000000..685896312b46874199da8e138d344c3e516edd0d Binary files /dev/null and b/assets/img/wireless-work.png differ diff --git a/assets/js/accessibility-menu.js b/assets/js/accessibility-menu.js new file mode 100644 index 0000000000000000000000000000000000000000..2d241f9774e8160fe9d4fb2e2f6b5f7b9b65def6 --- /dev/null +++ b/assets/js/accessibility-menu.js @@ -0,0 +1 @@ +!function(a,b){var c,d,e=a.config.menuSettings,f=Function.prototype.bind?function(a,b){return a.bind(b)}:function(a,b){return function(){a.apply(b,arguments)}},g=Object.keys||function(a){var b=[];for(var c in a)a.hasOwnProperty(c)&&b.push(c);return b},h=MathJax.Ajax.config.path;h.a11y||(h.a11y=a.config.root+"/extensions/a11y");var i=b["accessibility-menu"]={version:"1.5.0",prefix:"",defaults:{},modules:[],MakeOption:function(a){return i.prefix+a},GetOption:function(a){return e[i.MakeOption(a)]},AddDefaults:function(){for(var a,b=g(i.defaults),c=0;a=b[c];c++){var d=i.MakeOption(a);void 0===e[d]&&(e[d]=i.defaults[a])}},AddMenu:function(){for(var a,b=Array(this.modules.length),e=0;a=this.modules[e];e++)b[e]=a.placeHolder;var f=d.FindId("Accessibility");if(f)b.unshift(c.RULE()),f.submenu.items.push.apply(f.submenu.items,b);else{var g=(d.FindId("Settings","Renderer")||{}).submenu;g&&(b.unshift(c.RULE()),b.unshift(g.items.pop()),b.unshift(g.items.pop())),b.unshift("Accessibility");var f=c.SUBMENU.apply(c.SUBMENU,b),h=d.IndexOfId("Locale");h?d.items.splice(h,0,f):d.items.push(c.RULE(),f)}},Register:function(a){i.defaults[a.option]=!1,i.modules.push(a)},Startup:function(){c=MathJax.Menu.ITEM,d=MathJax.Menu.menu;for(var a,b=0;a=this.modules[b];b++)a.CreateMenu();this.AddMenu()},LoadExtensions:function(){for(var b,c=[],d=0;b=this.modules[d];d++)e[b.option]&&c.push(b.module);return c.length?a.Startup.loadArray(c):null}},j=MathJax.Extension.ModuleLoader=MathJax.Object.Subclass({option:"",name:["",""],module:"",placeHolder:null,submenu:!1,extension:null,Init:function(a,b,c,d,e){this.option=a,this.name=[b.replace(/ /g,""),b],this.module=c,this.extension=d,this.submenu=e||!1},CreateMenu:function(){var a=f(this.Load,this);this.submenu?this.placeHolder=c.SUBMENU(this.name,c.CHECKBOX(["Activate","Activate"],i.MakeOption(this.option),{action:a}),c.RULE(),c.COMMAND(["OptionsWhenActive","(Options when Active)"],null,{disabled:!0})):this.placeHolder=c.CHECKBOX(this.name,i.MakeOption(this.option),{action:a})},Load:function(){a.Queue(["Require",MathJax.Ajax,this.module,["Enable",this]])},Enable:function(a){var b=MathJax.Extension[this.extension];b&&(b.Enable(!0,!0),MathJax.Menu.saveCookie())}});i.Register(j("collapsible","Collapsible Math","[a11y]/collapsible.js","collapsible")),i.Register(j("autocollapse","Auto Collapse","[a11y]/auto-collapse.js","auto-collapse")),i.Register(j("explorer","Explorer","[a11y]/explorer.js","explorer",!0)),i.AddDefaults(),a.Register.StartupHook("End Extensions",function(){a.Register.StartupHook("MathMenu Ready",function(){i.Startup(),a.Startup.signal.Post("Accessibility Menu Ready")},5)},5),MathJax.Hub.Register.StartupHook("End Cookie",function(){MathJax.Callback.Queue(["LoadExtensions",i],["loadComplete",MathJax.Ajax,"[a11y]/accessibility-menu.js"])})}(MathJax.Hub,MathJax.Extension); \ No newline at end of file diff --git a/assets/js/auto-collapse.js b/assets/js/auto-collapse.js new file mode 100644 index 0000000000000000000000000000000000000000..640b9c25182ca42093bc336b9a16a3573f11f72e --- /dev/null +++ b/assets/js/auto-collapse.js @@ -0,0 +1 @@ +!function(a){var b=a.config.menuSettings,c={},d=MathJax.Ajax.config.path;d.a11y||(d.a11y=a.config.root+"/extensions/a11y");var e=MathJax.Extension["auto-collapse"]={version:"1.5.0",config:a.CombineConfig("auto-collapse",{disabled:!1}),dependents:[],Enable:function(d,e){b.autocollapse=!0,e&&(c.autocollapse=!0),this.config.disabled=!1,MathJax.Extension.collapsible.Enable(!1,e),d&&a.Queue(["Reprocess",a],["CollapseWideMath",this])},Disable:function(d,e){b.autocollapse=!1,e&&(c.autocollapse=!1),this.config.disabled=!0;for(var f=this.dependents.length-1;f>=0;f--){var g=this.dependents[f];g.Disable&&g.Disable(!1,e)}d&&a.Queue(["Rerender",a])},Dependent:function(a){this.dependents.push(a)},Startup:function(){var b=MathJax.Extension.collapsible;b&&b.Dependent(this),a.postInputHooks.Add(["Filter",e],150),a.Queue(function(){return e.CollapseWideMath()}),window.addEventListener?window.addEventListener("resize",e.resizeHandler,!1):window.attachEvent?window.attachEvent("onresize",e.resizeHandler):window.onresize=e.resizeHandler},Filter:function(a,b,c){a.enriched&&!this.config.disabled&&("block"===a.root.Get("display")||c.parentNode.childNodes.length<=3)&&(a.root.SRE={action:this.Actions(a.root)})},Actions:function(a){var b=[];return this.getActions(a,0,b),this.sortActions(b)},getActions:function(a,b,c){if(!a.isToken&&a.data){b++;for(var d=0,e=a.data.length;d<e;d++)if(a.data[d]){var f=a.data[d];f.collapsible?(c[b]||(c[b]=[]),c[b].push(f),this.getActions(f.data[1],b,c)):this.getActions(f,b,c)}}},sortActions:function(a){for(var b=[],c=0,d=a.length;c<d;c++)a[c]&&(b=b.concat(a[c].sort(this.sortActionsBy)));return b},sortActionsBy:function(a,b){return a=a.data[1].complexity,b=b.data[1].complexity,a<b?-1:a>b?1:0},CollapseWideMath:function(b){if(!this.config.disabled){this.GetContainerWidths(b);var c=a.getAllJax(b),d={collapse:[],jax:c,m:c.length,i:0,changed:!1};return this.collapseState(d)}},collapseState:function(b){for(var c=b.collapse;b.i<b.m;){var d=b.jax[b.i],e=d.root.SRE;if(b.changed=!1,e&&e.action.length&&(e.cwidth<e.m||e.cwidth>e.M)){var f=this.getActionWidths(d,b);if(f)return f;this.collapseActions(e,b),b.changed&&c.push(d.SourceElement())}b.i++}if(0!==c.length)return 1===c.length&&(c=c[0]),a.Rerender(c)},collapseActions:function(a,b){for(var c=a.width,d=c,e=1e6,f=a.action.length-1;f>=0;f--){var g=a.action[f],h=g.selection;c>a.cwidth?(g.selection=1,d=g.SREwidth,e=c):g.selection=2,c=g.SREwidth,a.DOMupdate?document.getElementById(g.id).setAttribute("selection",g.selection):g.selection!==h&&(b.changed=!0)}a.m=d,a.M=e},getActionWidths:function(a,b){if(!a.root.SRE.actionWidths){MathJax.OutputJax[a.outputJax].getMetrics(a);try{this.computeActionWidths(a)}catch(a){if(!a.restart)throw a;return MathJax.Callback.After(["collapseState",this,b],a.restart)}b.changed=!0}return null},computeActionWidths:function(a){var b,c=a.root.SRE,d=c.action,e={};for(c.width=a.sreGetRootWidth(e),b=d.length-1;b>=0;b--)d[b].selection=2;for(b=d.length-1;b>=0;b--){var f=d[b];null==f.SREwidth&&(f.selection=1,f.SREwidth=a.sreGetActionWidth(e,f))}c.actionWidths=!0},GetContainerWidths:function(b){var c,d,e,f,g,h=a.getAllJax(b),i=MathJax.HTML.Element("span",{style:{display:"block"}}),j=[];for(c=0,d=h.length;c<d;c++)f=h[c],g=f.root,SRE=g.SRE,SRE&&SRE.action.length&&(null==SRE.width&&(f.sreGetMetrics(),SRE.m=SRE.width,SRE.M=1e6),e=f.SourceElement(),e.previousSibling.style.display="none",e.parentNode.insertBefore(i.cloneNode(!1),e),j.push([f,e]));for(c=0,d=j.length;c<d;c++)f=j[c][0],e=j[c][1],e.previousSibling.offsetWidth&&(f.root.SRE.cwidth=e.previousSibling.offsetWidth*f.root.SRE.em);for(c=0,d=j.length;c<d;c++)f=j[c][0],e=j[c][1],e.parentNode.removeChild(e.previousSibling),e.previousSibling.style.display=""},timer:null,running:!1,retry:!1,saved_delay:0,resizeHandler:function(a){if(!e.config.disabled){if(e.running)return void(e.retry=!0);e.timer&&clearTimeout(e.timer),e.timer=setTimeout(e.resizeAction,100)}},resizeAction:function(){e.timer=null,e.running=!0,a.Queue(function(){e.saved_delay=a.processSectionDelay,a.processSectionDelay=0},["CollapseWideMath",e],["resizeCheck",e])},resizeCheck:function(){e.running=!1,a.processSectionDelay=e.saved_delay,e.retry&&(e.retry=!1,setTimeout(e.resizeHandler,0))}};a.Register.StartupHook("End Extensions",function(){null==b.autocollapse?b.autocollapse=!e.config.disabled:e.config.disabled=!b.autocollapse,a.Register.StartupHook("MathMenu Ready",function(){c=MathJax.Menu.cookie;var a,d=function(a){e[b.autocollapse?"Enable":"Disable"](!0,!0),MathJax.Menu.saveCookie()},f=MathJax.Menu.ITEM,g=MathJax.Menu.menu,h=f.CHECKBOX(["AutoCollapse","Auto Collapse"],"autocollapse",{action:d}),i=(g.FindId("Accessibility")||{}).submenu;i?(a=i.IndexOfId("AutoCollapse"),null!==a?i.items[a]=h:(a=i.IndexOfId("CollapsibleMath"),i.items.splice(a+1,0,h))):(a=g.IndexOfId("CollapsibleMath"),g.items.splice(a+1,0,h));var j=function(){e[b.autocollapse?"Enable":"Disable"]()};MathJax.Extension.collapse?j():MathJax.Hub.Register.StartupHook("Auto Collapse Ready",j)},25)},25)}(MathJax.Hub),MathJax.ElementJax.Augment({sreGetMetrics:function(){MathJax.OutputJax[this.outputJax].sreGetMetrics(this,this.root.SRE)},sreGetRootWidth:function(a){return MathJax.OutputJax[this.outputJax].sreGetRootWidth(this,a)},sreGetActionWidth:function(a,b){return MathJax.OutputJax[this.outputJax].sreGetActionWidth(this,a,b)}}),MathJax.OutputJax.Augment({getMetrics:function(){},sreGetMetrics:function(a,b){b.cwidth=1e6,b.width=0,b.em=12},sreGetRootWidth:function(a,b){return 0},sreGetActionWidth:function(a,b,c){return 0}}),MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function(){MathJax.OutputJax["HTML-CSS"].Augment({sreGetMetrics:function(a,b){b.width=a.root.data[0].HTMLspanElement().parentNode.bbox.w,b.em=1/a.HTMLCSS.em/a.HTMLCSS.scale},sreGetRootWidth:function(a,b){var c=a.root.data[0].HTMLspanElement();return b.box=c.parentNode,b.box.bbox.w},sreGetActionWidth:function(a,b,c){return a.root.data[0].toHTML(b.box).bbox.w}})}),MathJax.Hub.Register.StartupHook("SVG Jax Ready",function(){MathJax.OutputJax.SVG.Augment({getMetrics:function(a){this.em=MathJax.ElementJax.mml.mbase.prototype.em=a.SVG.em,this.ex=a.SVG.ex,this.linebreakWidth=a.SVG.lineWidth,this.cwidth=a.SVG.cwidth},sreGetMetrics:function(a,b){b.width=a.root.SVGdata.w/1e3,b.em=1/a.SVG.em},sreGetRootWidth:function(a,b){return b.span=document.getElementById(a.inputID+"-Frame"),a.root.SVGdata.w/1e3},sreGetActionWidth:function(a,b,c){this.mathDiv=b.span,b.span.appendChild(this.textSVG);try{a.root.data[0].toSVG()}catch(a){var d=a}if(b.span.removeChild(this.textSVG),d)throw d;return a.root.data[0].SVGdata.w/1e3}})}),MathJax.Hub.Register.StartupHook("CommonHTML Jax Ready",function(){MathJax.OutputJax.CommonHTML.Augment({sreGetMetrics:function(a,b){b.width=a.root.CHTML.w,b.em=1/a.CHTML.em/a.CHTML.scale},sreGetRootWidth:function(a,b){return b.span=document.getElementById(a.inputID+"-Frame").firstChild,b.tmp=document.createElement("span"),b.tmp.className=b.span.className,a.root.CHTML.w/a.CHTML.scale},sreGetActionWidth:function(a,b,c){b.span.parentNode.replaceChild(b.tmp,b.span),MathJax.OutputJax.CommonHTML.CHTMLnode=b.tmp;try{a.root.data[0].toCommonHTML(b.tmp)}catch(a){var d=a}if(b.tmp.parentNode.replaceChild(b.span,b.tmp),d)throw d;return a.root.data[0].CHTML.w/a.CHTML.scale}})}),MathJax.Hub.Register.StartupHook("NativeMML Jax Ready",function(){MathJax.OutputJax.NativeMML.Augment({sreGetMetrics:function(a,b){var c=document.getElementById(a.inputID+"-Frame");b.width=c.offsetWidth,b.em=1,b.DOMupdate=!0},sreGetRootWidth:function(a,b){return b.span=document.getElementById(a.inputID+"-Frame").firstChild,b.span.offsetWidth},sreGetActionWidth:function(a,b,c){return document.getElementById(c.id).setAttribute("selection",1),b.span.offsetWidth}})}),MathJax.Ajax.Require("[a11y]/collapsible.js"),MathJax.Hub.Register.StartupHook("Collapsible Ready",function(){MathJax.Extension["auto-collapse"].Startup(),MathJax.Hub.Startup.signal.Post("Auto Collapse Ready"),MathJax.Ajax.loadComplete("[a11y]/auto-collapse.js")}); \ No newline at end of file diff --git a/assets/js/bootstrap.min.js b/assets/js/bootstrap.min.js new file mode 100644 index 0000000000000000000000000000000000000000..78c533b4e7ecb48d0da3017e1361c05765ff43c9 --- /dev/null +++ b/assets/js/bootstrap.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v4.4.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("jquery")):"function"==typeof define&&define.amd?define(["exports","jquery"],t):t((e=e||self).bootstrap={},e.jQuery)}(this,function(e,p){"use strict";function i(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function s(e,t,n){return t&&i(e.prototype,t),n&&i(e,n),e}function t(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,i)}return n}function l(o){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?t(Object(r),!0).forEach(function(e){var t,n,i;t=o,i=r[n=e],n in t?Object.defineProperty(t,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[n]=i}):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(r)):t(Object(r)).forEach(function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(r,e))})}return o}p=p&&p.hasOwnProperty("default")?p.default:p;var n="transitionend";function o(e){var t=this,n=!1;return p(this).one(m.TRANSITION_END,function(){n=!0}),setTimeout(function(){n||m.triggerTransitionEnd(t)},e),this}var m={TRANSITION_END:"bsTransitionEnd",getUID:function(e){for(;e+=~~(1e6*Math.random()),document.getElementById(e););return e},getSelectorFromElement:function(e){var t=e.getAttribute("data-target");if(!t||"#"===t){var n=e.getAttribute("href");t=n&&"#"!==n?n.trim():""}try{return document.querySelector(t)?t:null}catch(e){return null}},getTransitionDurationFromElement:function(e){if(!e)return 0;var t=p(e).css("transition-duration"),n=p(e).css("transition-delay"),i=parseFloat(t),o=parseFloat(n);return i||o?(t=t.split(",")[0],n=n.split(",")[0],1e3*(parseFloat(t)+parseFloat(n))):0},reflow:function(e){return e.offsetHeight},triggerTransitionEnd:function(e){p(e).trigger(n)},supportsTransitionEnd:function(){return Boolean(n)},isElement:function(e){return(e[0]||e).nodeType},typeCheckConfig:function(e,t,n){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var o=n[i],r=t[i],s=r&&m.isElement(r)?"element":(a=r,{}.toString.call(a).match(/\s([a-z]+)/i)[1].toLowerCase());if(!new RegExp(o).test(s))throw new Error(e.toUpperCase()+': Option "'+i+'" provided type "'+s+'" but expected type "'+o+'".')}var a},findShadowRoot:function(e){if(!document.documentElement.attachShadow)return null;if("function"!=typeof e.getRootNode)return e instanceof ShadowRoot?e:e.parentNode?m.findShadowRoot(e.parentNode):null;var t=e.getRootNode();return t instanceof ShadowRoot?t:null},jQueryDetection:function(){if("undefined"==typeof p)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var e=p.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1===e[0]&&9===e[1]&&e[2]<1||4<=e[0])throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}};m.jQueryDetection(),p.fn.emulateTransitionEnd=o,p.event.special[m.TRANSITION_END]={bindType:n,delegateType:n,handle:function(e){if(p(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}};var r="alert",a="bs.alert",c="."+a,h=p.fn[r],u={CLOSE:"close"+c,CLOSED:"closed"+c,CLICK_DATA_API:"click"+c+".data-api"},f="alert",d="fade",g="show",_=function(){function i(e){this._element=e}var e=i.prototype;return e.close=function(e){var t=this._element;e&&(t=this._getRootElement(e)),this._triggerCloseEvent(t).isDefaultPrevented()||this._removeElement(t)},e.dispose=function(){p.removeData(this._element,a),this._element=null},e._getRootElement=function(e){var t=m.getSelectorFromElement(e),n=!1;return t&&(n=document.querySelector(t)),n=n||p(e).closest("."+f)[0]},e._triggerCloseEvent=function(e){var t=p.Event(u.CLOSE);return p(e).trigger(t),t},e._removeElement=function(t){var n=this;if(p(t).removeClass(g),p(t).hasClass(d)){var e=m.getTransitionDurationFromElement(t);p(t).one(m.TRANSITION_END,function(e){return n._destroyElement(t,e)}).emulateTransitionEnd(e)}else this._destroyElement(t)},e._destroyElement=function(e){p(e).detach().trigger(u.CLOSED).remove()},i._jQueryInterface=function(n){return this.each(function(){var e=p(this),t=e.data(a);t||(t=new i(this),e.data(a,t)),"close"===n&&t[n](this)})},i._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},s(i,null,[{key:"VERSION",get:function(){return"4.4.1"}}]),i}();p(document).on(u.CLICK_DATA_API,'[data-dismiss="alert"]',_._handleDismiss(new _)),p.fn[r]=_._jQueryInterface,p.fn[r].Constructor=_,p.fn[r].noConflict=function(){return p.fn[r]=h,_._jQueryInterface};var v="button",y="bs.button",E="."+y,b=".data-api",w=p.fn[v],T="active",C="btn",S="focus",D='[data-toggle^="button"]',I='[data-toggle="buttons"]',A='[data-toggle="button"]',O='[data-toggle="buttons"] .btn',N='input:not([type="hidden"])',k=".active",L=".btn",P={CLICK_DATA_API:"click"+E+b,FOCUS_BLUR_DATA_API:"focus"+E+b+" blur"+E+b,LOAD_DATA_API:"load"+E+b},x=function(){function n(e){this._element=e}var e=n.prototype;return e.toggle=function(){var e=!0,t=!0,n=p(this._element).closest(I)[0];if(n){var i=this._element.querySelector(N);if(i){if("radio"===i.type)if(i.checked&&this._element.classList.contains(T))e=!1;else{var o=n.querySelector(k);o&&p(o).removeClass(T)}else"checkbox"===i.type?"LABEL"===this._element.tagName&&i.checked===this._element.classList.contains(T)&&(e=!1):e=!1;e&&(i.checked=!this._element.classList.contains(T),p(i).trigger("change")),i.focus(),t=!1}}this._element.hasAttribute("disabled")||this._element.classList.contains("disabled")||(t&&this._element.setAttribute("aria-pressed",!this._element.classList.contains(T)),e&&p(this._element).toggleClass(T))},e.dispose=function(){p.removeData(this._element,y),this._element=null},n._jQueryInterface=function(t){return this.each(function(){var e=p(this).data(y);e||(e=new n(this),p(this).data(y,e)),"toggle"===t&&e[t]()})},s(n,null,[{key:"VERSION",get:function(){return"4.4.1"}}]),n}();p(document).on(P.CLICK_DATA_API,D,function(e){var t=e.target;if(p(t).hasClass(C)||(t=p(t).closest(L)[0]),!t||t.hasAttribute("disabled")||t.classList.contains("disabled"))e.preventDefault();else{var n=t.querySelector(N);if(n&&(n.hasAttribute("disabled")||n.classList.contains("disabled")))return void e.preventDefault();x._jQueryInterface.call(p(t),"toggle")}}).on(P.FOCUS_BLUR_DATA_API,D,function(e){var t=p(e.target).closest(L)[0];p(t).toggleClass(S,/^focus(in)?$/.test(e.type))}),p(window).on(P.LOAD_DATA_API,function(){for(var e=[].slice.call(document.querySelectorAll(O)),t=0,n=e.length;t<n;t++){var i=e[t],o=i.querySelector(N);o.checked||o.hasAttribute("checked")?i.classList.add(T):i.classList.remove(T)}for(var r=0,s=(e=[].slice.call(document.querySelectorAll(A))).length;r<s;r++){var a=e[r];"true"===a.getAttribute("aria-pressed")?a.classList.add(T):a.classList.remove(T)}}),p.fn[v]=x._jQueryInterface,p.fn[v].Constructor=x,p.fn[v].noConflict=function(){return p.fn[v]=w,x._jQueryInterface};var j="carousel",H="bs.carousel",R="."+H,F=".data-api",M=p.fn[j],W={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},U={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},B="next",q="prev",K="left",Q="right",V={SLIDE:"slide"+R,SLID:"slid"+R,KEYDOWN:"keydown"+R,MOUSEENTER:"mouseenter"+R,MOUSELEAVE:"mouseleave"+R,TOUCHSTART:"touchstart"+R,TOUCHMOVE:"touchmove"+R,TOUCHEND:"touchend"+R,POINTERDOWN:"pointerdown"+R,POINTERUP:"pointerup"+R,DRAG_START:"dragstart"+R,LOAD_DATA_API:"load"+R+F,CLICK_DATA_API:"click"+R+F},Y="carousel",z="active",X="slide",G="carousel-item-right",$="carousel-item-left",J="carousel-item-next",Z="carousel-item-prev",ee="pointer-event",te=".active",ne=".active.carousel-item",ie=".carousel-item",oe=".carousel-item img",re=".carousel-item-next, .carousel-item-prev",se=".carousel-indicators",ae="[data-slide], [data-slide-to]",le='[data-ride="carousel"]',ce={TOUCH:"touch",PEN:"pen"},he=function(){function r(e,t){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(t),this._element=e,this._indicatorsElement=this._element.querySelector(se),this._touchSupported="ontouchstart"in document.documentElement||0<navigator.maxTouchPoints,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners()}var e=r.prototype;return e.next=function(){this._isSliding||this._slide(B)},e.nextWhenVisible=function(){!document.hidden&&p(this._element).is(":visible")&&"hidden"!==p(this._element).css("visibility")&&this.next()},e.prev=function(){this._isSliding||this._slide(q)},e.pause=function(e){e||(this._isPaused=!0),this._element.querySelector(re)&&(m.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},e.cycle=function(e){e||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},e.to=function(e){var t=this;this._activeElement=this._element.querySelector(ne);var n=this._getItemIndex(this._activeElement);if(!(e>this._items.length-1||e<0))if(this._isSliding)p(this._element).one(V.SLID,function(){return t.to(e)});else{if(n===e)return this.pause(),void this.cycle();var i=n<e?B:q;this._slide(i,this._items[e])}},e.dispose=function(){p(this._element).off(R),p.removeData(this._element,H),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},e._getConfig=function(e){return e=l({},W,{},e),m.typeCheckConfig(j,e,U),e},e._handleSwipe=function(){var e=Math.abs(this.touchDeltaX);if(!(e<=40)){var t=e/this.touchDeltaX;(this.touchDeltaX=0)<t&&this.prev(),t<0&&this.next()}},e._addEventListeners=function(){var t=this;this._config.keyboard&&p(this._element).on(V.KEYDOWN,function(e){return t._keydown(e)}),"hover"===this._config.pause&&p(this._element).on(V.MOUSEENTER,function(e){return t.pause(e)}).on(V.MOUSELEAVE,function(e){return t.cycle(e)}),this._config.touch&&this._addTouchEventListeners()},e._addTouchEventListeners=function(){var t=this;if(this._touchSupported){var n=function(e){t._pointerEvent&&ce[e.originalEvent.pointerType.toUpperCase()]?t.touchStartX=e.originalEvent.clientX:t._pointerEvent||(t.touchStartX=e.originalEvent.touches[0].clientX)},i=function(e){t._pointerEvent&&ce[e.originalEvent.pointerType.toUpperCase()]&&(t.touchDeltaX=e.originalEvent.clientX-t.touchStartX),t._handleSwipe(),"hover"===t._config.pause&&(t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout(function(e){return t.cycle(e)},500+t._config.interval))};p(this._element.querySelectorAll(oe)).on(V.DRAG_START,function(e){return e.preventDefault()}),this._pointerEvent?(p(this._element).on(V.POINTERDOWN,function(e){return n(e)}),p(this._element).on(V.POINTERUP,function(e){return i(e)}),this._element.classList.add(ee)):(p(this._element).on(V.TOUCHSTART,function(e){return n(e)}),p(this._element).on(V.TOUCHMOVE,function(e){return function(e){e.originalEvent.touches&&1<e.originalEvent.touches.length?t.touchDeltaX=0:t.touchDeltaX=e.originalEvent.touches[0].clientX-t.touchStartX}(e)}),p(this._element).on(V.TOUCHEND,function(e){return i(e)}))}},e._keydown=function(e){if(!/input|textarea/i.test(e.target.tagName))switch(e.which){case 37:e.preventDefault(),this.prev();break;case 39:e.preventDefault(),this.next()}},e._getItemIndex=function(e){return this._items=e&&e.parentNode?[].slice.call(e.parentNode.querySelectorAll(ie)):[],this._items.indexOf(e)},e._getItemByDirection=function(e,t){var n=e===B,i=e===q,o=this._getItemIndex(t),r=this._items.length-1;if((i&&0===o||n&&o===r)&&!this._config.wrap)return t;var s=(o+(e===q?-1:1))%this._items.length;return-1==s?this._items[this._items.length-1]:this._items[s]},e._triggerSlideEvent=function(e,t){var n=this._getItemIndex(e),i=this._getItemIndex(this._element.querySelector(ne)),o=p.Event(V.SLIDE,{relatedTarget:e,direction:t,from:i,to:n});return p(this._element).trigger(o),o},e._setActiveIndicatorElement=function(e){if(this._indicatorsElement){var t=[].slice.call(this._indicatorsElement.querySelectorAll(te));p(t).removeClass(z);var n=this._indicatorsElement.children[this._getItemIndex(e)];n&&p(n).addClass(z)}},e._slide=function(e,t){var n,i,o,r=this,s=this._element.querySelector(ne),a=this._getItemIndex(s),l=t||s&&this._getItemByDirection(e,s),c=this._getItemIndex(l),h=Boolean(this._interval);if(o=e===B?(n=$,i=J,K):(n=G,i=Z,Q),l&&p(l).hasClass(z))this._isSliding=!1;else if(!this._triggerSlideEvent(l,o).isDefaultPrevented()&&s&&l){this._isSliding=!0,h&&this.pause(),this._setActiveIndicatorElement(l);var u=p.Event(V.SLID,{relatedTarget:l,direction:o,from:a,to:c});if(p(this._element).hasClass(X)){p(l).addClass(i),m.reflow(l),p(s).addClass(n),p(l).addClass(n);var f=parseInt(l.getAttribute("data-interval"),10);f?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=f):this._config.interval=this._config.defaultInterval||this._config.interval;var d=m.getTransitionDurationFromElement(s);p(s).one(m.TRANSITION_END,function(){p(l).removeClass(n+" "+i).addClass(z),p(s).removeClass(z+" "+i+" "+n),r._isSliding=!1,setTimeout(function(){return p(r._element).trigger(u)},0)}).emulateTransitionEnd(d)}else p(s).removeClass(z),p(l).addClass(z),this._isSliding=!1,p(this._element).trigger(u);h&&this.cycle()}},r._jQueryInterface=function(i){return this.each(function(){var e=p(this).data(H),t=l({},W,{},p(this).data());"object"==typeof i&&(t=l({},t,{},i));var n="string"==typeof i?i:t.slide;if(e||(e=new r(this,t),p(this).data(H,e)),"number"==typeof i)e.to(i);else if("string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n]()}else t.interval&&t.ride&&(e.pause(),e.cycle())})},r._dataApiClickHandler=function(e){var t=m.getSelectorFromElement(this);if(t){var n=p(t)[0];if(n&&p(n).hasClass(Y)){var i=l({},p(n).data(),{},p(this).data()),o=this.getAttribute("data-slide-to");o&&(i.interval=!1),r._jQueryInterface.call(p(n),i),o&&p(n).data(H).to(o),e.preventDefault()}}},s(r,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return W}}]),r}();p(document).on(V.CLICK_DATA_API,ae,he._dataApiClickHandler),p(window).on(V.LOAD_DATA_API,function(){for(var e=[].slice.call(document.querySelectorAll(le)),t=0,n=e.length;t<n;t++){var i=p(e[t]);he._jQueryInterface.call(i,i.data())}}),p.fn[j]=he._jQueryInterface,p.fn[j].Constructor=he,p.fn[j].noConflict=function(){return p.fn[j]=M,he._jQueryInterface};var ue="collapse",fe="bs.collapse",de="."+fe,pe=p.fn[ue],me={toggle:!0,parent:""},ge={toggle:"boolean",parent:"(string|element)"},_e={SHOW:"show"+de,SHOWN:"shown"+de,HIDE:"hide"+de,HIDDEN:"hidden"+de,CLICK_DATA_API:"click"+de+".data-api"},ve="show",ye="collapse",Ee="collapsing",be="collapsed",we="width",Te="height",Ce=".show, .collapsing",Se='[data-toggle="collapse"]',De=function(){function a(t,e){this._isTransitioning=!1,this._element=t,this._config=this._getConfig(e),this._triggerArray=[].slice.call(document.querySelectorAll('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'));for(var n=[].slice.call(document.querySelectorAll(Se)),i=0,o=n.length;i<o;i++){var r=n[i],s=m.getSelectorFromElement(r),a=[].slice.call(document.querySelectorAll(s)).filter(function(e){return e===t});null!==s&&0<a.length&&(this._selector=s,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var e=a.prototype;return e.toggle=function(){p(this._element).hasClass(ve)?this.hide():this.show()},e.show=function(){var e,t,n=this;if(!this._isTransitioning&&!p(this._element).hasClass(ve)&&(this._parent&&0===(e=[].slice.call(this._parent.querySelectorAll(Ce)).filter(function(e){return"string"==typeof n._config.parent?e.getAttribute("data-parent")===n._config.parent:e.classList.contains(ye)})).length&&(e=null),!(e&&(t=p(e).not(this._selector).data(fe))&&t._isTransitioning))){var i=p.Event(_e.SHOW);if(p(this._element).trigger(i),!i.isDefaultPrevented()){e&&(a._jQueryInterface.call(p(e).not(this._selector),"hide"),t||p(e).data(fe,null));var o=this._getDimension();p(this._element).removeClass(ye).addClass(Ee),this._element.style[o]=0,this._triggerArray.length&&p(this._triggerArray).removeClass(be).attr("aria-expanded",!0),this.setTransitioning(!0);var r="scroll"+(o[0].toUpperCase()+o.slice(1)),s=m.getTransitionDurationFromElement(this._element);p(this._element).one(m.TRANSITION_END,function(){p(n._element).removeClass(Ee).addClass(ye).addClass(ve),n._element.style[o]="",n.setTransitioning(!1),p(n._element).trigger(_e.SHOWN)}).emulateTransitionEnd(s),this._element.style[o]=this._element[r]+"px"}}},e.hide=function(){var e=this;if(!this._isTransitioning&&p(this._element).hasClass(ve)){var t=p.Event(_e.HIDE);if(p(this._element).trigger(t),!t.isDefaultPrevented()){var n=this._getDimension();this._element.style[n]=this._element.getBoundingClientRect()[n]+"px",m.reflow(this._element),p(this._element).addClass(Ee).removeClass(ye).removeClass(ve);var i=this._triggerArray.length;if(0<i)for(var o=0;o<i;o++){var r=this._triggerArray[o],s=m.getSelectorFromElement(r);if(null!==s)p([].slice.call(document.querySelectorAll(s))).hasClass(ve)||p(r).addClass(be).attr("aria-expanded",!1)}this.setTransitioning(!0);this._element.style[n]="";var a=m.getTransitionDurationFromElement(this._element);p(this._element).one(m.TRANSITION_END,function(){e.setTransitioning(!1),p(e._element).removeClass(Ee).addClass(ye).trigger(_e.HIDDEN)}).emulateTransitionEnd(a)}}},e.setTransitioning=function(e){this._isTransitioning=e},e.dispose=function(){p.removeData(this._element,fe),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},e._getConfig=function(e){return(e=l({},me,{},e)).toggle=Boolean(e.toggle),m.typeCheckConfig(ue,e,ge),e},e._getDimension=function(){return p(this._element).hasClass(we)?we:Te},e._getParent=function(){var e,n=this;m.isElement(this._config.parent)?(e=this._config.parent,"undefined"!=typeof this._config.parent.jquery&&(e=this._config.parent[0])):e=document.querySelector(this._config.parent);var t='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]',i=[].slice.call(e.querySelectorAll(t));return p(i).each(function(e,t){n._addAriaAndCollapsedClass(a._getTargetFromElement(t),[t])}),e},e._addAriaAndCollapsedClass=function(e,t){var n=p(e).hasClass(ve);t.length&&p(t).toggleClass(be,!n).attr("aria-expanded",n)},a._getTargetFromElement=function(e){var t=m.getSelectorFromElement(e);return t?document.querySelector(t):null},a._jQueryInterface=function(i){return this.each(function(){var e=p(this),t=e.data(fe),n=l({},me,{},e.data(),{},"object"==typeof i&&i?i:{});if(!t&&n.toggle&&/show|hide/.test(i)&&(n.toggle=!1),t||(t=new a(this,n),e.data(fe,t)),"string"==typeof i){if("undefined"==typeof t[i])throw new TypeError('No method named "'+i+'"');t[i]()}})},s(a,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return me}}]),a}();p(document).on(_e.CLICK_DATA_API,Se,function(e){"A"===e.currentTarget.tagName&&e.preventDefault();var n=p(this),t=m.getSelectorFromElement(this),i=[].slice.call(document.querySelectorAll(t));p(i).each(function(){var e=p(this),t=e.data(fe)?"toggle":n.data();De._jQueryInterface.call(e,t)})}),p.fn[ue]=De._jQueryInterface,p.fn[ue].Constructor=De,p.fn[ue].noConflict=function(){return p.fn[ue]=pe,De._jQueryInterface};var Ie="undefined"!=typeof window&&"undefined"!=typeof document&&"undefined"!=typeof navigator,Ae=function(){for(var e=["Edge","Trident","Firefox"],t=0;t<e.length;t+=1)if(Ie&&0<=navigator.userAgent.indexOf(e[t]))return 1;return 0}();var Oe=Ie&&window.Promise?function(e){var t=!1;return function(){t||(t=!0,window.Promise.resolve().then(function(){t=!1,e()}))}}:function(e){var t=!1;return function(){t||(t=!0,setTimeout(function(){t=!1,e()},Ae))}};function Ne(e){return e&&"[object Function]"==={}.toString.call(e)}function ke(e,t){if(1!==e.nodeType)return[];var n=e.ownerDocument.defaultView.getComputedStyle(e,null);return t?n[t]:n}function Le(e){return"HTML"===e.nodeName?e:e.parentNode||e.host}function Pe(e){if(!e)return document.body;switch(e.nodeName){case"HTML":case"BODY":return e.ownerDocument.body;case"#document":return e.body}var t=ke(e),n=t.overflow,i=t.overflowX,o=t.overflowY;return/(auto|scroll|overlay)/.test(n+o+i)?e:Pe(Le(e))}function xe(e){return e&&e.referenceNode?e.referenceNode:e}var je=Ie&&!(!window.MSInputMethodContext||!document.documentMode),He=Ie&&/MSIE 10/.test(navigator.userAgent);function Re(e){return 11===e?je:10===e?He:je||He}function Fe(e){if(!e)return document.documentElement;for(var t=Re(10)?document.body:null,n=e.offsetParent||null;n===t&&e.nextElementSibling;)n=(e=e.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&"BODY"!==i&&"HTML"!==i?-1!==["TH","TD","TABLE"].indexOf(n.nodeName)&&"static"===ke(n,"position")?Fe(n):n:e?e.ownerDocument.documentElement:document.documentElement}function Me(e){return null!==e.parentNode?Me(e.parentNode):e}function We(e,t){if(!(e&&e.nodeType&&t&&t.nodeType))return document.documentElement;var n=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,i=n?e:t,o=n?t:e,r=document.createRange();r.setStart(i,0),r.setEnd(o,0);var s=r.commonAncestorContainer;if(e!==s&&t!==s||i.contains(o))return function(e){var t=e.nodeName;return"BODY"!==t&&("HTML"===t||Fe(e.firstElementChild)===e)}(s)?s:Fe(s);var a=Me(e);return a.host?We(a.host,t):We(e,Me(t).host)}function Ue(e,t){var n="top"===(1<arguments.length&&void 0!==t?t:"top")?"scrollTop":"scrollLeft",i=e.nodeName;if("BODY"!==i&&"HTML"!==i)return e[n];var o=e.ownerDocument.documentElement;return(e.ownerDocument.scrollingElement||o)[n]}function Be(e,t){var n="x"===t?"Left":"Top",i="Left"==n?"Right":"Bottom";return parseFloat(e["border"+n+"Width"],10)+parseFloat(e["border"+i+"Width"],10)}function qe(e,t,n,i){return Math.max(t["offset"+e],t["scroll"+e],n["client"+e],n["offset"+e],n["scroll"+e],Re(10)?parseInt(n["offset"+e])+parseInt(i["margin"+("Height"===e?"Top":"Left")])+parseInt(i["margin"+("Height"===e?"Bottom":"Right")]):0)}function Ke(e){var t=e.body,n=e.documentElement,i=Re(10)&&getComputedStyle(n);return{height:qe("Height",t,n,i),width:qe("Width",t,n,i)}}var Qe=function(e,t,n){return t&&Ve(e.prototype,t),n&&Ve(e,n),e};function Ve(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function Ye(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ze=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e};function Xe(e){return ze({},e,{right:e.left+e.width,bottom:e.top+e.height})}function Ge(e){var t={};try{if(Re(10)){t=e.getBoundingClientRect();var n=Ue(e,"top"),i=Ue(e,"left");t.top+=n,t.left+=i,t.bottom+=n,t.right+=i}else t=e.getBoundingClientRect()}catch(e){}var o={left:t.left,top:t.top,width:t.right-t.left,height:t.bottom-t.top},r="HTML"===e.nodeName?Ke(e.ownerDocument):{},s=r.width||e.clientWidth||o.width,a=r.height||e.clientHeight||o.height,l=e.offsetWidth-s,c=e.offsetHeight-a;if(l||c){var h=ke(e);l-=Be(h,"x"),c-=Be(h,"y"),o.width-=l,o.height-=c}return Xe(o)}function $e(e,t,n){var i=2<arguments.length&&void 0!==n&&n,o=Re(10),r="HTML"===t.nodeName,s=Ge(e),a=Ge(t),l=Pe(e),c=ke(t),h=parseFloat(c.borderTopWidth,10),u=parseFloat(c.borderLeftWidth,10);i&&r&&(a.top=Math.max(a.top,0),a.left=Math.max(a.left,0));var f=Xe({top:s.top-a.top-h,left:s.left-a.left-u,width:s.width,height:s.height});if(f.marginTop=0,f.marginLeft=0,!o&&r){var d=parseFloat(c.marginTop,10),p=parseFloat(c.marginLeft,10);f.top-=h-d,f.bottom-=h-d,f.left-=u-p,f.right-=u-p,f.marginTop=d,f.marginLeft=p}return(o&&!i?t.contains(l):t===l&&"BODY"!==l.nodeName)&&(f=function(e,t,n){var i=2<arguments.length&&void 0!==n&&n,o=Ue(t,"top"),r=Ue(t,"left"),s=i?-1:1;return e.top+=o*s,e.bottom+=o*s,e.left+=r*s,e.right+=r*s,e}(f,t)),f}function Je(e){if(!e||!e.parentElement||Re())return document.documentElement;for(var t=e.parentElement;t&&"none"===ke(t,"transform");)t=t.parentElement;return t||document.documentElement}function Ze(e,t,n,i,o){var r=4<arguments.length&&void 0!==o&&o,s={top:0,left:0},a=r?Je(e):We(e,xe(t));if("viewport"===i)s=function(e,t){var n=1<arguments.length&&void 0!==t&&t,i=e.ownerDocument.documentElement,o=$e(e,i),r=Math.max(i.clientWidth,window.innerWidth||0),s=Math.max(i.clientHeight,window.innerHeight||0),a=n?0:Ue(i),l=n?0:Ue(i,"left");return Xe({top:a-o.top+o.marginTop,left:l-o.left+o.marginLeft,width:r,height:s})}(a,r);else{var l=void 0;"scrollParent"===i?"BODY"===(l=Pe(Le(t))).nodeName&&(l=e.ownerDocument.documentElement):l="window"===i?e.ownerDocument.documentElement:i;var c=$e(l,a,r);if("HTML"!==l.nodeName||function e(t){var n=t.nodeName;if("BODY"===n||"HTML"===n)return!1;if("fixed"===ke(t,"position"))return!0;var i=Le(t);return!!i&&e(i)}(a))s=c;else{var h=Ke(e.ownerDocument),u=h.height,f=h.width;s.top+=c.top-c.marginTop,s.bottom=u+c.top,s.left+=c.left-c.marginLeft,s.right=f+c.left}}var d="number"==typeof(n=n||0);return s.left+=d?n:n.left||0,s.top+=d?n:n.top||0,s.right-=d?n:n.right||0,s.bottom-=d?n:n.bottom||0,s}function et(e,t,i,n,o,r){var s=5<arguments.length&&void 0!==r?r:0;if(-1===e.indexOf("auto"))return e;var a=Ze(i,n,s,o),l={top:{width:a.width,height:t.top-a.top},right:{width:a.right-t.right,height:a.height},bottom:{width:a.width,height:a.bottom-t.bottom},left:{width:t.left-a.left,height:a.height}},c=Object.keys(l).map(function(e){return ze({key:e},l[e],{area:function(e){return e.width*e.height}(l[e])})}).sort(function(e,t){return t.area-e.area}),h=c.filter(function(e){var t=e.width,n=e.height;return t>=i.clientWidth&&n>=i.clientHeight}),u=0<h.length?h[0].key:c[0].key,f=e.split("-")[1];return u+(f?"-"+f:"")}function tt(e,t,n,i){var o=3<arguments.length&&void 0!==i?i:null;return $e(n,o?Je(t):We(t,xe(n)),o)}function nt(e){var t=e.ownerDocument.defaultView.getComputedStyle(e),n=parseFloat(t.marginTop||0)+parseFloat(t.marginBottom||0),i=parseFloat(t.marginLeft||0)+parseFloat(t.marginRight||0);return{width:e.offsetWidth+i,height:e.offsetHeight+n}}function it(e){var t={left:"right",right:"left",bottom:"top",top:"bottom"};return e.replace(/left|right|bottom|top/g,function(e){return t[e]})}function ot(e,t,n){n=n.split("-")[0];var i=nt(e),o={width:i.width,height:i.height},r=-1!==["right","left"].indexOf(n),s=r?"top":"left",a=r?"left":"top",l=r?"height":"width",c=r?"width":"height";return o[s]=t[s]+t[l]/2-i[l]/2,o[a]=n===a?t[a]-i[c]:t[it(a)],o}function rt(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function st(e,n,t){return(void 0===t?e:e.slice(0,function(e,t,n){if(Array.prototype.findIndex)return e.findIndex(function(e){return e[t]===n});var i=rt(e,function(e){return e[t]===n});return e.indexOf(i)}(e,"name",t))).forEach(function(e){e.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var t=e.function||e.fn;e.enabled&&Ne(t)&&(n.offsets.popper=Xe(n.offsets.popper),n.offsets.reference=Xe(n.offsets.reference),n=t(n,e))}),n}function at(e,n){return e.some(function(e){var t=e.name;return e.enabled&&t===n})}function lt(e){for(var t=[!1,"ms","Webkit","Moz","O"],n=e.charAt(0).toUpperCase()+e.slice(1),i=0;i<t.length;i++){var o=t[i],r=o?""+o+n:e;if("undefined"!=typeof document.body.style[r])return r}return null}function ct(e){var t=e.ownerDocument;return t?t.defaultView:window}function ht(e,t,n,i){n.updateBound=i,ct(e).addEventListener("resize",n.updateBound,{passive:!0});var o=Pe(e);return function e(t,n,i,o){var r="BODY"===t.nodeName,s=r?t.ownerDocument.defaultView:t;s.addEventListener(n,i,{passive:!0}),r||e(Pe(s.parentNode),n,i,o),o.push(s)}(o,"scroll",n.updateBound,n.scrollParents),n.scrollElement=o,n.eventsEnabled=!0,n}function ut(){this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=function(e,t){return ct(e).removeEventListener("resize",t.updateBound),t.scrollParents.forEach(function(e){e.removeEventListener("scroll",t.updateBound)}),t.updateBound=null,t.scrollParents=[],t.scrollElement=null,t.eventsEnabled=!1,t}(this.reference,this.state))}function ft(e){return""!==e&&!isNaN(parseFloat(e))&&isFinite(e)}function dt(n,i){Object.keys(i).forEach(function(e){var t="";-1!==["width","height","top","right","bottom","left"].indexOf(e)&&ft(i[e])&&(t="px"),n.style[e]=i[e]+t})}function pt(e,t){function n(e){return e}var i=e.offsets,o=i.popper,r=i.reference,s=Math.round,a=Math.floor,l=s(r.width),c=s(o.width),h=-1!==["left","right"].indexOf(e.placement),u=-1!==e.placement.indexOf("-"),f=t?h||u||l%2==c%2?s:a:n,d=t?s:n;return{left:f(l%2==1&&c%2==1&&!u&&t?o.left-1:o.left),top:d(o.top),bottom:d(o.bottom),right:f(o.right)}}var mt=Ie&&/Firefox/i.test(navigator.userAgent);function gt(e,t,n){var i=rt(e,function(e){return e.name===t}),o=!!i&&e.some(function(e){return e.name===n&&e.enabled&&e.order<i.order});if(!o){var r="`"+t+"`",s="`"+n+"`";console.warn(s+" modifier is required by "+r+" modifier in order to work, be sure to include it before "+r+"!")}return o}var _t=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],vt=_t.slice(3);function yt(e,t){var n=1<arguments.length&&void 0!==t&&t,i=vt.indexOf(e),o=vt.slice(i+1).concat(vt.slice(0,i));return n?o.reverse():o}var Et="flip",bt="clockwise",wt="counterclockwise";function Tt(e,o,r,t){var s=[0,0],a=-1!==["right","left"].indexOf(t),n=e.split(/(\+|\-)/).map(function(e){return e.trim()}),i=n.indexOf(rt(n,function(e){return-1!==e.search(/,|\s/)}));n[i]&&-1===n[i].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,c=-1!==i?[n.slice(0,i).concat([n[i].split(l)[0]]),[n[i].split(l)[1]].concat(n.slice(i+1))]:[n];return(c=c.map(function(e,t){var n=(1===t?!a:a)?"height":"width",i=!1;return e.reduce(function(e,t){return""===e[e.length-1]&&-1!==["+","-"].indexOf(t)?(e[e.length-1]=t,i=!0,e):i?(e[e.length-1]+=t,i=!1,e):e.concat(t)},[]).map(function(e){return function(e,t,n,i){var o=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),r=+o[1],s=o[2];if(!r)return e;if(0!==s.indexOf("%"))return"vh"!==s&&"vw"!==s?r:("vh"===s?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*r;var a=void 0;switch(s){case"%p":a=n;break;case"%":case"%r":default:a=i}return Xe(a)[t]/100*r}(e,n,o,r)})})).forEach(function(n,i){n.forEach(function(e,t){ft(e)&&(s[i]+=e*("-"===n[t-1]?-1:1))})}),s}var Ct={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(e){var t=e.placement,n=t.split("-")[0],i=t.split("-")[1];if(i){var o=e.offsets,r=o.reference,s=o.popper,a=-1!==["bottom","top"].indexOf(n),l=a?"left":"top",c=a?"width":"height",h={start:Ye({},l,r[l]),end:Ye({},l,r[l]+r[c]-s[c])};e.offsets.popper=ze({},s,h[i])}return e}},offset:{order:200,enabled:!0,fn:function(e,t){var n=t.offset,i=e.placement,o=e.offsets,r=o.popper,s=o.reference,a=i.split("-")[0],l=void 0;return l=ft(+n)?[+n,0]:Tt(n,r,s,a),"left"===a?(r.top+=l[0],r.left-=l[1]):"right"===a?(r.top+=l[0],r.left+=l[1]):"top"===a?(r.left+=l[0],r.top-=l[1]):"bottom"===a&&(r.left+=l[0],r.top+=l[1]),e.popper=r,e},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(e,i){var t=i.boundariesElement||Fe(e.instance.popper);e.instance.reference===t&&(t=Fe(t));var n=lt("transform"),o=e.instance.popper.style,r=o.top,s=o.left,a=o[n];o.top="",o.left="",o[n]="";var l=Ze(e.instance.popper,e.instance.reference,i.padding,t,e.positionFixed);o.top=r,o.left=s,o[n]=a,i.boundaries=l;var c=i.priority,h=e.offsets.popper,u={primary:function(e){var t=h[e];return h[e]<l[e]&&!i.escapeWithReference&&(t=Math.max(h[e],l[e])),Ye({},e,t)},secondary:function(e){var t="right"===e?"left":"top",n=h[t];return h[e]>l[e]&&!i.escapeWithReference&&(n=Math.min(h[t],l[e]-("right"===e?h.width:h.height))),Ye({},t,n)}};return c.forEach(function(e){var t=-1!==["left","top"].indexOf(e)?"primary":"secondary";h=ze({},h,u[t](e))}),e.offsets.popper=h,e},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,n=t.popper,i=t.reference,o=e.placement.split("-")[0],r=Math.floor,s=-1!==["top","bottom"].indexOf(o),a=s?"right":"bottom",l=s?"left":"top",c=s?"width":"height";return n[a]<r(i[l])&&(e.offsets.popper[l]=r(i[l])-n[c]),n[l]>r(i[a])&&(e.offsets.popper[l]=r(i[a])),e}},arrow:{order:500,enabled:!0,fn:function(e,t){var n;if(!gt(e.instance.modifiers,"arrow","keepTogether"))return e;var i=t.element;if("string"==typeof i){if(!(i=e.instance.popper.querySelector(i)))return e}else if(!e.instance.popper.contains(i))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),e;var o=e.placement.split("-")[0],r=e.offsets,s=r.popper,a=r.reference,l=-1!==["left","right"].indexOf(o),c=l?"height":"width",h=l?"Top":"Left",u=h.toLowerCase(),f=l?"left":"top",d=l?"bottom":"right",p=nt(i)[c];a[d]-p<s[u]&&(e.offsets.popper[u]-=s[u]-(a[d]-p)),a[u]+p>s[d]&&(e.offsets.popper[u]+=a[u]+p-s[d]),e.offsets.popper=Xe(e.offsets.popper);var m=a[u]+a[c]/2-p/2,g=ke(e.instance.popper),_=parseFloat(g["margin"+h],10),v=parseFloat(g["border"+h+"Width"],10),y=m-e.offsets.popper[u]-_-v;return y=Math.max(Math.min(s[c]-p,y),0),e.arrowElement=i,e.offsets.arrow=(Ye(n={},u,Math.round(y)),Ye(n,f,""),n),e},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(m,g){if(at(m.instance.modifiers,"inner"))return m;if(m.flipped&&m.placement===m.originalPlacement)return m;var _=Ze(m.instance.popper,m.instance.reference,g.padding,g.boundariesElement,m.positionFixed),v=m.placement.split("-")[0],y=it(v),E=m.placement.split("-")[1]||"",b=[];switch(g.behavior){case Et:b=[v,y];break;case bt:b=yt(v);break;case wt:b=yt(v,!0);break;default:b=g.behavior}return b.forEach(function(e,t){if(v!==e||b.length===t+1)return m;v=m.placement.split("-")[0],y=it(v);var n=m.offsets.popper,i=m.offsets.reference,o=Math.floor,r="left"===v&&o(n.right)>o(i.left)||"right"===v&&o(n.left)<o(i.right)||"top"===v&&o(n.bottom)>o(i.top)||"bottom"===v&&o(n.top)<o(i.bottom),s=o(n.left)<o(_.left),a=o(n.right)>o(_.right),l=o(n.top)<o(_.top),c=o(n.bottom)>o(_.bottom),h="left"===v&&s||"right"===v&&a||"top"===v&&l||"bottom"===v&&c,u=-1!==["top","bottom"].indexOf(v),f=!!g.flipVariations&&(u&&"start"===E&&s||u&&"end"===E&&a||!u&&"start"===E&&l||!u&&"end"===E&&c),d=!!g.flipVariationsByContent&&(u&&"start"===E&&a||u&&"end"===E&&s||!u&&"start"===E&&c||!u&&"end"===E&&l),p=f||d;(r||h||p)&&(m.flipped=!0,(r||h)&&(v=b[t+1]),p&&(E=function(e){return"end"===e?"start":"start"===e?"end":e}(E)),m.placement=v+(E?"-"+E:""),m.offsets.popper=ze({},m.offsets.popper,ot(m.instance.popper,m.offsets.reference,m.placement)),m=st(m.instance.modifiers,m,"flip"))}),m},behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,n=t.split("-")[0],i=e.offsets,o=i.popper,r=i.reference,s=-1!==["left","right"].indexOf(n),a=-1===["top","left"].indexOf(n);return o[s?"left":"top"]=r[n]-(a?o[s?"width":"height"]:0),e.placement=it(t),e.offsets.popper=Xe(o),e}},hide:{order:800,enabled:!0,fn:function(e){if(!gt(e.instance.modifiers,"hide","preventOverflow"))return e;var t=e.offsets.reference,n=rt(e.instance.modifiers,function(e){return"preventOverflow"===e.name}).boundaries;if(t.bottom<n.top||t.left>n.right||t.top>n.bottom||t.right<n.left){if(!0===e.hide)return e;e.hide=!0,e.attributes["x-out-of-boundaries"]=""}else{if(!1===e.hide)return e;e.hide=!1,e.attributes["x-out-of-boundaries"]=!1}return e}},computeStyle:{order:850,enabled:!0,fn:function(e,t){var n=t.x,i=t.y,o=e.offsets.popper,r=rt(e.instance.modifiers,function(e){return"applyStyle"===e.name}).gpuAcceleration;void 0!==r&&console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var s=void 0!==r?r:t.gpuAcceleration,a=Fe(e.instance.popper),l=Ge(a),c={position:o.position},h=pt(e,window.devicePixelRatio<2||!mt),u="bottom"===n?"top":"bottom",f="right"===i?"left":"right",d=lt("transform"),p=void 0,m=void 0;if(m="bottom"==u?"HTML"===a.nodeName?-a.clientHeight+h.bottom:-l.height+h.bottom:h.top,p="right"==f?"HTML"===a.nodeName?-a.clientWidth+h.right:-l.width+h.right:h.left,s&&d)c[d]="translate3d("+p+"px, "+m+"px, 0)",c[u]=0,c[f]=0,c.willChange="transform";else{var g="bottom"==u?-1:1,_="right"==f?-1:1;c[u]=m*g,c[f]=p*_,c.willChange=u+", "+f}var v={"x-placement":e.placement};return e.attributes=ze({},v,e.attributes),e.styles=ze({},c,e.styles),e.arrowStyles=ze({},e.offsets.arrow,e.arrowStyles),e},gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:function(e){return dt(e.instance.popper,e.styles),function(t,n){Object.keys(n).forEach(function(e){!1!==n[e]?t.setAttribute(e,n[e]):t.removeAttribute(e)})}(e.instance.popper,e.attributes),e.arrowElement&&Object.keys(e.arrowStyles).length&&dt(e.arrowElement,e.arrowStyles),e},onLoad:function(e,t,n,i,o){var r=tt(o,t,e,n.positionFixed),s=et(n.placement,r,t,e,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return t.setAttribute("x-placement",s),dt(t,{position:n.positionFixed?"fixed":"absolute"}),n},gpuAcceleration:void 0}}},St=(Qe(Dt,[{key:"update",value:function(){return function(){if(!this.state.isDestroyed){var e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=tt(this.state,this.popper,this.reference,this.options.positionFixed),e.placement=et(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.positionFixed=this.options.positionFixed,e.offsets.popper=ot(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",e=st(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}.call(this)}},{key:"destroy",value:function(){return function(){return this.state.isDestroyed=!0,at(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.position="",this.popper.style.top="",this.popper.style.left="",this.popper.style.right="",this.popper.style.bottom="",this.popper.style.willChange="",this.popper.style[lt("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}.call(this)}},{key:"enableEventListeners",value:function(){return function(){this.state.eventsEnabled||(this.state=ht(this.reference,this.options,this.state,this.scheduleUpdate))}.call(this)}},{key:"disableEventListeners",value:function(){return ut.call(this)}}]),Dt);function Dt(e,t){var n=this,i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,Dt),this.scheduleUpdate=function(){return requestAnimationFrame(n.update)},this.update=Oe(this.update.bind(this)),this.options=ze({},Dt.Defaults,i),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=t&&t.jquery?t[0]:t,this.options.modifiers={},Object.keys(ze({},Dt.Defaults.modifiers,i.modifiers)).forEach(function(e){n.options.modifiers[e]=ze({},Dt.Defaults.modifiers[e]||{},i.modifiers?i.modifiers[e]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(e){return ze({name:e},n.options.modifiers[e])}).sort(function(e,t){return e.order-t.order}),this.modifiers.forEach(function(e){e.enabled&&Ne(e.onLoad)&&e.onLoad(n.reference,n.popper,n.options,e,n.state)}),this.update();var o=this.options.eventsEnabled;o&&this.enableEventListeners(),this.state.eventsEnabled=o}St.Utils=("undefined"!=typeof window?window:global).PopperUtils,St.placements=_t,St.Defaults=Ct;var It="dropdown",At="bs.dropdown",Ot="."+At,Nt=".data-api",kt=p.fn[It],Lt=new RegExp("38|40|27"),Pt={HIDE:"hide"+Ot,HIDDEN:"hidden"+Ot,SHOW:"show"+Ot,SHOWN:"shown"+Ot,CLICK:"click"+Ot,CLICK_DATA_API:"click"+Ot+Nt,KEYDOWN_DATA_API:"keydown"+Ot+Nt,KEYUP_DATA_API:"keyup"+Ot+Nt},xt="disabled",jt="show",Ht="dropup",Rt="dropright",Ft="dropleft",Mt="dropdown-menu-right",Wt="position-static",Ut='[data-toggle="dropdown"]',Bt=".dropdown form",qt=".dropdown-menu",Kt=".navbar-nav",Qt=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",Vt="top-start",Yt="top-end",zt="bottom-start",Xt="bottom-end",Gt="right-start",$t="left-start",Jt={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic",popperConfig:null},Zt={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string",popperConfig:"(null|object)"},en=function(){function c(e,t){this._element=e,this._popper=null,this._config=this._getConfig(t),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var e=c.prototype;return e.toggle=function(){if(!this._element.disabled&&!p(this._element).hasClass(xt)){var e=p(this._menu).hasClass(jt);c._clearMenus(),e||this.show(!0)}},e.show=function(e){if(void 0===e&&(e=!1),!(this._element.disabled||p(this._element).hasClass(xt)||p(this._menu).hasClass(jt))){var t={relatedTarget:this._element},n=p.Event(Pt.SHOW,t),i=c._getParentFromElement(this._element);if(p(i).trigger(n),!n.isDefaultPrevented()){if(!this._inNavbar&&e){if("undefined"==typeof St)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org/)");var o=this._element;"parent"===this._config.reference?o=i:m.isElement(this._config.reference)&&(o=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(o=this._config.reference[0])),"scrollParent"!==this._config.boundary&&p(i).addClass(Wt),this._popper=new St(o,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===p(i).closest(Kt).length&&p(document.body).children().on("mouseover",null,p.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),p(this._menu).toggleClass(jt),p(i).toggleClass(jt).trigger(p.Event(Pt.SHOWN,t))}}},e.hide=function(){if(!this._element.disabled&&!p(this._element).hasClass(xt)&&p(this._menu).hasClass(jt)){var e={relatedTarget:this._element},t=p.Event(Pt.HIDE,e),n=c._getParentFromElement(this._element);p(n).trigger(t),t.isDefaultPrevented()||(this._popper&&this._popper.destroy(),p(this._menu).toggleClass(jt),p(n).toggleClass(jt).trigger(p.Event(Pt.HIDDEN,e)))}},e.dispose=function(){p.removeData(this._element,At),p(this._element).off(Ot),this._element=null,(this._menu=null)!==this._popper&&(this._popper.destroy(),this._popper=null)},e.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},e._addEventListeners=function(){var t=this;p(this._element).on(Pt.CLICK,function(e){e.preventDefault(),e.stopPropagation(),t.toggle()})},e._getConfig=function(e){return e=l({},this.constructor.Default,{},p(this._element).data(),{},e),m.typeCheckConfig(It,e,this.constructor.DefaultType),e},e._getMenuElement=function(){if(!this._menu){var e=c._getParentFromElement(this._element);e&&(this._menu=e.querySelector(qt))}return this._menu},e._getPlacement=function(){var e=p(this._element.parentNode),t=zt;return e.hasClass(Ht)?(t=Vt,p(this._menu).hasClass(Mt)&&(t=Yt)):e.hasClass(Rt)?t=Gt:e.hasClass(Ft)?t=$t:p(this._menu).hasClass(Mt)&&(t=Xt),t},e._detectNavbar=function(){return 0<p(this._element).closest(".navbar").length},e._getOffset=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=l({},e.offsets,{},t._config.offset(e.offsets,t._element)||{}),e}:e.offset=this._config.offset,e},e._getPopperConfig=function(){var e={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(e.modifiers.applyStyle={enabled:!1}),l({},e,{},this._config.popperConfig)},c._jQueryInterface=function(t){return this.each(function(){var e=p(this).data(At);if(e||(e=new c(this,"object"==typeof t?t:null),p(this).data(At,e)),"string"==typeof t){if("undefined"==typeof e[t])throw new TypeError('No method named "'+t+'"');e[t]()}})},c._clearMenus=function(e){if(!e||3!==e.which&&("keyup"!==e.type||9===e.which))for(var t=[].slice.call(document.querySelectorAll(Ut)),n=0,i=t.length;n<i;n++){var o=c._getParentFromElement(t[n]),r=p(t[n]).data(At),s={relatedTarget:t[n]};if(e&&"click"===e.type&&(s.clickEvent=e),r){var a=r._menu;if(p(o).hasClass(jt)&&!(e&&("click"===e.type&&/input|textarea/i.test(e.target.tagName)||"keyup"===e.type&&9===e.which)&&p.contains(o,e.target))){var l=p.Event(Pt.HIDE,s);p(o).trigger(l),l.isDefaultPrevented()||("ontouchstart"in document.documentElement&&p(document.body).children().off("mouseover",null,p.noop),t[n].setAttribute("aria-expanded","false"),r._popper&&r._popper.destroy(),p(a).removeClass(jt),p(o).removeClass(jt).trigger(p.Event(Pt.HIDDEN,s)))}}}},c._getParentFromElement=function(e){var t,n=m.getSelectorFromElement(e);return n&&(t=document.querySelector(n)),t||e.parentNode},c._dataApiKeydownHandler=function(e){if((/input|textarea/i.test(e.target.tagName)?!(32===e.which||27!==e.which&&(40!==e.which&&38!==e.which||p(e.target).closest(qt).length)):Lt.test(e.which))&&(e.preventDefault(),e.stopPropagation(),!this.disabled&&!p(this).hasClass(xt))){var t=c._getParentFromElement(this),n=p(t).hasClass(jt);if(n||27!==e.which)if(n&&(!n||27!==e.which&&32!==e.which)){var i=[].slice.call(t.querySelectorAll(Qt)).filter(function(e){return p(e).is(":visible")});if(0!==i.length){var o=i.indexOf(e.target);38===e.which&&0<o&&o--,40===e.which&&o<i.length-1&&o++,o<0&&(o=0),i[o].focus()}}else{if(27===e.which){var r=t.querySelector(Ut);p(r).trigger("focus")}p(this).trigger("click")}}},s(c,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return Jt}},{key:"DefaultType",get:function(){return Zt}}]),c}();p(document).on(Pt.KEYDOWN_DATA_API,Ut,en._dataApiKeydownHandler).on(Pt.KEYDOWN_DATA_API,qt,en._dataApiKeydownHandler).on(Pt.CLICK_DATA_API+" "+Pt.KEYUP_DATA_API,en._clearMenus).on(Pt.CLICK_DATA_API,Ut,function(e){e.preventDefault(),e.stopPropagation(),en._jQueryInterface.call(p(this),"toggle")}).on(Pt.CLICK_DATA_API,Bt,function(e){e.stopPropagation()}),p.fn[It]=en._jQueryInterface,p.fn[It].Constructor=en,p.fn[It].noConflict=function(){return p.fn[It]=kt,en._jQueryInterface};var tn="modal",nn="bs.modal",on="."+nn,rn=p.fn[tn],sn={backdrop:!0,keyboard:!0,focus:!0,show:!0},an={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},ln={HIDE:"hide"+on,HIDE_PREVENTED:"hidePrevented"+on,HIDDEN:"hidden"+on,SHOW:"show"+on,SHOWN:"shown"+on,FOCUSIN:"focusin"+on,RESIZE:"resize"+on,CLICK_DISMISS:"click.dismiss"+on,KEYDOWN_DISMISS:"keydown.dismiss"+on,MOUSEUP_DISMISS:"mouseup.dismiss"+on,MOUSEDOWN_DISMISS:"mousedown.dismiss"+on,CLICK_DATA_API:"click"+on+".data-api"},cn="modal-dialog-scrollable",hn="modal-scrollbar-measure",un="modal-backdrop",fn="modal-open",dn="fade",pn="show",mn="modal-static",gn=".modal-dialog",_n=".modal-body",vn='[data-toggle="modal"]',yn='[data-dismiss="modal"]',En=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",bn=".sticky-top",wn=function(){function o(e,t){this._config=this._getConfig(t),this._element=e,this._dialog=e.querySelector(gn),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0}var e=o.prototype;return e.toggle=function(e){return this._isShown?this.hide():this.show(e)},e.show=function(e){var t=this;if(!this._isShown&&!this._isTransitioning){p(this._element).hasClass(dn)&&(this._isTransitioning=!0);var n=p.Event(ln.SHOW,{relatedTarget:e});p(this._element).trigger(n),this._isShown||n.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),p(this._element).on(ln.CLICK_DISMISS,yn,function(e){return t.hide(e)}),p(this._dialog).on(ln.MOUSEDOWN_DISMISS,function(){p(t._element).one(ln.MOUSEUP_DISMISS,function(e){p(e.target).is(t._element)&&(t._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return t._showElement(e)}))}},e.hide=function(e){var t=this;if(e&&e.preventDefault(),this._isShown&&!this._isTransitioning){var n=p.Event(ln.HIDE);if(p(this._element).trigger(n),this._isShown&&!n.isDefaultPrevented()){this._isShown=!1;var i=p(this._element).hasClass(dn);if(i&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),p(document).off(ln.FOCUSIN),p(this._element).removeClass(pn),p(this._element).off(ln.CLICK_DISMISS),p(this._dialog).off(ln.MOUSEDOWN_DISMISS),i){var o=m.getTransitionDurationFromElement(this._element);p(this._element).one(m.TRANSITION_END,function(e){return t._hideModal(e)}).emulateTransitionEnd(o)}else this._hideModal()}}},e.dispose=function(){[window,this._element,this._dialog].forEach(function(e){return p(e).off(on)}),p(document).off(ln.FOCUSIN),p.removeData(this._element,nn),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._isTransitioning=null,this._scrollbarWidth=null},e.handleUpdate=function(){this._adjustDialog()},e._getConfig=function(e){return e=l({},sn,{},e),m.typeCheckConfig(tn,e,an),e},e._triggerBackdropTransition=function(){var e=this;if("static"===this._config.backdrop){var t=p.Event(ln.HIDE_PREVENTED);if(p(this._element).trigger(t),t.defaultPrevented)return;this._element.classList.add(mn);var n=m.getTransitionDurationFromElement(this._element);p(this._element).one(m.TRANSITION_END,function(){e._element.classList.remove(mn)}).emulateTransitionEnd(n),this._element.focus()}else this.hide()},e._showElement=function(e){var t=this,n=p(this._element).hasClass(dn),i=this._dialog?this._dialog.querySelector(_n):null;this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),p(this._dialog).hasClass(cn)&&i?i.scrollTop=0:this._element.scrollTop=0,n&&m.reflow(this._element),p(this._element).addClass(pn),this._config.focus&&this._enforceFocus();function o(){t._config.focus&&t._element.focus(),t._isTransitioning=!1,p(t._element).trigger(r)}var r=p.Event(ln.SHOWN,{relatedTarget:e});if(n){var s=m.getTransitionDurationFromElement(this._dialog);p(this._dialog).one(m.TRANSITION_END,o).emulateTransitionEnd(s)}else o()},e._enforceFocus=function(){var t=this;p(document).off(ln.FOCUSIN).on(ln.FOCUSIN,function(e){document!==e.target&&t._element!==e.target&&0===p(t._element).has(e.target).length&&t._element.focus()})},e._setEscapeEvent=function(){var t=this;this._isShown&&this._config.keyboard?p(this._element).on(ln.KEYDOWN_DISMISS,function(e){27===e.which&&t._triggerBackdropTransition()}):this._isShown||p(this._element).off(ln.KEYDOWN_DISMISS)},e._setResizeEvent=function(){var t=this;this._isShown?p(window).on(ln.RESIZE,function(e){return t.handleUpdate(e)}):p(window).off(ln.RESIZE)},e._hideModal=function(){var e=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._isTransitioning=!1,this._showBackdrop(function(){p(document.body).removeClass(fn),e._resetAdjustments(),e._resetScrollbar(),p(e._element).trigger(ln.HIDDEN)})},e._removeBackdrop=function(){this._backdrop&&(p(this._backdrop).remove(),this._backdrop=null)},e._showBackdrop=function(e){var t=this,n=p(this._element).hasClass(dn)?dn:"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className=un,n&&this._backdrop.classList.add(n),p(this._backdrop).appendTo(document.body),p(this._element).on(ln.CLICK_DISMISS,function(e){t._ignoreBackdropClick?t._ignoreBackdropClick=!1:e.target===e.currentTarget&&t._triggerBackdropTransition()}),n&&m.reflow(this._backdrop),p(this._backdrop).addClass(pn),!e)return;if(!n)return void e();var i=m.getTransitionDurationFromElement(this._backdrop);p(this._backdrop).one(m.TRANSITION_END,e).emulateTransitionEnd(i)}else if(!this._isShown&&this._backdrop){p(this._backdrop).removeClass(pn);var o=function(){t._removeBackdrop(),e&&e()};if(p(this._element).hasClass(dn)){var r=m.getTransitionDurationFromElement(this._backdrop);p(this._backdrop).one(m.TRANSITION_END,o).emulateTransitionEnd(r)}else o()}else e&&e()},e._adjustDialog=function(){var e=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&e&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!e&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},e._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},e._checkScrollbar=function(){var e=document.body.getBoundingClientRect();this._isBodyOverflowing=e.left+e.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},e._setScrollbar=function(){var o=this;if(this._isBodyOverflowing){var e=[].slice.call(document.querySelectorAll(En)),t=[].slice.call(document.querySelectorAll(bn));p(e).each(function(e,t){var n=t.style.paddingRight,i=p(t).css("padding-right");p(t).data("padding-right",n).css("padding-right",parseFloat(i)+o._scrollbarWidth+"px")}),p(t).each(function(e,t){var n=t.style.marginRight,i=p(t).css("margin-right");p(t).data("margin-right",n).css("margin-right",parseFloat(i)-o._scrollbarWidth+"px")});var n=document.body.style.paddingRight,i=p(document.body).css("padding-right");p(document.body).data("padding-right",n).css("padding-right",parseFloat(i)+this._scrollbarWidth+"px")}p(document.body).addClass(fn)},e._resetScrollbar=function(){var e=[].slice.call(document.querySelectorAll(En));p(e).each(function(e,t){var n=p(t).data("padding-right");p(t).removeData("padding-right"),t.style.paddingRight=n||""});var t=[].slice.call(document.querySelectorAll(""+bn));p(t).each(function(e,t){var n=p(t).data("margin-right");"undefined"!=typeof n&&p(t).css("margin-right",n).removeData("margin-right")});var n=p(document.body).data("padding-right");p(document.body).removeData("padding-right"),document.body.style.paddingRight=n||""},e._getScrollbarWidth=function(){var e=document.createElement("div");e.className=hn,document.body.appendChild(e);var t=e.getBoundingClientRect().width-e.clientWidth;return document.body.removeChild(e),t},o._jQueryInterface=function(n,i){return this.each(function(){var e=p(this).data(nn),t=l({},sn,{},p(this).data(),{},"object"==typeof n&&n?n:{});if(e||(e=new o(this,t),p(this).data(nn,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n](i)}else t.show&&e.show(i)})},s(o,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return sn}}]),o}();p(document).on(ln.CLICK_DATA_API,vn,function(e){var t,n=this,i=m.getSelectorFromElement(this);i&&(t=document.querySelector(i));var o=p(t).data(nn)?"toggle":l({},p(t).data(),{},p(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||e.preventDefault();var r=p(t).one(ln.SHOW,function(e){e.isDefaultPrevented()||r.one(ln.HIDDEN,function(){p(n).is(":visible")&&n.focus()})});wn._jQueryInterface.call(p(t),o,this)}),p.fn[tn]=wn._jQueryInterface,p.fn[tn].Constructor=wn,p.fn[tn].noConflict=function(){return p.fn[tn]=rn,wn._jQueryInterface};var Tn=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],Cn={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Sn=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,Dn=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;function In(e,r,t){if(0===e.length)return e;if(t&&"function"==typeof t)return t(e);for(var n=(new window.DOMParser).parseFromString(e,"text/html"),s=Object.keys(r),a=[].slice.call(n.body.querySelectorAll("*")),i=function(e){var t=a[e],n=t.nodeName.toLowerCase();if(-1===s.indexOf(t.nodeName.toLowerCase()))return t.parentNode.removeChild(t),"continue";var i=[].slice.call(t.attributes),o=[].concat(r["*"]||[],r[n]||[]);i.forEach(function(e){!function(e,t){var n=e.nodeName.toLowerCase();if(-1!==t.indexOf(n))return-1===Tn.indexOf(n)||Boolean(e.nodeValue.match(Sn)||e.nodeValue.match(Dn));for(var i=t.filter(function(e){return e instanceof RegExp}),o=0,r=i.length;o<r;o++)if(n.match(i[o]))return!0;return!1}(e,o)&&t.removeAttribute(e.nodeName)})},o=0,l=a.length;o<l;o++)i(o);return n.body.innerHTML}var An="tooltip",On="bs.tooltip",Nn="."+On,kn=p.fn[An],Ln="bs-tooltip",Pn=new RegExp("(^|\\s)"+Ln+"\\S+","g"),xn=["sanitize","whiteList","sanitizeFn"],jn={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string|function)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)",sanitize:"boolean",sanitizeFn:"(null|function)",whiteList:"object",popperConfig:"(null|object)"},Hn={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},Rn={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:Cn,popperConfig:null},Fn="show",Mn="out",Wn={HIDE:"hide"+Nn,HIDDEN:"hidden"+Nn,SHOW:"show"+Nn,SHOWN:"shown"+Nn,INSERTED:"inserted"+Nn,CLICK:"click"+Nn,FOCUSIN:"focusin"+Nn,FOCUSOUT:"focusout"+Nn,MOUSEENTER:"mouseenter"+Nn,MOUSELEAVE:"mouseleave"+Nn},Un="fade",Bn="show",qn=".tooltip-inner",Kn=".arrow",Qn="hover",Vn="focus",Yn="click",zn="manual",Xn=function(){function i(e,t){if("undefined"==typeof St)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=e,this.config=this._getConfig(t),this.tip=null,this._setListeners()}var e=i.prototype;return e.enable=function(){this._isEnabled=!0},e.disable=function(){this._isEnabled=!1},e.toggleEnabled=function(){this._isEnabled=!this._isEnabled},e.toggle=function(e){if(this._isEnabled)if(e){var t=this.constructor.DATA_KEY,n=p(e.currentTarget).data(t);n||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),p(e.currentTarget).data(t,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(p(this.getTipElement()).hasClass(Bn))return void this._leave(null,this);this._enter(null,this)}},e.dispose=function(){clearTimeout(this._timeout),p.removeData(this.element,this.constructor.DATA_KEY),p(this.element).off(this.constructor.EVENT_KEY),p(this.element).closest(".modal").off("hide.bs.modal",this._hideModalHandler),this.tip&&p(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},e.show=function(){var t=this;if("none"===p(this.element).css("display"))throw new Error("Please use show on visible elements");var e=p.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){p(this.element).trigger(e);var n=m.findShadowRoot(this.element),i=p.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(e.isDefaultPrevented()||!i)return;var o=this.getTipElement(),r=m.getUID(this.constructor.NAME);o.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&p(o).addClass(Un);var s="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,a=this._getAttachment(s);this.addAttachmentClass(a);var l=this._getContainer();p(o).data(this.constructor.DATA_KEY,this),p.contains(this.element.ownerDocument.documentElement,this.tip)||p(o).appendTo(l),p(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new St(this.element,o,this._getPopperConfig(a)),p(o).addClass(Bn),"ontouchstart"in document.documentElement&&p(document.body).children().on("mouseover",null,p.noop);var c=function(){t.config.animation&&t._fixTransition();var e=t._hoverState;t._hoverState=null,p(t.element).trigger(t.constructor.Event.SHOWN),e===Mn&&t._leave(null,t)};if(p(this.tip).hasClass(Un)){var h=m.getTransitionDurationFromElement(this.tip);p(this.tip).one(m.TRANSITION_END,c).emulateTransitionEnd(h)}else c()}},e.hide=function(e){function t(){n._hoverState!==Fn&&i.parentNode&&i.parentNode.removeChild(i),n._cleanTipClass(),n.element.removeAttribute("aria-describedby"),p(n.element).trigger(n.constructor.Event.HIDDEN),null!==n._popper&&n._popper.destroy(),e&&e()}var n=this,i=this.getTipElement(),o=p.Event(this.constructor.Event.HIDE);if(p(this.element).trigger(o),!o.isDefaultPrevented()){if(p(i).removeClass(Bn),"ontouchstart"in document.documentElement&&p(document.body).children().off("mouseover",null,p.noop),this._activeTrigger[Yn]=!1,this._activeTrigger[Vn]=!1,this._activeTrigger[Qn]=!1,p(this.tip).hasClass(Un)){var r=m.getTransitionDurationFromElement(i);p(i).one(m.TRANSITION_END,t).emulateTransitionEnd(r)}else t();this._hoverState=""}},e.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},e.isWithContent=function(){return Boolean(this.getTitle())},e.addAttachmentClass=function(e){p(this.getTipElement()).addClass(Ln+"-"+e)},e.getTipElement=function(){return this.tip=this.tip||p(this.config.template)[0],this.tip},e.setContent=function(){var e=this.getTipElement();this.setElementContent(p(e.querySelectorAll(qn)),this.getTitle()),p(e).removeClass(Un+" "+Bn)},e.setElementContent=function(e,t){"object"!=typeof t||!t.nodeType&&!t.jquery?this.config.html?(this.config.sanitize&&(t=In(t,this.config.whiteList,this.config.sanitizeFn)),e.html(t)):e.text(t):this.config.html?p(t).parent().is(e)||e.empty().append(t):e.text(p(t).text())},e.getTitle=function(){var e=this.element.getAttribute("data-original-title");return e=e||("function"==typeof this.config.title?this.config.title.call(this.element):this.config.title)},e._getPopperConfig=function(e){var t=this;return l({},{placement:e,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:Kn},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(e){e.originalPlacement!==e.placement&&t._handlePopperPlacementChange(e)},onUpdate:function(e){return t._handlePopperPlacementChange(e)}},{},this.config.popperConfig)},e._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=l({},e.offsets,{},t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},e._getContainer=function(){return!1===this.config.container?document.body:m.isElement(this.config.container)?p(this.config.container):p(document).find(this.config.container)},e._getAttachment=function(e){return Hn[e.toUpperCase()]},e._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(e){if("click"===e)p(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(e){return i.toggle(e)});else if(e!==zn){var t=e===Qn?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=e===Qn?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;p(i.element).on(t,i.config.selector,function(e){return i._enter(e)}).on(n,i.config.selector,function(e){return i._leave(e)})}}),this._hideModalHandler=function(){i.element&&i.hide()},p(this.element).closest(".modal").on("hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},e._fixTitle=function(){var e=typeof this.element.getAttribute("data-original-title");!this.element.getAttribute("title")&&"string"==e||(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},e._enter=function(e,t){var n=this.constructor.DATA_KEY;(t=t||p(e.currentTarget).data(n))||(t=new this.constructor(e.currentTarget,this._getDelegateConfig()),p(e.currentTarget).data(n,t)),e&&(t._activeTrigger["focusin"===e.type?Vn:Qn]=!0),p(t.getTipElement()).hasClass(Bn)||t._hoverState===Fn?t._hoverState=Fn:(clearTimeout(t._timeout),t._hoverState=Fn,t.config.delay&&t.config.delay.show?t._timeout=setTimeout(function(){t._hoverState===Fn&&t.show()},t.config.delay.show):t.show())},e._leave=function(e,t){var n=this.constructor.DATA_KEY;(t=t||p(e.currentTarget).data(n))||(t=new this.constructor(e.currentTarget,this._getDelegateConfig()),p(e.currentTarget).data(n,t)),e&&(t._activeTrigger["focusout"===e.type?Vn:Qn]=!1),t._isWithActiveTrigger()||(clearTimeout(t._timeout),t._hoverState=Mn,t.config.delay&&t.config.delay.hide?t._timeout=setTimeout(function(){t._hoverState===Mn&&t.hide()},t.config.delay.hide):t.hide())},e._isWithActiveTrigger=function(){for(var e in this._activeTrigger)if(this._activeTrigger[e])return!0;return!1},e._getConfig=function(e){var t=p(this.element).data();return Object.keys(t).forEach(function(e){-1!==xn.indexOf(e)&&delete t[e]}),"number"==typeof(e=l({},this.constructor.Default,{},t,{},"object"==typeof e&&e?e:{})).delay&&(e.delay={show:e.delay,hide:e.delay}),"number"==typeof e.title&&(e.title=e.title.toString()),"number"==typeof e.content&&(e.content=e.content.toString()),m.typeCheckConfig(An,e,this.constructor.DefaultType),e.sanitize&&(e.template=In(e.template,e.whiteList,e.sanitizeFn)),e},e._getDelegateConfig=function(){var e={};if(this.config)for(var t in this.config)this.constructor.Default[t]!==this.config[t]&&(e[t]=this.config[t]);return e},e._cleanTipClass=function(){var e=p(this.getTipElement()),t=e.attr("class").match(Pn);null!==t&&t.length&&e.removeClass(t.join(""))},e._handlePopperPlacementChange=function(e){var t=e.instance;this.tip=t.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(e.placement))},e._fixTransition=function(){var e=this.getTipElement(),t=this.config.animation;null===e.getAttribute("x-placement")&&(p(e).removeClass(Un),this.config.animation=!1,this.hide(),this.show(),this.config.animation=t)},i._jQueryInterface=function(n){return this.each(function(){var e=p(this).data(On),t="object"==typeof n&&n;if((e||!/dispose|hide/.test(n))&&(e||(e=new i(this,t),p(this).data(On,e)),"string"==typeof n)){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return Rn}},{key:"NAME",get:function(){return An}},{key:"DATA_KEY",get:function(){return On}},{key:"Event",get:function(){return Wn}},{key:"EVENT_KEY",get:function(){return Nn}},{key:"DefaultType",get:function(){return jn}}]),i}();p.fn[An]=Xn._jQueryInterface,p.fn[An].Constructor=Xn,p.fn[An].noConflict=function(){return p.fn[An]=kn,Xn._jQueryInterface};var Gn="popover",$n="bs.popover",Jn="."+$n,Zn=p.fn[Gn],ei="bs-popover",ti=new RegExp("(^|\\s)"+ei+"\\S+","g"),ni=l({},Xn.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),ii=l({},Xn.DefaultType,{content:"(string|element|function)"}),oi="fade",ri="show",si=".popover-header",ai=".popover-body",li={HIDE:"hide"+Jn,HIDDEN:"hidden"+Jn,SHOW:"show"+Jn,SHOWN:"shown"+Jn,INSERTED:"inserted"+Jn,CLICK:"click"+Jn,FOCUSIN:"focusin"+Jn,FOCUSOUT:"focusout"+Jn,MOUSEENTER:"mouseenter"+Jn,MOUSELEAVE:"mouseleave"+Jn},ci=function(e){function i(){return e.apply(this,arguments)||this}!function(e,t){e.prototype=Object.create(t.prototype),(e.prototype.constructor=e).__proto__=t}(i,e);var t=i.prototype;return t.isWithContent=function(){return this.getTitle()||this._getContent()},t.addAttachmentClass=function(e){p(this.getTipElement()).addClass(ei+"-"+e)},t.getTipElement=function(){return this.tip=this.tip||p(this.config.template)[0],this.tip},t.setContent=function(){var e=p(this.getTipElement());this.setElementContent(e.find(si),this.getTitle());var t=this._getContent();"function"==typeof t&&(t=t.call(this.element)),this.setElementContent(e.find(ai),t),e.removeClass(oi+" "+ri)},t._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},t._cleanTipClass=function(){var e=p(this.getTipElement()),t=e.attr("class").match(ti);null!==t&&0<t.length&&e.removeClass(t.join(""))},i._jQueryInterface=function(n){return this.each(function(){var e=p(this).data($n),t="object"==typeof n?n:null;if((e||!/dispose|hide/.test(n))&&(e||(e=new i(this,t),p(this).data($n,e)),"string"==typeof n)){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return ni}},{key:"NAME",get:function(){return Gn}},{key:"DATA_KEY",get:function(){return $n}},{key:"Event",get:function(){return li}},{key:"EVENT_KEY",get:function(){return Jn}},{key:"DefaultType",get:function(){return ii}}]),i}(Xn);p.fn[Gn]=ci._jQueryInterface,p.fn[Gn].Constructor=ci,p.fn[Gn].noConflict=function(){return p.fn[Gn]=Zn,ci._jQueryInterface};var hi="scrollspy",ui="bs.scrollspy",fi="."+ui,di=p.fn[hi],pi={offset:10,method:"auto",target:""},mi={offset:"number",method:"string",target:"(string|element)"},gi={ACTIVATE:"activate"+fi,SCROLL:"scroll"+fi,LOAD_DATA_API:"load"+fi+".data-api"},_i="dropdown-item",vi="active",yi='[data-spy="scroll"]',Ei=".nav, .list-group",bi=".nav-link",wi=".nav-item",Ti=".list-group-item",Ci=".dropdown",Si=".dropdown-item",Di=".dropdown-toggle",Ii="offset",Ai="position",Oi=function(){function n(e,t){var n=this;this._element=e,this._scrollElement="BODY"===e.tagName?window:e,this._config=this._getConfig(t),this._selector=this._config.target+" "+bi+","+this._config.target+" "+Ti+","+this._config.target+" "+Si,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,p(this._scrollElement).on(gi.SCROLL,function(e){return n._process(e)}),this.refresh(),this._process()}var e=n.prototype;return e.refresh=function(){var t=this,e=this._scrollElement===this._scrollElement.window?Ii:Ai,o="auto"===this._config.method?e:this._config.method,r=o===Ai?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map(function(e){var t,n=m.getSelectorFromElement(e);if(n&&(t=document.querySelector(n)),t){var i=t.getBoundingClientRect();if(i.width||i.height)return[p(t)[o]().top+r,n]}return null}).filter(function(e){return e}).sort(function(e,t){return e[0]-t[0]}).forEach(function(e){t._offsets.push(e[0]),t._targets.push(e[1])})},e.dispose=function(){p.removeData(this._element,ui),p(this._scrollElement).off(fi),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},e._getConfig=function(e){if("string"!=typeof(e=l({},pi,{},"object"==typeof e&&e?e:{})).target){var t=p(e.target).attr("id");t||(t=m.getUID(hi),p(e.target).attr("id",t)),e.target="#"+t}return m.typeCheckConfig(hi,e,mi),e},e._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},e._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},e._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},e._process=function(){var e=this._getScrollTop()+this._config.offset,t=this._getScrollHeight(),n=this._config.offset+t-this._getOffsetHeight();if(this._scrollHeight!==t&&this.refresh(),n<=e){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&e<this._offsets[0]&&0<this._offsets[0])return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&e>=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||e<this._offsets[o+1])&&this._activate(this._targets[o])}}},e._activate=function(t){this._activeTarget=t,this._clear();var e=this._selector.split(",").map(function(e){return e+'[data-target="'+t+'"],'+e+'[href="'+t+'"]'}),n=p([].slice.call(document.querySelectorAll(e.join(","))));n.hasClass(_i)?(n.closest(Ci).find(Di).addClass(vi),n.addClass(vi)):(n.addClass(vi),n.parents(Ei).prev(bi+", "+Ti).addClass(vi),n.parents(Ei).prev(wi).children(bi).addClass(vi)),p(this._scrollElement).trigger(gi.ACTIVATE,{relatedTarget:t})},e._clear=function(){[].slice.call(document.querySelectorAll(this._selector)).filter(function(e){return e.classList.contains(vi)}).forEach(function(e){return e.classList.remove(vi)})},n._jQueryInterface=function(t){return this.each(function(){var e=p(this).data(ui);if(e||(e=new n(this,"object"==typeof t&&t),p(this).data(ui,e)),"string"==typeof t){if("undefined"==typeof e[t])throw new TypeError('No method named "'+t+'"');e[t]()}})},s(n,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return pi}}]),n}();p(window).on(gi.LOAD_DATA_API,function(){for(var e=[].slice.call(document.querySelectorAll(yi)),t=e.length;t--;){var n=p(e[t]);Oi._jQueryInterface.call(n,n.data())}}),p.fn[hi]=Oi._jQueryInterface,p.fn[hi].Constructor=Oi,p.fn[hi].noConflict=function(){return p.fn[hi]=di,Oi._jQueryInterface};var Ni="bs.tab",ki="."+Ni,Li=p.fn.tab,Pi={HIDE:"hide"+ki,HIDDEN:"hidden"+ki,SHOW:"show"+ki,SHOWN:"shown"+ki,CLICK_DATA_API:"click"+ki+".data-api"},xi="dropdown-menu",ji="active",Hi="disabled",Ri="fade",Fi="show",Mi=".dropdown",Wi=".nav, .list-group",Ui=".active",Bi="> li > .active",qi='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',Ki=".dropdown-toggle",Qi="> .dropdown-menu .active",Vi=function(){function i(e){this._element=e}var e=i.prototype;return e.show=function(){var n=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&p(this._element).hasClass(ji)||p(this._element).hasClass(Hi))){var e,i,t=p(this._element).closest(Wi)[0],o=m.getSelectorFromElement(this._element);if(t){var r="UL"===t.nodeName||"OL"===t.nodeName?Bi:Ui;i=(i=p.makeArray(p(t).find(r)))[i.length-1]}var s=p.Event(Pi.HIDE,{relatedTarget:this._element}),a=p.Event(Pi.SHOW,{relatedTarget:i});if(i&&p(i).trigger(s),p(this._element).trigger(a),!a.isDefaultPrevented()&&!s.isDefaultPrevented()){o&&(e=document.querySelector(o)),this._activate(this._element,t);var l=function(){var e=p.Event(Pi.HIDDEN,{relatedTarget:n._element}),t=p.Event(Pi.SHOWN,{relatedTarget:i});p(i).trigger(e),p(n._element).trigger(t)};e?this._activate(e,e.parentNode,l):l()}}},e.dispose=function(){p.removeData(this._element,Ni),this._element=null},e._activate=function(e,t,n){function i(){return o._transitionComplete(e,r,n)}var o=this,r=(!t||"UL"!==t.nodeName&&"OL"!==t.nodeName?p(t).children(Ui):p(t).find(Bi))[0],s=n&&r&&p(r).hasClass(Ri);if(r&&s){var a=m.getTransitionDurationFromElement(r);p(r).removeClass(Fi).one(m.TRANSITION_END,i).emulateTransitionEnd(a)}else i()},e._transitionComplete=function(e,t,n){if(t){p(t).removeClass(ji);var i=p(t.parentNode).find(Qi)[0];i&&p(i).removeClass(ji),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!1)}if(p(e).addClass(ji),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!0),m.reflow(e),e.classList.contains(Ri)&&e.classList.add(Fi),e.parentNode&&p(e.parentNode).hasClass(xi)){var o=p(e).closest(Mi)[0];if(o){var r=[].slice.call(o.querySelectorAll(Ki));p(r).addClass(ji)}e.setAttribute("aria-expanded",!0)}n&&n()},i._jQueryInterface=function(n){return this.each(function(){var e=p(this),t=e.data(Ni);if(t||(t=new i(this),e.data(Ni,t)),"string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.4.1"}}]),i}();p(document).on(Pi.CLICK_DATA_API,qi,function(e){e.preventDefault(),Vi._jQueryInterface.call(p(this),"show")}),p.fn.tab=Vi._jQueryInterface,p.fn.tab.Constructor=Vi,p.fn.tab.noConflict=function(){return p.fn.tab=Li,Vi._jQueryInterface};var Yi="toast",zi="bs.toast",Xi="."+zi,Gi=p.fn[Yi],$i={CLICK_DISMISS:"click.dismiss"+Xi,HIDE:"hide"+Xi,HIDDEN:"hidden"+Xi,SHOW:"show"+Xi,SHOWN:"shown"+Xi},Ji="fade",Zi="hide",eo="show",to="showing",no={animation:"boolean",autohide:"boolean",delay:"number"},io={animation:!0,autohide:!0,delay:500},oo='[data-dismiss="toast"]',ro=function(){function i(e,t){this._element=e,this._config=this._getConfig(t),this._timeout=null,this._setListeners()}var e=i.prototype;return e.show=function(){var e=this,t=p.Event($i.SHOW);if(p(this._element).trigger(t),!t.isDefaultPrevented()){this._config.animation&&this._element.classList.add(Ji);var n=function(){e._element.classList.remove(to),e._element.classList.add(eo),p(e._element).trigger($i.SHOWN),e._config.autohide&&(e._timeout=setTimeout(function(){e.hide()},e._config.delay))};if(this._element.classList.remove(Zi),m.reflow(this._element),this._element.classList.add(to),this._config.animation){var i=m.getTransitionDurationFromElement(this._element);p(this._element).one(m.TRANSITION_END,n).emulateTransitionEnd(i)}else n()}},e.hide=function(){if(this._element.classList.contains(eo)){var e=p.Event($i.HIDE);p(this._element).trigger(e),e.isDefaultPrevented()||this._close()}},e.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains(eo)&&this._element.classList.remove(eo),p(this._element).off($i.CLICK_DISMISS),p.removeData(this._element,zi),this._element=null,this._config=null},e._getConfig=function(e){return e=l({},io,{},p(this._element).data(),{},"object"==typeof e&&e?e:{}),m.typeCheckConfig(Yi,e,this.constructor.DefaultType),e},e._setListeners=function(){var e=this;p(this._element).on($i.CLICK_DISMISS,oo,function(){return e.hide()})},e._close=function(){function e(){t._element.classList.add(Zi),p(t._element).trigger($i.HIDDEN)}var t=this;if(this._element.classList.remove(eo),this._config.animation){var n=m.getTransitionDurationFromElement(this._element);p(this._element).one(m.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},i._jQueryInterface=function(n){return this.each(function(){var e=p(this),t=e.data(zi);if(t||(t=new i(this,"object"==typeof n&&n),e.data(zi,t)),"string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n](this)}})},s(i,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"DefaultType",get:function(){return no}},{key:"Default",get:function(){return io}}]),i}();p.fn[Yi]=ro._jQueryInterface,p.fn[Yi].Constructor=ro,p.fn[Yi].noConflict=function(){return p.fn[Yi]=Gi,ro._jQueryInterface},e.Alert=_,e.Button=x,e.Carousel=he,e.Collapse=De,e.Dropdown=en,e.Modal=wn,e.Popover=ci,e.Scrollspy=Oi,e.Tab=Vi,e.Toast=ro,e.Tooltip=Xn,e.Util=m,Object.defineProperty(e,"__esModule",{value:!0})}); +//# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file diff --git a/assets/js/bootstrap.min.js.map b/assets/js/bootstrap.min.js.map new file mode 100644 index 0000000000000000000000000000000000000000..54d2495018b0d93630a2ce0811fd246fafbcd569 --- /dev/null +++ b/assets/js/bootstrap.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/popper.js/dist/esm/popper.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tools/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js"],"names":["TRANSITION_END","transitionEndEmulator","duration","_this","this","called","$","one","Util","setTimeout","triggerTransitionEnd","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","hrefAttr","trim","querySelector","err","getTransitionDurationFromElement","transitionDuration","css","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","obj","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","call","expectedTypes","value","valueType","toString","match","toLowerCase","RegExp","test","Error","toUpperCase","findShadowRoot","documentElement","attachShadow","getRootNode","ShadowRoot","parentNode","root","jQueryDetection","TypeError","version","fn","jquery","emulateTransitionEnd","event","special","bindType","delegateType","handle","target","is","handleObj","handler","apply","arguments","NAME","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","Event","CLOSE","CLOSED","CLICK_DATA_API","ClassName","Alert","_element","close","rootElement","_getRootElement","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","parent","closest","closeEvent","removeClass","hasClass","_destroyElement","detach","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","Constructor","noConflict","DATA_API_KEY","Selector","FOCUS_BLUR_DATA_API","LOAD_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","type","checked","classList","contains","activeElement","tagName","focus","hasAttribute","setAttribute","toggleClass","button","inputBtn","window","buttons","slice","querySelectorAll","i","len","length","add","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","Direction","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERUP","DRAG_START","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","prev","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","off","_objectSpread2","_handleSwipe","absDeltax","abs","_this2","_keydown","_addTouchEventListeners","_this3","start","originalEvent","pointerType","clientX","touches","end","clearTimeout","e","move","which","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","from","_setActiveIndicatorElement","indicators","nextIndicator","children","addClass","directionalClassName","orderClassName","_this4","activeElementIndex","nextElement","nextElementIndex","isCycling","slidEvent","nextElementInterval","parseInt","defaultInterval","action","ride","_dataApiClickHandler","slideIndex","carousels","$carousel","SHOW","SHOWN","HIDE","HIDDEN","Dimension","Collapse","_isTransitioning","_triggerArray","id","toggleList","elem","filterElement","filter","foundElem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","not","startEvent","dimension","_getDimension","style","attr","setTransitioning","scrollSize","getBoundingClientRect","triggerArrayLength","isTransitioning","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","selectors","$target","isBrowser","timeoutDuration","longerTimeoutBrowsers","userAgent","debounce","Promise","resolve","then","scheduled","isFunction","functionToCheck","getStyleComputedProperty","ownerDocument","defaultView","getComputedStyle","getParentNode","nodeName","host","getScrollParent","body","_getStyleComputedProp","overflow","overflowX","overflowY","getReferenceNode","reference","referenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","getOffsetParent","noOffsetParent","offsetParent","nextElementSibling","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","range","createRange","setStart","setEnd","commonAncestorContainer","firstElementChild","isOffsetContainer","element1root","getScroll","upperSide","undefined","html","scrollingElement","getBordersSize","styles","axis","sideA","sideB","getSize","computedStyle","max","getWindowSizes","height","width","createClass","protoProps","staticProps","defineProperties","props","descriptor","enumerable","configurable","writable","defineProperty","key","_extends","assign","source","getClientRect","offsets","right","left","bottom","top","rect","scrollTop","scrollLeft","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","subtract","modifier","includeScroll","getFixedPositionOffsetParent","parentElement","el","getBoundaries","popper","padding","boundariesElement","boundaries","excludeScroll","relativeOffset","innerWidth","innerHeight","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","isFixed","_getWindowSizes","isPaddingNumber","computeAutoPlacement","placement","refRect","rects","sortedAreas","keys","map","area","_ref","getArea","sort","a","b","filteredAreas","_ref2","computedPlacement","variation","getReferenceOffsets","state","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","replace","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","find","arr","check","Array","runModifiers","modifiers","ends","prop","findIndex","cur","forEach","console","warn","enabled","isModifierEnabled","modifierName","some","name","getSupportedPropertyName","prefixes","upperProp","charAt","toCheck","getWindow","setupEventListeners","options","updateBound","addEventListener","passive","scrollElement","attachToScrollParents","callback","scrollParents","isBody","eventsEnabled","disableEventListeners","cancelAnimationFrame","scheduleUpdate","removeEventListener","removeEventListeners","isNumeric","n","isNaN","isFinite","setStyles","unit","getRoundedOffsets","shouldRound","noRound","v","_data$offsets","round","floor","referenceWidth","popperWidth","isVertical","isVariation","horizontalToInteger","verticalToInteger","isFirefox","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","placements","validPlacements","clockwise","counter","concat","reverse","BEHAVIORS","parseOffset","offset","basePlacement","useHeight","fragments","frag","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","str","toValue","index2","Defaults","positionFixed","removeOnDestroy","onCreate","onUpdate","shift","shiftvariation","side","shiftOffsets","preventOverflow","instance","transformProp","popperStyles","transform","priority","primary","escapeWithReference","secondary","min","keepTogether","opSide","arrow","_data$offsets$arrow","arrowElement","sideCapitalized","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","flip","flipped","originalPlacement","placementOpposite","flipOrder","behavior","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","inner","subtractLength","bound","attributes","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","position","devicePixelRatio","prefixedProperty","willChange","invertTop","invertLeft","x-placement","arrowStyles","applyStyle","removeAttribute","setAttributes","onLoad","modifierOptions","Popper","isDestroyed","isCreated","removeChild","classCallCheck","requestAnimationFrame","update","enableEventListeners","Utils","global","PopperUtils","REGEXP_KEYDOWN","ARROW_UP_KEYCODE","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","AttachmentMap","boundary","display","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","_clearMenus","usePopper","showEvent","_getParentFromElement","referenceElement","_getPopperConfig","noop","hideEvent","destroy","stopPropagation","constructor","_getPlacement","$parentDropdown","_getOffset","toggles","context","clickEvent","dropdownMenu","_dataApiKeydownHandler","items","item","backdrop","HIDE_PREVENTED","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","_triggerBackdropTransition","hideEventPrevented","defaultPrevented","modalTransitionDuration","modalBody","ELEMENT_NODE","appendChild","_enforceFocus","transitionComplete","shownEvent","_this5","has","_this6","_this7","_this8","_resetAdjustments","_resetScrollbar","_removeBackdrop","_this9","animate","createElement","className","appendTo","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","paddingLeft","paddingRight","_getScrollbarWidth","_this10","fixedContent","stickyContent","actualPadding","calculatedPadding","actualMargin","calculatedMargin","elements","margin","scrollDiv","scrollbarWidth","_this11","uriAttrs","DefaultWhitelist","*","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","SAFE_URL_PATTERN","DATA_URL_PATTERN","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","createdDocument","DOMParser","parseFromString","whitelistKeys","_loop","elName","attributeList","whitelistedAttributes","allowedAttributeList","attrName","nodeValue","regExp","attrRegex","l","allowedAttribute","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","container","fallbackPlacement","sanitize","AUTO","TOP","RIGHT","BOTTOM","LEFT","HoverState","INSERTED","FOCUSOUT","Trigger","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","tipId","setContent","attachment","_getAttachment","addAttachmentClass","_getContainer","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","text","empty","append","_handlePopperPlacementChange","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","$tip","tabClass","join","popperData","popperInstance","initConfigAnimation","Popover","_getContent","method","ACTIVATE","SCROLL","OffsetMethod","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","pageYOffset","_getOffsetHeight","maxScroll","_activate","_clear","queries","$link","parents","scrollSpys","$spy","Tab","previous","listElement","itemSelector","makeArray","hiddenEvent","_transitionComplete","active","dropdownChild","dropdownElement","dropdownToggleList","autohide","Toast","_close"],"mappings":";;;;;ypCAeA,IAAMA,EAAiB,gBAsBvB,SAASC,EAAsBC,GAAU,IAAAC,EAAAC,KACnCC,GAAS,EAYb,OAVAC,EAAEF,MAAMG,IAAIC,EAAKR,eAAgB,WAC/BK,GAAS,IAGXI,WAAW,WACJJ,GACHG,EAAKE,qBAAqBP,IAE3BD,GAEIE,KAcT,IAAMI,EAAO,CAEXR,eAAgB,kBAEhBW,OAJW,SAIJC,GACL,KAEEA,MAvDU,IAuDGC,KAAKC,UACXC,SAASC,eAAeJ,KACjC,OAAOA,GAGTK,uBAZW,SAYYC,GACrB,IAAIC,EAAWD,EAAQE,aAAa,eAEpC,IAAKD,GAAyB,MAAbA,EAAkB,CACjC,IAAME,EAAWH,EAAQE,aAAa,QACtCD,EAAWE,GAAyB,MAAbA,EAAmBA,EAASC,OAAS,GAG9D,IACE,OAAOP,SAASQ,cAAcJ,GAAYA,EAAW,KACrD,MAAOK,GACP,OAAO,OAIXC,iCA3BW,SA2BsBP,GAC/B,IAAKA,EACH,OAAO,EAIT,IAAIQ,EAAqBpB,EAAEY,GAASS,IAAI,uBACpCC,EAAkBtB,EAAEY,GAASS,IAAI,oBAE/BE,EAA0BC,WAAWJ,GACrCK,EAAuBD,WAAWF,GAGxC,OAAKC,GAA4BE,GAKjCL,EAAqBA,EAAmBM,MAAM,KAAK,GACnDJ,EAAkBA,EAAgBI,MAAM,KAAK,GA7FjB,KA+FpBF,WAAWJ,GAAsBI,WAAWF,KAP3C,GAUXK,OAnDW,SAmDJf,GACL,OAAOA,EAAQgB,cAGjBxB,qBAvDW,SAuDUQ,GACnBZ,EAAEY,GAASiB,QAAQnC,IAIrBoC,sBA5DW,WA6DT,OAAOC,QAAQrC,IAGjBsC,UAhEW,SAgEDC,GACR,OAAQA,EAAI,IAAMA,GAAKC,UAGzBC,gBApEW,SAoEKC,EAAeC,EAAQC,GACrC,IAAK,IAAMC,KAAYD,EACrB,GAAIE,OAAOC,UAAUC,eAAeC,KAAKL,EAAaC,GAAW,CAC/D,IAAMK,EAAgBN,EAAYC,GAC5BM,EAAgBR,EAAOE,GACvBO,EAAgBD,GAAS3C,EAAK8B,UAAUa,GAC1C,WAtHIZ,EAsHeY,EArHtB,GAAGE,SAASJ,KAAKV,GAAKe,MAAM,eAAe,GAAGC,eAuH/C,IAAK,IAAIC,OAAON,GAAeO,KAAKL,GAClC,MAAM,IAAIM,MACLhB,EAAciB,cAAjB,aACWd,EADX,oBACuCO,EADvC,wBAEsBF,EAFtB,MA1HZ,IAAgBX,GAkIdqB,eAtFW,SAsFI1C,GACb,IAAKH,SAAS8C,gBAAgBC,aAC5B,OAAO,KAIT,GAAmC,mBAAxB5C,EAAQ6C,YAKnB,OAAI7C,aAAmB8C,WACd9C,EAIJA,EAAQ+C,WAINzD,EAAKoD,eAAe1C,EAAQ+C,YAH1B,KAVP,IAAMC,EAAOhD,EAAQ6C,cACrB,OAAOG,aAAgBF,WAAaE,EAAO,MAe/CC,gBA7GW,WA8GT,GAAiB,oBAAN7D,EACT,MAAM,IAAI8D,UAAU,kGAGtB,IAAMC,EAAU/D,EAAEgE,GAAGC,OAAOvC,MAAM,KAAK,GAAGA,MAAM,KAOhD,GAAIqC,EAAQ,GALI,GAKYA,EAAQ,GAJnB,GAFA,IAMoCA,EAAQ,IAJ5C,IAI+DA,EAAQ,IAAmBA,EAAQ,GAHlG,GACA,GAEmHA,EAAQ,GAC1I,MAAM,IAAIX,MAAM,iFAKtBlD,EAAK2D,kBAzIH7D,EAAEgE,GAAGE,qBAAuBvE,EAC5BK,EAAEmE,MAAMC,QAAQlE,EAAKR,gBA9Bd,CACL2E,SAAU3E,EACV4E,aAAc5E,EACd6E,OAHK,SAGEJ,GACL,GAAInE,EAAEmE,EAAMK,QAAQC,GAAG3E,MACrB,OAAOqE,EAAMO,UAAUC,QAAQC,MAAM9E,KAAM+E,aCdnD,IAAMC,EAAsB,QAEtBC,EAAsB,WACtBC,EAAS,IAAiBD,EAE1BE,EAAsBjF,EAAEgE,GAAGc,GAM3BI,EAAQ,CACZC,MAAK,QAAoBH,EACzBI,OAAM,SAAoBJ,EAC1BK,eAAc,QAAWL,EAVC,aAatBM,EACI,QADJA,EAEI,OAFJA,EAGI,OASJC,aACJ,SAAAA,EAAY3E,GACVd,KAAK0F,SAAW5E,6BAWlB6E,MAAA,SAAM7E,GACJ,IAAI8E,EAAc5F,KAAK0F,SACnB5E,IACF8E,EAAc5F,KAAK6F,gBAAgB/E,IAGjBd,KAAK8F,mBAAmBF,GAE5BG,sBAIhB/F,KAAKgG,eAAeJ,MAGtBK,QAAA,WACE/F,EAAEgG,WAAWlG,KAAK0F,SAAUT,GAC5BjF,KAAK0F,SAAW,QAKlBG,gBAAA,SAAgB/E,GACd,IAAMC,EAAWX,EAAKS,uBAAuBC,GACzCqF,GAAa,EAUjB,OARIpF,IACFoF,EAASxF,SAASQ,cAAcJ,IAIhCoF,EADGA,GACMjG,EAAEY,GAASsF,QAAX,IAAuBZ,GAAmB,MAMvDM,mBAAA,SAAmBhF,GACjB,IAAMuF,EAAanG,EAAEkF,MAAMA,EAAMC,OAGjC,OADAnF,EAAEY,GAASiB,QAAQsE,GACZA,KAGTL,eAAA,SAAelF,GAAS,IAAAf,EAAAC,KAGtB,GAFAE,EAAEY,GAASwF,YAAYd,GAElBtF,EAAEY,GAASyF,SAASf,GAAzB,CAKA,IAAMlE,EAAqBlB,EAAKiB,iCAAiCP,GAEjEZ,EAAEY,GACCX,IAAIC,EAAKR,eAAgB,SAACyE,GAAD,OAAWtE,EAAKyG,gBAAgB1F,EAASuD,KAClED,qBAAqB9C,QARtBtB,KAAKwG,gBAAgB1F,MAWzB0F,gBAAA,SAAgB1F,GACdZ,EAAEY,GACC2F,SACA1E,QAAQqD,EAAME,QACdoB,YAKEC,iBAAP,SAAwBpE,GACtB,OAAOvC,KAAK4G,KAAK,WACf,IAAMC,EAAW3G,EAAEF,MACf8G,EAAaD,EAASC,KAAK7B,GAE1B6B,IACHA,EAAO,IAAIrB,EAAMzF,MACjB6G,EAASC,KAAK7B,EAAU6B,IAGX,UAAXvE,GACFuE,EAAKvE,GAAQvC,WAKZ+G,eAAP,SAAsBC,GACpB,OAAO,SAAU3C,GACXA,GACFA,EAAM4C,iBAGRD,EAAcrB,MAAM3F,gDA/FtB,MApCwB,iBA8I5BE,EAAES,UAAUuG,GACV9B,EAAMG,eAxII,yBA0IVE,EAAMsB,eAAe,IAAItB,IAS3BvF,EAAEgE,GAAGc,GAAoBS,EAAMkB,iBAC/BzG,EAAEgE,GAAGc,GAAMmC,YAAc1B,EACzBvF,EAAEgE,GAAGc,GAAMoC,WAAc,WAEvB,OADAlH,EAAEgE,GAAGc,GAAQG,EACNM,EAAMkB,kBChKf,IAAM3B,EAAsB,SAEtBC,EAAsB,YACtBC,EAAS,IAAiBD,EAC1BoC,EAAsB,YACtBlC,EAAsBjF,EAAEgE,GAAGc,GAE3BQ,EACK,SADLA,EAEK,MAFLA,EAGK,QAGL8B,EACmB,0BADnBA,EAEmB,0BAFnBA,EAGmB,yBAHnBA,EAImB,+BAJnBA,EAKmB,6BALnBA,EAMmB,UANnBA,EAOmB,OAGnBlC,EAAQ,CACZG,eAAc,QAAgBL,EAAYmC,EAC1CE,oBAAsB,QAAQrC,EAAYmC,EAApB,QACSnC,EAAYmC,EAC3CG,cAAa,OAAgBtC,EAAYmC,GASrCI,aACJ,SAAAA,EAAY3G,GACVd,KAAK0F,SAAW5E,6BAWlB4G,OAAA,WACE,IAAIC,GAAqB,EACrBC,GAAiB,EACfhC,EAAc1F,EAAEF,KAAK0F,UAAUU,QACnCkB,GACA,GAEF,GAAI1B,EAAa,CACf,IAAMiC,EAAQ7H,KAAK0F,SAASvE,cAAcmG,GAE1C,GAAIO,EAAO,CACT,GAAmB,UAAfA,EAAMC,KACR,GAAID,EAAME,SACR/H,KAAK0F,SAASsC,UAAUC,SAASzC,GACjCmC,GAAqB,MAChB,CACL,IAAMO,EAAgBtC,EAAYzE,cAAcmG,GAE5CY,GACFhI,EAAEgI,GAAe5B,YAAYd,OAGT,aAAfqC,EAAMC,KACe,UAA1B9H,KAAK0F,SAASyC,SAAuBN,EAAME,UAAY/H,KAAK0F,SAASsC,UAAUC,SAASzC,KAC1FmC,GAAqB,GAIvBA,GAAqB,EAGnBA,IACFE,EAAME,SAAW/H,KAAK0F,SAASsC,UAAUC,SAASzC,GAClDtF,EAAE2H,GAAO9F,QAAQ,WAGnB8F,EAAMO,QACNR,GAAiB,GAIf5H,KAAK0F,SAAS2C,aAAa,aAAerI,KAAK0F,SAASsC,UAAUC,SAAS,cAC3EL,GACF5H,KAAK0F,SAAS4C,aAAa,gBACxBtI,KAAK0F,SAASsC,UAAUC,SAASzC,IAGlCmC,GACFzH,EAAEF,KAAK0F,UAAU6C,YAAY/C,OAKnCS,QAAA,WACE/F,EAAEgG,WAAWlG,KAAK0F,SAAUT,GAC5BjF,KAAK0F,SAAW,QAKXiB,iBAAP,SAAwBpE,GACtB,OAAOvC,KAAK4G,KAAK,WACf,IAAIE,EAAO5G,EAAEF,MAAM8G,KAAK7B,GAEnB6B,IACHA,EAAO,IAAIW,EAAOzH,MAClBE,EAAEF,MAAM8G,KAAK7B,EAAU6B,IAGV,WAAXvE,GACFuE,EAAKvE,gDA3ET,MA3CwB,iBAkI5BrC,EAAES,UACCuG,GAAG9B,EAAMG,eAAgB+B,EAA6B,SAACjD,GACtD,IAAImE,EAASnE,EAAMK,OAMnB,GAJKxE,EAAEsI,GAAQjC,SAASf,KACtBgD,EAAStI,EAAEsI,GAAQpC,QAAQkB,GAAiB,KAGzCkB,GAAUA,EAAOH,aAAa,aAAeG,EAAOR,UAAUC,SAAS,YAC1E5D,EAAM4C,qBACD,CACL,IAAMwB,EAAWD,EAAOrH,cAAcmG,GAEtC,GAAImB,IAAaA,EAASJ,aAAa,aAAeI,EAAST,UAAUC,SAAS,aAEhF,YADA5D,EAAM4C,iBAIRQ,EAAOd,iBAAiB9D,KAAK3C,EAAEsI,GAAS,aAG3CtB,GAAG9B,EAAMmC,oBAAqBD,EAA6B,SAACjD,GAC3D,IAAMmE,EAAStI,EAAEmE,EAAMK,QAAQ0B,QAAQkB,GAAiB,GACxDpH,EAAEsI,GAAQD,YAAY/C,EAAiB,eAAenC,KAAKgB,EAAMyD,SAGrE5H,EAAEwI,QAAQxB,GAAG9B,EAAMoC,cAAe,WAKhC,IADA,IAAImB,EAAU,GAAGC,MAAM/F,KAAKlC,SAASkI,iBAAiBvB,IAC7CwB,EAAI,EAAGC,EAAMJ,EAAQK,OAAQF,EAAIC,EAAKD,IAAK,CAClD,IAAMN,EAASG,EAAQG,GACjBjB,EAAQW,EAAOrH,cAAcmG,GAC/BO,EAAME,SAAWF,EAAMQ,aAAa,WACtCG,EAAOR,UAAUiB,IAAIzD,GAErBgD,EAAOR,UAAUtB,OAAOlB,GAM5B,IAAK,IAAIsD,EAAI,EAAGC,GADhBJ,EAAU,GAAGC,MAAM/F,KAAKlC,SAASkI,iBAAiBvB,KACpB0B,OAAQF,EAAIC,EAAKD,IAAK,CAClD,IAAMN,EAASG,EAAQG,GACqB,SAAxCN,EAAOxH,aAAa,gBACtBwH,EAAOR,UAAUiB,IAAIzD,GAErBgD,EAAOR,UAAUtB,OAAOlB,MAW9BtF,EAAEgE,GAAGc,GAAQyC,EAAOd,iBACpBzG,EAAEgE,GAAGc,GAAMmC,YAAcM,EACzBvH,EAAEgE,GAAGc,GAAMoC,WAAa,WAEtB,OADAlH,EAAEgE,GAAGc,GAAQG,EACNsC,EAAOd,kBCjMhB,IAAM3B,EAAyB,WAEzBC,EAAyB,cACzBC,EAAS,IAAoBD,EAC7BoC,EAAyB,YACzBlC,EAAyBjF,EAAEgE,GAAGc,GAM9BkE,EAAU,CACdC,SAAW,IACXC,UAAW,EACXC,OAAW,EACXC,MAAW,QACXC,MAAW,EACXC,OAAW,GAGPC,EAAc,CAClBN,SAAW,mBACXC,SAAW,UACXC,MAAW,mBACXC,MAAW,mBACXC,KAAW,UACXC,MAAW,WAGPE,EACO,OADPA,EAEO,OAFPA,EAGO,OAHPA,EAIO,QAGPtE,EAAQ,CACZuE,MAAK,QAAoBzE,EACzB0E,KAAI,OAAoB1E,EACxB2E,QAAO,UAAoB3E,EAC3B4E,WAAU,aAAoB5E,EAC9B6E,WAAU,aAAoB7E,EAC9B8E,WAAU,aAAoB9E,EAC9B+E,UAAS,YAAoB/E,EAC7BgF,SAAQ,WAAoBhF,EAC5BiF,YAAW,cAAoBjF,EAC/BkF,UAAS,YAAoBlF,EAC7BmF,WAAU,YAAmBnF,EAC7BsC,cAAa,OAAWtC,EAAYmC,EACpC9B,eAAc,QAAWL,EAAYmC,GAGjC7B,EACY,WADZA,EAEY,SAFZA,EAGY,QAHZA,EAIY,sBAJZA,EAKY,qBALZA,EAMY,qBANZA,EAOY,qBAPZA,GASY,gBAGZ8B,GACU,UADVA,GAEU,wBAFVA,GAGU,iBAHVA,GAIU,qBAJVA,GAKU,2CALVA,GAMU,uBANVA,GAOU,gCAPVA,GAQU,yBAGVgD,GAAc,CAClBC,MAAQ,QACRC,IAAQ,OAQJC,cACJ,SAAAA,EAAY3J,EAASyB,GACnBvC,KAAK0K,OAAiB,KACtB1K,KAAK2K,UAAiB,KACtB3K,KAAK4K,eAAiB,KACtB5K,KAAK6K,WAAiB,EACtB7K,KAAK8K,YAAiB,EACtB9K,KAAK+K,aAAiB,KACtB/K,KAAKgL,YAAiB,EACtBhL,KAAKiL,YAAiB,EAEtBjL,KAAKkL,QAAqBlL,KAAKmL,WAAW5I,GAC1CvC,KAAK0F,SAAqB5E,EAC1Bd,KAAKoL,mBAAqBpL,KAAK0F,SAASvE,cAAcmG,IACtDtH,KAAKqL,gBAAqB,iBAAkB1K,SAAS8C,iBAA8C,EAA3B6H,UAAUC,eAClFvL,KAAKwL,cAAqBvJ,QAAQyG,OAAO+C,cAAgB/C,OAAOgD,gBAEhE1L,KAAK2L,gDAePC,KAAA,WACO5L,KAAK8K,YACR9K,KAAK6L,OAAOnC,MAIhBoC,gBAAA,YAGOnL,SAASoL,QACX7L,EAAEF,KAAK0F,UAAUf,GAAG,aAAsD,WAAvCzE,EAAEF,KAAK0F,UAAUnE,IAAI,eACzDvB,KAAK4L,UAITI,KAAA,WACOhM,KAAK8K,YACR9K,KAAK6L,OAAOnC,MAIhBJ,MAAA,SAAMjF,GACCA,IACHrE,KAAK6K,WAAY,GAGf7K,KAAK0F,SAASvE,cAAcmG,MAC9BlH,EAAKE,qBAAqBN,KAAK0F,UAC/B1F,KAAKiM,OAAM,IAGbC,cAAclM,KAAK2K,WACnB3K,KAAK2K,UAAY,QAGnBsB,MAAA,SAAM5H,GACCA,IACHrE,KAAK6K,WAAY,GAGf7K,KAAK2K,YACPuB,cAAclM,KAAK2K,WACnB3K,KAAK2K,UAAY,MAGf3K,KAAKkL,QAAQ/B,WAAanJ,KAAK6K,YACjC7K,KAAK2K,UAAYwB,aACdxL,SAASyL,gBAAkBpM,KAAK8L,gBAAkB9L,KAAK4L,MAAMS,KAAKrM,MACnEA,KAAKkL,QAAQ/B,cAKnBmD,GAAA,SAAGC,GAAO,IAAAxM,EAAAC,KACRA,KAAK4K,eAAiB5K,KAAK0F,SAASvE,cAAcmG,IAElD,IAAMkF,EAAcxM,KAAKyM,cAAczM,KAAK4K,gBAE5C,KAAI2B,EAAQvM,KAAK0K,OAAO1B,OAAS,GAAKuD,EAAQ,GAI9C,GAAIvM,KAAK8K,WACP5K,EAAEF,KAAK0F,UAAUvF,IAAIiF,EAAMwE,KAAM,WAAA,OAAM7J,EAAKuM,GAAGC,SADjD,CAKA,GAAIC,IAAgBD,EAGlB,OAFAvM,KAAKsJ,aACLtJ,KAAKiM,QAIP,IAAMS,EAAoBF,EAARD,EACd7C,EACAA,EAEJ1J,KAAK6L,OAAOa,EAAW1M,KAAK0K,OAAO6B,QAGrCtG,QAAA,WACE/F,EAAEF,KAAK0F,UAAUiH,IAAIzH,GACrBhF,EAAEgG,WAAWlG,KAAK0F,SAAUT,GAE5BjF,KAAK0K,OAAqB,KAC1B1K,KAAKkL,QAAqB,KAC1BlL,KAAK0F,SAAqB,KAC1B1F,KAAK2K,UAAqB,KAC1B3K,KAAK6K,UAAqB,KAC1B7K,KAAK8K,WAAqB,KAC1B9K,KAAK4K,eAAqB,KAC1B5K,KAAKoL,mBAAqB,QAK5BD,WAAA,SAAW5I,GAMT,OALAA,EAAMqK,EAAA,GACD1D,EADC,GAED3G,GAELnC,EAAKiC,gBAAgB2C,EAAMzC,EAAQkH,GAC5BlH,KAGTsK,aAAA,WACE,IAAMC,EAAYrM,KAAKsM,IAAI/M,KAAKiL,aAEhC,KAAI6B,GAxNuB,IAwN3B,CAIA,IAAMJ,EAAYI,EAAY9M,KAAKiL,aAEnCjL,KAAKiL,YAAc,GAGfyB,GACF1M,KAAKgM,OAIHU,EAAY,GACd1M,KAAK4L,WAITD,mBAAA,WAAqB,IAAAqB,EAAAhN,KACfA,KAAKkL,QAAQ9B,UACflJ,EAAEF,KAAK0F,UACJwB,GAAG9B,EAAMyE,QAAS,SAACxF,GAAD,OAAW2I,EAAKC,SAAS5I,KAGrB,UAAvBrE,KAAKkL,QAAQ5B,OACfpJ,EAAEF,KAAK0F,UACJwB,GAAG9B,EAAM0E,WAAY,SAACzF,GAAD,OAAW2I,EAAK1D,MAAMjF,KAC3C6C,GAAG9B,EAAM2E,WAAY,SAAC1F,GAAD,OAAW2I,EAAKf,MAAM5H,KAG5CrE,KAAKkL,QAAQ1B,OACfxJ,KAAKkN,6BAITA,wBAAA,WAA0B,IAAAC,EAAAnN,KACxB,GAAKA,KAAKqL,gBAAV,CAIA,IAAM+B,EAAQ,SAAC/I,GACT8I,EAAK3B,eAAiBlB,GAAYjG,EAAMgJ,cAAcC,YAAY/J,eACpE4J,EAAKnC,YAAc3G,EAAMgJ,cAAcE,QAC7BJ,EAAK3B,gBACf2B,EAAKnC,YAAc3G,EAAMgJ,cAAcG,QAAQ,GAAGD,UAahDE,EAAM,SAACpJ,GACP8I,EAAK3B,eAAiBlB,GAAYjG,EAAMgJ,cAAcC,YAAY/J,iBACpE4J,EAAKlC,YAAc5G,EAAMgJ,cAAcE,QAAUJ,EAAKnC,aAGxDmC,EAAKN,eACsB,UAAvBM,EAAKjC,QAAQ5B,QASf6D,EAAK7D,QACD6D,EAAKpC,cACP2C,aAAaP,EAAKpC,cAEpBoC,EAAKpC,aAAe1K,WAAW,SAACgE,GAAD,OAAW8I,EAAKlB,MAAM5H,IAtS9B,IAsS+D8I,EAAKjC,QAAQ/B,YAIvGjJ,EAAEF,KAAK0F,SAASmD,iBAAiBvB,KAAoBJ,GAAG9B,EAAMiF,WAAY,SAACsD,GAAD,OAAOA,EAAE1G,mBAC/EjH,KAAKwL,eACPtL,EAAEF,KAAK0F,UAAUwB,GAAG9B,EAAM+E,YAAa,SAAC9F,GAAD,OAAW+I,EAAM/I,KACxDnE,EAAEF,KAAK0F,UAAUwB,GAAG9B,EAAMgF,UAAW,SAAC/F,GAAD,OAAWoJ,EAAIpJ,KAEpDrE,KAAK0F,SAASsC,UAAUiB,IAAIzD,MAE5BtF,EAAEF,KAAK0F,UAAUwB,GAAG9B,EAAM4E,WAAY,SAAC3F,GAAD,OAAW+I,EAAM/I,KACvDnE,EAAEF,KAAK0F,UAAUwB,GAAG9B,EAAM6E,UAAW,SAAC5F,GAAD,OAxC1B,SAACA,GAERA,EAAMgJ,cAAcG,SAAgD,EAArCnJ,EAAMgJ,cAAcG,QAAQxE,OAC7DmE,EAAKlC,YAAc,EAEnBkC,EAAKlC,YAAc5G,EAAMgJ,cAAcG,QAAQ,GAAGD,QAAUJ,EAAKnC,YAmCnB4C,CAAKvJ,KACrDnE,EAAEF,KAAK0F,UAAUwB,GAAG9B,EAAM8E,SAAU,SAAC7F,GAAD,OAAWoJ,EAAIpJ,UAIvD4I,SAAA,SAAS5I,GACP,IAAI,kBAAkBhB,KAAKgB,EAAMK,OAAOyD,SAIxC,OAAQ9D,EAAMwJ,OACZ,KA/TyB,GAgUvBxJ,EAAM4C,iBACNjH,KAAKgM,OACL,MACF,KAlUyB,GAmUvB3H,EAAM4C,iBACNjH,KAAK4L,WAMXa,cAAA,SAAc3L,GAIZ,OAHAd,KAAK0K,OAAS5J,GAAWA,EAAQ+C,WAC7B,GAAG+E,MAAM/F,KAAK/B,EAAQ+C,WAAWgF,iBAAiBvB,KAClD,GACGtH,KAAK0K,OAAOoD,QAAQhN,MAG7BiN,oBAAA,SAAoBrB,EAAWxE,GAC7B,IAAM8F,EAAkBtB,IAAchD,EAChCuE,EAAkBvB,IAAchD,EAChC8C,EAAkBxM,KAAKyM,cAAcvE,GACrCgG,EAAkBlO,KAAK0K,OAAO1B,OAAS,EAI7C,IAHwBiF,GAAmC,IAAhBzB,GACnBwB,GAAmBxB,IAAgB0B,KAErClO,KAAKkL,QAAQ3B,KACjC,OAAOrB,EAGT,IACMiG,GAAa3B,GADDE,IAAchD,GAAkB,EAAI,IACZ1J,KAAK0K,OAAO1B,OAEtD,OAAsB,GAAfmF,EACHnO,KAAK0K,OAAO1K,KAAK0K,OAAO1B,OAAS,GAAKhJ,KAAK0K,OAAOyD,MAGxDC,mBAAA,SAAmBC,EAAeC,GAChC,IAAMC,EAAcvO,KAAKyM,cAAc4B,GACjCG,EAAYxO,KAAKyM,cAAczM,KAAK0F,SAASvE,cAAcmG,KAC3DmH,EAAavO,EAAEkF,MAAMA,EAAMuE,MAAO,CACtC0E,cAAAA,EACA3B,UAAW4B,EACXI,KAAMF,EACNlC,GAAIiC,IAKN,OAFArO,EAAEF,KAAK0F,UAAU3D,QAAQ0M,GAElBA,KAGTE,2BAAA,SAA2B7N,GACzB,GAAId,KAAKoL,mBAAoB,CAC3B,IAAMwD,EAAa,GAAGhG,MAAM/F,KAAK7C,KAAKoL,mBAAmBvC,iBAAiBvB,KAC1EpH,EAAE0O,GACCtI,YAAYd,GAEf,IAAMqJ,EAAgB7O,KAAKoL,mBAAmB0D,SAC5C9O,KAAKyM,cAAc3L,IAGjB+N,GACF3O,EAAE2O,GAAeE,SAASvJ,OAKhCqG,OAAA,SAAOa,EAAW5L,GAAS,IAQrBkO,EACAC,EACAX,EAVqBY,EAAAlP,KACnBkI,EAAgBlI,KAAK0F,SAASvE,cAAcmG,IAC5C6H,EAAqBnP,KAAKyM,cAAcvE,GACxCkH,EAAgBtO,GAAWoH,GAC/BlI,KAAK+N,oBAAoBrB,EAAWxE,GAChCmH,EAAmBrP,KAAKyM,cAAc2C,GACtCE,EAAYrN,QAAQjC,KAAK2K,WAgB/B,GAPE2D,EAHE5B,IAAchD,GAChBsF,EAAuBxJ,EACvByJ,EAAiBzJ,EACIkE,IAErBsF,EAAuBxJ,EACvByJ,EAAiBzJ,EACIkE,GAGnB0F,GAAelP,EAAEkP,GAAa7I,SAASf,GACzCxF,KAAK8K,YAAa,OAKpB,IADmB9K,KAAKoO,mBAAmBgB,EAAad,GACzCvI,sBAIVmC,GAAkBkH,EAAvB,CAKApP,KAAK8K,YAAa,EAEdwE,GACFtP,KAAKsJ,QAGPtJ,KAAK2O,2BAA2BS,GAEhC,IAAMG,EAAYrP,EAAEkF,MAAMA,EAAMwE,KAAM,CACpCyE,cAAee,EACf1C,UAAW4B,EACXI,KAAMS,EACN7C,GAAI+C,IAGN,GAAInP,EAAEF,KAAK0F,UAAUa,SAASf,GAAkB,CAC9CtF,EAAEkP,GAAaL,SAASE,GAExB7O,EAAKyB,OAAOuN,GAEZlP,EAAEgI,GAAe6G,SAASC,GAC1B9O,EAAEkP,GAAaL,SAASC,GAExB,IAAMQ,EAAsBC,SAASL,EAAYpO,aAAa,iBAAkB,IAC5EwO,GACFxP,KAAKkL,QAAQwE,gBAAkB1P,KAAKkL,QAAQwE,iBAAmB1P,KAAKkL,QAAQ/B,SAC5EnJ,KAAKkL,QAAQ/B,SAAWqG,GAExBxP,KAAKkL,QAAQ/B,SAAWnJ,KAAKkL,QAAQwE,iBAAmB1P,KAAKkL,QAAQ/B,SAGvE,IAAM7H,EAAqBlB,EAAKiB,iCAAiC6G,GAEjEhI,EAAEgI,GACC/H,IAAIC,EAAKR,eAAgB,WACxBM,EAAEkP,GACC9I,YAAe0I,EADlB,IAC0CC,GACvCF,SAASvJ,GAEZtF,EAAEgI,GAAe5B,YAAed,EAAhC,IAAoDyJ,EAApD,IAAsED,GAEtEE,EAAKpE,YAAa,EAElBzK,WAAW,WAAA,OAAMH,EAAEgP,EAAKxJ,UAAU3D,QAAQwN,IAAY,KAEvDnL,qBAAqB9C,QAExBpB,EAAEgI,GAAe5B,YAAYd,GAC7BtF,EAAEkP,GAAaL,SAASvJ,GAExBxF,KAAK8K,YAAa,EAClB5K,EAAEF,KAAK0F,UAAU3D,QAAQwN,GAGvBD,GACFtP,KAAKiM,YAMFtF,iBAAP,SAAwBpE,GACtB,OAAOvC,KAAK4G,KAAK,WACf,IAAIE,EAAO5G,EAAEF,MAAM8G,KAAK7B,GACpBiG,EAAO0B,EAAA,GACN1D,EADM,GAENhJ,EAAEF,MAAM8G,QAGS,iBAAXvE,IACT2I,EAAO0B,EAAA,GACF1B,EADE,GAEF3I,IAIP,IAAMoN,EAA2B,iBAAXpN,EAAsBA,EAAS2I,EAAQ7B,MAO7D,GALKvC,IACHA,EAAO,IAAI2D,EAASzK,KAAMkL,GAC1BhL,EAAEF,MAAM8G,KAAK7B,EAAU6B,IAGH,iBAAXvE,EACTuE,EAAKwF,GAAG/J,QACH,GAAsB,iBAAXoN,EAAqB,CACrC,GAA4B,oBAAjB7I,EAAK6I,GACd,MAAM,IAAI3L,UAAJ,oBAAkC2L,EAAlC,KAER7I,EAAK6I,UACIzE,EAAQ/B,UAAY+B,EAAQ0E,OACrC9I,EAAKwC,QACLxC,EAAKmF,cAKJ4D,qBAAP,SAA4BxL,GAC1B,IAAMtD,EAAWX,EAAKS,uBAAuBb,MAE7C,GAAKe,EAAL,CAIA,IAAM2D,EAASxE,EAAEa,GAAU,GAE3B,GAAK2D,GAAWxE,EAAEwE,GAAQ6B,SAASf,GAAnC,CAIA,IAAMjD,EAAMqK,EAAA,GACP1M,EAAEwE,GAAQoC,OADH,GAEP5G,EAAEF,MAAM8G,QAEPgJ,EAAa9P,KAAKgB,aAAa,iBAEjC8O,IACFvN,EAAO4G,UAAW,GAGpBsB,EAAS9D,iBAAiB9D,KAAK3C,EAAEwE,GAASnC,GAEtCuN,GACF5P,EAAEwE,GAAQoC,KAAK7B,GAAUqH,GAAGwD,GAG9BzL,EAAM4C,4DAjcN,MA3G2B,wCA+G3B,OAAOiC,WAucXhJ,EAAES,UACCuG,GAAG9B,EAAMG,eAAgB+B,GAAqBmD,GAASoF,sBAE1D3P,EAAEwI,QAAQxB,GAAG9B,EAAMoC,cAAe,WAEhC,IADA,IAAMuI,EAAY,GAAGnH,MAAM/F,KAAKlC,SAASkI,iBAAiBvB,KACjDwB,EAAI,EAAGC,EAAMgH,EAAU/G,OAAQF,EAAIC,EAAKD,IAAK,CACpD,IAAMkH,EAAY9P,EAAE6P,EAAUjH,IAC9B2B,GAAS9D,iBAAiB9D,KAAKmN,EAAWA,EAAUlJ,WAUxD5G,EAAEgE,GAAGc,GAAQyF,GAAS9D,iBACtBzG,EAAEgE,GAAGc,GAAMmC,YAAcsD,GACzBvK,EAAEgE,GAAGc,GAAMoC,WAAa,WAEtB,OADAlH,EAAEgE,GAAGc,GAAQG,EACNsF,GAAS9D,kBC5kBlB,IAAM3B,GAAsB,WAEtBC,GAAsB,cACtBC,GAAS,IAAiBD,GAE1BE,GAAsBjF,EAAEgE,GAAGc,IAE3BkE,GAAU,CACdxB,QAAS,EACTvB,OAAS,IAGLsD,GAAc,CAClB/B,OAAS,UACTvB,OAAS,oBAGLf,GAAQ,CACZ6K,KAAI,OAAoB/K,GACxBgL,MAAK,QAAoBhL,GACzBiL,KAAI,OAAoBjL,GACxBkL,OAAM,SAAoBlL,GAC1BK,eAAc,QAAWL,GAlBC,aAqBtBM,GACS,OADTA,GAES,WAFTA,GAGS,aAHTA,GAIS,YAGT6K,GACK,QADLA,GAEK,SAGL/I,GACU,qBADVA,GAEU,2BASVgJ,cACJ,SAAAA,EAAYxP,EAASyB,GACnBvC,KAAKuQ,kBAAmB,EACxBvQ,KAAK0F,SAAmB5E,EACxBd,KAAKkL,QAAmBlL,KAAKmL,WAAW5I,GACxCvC,KAAKwQ,cAAmB,GAAG5H,MAAM/F,KAAKlC,SAASkI,iBAC7C,mCAAmC/H,EAAQ2P,GAA3C,6CAC0C3P,EAAQ2P,GADlD,OAKF,IADA,IAAMC,EAAa,GAAG9H,MAAM/F,KAAKlC,SAASkI,iBAAiBvB,KAClDwB,EAAI,EAAGC,EAAM2H,EAAW1H,OAAQF,EAAIC,EAAKD,IAAK,CACrD,IAAM6H,EAAOD,EAAW5H,GAClB/H,EAAWX,EAAKS,uBAAuB8P,GACvCC,EAAgB,GAAGhI,MAAM/F,KAAKlC,SAASkI,iBAAiB9H,IAC3D8P,OAAO,SAACC,GAAD,OAAeA,IAAchQ,IAEtB,OAAbC,GAA4C,EAAvB6P,EAAc5H,SACrChJ,KAAK+Q,UAAYhQ,EACjBf,KAAKwQ,cAAcQ,KAAKL,IAI5B3Q,KAAKiR,QAAUjR,KAAKkL,QAAQ/E,OAASnG,KAAKkR,aAAe,KAEpDlR,KAAKkL,QAAQ/E,QAChBnG,KAAKmR,0BAA0BnR,KAAK0F,SAAU1F,KAAKwQ,eAGjDxQ,KAAKkL,QAAQxD,QACf1H,KAAK0H,oCAgBTA,OAAA,WACMxH,EAAEF,KAAK0F,UAAUa,SAASf,IAC5BxF,KAAKoR,OAELpR,KAAKqR,UAITA,KAAA,WAAO,IAMDC,EACAC,EAPCxR,EAAAC,KACL,IAAIA,KAAKuQ,mBACPrQ,EAAEF,KAAK0F,UAAUa,SAASf,MAOxBxF,KAAKiR,SAUgB,KATvBK,EAAU,GAAG1I,MAAM/F,KAAK7C,KAAKiR,QAAQpI,iBAAiBvB,KACnDuJ,OAAO,SAACF,GACP,MAAmC,iBAAxB5Q,EAAKmL,QAAQ/E,OACfwK,EAAK3P,aAAa,iBAAmBjB,EAAKmL,QAAQ/E,OAGpDwK,EAAK3I,UAAUC,SAASzC,OAGvBwD,SACVsI,EAAU,QAIVA,IACFC,EAAcrR,EAAEoR,GAASE,IAAIxR,KAAK+Q,WAAWjK,KAAK7B,MAC/BsM,EAAYhB,mBAFjC,CAOA,IAAMkB,EAAavR,EAAEkF,MAAMA,GAAM6K,MAEjC,GADA/P,EAAEF,KAAK0F,UAAU3D,QAAQ0P,IACrBA,EAAW1L,qBAAf,CAIIuL,IACFhB,EAAS3J,iBAAiB9D,KAAK3C,EAAEoR,GAASE,IAAIxR,KAAK+Q,WAAY,QAC1DQ,GACHrR,EAAEoR,GAASxK,KAAK7B,GAAU,OAI9B,IAAMyM,EAAY1R,KAAK2R,gBAEvBzR,EAAEF,KAAK0F,UACJY,YAAYd,IACZuJ,SAASvJ,IAEZxF,KAAK0F,SAASkM,MAAMF,GAAa,EAE7B1R,KAAKwQ,cAAcxH,QACrB9I,EAAEF,KAAKwQ,eACJlK,YAAYd,IACZqM,KAAK,iBAAiB,GAG3B7R,KAAK8R,kBAAiB,GAEtB,IAcMC,EAAU,UADaL,EAAU,GAAGnO,cAAgBmO,EAAU9I,MAAM,IAEpEtH,EAAqBlB,EAAKiB,iCAAiCrB,KAAK0F,UAEtExF,EAAEF,KAAK0F,UACJvF,IAAIC,EAAKR,eAlBK,WACfM,EAAEH,EAAK2F,UACJY,YAAYd,IACZuJ,SAASvJ,IACTuJ,SAASvJ,IAEZzF,EAAK2F,SAASkM,MAAMF,GAAa,GAEjC3R,EAAK+R,kBAAiB,GAEtB5R,EAAEH,EAAK2F,UAAU3D,QAAQqD,GAAM8K,SAS9B9L,qBAAqB9C,GAExBtB,KAAK0F,SAASkM,MAAMF,GAAgB1R,KAAK0F,SAASqM,GAAlD,UAGFX,KAAA,WAAO,IAAApE,EAAAhN,KACL,IAAIA,KAAKuQ,kBACNrQ,EAAEF,KAAK0F,UAAUa,SAASf,IAD7B,CAKA,IAAMiM,EAAavR,EAAEkF,MAAMA,GAAM+K,MAEjC,GADAjQ,EAAEF,KAAK0F,UAAU3D,QAAQ0P,IACrBA,EAAW1L,qBAAf,CAIA,IAAM2L,EAAY1R,KAAK2R,gBAEvB3R,KAAK0F,SAASkM,MAAMF,GAAgB1R,KAAK0F,SAASsM,wBAAwBN,GAA1E,KAEAtR,EAAKyB,OAAO7B,KAAK0F,UAEjBxF,EAAEF,KAAK0F,UACJqJ,SAASvJ,IACTc,YAAYd,IACZc,YAAYd,IAEf,IAAMyM,EAAqBjS,KAAKwQ,cAAcxH,OAC9C,GAAyB,EAArBiJ,EACF,IAAK,IAAInJ,EAAI,EAAGA,EAAImJ,EAAoBnJ,IAAK,CAC3C,IAAM/G,EAAU/B,KAAKwQ,cAAc1H,GAC7B/H,EAAWX,EAAKS,uBAAuBkB,GAE7C,GAAiB,OAAbhB,EACYb,EAAE,GAAG0I,MAAM/F,KAAKlC,SAASkI,iBAAiB9H,KAC7CwF,SAASf,KAClBtF,EAAE6B,GAASgN,SAASvJ,IACjBqM,KAAK,iBAAiB,GAMjC7R,KAAK8R,kBAAiB,GAUtB9R,KAAK0F,SAASkM,MAAMF,GAAa,GACjC,IAAMpQ,EAAqBlB,EAAKiB,iCAAiCrB,KAAK0F,UAEtExF,EAAEF,KAAK0F,UACJvF,IAAIC,EAAKR,eAZK,WACfoN,EAAK8E,kBAAiB,GACtB5R,EAAE8M,EAAKtH,UACJY,YAAYd,IACZuJ,SAASvJ,IACTzD,QAAQqD,GAAMgL,UAQhBhM,qBAAqB9C,QAG1BwQ,iBAAA,SAAiBI,GACflS,KAAKuQ,iBAAmB2B,KAG1BjM,QAAA,WACE/F,EAAEgG,WAAWlG,KAAK0F,SAAUT,IAE5BjF,KAAKkL,QAAmB,KACxBlL,KAAKiR,QAAmB,KACxBjR,KAAK0F,SAAmB,KACxB1F,KAAKwQ,cAAmB,KACxBxQ,KAAKuQ,iBAAmB,QAK1BpF,WAAA,SAAW5I,GAOT,OANAA,EAAMqK,EAAA,GACD1D,GADC,GAED3G,IAEEmF,OAASzF,QAAQM,EAAOmF,QAC/BtH,EAAKiC,gBAAgB2C,GAAMzC,EAAQkH,IAC5BlH,KAGToP,cAAA,WAEE,OADiBzR,EAAEF,KAAK0F,UAAUa,SAAS8J,IACzBA,GAAkBA,MAGtCa,WAAA,WAAa,IACP/K,EADOgH,EAAAnN,KAGPI,EAAK8B,UAAUlC,KAAKkL,QAAQ/E,SAC9BA,EAASnG,KAAKkL,QAAQ/E,OAGoB,oBAA/BnG,KAAKkL,QAAQ/E,OAAOhC,SAC7BgC,EAASnG,KAAKkL,QAAQ/E,OAAO,KAG/BA,EAASxF,SAASQ,cAAcnB,KAAKkL,QAAQ/E,QAG/C,IAAMpF,EAAQ,yCAC6Bf,KAAKkL,QAAQ/E,OAD1C,KAGR2I,EAAW,GAAGlG,MAAM/F,KAAKsD,EAAO0C,iBAAiB9H,IAQvD,OAPAb,EAAE4O,GAAUlI,KAAK,SAACkC,EAAGhI,GACnBqM,EAAKgE,0BACHb,EAAS6B,sBAAsBrR,GAC/B,CAACA,MAIEqF,KAGTgL,0BAAA,SAA0BrQ,EAASsR,GACjC,IAAMC,EAASnS,EAAEY,GAASyF,SAASf,IAE/B4M,EAAapJ,QACf9I,EAAEkS,GACC7J,YAAY/C,IAAsB6M,GAClCR,KAAK,gBAAiBQ,MAMtBF,sBAAP,SAA6BrR,GAC3B,IAAMC,EAAWX,EAAKS,uBAAuBC,GAC7C,OAAOC,EAAWJ,SAASQ,cAAcJ,GAAY,QAGhD4F,iBAAP,SAAwBpE,GACtB,OAAOvC,KAAK4G,KAAK,WACf,IAAM0L,EAAUpS,EAAEF,MACd8G,EAAYwL,EAAMxL,KAAK7B,IACrBiG,EAAO0B,EAAA,GACR1D,GADQ,GAERoJ,EAAMxL,OAFE,GAGU,iBAAXvE,GAAuBA,EAASA,EAAS,IAYrD,IATKuE,GAAQoE,EAAQxD,QAAU,YAAYrE,KAAKd,KAC9C2I,EAAQxD,QAAS,GAGdZ,IACHA,EAAO,IAAIwJ,EAAStQ,KAAMkL,GAC1BoH,EAAMxL,KAAK7B,GAAU6B,IAGD,iBAAXvE,EAAqB,CAC9B,GAA4B,oBAAjBuE,EAAKvE,GACd,MAAM,IAAIyB,UAAJ,oBAAkCzB,EAAlC,KAERuE,EAAKvE,iDAjQT,MApFwB,wCAwFxB,OAAO2G,YAyQXhJ,EAAES,UAAUuG,GAAG9B,GAAMG,eAAgB+B,GAAsB,SAAUjD,GAE/B,MAAhCA,EAAMkO,cAAcpK,SACtB9D,EAAM4C,iBAGR,IAAMuL,EAAWtS,EAAEF,MACbe,EAAWX,EAAKS,uBAAuBb,MACvCyS,EAAY,GAAG7J,MAAM/F,KAAKlC,SAASkI,iBAAiB9H,IAE1Db,EAAEuS,GAAW7L,KAAK,WAChB,IAAM8L,EAAUxS,EAAEF,MAEZuC,EADUmQ,EAAQ5L,KAAK7B,IACN,SAAWuN,EAAS1L,OAC3CwJ,GAAS3J,iBAAiB9D,KAAK6P,EAASnQ,OAU5CrC,EAAEgE,GAAGc,IAAQsL,GAAS3J,iBACtBzG,EAAEgE,GAAGc,IAAMmC,YAAcmJ,GACzBpQ,EAAEgE,GAAGc,IAAMoC,WAAa,WAEtB,OADAlH,EAAEgE,GAAGc,IAAQG,GACNmL,GAAS3J,kBCtXlB,IAAIgM,GAA8B,oBAAXjK,QAA8C,oBAAb/H,UAAiD,oBAAd2K,UAEvFsH,GAAkB,WAEpB,IADA,IAAIC,EAAwB,CAAC,OAAQ,UAAW,WACvC/J,EAAI,EAAGA,EAAI+J,EAAsB7J,OAAQF,GAAK,EACrD,GAAI6J,IAAsE,GAAzDrH,UAAUwH,UAAUhF,QAAQ+E,EAAsB/J,IACjE,OAAO,EAGX,OAAO,EAPa,GAqCtB,IAWIiK,GAXqBJ,IAAajK,OAAOsK,QA3B7C,SAA2B9O,GACzB,IAAIjE,GAAS,EACb,OAAO,WACDA,IAGJA,GAAS,EACTyI,OAAOsK,QAAQC,UAAUC,KAAK,WAC5BjT,GAAS,EACTiE,SAKN,SAAsBA,GACpB,IAAIiP,GAAY,EAChB,OAAO,WACAA,IACHA,GAAY,EACZ9S,WAAW,WACT8S,GAAY,EACZjP,KACC0O,OAyBT,SAASQ,GAAWC,GAElB,OAAOA,GAA8D,sBADvD,GACoBpQ,SAASJ,KAAKwQ,GAUlD,SAASC,GAAyBxS,EAAS2B,GACzC,GAAyB,IAArB3B,EAAQsB,SACV,MAAO,GAGT,IACIb,EADST,EAAQyS,cAAcC,YAClBC,iBAAiB3S,EAAS,MAC3C,OAAO2B,EAAWlB,EAAIkB,GAAYlB,EAUpC,SAASmS,GAAc5S,GACrB,MAAyB,SAArBA,EAAQ6S,SACH7S,EAEFA,EAAQ+C,YAAc/C,EAAQ8S,KAUvC,SAASC,GAAgB/S,GAEvB,IAAKA,EACH,OAAOH,SAASmT,KAGlB,OAAQhT,EAAQ6S,UACd,IAAK,OACL,IAAK,OACH,OAAO7S,EAAQyS,cAAcO,KAC/B,IAAK,YACH,OAAOhT,EAAQgT,KAKnB,IAAIC,EAAwBT,GAAyBxS,GACjDkT,EAAWD,EAAsBC,SACjCC,EAAYF,EAAsBE,UAClCC,EAAYH,EAAsBG,UAEtC,MAAI,wBAAwB7Q,KAAK2Q,EAAWE,EAAYD,GAC/CnT,EAGF+S,GAAgBH,GAAc5S,IAUvC,SAASqT,GAAiBC,GACxB,OAAOA,GAAaA,EAAUC,cAAgBD,EAAUC,cAAgBD,EAG1E,IAAIE,GAAS3B,OAAgBjK,OAAO6L,uBAAwB5T,SAAS6T,cACjEC,GAAS9B,IAAa,UAAUtP,KAAKiI,UAAUwH,WASnD,SAAS4B,GAAKzQ,GACZ,OAAgB,KAAZA,EACKqQ,GAEO,KAAZrQ,EACKwQ,GAEFH,IAAUG,GAUnB,SAASE,GAAgB7T,GACvB,IAAKA,EACH,OAAOH,SAAS8C,gBAQlB,IALA,IAAImR,EAAiBF,GAAK,IAAM/T,SAASmT,KAAO,KAG5Ce,EAAe/T,EAAQ+T,cAAgB,KAEpCA,IAAiBD,GAAkB9T,EAAQgU,oBAChDD,GAAgB/T,EAAUA,EAAQgU,oBAAoBD,aAGxD,IAAIlB,EAAWkB,GAAgBA,EAAalB,SAE5C,OAAKA,GAAyB,SAAbA,GAAoC,SAAbA,GAMsB,IAA1D,CAAC,KAAM,KAAM,SAAS7F,QAAQ+G,EAAalB,WAA2E,WAAvDL,GAAyBuB,EAAc,YACjGF,GAAgBE,GAGlBA,EATE/T,EAAUA,EAAQyS,cAAc9P,gBAAkB9C,SAAS8C,gBA4BtE,SAASsR,GAAQC,GACf,OAAwB,OAApBA,EAAKnR,WACAkR,GAAQC,EAAKnR,YAGfmR,EAWT,SAASC,GAAuBC,EAAUC,GAExC,KAAKD,GAAaA,EAAS9S,UAAa+S,GAAaA,EAAS/S,UAC5D,OAAOzB,SAAS8C,gBAIlB,IAAI2R,EAAQF,EAASG,wBAAwBF,GAAYG,KAAKC,4BAC1DnI,EAAQgI,EAAQF,EAAWC,EAC3B1H,EAAM2H,EAAQD,EAAWD,EAGzBM,EAAQ7U,SAAS8U,cACrBD,EAAME,SAAStI,EAAO,GACtBoI,EAAMG,OAAOlI,EAAK,GAClB,IAAImI,EAA0BJ,EAAMI,wBAIpC,GAAIV,IAAaU,GAA2BT,IAAaS,GAA2BxI,EAAMnF,SAASwF,GACjG,OApDJ,SAA2B3M,GACzB,IAAI6S,EAAW7S,EAAQ6S,SAEvB,MAAiB,SAAbA,IAGgB,SAAbA,GAAuBgB,GAAgB7T,EAAQ+U,qBAAuB/U,GA8CvEgV,CAAkBF,GACbA,EAGFjB,GAAgBiB,GAIzB,IAAIG,EAAehB,GAAQG,GAC3B,OAAIa,EAAanC,KACRqB,GAAuBc,EAAanC,KAAMuB,GAE1CF,GAAuBC,EAAUH,GAAQI,GAAUvB,MAY9D,SAASoC,GAAUlV,EAAnB,GACE,IAEImV,EAAqB,SAFK,EAAnBlR,UAAUiE,aAA+BkN,IADtD,EAAA,EACiF,OAE9C,YAAc,aAC3CvC,EAAW7S,EAAQ6S,SAEvB,GAAiB,SAAbA,GAAoC,SAAbA,EAM3B,OAAO7S,EAAQmV,GALb,IAAIE,EAAOrV,EAAQyS,cAAc9P,gBAEjC,OADuB3C,EAAQyS,cAAc6C,kBAAoBD,GACzCF,GAsC5B,SAASI,GAAeC,EAAQC,GAC9B,IAAIC,EAAiB,MAATD,EAAe,OAAS,MAChCE,EAAkB,QAAVD,EAAmB,QAAU,SAEzC,OAAO9U,WAAW4U,EAAO,SAAWE,EAAQ,SAAU,IAAM9U,WAAW4U,EAAO,SAAWG,EAAQ,SAAU,IAG7G,SAASC,GAAQH,EAAMzC,EAAMqC,EAAMQ,GACjC,OAAOlW,KAAKmW,IAAI9C,EAAK,SAAWyC,GAAOzC,EAAK,SAAWyC,GAAOJ,EAAK,SAAWI,GAAOJ,EAAK,SAAWI,GAAOJ,EAAK,SAAWI,GAAO7B,GAAK,IAAMjF,SAAS0G,EAAK,SAAWI,IAAS9G,SAASkH,EAAc,UAAqB,WAATJ,EAAoB,MAAQ,UAAY9G,SAASkH,EAAc,UAAqB,WAATJ,EAAoB,SAAW,WAAa,GAG5U,SAASM,GAAelW,GACtB,IAAImT,EAAOnT,EAASmT,KAChBqC,EAAOxV,EAAS8C,gBAChBkT,EAAgBjC,GAAK,KAAOjB,iBAAiB0C,GAEjD,MAAO,CACLW,OAAQJ,GAAQ,SAAU5C,EAAMqC,EAAMQ,GACtCI,MAAOL,GAAQ,QAAS5C,EAAMqC,EAAMQ,IAIxC,IAMIK,GAWK,SAAU7P,EAAa8P,EAAYC,GAGxC,OAFID,GAAYE,GAAiBhQ,EAAYxE,UAAWsU,GACpDC,GAAaC,GAAiBhQ,EAAa+P,GACxC/P,GAbT,SAASgQ,GAAiBzS,EAAQ0S,GAChC,IAAK,IAAItO,EAAI,EAAGA,EAAIsO,EAAMpO,OAAQF,IAAK,CACrC,IAAIuO,EAAaD,EAAMtO,GACvBuO,EAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWE,cAAe,EACtB,UAAWF,IAAYA,EAAWG,UAAW,GACjD9U,OAAO+U,eAAe/S,EAAQ2S,EAAWK,IAAKL,IAe/B,SAAjBI,GAA2BtV,EAAKuV,EAAK3U,GAYvC,OAXI2U,KAAOvV,EACTO,OAAO+U,eAAetV,EAAKuV,EAAK,CAC9B3U,MAAOA,EACPuU,YAAY,EACZC,cAAc,EACdC,UAAU,IAGZrV,EAAIuV,GAAO3U,EAGNZ,EAZT,IAeIwV,GAAWjV,OAAOkV,QAAU,SAAUlT,GACxC,IAAK,IAAIoE,EAAI,EAAGA,EAAI/D,UAAUiE,OAAQF,IAAK,CACzC,IAAI+O,EAAS9S,UAAU+D,GAEvB,IAAK,IAAI4O,KAAOG,EACVnV,OAAOC,UAAUC,eAAeC,KAAKgV,EAAQH,KAC/ChT,EAAOgT,GAAOG,EAAOH,IAK3B,OAAOhT,GAUT,SAASoT,GAAcC,GACrB,OAAOJ,GAAS,GAAII,EAAS,CAC3BC,MAAOD,EAAQE,KAAOF,EAAQhB,MAC9BmB,OAAQH,EAAQI,IAAMJ,EAAQjB,SAWlC,SAAS9E,GAAsBlR,GAC7B,IAAIsX,EAAO,GAKX,IACE,GAAI1D,GAAK,IAAK,CACZ0D,EAAOtX,EAAQkR,wBACf,IAAIqG,EAAYrC,GAAUlV,EAAS,OAC/BwX,EAAatC,GAAUlV,EAAS,QACpCsX,EAAKD,KAAOE,EACZD,EAAKH,MAAQK,EACbF,EAAKF,QAAUG,EACfD,EAAKJ,OAASM,OAEdF,EAAOtX,EAAQkR,wBAEjB,MAAOrE,IAET,IAAI4K,EAAS,CACXN,KAAMG,EAAKH,KACXE,IAAKC,EAAKD,IACVpB,MAAOqB,EAAKJ,MAAQI,EAAKH,KACzBnB,OAAQsB,EAAKF,OAASE,EAAKD,KAIzBK,EAA6B,SAArB1X,EAAQ6S,SAAsBkD,GAAe/V,EAAQyS,eAAiB,GAC9EwD,EAAQyB,EAAMzB,OAASjW,EAAQ2X,aAAeF,EAAOxB,MACrDD,EAAS0B,EAAM1B,QAAUhW,EAAQ4X,cAAgBH,EAAOzB,OAExD6B,EAAiB7X,EAAQ8X,YAAc7B,EACvC8B,EAAgB/X,EAAQgB,aAAegV,EAI3C,GAAI6B,GAAkBE,EAAe,CACnC,IAAIvC,EAAShD,GAAyBxS,GACtC6X,GAAkBtC,GAAeC,EAAQ,KACzCuC,GAAiBxC,GAAeC,EAAQ,KAExCiC,EAAOxB,OAAS4B,EAChBJ,EAAOzB,QAAU+B,EAGnB,OAAOf,GAAcS,GAGvB,SAASO,GAAqChK,EAAU3I,EAAxD,GACE,IAAI4S,EAAmC,EAAnBhU,UAAUiE,aAA+BkN,IAD/D,GAAA,EAGMzB,EAASC,GAAK,IACdsE,EAA6B,SAApB7S,EAAOwN,SAChBsF,EAAejH,GAAsBlD,GACrCoK,EAAalH,GAAsB7L,GACnCgT,EAAetF,GAAgB/E,GAE/BwH,EAAShD,GAAyBnN,GAClCiT,EAAiB1X,WAAW4U,EAAO8C,eAAgB,IACnDC,EAAkB3X,WAAW4U,EAAO+C,gBAAiB,IAGrDN,GAAiBC,IACnBE,EAAWf,IAAM1X,KAAKmW,IAAIsC,EAAWf,IAAK,GAC1Ce,EAAWjB,KAAOxX,KAAKmW,IAAIsC,EAAWjB,KAAM,IAE9C,IAAIF,EAAUD,GAAc,CAC1BK,IAAKc,EAAad,IAAMe,EAAWf,IAAMiB,EACzCnB,KAAMgB,EAAahB,KAAOiB,EAAWjB,KAAOoB,EAC5CtC,MAAOkC,EAAalC,MACpBD,OAAQmC,EAAanC,SASvB,GAPAiB,EAAQuB,UAAY,EACpBvB,EAAQwB,WAAa,GAMhB9E,GAAUuE,EAAQ,CACrB,IAAIM,EAAY5X,WAAW4U,EAAOgD,UAAW,IACzCC,EAAa7X,WAAW4U,EAAOiD,WAAY,IAE/CxB,EAAQI,KAAOiB,EAAiBE,EAChCvB,EAAQG,QAAUkB,EAAiBE,EACnCvB,EAAQE,MAAQoB,EAAkBE,EAClCxB,EAAQC,OAASqB,EAAkBE,EAGnCxB,EAAQuB,UAAYA,EACpBvB,EAAQwB,WAAaA,EAOvB,OAJI9E,IAAWsE,EAAgB5S,EAAO8B,SAASkR,GAAgBhT,IAAWgT,GAA0C,SAA1BA,EAAaxF,YACrGoE,EA1NJ,SAAuBK,EAAMtX,EAA7B,GACE,IAAI0Y,EAA8B,EAAnBzU,UAAUiE,aAA+BkN,IAD1D,GAAA,EAGMmC,EAAYrC,GAAUlV,EAAS,OAC/BwX,EAAatC,GAAUlV,EAAS,QAChC2Y,EAAWD,GAAY,EAAI,EAK/B,OAJApB,EAAKD,KAAOE,EAAYoB,EACxBrB,EAAKF,QAAUG,EAAYoB,EAC3BrB,EAAKH,MAAQK,EAAamB,EAC1BrB,EAAKJ,OAASM,EAAamB,EACpBrB,EAgNKsB,CAAc3B,EAAS5R,IAG5B4R,EAuDT,SAAS4B,GAA6B7Y,GAEpC,IAAKA,IAAYA,EAAQ8Y,eAAiBlF,KACxC,OAAO/T,SAAS8C,gBAGlB,IADA,IAAIoW,EAAK/Y,EAAQ8Y,cACVC,GAAoD,SAA9CvG,GAAyBuG,EAAI,cACxCA,EAAKA,EAAGD,cAEV,OAAOC,GAAMlZ,SAAS8C,gBAcxB,SAASqW,GAAcC,EAAQ3F,EAAW4F,EAASC,EAAnD,GACE,IAAIlB,EAAmC,EAAnBhU,UAAUiE,aAA+BkN,IAD/D,GAAA,EAKMgE,EAAa,CAAE/B,IAAK,EAAGF,KAAM,GAC7BpD,EAAekE,EAAgBY,GAA6BI,GAAU9E,GAAuB8E,EAAQ5F,GAAiBC,IAG1H,GAA0B,aAAtB6F,EACFC,EArFJ,SAAuDpZ,EAAvD,GACE,IAAIqZ,EAAmC,EAAnBpV,UAAUiE,aAA+BkN,IAD/D,GAAA,EAGMC,EAAOrV,EAAQyS,cAAc9P,gBAC7B2W,EAAiBtB,GAAqChY,EAASqV,GAC/DY,EAAQtW,KAAKmW,IAAIT,EAAKsC,YAAa/P,OAAO2R,YAAc,GACxDvD,EAASrW,KAAKmW,IAAIT,EAAKuC,aAAchQ,OAAO4R,aAAe,GAE3DjC,EAAa8B,EAAkC,EAAlBnE,GAAUG,GACvCmC,EAAc6B,EAA0C,EAA1BnE,GAAUG,EAAM,QASlD,OAAO2B,GAPM,CACXK,IAAKE,EAAY+B,EAAejC,IAAMiC,EAAed,UACrDrB,KAAMK,EAAa8B,EAAenC,KAAOmC,EAAeb,WACxDxC,MAAOA,EACPD,OAAQA,IAsEKyD,CAA8C1F,EAAckE,OACpE,CAEL,IAAIyB,OAAiB,EACK,iBAAtBP,EAE8B,UADhCO,EAAiB3G,GAAgBH,GAAcU,KAC5BT,WACjB6G,EAAiBT,EAAOxG,cAAc9P,iBAGxC+W,EAD+B,WAAtBP,EACQF,EAAOxG,cAAc9P,gBAErBwW,EAGnB,IAAIlC,EAAUe,GAAqC0B,EAAgB3F,EAAckE,GAGjF,GAAgC,SAA5ByB,EAAe7G,UA1EvB,SAAS8G,EAAQ3Z,GACf,IAAI6S,EAAW7S,EAAQ6S,SACvB,GAAiB,SAAbA,GAAoC,SAAbA,EACzB,OAAO,EAET,GAAsD,UAAlDL,GAAyBxS,EAAS,YACpC,OAAO,EAET,IAAI+C,EAAa6P,GAAc5S,GAC/B,QAAK+C,GAGE4W,EAAQ5W,GA8D8B4W,CAAQ5F,GAWjDqF,EAAanC,MAXmD,CAChE,IAAI2C,EAAkB7D,GAAekD,EAAOxG,eACxCuD,EAAS4D,EAAgB5D,OACzBC,EAAQ2D,EAAgB3D,MAE5BmD,EAAW/B,KAAOJ,EAAQI,IAAMJ,EAAQuB,UACxCY,EAAWhC,OAASpB,EAASiB,EAAQI,IACrC+B,EAAWjC,MAAQF,EAAQE,KAAOF,EAAQwB,WAC1CW,EAAWlC,MAAQjB,EAAQgB,EAAQE,MASvC,IAAI0C,EAAqC,iBADzCX,EAAUA,GAAW,GAOrB,OALAE,EAAWjC,MAAQ0C,EAAkBX,EAAUA,EAAQ/B,MAAQ,EAC/DiC,EAAW/B,KAAOwC,EAAkBX,EAAUA,EAAQ7B,KAAO,EAC7D+B,EAAWlC,OAAS2C,EAAkBX,EAAUA,EAAQhC,OAAS,EACjEkC,EAAWhC,QAAUyC,EAAkBX,EAAUA,EAAQ9B,QAAU,EAE5DgC,EAmBT,SAASU,GAAqBC,EAAWC,EAASf,EAAQ3F,EAAW6F,EAArE,GACE,IAAID,EAA6B,EAAnBjV,UAAUiE,aAA+BkN,IADzD,EAAA,EACoF,EAElF,IAAmC,IAA/B2E,EAAU/M,QAAQ,QACpB,OAAO+M,EAGT,IAAIX,EAAaJ,GAAcC,EAAQ3F,EAAW4F,EAASC,GAEvDc,EAAQ,CACV5C,IAAK,CACHpB,MAAOmD,EAAWnD,MAClBD,OAAQgE,EAAQ3C,IAAM+B,EAAW/B,KAEnCH,MAAO,CACLjB,MAAOmD,EAAWlC,MAAQ8C,EAAQ9C,MAClClB,OAAQoD,EAAWpD,QAErBoB,OAAQ,CACNnB,MAAOmD,EAAWnD,MAClBD,OAAQoD,EAAWhC,OAAS4C,EAAQ5C,QAEtCD,KAAM,CACJlB,MAAO+D,EAAQ7C,KAAOiC,EAAWjC,KACjCnB,OAAQoD,EAAWpD,SAInBkE,EAActY,OAAOuY,KAAKF,GAAOG,IAAI,SAAUxD,GACjD,OAAOC,GAAS,CACdD,IAAKA,GACJqD,EAAMrD,GAAM,CACbyD,KAhDN,SAAiBC,GAIf,OAHYA,EAAKrE,MACJqE,EAAKtE,OA8CRuE,CAAQN,EAAMrD,QAErB4D,KAAK,SAAUC,EAAGC,GACnB,OAAOA,EAAEL,KAAOI,EAAEJ,OAGhBM,EAAgBT,EAAYnK,OAAO,SAAU6K,GAC/C,IAAI3E,EAAQ2E,EAAM3E,MACdD,EAAS4E,EAAM5E,OACnB,OAAOC,GAASgD,EAAOtB,aAAe3B,GAAUiD,EAAOrB,eAGrDiD,EAA2C,EAAvBF,EAAczS,OAAayS,EAAc,GAAG/D,IAAMsD,EAAY,GAAGtD,IAErFkE,EAAYf,EAAUjZ,MAAM,KAAK,GAErC,OAAO+Z,GAAqBC,EAAY,IAAMA,EAAY,IAa5D,SAASC,GAAoBC,EAAO/B,EAAQ3F,EAA5C,GACE,IAAI2E,EAAmC,EAAnBhU,UAAUiE,aAA+BkN,IAD/D,EAAA,EAC0F,KAGxF,OAAO4C,GAAqC1E,EADnB2E,EAAgBY,GAA6BI,GAAU9E,GAAuB8E,EAAQ5F,GAAiBC,IACrD2E,GAU7E,SAASgD,GAAcjb,GACrB,IACIwV,EADSxV,EAAQyS,cAAcC,YACfC,iBAAiB3S,GACjCkb,EAAIta,WAAW4U,EAAOgD,WAAa,GAAK5X,WAAW4U,EAAO2F,cAAgB,GAC1EC,EAAIxa,WAAW4U,EAAOiD,YAAc,GAAK7X,WAAW4U,EAAO6F,aAAe,GAK9E,MAJa,CACXpF,MAAOjW,EAAQ8X,YAAcsD,EAC7BpF,OAAQhW,EAAQgB,aAAeka,GAYnC,SAASI,GAAqBvB,GAC5B,IAAIwB,EAAO,CAAEpE,KAAM,QAASD,MAAO,OAAQE,OAAQ,MAAOC,IAAK,UAC/D,OAAO0C,EAAUyB,QAAQ,yBAA0B,SAAUC,GAC3D,OAAOF,EAAKE,KAchB,SAASC,GAAiBzC,EAAQ0C,EAAkB5B,GAClDA,EAAYA,EAAUjZ,MAAM,KAAK,GAGjC,IAAI8a,EAAaX,GAAchC,GAG3B4C,EAAgB,CAClB5F,MAAO2F,EAAW3F,MAClBD,OAAQ4F,EAAW5F,QAIjB8F,GAAoD,IAA1C,CAAC,QAAS,QAAQ9O,QAAQ+M,GACpCgC,EAAWD,EAAU,MAAQ,OAC7BE,EAAgBF,EAAU,OAAS,MACnCG,EAAcH,EAAU,SAAW,QACnCI,EAAwBJ,EAAqB,QAAX,SAStC,OAPAD,EAAcE,GAAYJ,EAAiBI,GAAYJ,EAAiBM,GAAe,EAAIL,EAAWK,GAAe,EAEnHJ,EAAcG,GADZjC,IAAciC,EACeL,EAAiBK,GAAiBJ,EAAWM,GAE7CP,EAAiBL,GAAqBU,IAGhEH,EAYT,SAASM,GAAKC,EAAKC,GAEjB,OAAIC,MAAMza,UAAUsa,KACXC,EAAID,KAAKE,GAIXD,EAAIrM,OAAOsM,GAAO,GAqC3B,SAASE,GAAaC,EAAWxW,EAAMyW,GAoBrC,YAnB8BrH,IAATqH,EAAqBD,EAAYA,EAAU1U,MAAM,EA1BxE,SAAmBsU,EAAKM,EAAMza,GAE5B,GAAIqa,MAAMza,UAAU8a,UAClB,OAAOP,EAAIO,UAAU,SAAUC,GAC7B,OAAOA,EAAIF,KAAUza,IAKzB,IAAIG,EAAQ+Z,GAAKC,EAAK,SAAU/a,GAC9B,OAAOA,EAAIqb,KAAUza,IAEvB,OAAOma,EAAIpP,QAAQ5K,GAcsDua,CAAUH,EAAW,OAAQC,KAEvFI,QAAQ,SAAUlE,GAC3BA,EAAmB,UAErBmE,QAAQC,KAAK,yDAEf,IAAI3Z,EAAKuV,EAAmB,UAAKA,EAASvV,GACtCuV,EAASqE,SAAW1K,GAAWlP,KAIjC4C,EAAKiR,QAAQgC,OAASjC,GAAchR,EAAKiR,QAAQgC,QACjDjT,EAAKiR,QAAQ3D,UAAY0D,GAAchR,EAAKiR,QAAQ3D,WAEpDtN,EAAO5C,EAAG4C,EAAM2S,MAIb3S,EA8DT,SAASiX,GAAkBT,EAAWU,GACpC,OAAOV,EAAUW,KAAK,SAAU7C,GAC9B,IAAI8C,EAAO9C,EAAK8C,KAEhB,OADc9C,EAAK0C,SACDI,IAASF,IAW/B,SAASG,GAAyB1b,GAIhC,IAHA,IAAI2b,EAAW,EAAC,EAAO,KAAM,SAAU,MAAO,KAC1CC,EAAY5b,EAAS6b,OAAO,GAAG/a,cAAgBd,EAASmG,MAAM,GAEzDE,EAAI,EAAGA,EAAIsV,EAASpV,OAAQF,IAAK,CACxC,IAAItI,EAAS4d,EAAStV,GAClByV,EAAU/d,EAAS,GAAKA,EAAS6d,EAAY5b,EACjD,GAA4C,oBAAjC9B,SAASmT,KAAKlC,MAAM2M,GAC7B,OAAOA,EAGX,OAAO,KAsCT,SAASC,GAAU1d,GACjB,IAAIyS,EAAgBzS,EAAQyS,cAC5B,OAAOA,EAAgBA,EAAcC,YAAc9K,OAoBrD,SAAS+V,GAAoBrK,EAAWsK,EAAS5C,EAAO6C,GAEtD7C,EAAM6C,YAAcA,EACpBH,GAAUpK,GAAWwK,iBAAiB,SAAU9C,EAAM6C,YAAa,CAAEE,SAAS,IAG9E,IAAIC,EAAgBjL,GAAgBO,GAKpC,OA5BF,SAAS2K,EAAsB5F,EAAc9U,EAAO2a,EAAUC,GAC5D,IAAIC,EAAmC,SAA1B/F,EAAaxF,SACtBjP,EAASwa,EAAS/F,EAAa5F,cAAcC,YAAc2F,EAC/DzU,EAAOka,iBAAiBva,EAAO2a,EAAU,CAAEH,SAAS,IAE/CK,GACHH,EAAsBlL,GAAgBnP,EAAOb,YAAaQ,EAAO2a,EAAUC,GAE7EA,EAAcjO,KAAKtM,GAgBnBqa,CAAsBD,EAAe,SAAUhD,EAAM6C,YAAa7C,EAAMmD,eACxEnD,EAAMgD,cAAgBA,EACtBhD,EAAMqD,eAAgB,EAEfrD,EA6CT,SAASsD,KACHpf,KAAK8b,MAAMqD,gBACbE,qBAAqBrf,KAAKsf,gBAC1Btf,KAAK8b,MA3BT,SAA8B1H,EAAW0H,GAcvC,OAZA0C,GAAUpK,GAAWmL,oBAAoB,SAAUzD,EAAM6C,aAGzD7C,EAAMmD,cAActB,QAAQ,SAAUjZ,GACpCA,EAAO6a,oBAAoB,SAAUzD,EAAM6C,eAI7C7C,EAAM6C,YAAc,KACpB7C,EAAMmD,cAAgB,GACtBnD,EAAMgD,cAAgB,KACtBhD,EAAMqD,eAAgB,EACfrD,EAaQ0D,CAAqBxf,KAAKoU,UAAWpU,KAAK8b,QAW3D,SAAS2D,GAAUC,GACjB,MAAa,KAANA,IAAaC,MAAMje,WAAWge,KAAOE,SAASF,GAWvD,SAASG,GAAU/e,EAASwV,GAC1B5T,OAAOuY,KAAK3E,GAAQqH,QAAQ,SAAUH,GACpC,IAAIsC,EAAO,IAEkE,IAAzE,CAAC,QAAS,SAAU,MAAO,QAAS,SAAU,QAAQhS,QAAQ0P,IAAgBiC,GAAUnJ,EAAOkH,MACjGsC,EAAO,MAEThf,EAAQ8Q,MAAM4L,GAAQlH,EAAOkH,GAAQsC,IAkGzC,SAASC,GAAkBjZ,EAAMkZ,GAOjB,SAAVC,EAA2BC,GAC7B,OAAOA,EAPT,IAAIC,EAAgBrZ,EAAKiR,QACrBgC,EAASoG,EAAcpG,OACvB3F,EAAY+L,EAAc/L,UAC1BgM,EAAQ3f,KAAK2f,MACbC,EAAQ5f,KAAK4f,MAMbC,EAAiBF,EAAMhM,EAAU2C,OACjCwJ,EAAcH,EAAMrG,EAAOhD,OAE3ByJ,GAA4D,IAA/C,CAAC,OAAQ,SAAS1S,QAAQhH,EAAK+T,WAC5C4F,GAA+C,IAAjC3Z,EAAK+T,UAAU/M,QAAQ,KAIrC4S,EAAuBV,EAAwBQ,GAAcC,GAH3CH,EAAiB,GAAMC,EAAc,EAGuCH,EAAQC,EAAjEJ,EACrCU,EAAqBX,EAAwBI,EAAVH,EAEvC,MAAO,CACLhI,KAAMyI,EANWJ,EAAiB,GAAM,GAAKC,EAAc,GAAM,IAMtBE,GAAeT,EAAcjG,EAAO9B,KAAO,EAAI8B,EAAO9B,MACjGE,IAAKwI,EAAkB5G,EAAO5B,KAC9BD,OAAQyI,EAAkB5G,EAAO7B,QACjCF,MAAO0I,EAAoB3G,EAAO/B,QAItC,IAAI4I,GAAYjO,IAAa,WAAWtP,KAAKiI,UAAUwH,WA8GvD,SAAS+N,GAAmBvD,EAAWwD,EAAgBC,GACrD,IAAIC,EAAa/D,GAAKK,EAAW,SAAUlC,GAEzC,OADWA,EAAK8C,OACA4C,IAGdG,IAAeD,GAAc1D,EAAUW,KAAK,SAAUxE,GACxD,OAAOA,EAASyE,OAAS6C,GAAiBtH,EAASqE,SAAWrE,EAASrE,MAAQ4L,EAAW5L,QAG5F,IAAK6L,EAAY,CACf,IAAIC,EAAc,IAAMJ,EAAiB,IACrCK,EAAY,IAAMJ,EAAgB,IACtCnD,QAAQC,KAAKsD,EAAY,4BAA8BD,EAAc,4DAA8DA,EAAc,KAEnJ,OAAOD,EAoIT,IAAIG,GAAa,CAAC,aAAc,OAAQ,WAAY,YAAa,MAAO,UAAW,cAAe,QAAS,YAAa,aAAc,SAAU,eAAgB,WAAY,OAAQ,cAGhLC,GAAkBD,GAAWxY,MAAM,GAYvC,SAAS0Y,GAAUzG,EAAnB,GACE,IAAI0G,EAA6B,EAAnBxc,UAAUiE,aAA+BkN,IADzD,GAAA,EAGM3J,EAAQ8U,GAAgBvT,QAAQ+M,GAChCqC,EAAMmE,GAAgBzY,MAAM2D,EAAQ,GAAGiV,OAAOH,GAAgBzY,MAAM,EAAG2D,IAC3E,OAAOgV,EAAUrE,EAAIuE,UAAYvE,EAGnC,IAAIwE,GACI,OADJA,GAES,YAFTA,GAGgB,mBAiMpB,SAASC,GAAYC,EAAQjF,EAAeF,EAAkBoF,GAC5D,IAAI9J,EAAU,CAAC,EAAG,GAKd+J,GAA0D,IAA9C,CAAC,QAAS,QAAQhU,QAAQ+T,GAItCE,EAAYH,EAAOhgB,MAAM,WAAWsZ,IAAI,SAAU8G,GACpD,OAAOA,EAAK9gB,SAKV+gB,EAAUF,EAAUjU,QAAQmP,GAAK8E,EAAW,SAAUC,GACxD,OAAgC,IAAzBA,EAAKE,OAAO,WAGjBH,EAAUE,KAAiD,IAArCF,EAAUE,GAASnU,QAAQ,MACnD8P,QAAQC,KAAK,gFAKf,IAAIsE,EAAa,cACbC,GAAmB,IAAbH,EAAiB,CAACF,EAAUnZ,MAAM,EAAGqZ,GAAST,OAAO,CAACO,EAAUE,GAASrgB,MAAMugB,GAAY,KAAM,CAACJ,EAAUE,GAASrgB,MAAMugB,GAAY,IAAIX,OAAOO,EAAUnZ,MAAMqZ,EAAU,KAAO,CAACF,GAqC9L,OAlCAK,EAAMA,EAAIlH,IAAI,SAAUmH,EAAI9V,GAE1B,IAAIwQ,GAAyB,IAAVxQ,GAAeuV,EAAYA,GAAa,SAAW,QAClEQ,GAAoB,EACxB,OAAOD,EAGNE,OAAO,SAAUhH,EAAGC,GACnB,MAAwB,KAApBD,EAAEA,EAAEvS,OAAS,KAAwC,IAA3B,CAAC,IAAK,KAAK8E,QAAQ0N,IAC/CD,EAAEA,EAAEvS,OAAS,GAAKwS,EAClB8G,GAAoB,EACb/G,GACE+G,GACT/G,EAAEA,EAAEvS,OAAS,IAAMwS,EACnB8G,GAAoB,EACb/G,GAEAA,EAAEiG,OAAOhG,IAEjB,IAEFN,IAAI,SAAUsH,GACb,OAxGN,SAAiBA,EAAKzF,EAAaJ,EAAeF,GAEhD,IAAI7a,EAAQ4gB,EAAItf,MAAM,6BAClBH,GAASnB,EAAM,GACfke,EAAOle,EAAM,GAGjB,IAAKmB,EACH,OAAOyf,EAGT,GAA0B,IAAtB1C,EAAKhS,QAAQ,KAcV,MAAa,OAATgS,GAA0B,OAATA,EAYnB/c,GATM,OAAT+c,EACKrf,KAAKmW,IAAIjW,SAAS8C,gBAAgBiV,aAAchQ,OAAO4R,aAAe,GAEtE7Z,KAAKmW,IAAIjW,SAAS8C,gBAAgBgV,YAAa/P,OAAO2R,YAAc,IAE/D,IAAMtX,EArBpB,IAAIjC,OAAU,EACd,OAAQgf,GACN,IAAK,KACHhf,EAAU6b,EACV,MACF,IAAK,IACL,IAAK,KACL,QACE7b,EAAU2b,EAId,OADW3E,GAAchX,GACbic,GAAe,IAAMha,EAgFxB0f,CAAQD,EAAKzF,EAAaJ,EAAeF,QAKhDkB,QAAQ,SAAU0E,EAAI9V,GACxB8V,EAAG1E,QAAQ,SAAUqE,EAAMU,GACrBjD,GAAUuC,KACZjK,EAAQxL,IAAUyV,GAA2B,MAAnBK,EAAGK,EAAS,IAAc,EAAI,QAIvD3K,EA2OT,IAkWI4K,GAAW,CAKb9H,UAAW,SAMX+H,eAAe,EAMfzD,eAAe,EAOf0D,iBAAiB,EAQjBC,SAAU,aAUVC,SAAU,aAOVzF,UAnZc,CASd0F,MAAO,CAEL5N,MAAO,IAEP0I,SAAS,EAET5Z,GA9HJ,SAAe4C,GACb,IAAI+T,EAAY/T,EAAK+T,UACjBgH,EAAgBhH,EAAUjZ,MAAM,KAAK,GACrCqhB,EAAiBpI,EAAUjZ,MAAM,KAAK,GAG1C,GAAIqhB,EAAgB,CAClB,IAAI9C,EAAgBrZ,EAAKiR,QACrB3D,EAAY+L,EAAc/L,UAC1B2F,EAASoG,EAAcpG,OAEvByG,GAA2D,IAA9C,CAAC,SAAU,OAAO1S,QAAQ+T,GACvCqB,EAAO1C,EAAa,OAAS,MAC7BzD,EAAcyD,EAAa,QAAU,SAErC2C,EAAe,CACjB/V,MAAOqK,GAAe,GAAIyL,EAAM9O,EAAU8O,IAC1CzV,IAAKgK,GAAe,GAAIyL,EAAM9O,EAAU8O,GAAQ9O,EAAU2I,GAAehD,EAAOgD,KAGlFjW,EAAKiR,QAAQgC,OAASpC,GAAS,GAAIoC,EAAQoJ,EAAaF,IAG1D,OAAOnc,IAgJP8a,OAAQ,CAENxM,MAAO,IAEP0I,SAAS,EAET5Z,GA7RJ,SAAgB4C,EAAMsU,GACpB,IAAIwG,EAASxG,EAAKwG,OACd/G,EAAY/T,EAAK+T,UACjBsF,EAAgBrZ,EAAKiR,QACrBgC,EAASoG,EAAcpG,OACvB3F,EAAY+L,EAAc/L,UAE1ByN,EAAgBhH,EAAUjZ,MAAM,KAAK,GAErCmW,OAAU,EAsBd,OApBEA,EADE0H,IAAWmC,GACH,EAAEA,EAAQ,GAEVD,GAAYC,EAAQ7H,EAAQ3F,EAAWyN,GAG7B,SAAlBA,GACF9H,EAAO5B,KAAOJ,EAAQ,GACtBgC,EAAO9B,MAAQF,EAAQ,IACI,UAAlB8J,GACT9H,EAAO5B,KAAOJ,EAAQ,GACtBgC,EAAO9B,MAAQF,EAAQ,IACI,QAAlB8J,GACT9H,EAAO9B,MAAQF,EAAQ,GACvBgC,EAAO5B,KAAOJ,EAAQ,IACK,WAAlB8J,IACT9H,EAAO9B,MAAQF,EAAQ,GACvBgC,EAAO5B,KAAOJ,EAAQ,IAGxBjR,EAAKiT,OAASA,EACPjT,GAkQL8a,OAAQ,GAoBVwB,gBAAiB,CAEfhO,MAAO,IAEP0I,SAAS,EAET5Z,GAlRJ,SAAyB4C,EAAM4X,GAC7B,IAAIzE,EAAoByE,EAAQzE,mBAAqBtF,GAAgB7N,EAAKuc,SAAStJ,QAK/EjT,EAAKuc,SAASjP,YAAc6F,IAC9BA,EAAoBtF,GAAgBsF,IAMtC,IAAIqJ,EAAgBnF,GAAyB,aACzCoF,EAAezc,EAAKuc,SAAStJ,OAAOnI,MACpCuG,EAAMoL,EAAapL,IACnBF,EAAOsL,EAAatL,KACpBuL,EAAYD,EAAaD,GAE7BC,EAAapL,IAAM,GACnBoL,EAAatL,KAAO,GACpBsL,EAAaD,GAAiB,GAE9B,IAAIpJ,EAAaJ,GAAchT,EAAKuc,SAAStJ,OAAQjT,EAAKuc,SAASjP,UAAWsK,EAAQ1E,QAASC,EAAmBnT,EAAK8b,eAIvHW,EAAapL,IAAMA,EACnBoL,EAAatL,KAAOA,EACpBsL,EAAaD,GAAiBE,EAE9B9E,EAAQxE,WAAaA,EAErB,IAAI9E,EAAQsJ,EAAQ+E,SAChB1J,EAASjT,EAAKiR,QAAQgC,OAEtBoD,EAAQ,CACVuG,QAAS,SAAiB7I,GACxB,IAAI9X,EAAQgX,EAAOc,GAInB,OAHId,EAAOc,GAAaX,EAAWW,KAAe6D,EAAQiF,sBACxD5gB,EAAQtC,KAAKmW,IAAImD,EAAOc,GAAYX,EAAWW,KAE1CpD,GAAe,GAAIoD,EAAW9X,IAEvC6gB,UAAW,SAAmB/I,GAC5B,IAAIgC,EAAyB,UAAdhC,EAAwB,OAAS,MAC5C9X,EAAQgX,EAAO8C,GAInB,OAHI9C,EAAOc,GAAaX,EAAWW,KAAe6D,EAAQiF,sBACxD5gB,EAAQtC,KAAKojB,IAAI9J,EAAO8C,GAAW3C,EAAWW,IAA4B,UAAdA,EAAwBd,EAAOhD,MAAQgD,EAAOjD,UAErGW,GAAe,GAAIoF,EAAU9Z,KAWxC,OAPAqS,EAAMuI,QAAQ,SAAU9C,GACtB,IAAIqI,GAA+C,IAAxC,CAAC,OAAQ,OAAOpV,QAAQ+M,GAAoB,UAAY,YACnEd,EAASpC,GAAS,GAAIoC,EAAQoD,EAAM+F,GAAMrI,MAG5C/T,EAAKiR,QAAQgC,OAASA,EAEfjT,GA2NL2c,SAAU,CAAC,OAAQ,QAAS,MAAO,UAOnCzJ,QAAS,EAMTC,kBAAmB,gBAYrB6J,aAAc,CAEZ1O,MAAO,IAEP0I,SAAS,EAET5Z,GAlgBJ,SAAsB4C,GACpB,IAAIqZ,EAAgBrZ,EAAKiR,QACrBgC,EAASoG,EAAcpG,OACvB3F,EAAY+L,EAAc/L,UAE1ByG,EAAY/T,EAAK+T,UAAUjZ,MAAM,KAAK,GACtCye,EAAQ5f,KAAK4f,MACbG,GAAuD,IAA1C,CAAC,MAAO,UAAU1S,QAAQ+M,GACvCqI,EAAO1C,EAAa,QAAU,SAC9BuD,EAASvD,EAAa,OAAS,MAC/BzD,EAAcyD,EAAa,QAAU,SASzC,OAPIzG,EAAOmJ,GAAQ7C,EAAMjM,EAAU2P,MACjCjd,EAAKiR,QAAQgC,OAAOgK,GAAU1D,EAAMjM,EAAU2P,IAAWhK,EAAOgD,IAE9DhD,EAAOgK,GAAU1D,EAAMjM,EAAU8O,MACnCpc,EAAKiR,QAAQgC,OAAOgK,GAAU1D,EAAMjM,EAAU8O,KAGzCpc,IA4fPkd,MAAO,CAEL5O,MAAO,IAEP0I,SAAS,EAET5Z,GApxBJ,SAAe4C,EAAM4X,GACnB,IAAIuF,EAGJ,IAAKpD,GAAmB/Z,EAAKuc,SAAS/F,UAAW,QAAS,gBACxD,OAAOxW,EAGT,IAAIod,EAAexF,EAAQ5d,QAG3B,GAA4B,iBAAjBojB,GAIT,KAHAA,EAAepd,EAAKuc,SAAStJ,OAAO5Y,cAAc+iB,IAIhD,OAAOpd,OAKT,IAAKA,EAAKuc,SAAStJ,OAAO9R,SAASic,GAEjC,OADAtG,QAAQC,KAAK,iEACN/W,EAIX,IAAI+T,EAAY/T,EAAK+T,UAAUjZ,MAAM,KAAK,GACtCue,EAAgBrZ,EAAKiR,QACrBgC,EAASoG,EAAcpG,OACvB3F,EAAY+L,EAAc/L,UAE1BoM,GAAuD,IAA1C,CAAC,OAAQ,SAAS1S,QAAQ+M,GAEvC9R,EAAMyX,EAAa,SAAW,QAC9B2D,EAAkB3D,EAAa,MAAQ,OACvC0C,EAAOiB,EAAgBhhB,cACvBihB,EAAU5D,EAAa,OAAS,MAChCuD,EAASvD,EAAa,SAAW,QACjC6D,EAAmBtI,GAAcmI,GAAcnb,GAQ/CqL,EAAU2P,GAAUM,EAAmBtK,EAAOmJ,KAChDpc,EAAKiR,QAAQgC,OAAOmJ,IAASnJ,EAAOmJ,IAAS9O,EAAU2P,GAAUM,IAG/DjQ,EAAU8O,GAAQmB,EAAmBtK,EAAOgK,KAC9Cjd,EAAKiR,QAAQgC,OAAOmJ,IAAS9O,EAAU8O,GAAQmB,EAAmBtK,EAAOgK,IAE3Ejd,EAAKiR,QAAQgC,OAASjC,GAAchR,EAAKiR,QAAQgC,QAGjD,IAAIuK,EAASlQ,EAAU8O,GAAQ9O,EAAUrL,GAAO,EAAIsb,EAAmB,EAInE9iB,EAAM+R,GAAyBxM,EAAKuc,SAAStJ,QAC7CwK,EAAmB7iB,WAAWH,EAAI,SAAW4iB,GAAkB,IAC/DK,EAAmB9iB,WAAWH,EAAI,SAAW4iB,EAAkB,SAAU,IACzEM,EAAYH,EAASxd,EAAKiR,QAAQgC,OAAOmJ,GAAQqB,EAAmBC,EAQxE,OALAC,EAAYhkB,KAAKmW,IAAInW,KAAKojB,IAAI9J,EAAOhR,GAAOsb,EAAkBI,GAAY,GAE1E3d,EAAKod,aAAeA,EACpBpd,EAAKiR,QAAQiM,OAAmCvM,GAA1BwM,EAAsB,GAAwCf,EAAMziB,KAAK2f,MAAMqE,IAAahN,GAAewM,EAAqBG,EAAS,IAAKH,GAE7Jnd,GA8sBLhG,QAAS,aAcX4jB,KAAM,CAEJtP,MAAO,IAEP0I,SAAS,EAET5Z,GA5oBJ,SAAc4C,EAAM4X,GAElB,GAAIX,GAAkBjX,EAAKuc,SAAS/F,UAAW,SAC7C,OAAOxW,EAGT,GAAIA,EAAK6d,SAAW7d,EAAK+T,YAAc/T,EAAK8d,kBAE1C,OAAO9d,EAGT,IAAIoT,EAAaJ,GAAchT,EAAKuc,SAAStJ,OAAQjT,EAAKuc,SAASjP,UAAWsK,EAAQ1E,QAAS0E,EAAQzE,kBAAmBnT,EAAK8b,eAE3H/H,EAAY/T,EAAK+T,UAAUjZ,MAAM,KAAK,GACtCijB,EAAoBzI,GAAqBvB,GACzCe,EAAY9U,EAAK+T,UAAUjZ,MAAM,KAAK,IAAM,GAE5CkjB,EAAY,GAEhB,OAAQpG,EAAQqG,UACd,KAAKrD,GACHoD,EAAY,CAACjK,EAAWgK,GACxB,MACF,KAAKnD,GACHoD,EAAYxD,GAAUzG,GACtB,MACF,KAAK6G,GACHoD,EAAYxD,GAAUzG,GAAW,GACjC,MACF,QACEiK,EAAYpG,EAAQqG,SAyDxB,OAtDAD,EAAUnH,QAAQ,SAAUqH,EAAMzY,GAChC,GAAIsO,IAAcmK,GAAQF,EAAU9b,SAAWuD,EAAQ,EACrD,OAAOzF,EAGT+T,EAAY/T,EAAK+T,UAAUjZ,MAAM,KAAK,GACtCijB,EAAoBzI,GAAqBvB,GAEzC,IAAI8B,EAAgB7V,EAAKiR,QAAQgC,OAC7BkL,EAAane,EAAKiR,QAAQ3D,UAG1BiM,EAAQ5f,KAAK4f,MACb6E,EAA4B,SAAdrK,GAAwBwF,EAAM1D,EAAc3E,OAASqI,EAAM4E,EAAWhN,OAAuB,UAAd4C,GAAyBwF,EAAM1D,EAAc1E,MAAQoI,EAAM4E,EAAWjN,QAAwB,QAAd6C,GAAuBwF,EAAM1D,EAAczE,QAAUmI,EAAM4E,EAAW9M,MAAsB,WAAd0C,GAA0BwF,EAAM1D,EAAcxE,KAAOkI,EAAM4E,EAAW/M,QAEjUiN,EAAgB9E,EAAM1D,EAAc1E,MAAQoI,EAAMnG,EAAWjC,MAC7DmN,EAAiB/E,EAAM1D,EAAc3E,OAASqI,EAAMnG,EAAWlC,OAC/DqN,EAAehF,EAAM1D,EAAcxE,KAAOkI,EAAMnG,EAAW/B,KAC3DmN,EAAkBjF,EAAM1D,EAAczE,QAAUmI,EAAMnG,EAAWhC,QAEjEqN,EAAoC,SAAd1K,GAAwBsK,GAA+B,UAAdtK,GAAyBuK,GAAgC,QAAdvK,GAAuBwK,GAA8B,WAAdxK,GAA0ByK,EAG3K9E,GAAuD,IAA1C,CAAC,MAAO,UAAU1S,QAAQ+M,GAGvC2K,IAA0B9G,EAAQ+G,iBAAmBjF,GAA4B,UAAd5E,GAAyBuJ,GAAiB3E,GAA4B,QAAd5E,GAAuBwJ,IAAmB5E,GAA4B,UAAd5E,GAAyByJ,IAAiB7E,GAA4B,QAAd5E,GAAuB0J,GAGlQI,IAA8BhH,EAAQiH,0BAA4BnF,GAA4B,UAAd5E,GAAyBwJ,GAAkB5E,GAA4B,QAAd5E,GAAuBuJ,IAAkB3E,GAA4B,UAAd5E,GAAyB0J,IAAoB9E,GAA4B,QAAd5E,GAAuByJ,GAElRO,EAAmBJ,GAAyBE,GAE5CR,GAAeK,GAAuBK,KAExC9e,EAAK6d,SAAU,GAEXO,GAAeK,KACjB1K,EAAYiK,EAAUvY,EAAQ,IAG5BqZ,IACFhK,EAvJR,SAA8BA,GAC5B,MAAkB,QAAdA,EACK,QACgB,UAAdA,EACF,MAEFA,EAiJWiK,CAAqBjK,IAGnC9U,EAAK+T,UAAYA,GAAae,EAAY,IAAMA,EAAY,IAI5D9U,EAAKiR,QAAQgC,OAASpC,GAAS,GAAI7Q,EAAKiR,QAAQgC,OAAQyC,GAAiB1V,EAAKuc,SAAStJ,OAAQjT,EAAKiR,QAAQ3D,UAAWtN,EAAK+T,YAE5H/T,EAAOuW,GAAavW,EAAKuc,SAAS/F,UAAWxW,EAAM,WAGhDA,GA4jBLie,SAAU,OAKV/K,QAAS,EAOTC,kBAAmB,WAQnBwL,gBAAgB,EAQhBE,yBAAyB,GAU3BG,MAAO,CAEL1Q,MAAO,IAEP0I,SAAS,EAET5Z,GArQJ,SAAe4C,GACb,IAAI+T,EAAY/T,EAAK+T,UACjBgH,EAAgBhH,EAAUjZ,MAAM,KAAK,GACrCue,EAAgBrZ,EAAKiR,QACrBgC,EAASoG,EAAcpG,OACvB3F,EAAY+L,EAAc/L,UAE1BwI,GAAwD,IAA9C,CAAC,OAAQ,SAAS9O,QAAQ+T,GAEpCkE,GAA6D,IAA5C,CAAC,MAAO,QAAQjY,QAAQ+T,GAO7C,OALA9H,EAAO6C,EAAU,OAAS,OAASxI,EAAUyN,IAAkBkE,EAAiBhM,EAAO6C,EAAU,QAAU,UAAY,GAEvH9V,EAAK+T,UAAYuB,GAAqBvB,GACtC/T,EAAKiR,QAAQgC,OAASjC,GAAciC,GAE7BjT,IAkQPsK,KAAM,CAEJgE,MAAO,IAEP0I,SAAS,EAET5Z,GA9TJ,SAAc4C,GACZ,IAAK+Z,GAAmB/Z,EAAKuc,SAAS/F,UAAW,OAAQ,mBACvD,OAAOxW,EAGT,IAAIgU,EAAUhU,EAAKiR,QAAQ3D,UACvB4R,EAAQ/I,GAAKnW,EAAKuc,SAAS/F,UAAW,SAAU7D,GAClD,MAAyB,oBAAlBA,EAASyE,OACfhE,WAEH,GAAIY,EAAQ5C,OAAS8N,EAAM7N,KAAO2C,EAAQ7C,KAAO+N,EAAMhO,OAAS8C,EAAQ3C,IAAM6N,EAAM9N,QAAU4C,EAAQ9C,MAAQgO,EAAM/N,KAAM,CAExH,IAAkB,IAAdnR,EAAKsK,KACP,OAAOtK,EAGTA,EAAKsK,MAAO,EACZtK,EAAKmf,WAAW,uBAAyB,OACpC,CAEL,IAAkB,IAAdnf,EAAKsK,KACP,OAAOtK,EAGTA,EAAKsK,MAAO,EACZtK,EAAKmf,WAAW,wBAAyB,EAG3C,OAAOnf,IAoTPof,aAAc,CAEZ9Q,MAAO,IAEP0I,SAAS,EAET5Z,GAtgCJ,SAAsB4C,EAAM4X,GAC1B,IAAI1C,EAAI0C,EAAQ1C,EACZE,EAAIwC,EAAQxC,EACZnC,EAASjT,EAAKiR,QAAQgC,OAItBoM,EAA8BlJ,GAAKnW,EAAKuc,SAAS/F,UAAW,SAAU7D,GACxE,MAAyB,eAAlBA,EAASyE,OACfkI,qBACiClQ,IAAhCiQ,GACFvI,QAAQC,KAAK,iIAEf,IAAIuI,OAAkDlQ,IAAhCiQ,EAA4CA,EAA8BzH,EAAQ0H,gBAEpGvR,EAAeF,GAAgB7N,EAAKuc,SAAStJ,QAC7CsM,EAAmBrU,GAAsB6C,GAGzCyB,EAAS,CACXgQ,SAAUvM,EAAOuM,UAGfvO,EAAUgI,GAAkBjZ,EAAM4B,OAAO6d,iBAAmB,IAAM3F,IAElEpK,EAAc,WAANwF,EAAiB,MAAQ,SACjCvF,EAAc,UAANyF,EAAgB,OAAS,QAKjCsK,EAAmBrI,GAAyB,aAW5ClG,OAAO,EACPE,OAAM,EAqBV,GAhBIA,EAJU,UAAV3B,EAG4B,SAA1B3B,EAAalB,UACRkB,EAAa6D,aAAeX,EAAQG,QAEpCmO,EAAiBvP,OAASiB,EAAQG,OAGrCH,EAAQI,IAIZF,EAFU,SAAVxB,EAC4B,SAA1B5B,EAAalB,UACPkB,EAAa4D,YAAcV,EAAQC,OAEnCqO,EAAiBtP,MAAQgB,EAAQC,MAGpCD,EAAQE,KAEbmO,GAAmBI,EACrBlQ,EAAOkQ,GAAoB,eAAiBvO,EAAO,OAASE,EAAM,SAClE7B,EAAOE,GAAS,EAChBF,EAAOG,GAAS,EAChBH,EAAOmQ,WAAa,gBACf,CAEL,IAAIC,EAAsB,UAAVlQ,GAAsB,EAAI,EACtCmQ,EAAuB,SAAVlQ,GAAqB,EAAI,EAC1CH,EAAOE,GAAS2B,EAAMuO,EACtBpQ,EAAOG,GAASwB,EAAO0O,EACvBrQ,EAAOmQ,WAAajQ,EAAQ,KAAOC,EAIrC,IAAIwP,EAAa,CACfW,cAAe9f,EAAK+T,WAQtB,OAJA/T,EAAKmf,WAAatO,GAAS,GAAIsO,EAAYnf,EAAKmf,YAChDnf,EAAKwP,OAASqB,GAAS,GAAIrB,EAAQxP,EAAKwP,QACxCxP,EAAK+f,YAAclP,GAAS,GAAI7Q,EAAKiR,QAAQiM,MAAOld,EAAK+f,aAElD/f,GAo7BLsf,iBAAiB,EAMjBpK,EAAG,SAMHE,EAAG,SAkBL4K,WAAY,CAEV1R,MAAO,IAEP0I,SAAS,EAET5Z,GAzpCJ,SAAoB4C,GAgBlB,OAXA+Y,GAAU/Y,EAAKuc,SAAStJ,OAAQjT,EAAKwP,QAzBvC,SAAuBxV,EAASmlB,GAC9BvjB,OAAOuY,KAAKgL,GAAYtI,QAAQ,SAAUH,IAE1B,IADFyI,EAAWzI,GAErB1c,EAAQwH,aAAakV,EAAMyI,EAAWzI,IAEtC1c,EAAQimB,gBAAgBvJ,KAuB5BwJ,CAAclgB,EAAKuc,SAAStJ,OAAQjT,EAAKmf,YAGrCnf,EAAKod,cAAgBxhB,OAAOuY,KAAKnU,EAAK+f,aAAa7d,QACrD6W,GAAU/Y,EAAKod,aAAcpd,EAAK+f,aAG7B/f,GA2oCLmgB,OA9nCJ,SAA0B7S,EAAW2F,EAAQ2E,EAASwI,EAAiBpL,GAErE,IAAIW,EAAmBZ,GAAoBC,EAAO/B,EAAQ3F,EAAWsK,EAAQkE,eAKzE/H,EAAYD,GAAqB8D,EAAQ7D,UAAW4B,EAAkB1C,EAAQ3F,EAAWsK,EAAQpB,UAAUoH,KAAKzK,kBAAmByE,EAAQpB,UAAUoH,KAAK1K,SAQ9J,OANAD,EAAOzR,aAAa,cAAeuS,GAInCgF,GAAU9F,EAAQ,CAAEuM,SAAU5H,EAAQkE,cAAgB,QAAU,aAEzDlE,GAsnCL0H,qBAAiBlQ,KAuGjBiR,IA+EFnQ,GAAYmQ,GAAQ,CAAC,CACnBzP,IAAK,SACL3U,MAAO,WACL,OA9lDN,WAEE,IAAI/C,KAAK8b,MAAMsL,YAAf,CAIA,IAAItgB,EAAO,CACTuc,SAAUrjB,KACVsW,OAAQ,GACRuQ,YAAa,GACbZ,WAAY,GACZtB,SAAS,EACT5M,QAAS,IAIXjR,EAAKiR,QAAQ3D,UAAYyH,GAAoB7b,KAAK8b,MAAO9b,KAAK+Z,OAAQ/Z,KAAKoU,UAAWpU,KAAK0e,QAAQkE,eAKnG9b,EAAK+T,UAAYD,GAAqB5a,KAAK0e,QAAQ7D,UAAW/T,EAAKiR,QAAQ3D,UAAWpU,KAAK+Z,OAAQ/Z,KAAKoU,UAAWpU,KAAK0e,QAAQpB,UAAUoH,KAAKzK,kBAAmBja,KAAK0e,QAAQpB,UAAUoH,KAAK1K,SAG9LlT,EAAK8d,kBAAoB9d,EAAK+T,UAE9B/T,EAAK8b,cAAgB5iB,KAAK0e,QAAQkE,cAGlC9b,EAAKiR,QAAQgC,OAASyC,GAAiBxc,KAAK+Z,OAAQjT,EAAKiR,QAAQ3D,UAAWtN,EAAK+T,WAEjF/T,EAAKiR,QAAQgC,OAAOuM,SAAWtmB,KAAK0e,QAAQkE,cAAgB,QAAU,WAGtE9b,EAAOuW,GAAard,KAAKsd,UAAWxW,GAI/B9G,KAAK8b,MAAMuL,UAIdrnB,KAAK0e,QAAQqE,SAASjc,IAHtB9G,KAAK8b,MAAMuL,WAAY,EACvBrnB,KAAK0e,QAAQoE,SAAShc,MAsjDNjE,KAAK7C,QAEpB,CACD0X,IAAK,UACL3U,MAAO,WACL,OA7gDN,WAsBE,OArBA/C,KAAK8b,MAAMsL,aAAc,EAGrBrJ,GAAkB/d,KAAKsd,UAAW,gBACpCtd,KAAK+Z,OAAOgN,gBAAgB,eAC5B/mB,KAAK+Z,OAAOnI,MAAM0U,SAAW,GAC7BtmB,KAAK+Z,OAAOnI,MAAMuG,IAAM,GACxBnY,KAAK+Z,OAAOnI,MAAMqG,KAAO,GACzBjY,KAAK+Z,OAAOnI,MAAMoG,MAAQ,GAC1BhY,KAAK+Z,OAAOnI,MAAMsG,OAAS,GAC3BlY,KAAK+Z,OAAOnI,MAAM6U,WAAa,GAC/BzmB,KAAK+Z,OAAOnI,MAAMuM,GAAyB,cAAgB,IAG7Dne,KAAKof,wBAIDpf,KAAK0e,QAAQmE,iBACf7iB,KAAK+Z,OAAOlW,WAAWyjB,YAAYtnB,KAAK+Z,QAEnC/Z,MAu/CY6C,KAAK7C,QAErB,CACD0X,IAAK,uBACL3U,MAAO,WACL,OA18CN,WACO/C,KAAK8b,MAAMqD,gBACdnf,KAAK8b,MAAQ2C,GAAoBze,KAAKoU,UAAWpU,KAAK0e,QAAS1e,KAAK8b,MAAO9b,KAAKsf,kBAw8ClDzc,KAAK7C,QAElC,CACD0X,IAAK,wBACL3U,MAAO,WACL,OAAOqc,GAAsBvc,KAAK7C,UA4B/BmnB,IApHP,SAASA,GAAO/S,EAAW2F,GACzB,IAAIha,EAAQC,KAER0e,EAA6B,EAAnB3Z,UAAUiE,aAA+BkN,IAAjBnR,UAAU,GAAmBA,UAAU,GAAK,IA3jEjE,SAAUse,EAAUlc,GACvC,KAAMkc,aAAoBlc,GACxB,MAAM,IAAInD,UAAU,qCA0jEpBujB,CAAevnB,KAAMmnB,IAErBnnB,KAAKsf,eAAiB,WACpB,OAAOkI,sBAAsBznB,EAAM0nB,SAIrCznB,KAAKynB,OAAS1U,GAAS/S,KAAKynB,OAAOpb,KAAKrM,OAGxCA,KAAK0e,QAAU/G,GAAS,GAAIwP,GAAOxE,SAAUjE,GAG7C1e,KAAK8b,MAAQ,CACXsL,aAAa,EACbC,WAAW,EACXpI,cAAe,IAIjBjf,KAAKoU,UAAYA,GAAaA,EAAUjQ,OAASiQ,EAAU,GAAKA,EAChEpU,KAAK+Z,OAASA,GAAUA,EAAO5V,OAAS4V,EAAO,GAAKA,EAGpD/Z,KAAK0e,QAAQpB,UAAY,GACzB5a,OAAOuY,KAAKtD,GAAS,GAAIwP,GAAOxE,SAASrF,UAAWoB,EAAQpB,YAAYK,QAAQ,SAAUO,GACxFne,EAAM2e,QAAQpB,UAAUY,GAAQvG,GAAS,GAAIwP,GAAOxE,SAASrF,UAAUY,IAAS,GAAIQ,EAAQpB,UAAYoB,EAAQpB,UAAUY,GAAQ,MAIpIle,KAAKsd,UAAY5a,OAAOuY,KAAKjb,KAAK0e,QAAQpB,WAAWpC,IAAI,SAAUgD,GACjE,OAAOvG,GAAS,CACduG,KAAMA,GACLne,EAAM2e,QAAQpB,UAAUY,MAG5B5C,KAAK,SAAUC,EAAGC,GACjB,OAAOD,EAAEnG,MAAQoG,EAAEpG,QAOrBpV,KAAKsd,UAAUK,QAAQ,SAAUuJ,GAC3BA,EAAgBpJ,SAAW1K,GAAW8T,EAAgBD,SACxDC,EAAgBD,OAAOlnB,EAAMqU,UAAWrU,EAAMga,OAAQha,EAAM2e,QAASwI,EAAiBnnB,EAAM+b,SAKhG9b,KAAKynB,SAEL,IAAItI,EAAgBnf,KAAK0e,QAAQS,cAC7BA,GAEFnf,KAAK0nB,uBAGP1nB,KAAK8b,MAAMqD,cAAgBA,EA6E/BgI,GAAOQ,OAA2B,oBAAXjf,OAAyBA,OAASkf,QAAQC,YACjEV,GAAO/F,WAAaA,GACpB+F,GAAOxE,SAAWA,GCniFlB,IAAM3d,GAA2B,WAE3BC,GAA2B,cAC3BC,GAAS,IAAsBD,GAC/BoC,GAA2B,YAC3BlC,GAA2BjF,EAAEgE,GAAGc,IAOhC8iB,GAA2B,IAAI1kB,OAAU2kB,YAEzC3iB,GAAQ,CACZ+K,KAAI,OAAsBjL,GAC1BkL,OAAM,SAAsBlL,GAC5B+K,KAAI,OAAsB/K,GAC1BgL,MAAK,QAAsBhL,GAC3B8iB,MAAK,QAAsB9iB,GAC3BK,eAAc,QAAaL,GAAYmC,GACvC4gB,iBAAgB,UAAa/iB,GAAYmC,GACzC6gB,eAAc,QAAahjB,GAAYmC,IAGnC7B,GACc,WADdA,GAEc,OAFdA,GAGc,SAHdA,GAIc,YAJdA,GAKc,WALdA,GAMc,sBANdA,GAQc,kBAGd8B,GACY,2BADZA,GAEY,iBAFZA,GAGY,iBAHZA,GAIY,cAJZA,GAKY,8DAGZ6gB,GACQ,YADRA,GAEQ,UAFRA,GAGQ,eAHRA,GAIQ,aAJRA,GAKQ,cALRA,GAOQ,aAIRjf,GAAU,CACd0Y,OAAe,EACf8C,MAAe,EACf0D,SAAe,eACfhU,UAAe,SACfiU,QAAe,UACfC,aAAe,MAGX7e,GAAc,CAClBmY,OAAe,2BACf8C,KAAe,UACf0D,SAAe,mBACfhU,UAAe,mBACfiU,QAAe,SACfC,aAAe,iBASXC,cACJ,SAAAA,EAAYznB,EAASyB,GACnBvC,KAAK0F,SAAY5E,EACjBd,KAAKwoB,QAAY,KACjBxoB,KAAKkL,QAAYlL,KAAKmL,WAAW5I,GACjCvC,KAAKyoB,MAAYzoB,KAAK0oB,kBACtB1oB,KAAK2oB,UAAY3oB,KAAK4oB,gBAEtB5oB,KAAK2L,gDAmBPjE,OAAA,WACE,IAAI1H,KAAK0F,SAASmjB,WAAY3oB,EAAEF,KAAK0F,UAAUa,SAASf,IAAxD,CAIA,IAAMsjB,EAAW5oB,EAAEF,KAAKyoB,OAAOliB,SAASf,IAExC+iB,EAASQ,cAELD,GAIJ9oB,KAAKqR,MAAK,OAGZA,KAAA,SAAK2X,GACH,QADsB,IAAnBA,IAAAA,GAAY,KACXhpB,KAAK0F,SAASmjB,UAAY3oB,EAAEF,KAAK0F,UAAUa,SAASf,KAAuBtF,EAAEF,KAAKyoB,OAAOliB,SAASf,KAAtG,CAIA,IAAM6I,EAAgB,CACpBA,cAAerO,KAAK0F,UAEhBujB,EAAY/oB,EAAEkF,MAAMA,GAAM6K,KAAM5B,GAChClI,EAASoiB,EAASW,sBAAsBlpB,KAAK0F,UAInD,GAFAxF,EAAEiG,GAAQpE,QAAQknB,IAEdA,EAAUljB,qBAAd,CAKA,IAAK/F,KAAK2oB,WAAaK,EAAW,CAKhC,GAAsB,oBAAX7B,GACT,MAAM,IAAInjB,UAAU,oEAGtB,IAAImlB,EAAmBnpB,KAAK0F,SAEG,WAA3B1F,KAAKkL,QAAQkJ,UACf+U,EAAmBhjB,EACV/F,EAAK8B,UAAUlC,KAAKkL,QAAQkJ,aACrC+U,EAAmBnpB,KAAKkL,QAAQkJ,UAGa,oBAAlCpU,KAAKkL,QAAQkJ,UAAUjQ,SAChCglB,EAAmBnpB,KAAKkL,QAAQkJ,UAAU,KAOhB,iBAA1BpU,KAAKkL,QAAQkd,UACfloB,EAAEiG,GAAQ4I,SAASvJ,IAErBxF,KAAKwoB,QAAU,IAAIrB,GAAOgC,EAAkBnpB,KAAKyoB,MAAOzoB,KAAKopB,oBAO3D,iBAAkBzoB,SAAS8C,iBACuB,IAAlDvD,EAAEiG,GAAQC,QAAQkB,IAAqB0B,QACzC9I,EAAES,SAASmT,MAAMhF,WAAW5H,GAAG,YAAa,KAAMhH,EAAEmpB,MAGtDrpB,KAAK0F,SAAS0C,QACdpI,KAAK0F,SAAS4C,aAAa,iBAAiB,GAE5CpI,EAAEF,KAAKyoB,OAAOlgB,YAAY/C,IAC1BtF,EAAEiG,GACCoC,YAAY/C,IACZzD,QAAQ7B,EAAEkF,MAAMA,GAAM8K,MAAO7B,SAGlC+C,KAAA,WACE,IAAIpR,KAAK0F,SAASmjB,WAAY3oB,EAAEF,KAAK0F,UAAUa,SAASf,KAAwBtF,EAAEF,KAAKyoB,OAAOliB,SAASf,IAAvG,CAIA,IAAM6I,EAAgB,CACpBA,cAAerO,KAAK0F,UAEhB4jB,EAAYppB,EAAEkF,MAAMA,GAAM+K,KAAM9B,GAChClI,EAASoiB,EAASW,sBAAsBlpB,KAAK0F,UAEnDxF,EAAEiG,GAAQpE,QAAQunB,GAEdA,EAAUvjB,uBAIV/F,KAAKwoB,SACPxoB,KAAKwoB,QAAQe,UAGfrpB,EAAEF,KAAKyoB,OAAOlgB,YAAY/C,IAC1BtF,EAAEiG,GACCoC,YAAY/C,IACZzD,QAAQ7B,EAAEkF,MAAMA,GAAMgL,OAAQ/B,SAGnCpI,QAAA,WACE/F,EAAEgG,WAAWlG,KAAK0F,SAAUT,IAC5B/E,EAAEF,KAAK0F,UAAUiH,IAAIzH,IACrBlF,KAAK0F,SAAW,MAChB1F,KAAKyoB,MAAQ,QACTzoB,KAAKwoB,UACPxoB,KAAKwoB,QAAQe,UACbvpB,KAAKwoB,QAAU,SAInBf,OAAA,WACEznB,KAAK2oB,UAAY3oB,KAAK4oB,gBACD,OAAjB5oB,KAAKwoB,SACPxoB,KAAKwoB,QAAQlJ,oBAMjB3T,mBAAA,WAAqB,IAAA5L,EAAAC,KACnBE,EAAEF,KAAK0F,UAAUwB,GAAG9B,GAAM4iB,MAAO,SAAC3jB,GAChCA,EAAM4C,iBACN5C,EAAMmlB,kBACNzpB,EAAK2H,cAITyD,WAAA,SAAW5I,GAaT,OAZAA,EAAMqK,EAAA,GACD5M,KAAKypB,YAAYvgB,QADhB,GAEDhJ,EAAEF,KAAK0F,UAAUoB,OAFhB,GAGDvE,GAGLnC,EAAKiC,gBACH2C,GACAzC,EACAvC,KAAKypB,YAAYhgB,aAGZlH,KAGTmmB,gBAAA,WACE,IAAK1oB,KAAKyoB,MAAO,CACf,IAAMtiB,EAASoiB,EAASW,sBAAsBlpB,KAAK0F,UAE/CS,IACFnG,KAAKyoB,MAAQtiB,EAAOhF,cAAcmG,KAGtC,OAAOtH,KAAKyoB,SAGdiB,cAAA,WACE,IAAMC,EAAkBzpB,EAAEF,KAAK0F,SAAS7B,YACpCgX,EAAYsN,GAehB,OAZIwB,EAAgBpjB,SAASf,KAC3BqV,EAAYsN,GACRjoB,EAAEF,KAAKyoB,OAAOliB,SAASf,MACzBqV,EAAYsN,KAELwB,EAAgBpjB,SAASf,IAClCqV,EAAYsN,GACHwB,EAAgBpjB,SAASf,IAClCqV,EAAYsN,GACHjoB,EAAEF,KAAKyoB,OAAOliB,SAASf,MAChCqV,EAAYsN,IAEPtN,KAGT+N,cAAA,WACE,OAAoD,EAA7C1oB,EAAEF,KAAK0F,UAAUU,QAAQ,WAAW4C,UAG7C4gB,WAAA,WAAa,IAAA5c,EAAAhN,KACL4hB,EAAS,GAef,MAbmC,mBAAxB5hB,KAAKkL,QAAQ0W,OACtBA,EAAO1d,GAAK,SAAC4C,GAMX,OALAA,EAAKiR,QAALnL,EAAA,GACK9F,EAAKiR,QADV,GAEK/K,EAAK9B,QAAQ0W,OAAO9a,EAAKiR,QAAS/K,EAAKtH,WAAa,IAGlDoB,GAGT8a,EAAOA,OAAS5hB,KAAKkL,QAAQ0W,OAGxBA,KAGTwH,iBAAA,WACE,IAAMd,EAAe,CACnBzN,UAAW7a,KAAK0pB,gBAChBpM,UAAW,CACTsE,OAAQ5hB,KAAK4pB,aACblF,KAAM,CACJ5G,QAAS9d,KAAKkL,QAAQwZ,MAExBtB,gBAAiB,CACfnJ,kBAAmBja,KAAKkL,QAAQkd,YAYtC,MAN6B,WAAzBpoB,KAAKkL,QAAQmd,UACfC,EAAahL,UAAUwJ,WAAa,CAClChJ,SAAS,IAIblR,EAAA,GACK0b,EADL,GAEKtoB,KAAKkL,QAAQod,iBAMb3hB,iBAAP,SAAwBpE,GACtB,OAAOvC,KAAK4G,KAAK,WACf,IAAIE,EAAO5G,EAAEF,MAAM8G,KAAK7B,IAQxB,GALK6B,IACHA,EAAO,IAAIyhB,EAASvoB,KAHY,iBAAXuC,EAAsBA,EAAS,MAIpDrC,EAAEF,MAAM8G,KAAK7B,GAAU6B,IAGH,iBAAXvE,EAAqB,CAC9B,GAA4B,oBAAjBuE,EAAKvE,GACd,MAAM,IAAIyB,UAAJ,oBAAkCzB,EAAlC,KAERuE,EAAKvE,WAKJwmB,YAAP,SAAmB1kB,GACjB,IAAIA,GAhWyB,IAgWfA,EAAMwJ,QACH,UAAfxJ,EAAMyD,MApWqB,IAoWDzD,EAAMwJ,OAMlC,IAFA,IAAMgc,EAAU,GAAGjhB,MAAM/F,KAAKlC,SAASkI,iBAAiBvB,KAE/CwB,EAAI,EAAGC,EAAM8gB,EAAQ7gB,OAAQF,EAAIC,EAAKD,IAAK,CAClD,IAAM3C,EAASoiB,EAASW,sBAAsBW,EAAQ/gB,IAChDghB,EAAU5pB,EAAE2pB,EAAQ/gB,IAAIhC,KAAK7B,IAC7BoJ,EAAgB,CACpBA,cAAewb,EAAQ/gB,IAOzB,GAJIzE,GAAwB,UAAfA,EAAMyD,OACjBuG,EAAc0b,WAAa1lB,GAGxBylB,EAAL,CAIA,IAAME,EAAeF,EAAQrB,MAC7B,GAAKvoB,EAAEiG,GAAQI,SAASf,OAIpBnB,IAAyB,UAAfA,EAAMyD,MAChB,kBAAkBzE,KAAKgB,EAAMK,OAAOyD,UAA2B,UAAf9D,EAAMyD,MA/X/B,IA+XmDzD,EAAMwJ,QAChF3N,EAAE+H,SAAS9B,EAAQ9B,EAAMK,SAF7B,CAMA,IAAM4kB,EAAYppB,EAAEkF,MAAMA,GAAM+K,KAAM9B,GACtCnO,EAAEiG,GAAQpE,QAAQunB,GACdA,EAAUvjB,uBAMV,iBAAkBpF,SAAS8C,iBAC7BvD,EAAES,SAASmT,MAAMhF,WAAWnC,IAAI,YAAa,KAAMzM,EAAEmpB,MAGvDQ,EAAQ/gB,GAAGR,aAAa,gBAAiB,SAErCwhB,EAAQtB,SACVsB,EAAQtB,QAAQe,UAGlBrpB,EAAE8pB,GAAc1jB,YAAYd,IAC5BtF,EAAEiG,GACCG,YAAYd,IACZzD,QAAQ7B,EAAEkF,MAAMA,GAAMgL,OAAQ/B,WAI9B6a,sBAAP,SAA6BpoB,GAC3B,IAAIqF,EACEpF,EAAWX,EAAKS,uBAAuBC,GAM7C,OAJIC,IACFoF,EAASxF,SAASQ,cAAcJ,IAG3BoF,GAAUrF,EAAQ+C,cAIpBomB,uBAAP,SAA8B5lB,GAQ5B,IAAI,kBAAkBhB,KAAKgB,EAAMK,OAAOyD,WAlbX,KAmbzB9D,EAAMwJ,OApbmB,KAobQxJ,EAAMwJ,QAhbd,KAib1BxJ,EAAMwJ,OAlboB,KAkbYxJ,EAAMwJ,OAC3C3N,EAAEmE,EAAMK,QAAQ0B,QAAQkB,IAAe0B,SAAW8e,GAAezkB,KAAKgB,EAAMwJ,UAIhFxJ,EAAM4C,iBACN5C,EAAMmlB,mBAEFxpB,KAAK6oB,WAAY3oB,EAAEF,MAAMuG,SAASf,KAAtC,CAIA,IAAMW,EAAWoiB,EAASW,sBAAsBlpB,MAC1C8oB,EAAW5oB,EAAEiG,GAAQI,SAASf,IAEpC,GAAKsjB,GApcwB,KAocZzkB,EAAMwJ,MAIvB,GAAKib,KAAYA,GAxcY,KAwcCzkB,EAAMwJ,OAvcP,KAucmCxJ,EAAMwJ,OAAtE,CAUA,IAAMqc,EAAQ,GAAGthB,MAAM/F,KAAKsD,EAAO0C,iBAAiBvB,KACjDuJ,OAAO,SAACsZ,GAAD,OAAUjqB,EAAEiqB,GAAMxlB,GAAG,cAE/B,GAAqB,IAAjBulB,EAAMlhB,OAAV,CAIA,IAAIuD,EAAQ2d,EAAMpc,QAAQzJ,EAAMK,QAtdH,KAwdzBL,EAAMwJ,OAAsC,EAARtB,GACtCA,IAxd2B,KA2dzBlI,EAAMwJ,OAAgCtB,EAAQ2d,EAAMlhB,OAAS,GAC/DuD,IAGEA,EAAQ,IACVA,EAAQ,GAGV2d,EAAM3d,GAAOnE,aA/Bb,CACE,GAzc2B,KAycvB/D,EAAMwJ,MAA0B,CAClC,IAAMnG,EAASvB,EAAOhF,cAAcmG,IACpCpH,EAAEwH,GAAQ3F,QAAQ,SAGpB7B,EAAEF,MAAM+B,QAAQ,oDAvXlB,MA5F6B,wCAgG7B,OAAOmH,uCAIP,OAAOO,YAkZXvJ,EAAES,UACCuG,GAAG9B,GAAM6iB,iBAAkB3gB,GAAsBihB,GAAS0B,wBAC1D/iB,GAAG9B,GAAM6iB,iBAAkB3gB,GAAeihB,GAAS0B,wBACnD/iB,GAAM9B,GAAMG,eAHf,IAGiCH,GAAM8iB,eAAkBK,GAASQ,aAC/D7hB,GAAG9B,GAAMG,eAAgB+B,GAAsB,SAAUjD,GACxDA,EAAM4C,iBACN5C,EAAMmlB,kBACNjB,GAAS5hB,iBAAiB9D,KAAK3C,EAAEF,MAAO,YAEzCkH,GAAG9B,GAAMG,eAAgB+B,GAAqB,SAACqG,GAC9CA,EAAE6b,oBASNtpB,EAAEgE,GAAGc,IAAQujB,GAAS5hB,iBACtBzG,EAAEgE,GAAGc,IAAMmC,YAAcohB,GACzBroB,EAAEgE,GAAGc,IAAMoC,WAAa,WAEtB,OADAlH,EAAEgE,GAAGc,IAAQG,GACNojB,GAAS5hB,kBC/gBlB,IAAM3B,GAAqB,QAErBC,GAAqB,WACrBC,GAAS,IAAgBD,GAEzBE,GAAqBjF,EAAEgE,GAAGc,IAG1BkE,GAAU,CACdkhB,UAAW,EACXhhB,UAAW,EACXhB,OAAW,EACXiJ,MAAW,GAGP5H,GAAc,CAClB2gB,SAAW,mBACXhhB,SAAW,UACXhB,MAAW,UACXiJ,KAAW,WAGPjM,GAAQ,CACZ+K,KAAI,OAAuBjL,GAC3BmlB,eAAc,gBAAsBnlB,GACpCkL,OAAM,SAAuBlL,GAC7B+K,KAAI,OAAuB/K,GAC3BgL,MAAK,QAAuBhL,GAC5BolB,QAAO,UAAuBplB,GAC9BqlB,OAAM,SAAuBrlB,GAC7BslB,cAAa,gBAAuBtlB,GACpCulB,gBAAe,kBAAuBvlB,GACtCwlB,gBAAe,kBAAuBxlB,GACtCylB,kBAAiB,oBAAuBzlB,GACxCK,eAAc,QAAcL,GA9BH,aAiCrBM,GACiB,0BADjBA,GAEiB,0BAFjBA,GAGiB,iBAHjBA,GAIiB,aAJjBA,GAKiB,OALjBA,GAMiB,OANjBA,GAOiB,eAGjB8B,GACa,gBADbA,GAEa,cAFbA,GAGa,wBAHbA,GAIa,yBAJbA,GAKa,oDALbA,GAMa,cASbsjB,cACJ,SAAAA,EAAY9pB,EAASyB,GACnBvC,KAAKkL,QAAuBlL,KAAKmL,WAAW5I,GAC5CvC,KAAK0F,SAAuB5E,EAC5Bd,KAAK6qB,QAAuB/pB,EAAQK,cAAcmG,IAClDtH,KAAK8qB,UAAuB,KAC5B9qB,KAAK+qB,UAAuB,EAC5B/qB,KAAKgrB,oBAAuB,EAC5BhrB,KAAKirB,sBAAuB,EAC5BjrB,KAAKuQ,kBAAuB,EAC5BvQ,KAAKkrB,gBAAuB,6BAe9BxjB,OAAA,SAAO2G,GACL,OAAOrO,KAAK+qB,SAAW/qB,KAAKoR,OAASpR,KAAKqR,KAAKhD,MAGjDgD,KAAA,SAAKhD,GAAe,IAAAtO,EAAAC,KAClB,IAAIA,KAAK+qB,WAAY/qB,KAAKuQ,iBAA1B,CAIIrQ,EAAEF,KAAK0F,UAAUa,SAASf,MAC5BxF,KAAKuQ,kBAAmB,GAG1B,IAAM0Y,EAAY/oB,EAAEkF,MAAMA,GAAM6K,KAAM,CACpC5B,cAAAA,IAGFnO,EAAEF,KAAK0F,UAAU3D,QAAQknB,GAErBjpB,KAAK+qB,UAAY9B,EAAUljB,uBAI/B/F,KAAK+qB,UAAW,EAEhB/qB,KAAKmrB,kBACLnrB,KAAKorB,gBAELprB,KAAKqrB,gBAELrrB,KAAKsrB,kBACLtrB,KAAKurB,kBAELrrB,EAAEF,KAAK0F,UAAUwB,GACf9B,GAAMolB,cACNljB,GACA,SAACjD,GAAD,OAAWtE,EAAKqR,KAAK/M,KAGvBnE,EAAEF,KAAK6qB,SAAS3jB,GAAG9B,GAAMulB,kBAAmB,WAC1CzqB,EAAEH,EAAK2F,UAAUvF,IAAIiF,GAAMslB,gBAAiB,SAACrmB,GACvCnE,EAAEmE,EAAMK,QAAQC,GAAG5E,EAAK2F,YAC1B3F,EAAKkrB,sBAAuB,OAKlCjrB,KAAKwrB,cAAc,WAAA,OAAMzrB,EAAK0rB,aAAapd,UAG7C+C,KAAA,SAAK/M,GAAO,IAAA2I,EAAAhN,KAKV,GAJIqE,GACFA,EAAM4C,iBAGHjH,KAAK+qB,WAAY/qB,KAAKuQ,iBAA3B,CAIA,IAAM+Y,EAAYppB,EAAEkF,MAAMA,GAAM+K,MAIhC,GAFAjQ,EAAEF,KAAK0F,UAAU3D,QAAQunB,GAEpBtpB,KAAK+qB,WAAYzB,EAAUvjB,qBAAhC,CAIA/F,KAAK+qB,UAAW,EAChB,IAAMW,EAAaxrB,EAAEF,KAAK0F,UAAUa,SAASf,IAiB7C,GAfIkmB,IACF1rB,KAAKuQ,kBAAmB,GAG1BvQ,KAAKsrB,kBACLtrB,KAAKurB,kBAELrrB,EAAES,UAAUgM,IAAIvH,GAAMklB,SAEtBpqB,EAAEF,KAAK0F,UAAUY,YAAYd,IAE7BtF,EAAEF,KAAK0F,UAAUiH,IAAIvH,GAAMolB,eAC3BtqB,EAAEF,KAAK6qB,SAASle,IAAIvH,GAAMulB,mBAGtBe,EAAY,CACd,IAAMpqB,EAAsBlB,EAAKiB,iCAAiCrB,KAAK0F,UAEvExF,EAAEF,KAAK0F,UACJvF,IAAIC,EAAKR,eAAgB,SAACyE,GAAD,OAAW2I,EAAK2e,WAAWtnB,KACpDD,qBAAqB9C,QAExBtB,KAAK2rB,kBAIT1lB,QAAA,WACE,CAACyC,OAAQ1I,KAAK0F,SAAU1F,KAAK6qB,SAC1BlN,QAAQ,SAACiO,GAAD,OAAiB1rB,EAAE0rB,GAAajf,IAAIzH,MAO/ChF,EAAES,UAAUgM,IAAIvH,GAAMklB,SAEtBpqB,EAAEgG,WAAWlG,KAAK0F,SAAUT,IAE5BjF,KAAKkL,QAAuB,KAC5BlL,KAAK0F,SAAuB,KAC5B1F,KAAK6qB,QAAuB,KAC5B7qB,KAAK8qB,UAAuB,KAC5B9qB,KAAK+qB,SAAuB,KAC5B/qB,KAAKgrB,mBAAuB,KAC5BhrB,KAAKirB,qBAAuB,KAC5BjrB,KAAKuQ,iBAAuB,KAC5BvQ,KAAKkrB,gBAAuB,QAG9BW,aAAA,WACE7rB,KAAKqrB,mBAKPlgB,WAAA,SAAW5I,GAMT,OALAA,EAAMqK,EAAA,GACD1D,GADC,GAED3G,GAELnC,EAAKiC,gBAAgB2C,GAAMzC,EAAQkH,IAC5BlH,KAGTupB,2BAAA,WAA6B,IAAA3e,EAAAnN,KAC3B,GAA8B,WAA1BA,KAAKkL,QAAQkf,SAAuB,CACtC,IAAM2B,EAAqB7rB,EAAEkF,MAAMA,GAAMilB,gBAGzC,GADAnqB,EAAEF,KAAK0F,UAAU3D,QAAQgqB,GACrBA,EAAmBC,iBACrB,OAGFhsB,KAAK0F,SAASsC,UAAUiB,IAAIzD,IAE5B,IAAMymB,EAA0B7rB,EAAKiB,iCAAiCrB,KAAK0F,UAE3ExF,EAAEF,KAAK0F,UAAUvF,IAAIC,EAAKR,eAAgB,WACxCuN,EAAKzH,SAASsC,UAAUtB,OAAOlB,MAE9BpB,qBAAqB6nB,GACxBjsB,KAAK0F,SAAS0C,aAEdpI,KAAKoR,UAITqa,aAAA,SAAapd,GAAe,IAAAa,EAAAlP,KACpB0rB,EAAaxrB,EAAEF,KAAK0F,UAAUa,SAASf,IACvC0mB,EAAYlsB,KAAK6qB,QAAU7qB,KAAK6qB,QAAQ1pB,cAAcmG,IAAuB,KAE9EtH,KAAK0F,SAAS7B,YACf7D,KAAK0F,SAAS7B,WAAWzB,WAAakT,KAAK6W,cAE7CxrB,SAASmT,KAAKsY,YAAYpsB,KAAK0F,UAGjC1F,KAAK0F,SAASkM,MAAMyW,QAAU,QAC9BroB,KAAK0F,SAASqhB,gBAAgB,eAC9B/mB,KAAK0F,SAAS4C,aAAa,cAAc,GAErCpI,EAAEF,KAAK6qB,SAAStkB,SAASf,KAAyB0mB,EACpDA,EAAU7T,UAAY,EAEtBrY,KAAK0F,SAAS2S,UAAY,EAGxBqT,GACFtrB,EAAKyB,OAAO7B,KAAK0F,UAGnBxF,EAAEF,KAAK0F,UAAUqJ,SAASvJ,IAEtBxF,KAAKkL,QAAQ9C,OACfpI,KAAKqsB,gBAOoB,SAArBC,IACApd,EAAKhE,QAAQ9C,OACf8G,EAAKxJ,SAAS0C,QAEhB8G,EAAKqB,kBAAmB,EACxBrQ,EAAEgP,EAAKxJ,UAAU3D,QAAQwqB,GAT3B,IAAMA,EAAarsB,EAAEkF,MAAMA,GAAM8K,MAAO,CACtC7B,cAAAA,IAWF,GAAIqd,EAAY,CACd,IAAMpqB,EAAsBlB,EAAKiB,iCAAiCrB,KAAK6qB,SAEvE3qB,EAAEF,KAAK6qB,SACJ1qB,IAAIC,EAAKR,eAAgB0sB,GACzBloB,qBAAqB9C,QAExBgrB,OAIJD,cAAA,WAAgB,IAAAG,EAAAxsB,KACdE,EAAES,UACCgM,IAAIvH,GAAMklB,SACVpjB,GAAG9B,GAAMklB,QAAS,SAACjmB,GACd1D,WAAa0D,EAAMK,QACnB8nB,EAAK9mB,WAAarB,EAAMK,QACsB,IAA9CxE,EAAEssB,EAAK9mB,UAAU+mB,IAAIpoB,EAAMK,QAAQsE,QACrCwjB,EAAK9mB,SAAS0C,aAKtBkjB,gBAAA,WAAkB,IAAAoB,EAAA1sB,KACZA,KAAK+qB,UAAY/qB,KAAKkL,QAAQ9B,SAChClJ,EAAEF,KAAK0F,UAAUwB,GAAG9B,GAAMqlB,gBAAiB,SAACpmB,GAlTvB,KAmTfA,EAAMwJ,OACR6e,EAAKZ,+BAGC9rB,KAAK+qB,UACf7qB,EAAEF,KAAK0F,UAAUiH,IAAIvH,GAAMqlB,oBAI/Bc,gBAAA,WAAkB,IAAAoB,EAAA3sB,KACZA,KAAK+qB,SACP7qB,EAAEwI,QAAQxB,GAAG9B,GAAMmlB,OAAQ,SAAClmB,GAAD,OAAWsoB,EAAKd,aAAaxnB,KAExDnE,EAAEwI,QAAQiE,IAAIvH,GAAMmlB,WAIxBoB,WAAA,WAAa,IAAAiB,EAAA5sB,KACXA,KAAK0F,SAASkM,MAAMyW,QAAU,OAC9BroB,KAAK0F,SAAS4C,aAAa,eAAe,GAC1CtI,KAAK0F,SAASqhB,gBAAgB,cAC9B/mB,KAAKuQ,kBAAmB,EACxBvQ,KAAKwrB,cAAc,WACjBtrB,EAAES,SAASmT,MAAMxN,YAAYd,IAC7BonB,EAAKC,oBACLD,EAAKE,kBACL5sB,EAAE0sB,EAAKlnB,UAAU3D,QAAQqD,GAAMgL,aAInC2c,gBAAA,WACM/sB,KAAK8qB,YACP5qB,EAAEF,KAAK8qB,WAAWpkB,SAClB1G,KAAK8qB,UAAY,SAIrBU,cAAA,SAAcxM,GAAU,IAAAgO,EAAAhtB,KAChBitB,EAAU/sB,EAAEF,KAAK0F,UAAUa,SAASf,IACtCA,GAAiB,GAErB,GAAIxF,KAAK+qB,UAAY/qB,KAAKkL,QAAQkf,SAAU,CA4B1C,GA3BApqB,KAAK8qB,UAAYnqB,SAASusB,cAAc,OACxCltB,KAAK8qB,UAAUqC,UAAY3nB,GAEvBynB,GACFjtB,KAAK8qB,UAAU9iB,UAAUiB,IAAIgkB,GAG/B/sB,EAAEF,KAAK8qB,WAAWsC,SAASzsB,SAASmT,MAEpC5T,EAAEF,KAAK0F,UAAUwB,GAAG9B,GAAMolB,cAAe,SAACnmB,GACpC2oB,EAAK/B,qBACP+B,EAAK/B,sBAAuB,EAG1B5mB,EAAMK,SAAWL,EAAMkO,eAI3Bya,EAAKlB,+BAGHmB,GACF7sB,EAAKyB,OAAO7B,KAAK8qB,WAGnB5qB,EAAEF,KAAK8qB,WAAW/b,SAASvJ,KAEtBwZ,EACH,OAGF,IAAKiO,EAEH,YADAjO,IAIF,IAAMqO,EAA6BjtB,EAAKiB,iCAAiCrB,KAAK8qB,WAE9E5qB,EAAEF,KAAK8qB,WACJ3qB,IAAIC,EAAKR,eAAgBof,GACzB5a,qBAAqBipB,QACnB,IAAKrtB,KAAK+qB,UAAY/qB,KAAK8qB,UAAW,CAC3C5qB,EAAEF,KAAK8qB,WAAWxkB,YAAYd,IAE9B,IAAM8nB,EAAiB,WACrBN,EAAKD,kBACD/N,GACFA,KAIJ,GAAI9e,EAAEF,KAAK0F,UAAUa,SAASf,IAAiB,CAC7C,IAAM6nB,EAA6BjtB,EAAKiB,iCAAiCrB,KAAK8qB,WAE9E5qB,EAAEF,KAAK8qB,WACJ3qB,IAAIC,EAAKR,eAAgB0tB,GACzBlpB,qBAAqBipB,QAExBC,SAEOtO,GACTA,OASJqM,cAAA,WACE,IAAMkC,EACJvtB,KAAK0F,SAAS8nB,aAAe7sB,SAAS8C,gBAAgBiV,cAEnD1Y,KAAKgrB,oBAAsBuC,IAC9BvtB,KAAK0F,SAASkM,MAAM6b,YAAiBztB,KAAKkrB,gBAA1C,MAGElrB,KAAKgrB,qBAAuBuC,IAC9BvtB,KAAK0F,SAASkM,MAAM8b,aAAkB1tB,KAAKkrB,gBAA3C,SAIJ2B,kBAAA,WACE7sB,KAAK0F,SAASkM,MAAM6b,YAAc,GAClCztB,KAAK0F,SAASkM,MAAM8b,aAAe,MAGrCvC,gBAAA,WACE,IAAM/S,EAAOzX,SAASmT,KAAK9B,wBAC3BhS,KAAKgrB,mBAAqB5S,EAAKH,KAAOG,EAAKJ,MAAQtP,OAAO2R,WAC1Dra,KAAKkrB,gBAAkBlrB,KAAK2tB,wBAG9BvC,cAAA,WAAgB,IAAAwC,EAAA5tB,KACd,GAAIA,KAAKgrB,mBAAoB,CAG3B,IAAM6C,EAAe,GAAGjlB,MAAM/F,KAAKlC,SAASkI,iBAAiBvB,KACvDwmB,EAAgB,GAAGllB,MAAM/F,KAAKlC,SAASkI,iBAAiBvB,KAG9DpH,EAAE2tB,GAAcjnB,KAAK,SAAC2F,EAAOzL,GAC3B,IAAMitB,EAAgBjtB,EAAQ8Q,MAAM8b,aAC9BM,EAAoB9tB,EAAEY,GAASS,IAAI,iBACzCrB,EAAEY,GACCgG,KAAK,gBAAiBinB,GACtBxsB,IAAI,gBAAoBG,WAAWssB,GAAqBJ,EAAK1C,gBAFhE,QAMFhrB,EAAE4tB,GAAelnB,KAAK,SAAC2F,EAAOzL,GAC5B,IAAMmtB,EAAentB,EAAQ8Q,MAAMuK,YAC7B+R,EAAmBhuB,EAAEY,GAASS,IAAI,gBACxCrB,EAAEY,GACCgG,KAAK,eAAgBmnB,GACrB1sB,IAAI,eAAmBG,WAAWwsB,GAAoBN,EAAK1C,gBAF9D,QAMF,IAAM6C,EAAgBptB,SAASmT,KAAKlC,MAAM8b,aACpCM,EAAoB9tB,EAAES,SAASmT,MAAMvS,IAAI,iBAC/CrB,EAAES,SAASmT,MACRhN,KAAK,gBAAiBinB,GACtBxsB,IAAI,gBAAoBG,WAAWssB,GAAqBhuB,KAAKkrB,gBAFhE,MAKFhrB,EAAES,SAASmT,MAAM/E,SAASvJ,OAG5BsnB,gBAAA,WAEE,IAAMe,EAAe,GAAGjlB,MAAM/F,KAAKlC,SAASkI,iBAAiBvB,KAC7DpH,EAAE2tB,GAAcjnB,KAAK,SAAC2F,EAAOzL,GAC3B,IAAMkZ,EAAU9Z,EAAEY,GAASgG,KAAK,iBAChC5G,EAAEY,GAASoF,WAAW,iBACtBpF,EAAQ8Q,MAAM8b,aAAe1T,GAAoB,KAInD,IAAMmU,EAAW,GAAGvlB,MAAM/F,KAAKlC,SAASkI,iBAAT,GAA6BvB,KAC5DpH,EAAEiuB,GAAUvnB,KAAK,SAAC2F,EAAOzL,GACvB,IAAMstB,EAASluB,EAAEY,GAASgG,KAAK,gBACT,oBAAXsnB,GACTluB,EAAEY,GAASS,IAAI,eAAgB6sB,GAAQloB,WAAW,kBAKtD,IAAM8T,EAAU9Z,EAAES,SAASmT,MAAMhN,KAAK,iBACtC5G,EAAES,SAASmT,MAAM5N,WAAW,iBAC5BvF,SAASmT,KAAKlC,MAAM8b,aAAe1T,GAAoB,MAGzD2T,mBAAA,WACE,IAAMU,EAAY1tB,SAASusB,cAAc,OACzCmB,EAAUlB,UAAY3nB,GACtB7E,SAASmT,KAAKsY,YAAYiC,GAC1B,IAAMC,EAAiBD,EAAUrc,wBAAwB+E,MAAQsX,EAAU5V,YAE3E,OADA9X,SAASmT,KAAKwT,YAAY+G,GACnBC,KAKF3nB,iBAAP,SAAwBpE,EAAQ8L,GAC9B,OAAOrO,KAAK4G,KAAK,WACf,IAAIE,EAAO5G,EAAEF,MAAM8G,KAAK7B,IAClBiG,EAAO0B,EAAA,GACR1D,GADQ,GAERhJ,EAAEF,MAAM8G,OAFA,GAGU,iBAAXvE,GAAuBA,EAASA,EAAS,IAQrD,GALKuE,IACHA,EAAO,IAAI8jB,EAAM5qB,KAAMkL,GACvBhL,EAAEF,MAAM8G,KAAK7B,GAAU6B,IAGH,iBAAXvE,EAAqB,CAC9B,GAA4B,oBAAjBuE,EAAKvE,GACd,MAAM,IAAIyB,UAAJ,oBAAkCzB,EAAlC,KAERuE,EAAKvE,GAAQ8L,QACJnD,EAAQmG,MACjBvK,EAAKuK,KAAKhD,8CA9cd,MA7EuB,wCAiFvB,OAAOnF,YAsdXhJ,EAAES,UAAUuG,GAAG9B,GAAMG,eAAgB+B,GAAsB,SAAUjD,GAAO,IACtEK,EADsE6pB,EAAAvuB,KAEpEe,EAAWX,EAAKS,uBAAuBb,MAEzCe,IACF2D,EAAS/D,SAASQ,cAAcJ,IAGlC,IAAMwB,EAASrC,EAAEwE,GAAQoC,KAAK7B,IAC1B,SADW2H,EAAA,GAER1M,EAAEwE,GAAQoC,OAFF,GAGR5G,EAAEF,MAAM8G,QAGM,MAAjB9G,KAAKmI,SAAoC,SAAjBnI,KAAKmI,SAC/B9D,EAAM4C,iBAGR,IAAMyL,EAAUxS,EAAEwE,GAAQvE,IAAIiF,GAAM6K,KAAM,SAACgZ,GACrCA,EAAUljB,sBAKd2M,EAAQvS,IAAIiF,GAAMgL,OAAQ,WACpBlQ,EAAEquB,GAAM5pB,GAAG,aACb4pB,EAAKnmB,YAKXwiB,GAAMjkB,iBAAiB9D,KAAK3C,EAAEwE,GAASnC,EAAQvC,QASjDE,EAAEgE,GAAGc,IAAQ4lB,GAAMjkB,iBACnBzG,EAAEgE,GAAGc,IAAMmC,YAAcyjB,GACzB1qB,EAAEgE,GAAGc,IAAMoC,WAAa,WAEtB,OADAlH,EAAEgE,GAAGc,IAAQG,GACNylB,GAAMjkB,kBC7lBf,IAAM6nB,GAAW,CACf,aACA,OACA,OACA,WACA,WACA,SACA,MACA,cAKWC,GAAmB,CAE9BC,IAAK,CAAC,QAAS,MAAO,KAAM,OAAQ,OAJP,kBAK7BnT,EAAG,CAAC,SAAU,OAAQ,QAAS,OAC/BJ,KAAM,GACNK,EAAG,GACHmT,GAAI,GACJC,IAAK,GACLC,KAAM,GACNC,IAAK,GACLC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJxmB,EAAG,GACHymB,IAAK,CAAC,MAAO,MAAO,QAAS,QAAS,UACtCC,GAAI,GACJC,GAAI,GACJC,EAAG,GACHC,IAAK,GACLC,EAAG,GACHC,MAAO,GACPC,KAAM,GACNC,IAAK,GACLC,IAAK,GACLC,OAAQ,GACRC,EAAG,GACHC,GAAI,IAQAC,GAAmB,8DAOnBC,GAAmB,sIAyBlB,SAASC,GAAaC,EAAYC,EAAWC,GAClD,GAA0B,IAAtBF,EAAWvnB,OACb,OAAOunB,EAGT,GAAIE,GAAoC,mBAAfA,EACvB,OAAOA,EAAWF,GAQpB,IALA,IACMG,GADY,IAAIhoB,OAAOioB,WACKC,gBAAgBL,EAAY,aACxDM,EAAgBnuB,OAAOuY,KAAKuV,GAC5BrC,EAAW,GAAGvlB,MAAM/F,KAAK6tB,EAAgB5c,KAAKjL,iBAAiB,MAZPioB,EAAA,SAcrDhoB,GACP,IAAM+Q,EAAKsU,EAASrlB,GACdioB,EAASlX,EAAGlG,SAASxQ,cAE3B,IAA0D,IAAtD0tB,EAAc/iB,QAAQ+L,EAAGlG,SAASxQ,eAGpC,OAFA0W,EAAGhW,WAAWyjB,YAAYzN,GAE1B,WAGF,IAAMmX,EAAgB,GAAGpoB,MAAM/F,KAAKgX,EAAGoM,YACjCgL,EAAwB,GAAGzP,OAAOgP,EAAU,MAAQ,GAAIA,EAAUO,IAAW,IAEnFC,EAAcrT,QAAQ,SAAC9L,IAlD3B,SAA0BA,EAAMqf,GAC9B,IAAMC,EAAWtf,EAAK8B,SAASxQ,cAE/B,IAAgD,IAA5C+tB,EAAqBpjB,QAAQqjB,GAC/B,OAAoC,IAAhC3C,GAAS1gB,QAAQqjB,IACZlvB,QAAQ4P,EAAKuf,UAAUluB,MAAMktB,KAAqBve,EAAKuf,UAAUluB,MAAMmtB,KASlF,IAHA,IAAMgB,EAASH,EAAqBrgB,OAAO,SAACygB,GAAD,OAAeA,aAAqBluB,SAGtE0F,EAAI,EAAGyoB,EAAIF,EAAOroB,OAAQF,EAAIyoB,EAAGzoB,IACxC,GAAIqoB,EAASjuB,MAAMmuB,EAAOvoB,IACxB,OAAO,EAIX,OAAO,EA+BE0oB,CAAiB3f,EAAMof,IAC1BpX,EAAGkN,gBAAgBlV,EAAK8B,aAfrB7K,EAAI,EAAGC,EAAMolB,EAASnlB,OAAQF,EAAIC,EAAKD,IAAKgoB,EAA5ChoB,GAoBT,OAAO4nB,EAAgB5c,KAAK2d,UCxG9B,IAAMzsB,GAAwB,UAExBC,GAAwB,aACxBC,GAAS,IAAmBD,GAC5BE,GAAwBjF,EAAEgE,GAAGc,IAC7B0sB,GAAwB,aACxBC,GAAwB,IAAIvuB,OAAJ,UAAqBsuB,GAArB,OAAyC,KACjEE,GAAwB,CAAC,WAAY,YAAa,cAElDnoB,GAAc,CAClBooB,UAAoB,UACpBC,SAAoB,SACpBC,MAAoB,4BACpBhwB,QAAoB,SACpBiwB,MAAoB,kBACpB7b,KAAoB,UACpBpV,SAAoB,mBACpB8Z,UAAoB,oBACpB+G,OAAoB,2BACpBqQ,UAAoB,2BACpBC,kBAAoB,iBACpB9J,SAAoB,mBACpB+J,SAAoB,UACpB1B,WAAoB,kBACpBD,UAAoB,SACpBlI,aAAoB,iBAGhBH,GAAgB,CACpBiK,KAAS,OACTC,IAAS,MACTC,MAAS,QACTC,OAAS,SACTC,KAAS,QAGLtpB,GAAU,CACd2oB,WAAoB,EACpBC,SAAoB,uGAGpB/vB,QAAoB,cACpBgwB,MAAoB,GACpBC,MAAoB,EACpB7b,MAAoB,EACpBpV,UAAoB,EACpB8Z,UAAoB,MACpB+G,OAAoB,EACpBqQ,WAAoB,EACpBC,kBAAoB,OACpB9J,SAAoB,eACpB+J,UAAoB,EACpB1B,WAAoB,KACpBD,UAAoB/B,GACpBnG,aAAoB,MAGhBmK,GACG,OADHA,GAEG,MAGHrtB,GAAQ,CACZ+K,KAAI,OAAgBjL,GACpBkL,OAAM,SAAgBlL,GACtB+K,KAAI,OAAgB/K,GACpBgL,MAAK,QAAgBhL,GACrBwtB,SAAQ,WAAgBxtB,GACxB8iB,MAAK,QAAgB9iB,GACrBolB,QAAO,UAAgBplB,GACvBytB,SAAQ,WAAgBztB,GACxB4E,WAAU,aAAgB5E,GAC1B6E,WAAU,aAAgB7E,IAGtBM,GACG,OADHA,GAEG,OAGH8B,GAEY,iBAFZA,GAGY,SAGZsrB,GACK,QADLA,GAEK,QAFLA,GAGK,QAHLA,GAIK,SAULC,cACJ,SAAAA,EAAY/xB,EAASyB,GACnB,GAAsB,oBAAX4kB,GACT,MAAM,IAAInjB,UAAU,mEAItBhE,KAAK8yB,YAAiB,EACtB9yB,KAAK+yB,SAAiB,EACtB/yB,KAAKgzB,YAAiB,GACtBhzB,KAAKizB,eAAiB,GACtBjzB,KAAKwoB,QAAiB,KAGtBxoB,KAAKc,QAAUA,EACfd,KAAKuC,OAAUvC,KAAKmL,WAAW5I,GAC/BvC,KAAKkzB,IAAU,KAEflzB,KAAKmzB,2CAmCPC,OAAA,WACEpzB,KAAK8yB,YAAa,KAGpBO,QAAA,WACErzB,KAAK8yB,YAAa,KAGpBQ,cAAA,WACEtzB,KAAK8yB,YAAc9yB,KAAK8yB,cAG1BprB,OAAA,SAAOrD,GACL,GAAKrE,KAAK8yB,WAIV,GAAIzuB,EAAO,CACT,IAAMkvB,EAAUvzB,KAAKypB,YAAYxkB,SAC7B6kB,EAAU5pB,EAAEmE,EAAMkO,eAAezL,KAAKysB,GAErCzJ,IACHA,EAAU,IAAI9pB,KAAKypB,YACjBplB,EAAMkO,cACNvS,KAAKwzB,sBAEPtzB,EAAEmE,EAAMkO,eAAezL,KAAKysB,EAASzJ,IAGvCA,EAAQmJ,eAAeQ,OAAS3J,EAAQmJ,eAAeQ,MAEnD3J,EAAQ4J,uBACV5J,EAAQ6J,OAAO,KAAM7J,GAErBA,EAAQ8J,OAAO,KAAM9J,OAElB,CACL,GAAI5pB,EAAEF,KAAK6zB,iBAAiBttB,SAASf,IAEnC,YADAxF,KAAK4zB,OAAO,KAAM5zB,MAIpBA,KAAK2zB,OAAO,KAAM3zB,UAItBiG,QAAA,WACEyH,aAAa1N,KAAK+yB,UAElB7yB,EAAEgG,WAAWlG,KAAKc,QAASd,KAAKypB,YAAYxkB,UAE5C/E,EAAEF,KAAKc,SAAS6L,IAAI3M,KAAKypB,YAAYvkB,WACrChF,EAAEF,KAAKc,SAASsF,QAAQ,UAAUuG,IAAI,gBAAiB3M,KAAK8zB,mBAExD9zB,KAAKkzB,KACPhzB,EAAEF,KAAKkzB,KAAKxsB,SAGd1G,KAAK8yB,WAAiB,KACtB9yB,KAAK+yB,SAAiB,KACtB/yB,KAAKgzB,YAAiB,KACtBhzB,KAAKizB,eAAiB,KAClBjzB,KAAKwoB,SACPxoB,KAAKwoB,QAAQe,UAGfvpB,KAAKwoB,QAAU,KACfxoB,KAAKc,QAAU,KACfd,KAAKuC,OAAU,KACfvC,KAAKkzB,IAAU,QAGjB7hB,KAAA,WAAO,IAAAtR,EAAAC,KACL,GAAuC,SAAnCE,EAAEF,KAAKc,SAASS,IAAI,WACtB,MAAM,IAAI+B,MAAM,uCAGlB,IAAM2lB,EAAY/oB,EAAEkF,MAAMpF,KAAKypB,YAAYrkB,MAAM6K,MACjD,GAAIjQ,KAAK+zB,iBAAmB/zB,KAAK8yB,WAAY,CAC3C5yB,EAAEF,KAAKc,SAASiB,QAAQknB,GAExB,IAAM+K,EAAa5zB,EAAKoD,eAAexD,KAAKc,SACtCmzB,EAAa/zB,EAAE+H,SACJ,OAAf+rB,EAAsBA,EAAah0B,KAAKc,QAAQyS,cAAc9P,gBAC9DzD,KAAKc,SAGP,GAAImoB,EAAUljB,uBAAyBkuB,EACrC,OAGF,IAAMf,EAAQlzB,KAAK6zB,gBACbK,EAAQ9zB,EAAKG,OAAOP,KAAKypB,YAAYzkB,MAE3CkuB,EAAI5qB,aAAa,KAAM4rB,GACvBl0B,KAAKc,QAAQwH,aAAa,mBAAoB4rB,GAE9Cl0B,KAAKm0B,aAEDn0B,KAAKuC,OAAOsvB,WACd3xB,EAAEgzB,GAAKnkB,SAASvJ,IAGlB,IAAMqV,EAA8C,mBAA1B7a,KAAKuC,OAAOsY,UAClC7a,KAAKuC,OAAOsY,UAAUhY,KAAK7C,KAAMkzB,EAAKlzB,KAAKc,SAC3Cd,KAAKuC,OAAOsY,UAEVuZ,EAAap0B,KAAKq0B,eAAexZ,GACvC7a,KAAKs0B,mBAAmBF,GAExB,IAAMnC,EAAYjyB,KAAKu0B,gBACvBr0B,EAAEgzB,GAAKpsB,KAAK9G,KAAKypB,YAAYxkB,SAAUjF,MAElCE,EAAE+H,SAASjI,KAAKc,QAAQyS,cAAc9P,gBAAiBzD,KAAKkzB,MAC/DhzB,EAAEgzB,GAAK9F,SAAS6E,GAGlB/xB,EAAEF,KAAKc,SAASiB,QAAQ/B,KAAKypB,YAAYrkB,MAAMstB,UAE/C1yB,KAAKwoB,QAAU,IAAIrB,GAAOnnB,KAAKc,QAASoyB,EAAKlzB,KAAKopB,iBAAiBgL,IAEnEl0B,EAAEgzB,GAAKnkB,SAASvJ,IAMZ,iBAAkB7E,SAAS8C,iBAC7BvD,EAAES,SAASmT,MAAMhF,WAAW5H,GAAG,YAAa,KAAMhH,EAAEmpB,MAGtD,IAAMmL,EAAW,WACXz0B,EAAKwC,OAAOsvB,WACd9xB,EAAK00B,iBAEP,IAAMC,EAAiB30B,EAAKizB,YAC5BjzB,EAAKizB,YAAkB,KAEvB9yB,EAAEH,EAAKe,SAASiB,QAAQhC,EAAK0pB,YAAYrkB,MAAM8K,OAE3CwkB,IAAmBjC,IACrB1yB,EAAK6zB,OAAO,KAAM7zB,IAItB,GAAIG,EAAEF,KAAKkzB,KAAK3sB,SAASf,IAAiB,CACxC,IAAMlE,EAAqBlB,EAAKiB,iCAAiCrB,KAAKkzB,KAEtEhzB,EAAEF,KAAKkzB,KACJ/yB,IAAIC,EAAKR,eAAgB40B,GACzBpwB,qBAAqB9C,QAExBkzB,QAKNpjB,KAAA,SAAK4N,GAGc,SAAXwV,IACAxnB,EAAKgmB,cAAgBP,IAAmBS,EAAIrvB,YAC9CqvB,EAAIrvB,WAAWyjB,YAAY4L,GAG7BlmB,EAAK2nB,iBACL3nB,EAAKlM,QAAQimB,gBAAgB,oBAC7B7mB,EAAE8M,EAAKlM,SAASiB,QAAQiL,EAAKyc,YAAYrkB,MAAMgL,QAC1B,OAAjBpD,EAAKwb,SACPxb,EAAKwb,QAAQe,UAGXvK,GACFA,IAhBS,IAAAhS,EAAAhN,KACPkzB,EAAYlzB,KAAK6zB,gBACjBvK,EAAYppB,EAAEkF,MAAMpF,KAAKypB,YAAYrkB,MAAM+K,MAoBjD,GAFAjQ,EAAEF,KAAKc,SAASiB,QAAQunB,IAEpBA,EAAUvjB,qBAAd,CAgBA,GAZA7F,EAAEgzB,GAAK5sB,YAAYd,IAIf,iBAAkB7E,SAAS8C,iBAC7BvD,EAAES,SAASmT,MAAMhF,WAAWnC,IAAI,YAAa,KAAMzM,EAAEmpB,MAGvDrpB,KAAKizB,eAAeL,KAAiB,EACrC5yB,KAAKizB,eAAeL,KAAiB,EACrC5yB,KAAKizB,eAAeL,KAAiB,EAEjC1yB,EAAEF,KAAKkzB,KAAK3sB,SAASf,IAAiB,CACxC,IAAMlE,EAAqBlB,EAAKiB,iCAAiC6xB,GAEjEhzB,EAAEgzB,GACC/yB,IAAIC,EAAKR,eAAgB40B,GACzBpwB,qBAAqB9C,QAExBkzB,IAGFx0B,KAAKgzB,YAAc,OAGrBvL,OAAA,WACuB,OAAjBznB,KAAKwoB,SACPxoB,KAAKwoB,QAAQlJ,oBAMjByU,cAAA,WACE,OAAO9xB,QAAQjC,KAAK40B,eAGtBN,mBAAA,SAAmBF,GACjBl0B,EAAEF,KAAK6zB,iBAAiB9kB,SAAY2iB,GAApC,IAAoD0C,MAGtDP,cAAA,WAEE,OADA7zB,KAAKkzB,IAAMlzB,KAAKkzB,KAAOhzB,EAAEF,KAAKuC,OAAOuvB,UAAU,GACxC9xB,KAAKkzB,OAGdiB,WAAA,WACE,IAAMjB,EAAMlzB,KAAK6zB,gBACjB7zB,KAAK60B,kBAAkB30B,EAAEgzB,EAAIrqB,iBAAiBvB,KAA0BtH,KAAK40B,YAC7E10B,EAAEgzB,GAAK5sB,YAAed,GAAtB,IAAwCA,OAG1CqvB,kBAAA,SAAkBhuB,EAAUiuB,GACH,iBAAZA,IAAyBA,EAAQ1yB,WAAY0yB,EAAQ3wB,OAa5DnE,KAAKuC,OAAO4T,MACVnW,KAAKuC,OAAO4vB,WACd2C,EAAUxE,GAAawE,EAAS90B,KAAKuC,OAAOiuB,UAAWxwB,KAAKuC,OAAOkuB,aAGrE5pB,EAASsP,KAAK2e,IAEdjuB,EAASkuB,KAAKD,GAlBV90B,KAAKuC,OAAO4T,KACTjW,EAAE40B,GAAS3uB,SAASxB,GAAGkC,IAC1BA,EAASmuB,QAAQC,OAAOH,GAG1BjuB,EAASkuB,KAAK70B,EAAE40B,GAASC,WAiB/BH,SAAA,WACE,IAAI7C,EAAQ/xB,KAAKc,QAAQE,aAAa,uBAQtC,OALE+wB,EADGA,IACkC,mBAAtB/xB,KAAKuC,OAAOwvB,MACvB/xB,KAAKuC,OAAOwvB,MAAMlvB,KAAK7C,KAAKc,SAC5Bd,KAAKuC,OAAOwvB,UAQpB3I,iBAAA,SAAiBgL,GAAY,IAAAjnB,EAAAnN,KAuB3B,OAAA4M,EAAA,GAtBwB,CACtBiO,UAAWuZ,EACX9W,UAAW,CACTsE,OAAQ5hB,KAAK4pB,aACblF,KAAM,CACJK,SAAU/kB,KAAKuC,OAAO2vB,mBAExBlO,MAAO,CACLljB,QAASwG,IAEX8b,gBAAiB,CACfnJ,kBAAmBja,KAAKuC,OAAO6lB,WAGnCtF,SAAU,SAAChc,GACLA,EAAK8d,oBAAsB9d,EAAK+T,WAClC1N,EAAK+nB,6BAA6BpuB,IAGtCic,SAAU,SAACjc,GAAD,OAAUqG,EAAK+nB,6BAA6BpuB,KAGxD,GAEK9G,KAAKuC,OAAO+lB,iBAInBsB,WAAA,WAAa,IAAA1a,EAAAlP,KACL4hB,EAAS,GAef,MAbkC,mBAAvB5hB,KAAKuC,OAAOqf,OACrBA,EAAO1d,GAAK,SAAC4C,GAMX,OALAA,EAAKiR,QAALnL,EAAA,GACK9F,EAAKiR,QADV,GAEK7I,EAAK3M,OAAOqf,OAAO9a,EAAKiR,QAAS7I,EAAKpO,UAAY,IAGhDgG,GAGT8a,EAAOA,OAAS5hB,KAAKuC,OAAOqf,OAGvBA,KAGT2S,cAAA,WACE,OAA8B,IAA1Bv0B,KAAKuC,OAAO0vB,UACPtxB,SAASmT,KAGd1T,EAAK8B,UAAUlC,KAAKuC,OAAO0vB,WACtB/xB,EAAEF,KAAKuC,OAAO0vB,WAGhB/xB,EAAES,UAAUsc,KAAKjd,KAAKuC,OAAO0vB,cAGtCoC,eAAA,SAAexZ,GACb,OAAOsN,GAActN,EAAUtX,kBAGjC4vB,cAAA,WAAgB,IAAA3G,EAAAxsB,KACGA,KAAKuC,OAAOR,QAAQH,MAAM,KAElC+b,QAAQ,SAAC5b,GAChB,GAAgB,UAAZA,EACF7B,EAAEssB,EAAK1rB,SAASoG,GACdslB,EAAK/C,YAAYrkB,MAAM4iB,MACvBwE,EAAKjqB,OAAOxB,SACZ,SAACsD,GAAD,OAAWmoB,EAAK9kB,OAAOrD,UAEpB,GAAItC,IAAY6wB,GAAgB,CACrC,IAAMuC,EAAUpzB,IAAY6wB,GACxBpG,EAAK/C,YAAYrkB,MAAM0E,WACvB0iB,EAAK/C,YAAYrkB,MAAMklB,QACrB8K,EAAWrzB,IAAY6wB,GACzBpG,EAAK/C,YAAYrkB,MAAM2E,WACvByiB,EAAK/C,YAAYrkB,MAAMutB,SAE3BzyB,EAAEssB,EAAK1rB,SACJoG,GACCiuB,EACA3I,EAAKjqB,OAAOxB,SACZ,SAACsD,GAAD,OAAWmoB,EAAKmH,OAAOtvB,KAExB6C,GACCkuB,EACA5I,EAAKjqB,OAAOxB,SACZ,SAACsD,GAAD,OAAWmoB,EAAKoH,OAAOvvB,QAK/BrE,KAAK8zB,kBAAoB,WACnBtH,EAAK1rB,SACP0rB,EAAKpb,QAITlR,EAAEF,KAAKc,SAASsF,QAAQ,UAAUc,GAChC,gBACAlH,KAAK8zB,mBAGH9zB,KAAKuC,OAAOxB,SACdf,KAAKuC,OAALqK,EAAA,GACK5M,KAAKuC,OADV,CAEER,QAAS,SACThB,SAAU,KAGZf,KAAKq1B,eAITA,UAAA,WACE,IAAMC,SAAmBt1B,KAAKc,QAAQE,aAAa,wBAE/ChB,KAAKc,QAAQE,aAAa,UAA0B,UAAds0B,IACxCt1B,KAAKc,QAAQwH,aACX,sBACAtI,KAAKc,QAAQE,aAAa,UAAY,IAGxChB,KAAKc,QAAQwH,aAAa,QAAS,QAIvCqrB,OAAA,SAAOtvB,EAAOylB,GACZ,IAAMyJ,EAAUvzB,KAAKypB,YAAYxkB,UACjC6kB,EAAUA,GAAW5pB,EAAEmE,EAAMkO,eAAezL,KAAKysB,MAG/CzJ,EAAU,IAAI9pB,KAAKypB,YACjBplB,EAAMkO,cACNvS,KAAKwzB,sBAEPtzB,EAAEmE,EAAMkO,eAAezL,KAAKysB,EAASzJ,IAGnCzlB,IACFylB,EAAQmJ,eACS,YAAf5uB,EAAMyD,KAAqB8qB,GAAgBA,KACzC,GAGF1yB,EAAE4pB,EAAQ+J,iBAAiBttB,SAASf,KAAmBskB,EAAQkJ,cAAgBP,GACjF3I,EAAQkJ,YAAcP,IAIxB/kB,aAAaoc,EAAQiJ,UAErBjJ,EAAQkJ,YAAcP,GAEjB3I,EAAQvnB,OAAOyvB,OAAUlI,EAAQvnB,OAAOyvB,MAAM3gB,KAKnDyY,EAAQiJ,SAAW1yB,WAAW,WACxBypB,EAAQkJ,cAAgBP,IAC1B3I,EAAQzY,QAETyY,EAAQvnB,OAAOyvB,MAAM3gB,MARtByY,EAAQzY,WAWZuiB,OAAA,SAAOvvB,EAAOylB,GACZ,IAAMyJ,EAAUvzB,KAAKypB,YAAYxkB,UACjC6kB,EAAUA,GAAW5pB,EAAEmE,EAAMkO,eAAezL,KAAKysB,MAG/CzJ,EAAU,IAAI9pB,KAAKypB,YACjBplB,EAAMkO,cACNvS,KAAKwzB,sBAEPtzB,EAAEmE,EAAMkO,eAAezL,KAAKysB,EAASzJ,IAGnCzlB,IACFylB,EAAQmJ,eACS,aAAf5uB,EAAMyD,KAAsB8qB,GAAgBA,KAC1C,GAGF9I,EAAQ4J,yBAIZhmB,aAAaoc,EAAQiJ,UAErBjJ,EAAQkJ,YAAcP,GAEjB3I,EAAQvnB,OAAOyvB,OAAUlI,EAAQvnB,OAAOyvB,MAAM5gB,KAKnD0Y,EAAQiJ,SAAW1yB,WAAW,WACxBypB,EAAQkJ,cAAgBP,IAC1B3I,EAAQ1Y,QAET0Y,EAAQvnB,OAAOyvB,MAAM5gB,MARtB0Y,EAAQ1Y,WAWZsiB,qBAAA,WACE,IAAK,IAAM3xB,KAAW/B,KAAKizB,eACzB,GAAIjzB,KAAKizB,eAAelxB,GACtB,OAAO,EAIX,OAAO,KAGToJ,WAAA,SAAW5I,GACT,IAAMgzB,EAAiBr1B,EAAEF,KAAKc,SAASgG,OAwCvC,OAtCApE,OAAOuY,KAAKsa,GACT5X,QAAQ,SAAC6X,IACyC,IAA7C5D,GAAsB9jB,QAAQ0nB,WACzBD,EAAeC,KAUA,iBAN5BjzB,EAAMqK,EAAA,GACD5M,KAAKypB,YAAYvgB,QADhB,GAEDqsB,EAFC,GAGiB,iBAAXhzB,GAAuBA,EAASA,EAAS,KAGnCyvB,QAChBzvB,EAAOyvB,MAAQ,CACb3gB,KAAM9O,EAAOyvB,MACb5gB,KAAM7O,EAAOyvB,QAIW,iBAAjBzvB,EAAOwvB,QAChBxvB,EAAOwvB,MAAQxvB,EAAOwvB,MAAM9uB,YAGA,iBAAnBV,EAAOuyB,UAChBvyB,EAAOuyB,QAAUvyB,EAAOuyB,QAAQ7xB,YAGlC7C,EAAKiC,gBACH2C,GACAzC,EACAvC,KAAKypB,YAAYhgB,aAGflH,EAAO4vB,WACT5vB,EAAOuvB,SAAWxB,GAAa/tB,EAAOuvB,SAAUvvB,EAAOiuB,UAAWjuB,EAAOkuB,aAGpEluB,KAGTixB,mBAAA,WACE,IAAMjxB,EAAS,GAEf,GAAIvC,KAAKuC,OACP,IAAK,IAAMmV,KAAO1X,KAAKuC,OACjBvC,KAAKypB,YAAYvgB,QAAQwO,KAAS1X,KAAKuC,OAAOmV,KAChDnV,EAAOmV,GAAO1X,KAAKuC,OAAOmV,IAKhC,OAAOnV,KAGToyB,eAAA,WACE,IAAMc,EAAOv1B,EAAEF,KAAK6zB,iBACd6B,EAAWD,EAAK5jB,KAAK,SAAS3O,MAAMyuB,IACzB,OAAb+D,GAAqBA,EAAS1sB,QAChCysB,EAAKnvB,YAAYovB,EAASC,KAAK,QAInCT,6BAAA,SAA6BU,GAC3B,IAAMC,EAAiBD,EAAWvS,SAClCrjB,KAAKkzB,IAAM2C,EAAe9b,OAC1B/Z,KAAK20B,iBACL30B,KAAKs0B,mBAAmBt0B,KAAKq0B,eAAeuB,EAAW/a,eAGzD4Z,eAAA,WACE,IAAMvB,EAAMlzB,KAAK6zB,gBACXiC,EAAsB91B,KAAKuC,OAAOsvB,UAEA,OAApCqB,EAAIlyB,aAAa,iBAIrBd,EAAEgzB,GAAK5sB,YAAYd,IACnBxF,KAAKuC,OAAOsvB,WAAY,EACxB7xB,KAAKoR,OACLpR,KAAKqR,OACLrR,KAAKuC,OAAOsvB,UAAYiE,MAKnBnvB,iBAAP,SAAwBpE,GACtB,OAAOvC,KAAK4G,KAAK,WACf,IAAIE,EAAO5G,EAAEF,MAAM8G,KAAK7B,IAClBiG,EAA4B,iBAAX3I,GAAuBA,EAE9C,IAAKuE,IAAQ,eAAezD,KAAKd,MAI5BuE,IACHA,EAAO,IAAI+rB,EAAQ7yB,KAAMkL,GACzBhL,EAAEF,MAAM8G,KAAK7B,GAAU6B,IAGH,iBAAXvE,GAAqB,CAC9B,GAA4B,oBAAjBuE,EAAKvE,GACd,MAAM,IAAIyB,UAAJ,oBAAkCzB,EAAlC,KAERuE,EAAKvE,iDArnBT,MA3H0B,wCA+H1B,OAAO2G,gCAIP,OAAOlE,oCAIP,OAAOC,iCAIP,OAAOG,qCAIP,OAAOF,uCAIP,OAAOuE,YAymBXvJ,EAAEgE,GAAGc,IAAQ6tB,GAAQlsB,iBACrBzG,EAAEgE,GAAGc,IAAMmC,YAAc0rB,GACzB3yB,EAAEgE,GAAGc,IAAMoC,WAAa,WAEtB,OADAlH,EAAEgE,GAAGc,IAAQG,GACN0tB,GAAQlsB,kBCtwBjB,IAAM3B,GAAsB,UAEtBC,GAAsB,aACtBC,GAAS,IAAiBD,GAC1BE,GAAsBjF,EAAEgE,GAAGc,IAC3B0sB,GAAsB,aACtBC,GAAsB,IAAIvuB,OAAJ,UAAqBsuB,GAArB,OAAyC,KAE/DxoB,GAAO0D,EAAA,GACRimB,GAAQ3pB,QADA,CAEX2R,UAAY,QACZ9Y,QAAY,QACZ+yB,QAAY,GACZhD,SAAY,wIAMRroB,GAAWmD,EAAA,GACZimB,GAAQppB,YADI,CAEfqrB,QAAU,8BAGNtvB,GACG,OADHA,GAEG,OAGH8B,GACM,kBADNA,GAEM,gBAGNlC,GAAQ,CACZ+K,KAAI,OAAgBjL,GACpBkL,OAAM,SAAgBlL,GACtB+K,KAAI,OAAgB/K,GACpBgL,MAAK,QAAgBhL,GACrBwtB,SAAQ,WAAgBxtB,GACxB8iB,MAAK,QAAgB9iB,GACrBolB,QAAO,UAAgBplB,GACvBytB,SAAQ,WAAgBztB,GACxB4E,WAAU,aAAgB5E,GAC1B6E,WAAU,aAAgB7E,IAStB6wB,gMAiCJhC,cAAA,WACE,OAAO/zB,KAAK40B,YAAc50B,KAAKg2B,iBAGjC1B,mBAAA,SAAmBF,GACjBl0B,EAAEF,KAAK6zB,iBAAiB9kB,SAAY2iB,GAApC,IAAoD0C,MAGtDP,cAAA,WAEE,OADA7zB,KAAKkzB,IAAMlzB,KAAKkzB,KAAOhzB,EAAEF,KAAKuC,OAAOuvB,UAAU,GACxC9xB,KAAKkzB,OAGdiB,WAAA,WACE,IAAMsB,EAAOv1B,EAAEF,KAAK6zB,iBAGpB7zB,KAAK60B,kBAAkBY,EAAKxY,KAAK3V,IAAiBtH,KAAK40B,YACvD,IAAIE,EAAU90B,KAAKg2B,cACI,mBAAZlB,IACTA,EAAUA,EAAQjyB,KAAK7C,KAAKc,UAE9Bd,KAAK60B,kBAAkBY,EAAKxY,KAAK3V,IAAmBwtB,GAEpDW,EAAKnvB,YAAed,GAApB,IAAsCA,OAKxCwwB,YAAA,WACE,OAAOh2B,KAAKc,QAAQE,aAAa,iBAC/BhB,KAAKuC,OAAOuyB,WAGhBH,eAAA,WACE,IAAMc,EAAOv1B,EAAEF,KAAK6zB,iBACd6B,EAAWD,EAAK5jB,KAAK,SAAS3O,MAAMyuB,IACzB,OAAb+D,GAAuC,EAAlBA,EAAS1sB,QAChCysB,EAAKnvB,YAAYovB,EAASC,KAAK,QAM5BhvB,iBAAP,SAAwBpE,GACtB,OAAOvC,KAAK4G,KAAK,WACf,IAAIE,EAAO5G,EAAEF,MAAM8G,KAAK7B,IAClBiG,EAA4B,iBAAX3I,EAAsBA,EAAS,KAEtD,IAAKuE,IAAQ,eAAezD,KAAKd,MAI5BuE,IACHA,EAAO,IAAIivB,EAAQ/1B,KAAMkL,GACzBhL,EAAEF,MAAM8G,KAAK7B,GAAU6B,IAGH,iBAAXvE,GAAqB,CAC9B,GAA4B,oBAAjBuE,EAAKvE,GACd,MAAM,IAAIyB,UAAJ,oBAAkCzB,EAAlC,KAERuE,EAAKvE,iDA3FT,MAxDwB,wCA4DxB,OAAO2G,gCAIP,OAAOlE,oCAIP,OAAOC,iCAIP,OAAOG,qCAIP,OAAOF,uCAIP,OAAOuE,UA5BWopB,IA2GtB3yB,EAAEgE,GAAGc,IAAQ+wB,GAAQpvB,iBACrBzG,EAAEgE,GAAGc,IAAMmC,YAAc4uB,GACzB71B,EAAEgE,GAAGc,IAAMoC,WAAa,WAEtB,OADAlH,EAAEgE,GAAGc,IAAQG,GACN4wB,GAAQpvB,kBCpKjB,IAAM3B,GAAqB,YAErBC,GAAqB,eACrBC,GAAS,IAAgBD,GAEzBE,GAAqBjF,EAAEgE,GAAGc,IAE1BkE,GAAU,CACd0Y,OAAS,GACTqU,OAAS,OACTvxB,OAAS,IAGL+E,GAAc,CAClBmY,OAAS,SACTqU,OAAS,SACTvxB,OAAS,oBAGLU,GAAQ,CACZ8wB,SAAQ,WAAmBhxB,GAC3BixB,OAAM,SAAmBjxB,GACzBsC,cAAa,OAAUtC,GAlBE,aAqBrBM,GACY,gBADZA,GAGY,SAGZ8B,GACc,sBADdA,GAGc,oBAHdA,GAIc,YAJdA,GAKc,YALdA,GAMc,mBANdA,GAOc,YAPdA,GAQc,iBARdA,GASc,mBAGd8uB,GACO,SADPA,GAEO,WASPC,cACJ,SAAAA,EAAYv1B,EAASyB,GAAQ,IAAAxC,EAAAC,KAC3BA,KAAK0F,SAAiB5E,EACtBd,KAAKs2B,eAAqC,SAApBx1B,EAAQqH,QAAqBO,OAAS5H,EAC5Dd,KAAKkL,QAAiBlL,KAAKmL,WAAW5I,GACtCvC,KAAK+Q,UAAoB/Q,KAAKkL,QAAQxG,OAAhB,IAA0B4C,GAA1B,IACGtH,KAAKkL,QAAQxG,OADhB,IAC0B4C,GAD1B,IAEGtH,KAAKkL,QAAQxG,OAFhB,IAE0B4C,GAChDtH,KAAKu2B,SAAiB,GACtBv2B,KAAKw2B,SAAiB,GACtBx2B,KAAKy2B,cAAiB,KACtBz2B,KAAK02B,cAAiB,EAEtBx2B,EAAEF,KAAKs2B,gBAAgBpvB,GAAG9B,GAAM+wB,OAAQ,SAAC9xB,GAAD,OAAWtE,EAAK42B,SAAStyB,KAEjErE,KAAK42B,UACL52B,KAAK22B,sCAePC,QAAA,WAAU,IAAA5pB,EAAAhN,KACF62B,EAAa72B,KAAKs2B,iBAAmBt2B,KAAKs2B,eAAe5tB,OAC3D0tB,GAAsBA,GAEpBU,EAAuC,SAAxB92B,KAAKkL,QAAQ+qB,OAC9BY,EAAa72B,KAAKkL,QAAQ+qB,OAExBc,EAAaD,IAAiBV,GAChCp2B,KAAKg3B,gBAAkB,EAE3Bh3B,KAAKu2B,SAAW,GAChBv2B,KAAKw2B,SAAW,GAEhBx2B,KAAK02B,cAAgB12B,KAAKi3B,mBAEV,GAAGruB,MAAM/F,KAAKlC,SAASkI,iBAAiB7I,KAAK+Q,YAG1DmK,IAAI,SAACpa,GACJ,IAAI4D,EACEwyB,EAAiB92B,EAAKS,uBAAuBC,GAMnD,GAJIo2B,IACFxyB,EAAS/D,SAASQ,cAAc+1B,IAG9BxyB,EAAQ,CACV,IAAMyyB,EAAYzyB,EAAOsN,wBACzB,GAAImlB,EAAUpgB,OAASogB,EAAUrgB,OAE/B,MAAO,CACL5W,EAAEwE,GAAQoyB,KAAgB3e,IAAM4e,EAChCG,GAIN,OAAO,OAERrmB,OAAO,SAACsZ,GAAD,OAAUA,IACjB7O,KAAK,SAACC,EAAGC,GAAJ,OAAUD,EAAE,GAAKC,EAAE,KACxBmC,QAAQ,SAACwM,GACRnd,EAAKupB,SAASvlB,KAAKmZ,EAAK,IACxBnd,EAAKwpB,SAASxlB,KAAKmZ,EAAK,SAI9BlkB,QAAA,WACE/F,EAAEgG,WAAWlG,KAAK0F,SAAUT,IAC5B/E,EAAEF,KAAKs2B,gBAAgB3pB,IAAIzH,IAE3BlF,KAAK0F,SAAiB,KACtB1F,KAAKs2B,eAAiB,KACtBt2B,KAAKkL,QAAiB,KACtBlL,KAAK+Q,UAAiB,KACtB/Q,KAAKu2B,SAAiB,KACtBv2B,KAAKw2B,SAAiB,KACtBx2B,KAAKy2B,cAAiB,KACtBz2B,KAAK02B,cAAiB,QAKxBvrB,WAAA,SAAW5I,GAMT,GAA6B,iBAL7BA,EAAMqK,EAAA,GACD1D,GADC,GAEiB,iBAAX3G,GAAuBA,EAASA,EAAS,KAGnCmC,OAAqB,CACrC,IAAI+L,EAAKvQ,EAAEqC,EAAOmC,QAAQmN,KAAK,MAC1BpB,IACHA,EAAKrQ,EAAKG,OAAOyE,IACjB9E,EAAEqC,EAAOmC,QAAQmN,KAAK,KAAMpB,IAE9BlO,EAAOmC,OAAP,IAAoB+L,EAKtB,OAFArQ,EAAKiC,gBAAgB2C,GAAMzC,EAAQkH,IAE5BlH,KAGTy0B,cAAA,WACE,OAAOh3B,KAAKs2B,iBAAmB5tB,OAC3B1I,KAAKs2B,eAAec,YAAcp3B,KAAKs2B,eAAeje,aAG5D4e,iBAAA,WACE,OAAOj3B,KAAKs2B,eAAe9I,cAAgB/sB,KAAKmW,IAC9CjW,SAASmT,KAAK0Z,aACd7sB,SAAS8C,gBAAgB+pB,iBAI7B6J,iBAAA,WACE,OAAOr3B,KAAKs2B,iBAAmB5tB,OAC3BA,OAAO4R,YAActa,KAAKs2B,eAAetkB,wBAAwB8E,UAGvE6f,SAAA,WACE,IAAMte,EAAerY,KAAKg3B,gBAAkBh3B,KAAKkL,QAAQ0W,OACnD4L,EAAextB,KAAKi3B,mBACpBK,EAAet3B,KAAKkL,QAAQ0W,OAChC4L,EACAxtB,KAAKq3B,mBAMP,GAJIr3B,KAAK02B,gBAAkBlJ,GACzBxtB,KAAK42B,UAGUU,GAAbjf,EAAJ,CACE,IAAM3T,EAAS1E,KAAKw2B,SAASx2B,KAAKw2B,SAASxtB,OAAS,GAEhDhJ,KAAKy2B,gBAAkB/xB,GACzB1E,KAAKu3B,UAAU7yB,OAJnB,CASA,GAAI1E,KAAKy2B,eAAiBpe,EAAYrY,KAAKu2B,SAAS,IAAyB,EAAnBv2B,KAAKu2B,SAAS,GAGtE,OAFAv2B,KAAKy2B,cAAgB,UACrBz2B,KAAKw3B,SAKP,IADA,IACS1uB,EADY9I,KAAKu2B,SAASvtB,OACRF,KAAM,CACR9I,KAAKy2B,gBAAkBz2B,KAAKw2B,SAAS1tB,IACxDuP,GAAarY,KAAKu2B,SAASztB,KACM,oBAAzB9I,KAAKu2B,SAASztB,EAAI,IACtBuP,EAAYrY,KAAKu2B,SAASztB,EAAI,KAGpC9I,KAAKu3B,UAAUv3B,KAAKw2B,SAAS1tB,SAKnCyuB,UAAA,SAAU7yB,GACR1E,KAAKy2B,cAAgB/xB,EAErB1E,KAAKw3B,SAEL,IAAMC,EAAUz3B,KAAK+Q,UAClBnP,MAAM,KACNsZ,IAAI,SAACna,GAAD,OAAiBA,EAAjB,iBAA0C2D,EAA1C,MAAsD3D,EAAtD,UAAwE2D,EAAxE,OAEDgzB,EAAQx3B,EAAE,GAAG0I,MAAM/F,KAAKlC,SAASkI,iBAAiB4uB,EAAQ9B,KAAK,QAEjE+B,EAAMnxB,SAASf,KACjBkyB,EAAMtxB,QAAQkB,IAAmB2V,KAAK3V,IAA0ByH,SAASvJ,IACzEkyB,EAAM3oB,SAASvJ,MAGfkyB,EAAM3oB,SAASvJ,IAGfkyB,EAAMC,QAAQrwB,IAAyB0E,KAAQ1E,GAA/C,KAAsEA,IAAuByH,SAASvJ,IAEtGkyB,EAAMC,QAAQrwB,IAAyB0E,KAAK1E,IAAoBwH,SAASxH,IAAoByH,SAASvJ,KAGxGtF,EAAEF,KAAKs2B,gBAAgBv0B,QAAQqD,GAAM8wB,SAAU,CAC7C7nB,cAAe3J,OAInB8yB,OAAA,WACE,GAAG5uB,MAAM/F,KAAKlC,SAASkI,iBAAiB7I,KAAK+Q,YAC1CF,OAAO,SAACmE,GAAD,OAAUA,EAAKhN,UAAUC,SAASzC,MACzCmY,QAAQ,SAAC3I,GAAD,OAAUA,EAAKhN,UAAUtB,OAAOlB,SAKtCmB,iBAAP,SAAwBpE,GACtB,OAAOvC,KAAK4G,KAAK,WACf,IAAIE,EAAO5G,EAAEF,MAAM8G,KAAK7B,IAQxB,GALK6B,IACHA,EAAO,IAAIuvB,EAAUr2B,KAHW,iBAAXuC,GAAuBA,GAI5CrC,EAAEF,MAAM8G,KAAK7B,GAAU6B,IAGH,iBAAXvE,EAAqB,CAC9B,GAA4B,oBAAjBuE,EAAKvE,GACd,MAAM,IAAIyB,UAAJ,oBAAkCzB,EAAlC,KAERuE,EAAKvE,iDAtMT,MA3EuB,wCA+EvB,OAAO2G,YA8MXhJ,EAAEwI,QAAQxB,GAAG9B,GAAMoC,cAAe,WAIhC,IAHA,IAAMowB,EAAa,GAAGhvB,MAAM/F,KAAKlC,SAASkI,iBAAiBvB,KAGlDwB,EAFgB8uB,EAAW5uB,OAELF,KAAM,CACnC,IAAM+uB,EAAO33B,EAAE03B,EAAW9uB,IAC1ButB,GAAU1vB,iBAAiB9D,KAAKg1B,EAAMA,EAAK/wB,WAU/C5G,EAAEgE,GAAGc,IAAQqxB,GAAU1vB,iBACvBzG,EAAEgE,GAAGc,IAAMmC,YAAckvB,GACzBn2B,EAAEgE,GAAGc,IAAMoC,WAAa,WAEtB,OADAlH,EAAEgE,GAAGc,IAAQG,GACNkxB,GAAU1vB,kBClTnB,IAEM1B,GAAqB,SACrBC,GAAS,IAAgBD,GAEzBE,GAAqBjF,EAAEgE,GAAF,IAErBkB,GAAQ,CACZ+K,KAAI,OAAoBjL,GACxBkL,OAAM,SAAoBlL,GAC1B+K,KAAI,OAAoB/K,GACxBgL,MAAK,QAAoBhL,GACzBK,eAAc,QAAWL,GARA,aAWrBM,GACY,gBADZA,GAEY,SAFZA,GAGY,WAHZA,GAIY,OAJZA,GAKY,OAGZ8B,GACoB,YADpBA,GAEoB,oBAFpBA,GAGoB,UAHpBA,GAIoB,iBAJpBA,GAKoB,kEALpBA,GAMoB,mBANpBA,GAOoB,2BASpBwwB,cACJ,SAAAA,EAAYh3B,GACVd,KAAK0F,SAAW5E,6BAWlBuQ,KAAA,WAAO,IAAAtR,EAAAC,KACL,KAAIA,KAAK0F,SAAS7B,YACd7D,KAAK0F,SAAS7B,WAAWzB,WAAakT,KAAK6W,cAC3CjsB,EAAEF,KAAK0F,UAAUa,SAASf,KAC1BtF,EAAEF,KAAK0F,UAAUa,SAASf,KAH9B,CAOA,IAAId,EACAqzB,EACEC,EAAc93B,EAAEF,KAAK0F,UAAUU,QAAQkB,IAAyB,GAChEvG,EAAWX,EAAKS,uBAAuBb,KAAK0F,UAElD,GAAIsyB,EAAa,CACf,IAAMC,EAAwC,OAAzBD,EAAYrkB,UAA8C,OAAzBqkB,EAAYrkB,SAAoBrM,GAAqBA,GAE3GywB,GADAA,EAAW73B,EAAEg4B,UAAUh4B,EAAE83B,GAAa/a,KAAKgb,KACvBF,EAAS/uB,OAAS,GAGxC,IAAMsgB,EAAYppB,EAAEkF,MAAMA,GAAM+K,KAAM,CACpC9B,cAAerO,KAAK0F,WAGhBujB,EAAY/oB,EAAEkF,MAAMA,GAAM6K,KAAM,CACpC5B,cAAe0pB,IASjB,GANIA,GACF73B,EAAE63B,GAAUh2B,QAAQunB,GAGtBppB,EAAEF,KAAK0F,UAAU3D,QAAQknB,IAErBA,EAAUljB,uBACVujB,EAAUvjB,qBADd,CAKIhF,IACF2D,EAAS/D,SAASQ,cAAcJ,IAGlCf,KAAKu3B,UACHv3B,KAAK0F,SACLsyB,GAGF,IAAMxD,EAAW,WACf,IAAM2D,EAAcj4B,EAAEkF,MAAMA,GAAMgL,OAAQ,CACxC/B,cAAetO,EAAK2F,WAGhB6mB,EAAarsB,EAAEkF,MAAMA,GAAM8K,MAAO,CACtC7B,cAAe0pB,IAGjB73B,EAAE63B,GAAUh2B,QAAQo2B,GACpBj4B,EAAEH,EAAK2F,UAAU3D,QAAQwqB,IAGvB7nB,EACF1E,KAAKu3B,UAAU7yB,EAAQA,EAAOb,WAAY2wB,GAE1CA,SAIJvuB,QAAA,WACE/F,EAAEgG,WAAWlG,KAAK0F,SAAUT,IAC5BjF,KAAK0F,SAAW,QAKlB6xB,UAAA,SAAUz2B,EAASmxB,EAAWjT,GAOX,SAAXwV,IAAW,OAAMxnB,EAAKorB,oBAC1Bt3B,EACAu3B,EACArZ,GAVoC,IAAAhS,EAAAhN,KAKhCq4B,IAJiBpG,GAAqC,OAAvBA,EAAUte,UAA4C,OAAvBse,EAAUte,SAE1EzT,EAAE+xB,GAAWnjB,SAASxH,IADtBpH,EAAE+xB,GAAWhV,KAAK3V,KAGQ,GACxB4K,EAAkB8M,GAAaqZ,GAAUn4B,EAAEm4B,GAAQ9xB,SAASf,IAOlE,GAAI6yB,GAAUnmB,EAAiB,CAC7B,IAAM5Q,EAAqBlB,EAAKiB,iCAAiCg3B,GAEjEn4B,EAAEm4B,GACC/xB,YAAYd,IACZrF,IAAIC,EAAKR,eAAgB40B,GACzBpwB,qBAAqB9C,QAExBkzB,OAIJ4D,oBAAA,SAAoBt3B,EAASu3B,EAAQrZ,GACnC,GAAIqZ,EAAQ,CACVn4B,EAAEm4B,GAAQ/xB,YAAYd,IAEtB,IAAM8yB,EAAgBp4B,EAAEm4B,EAAOx0B,YAAYoZ,KACzC3V,IACA,GAEEgxB,GACFp4B,EAAEo4B,GAAehyB,YAAYd,IAGK,QAAhC6yB,EAAOr3B,aAAa,SACtBq3B,EAAO/vB,aAAa,iBAAiB,GAezC,GAXApI,EAAEY,GAASiO,SAASvJ,IACiB,QAAjC1E,EAAQE,aAAa,SACvBF,EAAQwH,aAAa,iBAAiB,GAGxClI,EAAKyB,OAAOf,GAERA,EAAQkH,UAAUC,SAASzC,KAC7B1E,EAAQkH,UAAUiB,IAAIzD,IAGpB1E,EAAQ+C,YAAc3D,EAAEY,EAAQ+C,YAAY0C,SAASf,IAA0B,CACjF,IAAM+yB,EAAkBr4B,EAAEY,GAASsF,QAAQkB,IAAmB,GAE9D,GAAIixB,EAAiB,CACnB,IAAMC,EAAqB,GAAG5vB,MAAM/F,KAAK01B,EAAgB1vB,iBAAiBvB,KAE1EpH,EAAEs4B,GAAoBzpB,SAASvJ,IAGjC1E,EAAQwH,aAAa,iBAAiB,GAGpC0W,GACFA,OAMGrY,iBAAP,SAAwBpE,GACtB,OAAOvC,KAAK4G,KAAK,WACf,IAAM0L,EAAQpS,EAAEF,MACZ8G,EAAOwL,EAAMxL,KAAK7B,IAOtB,GALK6B,IACHA,EAAO,IAAIgxB,EAAI93B,MACfsS,EAAMxL,KAAK7B,GAAU6B,IAGD,iBAAXvE,EAAqB,CAC9B,GAA4B,oBAAjBuE,EAAKvE,GACd,MAAM,IAAIyB,UAAJ,oBAAkCzB,EAAlC,KAERuE,EAAKvE,iDArKT,MA9CuB,iBA+N3BrC,EAAES,UACCuG,GAAG9B,GAAMG,eAAgB+B,GAAsB,SAAUjD,GACxDA,EAAM4C,iBACN6wB,GAAInxB,iBAAiB9D,KAAK3C,EAAEF,MAAO,UASvCE,EAAEgE,GAAF,IAAa4zB,GAAInxB,iBACjBzG,EAAEgE,GAAF,IAAWiD,YAAc2wB,GACzB53B,EAAEgE,GAAF,IAAWkD,WAAa,WAEtB,OADAlH,EAAEgE,GAAF,IAAaiB,GACN2yB,GAAInxB,kBChPb,IAAM3B,GAAqB,QAErBC,GAAqB,WACrBC,GAAS,IAAgBD,GACzBE,GAAqBjF,EAAEgE,GAAGc,IAE1BI,GAAQ,CACZolB,cAAa,gBAAmBtlB,GAChCiL,KAAI,OAAmBjL,GACvBkL,OAAM,SAAmBlL,GACzB+K,KAAI,OAAmB/K,GACvBgL,MAAK,QAAmBhL,IAGpBM,GACM,OADNA,GAEM,OAFNA,GAGM,OAHNA,GAIM,UAGNiE,GAAc,CAClBooB,UAAY,UACZ4G,SAAY,UACZzG,MAAY,UAGR9oB,GAAU,CACd2oB,WAAY,EACZ4G,UAAY,EACZzG,MAAY,KAGR1qB,GACW,yBASXoxB,cACJ,SAAAA,EAAY53B,EAASyB,GACnBvC,KAAK0F,SAAW5E,EAChBd,KAAKkL,QAAWlL,KAAKmL,WAAW5I,GAChCvC,KAAK+yB,SAAW,KAChB/yB,KAAKmzB,2CAmBP9hB,KAAA,WAAO,IAAAtR,EAAAC,KACCipB,EAAY/oB,EAAEkF,MAAMA,GAAM6K,MAGhC,GADA/P,EAAEF,KAAK0F,UAAU3D,QAAQknB,IACrBA,EAAUljB,qBAAd,CAII/F,KAAKkL,QAAQ2mB,WACf7xB,KAAK0F,SAASsC,UAAUiB,IAAIzD,IAG9B,IAAMgvB,EAAW,WACfz0B,EAAK2F,SAASsC,UAAUtB,OAAOlB,IAC/BzF,EAAK2F,SAASsC,UAAUiB,IAAIzD,IAE5BtF,EAAEH,EAAK2F,UAAU3D,QAAQqD,GAAM8K,OAE3BnQ,EAAKmL,QAAQutB,WACf14B,EAAKgzB,SAAW1yB,WAAW,WACzBN,EAAKqR,QACJrR,EAAKmL,QAAQ8mB,SAOpB,GAHAhyB,KAAK0F,SAASsC,UAAUtB,OAAOlB,IAC/BpF,EAAKyB,OAAO7B,KAAK0F,UACjB1F,KAAK0F,SAASsC,UAAUiB,IAAIzD,IACxBxF,KAAKkL,QAAQ2mB,UAAW,CAC1B,IAAMvwB,EAAqBlB,EAAKiB,iCAAiCrB,KAAK0F,UAEtExF,EAAEF,KAAK0F,UACJvF,IAAIC,EAAKR,eAAgB40B,GACzBpwB,qBAAqB9C,QAExBkzB,QAIJpjB,KAAA,WACE,GAAKpR,KAAK0F,SAASsC,UAAUC,SAASzC,IAAtC,CAIA,IAAM8jB,EAAYppB,EAAEkF,MAAMA,GAAM+K,MAEhCjQ,EAAEF,KAAK0F,UAAU3D,QAAQunB,GACrBA,EAAUvjB,sBAId/F,KAAK24B,aAGP1yB,QAAA,WACEyH,aAAa1N,KAAK+yB,UAClB/yB,KAAK+yB,SAAW,KAEZ/yB,KAAK0F,SAASsC,UAAUC,SAASzC,KACnCxF,KAAK0F,SAASsC,UAAUtB,OAAOlB,IAGjCtF,EAAEF,KAAK0F,UAAUiH,IAAIvH,GAAMolB,eAE3BtqB,EAAEgG,WAAWlG,KAAK0F,SAAUT,IAC5BjF,KAAK0F,SAAW,KAChB1F,KAAKkL,QAAW,QAKlBC,WAAA,SAAW5I,GAaT,OAZAA,EAAMqK,EAAA,GACD1D,GADC,GAEDhJ,EAAEF,KAAK0F,UAAUoB,OAFhB,GAGiB,iBAAXvE,GAAuBA,EAASA,EAAS,IAGrDnC,EAAKiC,gBACH2C,GACAzC,EACAvC,KAAKypB,YAAYhgB,aAGZlH,KAGT4wB,cAAA,WAAgB,IAAAnmB,EAAAhN,KACdE,EAAEF,KAAK0F,UAAUwB,GACf9B,GAAMolB,cACNljB,GACA,WAAA,OAAM0F,EAAKoE,YAIfunB,OAAA,WACmB,SAAXnE,IACJrnB,EAAKzH,SAASsC,UAAUiB,IAAIzD,IAC5BtF,EAAEiN,EAAKzH,UAAU3D,QAAQqD,GAAMgL,QAH1B,IAAAjD,EAAAnN,KAOP,GADAA,KAAK0F,SAASsC,UAAUtB,OAAOlB,IAC3BxF,KAAKkL,QAAQ2mB,UAAW,CAC1B,IAAMvwB,EAAqBlB,EAAKiB,iCAAiCrB,KAAK0F,UAEtExF,EAAEF,KAAK0F,UACJvF,IAAIC,EAAKR,eAAgB40B,GACzBpwB,qBAAqB9C,QAExBkzB,OAMG7tB,iBAAP,SAAwBpE,GACtB,OAAOvC,KAAK4G,KAAK,WACf,IAAMC,EAAW3G,EAAEF,MACf8G,EAAaD,EAASC,KAAK7B,IAQ/B,GALK6B,IACHA,EAAO,IAAI4xB,EAAM14B,KAHgB,iBAAXuC,GAAuBA,GAI7CsE,EAASC,KAAK7B,GAAU6B,IAGJ,iBAAXvE,EAAqB,CAC9B,GAA4B,oBAAjBuE,EAAKvE,GACd,MAAM,IAAIyB,UAAJ,oBAAkCzB,EAAlC,KAGRuE,EAAKvE,GAAQvC,kDAhJjB,MArDuB,4CAyDvB,OAAOyJ,mCAIP,OAAOP,YAoJXhJ,EAAEgE,GAAGc,IAAoB0zB,GAAM/xB,iBAC/BzG,EAAEgE,GAAGc,IAAMmC,YAAcuxB,GACzBx4B,EAAEgE,GAAGc,IAAMoC,WAAc,WAEvB,OADAlH,EAAEgE,GAAGc,IAAQG,GACNuzB,GAAM/xB","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n}\n\nfunction transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n}\n\nfunction setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n }\n\n try {\n return document.querySelector(selector) ? selector : null\n } catch (err) {\n return null\n }\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n let transitionDelay = $(element).css('transition-delay')\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n },\n\n findShadowRoot(element) {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return Util.findShadowRoot(element.parentNode)\n },\n\n jQueryDetection() {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n }\n}\n\nUtil.jQueryDetection()\nsetTransitionEndSupport()\n\nexport default Util\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n}\n\nconst Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Alert._jQueryInterface\n$.fn[NAME].Constructor = Alert\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n}\n\nconst Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLES : '[data-toggle=\"buttons\"]',\n DATA_TOGGLE : '[data-toggle=\"button\"]',\n DATA_TOGGLES_BUTTONS : '[data-toggle=\"buttons\"] .btn',\n INPUT : 'input:not([type=\"hidden\"])',\n ACTIVE : '.active',\n BUTTON : '.btn'\n}\n\nconst Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLES\n )[0]\n\n if (rootElement) {\n const input = this._element.querySelector(Selector.INPUT)\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = rootElement.querySelector(Selector.ACTIVE)\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n } else if (input.type === 'checkbox') {\n if (this._element.tagName === 'LABEL' && input.checked === this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n }\n } else {\n // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input\n triggerChangeEvent = false\n }\n\n if (triggerChangeEvent) {\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) {\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)[0]\n }\n\n if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) {\n event.preventDefault() // work around Firefox bug #1540995\n } else {\n const inputBtn = button.querySelector(Selector.INPUT)\n\n if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) {\n event.preventDefault() // work around Firefox bug #1540995\n return\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n }\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n$(window).on(Event.LOAD_DATA_API, () => {\n // ensure correct active class is set to match the controls' actual values/states\n\n // find all checkboxes/readio buttons inside data-toggle groups\n let buttons = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLES_BUTTONS))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n const input = button.querySelector(Selector.INPUT)\n if (input.checked || input.hasAttribute('checked')) {\n button.classList.add(ClassName.ACTIVE)\n } else {\n button.classList.remove(ClassName.ACTIVE)\n }\n }\n\n // find all button toggles\n buttons = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n if (button.getAttribute('aria-pressed') === 'true') {\n button.classList.add(ClassName.ACTIVE)\n } else {\n button.classList.remove(ClassName.ACTIVE)\n }\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Button._jQueryInterface\n$.fn[NAME].Constructor = Button\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true,\n touch : true\n}\n\nconst DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean',\n touch : 'boolean'\n}\n\nconst Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n}\n\nconst Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHSTART : `touchstart${EVENT_KEY}`,\n TOUCHMOVE : `touchmove${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n POINTERDOWN : `pointerdown${EVENT_KEY}`,\n POINTERUP : `pointerup${EVENT_KEY}`,\n DRAG_START : `dragstart${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item',\n POINTER_EVENT : 'pointer-event'\n}\n\nconst Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n ITEM_IMG : '.carousel-item img',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n}\n\nconst PointerType = {\n TOUCH : 'touch',\n PEN : 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = this._element.querySelector(Selector.INDICATORS)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (this._element.querySelector(Selector.NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex\n ? Direction.NEXT\n : Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n }\n\n if (this._config.touch) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n if (!this._touchSupported) {\n return\n }\n\n const start = (event) => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchStartX = event.originalEvent.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.originalEvent.touches[0].clientX\n }\n }\n\n const move = (event) => {\n // ensure swiping with one touch and not pinching\n if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.originalEvent.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = (event) => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.originalEvent.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n $(this._element.querySelectorAll(Selector.ITEM_IMG)).on(Event.DRAG_START, (e) => e.preventDefault())\n if (this._pointerEvent) {\n $(this._element).on(Event.POINTERDOWN, (event) => start(event))\n $(this._element).on(Event.POINTERUP, (event) => end(event))\n\n this._element.classList.add(ClassName.POINTER_EVENT)\n } else {\n $(this._element).on(Event.TOUCHSTART, (event) => start(event))\n $(this._element).on(Event.TOUCHMOVE, (event) => move(event))\n $(this._element).on(Event.TOUCHEND, (event) => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode\n ? [].slice.call(element.parentNode.querySelectorAll(Selector.ITEM))\n : []\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1\n ? this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(this._element.querySelector(Selector.ACTIVE_ITEM))\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector.ACTIVE))\n $(indicators)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if ($(this._element).hasClass(ClassName.SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(activeElement)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(transitionDuration)\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n$(window).on(Event.LOAD_DATA_API, () => {\n const carousels = [].slice.call(document.querySelectorAll(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n const $carousel = $(carousels[i])\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Carousel._jQueryInterface\n$.fn[NAME].Constructor = Carousel\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n toggle : true,\n parent : ''\n}\n\nconst DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n}\n\nconst Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n}\n\nconst Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n}\n\nconst Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = [].slice.call(document.querySelectorAll(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = Util.getSelectorFromElement(elem)\n const filterElement = [].slice.call(document.querySelectorAll(selector))\n .filter((foundElem) => foundElem === element)\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES))\n .filter((elem) => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(ClassName.COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n\n if (selector !== null) {\n const $elem = $([].slice.call(document.querySelectorAll(selector)))\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let parent\n\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = document.querySelector(this._config.parent)\n }\n\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n const children = [].slice.call(parent.querySelectorAll(selector))\n $(children).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? document.querySelector(selector) : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$this.data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n const selectors = [].slice.call(document.querySelectorAll(selector))\n\n $(selectors).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Collapse._jQueryInterface\n$.fn[NAME].Constructor = Collapse\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n}\n\nexport default Collapse\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.0\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overridden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n DROPRIGHT : 'dropright',\n DROPLEFT : 'dropleft',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left',\n POSITION_STATIC : 'position-static'\n}\n\nconst Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n}\n\nconst AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end',\n RIGHT : 'right-start',\n RIGHTEND : 'right-end',\n LEFT : 'left-start',\n LEFTEND : 'left-end'\n}\n\nconst Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent',\n reference : 'toggle',\n display : 'dynamic',\n popperConfig : null\n}\n\nconst DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)',\n reference : '(string|element)',\n display : 'string',\n popperConfig : '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show(true)\n }\n\n show(usePopper = false) {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || $(this._menu).hasClass(ClassName.SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar && usePopper) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org/)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(ClassName.POSITION_STATIC)\n }\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n hide() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || !$(this._menu).hasClass(ClassName.SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n\n if (parent) {\n this._menu = parent.querySelector(Selector.MENU)\n }\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element.parentNode)\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets, this._element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n $(dropdownMenu).removeClass(ClassName.SHOW)\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && event.which === ESCAPE_KEYCODE) {\n return\n }\n\n if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = parent.querySelector(Selector.DATA_TOGGLE)\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = [].slice.call(parent.querySelectorAll(Selector.VISIBLE_ITEMS))\n .filter((item) => $(item).is(':visible'))\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Dropdown._jQueryInterface\n$.fn[NAME].Constructor = Dropdown\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n}\n\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n}\n\nconst DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDE_PREVENTED : `hidePrevented${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SCROLLABLE : 'modal-dialog-scrollable',\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show',\n STATIC : 'modal-static'\n}\n\nconst Selector = {\n DIALOG : '.modal-dialog',\n MODAL_BODY : '.modal-body',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT : '.sticky-top'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = element.querySelector(Selector.DIALOG)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach((htmlElement) => $(htmlElement).off(EVENT_KEY))\n\n /**\n * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `Event.CLICK_DATA_API` event that should remain\n */\n $(document).off(Event.FOCUSIN)\n\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEventPrevented = $.Event(Event.HIDE_PREVENTED)\n\n $(this._element).trigger(hideEventPrevented)\n if (hideEventPrevented.defaultPrevented) {\n return\n }\n\n this._element.classList.add(ClassName.STATIC)\n\n const modalTransitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element).one(Util.TRANSITION_END, () => {\n this._element.classList.remove(ClassName.STATIC)\n })\n .emulateTransitionEnd(modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(ClassName.FADE)\n const modalBody = this._dialog ? this._dialog.querySelector(Selector.MODAL_BODY) : null\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n\n if ($(this._dialog).hasClass(ClassName.SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._dialog)\n\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // Guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n this._triggerBackdropTransition()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE)\n ? ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n if (animate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n const stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT))\n\n // Adjust fixed content padding\n $(fixedContent).each((index, element) => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(stickyContent).each((index, element) => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element)\n .data('margin-right', actualMargin)\n .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $(document.body).css('padding-right')\n $(document.body)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n\n $(document.body).addClass(ClassName.OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n $(fixedContent).each((index, element) => {\n const padding = $(element).data('padding-right')\n $(element).removeData('padding-right')\n element.style.paddingRight = padding ? padding : ''\n })\n\n // Restore sticky content\n const elements = [].slice.call(document.querySelectorAll(`${Selector.STICKY_CONTENT}`))\n $(elements).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $(document.body).data('padding-right')\n $(document.body).removeData('padding-right')\n document.body.style.paddingRight = padding ? padding : ''\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n const config = $(target).data(DATA_KEY)\n ? 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Modal._jQueryInterface\n$.fn[NAME].Constructor = Modal\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): tools/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i\n\nfunction allowedAttribute(attr, allowedAttributeList) {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter((attrRegex) => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, l = regExp.length; i < l; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (unsafeHtml.length === 0) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = [].slice.call(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].slice.call(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach((attr) => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './tools/sanitizer'\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string|function)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)',\n boundary : '(string|element)',\n sanitize : 'boolean',\n sanitizeFn : '(null|function)',\n whiteList : 'object',\n popperConfig : '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n}\n\nconst Default = {\n animation : true,\n template : '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip',\n boundary : 'scrollParent',\n sanitize : true,\n sanitizeFn : null,\n whiteList : DefaultWhitelist,\n popperConfig : null\n}\n\nconst HoverState = {\n SHOW : 'show',\n OUT : 'out'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner',\n ARROW : '.arrow'\n}\n\nconst Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n}\n\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org/)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const shadowRoot = Util.findShadowRoot(this.element)\n const isInTheDom = $.contains(\n shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function'\n ? this.config.placement.call(this, tip, this.element)\n : this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this._getContainer()\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n $(tip).addClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent($(tip.querySelectorAll(Selector.TOOLTIP_INNER)), this.getTitle())\n $(tip).removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n setElementContent($element, content) {\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (this.config.html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n $element.html(content)\n } else {\n $element.text(content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function'\n ? this.config.title.call(this.element)\n : this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: Selector.ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: (data) => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (Util.isElement(this.config.container)) {\n return $(this.config.container)\n }\n\n return $(document).find(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSEENTER\n : this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSELEAVE\n : this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = $(this.element).data()\n\n Object.keys(dataAttributes)\n .forEach((dataAttr) => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n $(tip).removeClass(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tooltip._jQueryInterface\n$.fn[NAME].Constructor = Tooltip\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n}\n\nconst ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n TITLE : '.popover-header',\n CONTENT : '.popover-body'\n}\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(Selector.CONTENT), content)\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Popover._jQueryInterface\n$.fn[NAME].Constructor = Popover\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n offset : 10,\n method : 'auto',\n target : ''\n}\n\nconst DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n}\n\nconst Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active'\n}\n\nconst Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n NAV_LIST_GROUP : '.nav, .list-group',\n NAV_LINKS : '.nav-link',\n NAV_ITEMS : '.nav-item',\n LIST_ITEMS : '.list-group-item',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n}\n\nconst OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window\n ? OffsetMethod.OFFSET : OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto'\n ? autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION\n ? this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = [].slice.call(document.querySelectorAll(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = document.querySelector(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window\n ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window\n ? window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector\n .split(',')\n .map((selector) => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n $link.addClass(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(ClassName.ACTIVE)\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)\n // Handle special case when .nav-link is inside .nav-item\n $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE)\n }\n\n $(this._scrollElement).trigger(Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n [].slice.call(document.querySelectorAll(this._selector))\n .filter((node) => node.classList.contains(ClassName.ACTIVE))\n .forEach((node) => node.classList.remove(ClassName.ACTIVE))\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(window).on(Event.LOAD_DATA_API, () => {\n const scrollSpys = [].slice.call(document.querySelectorAll(Selector.DATA_SPY))\n const scrollSpysLength = scrollSpys.length\n\n for (let i = scrollSpysLength; i--;) {\n const $spy = $(scrollSpys[i])\n ScrollSpy._jQueryInterface.call($spy, $spy.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = ScrollSpy._jQueryInterface\n$.fn[NAME].Constructor = ScrollSpy\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy._jQueryInterface\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active',\n DISABLED : 'disabled',\n FADE : 'fade',\n SHOW : 'show'\n}\n\nconst Selector = {\n DROPDOWN : '.dropdown',\n NAV_LIST_GROUP : '.nav, .list-group',\n ACTIVE : '.active',\n ACTIVE_UL : '> li > .active',\n DATA_TOGGLE : '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE : '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if (this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n $(this._element).hasClass(ClassName.ACTIVE) ||\n $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n let target\n let previous\n const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]\n const selector = Util.getSelectorFromElement(this._element)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = $.makeArray($(listElement).find(itemSelector))\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = $.Event(Event.HIDE, {\n relatedTarget: this._element\n })\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget: previous\n })\n\n if (previous) {\n $(previous).trigger(hideEvent)\n }\n\n $(this._element).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented() ||\n hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n const hiddenEvent = $.Event(Event.HIDDEN, {\n relatedTarget: this._element\n })\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget: previous\n })\n\n $(previous).trigger(hiddenEvent)\n $(this._element).trigger(shownEvent)\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL')\n ? $(container).find(Selector.ACTIVE_UL)\n : $(container).children(Selector.ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback && (active && $(active).hasClass(ClassName.FADE))\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = Util.getTransitionDurationFromElement(active)\n\n $(active)\n .removeClass(ClassName.SHOW)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n $(active).removeClass(ClassName.ACTIVE)\n\n const dropdownChild = $(active.parentNode).find(\n Selector.DROPDOWN_ACTIVE_CHILD\n )[0]\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n $(element).addClass(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n Util.reflow(element)\n\n if (element.classList.contains(ClassName.FADE)) {\n element.classList.add(ClassName.SHOW)\n }\n\n if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n\n if (dropdownElement) {\n const dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector.DROPDOWN_TOGGLE))\n\n $(dropdownToggleList).addClass(ClassName.ACTIVE)\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n\n if (!data) {\n data = new Tab(this)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n Tab._jQueryInterface.call($(this), 'show')\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tab._jQueryInterface\n$.fn[NAME].Constructor = Tab\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab._jQueryInterface\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.4.1'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Event = {\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE : 'fade',\n HIDE : 'hide',\n SHOW : 'show',\n SHOWING : 'showing'\n}\n\nconst DefaultType = {\n animation : 'boolean',\n autohide : 'boolean',\n delay : 'number'\n}\n\nconst Default = {\n animation : true,\n autohide : true,\n delay : 500\n}\n\nconst Selector = {\n DATA_DISMISS : '[data-dismiss=\"toast\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = $.Event(Event.SHOW)\n\n $(this._element).trigger(showEvent)\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n if (this._config.animation) {\n this._element.classList.add(ClassName.FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(ClassName.SHOWING)\n this._element.classList.add(ClassName.SHOW)\n\n $(this._element).trigger(Event.SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(ClassName.HIDE)\n Util.reflow(this._element)\n this._element.classList.add(ClassName.SHOWING)\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._close()\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(ClassName.SHOW)) {\n this._element.classList.remove(ClassName.SHOW)\n }\n\n $(this._element).off(Event.CLICK_DISMISS)\n\n $.removeData(this._element, DATA_KEY)\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...$(this._element).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n () => this.hide()\n )\n }\n\n _close() {\n const complete = () => {\n this._element.classList.add(ClassName.HIDE)\n $(this._element).trigger(Event.HIDDEN)\n }\n\n this._element.classList.remove(ClassName.SHOW)\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n $element.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Toast._jQueryInterface\n$.fn[NAME].Constructor = Toast\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast._jQueryInterface\n}\n\nexport default Toast\n"]} \ No newline at end of file diff --git a/assets/js/collapsible.js b/assets/js/collapsible.js new file mode 100644 index 0000000000000000000000000000000000000000..a3254ed258711805556f254ab3d910747e621346 --- /dev/null +++ b/assets/js/collapsible.js @@ -0,0 +1 @@ +!function(a){var b,c=a.config.menuSettings,d={},e="data-semantic-complexity",f=MathJax.Ajax.config.path;f.a11y||(f.a11y=a.config.root+"/extensions/a11y");var g=MathJax.Extension.collapsible={version:"1.5.0",config:a.CombineConfig("collapsible",{disabled:!1}),dependents:[],COMPLEXATTR:e,COMPLEXITY:{TEXT:.5,TOKEN:.5,CHILD:1,SCRIPT:.8,SQRT:2,SUBSUP:2,UNDEROVER:2,FRACTION:2,ACTION:2,PHANTOM:0,XML:2,GLYPH:2},COLLAPSE:{identifier:3,number:3,text:10,infixop:15,relseq:15,multirel:15,fenced:18,bigop:20,integral:20,fraction:12,sqrt:9,root:12,vector:15,matrix:15,cases:15,superscript:9,subscript:9,subsup:9,punctuated:{endpunct:1e7,startpunct:1e7,value:12}},MARKER:{identifier:"x",number:"#",text:"...",appl:{"limit function":"lim",value:"f()"},fraction:"/",sqrt:"\u221a",root:"\u221a",superscript:"\u25fd\u02d9",subscript:"\u25fd.",subsup:"\u25fd:",vector:{binomial:"(:)",determinant:"|:|",value:"\u27e8:\u27e9"},matrix:{squarematrix:"[::]",rowvector:"\u27e8\u22ef\u27e9",columnvector:"\u27e8\u22ee\u27e9",determinant:"|::|",value:"(::)"},cases:"{:",infixop:{addition:"+",subtraction:"\u2212",multiplication:"\u22c5",implicit:"\u22c5",value:"+"},punctuated:{text:"...",value:","}},Enable:function(b,e){c.collapsible=!0,e&&(d.collapsible=!0),this.config.disabled=!1,MathJax.Extension["semantic-enrich"].Enable(!1,e),b&&a.Queue(["Reprocess",a])},Disable:function(b,e){c.collapsible=!1,e&&(d.collapsible=!1),this.config.disabled=!0;for(var f=this.dependents.length-1;f>=0;f--){var g=this.dependents[f];g.Disable&&g.Disable(!1,e)}b&&a.Queue(["Reprocess",a])},Dependent:function(a){this.dependents.push(a)},Startup:function(){b=MathJax.ElementJax.mml;var c=MathJax.Extension["semantic-enrich"];c&&c.Dependent(this),a.postInputHooks.Add(["Filter",g],100)},Filter:function(a,b,c){a.enriched&&!this.config.disabled&&(a.root=a.root.Collapse(),a.root.inputID=c.id)},Marker:function(a){return b.mtext("\u25c2"+a+"\u25b8").With({mathcolor:"blue",attr:{},attrNames:[]})},MakeAction:function(a,c){var d=b.maction(a).With({id:this.getActionID(),actiontype:"toggle",complexity:a.getComplexity(),collapsible:!0,attrNames:["id","actiontype","selection",e],attr:{},selection:2});if(d.attr[e]=d.complexity,"math"===c.type){var f=b.mrow().With({complexity:c.complexity,attrNames:[],attr:{}});f.Append.apply(f,c.data);for(var g,h=c.attrNames.length-1;g=c.attrNames[h];h--)"data-semantic-"===g.substr(0,14)&&(f.attr[g]=c.attr[g],f.attrNames.push(g),delete c.attr[g],c.attrNames.splice(h,1));f.complexity=c.complexity,d.Append(f),c.data=[],c.Append(d),c.complexity=d.complexity,d=c}else d.Append(c);return d},actionID:1,getActionID:function(){return"MJX-Collapse-"+this.actionID++},Collapse:function(a){a.getComplexity();var b=(a.attr||{})["data-semantic-type"];if(b)if(this["Collapse_"+b])a=this["Collapse_"+b](a);else if(this.COLLAPSE[b]&&this.MARKER[b]){var c=a.attr["data-semantic-role"],d=this.COLLAPSE[b];if("number"!=typeof d&&(d=d[c]||d.value),a.complexity>d){var e=this.MARKER[b];"string"!=typeof e&&(e=e[c]||e.value),a=this.MakeAction(this.Marker(e),a)}}return a},UncollapseChild:function(a,b,c){if(null==c&&(c=1),this.SplitAttribute(a,"children").length===c){var d=1===a.data.length&&a.data[0].inferred?a.data[0]:a;if(d&&d.data[b]&&d.data[b].collapsible)return d.SetData(b,d.data[b].data[1]),a.complexity=d.complexity=null,a.getComplexity(),1}return 0},FindChildText:function(a,b){var c=this.FindChild(a,b);return c?(c.CoreMO()||c).data.join(""):"?"},FindChild:function(a,b){if(a){if(a.attr&&a.attr["data-semantic-id"]===b)return a;if(!a.isToken)for(var c=0,d=a.data.length;c<d;c++){var e=this.FindChild(a.data[c],b);if(e)return e}}return null},SplitAttribute:function(a,b){return(a.attr["data-semantic-"+b]||"").split(/,/)},Collapse_fenced:function(a){if(this.UncollapseChild(a,1),a.complexity>this.COLLAPSE.fenced&&"leftright"===a.attr["data-semantic-role"]){var b=a.data[0].data.join("")+a.data[a.data.length-1].data.join("");a=this.MakeAction(this.Marker(b),a)}return a},Collapse_appl:function(a){if(this.UncollapseChild(a,2,2)){var b=this.MARKER.appl;b=b[a.attr["data-semantic-role"]]||b.value,a=this.MakeAction(this.Marker(b),a)}return a},Collapse_sqrt:function(a){return this.UncollapseChild(a,0),a.complexity>this.COLLAPSE.sqrt&&(a=this.MakeAction(this.Marker(this.MARKER.sqrt),a)),a},Collapse_root:function(a){return this.UncollapseChild(a,0),a.complexity>this.COLLAPSE.sqrt&&(a=this.MakeAction(this.Marker(this.MARKER.sqrt),a)),a},Collapse_enclose:function(a){if(1===this.SplitAttribute(a,"children").length){var b=1===a.data.length&&a.data[0].inferred?a.data[0]:a;if(b.data[0]&&b.data[0].collapsible){var c=b.data[0];b.SetData(0,c.data[1]),c.SetData(1,a),a=c}}return a},Collapse_bigop:function(a){if(a.complexity>this.COLLAPSE.bigop||"mo"!==a.data[0].type){var b=this.SplitAttribute(a,"content").pop(),c=g.FindChildText(a,b);a=this.MakeAction(this.Marker(c),a)}return a},Collapse_integral:function(a){if(a.complexity>this.COLLAPSE.integral||"mo"!==a.data[0].type){var b=this.SplitAttribute(a,"content")[0],c=g.FindChildText(a,b);a=this.MakeAction(this.Marker(c),a)}return a},Collapse_relseq:function(a){if(a.complexity>this.COLLAPSE.relseq){var b=this.SplitAttribute(a,"content"),c=g.FindChildText(a,b[0]);b.length>1&&(c+="\u22ef"),a=this.MakeAction(this.Marker(c),a)}return a},Collapse_multirel:function(a){if(a.complexity>this.COLLAPSE.multirel){var b=this.SplitAttribute(a,"content"),c=g.FindChildText(a,b[0])+"\u22ef";a=this.MakeAction(this.Marker(c),a)}return a},Collapse_superscript:function(a){return this.UncollapseChild(a,0,2),a.complexity>this.COLLAPSE.superscript&&(a=this.MakeAction(this.Marker(this.MARKER.superscript),a)),a},Collapse_subscript:function(a){return this.UncollapseChild(a,0,2),a.complexity>this.COLLAPSE.subscript&&(a=this.MakeAction(this.Marker(this.MARKER.subscript),a)),a},Collapse_subsup:function(a){return this.UncollapseChild(a,0,3),a.complexity>this.COLLAPSE.subsup&&(a=this.MakeAction(this.Marker(this.MARKER.subsup),a)),a}};a.Register.StartupHook("End Extensions",function(){null==c.collapsible?c.collapsible=!g.config.disabled:g.config.disabled=!c.collapsible,a.Register.StartupHook("MathMenu Ready",function(){d=MathJax.Menu.cookie;var a,b=function(a){g[c.collapsible?"Enable":"Disable"](!0,!0),MathJax.Menu.saveCookie()},e=MathJax.Menu.ITEM,f=MathJax.Menu.menu,h=e.CHECKBOX(["CollapsibleMath","Collapsible Math"],"collapsible",{action:b}),i=(f.FindId("Accessibility")||{}).submenu;i?(a=i.IndexOfId("CollapsibleMath"),null!==a?i.items[a]=h:i.items.push(e.RULE(),h)):(a=f.IndexOfId("About"),f.items.splice(a,0,h,e.RULE()))},15)},15)}(MathJax.Hub),MathJax.Ajax.Require("[a11y]/semantic-enrich.js"),MathJax.Hub.Register.StartupHook("Semantic Enrich Ready",function(){var a=MathJax.ElementJax.mml,b=MathJax.Extension.collapsible,c=b.COMPLEXITY,d=b.COMPLEXATTR;b.Startup(),a.mbase.Augment({Collapse:function(){return b.Collapse(this)},getComplexity:function(){if(null==this.complexity){var a=0;if(this.isToken)a=c.TEXT*this.data.join("").length+c.TOKEN;else{for(var b=0,e=this.data.length;b<e;b++)this.data[b]&&(this.SetData(b,this.data[b].Collapse()),a+=this.data[b].complexity);e>1&&(a+=e*c.CHILD)}!this.attrNames||"complexity"in this||this.attrNames.push(d),this.attr&&(this.attr[d]=a),this.complexity=a}return this.complexity},reportComplexity:function(){!this.attr||!this.attrNames||d in this.attr||(this.attrNames.push(d),this.attr[d]=this.complexity)}}),a.mfrac.Augment({getComplexity:function(){return null==this.complexity&&(this.SUPER(arguments).getComplexity.call(this),this.complexity*=c.SCRIPT,this.complexity+=c.FRACTION,this.attr[d]=this.complexity),this.complexity}}),a.msqrt.Augment({getComplexity:function(){return null==this.complexity&&(this.SUPER(arguments).getComplexity.call(this),this.complexity+=c.SQRT,this.attr[d]=this.complexity),this.complexity}}),a.mroot.Augment({getComplexity:function(){return null==this.complexity&&(this.SUPER(arguments).getComplexity.call(this),this.complexity-=(1-c.SCRIPT)*this.data[1].getComplexity(),this.complexity+=c.SQRT,this.attr[d]=this.complexity),this.complexity}}),a.msubsup.Augment({getComplexity:function(){if(null==this.complexity){var a=0;this.data[this.sub]&&(a=this.data[this.sub].getComplexity()+c.CHILD),this.data[this.sup]&&(a=Math.max(this.data[this.sup].getComplexity(),a)),a*=c.SCRIPT,this.data[this.sub]&&(a+=c.CHILD),this.data[this.sup]&&(a+=c.CHILD),this.data[this.base]&&(a+=this.data[this.base].getComplexity()+c.CHILD),this.complexity=a+c.SUBSUP,this.reportComplexity()}return this.complexity}}),a.munderover.Augment({getComplexity:function(){if(null==this.complexity){var a=0;this.data[this.sub]&&(a=this.data[this.sub].getComplexity()+c.CHILD),this.data[this.sup]&&(a=Math.max(this.data[this.sup].getComplexity(),a)),a*=c.SCRIPT,this.data[this.base]&&(a=Math.max(this.data[this.base].getComplexity(),a)),this.data[this.sub]&&(a+=c.CHILD),this.data[this.sup]&&(a+=c.CHILD),this.data[this.base]&&(a+=c.CHILD),this.complexity=a+c.UNDEROVER,this.reportComplexity()}return this.complexity}}),a.mphantom.Augment({getComplexity:function(){return this.complexity=c.PHANTOM,this.reportComplexity(),this.complexity}}),a.ms.Augment({getComplexity:function(){return this.SUPER(arguments).getComplexity.call(this),this.complexity+=this.Get("lquote").length*c.TEXT,this.complexity+=this.Get("rquote").length*c.TEXT,this.attr[d]=this.complexity,this.complexity}}),a.menclose.Augment({getComplexity:function(){return null==this.complexity&&(this.SUPER(arguments).getComplexity.call(this),this.complexity+=c.ACTION,this.attr[d]=this.complexity),this.complexity}}),a.maction.Augment({getComplexity:function(){return this.complexity=(this.collapsible?this.data[0]:this.selected()).getComplexity(),this.reportComplexity(),this.complexity}}),a.semantics.Augment({getComplexity:function(){return null==this.complexity&&(this.complexity=this.data[0]?this.data[0].getComplexity():0,this.reportComplexity()),this.complexity}}),a["annotation-xml"].Augment({getComplexity:function(){return this.complexity=c.XML,this.reportComplexity(),this.complexity}}),a.annotation.Augment({getComplexity:function(){return this.complexity=c.XML,this.reportComplexity(),this.complexity}}),a.mglyph.Augment({getComplexity:function(){return this.complexity=c.GLYPH,this.reportComplexity(),this.complexity}}),MathJax.Hub.Startup.signal.Post("Collapsible Ready"),MathJax.Ajax.loadComplete("[a11y]/collapsible.js")}); \ No newline at end of file diff --git a/assets/js/explorer.js b/assets/js/explorer.js new file mode 100644 index 0000000000000000000000000000000000000000..5478cce7af7dd3c56d7c181bd0dbb0f85ac391d7 --- /dev/null +++ b/assets/js/explorer.js @@ -0,0 +1 @@ +MathJax.Hub.Register.StartupHook("Sre Ready",function(){var a,b,c=MathJax.Hub.config.menuSettings,d={};MathJax.Hub.Register.StartupHook("MathEvents Ready",function(){a=MathJax.Extension.MathEvents.Event.False,b=MathJax.Extension.MathEvents.Event.KEY});var e=MathJax.Extension.explorer={version:"1.5.0",dependents:[],defaults:{walker:"table",highlight:"none",background:"blue",foreground:"black",speech:!0,generation:"lazy",subtitle:!1,ruleset:"mathspeak-default"},eagerComplexity:80,prefix:"Assistive-",hook:null,locHook:null,oldrules:null,addMenuOption:function(a,b){c[e.prefix+a]=b},addDefaults:function(){for(var a,b=MathJax.Hub.CombineConfig("explorer",e.defaults),d=Object.keys(b),f=0;a=d[f];f++)void 0===c[e.prefix+a]&&e.addMenuOption(a,b[a]);e.setSpeechOption(),h.Reset()},setOption:function(a,b){c[e.prefix+a]!==b&&(e.addMenuOption(a,b),h.Reset())},getOption:function(a){return c[e.prefix+a]},speechOption:function(a){e.oldrules!==a.value&&(e.setSpeechOption(),h.Regenerate())},setSpeechOption:function(){var a=c[e.prefix+"ruleset"],b=a.split("-");sre.System.getInstance().setupEngine({locale:MathJax.Localization.locale,domain:e.Domain(b[0]),style:b[1],rules:e.RuleSet(b[0])}),e.oldrules=a},Domain:function(a){switch(a){case"chromevox":return"default";case"mathspeak":default:return"mathspeak"}},RuleSet:function(a){switch(a){case"chromevox":return["AbstractionRules","SemanticTreeRules"];case"mathspeak":default:return["AbstractionRules","AbstractionSpanish","MathspeakRules","MathspeakSpanish"]}},hook:null,locHook:null,Enable:function(a,b){c.explorer=!0,b&&(d.explorer=!0),MathJax.Extension.collapsible.Enable(!1,b),MathJax.Extension.AssistiveMML&&(MathJax.Extension.AssistiveMML.config.disabled=!0,c.assistiveMML=!1,b&&(d.assistiveMML=!1)),this.DisableMenus(!1),this.hook||(this.hook=MathJax.Hub.Register.MessageHook("New Math",["Register",this.Explorer])),this.locHook||(this.locHook=MathJax.Hub.Register.MessageHook("Locale Reset",["RemoveSpeech",this.Explorer])),a&&MathJax.Hub.Queue(["Reprocess",MathJax.Hub])},Disable:function(a,b){c.explorer=!1,b&&(d.explorer=!1),this.DisableMenus(!0),this.hook&&(MathJax.Hub.UnRegister.MessageHook(this.hook),this.hook=null);for(var e=this.dependents.length-1;e>=0;e--){var f=this.dependents[e];f.Disable&&f.Disable(!1,b)}},DisableMenus:function(a){if(MathJax.Menu){var b=MathJax.Menu.menu.FindId("Accessibility","Explorer");if(b){b=b.submenu;for(var d,f=b.items,g=2;d=f[g];g++)d.disabled=a;a||!b.FindId("SpeechOutput")||c[e.prefix+"speech"]||(b.FindId("Subtitles").disabled=!0)}}},Dependent:function(a){this.dependents.push(a)}},f=MathJax.Object.Subclass({div:null,inner:null,Init:function(){this.div=f.Create("assertive"),this.inner=MathJax.HTML.addElement(this.div,"div")},Add:function(){f.added||(document.body.appendChild(this.div),f.added=!0)},Show:function(a,b){this.div.classList.add("MJX_LiveRegion_Show");var c=a.getBoundingClientRect(),d=c.bottom+10+window.pageYOffset,e=c.left+window.pageXOffset;this.div.style.top=d+"px",this.div.style.left=e+"px";var f=b.colorString();this.inner.style.backgroundColor=f.background,this.inner.style.color=f.foreground},Hide:function(a){this.div.classList.remove("MJX_LiveRegion_Show")},Clear:function(){this.Update(""),this.inner.style.top="",this.inner.style.backgroundColor=""},Update:function(a){e.getOption("speech")&&f.Update(this.inner,a)}},{ANNOUNCE:"Navigatable Math in page. Explore with shift space and arrow keys. Expand or collapse elements hitting enter.",announced:!1,added:!1,styles:{".MJX_LiveRegion":{position:"absolute",top:"0",height:"1px",width:"1px",padding:"1px",overflow:"hidden"},".MJX_LiveRegion_Show":{top:"0",position:"absolute",width:"auto",height:"auto",padding:"0px 0px",opacity:1,"z-index":"202",left:0,right:0,margin:"0 auto","background-color":"white","box-shadow":"0px 10px 20px #888",border:"2px solid #CCCCCC"}},Create:function(a){var b=MathJax.HTML.Element("div",{className:"MJX_LiveRegion"});return b.setAttribute("aria-live",a),b},Update:MathJax.Hub.Browser.isPC?function(a,b){a.textContent="",setTimeout(function(){a.textContent=b},100)}:function(a,b){a.textContent="",a.textContent=b},Announce:function(){if(e.getOption("speech")){f.announced=!0,MathJax.Ajax.Styles(f.styles);var a=f.Create("polite");document.body.appendChild(a),f.Update(a,f.ANNOUNCE),setTimeout(function(){document.body.removeChild(a)},1e3)}}});MathJax.Extension.explorer.LiveRegion=f;var g=MathJax.Ajax.fileURL(MathJax.Ajax.config.path.a11y),h=MathJax.Extension.explorer.Explorer={liveRegion:f(),walker:null,highlighter:null,hoverer:null,flamer:null,speechDiv:null,earconFile:g+"/invalid_keypress"+(-1!==["Firefox","Chrome","Opera"].indexOf(MathJax.Hub.Browser.name)?".ogg":".mp3"),expanded:!1,focusoutEvent:MathJax.Hub.Browser.isFirefox?"blur":"focusout",focusinEvent:"focus",ignoreFocusOut:!1,jaxCache:{},messageID:null,Reset:function(){h.FlameEnriched()},Register:function(a){if(e.hook){var b=document.getElementById(a[1]);if(b&&b.id){var c=MathJax.Hub.getJaxFor(b.id);c&&c.enriched&&(h.StateChange(b.id,c),h.liveRegion.Add(),h.AddEvent(b))}}},StateChange:function(a,b){h.GetHighlighter(.2);var c=h.jaxCache[a];c&&c===b.root||(c&&h.highlighter.resetState(a+"-Frame"),h.jaxCache[a]=b.root)},AddAria:function(a){a.setAttribute("role","application"),a.setAttribute("aria-label","Math")},AddHook:function(a){h.RemoveHook(),h.hook=MathJax.Hub.Register.MessageHook("End Math",function(b){var c=b[1].id+"-Frame",d=document.getElementById(c);a&&c===h.expanded&&(h.ActivateWalker(d,a),d.focus(),h.expanded=!1)})},RemoveHook:function(){h.hook&&(MathJax.Hub.UnRegister.MessageHook(h.hook),h.hook=null)},AddMessage:function(){return MathJax.Message.Set("Generating Speech Output")},RemoveMessage:function(a){a&&MathJax.Message.Clear(a)},AddEvent:function(a){var b=a.id+"-Frame",c=a.previousSibling;if(c){var d=c.id!==b?c.firstElementChild:c;h.AddAria(d),h.AddMouseEvents(d),"MathJax_MathML"===d.className&&(d=d.firstElementChild),d&&(d.onkeydown=h.Keydown,h.Flame(d),d.addEventListener(h.focusinEvent,function(a){e.hook&&(f.announced||f.Announce())}),d.addEventListener(h.focusoutEvent,function(a){if(e.hook)return h.ignoreFocusOut&&(h.ignoreFocusOut=!1,"enter"===h.walker.moved)?void a.target.focus():void(h.walker&&h.DeactivateWalker())}),e.getOption("speech")&&h.AddSpeech(d))}},AddSpeech:function(a){var b=a.id,c=MathJax.Hub.getJaxFor(b),d=c.root.toMathML();if(a.getAttribute("haslabel")||h.AddMathLabel(d,b),!a.getAttribute("hasspeech"))switch(MathJax.Hub.config.explorer.generation){case"eager":h.AddSpeechEager(d,b);break;case"mixed":a.querySelectorAll("[data-semantic-complexity]").length>=e.eagerComplexity&&h.AddSpeechEager(d,b)}},AddSpeechLazy:function(a){var b=new sre.TreeSpeechGenerator;b.setRebuilt(h.walker.rebuilt),b.getSpeech(h.walker.rootNode,h.walker.xml),a.setAttribute("hasspeech","true")},AddSpeechEager:function(a,b){h.MakeSpeechTask(a,b,sre.TreeSpeechGenerator,function(a,b){a.setAttribute("hasspeech","true")},5)},AddMathLabel:function(a,b){h.MakeSpeechTask(a,b,sre.SummarySpeechGenerator,function(a,b){a.setAttribute("haslabel","true"),a.setAttribute("aria-label",b)},5)},MakeSpeechTask:function(a,b,c,d,e){var f=h.AddMessage();setTimeout(function(){var e=new c,g=document.getElementById(b),i=new sre.DummyWalker(g,e,h.highlighter,a),j=i.speech();j&&d(g,j),h.RemoveMessage(f)},e)},Keydown:function(c){if(c.keyCode===b.ESCAPE){if(!h.walker)return;return h.RemoveHook(),h.DeactivateWalker(),void a(c)}if(h.walker&&h.walker.isActive()){void 0!==h.walker.modifier&&(h.walker.modifier=c.shiftKey);var d=h.walker.move(c.keyCode);if(null===d)return;if(d){if("expand"===h.walker.moved){if(h.expanded=h.walker.node.id,MathJax.Hub.Browser.isEdge)return h.ignoreFocusOut=!0,void h.DeactivateWalker();if(MathJax.Hub.Browser.isFirefox||MathJax.Hub.Browser.isMSIE)return void h.DeactivateWalker()}h.liveRegion.Update(h.walker.speech()),h.Highlight()}else h.PlayEarcon();return void a(c)}var f=c.target;if(c.keyCode===b.SPACE){if(c.shiftKey&&e.hook){var g=MathJax.Hub.getJaxFor(f);h.ActivateWalker(f,g),h.AddHook(g)}else MathJax.Extension.MathEvents.Event.ContextMenu(c,f);return void a(c)}},GetHighlighter:function(a){h.highlighter=sre.HighlighterFactory.highlighter({color:e.getOption("background"),alpha:a},{color:e.getOption("foreground"),alpha:1},{renderer:MathJax.Hub.outputJax["jax/mml"][0].id,browser:MathJax.Hub.Browser.name})},AddMouseEvents:function(a){sre.HighlighterFactory.addEvents(a,{mouseover:h.MouseOver,mouseout:h.MouseOut},{renderer:MathJax.Hub.outputJax["jax/mml"][0].id,browser:MathJax.Hub.Browser.name})},MouseOver:function(b){if("none"!==e.getOption("highlight")){if("hover"===e.getOption("highlight")){var c=b.currentTarget;h.GetHighlighter(.1),h.highlighter.highlight([c]),h.hoverer=!0}a(b)}},MouseOut:function(b){return h.hoverer&&(h.highlighter.unhighlight(),h.hoverer=!1),a(b)},Flame:function(a){if("flame"===e.getOption("highlight"))return h.GetHighlighter(.05),h.highlighter.highlightAll(a),void(h.flamer=!0)},UnFlame:function(){h.flamer&&(h.highlighter.unhighlightAll(),h.flamer=null)},FlameEnriched:function(){h.UnFlame();for(var a,b=0,c=MathJax.Hub.getAllJax();a=c[b];b++)h.Flame(a.SourceElement().previousSibling)},Walkers:{syntactic:sre.SyntaxWalker,table:sre.TableWalker,semantic:sre.SemanticWalker,none:sre.DummyWalker},ActivateWalker:function(a,b){var c=e.getOption("speech"),d=e.getOption("walker")?h.Walkers[MathJax.Hub.config.explorer.walker]:h.Walkers.none,f=c?new sre.DirectSpeechGenerator:new sre.DummySpeechGenerator;h.GetHighlighter(.2),h.walker=new d(a,f,h.highlighter,b.root.toMathML()),c&&!a.getAttribute("hasspeech")&&h.AddSpeechLazy(a),h.walker.activate(),c&&(e.getOption("subtitle")&&h.liveRegion.Show(a,h.highlighter),h.liveRegion.Update(h.walker.speech())),h.Highlight(),h.ignoreFocusOut&&setTimeout(function(){h.ignoreFocusOut=!1},500)},DeactivateWalker:function(){h.liveRegion.Clear(),h.liveRegion.Hide(),h.Unhighlight(),h.currentHighlight=null,h.walker.deactivate(),h.walker=null},Highlight:function(){h.Unhighlight(),h.highlighter.highlight(h.walker.getFocus().getNodes())},Unhighlight:function(){h.highlighter.unhighlight()},PlayEarcon:function(){new Audio(h.earconFile).play()},SpeechOutput:function(){h.Reset(),["Subtitles"].forEach(function(a){var b=MathJax.Menu.menu.FindId("Accessibility","Explorer",a);b&&(b.disabled=!b.disabled)}),h.Regenerate()},RemoveSpeech:function(){e.setSpeechOption();for(var a,b=0,c=MathJax.Hub.getAllJax();a=c[b];b++){var d=document.getElementById(a.inputID+"-Frame");d&&(d.removeAttribute("hasspeech"),d.removeAttribute("haslabel"))}},Regenerate:function(){for(var a,b=0,c=MathJax.Hub.getAllJax();a=c[b];b++){var d=document.getElementById(a.inputID+"-Frame");d&&(d.removeAttribute("hasspeech"),h.AddSpeech(d))}},Startup:function(){var a=MathJax.Extension.collapsible;a&&a.Dependent(e),e.addDefaults()}};MathJax.Hub.Register.StartupHook("End Extensions",function(){e[!1===c.explorer?"Disable":"Enable"](),MathJax.Hub.Startup.signal.Post("Explorer Ready"),MathJax.Hub.Register.StartupHook("MathMenu Ready",function(){d=MathJax.Menu.cookie;var a,b=function(a){e[c.explorer?"Enable":"Disable"](!0,!0),MathJax.Menu.saveCookie()},f=MathJax.Menu.ITEM,g=MathJax.Menu.menu,i={action:h.Reset},j={action:e.speechOption},k=f.SUBMENU(["Explorer","Explorer"],f.CHECKBOX(["Active","Active"],"explorer",{action:b}),f.RULE(),f.CHECKBOX(["Walker","Walker"],"Assistive-walker"),f.SUBMENU(["Highlight","Highlight"],f.RADIO(["none","None"],"Assistive-highlight",i),f.RADIO(["hover","Hover"],"Assistive-highlight",i),f.RADIO(["flame","Flame"],"Assistive-highlight",i)),f.SUBMENU(["Background","Background"],f.RADIO(["blue","Blue"],"Assistive-background",i),f.RADIO(["red","Red"],"Assistive-background",i),f.RADIO(["green","Green"],"Assistive-background",i),f.RADIO(["yellow","Yellow"],"Assistive-background",i),f.RADIO(["cyan","Cyan"],"Assistive-background",i),f.RADIO(["magenta","Magenta"],"Assistive-background",i),f.RADIO(["white","White"],"Assistive-background",i),f.RADIO(["black","Black"],"Assistive-background",i)),f.SUBMENU(["Foreground","Foreground"],f.RADIO(["black","Black"],"Assistive-foreground",i),f.RADIO(["white","White"],"Assistive-foreground",i),f.RADIO(["magenta","Magenta"],"Assistive-foreground",i),f.RADIO(["cyan","Cyan"],"Assistive-foreground",i),f.RADIO(["yellow","Yellow"],"Assistive-foreground",i),f.RADIO(["green","Green"],"Assistive-foreground",i),f.RADIO(["red","Red"],"Assistive-foreground",i),f.RADIO(["blue","Blue"],"Assistive-foreground",i)),f.RULE(),f.CHECKBOX(["SpeechOutput","Speech Output"],"Assistive-speech",{action:h.SpeechOutput}),f.CHECKBOX(["Subtitles","Subtitles"],"Assistive-subtitle",{disabled:!c["Assistive-speech"]}),f.RULE(),f.SUBMENU(["Mathspeak","Mathspeak Rules"],f.RADIO(["mathspeak-default","Verbose"],"Assistive-ruleset",j),f.RADIO(["mathspeak-brief","Brief"],"Assistive-ruleset",j),f.RADIO(["mathspeak-sbrief","Superbrief"],"Assistive-ruleset",j)),f.SUBMENU(["Chromevox","ChromeVox Rules"],f.RADIO(["chromevox-default","Verbose"],"Assistive-ruleset",j),f.RADIO(["chromevox-short","Short"],"Assistive-ruleset",j),f.RADIO(["chromevox-alternative","Alternative"],"Assistive-ruleset",j))),l=(g.FindId("Accessibility")||{}).submenu;l?(a=l.IndexOfId("Explorer"),null!==a?l.items[a]=k:(a=l.IndexOfId("CollapsibleMath"),l.items.splice(a+1,0,k))):(a=g.IndexOfId("CollapsibleMath"),g.items.splice(a+1,0,k)),c.explorer||e.DisableMenus(!0)},20)},20)}),MathJax.Hub.Register.StartupHook("SVG Jax Ready",function(){MathJax.Hub.Config({SVG:{addMMLclasses:!0}});var a=MathJax.OutputJax.SVG;if(parseFloat(a.version)<2.7){var b=a.getJaxFromMath;a.Augment({getJaxFromMath:function(a){return a.parentNode.className.match(/MathJax_SVG_Display/)&&(a=a.parentNode),b.call(this,a)}})}}),MathJax.Ajax.config.path.a11y||(MathJax.Ajax.config.path.a11y=MathJax.Hub.config.root+"/extensions/a11y"),MathJax.Ajax.Require("[a11y]/collapsible.js"),MathJax.Hub.Register.StartupHook("Collapsible Ready",function(){MathJax.Extension.explorer.Explorer.Startup(),MathJax.Ajax.loadComplete("[a11y]/explorer.js")}); \ No newline at end of file diff --git a/assets/js/fs-extra.js b/assets/js/fs-extra.js new file mode 100644 index 0000000000000000000000000000000000000000..6ed523508cc17bd0a8b75fcb01dcf29b5579b0cc --- /dev/null +++ b/assets/js/fs-extra.js @@ -0,0 +1,16 @@ +'use strict' +module.exports = Object.assign({}, + // Export promiseified graceful-fs: + require('./fs'), + // Export extra methods: + require('./copy-sync'), require('./copy'), require('./empty'), require('./ensure'), require('./json'), require('./mkdirs'), require('./move-sync'), require('./move'), require('./output'), require('./path-exists'), require('./remove')) +// Export fs.promises as a getter property so that we don't trigger +// ExperimentalWarning before fs.promises is actually accessed. +const fs = require('fs') +if (Object.getOwnPropertyDescriptor(fs, 'promises')) { + Object.defineProperty(module.exports, 'promises', { + get() { + return fs.promises + } + }) +} diff --git a/assets/js/he.js b/assets/js/he.js new file mode 100644 index 0000000000000000000000000000000000000000..14a58e9d6f192208ccdfe78da011f320da5aac54 --- /dev/null +++ b/assets/js/he.js @@ -0,0 +1,345 @@ +/*! https://mths.be/he v1.2.0 by @mathias | MIT license */ +;(function(root) { + + // Detect free variables `exports`. + var freeExports = typeof exports == 'object' && exports; + + // Detect free variable `module`. + var freeModule = typeof module == 'object' && module && + module.exports == freeExports && module; + + // Detect free variable `global`, from Node.js or Browserified code, + // and use it as `root`. + var freeGlobal = typeof global == 'object' && global; + if (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) { + root = freeGlobal; + } + + /*--------------------------------------------------------------------------*/ + + // All astral symbols. + var regexAstralSymbols = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g; + // All ASCII symbols (not just printable ASCII) except those listed in the + // first column of the overrides table. + // https://html.spec.whatwg.org/multipage/syntax.html#table-charref-overrides + var regexAsciiWhitelist = /[\x01-\x7F]/g; + // All BMP symbols that are not ASCII newlines, printable ASCII symbols, or + // code points listed in the first column of the overrides table on + // https://html.spec.whatwg.org/multipage/syntax.html#table-charref-overrides. + var regexBmpWhitelist = /[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g; + + var regexEncodeNonAscii = /<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g; + var encodeMap = {'\xAD':'shy','\u200C':'zwnj','\u200D':'zwj','\u200E':'lrm','\u2063':'ic','\u2062':'it','\u2061':'af','\u200F':'rlm','\u200B':'ZeroWidthSpace','\u2060':'NoBreak','\u0311':'DownBreve','\u20DB':'tdot','\u20DC':'DotDot','\t':'Tab','\n':'NewLine','\u2008':'puncsp','\u205F':'MediumSpace','\u2009':'thinsp','\u200A':'hairsp','\u2004':'emsp13','\u2002':'ensp','\u2005':'emsp14','\u2003':'emsp','\u2007':'numsp','\xA0':'nbsp','\u205F\u200A':'ThickSpace','\u203E':'oline','_':'lowbar','\u2010':'dash','\u2013':'ndash','\u2014':'mdash','\u2015':'horbar',',':'comma',';':'semi','\u204F':'bsemi',':':'colon','\u2A74':'Colone','!':'excl','\xA1':'iexcl','?':'quest','\xBF':'iquest','.':'period','\u2025':'nldr','\u2026':'mldr','\xB7':'middot','\'':'apos','\u2018':'lsquo','\u2019':'rsquo','\u201A':'sbquo','\u2039':'lsaquo','\u203A':'rsaquo','"':'quot','\u201C':'ldquo','\u201D':'rdquo','\u201E':'bdquo','\xAB':'laquo','\xBB':'raquo','(':'lpar',')':'rpar','[':'lsqb',']':'rsqb','{':'lcub','}':'rcub','\u2308':'lceil','\u2309':'rceil','\u230A':'lfloor','\u230B':'rfloor','\u2985':'lopar','\u2986':'ropar','\u298B':'lbrke','\u298C':'rbrke','\u298D':'lbrkslu','\u298E':'rbrksld','\u298F':'lbrksld','\u2990':'rbrkslu','\u2991':'langd','\u2992':'rangd','\u2993':'lparlt','\u2994':'rpargt','\u2995':'gtlPar','\u2996':'ltrPar','\u27E6':'lobrk','\u27E7':'robrk','\u27E8':'lang','\u27E9':'rang','\u27EA':'Lang','\u27EB':'Rang','\u27EC':'loang','\u27ED':'roang','\u2772':'lbbrk','\u2773':'rbbrk','\u2016':'Vert','\xA7':'sect','\xB6':'para','@':'commat','*':'ast','/':'sol','undefined':null,'&':'amp','#':'num','%':'percnt','\u2030':'permil','\u2031':'pertenk','\u2020':'dagger','\u2021':'Dagger','\u2022':'bull','\u2043':'hybull','\u2032':'prime','\u2033':'Prime','\u2034':'tprime','\u2057':'qprime','\u2035':'bprime','\u2041':'caret','`':'grave','\xB4':'acute','\u02DC':'tilde','^':'Hat','\xAF':'macr','\u02D8':'breve','\u02D9':'dot','\xA8':'die','\u02DA':'ring','\u02DD':'dblac','\xB8':'cedil','\u02DB':'ogon','\u02C6':'circ','\u02C7':'caron','\xB0':'deg','\xA9':'copy','\xAE':'reg','\u2117':'copysr','\u2118':'wp','\u211E':'rx','\u2127':'mho','\u2129':'iiota','\u2190':'larr','\u219A':'nlarr','\u2192':'rarr','\u219B':'nrarr','\u2191':'uarr','\u2193':'darr','\u2194':'harr','\u21AE':'nharr','\u2195':'varr','\u2196':'nwarr','\u2197':'nearr','\u2198':'searr','\u2199':'swarr','\u219D':'rarrw','\u219D\u0338':'nrarrw','\u219E':'Larr','\u219F':'Uarr','\u21A0':'Rarr','\u21A1':'Darr','\u21A2':'larrtl','\u21A3':'rarrtl','\u21A4':'mapstoleft','\u21A5':'mapstoup','\u21A6':'map','\u21A7':'mapstodown','\u21A9':'larrhk','\u21AA':'rarrhk','\u21AB':'larrlp','\u21AC':'rarrlp','\u21AD':'harrw','\u21B0':'lsh','\u21B1':'rsh','\u21B2':'ldsh','\u21B3':'rdsh','\u21B5':'crarr','\u21B6':'cularr','\u21B7':'curarr','\u21BA':'olarr','\u21BB':'orarr','\u21BC':'lharu','\u21BD':'lhard','\u21BE':'uharr','\u21BF':'uharl','\u21C0':'rharu','\u21C1':'rhard','\u21C2':'dharr','\u21C3':'dharl','\u21C4':'rlarr','\u21C5':'udarr','\u21C6':'lrarr','\u21C7':'llarr','\u21C8':'uuarr','\u21C9':'rrarr','\u21CA':'ddarr','\u21CB':'lrhar','\u21CC':'rlhar','\u21D0':'lArr','\u21CD':'nlArr','\u21D1':'uArr','\u21D2':'rArr','\u21CF':'nrArr','\u21D3':'dArr','\u21D4':'iff','\u21CE':'nhArr','\u21D5':'vArr','\u21D6':'nwArr','\u21D7':'neArr','\u21D8':'seArr','\u21D9':'swArr','\u21DA':'lAarr','\u21DB':'rAarr','\u21DD':'zigrarr','\u21E4':'larrb','\u21E5':'rarrb','\u21F5':'duarr','\u21FD':'loarr','\u21FE':'roarr','\u21FF':'hoarr','\u2200':'forall','\u2201':'comp','\u2202':'part','\u2202\u0338':'npart','\u2203':'exist','\u2204':'nexist','\u2205':'empty','\u2207':'Del','\u2208':'in','\u2209':'notin','\u220B':'ni','\u220C':'notni','\u03F6':'bepsi','\u220F':'prod','\u2210':'coprod','\u2211':'sum','+':'plus','\xB1':'pm','\xF7':'div','\xD7':'times','<':'lt','\u226E':'nlt','<\u20D2':'nvlt','=':'equals','\u2260':'ne','=\u20E5':'bne','\u2A75':'Equal','>':'gt','\u226F':'ngt','>\u20D2':'nvgt','\xAC':'not','|':'vert','\xA6':'brvbar','\u2212':'minus','\u2213':'mp','\u2214':'plusdo','\u2044':'frasl','\u2216':'setmn','\u2217':'lowast','\u2218':'compfn','\u221A':'Sqrt','\u221D':'prop','\u221E':'infin','\u221F':'angrt','\u2220':'ang','\u2220\u20D2':'nang','\u2221':'angmsd','\u2222':'angsph','\u2223':'mid','\u2224':'nmid','\u2225':'par','\u2226':'npar','\u2227':'and','\u2228':'or','\u2229':'cap','\u2229\uFE00':'caps','\u222A':'cup','\u222A\uFE00':'cups','\u222B':'int','\u222C':'Int','\u222D':'tint','\u2A0C':'qint','\u222E':'oint','\u222F':'Conint','\u2230':'Cconint','\u2231':'cwint','\u2232':'cwconint','\u2233':'awconint','\u2234':'there4','\u2235':'becaus','\u2236':'ratio','\u2237':'Colon','\u2238':'minusd','\u223A':'mDDot','\u223B':'homtht','\u223C':'sim','\u2241':'nsim','\u223C\u20D2':'nvsim','\u223D':'bsim','\u223D\u0331':'race','\u223E':'ac','\u223E\u0333':'acE','\u223F':'acd','\u2240':'wr','\u2242':'esim','\u2242\u0338':'nesim','\u2243':'sime','\u2244':'nsime','\u2245':'cong','\u2247':'ncong','\u2246':'simne','\u2248':'ap','\u2249':'nap','\u224A':'ape','\u224B':'apid','\u224B\u0338':'napid','\u224C':'bcong','\u224D':'CupCap','\u226D':'NotCupCap','\u224D\u20D2':'nvap','\u224E':'bump','\u224E\u0338':'nbump','\u224F':'bumpe','\u224F\u0338':'nbumpe','\u2250':'doteq','\u2250\u0338':'nedot','\u2251':'eDot','\u2252':'efDot','\u2253':'erDot','\u2254':'colone','\u2255':'ecolon','\u2256':'ecir','\u2257':'cire','\u2259':'wedgeq','\u225A':'veeeq','\u225C':'trie','\u225F':'equest','\u2261':'equiv','\u2262':'nequiv','\u2261\u20E5':'bnequiv','\u2264':'le','\u2270':'nle','\u2264\u20D2':'nvle','\u2265':'ge','\u2271':'nge','\u2265\u20D2':'nvge','\u2266':'lE','\u2266\u0338':'nlE','\u2267':'gE','\u2267\u0338':'ngE','\u2268\uFE00':'lvnE','\u2268':'lnE','\u2269':'gnE','\u2269\uFE00':'gvnE','\u226A':'ll','\u226A\u0338':'nLtv','\u226A\u20D2':'nLt','\u226B':'gg','\u226B\u0338':'nGtv','\u226B\u20D2':'nGt','\u226C':'twixt','\u2272':'lsim','\u2274':'nlsim','\u2273':'gsim','\u2275':'ngsim','\u2276':'lg','\u2278':'ntlg','\u2277':'gl','\u2279':'ntgl','\u227A':'pr','\u2280':'npr','\u227B':'sc','\u2281':'nsc','\u227C':'prcue','\u22E0':'nprcue','\u227D':'sccue','\u22E1':'nsccue','\u227E':'prsim','\u227F':'scsim','\u227F\u0338':'NotSucceedsTilde','\u2282':'sub','\u2284':'nsub','\u2282\u20D2':'vnsub','\u2283':'sup','\u2285':'nsup','\u2283\u20D2':'vnsup','\u2286':'sube','\u2288':'nsube','\u2287':'supe','\u2289':'nsupe','\u228A\uFE00':'vsubne','\u228A':'subne','\u228B\uFE00':'vsupne','\u228B':'supne','\u228D':'cupdot','\u228E':'uplus','\u228F':'sqsub','\u228F\u0338':'NotSquareSubset','\u2290':'sqsup','\u2290\u0338':'NotSquareSuperset','\u2291':'sqsube','\u22E2':'nsqsube','\u2292':'sqsupe','\u22E3':'nsqsupe','\u2293':'sqcap','\u2293\uFE00':'sqcaps','\u2294':'sqcup','\u2294\uFE00':'sqcups','\u2295':'oplus','\u2296':'ominus','\u2297':'otimes','\u2298':'osol','\u2299':'odot','\u229A':'ocir','\u229B':'oast','\u229D':'odash','\u229E':'plusb','\u229F':'minusb','\u22A0':'timesb','\u22A1':'sdotb','\u22A2':'vdash','\u22AC':'nvdash','\u22A3':'dashv','\u22A4':'top','\u22A5':'bot','\u22A7':'models','\u22A8':'vDash','\u22AD':'nvDash','\u22A9':'Vdash','\u22AE':'nVdash','\u22AA':'Vvdash','\u22AB':'VDash','\u22AF':'nVDash','\u22B0':'prurel','\u22B2':'vltri','\u22EA':'nltri','\u22B3':'vrtri','\u22EB':'nrtri','\u22B4':'ltrie','\u22EC':'nltrie','\u22B4\u20D2':'nvltrie','\u22B5':'rtrie','\u22ED':'nrtrie','\u22B5\u20D2':'nvrtrie','\u22B6':'origof','\u22B7':'imof','\u22B8':'mumap','\u22B9':'hercon','\u22BA':'intcal','\u22BB':'veebar','\u22BD':'barvee','\u22BE':'angrtvb','\u22BF':'lrtri','\u22C0':'Wedge','\u22C1':'Vee','\u22C2':'xcap','\u22C3':'xcup','\u22C4':'diam','\u22C5':'sdot','\u22C6':'Star','\u22C7':'divonx','\u22C8':'bowtie','\u22C9':'ltimes','\u22CA':'rtimes','\u22CB':'lthree','\u22CC':'rthree','\u22CD':'bsime','\u22CE':'cuvee','\u22CF':'cuwed','\u22D0':'Sub','\u22D1':'Sup','\u22D2':'Cap','\u22D3':'Cup','\u22D4':'fork','\u22D5':'epar','\u22D6':'ltdot','\u22D7':'gtdot','\u22D8':'Ll','\u22D8\u0338':'nLl','\u22D9':'Gg','\u22D9\u0338':'nGg','\u22DA\uFE00':'lesg','\u22DA':'leg','\u22DB':'gel','\u22DB\uFE00':'gesl','\u22DE':'cuepr','\u22DF':'cuesc','\u22E6':'lnsim','\u22E7':'gnsim','\u22E8':'prnsim','\u22E9':'scnsim','\u22EE':'vellip','\u22EF':'ctdot','\u22F0':'utdot','\u22F1':'dtdot','\u22F2':'disin','\u22F3':'isinsv','\u22F4':'isins','\u22F5':'isindot','\u22F5\u0338':'notindot','\u22F6':'notinvc','\u22F7':'notinvb','\u22F9':'isinE','\u22F9\u0338':'notinE','\u22FA':'nisd','\u22FB':'xnis','\u22FC':'nis','\u22FD':'notnivc','\u22FE':'notnivb','\u2305':'barwed','\u2306':'Barwed','\u230C':'drcrop','\u230D':'dlcrop','\u230E':'urcrop','\u230F':'ulcrop','\u2310':'bnot','\u2312':'profline','\u2313':'profsurf','\u2315':'telrec','\u2316':'target','\u231C':'ulcorn','\u231D':'urcorn','\u231E':'dlcorn','\u231F':'drcorn','\u2322':'frown','\u2323':'smile','\u232D':'cylcty','\u232E':'profalar','\u2336':'topbot','\u233D':'ovbar','\u233F':'solbar','\u237C':'angzarr','\u23B0':'lmoust','\u23B1':'rmoust','\u23B4':'tbrk','\u23B5':'bbrk','\u23B6':'bbrktbrk','\u23DC':'OverParenthesis','\u23DD':'UnderParenthesis','\u23DE':'OverBrace','\u23DF':'UnderBrace','\u23E2':'trpezium','\u23E7':'elinters','\u2423':'blank','\u2500':'boxh','\u2502':'boxv','\u250C':'boxdr','\u2510':'boxdl','\u2514':'boxur','\u2518':'boxul','\u251C':'boxvr','\u2524':'boxvl','\u252C':'boxhd','\u2534':'boxhu','\u253C':'boxvh','\u2550':'boxH','\u2551':'boxV','\u2552':'boxdR','\u2553':'boxDr','\u2554':'boxDR','\u2555':'boxdL','\u2556':'boxDl','\u2557':'boxDL','\u2558':'boxuR','\u2559':'boxUr','\u255A':'boxUR','\u255B':'boxuL','\u255C':'boxUl','\u255D':'boxUL','\u255E':'boxvR','\u255F':'boxVr','\u2560':'boxVR','\u2561':'boxvL','\u2562':'boxVl','\u2563':'boxVL','\u2564':'boxHd','\u2565':'boxhD','\u2566':'boxHD','\u2567':'boxHu','\u2568':'boxhU','\u2569':'boxHU','\u256A':'boxvH','\u256B':'boxVh','\u256C':'boxVH','\u2580':'uhblk','\u2584':'lhblk','\u2588':'block','\u2591':'blk14','\u2592':'blk12','\u2593':'blk34','\u25A1':'squ','\u25AA':'squf','\u25AB':'EmptyVerySmallSquare','\u25AD':'rect','\u25AE':'marker','\u25B1':'fltns','\u25B3':'xutri','\u25B4':'utrif','\u25B5':'utri','\u25B8':'rtrif','\u25B9':'rtri','\u25BD':'xdtri','\u25BE':'dtrif','\u25BF':'dtri','\u25C2':'ltrif','\u25C3':'ltri','\u25CA':'loz','\u25CB':'cir','\u25EC':'tridot','\u25EF':'xcirc','\u25F8':'ultri','\u25F9':'urtri','\u25FA':'lltri','\u25FB':'EmptySmallSquare','\u25FC':'FilledSmallSquare','\u2605':'starf','\u2606':'star','\u260E':'phone','\u2640':'female','\u2642':'male','\u2660':'spades','\u2663':'clubs','\u2665':'hearts','\u2666':'diams','\u266A':'sung','\u2713':'check','\u2717':'cross','\u2720':'malt','\u2736':'sext','\u2758':'VerticalSeparator','\u27C8':'bsolhsub','\u27C9':'suphsol','\u27F5':'xlarr','\u27F6':'xrarr','\u27F7':'xharr','\u27F8':'xlArr','\u27F9':'xrArr','\u27FA':'xhArr','\u27FC':'xmap','\u27FF':'dzigrarr','\u2902':'nvlArr','\u2903':'nvrArr','\u2904':'nvHarr','\u2905':'Map','\u290C':'lbarr','\u290D':'rbarr','\u290E':'lBarr','\u290F':'rBarr','\u2910':'RBarr','\u2911':'DDotrahd','\u2912':'UpArrowBar','\u2913':'DownArrowBar','\u2916':'Rarrtl','\u2919':'latail','\u291A':'ratail','\u291B':'lAtail','\u291C':'rAtail','\u291D':'larrfs','\u291E':'rarrfs','\u291F':'larrbfs','\u2920':'rarrbfs','\u2923':'nwarhk','\u2924':'nearhk','\u2925':'searhk','\u2926':'swarhk','\u2927':'nwnear','\u2928':'toea','\u2929':'tosa','\u292A':'swnwar','\u2933':'rarrc','\u2933\u0338':'nrarrc','\u2935':'cudarrr','\u2936':'ldca','\u2937':'rdca','\u2938':'cudarrl','\u2939':'larrpl','\u293C':'curarrm','\u293D':'cularrp','\u2945':'rarrpl','\u2948':'harrcir','\u2949':'Uarrocir','\u294A':'lurdshar','\u294B':'ldrushar','\u294E':'LeftRightVector','\u294F':'RightUpDownVector','\u2950':'DownLeftRightVector','\u2951':'LeftUpDownVector','\u2952':'LeftVectorBar','\u2953':'RightVectorBar','\u2954':'RightUpVectorBar','\u2955':'RightDownVectorBar','\u2956':'DownLeftVectorBar','\u2957':'DownRightVectorBar','\u2958':'LeftUpVectorBar','\u2959':'LeftDownVectorBar','\u295A':'LeftTeeVector','\u295B':'RightTeeVector','\u295C':'RightUpTeeVector','\u295D':'RightDownTeeVector','\u295E':'DownLeftTeeVector','\u295F':'DownRightTeeVector','\u2960':'LeftUpTeeVector','\u2961':'LeftDownTeeVector','\u2962':'lHar','\u2963':'uHar','\u2964':'rHar','\u2965':'dHar','\u2966':'luruhar','\u2967':'ldrdhar','\u2968':'ruluhar','\u2969':'rdldhar','\u296A':'lharul','\u296B':'llhard','\u296C':'rharul','\u296D':'lrhard','\u296E':'udhar','\u296F':'duhar','\u2970':'RoundImplies','\u2971':'erarr','\u2972':'simrarr','\u2973':'larrsim','\u2974':'rarrsim','\u2975':'rarrap','\u2976':'ltlarr','\u2978':'gtrarr','\u2979':'subrarr','\u297B':'suplarr','\u297C':'lfisht','\u297D':'rfisht','\u297E':'ufisht','\u297F':'dfisht','\u299A':'vzigzag','\u299C':'vangrt','\u299D':'angrtvbd','\u29A4':'ange','\u29A5':'range','\u29A6':'dwangle','\u29A7':'uwangle','\u29A8':'angmsdaa','\u29A9':'angmsdab','\u29AA':'angmsdac','\u29AB':'angmsdad','\u29AC':'angmsdae','\u29AD':'angmsdaf','\u29AE':'angmsdag','\u29AF':'angmsdah','\u29B0':'bemptyv','\u29B1':'demptyv','\u29B2':'cemptyv','\u29B3':'raemptyv','\u29B4':'laemptyv','\u29B5':'ohbar','\u29B6':'omid','\u29B7':'opar','\u29B9':'operp','\u29BB':'olcross','\u29BC':'odsold','\u29BE':'olcir','\u29BF':'ofcir','\u29C0':'olt','\u29C1':'ogt','\u29C2':'cirscir','\u29C3':'cirE','\u29C4':'solb','\u29C5':'bsolb','\u29C9':'boxbox','\u29CD':'trisb','\u29CE':'rtriltri','\u29CF':'LeftTriangleBar','\u29CF\u0338':'NotLeftTriangleBar','\u29D0':'RightTriangleBar','\u29D0\u0338':'NotRightTriangleBar','\u29DC':'iinfin','\u29DD':'infintie','\u29DE':'nvinfin','\u29E3':'eparsl','\u29E4':'smeparsl','\u29E5':'eqvparsl','\u29EB':'lozf','\u29F4':'RuleDelayed','\u29F6':'dsol','\u2A00':'xodot','\u2A01':'xoplus','\u2A02':'xotime','\u2A04':'xuplus','\u2A06':'xsqcup','\u2A0D':'fpartint','\u2A10':'cirfnint','\u2A11':'awint','\u2A12':'rppolint','\u2A13':'scpolint','\u2A14':'npolint','\u2A15':'pointint','\u2A16':'quatint','\u2A17':'intlarhk','\u2A22':'pluscir','\u2A23':'plusacir','\u2A24':'simplus','\u2A25':'plusdu','\u2A26':'plussim','\u2A27':'plustwo','\u2A29':'mcomma','\u2A2A':'minusdu','\u2A2D':'loplus','\u2A2E':'roplus','\u2A2F':'Cross','\u2A30':'timesd','\u2A31':'timesbar','\u2A33':'smashp','\u2A34':'lotimes','\u2A35':'rotimes','\u2A36':'otimesas','\u2A37':'Otimes','\u2A38':'odiv','\u2A39':'triplus','\u2A3A':'triminus','\u2A3B':'tritime','\u2A3C':'iprod','\u2A3F':'amalg','\u2A40':'capdot','\u2A42':'ncup','\u2A43':'ncap','\u2A44':'capand','\u2A45':'cupor','\u2A46':'cupcap','\u2A47':'capcup','\u2A48':'cupbrcap','\u2A49':'capbrcup','\u2A4A':'cupcup','\u2A4B':'capcap','\u2A4C':'ccups','\u2A4D':'ccaps','\u2A50':'ccupssm','\u2A53':'And','\u2A54':'Or','\u2A55':'andand','\u2A56':'oror','\u2A57':'orslope','\u2A58':'andslope','\u2A5A':'andv','\u2A5B':'orv','\u2A5C':'andd','\u2A5D':'ord','\u2A5F':'wedbar','\u2A66':'sdote','\u2A6A':'simdot','\u2A6D':'congdot','\u2A6D\u0338':'ncongdot','\u2A6E':'easter','\u2A6F':'apacir','\u2A70':'apE','\u2A70\u0338':'napE','\u2A71':'eplus','\u2A72':'pluse','\u2A73':'Esim','\u2A77':'eDDot','\u2A78':'equivDD','\u2A79':'ltcir','\u2A7A':'gtcir','\u2A7B':'ltquest','\u2A7C':'gtquest','\u2A7D':'les','\u2A7D\u0338':'nles','\u2A7E':'ges','\u2A7E\u0338':'nges','\u2A7F':'lesdot','\u2A80':'gesdot','\u2A81':'lesdoto','\u2A82':'gesdoto','\u2A83':'lesdotor','\u2A84':'gesdotol','\u2A85':'lap','\u2A86':'gap','\u2A87':'lne','\u2A88':'gne','\u2A89':'lnap','\u2A8A':'gnap','\u2A8B':'lEg','\u2A8C':'gEl','\u2A8D':'lsime','\u2A8E':'gsime','\u2A8F':'lsimg','\u2A90':'gsiml','\u2A91':'lgE','\u2A92':'glE','\u2A93':'lesges','\u2A94':'gesles','\u2A95':'els','\u2A96':'egs','\u2A97':'elsdot','\u2A98':'egsdot','\u2A99':'el','\u2A9A':'eg','\u2A9D':'siml','\u2A9E':'simg','\u2A9F':'simlE','\u2AA0':'simgE','\u2AA1':'LessLess','\u2AA1\u0338':'NotNestedLessLess','\u2AA2':'GreaterGreater','\u2AA2\u0338':'NotNestedGreaterGreater','\u2AA4':'glj','\u2AA5':'gla','\u2AA6':'ltcc','\u2AA7':'gtcc','\u2AA8':'lescc','\u2AA9':'gescc','\u2AAA':'smt','\u2AAB':'lat','\u2AAC':'smte','\u2AAC\uFE00':'smtes','\u2AAD':'late','\u2AAD\uFE00':'lates','\u2AAE':'bumpE','\u2AAF':'pre','\u2AAF\u0338':'npre','\u2AB0':'sce','\u2AB0\u0338':'nsce','\u2AB3':'prE','\u2AB4':'scE','\u2AB5':'prnE','\u2AB6':'scnE','\u2AB7':'prap','\u2AB8':'scap','\u2AB9':'prnap','\u2ABA':'scnap','\u2ABB':'Pr','\u2ABC':'Sc','\u2ABD':'subdot','\u2ABE':'supdot','\u2ABF':'subplus','\u2AC0':'supplus','\u2AC1':'submult','\u2AC2':'supmult','\u2AC3':'subedot','\u2AC4':'supedot','\u2AC5':'subE','\u2AC5\u0338':'nsubE','\u2AC6':'supE','\u2AC6\u0338':'nsupE','\u2AC7':'subsim','\u2AC8':'supsim','\u2ACB\uFE00':'vsubnE','\u2ACB':'subnE','\u2ACC\uFE00':'vsupnE','\u2ACC':'supnE','\u2ACF':'csub','\u2AD0':'csup','\u2AD1':'csube','\u2AD2':'csupe','\u2AD3':'subsup','\u2AD4':'supsub','\u2AD5':'subsub','\u2AD6':'supsup','\u2AD7':'suphsub','\u2AD8':'supdsub','\u2AD9':'forkv','\u2ADA':'topfork','\u2ADB':'mlcp','\u2AE4':'Dashv','\u2AE6':'Vdashl','\u2AE7':'Barv','\u2AE8':'vBar','\u2AE9':'vBarv','\u2AEB':'Vbar','\u2AEC':'Not','\u2AED':'bNot','\u2AEE':'rnmid','\u2AEF':'cirmid','\u2AF0':'midcir','\u2AF1':'topcir','\u2AF2':'nhpar','\u2AF3':'parsim','\u2AFD':'parsl','\u2AFD\u20E5':'nparsl','\u266D':'flat','\u266E':'natur','\u266F':'sharp','\xA4':'curren','\xA2':'cent','$':'dollar','\xA3':'pound','\xA5':'yen','\u20AC':'euro','\xB9':'sup1','\xBD':'half','\u2153':'frac13','\xBC':'frac14','\u2155':'frac15','\u2159':'frac16','\u215B':'frac18','\xB2':'sup2','\u2154':'frac23','\u2156':'frac25','\xB3':'sup3','\xBE':'frac34','\u2157':'frac35','\u215C':'frac38','\u2158':'frac45','\u215A':'frac56','\u215D':'frac58','\u215E':'frac78','\uD835\uDCB6':'ascr','\uD835\uDD52':'aopf','\uD835\uDD1E':'afr','\uD835\uDD38':'Aopf','\uD835\uDD04':'Afr','\uD835\uDC9C':'Ascr','\xAA':'ordf','\xE1':'aacute','\xC1':'Aacute','\xE0':'agrave','\xC0':'Agrave','\u0103':'abreve','\u0102':'Abreve','\xE2':'acirc','\xC2':'Acirc','\xE5':'aring','\xC5':'angst','\xE4':'auml','\xC4':'Auml','\xE3':'atilde','\xC3':'Atilde','\u0105':'aogon','\u0104':'Aogon','\u0101':'amacr','\u0100':'Amacr','\xE6':'aelig','\xC6':'AElig','\uD835\uDCB7':'bscr','\uD835\uDD53':'bopf','\uD835\uDD1F':'bfr','\uD835\uDD39':'Bopf','\u212C':'Bscr','\uD835\uDD05':'Bfr','\uD835\uDD20':'cfr','\uD835\uDCB8':'cscr','\uD835\uDD54':'copf','\u212D':'Cfr','\uD835\uDC9E':'Cscr','\u2102':'Copf','\u0107':'cacute','\u0106':'Cacute','\u0109':'ccirc','\u0108':'Ccirc','\u010D':'ccaron','\u010C':'Ccaron','\u010B':'cdot','\u010A':'Cdot','\xE7':'ccedil','\xC7':'Ccedil','\u2105':'incare','\uD835\uDD21':'dfr','\u2146':'dd','\uD835\uDD55':'dopf','\uD835\uDCB9':'dscr','\uD835\uDC9F':'Dscr','\uD835\uDD07':'Dfr','\u2145':'DD','\uD835\uDD3B':'Dopf','\u010F':'dcaron','\u010E':'Dcaron','\u0111':'dstrok','\u0110':'Dstrok','\xF0':'eth','\xD0':'ETH','\u2147':'ee','\u212F':'escr','\uD835\uDD22':'efr','\uD835\uDD56':'eopf','\u2130':'Escr','\uD835\uDD08':'Efr','\uD835\uDD3C':'Eopf','\xE9':'eacute','\xC9':'Eacute','\xE8':'egrave','\xC8':'Egrave','\xEA':'ecirc','\xCA':'Ecirc','\u011B':'ecaron','\u011A':'Ecaron','\xEB':'euml','\xCB':'Euml','\u0117':'edot','\u0116':'Edot','\u0119':'eogon','\u0118':'Eogon','\u0113':'emacr','\u0112':'Emacr','\uD835\uDD23':'ffr','\uD835\uDD57':'fopf','\uD835\uDCBB':'fscr','\uD835\uDD09':'Ffr','\uD835\uDD3D':'Fopf','\u2131':'Fscr','\uFB00':'fflig','\uFB03':'ffilig','\uFB04':'ffllig','\uFB01':'filig','fj':'fjlig','\uFB02':'fllig','\u0192':'fnof','\u210A':'gscr','\uD835\uDD58':'gopf','\uD835\uDD24':'gfr','\uD835\uDCA2':'Gscr','\uD835\uDD3E':'Gopf','\uD835\uDD0A':'Gfr','\u01F5':'gacute','\u011F':'gbreve','\u011E':'Gbreve','\u011D':'gcirc','\u011C':'Gcirc','\u0121':'gdot','\u0120':'Gdot','\u0122':'Gcedil','\uD835\uDD25':'hfr','\u210E':'planckh','\uD835\uDCBD':'hscr','\uD835\uDD59':'hopf','\u210B':'Hscr','\u210C':'Hfr','\u210D':'Hopf','\u0125':'hcirc','\u0124':'Hcirc','\u210F':'hbar','\u0127':'hstrok','\u0126':'Hstrok','\uD835\uDD5A':'iopf','\uD835\uDD26':'ifr','\uD835\uDCBE':'iscr','\u2148':'ii','\uD835\uDD40':'Iopf','\u2110':'Iscr','\u2111':'Im','\xED':'iacute','\xCD':'Iacute','\xEC':'igrave','\xCC':'Igrave','\xEE':'icirc','\xCE':'Icirc','\xEF':'iuml','\xCF':'Iuml','\u0129':'itilde','\u0128':'Itilde','\u0130':'Idot','\u012F':'iogon','\u012E':'Iogon','\u012B':'imacr','\u012A':'Imacr','\u0133':'ijlig','\u0132':'IJlig','\u0131':'imath','\uD835\uDCBF':'jscr','\uD835\uDD5B':'jopf','\uD835\uDD27':'jfr','\uD835\uDCA5':'Jscr','\uD835\uDD0D':'Jfr','\uD835\uDD41':'Jopf','\u0135':'jcirc','\u0134':'Jcirc','\u0237':'jmath','\uD835\uDD5C':'kopf','\uD835\uDCC0':'kscr','\uD835\uDD28':'kfr','\uD835\uDCA6':'Kscr','\uD835\uDD42':'Kopf','\uD835\uDD0E':'Kfr','\u0137':'kcedil','\u0136':'Kcedil','\uD835\uDD29':'lfr','\uD835\uDCC1':'lscr','\u2113':'ell','\uD835\uDD5D':'lopf','\u2112':'Lscr','\uD835\uDD0F':'Lfr','\uD835\uDD43':'Lopf','\u013A':'lacute','\u0139':'Lacute','\u013E':'lcaron','\u013D':'Lcaron','\u013C':'lcedil','\u013B':'Lcedil','\u0142':'lstrok','\u0141':'Lstrok','\u0140':'lmidot','\u013F':'Lmidot','\uD835\uDD2A':'mfr','\uD835\uDD5E':'mopf','\uD835\uDCC2':'mscr','\uD835\uDD10':'Mfr','\uD835\uDD44':'Mopf','\u2133':'Mscr','\uD835\uDD2B':'nfr','\uD835\uDD5F':'nopf','\uD835\uDCC3':'nscr','\u2115':'Nopf','\uD835\uDCA9':'Nscr','\uD835\uDD11':'Nfr','\u0144':'nacute','\u0143':'Nacute','\u0148':'ncaron','\u0147':'Ncaron','\xF1':'ntilde','\xD1':'Ntilde','\u0146':'ncedil','\u0145':'Ncedil','\u2116':'numero','\u014B':'eng','\u014A':'ENG','\uD835\uDD60':'oopf','\uD835\uDD2C':'ofr','\u2134':'oscr','\uD835\uDCAA':'Oscr','\uD835\uDD12':'Ofr','\uD835\uDD46':'Oopf','\xBA':'ordm','\xF3':'oacute','\xD3':'Oacute','\xF2':'ograve','\xD2':'Ograve','\xF4':'ocirc','\xD4':'Ocirc','\xF6':'ouml','\xD6':'Ouml','\u0151':'odblac','\u0150':'Odblac','\xF5':'otilde','\xD5':'Otilde','\xF8':'oslash','\xD8':'Oslash','\u014D':'omacr','\u014C':'Omacr','\u0153':'oelig','\u0152':'OElig','\uD835\uDD2D':'pfr','\uD835\uDCC5':'pscr','\uD835\uDD61':'popf','\u2119':'Popf','\uD835\uDD13':'Pfr','\uD835\uDCAB':'Pscr','\uD835\uDD62':'qopf','\uD835\uDD2E':'qfr','\uD835\uDCC6':'qscr','\uD835\uDCAC':'Qscr','\uD835\uDD14':'Qfr','\u211A':'Qopf','\u0138':'kgreen','\uD835\uDD2F':'rfr','\uD835\uDD63':'ropf','\uD835\uDCC7':'rscr','\u211B':'Rscr','\u211C':'Re','\u211D':'Ropf','\u0155':'racute','\u0154':'Racute','\u0159':'rcaron','\u0158':'Rcaron','\u0157':'rcedil','\u0156':'Rcedil','\uD835\uDD64':'sopf','\uD835\uDCC8':'sscr','\uD835\uDD30':'sfr','\uD835\uDD4A':'Sopf','\uD835\uDD16':'Sfr','\uD835\uDCAE':'Sscr','\u24C8':'oS','\u015B':'sacute','\u015A':'Sacute','\u015D':'scirc','\u015C':'Scirc','\u0161':'scaron','\u0160':'Scaron','\u015F':'scedil','\u015E':'Scedil','\xDF':'szlig','\uD835\uDD31':'tfr','\uD835\uDCC9':'tscr','\uD835\uDD65':'topf','\uD835\uDCAF':'Tscr','\uD835\uDD17':'Tfr','\uD835\uDD4B':'Topf','\u0165':'tcaron','\u0164':'Tcaron','\u0163':'tcedil','\u0162':'Tcedil','\u2122':'trade','\u0167':'tstrok','\u0166':'Tstrok','\uD835\uDCCA':'uscr','\uD835\uDD66':'uopf','\uD835\uDD32':'ufr','\uD835\uDD4C':'Uopf','\uD835\uDD18':'Ufr','\uD835\uDCB0':'Uscr','\xFA':'uacute','\xDA':'Uacute','\xF9':'ugrave','\xD9':'Ugrave','\u016D':'ubreve','\u016C':'Ubreve','\xFB':'ucirc','\xDB':'Ucirc','\u016F':'uring','\u016E':'Uring','\xFC':'uuml','\xDC':'Uuml','\u0171':'udblac','\u0170':'Udblac','\u0169':'utilde','\u0168':'Utilde','\u0173':'uogon','\u0172':'Uogon','\u016B':'umacr','\u016A':'Umacr','\uD835\uDD33':'vfr','\uD835\uDD67':'vopf','\uD835\uDCCB':'vscr','\uD835\uDD19':'Vfr','\uD835\uDD4D':'Vopf','\uD835\uDCB1':'Vscr','\uD835\uDD68':'wopf','\uD835\uDCCC':'wscr','\uD835\uDD34':'wfr','\uD835\uDCB2':'Wscr','\uD835\uDD4E':'Wopf','\uD835\uDD1A':'Wfr','\u0175':'wcirc','\u0174':'Wcirc','\uD835\uDD35':'xfr','\uD835\uDCCD':'xscr','\uD835\uDD69':'xopf','\uD835\uDD4F':'Xopf','\uD835\uDD1B':'Xfr','\uD835\uDCB3':'Xscr','\uD835\uDD36':'yfr','\uD835\uDCCE':'yscr','\uD835\uDD6A':'yopf','\uD835\uDCB4':'Yscr','\uD835\uDD1C':'Yfr','\uD835\uDD50':'Yopf','\xFD':'yacute','\xDD':'Yacute','\u0177':'ycirc','\u0176':'Ycirc','\xFF':'yuml','\u0178':'Yuml','\uD835\uDCCF':'zscr','\uD835\uDD37':'zfr','\uD835\uDD6B':'zopf','\u2128':'Zfr','\u2124':'Zopf','\uD835\uDCB5':'Zscr','\u017A':'zacute','\u0179':'Zacute','\u017E':'zcaron','\u017D':'Zcaron','\u017C':'zdot','\u017B':'Zdot','\u01B5':'imped','\xFE':'thorn','\xDE':'THORN','\u0149':'napos','\u03B1':'alpha','\u0391':'Alpha','\u03B2':'beta','\u0392':'Beta','\u03B3':'gamma','\u0393':'Gamma','\u03B4':'delta','\u0394':'Delta','\u03B5':'epsi','\u03F5':'epsiv','\u0395':'Epsilon','\u03DD':'gammad','\u03DC':'Gammad','\u03B6':'zeta','\u0396':'Zeta','\u03B7':'eta','\u0397':'Eta','\u03B8':'theta','\u03D1':'thetav','\u0398':'Theta','\u03B9':'iota','\u0399':'Iota','\u03BA':'kappa','\u03F0':'kappav','\u039A':'Kappa','\u03BB':'lambda','\u039B':'Lambda','\u03BC':'mu','\xB5':'micro','\u039C':'Mu','\u03BD':'nu','\u039D':'Nu','\u03BE':'xi','\u039E':'Xi','\u03BF':'omicron','\u039F':'Omicron','\u03C0':'pi','\u03D6':'piv','\u03A0':'Pi','\u03C1':'rho','\u03F1':'rhov','\u03A1':'Rho','\u03C3':'sigma','\u03A3':'Sigma','\u03C2':'sigmaf','\u03C4':'tau','\u03A4':'Tau','\u03C5':'upsi','\u03A5':'Upsilon','\u03D2':'Upsi','\u03C6':'phi','\u03D5':'phiv','\u03A6':'Phi','\u03C7':'chi','\u03A7':'Chi','\u03C8':'psi','\u03A8':'Psi','\u03C9':'omega','\u03A9':'ohm','\u0430':'acy','\u0410':'Acy','\u0431':'bcy','\u0411':'Bcy','\u0432':'vcy','\u0412':'Vcy','\u0433':'gcy','\u0413':'Gcy','\u0453':'gjcy','\u0403':'GJcy','\u0434':'dcy','\u0414':'Dcy','\u0452':'djcy','\u0402':'DJcy','\u0435':'iecy','\u0415':'IEcy','\u0451':'iocy','\u0401':'IOcy','\u0454':'jukcy','\u0404':'Jukcy','\u0436':'zhcy','\u0416':'ZHcy','\u0437':'zcy','\u0417':'Zcy','\u0455':'dscy','\u0405':'DScy','\u0438':'icy','\u0418':'Icy','\u0456':'iukcy','\u0406':'Iukcy','\u0457':'yicy','\u0407':'YIcy','\u0439':'jcy','\u0419':'Jcy','\u0458':'jsercy','\u0408':'Jsercy','\u043A':'kcy','\u041A':'Kcy','\u045C':'kjcy','\u040C':'KJcy','\u043B':'lcy','\u041B':'Lcy','\u0459':'ljcy','\u0409':'LJcy','\u043C':'mcy','\u041C':'Mcy','\u043D':'ncy','\u041D':'Ncy','\u045A':'njcy','\u040A':'NJcy','\u043E':'ocy','\u041E':'Ocy','\u043F':'pcy','\u041F':'Pcy','\u0440':'rcy','\u0420':'Rcy','\u0441':'scy','\u0421':'Scy','\u0442':'tcy','\u0422':'Tcy','\u045B':'tshcy','\u040B':'TSHcy','\u0443':'ucy','\u0423':'Ucy','\u045E':'ubrcy','\u040E':'Ubrcy','\u0444':'fcy','\u0424':'Fcy','\u0445':'khcy','\u0425':'KHcy','\u0446':'tscy','\u0426':'TScy','\u0447':'chcy','\u0427':'CHcy','\u045F':'dzcy','\u040F':'DZcy','\u0448':'shcy','\u0428':'SHcy','\u0449':'shchcy','\u0429':'SHCHcy','\u044A':'hardcy','\u042A':'HARDcy','\u044B':'ycy','\u042B':'Ycy','\u044C':'softcy','\u042C':'SOFTcy','\u044D':'ecy','\u042D':'Ecy','\u044E':'yucy','\u042E':'YUcy','\u044F':'yacy','\u042F':'YAcy','\u2135':'aleph','\u2136':'beth','\u2137':'gimel','\u2138':'daleth'}; + + var regexEscape = /["&'<>`]/g; + var escapeMap = { + '"': '"', + '&': '&', + '\'': ''', + '<': '<', + // See https://mathiasbynens.be/notes/ambiguous-ampersands: in HTML, the + // following is not strictly necessary unless it’s part of a tag or an + // unquoted attribute value. We’re only escaping it to support those + // situations, and for XML support. + '>': '>', + // In Internet Explorer ≤ 8, the backtick character can be used + // to break out of (un)quoted attribute values or HTML comments. + // See http://html5sec.org/#102, http://html5sec.org/#108, and + // http://html5sec.org/#133. + '`': '`' + }; + + var regexInvalidEntity = /&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/; + var regexInvalidRawCodePoint = /[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/; + var regexDecode = /&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g; + var decodeMap = {'aacute':'\xE1','Aacute':'\xC1','abreve':'\u0103','Abreve':'\u0102','ac':'\u223E','acd':'\u223F','acE':'\u223E\u0333','acirc':'\xE2','Acirc':'\xC2','acute':'\xB4','acy':'\u0430','Acy':'\u0410','aelig':'\xE6','AElig':'\xC6','af':'\u2061','afr':'\uD835\uDD1E','Afr':'\uD835\uDD04','agrave':'\xE0','Agrave':'\xC0','alefsym':'\u2135','aleph':'\u2135','alpha':'\u03B1','Alpha':'\u0391','amacr':'\u0101','Amacr':'\u0100','amalg':'\u2A3F','amp':'&','AMP':'&','and':'\u2227','And':'\u2A53','andand':'\u2A55','andd':'\u2A5C','andslope':'\u2A58','andv':'\u2A5A','ang':'\u2220','ange':'\u29A4','angle':'\u2220','angmsd':'\u2221','angmsdaa':'\u29A8','angmsdab':'\u29A9','angmsdac':'\u29AA','angmsdad':'\u29AB','angmsdae':'\u29AC','angmsdaf':'\u29AD','angmsdag':'\u29AE','angmsdah':'\u29AF','angrt':'\u221F','angrtvb':'\u22BE','angrtvbd':'\u299D','angsph':'\u2222','angst':'\xC5','angzarr':'\u237C','aogon':'\u0105','Aogon':'\u0104','aopf':'\uD835\uDD52','Aopf':'\uD835\uDD38','ap':'\u2248','apacir':'\u2A6F','ape':'\u224A','apE':'\u2A70','apid':'\u224B','apos':'\'','ApplyFunction':'\u2061','approx':'\u2248','approxeq':'\u224A','aring':'\xE5','Aring':'\xC5','ascr':'\uD835\uDCB6','Ascr':'\uD835\uDC9C','Assign':'\u2254','ast':'*','asymp':'\u2248','asympeq':'\u224D','atilde':'\xE3','Atilde':'\xC3','auml':'\xE4','Auml':'\xC4','awconint':'\u2233','awint':'\u2A11','backcong':'\u224C','backepsilon':'\u03F6','backprime':'\u2035','backsim':'\u223D','backsimeq':'\u22CD','Backslash':'\u2216','Barv':'\u2AE7','barvee':'\u22BD','barwed':'\u2305','Barwed':'\u2306','barwedge':'\u2305','bbrk':'\u23B5','bbrktbrk':'\u23B6','bcong':'\u224C','bcy':'\u0431','Bcy':'\u0411','bdquo':'\u201E','becaus':'\u2235','because':'\u2235','Because':'\u2235','bemptyv':'\u29B0','bepsi':'\u03F6','bernou':'\u212C','Bernoullis':'\u212C','beta':'\u03B2','Beta':'\u0392','beth':'\u2136','between':'\u226C','bfr':'\uD835\uDD1F','Bfr':'\uD835\uDD05','bigcap':'\u22C2','bigcirc':'\u25EF','bigcup':'\u22C3','bigodot':'\u2A00','bigoplus':'\u2A01','bigotimes':'\u2A02','bigsqcup':'\u2A06','bigstar':'\u2605','bigtriangledown':'\u25BD','bigtriangleup':'\u25B3','biguplus':'\u2A04','bigvee':'\u22C1','bigwedge':'\u22C0','bkarow':'\u290D','blacklozenge':'\u29EB','blacksquare':'\u25AA','blacktriangle':'\u25B4','blacktriangledown':'\u25BE','blacktriangleleft':'\u25C2','blacktriangleright':'\u25B8','blank':'\u2423','blk12':'\u2592','blk14':'\u2591','blk34':'\u2593','block':'\u2588','bne':'=\u20E5','bnequiv':'\u2261\u20E5','bnot':'\u2310','bNot':'\u2AED','bopf':'\uD835\uDD53','Bopf':'\uD835\uDD39','bot':'\u22A5','bottom':'\u22A5','bowtie':'\u22C8','boxbox':'\u29C9','boxdl':'\u2510','boxdL':'\u2555','boxDl':'\u2556','boxDL':'\u2557','boxdr':'\u250C','boxdR':'\u2552','boxDr':'\u2553','boxDR':'\u2554','boxh':'\u2500','boxH':'\u2550','boxhd':'\u252C','boxhD':'\u2565','boxHd':'\u2564','boxHD':'\u2566','boxhu':'\u2534','boxhU':'\u2568','boxHu':'\u2567','boxHU':'\u2569','boxminus':'\u229F','boxplus':'\u229E','boxtimes':'\u22A0','boxul':'\u2518','boxuL':'\u255B','boxUl':'\u255C','boxUL':'\u255D','boxur':'\u2514','boxuR':'\u2558','boxUr':'\u2559','boxUR':'\u255A','boxv':'\u2502','boxV':'\u2551','boxvh':'\u253C','boxvH':'\u256A','boxVh':'\u256B','boxVH':'\u256C','boxvl':'\u2524','boxvL':'\u2561','boxVl':'\u2562','boxVL':'\u2563','boxvr':'\u251C','boxvR':'\u255E','boxVr':'\u255F','boxVR':'\u2560','bprime':'\u2035','breve':'\u02D8','Breve':'\u02D8','brvbar':'\xA6','bscr':'\uD835\uDCB7','Bscr':'\u212C','bsemi':'\u204F','bsim':'\u223D','bsime':'\u22CD','bsol':'\\','bsolb':'\u29C5','bsolhsub':'\u27C8','bull':'\u2022','bullet':'\u2022','bump':'\u224E','bumpe':'\u224F','bumpE':'\u2AAE','bumpeq':'\u224F','Bumpeq':'\u224E','cacute':'\u0107','Cacute':'\u0106','cap':'\u2229','Cap':'\u22D2','capand':'\u2A44','capbrcup':'\u2A49','capcap':'\u2A4B','capcup':'\u2A47','capdot':'\u2A40','CapitalDifferentialD':'\u2145','caps':'\u2229\uFE00','caret':'\u2041','caron':'\u02C7','Cayleys':'\u212D','ccaps':'\u2A4D','ccaron':'\u010D','Ccaron':'\u010C','ccedil':'\xE7','Ccedil':'\xC7','ccirc':'\u0109','Ccirc':'\u0108','Cconint':'\u2230','ccups':'\u2A4C','ccupssm':'\u2A50','cdot':'\u010B','Cdot':'\u010A','cedil':'\xB8','Cedilla':'\xB8','cemptyv':'\u29B2','cent':'\xA2','centerdot':'\xB7','CenterDot':'\xB7','cfr':'\uD835\uDD20','Cfr':'\u212D','chcy':'\u0447','CHcy':'\u0427','check':'\u2713','checkmark':'\u2713','chi':'\u03C7','Chi':'\u03A7','cir':'\u25CB','circ':'\u02C6','circeq':'\u2257','circlearrowleft':'\u21BA','circlearrowright':'\u21BB','circledast':'\u229B','circledcirc':'\u229A','circleddash':'\u229D','CircleDot':'\u2299','circledR':'\xAE','circledS':'\u24C8','CircleMinus':'\u2296','CirclePlus':'\u2295','CircleTimes':'\u2297','cire':'\u2257','cirE':'\u29C3','cirfnint':'\u2A10','cirmid':'\u2AEF','cirscir':'\u29C2','ClockwiseContourIntegral':'\u2232','CloseCurlyDoubleQuote':'\u201D','CloseCurlyQuote':'\u2019','clubs':'\u2663','clubsuit':'\u2663','colon':':','Colon':'\u2237','colone':'\u2254','Colone':'\u2A74','coloneq':'\u2254','comma':',','commat':'@','comp':'\u2201','compfn':'\u2218','complement':'\u2201','complexes':'\u2102','cong':'\u2245','congdot':'\u2A6D','Congruent':'\u2261','conint':'\u222E','Conint':'\u222F','ContourIntegral':'\u222E','copf':'\uD835\uDD54','Copf':'\u2102','coprod':'\u2210','Coproduct':'\u2210','copy':'\xA9','COPY':'\xA9','copysr':'\u2117','CounterClockwiseContourIntegral':'\u2233','crarr':'\u21B5','cross':'\u2717','Cross':'\u2A2F','cscr':'\uD835\uDCB8','Cscr':'\uD835\uDC9E','csub':'\u2ACF','csube':'\u2AD1','csup':'\u2AD0','csupe':'\u2AD2','ctdot':'\u22EF','cudarrl':'\u2938','cudarrr':'\u2935','cuepr':'\u22DE','cuesc':'\u22DF','cularr':'\u21B6','cularrp':'\u293D','cup':'\u222A','Cup':'\u22D3','cupbrcap':'\u2A48','cupcap':'\u2A46','CupCap':'\u224D','cupcup':'\u2A4A','cupdot':'\u228D','cupor':'\u2A45','cups':'\u222A\uFE00','curarr':'\u21B7','curarrm':'\u293C','curlyeqprec':'\u22DE','curlyeqsucc':'\u22DF','curlyvee':'\u22CE','curlywedge':'\u22CF','curren':'\xA4','curvearrowleft':'\u21B6','curvearrowright':'\u21B7','cuvee':'\u22CE','cuwed':'\u22CF','cwconint':'\u2232','cwint':'\u2231','cylcty':'\u232D','dagger':'\u2020','Dagger':'\u2021','daleth':'\u2138','darr':'\u2193','dArr':'\u21D3','Darr':'\u21A1','dash':'\u2010','dashv':'\u22A3','Dashv':'\u2AE4','dbkarow':'\u290F','dblac':'\u02DD','dcaron':'\u010F','Dcaron':'\u010E','dcy':'\u0434','Dcy':'\u0414','dd':'\u2146','DD':'\u2145','ddagger':'\u2021','ddarr':'\u21CA','DDotrahd':'\u2911','ddotseq':'\u2A77','deg':'\xB0','Del':'\u2207','delta':'\u03B4','Delta':'\u0394','demptyv':'\u29B1','dfisht':'\u297F','dfr':'\uD835\uDD21','Dfr':'\uD835\uDD07','dHar':'\u2965','dharl':'\u21C3','dharr':'\u21C2','DiacriticalAcute':'\xB4','DiacriticalDot':'\u02D9','DiacriticalDoubleAcute':'\u02DD','DiacriticalGrave':'`','DiacriticalTilde':'\u02DC','diam':'\u22C4','diamond':'\u22C4','Diamond':'\u22C4','diamondsuit':'\u2666','diams':'\u2666','die':'\xA8','DifferentialD':'\u2146','digamma':'\u03DD','disin':'\u22F2','div':'\xF7','divide':'\xF7','divideontimes':'\u22C7','divonx':'\u22C7','djcy':'\u0452','DJcy':'\u0402','dlcorn':'\u231E','dlcrop':'\u230D','dollar':'$','dopf':'\uD835\uDD55','Dopf':'\uD835\uDD3B','dot':'\u02D9','Dot':'\xA8','DotDot':'\u20DC','doteq':'\u2250','doteqdot':'\u2251','DotEqual':'\u2250','dotminus':'\u2238','dotplus':'\u2214','dotsquare':'\u22A1','doublebarwedge':'\u2306','DoubleContourIntegral':'\u222F','DoubleDot':'\xA8','DoubleDownArrow':'\u21D3','DoubleLeftArrow':'\u21D0','DoubleLeftRightArrow':'\u21D4','DoubleLeftTee':'\u2AE4','DoubleLongLeftArrow':'\u27F8','DoubleLongLeftRightArrow':'\u27FA','DoubleLongRightArrow':'\u27F9','DoubleRightArrow':'\u21D2','DoubleRightTee':'\u22A8','DoubleUpArrow':'\u21D1','DoubleUpDownArrow':'\u21D5','DoubleVerticalBar':'\u2225','downarrow':'\u2193','Downarrow':'\u21D3','DownArrow':'\u2193','DownArrowBar':'\u2913','DownArrowUpArrow':'\u21F5','DownBreve':'\u0311','downdownarrows':'\u21CA','downharpoonleft':'\u21C3','downharpoonright':'\u21C2','DownLeftRightVector':'\u2950','DownLeftTeeVector':'\u295E','DownLeftVector':'\u21BD','DownLeftVectorBar':'\u2956','DownRightTeeVector':'\u295F','DownRightVector':'\u21C1','DownRightVectorBar':'\u2957','DownTee':'\u22A4','DownTeeArrow':'\u21A7','drbkarow':'\u2910','drcorn':'\u231F','drcrop':'\u230C','dscr':'\uD835\uDCB9','Dscr':'\uD835\uDC9F','dscy':'\u0455','DScy':'\u0405','dsol':'\u29F6','dstrok':'\u0111','Dstrok':'\u0110','dtdot':'\u22F1','dtri':'\u25BF','dtrif':'\u25BE','duarr':'\u21F5','duhar':'\u296F','dwangle':'\u29A6','dzcy':'\u045F','DZcy':'\u040F','dzigrarr':'\u27FF','eacute':'\xE9','Eacute':'\xC9','easter':'\u2A6E','ecaron':'\u011B','Ecaron':'\u011A','ecir':'\u2256','ecirc':'\xEA','Ecirc':'\xCA','ecolon':'\u2255','ecy':'\u044D','Ecy':'\u042D','eDDot':'\u2A77','edot':'\u0117','eDot':'\u2251','Edot':'\u0116','ee':'\u2147','efDot':'\u2252','efr':'\uD835\uDD22','Efr':'\uD835\uDD08','eg':'\u2A9A','egrave':'\xE8','Egrave':'\xC8','egs':'\u2A96','egsdot':'\u2A98','el':'\u2A99','Element':'\u2208','elinters':'\u23E7','ell':'\u2113','els':'\u2A95','elsdot':'\u2A97','emacr':'\u0113','Emacr':'\u0112','empty':'\u2205','emptyset':'\u2205','EmptySmallSquare':'\u25FB','emptyv':'\u2205','EmptyVerySmallSquare':'\u25AB','emsp':'\u2003','emsp13':'\u2004','emsp14':'\u2005','eng':'\u014B','ENG':'\u014A','ensp':'\u2002','eogon':'\u0119','Eogon':'\u0118','eopf':'\uD835\uDD56','Eopf':'\uD835\uDD3C','epar':'\u22D5','eparsl':'\u29E3','eplus':'\u2A71','epsi':'\u03B5','epsilon':'\u03B5','Epsilon':'\u0395','epsiv':'\u03F5','eqcirc':'\u2256','eqcolon':'\u2255','eqsim':'\u2242','eqslantgtr':'\u2A96','eqslantless':'\u2A95','Equal':'\u2A75','equals':'=','EqualTilde':'\u2242','equest':'\u225F','Equilibrium':'\u21CC','equiv':'\u2261','equivDD':'\u2A78','eqvparsl':'\u29E5','erarr':'\u2971','erDot':'\u2253','escr':'\u212F','Escr':'\u2130','esdot':'\u2250','esim':'\u2242','Esim':'\u2A73','eta':'\u03B7','Eta':'\u0397','eth':'\xF0','ETH':'\xD0','euml':'\xEB','Euml':'\xCB','euro':'\u20AC','excl':'!','exist':'\u2203','Exists':'\u2203','expectation':'\u2130','exponentiale':'\u2147','ExponentialE':'\u2147','fallingdotseq':'\u2252','fcy':'\u0444','Fcy':'\u0424','female':'\u2640','ffilig':'\uFB03','fflig':'\uFB00','ffllig':'\uFB04','ffr':'\uD835\uDD23','Ffr':'\uD835\uDD09','filig':'\uFB01','FilledSmallSquare':'\u25FC','FilledVerySmallSquare':'\u25AA','fjlig':'fj','flat':'\u266D','fllig':'\uFB02','fltns':'\u25B1','fnof':'\u0192','fopf':'\uD835\uDD57','Fopf':'\uD835\uDD3D','forall':'\u2200','ForAll':'\u2200','fork':'\u22D4','forkv':'\u2AD9','Fouriertrf':'\u2131','fpartint':'\u2A0D','frac12':'\xBD','frac13':'\u2153','frac14':'\xBC','frac15':'\u2155','frac16':'\u2159','frac18':'\u215B','frac23':'\u2154','frac25':'\u2156','frac34':'\xBE','frac35':'\u2157','frac38':'\u215C','frac45':'\u2158','frac56':'\u215A','frac58':'\u215D','frac78':'\u215E','frasl':'\u2044','frown':'\u2322','fscr':'\uD835\uDCBB','Fscr':'\u2131','gacute':'\u01F5','gamma':'\u03B3','Gamma':'\u0393','gammad':'\u03DD','Gammad':'\u03DC','gap':'\u2A86','gbreve':'\u011F','Gbreve':'\u011E','Gcedil':'\u0122','gcirc':'\u011D','Gcirc':'\u011C','gcy':'\u0433','Gcy':'\u0413','gdot':'\u0121','Gdot':'\u0120','ge':'\u2265','gE':'\u2267','gel':'\u22DB','gEl':'\u2A8C','geq':'\u2265','geqq':'\u2267','geqslant':'\u2A7E','ges':'\u2A7E','gescc':'\u2AA9','gesdot':'\u2A80','gesdoto':'\u2A82','gesdotol':'\u2A84','gesl':'\u22DB\uFE00','gesles':'\u2A94','gfr':'\uD835\uDD24','Gfr':'\uD835\uDD0A','gg':'\u226B','Gg':'\u22D9','ggg':'\u22D9','gimel':'\u2137','gjcy':'\u0453','GJcy':'\u0403','gl':'\u2277','gla':'\u2AA5','glE':'\u2A92','glj':'\u2AA4','gnap':'\u2A8A','gnapprox':'\u2A8A','gne':'\u2A88','gnE':'\u2269','gneq':'\u2A88','gneqq':'\u2269','gnsim':'\u22E7','gopf':'\uD835\uDD58','Gopf':'\uD835\uDD3E','grave':'`','GreaterEqual':'\u2265','GreaterEqualLess':'\u22DB','GreaterFullEqual':'\u2267','GreaterGreater':'\u2AA2','GreaterLess':'\u2277','GreaterSlantEqual':'\u2A7E','GreaterTilde':'\u2273','gscr':'\u210A','Gscr':'\uD835\uDCA2','gsim':'\u2273','gsime':'\u2A8E','gsiml':'\u2A90','gt':'>','Gt':'\u226B','GT':'>','gtcc':'\u2AA7','gtcir':'\u2A7A','gtdot':'\u22D7','gtlPar':'\u2995','gtquest':'\u2A7C','gtrapprox':'\u2A86','gtrarr':'\u2978','gtrdot':'\u22D7','gtreqless':'\u22DB','gtreqqless':'\u2A8C','gtrless':'\u2277','gtrsim':'\u2273','gvertneqq':'\u2269\uFE00','gvnE':'\u2269\uFE00','Hacek':'\u02C7','hairsp':'\u200A','half':'\xBD','hamilt':'\u210B','hardcy':'\u044A','HARDcy':'\u042A','harr':'\u2194','hArr':'\u21D4','harrcir':'\u2948','harrw':'\u21AD','Hat':'^','hbar':'\u210F','hcirc':'\u0125','Hcirc':'\u0124','hearts':'\u2665','heartsuit':'\u2665','hellip':'\u2026','hercon':'\u22B9','hfr':'\uD835\uDD25','Hfr':'\u210C','HilbertSpace':'\u210B','hksearow':'\u2925','hkswarow':'\u2926','hoarr':'\u21FF','homtht':'\u223B','hookleftarrow':'\u21A9','hookrightarrow':'\u21AA','hopf':'\uD835\uDD59','Hopf':'\u210D','horbar':'\u2015','HorizontalLine':'\u2500','hscr':'\uD835\uDCBD','Hscr':'\u210B','hslash':'\u210F','hstrok':'\u0127','Hstrok':'\u0126','HumpDownHump':'\u224E','HumpEqual':'\u224F','hybull':'\u2043','hyphen':'\u2010','iacute':'\xED','Iacute':'\xCD','ic':'\u2063','icirc':'\xEE','Icirc':'\xCE','icy':'\u0438','Icy':'\u0418','Idot':'\u0130','iecy':'\u0435','IEcy':'\u0415','iexcl':'\xA1','iff':'\u21D4','ifr':'\uD835\uDD26','Ifr':'\u2111','igrave':'\xEC','Igrave':'\xCC','ii':'\u2148','iiiint':'\u2A0C','iiint':'\u222D','iinfin':'\u29DC','iiota':'\u2129','ijlig':'\u0133','IJlig':'\u0132','Im':'\u2111','imacr':'\u012B','Imacr':'\u012A','image':'\u2111','ImaginaryI':'\u2148','imagline':'\u2110','imagpart':'\u2111','imath':'\u0131','imof':'\u22B7','imped':'\u01B5','Implies':'\u21D2','in':'\u2208','incare':'\u2105','infin':'\u221E','infintie':'\u29DD','inodot':'\u0131','int':'\u222B','Int':'\u222C','intcal':'\u22BA','integers':'\u2124','Integral':'\u222B','intercal':'\u22BA','Intersection':'\u22C2','intlarhk':'\u2A17','intprod':'\u2A3C','InvisibleComma':'\u2063','InvisibleTimes':'\u2062','iocy':'\u0451','IOcy':'\u0401','iogon':'\u012F','Iogon':'\u012E','iopf':'\uD835\uDD5A','Iopf':'\uD835\uDD40','iota':'\u03B9','Iota':'\u0399','iprod':'\u2A3C','iquest':'\xBF','iscr':'\uD835\uDCBE','Iscr':'\u2110','isin':'\u2208','isindot':'\u22F5','isinE':'\u22F9','isins':'\u22F4','isinsv':'\u22F3','isinv':'\u2208','it':'\u2062','itilde':'\u0129','Itilde':'\u0128','iukcy':'\u0456','Iukcy':'\u0406','iuml':'\xEF','Iuml':'\xCF','jcirc':'\u0135','Jcirc':'\u0134','jcy':'\u0439','Jcy':'\u0419','jfr':'\uD835\uDD27','Jfr':'\uD835\uDD0D','jmath':'\u0237','jopf':'\uD835\uDD5B','Jopf':'\uD835\uDD41','jscr':'\uD835\uDCBF','Jscr':'\uD835\uDCA5','jsercy':'\u0458','Jsercy':'\u0408','jukcy':'\u0454','Jukcy':'\u0404','kappa':'\u03BA','Kappa':'\u039A','kappav':'\u03F0','kcedil':'\u0137','Kcedil':'\u0136','kcy':'\u043A','Kcy':'\u041A','kfr':'\uD835\uDD28','Kfr':'\uD835\uDD0E','kgreen':'\u0138','khcy':'\u0445','KHcy':'\u0425','kjcy':'\u045C','KJcy':'\u040C','kopf':'\uD835\uDD5C','Kopf':'\uD835\uDD42','kscr':'\uD835\uDCC0','Kscr':'\uD835\uDCA6','lAarr':'\u21DA','lacute':'\u013A','Lacute':'\u0139','laemptyv':'\u29B4','lagran':'\u2112','lambda':'\u03BB','Lambda':'\u039B','lang':'\u27E8','Lang':'\u27EA','langd':'\u2991','langle':'\u27E8','lap':'\u2A85','Laplacetrf':'\u2112','laquo':'\xAB','larr':'\u2190','lArr':'\u21D0','Larr':'\u219E','larrb':'\u21E4','larrbfs':'\u291F','larrfs':'\u291D','larrhk':'\u21A9','larrlp':'\u21AB','larrpl':'\u2939','larrsim':'\u2973','larrtl':'\u21A2','lat':'\u2AAB','latail':'\u2919','lAtail':'\u291B','late':'\u2AAD','lates':'\u2AAD\uFE00','lbarr':'\u290C','lBarr':'\u290E','lbbrk':'\u2772','lbrace':'{','lbrack':'[','lbrke':'\u298B','lbrksld':'\u298F','lbrkslu':'\u298D','lcaron':'\u013E','Lcaron':'\u013D','lcedil':'\u013C','Lcedil':'\u013B','lceil':'\u2308','lcub':'{','lcy':'\u043B','Lcy':'\u041B','ldca':'\u2936','ldquo':'\u201C','ldquor':'\u201E','ldrdhar':'\u2967','ldrushar':'\u294B','ldsh':'\u21B2','le':'\u2264','lE':'\u2266','LeftAngleBracket':'\u27E8','leftarrow':'\u2190','Leftarrow':'\u21D0','LeftArrow':'\u2190','LeftArrowBar':'\u21E4','LeftArrowRightArrow':'\u21C6','leftarrowtail':'\u21A2','LeftCeiling':'\u2308','LeftDoubleBracket':'\u27E6','LeftDownTeeVector':'\u2961','LeftDownVector':'\u21C3','LeftDownVectorBar':'\u2959','LeftFloor':'\u230A','leftharpoondown':'\u21BD','leftharpoonup':'\u21BC','leftleftarrows':'\u21C7','leftrightarrow':'\u2194','Leftrightarrow':'\u21D4','LeftRightArrow':'\u2194','leftrightarrows':'\u21C6','leftrightharpoons':'\u21CB','leftrightsquigarrow':'\u21AD','LeftRightVector':'\u294E','LeftTee':'\u22A3','LeftTeeArrow':'\u21A4','LeftTeeVector':'\u295A','leftthreetimes':'\u22CB','LeftTriangle':'\u22B2','LeftTriangleBar':'\u29CF','LeftTriangleEqual':'\u22B4','LeftUpDownVector':'\u2951','LeftUpTeeVector':'\u2960','LeftUpVector':'\u21BF','LeftUpVectorBar':'\u2958','LeftVector':'\u21BC','LeftVectorBar':'\u2952','leg':'\u22DA','lEg':'\u2A8B','leq':'\u2264','leqq':'\u2266','leqslant':'\u2A7D','les':'\u2A7D','lescc':'\u2AA8','lesdot':'\u2A7F','lesdoto':'\u2A81','lesdotor':'\u2A83','lesg':'\u22DA\uFE00','lesges':'\u2A93','lessapprox':'\u2A85','lessdot':'\u22D6','lesseqgtr':'\u22DA','lesseqqgtr':'\u2A8B','LessEqualGreater':'\u22DA','LessFullEqual':'\u2266','LessGreater':'\u2276','lessgtr':'\u2276','LessLess':'\u2AA1','lesssim':'\u2272','LessSlantEqual':'\u2A7D','LessTilde':'\u2272','lfisht':'\u297C','lfloor':'\u230A','lfr':'\uD835\uDD29','Lfr':'\uD835\uDD0F','lg':'\u2276','lgE':'\u2A91','lHar':'\u2962','lhard':'\u21BD','lharu':'\u21BC','lharul':'\u296A','lhblk':'\u2584','ljcy':'\u0459','LJcy':'\u0409','ll':'\u226A','Ll':'\u22D8','llarr':'\u21C7','llcorner':'\u231E','Lleftarrow':'\u21DA','llhard':'\u296B','lltri':'\u25FA','lmidot':'\u0140','Lmidot':'\u013F','lmoust':'\u23B0','lmoustache':'\u23B0','lnap':'\u2A89','lnapprox':'\u2A89','lne':'\u2A87','lnE':'\u2268','lneq':'\u2A87','lneqq':'\u2268','lnsim':'\u22E6','loang':'\u27EC','loarr':'\u21FD','lobrk':'\u27E6','longleftarrow':'\u27F5','Longleftarrow':'\u27F8','LongLeftArrow':'\u27F5','longleftrightarrow':'\u27F7','Longleftrightarrow':'\u27FA','LongLeftRightArrow':'\u27F7','longmapsto':'\u27FC','longrightarrow':'\u27F6','Longrightarrow':'\u27F9','LongRightArrow':'\u27F6','looparrowleft':'\u21AB','looparrowright':'\u21AC','lopar':'\u2985','lopf':'\uD835\uDD5D','Lopf':'\uD835\uDD43','loplus':'\u2A2D','lotimes':'\u2A34','lowast':'\u2217','lowbar':'_','LowerLeftArrow':'\u2199','LowerRightArrow':'\u2198','loz':'\u25CA','lozenge':'\u25CA','lozf':'\u29EB','lpar':'(','lparlt':'\u2993','lrarr':'\u21C6','lrcorner':'\u231F','lrhar':'\u21CB','lrhard':'\u296D','lrm':'\u200E','lrtri':'\u22BF','lsaquo':'\u2039','lscr':'\uD835\uDCC1','Lscr':'\u2112','lsh':'\u21B0','Lsh':'\u21B0','lsim':'\u2272','lsime':'\u2A8D','lsimg':'\u2A8F','lsqb':'[','lsquo':'\u2018','lsquor':'\u201A','lstrok':'\u0142','Lstrok':'\u0141','lt':'<','Lt':'\u226A','LT':'<','ltcc':'\u2AA6','ltcir':'\u2A79','ltdot':'\u22D6','lthree':'\u22CB','ltimes':'\u22C9','ltlarr':'\u2976','ltquest':'\u2A7B','ltri':'\u25C3','ltrie':'\u22B4','ltrif':'\u25C2','ltrPar':'\u2996','lurdshar':'\u294A','luruhar':'\u2966','lvertneqq':'\u2268\uFE00','lvnE':'\u2268\uFE00','macr':'\xAF','male':'\u2642','malt':'\u2720','maltese':'\u2720','map':'\u21A6','Map':'\u2905','mapsto':'\u21A6','mapstodown':'\u21A7','mapstoleft':'\u21A4','mapstoup':'\u21A5','marker':'\u25AE','mcomma':'\u2A29','mcy':'\u043C','Mcy':'\u041C','mdash':'\u2014','mDDot':'\u223A','measuredangle':'\u2221','MediumSpace':'\u205F','Mellintrf':'\u2133','mfr':'\uD835\uDD2A','Mfr':'\uD835\uDD10','mho':'\u2127','micro':'\xB5','mid':'\u2223','midast':'*','midcir':'\u2AF0','middot':'\xB7','minus':'\u2212','minusb':'\u229F','minusd':'\u2238','minusdu':'\u2A2A','MinusPlus':'\u2213','mlcp':'\u2ADB','mldr':'\u2026','mnplus':'\u2213','models':'\u22A7','mopf':'\uD835\uDD5E','Mopf':'\uD835\uDD44','mp':'\u2213','mscr':'\uD835\uDCC2','Mscr':'\u2133','mstpos':'\u223E','mu':'\u03BC','Mu':'\u039C','multimap':'\u22B8','mumap':'\u22B8','nabla':'\u2207','nacute':'\u0144','Nacute':'\u0143','nang':'\u2220\u20D2','nap':'\u2249','napE':'\u2A70\u0338','napid':'\u224B\u0338','napos':'\u0149','napprox':'\u2249','natur':'\u266E','natural':'\u266E','naturals':'\u2115','nbsp':'\xA0','nbump':'\u224E\u0338','nbumpe':'\u224F\u0338','ncap':'\u2A43','ncaron':'\u0148','Ncaron':'\u0147','ncedil':'\u0146','Ncedil':'\u0145','ncong':'\u2247','ncongdot':'\u2A6D\u0338','ncup':'\u2A42','ncy':'\u043D','Ncy':'\u041D','ndash':'\u2013','ne':'\u2260','nearhk':'\u2924','nearr':'\u2197','neArr':'\u21D7','nearrow':'\u2197','nedot':'\u2250\u0338','NegativeMediumSpace':'\u200B','NegativeThickSpace':'\u200B','NegativeThinSpace':'\u200B','NegativeVeryThinSpace':'\u200B','nequiv':'\u2262','nesear':'\u2928','nesim':'\u2242\u0338','NestedGreaterGreater':'\u226B','NestedLessLess':'\u226A','NewLine':'\n','nexist':'\u2204','nexists':'\u2204','nfr':'\uD835\uDD2B','Nfr':'\uD835\uDD11','nge':'\u2271','ngE':'\u2267\u0338','ngeq':'\u2271','ngeqq':'\u2267\u0338','ngeqslant':'\u2A7E\u0338','nges':'\u2A7E\u0338','nGg':'\u22D9\u0338','ngsim':'\u2275','ngt':'\u226F','nGt':'\u226B\u20D2','ngtr':'\u226F','nGtv':'\u226B\u0338','nharr':'\u21AE','nhArr':'\u21CE','nhpar':'\u2AF2','ni':'\u220B','nis':'\u22FC','nisd':'\u22FA','niv':'\u220B','njcy':'\u045A','NJcy':'\u040A','nlarr':'\u219A','nlArr':'\u21CD','nldr':'\u2025','nle':'\u2270','nlE':'\u2266\u0338','nleftarrow':'\u219A','nLeftarrow':'\u21CD','nleftrightarrow':'\u21AE','nLeftrightarrow':'\u21CE','nleq':'\u2270','nleqq':'\u2266\u0338','nleqslant':'\u2A7D\u0338','nles':'\u2A7D\u0338','nless':'\u226E','nLl':'\u22D8\u0338','nlsim':'\u2274','nlt':'\u226E','nLt':'\u226A\u20D2','nltri':'\u22EA','nltrie':'\u22EC','nLtv':'\u226A\u0338','nmid':'\u2224','NoBreak':'\u2060','NonBreakingSpace':'\xA0','nopf':'\uD835\uDD5F','Nopf':'\u2115','not':'\xAC','Not':'\u2AEC','NotCongruent':'\u2262','NotCupCap':'\u226D','NotDoubleVerticalBar':'\u2226','NotElement':'\u2209','NotEqual':'\u2260','NotEqualTilde':'\u2242\u0338','NotExists':'\u2204','NotGreater':'\u226F','NotGreaterEqual':'\u2271','NotGreaterFullEqual':'\u2267\u0338','NotGreaterGreater':'\u226B\u0338','NotGreaterLess':'\u2279','NotGreaterSlantEqual':'\u2A7E\u0338','NotGreaterTilde':'\u2275','NotHumpDownHump':'\u224E\u0338','NotHumpEqual':'\u224F\u0338','notin':'\u2209','notindot':'\u22F5\u0338','notinE':'\u22F9\u0338','notinva':'\u2209','notinvb':'\u22F7','notinvc':'\u22F6','NotLeftTriangle':'\u22EA','NotLeftTriangleBar':'\u29CF\u0338','NotLeftTriangleEqual':'\u22EC','NotLess':'\u226E','NotLessEqual':'\u2270','NotLessGreater':'\u2278','NotLessLess':'\u226A\u0338','NotLessSlantEqual':'\u2A7D\u0338','NotLessTilde':'\u2274','NotNestedGreaterGreater':'\u2AA2\u0338','NotNestedLessLess':'\u2AA1\u0338','notni':'\u220C','notniva':'\u220C','notnivb':'\u22FE','notnivc':'\u22FD','NotPrecedes':'\u2280','NotPrecedesEqual':'\u2AAF\u0338','NotPrecedesSlantEqual':'\u22E0','NotReverseElement':'\u220C','NotRightTriangle':'\u22EB','NotRightTriangleBar':'\u29D0\u0338','NotRightTriangleEqual':'\u22ED','NotSquareSubset':'\u228F\u0338','NotSquareSubsetEqual':'\u22E2','NotSquareSuperset':'\u2290\u0338','NotSquareSupersetEqual':'\u22E3','NotSubset':'\u2282\u20D2','NotSubsetEqual':'\u2288','NotSucceeds':'\u2281','NotSucceedsEqual':'\u2AB0\u0338','NotSucceedsSlantEqual':'\u22E1','NotSucceedsTilde':'\u227F\u0338','NotSuperset':'\u2283\u20D2','NotSupersetEqual':'\u2289','NotTilde':'\u2241','NotTildeEqual':'\u2244','NotTildeFullEqual':'\u2247','NotTildeTilde':'\u2249','NotVerticalBar':'\u2224','npar':'\u2226','nparallel':'\u2226','nparsl':'\u2AFD\u20E5','npart':'\u2202\u0338','npolint':'\u2A14','npr':'\u2280','nprcue':'\u22E0','npre':'\u2AAF\u0338','nprec':'\u2280','npreceq':'\u2AAF\u0338','nrarr':'\u219B','nrArr':'\u21CF','nrarrc':'\u2933\u0338','nrarrw':'\u219D\u0338','nrightarrow':'\u219B','nRightarrow':'\u21CF','nrtri':'\u22EB','nrtrie':'\u22ED','nsc':'\u2281','nsccue':'\u22E1','nsce':'\u2AB0\u0338','nscr':'\uD835\uDCC3','Nscr':'\uD835\uDCA9','nshortmid':'\u2224','nshortparallel':'\u2226','nsim':'\u2241','nsime':'\u2244','nsimeq':'\u2244','nsmid':'\u2224','nspar':'\u2226','nsqsube':'\u22E2','nsqsupe':'\u22E3','nsub':'\u2284','nsube':'\u2288','nsubE':'\u2AC5\u0338','nsubset':'\u2282\u20D2','nsubseteq':'\u2288','nsubseteqq':'\u2AC5\u0338','nsucc':'\u2281','nsucceq':'\u2AB0\u0338','nsup':'\u2285','nsupe':'\u2289','nsupE':'\u2AC6\u0338','nsupset':'\u2283\u20D2','nsupseteq':'\u2289','nsupseteqq':'\u2AC6\u0338','ntgl':'\u2279','ntilde':'\xF1','Ntilde':'\xD1','ntlg':'\u2278','ntriangleleft':'\u22EA','ntrianglelefteq':'\u22EC','ntriangleright':'\u22EB','ntrianglerighteq':'\u22ED','nu':'\u03BD','Nu':'\u039D','num':'#','numero':'\u2116','numsp':'\u2007','nvap':'\u224D\u20D2','nvdash':'\u22AC','nvDash':'\u22AD','nVdash':'\u22AE','nVDash':'\u22AF','nvge':'\u2265\u20D2','nvgt':'>\u20D2','nvHarr':'\u2904','nvinfin':'\u29DE','nvlArr':'\u2902','nvle':'\u2264\u20D2','nvlt':'<\u20D2','nvltrie':'\u22B4\u20D2','nvrArr':'\u2903','nvrtrie':'\u22B5\u20D2','nvsim':'\u223C\u20D2','nwarhk':'\u2923','nwarr':'\u2196','nwArr':'\u21D6','nwarrow':'\u2196','nwnear':'\u2927','oacute':'\xF3','Oacute':'\xD3','oast':'\u229B','ocir':'\u229A','ocirc':'\xF4','Ocirc':'\xD4','ocy':'\u043E','Ocy':'\u041E','odash':'\u229D','odblac':'\u0151','Odblac':'\u0150','odiv':'\u2A38','odot':'\u2299','odsold':'\u29BC','oelig':'\u0153','OElig':'\u0152','ofcir':'\u29BF','ofr':'\uD835\uDD2C','Ofr':'\uD835\uDD12','ogon':'\u02DB','ograve':'\xF2','Ograve':'\xD2','ogt':'\u29C1','ohbar':'\u29B5','ohm':'\u03A9','oint':'\u222E','olarr':'\u21BA','olcir':'\u29BE','olcross':'\u29BB','oline':'\u203E','olt':'\u29C0','omacr':'\u014D','Omacr':'\u014C','omega':'\u03C9','Omega':'\u03A9','omicron':'\u03BF','Omicron':'\u039F','omid':'\u29B6','ominus':'\u2296','oopf':'\uD835\uDD60','Oopf':'\uD835\uDD46','opar':'\u29B7','OpenCurlyDoubleQuote':'\u201C','OpenCurlyQuote':'\u2018','operp':'\u29B9','oplus':'\u2295','or':'\u2228','Or':'\u2A54','orarr':'\u21BB','ord':'\u2A5D','order':'\u2134','orderof':'\u2134','ordf':'\xAA','ordm':'\xBA','origof':'\u22B6','oror':'\u2A56','orslope':'\u2A57','orv':'\u2A5B','oS':'\u24C8','oscr':'\u2134','Oscr':'\uD835\uDCAA','oslash':'\xF8','Oslash':'\xD8','osol':'\u2298','otilde':'\xF5','Otilde':'\xD5','otimes':'\u2297','Otimes':'\u2A37','otimesas':'\u2A36','ouml':'\xF6','Ouml':'\xD6','ovbar':'\u233D','OverBar':'\u203E','OverBrace':'\u23DE','OverBracket':'\u23B4','OverParenthesis':'\u23DC','par':'\u2225','para':'\xB6','parallel':'\u2225','parsim':'\u2AF3','parsl':'\u2AFD','part':'\u2202','PartialD':'\u2202','pcy':'\u043F','Pcy':'\u041F','percnt':'%','period':'.','permil':'\u2030','perp':'\u22A5','pertenk':'\u2031','pfr':'\uD835\uDD2D','Pfr':'\uD835\uDD13','phi':'\u03C6','Phi':'\u03A6','phiv':'\u03D5','phmmat':'\u2133','phone':'\u260E','pi':'\u03C0','Pi':'\u03A0','pitchfork':'\u22D4','piv':'\u03D6','planck':'\u210F','planckh':'\u210E','plankv':'\u210F','plus':'+','plusacir':'\u2A23','plusb':'\u229E','pluscir':'\u2A22','plusdo':'\u2214','plusdu':'\u2A25','pluse':'\u2A72','PlusMinus':'\xB1','plusmn':'\xB1','plussim':'\u2A26','plustwo':'\u2A27','pm':'\xB1','Poincareplane':'\u210C','pointint':'\u2A15','popf':'\uD835\uDD61','Popf':'\u2119','pound':'\xA3','pr':'\u227A','Pr':'\u2ABB','prap':'\u2AB7','prcue':'\u227C','pre':'\u2AAF','prE':'\u2AB3','prec':'\u227A','precapprox':'\u2AB7','preccurlyeq':'\u227C','Precedes':'\u227A','PrecedesEqual':'\u2AAF','PrecedesSlantEqual':'\u227C','PrecedesTilde':'\u227E','preceq':'\u2AAF','precnapprox':'\u2AB9','precneqq':'\u2AB5','precnsim':'\u22E8','precsim':'\u227E','prime':'\u2032','Prime':'\u2033','primes':'\u2119','prnap':'\u2AB9','prnE':'\u2AB5','prnsim':'\u22E8','prod':'\u220F','Product':'\u220F','profalar':'\u232E','profline':'\u2312','profsurf':'\u2313','prop':'\u221D','Proportion':'\u2237','Proportional':'\u221D','propto':'\u221D','prsim':'\u227E','prurel':'\u22B0','pscr':'\uD835\uDCC5','Pscr':'\uD835\uDCAB','psi':'\u03C8','Psi':'\u03A8','puncsp':'\u2008','qfr':'\uD835\uDD2E','Qfr':'\uD835\uDD14','qint':'\u2A0C','qopf':'\uD835\uDD62','Qopf':'\u211A','qprime':'\u2057','qscr':'\uD835\uDCC6','Qscr':'\uD835\uDCAC','quaternions':'\u210D','quatint':'\u2A16','quest':'?','questeq':'\u225F','quot':'"','QUOT':'"','rAarr':'\u21DB','race':'\u223D\u0331','racute':'\u0155','Racute':'\u0154','radic':'\u221A','raemptyv':'\u29B3','rang':'\u27E9','Rang':'\u27EB','rangd':'\u2992','range':'\u29A5','rangle':'\u27E9','raquo':'\xBB','rarr':'\u2192','rArr':'\u21D2','Rarr':'\u21A0','rarrap':'\u2975','rarrb':'\u21E5','rarrbfs':'\u2920','rarrc':'\u2933','rarrfs':'\u291E','rarrhk':'\u21AA','rarrlp':'\u21AC','rarrpl':'\u2945','rarrsim':'\u2974','rarrtl':'\u21A3','Rarrtl':'\u2916','rarrw':'\u219D','ratail':'\u291A','rAtail':'\u291C','ratio':'\u2236','rationals':'\u211A','rbarr':'\u290D','rBarr':'\u290F','RBarr':'\u2910','rbbrk':'\u2773','rbrace':'}','rbrack':']','rbrke':'\u298C','rbrksld':'\u298E','rbrkslu':'\u2990','rcaron':'\u0159','Rcaron':'\u0158','rcedil':'\u0157','Rcedil':'\u0156','rceil':'\u2309','rcub':'}','rcy':'\u0440','Rcy':'\u0420','rdca':'\u2937','rdldhar':'\u2969','rdquo':'\u201D','rdquor':'\u201D','rdsh':'\u21B3','Re':'\u211C','real':'\u211C','realine':'\u211B','realpart':'\u211C','reals':'\u211D','rect':'\u25AD','reg':'\xAE','REG':'\xAE','ReverseElement':'\u220B','ReverseEquilibrium':'\u21CB','ReverseUpEquilibrium':'\u296F','rfisht':'\u297D','rfloor':'\u230B','rfr':'\uD835\uDD2F','Rfr':'\u211C','rHar':'\u2964','rhard':'\u21C1','rharu':'\u21C0','rharul':'\u296C','rho':'\u03C1','Rho':'\u03A1','rhov':'\u03F1','RightAngleBracket':'\u27E9','rightarrow':'\u2192','Rightarrow':'\u21D2','RightArrow':'\u2192','RightArrowBar':'\u21E5','RightArrowLeftArrow':'\u21C4','rightarrowtail':'\u21A3','RightCeiling':'\u2309','RightDoubleBracket':'\u27E7','RightDownTeeVector':'\u295D','RightDownVector':'\u21C2','RightDownVectorBar':'\u2955','RightFloor':'\u230B','rightharpoondown':'\u21C1','rightharpoonup':'\u21C0','rightleftarrows':'\u21C4','rightleftharpoons':'\u21CC','rightrightarrows':'\u21C9','rightsquigarrow':'\u219D','RightTee':'\u22A2','RightTeeArrow':'\u21A6','RightTeeVector':'\u295B','rightthreetimes':'\u22CC','RightTriangle':'\u22B3','RightTriangleBar':'\u29D0','RightTriangleEqual':'\u22B5','RightUpDownVector':'\u294F','RightUpTeeVector':'\u295C','RightUpVector':'\u21BE','RightUpVectorBar':'\u2954','RightVector':'\u21C0','RightVectorBar':'\u2953','ring':'\u02DA','risingdotseq':'\u2253','rlarr':'\u21C4','rlhar':'\u21CC','rlm':'\u200F','rmoust':'\u23B1','rmoustache':'\u23B1','rnmid':'\u2AEE','roang':'\u27ED','roarr':'\u21FE','robrk':'\u27E7','ropar':'\u2986','ropf':'\uD835\uDD63','Ropf':'\u211D','roplus':'\u2A2E','rotimes':'\u2A35','RoundImplies':'\u2970','rpar':')','rpargt':'\u2994','rppolint':'\u2A12','rrarr':'\u21C9','Rrightarrow':'\u21DB','rsaquo':'\u203A','rscr':'\uD835\uDCC7','Rscr':'\u211B','rsh':'\u21B1','Rsh':'\u21B1','rsqb':']','rsquo':'\u2019','rsquor':'\u2019','rthree':'\u22CC','rtimes':'\u22CA','rtri':'\u25B9','rtrie':'\u22B5','rtrif':'\u25B8','rtriltri':'\u29CE','RuleDelayed':'\u29F4','ruluhar':'\u2968','rx':'\u211E','sacute':'\u015B','Sacute':'\u015A','sbquo':'\u201A','sc':'\u227B','Sc':'\u2ABC','scap':'\u2AB8','scaron':'\u0161','Scaron':'\u0160','sccue':'\u227D','sce':'\u2AB0','scE':'\u2AB4','scedil':'\u015F','Scedil':'\u015E','scirc':'\u015D','Scirc':'\u015C','scnap':'\u2ABA','scnE':'\u2AB6','scnsim':'\u22E9','scpolint':'\u2A13','scsim':'\u227F','scy':'\u0441','Scy':'\u0421','sdot':'\u22C5','sdotb':'\u22A1','sdote':'\u2A66','searhk':'\u2925','searr':'\u2198','seArr':'\u21D8','searrow':'\u2198','sect':'\xA7','semi':';','seswar':'\u2929','setminus':'\u2216','setmn':'\u2216','sext':'\u2736','sfr':'\uD835\uDD30','Sfr':'\uD835\uDD16','sfrown':'\u2322','sharp':'\u266F','shchcy':'\u0449','SHCHcy':'\u0429','shcy':'\u0448','SHcy':'\u0428','ShortDownArrow':'\u2193','ShortLeftArrow':'\u2190','shortmid':'\u2223','shortparallel':'\u2225','ShortRightArrow':'\u2192','ShortUpArrow':'\u2191','shy':'\xAD','sigma':'\u03C3','Sigma':'\u03A3','sigmaf':'\u03C2','sigmav':'\u03C2','sim':'\u223C','simdot':'\u2A6A','sime':'\u2243','simeq':'\u2243','simg':'\u2A9E','simgE':'\u2AA0','siml':'\u2A9D','simlE':'\u2A9F','simne':'\u2246','simplus':'\u2A24','simrarr':'\u2972','slarr':'\u2190','SmallCircle':'\u2218','smallsetminus':'\u2216','smashp':'\u2A33','smeparsl':'\u29E4','smid':'\u2223','smile':'\u2323','smt':'\u2AAA','smte':'\u2AAC','smtes':'\u2AAC\uFE00','softcy':'\u044C','SOFTcy':'\u042C','sol':'/','solb':'\u29C4','solbar':'\u233F','sopf':'\uD835\uDD64','Sopf':'\uD835\uDD4A','spades':'\u2660','spadesuit':'\u2660','spar':'\u2225','sqcap':'\u2293','sqcaps':'\u2293\uFE00','sqcup':'\u2294','sqcups':'\u2294\uFE00','Sqrt':'\u221A','sqsub':'\u228F','sqsube':'\u2291','sqsubset':'\u228F','sqsubseteq':'\u2291','sqsup':'\u2290','sqsupe':'\u2292','sqsupset':'\u2290','sqsupseteq':'\u2292','squ':'\u25A1','square':'\u25A1','Square':'\u25A1','SquareIntersection':'\u2293','SquareSubset':'\u228F','SquareSubsetEqual':'\u2291','SquareSuperset':'\u2290','SquareSupersetEqual':'\u2292','SquareUnion':'\u2294','squarf':'\u25AA','squf':'\u25AA','srarr':'\u2192','sscr':'\uD835\uDCC8','Sscr':'\uD835\uDCAE','ssetmn':'\u2216','ssmile':'\u2323','sstarf':'\u22C6','star':'\u2606','Star':'\u22C6','starf':'\u2605','straightepsilon':'\u03F5','straightphi':'\u03D5','strns':'\xAF','sub':'\u2282','Sub':'\u22D0','subdot':'\u2ABD','sube':'\u2286','subE':'\u2AC5','subedot':'\u2AC3','submult':'\u2AC1','subne':'\u228A','subnE':'\u2ACB','subplus':'\u2ABF','subrarr':'\u2979','subset':'\u2282','Subset':'\u22D0','subseteq':'\u2286','subseteqq':'\u2AC5','SubsetEqual':'\u2286','subsetneq':'\u228A','subsetneqq':'\u2ACB','subsim':'\u2AC7','subsub':'\u2AD5','subsup':'\u2AD3','succ':'\u227B','succapprox':'\u2AB8','succcurlyeq':'\u227D','Succeeds':'\u227B','SucceedsEqual':'\u2AB0','SucceedsSlantEqual':'\u227D','SucceedsTilde':'\u227F','succeq':'\u2AB0','succnapprox':'\u2ABA','succneqq':'\u2AB6','succnsim':'\u22E9','succsim':'\u227F','SuchThat':'\u220B','sum':'\u2211','Sum':'\u2211','sung':'\u266A','sup':'\u2283','Sup':'\u22D1','sup1':'\xB9','sup2':'\xB2','sup3':'\xB3','supdot':'\u2ABE','supdsub':'\u2AD8','supe':'\u2287','supE':'\u2AC6','supedot':'\u2AC4','Superset':'\u2283','SupersetEqual':'\u2287','suphsol':'\u27C9','suphsub':'\u2AD7','suplarr':'\u297B','supmult':'\u2AC2','supne':'\u228B','supnE':'\u2ACC','supplus':'\u2AC0','supset':'\u2283','Supset':'\u22D1','supseteq':'\u2287','supseteqq':'\u2AC6','supsetneq':'\u228B','supsetneqq':'\u2ACC','supsim':'\u2AC8','supsub':'\u2AD4','supsup':'\u2AD6','swarhk':'\u2926','swarr':'\u2199','swArr':'\u21D9','swarrow':'\u2199','swnwar':'\u292A','szlig':'\xDF','Tab':'\t','target':'\u2316','tau':'\u03C4','Tau':'\u03A4','tbrk':'\u23B4','tcaron':'\u0165','Tcaron':'\u0164','tcedil':'\u0163','Tcedil':'\u0162','tcy':'\u0442','Tcy':'\u0422','tdot':'\u20DB','telrec':'\u2315','tfr':'\uD835\uDD31','Tfr':'\uD835\uDD17','there4':'\u2234','therefore':'\u2234','Therefore':'\u2234','theta':'\u03B8','Theta':'\u0398','thetasym':'\u03D1','thetav':'\u03D1','thickapprox':'\u2248','thicksim':'\u223C','ThickSpace':'\u205F\u200A','thinsp':'\u2009','ThinSpace':'\u2009','thkap':'\u2248','thksim':'\u223C','thorn':'\xFE','THORN':'\xDE','tilde':'\u02DC','Tilde':'\u223C','TildeEqual':'\u2243','TildeFullEqual':'\u2245','TildeTilde':'\u2248','times':'\xD7','timesb':'\u22A0','timesbar':'\u2A31','timesd':'\u2A30','tint':'\u222D','toea':'\u2928','top':'\u22A4','topbot':'\u2336','topcir':'\u2AF1','topf':'\uD835\uDD65','Topf':'\uD835\uDD4B','topfork':'\u2ADA','tosa':'\u2929','tprime':'\u2034','trade':'\u2122','TRADE':'\u2122','triangle':'\u25B5','triangledown':'\u25BF','triangleleft':'\u25C3','trianglelefteq':'\u22B4','triangleq':'\u225C','triangleright':'\u25B9','trianglerighteq':'\u22B5','tridot':'\u25EC','trie':'\u225C','triminus':'\u2A3A','TripleDot':'\u20DB','triplus':'\u2A39','trisb':'\u29CD','tritime':'\u2A3B','trpezium':'\u23E2','tscr':'\uD835\uDCC9','Tscr':'\uD835\uDCAF','tscy':'\u0446','TScy':'\u0426','tshcy':'\u045B','TSHcy':'\u040B','tstrok':'\u0167','Tstrok':'\u0166','twixt':'\u226C','twoheadleftarrow':'\u219E','twoheadrightarrow':'\u21A0','uacute':'\xFA','Uacute':'\xDA','uarr':'\u2191','uArr':'\u21D1','Uarr':'\u219F','Uarrocir':'\u2949','ubrcy':'\u045E','Ubrcy':'\u040E','ubreve':'\u016D','Ubreve':'\u016C','ucirc':'\xFB','Ucirc':'\xDB','ucy':'\u0443','Ucy':'\u0423','udarr':'\u21C5','udblac':'\u0171','Udblac':'\u0170','udhar':'\u296E','ufisht':'\u297E','ufr':'\uD835\uDD32','Ufr':'\uD835\uDD18','ugrave':'\xF9','Ugrave':'\xD9','uHar':'\u2963','uharl':'\u21BF','uharr':'\u21BE','uhblk':'\u2580','ulcorn':'\u231C','ulcorner':'\u231C','ulcrop':'\u230F','ultri':'\u25F8','umacr':'\u016B','Umacr':'\u016A','uml':'\xA8','UnderBar':'_','UnderBrace':'\u23DF','UnderBracket':'\u23B5','UnderParenthesis':'\u23DD','Union':'\u22C3','UnionPlus':'\u228E','uogon':'\u0173','Uogon':'\u0172','uopf':'\uD835\uDD66','Uopf':'\uD835\uDD4C','uparrow':'\u2191','Uparrow':'\u21D1','UpArrow':'\u2191','UpArrowBar':'\u2912','UpArrowDownArrow':'\u21C5','updownarrow':'\u2195','Updownarrow':'\u21D5','UpDownArrow':'\u2195','UpEquilibrium':'\u296E','upharpoonleft':'\u21BF','upharpoonright':'\u21BE','uplus':'\u228E','UpperLeftArrow':'\u2196','UpperRightArrow':'\u2197','upsi':'\u03C5','Upsi':'\u03D2','upsih':'\u03D2','upsilon':'\u03C5','Upsilon':'\u03A5','UpTee':'\u22A5','UpTeeArrow':'\u21A5','upuparrows':'\u21C8','urcorn':'\u231D','urcorner':'\u231D','urcrop':'\u230E','uring':'\u016F','Uring':'\u016E','urtri':'\u25F9','uscr':'\uD835\uDCCA','Uscr':'\uD835\uDCB0','utdot':'\u22F0','utilde':'\u0169','Utilde':'\u0168','utri':'\u25B5','utrif':'\u25B4','uuarr':'\u21C8','uuml':'\xFC','Uuml':'\xDC','uwangle':'\u29A7','vangrt':'\u299C','varepsilon':'\u03F5','varkappa':'\u03F0','varnothing':'\u2205','varphi':'\u03D5','varpi':'\u03D6','varpropto':'\u221D','varr':'\u2195','vArr':'\u21D5','varrho':'\u03F1','varsigma':'\u03C2','varsubsetneq':'\u228A\uFE00','varsubsetneqq':'\u2ACB\uFE00','varsupsetneq':'\u228B\uFE00','varsupsetneqq':'\u2ACC\uFE00','vartheta':'\u03D1','vartriangleleft':'\u22B2','vartriangleright':'\u22B3','vBar':'\u2AE8','Vbar':'\u2AEB','vBarv':'\u2AE9','vcy':'\u0432','Vcy':'\u0412','vdash':'\u22A2','vDash':'\u22A8','Vdash':'\u22A9','VDash':'\u22AB','Vdashl':'\u2AE6','vee':'\u2228','Vee':'\u22C1','veebar':'\u22BB','veeeq':'\u225A','vellip':'\u22EE','verbar':'|','Verbar':'\u2016','vert':'|','Vert':'\u2016','VerticalBar':'\u2223','VerticalLine':'|','VerticalSeparator':'\u2758','VerticalTilde':'\u2240','VeryThinSpace':'\u200A','vfr':'\uD835\uDD33','Vfr':'\uD835\uDD19','vltri':'\u22B2','vnsub':'\u2282\u20D2','vnsup':'\u2283\u20D2','vopf':'\uD835\uDD67','Vopf':'\uD835\uDD4D','vprop':'\u221D','vrtri':'\u22B3','vscr':'\uD835\uDCCB','Vscr':'\uD835\uDCB1','vsubne':'\u228A\uFE00','vsubnE':'\u2ACB\uFE00','vsupne':'\u228B\uFE00','vsupnE':'\u2ACC\uFE00','Vvdash':'\u22AA','vzigzag':'\u299A','wcirc':'\u0175','Wcirc':'\u0174','wedbar':'\u2A5F','wedge':'\u2227','Wedge':'\u22C0','wedgeq':'\u2259','weierp':'\u2118','wfr':'\uD835\uDD34','Wfr':'\uD835\uDD1A','wopf':'\uD835\uDD68','Wopf':'\uD835\uDD4E','wp':'\u2118','wr':'\u2240','wreath':'\u2240','wscr':'\uD835\uDCCC','Wscr':'\uD835\uDCB2','xcap':'\u22C2','xcirc':'\u25EF','xcup':'\u22C3','xdtri':'\u25BD','xfr':'\uD835\uDD35','Xfr':'\uD835\uDD1B','xharr':'\u27F7','xhArr':'\u27FA','xi':'\u03BE','Xi':'\u039E','xlarr':'\u27F5','xlArr':'\u27F8','xmap':'\u27FC','xnis':'\u22FB','xodot':'\u2A00','xopf':'\uD835\uDD69','Xopf':'\uD835\uDD4F','xoplus':'\u2A01','xotime':'\u2A02','xrarr':'\u27F6','xrArr':'\u27F9','xscr':'\uD835\uDCCD','Xscr':'\uD835\uDCB3','xsqcup':'\u2A06','xuplus':'\u2A04','xutri':'\u25B3','xvee':'\u22C1','xwedge':'\u22C0','yacute':'\xFD','Yacute':'\xDD','yacy':'\u044F','YAcy':'\u042F','ycirc':'\u0177','Ycirc':'\u0176','ycy':'\u044B','Ycy':'\u042B','yen':'\xA5','yfr':'\uD835\uDD36','Yfr':'\uD835\uDD1C','yicy':'\u0457','YIcy':'\u0407','yopf':'\uD835\uDD6A','Yopf':'\uD835\uDD50','yscr':'\uD835\uDCCE','Yscr':'\uD835\uDCB4','yucy':'\u044E','YUcy':'\u042E','yuml':'\xFF','Yuml':'\u0178','zacute':'\u017A','Zacute':'\u0179','zcaron':'\u017E','Zcaron':'\u017D','zcy':'\u0437','Zcy':'\u0417','zdot':'\u017C','Zdot':'\u017B','zeetrf':'\u2128','ZeroWidthSpace':'\u200B','zeta':'\u03B6','Zeta':'\u0396','zfr':'\uD835\uDD37','Zfr':'\u2128','zhcy':'\u0436','ZHcy':'\u0416','zigrarr':'\u21DD','zopf':'\uD835\uDD6B','Zopf':'\u2124','zscr':'\uD835\uDCCF','Zscr':'\uD835\uDCB5','zwj':'\u200D','zwnj':'\u200C'}; + var decodeMapLegacy = {'aacute':'\xE1','Aacute':'\xC1','acirc':'\xE2','Acirc':'\xC2','acute':'\xB4','aelig':'\xE6','AElig':'\xC6','agrave':'\xE0','Agrave':'\xC0','amp':'&','AMP':'&','aring':'\xE5','Aring':'\xC5','atilde':'\xE3','Atilde':'\xC3','auml':'\xE4','Auml':'\xC4','brvbar':'\xA6','ccedil':'\xE7','Ccedil':'\xC7','cedil':'\xB8','cent':'\xA2','copy':'\xA9','COPY':'\xA9','curren':'\xA4','deg':'\xB0','divide':'\xF7','eacute':'\xE9','Eacute':'\xC9','ecirc':'\xEA','Ecirc':'\xCA','egrave':'\xE8','Egrave':'\xC8','eth':'\xF0','ETH':'\xD0','euml':'\xEB','Euml':'\xCB','frac12':'\xBD','frac14':'\xBC','frac34':'\xBE','gt':'>','GT':'>','iacute':'\xED','Iacute':'\xCD','icirc':'\xEE','Icirc':'\xCE','iexcl':'\xA1','igrave':'\xEC','Igrave':'\xCC','iquest':'\xBF','iuml':'\xEF','Iuml':'\xCF','laquo':'\xAB','lt':'<','LT':'<','macr':'\xAF','micro':'\xB5','middot':'\xB7','nbsp':'\xA0','not':'\xAC','ntilde':'\xF1','Ntilde':'\xD1','oacute':'\xF3','Oacute':'\xD3','ocirc':'\xF4','Ocirc':'\xD4','ograve':'\xF2','Ograve':'\xD2','ordf':'\xAA','ordm':'\xBA','oslash':'\xF8','Oslash':'\xD8','otilde':'\xF5','Otilde':'\xD5','ouml':'\xF6','Ouml':'\xD6','para':'\xB6','plusmn':'\xB1','pound':'\xA3','quot':'"','QUOT':'"','raquo':'\xBB','reg':'\xAE','REG':'\xAE','sect':'\xA7','shy':'\xAD','sup1':'\xB9','sup2':'\xB2','sup3':'\xB3','szlig':'\xDF','thorn':'\xFE','THORN':'\xDE','times':'\xD7','uacute':'\xFA','Uacute':'\xDA','ucirc':'\xFB','Ucirc':'\xDB','ugrave':'\xF9','Ugrave':'\xD9','uml':'\xA8','uuml':'\xFC','Uuml':'\xDC','yacute':'\xFD','Yacute':'\xDD','yen':'\xA5','yuml':'\xFF'}; + var decodeMapNumeric = {'0':'\uFFFD','128':'\u20AC','130':'\u201A','131':'\u0192','132':'\u201E','133':'\u2026','134':'\u2020','135':'\u2021','136':'\u02C6','137':'\u2030','138':'\u0160','139':'\u2039','140':'\u0152','142':'\u017D','145':'\u2018','146':'\u2019','147':'\u201C','148':'\u201D','149':'\u2022','150':'\u2013','151':'\u2014','152':'\u02DC','153':'\u2122','154':'\u0161','155':'\u203A','156':'\u0153','158':'\u017E','159':'\u0178'}; + var invalidReferenceCodePoints = [1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65000,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111]; + + /*--------------------------------------------------------------------------*/ + + var stringFromCharCode = String.fromCharCode; + + var object = {}; + var hasOwnProperty = object.hasOwnProperty; + var has = function(object, propertyName) { + return hasOwnProperty.call(object, propertyName); + }; + + var contains = function(array, value) { + var index = -1; + var length = array.length; + while (++index < length) { + if (array[index] == value) { + return true; + } + } + return false; + }; + + var merge = function(options, defaults) { + if (!options) { + return defaults; + } + var result = {}; + var key; + for (key in defaults) { + // A `hasOwnProperty` check is not needed here, since only recognized + // option names are used anyway. Any others are ignored. + result[key] = has(options, key) ? options[key] : defaults[key]; + } + return result; + }; + + // Modified version of `ucs2encode`; see https://mths.be/punycode. + var codePointToSymbol = function(codePoint, strict) { + var output = ''; + if ((codePoint >= 0xD800 && codePoint <= 0xDFFF) || codePoint > 0x10FFFF) { + // See issue #4: + // “Otherwise, if the number is in the range 0xD800 to 0xDFFF or is + // greater than 0x10FFFF, then this is a parse error. Return a U+FFFD + // REPLACEMENT CHARACTER.†+ if (strict) { + parseError('character reference outside the permissible Unicode range'); + } + return '\uFFFD'; + } + if (has(decodeMapNumeric, codePoint)) { + if (strict) { + parseError('disallowed character reference'); + } + return decodeMapNumeric[codePoint]; + } + if (strict && contains(invalidReferenceCodePoints, codePoint)) { + parseError('disallowed character reference'); + } + if (codePoint > 0xFFFF) { + codePoint -= 0x10000; + output += stringFromCharCode(codePoint >>> 10 & 0x3FF | 0xD800); + codePoint = 0xDC00 | codePoint & 0x3FF; + } + output += stringFromCharCode(codePoint); + return output; + }; + + var hexEscape = function(codePoint) { + return '&#x' + codePoint.toString(16).toUpperCase() + ';'; + }; + + var decEscape = function(codePoint) { + return '&#' + codePoint + ';'; + }; + + var parseError = function(message) { + throw Error('Parse error: ' + message); + }; + + /*--------------------------------------------------------------------------*/ + + var encode = function(string, options) { + options = merge(options, encode.options); + var strict = options.strict; + if (strict && regexInvalidRawCodePoint.test(string)) { + parseError('forbidden code point'); + } + var encodeEverything = options.encodeEverything; + var useNamedReferences = options.useNamedReferences; + var allowUnsafeSymbols = options.allowUnsafeSymbols; + var escapeCodePoint = options.decimal ? decEscape : hexEscape; + + var escapeBmpSymbol = function(symbol) { + return escapeCodePoint(symbol.charCodeAt(0)); + }; + + if (encodeEverything) { + // Encode ASCII symbols. + string = string.replace(regexAsciiWhitelist, function(symbol) { + // Use named references if requested & possible. + if (useNamedReferences && has(encodeMap, symbol)) { + return '&' + encodeMap[symbol] + ';'; + } + return escapeBmpSymbol(symbol); + }); + // Shorten a few escapes that represent two symbols, of which at least one + // is within the ASCII range. + if (useNamedReferences) { + string = string + .replace(/>\u20D2/g, '>⃒') + .replace(/<\u20D2/g, '<⃒') + .replace(/fj/g, 'fj'); + } + // Encode non-ASCII symbols. + if (useNamedReferences) { + // Encode non-ASCII symbols that can be replaced with a named reference. + string = string.replace(regexEncodeNonAscii, function(string) { + // Note: there is no need to check `has(encodeMap, string)` here. + return '&' + encodeMap[string] + ';'; + }); + } + // Note: any remaining non-ASCII symbols are handled outside of the `if`. + } else if (useNamedReferences) { + // Apply named character references. + // Encode `<>"'&` using named character references. + if (!allowUnsafeSymbols) { + string = string.replace(regexEscape, function(string) { + return '&' + encodeMap[string] + ';'; // no need to check `has()` here + }); + } + // Shorten escapes that represent two symbols, of which at least one is + // `<>"'&`. + string = string + .replace(/>\u20D2/g, '>⃒') + .replace(/<\u20D2/g, '<⃒'); + // Encode non-ASCII symbols that can be replaced with a named reference. + string = string.replace(regexEncodeNonAscii, function(string) { + // Note: there is no need to check `has(encodeMap, string)` here. + return '&' + encodeMap[string] + ';'; + }); + } else if (!allowUnsafeSymbols) { + // Encode `<>"'&` using hexadecimal escapes, now that they’re not handled + // using named character references. + string = string.replace(regexEscape, escapeBmpSymbol); + } + return string + // Encode astral symbols. + .replace(regexAstralSymbols, function($0) { + // https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae + var high = $0.charCodeAt(0); + var low = $0.charCodeAt(1); + var codePoint = (high - 0xD800) * 0x400 + low - 0xDC00 + 0x10000; + return escapeCodePoint(codePoint); + }) + // Encode any remaining BMP symbols that are not printable ASCII symbols + // using a hexadecimal escape. + .replace(regexBmpWhitelist, escapeBmpSymbol); + }; + // Expose default options (so they can be overridden globally). + encode.options = { + 'allowUnsafeSymbols': false, + 'encodeEverything': false, + 'strict': false, + 'useNamedReferences': false, + 'decimal' : false + }; + + var decode = function(html, options) { + options = merge(options, decode.options); + var strict = options.strict; + if (strict && regexInvalidEntity.test(html)) { + parseError('malformed character reference'); + } + return html.replace(regexDecode, function($0, $1, $2, $3, $4, $5, $6, $7, $8) { + var codePoint; + var semicolon; + var decDigits; + var hexDigits; + var reference; + var next; + + if ($1) { + reference = $1; + // Note: there is no need to check `has(decodeMap, reference)`. + return decodeMap[reference]; + } + + if ($2) { + // Decode named character references without trailing `;`, e.g. `&`. + // This is only a parse error if it gets converted to `&`, or if it is + // followed by `=` in an attribute context. + reference = $2; + next = $3; + if (next && options.isAttributeValue) { + if (strict && next == '=') { + parseError('`&` did not start a character reference'); + } + return $0; + } else { + if (strict) { + parseError( + 'named character reference was not terminated by a semicolon' + ); + } + // Note: there is no need to check `has(decodeMapLegacy, reference)`. + return decodeMapLegacy[reference] + (next || ''); + } + } + + if ($4) { + // Decode decimal escapes, e.g. `𝌆`. + decDigits = $4; + semicolon = $5; + if (strict && !semicolon) { + parseError('character reference was not terminated by a semicolon'); + } + codePoint = parseInt(decDigits, 10); + return codePointToSymbol(codePoint, strict); + } + + if ($6) { + // Decode hexadecimal escapes, e.g. `𝌆`. + hexDigits = $6; + semicolon = $7; + if (strict && !semicolon) { + parseError('character reference was not terminated by a semicolon'); + } + codePoint = parseInt(hexDigits, 16); + return codePointToSymbol(codePoint, strict); + } + + // If we’re still here, `if ($7)` is implied; it’s an ambiguous + // ampersand for sure. https://mths.be/notes/ambiguous-ampersands + if (strict) { + parseError( + 'named character reference was not terminated by a semicolon' + ); + } + return $0; + }); + }; + // Expose default options (so they can be overridden globally). + decode.options = { + 'isAttributeValue': false, + 'strict': false + }; + + var escape = function(string) { + return string.replace(regexEscape, function($0) { + // Note: there is no need to check `has(escapeMap, $0)` here. + return escapeMap[$0]; + }); + }; + + /*--------------------------------------------------------------------------*/ + + var he = { + 'version': '1.2.0', + 'encode': encode, + 'decode': decode, + 'escape': escape, + 'unescape': decode + }; + + // Some AMD build optimizers, like r.js, check for specific condition patterns + // like the following: + if ( + typeof define == 'function' && + typeof define.amd == 'object' && + define.amd + ) { + define(function() { + return he; + }); + } else if (freeExports && !freeExports.nodeType) { + if (freeModule) { // in Node.js, io.js, or RingoJS v0.8.0+ + freeModule.exports = he; + } else { // in Narwhal or RingoJS v0.7.0- + for (var key in he) { + has(he, key) && (freeExports[key] = he[key]); + } + } + } else { // in Rhino or a web browser + root.he = he; + } + +}(this)); diff --git a/assets/js/html2canvas.min.js b/assets/js/html2canvas.min.js new file mode 100644 index 0000000000000000000000000000000000000000..9fb8387939e15f7839c0bf24446758f8057ba32f --- /dev/null +++ b/assets/js/html2canvas.min.js @@ -0,0 +1,20 @@ +/*! + * html2canvas 1.0.0-rc.5 <https://html2canvas.hertzen.com> + * Copyright (c) 2019 Niklas von Hertzen <https://hertzen.com> + * Released under MIT License + */ +!function(A,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(A=A||self).html2canvas=e()}(this,function(){"use strict"; +/*! ***************************************************************************** + Copyright (c) Microsoft Corporation. All rights reserved. + Licensed under the Apache License, Version 2.0 (the "License"); you may not use + this file except in compliance with the License. You may obtain a copy of the + License at http://www.apache.org/licenses/LICENSE-2.0 + + THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED + WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, + MERCHANTABLITY OR NON-INFRINGEMENT. + + See the Apache Version 2.0 License for specific language governing permissions + and limitations under the License. + ***************************************************************************** */var r=function(A,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(A,e){A.__proto__=e}||function(A,e){for(var t in e)e.hasOwnProperty(t)&&(A[t]=e[t])})(A,e)};function A(A,e){function t(){this.constructor=A}r(A,e),A.prototype=null===e?Object.create(e):(t.prototype=e.prototype,new t)}var K=function(){return(K=Object.assign||function(A){for(var e,t=1,r=arguments.length;t<r;t++)for(var n in e=arguments[t])Object.prototype.hasOwnProperty.call(e,n)&&(A[n]=e[n]);return A}).apply(this,arguments)};function a(B,s,o,i){return new(o||(o=Promise))(function(A,e){function t(A){try{n(i.next(A))}catch(A){e(A)}}function r(A){try{n(i.throw(A))}catch(A){e(A)}}function n(e){e.done?A(e.value):new o(function(A){A(e.value)}).then(t,r)}n((i=i.apply(B,s||[])).next())})}function S(t,r){var n,B,s,A,o={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]};return A={next:e(0),throw:e(1),return:e(2)},"function"==typeof Symbol&&(A[Symbol.iterator]=function(){return this}),A;function e(e){return function(A){return function(e){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,B&&(s=2&e[0]?B.return:e[0]?B.throw||((s=B.return)&&s.call(B),0):B.next)&&!(s=s.call(B,e[1])).done)return s;switch(B=0,s&&(e=[2&e[0],s.value]),e[0]){case 0:case 1:s=e;break;case 4:return o.label++,{value:e[1],done:!1};case 5:o.label++,B=e[1],e=[0];continue;case 7:e=o.ops.pop(),o.trys.pop();continue;default:if(!(s=0<(s=o.trys).length&&s[s.length-1])&&(6===e[0]||2===e[0])){o=0;continue}if(3===e[0]&&(!s||e[1]>s[0]&&e[1]<s[3])){o.label=e[1];break}if(6===e[0]&&o.label<s[1]){o.label=s[1],s=e;break}if(s&&o.label<s[2]){o.label=s[2],o.ops.push(e);break}s[2]&&o.ops.pop(),o.trys.pop();continue}e=r.call(t,o)}catch(A){e=[6,A],B=0}finally{n=s=0}if(5&e[0])throw e[1];return{value:e[0]?e[1]:void 0,done:!0}}([e,A])}}}var I=(n.prototype.add=function(A,e,t,r){return new n(this.left+A,this.top+e,this.width+t,this.height+r)},n.fromClientRect=function(A){return new n(A.left,A.top,A.width,A.height)},n);function n(A,e,t,r){this.left=A,this.top=e,this.width=t,this.height=r}for(var T=function(A){return I.fromClientRect(A.getBoundingClientRect())},c=function(A){for(var e=[],t=0,r=A.length;t<r;){var n=A.charCodeAt(t++);if(55296<=n&&n<=56319&&t<r){var B=A.charCodeAt(t++);56320==(64512&B)?e.push(((1023&n)<<10)+(1023&B)+65536):(e.push(n),t--)}else e.push(n)}return e},l=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];if(String.fromCodePoint)return String.fromCodePoint.apply(String,A);var t=A.length;if(!t)return"";for(var r=[],n=-1,B="";++n<t;){var s=A[n];s<=65535?r.push(s):(s-=65536,r.push(55296+(s>>10),s%1024+56320)),(n+1===t||16384<r.length)&&(B+=String.fromCharCode.apply(String,r),r.length=0)}return B},e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Q="undefined"==typeof Uint8Array?[]:new Uint8Array(256),t=0;t<e.length;t++)Q[e.charCodeAt(t)]=t;function B(A,e,t){return A.slice?A.slice(e,t):new Uint16Array(Array.prototype.slice.call(A,e,t))}var s=(o.prototype.get=function(A){var e;if(0<=A){if(A<55296||56319<A&&A<=65535)return e=((e=this.index[A>>5])<<2)+(31&A),this.data[e];if(A<=65535)return e=((e=this.index[2048+(A-55296>>5)])<<2)+(31&A),this.data[e];if(A<this.highStart)return e=2080+(A>>11),e=this.index[e],e+=A>>5&63,e=((e=this.index[e])<<2)+(31&A),this.data[e];if(A<=1114111)return this.data[this.highValueIndex]}return this.errorValue},o);function o(A,e,t,r,n,B){this.initialValue=A,this.errorValue=e,this.highStart=t,this.highValueIndex=r,this.index=n,this.data=B}function C(A,e,t,r){var n=r[t];if(Array.isArray(A)?-1!==A.indexOf(n):A===n)for(var B=t;B<=r.length;){if((i=r[++B])===e)return!0;if(i!==H)break}if(n===H)for(B=t;0<B;){var s=r[--B];if(Array.isArray(A)?-1!==A.indexOf(s):A===s)for(var o=t;o<=r.length;){var i;if((i=r[++o])===e)return!0;if(i!==H)break}if(s!==H)break}return!1}function g(A,e){for(var t=A;0<=t;){var r=e[t];if(r!==H)return r;t--}return 0}function w(A,e,t,r,n){if(0===t[r])return Y;var B=r-1;if(Array.isArray(n)&&!0===n[B])return Y;var s=B-1,o=1+B,i=e[B],a=0<=s?e[s]:0,c=e[o];if(2===i&&3===c)return Y;if(-1!==j.indexOf(i))return"!";if(-1!==j.indexOf(c))return Y;if(-1!==$.indexOf(c))return Y;if(8===g(B,e))return"÷";if(11===q.get(A[B])&&(c===X||c===P||c===x))return Y;if(7===i||7===c)return Y;if(9===i)return Y;if(-1===[H,d,f].indexOf(i)&&9===c)return Y;if(-1!==[p,N,m,O,y].indexOf(c))return Y;if(g(B,e)===v)return Y;if(C(23,v,B,e))return Y;if(C([p,N],L,B,e))return Y;if(C(12,12,B,e))return Y;if(i===H)return"÷";if(23===i||23===c)return Y;if(16===c||16===i)return"÷";if(-1!==[d,f,L].indexOf(c)||14===i)return Y;if(36===a&&-1!==rA.indexOf(i))return Y;if(i===y&&36===c)return Y;if(c===R&&-1!==Z.concat(R,m,D,X,P,x).indexOf(i))return Y;if(-1!==Z.indexOf(c)&&i===D||-1!==Z.indexOf(i)&&c===D)return Y;if(i===M&&-1!==[X,P,x].indexOf(c)||-1!==[X,P,x].indexOf(i)&&c===b)return Y;if(-1!==Z.indexOf(i)&&-1!==AA.indexOf(c)||-1!==AA.indexOf(i)&&-1!==Z.indexOf(c))return Y;if(-1!==[M,b].indexOf(i)&&(c===D||-1!==[v,f].indexOf(c)&&e[1+o]===D)||-1!==[v,f].indexOf(i)&&c===D||i===D&&-1!==[D,y,O].indexOf(c))return Y;if(-1!==[D,y,O,p,N].indexOf(c))for(var Q=B;0<=Q;){if((w=e[Q])===D)return Y;if(-1===[y,O].indexOf(w))break;Q--}if(-1!==[M,b].indexOf(c))for(Q=-1!==[p,N].indexOf(i)?s:B;0<=Q;){var w;if((w=e[Q])===D)return Y;if(-1===[y,O].indexOf(w))break;Q--}if(J===i&&-1!==[J,G,V,z].indexOf(c)||-1!==[G,V].indexOf(i)&&-1!==[G,k].indexOf(c)||-1!==[k,z].indexOf(i)&&c===k)return Y;if(-1!==tA.indexOf(i)&&-1!==[R,b].indexOf(c)||-1!==tA.indexOf(c)&&i===M)return Y;if(-1!==Z.indexOf(i)&&-1!==Z.indexOf(c))return Y;if(i===O&&-1!==Z.indexOf(c))return Y;if(-1!==Z.concat(D).indexOf(i)&&c===v||-1!==Z.concat(D).indexOf(c)&&i===N)return Y;if(41===i&&41===c){for(var u=t[B],U=1;0<u&&41===e[--u];)U++;if(U%2!=0)return Y}return i===P&&c===x?Y:"÷"}function u(t,A){A||(A={lineBreak:"normal",wordBreak:"normal"});var e=function(A,n){void 0===n&&(n="strict");var B=[],s=[],o=[];return A.forEach(function(A,e){var t=q.get(A);if(50<t?(o.push(!0),t-=50):o.push(!1),-1!==["normal","auto","loose"].indexOf(n)&&-1!==[8208,8211,12316,12448].indexOf(A))return s.push(e),B.push(16);if(4!==t&&11!==t)return s.push(e),31===t?B.push("strict"===n?L:X):t===W?B.push(_):29===t?B.push(_):43===t?131072<=A&&A<=196605||196608<=A&&A<=262141?B.push(X):B.push(_):void B.push(t);if(0===e)return s.push(e),B.push(_);var r=B[e-1];return-1===eA.indexOf(r)?(s.push(s[e-1]),B.push(r)):(s.push(e),B.push(_))}),[s,B,o]}(t,A.lineBreak),r=e[0],n=e[1],B=e[2];return"break-all"!==A.wordBreak&&"break-word"!==A.wordBreak||(n=n.map(function(A){return-1!==[D,_,W].indexOf(A)?X:A})),[r,n,"keep-all"===A.wordBreak?B.map(function(A,e){return A&&19968<=t[e]&&t[e]<=40959}):void 0]}var i,U,E,F,h,H=10,d=13,f=15,p=17,N=18,m=19,R=20,L=21,v=22,O=24,D=25,b=26,M=27,y=28,_=30,P=32,x=33,V=34,z=35,X=37,J=38,G=39,k=40,W=42,Y="×",q=(i=function(A){var e,t,r,n,B,s=.75*A.length,o=A.length,i=0;"="===A[A.length-1]&&(s--,"="===A[A.length-2]&&s--);var a="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&void 0!==Uint8Array.prototype.slice?new ArrayBuffer(s):new Array(s),c=Array.isArray(a)?a:new Uint8Array(a);for(e=0;e<o;e+=4)t=Q[A.charCodeAt(e)],r=Q[A.charCodeAt(e+1)],n=Q[A.charCodeAt(e+2)],B=Q[A.charCodeAt(e+3)],c[i++]=t<<2|r>>4,c[i++]=(15&r)<<4|n>>2,c[i++]=(3&n)<<6|63&B;return a}("KwAAAAAAAAAACA4AIDoAAPAfAAACAAAAAAAIABAAGABAAEgAUABYAF4AZgBeAGYAYABoAHAAeABeAGYAfACEAIAAiACQAJgAoACoAK0AtQC9AMUAXgBmAF4AZgBeAGYAzQDVAF4AZgDRANkA3gDmAOwA9AD8AAQBDAEUARoBIgGAAIgAJwEvATcBPwFFAU0BTAFUAVwBZAFsAXMBewGDATAAiwGTAZsBogGkAawBtAG8AcIBygHSAdoB4AHoAfAB+AH+AQYCDgIWAv4BHgImAi4CNgI+AkUCTQJTAlsCYwJrAnECeQKBAk0CiQKRApkCoQKoArACuALAAsQCzAIwANQC3ALkAjAA7AL0AvwCAQMJAxADGAMwACADJgMuAzYDPgOAAEYDSgNSA1IDUgNaA1oDYANiA2IDgACAAGoDgAByA3YDfgOAAIQDgACKA5IDmgOAAIAAogOqA4AAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAK8DtwOAAIAAvwPHA88D1wPfAyAD5wPsA/QD/AOAAIAABAQMBBIEgAAWBB4EJgQuBDMEIAM7BEEEXgBJBCADUQRZBGEEaQQwADAAcQQ+AXkEgQSJBJEEgACYBIAAoASoBK8EtwQwAL8ExQSAAIAAgACAAIAAgACgAM0EXgBeAF4AXgBeAF4AXgBeANUEXgDZBOEEXgDpBPEE+QQBBQkFEQUZBSEFKQUxBTUFPQVFBUwFVAVcBV4AYwVeAGsFcwV7BYMFiwWSBV4AmgWgBacFXgBeAF4AXgBeAKsFXgCyBbEFugW7BcIFwgXIBcIFwgXQBdQF3AXkBesF8wX7BQMGCwYTBhsGIwYrBjMGOwZeAD8GRwZNBl4AVAZbBl4AXgBeAF4AXgBeAF4AXgBeAF4AXgBeAGMGXgBqBnEGXgBeAF4AXgBeAF4AXgBeAF4AXgB5BoAG4wSGBo4GkwaAAIADHgR5AF4AXgBeAJsGgABGA4AAowarBrMGswagALsGwwbLBjAA0wbaBtoG3QbaBtoG2gbaBtoG2gblBusG8wb7BgMHCwcTBxsHCwcjBysHMAc1BzUHOgdCB9oGSgdSB1oHYAfaBloHaAfaBlIH2gbaBtoG2gbaBtoG2gbaBjUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHbQdeAF4ANQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQd1B30HNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1B4MH2gaKB68EgACAAIAAgACAAIAAgACAAI8HlwdeAJ8HpweAAIAArwe3B14AXgC/B8UHygcwANAH2AfgB4AA6AfwBz4B+AcACFwBCAgPCBcIogEYAR8IJwiAAC8INwg/CCADRwhPCFcIXwhnCEoDGgSAAIAAgABvCHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIhAiLCI4IMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAANQc1BzUHNQc1BzUHNQc1BzUHNQc1B54INQc1B6II2gaqCLIIugiAAIAAvgjGCIAAgACAAIAAgACAAIAAgACAAIAAywiHAYAA0wiAANkI3QjlCO0I9Aj8CIAAgACAAAIJCgkSCRoJIgknCTYHLwk3CZYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiAAIAAAAFAAXgBeAGAAcABeAHwAQACQAKAArQC9AJ4AXgBeAE0A3gBRAN4A7AD8AMwBGgEAAKcBNwEFAUwBXAF4QkhCmEKnArcCgAHHAsABz4LAAcABwAHAAd+C6ABoAG+C/4LAAcABwAHAAc+DF4MAAcAB54M3gweDV4Nng3eDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEeDqABVg6WDqABoQ6gAaABoAHXDvcONw/3DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DncPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB7cPPwlGCU4JMACAAIAAgABWCV4JYQmAAGkJcAl4CXwJgAkwADAAMAAwAIgJgACLCZMJgACZCZ8JowmrCYAAswkwAF4AXgB8AIAAuwkABMMJyQmAAM4JgADVCTAAMAAwADAAgACAAIAAgACAAIAAgACAAIAAqwYWBNkIMAAwADAAMADdCeAJ6AnuCR4E9gkwAP4JBQoNCjAAMACAABUK0wiAAB0KJAosCjQKgAAwADwKQwqAAEsKvQmdCVMKWwowADAAgACAALcEMACAAGMKgABrCjAAMAAwADAAMAAwADAAMAAwADAAMAAeBDAAMAAwADAAMAAwADAAMAAwADAAMAAwAIkEPQFzCnoKiQSCCooKkAqJBJgKoAqkCokEGAGsCrQKvArBCjAAMADJCtEKFQHZCuEK/gHpCvEKMAAwADAAMACAAIwE+QowAIAAPwEBCzAAMAAwADAAMACAAAkLEQswAIAAPwEZCyELgAAOCCkLMAAxCzkLMAAwADAAMAAwADAAXgBeAEELMAAwADAAMAAwADAAMAAwAEkLTQtVC4AAXAtkC4AAiQkwADAAMAAwADAAMAAwADAAbAtxC3kLgAuFC4sLMAAwAJMLlwufCzAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAApwswADAAMACAAIAAgACvC4AAgACAAIAAgACAALcLMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAvwuAAMcLgACAAIAAgACAAIAAyguAAIAAgACAAIAA0QswADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAANkLgACAAIAA4AswADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACJCR4E6AswADAAhwHwC4AA+AsADAgMEAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMACAAIAAGAwdDCUMMAAwAC0MNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQw1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHPQwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADUHNQc1BzUHNQc1BzUHNQc2BzAAMAA5DDUHNQc1BzUHNQc1BzUHNQc1BzUHNQdFDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAgACAAIAATQxSDFoMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAF4AXgBeAF4AXgBeAF4AYgxeAGoMXgBxDHkMfwxeAIUMXgBeAI0MMAAwADAAMAAwAF4AXgCVDJ0MMAAwADAAMABeAF4ApQxeAKsMswy7DF4Awgy9DMoMXgBeAF4AXgBeAF4AXgBeAF4AXgDRDNkMeQBqCeAM3Ax8AOYM7Az0DPgMXgBeAF4AXgBeAF4AXgBeAF4AXgBeAF4AXgBeAF4AXgCgAAANoAAHDQ4NFg0wADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAeDSYNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIAAgACAAIAAgACAAC4NMABeAF4ANg0wADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAD4NRg1ODVYNXg1mDTAAbQ0wADAAMAAwADAAMAAwADAA2gbaBtoG2gbaBtoG2gbaBnUNeg3CBYANwgWFDdoGjA3aBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gaUDZwNpA2oDdoG2gawDbcNvw3HDdoG2gbPDdYN3A3fDeYN2gbsDfMN2gbaBvoN/g3aBgYODg7aBl4AXgBeABYOXgBeACUG2gYeDl4AJA5eACwO2w3aBtoGMQ45DtoG2gbaBtoGQQ7aBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gZJDjUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1B1EO2gY1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQdZDjUHNQc1BzUHNQc1B2EONQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHaA41BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1B3AO2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gY1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1B2EO2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gZJDtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBkkOeA6gAKAAoAAwADAAMAAwAKAAoACgAKAAoACgAKAAgA4wADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAD//wQABAAEAAQABAAEAAQABAAEAA0AAwABAAEAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAKABMAFwAeABsAGgAeABcAFgASAB4AGwAYAA8AGAAcAEsASwBLAEsASwBLAEsASwBLAEsAGAAYAB4AHgAeABMAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAFgAbABIAHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYADQARAB4ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkAFgAaABsAGwAbAB4AHQAdAB4ATwAXAB4ADQAeAB4AGgAbAE8ATwAOAFAAHQAdAB0ATwBPABcATwBPAE8AFgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwArAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAAQABAANAA0ASwBLAEsASwBLAEsASwBLAEsASwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUAArACsABABQAAQABAAEAAQABAAEAAQAKwArAAQABAArACsABAAEAAQAUAArACsAKwArACsAKwArACsABAArACsAKwArAFAAUAArAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAGgAaAFAAUABQAFAAUABMAB4AGwBQAB4AKwArACsABAAEAAQAKwBQAFAAUABQAFAAUAArACsAKwArAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUAArAFAAUAArACsABAArAAQABAAEAAQABAArACsAKwArAAQABAArACsABAAEAAQAKwArACsABAArACsAKwArACsAKwArAFAAUABQAFAAKwBQACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwAEAAQAUABQAFAABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUAArACsABABQAAQABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQAKwArAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwAeABsAKwArACsAKwArACsAKwBQAAQABAAEAAQABAAEACsABAAEAAQAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwArAAQABAArACsABAAEAAQAKwArACsAKwArACsAKwArAAQABAArACsAKwArAFAAUAArAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwAeAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwAEAFAAKwBQAFAAUABQAFAAUAArACsAKwBQAFAAUAArAFAAUABQAFAAKwArACsAUABQACsAUAArAFAAUAArACsAKwBQAFAAKwArACsAUABQAFAAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQAKwArACsABAAEAAQAKwAEAAQABAAEACsAKwBQACsAKwArACsAKwArAAQAKwArACsAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAB4AHgAeAB4AHgAeABsAHgArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABAArACsAKwArACsAKwArAAQABAArAFAAUABQACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAB4AUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABAArACsAKwArACsAKwArAAQABAArACsAKwArACsAKwArAFAAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwArAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAKwBcAFwAKwBcACsAKwBcACsAKwArACsAKwArAFwAXABcAFwAKwBcAFwAXABcAFwAXABcACsAXABcAFwAKwBcACsAXAArACsAXABcACsAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgArACoAKgBcACsAKwBcAFwAXABcAFwAKwBcACsAKgAqACoAKgAqACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAFwAXABcAFwAUAAOAA4ADgAOAB4ADgAOAAkADgAOAA0ACQATABMAEwATABMACQAeABMAHgAeAB4ABAAEAB4AHgAeAB4AHgAeAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUAANAAQAHgAEAB4ABAAWABEAFgARAAQABABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAAQABAAEAAQABAANAAQABABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsADQANAB4AHgAeAB4AHgAeAAQAHgAeAB4AHgAeAB4AKwAeAB4ADgAOAA0ADgAeAB4AHgAeAB4ACQAJACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgAeAB4AHgBcAFwAXABcAFwAXAAqACoAKgAqAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAKgAqACoAKgAqACoAKgBcAFwAXAAqACoAKgAqAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAXAAqAEsASwBLAEsASwBLAEsASwBLAEsAKgAqACoAKgAqACoAUABQAFAAUABQAFAAKwBQACsAKwArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQACsAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwAEAAQABAAeAA0AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAEQArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAADQANAA0AUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAA0ADQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQACsABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoADQANABUAXAANAB4ADQAbAFwAKgArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAB4AHgATABMADQANAA4AHgATABMAHgAEAAQABAAJACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAUABQAFAAUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwAeACsAKwArABMAEwBLAEsASwBLAEsASwBLAEsASwBLAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwBcAFwAXABcAFwAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcACsAKwArACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwAeAB4AXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgArACsABABLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKgAqACoAKgAqACoAKgBcACoAKgAqACoAKgAqACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAUABQAFAAUABQAFAAUAArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4ADQANAA0ADQAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAHgAeAB4AHgBQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwANAA0ADQANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwBQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsABAAEAAQAHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAABABQAFAAUABQAAQABAAEAFAAUAAEAAQABAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAKwBQACsAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAKwArAB4AHgAeAB4AHgAeACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAUABQAFAAKwAeAB4AHgAeAB4AHgAeAA4AHgArAA0ADQANAA0ADQANAA0ACQANAA0ADQAIAAQACwAEAAQADQAJAA0ADQAMAB0AHQAeABcAFwAWABcAFwAXABYAFwAdAB0AHgAeABQAFAAUAA0AAQABAAQABAAEAAQABAAJABoAGgAaABoAGgAaABoAGgAeABcAFwAdABUAFQAeAB4AHgAeAB4AHgAYABYAEQAVABUAFQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgANAB4ADQANAA0ADQAeAA0ADQANAAcAHgAeAB4AHgArAAQABAAEAAQABAAEAAQABAAEAAQAUABQACsAKwBPAFAAUABQAFAAUAAeAB4AHgAWABEATwBQAE8ATwBPAE8AUABQAFAAUABQAB4AHgAeABYAEQArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAGwAbABsAGwAbABsAGwAaABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAaABsAGwAbABsAGgAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgBQABoAHgAdAB4AUAAeABoAHgAeAB4AHgAeAB4AHgAeAB4ATwAeAFAAGwAeAB4AUABQAFAAUABQAB4AHgAeAB0AHQAeAFAAHgBQAB4AUAAeAFAATwBQAFAAHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AUABQAFAAUABPAE8AUABQAFAAUABQAE8AUABQAE8AUABPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAE8ATwBPAE8ATwBPAE8ATwBPAE8AUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAATwAeAB4AKwArACsAKwAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB0AHQAeAB4AHgAdAB0AHgAeAB0AHgAeAB4AHQAeAB0AGwAbAB4AHQAeAB4AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB0AHgAdAB4AHQAdAB0AHQAdAB0AHgAdAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAdAB0AHQAdAB4AHgAdAB0AHgAeAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABQAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAlACUAHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBQAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAeAB4AHgAeAB0AHQAeAB4AHgAeAB0AHQAdAB4AHgAdAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB0AHQAeAB4AHQAeAB4AHgAeAB0AHQAeAB4AHgAeACUAJQAdAB0AJQAeACUAJQAlACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAHgAeAB4AHgAdAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHQAdAB0AHgAdACUAHQAdAB4AHQAdAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHQAdAB0AHQAlAB4AJQAlACUAHQAlACUAHQAdAB0AJQAlAB0AHQAlAB0AHQAlACUAJQAeAB0AHgAeAB4AHgAdAB0AJQAdAB0AHQAdAB0AHQAlACUAJQAlACUAHQAlACUAIAAlAB0AHQAlACUAJQAlACUAJQAlACUAHgAeAB4AJQAlACAAIAAgACAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeABcAFwAXABcAFwAXAB4AEwATACUAHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwArACUAJQBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAKwArACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAE8ATwBPAE8ATwBPAE8ATwAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeACsAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUAArACsAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQBQAFAAUABQACsAKwArACsAUABQAFAAUABQAFAAUABQAA0AUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQACsAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgBQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAABAAEAAQAKwAEAAQAKwArACsAKwArAAQABAAEAAQAUABQAFAAUAArAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsABAAEAAQAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsADQANAA0ADQANAA0ADQANAB4AKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AUABQAFAAUABQAFAAUABQAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAUABQAFAAUABQAA0ADQANAA0ADQANABQAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwANAA0ADQANAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAeAAQABAAEAB4AKwArAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLACsADQArAB4AKwArAAQABAAEAAQAUABQAB4AUAArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwAEAAQABAAEAAQABAAEAAQABAAOAA0ADQATABMAHgAeAB4ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0AUABQAFAAUAAEAAQAKwArAAQADQANAB4AUAArACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXABcAA0ADQANACoASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUAArACsAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANACsADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEcARwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQACsAKwAeAAQABAANAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAEAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUAArACsAUAArACsAUABQACsAKwBQAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AKwArAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAeAB4ADQANAA0ADQAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAArAAQABAArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAEAAQABAAEAAQABAAEACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAFgAWAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAKwBQACsAKwArACsAKwArAFAAKwArACsAKwBQACsAUAArAFAAKwBQAFAAUAArAFAAUAArAFAAKwArAFAAKwBQACsAUAArAFAAKwBQACsAUABQACsAUAArACsAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAUABQAFAAUAArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUAArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAlACUAJQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeACUAJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeACUAJQAlACUAJQAeACUAJQAlACUAJQAgACAAIAAlACUAIAAlACUAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIQAhACEAIQAhACUAJQAgACAAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIAAgACAAIAAlACUAJQAlACAAJQAgACAAIAAgACAAIAAgACAAIAAlACUAJQAgACUAJQAlACUAIAAgACAAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeACUAHgAlAB4AJQAlACUAJQAlACAAJQAlACUAJQAeACUAHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIAAgACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIAAlACUAJQAlACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAIAAgACAAJQAlACUAIAAgACAAIAAgAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFwAXABcAFQAVABUAHgAeAB4AHgAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIAAgACAAJQAlACUAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAlACAAIAAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsA"),U=Array.isArray(i)?function(A){for(var e=A.length,t=[],r=0;r<e;r+=4)t.push(A[r+3]<<24|A[r+2]<<16|A[r+1]<<8|A[r]);return t}(i):new Uint32Array(i),E=Array.isArray(i)?function(A){for(var e=A.length,t=[],r=0;r<e;r+=2)t.push(A[r+1]<<8|A[r]);return t}(i):new Uint16Array(i),F=B(E,12,U[4]/2),h=2===U[5]?B(E,(24+U[4])/2):function(A,e,t){return A.slice?A.slice(e,t):new Uint32Array(Array.prototype.slice.call(A,e,t))}(U,Math.ceil((24+U[4])/4)),new s(U[0],U[1],U[2],U[3],F,h)),Z=[_,36],j=[1,2,3,5],$=[H,8],AA=[M,b],eA=j.concat($),tA=[J,G,k,V,z],rA=[f,d],nA=(BA.prototype.slice=function(){return l.apply(void 0,this.codePoints.slice(this.start,this.end))},BA);function BA(A,e,t,r){this.codePoints=A,this.required="!"===e,this.start=t,this.end=r}var sA,oA;(oA=sA||(sA={}))[oA.STRING_TOKEN=0]="STRING_TOKEN",oA[oA.BAD_STRING_TOKEN=1]="BAD_STRING_TOKEN",oA[oA.LEFT_PARENTHESIS_TOKEN=2]="LEFT_PARENTHESIS_TOKEN",oA[oA.RIGHT_PARENTHESIS_TOKEN=3]="RIGHT_PARENTHESIS_TOKEN",oA[oA.COMMA_TOKEN=4]="COMMA_TOKEN",oA[oA.HASH_TOKEN=5]="HASH_TOKEN",oA[oA.DELIM_TOKEN=6]="DELIM_TOKEN",oA[oA.AT_KEYWORD_TOKEN=7]="AT_KEYWORD_TOKEN",oA[oA.PREFIX_MATCH_TOKEN=8]="PREFIX_MATCH_TOKEN",oA[oA.DASH_MATCH_TOKEN=9]="DASH_MATCH_TOKEN",oA[oA.INCLUDE_MATCH_TOKEN=10]="INCLUDE_MATCH_TOKEN",oA[oA.LEFT_CURLY_BRACKET_TOKEN=11]="LEFT_CURLY_BRACKET_TOKEN",oA[oA.RIGHT_CURLY_BRACKET_TOKEN=12]="RIGHT_CURLY_BRACKET_TOKEN",oA[oA.SUFFIX_MATCH_TOKEN=13]="SUFFIX_MATCH_TOKEN",oA[oA.SUBSTRING_MATCH_TOKEN=14]="SUBSTRING_MATCH_TOKEN",oA[oA.DIMENSION_TOKEN=15]="DIMENSION_TOKEN",oA[oA.PERCENTAGE_TOKEN=16]="PERCENTAGE_TOKEN",oA[oA.NUMBER_TOKEN=17]="NUMBER_TOKEN",oA[oA.FUNCTION=18]="FUNCTION",oA[oA.FUNCTION_TOKEN=19]="FUNCTION_TOKEN",oA[oA.IDENT_TOKEN=20]="IDENT_TOKEN",oA[oA.COLUMN_TOKEN=21]="COLUMN_TOKEN",oA[oA.URL_TOKEN=22]="URL_TOKEN",oA[oA.BAD_URL_TOKEN=23]="BAD_URL_TOKEN",oA[oA.CDC_TOKEN=24]="CDC_TOKEN",oA[oA.CDO_TOKEN=25]="CDO_TOKEN",oA[oA.COLON_TOKEN=26]="COLON_TOKEN",oA[oA.SEMICOLON_TOKEN=27]="SEMICOLON_TOKEN",oA[oA.LEFT_SQUARE_BRACKET_TOKEN=28]="LEFT_SQUARE_BRACKET_TOKEN",oA[oA.RIGHT_SQUARE_BRACKET_TOKEN=29]="RIGHT_SQUARE_BRACKET_TOKEN",oA[oA.UNICODE_RANGE_TOKEN=30]="UNICODE_RANGE_TOKEN",oA[oA.WHITESPACE_TOKEN=31]="WHITESPACE_TOKEN",oA[oA.EOF_TOKEN=32]="EOF_TOKEN";function iA(A){return 48<=A&&A<=57}function aA(A){return iA(A)||65<=A&&A<=70||97<=A&&A<=102}function cA(A){return 10===A||9===A||32===A}function QA(A){return function(A){return function(A){return 97<=A&&A<=122}(A)||function(A){return 65<=A&&A<=90}(A)}(A)||function(A){return 128<=A}(A)||95===A}function wA(A){return QA(A)||iA(A)||45===A}function uA(A,e){return 92===A&&10!==e}function UA(A,e,t){return 45===A?QA(e)||uA(e,t):!!QA(A)||!(92!==A||!uA(A,e))}function lA(A,e,t){return 43===A||45===A?!!iA(e)||46===e&&iA(t):iA(46===A?e:A)}var CA={type:sA.LEFT_PARENTHESIS_TOKEN},gA={type:sA.RIGHT_PARENTHESIS_TOKEN},EA={type:sA.COMMA_TOKEN},FA={type:sA.SUFFIX_MATCH_TOKEN},hA={type:sA.PREFIX_MATCH_TOKEN},HA={type:sA.COLUMN_TOKEN},dA={type:sA.DASH_MATCH_TOKEN},fA={type:sA.INCLUDE_MATCH_TOKEN},pA={type:sA.LEFT_CURLY_BRACKET_TOKEN},NA={type:sA.RIGHT_CURLY_BRACKET_TOKEN},KA={type:sA.SUBSTRING_MATCH_TOKEN},IA={type:sA.BAD_URL_TOKEN},TA={type:sA.BAD_STRING_TOKEN},mA={type:sA.CDO_TOKEN},RA={type:sA.CDC_TOKEN},LA={type:sA.COLON_TOKEN},vA={type:sA.SEMICOLON_TOKEN},OA={type:sA.LEFT_SQUARE_BRACKET_TOKEN},DA={type:sA.RIGHT_SQUARE_BRACKET_TOKEN},bA={type:sA.WHITESPACE_TOKEN},SA={type:sA.EOF_TOKEN},MA=(yA.prototype.write=function(A){this._value=this._value.concat(c(A))},yA.prototype.read=function(){for(var A=[],e=this.consumeToken();e!==SA;)A.push(e),e=this.consumeToken();return A},yA.prototype.consumeToken=function(){var A=this.consumeCodePoint();switch(A){case 34:return this.consumeStringToken(34);case 35:var e=this.peekCodePoint(0),t=this.peekCodePoint(1),r=this.peekCodePoint(2);if(wA(e)||uA(t,r)){var n=UA(e,t,r)?2:1,B=this.consumeName();return{type:sA.HASH_TOKEN,value:B,flags:n}}break;case 36:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),FA;break;case 39:return this.consumeStringToken(39);case 40:return CA;case 41:return gA;case 42:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),KA;break;case 43:if(lA(A,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(A),this.consumeNumericToken();break;case 44:return EA;case 45:var s=A,o=this.peekCodePoint(0),i=this.peekCodePoint(1);if(lA(s,o,i))return this.reconsumeCodePoint(A),this.consumeNumericToken();if(UA(s,o,i))return this.reconsumeCodePoint(A),this.consumeIdentLikeToken();if(45===o&&62===i)return this.consumeCodePoint(),this.consumeCodePoint(),RA;break;case 46:if(lA(A,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(A),this.consumeNumericToken();break;case 47:if(42===this.peekCodePoint(0))for(this.consumeCodePoint();;){var a=this.consumeCodePoint();if(42===a&&47===(a=this.consumeCodePoint()))return this.consumeToken();if(-1===a)return this.consumeToken()}break;case 58:return LA;case 59:return vA;case 60:if(33===this.peekCodePoint(0)&&45===this.peekCodePoint(1)&&45===this.peekCodePoint(2))return this.consumeCodePoint(),this.consumeCodePoint(),mA;break;case 64:var c=this.peekCodePoint(0),Q=this.peekCodePoint(1),w=this.peekCodePoint(2);if(UA(c,Q,w))return B=this.consumeName(),{type:sA.AT_KEYWORD_TOKEN,value:B};break;case 91:return OA;case 92:if(uA(A,this.peekCodePoint(0)))return this.reconsumeCodePoint(A),this.consumeIdentLikeToken();break;case 93:return DA;case 61:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),hA;break;case 123:return pA;case 125:return NA;case 117:case 85:var u=this.peekCodePoint(0),U=this.peekCodePoint(1);return 43!==u||!aA(U)&&63!==U||(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(A),this.consumeIdentLikeToken();case 124:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),dA;if(124===this.peekCodePoint(0))return this.consumeCodePoint(),HA;break;case 126:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),fA;break;case-1:return SA}return cA(A)?(this.consumeWhiteSpace(),bA):iA(A)?(this.reconsumeCodePoint(A),this.consumeNumericToken()):QA(A)?(this.reconsumeCodePoint(A),this.consumeIdentLikeToken()):{type:sA.DELIM_TOKEN,value:l(A)}},yA.prototype.consumeCodePoint=function(){var A=this._value.shift();return void 0===A?-1:A},yA.prototype.reconsumeCodePoint=function(A){this._value.unshift(A)},yA.prototype.peekCodePoint=function(A){return A>=this._value.length?-1:this._value[A]},yA.prototype.consumeUnicodeRangeToken=function(){for(var A=[],e=this.consumeCodePoint();aA(e)&&A.length<6;)A.push(e),e=this.consumeCodePoint();for(var t=!1;63===e&&A.length<6;)A.push(e),e=this.consumeCodePoint(),t=!0;if(t){var r=parseInt(l.apply(void 0,A.map(function(A){return 63===A?48:A})),16),n=parseInt(l.apply(void 0,A.map(function(A){return 63===A?70:A})),16);return{type:sA.UNICODE_RANGE_TOKEN,start:r,end:n}}var B=parseInt(l.apply(void 0,A),16);if(45===this.peekCodePoint(0)&&aA(this.peekCodePoint(1))){this.consumeCodePoint(),e=this.consumeCodePoint();for(var s=[];aA(e)&&s.length<6;)s.push(e),e=this.consumeCodePoint();return n=parseInt(l.apply(void 0,s),16),{type:sA.UNICODE_RANGE_TOKEN,start:B,end:n}}return{type:sA.UNICODE_RANGE_TOKEN,start:B,end:B}},yA.prototype.consumeIdentLikeToken=function(){var A=this.consumeName();return"url"===A.toLowerCase()&&40===this.peekCodePoint(0)?(this.consumeCodePoint(),this.consumeUrlToken()):40===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:sA.FUNCTION_TOKEN,value:A}):{type:sA.IDENT_TOKEN,value:A}},yA.prototype.consumeUrlToken=function(){var A=[];if(this.consumeWhiteSpace(),-1===this.peekCodePoint(0))return{type:sA.URL_TOKEN,value:""};var e,t=this.peekCodePoint(0);if(39===t||34===t){var r=this.consumeStringToken(this.consumeCodePoint());return r.type===sA.STRING_TOKEN&&(this.consumeWhiteSpace(),-1===this.peekCodePoint(0)||41===this.peekCodePoint(0))?(this.consumeCodePoint(),{type:sA.URL_TOKEN,value:r.value}):(this.consumeBadUrlRemnants(),IA)}for(;;){var n=this.consumeCodePoint();if(-1===n||41===n)return{type:sA.URL_TOKEN,value:l.apply(void 0,A)};if(cA(n))return this.consumeWhiteSpace(),-1===this.peekCodePoint(0)||41===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:sA.URL_TOKEN,value:l.apply(void 0,A)}):(this.consumeBadUrlRemnants(),IA);if(34===n||39===n||40===n||0<=(e=n)&&e<=8||11===e||14<=e&&e<=31||127===e)return this.consumeBadUrlRemnants(),IA;if(92===n){if(!uA(n,this.peekCodePoint(0)))return this.consumeBadUrlRemnants(),IA;A.push(this.consumeEscapedCodePoint())}else A.push(n)}},yA.prototype.consumeWhiteSpace=function(){for(;cA(this.peekCodePoint(0));)this.consumeCodePoint()},yA.prototype.consumeBadUrlRemnants=function(){for(;;){var A=this.consumeCodePoint();if(41===A||-1===A)return;uA(A,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},yA.prototype.consumeStringSlice=function(A){for(var e="";0<A;){var t=Math.min(6e4,A);e+=l.apply(void 0,this._value.splice(0,t)),A-=t}return this._value.shift(),e},yA.prototype.consumeStringToken=function(A){for(var e="",t=0;;){var r=this._value[t];if(-1===r||void 0===r||r===A)return e+=this.consumeStringSlice(t),{type:sA.STRING_TOKEN,value:e};if(10===r)return this._value.splice(0,t),TA;if(92===r){var n=this._value[t+1];-1!==n&&void 0!==n&&(10===n?(e+=this.consumeStringSlice(t),t=-1,this._value.shift()):uA(r,n)&&(e+=this.consumeStringSlice(t),e+=l(this.consumeEscapedCodePoint()),t=-1))}t++}},yA.prototype.consumeNumber=function(){var A=[],e=4,t=this.peekCodePoint(0);for(43!==t&&45!==t||A.push(this.consumeCodePoint());iA(this.peekCodePoint(0));)A.push(this.consumeCodePoint());t=this.peekCodePoint(0);var r=this.peekCodePoint(1);if(46===t&&iA(r))for(A.push(this.consumeCodePoint(),this.consumeCodePoint()),e=8;iA(this.peekCodePoint(0));)A.push(this.consumeCodePoint());t=this.peekCodePoint(0),r=this.peekCodePoint(1);var n=this.peekCodePoint(2);if((69===t||101===t)&&((43===r||45===r)&&iA(n)||iA(r)))for(A.push(this.consumeCodePoint(),this.consumeCodePoint()),e=8;iA(this.peekCodePoint(0));)A.push(this.consumeCodePoint());return[function(A){var e=0,t=1;43!==A[e]&&45!==A[e]||(45===A[e]&&(t=-1),e++);for(var r=[];iA(A[e]);)r.push(A[e++]);var n=r.length?parseInt(l.apply(void 0,r),10):0;46===A[e]&&e++;for(var B=[];iA(A[e]);)B.push(A[e++]);var s=B.length,o=s?parseInt(l.apply(void 0,B),10):0;69!==A[e]&&101!==A[e]||e++;var i=1;43!==A[e]&&45!==A[e]||(45===A[e]&&(i=-1),e++);for(var a=[];iA(A[e]);)a.push(A[e++]);var c=a.length?parseInt(l.apply(void 0,a),10):0;return t*(n+o*Math.pow(10,-s))*Math.pow(10,i*c)}(A),e]},yA.prototype.consumeNumericToken=function(){var A=this.consumeNumber(),e=A[0],t=A[1],r=this.peekCodePoint(0),n=this.peekCodePoint(1),B=this.peekCodePoint(2);if(UA(r,n,B)){var s=this.consumeName();return{type:sA.DIMENSION_TOKEN,number:e,flags:t,unit:s}}return 37===r?(this.consumeCodePoint(),{type:sA.PERCENTAGE_TOKEN,number:e,flags:t}):{type:sA.NUMBER_TOKEN,number:e,flags:t}},yA.prototype.consumeEscapedCodePoint=function(){var A=this.consumeCodePoint();if(aA(A)){for(var e=l(A);aA(this.peekCodePoint(0))&&e.length<6;)e+=l(this.consumeCodePoint());cA(this.peekCodePoint(0))&&this.consumeCodePoint();var t=parseInt(e,16);return 0===t||function(A){return 55296<=A&&A<=57343}(t)||1114111<t?65533:t}return-1===A?65533:A},yA.prototype.consumeName=function(){for(var A="";;){var e=this.consumeCodePoint();if(wA(e))A+=l(e);else{if(!uA(e,this.peekCodePoint(0)))return this.reconsumeCodePoint(e),A;A+=l(this.consumeEscapedCodePoint())}}},yA);function yA(){this._value=[]}var _A=(PA.create=function(A){var e=new MA;return e.write(A),new PA(e.read())},PA.parseValue=function(A){return PA.create(A).parseComponentValue()},PA.parseValues=function(A){return PA.create(A).parseComponentValues()},PA.prototype.parseComponentValue=function(){for(var A=this.consumeToken();A.type===sA.WHITESPACE_TOKEN;)A=this.consumeToken();if(A.type===sA.EOF_TOKEN)throw new SyntaxError("Error parsing CSS component value, unexpected EOF");this.reconsumeToken(A);for(var e=this.consumeComponentValue();(A=this.consumeToken()).type===sA.WHITESPACE_TOKEN;);if(A.type===sA.EOF_TOKEN)return e;throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")},PA.prototype.parseComponentValues=function(){for(var A=[];;){var e=this.consumeComponentValue();if(e.type===sA.EOF_TOKEN)return A;A.push(e),A.push()}},PA.prototype.consumeComponentValue=function(){var A=this.consumeToken();switch(A.type){case sA.LEFT_CURLY_BRACKET_TOKEN:case sA.LEFT_SQUARE_BRACKET_TOKEN:case sA.LEFT_PARENTHESIS_TOKEN:return this.consumeSimpleBlock(A.type);case sA.FUNCTION_TOKEN:return this.consumeFunction(A)}return A},PA.prototype.consumeSimpleBlock=function(A){for(var e={type:A,values:[]},t=this.consumeToken();;){if(t.type===sA.EOF_TOKEN||Be(t,A))return e;this.reconsumeToken(t),e.values.push(this.consumeComponentValue()),t=this.consumeToken()}},PA.prototype.consumeFunction=function(A){for(var e={name:A.value,values:[],type:sA.FUNCTION};;){var t=this.consumeToken();if(t.type===sA.EOF_TOKEN||t.type===sA.RIGHT_PARENTHESIS_TOKEN)return e;this.reconsumeToken(t),e.values.push(this.consumeComponentValue())}},PA.prototype.consumeToken=function(){var A=this._tokens.shift();return void 0===A?SA:A},PA.prototype.reconsumeToken=function(A){this._tokens.unshift(A)},PA);function PA(A){this._tokens=A}function xA(A){return A.type===sA.DIMENSION_TOKEN}function VA(A){return A.type===sA.NUMBER_TOKEN}function zA(A){return A.type===sA.IDENT_TOKEN}function XA(A){return A.type===sA.STRING_TOKEN}function JA(A,e){return zA(A)&&A.value===e}function GA(A){return A.type!==sA.WHITESPACE_TOKEN}function kA(A){return A.type!==sA.WHITESPACE_TOKEN&&A.type!==sA.COMMA_TOKEN}function WA(A){var e=[],t=[];return A.forEach(function(A){if(A.type===sA.COMMA_TOKEN){if(0===t.length)throw new Error("Error parsing function args, zero tokens for arg");return e.push(t),void(t=[])}A.type!==sA.WHITESPACE_TOKEN&&t.push(A)}),t.length&&e.push(t),e}function YA(A){return A.type===sA.NUMBER_TOKEN||A.type===sA.DIMENSION_TOKEN}function qA(A){return A.type===sA.PERCENTAGE_TOKEN||YA(A)}function ZA(A){return 1<A.length?[A[0],A[1]]:[A[0]]}function jA(A,e,t){var r=A[0],n=A[1];return[ae(r,e),ae(void 0!==n?n:r,t)]}function $A(A){return A.type===sA.DIMENSION_TOKEN&&("deg"===A.unit||"grad"===A.unit||"rad"===A.unit||"turn"===A.unit)}function Ae(A){switch(A.filter(zA).map(function(A){return A.value}).join(" ")){case"to bottom right":case"to right bottom":case"left top":case"top left":return[se,se];case"to top":case"bottom":return Qe(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[se,ie];case"to right":case"left":return Qe(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[ie,ie];case"to bottom":case"top":return Qe(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[ie,se];case"to left":case"right":return Qe(270)}return 0}function ee(A){return 0==(255&A)}function te(A){var e=255&A,t=255&A>>8,r=255&A>>16,n=255&A>>24;return e<255?"rgba("+n+","+r+","+t+","+e/255+")":"rgb("+n+","+r+","+t+")"}function re(A,e){if(A.type===sA.NUMBER_TOKEN)return A.number;if(A.type!==sA.PERCENTAGE_TOKEN)return 0;var t=3===e?1:255;return 3===e?A.number/100*t:Math.round(A.number/100*t)}function ne(A){var e=A.filter(kA);if(3===e.length){var t=e.map(re),r=t[0],n=t[1],B=t[2];return ue(r,n,B,1)}if(4!==e.length)return 0;var s=e.map(re),o=(r=s[0],n=s[1],B=s[2],s[3]);return ue(r,n,B,o)}var Be=function(A,e){return e===sA.LEFT_CURLY_BRACKET_TOKEN&&A.type===sA.RIGHT_CURLY_BRACKET_TOKEN||(e===sA.LEFT_SQUARE_BRACKET_TOKEN&&A.type===sA.RIGHT_SQUARE_BRACKET_TOKEN||e===sA.LEFT_PARENTHESIS_TOKEN&&A.type===sA.RIGHT_PARENTHESIS_TOKEN)},se={type:sA.NUMBER_TOKEN,number:0,flags:4},oe={type:sA.PERCENTAGE_TOKEN,number:50,flags:4},ie={type:sA.PERCENTAGE_TOKEN,number:100,flags:4},ae=function(A,e){if(A.type===sA.PERCENTAGE_TOKEN)return A.number/100*e;if(xA(A))switch(A.unit){case"rem":case"em":return 16*A.number;case"px":default:return A.number}return A.number},ce=function(A){if(A.type===sA.DIMENSION_TOKEN)switch(A.unit){case"deg":return Math.PI*A.number/180;case"grad":return Math.PI/200*A.number;case"rad":return A.number;case"turn":return 2*Math.PI*A.number}throw new Error("Unsupported angle type")},Qe=function(A){return Math.PI*A/180},we=function(A){if(A.type===sA.FUNCTION){var e=he[A.name];if(void 0===e)throw new Error('Attempting to parse an unsupported color function "'+A.name+'"');return e(A.values)}if(A.type===sA.HASH_TOKEN){if(3===A.value.length){var t=A.value.substring(0,1),r=A.value.substring(1,2),n=A.value.substring(2,3);return ue(parseInt(t+t,16),parseInt(r+r,16),parseInt(n+n,16),1)}if(4===A.value.length){t=A.value.substring(0,1),r=A.value.substring(1,2),n=A.value.substring(2,3);var B=A.value.substring(3,4);return ue(parseInt(t+t,16),parseInt(r+r,16),parseInt(n+n,16),parseInt(B+B,16)/255)}if(6===A.value.length){t=A.value.substring(0,2),r=A.value.substring(2,4),n=A.value.substring(4,6);return ue(parseInt(t,16),parseInt(r,16),parseInt(n,16),1)}if(8===A.value.length){t=A.value.substring(0,2),r=A.value.substring(2,4),n=A.value.substring(4,6),B=A.value.substring(6,8);return ue(parseInt(t,16),parseInt(r,16),parseInt(n,16),parseInt(B,16)/255)}}if(A.type===sA.IDENT_TOKEN){var s=He[A.value.toUpperCase()];if(void 0!==s)return s}return He.TRANSPARENT},ue=function(A,e,t,r){return(A<<24|e<<16|t<<8|Math.round(255*r)<<0)>>>0};function Ue(A,e,t){return t<0&&(t+=1),1<=t&&(t-=1),t<1/6?(e-A)*t*6+A:t<.5?e:t<2/3?6*(e-A)*(2/3-t)+A:A}function le(A){var e=A.filter(kA),t=e[0],r=e[1],n=e[2],B=e[3],s=(t.type===sA.NUMBER_TOKEN?Qe(t.number):ce(t))/(2*Math.PI),o=qA(r)?r.number/100:0,i=qA(n)?n.number/100:0,a=void 0!==B&&qA(B)?ae(B,1):1;if(0==o)return ue(255*i,255*i,255*i,1);var c=i<=.5?i*(1+o):i+o-i*o,Q=2*i-c,w=Ue(Q,c,s+1/3),u=Ue(Q,c,s),U=Ue(Q,c,s-1/3);return ue(255*w,255*u,255*U,a)}var Ce,ge,Ee,Fe,he={hsl:le,hsla:le,rgb:ne,rgba:ne},He={ALICEBLUE:4042850303,ANTIQUEWHITE:4209760255,AQUA:16777215,AQUAMARINE:2147472639,AZURE:4043309055,BEIGE:4126530815,BISQUE:4293182719,BLACK:255,BLANCHEDALMOND:4293643775,BLUE:65535,BLUEVIOLET:2318131967,BROWN:2771004159,BURLYWOOD:3736635391,CADETBLUE:1604231423,CHARTREUSE:2147418367,CHOCOLATE:3530104575,CORAL:4286533887,CORNFLOWERBLUE:1687547391,CORNSILK:4294499583,CRIMSON:3692313855,CYAN:16777215,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:3095837695,DARKGRAY:2846468607,DARKGREEN:6553855,DARKGREY:2846468607,DARKKHAKI:3182914559,DARKMAGENTA:2332068863,DARKOLIVEGREEN:1433087999,DARKORANGE:4287365375,DARKORCHID:2570243327,DARKRED:2332033279,DARKSALMON:3918953215,DARKSEAGREEN:2411499519,DARKSLATEBLUE:1211993087,DARKSLATEGRAY:793726975,DARKSLATEGREY:793726975,DARKTURQUOISE:13554175,DARKVIOLET:2483082239,DEEPPINK:4279538687,DEEPSKYBLUE:12582911,DIMGRAY:1768516095,DIMGREY:1768516095,DODGERBLUE:512819199,FIREBRICK:2988581631,FLORALWHITE:4294635775,FORESTGREEN:579543807,FUCHSIA:4278255615,GAINSBORO:3705462015,GHOSTWHITE:4177068031,GOLD:4292280575,GOLDENROD:3668254975,GRAY:2155905279,GREEN:8388863,GREENYELLOW:2919182335,GREY:2155905279,HONEYDEW:4043305215,HOTPINK:4285117695,INDIANRED:3445382399,INDIGO:1258324735,IVORY:4294963455,KHAKI:4041641215,LAVENDER:3873897215,LAVENDERBLUSH:4293981695,LAWNGREEN:2096890111,LEMONCHIFFON:4294626815,LIGHTBLUE:2916673279,LIGHTCORAL:4034953471,LIGHTCYAN:3774873599,LIGHTGOLDENRODYELLOW:4210742015,LIGHTGRAY:3553874943,LIGHTGREEN:2431553791,LIGHTGREY:3553874943,LIGHTPINK:4290167295,LIGHTSALMON:4288707327,LIGHTSEAGREEN:548580095,LIGHTSKYBLUE:2278488831,LIGHTSLATEGRAY:2005441023,LIGHTSLATEGREY:2005441023,LIGHTSTEELBLUE:2965692159,LIGHTYELLOW:4294959359,LIME:16711935,LIMEGREEN:852308735,LINEN:4210091775,MAGENTA:4278255615,MAROON:2147483903,MEDIUMAQUAMARINE:1724754687,MEDIUMBLUE:52735,MEDIUMORCHID:3126187007,MEDIUMPURPLE:2473647103,MEDIUMSEAGREEN:1018393087,MEDIUMSLATEBLUE:2070474495,MEDIUMSPRINGGREEN:16423679,MEDIUMTURQUOISE:1221709055,MEDIUMVIOLETRED:3340076543,MIDNIGHTBLUE:421097727,MINTCREAM:4127193855,MISTYROSE:4293190143,MOCCASIN:4293178879,NAVAJOWHITE:4292783615,NAVY:33023,OLDLACE:4260751103,OLIVE:2155872511,OLIVEDRAB:1804477439,ORANGE:4289003775,ORANGERED:4282712319,ORCHID:3664828159,PALEGOLDENROD:4008225535,PALEGREEN:2566625535,PALETURQUOISE:2951671551,PALEVIOLETRED:3681588223,PAPAYAWHIP:4293907967,PEACHPUFF:4292524543,PERU:3448061951,PINK:4290825215,PLUM:3718307327,POWDERBLUE:2967529215,PURPLE:2147516671,REBECCAPURPLE:1714657791,RED:4278190335,ROSYBROWN:3163525119,ROYALBLUE:1097458175,SADDLEBROWN:2336560127,SALMON:4202722047,SANDYBROWN:4104413439,SEAGREEN:780883967,SEASHELL:4294307583,SIENNA:2689740287,SILVER:3233857791,SKYBLUE:2278484991,SLATEBLUE:1784335871,SLATEGRAY:1887473919,SLATEGREY:1887473919,SNOW:4294638335,SPRINGGREEN:16744447,STEELBLUE:1182971135,TAN:3535047935,TEAL:8421631,THISTLE:3636451583,TOMATO:4284696575,TRANSPARENT:0,TURQUOISE:1088475391,VIOLET:4001558271,WHEAT:4125012991,WHITE:4294967295,WHITESMOKE:4126537215,YELLOW:4294902015,YELLOWGREEN:2597139199};(ge=Ce||(Ce={}))[ge.VALUE=0]="VALUE",ge[ge.LIST=1]="LIST",ge[ge.IDENT_VALUE=2]="IDENT_VALUE",ge[ge.TYPE_VALUE=3]="TYPE_VALUE",ge[ge.TOKEN_VALUE=4]="TOKEN_VALUE",(Fe=Ee||(Ee={}))[Fe.BORDER_BOX=0]="BORDER_BOX",Fe[Fe.PADDING_BOX=1]="PADDING_BOX";function de(A){var e=we(A[0]),t=A[1];return t&&qA(t)?{color:e,stop:t}:{color:e,stop:null}}function fe(A,t){var e=A[0],r=A[A.length-1];null===e.stop&&(e.stop=se),null===r.stop&&(r.stop=ie);for(var n=[],B=0,s=0;s<A.length;s++){var o=A[s].stop;if(null!==o){var i=ae(o,t);B<i?n.push(i):n.push(B),B=i}else n.push(null)}var a=null;for(s=0;s<n.length;s++){var c=n[s];if(null===c)null===a&&(a=s);else if(null!==a){for(var Q=s-a,w=(c-n[a-1])/(1+Q),u=1;u<=Q;u++)n[a+u-1]=w*u;a=null}}return A.map(function(A,e){return{color:A.color,stop:Math.max(Math.min(1,n[e]/t),0)}})}function pe(A,e,t){var r="number"==typeof A?A:function(A,e,t){var r=e/2,n=t/2,B=ae(A[0],e)-r,s=n-ae(A[1],t);return(Math.atan2(s,B)+2*Math.PI)%(2*Math.PI)}(A,e,t),n=Math.abs(e*Math.sin(r))+Math.abs(t*Math.cos(r)),B=e/2,s=t/2,o=n/2,i=Math.sin(r-Math.PI/2)*o,a=Math.cos(r-Math.PI/2)*o;return[n,B-a,B+a,s-i,s+i]}function Ne(A,e){return Math.sqrt(A*A+e*e)}function Ke(A,e,B,s,o){return[[0,0],[0,e],[A,0],[A,e]].reduce(function(A,e){var t=e[0],r=e[1],n=Ne(B-t,s-r);return(o?n<A.optimumDistance:n>A.optimumDistance)?{optimumCorner:e,optimumDistance:n}:A},{optimumDistance:o?1/0:-1/0,optimumCorner:null}).optimumCorner}function Ie(A){var n=Qe(180),B=[];return WA(A).forEach(function(A,e){if(0===e){var t=A[0];if(t.type===sA.IDENT_TOKEN&&-1!==["top","left","right","bottom"].indexOf(t.value))return void(n=Ae(A));if($A(t))return void(n=(ce(t)+Qe(270))%Qe(360))}var r=de(A);B.push(r)}),{angle:n,stops:B,type:xe.LINEAR_GRADIENT}}function Te(A){return 0===A[0]&&255===A[1]&&0===A[2]&&255===A[3]}var me={name:"background-clip",initialValue:"border-box",prefix:!(Fe[Fe.CONTENT_BOX=2]="CONTENT_BOX"),type:Ce.LIST,parse:function(A){return A.map(function(A){if(zA(A))switch(A.value){case"padding-box":return Ee.PADDING_BOX;case"content-box":return Ee.CONTENT_BOX}return Ee.BORDER_BOX})}},Re={name:"background-color",initialValue:"transparent",prefix:!1,type:Ce.TYPE_VALUE,format:"color"},Le=function(A,e,t,r,n){var B="http://www.w3.org/2000/svg",s=document.createElementNS(B,"svg"),o=document.createElementNS(B,"foreignObject");return s.setAttributeNS(null,"width",A.toString()),s.setAttributeNS(null,"height",e.toString()),o.setAttributeNS(null,"width","100%"),o.setAttributeNS(null,"height","100%"),o.setAttributeNS(null,"x",t.toString()),o.setAttributeNS(null,"y",r.toString()),o.setAttributeNS(null,"externalResourcesRequired","true"),s.appendChild(o),o.appendChild(n),s},ve=function(r){return new Promise(function(A,e){var t=new Image;t.onload=function(){return A(t)},t.onerror=e,t.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent((new XMLSerializer).serializeToString(r))})},Oe={get SUPPORT_RANGE_BOUNDS(){var A=function(A){if(A.createRange){var e=A.createRange();if(e.getBoundingClientRect){var t=A.createElement("boundtest");t.style.height="123px",t.style.display="block",A.body.appendChild(t),e.selectNode(t);var r=e.getBoundingClientRect(),n=Math.round(r.height);if(A.body.removeChild(t),123===n)return!0}}return!1}(document);return Object.defineProperty(Oe,"SUPPORT_RANGE_BOUNDS",{value:A}),A},get SUPPORT_SVG_DRAWING(){var A=function(A){var e=new Image,t=A.createElement("canvas"),r=t.getContext("2d");if(!r)return!1;e.src="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'></svg>";try{r.drawImage(e,0,0),t.toDataURL()}catch(A){return!1}return!0}(document);return Object.defineProperty(Oe,"SUPPORT_SVG_DRAWING",{value:A}),A},get SUPPORT_FOREIGNOBJECT_DRAWING(){var A="function"==typeof Array.from&&"function"==typeof window.fetch?function(r){var A=r.createElement("canvas"),n=100;A.width=n,A.height=n;var B=A.getContext("2d");if(!B)return Promise.reject(!1);B.fillStyle="rgb(0, 255, 0)",B.fillRect(0,0,n,n);var e=new Image,s=A.toDataURL();e.src=s;var t=Le(n,n,0,0,e);return B.fillStyle="red",B.fillRect(0,0,n,n),ve(t).then(function(A){B.drawImage(A,0,0);var e=B.getImageData(0,0,n,n).data;B.fillStyle="red",B.fillRect(0,0,n,n);var t=r.createElement("div");return t.style.backgroundImage="url("+s+")",t.style.height="100px",Te(e)?ve(Le(n,n,0,0,t)):Promise.reject(!1)}).then(function(A){return B.drawImage(A,0,0),Te(B.getImageData(0,0,n,n).data)}).catch(function(){return!1})}(document):Promise.resolve(!1);return Object.defineProperty(Oe,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:A}),A},get SUPPORT_CORS_IMAGES(){var A=void 0!==(new Image).crossOrigin;return Object.defineProperty(Oe,"SUPPORT_CORS_IMAGES",{value:A}),A},get SUPPORT_RESPONSE_TYPE(){var A="string"==typeof(new XMLHttpRequest).responseType;return Object.defineProperty(Oe,"SUPPORT_RESPONSE_TYPE",{value:A}),A},get SUPPORT_CORS_XHR(){var A="withCredentials"in new XMLHttpRequest;return Object.defineProperty(Oe,"SUPPORT_CORS_XHR",{value:A}),A}},De=(be.prototype.debug=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];this.enabled&&("undefined"!=typeof window&&window.console&&"function"==typeof console.debug?console.debug.apply(console,[this.id,this.getTime()+"ms"].concat(A)):this.info.apply(this,A))},be.prototype.getTime=function(){return Date.now()-this.start},be.create=function(A){be.instances[A.id]=new be(A)},be.destroy=function(A){delete be.instances[A]},be.getInstance=function(A){var e=be.instances[A];if(void 0===e)throw new Error("No logger instance found with id "+A);return e},be.prototype.info=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];this.enabled&&"undefined"!=typeof window&&window.console&&"function"==typeof console.info&&console.info.apply(console,[this.id,this.getTime()+"ms"].concat(A))},be.prototype.error=function(){for(var A=[],e=0;e<arguments.length;e++)A[e]=arguments[e];this.enabled&&("undefined"!=typeof window&&window.console&&"function"==typeof console.error?console.error.apply(console,[this.id,this.getTime()+"ms"].concat(A)):this.info.apply(this,A))},be.instances={},be);function be(A){var e=A.id,t=A.enabled;this.id=e,this.enabled=t,this.start=Date.now()}var Se=(Me.create=function(A,e){return Me._caches[A]=new ye(A,e)},Me.destroy=function(A){delete Me._caches[A]},Me.open=function(A){var e=Me._caches[A];if(void 0!==e)return e;throw new Error('Cache with key "'+A+'" not found')},Me.getOrigin=function(A){var e=Me._link;return e?(e.href=A,e.href=e.href,e.protocol+e.hostname+e.port):"about:blank"},Me.isSameOrigin=function(A){return Me.getOrigin(A)===Me._origin},Me.setContext=function(A){Me._link=A.document.createElement("a"),Me._origin=Me.getOrigin(A.location.href)},Me.getInstance=function(){var A=Me._current;if(null===A)throw new Error("No cache instance attached");return A},Me.attachInstance=function(A){Me._current=A},Me.detachInstance=function(){Me._current=null},Me._caches={},Me._origin="about:blank",Me._current=null,Me);function Me(){}var ye=(_e.prototype.addImage=function(A){var e=Promise.resolve();return this.has(A)||(Ye(A)||Ge(A))&&(this._cache[A]=this.loadImage(A)),e},_e.prototype.match=function(A){return this._cache[A]},_e.prototype.loadImage=function(s){return a(this,void 0,void 0,function(){var e,r,t,n,B=this;return S(this,function(A){switch(A.label){case 0:return e=Se.isSameOrigin(s),r=!ke(s)&&!0===this._options.useCORS&&Oe.SUPPORT_CORS_IMAGES&&!e,t=!ke(s)&&!e&&"string"==typeof this._options.proxy&&Oe.SUPPORT_CORS_XHR&&!r,e||!1!==this._options.allowTaint||ke(s)||t||r?(n=s,t?[4,this.proxy(n)]:[3,2]):[2];case 1:n=A.sent(),A.label=2;case 2:return De.getInstance(this.id).debug("Added image "+s.substring(0,256)),[4,new Promise(function(A,e){var t=new Image;t.onload=function(){return A(t)},t.onerror=e,(We(n)||r)&&(t.crossOrigin="anonymous"),t.src=n,!0===t.complete&&setTimeout(function(){return A(t)},500),0<B._options.imageTimeout&&setTimeout(function(){return e("Timed out ("+B._options.imageTimeout+"ms) loading image")},B._options.imageTimeout)})];case 3:return[2,A.sent()]}})})},_e.prototype.has=function(A){return void 0!==this._cache[A]},_e.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},_e.prototype.proxy=function(B){var s=this,o=this._options.proxy;if(!o)throw new Error("No proxy defined");var i=B.substring(0,256);return new Promise(function(e,t){var r=Oe.SUPPORT_RESPONSE_TYPE?"blob":"text",n=new XMLHttpRequest;if(n.onload=function(){if(200===n.status)if("text"==r)e(n.response);else{var A=new FileReader;A.addEventListener("load",function(){return e(A.result)},!1),A.addEventListener("error",function(A){return t(A)},!1),A.readAsDataURL(n.response)}else t("Failed to proxy resource "+i+" with status code "+n.status)},n.onerror=t,n.open("GET",o+"?url="+encodeURIComponent(B)+"&responseType="+r),"text"!=r&&n instanceof XMLHttpRequest&&(n.responseType=r),s._options.imageTimeout){var A=s._options.imageTimeout;n.timeout=A,n.ontimeout=function(){return t("Timed out ("+A+"ms) proxying "+i)}}n.send()})},_e);function _e(A,e){this.id=A,this._options=e,this._cache={}}function Pe(A){var n=rt.CIRCLE,B=Bt.FARTHEST_CORNER,s=[],o=[];return WA(A).forEach(function(A,e){var t=!0;if(0===e?t=A.reduce(function(A,e){if(zA(e))switch(e.value){case"center":return o.push(oe),!1;case"top":case"left":return o.push(se),!1;case"right":case"bottom":return o.push(ie),!1}else if(qA(e)||YA(e))return o.push(e),!1;return A},t):1===e&&(t=A.reduce(function(A,e){if(zA(e))switch(e.value){case"circle":return n=rt.CIRCLE,!1;case et:return n=rt.ELLIPSE,!1;case tt:case Ze:return B=Bt.CLOSEST_SIDE,!1;case je:return B=Bt.FARTHEST_SIDE,!1;case $e:return B=Bt.CLOSEST_CORNER,!1;case"cover":case At:return B=Bt.FARTHEST_CORNER,!1}else if(YA(e)||qA(e))return Array.isArray(B)||(B=[]),B.push(e),!1;return A},t)),t){var r=de(A);s.push(r)}}),{size:B,shape:n,stops:s,position:o,type:xe.RADIAL_GRADIENT}}var xe,Ve,ze=/^data:image\/svg\+xml/i,Xe=/^data:image\/.*;base64,/i,Je=/^data:image\/.*/i,Ge=function(A){return Oe.SUPPORT_SVG_DRAWING||!qe(A)},ke=function(A){return Je.test(A)},We=function(A){return Xe.test(A)},Ye=function(A){return"blob"===A.substr(0,4)},qe=function(A){return"svg"===A.substr(-3).toLowerCase()||ze.test(A)},Ze="closest-side",je="farthest-side",$e="closest-corner",At="farthest-corner",et="ellipse",tt="contain";(Ve=xe||(xe={}))[Ve.URL=0]="URL",Ve[Ve.LINEAR_GRADIENT=1]="LINEAR_GRADIENT",Ve[Ve.RADIAL_GRADIENT=2]="RADIAL_GRADIENT";var rt,nt,Bt,st;(nt=rt||(rt={}))[nt.CIRCLE=0]="CIRCLE",nt[nt.ELLIPSE=1]="ELLIPSE",(st=Bt||(Bt={}))[st.CLOSEST_SIDE=0]="CLOSEST_SIDE",st[st.FARTHEST_SIDE=1]="FARTHEST_SIDE",st[st.CLOSEST_CORNER=2]="CLOSEST_CORNER",st[st.FARTHEST_CORNER=3]="FARTHEST_CORNER";var ot=function(A){if(A.type===sA.URL_TOKEN){var e={url:A.value,type:xe.URL};return Se.getInstance().addImage(A.value),e}if(A.type!==sA.FUNCTION)throw new Error("Unsupported image type");var t=ct[A.name];if(void 0===t)throw new Error('Attempting to parse an unsupported image function "'+A.name+'"');return t(A.values)};var it,at,ct={"linear-gradient":function(A){var n=Qe(180),B=[];return WA(A).forEach(function(A,e){if(0===e){var t=A[0];if(t.type===sA.IDENT_TOKEN&&"to"===t.value)return void(n=Ae(A));if($A(t))return void(n=ce(t))}var r=de(A);B.push(r)}),{angle:n,stops:B,type:xe.LINEAR_GRADIENT}},"-moz-linear-gradient":Ie,"-ms-linear-gradient":Ie,"-o-linear-gradient":Ie,"-webkit-linear-gradient":Ie,"radial-gradient":function(A){var B=rt.CIRCLE,s=Bt.FARTHEST_CORNER,o=[],i=[];return WA(A).forEach(function(A,e){var t=!0;if(0===e){var r=!1;t=A.reduce(function(A,e){if(r)if(zA(e))switch(e.value){case"center":return i.push(oe),A;case"top":case"left":return i.push(se),A;case"right":case"bottom":return i.push(ie),A}else(qA(e)||YA(e))&&i.push(e);else if(zA(e))switch(e.value){case"circle":return B=rt.CIRCLE,!1;case et:return B=rt.ELLIPSE,!1;case"at":return!(r=!0);case Ze:return s=Bt.CLOSEST_SIDE,!1;case"cover":case je:return s=Bt.FARTHEST_SIDE,!1;case tt:case $e:return s=Bt.CLOSEST_CORNER,!1;case At:return s=Bt.FARTHEST_CORNER,!1}else if(YA(e)||qA(e))return Array.isArray(s)||(s=[]),s.push(e),!1;return A},t)}if(t){var n=de(A);o.push(n)}}),{size:s,shape:B,stops:o,position:i,type:xe.RADIAL_GRADIENT}},"-moz-radial-gradient":Pe,"-ms-radial-gradient":Pe,"-o-radial-gradient":Pe,"-webkit-radial-gradient":Pe,"-webkit-gradient":function(A){var e=Qe(180),s=[],o=xe.LINEAR_GRADIENT,t=rt.CIRCLE,r=Bt.FARTHEST_CORNER;return WA(A).forEach(function(A,e){var t=A[0];if(0===e){if(zA(t)&&"linear"===t.value)return void(o=xe.LINEAR_GRADIENT);if(zA(t)&&"radial"===t.value)return void(o=xe.RADIAL_GRADIENT)}if(t.type===sA.FUNCTION)if("from"===t.name){var r=we(t.values[0]);s.push({stop:se,color:r})}else if("to"===t.name)r=we(t.values[0]),s.push({stop:ie,color:r});else if("color-stop"===t.name){var n=t.values.filter(kA);if(2===n.length){r=we(n[1]);var B=n[0];VA(B)&&s.push({stop:{type:sA.PERCENTAGE_TOKEN,number:100*B.number,flags:B.flags},color:r})}}}),o===xe.LINEAR_GRADIENT?{angle:(e+Qe(180))%Qe(360),stops:s,type:o}:{size:r,shape:t,stops:s,position:[],type:o}}},Qt={name:"background-image",initialValue:"none",type:Ce.LIST,prefix:!1,parse:function(A){if(0===A.length)return[];var e=A[0];return e.type===sA.IDENT_TOKEN&&"none"===e.value?[]:A.filter(function(A){return kA(A)&&function(A){return A.type!==sA.FUNCTION||ct[A.name]}(A)}).map(ot)}},wt={name:"background-origin",initialValue:"border-box",prefix:!1,type:Ce.LIST,parse:function(A){return A.map(function(A){if(zA(A))switch(A.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},ut={name:"background-position",initialValue:"0% 0%",type:Ce.LIST,prefix:!1,parse:function(A){return WA(A).map(function(A){return A.filter(qA)}).map(ZA)}};(at=it||(it={}))[at.REPEAT=0]="REPEAT",at[at.NO_REPEAT=1]="NO_REPEAT",at[at.REPEAT_X=2]="REPEAT_X";var Ut,lt,Ct={name:"background-repeat",initialValue:"repeat",prefix:!(at[at.REPEAT_Y=3]="REPEAT_Y"),type:Ce.LIST,parse:function(A){return WA(A).map(function(A){return A.filter(zA).map(function(A){return A.value}).join(" ")}).map(gt)}},gt=function(A){switch(A){case"no-repeat":return it.NO_REPEAT;case"repeat-x":case"repeat no-repeat":return it.REPEAT_X;case"repeat-y":case"no-repeat repeat":return it.REPEAT_Y;case"repeat":default:return it.REPEAT}};(lt=Ut||(Ut={})).AUTO="auto",lt.CONTAIN="contain";function Et(A){return{name:"border-"+A+"-color",initialValue:"transparent",prefix:!1,type:Ce.TYPE_VALUE,format:"color"}}function Ft(A){return{name:"border-radius-"+A,initialValue:"0 0",prefix:!1,type:Ce.LIST,parse:function(A){return ZA(A.filter(qA))}}}var ht,Ht,dt={name:"background-size",initialValue:"0",prefix:!(lt.COVER="cover"),type:Ce.LIST,parse:function(A){return WA(A).map(function(A){return A.filter(ft)})}},ft=function(A){return zA(A)||qA(A)},pt=Et("top"),Nt=Et("right"),Kt=Et("bottom"),It=Et("left"),Tt=Ft("top-left"),mt=Ft("top-right"),Rt=Ft("bottom-right"),Lt=Ft("bottom-left");(Ht=ht||(ht={}))[Ht.NONE=0]="NONE",Ht[Ht.SOLID=1]="SOLID";function vt(A){return{name:"border-"+A+"-style",initialValue:"solid",prefix:!1,type:Ce.IDENT_VALUE,parse:function(A){switch(A){case"none":return ht.NONE}return ht.SOLID}}}function Ot(A){return{name:"border-"+A+"-width",initialValue:"0",type:Ce.VALUE,prefix:!1,parse:function(A){return xA(A)?A.number:0}}}var Dt,bt,St=vt("top"),Mt=vt("right"),yt=vt("bottom"),_t=vt("left"),Pt=Ot("top"),xt=Ot("right"),Vt=Ot("bottom"),zt=Ot("left"),Xt={name:"color",initialValue:"transparent",prefix:!1,type:Ce.TYPE_VALUE,format:"color"},Jt={name:"display",initialValue:"inline-block",prefix:!1,type:Ce.LIST,parse:function(A){return A.filter(zA).reduce(function(A,e){return A|Gt(e.value)},0)}},Gt=function(A){switch(A){case"block":return 2;case"inline":return 4;case"run-in":return 8;case"flow":return 16;case"flow-root":return 32;case"table":return 64;case"flex":case"-webkit-flex":return 128;case"grid":case"-ms-grid":return 256;case"ruby":return 512;case"subgrid":return 1024;case"list-item":return 2048;case"table-row-group":return 4096;case"table-header-group":return 8192;case"table-footer-group":return 16384;case"table-row":return 32768;case"table-cell":return 65536;case"table-column-group":return 131072;case"table-column":return 262144;case"table-caption":return 524288;case"ruby-base":return 1048576;case"ruby-text":return 2097152;case"ruby-base-container":return 4194304;case"ruby-text-container":return 8388608;case"contents":return 16777216;case"inline-block":return 33554432;case"inline-list-item":return 67108864;case"inline-table":return 134217728;case"inline-flex":return 268435456;case"inline-grid":return 536870912}return 0};(bt=Dt||(Dt={}))[bt.NONE=0]="NONE",bt[bt.LEFT=1]="LEFT",bt[bt.RIGHT=2]="RIGHT",bt[bt.INLINE_START=3]="INLINE_START";var kt,Wt,Yt,qt,Zt={name:"float",initialValue:"none",prefix:!(bt[bt.INLINE_END=4]="INLINE_END"),type:Ce.IDENT_VALUE,parse:function(A){switch(A){case"left":return Dt.LEFT;case"right":return Dt.RIGHT;case"inline-start":return Dt.INLINE_START;case"inline-end":return Dt.INLINE_END}return Dt.NONE}},jt={name:"letter-spacing",initialValue:"0",prefix:!1,type:Ce.VALUE,parse:function(A){return A.type===sA.IDENT_TOKEN&&"normal"===A.value?0:A.type===sA.NUMBER_TOKEN?A.number:A.type===sA.DIMENSION_TOKEN?A.number:0}},$t={name:"line-break",initialValue:(Wt=kt||(kt={})).NORMAL="normal",prefix:!(Wt.STRICT="strict"),type:Ce.IDENT_VALUE,parse:function(A){switch(A){case"strict":return kt.STRICT;case"normal":default:return kt.NORMAL}}},Ar={name:"line-height",initialValue:"normal",prefix:!1,type:Ce.TOKEN_VALUE},er={name:"list-style-image",initialValue:"none",type:Ce.VALUE,prefix:!1,parse:function(A){return A.type===sA.IDENT_TOKEN&&"none"===A.value?null:ot(A)}};(qt=Yt||(Yt={}))[qt.INSIDE=0]="INSIDE";var tr,rr,nr={name:"list-style-position",initialValue:"outside",prefix:!(qt[qt.OUTSIDE=1]="OUTSIDE"),type:Ce.IDENT_VALUE,parse:function(A){switch(A){case"inside":return Yt.INSIDE;case"outside":default:return Yt.OUTSIDE}}};(rr=tr||(tr={}))[rr.NONE=-1]="NONE",rr[rr.DISC=0]="DISC",rr[rr.CIRCLE=1]="CIRCLE",rr[rr.SQUARE=2]="SQUARE",rr[rr.DECIMAL=3]="DECIMAL",rr[rr.CJK_DECIMAL=4]="CJK_DECIMAL",rr[rr.DECIMAL_LEADING_ZERO=5]="DECIMAL_LEADING_ZERO",rr[rr.LOWER_ROMAN=6]="LOWER_ROMAN",rr[rr.UPPER_ROMAN=7]="UPPER_ROMAN",rr[rr.LOWER_GREEK=8]="LOWER_GREEK",rr[rr.LOWER_ALPHA=9]="LOWER_ALPHA",rr[rr.UPPER_ALPHA=10]="UPPER_ALPHA",rr[rr.ARABIC_INDIC=11]="ARABIC_INDIC",rr[rr.ARMENIAN=12]="ARMENIAN",rr[rr.BENGALI=13]="BENGALI",rr[rr.CAMBODIAN=14]="CAMBODIAN",rr[rr.CJK_EARTHLY_BRANCH=15]="CJK_EARTHLY_BRANCH",rr[rr.CJK_HEAVENLY_STEM=16]="CJK_HEAVENLY_STEM",rr[rr.CJK_IDEOGRAPHIC=17]="CJK_IDEOGRAPHIC",rr[rr.DEVANAGARI=18]="DEVANAGARI",rr[rr.ETHIOPIC_NUMERIC=19]="ETHIOPIC_NUMERIC",rr[rr.GEORGIAN=20]="GEORGIAN",rr[rr.GUJARATI=21]="GUJARATI",rr[rr.GURMUKHI=22]="GURMUKHI",rr[rr.HEBREW=22]="HEBREW",rr[rr.HIRAGANA=23]="HIRAGANA",rr[rr.HIRAGANA_IROHA=24]="HIRAGANA_IROHA",rr[rr.JAPANESE_FORMAL=25]="JAPANESE_FORMAL",rr[rr.JAPANESE_INFORMAL=26]="JAPANESE_INFORMAL",rr[rr.KANNADA=27]="KANNADA",rr[rr.KATAKANA=28]="KATAKANA",rr[rr.KATAKANA_IROHA=29]="KATAKANA_IROHA",rr[rr.KHMER=30]="KHMER",rr[rr.KOREAN_HANGUL_FORMAL=31]="KOREAN_HANGUL_FORMAL",rr[rr.KOREAN_HANJA_FORMAL=32]="KOREAN_HANJA_FORMAL",rr[rr.KOREAN_HANJA_INFORMAL=33]="KOREAN_HANJA_INFORMAL",rr[rr.LAO=34]="LAO",rr[rr.LOWER_ARMENIAN=35]="LOWER_ARMENIAN",rr[rr.MALAYALAM=36]="MALAYALAM",rr[rr.MONGOLIAN=37]="MONGOLIAN",rr[rr.MYANMAR=38]="MYANMAR",rr[rr.ORIYA=39]="ORIYA",rr[rr.PERSIAN=40]="PERSIAN",rr[rr.SIMP_CHINESE_FORMAL=41]="SIMP_CHINESE_FORMAL",rr[rr.SIMP_CHINESE_INFORMAL=42]="SIMP_CHINESE_INFORMAL",rr[rr.TAMIL=43]="TAMIL",rr[rr.TELUGU=44]="TELUGU",rr[rr.THAI=45]="THAI",rr[rr.TIBETAN=46]="TIBETAN",rr[rr.TRAD_CHINESE_FORMAL=47]="TRAD_CHINESE_FORMAL",rr[rr.TRAD_CHINESE_INFORMAL=48]="TRAD_CHINESE_INFORMAL",rr[rr.UPPER_ARMENIAN=49]="UPPER_ARMENIAN",rr[rr.DISCLOSURE_OPEN=50]="DISCLOSURE_OPEN";function Br(A){return{name:"margin-"+A,initialValue:"0",prefix:!1,type:Ce.TOKEN_VALUE}}var sr,or,ir={name:"list-style-type",initialValue:"none",prefix:!(rr[rr.DISCLOSURE_CLOSED=51]="DISCLOSURE_CLOSED"),type:Ce.IDENT_VALUE,parse:function(A){switch(A){case"disc":return tr.DISC;case"circle":return tr.CIRCLE;case"square":return tr.SQUARE;case"decimal":return tr.DECIMAL;case"cjk-decimal":return tr.CJK_DECIMAL;case"decimal-leading-zero":return tr.DECIMAL_LEADING_ZERO;case"lower-roman":return tr.LOWER_ROMAN;case"upper-roman":return tr.UPPER_ROMAN;case"lower-greek":return tr.LOWER_GREEK;case"lower-alpha":return tr.LOWER_ALPHA;case"upper-alpha":return tr.UPPER_ALPHA;case"arabic-indic":return tr.ARABIC_INDIC;case"armenian":return tr.ARMENIAN;case"bengali":return tr.BENGALI;case"cambodian":return tr.CAMBODIAN;case"cjk-earthly-branch":return tr.CJK_EARTHLY_BRANCH;case"cjk-heavenly-stem":return tr.CJK_HEAVENLY_STEM;case"cjk-ideographic":return tr.CJK_IDEOGRAPHIC;case"devanagari":return tr.DEVANAGARI;case"ethiopic-numeric":return tr.ETHIOPIC_NUMERIC;case"georgian":return tr.GEORGIAN;case"gujarati":return tr.GUJARATI;case"gurmukhi":return tr.GURMUKHI;case"hebrew":return tr.HEBREW;case"hiragana":return tr.HIRAGANA;case"hiragana-iroha":return tr.HIRAGANA_IROHA;case"japanese-formal":return tr.JAPANESE_FORMAL;case"japanese-informal":return tr.JAPANESE_INFORMAL;case"kannada":return tr.KANNADA;case"katakana":return tr.KATAKANA;case"katakana-iroha":return tr.KATAKANA_IROHA;case"khmer":return tr.KHMER;case"korean-hangul-formal":return tr.KOREAN_HANGUL_FORMAL;case"korean-hanja-formal":return tr.KOREAN_HANJA_FORMAL;case"korean-hanja-informal":return tr.KOREAN_HANJA_INFORMAL;case"lao":return tr.LAO;case"lower-armenian":return tr.LOWER_ARMENIAN;case"malayalam":return tr.MALAYALAM;case"mongolian":return tr.MONGOLIAN;case"myanmar":return tr.MYANMAR;case"oriya":return tr.ORIYA;case"persian":return tr.PERSIAN;case"simp-chinese-formal":return tr.SIMP_CHINESE_FORMAL;case"simp-chinese-informal":return tr.SIMP_CHINESE_INFORMAL;case"tamil":return tr.TAMIL;case"telugu":return tr.TELUGU;case"thai":return tr.THAI;case"tibetan":return tr.TIBETAN;case"trad-chinese-formal":return tr.TRAD_CHINESE_FORMAL;case"trad-chinese-informal":return tr.TRAD_CHINESE_INFORMAL;case"upper-armenian":return tr.UPPER_ARMENIAN;case"disclosure-open":return tr.DISCLOSURE_OPEN;case"disclosure-closed":return tr.DISCLOSURE_CLOSED;case"none":default:return tr.NONE}}},ar=Br("top"),cr=Br("right"),Qr=Br("bottom"),wr=Br("left");(or=sr||(sr={}))[or.VISIBLE=0]="VISIBLE",or[or.HIDDEN=1]="HIDDEN",or[or.SCROLL=2]="SCROLL";function ur(A){return{name:"padding-"+A,initialValue:"0",prefix:!1,type:Ce.TYPE_VALUE,format:"length-percentage"}}var Ur,lr,Cr,gr,Er={name:"overflow",initialValue:"visible",prefix:!(or[or.AUTO=3]="AUTO"),type:Ce.LIST,parse:function(A){return A.filter(zA).map(function(A){switch(A.value){case"hidden":return sr.HIDDEN;case"scroll":return sr.SCROLL;case"auto":return sr.AUTO;case"visible":default:return sr.VISIBLE}})}},Fr={name:"overflow-wrap",initialValue:(lr=Ur||(Ur={})).NORMAL="normal",prefix:!(lr.BREAK_WORD="break-word"),type:Ce.IDENT_VALUE,parse:function(A){switch(A){case"break-word":return Ur.BREAK_WORD;case"normal":default:return Ur.NORMAL}}},hr=ur("top"),Hr=ur("right"),dr=ur("bottom"),fr=ur("left");(gr=Cr||(Cr={}))[gr.LEFT=0]="LEFT",gr[gr.CENTER=1]="CENTER";var pr,Nr,Kr={name:"text-align",initialValue:"left",prefix:!(gr[gr.RIGHT=2]="RIGHT"),type:Ce.IDENT_VALUE,parse:function(A){switch(A){case"right":return Cr.RIGHT;case"center":case"justify":return Cr.CENTER;case"left":default:return Cr.LEFT}}};(Nr=pr||(pr={}))[Nr.STATIC=0]="STATIC",Nr[Nr.RELATIVE=1]="RELATIVE",Nr[Nr.ABSOLUTE=2]="ABSOLUTE",Nr[Nr.FIXED=3]="FIXED";var Ir,Tr,mr={name:"position",initialValue:"static",prefix:!(Nr[Nr.STICKY=4]="STICKY"),type:Ce.IDENT_VALUE,parse:function(A){switch(A){case"relative":return pr.RELATIVE;case"absolute":return pr.ABSOLUTE;case"fixed":return pr.FIXED;case"sticky":return pr.STICKY}return pr.STATIC}},Rr={name:"text-shadow",initialValue:"none",type:Ce.LIST,prefix:!1,parse:function(A){return 1===A.length&&JA(A[0],"none")?[]:WA(A).map(function(A){for(var e={color:He.TRANSPARENT,offsetX:se,offsetY:se,blur:se},t=0,r=0;r<A.length;r++){var n=A[r];YA(n)?(0===t?e.offsetX=n:1===t?e.offsetY=n:e.blur=n,t++):e.color=we(n)}return e})}};(Tr=Ir||(Ir={}))[Tr.NONE=0]="NONE",Tr[Tr.LOWERCASE=1]="LOWERCASE",Tr[Tr.UPPERCASE=2]="UPPERCASE";var Lr,vr,Or={name:"text-transform",initialValue:"none",prefix:!(Tr[Tr.CAPITALIZE=3]="CAPITALIZE"),type:Ce.IDENT_VALUE,parse:function(A){switch(A){case"uppercase":return Ir.UPPERCASE;case"lowercase":return Ir.LOWERCASE;case"capitalize":return Ir.CAPITALIZE}return Ir.NONE}},Dr={name:"transform",initialValue:"none",prefix:!0,type:Ce.VALUE,parse:function(A){if(A.type===sA.IDENT_TOKEN&&"none"===A.value)return null;if(A.type!==sA.FUNCTION)return null;var e=br[A.name];if(void 0===e)throw new Error('Attempting to parse an unsupported transform function "'+A.name+'"');return e(A.values)}},br={matrix:function(A){var e=A.filter(function(A){return A.type===sA.NUMBER_TOKEN}).map(function(A){return A.number});return 6===e.length?e:null},matrix3d:function(A){var e=A.filter(function(A){return A.type===sA.NUMBER_TOKEN}).map(function(A){return A.number}),t=e[0],r=e[1],n=(e[2],e[3],e[4]),B=e[5],s=(e[6],e[7],e[8],e[9],e[10],e[11],e[12]),o=e[13];e[14],e[15];return 16===e.length?[t,r,n,B,s,o]:null}},Sr={type:sA.PERCENTAGE_TOKEN,number:50,flags:4},Mr=[Sr,Sr],yr={name:"transform-origin",initialValue:"50% 50%",prefix:!0,type:Ce.LIST,parse:function(A){var e=A.filter(qA);return 2!==e.length?Mr:[e[0],e[1]]}};(vr=Lr||(Lr={}))[vr.VISIBLE=0]="VISIBLE",vr[vr.HIDDEN=1]="HIDDEN";var _r,Pr,xr={name:"visible",initialValue:"none",prefix:!(vr[vr.COLLAPSE=2]="COLLAPSE"),type:Ce.IDENT_VALUE,parse:function(A){switch(A){case"hidden":return Lr.HIDDEN;case"collapse":return Lr.COLLAPSE;case"visible":default:return Lr.VISIBLE}}};(Pr=_r||(_r={})).NORMAL="normal",Pr.BREAK_ALL="break-all";var Vr,zr,Xr={name:"word-break",initialValue:"normal",prefix:!(Pr.KEEP_ALL="keep-all"),type:Ce.IDENT_VALUE,parse:function(A){switch(A){case"break-all":return _r.BREAK_ALL;case"keep-all":return _r.KEEP_ALL;case"normal":default:return _r.NORMAL}}},Jr={name:"z-index",initialValue:"auto",prefix:!1,type:Ce.VALUE,parse:function(A){if(A.type===sA.IDENT_TOKEN)return{auto:!0,order:0};if(VA(A))return{auto:!1,order:A.number};throw new Error("Invalid z-index number parsed")}},Gr={name:"opacity",initialValue:"1",type:Ce.VALUE,prefix:!1,parse:function(A){return VA(A)?A.number:1}},kr={name:"text-decoration-color",initialValue:"transparent",prefix:!1,type:Ce.TYPE_VALUE,format:"color"},Wr={name:"text-decoration-line",initialValue:"none",prefix:!1,type:Ce.LIST,parse:function(A){return A.filter(zA).map(function(A){switch(A.value){case"underline":return 1;case"overline":return 2;case"line-through":return 3;case"none":return 4}return 0}).filter(function(A){return 0!==A})}},Yr={name:"font-family",initialValue:"",prefix:!1,type:Ce.LIST,parse:function(A){return A.filter(qr).map(function(A){return A.value})}},qr=function(A){return A.type===sA.STRING_TOKEN||A.type===sA.IDENT_TOKEN},Zr={name:"font-size",initialValue:"0",prefix:!1,type:Ce.TYPE_VALUE,format:"length"},jr={name:"font-weight",initialValue:"normal",type:Ce.VALUE,prefix:!1,parse:function(A){if(VA(A))return A.number;if(zA(A))switch(A.value){case"bold":return 700;case"normal":default:return 400}return 400}},$r={name:"font-variant",initialValue:"none",type:Ce.LIST,prefix:!1,parse:function(A){return A.filter(zA).map(function(A){return A.value})}};(zr=Vr||(Vr={})).NORMAL="normal",zr.ITALIC="italic";function An(A,e){return 0!=(A&e)}function en(A,e,t){if(!A)return"";var r=A[Math.min(e,A.length-1)];return r?t?r.open:r.close:""}var tn={name:"font-style",initialValue:"normal",prefix:!(zr.OBLIQUE="oblique"),type:Ce.IDENT_VALUE,parse:function(A){switch(A){case"oblique":return Vr.OBLIQUE;case"italic":return Vr.ITALIC;case"normal":default:return Vr.NORMAL}}},rn={name:"content",initialValue:"none",type:Ce.LIST,prefix:!1,parse:function(A){if(0===A.length)return[];var e=A[0];return e.type===sA.IDENT_TOKEN&&"none"===e.value?[]:A}},nn={name:"counter-increment",initialValue:"none",prefix:!0,type:Ce.LIST,parse:function(A){if(0===A.length)return null;var e=A[0];if(e.type===sA.IDENT_TOKEN&&"none"===e.value)return null;for(var t=[],r=A.filter(GA),n=0;n<r.length;n++){var B=r[n],s=r[n+1];if(B.type===sA.IDENT_TOKEN){var o=s&&VA(s)?s.number:1;t.push({counter:B.value,increment:o})}}return t}},Bn={name:"counter-reset",initialValue:"none",prefix:!0,type:Ce.LIST,parse:function(A){if(0===A.length)return[];for(var e=[],t=A.filter(GA),r=0;r<t.length;r++){var n=t[r],B=t[r+1];if(zA(n)&&"none"!==n.value){var s=B&&VA(B)?B.number:0;e.push({counter:n.value,reset:s})}}return e}},sn={name:"quotes",initialValue:"none",prefix:!0,type:Ce.LIST,parse:function(A){if(0===A.length)return null;var e=A[0];if(e.type===sA.IDENT_TOKEN&&"none"===e.value)return null;var t=[],r=A.filter(XA);if(r.length%2!=0)return null;for(var n=0;n<r.length;n+=2){var B=r[n].value,s=r[n+1].value;t.push({open:B,close:s})}return t}},on={name:"box-shadow",initialValue:"none",type:Ce.LIST,prefix:!1,parse:function(A){return 1===A.length&&JA(A[0],"none")?[]:WA(A).map(function(A){for(var e={color:255,offsetX:se,offsetY:se,blur:se,spread:se,inset:!1},t=0,r=0;r<A.length;r++){var n=A[r];JA(n,"inset")?e.inset=!0:YA(n)?(0===t?e.offsetX=n:1===t?e.offsetY=n:2===t?e.blur=n:e.spread=n,t++):e.color=we(n)}return e})}},an=(cn.prototype.isVisible=function(){return 0<this.display&&0<this.opacity&&this.visibility===Lr.VISIBLE},cn.prototype.isTransparent=function(){return ee(this.backgroundColor)},cn.prototype.isTransformed=function(){return null!==this.transform},cn.prototype.isPositioned=function(){return this.position!==pr.STATIC},cn.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},cn.prototype.isFloating=function(){return this.float!==Dt.NONE},cn.prototype.isInlineLevel=function(){return An(this.display,4)||An(this.display,33554432)||An(this.display,268435456)||An(this.display,536870912)||An(this.display,67108864)||An(this.display,134217728)},cn);function cn(A){this.backgroundClip=Un(me,A.backgroundClip),this.backgroundColor=Un(Re,A.backgroundColor),this.backgroundImage=Un(Qt,A.backgroundImage),this.backgroundOrigin=Un(wt,A.backgroundOrigin),this.backgroundPosition=Un(ut,A.backgroundPosition),this.backgroundRepeat=Un(Ct,A.backgroundRepeat),this.backgroundSize=Un(dt,A.backgroundSize),this.borderTopColor=Un(pt,A.borderTopColor),this.borderRightColor=Un(Nt,A.borderRightColor),this.borderBottomColor=Un(Kt,A.borderBottomColor),this.borderLeftColor=Un(It,A.borderLeftColor),this.borderTopLeftRadius=Un(Tt,A.borderTopLeftRadius),this.borderTopRightRadius=Un(mt,A.borderTopRightRadius),this.borderBottomRightRadius=Un(Rt,A.borderBottomRightRadius),this.borderBottomLeftRadius=Un(Lt,A.borderBottomLeftRadius),this.borderTopStyle=Un(St,A.borderTopStyle),this.borderRightStyle=Un(Mt,A.borderRightStyle),this.borderBottomStyle=Un(yt,A.borderBottomStyle),this.borderLeftStyle=Un(_t,A.borderLeftStyle),this.borderTopWidth=Un(Pt,A.borderTopWidth),this.borderRightWidth=Un(xt,A.borderRightWidth),this.borderBottomWidth=Un(Vt,A.borderBottomWidth),this.borderLeftWidth=Un(zt,A.borderLeftWidth),this.boxShadow=Un(on,A.boxShadow),this.color=Un(Xt,A.color),this.display=Un(Jt,A.display),this.float=Un(Zt,A.cssFloat),this.fontFamily=Un(Yr,A.fontFamily),this.fontSize=Un(Zr,A.fontSize),this.fontStyle=Un(tn,A.fontStyle),this.fontVariant=Un($r,A.fontVariant),this.fontWeight=Un(jr,A.fontWeight),this.letterSpacing=Un(jt,A.letterSpacing),this.lineBreak=Un($t,A.lineBreak),this.lineHeight=Un(Ar,A.lineHeight),this.listStyleImage=Un(er,A.listStyleImage),this.listStylePosition=Un(nr,A.listStylePosition),this.listStyleType=Un(ir,A.listStyleType),this.marginTop=Un(ar,A.marginTop),this.marginRight=Un(cr,A.marginRight),this.marginBottom=Un(Qr,A.marginBottom),this.marginLeft=Un(wr,A.marginLeft),this.opacity=Un(Gr,A.opacity);var e=Un(Er,A.overflow);this.overflowX=e[0],this.overflowY=e[1<e.length?1:0],this.overflowWrap=Un(Fr,A.overflowWrap),this.paddingTop=Un(hr,A.paddingTop),this.paddingRight=Un(Hr,A.paddingRight),this.paddingBottom=Un(dr,A.paddingBottom),this.paddingLeft=Un(fr,A.paddingLeft),this.position=Un(mr,A.position),this.textAlign=Un(Kr,A.textAlign),this.textDecorationColor=Un(kr,A.textDecorationColor||A.color),this.textDecorationLine=Un(Wr,A.textDecorationLine),this.textShadow=Un(Rr,A.textShadow),this.textTransform=Un(Or,A.textTransform),this.transform=Un(Dr,A.transform),this.transformOrigin=Un(yr,A.transformOrigin),this.visibility=Un(xr,A.visibility),this.wordBreak=Un(Xr,A.wordBreak),this.zIndex=Un(Jr,A.zIndex)}var Qn,wn=function(A){this.content=Un(rn,A.content),this.quotes=Un(sn,A.quotes)},un=function(A){this.counterIncrement=Un(nn,A.counterIncrement),this.counterReset=Un(Bn,A.counterReset)},Un=function(A,e){var t=new MA,r=null!=e?e.toString():A.initialValue;t.write(r);var n=new _A(t.read());switch(A.type){case Ce.IDENT_VALUE:var B=n.parseComponentValue();return A.parse(zA(B)?B.value:A.initialValue);case Ce.VALUE:return A.parse(n.parseComponentValue());case Ce.LIST:return A.parse(n.parseComponentValues());case Ce.TOKEN_VALUE:return n.parseComponentValue();case Ce.TYPE_VALUE:switch(A.format){case"angle":return ce(n.parseComponentValue());case"color":return we(n.parseComponentValue());case"image":return ot(n.parseComponentValue());case"length":var s=n.parseComponentValue();return YA(s)?s:se;case"length-percentage":var o=n.parseComponentValue();return qA(o)?o:se}}throw new Error("Attempting to parse unsupported css format type "+A.format)},ln=function(A){this.styles=new an(window.getComputedStyle(A,null)),this.textNodes=[],this.elements=[],null!==this.styles.transform&&uB(A)&&(A.style.transform="none"),this.bounds=T(A),this.flags=0},Cn=function(A,e){this.text=A,this.bounds=e},gn=function(A){var e=A.ownerDocument;if(e){var t=e.createElement("html2canvaswrapper");t.appendChild(A.cloneNode(!0));var r=A.parentNode;if(r){r.replaceChild(t,A);var n=T(t);return t.firstChild&&r.replaceChild(t.firstChild,t),n}}return new I(0,0,0,0)},En=function(A,e,t){var r=A.ownerDocument;if(!r)throw new Error("Node has no owner document");var n=r.createRange();return n.setStart(A,e),n.setEnd(A,e+t),I.fromClientRect(n.getBoundingClientRect())},Fn=function(A,e){return 0!==e.letterSpacing?c(A).map(function(A){return l(A)}):hn(A,e)},hn=function(A,e){for(var t,r=function(A,e){var t=c(A),r=u(t,e),n=r[0],B=r[1],s=r[2],o=t.length,i=0,a=0;return{next:function(){if(o<=a)return{done:!0,value:null};for(var A=Y;a<o&&(A=w(t,B,n,++a,s))===Y;);if(A===Y&&a!==o)return{done:!0,value:null};var e=new nA(t,A,i,a);return i=a,{value:e,done:!1}}}}(A,{lineBreak:e.lineBreak,wordBreak:e.overflowWrap===Ur.BREAK_WORD?"break-word":e.wordBreak}),n=[];!(t=r.next()).done;)t.value&&n.push(t.value.slice());return n},Hn=function(A,e){this.text=dn(A.data,e.textTransform),this.textBounds=function(A,t,r){var e=Fn(A,t),n=[],B=0;return e.forEach(function(A){if(t.textDecorationLine.length||0<A.trim().length)if(Oe.SUPPORT_RANGE_BOUNDS)n.push(new Cn(A,En(r,B,A.length)));else{var e=r.splitText(A.length);n.push(new Cn(A,gn(r))),r=e}else Oe.SUPPORT_RANGE_BOUNDS||(r=r.splitText(A.length));B+=A.length}),n}(this.text,e,A)},dn=function(A,e){switch(e){case Ir.LOWERCASE:return A.toLowerCase();case Ir.CAPITALIZE:return A.replace(fn,pn);case Ir.UPPERCASE:return A.toUpperCase();default:return A}},fn=/(^|\s|:|-|\(|\))([a-z])/g,pn=function(A,e,t){return 0<A.length?e+t.toUpperCase():A},Nn=(A(Kn,Qn=ln),Kn);function Kn(A){var e=Qn.call(this,A)||this;return e.src=A.currentSrc||A.src,e.intrinsicWidth=A.naturalWidth,e.intrinsicHeight=A.naturalHeight,Se.getInstance().addImage(e.src),e}var In,Tn=(A(mn,In=ln),mn);function mn(A){var e=In.call(this,A)||this;return e.canvas=A,e.intrinsicWidth=A.width,e.intrinsicHeight=A.height,e}var Rn,Ln=(A(vn,Rn=ln),vn);function vn(A){var e=Rn.call(this,A)||this,t=new XMLSerializer;return e.svg="data:image/svg+xml,"+encodeURIComponent(t.serializeToString(A)),e.intrinsicWidth=A.width.baseVal.value,e.intrinsicHeight=A.height.baseVal.value,Se.getInstance().addImage(e.svg),e}var On,Dn=(A(bn,On=ln),bn);function bn(A){var e=On.call(this,A)||this;return e.value=A.value,e}var Sn,Mn=(A(yn,Sn=ln),yn);function yn(A){var e=Sn.call(this,A)||this;return e.start=A.start,e.reversed="boolean"==typeof A.reversed&&!0===A.reversed,e}var _n,Pn=[{type:sA.DIMENSION_TOKEN,flags:0,unit:"px",number:3}],xn=[{type:sA.PERCENTAGE_TOKEN,flags:0,number:50}],Vn="checkbox",zn="radio",Xn="password",Jn=707406591,Gn=(A(kn,_n=ln),kn);function kn(A){var e=_n.call(this,A)||this;switch(e.type=A.type.toLowerCase(),e.checked=A.checked,e.value=function(A){var e=A.type===Xn?new Array(A.value.length+1).join("•"):A.value;return 0===e.length?A.placeholder||"":e}(A),e.type!==Vn&&e.type!==zn||(e.styles.backgroundColor=3739148031,e.styles.borderTopColor=e.styles.borderRightColor=e.styles.borderBottomColor=e.styles.borderLeftColor=2779096575,e.styles.borderTopWidth=e.styles.borderRightWidth=e.styles.borderBottomWidth=e.styles.borderLeftWidth=1,e.styles.borderTopStyle=e.styles.borderRightStyle=e.styles.borderBottomStyle=e.styles.borderLeftStyle=ht.SOLID,e.styles.backgroundClip=[Ee.BORDER_BOX],e.styles.backgroundOrigin=[0],e.bounds=function(A){return A.width>A.height?new I(A.left+(A.width-A.height)/2,A.top,A.height,A.height):A.width<A.height?new I(A.left,A.top+(A.height-A.width)/2,A.width,A.width):A}(e.bounds)),e.type){case Vn:e.styles.borderTopRightRadius=e.styles.borderTopLeftRadius=e.styles.borderBottomRightRadius=e.styles.borderBottomLeftRadius=Pn;break;case zn:e.styles.borderTopRightRadius=e.styles.borderTopLeftRadius=e.styles.borderBottomRightRadius=e.styles.borderBottomLeftRadius=xn}return e}var Wn,Yn=(A(qn,Wn=ln),qn);function qn(A){var e=Wn.call(this,A)||this,t=A.options[A.selectedIndex||0];return e.value=t&&t.text||"",e}var Zn,jn=(A($n,Zn=ln),$n);function $n(A){var e=Zn.call(this,A)||this;return e.value=A.value,e}function AB(A){return we(_A.create(A).parseComponentValue())}var eB,tB=(A(rB,eB=ln),rB);function rB(A){var e=eB.call(this,A)||this;e.src=A.src,e.width=parseInt(A.width,10)||0,e.height=parseInt(A.height,10)||0,e.backgroundColor=e.styles.backgroundColor;try{if(A.contentWindow&&A.contentWindow.document&&A.contentWindow.document.documentElement){e.tree=iB(A.contentWindow.document.documentElement);var t=A.contentWindow.document.documentElement?AB(getComputedStyle(A.contentWindow.document.documentElement).backgroundColor):He.TRANSPARENT,r=A.contentWindow.document.body?AB(getComputedStyle(A.contentWindow.document.body).backgroundColor):He.TRANSPARENT;e.backgroundColor=ee(t)?ee(r)?e.styles.backgroundColor:r:t}}catch(A){}return e}function nB(A){return"STYLE"===A.tagName}var BB=["OL","UL","MENU"],sB=function(A,e,t){for(var r=A.firstChild,n=void 0;r;r=n)if(n=r.nextSibling,QB(r)&&0<r.data.trim().length)e.textNodes.push(new Hn(r,e.styles));else if(wB(r)){var B=oB(r);B.styles.isVisible()&&(aB(r,B,t)?B.flags|=4:cB(B.styles)&&(B.flags|=2),-1!==BB.indexOf(r.tagName)&&(B.flags|=8),e.elements.push(B),dB(r)||gB(r)||fB(r)||sB(r,B,t))}},oB=function(A){return hB(A)?new Nn(A):FB(A)?new Tn(A):gB(A)?new Ln(A):UB(A)?new Dn(A):lB(A)?new Mn(A):CB(A)?new Gn(A):fB(A)?new Yn(A):dB(A)?new jn(A):HB(A)?new tB(A):new ln(A)},iB=function(A){var e=oB(A);return e.flags|=4,sB(A,e,e),e},aB=function(A,e,t){return e.styles.isPositionedWithZIndex()||e.styles.opacity<1||e.styles.isTransformed()||EB(A)&&t.styles.isTransparent()},cB=function(A){return A.isPositioned()||A.isFloating()},QB=function(A){return A.nodeType===Node.TEXT_NODE},wB=function(A){return A.nodeType===Node.ELEMENT_NODE},uB=function(A){return void 0!==A.style},UB=function(A){return"LI"===A.tagName},lB=function(A){return"OL"===A.tagName},CB=function(A){return"INPUT"===A.tagName},gB=function(A){return"svg"===A.tagName},EB=function(A){return"BODY"===A.tagName},FB=function(A){return"CANVAS"===A.tagName},hB=function(A){return"IMG"===A.tagName},HB=function(A){return"IFRAME"===A.tagName},dB=function(A){return"TEXTAREA"===A.tagName},fB=function(A){return"SELECT"===A.tagName},pB=(NB.prototype.getCounterValue=function(A){var e=this.counters[A];return e&&e.length?e[e.length-1]:1},NB.prototype.getCounterValues=function(A){var e=this.counters[A];return e||[]},NB.prototype.pop=function(A){var e=this;A.forEach(function(A){return e.counters[A].pop()})},NB.prototype.parse=function(A){var t=this,e=A.counterIncrement,r=A.counterReset,n=!0;null!==e&&e.forEach(function(A){var e=t.counters[A.counter];e&&0!==A.increment&&(n=!1,e[Math.max(0,e.length-1)]+=A.increment)});var B=[];return n&&r.forEach(function(A){var e=t.counters[A.counter];B.push(A.counter),e||(e=t.counters[A.counter]=[]),e.push(A.reset)}),B},NB);function NB(){this.counters={}}function KB(r,A,e,n,t,B){return r<A||e<r?yB(r,t,0<B.length):n.integers.reduce(function(A,e,t){for(;e<=r;)r-=e,A+=n.values[t];return A},"")+B}function IB(A,e,t,r){for(var n="";t||A--,n=r(A)+n,e<=(A/=e)*e;);return n}function TB(A,e,t,r,n){var B=t-e+1;return(A<0?"-":"")+(IB(Math.abs(A),B,r,function(A){return l(Math.floor(A%B)+e)})+n)}function mB(A,e,t){void 0===t&&(t=". ");var r=e.length;return IB(Math.abs(A),r,!1,function(A){return e[Math.floor(A%r)]})+t}function RB(A,e,t,r,n,B){if(A<-9999||9999<A)return yB(A,tr.CJK_DECIMAL,0<n.length);var s=Math.abs(A),o=n;if(0===s)return e[0]+o;for(var i=0;0<s&&i<=4;i++){var a=s%10;0==a&&An(B,1)&&""!==o?o=e[a]+o:1<a||1==a&&0===i||1==a&&1===i&&An(B,2)||1==a&&1===i&&An(B,4)&&100<A||1==a&&1<i&&An(B,8)?o=e[a]+(0<i?t[i-1]:"")+o:1==a&&0<i&&(o=t[i-1]+o),s=Math.floor(s/10)}return(A<0?r:"")+o}var LB,vB,OB={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]},DB={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["Õ”","Õ“","Õ’","Õ‘","Õ","Õ","ÕŽ","Õ","ÕŒ","Õ‹","ÕŠ","Õ‰","Õˆ","Õ‡","Õ†","Õ…","Õ„","Õƒ","Õ‚","Õ","Õ€","Ô¿","Ô¾","Ô½","Ô¼","Ô»","Ôº","Ô¹","Ô¸","Ô·","Ô¶","Ôµ","Ô´","Ô³","Ô²","Ô±"]},bB={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:["י׳","ט׳","ח׳","ז׳","ו׳","ה׳","ד׳","ג׳","ב׳","×׳","ת","ש","ר","×§","צ","פ","×¢","ס","× ","מ","ל","×›","יט","×™×—","×™×–","טז","טו","×™","ט","×—","×–","ו","×”","ד","×’","ב","×"]},SB={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["ჵ","ჰ","ჯ","ჴ","ხ","áƒ","წ","ძ","ც","ჩ","შ","ყ","ღ","ქ","ფ","ჳ","ტ","ს","რ","ჟ","პ","áƒ","ჲ","ნ","მ","ლ","კ","ი","თ","ჱ","ზ","ვ","ე","დ","გ","ბ","áƒ"]},MB="마ì´ë„ˆìФ",yB=function(A,e,t){var r=t?". ":"",n=t?"ã€":"",B=t?", ":"",s=t?" ":"";switch(e){case tr.DISC:return"•"+s;case tr.CIRCLE:return"â—¦"+s;case tr.SQUARE:return"â—¾"+s;case tr.DECIMAL_LEADING_ZERO:var o=TB(A,48,57,!0,r);return o.length<4?"0"+o:o;case tr.CJK_DECIMAL:return mB(A,"〇一二三四五å…七八ä¹",n);case tr.LOWER_ROMAN:return KB(A,1,3999,OB,tr.DECIMAL,r).toLowerCase();case tr.UPPER_ROMAN:return KB(A,1,3999,OB,tr.DECIMAL,r);case tr.LOWER_GREEK:return TB(A,945,969,!1,r);case tr.LOWER_ALPHA:return TB(A,97,122,!1,r);case tr.UPPER_ALPHA:return TB(A,65,90,!1,r);case tr.ARABIC_INDIC:return TB(A,1632,1641,!0,r);case tr.ARMENIAN:case tr.UPPER_ARMENIAN:return KB(A,1,9999,DB,tr.DECIMAL,r);case tr.LOWER_ARMENIAN:return KB(A,1,9999,DB,tr.DECIMAL,r).toLowerCase();case tr.BENGALI:return TB(A,2534,2543,!0,r);case tr.CAMBODIAN:case tr.KHMER:return TB(A,6112,6121,!0,r);case tr.CJK_EARTHLY_BRANCH:return mB(A,"å丑寅å¯è¾°å·³åˆæœªç”³é…‰æˆŒäº¥",n);case tr.CJK_HEAVENLY_STEM:return mB(A,"ç”²ä¹™ä¸™ä¸æˆŠå·±åºšè¾›å£¬ç™¸",n);case tr.CJK_IDEOGRAPHIC:case tr.TRAD_CHINESE_INFORMAL:return RB(A,"零一二三四五å…七八ä¹","å百åƒè¬","è² ",n,14);case tr.TRAD_CHINESE_FORMAL:return RB(A,"零壹貳åƒè‚†ä¼é™¸æŸ’æŒçŽ–","拾佰仟è¬","è² ",n,15);case tr.SIMP_CHINESE_INFORMAL:return RB(A,"零一二三四五å…七八ä¹","å百åƒè¬","è´Ÿ",n,14);case tr.SIMP_CHINESE_FORMAL:return RB(A,"零壹贰å肆ä¼é™†æŸ’æŒçŽ–","拾佰仟è¬","è´Ÿ",n,15);case tr.JAPANESE_INFORMAL:return RB(A,"〇一二三四五å…七八ä¹","å百åƒä¸‡","マイナス",n,0);case tr.JAPANESE_FORMAL:return RB(A,"零壱å¼å‚å››ä¼å…七八ä¹","拾百åƒä¸‡","マイナス",n,7);case tr.KOREAN_HANGUL_FORMAL:return RB(A,"ì˜ì¼ì´ì‚¼ì‚¬ì˜¤ìœ¡ì¹ 팔구","ì‹ë°±ì²œë§Œ",MB,B,7);case tr.KOREAN_HANJA_INFORMAL:return RB(A,"零一二三四五å…七八ä¹","å百åƒè¬",MB,B,0);case tr.KOREAN_HANJA_FORMAL:return RB(A,"零壹貳åƒå››äº”å…七八ä¹","拾百åƒ",MB,B,7);case tr.DEVANAGARI:return TB(A,2406,2415,!0,r);case tr.GEORGIAN:return KB(A,1,19999,SB,tr.DECIMAL,r);case tr.GUJARATI:return TB(A,2790,2799,!0,r);case tr.GURMUKHI:return TB(A,2662,2671,!0,r);case tr.HEBREW:return KB(A,1,10999,bB,tr.DECIMAL,r);case tr.HIRAGANA:return mB(A,"ã‚ã„ã†ãˆãŠã‹ããã‘ã“ã•ã—ã™ã›ããŸã¡ã¤ã¦ã¨ãªã«ã¬ãã®ã¯ã²ãµã¸ã»ã¾ã¿ã‚€ã‚もやゆよらりるれã‚ã‚ã‚ã‚‘ã‚’ã‚“");case tr.HIRAGANA_IROHA:return mB(A,"ã„ã‚ã¯ã«ã»ã¸ã¨ã¡ã‚Šã¬ã‚‹ã‚’ã‚ã‹ã‚ˆãŸã‚Œãã¤ããªã‚‰ã‚€ã†ã‚ã®ãŠãã‚„ã¾ã‘ãµã“ãˆã¦ã‚ã•ãゆã‚ã¿ã—ã‚‘ã²ã‚‚ã›ã™");case tr.KANNADA:return TB(A,3302,3311,!0,r);case tr.KATAKANA:return mB(A,"アイウエオカã‚クケコサシスセソタãƒãƒ„テトナニヌãƒãƒŽãƒãƒ’フヘホマミムメモヤユヨラリルレãƒãƒ¯ãƒ°ãƒ±ãƒ²ãƒ³",n);case tr.KATAKANA_IROHA:return mB(A,"イãƒãƒãƒ‹ãƒ›ãƒ˜ãƒˆãƒãƒªãƒŒãƒ«ãƒ²ãƒ¯ã‚«ãƒ¨ã‚¿ãƒ¬ã‚½ãƒ„ãƒãƒŠãƒ©ãƒ ウヰノオクヤマケフコエテアサã‚ユメミシヱヒモセス",n);case tr.LAO:return TB(A,3792,3801,!0,r);case tr.MONGOLIAN:return TB(A,6160,6169,!0,r);case tr.MYANMAR:return TB(A,4160,4169,!0,r);case tr.ORIYA:return TB(A,2918,2927,!0,r);case tr.PERSIAN:return TB(A,1776,1785,!0,r);case tr.TAMIL:return TB(A,3046,3055,!0,r);case tr.TELUGU:return TB(A,3174,3183,!0,r);case tr.THAI:return TB(A,3664,3673,!0,r);case tr.TIBETAN:return TB(A,3872,3881,!0,r);case tr.DECIMAL:default:return TB(A,48,57,!0,r)}},_B="data-html2canvas-ignore",PB=(xB.prototype.toIFrame=function(A,t){var e=this,r=XB(A,t);if(!r.contentWindow)return Promise.reject("Unable to find iframe window");var n=A.defaultView.pageXOffset,B=A.defaultView.pageYOffset,s=r.contentWindow,o=s.document,i=JB(r).then(function(){return a(e,void 0,void 0,function(){var e;return S(this,function(A){switch(A.label){case 0:return this.scrolledElements.forEach(YB),s&&(s.scrollTo(t.left,t.top),!/(iPad|iPhone|iPod)/g.test(navigator.userAgent)||s.scrollY===t.top&&s.scrollX===t.left||(o.documentElement.style.top=-t.top+"px",o.documentElement.style.left=-t.left+"px",o.documentElement.style.position="absolute")),e=this.options.onclone,void 0===this.clonedReferenceElement?[2,Promise.reject("Error finding the "+this.referenceElement.nodeName+" in the cloned document")]:o.fonts&&o.fonts.ready?[4,o.fonts.ready]:[3,2];case 1:A.sent(),A.label=2;case 2:return"function"==typeof e?[2,Promise.resolve().then(function(){return e(o)}).then(function(){return r})]:[2,r]}})})});return o.open(),o.write(kB(document.doctype)+"<html></html>"),WB(this.referenceElement.ownerDocument,n,B),o.replaceChild(o.adoptNode(this.documentElement),o.documentElement),o.close(),i},xB.prototype.createElementClone=function(A){return FB(A)?this.createCanvasClone(A):nB(A)?this.createStyleClone(A):A.cloneNode(!1)},xB.prototype.createStyleClone=function(A){try{var e=A.sheet;if(e&&e.cssRules){var t=[].slice.call(e.cssRules,0).reduce(function(A,e){return e&&"string"==typeof e.cssText?A+e.cssText:A},""),r=A.cloneNode(!1);return r.textContent=t,r}}catch(A){if(De.getInstance(this.options.id).error("Unable to access cssRules property",A),"SecurityError"!==A.name)throw A}return A.cloneNode(!1)},xB.prototype.createCanvasClone=function(A){if(this.options.inlineImages&&A.ownerDocument){var e=A.ownerDocument.createElement("img");try{return e.src=A.toDataURL(),e}catch(A){De.getInstance(this.options.id).info("Unable to clone canvas contents, canvas is tainted")}}var t=A.cloneNode(!1);try{t.width=A.width,t.height=A.height;var r=A.getContext("2d"),n=t.getContext("2d");return n&&(r?n.putImageData(r.getImageData(0,0,A.width,A.height),0,0):n.drawImage(A,0,0)),t}catch(A){}return t},xB.prototype.cloneNode=function(A){if(QB(A))return document.createTextNode(A.data);if(!A.ownerDocument)return A.cloneNode(!1);var e=A.ownerDocument.defaultView;if(uB(A)&&e){var t=this.createElementClone(A),r=e.getComputedStyle(A),n=e.getComputedStyle(A,":before"),B=e.getComputedStyle(A,":after");this.referenceElement===A&&(this.clonedReferenceElement=t),EB(t)&&$B(t);for(var s=this.counters.parse(new un(r)),o=this.resolvePseudoContent(A,t,n,LB.BEFORE),i=A.firstChild;i;i=i.nextSibling)wB(i)&&("SCRIPT"===i.tagName||i.hasAttribute(_B)||"function"==typeof this.options.ignoreElements&&this.options.ignoreElements(i))||this.options.copyStyles&&wB(i)&&nB(i)||t.appendChild(this.cloneNode(i));o&&t.insertBefore(o,t.firstChild);var a=this.resolvePseudoContent(A,t,B,LB.AFTER);return a&&t.appendChild(a),this.counters.pop(s),r&&this.options.copyStyles&&!HB(A)&&GB(r,t),0===A.scrollTop&&0===A.scrollLeft||this.scrolledElements.push([t,A.scrollLeft,A.scrollTop]),(dB(A)||fB(A))&&(dB(t)||fB(t))&&(t.value=A.value),t}return A.cloneNode(!1)},xB.prototype.resolvePseudoContent=function(U,A,e,t){var l=this;if(e){var r=e.content,C=A.ownerDocument;if(C&&r&&"none"!==r&&"-moz-alt-content"!==r&&"none"!==e.display){this.counters.parse(new un(e));var g=new wn(e),E=C.createElement("html2canvaspseudoelement");GB(e,E),g.content.forEach(function(A){if(A.type===sA.STRING_TOKEN)E.appendChild(C.createTextNode(A.value));else if(A.type===sA.URL_TOKEN){var e=C.createElement("img");e.src=A.value,e.style.opacity="1",E.appendChild(e)}else if(A.type===sA.FUNCTION){if("attr"===A.name){var t=A.values.filter(zA);t.length&&E.appendChild(C.createTextNode(U.getAttribute(t[0].value)||""))}else if("counter"===A.name){var r=A.values.filter(kA),n=r[0],B=r[1];if(n&&zA(n)){var s=l.counters.getCounterValue(n.value),o=B&&zA(B)?ir.parse(B.value):tr.DECIMAL;E.appendChild(C.createTextNode(yB(s,o,!1)))}}else if("counters"===A.name){var i=A.values.filter(kA),a=(n=i[0],i[1]);if(B=i[2],n&&zA(n)){var c=l.counters.getCounterValues(n.value),Q=B&&zA(B)?ir.parse(B.value):tr.DECIMAL,w=a&&a.type===sA.STRING_TOKEN?a.value:"",u=c.map(function(A){return yB(A,Q,!1)}).join(w);E.appendChild(C.createTextNode(u))}}}else if(A.type===sA.IDENT_TOKEN)switch(A.value){case"open-quote":E.appendChild(C.createTextNode(en(g.quotes,l.quoteDepth++,!0)));break;case"close-quote":E.appendChild(C.createTextNode(en(g.quotes,--l.quoteDepth,!1)));break;default:E.appendChild(C.createTextNode(A.value))}}),E.className=qB+" "+ZB;var n=t===LB.BEFORE?" "+qB:" "+ZB;return function(A){return"object"==typeof A.className}(A)?A.className.baseValue+=n:A.className+=n,E}}},xB.destroy=function(A){return!!A.parentNode&&(A.parentNode.removeChild(A),!0)},xB);function xB(A,e){if(this.options=e,this.scrolledElements=[],this.referenceElement=A,this.counters=new pB,this.quoteDepth=0,!A.ownerDocument)throw new Error("Cloned element does not have an owner document");this.documentElement=this.cloneNode(A.ownerDocument.documentElement)}(vB=LB||(LB={}))[vB.BEFORE=0]="BEFORE",vB[vB.AFTER=1]="AFTER";var VB,zB,XB=function(A,e){var t=A.createElement("iframe");return t.className="html2canvas-container",t.style.visibility="hidden",t.style.position="fixed",t.style.left="-10000px",t.style.top="0px",t.style.border="0",t.width=e.width.toString(),t.height=e.height.toString(),t.scrolling="no",t.setAttribute(_B,"true"),A.body.appendChild(t),t},JB=function(n){return new Promise(function(e,A){var t=n.contentWindow;if(!t)return A("No window assigned for iframe");var r=t.document;t.onload=n.onload=r.onreadystatechange=function(){t.onload=n.onload=r.onreadystatechange=null;var A=setInterval(function(){0<r.body.childNodes.length&&"complete"===r.readyState&&(clearInterval(A),e(n))},50)}})},GB=function(A,e){for(var t=A.length-1;0<=t;t--){var r=A.item(t);"content"!==r&&e.style.setProperty(r,A.getPropertyValue(r))}return e},kB=function(A){var e="";return A&&(e+="<!DOCTYPE ",A.name&&(e+=A.name),A.internalSubset&&(e+=A.internalSubset),A.publicId&&(e+='"'+A.publicId+'"'),A.systemId&&(e+='"'+A.systemId+'"'),e+=">"),e},WB=function(A,e,t){A&&A.defaultView&&(e!==A.defaultView.pageXOffset||t!==A.defaultView.pageYOffset)&&A.defaultView.scrollTo(e,t)},YB=function(A){var e=A[0],t=A[1],r=A[2];e.scrollLeft=t,e.scrollTop=r},qB="___html2canvas___pseudoelement_before",ZB="___html2canvas___pseudoelement_after",jB='{\n content: "" !important;\n display: none !important;\n}',$B=function(A){As(A,"."+qB+":before"+jB+"\n ."+ZB+":after"+jB)},As=function(A,e){var t=A.ownerDocument;if(t){var r=t.createElement("style");r.textContent=e,A.appendChild(r)}};(zB=VB||(VB={}))[zB.VECTOR=0]="VECTOR",zB[zB.BEZIER_CURVE=1]="BEZIER_CURVE";function es(A,t){return A.length===t.length&&A.some(function(A,e){return A===t[e]})}var ts=(rs.prototype.add=function(A,e){return new rs(this.x+A,this.y+e)},rs);function rs(A,e){this.type=VB.VECTOR,this.x=A,this.y=e}function ns(A,e,t){return new ts(A.x+(e.x-A.x)*t,A.y+(e.y-A.y)*t)}var Bs=(ss.prototype.subdivide=function(A,e){var t=ns(this.start,this.startControl,A),r=ns(this.startControl,this.endControl,A),n=ns(this.endControl,this.end,A),B=ns(t,r,A),s=ns(r,n,A),o=ns(B,s,A);return e?new ss(this.start,t,B,o):new ss(o,s,n,this.end)},ss.prototype.add=function(A,e){return new ss(this.start.add(A,e),this.startControl.add(A,e),this.endControl.add(A,e),this.end.add(A,e))},ss.prototype.reverse=function(){return new ss(this.end,this.endControl,this.startControl,this.start)},ss);function ss(A,e,t,r){this.type=VB.BEZIER_CURVE,this.start=A,this.startControl=e,this.endControl=t,this.end=r}function os(A){return A.type===VB.BEZIER_CURVE}var is,as,cs=function(A){var e=A.styles,t=A.bounds,r=jA(e.borderTopLeftRadius,t.width,t.height),n=r[0],B=r[1],s=jA(e.borderTopRightRadius,t.width,t.height),o=s[0],i=s[1],a=jA(e.borderBottomRightRadius,t.width,t.height),c=a[0],Q=a[1],w=jA(e.borderBottomLeftRadius,t.width,t.height),u=w[0],U=w[1],l=[];l.push((n+o)/t.width),l.push((u+c)/t.width),l.push((B+U)/t.height),l.push((i+Q)/t.height);var C=Math.max.apply(Math,l);1<C&&(n/=C,B/=C,o/=C,i/=C,c/=C,Q/=C,u/=C,U/=C);var g=t.width-o,E=t.height-Q,F=t.width-c,h=t.height-U,H=e.borderTopWidth,d=e.borderRightWidth,f=e.borderBottomWidth,p=e.borderLeftWidth,N=ae(e.paddingTop,A.bounds.width),K=ae(e.paddingRight,A.bounds.width),I=ae(e.paddingBottom,A.bounds.width),T=ae(e.paddingLeft,A.bounds.width);this.topLeftBorderBox=0<n||0<B?us(t.left,t.top,n,B,is.TOP_LEFT):new ts(t.left,t.top),this.topRightBorderBox=0<o||0<i?us(t.left+g,t.top,o,i,is.TOP_RIGHT):new ts(t.left+t.width,t.top),this.bottomRightBorderBox=0<c||0<Q?us(t.left+F,t.top+E,c,Q,is.BOTTOM_RIGHT):new ts(t.left+t.width,t.top+t.height),this.bottomLeftBorderBox=0<u||0<U?us(t.left,t.top+h,u,U,is.BOTTOM_LEFT):new ts(t.left,t.top+t.height),this.topLeftPaddingBox=0<n||0<B?us(t.left+p,t.top+H,Math.max(0,n-p),Math.max(0,B-H),is.TOP_LEFT):new ts(t.left+p,t.top+H),this.topRightPaddingBox=0<o||0<i?us(t.left+Math.min(g,t.width+p),t.top+H,g>t.width+p?0:o-p,i-H,is.TOP_RIGHT):new ts(t.left+t.width-d,t.top+H),this.bottomRightPaddingBox=0<c||0<Q?us(t.left+Math.min(F,t.width-p),t.top+Math.min(E,t.height+H),Math.max(0,c-d),Q-f,is.BOTTOM_RIGHT):new ts(t.left+t.width-d,t.top+t.height-f),this.bottomLeftPaddingBox=0<u||0<U?us(t.left+p,t.top+h,Math.max(0,u-p),U-f,is.BOTTOM_LEFT):new ts(t.left+p,t.top+t.height-f),this.topLeftContentBox=0<n||0<B?us(t.left+p+T,t.top+H+N,Math.max(0,n-(p+T)),Math.max(0,B-(H+N)),is.TOP_LEFT):new ts(t.left+p+T,t.top+H+N),this.topRightContentBox=0<o||0<i?us(t.left+Math.min(g,t.width+p+T),t.top+H+N,g>t.width+p+T?0:o-p+T,i-(H+N),is.TOP_RIGHT):new ts(t.left+t.width-(d+K),t.top+H+N),this.bottomRightContentBox=0<c||0<Q?us(t.left+Math.min(F,t.width-(p+T)),t.top+Math.min(E,t.height+H+N),Math.max(0,c-(d+K)),Q-(f+I),is.BOTTOM_RIGHT):new ts(t.left+t.width-(d+K),t.top+t.height-(f+I)),this.bottomLeftContentBox=0<u||0<U?us(t.left+p+T,t.top+h,Math.max(0,u-(p+T)),U-(f+I),is.BOTTOM_LEFT):new ts(t.left+p+T,t.top+t.height-(f+I))};(as=is||(is={}))[as.TOP_LEFT=0]="TOP_LEFT",as[as.TOP_RIGHT=1]="TOP_RIGHT",as[as.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",as[as.BOTTOM_LEFT=3]="BOTTOM_LEFT";function Qs(A){return[A.topLeftBorderBox,A.topRightBorderBox,A.bottomRightBorderBox,A.bottomLeftBorderBox]}function ws(A){return[A.topLeftPaddingBox,A.topRightPaddingBox,A.bottomRightPaddingBox,A.bottomLeftPaddingBox]}var us=function(A,e,t,r,n){var B=(Math.sqrt(2)-1)/3*4,s=t*B,o=r*B,i=A+t,a=e+r;switch(n){case is.TOP_LEFT:return new Bs(new ts(A,a),new ts(A,a-o),new ts(i-s,e),new ts(i,e));case is.TOP_RIGHT:return new Bs(new ts(A,e),new ts(A+s,e),new ts(i,a-o),new ts(i,a));case is.BOTTOM_RIGHT:return new Bs(new ts(i,e),new ts(i,e+o),new ts(A+s,a),new ts(A,a));case is.BOTTOM_LEFT:default:return new Bs(new ts(i,a),new ts(i-s,a),new ts(A,e+o),new ts(A,e))}},Us=function(A,e,t){this.type=0,this.offsetX=A,this.offsetY=e,this.matrix=t,this.target=6},ls=function(A,e){this.type=1,this.target=e,this.path=A},Cs=function(A){this.element=A,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]},gs=(Es.prototype.getParentEffects=function(){var A=this.effects.slice(0);if(this.container.styles.overflowX!==sr.VISIBLE){var e=Qs(this.curves),t=ws(this.curves);es(e,t)||A.push(new ls(t,6))}return A},Es);function Es(A,e){if(this.container=A,this.effects=e.slice(0),this.curves=new cs(A),null!==A.styles.transform){var t=A.bounds.left+A.styles.transformOrigin[0].number,r=A.bounds.top+A.styles.transformOrigin[1].number,n=A.styles.transform;this.effects.push(new Us(t,r,n))}if(A.styles.overflowX!==sr.VISIBLE){var B=Qs(this.curves),s=ws(this.curves);es(B,s)?this.effects.push(new ls(B,6)):(this.effects.push(new ls(B,2)),this.effects.push(new ls(s,4)))}}function Fs(A){var e=A.bounds,t=A.styles;return e.add(t.borderLeftWidth,t.borderTopWidth,-(t.borderRightWidth+t.borderLeftWidth),-(t.borderTopWidth+t.borderBottomWidth))}function hs(A){var e=A.styles,t=A.bounds,r=ae(e.paddingLeft,t.width),n=ae(e.paddingRight,t.width),B=ae(e.paddingTop,t.width),s=ae(e.paddingBottom,t.width);return t.add(r+e.borderLeftWidth,B+e.borderTopWidth,-(e.borderRightWidth+e.borderLeftWidth+r+n),-(e.borderTopWidth+e.borderBottomWidth+B+s))}function Hs(A,e,t){var r=function(A,e){return 0===A?e.bounds:2===A?hs(e):Fs(e)}(Ts(A.styles.backgroundOrigin,e),A),n=function(A,e){return A===Ee.BORDER_BOX?e.bounds:A===Ee.CONTENT_BOX?hs(e):Fs(e)}(Ts(A.styles.backgroundClip,e),A),B=Is(Ts(A.styles.backgroundSize,e),t,r),s=B[0],o=B[1],i=jA(Ts(A.styles.backgroundPosition,e),r.width-s,r.height-o);return[ms(Ts(A.styles.backgroundRepeat,e),i,B,r,n),Math.round(r.left+i[0]),Math.round(r.top+i[1]),s,o]}function ds(A){return zA(A)&&A.value===Ut.AUTO}function fs(A){return"number"==typeof A}var ps=function(c,Q,w,u){c.container.elements.forEach(function(A){var e=An(A.flags,4),t=An(A.flags,2),r=new gs(A,c.getParentEffects());An(A.styles.display,2048)&&u.push(r);var n=An(A.flags,8)?[]:u;if(e||t){var B=e||A.styles.isPositioned()?w:Q,s=new Cs(r);if(A.styles.isPositioned()||A.styles.opacity<1||A.styles.isTransformed()){var o=A.styles.zIndex.order;if(o<0){var i=0;B.negativeZIndex.some(function(A,e){return o>A.element.container.styles.zIndex.order?(i=e,!1):0<i}),B.negativeZIndex.splice(i,0,s)}else if(0<o){var a=0;B.positiveZIndex.some(function(A,e){return o>A.element.container.styles.zIndex.order?(a=e+1,!1):0<a}),B.positiveZIndex.splice(a,0,s)}else B.zeroOrAutoZIndexOrTransformedOrOpacity.push(s)}else A.styles.isFloating()?B.nonPositionedFloats.push(s):B.nonPositionedInlineLevel.push(s);ps(r,s,e?s:w,n)}else A.styles.isInlineLevel()?Q.inlineLevel.push(r):Q.nonInlineLevel.push(r),ps(r,Q,w,n);An(A.flags,8)&&Ns(A,n)})},Ns=function(A,e){for(var t=A instanceof Mn?A.start:1,r=A instanceof Mn&&A.reversed,n=0;n<e.length;n++){var B=e[n];B.container instanceof Dn&&"number"==typeof B.container.value&&0!==B.container.value&&(t=B.container.value),B.listValue=yB(t,B.container.styles.listStyleType,!0),t+=r?-1:1}},Ks=function(A,e,t,r){var n=[];return os(A)?n.push(A.subdivide(.5,!1)):n.push(A),os(t)?n.push(t.subdivide(.5,!0)):n.push(t),os(r)?n.push(r.subdivide(.5,!0).reverse()):n.push(r),os(e)?n.push(e.subdivide(.5,!1).reverse()):n.push(e),n},Is=function(A,e,t){var r=e[0],n=e[1],B=e[2],s=A[0],o=A[1];if(qA(s)&&o&&qA(o))return[ae(s,t.width),ae(o,t.height)];var i=fs(B);if(zA(s)&&(s.value===Ut.CONTAIN||s.value===Ut.COVER))return fs(B)?t.width/t.height<B!=(s.value===Ut.COVER)?[t.width,t.width/B]:[t.height*B,t.height]:[t.width,t.height];var a=fs(r),c=fs(n),Q=a||c;if(ds(s)&&(!o||ds(o)))return a&&c?[r,n]:i||Q?Q&&i?[a?r:n*B,c?n:r/B]:[a?r:t.width,c?n:t.height]:[t.width,t.height];if(i){var w=0,u=0;return qA(s)?w=ae(s,t.width):qA(o)&&(u=ae(o,t.height)),ds(s)?w=u*B:o&&!ds(o)||(u=w/B),[w,u]}var U=null,l=null;if(qA(s)?U=ae(s,t.width):o&&qA(o)&&(l=ae(o,t.height)),null===U||o&&!ds(o)||(l=a&&c?U/r*n:t.height),null!==l&&ds(s)&&(U=a&&c?l/n*r:t.width),null!==U&&null!==l)return[U,l];throw new Error("Unable to calculate background-size for element")},Ts=function(A,e){var t=A[e];return void 0===t?A[0]:t},ms=function(A,e,t,r,n){var B=e[0],s=e[1],o=t[0],i=t[1];switch(A){case it.REPEAT_X:return[new ts(Math.round(r.left),Math.round(r.top+s)),new ts(Math.round(r.left+r.width),Math.round(r.top+s)),new ts(Math.round(r.left+r.width),Math.round(i+r.top+s)),new ts(Math.round(r.left),Math.round(i+r.top+s))];case it.REPEAT_Y:return[new ts(Math.round(r.left+B),Math.round(r.top)),new ts(Math.round(r.left+B+o),Math.round(r.top)),new ts(Math.round(r.left+B+o),Math.round(r.height+r.top)),new ts(Math.round(r.left+B),Math.round(r.height+r.top))];case it.NO_REPEAT:return[new ts(Math.round(r.left+B),Math.round(r.top+s)),new ts(Math.round(r.left+B+o),Math.round(r.top+s)),new ts(Math.round(r.left+B+o),Math.round(r.top+s+i)),new ts(Math.round(r.left+B),Math.round(r.top+s+i))];default:return[new ts(Math.round(n.left),Math.round(n.top)),new ts(Math.round(n.left+n.width),Math.round(n.top)),new ts(Math.round(n.left+n.width),Math.round(n.height+n.top)),new ts(Math.round(n.left),Math.round(n.height+n.top))]}},Rs="Hidden Text",Ls=(vs.prototype.parseMetrics=function(A,e){var t=this._document.createElement("div"),r=this._document.createElement("img"),n=this._document.createElement("span"),B=this._document.body;t.style.visibility="hidden",t.style.fontFamily=A,t.style.fontSize=e,t.style.margin="0",t.style.padding="0",B.appendChild(t),r.src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",r.width=1,r.height=1,r.style.margin="0",r.style.padding="0",r.style.verticalAlign="baseline",n.style.fontFamily=A,n.style.fontSize=e,n.style.margin="0",n.style.padding="0",n.appendChild(this._document.createTextNode(Rs)),t.appendChild(n),t.appendChild(r);var s=r.offsetTop-n.offsetTop+2;t.removeChild(n),t.appendChild(this._document.createTextNode(Rs)),t.style.lineHeight="normal",r.style.verticalAlign="super";var o=r.offsetTop-t.offsetTop+2;return B.removeChild(t),{baseline:s,middle:o}},vs.prototype.getMetrics=function(A,e){var t=A+" "+e;return void 0===this._data[t]&&(this._data[t]=this.parseMetrics(A,e)),this._data[t]},vs);function vs(A){this._data={},this._document=A}var Os=(Ds.prototype.applyEffects=function(A,e){for(var t=this;this._activeEffects.length;)this.popEffect();A.filter(function(A){return An(A.target,e)}).forEach(function(A){return t.applyEffect(A)})},Ds.prototype.applyEffect=function(A){this.ctx.save(),function(A){return 0===A.type}(A)&&(this.ctx.translate(A.offsetX,A.offsetY),this.ctx.transform(A.matrix[0],A.matrix[1],A.matrix[2],A.matrix[3],A.matrix[4],A.matrix[5]),this.ctx.translate(-A.offsetX,-A.offsetY)),function(A){return 1===A.type}(A)&&(this.path(A.path),this.ctx.clip()),this._activeEffects.push(A)},Ds.prototype.popEffect=function(){this._activeEffects.pop(),this.ctx.restore()},Ds.prototype.renderStack=function(t){return a(this,void 0,void 0,function(){var e;return S(this,function(A){switch(A.label){case 0:return(e=t.element.container.styles).isVisible()?(this.ctx.globalAlpha=e.opacity,[4,this.renderStackContent(t)]):[3,2];case 1:A.sent(),A.label=2;case 2:return[2]}})})},Ds.prototype.renderNode=function(e){return a(this,void 0,void 0,function(){return S(this,function(A){switch(A.label){case 0:return e.container.styles.isVisible()?[4,this.renderNodeBackgroundAndBorders(e)]:[3,3];case 1:return A.sent(),[4,this.renderNodeContent(e)];case 2:A.sent(),A.label=3;case 3:return[2]}})})},Ds.prototype.renderTextWithLetterSpacing=function(t,A){var r=this;0===A?this.ctx.fillText(t.text,t.bounds.left,t.bounds.top+t.bounds.height):c(t.text).map(function(A){return l(A)}).reduce(function(A,e){return r.ctx.fillText(e,A,t.bounds.top+t.bounds.height),A+r.ctx.measureText(e).width},t.bounds.left)},Ds.prototype.createFontStyle=function(A){var e=A.fontVariant.filter(function(A){return"normal"===A||"small-caps"===A}).join(""),t=A.fontFamily.join(", "),r=xA(A.fontSize)?""+A.fontSize.number+A.fontSize.unit:A.fontSize.number+"px";return[[A.fontStyle,e,A.fontWeight,r,t].join(" "),t,r]},Ds.prototype.renderTextNode=function(r,o){return a(this,void 0,void 0,function(){var e,t,n,B,s=this;return S(this,function(A){return e=this.createFontStyle(o),t=e[0],n=e[1],B=e[2],this.ctx.font=t,r.textBounds.forEach(function(r){s.ctx.fillStyle=te(o.color),s.renderTextWithLetterSpacing(r,o.letterSpacing);var A=o.textShadow;A.length&&r.text.trim().length&&(A.slice(0).reverse().forEach(function(A){s.ctx.shadowColor=te(A.color),s.ctx.shadowOffsetX=A.offsetX.number*s.options.scale,s.ctx.shadowOffsetY=A.offsetY.number*s.options.scale,s.ctx.shadowBlur=A.blur.number,s.ctx.fillText(r.text,r.bounds.left,r.bounds.top+r.bounds.height)}),s.ctx.shadowColor="",s.ctx.shadowOffsetX=0,s.ctx.shadowOffsetY=0,s.ctx.shadowBlur=0),o.textDecorationLine.length&&(s.ctx.fillStyle=te(o.textDecorationColor||o.color),o.textDecorationLine.forEach(function(A){switch(A){case 1:var e=s.fontMetrics.getMetrics(n,B).baseline;s.ctx.fillRect(r.bounds.left,Math.round(r.bounds.top+e),r.bounds.width,1);break;case 2:s.ctx.fillRect(r.bounds.left,Math.round(r.bounds.top),r.bounds.width,1);break;case 3:var t=s.fontMetrics.getMetrics(n,B).middle;s.ctx.fillRect(r.bounds.left,Math.ceil(r.bounds.top+t),r.bounds.width,1)}}))}),[2]})})},Ds.prototype.renderReplacedElement=function(A,e,t){if(t&&0<A.intrinsicWidth&&0<A.intrinsicHeight){var r=hs(A),n=ws(e);this.path(n),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(t,0,0,A.intrinsicWidth,A.intrinsicHeight,r.left,r.top,r.width,r.height),this.ctx.restore()}},Ds.prototype.renderNodeContent=function(l){return a(this,void 0,void 0,function(){var e,t,r,n,B,s,o,i,a,c,Q,w,u,U;return S(this,function(A){switch(A.label){case 0:this.applyEffects(l.effects,4),e=l.container,t=l.curves,r=e.styles,n=0,B=e.textNodes,A.label=1;case 1:return n<B.length?(s=B[n],[4,this.renderTextNode(s,r)]):[3,4];case 2:A.sent(),A.label=3;case 3:return n++,[3,1];case 4:if(!(e instanceof Nn))return[3,8];A.label=5;case 5:return A.trys.push([5,7,,8]),[4,this.options.cache.match(e.src)];case 6:return w=A.sent(),this.renderReplacedElement(e,t,w),[3,8];case 7:return A.sent(),De.getInstance(this.options.id).error("Error loading image "+e.src),[3,8];case 8:if(e instanceof Tn&&this.renderReplacedElement(e,t,e.canvas),!(e instanceof Ln))return[3,12];A.label=9;case 9:return A.trys.push([9,11,,12]),[4,this.options.cache.match(e.svg)];case 10:return w=A.sent(),this.renderReplacedElement(e,t,w),[3,12];case 11:return A.sent(),De.getInstance(this.options.id).error("Error loading svg "+e.svg.substring(0,255)),[3,12];case 12:return e instanceof tB&&e.tree?[4,new Ds({id:this.options.id,scale:this.options.scale,backgroundColor:e.backgroundColor,x:0,y:0,scrollX:0,scrollY:0,width:e.width,height:e.height,cache:this.options.cache,windowWidth:e.width,windowHeight:e.height}).render(e.tree)]:[3,14];case 13:o=A.sent(),e.width&&e.height&&this.ctx.drawImage(o,0,0,e.width,e.height,e.bounds.left,e.bounds.top,e.bounds.width,e.bounds.height),A.label=14;case 14:if(e instanceof Gn&&(i=Math.min(e.bounds.width,e.bounds.height),e.type===Vn?e.checked&&(this.ctx.save(),this.path([new ts(e.bounds.left+.39363*i,e.bounds.top+.79*i),new ts(e.bounds.left+.16*i,e.bounds.top+.5549*i),new ts(e.bounds.left+.27347*i,e.bounds.top+.44071*i),new ts(e.bounds.left+.39694*i,e.bounds.top+.5649*i),new ts(e.bounds.left+.72983*i,e.bounds.top+.23*i),new ts(e.bounds.left+.84*i,e.bounds.top+.34085*i),new ts(e.bounds.left+.39363*i,e.bounds.top+.79*i)]),this.ctx.fillStyle=te(Jn),this.ctx.fill(),this.ctx.restore()):e.type===zn&&e.checked&&(this.ctx.save(),this.ctx.beginPath(),this.ctx.arc(e.bounds.left+i/2,e.bounds.top+i/2,i/4,0,2*Math.PI,!0),this.ctx.fillStyle=te(Jn),this.ctx.fill(),this.ctx.restore())),bs(e)&&e.value.length){switch(this.ctx.font=this.createFontStyle(r)[0],this.ctx.fillStyle=te(r.color),this.ctx.textBaseline="middle",this.ctx.textAlign=Ms(e.styles.textAlign),U=hs(e),a=0,e.styles.textAlign){case Cr.CENTER:a+=U.width/2;break;case Cr.RIGHT:a+=U.width}c=U.add(a,0,0,-U.height/2+1),this.ctx.save(),this.path([new ts(U.left,U.top),new ts(U.left+U.width,U.top),new ts(U.left+U.width,U.top+U.height),new ts(U.left,U.top+U.height)]),this.ctx.clip(),this.renderTextWithLetterSpacing(new Cn(e.value,c),r.letterSpacing),this.ctx.restore(),this.ctx.textBaseline="bottom",this.ctx.textAlign="left"}if(!An(e.styles.display,2048))return[3,20];if(null===e.styles.listStyleImage)return[3,19];if((Q=e.styles.listStyleImage).type!==xe.URL)return[3,18];w=void 0,u=Q.url,A.label=15;case 15:return A.trys.push([15,17,,18]),[4,this.options.cache.match(u)];case 16:return w=A.sent(),this.ctx.drawImage(w,e.bounds.left-(w.width+10),e.bounds.top),[3,18];case 17:return A.sent(),De.getInstance(this.options.id).error("Error loading list-style-image "+u),[3,18];case 18:return[3,20];case 19:l.listValue&&e.styles.listStyleType!==tr.NONE&&(this.ctx.font=this.createFontStyle(r)[0],this.ctx.fillStyle=te(r.color),this.ctx.textBaseline="middle",this.ctx.textAlign="right",U=new I(e.bounds.left,e.bounds.top+ae(e.styles.paddingTop,e.bounds.width),e.bounds.width,function(A,e){return zA(A)&&"normal"===A.value?1.2*e:A.type===sA.NUMBER_TOKEN?e*A.number:qA(A)?ae(A,e):e}(r.lineHeight,r.fontSize.number)/2+1),this.renderTextWithLetterSpacing(new Cn(l.listValue,U),r.letterSpacing),this.ctx.textBaseline="bottom",this.ctx.textAlign="left"),A.label=20;case 20:return[2]}})})},Ds.prototype.renderStackContent=function(C){return a(this,void 0,void 0,function(){var e,t,r,n,B,s,o,i,a,c,Q,w,u,U,l;return S(this,function(A){switch(A.label){case 0:return[4,this.renderNodeBackgroundAndBorders(C.element)];case 1:A.sent(),e=0,t=C.negativeZIndex,A.label=2;case 2:return e<t.length?(l=t[e],[4,this.renderStack(l)]):[3,5];case 3:A.sent(),A.label=4;case 4:return e++,[3,2];case 5:return[4,this.renderNodeContent(C.element)];case 6:A.sent(),r=0,n=C.nonInlineLevel,A.label=7;case 7:return r<n.length?(l=n[r],[4,this.renderNode(l)]):[3,10];case 8:A.sent(),A.label=9;case 9:return r++,[3,7];case 10:B=0,s=C.nonPositionedFloats,A.label=11;case 11:return B<s.length?(l=s[B],[4,this.renderStack(l)]):[3,14];case 12:A.sent(),A.label=13;case 13:return B++,[3,11];case 14:o=0,i=C.nonPositionedInlineLevel,A.label=15;case 15:return o<i.length?(l=i[o],[4,this.renderStack(l)]):[3,18];case 16:A.sent(),A.label=17;case 17:return o++,[3,15];case 18:a=0,c=C.inlineLevel,A.label=19;case 19:return a<c.length?(l=c[a],[4,this.renderNode(l)]):[3,22];case 20:A.sent(),A.label=21;case 21:return a++,[3,19];case 22:Q=0,w=C.zeroOrAutoZIndexOrTransformedOrOpacity,A.label=23;case 23:return Q<w.length?(l=w[Q],[4,this.renderStack(l)]):[3,26];case 24:A.sent(),A.label=25;case 25:return Q++,[3,23];case 26:u=0,U=C.positiveZIndex,A.label=27;case 27:return u<U.length?(l=U[u],[4,this.renderStack(l)]):[3,30];case 28:A.sent(),A.label=29;case 29:return u++,[3,27];case 30:return[2]}})})},Ds.prototype.mask=function(A){this.ctx.beginPath(),this.ctx.moveTo(0,0),this.ctx.lineTo(this.canvas.width,0),this.ctx.lineTo(this.canvas.width,this.canvas.height),this.ctx.lineTo(0,this.canvas.height),this.ctx.lineTo(0,0),this.formatPath(A.slice(0).reverse()),this.ctx.closePath()},Ds.prototype.path=function(A){this.ctx.beginPath(),this.formatPath(A),this.ctx.closePath()},Ds.prototype.formatPath=function(A){var r=this;A.forEach(function(A,e){var t=os(A)?A.start:A;0===e?r.ctx.moveTo(t.x,t.y):r.ctx.lineTo(t.x,t.y),os(A)&&r.ctx.bezierCurveTo(A.startControl.x,A.startControl.y,A.endControl.x,A.endControl.y,A.end.x,A.end.y)})},Ds.prototype.renderRepeat=function(A,e,t,r){this.path(A),this.ctx.fillStyle=e,this.ctx.translate(t,r),this.ctx.fill(),this.ctx.translate(-t,-r)},Ds.prototype.resizeImage=function(A,e,t){if(A.width===e&&A.height===t)return A;var r=this.canvas.ownerDocument.createElement("canvas");return r.width=e,r.height=t,r.getContext("2d").drawImage(A,0,0,A.width,A.height,0,0,e,t),r},Ds.prototype.renderBackgroundImage=function(b){return a(this,void 0,void 0,function(){var O,e,D,t,r,n;return S(this,function(A){switch(A.label){case 0:O=b.styles.backgroundImage.length-1,e=function(e){var t,r,n,B,s,o,i,a,c,Q,w,u,U,l,C,g,E,F,h,H,d,f,p,N,K,I,T,m,R,L,v;return S(this,function(A){switch(A.label){case 0:if(e.type!==xe.URL)return[3,5];t=void 0,r=e.url,A.label=1;case 1:return A.trys.push([1,3,,4]),[4,D.options.cache.match(r)];case 2:return t=A.sent(),[3,4];case 3:return A.sent(),De.getInstance(D.options.id).error("Error loading background-image "+r),[3,4];case 4:return t&&(n=Hs(b,O,[t.width,t.height,t.width/t.height]),g=n[0],f=n[1],p=n[2],h=n[3],H=n[4],l=D.ctx.createPattern(D.resizeImage(t,h,H),"repeat"),D.renderRepeat(g,l,f,p)),[3,6];case 5:!function(A){return A.type===xe.LINEAR_GRADIENT}(e)?function(A){return A.type===xe.RADIAL_GRADIENT}(e)&&(C=Hs(b,O,[null,null,null]),g=C[0],E=C[1],F=C[2],h=C[3],H=C[4],d=0===e.position.length?[oe]:e.position,f=ae(d[0],h),p=ae(d[d.length-1],H),N=function(A,e,t,r,n){var B=0,s=0;switch(A.size){case Bt.CLOSEST_SIDE:A.shape===rt.CIRCLE?B=s=Math.min(Math.abs(e),Math.abs(e-r),Math.abs(t),Math.abs(t-n)):A.shape===rt.ELLIPSE&&(B=Math.min(Math.abs(e),Math.abs(e-r)),s=Math.min(Math.abs(t),Math.abs(t-n)));break;case Bt.CLOSEST_CORNER:if(A.shape===rt.CIRCLE)B=s=Math.min(Ne(e,t),Ne(e,t-n),Ne(e-r,t),Ne(e-r,t-n));else if(A.shape===rt.ELLIPSE){var o=Math.min(Math.abs(t),Math.abs(t-n))/Math.min(Math.abs(e),Math.abs(e-r)),i=Ke(r,n,e,t,!0),a=i[0],c=i[1];s=o*(B=Ne(a-e,(c-t)/o))}break;case Bt.FARTHEST_SIDE:A.shape===rt.CIRCLE?B=s=Math.max(Math.abs(e),Math.abs(e-r),Math.abs(t),Math.abs(t-n)):A.shape===rt.ELLIPSE&&(B=Math.max(Math.abs(e),Math.abs(e-r)),s=Math.max(Math.abs(t),Math.abs(t-n)));break;case Bt.FARTHEST_CORNER:if(A.shape===rt.CIRCLE)B=s=Math.max(Ne(e,t),Ne(e,t-n),Ne(e-r,t),Ne(e-r,t-n));else if(A.shape===rt.ELLIPSE){o=Math.max(Math.abs(t),Math.abs(t-n))/Math.max(Math.abs(e),Math.abs(e-r));var Q=Ke(r,n,e,t,!1);a=Q[0],c=Q[1],s=o*(B=Ne(a-e,(c-t)/o))}}return Array.isArray(A.size)&&(B=ae(A.size[0],r),s=2===A.size.length?ae(A.size[1],n):B),[B,s]}(e,f,p,h,H),K=N[0],I=N[1],0<K&&0<K&&(T=D.ctx.createRadialGradient(E+f,F+p,0,E+f,F+p,K),fe(e.stops,2*K).forEach(function(A){return T.addColorStop(A.stop,te(A.color))}),D.path(g),D.ctx.fillStyle=T,K!==I?(m=b.bounds.left+.5*b.bounds.width,R=b.bounds.top+.5*b.bounds.height,v=1/(L=I/K),D.ctx.save(),D.ctx.translate(m,R),D.ctx.transform(1,0,0,L,0,0),D.ctx.translate(-m,-R),D.ctx.fillRect(E,v*(F-R)+R,h,H*v),D.ctx.restore()):D.ctx.fill())):(B=Hs(b,O,[null,null,null]),g=B[0],f=B[1],p=B[2],h=B[3],H=B[4],s=pe(e.angle,h,H),o=s[0],i=s[1],a=s[2],c=s[3],Q=s[4],(w=document.createElement("canvas")).width=h,w.height=H,u=w.getContext("2d"),U=u.createLinearGradient(i,c,a,Q),fe(e.stops,o).forEach(function(A){return U.addColorStop(A.stop,te(A.color))}),u.fillStyle=U,u.fillRect(0,0,h,H),0<h&&0<H&&(l=D.ctx.createPattern(w,"repeat"),D.renderRepeat(g,l,f,p))),A.label=6;case 6:return O--,[2]}})},D=this,t=0,r=b.styles.backgroundImage.slice(0).reverse(),A.label=1;case 1:return t<r.length?(n=r[t],[5,e(n)]):[3,4];case 2:A.sent(),A.label=3;case 3:return t++,[3,1];case 4:return[2]}})})},Ds.prototype.renderBorder=function(e,t,r){return a(this,void 0,void 0,function(){return S(this,function(A){return this.path(function(A,e){switch(e){case 0:return Ks(A.topLeftBorderBox,A.topLeftPaddingBox,A.topRightBorderBox,A.topRightPaddingBox);case 1:return Ks(A.topRightBorderBox,A.topRightPaddingBox,A.bottomRightBorderBox,A.bottomRightPaddingBox);case 2:return Ks(A.bottomRightBorderBox,A.bottomRightPaddingBox,A.bottomLeftBorderBox,A.bottomLeftPaddingBox);case 3:default:return Ks(A.bottomLeftBorderBox,A.bottomLeftPaddingBox,A.topLeftBorderBox,A.topLeftPaddingBox)}}(r,t)),this.ctx.fillStyle=te(e),this.ctx.fill(),[2]})})},Ds.prototype.renderNodeBackgroundAndBorders=function(c){return a(this,void 0,void 0,function(){var e,t,r,n,B,s,o,i,a=this;return S(this,function(A){switch(A.label){case 0:return this.applyEffects(c.effects,2),e=c.container.styles,t=!ee(e.backgroundColor)||e.backgroundImage.length,r=[{style:e.borderTopStyle,color:e.borderTopColor},{style:e.borderRightStyle,color:e.borderRightColor},{style:e.borderBottomStyle,color:e.borderBottomColor},{style:e.borderLeftStyle,color:e.borderLeftColor}],n=Ss(Ts(e.backgroundClip,0),c.curves),t||e.boxShadow.length?(this.ctx.save(),this.path(n),this.ctx.clip(),ee(e.backgroundColor)||(this.ctx.fillStyle=te(e.backgroundColor),this.ctx.fill()),[4,this.renderBackgroundImage(c.container)]):[3,2];case 1:A.sent(),this.ctx.restore(),e.boxShadow.slice(0).reverse().forEach(function(A){a.ctx.save();var e=Qs(c.curves),t=A.inset?0:1e4,r=function(A,t,r,n,B){return A.map(function(A,e){switch(e){case 0:return A.add(t,r);case 1:return A.add(t+n,r);case 2:return A.add(t+n,r+B);case 3:return A.add(t,r+B)}return A})}(e,-t+(A.inset?1:-1)*A.spread.number,(A.inset?1:-1)*A.spread.number,A.spread.number*(A.inset?-2:2),A.spread.number*(A.inset?-2:2));A.inset?(a.path(e),a.ctx.clip(),a.mask(r)):(a.mask(e),a.ctx.clip(),a.path(r)),a.ctx.shadowOffsetX=A.offsetX.number+t,a.ctx.shadowOffsetY=A.offsetY.number,a.ctx.shadowColor=te(A.color),a.ctx.shadowBlur=A.blur.number,a.ctx.fillStyle=A.inset?te(A.color):"rgba(0,0,0,1)",a.ctx.fill(),a.ctx.restore()}),A.label=2;case 2:s=B=0,o=r,A.label=3;case 3:return s<o.length?(i=o[s]).style===ht.NONE||ee(i.color)?[3,5]:[4,this.renderBorder(i.color,B,c.curves)]:[3,7];case 4:A.sent(),A.label=5;case 5:B++,A.label=6;case 6:return s++,[3,3];case 7:return[2]}})})},Ds.prototype.render=function(t){return a(this,void 0,void 0,function(){var e;return S(this,function(A){switch(A.label){case 0:return this.options.backgroundColor&&(this.ctx.fillStyle=te(this.options.backgroundColor),this.ctx.fillRect(this.options.x-this.options.scrollX,this.options.y-this.options.scrollY,this.options.width,this.options.height)),e=function(A){var e=new gs(A,[]),t=new Cs(e),r=[];return ps(e,t,t,r),Ns(e.container,r),t}(t),[4,this.renderStack(e)];case 1:return A.sent(),this.applyEffects([],2),[2,this.canvas]}})})},Ds);function Ds(A){this._activeEffects=[],this.canvas=A.canvas?A.canvas:document.createElement("canvas"),this.ctx=this.canvas.getContext("2d"),(this.options=A).canvas||(this.canvas.width=Math.floor(A.width*A.scale),this.canvas.height=Math.floor(A.height*A.scale),this.canvas.style.width=A.width+"px",this.canvas.style.height=A.height+"px"),this.fontMetrics=new Ls(document),this.ctx.scale(this.options.scale,this.options.scale),this.ctx.translate(-A.x+A.scrollX,-A.y+A.scrollY),this.ctx.textBaseline="bottom",this._activeEffects=[],De.getInstance(A.id).debug("Canvas renderer initialized ("+A.width+"x"+A.height+" at "+A.x+","+A.y+") with scale "+A.scale)}var bs=function(A){return A instanceof jn||(A instanceof Yn||A instanceof Gn&&A.type!==zn&&A.type!==Vn)},Ss=function(A,e){switch(A){case Ee.BORDER_BOX:return Qs(e);case Ee.CONTENT_BOX:return function(A){return[A.topLeftContentBox,A.topRightContentBox,A.bottomRightContentBox,A.bottomLeftContentBox]}(e);case Ee.PADDING_BOX:default:return ws(e)}},Ms=function(A){switch(A){case Cr.CENTER:return"center";case Cr.RIGHT:return"right";case Cr.LEFT:default:return"left"}},ys=(_s.prototype.render=function(r){return a(this,void 0,void 0,function(){var e,t;return S(this,function(A){switch(A.label){case 0:return e=Le(Math.max(this.options.windowWidth,this.options.width)*this.options.scale,Math.max(this.options.windowHeight,this.options.height)*this.options.scale,this.options.scrollX*this.options.scale,this.options.scrollY*this.options.scale,r),[4,xs(e)];case 1:return t=A.sent(),this.options.backgroundColor&&(this.ctx.fillStyle=te(this.options.backgroundColor),this.ctx.fillRect(0,0,this.options.width*this.options.scale,this.options.height*this.options.scale)),this.ctx.drawImage(t,-this.options.x*this.options.scale,-this.options.y*this.options.scale),[2,this.canvas]}})})},_s);function _s(A){this.canvas=A.canvas?A.canvas:document.createElement("canvas"),this.ctx=this.canvas.getContext("2d"),this.options=A,this.canvas.width=Math.floor(A.width*A.scale),this.canvas.height=Math.floor(A.height*A.scale),this.canvas.style.width=A.width+"px",this.canvas.style.height=A.height+"px",this.ctx.scale(this.options.scale,this.options.scale),this.ctx.translate(-A.x+A.scrollX,-A.y+A.scrollY),De.getInstance(A.id).debug("EXPERIMENTAL ForeignObject renderer initialized ("+A.width+"x"+A.height+" at "+A.x+","+A.y+") with scale "+A.scale)}function Ps(A){return we(_A.create(A).parseComponentValue())}var xs=function(r){return new Promise(function(A,e){var t=new Image;t.onload=function(){A(t)},t.onerror=e,t.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent((new XMLSerializer).serializeToString(r))})};"undefined"!=typeof window&&Se.setContext(window);var Vs=function(p,N){return a(void 0,void 0,void 0,function(){var e,t,r,n,B,s,o,i,a,c,Q,w,u,U,l,C,g,E,F,h,H,d,f;return S(this,function(A){switch(A.label){case 0:if(!(e=p.ownerDocument))throw new Error("Element is not attached to a Document");if(!(t=e.defaultView))throw new Error("Document is not attached to a Window");return r=(Math.round(1e3*Math.random())+Date.now()).toString(16),n=EB(p)||function(A){return"HTML"===A.tagName}(p)?function(A){var e=A.body,t=A.documentElement;if(!e||!t)throw new Error("Unable to get document size");var r=Math.max(Math.max(e.scrollWidth,t.scrollWidth),Math.max(e.offsetWidth,t.offsetWidth),Math.max(e.clientWidth,t.clientWidth)),n=Math.max(Math.max(e.scrollHeight,t.scrollHeight),Math.max(e.offsetHeight,t.offsetHeight),Math.max(e.clientHeight,t.clientHeight));return new I(0,0,r,n)}(e):T(p),B=n.width,s=n.height,o=n.left,i=n.top,a=K({},{allowTaint:!1,imageTimeout:15e3,proxy:void 0,useCORS:!1},N),c={backgroundColor:"#ffffff",cache:N.cache?N.cache:Se.create(r,a),logging:!0,removeContainer:!0,foreignObjectRendering:!1,scale:t.devicePixelRatio||1,windowWidth:t.innerWidth,windowHeight:t.innerHeight,scrollX:t.pageXOffset,scrollY:t.pageYOffset,x:o,y:i,width:Math.ceil(B),height:Math.ceil(s),id:r},Q=K({},c,a,N),w=new I(Q.scrollX,Q.scrollY,Q.windowWidth,Q.windowHeight),De.create({id:r,enabled:Q.logging}),De.getInstance(r).debug("Starting document clone"),u=new PB(p,{id:r,onclone:Q.onclone,ignoreElements:Q.ignoreElements,inlineImages:Q.foreignObjectRendering,copyStyles:Q.foreignObjectRendering}),(U=u.clonedReferenceElement)?[4,u.toIFrame(e,w)]:[2,Promise.reject("Unable to find element in cloned iframe")];case 1:return l=A.sent(),C=e.documentElement?Ps(getComputedStyle(e.documentElement).backgroundColor):He.TRANSPARENT,g=e.body?Ps(getComputedStyle(e.body).backgroundColor):He.TRANSPARENT,E=N.backgroundColor,F="string"==typeof E?Ps(E):null===E?He.TRANSPARENT:4294967295,h=p===e.documentElement?ee(C)?ee(g)?F:g:C:F,H={id:r,cache:Q.cache,canvas:Q.canvas,backgroundColor:h,scale:Q.scale,x:Q.x,y:Q.y,scrollX:Q.scrollX,scrollY:Q.scrollY,width:Q.width,height:Q.height,windowWidth:Q.windowWidth,windowHeight:Q.windowHeight},Q.foreignObjectRendering?(De.getInstance(r).debug("Document cloned, using foreign object rendering"),[4,new ys(H).render(U)]):[3,3];case 2:return d=A.sent(),[3,5];case 3:return De.getInstance(r).debug("Document cloned, using computed rendering"),Se.attachInstance(Q.cache),De.getInstance(r).debug("Starting DOM parsing"),f=iB(U),Se.detachInstance(),h===f.styles.backgroundColor&&(f.styles.backgroundColor=He.TRANSPARENT),De.getInstance(r).debug("Starting renderer"),[4,new Os(H).render(f)];case 4:d=A.sent(),A.label=5;case 5:return!0===Q.removeContainer&&(PB.destroy(l)||De.getInstance(r).error("Cannot detach cloned iframe as it is not in the DOM anymore")),De.getInstance(r).debug("Finished rendering"),De.destroy(r),Se.destroy(r),[2,d]}})})};return function(A,e){return void 0===e&&(e={}),Vs(A,e)}}); \ No newline at end of file diff --git a/assets/js/invalid_keypress.mp3 b/assets/js/invalid_keypress.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..cba44de08a288ee4d5aae221b71b740349c0caad Binary files /dev/null and b/assets/js/invalid_keypress.mp3 differ diff --git a/assets/js/invalid_keypress.ogg b/assets/js/invalid_keypress.ogg new file mode 100755 index 0000000000000000000000000000000000000000..292cefdde6a33fcc6028a142399b3309a475503f Binary files /dev/null and b/assets/js/invalid_keypress.ogg differ diff --git a/assets/js/logger.js b/assets/js/logger.js new file mode 100644 index 0000000000000000000000000000000000000000..5609bca7c968e3a4bbef1de416b1d91e2e72c52e --- /dev/null +++ b/assets/js/logger.js @@ -0,0 +1,45 @@ +import moment from './moment/moment.min.js' + +export const LEVELS = { + debug: 1, + info: 2, + warn: 3, + error: 4, + fatal: 5 +} + +export const logger = { + debug: () => {}, + info: () => {}, + warn: () => {}, + error: () => {}, + fatal: () => {} +} + +export const setLogLevel = function (level) { + logger.debug = () => {} + logger.info = () => {} + logger.warn = () => {} + logger.error = () => {} + logger.fatal = () => {} + if (level <= LEVELS.fatal) { + logger.fatal = console.log.bind(console, '\x1b[35m', format('FATAL')) + } + if (level <= LEVELS.error) { + logger.error = console.log.bind(console, '\x1b[31m', format('ERROR')) + } + if (level <= LEVELS.warn) { + logger.warn = console.log.bind(console, `\x1b[33m`, format('WARN')) + } + if (level <= LEVELS.info) { + logger.info = console.log.bind(console, '\x1b[34m', format('INFO')) + } + if (level <= LEVELS.debug) { + logger.debug = console.log.bind(console, '\x1b[32m', format('DEBUG')) + } +} + +const format = (level) => { + const time = moment().format('HH:mm:ss.SSS') + return `${time} : ${level} : ` +} diff --git a/assets/js/main.js b/assets/js/main.js new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/assets/js/mathjax-sre.js b/assets/js/mathjax-sre.js new file mode 100644 index 0000000000000000000000000000000000000000..40a6151f262b2e3326bc35d0c400712e8812e9db --- /dev/null +++ b/assets/js/mathjax-sre.js @@ -0,0 +1,985 @@ +// Copyright 2014-2018 Volker Sorge +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)};$jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global&&null!=global?global:a};$jscomp.global=$jscomp.getGlobal(this);$jscomp.SYMBOL_PREFIX="jscomp_symbol_"; +$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.Symbol=function(){var a=0;return function(b){return $jscomp.SYMBOL_PREFIX+(b||"")+a++}}(); +$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var a=$jscomp.global.Symbol.iterator;a||(a=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&$jscomp.defineProperty(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(a){var b=0;return $jscomp.iteratorPrototype(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}; +$jscomp.iteratorPrototype=function(a){$jscomp.initSymbolIterator();a={next:a};a[$jscomp.global.Symbol.iterator]=function(){return this};return a};$jscomp.iteratorFromArray=function(a,b){$jscomp.initSymbolIterator();a instanceof String&&(a+="");var c=0,d={next:function(){if(c<a.length){var e=c++;return{value:b(e,a[e]),done:!1}}d.next=function(){return{done:!0,value:void 0}};return d.next()}};d[Symbol.iterator]=function(){return d};return d}; +$jscomp.polyfill=function(a,b,c,d){if(b){c=$jscomp.global;a=a.split(".");for(d=0;d<a.length-1;d++){var e=a[d];e in c||(c[e]={});c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&$jscomp.defineProperty(c,a,{configurable:!0,writable:!0,value:b})}}; +$jscomp.checkStringArgs=function(a,b,c){if(null==a)throw new TypeError("The 'this' value for String.prototype."+c+" must not be null or undefined");if(b instanceof RegExp)throw new TypeError("First argument to String.prototype."+c+" must not be a regular expression");return a+""};$jscomp.findInternal=function(a,b,c){a instanceof String&&(a=String(a));for(var d=a.length,e=0;e<d;e++){var f=a[e];if(b.call(c,f,e,a))return{i:e,v:f}}return{i:-1,v:void 0}};var COMPILED=!0,goog=goog||{};goog.global=this; +goog.isDef=function(a){return void 0!==a};goog.isString=function(a){return"string"==typeof a};goog.isBoolean=function(a){return"boolean"==typeof a};goog.isNumber=function(a){return"number"==typeof a};goog.exportPath_=function(a,b,c){a=a.split(".");c=c||goog.global;a[0]in c||"undefined"==typeof c.execScript||c.execScript("var "+a[0]);for(var d;a.length&&(d=a.shift());)!a.length&&goog.isDef(b)?c[d]=b:c=c[d]&&c[d]!==Object.prototype[d]?c[d]:c[d]={}}; +goog.define=function(a,b){if(!COMPILED){var c=goog.global.CLOSURE_UNCOMPILED_DEFINES,d=goog.global.CLOSURE_DEFINES;c&&void 0===c.nodeType&&Object.prototype.hasOwnProperty.call(c,a)?b=c[a]:d&&void 0===d.nodeType&&Object.prototype.hasOwnProperty.call(d,a)&&(b=d[a])}goog.exportPath_(a,b)};goog.DEBUG=!0;goog.LOCALE="en";goog.TRUSTED_SITE=!0;goog.STRICT_MODE_COMPATIBLE=!1;goog.DISALLOW_TEST_ONLY_CODE=COMPILED&&!goog.DEBUG;goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING=!1; +goog.provide=function(a){if(goog.isInModuleLoader_())throw Error("goog.provide cannot be used within a module.");if(!COMPILED&&goog.isProvided_(a))throw Error('Namespace "'+a+'" already declared.');goog.constructNamespace_(a)};goog.constructNamespace_=function(a,b){if(!COMPILED){delete goog.implicitNamespaces_[a];for(var c=a;(c=c.substring(0,c.lastIndexOf(".")))&&!goog.getObjectByName(c);)goog.implicitNamespaces_[c]=!0}goog.exportPath_(a,b)}; +goog.getScriptNonce=function(){null===goog.cspNonce_&&(goog.cspNonce_=goog.getScriptNonce_(goog.global.document)||"");return goog.cspNonce_};goog.NONCE_PATTERN_=/^[\w+/_-]+[=]{0,2}$/;goog.cspNonce_=null;goog.getScriptNonce_=function(a){return(a=a.querySelector("script[nonce]"))&&(a=a.nonce||a.getAttribute("nonce"))&&goog.NONCE_PATTERN_.test(a)?a:null};goog.VALID_MODULE_RE_=/^[a-zA-Z_$][a-zA-Z0-9._$]*$/; +goog.module=function(a){if(!goog.isString(a)||!a||-1==a.search(goog.VALID_MODULE_RE_))throw Error("Invalid module identifier");if(!goog.isInGoogModuleLoader_())throw Error("Module "+a+" has been loaded incorrectly. Note, modules cannot be loaded as normal scripts. They require some kind of pre-processing step. You're likely trying to load a module via a script tag or as a part of a concatenated bundle without rewriting the module. For more info see: https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide."); +if(goog.moduleLoaderState_.moduleName)throw Error("goog.module may only be called once per module.");goog.moduleLoaderState_.moduleName=a;if(!COMPILED){if(goog.isProvided_(a))throw Error('Namespace "'+a+'" already declared.');delete goog.implicitNamespaces_[a]}}; +goog.module.get=function(a){if(!COMPILED&&a in goog.loadedModules_){if(goog.loadedModules_[a].type!=goog.ModuleType.GOOG)throw Error("Can only goog.module.get for goog.modules.");if(goog.loadedModules_[a].moduleId!=a)throw Error("Cannot goog.module.get by path.");}return goog.module.getInternal_(a)};goog.module.getInternal_=function(a){if(!COMPILED){if(a in goog.loadedModules_)return goog.loadedModules_[a].exports;if(!goog.implicitNamespaces_[a])return a=goog.getObjectByName(a),null!=a?a:null}return null}; +goog.ModuleType={ES6:"es6",GOOG:"goog"};goog.moduleLoaderState_=null;goog.isInModuleLoader_=function(){return goog.isInGoogModuleLoader_()||goog.isInEs6ModuleLoader_()};goog.isInGoogModuleLoader_=function(){return!!goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.GOOG}; +goog.isInEs6ModuleLoader_=function(){if(goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.ES6)return!0;var a=goog.global.$jscomp;return a?"function"!=typeof a.getCurrentModulePath?!1:!!a.getCurrentModulePath():!1};goog.getModulePath_=function(){return goog.moduleLoaderState_&&goog.moduleLoaderState_.path}; +goog.module.declareLegacyNamespace=function(){if(!COMPILED&&!goog.isInGoogModuleLoader_())throw Error("goog.module.declareLegacyNamespace must be called from within a goog.module");if(!COMPILED&&!goog.moduleLoaderState_.moduleName)throw Error("goog.module must be called prior to goog.module.declareLegacyNamespace.");goog.moduleLoaderState_.declareLegacyNamespace=!0}; +goog.setTestOnly=function(a){if(goog.DISALLOW_TEST_ONLY_CODE)throw a=a||"",Error("Importing test-only code into non-debug environment"+(a?": "+a:"."));};goog.forwardDeclare=function(a){};COMPILED||(goog.isProvided_=function(a){return a in goog.loadedModules_||!goog.implicitNamespaces_[a]&&goog.isDefAndNotNull(goog.getObjectByName(a))},goog.implicitNamespaces_={"goog.module":!0}); +goog.getObjectByName=function(a,b){a=a.split(".");b=b||goog.global;for(var c=0;c<a.length;c++)if(b=b[a[c]],!goog.isDefAndNotNull(b))return null;return b};goog.globalize=function(a,b){b=b||goog.global;for(var c in a)b[c]=a[c]};goog.addDependency=function(a,b,c,d){!COMPILED&&goog.DEPENDENCIES_ENABLED&&goog.debugLoader_.addDependency(a,b,c,d)};goog.ENABLE_DEBUG_LOADER=!0;goog.logToConsole_=function(a){goog.global.console&&goog.global.console.error(a)}; +goog.isPath_=function(a){return 0==a.indexOf("./")||0==a.indexOf("../")}; +goog.require=function(a){if(goog.isPath_(a))if(goog.isInGoogModuleLoader_()){if(!goog.getModulePath_())throw Error("Current module has no path information. Was it loaded via goog.loadModule without a path argument?");a=goog.normalizePath_(goog.getModulePath_()+"/../"+a)}else throw Error("Cannot require by path outside of goog.modules.");if(!COMPILED){goog.ENABLE_DEBUG_LOADER&&goog.debugLoader_.requested(a);if(goog.isProvided_(a)){if(goog.isInModuleLoader_())return goog.module.getInternal_(a)}else if(goog.ENABLE_DEBUG_LOADER){var b=goog.moduleLoaderState_; +goog.moduleLoaderState_=null;try{goog.debugLoader_.load_(a)}finally{goog.moduleLoaderState_=b}}return null}};goog.basePath="";goog.nullFunction=function(){};goog.abstractMethod=function(){throw Error("unimplemented abstract method");};goog.addSingletonGetter=function(a){a.instance_=void 0;a.getInstance=function(){if(a.instance_)return a.instance_;goog.DEBUG&&(goog.instantiatedSingletons_[goog.instantiatedSingletons_.length]=a);return a.instance_=new a}};goog.instantiatedSingletons_=[]; +goog.LOAD_MODULE_USING_EVAL=!0;goog.SEAL_MODULE_EXPORTS=goog.DEBUG;goog.loadedModules_={};goog.DEPENDENCIES_ENABLED=!COMPILED&&goog.ENABLE_DEBUG_LOADER;goog.TRANSPILE="detect";goog.TRANSPILER="transpile.js";goog.hasBadLetScoping=null;goog.useSafari10Workaround=function(){if(null==goog.hasBadLetScoping){try{var a=!eval('"use strict";let x = 1; function f() { return typeof x; };f() == "number";')}catch(b){a=!1}goog.hasBadLetScoping=a}return goog.hasBadLetScoping}; +goog.workaroundSafari10EvalBug=function(a){return"(function(){"+a+"\n;})();\n"}; +goog.loadModule=function(a,b){var c=goog.moduleLoaderState_;try{goog.moduleLoaderState_={moduleName:"",declareLegacyNamespace:!1,type:goog.ModuleType.GOOG,path:b};if(goog.isFunction(a))var d=a.call(void 0,{});else if(goog.isString(a))goog.useSafari10Workaround()&&(a=goog.workaroundSafari10EvalBug(a)),d=goog.loadModuleFromSource_.call(void 0,a);else throw Error("Invalid module definition");var e=goog.moduleLoaderState_.moduleName;if(goog.isString(e)&&e){goog.moduleLoaderState_.declareLegacyNamespace? +goog.constructNamespace_(e,d):goog.SEAL_MODULE_EXPORTS&&Object.seal&&"object"==typeof d&&null!=d&&Object.seal(d);var f={exports:d,type:goog.ModuleType.GOOG,moduleId:goog.moduleLoaderState_.moduleName};goog.loadedModules_[e]=f;b&&(goog.loadedModules_[b]=f)}else throw Error('Invalid module name "'+e+'"');}finally{goog.moduleLoaderState_=c}};goog.loadModuleFromSource_=function(a){eval(a);return{}}; +goog.normalizePath_=function(a){a=a.split("/");for(var b=0;b<a.length;)"."==a[b]?a.splice(b,1):b&&".."==a[b]&&a[b-1]&&".."!=a[b-1]?a.splice(--b,2):b++;return a.join("/")};goog.loadFileSync_=function(a){if(goog.global.CLOSURE_LOAD_FILE_SYNC)return goog.global.CLOSURE_LOAD_FILE_SYNC(a);try{var b=new goog.global.XMLHttpRequest;b.open("get",a,!1);b.send();return 0==b.status||200==b.status?b.responseText:null}catch(c){return null}}; +goog.transpile_=function(a,b){var c=goog.global.$jscomp;c||(goog.global.$jscomp=c={});var d=c.transpile;if(!d){var e=goog.basePath+goog.TRANSPILER,f=goog.loadFileSync_(e);if(f){(function(){eval(f+"\n//# sourceURL="+e)}).call(goog.global);if(goog.global.$gwtExport&&goog.global.$gwtExport.$jscomp&&!goog.global.$gwtExport.$jscomp.transpile)throw Error('The transpiler did not properly export the "transpile" method. $gwtExport: '+JSON.stringify(goog.global.$gwtExport));goog.global.$jscomp.transpile=goog.global.$gwtExport.$jscomp.transpile; +c=goog.global.$jscomp;d=c.transpile}}d||(d=c.transpile=function(a,b){goog.logToConsole_(b+" requires transpilation but no transpiler was found.");return a});return d(a,b)}; +goog.typeOf=function(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null"; +else if("function"==b&&"undefined"==typeof a.call)return"object";return b};goog.isNull=function(a){return null===a};goog.isDefAndNotNull=function(a){return null!=a};goog.isArray=function(a){return"array"==goog.typeOf(a)};goog.isArrayLike=function(a){var b=goog.typeOf(a);return"array"==b||"object"==b&&"number"==typeof a.length};goog.isDateLike=function(a){return goog.isObject(a)&&"function"==typeof a.getFullYear};goog.isFunction=function(a){return"function"==goog.typeOf(a)}; +goog.isObject=function(a){var b=typeof a;return"object"==b&&null!=a||"function"==b};goog.getUid=function(a){return a[goog.UID_PROPERTY_]||(a[goog.UID_PROPERTY_]=++goog.uidCounter_)};goog.hasUid=function(a){return!!a[goog.UID_PROPERTY_]};goog.removeUid=function(a){null!==a&&"removeAttribute"in a&&a.removeAttribute(goog.UID_PROPERTY_);try{delete a[goog.UID_PROPERTY_]}catch(b){}};goog.UID_PROPERTY_="closure_uid_"+(1E9*Math.random()>>>0);goog.uidCounter_=0;goog.getHashCode=goog.getUid; +goog.removeHashCode=goog.removeUid;goog.cloneObject=function(a){var b=goog.typeOf(a);if("object"==b||"array"==b){if("function"===typeof a.clone)return a.clone();b="array"==b?[]:{};for(var c in a)b[c]=goog.cloneObject(a[c]);return b}return a};goog.bindNative_=function(a,b,c){return a.call.apply(a.bind,arguments)}; +goog.bindJs_=function(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}};goog.bind=function(a,b,c){Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?goog.bind=goog.bindNative_:goog.bind=goog.bindJs_;return goog.bind.apply(null,arguments)}; +goog.partial=function(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var b=c.slice();b.push.apply(b,arguments);return a.apply(this,b)}};goog.mixin=function(a,b){for(var c in b)a[c]=b[c]};goog.now=goog.TRUSTED_SITE&&Date.now||function(){return+new Date}; +goog.globalEval=function(a){if(goog.global.execScript)goog.global.execScript(a,"JavaScript");else if(goog.global.eval){if(null==goog.evalWorksForGlobals_){try{goog.global.eval("var _evalTest_ = 1;")}catch(d){}if("undefined"!=typeof goog.global._evalTest_){try{delete goog.global._evalTest_}catch(d){}goog.evalWorksForGlobals_=!0}else goog.evalWorksForGlobals_=!1}if(goog.evalWorksForGlobals_)goog.global.eval(a);else{var b=goog.global.document,c=b.createElement("SCRIPT");c.type="text/javascript";c.defer= +!1;c.appendChild(b.createTextNode(a));b.head.appendChild(c);b.head.removeChild(c)}}else throw Error("goog.globalEval not available");};goog.evalWorksForGlobals_=null; +goog.getCssName=function(a,b){if("."==String(a).charAt(0))throw Error('className passed in goog.getCssName must not start with ".". You passed: '+a);var c=function(a){return goog.cssNameMapping_[a]||a},d=function(a){a=a.split("-");for(var b=[],d=0;d<a.length;d++)b.push(c(a[d]));return b.join("-")};d=goog.cssNameMapping_?"BY_WHOLE"==goog.cssNameMappingStyle_?c:d:function(a){return a};a=b?a+"-"+d(b):d(a);return goog.global.CLOSURE_CSS_NAME_MAP_FN?goog.global.CLOSURE_CSS_NAME_MAP_FN(a):a}; +goog.setCssNameMapping=function(a,b){goog.cssNameMapping_=a;goog.cssNameMappingStyle_=b};!COMPILED&&goog.global.CLOSURE_CSS_NAME_MAPPING&&(goog.cssNameMapping_=goog.global.CLOSURE_CSS_NAME_MAPPING);goog.getMsg=function(a,b){b&&(a=a.replace(/\{\$([^}]+)}/g,function(a,d){return null!=b&&d in b?b[d]:a}));return a};goog.getMsgWithFallback=function(a,b){return a};goog.exportSymbol=function(a,b,c){goog.exportPath_(a,b,c)};goog.exportProperty=function(a,b,c){a[b]=c}; +goog.inherits=function(a,b){function c(){}c.prototype=b.prototype;a.superClass_=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.base=function(a,c,f){for(var d=Array(arguments.length-2),e=2;e<arguments.length;e++)d[e-2]=arguments[e];return b.prototype[c].apply(a,d)}}; +goog.base=function(a,b,c){var d=arguments.callee.caller;if(goog.STRICT_MODE_COMPATIBLE||goog.DEBUG&&!d)throw Error("arguments.caller not defined. goog.base() cannot be used with strict mode code. See http://www.ecma-international.org/ecma-262/5.1/#sec-C");if("undefined"!==typeof d.superClass_){for(var e=Array(arguments.length-1),f=1;f<arguments.length;f++)e[f-1]=arguments[f];return d.superClass_.constructor.apply(a,e)}if("string"!=typeof b&&"symbol"!=typeof b)throw Error("method names provided to goog.base must be a string or a symbol"); +e=Array(arguments.length-2);for(f=2;f<arguments.length;f++)e[f-2]=arguments[f];f=!1;for(var g=a.constructor;g;g=g.superClass_&&g.superClass_.constructor)if(g.prototype[b]===d)f=!0;else if(f)return g.prototype[b].apply(a,e);if(a[b]===d)return a.constructor.prototype[b].apply(a,e);throw Error("goog.base called from a method of one name to a method of a different name");};goog.scope=function(a){if(goog.isInModuleLoader_())throw Error("goog.scope is not supported within a module.");a.call(goog.global)}; +COMPILED||(goog.global.COMPILED=COMPILED);goog.defineClass=function(a,b){var c=b.constructor,d=b.statics;c&&c!=Object.prototype.constructor||(c=function(){throw Error("cannot instantiate an interface (no constructor defined).");});c=goog.defineClass.createSealingConstructor_(c,a);a&&goog.inherits(c,a);delete b.constructor;delete b.statics;goog.defineClass.applyProperties_(c.prototype,b);null!=d&&(d instanceof Function?d(c):goog.defineClass.applyProperties_(c,d));return c}; +goog.defineClass.SEAL_CLASS_INSTANCES=goog.DEBUG;goog.defineClass.createSealingConstructor_=function(a,b){if(!goog.defineClass.SEAL_CLASS_INSTANCES)return a;var c=!goog.defineClass.isUnsealable_(b),d=function(){var b=a.apply(this,arguments)||this;b[goog.UID_PROPERTY_]=b[goog.UID_PROPERTY_];this.constructor===d&&c&&Object.seal instanceof Function&&Object.seal(b);return b};return d};goog.defineClass.isUnsealable_=function(a){return a&&a.prototype&&a.prototype[goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_]}; +goog.defineClass.OBJECT_PROTOTYPE_FIELDS_="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");goog.defineClass.applyProperties_=function(a,b){for(var c in b)Object.prototype.hasOwnProperty.call(b,c)&&(a[c]=b[c]);for(var d=0;d<goog.defineClass.OBJECT_PROTOTYPE_FIELDS_.length;d++)c=goog.defineClass.OBJECT_PROTOTYPE_FIELDS_[d],Object.prototype.hasOwnProperty.call(b,c)&&(a[c]=b[c])}; +goog.tagUnsealableClass=function(a){!COMPILED&&goog.defineClass.SEAL_CLASS_INSTANCES&&(a.prototype[goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_]=!0)};goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_="goog_defineClass_legacy_unsealable"; +!COMPILED&&goog.DEPENDENCIES_ENABLED&&(goog.inHtmlDocument_=function(){var a=goog.global.document;return null!=a&&"write"in a},goog.isDocumentLoading_=function(){var a=goog.global.document;return a.attachEvent?"complete"!=a.readyState:"loading"==a.readyState},goog.findBasePath_=function(){if(goog.isDef(goog.global.CLOSURE_BASE_PATH)&&goog.isString(goog.global.CLOSURE_BASE_PATH))goog.basePath=goog.global.CLOSURE_BASE_PATH;else if(goog.inHtmlDocument_()){var a=goog.global.document,b=a.currentScript; +a=b?[b]:a.getElementsByTagName("SCRIPT");for(b=a.length-1;0<=b;--b){var c=a[b].src,d=c.lastIndexOf("?");d=-1==d?c.length:d;if("base.js"==c.substr(d-7,7)){goog.basePath=c.substr(0,d-7);break}}}},goog.findBasePath_(),goog.Transpiler=function(){this.requiresTranspilation_=null},goog.Transpiler.prototype.createRequiresTranspilation_=function(){function a(a,b){d?c[a]=!0:b()?c[a]=!1:d=c[a]=!0}function b(a){try{return!!eval(a)}catch(g){return!1}}var c={es3:!1},d=!1,e=goog.global.navigator&&goog.global.navigator.userAgent? +goog.global.navigator.userAgent:"";a("es5",function(){return b("[1,].length==1")});a("es6",function(){var a=e.match(/Edge\/(\d+)(\.\d)*/i);return a&&15>Number(a[1])?!1:b('(()=>{"use strict";class X{constructor(){if(new.target!=String)throw 1;this.x=42}}let q=Reflect.construct(X,[],String);if(q.x!=42||!(q instanceof String))throw 1;for(const a of[2,3]){if(a==2)continue;function f(z={a}){let a=0;return z.a}{function f(){return 0;}}return f()==3}})()')});a("es6-impl",function(){return!0});a("es7",function(){return b("2 ** 2 == 4")}); +a("es8",function(){return b("async () => 1, true")});a("es9",function(){return b("({...rest} = {}), true")});a("es_next",function(){return!1});return c},goog.Transpiler.prototype.needsTranspile=function(a,b){if("always"==goog.TRANSPILE)return!0;if("never"==goog.TRANSPILE)return!1;this.requiresTranspilation_||(this.requiresTranspilation_=this.createRequiresTranspilation_());if(a in this.requiresTranspilation_)return this.requiresTranspilation_[a]?!0:!goog.inHtmlDocument_()||"es6"!=b||"noModule"in goog.global.document.createElement("script")? +!1:!0;throw Error("Unknown language mode: "+a);},goog.Transpiler.prototype.transpile=function(a,b){return goog.transpile_(a,b)},goog.transpiler_=new goog.Transpiler,goog.protectScriptTag_=function(a){return a.replace(/<\/(SCRIPT)/ig,"\\x3c/$1")},goog.DebugLoader_=function(){this.dependencies_={};this.idToPath_={};this.written_={};this.loadingDeps_=[];this.depsToLoad_=[];this.paused_=!1;this.factory_=new goog.DependencyFactory(goog.transpiler_);this.deferredCallbacks_={};this.deferredQueue_=[]},goog.DebugLoader_.prototype.bootstrap= +function(a,b){function c(){d&&(goog.global.setTimeout(d,0),d=null)}var d=b;if(a.length){b=[];for(var e=0;e<a.length;e++){var f=this.getPathFromDeps_(a[e]);if(!f)throw Error("Unregonized namespace: "+a[e]);b.push(this.dependencies_[f])}f=goog.require;var g=0;for(e=0;e<a.length;e++)f(a[e]),b[e].onLoad(function(){++g==a.length&&c()})}else c()},goog.DebugLoader_.prototype.loadClosureDeps=function(){this.depsToLoad_.push(this.factory_.createDependency(goog.normalizePath_(goog.basePath+"deps.js"),"deps.js", +[],[],{},!1));this.loadDeps_()},goog.DebugLoader_.prototype.requested=function(a,b){(a=this.getPathFromDeps_(a))&&(b||this.areDepsLoaded_(this.dependencies_[a].requires))&&(b=this.deferredCallbacks_[a])&&(delete this.deferredCallbacks_[a],b())},goog.DebugLoader_.prototype.setDependencyFactory=function(a){this.factory_=a},goog.DebugLoader_.prototype.load_=function(a){if(this.getPathFromDeps_(a)){var b=this,c=[],d=function(a){var e=b.getPathFromDeps_(a);if(!e)throw Error("Bad dependency path or symbol: "+ +a);if(!b.written_[e]){b.written_[e]=!0;a=b.dependencies_[e];for(e=0;e<a.requires.length;e++)goog.isProvided_(a.requires[e])||d(a.requires[e]);c.push(a)}};d(a);a=!!this.depsToLoad_.length;this.depsToLoad_=this.depsToLoad_.concat(c);this.paused_||a||this.loadDeps_()}else throw a="goog.require could not find: "+a,goog.logToConsole_(a),Error(a);},goog.DebugLoader_.prototype.loadDeps_=function(){for(var a=this,b=this.paused_;this.depsToLoad_.length&&!b;)(function(){var c=!1,d=a.depsToLoad_.shift(),e=!1; +a.loading_(d);var f={pause:function(){if(c)throw Error("Cannot call pause after the call to load.");b=!0},resume:function(){c?a.resume_():b=!1},loaded:function(){if(e)throw Error("Double call to loaded.");e=!0;a.loaded_(d)},pending:function(){for(var b=[],c=0;c<a.loadingDeps_.length;c++)b.push(a.loadingDeps_[c]);return b},setModuleState:function(a,b){goog.moduleLoaderState_={path:a,type:b,moduleName:"",declareLegacyNamespace:!1}},registerEs6ModuleExports:function(a,b){goog.loadedModules_[a]={exports:b, +type:goog.ModuleType.ES6,moduleId:""}},registerGoogModuleExports:function(a,b){goog.loadedModules_[a]={exports:b,type:goog.ModuleType.GOOG,moduleId:a}},clearModuleState:function(){goog.moduleLoaderState_=null},defer:function(b){if(c)throw Error("Cannot register with defer after the call to load.");a.defer_(d,b)},areDepsLoaded:function(){return a.areDepsLoaded_(d.requires)}};try{d.load(f)}finally{c=!0}})();b&&this.pause_()},goog.DebugLoader_.prototype.pause_=function(){this.paused_=!0},goog.DebugLoader_.prototype.resume_= +function(){this.paused_&&(this.paused_=!1,this.loadDeps_())},goog.DebugLoader_.prototype.loading_=function(a){this.loadingDeps_.push(a)},goog.DebugLoader_.prototype.loaded_=function(a){for(var b=0;b<this.loadingDeps_.length;b++)if(this.loadingDeps_[b]==a){this.loadingDeps_.splice(b,1);break}for(b=0;b<this.deferredQueue_.length;b++)if(this.deferredQueue_[b]==a.path){this.deferredQueue_.splice(b,1);break}if(this.loadingDeps_.length==this.deferredQueue_.length&&!this.depsToLoad_.length)for(;this.deferredQueue_.length;)this.requested(this.deferredQueue_.shift(), +!0);a.loaded()},goog.DebugLoader_.prototype.areDepsLoaded_=function(a){for(var b=0;b<a.length;b++){var c=this.getPathFromDeps_(a[b]);if(!c||!(c in this.deferredCallbacks_||goog.isProvided_(a[b])))return!1}return!0},goog.DebugLoader_.prototype.getPathFromDeps_=function(a){return a in this.idToPath_?this.idToPath_[a]:a in this.dependencies_?a:null},goog.DebugLoader_.prototype.defer_=function(a,b){this.deferredCallbacks_[a.path]=b;this.deferredQueue_.push(a.path)},goog.LoadController=function(){},goog.LoadController.prototype.pause= +function(){},goog.LoadController.prototype.resume=function(){},goog.LoadController.prototype.loaded=function(){},goog.LoadController.prototype.pending=function(){},goog.LoadController.prototype.registerEs6ModuleExports=function(a,b){},goog.LoadController.prototype.setModuleState=function(a,b){},goog.LoadController.prototype.clearModuleState=function(){},goog.LoadController.prototype.defer=function(a){},goog.LoadController.prototype.areDepsLoaded=function(){},goog.Dependency=function(a,b,c,d,e){this.path= +a;this.relativePath=b;this.provides=c;this.requires=d;this.loadFlags=e;this.loaded_=!1;this.loadCallbacks_=[]},goog.Dependency.prototype.onLoad=function(a){this.loaded_?a():this.loadCallbacks_.push(a)},goog.Dependency.prototype.loaded=function(){this.loaded_=!0;var a=this.loadCallbacks_;this.loadCallbacks_=[];for(var b=0;b<a.length;b++)a[b]()},goog.Dependency.defer_=!1,goog.Dependency.callbackMap_={},goog.Dependency.registerCallback_=function(a){var b=Math.random().toString(32);goog.Dependency.callbackMap_[b]= +a;return b},goog.Dependency.unregisterCallback_=function(a){delete goog.Dependency.callbackMap_[a]},goog.Dependency.callback_=function(a,b){if(a in goog.Dependency.callbackMap_){for(var c=goog.Dependency.callbackMap_[a],d=[],e=1;e<arguments.length;e++)d.push(arguments[e]);c.apply(void 0,d)}else throw Error("Callback key "+a+" does not exist (was base.js loaded more than once?).");},goog.Dependency.prototype.load=function(a){if(goog.global.CLOSURE_IMPORT_SCRIPT)goog.global.CLOSURE_IMPORT_SCRIPT(this.path)? +a.loaded():a.pause();else if(goog.inHtmlDocument_()){var b=goog.global.document;if("complete"==b.readyState&&!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING){if(/\bdeps.js$/.test(this.path)){a.loaded();return}throw Error('Cannot write "'+this.path+'" after document load');}if(!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING&&goog.isDocumentLoading_()){var c=goog.Dependency.registerCallback_(function(b){goog.DebugLoader_.IS_OLD_IE_&&"complete"!=b.readyState||(goog.Dependency.unregisterCallback_(c),a.loaded())}); +b.write('<script src="'+this.path+'" '+(goog.DebugLoader_.IS_OLD_IE_?"onreadystatechange":"onload")+"=\"goog.Dependency.callback_('"+c+'\', this)" type="text/javascript" '+(goog.Dependency.defer_?"defer":"")+">\x3c/script>")}else{var d=b.createElement("script");d.defer=goog.Dependency.defer_;d.async=!1;d.type="text/javascript";var e=goog.getScriptNonce();e&&(d.nonce=e);goog.DebugLoader_.IS_OLD_IE_?(a.pause(),d.onreadystatechange=function(){if("loaded"==d.readyState||"complete"==d.readyState)a.loaded(), +a.resume()}):d.onload=function(){d.onload=null;a.loaded()};d.src=this.path;b.head.appendChild(d)}}else goog.logToConsole_("Cannot use default debug loader outside of HTML documents."),"deps.js"==this.relativePath?(goog.logToConsole_("Consider setting CLOSURE_IMPORT_SCRIPT before loading base.js, or seting CLOSURE_NO_DEPS to true."),a.loaded()):a.pause()},goog.Es6ModuleDependency=function(a,b,c,d,e){goog.Dependency.call(this,a,b,c,d,e)},goog.inherits(goog.Es6ModuleDependency,goog.Dependency),goog.Es6ModuleDependency.prototype.load= +function(a){function b(a,b){b?d.write('<script type="module" crossorigin>'+b+"\x3c/script>"):d.write('<script type="module" crossorigin src="'+a+'">\x3c/script>')}function c(a,b){var c=d.createElement("script");c.defer=!0;c.async=!1;c.type="module";c.setAttribute("crossorigin",!0);var e=goog.getScriptNonce();e&&(c.nonce=e);b?c.textContent=b:c.src=a;d.head.appendChild(c)}if(goog.global.CLOSURE_IMPORT_SCRIPT)goog.global.CLOSURE_IMPORT_SCRIPT(this.path)?a.loaded():a.pause();else if(goog.inHtmlDocument_()){var d= +goog.global.document,e=this;if(goog.isDocumentLoading_()){var f=b;goog.Dependency.defer_=!0}else f=c;var g=goog.Dependency.registerCallback_(function(){goog.Dependency.unregisterCallback_(g);a.setModuleState(e.path,goog.ModuleType.ES6)});f(void 0,'goog.Dependency.callback_("'+g+'")');f(this.path,void 0);var h=goog.Dependency.registerCallback_(function(b){goog.Dependency.unregisterCallback_(h);a.registerEs6ModuleExports(e.path,b)});f(void 0,'import * as m from "'+this.path+'"; goog.Dependency.callback_("'+ +h+'", m)');var k=goog.Dependency.registerCallback_(function(){goog.Dependency.unregisterCallback_(k);a.clearModuleState();a.loaded()});f(void 0,'goog.Dependency.callback_("'+k+'")')}else goog.logToConsole_("Cannot use default debug loader outside of HTML documents."),a.pause()},goog.TransformedDependency=function(a,b,c,d,e){goog.Dependency.call(this,a,b,c,d,e);this.contents_=null},goog.inherits(goog.TransformedDependency,goog.Dependency),goog.TransformedDependency.prototype.load=function(a){function b(){e.contents_= +goog.loadFileSync_(e.path);e.contents_&&(e.contents_=e.transform(e.contents_),e.contents_&&(e.contents_+="\n//# sourceURL="+e.path))}function c(){b();if(e.contents_){f&&a.setModuleState(e.path,goog.ModuleType.ES6);try{var c=e.contents_;e.contents_=null;goog.globalEval(c)}finally{f&&a.clearModuleState()}f&&goog.global.$jscomp.require.ensure([e.path],function(){a.registerEs6ModuleExports(e.path,goog.global.$jscomp.require(e.path))});a.loaded()}}function d(){var a=goog.global.document,b=goog.Dependency.registerCallback_(function(){goog.Dependency.unregisterCallback_(b); +c()});a.write('<script type="text/javascript">'+goog.protectScriptTag_('goog.Dependency.callback_("'+b+'");')+"\x3c/script>")}var e=this;if(goog.global.CLOSURE_IMPORT_SCRIPT)b(),this.contents_&&goog.global.CLOSURE_IMPORT_SCRIPT("",this.contents_)?(this.contents_=null,a.loaded()):a.pause();else{var f=this.loadFlags.module==goog.ModuleType.ES6;if(1<a.pending().length&&goog.DebugLoader_.IS_OLD_IE_||goog.Dependency.defer_&&goog.isDocumentLoading_())a.defer(function(){c()});else if(f&&goog.inHtmlDocument_()&& +goog.isDocumentLoading_()){goog.Dependency.defer_=!0;var g=goog.global.document;a.pause();var h=g.onreadystatechange;g.onreadystatechange=function(){if(g.attachEvent?"complete"==g.readyState:"interactive"==g.readyState)g.onreadystatechange=h,c(),a.resume();goog.isFunction(h)&&h.apply(void 0,arguments)}}else!goog.DebugLoader_.IS_OLD_IE_&&goog.inHtmlDocument_()&&goog.isDocumentLoading_()?d():c()}},goog.TransformedDependency.prototype.transform=function(a){},goog.TranspiledDependency=function(a,b,c, +d,e,f){goog.TransformedDependency.call(this,a,b,c,d,e);this.transpiler=f},goog.inherits(goog.TranspiledDependency,goog.TransformedDependency),goog.TranspiledDependency.prototype.transform=function(a){return this.transpiler.transpile(a,this.path)},goog.GoogModuleDependency=function(a,b,c,d,e,f,g){goog.TransformedDependency.call(this,a,b,c,d,e);this.needsTranspile_=f;this.transpiler_=g},goog.inherits(goog.GoogModuleDependency,goog.TransformedDependency),goog.GoogModuleDependency.prototype.transform= +function(a){this.needsTranspile_&&(a=this.transpiler_.transpile(a,this.path));return goog.LOAD_MODULE_USING_EVAL&&goog.isDef(goog.global.JSON)?"goog.loadModule("+goog.global.JSON.stringify(a+"\n//# sourceURL="+this.path+"\n")+', "'+this.path+'");':'goog.loadModule(function(exports) {"use strict";'+a+'\n;return exports}, "'+this.path+'");\n//# sourceURL='+this.path+"\n"},goog.DebugLoader_.IS_OLD_IE_=!(goog.global.atob||!goog.global.document||!goog.global.document.all),goog.DebugLoader_.prototype.addDependency= +function(a,b,c,d){b=b||[];a=a.replace(/\\/g,"/");var e=goog.normalizePath_(goog.basePath+a);d&&"boolean"!==typeof d||(d=d?{module:goog.ModuleType.GOOG}:{});c=this.factory_.createDependency(e,a,b,c,d,goog.transpiler_.needsTranspile(d.lang||"es3",d.module));this.dependencies_[e]=c;for(c=0;c<b.length;c++)this.idToPath_[b[c]]=e;this.idToPath_[a]=e},goog.DependencyFactory=function(a){this.transpiler=a},goog.DependencyFactory.prototype.createDependency=function(a,b,c,d,e,f){return e.module==goog.ModuleType.GOOG? +new goog.GoogModuleDependency(a,b,c,d,e,f,this.transpiler):f?new goog.TranspiledDependency(a,b,c,d,e,this.transpiler):e.module==goog.ModuleType.ES6?new goog.Es6ModuleDependency(a,b,c,d,e):new goog.Dependency(a,b,c,d,e)},goog.debugLoader_=new goog.DebugLoader_,goog.loadClosureDeps=function(){goog.debugLoader_.loadClosureDeps()},goog.setDependencyFactory=function(a){goog.debugLoader_.setDependencyFactory(a)},goog.global.CLOSURE_NO_DEPS||goog.debugLoader_.loadClosureDeps(),goog.bootstrap=function(a, +b){goog.debugLoader_.bootstrap(a,b)});var sre={Variables:function(){}};sre.Variables.VERSION="2.2.2";sre.Variables.LOCALES=["en","es"];sre.Variables.mathjaxVersion="2.7.4";sre.Variables.url="https://cdn.jsdelivr.net/npm/speech-rule-engine@"+sre.Variables.VERSION+"/lib/mathmaps";sre.Variables.WGXpath="https://cdnjs.cloudflare.com/ajax/libs/mathjax/"+sre.Variables.mathjaxVersion+"/extensions/a11y/wgxpath.install.js";sre.SystemExternal=function(){};sre.SystemExternal.require=function(a){return"undefined"!==typeof process&&"undefined"!==typeof require?require(a):null};sre.SystemExternal.documentSupported=function(){return"undefined"!=typeof document};sre.SystemExternal.process=sre.SystemExternal.require("process");sre.SystemExternal.xmldom=sre.SystemExternal.documentSupported()?window:sre.SystemExternal.require("xmldom-sre"); +sre.SystemExternal.document=sre.SystemExternal.documentSupported()?document:(new sre.SystemExternal.xmldom.DOMImplementation).createDocument("","",0);sre.SystemExternal.xpath=sre.SystemExternal.documentSupported()?document:function(){var a={document:{}};sre.SystemExternal.require("wicked-good-xpath").install(a);a.document.XPathResult=a.XPathResult;return a.document}();sre.SystemExternal.commander=sre.SystemExternal.documentSupported()?null:sre.SystemExternal.require("commander"); +sre.SystemExternal.fs=sre.SystemExternal.documentSupported()?null:sre.SystemExternal.require("fs");sre.SystemExternal.xm=sre.SystemExternal.documentSupported()?null:sre.SystemExternal.require("xml-mapping");sre.SystemExternal.url=sre.Variables.url;sre.SystemExternal.jsonPath=function(){return(sre.SystemExternal.process&&"undefined"!==typeof global?sre.SystemExternal.process.env.SRE_JSON_PATH||global.SRE_JSON_PATH||sre.SystemExternal.process.cwd():sre.SystemExternal.url)+"/"}(); +sre.SystemExternal.WGXpath=sre.Variables.WGXpath;sre.SystemExternal.wgxpath=null;sre.BrowserUtil={};sre.BrowserUtil.detectIE=function(){if(!("undefined"!==typeof window&&"ActiveXObject"in window&&"clipboardData"in window))return!1;sre.BrowserUtil.loadMapsForIE_();sre.BrowserUtil.loadWGXpath_();return!0};sre.BrowserUtil.detectEdge=function(){if(!("undefined"!==typeof window&&"MSGestureEvent"in window&&"chrome"in window&&null==window.chrome.loadTimes))return!1;document.evaluate=null;sre.BrowserUtil.loadWGXpath_(!0);return!0};sre.BrowserUtil.mapsForIE=null; +sre.BrowserUtil.loadWGXpath_=function(a){sre.BrowserUtil.loadScript(sre.SystemExternal.WGXpath);sre.BrowserUtil.installWGXpath_(a)}; +sre.BrowserUtil.installWGXpath_=function(a,b){var c=b||1;"undefined"===typeof wgxpath&&10>c?setTimeout(function(){sre.BrowserUtil.installWGXpath_(a,c++)},200):10<=c||(sre.SystemExternal.wgxpath=wgxpath,a?sre.SystemExternal.wgxpath.install({document:document}):sre.SystemExternal.wgxpath.install(),sre.XpathUtil.xpathEvaluate=document.evaluate,sre.XpathUtil.xpathResult=XPathResult,sre.XpathUtil.createNSResolver=document.createNSResolver)}; +sre.BrowserUtil.loadMapsForIE_=function(){sre.BrowserUtil.loadScript(sre.SystemExternal.jsonPath+"mathmaps_ie.js")};sre.BrowserUtil.loadScript=function(a){var b=sre.SystemExternal.document.createElement("script");b.type="text/javascript";b.src=a;sre.SystemExternal.document.head?sre.SystemExternal.document.head.appendChild(b):sre.SystemExternal.document.body.appendChild(b)};sre.DynamicProperties=function(a,b){this.properties_=a;this.order_=b||Object.keys(a)};sre.DynamicProperties.prototype.getProperties=function(){return this.properties_};sre.DynamicProperties.prototype.getOrder=function(){return this.order_};sre.DynamicProperties.prototype.getAxes=function(){return this.order_};sre.DynamicProperties.prototype.getProperty=function(a){return this.properties_[a]};sre.DynamicProperties.prototype.updateProperties=function(a){this.properties_=a}; +sre.DynamicProperties.prototype.allProperties=function(){var a=[];this.order_.forEach(goog.bind(function(b){a.push(this.getProperty(b))},this));return a};sre.DynamicProperties.prototype.toString=function(){var a=[];this.order_.forEach(goog.bind(function(b){a.push(b+": "+this.getProperty(b).toString())},this));return a.join("\n")}; +sre.DynamicCstr=function(a,b){this.components_=a;var c={},d;for(d in a){var e=a[d];c[d]=[e];sre.DynamicCstr.Values_.getInstance().add(d,e)}sre.DynamicProperties.call(this,c,b)};goog.inherits(sre.DynamicCstr,sre.DynamicProperties);sre.DynamicCstr.prototype.getComponents=function(){return this.components_};sre.DynamicCstr.prototype.getValue=function(a){return this.components_[a]}; +sre.DynamicCstr.prototype.getValues=function(){var a=[];this.order_.forEach(goog.bind(function(b){a.push(this.getValue(b))},this));return a};sre.DynamicCstr.prototype.toString=function(){return this.getValues().join(".")};sre.DynamicCstr.prototype.equal=function(a){var b=a.getAxes();if(this.order_.length!==b.length)return!1;for(var c=0,d;d=b[c];c++){var e=this.getValue(d);if(!e||a.getValue(d)!==e)return!1}return!0}; +sre.DynamicCstr.Axis={DOMAIN:"domain",STYLE:"style",LOCALE:"locale",TOPIC:"topic",MODALITY:"modality"};sre.DynamicCstr.Values_=function(){this.axisToValues=sre.DynamicCstr.Values_.makeAxisValueObject_()};goog.addSingletonGetter(sre.DynamicCstr.Values_);sre.DynamicCstr.Values_.prototype.add=function(a,b){this.axisToValues[a][b]=!0};sre.DynamicCstr.Values_.prototype.get=function(){var a={},b=sre.DynamicCstr.Values_.getInstance().axisToValues,c;for(c in b)a[c]=Object.keys(b[c]);return a}; +sre.DynamicCstr.Values_.makeAxisValueObject_=function(){var a={},b;for(b in sre.DynamicCstr.Axis)a[sre.DynamicCstr.Axis[b]]={};return a};sre.DynamicCstr.getAxisValues=function(){return sre.DynamicCstr.Values_.getInstance().get()};sre.DynamicCstr.DEFAULT_ORDER=[sre.DynamicCstr.Axis.LOCALE,sre.DynamicCstr.Axis.DOMAIN,sre.DynamicCstr.Axis.STYLE,sre.DynamicCstr.Axis.TOPIC,sre.DynamicCstr.Axis.MODALITY];sre.DynamicCstr.DEFAULT_VALUE="default";sre.DynamicCstr.DEFAULT_VALUES={}; +sre.DynamicCstr.DEFAULT_VALUES[sre.DynamicCstr.Axis.LOCALE]="en";sre.DynamicCstr.DEFAULT_VALUES[sre.DynamicCstr.Axis.DOMAIN]=sre.DynamicCstr.DEFAULT_VALUE;sre.DynamicCstr.DEFAULT_VALUES[sre.DynamicCstr.Axis.STYLE]=sre.DynamicCstr.DEFAULT_VALUE;sre.DynamicCstr.DEFAULT_VALUES[sre.DynamicCstr.Axis.TOPIC]=sre.DynamicCstr.DEFAULT_VALUE;sre.DynamicCstr.DEFAULT_VALUES[sre.DynamicCstr.Axis.MODALITY]=sre.DynamicCstr.DEFAULT_VALUE;sre.DynamicCstr.Parser=function(a){this.order_=a}; +sre.DynamicCstr.Parser.prototype.parse=function(a){a=a.split(".");var b={};if(a.length>this.order_.length)throw Error("Invalid dynamic constraint: "+b);for(var c=0,d;d=this.order_[c],a.length;c++){var e=a.shift();b[d]=e}return new sre.DynamicCstr(b,this.order_.slice(0,c))};sre.DynamicCstr.Comparator=function(){};sre.DynamicCstr.Comparator.prototype.getReference=function(){};sre.DynamicCstr.Comparator.prototype.setReference=function(a,b){};sre.DynamicCstr.Comparator.prototype.match=function(a){}; +sre.DynamicCstr.Comparator.prototype.compare=function(a,b){};sre.DynamicCstr.DefaultComparator=function(a,b){this.reference_=a;this.fallback_=b||new sre.DynamicProperties(a.getProperties(),a.getOrder());this.order_=this.reference_.getOrder()};sre.DynamicCstr.DefaultComparator.prototype.getReference=function(){return this.reference_}; +sre.DynamicCstr.DefaultComparator.prototype.setReference=function(a,b){this.reference_=a;this.fallback_=b||new sre.DynamicProperties(a.getProperties(),a.getOrder());this.order_=this.reference_.getOrder()};sre.DynamicCstr.DefaultComparator.prototype.match=function(a){var b=a.getAxes();return b.length===this.reference_.getAxes().length&&b.every(goog.bind(function(b){var c=a.getValue(b);return c===this.reference_.getValue(b)||-1!==this.fallback_.getProperty(b).indexOf(c)},this))}; +sre.DynamicCstr.DefaultComparator.prototype.compare=function(a,b){for(var c=!1,d=0,e;e=this.order_[d];d++){var f=a.getValue(e),g=b.getValue(e);if(!c){var h=this.reference_.getValue(e);if(h===f&&h!==g)return-1;if(h===g&&h!==f)return 1;if(h===f&&h===g)continue;h!==f&&h!==g&&(c=!0)}e=this.fallback_.getProperty(e);f=e.indexOf(f);g=e.indexOf(g);if(f<g)return-1;if(g<f)return 1}return 0}; +sre.DynamicProperties.create=function(a){for(var b=sre.DynamicCstr.DEFAULT_ORDER,c={},d=Array.prototype.slice.call(arguments,0),e=0,f=d.length,g=b.length;e<f&&e<g;e++)c[b[e]]=d[e];return new sre.DynamicProperties(c)};sre.DynamicCstr.create=function(a){for(var b=sre.DynamicCstr.DEFAULT_ORDER,c={},d=Array.prototype.slice.call(arguments,0),e=0,f=d.length,g=b.length;e<f&&e<g;e++)c[b[e]]=d[e];return new sre.DynamicCstr(c)}; +sre.DynamicCstr.defaultCstr=function(){return sre.DynamicCstr.create.apply(null,sre.DynamicCstr.DEFAULT_ORDER.map(function(a){return sre.DynamicCstr.DEFAULT_VALUES[a]}))};sre.DynamicCstr.validOrder=function(a){var b=sre.DynamicCstr.DEFAULT_ORDER.slice();return a.every(function(a){a=b.indexOf(a);return-1!==a&&b.splice(a,1)})};sre.Engine=function(){this.alternativeHost=this.activeHost=null;this.evaluator=sre.Engine.defaultEvaluator;this.dynamicCstr=sre.DynamicCstr.defaultCstr();this.comparator=null;this.domain=sre.DynamicCstr.DEFAULT_VALUES[sre.DynamicCstr.Axis.DOMAIN];this.style="short";this.locale=sre.DynamicCstr.DEFAULT_VALUES[sre.DynamicCstr.Axis.LOCALE];this.walker="Syntax";this.semantics=!0;this.mode=sre.Engine.Mode.SYNC;this.speech=sre.Engine.Speech.SHALLOW;this.structure=!1;this.ruleSets=[];this.cache=!0;this.markup= +sre.Engine.Markup.NONE;this.isEdge=this.isIE=this.strict=!1;this.setupTests_=[]};goog.addSingletonGetter(sre.Engine);sre.Engine.personalityProps={PITCH:"pitch",RATE:"rate",VOLUME:"volume",PAUSE:"pause"};sre.Engine.Mode={SYNC:"sync",ASYNC:"async",HTTP:"http"};sre.Engine.Speech={NONE:"none",SHALLOW:"shallow",DEEP:"deep"};sre.Engine.Markup={NONE:"none",SSML:"ssml",ACSS:"acss",SABLE:"sable",VOICEXML:"voicexml"};sre.Engine.registerTest=function(a){sre.Engine.getInstance().setupTests_.push(a)}; +sre.Engine.isReady=function(){return sre.Engine.getInstance().setupTests_.every(function(a){return a()})};sre.Engine.prototype.setupBrowsers=function(){this.isIE=sre.BrowserUtil.detectIE();this.isEdge=sre.BrowserUtil.detectEdge()};sre.Engine.prototype.getAxisValues=function(){return sre.DynamicCstr.getAxisValues()};sre.Engine.defaultEvaluator=function(a,b){return a};sre.AudioUtil={};sre.AudioUtil.mergePause=function(a,b,c){return a?{pause:(c||function(a,b){return a+b}).call(null,a.pause,b.pause)}:b};sre.AudioUtil.mergeMarkup=function(a,b){delete a.open;b.close.forEach(function(b){delete a[b]});b.open.forEach(function(c){a[c]=b[c]});var c=Object.keys(a);a.open=c}; +sre.AudioUtil.sortClose=function(a,b){if(1>=a.length)return a;for(var c=[],d=0,e;e=b[d],a.length;d++)e.close&&e.close.length&&e.close.forEach(function(b){var d=a.indexOf(b);-1!==d&&(c.unshift(b),a.splice(d,1))});return c};sre.AudioUtil.PersonalityRanges_={};sre.AudioUtil.LastOpen_=[]; +sre.AudioUtil.personalityMarkup=function(a){sre.AudioUtil.PersonalityRanges_={};sre.AudioUtil.LastOpen_=[];for(var b=[],c={},d=0,e;e=a[d];d++){var f=null,g=e.descriptionString();e=e.personality;void 0!==e[sre.Engine.personalityProps.PAUSE]&&(f={},f[sre.Engine.personalityProps.PAUSE]=e[sre.Engine.personalityProps.PAUSE],delete e[sre.Engine.personalityProps.PAUSE]);e=sre.AudioUtil.personalityDiff_(e,c);sre.AudioUtil.appendMarkup_(b,g,e,f,!0)}return b}; +sre.AudioUtil.isMarkupElement=function(a){return"object"===typeof a&&a.open};sre.AudioUtil.isPauseElement=function(a){return"object"===typeof a&&1===Object.keys(a).length&&Object.keys(a)[0]===sre.Engine.personalityProps.PAUSE};sre.AudioUtil.isStringElement=function(a){return"object"===typeof a&&1===Object.keys(a).length&&"string"===Object.keys(a)[0]}; +sre.AudioUtil.appendMarkup_=function(a,b,c,d,e){if(e){if((e=a[a.length-1])&&!b&&d&&sre.AudioUtil.isPauseElement(e)){var f=sre.Engine.personalityProps.PAUSE;e[f]+=d[f];d=null}e&&b&&0===Object.keys(c).length&&sre.AudioUtil.isStringElement(e)&&(e.string+=" "+b,b="")}0!==Object.keys(c).length&&a.push(c);b&&a.push({string:b});d&&a.push(d)}; +sre.AudioUtil.personalityDiff_=function(a,b){if(!b)return a;var c={};for(h in sre.Engine.personalityProps){var d=sre.Engine.personalityProps[h],e=a[d],f=b[d];if(!(!e&&!f||e&&f&&e===f)){var g=e||0;sre.AudioUtil.isMarkupElement(c)||(c.open=[],c.close=[]);e||c.close.push(d);f||c.open.push(d);f&&e&&(c.close.push(d),c.open.push(d));b[d]=g;c[d]=g;sre.AudioUtil.PersonalityRanges_[d]?sre.AudioUtil.PersonalityRanges_[d].push(g):sre.AudioUtil.PersonalityRanges_[d]=[g]}}if(sre.AudioUtil.isMarkupElement(c)){for(a= +c.close.slice();0<a.length;){var h=sre.AudioUtil.LastOpen_.pop();d=sre.BaseUtil.setdifference(h,a);a=sre.BaseUtil.setdifference(a,h);h=d;if(0===a.length)0!==h.length&&sre.AudioUtil.LastOpen_.push(h);else if(0!==h.length)for(c.close=c.close.concat(h),c.open=c.open.concat(h),d=0;e=h[d];d++)c[e]=b[e]}sre.AudioUtil.LastOpen_.push(c.open)}return c};sre.AudioRenderer=function(){};sre.AudioRenderer.prototype.setSeparator=function(a){};sre.AudioRenderer.prototype.getSeparator=function(){};sre.AudioRenderer.prototype.markup=function(a){};sre.AudioRenderer.prototype.error=function(a){};sre.AudioRenderer.prototype.merge=function(a){};sre.AbstractAudioRenderer=function(){this.separator_=" "};sre.AbstractAudioRenderer.prototype.setSeparator=function(a){this.separator_=a};sre.AbstractAudioRenderer.prototype.getSeparator=function(){return this.separator_};sre.AbstractAudioRenderer.prototype.markup=goog.abstractMethod;sre.AbstractAudioRenderer.prototype.error=function(a){return null};sre.AbstractAudioRenderer.prototype.merge=function(a){return a.join(" ")};sre.MarkupRenderer=function(){sre.AbstractAudioRenderer.call(this);this.scaleFunction_=null};goog.inherits(sre.MarkupRenderer,sre.AbstractAudioRenderer);sre.MarkupRenderer.prototype.setScaleFunction=function(a,b,c,d,e){var f=e||0;this.scaleFunction_=function(e){e=(e-a)/(b-a);return+(Math.round(c*(1-e)+d*e+"e+"+f)+"e-"+f)}};sre.MarkupRenderer.prototype.applyScaleFunction=function(a){return this.scaleFunction_?this.scaleFunction_(a):a};sre.MarkupRenderer.prototype.pause=goog.abstractMethod; +sre.MarkupRenderer.prototype.prosodyElement=goog.abstractMethod;sre.AcssRenderer=function(){sre.MarkupRenderer.call(this)};goog.inherits(sre.AcssRenderer,sre.MarkupRenderer); +sre.AcssRenderer.prototype.markup=function(a){this.setScaleFunction(-2,2,0,10,0);a=sre.AudioUtil.personalityMarkup(a);for(var b=[],c={open:[]},d=null,e=!1,f=0,g;g=a[f];f++)if(sre.AudioUtil.isMarkupElement(g))sre.AudioUtil.mergeMarkup(c,g);else if(sre.AudioUtil.isPauseElement(g))e&&(d=sre.AudioUtil.mergePause(d,g,Math.max));else{g='"'+g.string+'"';e=!0;d&&(b.push(this.pause(d)),d=null);var h=this.prosody_(c);b.push(h?"(text ("+h+") "+g+")":g)}return"(exp "+b.join(this.getSeparator())+")"}; +sre.AcssRenderer.prototype.merge=function(a){return"(exp "+a.map(function(a){return a.replace(/^\(exp /,"").replace(/\)$/,"")}).join(" ")+")"};sre.AcssRenderer.prototype.error=function(a){return'(error "'+a+'")'};sre.AcssRenderer.prototype.prosody_=function(a){for(var b=a.open,c=[],d=0,e;e=b[d];d++)c.push(this.prosodyElement(e,a[e]));return c.join(" ")}; +sre.AcssRenderer.prototype.prosodyElement=function(a,b){b=this.applyScaleFunction(b);switch(a){case sre.Engine.personalityProps.RATE:return"(richness . "+b+")";case sre.Engine.personalityProps.PITCH:return"(average-pitch . "+b+")";case sre.Engine.personalityProps.VOLUME:return"(stress . "+b+")"}return"(value . "+b+")"};sre.AcssRenderer.prototype.pause=function(a){return"(pause . "+a[sre.Engine.personalityProps.PAUSE]+")"};sre.XmlRenderer=function(){sre.MarkupRenderer.call(this)};goog.inherits(sre.XmlRenderer,sre.MarkupRenderer); +sre.XmlRenderer.prototype.markup=function(a){this.setScaleFunction(-2,2,-100,100,2);a=sre.AudioUtil.personalityMarkup(a);for(var b=[],c=[],d=0,e;e=a[d];d++)if(e.string)b.push(e.string);else if(sre.AudioUtil.isPauseElement(e))b.push(this.pause(e));else{if(e.close.length)for(var f=0;f<e.close.length;f++){var g=c.pop();if(-1===e.close.indexOf(g))throw Error("Unknown closing markup element: "+g);b.push(this.closeTag(g))}e.open.length&&sre.AudioUtil.sortClose(e.open.slice(),a.slice(d+1)).forEach(goog.bind(function(a){b.push(this.prosodyElement(a, +e[a]));c.push(a)},this))}return b.join(this.getSeparator())};sre.XmlRenderer.prototype.closeTag=goog.abstractMethod;sre.SableRenderer=function(){sre.XmlRenderer.call(this)};goog.inherits(sre.SableRenderer,sre.XmlRenderer);sre.SableRenderer.prototype.pause=function(a){return'<BREAK MSEC="'+a[sre.Engine.personalityProps.PAUSE]+'"/>'}; +sre.SableRenderer.prototype.prosodyElement=function(a,b){b=this.applyScaleFunction(b);switch(a){case sre.Engine.personalityProps.PITCH:return'<PITCH BASE="'+b+'%">';case sre.Engine.personalityProps.RATE:return'<RATE SPEED="'+b+'%">';case sre.Engine.personalityProps.VOLUME:return'<VOLUME LEVEL="'+b+'%">';default:return"<"+a.toUpperCase()+' VALUE="'+b+'">'}};sre.SableRenderer.prototype.closeTag=function(a){return"</"+a.toUpperCase()+">"};sre.SsmlRenderer=function(){sre.XmlRenderer.call(this)};goog.inherits(sre.SsmlRenderer,sre.XmlRenderer);sre.SsmlRenderer.prototype.pause=function(a){return'<BREAK TIME="'+a[sre.Engine.personalityProps.PAUSE]+'ms"/>'};sre.SsmlRenderer.prototype.prosodyElement=function(a,b){b=this.applyScaleFunction(b);b=0>b?b.toString():"+"+b;return"<PROSODY "+a.toUpperCase()+'="'+b+(a===sre.Engine.personalityProps.VOLUME?">":'%">')};sre.SsmlRenderer.prototype.closeTag=function(a){return"</PROSODY>"};sre.BaseUtil={};sre.BaseUtil.removeEmpty=function(a){return a.filter(function(a){return a})};sre.BaseUtil.interleaveLists=function(a,b){for(var c=[];a.length||b.length;)a.length&&c.push(a.shift()),b.length&&c.push(b.shift());return c};sre.BaseUtil.setdifference=function(a,b){return a?b?a.filter(function(a){return 0>b.indexOf(a)}):a:[]};sre.BaseUtil.union=function(a,b){return a&&b?a.concat(sre.BaseUtil.setdifference(b,a)):a||b||[]};sre.BaseUtil.makePath=function(a){return a.match("/$")?a:a+"/"};sre.StringRenderer=function(){sre.AbstractAudioRenderer.call(this)};goog.inherits(sre.StringRenderer,sre.AbstractAudioRenderer);sre.StringRenderer.prototype.markup=function(a){return sre.BaseUtil.removeEmpty(a.map(function(a){return a.descriptionString()})).join(this.getSeparator())};sre.AuralRendering=function(){};goog.addSingletonGetter(sre.AuralRendering);sre.AuralRendering.prototype.setSeparator=function(a){var b=sre.AuralRendering.rendererMapping_[sre.Engine.getInstance().markup];b&&b.setSeparator(a)};sre.AuralRendering.prototype.getSeparator=function(){var a=sre.AuralRendering.rendererMapping_[sre.Engine.getInstance().markup];return a?a.getSeparator():""}; +sre.AuralRendering.prototype.markup=function(a){var b=sre.AuralRendering.rendererMapping_[sre.Engine.getInstance().markup];return b?b.markup(a):""};sre.AuralRendering.prototype.merge=function(a){var b=sre.AuralRendering.rendererMapping_[sre.Engine.getInstance().markup];return b?b.merge(a):a.join()};sre.AuralRendering.prototype.error=function(a){var b=sre.AuralRendering.rendererMapping_[sre.Engine.getInstance().markup];return b?b.error(a):""}; +sre.AuralRendering.registerRenderer=function(a,b){sre.AuralRendering.rendererMapping_[a]=b};sre.AuralRendering.rendererMapping_={};sre.AuralRendering.registerRenderer(sre.Engine.Markup.NONE,new sre.StringRenderer);sre.AuralRendering.registerRenderer(sre.Engine.Markup.ACSS,new sre.AcssRenderer);sre.AuralRendering.registerRenderer(sre.Engine.Markup.SABLE,new sre.SableRenderer);sre.AuralRendering.xmlInstance=new sre.SsmlRenderer;sre.AuralRendering.registerRenderer(sre.Engine.Markup.VOICEXML,sre.AuralRendering.xmlInstance); +sre.AuralRendering.registerRenderer(sre.Engine.Markup.SSML,sre.AuralRendering.xmlInstance);sre.Debugger=function(){this.isActive_=!1;this.outputFunction_=console.log;this.stream_=null};goog.addSingletonGetter(sre.Debugger);sre.Debugger.prototype.init=function(a){a&&this.startDebugFile_(a);this.isActive_=!0}; +sre.Debugger.prototype.startDebugFile_=function(a){this.stream_=sre.SystemExternal.fs.createWriteStream(a);this.outputFunction_=goog.bind(function(a){var b=Array.prototype.slice.call(arguments,0);this.stream_.write(b.join(" "));this.stream_.write("\n")},this);this.stream_.on("error",goog.bind(function(a){console.log("Invalid log file. Debug information sent to console.");this.outputFunction_=console.log},this));this.stream_.on("finish",function(){console.log("Finalizing debug file.")})}; +sre.Debugger.prototype.output_=function(a){this.outputFunction_.apply(console.log===this.outputFunction_?console:this.outputFunction_,["Speech Rule Engine Debugger:"].concat(a))};sre.Debugger.prototype.output=function(a){this.isActive_&&this.output_(Array.prototype.slice.call(arguments,0))};sre.Debugger.prototype.generateOutput=function(a){this.isActive_&&this.output_(a.apply(a,[]))};sre.Debugger.prototype.exit=function(a){this.isActive_&&this.stream_&&this.stream_.end("","",a||function(){})};sre.XpathUtil={};sre.XpathUtil.xpathSupported=function(){return"undefined"==typeof XPathResult?!1:!0};sre.XpathUtil.currentDocument=null;sre.XpathUtil.xpathEvaluate=sre.XpathUtil.xpathSupported()?document.evaluate:sre.SystemExternal.xpath.evaluate;sre.XpathUtil.xpathResult=sre.XpathUtil.xpathSupported()?XPathResult:sre.SystemExternal.xpath.XPathResult;sre.XpathUtil.createNSResolver=sre.XpathUtil.xpathSupported()?document.createNSResolver:sre.SystemExternal.xpath.createNSResolver; +sre.XpathUtil.nameSpaces_={xhtml:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"};sre.XpathUtil.resolveNameSpace=function(a){return sre.XpathUtil.nameSpaces_[a]||null};sre.XpathUtil.resolver_=function(){this.lookupNamespaceURI=sre.XpathUtil.resolveNameSpace}; +sre.XpathUtil.evaluateXpath_=function(a,b,c){var d=sre.Engine.getInstance();return d.mode!==sre.Engine.Mode.HTTP||d.isIE||d.isEdge?sre.XpathUtil.xpathEvaluate(a,b,new sre.XpathUtil.resolver_,c,null):sre.XpathUtil.currentDocument.evaluate(a,b,sre.XpathUtil.resolveNameSpace,c,null)};sre.XpathUtil.evalXPath=function(a,b){try{var c=sre.XpathUtil.evaluateXpath_(a,b,sre.XpathUtil.xpathResult.ORDERED_NODE_ITERATOR_TYPE)}catch(d){return[]}a=[];for(b=c.iterateNext();b;b=c.iterateNext())a.push(b);return a}; +sre.XpathUtil.getLeafNodes=function(a){return sre.XpathUtil.evalXPath(".//*[count(*)=0]",a)};sre.XpathUtil.evaluateBoolean=function(a,b){try{var c=sre.XpathUtil.evaluateXpath_(a,b,sre.XpathUtil.xpathResult.BOOLEAN_TYPE)}catch(d){return!1}return c.booleanValue};sre.XpathUtil.evaluateString=function(a,b){try{var c=sre.XpathUtil.evaluateXpath_(a,b,sre.XpathUtil.xpathResult.STRING_TYPE)}catch(d){return""}return c.stringValue};sre.DomUtil={};sre.DomUtil.toArray=function(a){for(var b=[],c=0,d=a.length;c<d;c++)b.push(a[c]);return b};sre.DomUtil.trimInput_=function(a){a=a.replace(/ /g," ");return a.replace(/>\s+</g,"><").trim()};sre.DomUtil.XML_ENTITIES={"<":!0,">":!0,"&":!0,""":!0,"'":!0}; +sre.DomUtil.parseInput=function(a,b){b=b||Error;var c=new sre.SystemExternal.xmldom.DOMParser;a=sre.DomUtil.trimInput_(a);var d=!!a.match(/&(?!lt|gt|amp|quot|apos)\w+;/g);if(!a)throw new b("Empty input!");try{var e=c.parseFromString(a,d?"text/html":"text/xml");return sre.Engine.getInstance().mode===sre.Engine.Mode.HTTP?(sre.XpathUtil.currentDocument=e,d?e.body.childNodes[0]:e.documentElement):e.documentElement}catch(f){throw new b("Illegal input: "+f.message);}}; +sre.DomUtil.NodeType={ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,ENTITY_REFERENCE_NODE:5,ENTITY_NODE:6,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NOTATION_NODE:12};sre.DomUtil.replaceNode=function(a,b){a.parentNode&&(a.parentNode.insertBefore(b,a),a.parentNode.removeChild(a))};sre.DomUtil.createElement=function(a){return sre.SystemExternal.document.createElement(a)};sre.DomUtil.createTextNode=function(a){return sre.SystemExternal.document.createTextNode(a)}; +sre.DomUtil.formatXml=function(a){var b=/(>)(<)(\/*)/g;a=a.replace(b,"$1\r\n$2$3");b=/(>)(.+)(<c)/g;a=a.replace(b,"$1\r\n$2\r\n$3");var c="",d="";a.split("\r\n").forEach(function(a){a.match(/.+<\/\w[^>]*>$/)?c+=d+a+"\r\n":a.match(/^<\/\w/)?d&&(d=d.slice(2),c+=d+a+"\r\n"):a.match(/^<\w[^>]*[^\/]>.*$/)?(c+=d+a+"\r\n",d+=" "):c+=d+a+"\r\n"});return c};sre.DomUtil.dataAttribute=function(a){a.match(/^data-/)&&(a=a.substr(5));return a.replace(/-([a-z])/g,function(a,c){return c.toUpperCase()})}; +sre.DomUtil.getDataAttribute=function(a,b){return a.dataset?a.dataset[sre.DomUtil.dataAttribute(b)]:a.getAttribute(b)};sre.DomUtil.querySelectorAllByAttr=function(a,b){return a.querySelectorAll?sre.DomUtil.toArray(a.querySelectorAll("["+b+"]")):sre.XpathUtil.evalXPath(".//*[@"+b+"]",a)};sre.DomUtil.querySelectorAllByAttrValue=function(a,b,c){return a.querySelectorAll?sre.DomUtil.toArray(a.querySelectorAll("["+b+'="'+c+'"]')):sre.XpathUtil.evalXPath(".//*[@"+b+'="'+c+'"]',a)}; +sre.DomUtil.querySelectorAll=function(a,b){return a.querySelectorAll?sre.DomUtil.toArray(a.querySelectorAll(b)):sre.XpathUtil.evalXPath(".//"+b,a)};sre.DomUtil.tagName=function(a){return a.tagName.toUpperCase()};sre.EnrichCase=function(){};sre.EnrichCase.prototype.getMathml=function(){};sre.AbstractEnrichCase=function(a){this.semantic=a};sre.AbstractEnrichCase.prototype.getMathml=goog.abstractMethod;sre.AbstractEnrichCase.test=goog.abstractMethod;sre.EnrichCaseFactory=function(){};sre.EnrichCaseFactory.getEmbellishedCase=function(a){return new sre.EnrichCaseFactory.embellishedCase(a)};sre.EnrichCaseFactory.cases=[];sre.EnrichCaseFactory.getCase=function(a){for(var b=0,c;c=sre.EnrichCaseFactory.cases[b];b++)if(c.test(a))return new c.constr(a);return null};sre.SemanticUtil=function(){};sre.SemanticUtil.objectsToKeys=function(a){a=Array.prototype.slice.call(arguments,0);var b=[];return b.concat.apply(b,a.map(Object.keys))};sre.SemanticUtil.objectsToValues=function(a){a=Array.prototype.slice.call(arguments,0);var b=[];a.forEach(function(a){for(var c in a)b.push(a[c])});return b}; +sre.SemanticUtil.unicodeToNumber=function(a){if(!a||2<a.length)return null;if(2==a.length){var b=a.charCodeAt(0);a=a.charCodeAt(1);return 55296<=b&&56319>=b&&!isNaN(a)?1024*(b-55296)+(a-56320)+65536:null}return a.charCodeAt(0)};sre.SemanticUtil.numberToUnicode=function(a){return 65536>a?String.fromCharCode(a):String.fromCharCode((a-65536)/1024+55296,(a-65536)%1024+56320)}; +sre.SemanticUtil.splitUnicode=function(a){a=a.split("");for(var b=[],c=0,d;d=a[c];c++)"\ud800"<=d&&"\udbff">=d&&a[c+1]?b.push(d+a[++c]):b.push(d);return b};sre.SemanticUtil.LEAFTAGS=["MO","MI","MN","MTEXT","MS"];sre.SemanticUtil.IGNORETAGS="MERROR MPHANTOM MSPACE MALIGNGROUP MALIGNMARK MPRESCRIPTS ANNOTATION ANNOTATION-XML".split(" ");sre.SemanticUtil.EMPTYTAGS="MATH MROW MPADDED MACTION NONE MSTYLE SEMANTICS".split(" ");sre.SemanticUtil.hasMathTag=function(a){return!!a&&"MATH"===sre.DomUtil.tagName(a)}; +sre.SemanticUtil.hasIgnoreTag=function(a){return!!a&&-1!==sre.SemanticUtil.IGNORETAGS.indexOf(sre.DomUtil.tagName(a))};sre.SemanticUtil.hasEmptyTag=function(a){return!!a&&-1!==sre.SemanticUtil.EMPTYTAGS.indexOf(sre.DomUtil.tagName(a))};sre.SemanticUtil.purgeNodes=function(a){for(var b=[],c=0,d;d=a[c];c++){var e=sre.DomUtil.tagName(d);-1!=sre.SemanticUtil.IGNORETAGS.indexOf(e)||-1!=sre.SemanticUtil.EMPTYTAGS.indexOf(e)&&0==d.childNodes.length||b.push(d)}return b}; +sre.SemanticUtil.isZeroLength=function(a){return a?-1!=="negativeveryverythinmathspace negativeverythinmathspace negativethinmathspace negativemediummathspace negativethickmathspace negativeverythickmathspace negativeveryverythickmathspace".split(" ").indexOf(a)?!0:(a=a.match(/[0-9\.]+/))?0===parseFloat(a)?!0:!1:!1:!1};sre.SemanticAttr=function(){this.generalPunctuations='!"#%&:;?@\\\u00a1\u00a7\u00b6\u00bf\u2017\u2020\u2021\u2022\u2023\u2024\u2025\u2027\u2030\u2031\u2038\u203b\u203c\u203d\u203e\u2041\u2042\u2043\u2047\u2048\u2049\u204b\u204c\u204d\u204e\u204f\u2050\u2051\u2053\u2055\u2056\u2058\u2059\u205a\u205b\u205c\u205d\u205e\ufe10\ufe13\ufe14\ufe15\ufe16\ufe30\ufe45\ufe46\ufe49\ufe4a\ufe4b\ufe4c\ufe50\ufe54\ufe55\ufe56\ufe57\ufe5f\ufe60\ufe61\ufe68\ufe6a\ufe6b\uff01\uff02\uff03\uff05\uff06\uff07\uff0a\uff0c\uff0f\uff1a\uff1b\uff1f\uff20\uff3c'.split(""); +this.invisibleComma_=sre.SemanticUtil.numberToUnicode(8291);this.commas=[",",this.invisibleComma_];this.ellipses="\u2026\u22ee\u22ef\u22f0\u22f1\ufe19".split("");this.fullStops=[".","\ufe52","\uff0e"];this.dashes="\u2012\u2013\u2014\u2015\u301c\ufe31\ufe32\ufe58".split("");this.primes="'\u2032\u2033\u2034\u2035\u2036\u2037\u2057".split("");this.openClosePairs={"(":")","[":"]","{":"}","\u2045":"\u2046","\u2329":"\u232a","\u2768":"\u2769","\u276a":"\u276b","\u276c":"\u276d","\u276e":"\u276f","\u2770":"\u2771", +"\u2772":"\u2773","\u2774":"\u2775","\u27c5":"\u27c6","\u27e6":"\u27e7","\u27e8":"\u27e9","\u27ea":"\u27eb","\u27ec":"\u27ed","\u27ee":"\u27ef","\u2983":"\u2984","\u2985":"\u2986","\u2987":"\u2988","\u2989":"\u298a","\u298b":"\u298c","\u298d":"\u298e","\u298f":"\u2990","\u2991":"\u2992","\u2993":"\u2994","\u2995":"\u2996","\u2997":"\u2998","\u29d8":"\u29d9","\u29da":"\u29db","\u29fc":"\u29fd","\u2e22":"\u2e23","\u2e24":"\u2e25","\u2e26":"\u2e27","\u2e28":"\u2e29","\u3008":"\u3009","\u300a":"\u300b", +"\u300c":"\u300d","\u300e":"\u300f","\u3010":"\u3011","\u3014":"\u3015","\u3016":"\u3017","\u3018":"\u3019","\u301a":"\u301b","\u301d":"\u301e","\ufd3e":"\ufd3f","\ufe17":"\ufe18","\ufe59":"\ufe5a","\ufe5b":"\ufe5c","\ufe5d":"\ufe5e","\uff08":"\uff09","\uff3b":"\uff3d","\uff5b":"\uff5d","\uff5f":"\uff60","\uff62":"\uff63","\u2308":"\u2309","\u230a":"\u230b","\u230c":"\u230d","\u230e":"\u230f","\u231c":"\u231d","\u231e":"\u231f","\u239b":"\u239e","\u239c":"\u239f","\u239d":"\u23a0","\u23a1":"\u23a4", +"\u23a2":"\u23a5","\u23a3":"\u23a6","\u23a7":"\u23ab","\u23a8":"\u23ac","\u23a9":"\u23ad","\u23b0":"\u23b1","\u23b8":"\u23b9"};this.topBottomPairs={"\u23b4":"\u23b5","\u23dc":"\u23dd","\u23de":"\u23df","\u23e0":"\u23e1","\ufe35":"\ufe36","\ufe37":"\ufe38","\ufe39":"\ufe3a","\ufe3b":"\ufe3c","\ufe3d":"\ufe3e","\ufe3f":"\ufe40","\ufe41":"\ufe42","\ufe43":"\ufe44","\ufe47":"\ufe48"};this.leftFences=sre.SemanticUtil.objectsToKeys(this.openClosePairs);this.rightFences=sre.SemanticUtil.objectsToValues(this.openClosePairs); +this.rightFences.push("\u301f");this.topFences=sre.SemanticUtil.objectsToKeys(this.topBottomPairs);this.bottomFences=sre.SemanticUtil.objectsToValues(this.topBottomPairs);this.neutralFences="|\u00a6\u2016\u2758\u2980\u2af4\uffe4\uff5c".split("");this.allFences=this.neutralFences.concat(this.leftFences,this.rightFences,this.topFences,this.bottomFences);this.capitalLatin="ABCDEFGHIJKLMNOPQRSTUVWXYZ".split("");this.smallLatin="abcdefghijklmnopqrstuvwxyz\u0131\u0237".split("");this.capitalLatinFullWidth= +"\uff21\uff22\uff23\uff24\uff25\uff26\uff27\uff28\uff29\uff2a\uff2b\uff2c\uff2d\uff2e\uff2f\uff30\uff31\uff32\uff33\uff34\uff35\uff36\uff37\uff38\uff39\uff3a".split("");this.smallLatinFullWidth="\uff41\uff42\uff43\uff44\uff45\uff46\uff47\uff48\uff49\uff4a\uff4b\uff4c\uff4d\uff4e\uff4f\uff50\uff51\uff52\uff53\uff54\uff55\uff56\uff57\uff58\uff59\uff5a".split("");this.capitalLatinBold="\ud835\udc00 \ud835\udc01 \ud835\udc02 \ud835\udc03 \ud835\udc04 \ud835\udc05 \ud835\udc06 \ud835\udc07 \ud835\udc08 \ud835\udc09 \ud835\udc0a \ud835\udc0b \ud835\udc0c \ud835\udc0d \ud835\udc0e \ud835\udc0f \ud835\udc10 \ud835\udc11 \ud835\udc12 \ud835\udc13 \ud835\udc14 \ud835\udc15 \ud835\udc16 \ud835\udc17 \ud835\udc18 \ud835\udc19".split(" "); +this.smallLatinBold="\ud835\udc1a \ud835\udc1b \ud835\udc1c \ud835\udc1d \ud835\udc1e \ud835\udc1f \ud835\udc20 \ud835\udc21 \ud835\udc22 \ud835\udc23 \ud835\udc24 \ud835\udc25 \ud835\udc26 \ud835\udc27 \ud835\udc28 \ud835\udc29 \ud835\udc2a \ud835\udc2b \ud835\udc2c \ud835\udc2d \ud835\udc2e \ud835\udc2f \ud835\udc30 \ud835\udc31 \ud835\udc32 \ud835\udc33".split(" ");this.capitalLatinItalic="\ud835\udc34 \ud835\udc35 \ud835\udc36 \ud835\udc37 \ud835\udc38 \ud835\udc39 \ud835\udc3a \ud835\udc3b \ud835\udc3c \ud835\udc3d \ud835\udc3e \ud835\udc3f \ud835\udc40 \ud835\udc41 \ud835\udc42 \ud835\udc43 \ud835\udc44 \ud835\udc45 \ud835\udc46 \ud835\udc47 \ud835\udc48 \ud835\udc49 \ud835\udc4a \ud835\udc4b \ud835\udc4c \ud835\udc4d".split(" "); +this.smallLatinItalic="\ud835\udc4e \ud835\udc4f \ud835\udc50 \ud835\udc51 \ud835\udc52 \ud835\udc53 \ud835\udc54 \u210e \ud835\udc56 \ud835\udc57 \ud835\udc58 \ud835\udc59 \ud835\udc5a \ud835\udc5b \ud835\udc5c \ud835\udc5d \ud835\udc5e \ud835\udc5f \ud835\udc60 \ud835\udc61 \ud835\udc62 \ud835\udc63 \ud835\udc64 \ud835\udc65 \ud835\udc66 \ud835\udc67 \ud835\udea4 \ud835\udea5".split(" ");this.capitalLatinScript="\ud835\udc9c \u212c \ud835\udc9e \ud835\udc9f \u2130 \u2131 \ud835\udca2 \u210b \u2110 \ud835\udca5 \ud835\udca6 \u2112 \u2133 \ud835\udca9 \ud835\udcaa \ud835\udcab \ud835\udcac \u211b \ud835\udcae \ud835\udcaf \ud835\udcb0 \ud835\udcb1 \ud835\udcb2 \ud835\udcb3 \ud835\udcb4 \ud835\udcb5 \u2118".split(" "); +this.smallLatinScript="\ud835\udcb6 \ud835\udcb7 \ud835\udcb8 \ud835\udcb9 \u212f \ud835\udcbb \u210a \ud835\udcbd \ud835\udcbe \ud835\udcbf \ud835\udcc0 \ud835\udcc1 \ud835\udcc2 \ud835\udcc3 \u2134 \ud835\udcc5 \ud835\udcc6 \ud835\udcc7 \ud835\udcc8 \ud835\udcc9 \ud835\udcca \ud835\udccb \ud835\udccc \ud835\udccd \ud835\udcce \ud835\udccf \u2113".split(" ");this.capitalLatinBoldScript="\ud835\udcd0 \ud835\udcd1 \ud835\udcd2 \ud835\udcd3 \ud835\udcd4 \ud835\udcd5 \ud835\udcd6 \ud835\udcd7 \ud835\udcd8 \ud835\udcd9 \ud835\udcda \ud835\udcdb \ud835\udcdc \ud835\udcdd \ud835\udcde \ud835\udcdf \ud835\udce0 \ud835\udce1 \ud835\udce2 \ud835\udce3 \ud835\udce4 \ud835\udce5 \ud835\udce6 \ud835\udce7 \ud835\udce8 \ud835\udce9".split(" "); +this.smallLatinBoldScript="\ud835\udcea \ud835\udceb \ud835\udcec \ud835\udced \ud835\udcee \ud835\udcef \ud835\udcf0 \ud835\udcf1 \ud835\udcf2 \ud835\udcf3 \ud835\udcf4 \ud835\udcf5 \ud835\udcf6 \ud835\udcf7 \ud835\udcf8 \ud835\udcf9 \ud835\udcfa \ud835\udcfb \ud835\udcfc \ud835\udcfd \ud835\udcfe \ud835\udcff \ud835\udd00 \ud835\udd01 \ud835\udd02 \ud835\udd03".split(" ");this.capitalLatinFraktur="\ud835\udd04 \ud835\udd05 \u212d \ud835\udd07 \ud835\udd08 \ud835\udd09 \ud835\udd0a \u210c \u2111 \ud835\udd0d \ud835\udd0e \ud835\udd0f \ud835\udd10 \ud835\udd11 \ud835\udd12 \ud835\udd13 \ud835\udd14 \u211c \ud835\udd16 \ud835\udd17 \ud835\udd18 \ud835\udd19 \ud835\udd1a \ud835\udd1b \ud835\udd1c \u2128".split(" "); +this.smallLatinFraktur="\ud835\udd1e \ud835\udd1f \ud835\udd20 \ud835\udd21 \ud835\udd22 \ud835\udd23 \ud835\udd24 \ud835\udd25 \ud835\udd26 \ud835\udd27 \ud835\udd28 \ud835\udd29 \ud835\udd2a \ud835\udd2b \ud835\udd2c \ud835\udd2d \ud835\udd2e \ud835\udd2f \ud835\udd30 \ud835\udd31 \ud835\udd32 \ud835\udd33 \ud835\udd34 \ud835\udd35 \ud835\udd36 \ud835\udd37".split(" ");this.capitalLatinDoubleStruck="\ud835\udd38 \ud835\udd39 \u2102 \ud835\udd3b \ud835\udd3c \ud835\udd3d \ud835\udd3e \u210d \ud835\udd40 \ud835\udd41 \ud835\udd42 \ud835\udd43 \ud835\udd44 \u2115 \ud835\udd46 \u2119 \u211a \u211d \ud835\udd4a \ud835\udd4b \ud835\udd4c \ud835\udd4d \ud835\udd4e \ud835\udd4f \ud835\udd50 \u2124".split(" "); +this.smallLatinDoubleStruck="\ud835\udd52 \ud835\udd53 \ud835\udd54 \ud835\udd55 \ud835\udd56 \ud835\udd57 \ud835\udd58 \ud835\udd59 \ud835\udd5a \ud835\udd5b \ud835\udd5c \ud835\udd5d \ud835\udd5e \ud835\udd5f \ud835\udd60 \ud835\udd61 \ud835\udd62 \ud835\udd63 \ud835\udd64 \ud835\udd65 \ud835\udd66 \ud835\udd67 \ud835\udd68 \ud835\udd69 \ud835\udd6a \ud835\udd6b".split(" ");this.capitalLatinBoldFraktur="\ud835\udd6c \ud835\udd6d \ud835\udd6e \ud835\udd6f \ud835\udd70 \ud835\udd71 \ud835\udd72 \ud835\udd73 \ud835\udd74 \ud835\udd75 \ud835\udd76 \ud835\udd77 \ud835\udd78 \ud835\udd79 \ud835\udd7a \ud835\udd7b \ud835\udd7c \ud835\udd7d \ud835\udd7e \ud835\udd7f \ud835\udd80 \ud835\udd81 \ud835\udd82 \ud835\udd83 \ud835\udd84 \ud835\udd85".split(" "); +this.smallLatinBoldFraktur="\ud835\udd86 \ud835\udd87 \ud835\udd88 \ud835\udd89 \ud835\udd8a \ud835\udd8b \ud835\udd8c \ud835\udd8d \ud835\udd8e \ud835\udd8f \ud835\udd90 \ud835\udd91 \ud835\udd92 \ud835\udd93 \ud835\udd94 \ud835\udd95 \ud835\udd96 \ud835\udd97 \ud835\udd98 \ud835\udd99 \ud835\udd9a \ud835\udd9b \ud835\udd9c \ud835\udd9d \ud835\udd9e \ud835\udd9f".split(" ");this.capitalLatinSansSerif="\ud835\udda0 \ud835\udda1 \ud835\udda2 \ud835\udda3 \ud835\udda4 \ud835\udda5 \ud835\udda6 \ud835\udda7 \ud835\udda8 \ud835\udda9 \ud835\uddaa \ud835\uddab \ud835\uddac \ud835\uddad \ud835\uddae \ud835\uddaf \ud835\uddb0 \ud835\uddb1 \ud835\uddb2 \ud835\uddb3 \ud835\uddb4 \ud835\uddb5 \ud835\uddb6 \ud835\uddb7 \ud835\uddb8 \ud835\uddb9".split(" "); +this.smallLatinSansSerif="\ud835\uddba \ud835\uddbb \ud835\uddbc \ud835\uddbd \ud835\uddbe \ud835\uddbf \ud835\uddc0 \ud835\uddc1 \ud835\uddc2 \ud835\uddc3 \ud835\uddc4 \ud835\uddc5 \ud835\uddc6 \ud835\uddc7 \ud835\uddc8 \ud835\uddc9 \ud835\uddca \ud835\uddcb \ud835\uddcc \ud835\uddcd \ud835\uddce \ud835\uddcf \ud835\uddd0 \ud835\uddd1 \ud835\uddd2 \ud835\uddd3".split(" ");this.capitalLatinSansSerifBold="\ud835\uddd4 \ud835\uddd5 \ud835\uddd6 \ud835\uddd7 \ud835\uddd8 \ud835\uddd9 \ud835\uddda \ud835\udddb \ud835\udddc \ud835\udddd \ud835\uddde \ud835\udddf \ud835\udde0 \ud835\udde1 \ud835\udde2 \ud835\udde3 \ud835\udde4 \ud835\udde5 \ud835\udde6 \ud835\udde7 \ud835\udde8 \ud835\udde9 \ud835\uddea \ud835\uddeb \ud835\uddec \ud835\udded".split(" "); +this.smallLatinSansSerifBold="\ud835\uddee \ud835\uddef \ud835\uddf0 \ud835\uddf1 \ud835\uddf2 \ud835\uddf3 \ud835\uddf4 \ud835\uddf5 \ud835\uddf6 \ud835\uddf7 \ud835\uddf8 \ud835\uddf9 \ud835\uddfa \ud835\uddfb \ud835\uddfc \ud835\uddfd \ud835\uddfe \ud835\uddff \ud835\ude00 \ud835\ude01 \ud835\ude02 \ud835\ude03 \ud835\ude04 \ud835\ude05 \ud835\ude06 \ud835\ude07".split(" ");this.capitalLatinSansSerifItalic="\ud835\ude08 \ud835\ude09 \ud835\ude0a \ud835\ude0b \ud835\ude0c \ud835\ude0d \ud835\ude0e \ud835\ude0f \ud835\ude10 \ud835\ude11 \ud835\ude12 \ud835\ude13 \ud835\ude14 \ud835\ude15 \ud835\ude16 \ud835\ude17 \ud835\ude18 \ud835\ude19 \ud835\ude1a \ud835\ude1b \ud835\ude1c \ud835\ude1d \ud835\ude1e \ud835\ude1f \ud835\ude20 \ud835\ude21".split(" "); +this.smallLatinSansSerifItalic="\ud835\ude22 \ud835\ude23 \ud835\ude24 \ud835\ude25 \ud835\ude26 \ud835\ude27 \ud835\ude28 \ud835\ude29 \ud835\ude2a \ud835\ude2b \ud835\ude2c \ud835\ude2d \ud835\ude2e \ud835\ude2f \ud835\ude30 \ud835\ude31 \ud835\ude32 \ud835\ude33 \ud835\ude34 \ud835\ude35 \ud835\ude36 \ud835\ude37 \ud835\ude38 \ud835\ude39 \ud835\ude3a \ud835\ude3b".split(" ");this.capitalLatinMonospace="\ud835\ude70 \ud835\ude71 \ud835\ude72 \ud835\ude73 \ud835\ude74 \ud835\ude75 \ud835\ude76 \ud835\ude77 \ud835\ude78 \ud835\ude79 \ud835\ude7a \ud835\ude7b \ud835\ude7c \ud835\ude7d \ud835\ude7e \ud835\ude7f \ud835\ude80 \ud835\ude81 \ud835\ude82 \ud835\ude83 \ud835\ude84 \ud835\ude85 \ud835\ude86 \ud835\ude87 \ud835\ude88 \ud835\ude89".split(" "); +this.smallLatinMonospace="\ud835\ude8a \ud835\ude8b \ud835\ude8c \ud835\ude8d \ud835\ude8e \ud835\ude8f \ud835\ude90 \ud835\ude91 \ud835\ude92 \ud835\ude93 \ud835\ude94 \ud835\ude95 \ud835\ude96 \ud835\ude97 \ud835\ude98 \ud835\ude99 \ud835\ude9a \ud835\ude9b \ud835\ude9c \ud835\ude9d \ud835\ude9e \ud835\ude9f \ud835\udea0 \ud835\udea1 \ud835\udea2 \ud835\udea3".split(" ");this.latinDoubleStruckItalic=["\u2145","\u2146","\u2147","\u2148","\u2149"];this.capitalGreek="\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039a\u039b\u039c\u039d\u039e\u039f\u03a0\u03a1\u03a3\u03a4\u03a5\u03a6\u03a7\u03a8\u03a9".split(""); +this.smallGreek="\u03b1\u03b2\u03b3\u03b4\u03b5\u03b6\u03b7\u03b8\u03b9\u03ba\u03bb\u03bc\u03bd\u03be\u03bf\u03c0\u03c1\u03c2\u03c3\u03c4\u03c5\u03c6\u03c7\u03c8\u03c9".split("");this.capitalGreekBold="\ud835\udea8 \ud835\udea9 \ud835\udeaa \ud835\udeab \ud835\udeac \ud835\udead \ud835\udeae \ud835\udeaf \ud835\udeb0 \ud835\udeb1 \ud835\udeb2 \ud835\udeb3 \ud835\udeb4 \ud835\udeb5 \ud835\udeb6 \ud835\udeb7 \ud835\udeb8 \ud835\udeba \ud835\udebb \ud835\udebc \ud835\udebd \ud835\udebe \ud835\udebf \ud835\udec0".split(" "); +this.smallGreekBold="\ud835\udec2 \ud835\udec3 \ud835\udec4 \ud835\udec5 \ud835\udec6 \ud835\udec7 \ud835\udec8 \ud835\udec9 \ud835\udeca \ud835\udecb \ud835\udecc \ud835\udecd \ud835\udece \ud835\udecf \ud835\uded0 \ud835\uded1 \ud835\uded2 \ud835\uded3 \ud835\uded4 \ud835\uded5 \ud835\uded6 \ud835\uded7 \ud835\uded8 \ud835\uded9 \ud835\udeda".split(" ");this.capitalGreekItalic="\ud835\udee2 \ud835\udee3 \ud835\udee4 \ud835\udee5 \ud835\udee6 \ud835\udee7 \ud835\udee8 \ud835\udee9 \ud835\udeea \ud835\udeeb \ud835\udeec \ud835\udeed \ud835\udeee \ud835\udeef \ud835\udef0 \ud835\udef1 \ud835\udef2 \ud835\udef4 \ud835\udef5 \ud835\udef6 \ud835\udef7 \ud835\udef8 \ud835\udef9 \ud835\udefa".split(" "); +this.smallGreekItalic="\ud835\udefc \ud835\udefd \ud835\udefe \ud835\udeff \ud835\udf00 \ud835\udf01 \ud835\udf02 \ud835\udf03 \ud835\udf04 \ud835\udf05 \ud835\udf06 \ud835\udf07 \ud835\udf08 \ud835\udf09 \ud835\udf0a \ud835\udf0b \ud835\udf0c \ud835\udf0d \ud835\udf0e \ud835\udf0f \ud835\udf10 \ud835\udf11 \ud835\udf12 \ud835\udf13 \ud835\udf14".split(" ");this.capitalGreekSansSerifBold="\ud835\udf56 \ud835\udf57 \ud835\udf58 \ud835\udf59 \ud835\udf5a \ud835\udf5b \ud835\udf5c \ud835\udf5d \ud835\udf5e \ud835\udf5f \ud835\udf60 \ud835\udf61 \ud835\udf62 \ud835\udf63 \ud835\udf64 \ud835\udf65 \ud835\udf66 \ud835\udf68 \ud835\udf69 \ud835\udf6a \ud835\udf6b \ud835\udf6c \ud835\udf6d \ud835\udf6e".split(" "); +this.smallGreekSansSerifBold="\ud835\udf70 \ud835\udf71 \ud835\udf72 \ud835\udf73 \ud835\udf74 \ud835\udf75 \ud835\udf76 \ud835\udf77 \ud835\udf78 \ud835\udf79 \ud835\udf7a \ud835\udf7b \ud835\udf7c \ud835\udf7d \ud835\udf7e \ud835\udf7f \ud835\udf80 \ud835\udf81 \ud835\udf82 \ud835\udf83 \ud835\udf84 \ud835\udf85 \ud835\udf86 \ud835\udf87 \ud835\udf88".split(" ");this.greekDoubleStruck=["\u213c","\u213d","\u213e","\u213f"];this.greekSpecial="\u03d0\u03d1\u03d5\u03d6\u03d7\u03f0\u03f1\u03f5\u03f6\u03f4".split(""); +this.greekSpecialBold="\ud835\udedc \ud835\udedd \ud835\udede \ud835\udedf \ud835\udee0 \ud835\udee1".split(" ");this.greekSpecialItalic="\ud835\udf16 \ud835\udf17 \ud835\udf18 \ud835\udf19 \ud835\udf1a \ud835\udf1b".split(" ");this.greekSpecialSansSerifBold="\ud835\udf8a \ud835\udf8b \ud835\udf8c \ud835\udf8d \ud835\udf8e \ud835\udf8f".split(" ");this.hebrewLetters=["\u2135","\u2136","\u2137","\u2138"];this.allLetters=this.capitalLatin.concat(this.smallLatin,this.capitalLatinFullWidth,this.smallLatinFullWidth, +this.capitalLatinBold,this.smallLatinBold,this.capitalLatinItalic,this.smallLatinItalic,this.capitalLatinScript,this.smallLatinScript,this.capitalLatinBoldScript,this.smallLatinBoldScript,this.capitalLatinFraktur,this.smallLatinFraktur,this.capitalLatinDoubleStruck,this.smallLatinDoubleStruck,this.capitalLatinBoldFraktur,this.smallLatinBoldFraktur,this.capitalLatinSansSerif,this.smallLatinSansSerif,this.capitalLatinSansSerifBold,this.smallLatinSansSerifBold,this.capitalLatinSansSerifItalic,this.smallLatinSansSerifItalic, +this.capitalLatinMonospace,this.smallLatinMonospace,this.latinDoubleStruckItalic,this.capitalGreek,this.smallGreek,this.capitalGreekBold,this.smallGreekBold,this.capitalGreekItalic,this.smallGreekItalic,this.capitalGreekSansSerifBold,this.smallGreekSansSerifBold,this.greekDoubleStruck,this.greekSpecial,this.greekSpecialBold,this.greekSpecialItalic,this.greekSpecialSansSerifBold,this.hebrewLetters);this.additions="+\u00b1\u2213\u2214\u2227\u2228\u2229\u222a\u228c\u2293\u2294\u229d\u229e\u22a4\u22a5\u22ba\u22bb\u22bc\u22c4\u22ce\u22cf\u22d2\u22d3\u25b3\u25b7\u25bd\u25c1\u2a5e\u2295".split(""); +this.invisiblePlus_=sre.SemanticUtil.numberToUnicode(8292);this.additions.push(this.invisiblePlus_);this.multiplications="\u2020\u2021\u2210\u2217\u2218\u2219\u2240\u229a\u229b\u22a0\u22a1\u22c5\u22c6\u22c7\u22c9\u22ca\u22cb\u22cc\u25cb\u00b7*".split("");this.invisibleTimes_=sre.SemanticUtil.numberToUnicode(8290);this.multiplications.push(this.invisibleTimes_);this.subtractions="-\u2052\u207b\u208b\u2212\u2216\u2238\u2242\u2296\u229f\u2796\u2a29\u2a2a\u2a2b\u2a2c\u2a3a\u2a41\u2a6c\ufe63\uff0d\u2010\u2011".split(""); +this.divisions="/\u00f7\u2044\u2215\u2298\u27cc\u29bc\u2a38".split("");this.functionApplication_=sre.SemanticUtil.numberToUnicode(8289);this.equalities="=~\u207c\u208c\u223c\u223d\u2243\u2245\u2248\u224a\u224b\u224c\u224d\u224e\u2251\u2252\u2253\u2254\u2255\u2256\u2257\u2258\u2259\u225a\u225b\u225c\u225d\u225e\u225f\u2261\u2263\u29e4\u2a66\u2a6e\u2a6f\u2a70\u2a71\u2a72\u2a73\u2a74\u2a75\u2a76\u2a77\u2a78\u22d5\u2a6d\u2a6a\u2a6b\u2a6c\ufe66\uff1d".split("");this.inequalities="<>\u2241\u2242\u2244\u2246\u2247\u2249\u224f\u2250\u2260\u2262\u2264\u2265\u2266\u2267\u2268\u2269\u226a\u226b\u226c\u226d\u226e\u226f\u2270\u2271\u2272\u2273\u2274\u2275\u2276\u2277\u2278\u2279\u227a\u227b\u227c\u227d\u227e\u227f\u2280\u2281\u22d6\u22d7\u22d8\u22d9\u22da\u22db\u22dc\u22dd\u22de\u22df\u22e0\u22e1\u22e2\u22e3\u22e4\u22e5\u22e6\u22e7\u22e8\u22e9\u2a79\u2a7a\u2a7b\u2a7c\u2a7d\u2a7e\u2a7f\u2a80\u2a81\u2a82\u2a83\u2a84\u2a85\u2a86\u2a87\u2a88\u2a89\u2a8a\u2a8b\u2a8c\u2a8d\u2a8e\u2a8f\u2a90\u2a91\u2a92\u2a93\u2a94\u2a95\u2a96\u2a97\u2a98\u2a99\u2a9a\u2a9b\u2a9c\u2a9d\u2a9e\u2a9f\u2aa0\u2aa1\u2aa2\u2aa3\u2aa4\u2aa5\u2aa6\u2aa7\u2aa8\u2aa9\u2aaa\u2aab\u2aac\u2aad\u2aae\u2aaf\u2ab0\u2ab1\u2ab2\u2ab3\u2ab4\u2ab5\u2ab6\u2ab7\u2ab8\u2ab9\u2aba\u2abb\u2abc\u2af7\u2af8\u2af9\u2afa\u29c0\u29c1\ufe64\ufe65\uff1c\uff1e".split(""); +this.relations=[];this.arrows="\u2190\u2191\u2192\u2193\u2194\u2195\u2196\u2197\u2198\u2199\u219a\u219b\u219c\u219d\u219e\u219f\u21a0\u21a1\u21a2\u21a3\u21a4\u21a5\u21a6\u21a7\u21a8\u21a9\u21aa\u21ab\u21ac\u21ad\u21ae\u21af\u21b0\u21b1\u21b2\u21b3\u21b4\u21b5\u21b6\u21b7\u21b8\u21b9\u21ba\u21bb\u21c4\u21c5\u21c6\u21c7\u21c8\u21c9\u21ca\u21cd\u21ce\u21cf\u21d0\u21d1\u21d2\u21d3\u21d4\u21d5\u21d6\u21d7\u21d8\u21d9\u21da\u21db\u21dc\u21dd\u21de\u21df\u21e0\u21e1\u21e2\u21e3\u21e4\u21e5\u21e6\u21e7\u21e8\u21e9\u21ea\u21eb\u21ec\u21ed\u21ee\u21ef\u21f0\u21f1\u21f2\u21f3\u21f4\u21f5\u21f6\u21f7\u21f8\u21f9\u21fa\u21fb\u21fc\u21fd\u21fe\u21ff\u2301\u2303\u2304\u2324\u238b\u2794\u2798\u2799\u279a\u279b\u279c\u279d\u279e\u279f\u27a0\u27a1\u27a2\u27a3\u27a4\u27a5\u27a6\u27a7\u27a8\u27a9\u27aa\u27ab\u27ac\u27ad\u27ae\u27af\u27b1\u27b2\u27b3\u27b4\u27b5\u27b6\u27b7\u27b8\u27b9\u27ba\u27bb\u27bc\u27bd\u27be\u27f0\u27f1\u27f2\u27f3\u27f4\u27f5\u27f6\u27f7\u27f8\u27f9\u27fa\u27fb\u27fc\u27fd\u27fe\u27ff\u2900\u2901\u2902\u2903\u2904\u2905\u2906\u2907\u2908\u2909\u290a\u290b\u290c\u290d\u290e\u290f\u2910\u2911\u2912\u2913\u2914\u2915\u2916\u2917\u2918\u2919\u291a\u291b\u291c\u291d\u291e\u291f\u2920\u2921\u2922\u2923\u2924\u2925\u2926\u2927\u2928\u2929\u292a\u292d\u292e\u292f\u2930\u2931\u2932\u2933\u2934\u2935\u2936\u2937\u2938\u2939\u293a\u293b\u293c\u293d\u293e\u293f\u2940\u2941\u2942\u2943\u2944\u2945\u2946\u2947\u2948\u2949\u2970\u2971\u2972\u2973\u2974\u2975\u2976\u2977\u2978\u2979\u297a\u297b\u29b3\u29b4\u29bd\u29ea\u29ec\u29ed\u2a17\u2b00\u2b01\u2b02\u2b03\u2b04\u2b05\u2b06\u2b07\u2b08\u2b09\u2b0a\u2b0b\u2b0c\u2b0d\u2b0e\u2b0f\u2b10\u2b11\u2b30\u2b31\u2b32\u2b33\u2b34\u2b35\u2b36\u2b37\u2b38\u2b39\u2b3a\u2b3b\u2b3c\u2b3d\u2b3e\u2b3f\u2b40\u2b41\u2b42\u2b43\u2b44\u2b45\u2b46\u2b47\u2b48\u2b49\u2b4a\u2b4b\u2b4c\uffe9\uffea\uffeb\uffec\u21bc\u21bd\u21be\u21bf\u21c0\u21c1\u21c2\u21c3\u21cb\u21cc\u294a\u294b\u294c\u294d\u294e\u294f\u2950\u2951\u2952\u2953\u2954\u2955\u2956\u2957\u2958\u2959\u295a\u295b\u295c\u295d\u295e\u295f\u2960\u2961\u2962\u2963\u2964\u2965\u2966\u2967\u2968\u2969\u296a\u296b\u296c\u296d\u296e\u296f\u297c\u297d\u297e\u297f".split(""); +this.sumOps="\u2140\u220f\u2210\u2211\u22c0\u22c1\u22c2\u22c3\u2a00\u2a01\u2a02\u2a03\u2a04\u2a05\u2a06\u2a07\u2a08\u2a09\u2a0a\u2a0b\u2afc\u2aff".split("");this.intOps="\u222b\u222c\u222d\u222e\u222f\u2230\u2231\u2232\u2233\u2a0c\u2a0d\u2a0e\u2a0f\u2a10\u2a11\u2a12\u2a13\u2a14\u2a15\u2a16\u2a17\u2a18\u2a19\u2a1a\u2a1b\u2a1c".split("");this.prefixOps="\u2200\u2203\u2206\u2207\u2202\u2201\u2204".split("");this.prefixOpsBold=["\ud835\udec1","\ud835\udedb","\ud835\udfca","\ud835\udfcb"];this.prefixOpsItalic= +["\ud835\udefb","\ud835\udf15"];this.prefixOpsSansSerifBold=["\ud835\udf6f","\ud835\udf89"];this.operatorBits="\u2320\u2321\u23b6\u23aa\u23ae\u23af\u23b2\u23b3\u23b7".split("");this.digitsNormal="0123456789".split("");this.digitsFullWidth="\uff10\uff11\uff12\uff13\uff14\uff15\uff16\uff17\uff18\uff19".split("");this.digitsBold="\ud835\udfce \ud835\udfcf \ud835\udfd0 \ud835\udfd1 \ud835\udfd2 \ud835\udfd3 \ud835\udfd4 \ud835\udfd5 \ud835\udfd6 \ud835\udfd7".split(" ");this.digitsDoubleStruck="\ud835\udfd8 \ud835\udfd9 \ud835\udfda \ud835\udfdb \ud835\udfdc \ud835\udfdd \ud835\udfde \ud835\udfdf \ud835\udfe0 \ud835\udfe1".split(" "); +this.digitsSansSerif="\ud835\udfe2 \ud835\udfe3 \ud835\udfe4 \ud835\udfe5 \ud835\udfe6 \ud835\udfe7 \ud835\udfe8 \ud835\udfe9 \ud835\udfea \ud835\udfeb".split(" ");this.digitsSansSerifBold="\ud835\udfec \ud835\udfed \ud835\udfee \ud835\udfef \ud835\udff0 \ud835\udff1 \ud835\udff2 \ud835\udff3 \ud835\udff4 \ud835\udff5".split(" ");this.digitsMonospace="\ud835\udff6 \ud835\udff7 \ud835\udff8 \ud835\udff9 \ud835\udffa \ud835\udffb \ud835\udffc \ud835\udffd \ud835\udffe \ud835\udfff".split(" ");this.digitsSuperscript= +"\u00b2\u00b3\u00b9\u2070\u2074\u2075\u2076\u2077\u2078\u2079".split("");this.digitsSubscript="\u2080\u2081\u2082\u2083\u2084\u2085\u2086\u2087\u2088\u2089".split("");this.fractions="\u00bc\u00bd\u00be\u2150\u2151\u2152\u2153\u2154\u2155\u2156\u2157\u2158\u2159\u215a\u215b\u215c\u215d\u215e\u215f\u2189".split("");this.enclosedNumbers="\u2460\u2461\u2462\u2463\u2464\u2465\u2466\u2467\u2468\u2469\u246a\u246b\u246c\u246d\u246e\u246f\u2470\u2471\u2472\u2473\u24ea\u24eb\u24ec\u24ed\u24ee\u24ef\u24f0\u24f1\u24f2\u24f3\u24f4\u24f5\u24f6\u24f7\u24f8\u24f9\u24fa\u24fb\u24fc\u24fd\u24fe\u24ff\u2776\u2777\u2778\u2779\u277a\u277b\u277c\u277d\u277e\u277f\u2780\u2781\u2782\u2783\u2784\u2785\u2786\u2787\u2788\u2789\u278a\u278b\u278c\u278d\u278e\u278f\u2790\u2791\u2792\u2793\u3248\u3249\u324a\u324b\u324c\u324d\u324e\u324f\u3251\u3252\u3253\u3254\u3255\u3256\u3257\u3258\u3259\u325a\u325b\u325c\u325d\u325e\u325f\u32b1\u32b2\u32b3\u32b4\u32b5\u32b6\u32b7\u32b8\u32b9\u32ba\u32bb\u32bc\u32bd\u32be\u32bf".split(""); +this.fencedNumbers="\u2474\u2475\u2476\u2477\u2478\u2479\u247a\u247b\u247c\u247d\u247e\u247f\u2480\u2481\u2482\u2483\u2484\u2485\u2486\u2487".split("");this.punctuatedNumbers="\u2488 \u2489 \u248a \u248b \u248c \u248d \u248e \u248f \u2490 \u2491 \u2492 \u2493 \u2494 \u2495 \u2496 \u2497 \u2498 \u2499 \u249a \u249b \ud83c\udd00 \ud83c\udd01 \ud83c\udd02 \ud83c\udd03 \ud83c\udd04 \ud83c\udd05 \ud83c\udd06 \ud83c\udd07 \ud83c\udd08 \ud83c\udd09 \ud83c\udd0a".split(" ");this.digits=this.digitsNormal.concat(this.digitsFullWidth, +this.digitsBold,this.digitsDoubleStruck,this.digitsSansSerif,this.digitsSansSerifBold,this.digitsMonospace);this.numbers=this.fractions.concat(this.digitsSuperscript,this.digitsSubscript,this.enclosedNumbers,this.fencedNumbers,this.punctuatedNumbers);this.allNumbers=this.digits.concat(this.numbers);this.trigonometricFunctions="cos cot csc sec sin tan arccos arccot arccsc arcsec arcsin arctan".split(" ");this.hyperbolicFunctions="cosh coth csch sech sinh tanh arcosh arcoth arcsch arsech arsinh artanh arccosh arccoth arccsch arcsech arcsinh arctanh".split(" "); +this.algebraicFunctions="deg det dim hom ker Tr tr".split(" ");this.elementaryFunctions="log ln lg exp expt gcd gcd arg im re Pr".split(" ");this.prefixFunctions=this.trigonometricFunctions.concat(this.hyperbolicFunctions,this.algebraicFunctions,this.elementaryFunctions);this.limitFunctions="inf lim liminf limsup max min sup injlim projlim".split(" ");this.infixFunctions=["mod","rem"];this.symbolSetToSemantic_=[{set:this.generalPunctuations,type:sre.SemanticAttr.Type.PUNCTUATION,role:sre.SemanticAttr.Role.UNKNOWN}, +{set:this.commas,type:sre.SemanticAttr.Type.PUNCTUATION,role:sre.SemanticAttr.Role.COMMA},{set:this.ellipses,type:sre.SemanticAttr.Type.PUNCTUATION,role:sre.SemanticAttr.Role.ELLIPSIS},{set:this.fullStops,type:sre.SemanticAttr.Type.PUNCTUATION,role:sre.SemanticAttr.Role.FULLSTOP},{set:this.dashes,type:sre.SemanticAttr.Type.PUNCTUATION,role:sre.SemanticAttr.Role.DASH},{set:this.primes,type:sre.SemanticAttr.Type.PUNCTUATION,role:sre.SemanticAttr.Role.PRIME},{set:this.leftFences,type:sre.SemanticAttr.Type.FENCE, +role:sre.SemanticAttr.Role.OPEN},{set:this.rightFences,type:sre.SemanticAttr.Type.FENCE,role:sre.SemanticAttr.Role.CLOSE},{set:this.topFences,type:sre.SemanticAttr.Type.FENCE,role:sre.SemanticAttr.Role.TOP},{set:this.bottomFences,type:sre.SemanticAttr.Type.FENCE,role:sre.SemanticAttr.Role.BOTTOM},{set:this.neutralFences,type:sre.SemanticAttr.Type.FENCE,role:sre.SemanticAttr.Role.NEUTRAL},{set:this.smallLatin,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.NORMAL}, +{set:this.capitalLatin,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.NORMAL},{set:this.smallLatinFullWidth,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.NORMAL},{set:this.capitalLatinFullWidth,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.NORMAL},{set:this.smallLatinBold,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER, +font:sre.SemanticAttr.Font.BOLD},{set:this.capitalLatinBold,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.BOLD},{set:this.smallLatinItalic,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.ITALIC},{set:this.capitalLatinItalic,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.ITALIC},{set:this.smallLatinScript,type:sre.SemanticAttr.Type.IDENTIFIER, +role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.SCRIPT},{set:this.capitalLatinScript,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.SCRIPT},{set:this.smallLatinBoldScript,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.BOLDSCRIPT},{set:this.capitalLatinBoldScript,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.BOLDSCRIPT}, +{set:this.smallLatinFraktur,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.FRAKTUR},{set:this.capitalLatinFraktur,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.FRAKTUR},{set:this.smallLatinDoubleStruck,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.DOUBLESTRUCK},{set:this.capitalLatinDoubleStruck,type:sre.SemanticAttr.Type.IDENTIFIER, +role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.DOUBLESTRUCK},{set:this.smallLatinBoldFraktur,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.BOLDFRAKTUR},{set:this.capitalLatinBoldFraktur,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.BOLDFRAKTUR},{set:this.smallLatinSansSerif,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.SANSSERIF}, +{set:this.capitalLatinSansSerif,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.SANSSERIF},{set:this.smallLatinSansSerifBold,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.SANSSERIFBOLD},{set:this.capitalLatinSansSerifBold,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.SANSSERIFBOLD},{set:this.smallLatinSansSerifItalic,type:sre.SemanticAttr.Type.IDENTIFIER, +role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.SANSSERIFITALIC},{set:this.capitalLatinSansSerifItalic,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.SANSSERIFITALIC},{set:this.smallLatinMonospace,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.MONOSPACE},{set:this.capitalLatinMonospace,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.MONOSPACE}, +{set:this.latinDoubleStruckItalic,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.LATINLETTER,font:sre.SemanticAttr.Font.DOUBLESTRUCKITALIC},{set:this.smallGreek,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.GREEKLETTER,font:sre.SemanticAttr.Font.NORMAL},{set:this.capitalGreek,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.GREEKLETTER,font:sre.SemanticAttr.Font.NORMAL},{set:this.smallGreekBold,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.GREEKLETTER, +font:sre.SemanticAttr.Font.BOLD},{set:this.capitalGreekBold,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.GREEKLETTER,font:sre.SemanticAttr.Font.BOLD},{set:this.smallGreekItalic,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.GREEKLETTER,font:sre.SemanticAttr.Font.ITALIC},{set:this.capitalGreekItalic,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.GREEKLETTER,font:sre.SemanticAttr.Font.ITALIC},{set:this.smallGreekSansSerifBold,type:sre.SemanticAttr.Type.IDENTIFIER, +role:sre.SemanticAttr.Role.GREEKLETTER,font:sre.SemanticAttr.Font.SANSSERIFBOLD},{set:this.capitalGreekSansSerifBold,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.GREEKLETTER,font:sre.SemanticAttr.Font.SANSSERIFBOLD},{set:this.greekDoubleStruck,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.GREEKLETTER,font:sre.SemanticAttr.Font.DOUBLESTRUCK},{set:this.greekSpecial,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.GREEKLETTER,font:sre.SemanticAttr.Font.NORMAL}, +{set:this.greekSpecialBold,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.GREEKLETTER,font:sre.SemanticAttr.Font.BOLD},{set:this.greekSpecialItalic,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.GREEKLETTER,font:sre.SemanticAttr.Font.ITALIC},{set:this.greekSpecialSansSerifBold,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.GREEKLETTER,font:sre.SemanticAttr.Font.SANSSERIFBOLD},{set:this.hebrewLetters,type:sre.SemanticAttr.Type.IDENTIFIER,role:sre.SemanticAttr.Role.OTHERLETTER, +font:sre.SemanticAttr.Font.NORMAL},{set:this.digitsNormal,type:sre.SemanticAttr.Type.NUMBER,role:sre.SemanticAttr.Role.INTEGER,font:sre.SemanticAttr.Font.NORMAL},{set:this.digitsFullWidth,type:sre.SemanticAttr.Type.NUMBER,role:sre.SemanticAttr.Role.INTEGER,font:sre.SemanticAttr.Font.NORMAL},{set:this.digitsBold,type:sre.SemanticAttr.Type.NUMBER,role:sre.SemanticAttr.Role.INTEGER,font:sre.SemanticAttr.Font.BOLD},{set:this.digitsDoubleStruck,type:sre.SemanticAttr.Type.NUMBER,role:sre.SemanticAttr.Role.INTEGER, +font:sre.SemanticAttr.Font.DOUBLESTRUCK},{set:this.digitsSansSerif,type:sre.SemanticAttr.Type.NUMBER,role:sre.SemanticAttr.Role.INTEGER,font:sre.SemanticAttr.Font.SANSSERIF},{set:this.digitsSansSerifBold,type:sre.SemanticAttr.Type.NUMBER,role:sre.SemanticAttr.Role.INTEGER,font:sre.SemanticAttr.Font.SANSSERIFBOLD},{set:this.digitsMonospace,type:sre.SemanticAttr.Type.NUMBER,role:sre.SemanticAttr.Role.INTEGER,font:sre.SemanticAttr.Font.MONOSPACE},{set:this.numbers,type:sre.SemanticAttr.Type.NUMBER,role:sre.SemanticAttr.Role.FLOAT}, +{set:this.additions,type:sre.SemanticAttr.Type.OPERATOR,role:sre.SemanticAttr.Role.ADDITION},{set:this.multiplications,type:sre.SemanticAttr.Type.OPERATOR,role:sre.SemanticAttr.Role.MULTIPLICATION},{set:this.subtractions,type:sre.SemanticAttr.Type.OPERATOR,role:sre.SemanticAttr.Role.SUBTRACTION},{set:this.divisions,type:sre.SemanticAttr.Type.OPERATOR,role:sre.SemanticAttr.Role.DIVISION},{set:this.prefixOps,type:sre.SemanticAttr.Type.PREFIXOP,role:sre.SemanticAttr.Role.PREFIXFUNC},{set:this.prefixOpsBold, +type:sre.SemanticAttr.Type.PREFIXOP,role:sre.SemanticAttr.Role.PREFIXFUNC,font:sre.SemanticAttr.Font.BOLD},{set:this.prefixOpsItalic,type:sre.SemanticAttr.Type.PREFIXOP,role:sre.SemanticAttr.Role.PREFIXFUNC,font:sre.SemanticAttr.Font.ITALIC},{set:this.prefixOpsSansSerifBold,type:sre.SemanticAttr.Type.PREFIXOP,role:sre.SemanticAttr.Role.PREFIXFUNC,font:sre.SemanticAttr.Font.SANSSERIFBOLD},{set:this.equalities,type:sre.SemanticAttr.Type.RELATION,role:sre.SemanticAttr.Role.EQUALITY},{set:this.inequalities, +type:sre.SemanticAttr.Type.RELATION,role:sre.SemanticAttr.Role.INEQUALITY},{set:this.relations,type:sre.SemanticAttr.Type.RELATION,role:sre.SemanticAttr.Role.UNKNOWN},{set:this.arrows,type:sre.SemanticAttr.Type.RELATION,role:sre.SemanticAttr.Role.ARROW},{set:this.sumOps,type:sre.SemanticAttr.Type.LARGEOP,role:sre.SemanticAttr.Role.SUM},{set:this.intOps,type:sre.SemanticAttr.Type.LARGEOP,role:sre.SemanticAttr.Role.INTEGRAL},{set:this.limitFunctions,type:sre.SemanticAttr.Type.FUNCTION,role:sre.SemanticAttr.Role.LIMFUNC}, +{set:this.prefixFunctions,type:sre.SemanticAttr.Type.FUNCTION,role:sre.SemanticAttr.Role.PREFIXFUNC},{set:this.infixFunctions,type:sre.SemanticAttr.Type.OPERATOR,role:sre.SemanticAttr.Role.MULTIPLICATION}];this.meaning_=this.initMeaning_()};goog.addSingletonGetter(sre.SemanticAttr); +sre.SemanticAttr.Type={PUNCTUATION:"punctuation",FENCE:"fence",NUMBER:"number",IDENTIFIER:"identifier",TEXT:"text",OPERATOR:"operator",RELATION:"relation",LARGEOP:"largeop",FUNCTION:"function",ACCENT:"accent",FENCED:"fenced",FRACTION:"fraction",PUNCTUATED:"punctuated",RELSEQ:"relseq",MULTIREL:"multirel",INFIXOP:"infixop",PREFIXOP:"prefixop",POSTFIXOP:"postfixop",APPL:"appl",INTEGRAL:"integral",BIGOP:"bigop",SQRT:"sqrt",ROOT:"root",LIMUPPER:"limupper",LIMLOWER:"limlower",LIMBOTH:"limboth",SUBSCRIPT:"subscript", +SUPERSCRIPT:"superscript",UNDERSCORE:"underscore",OVERSCORE:"overscore",TENSOR:"tensor",TABLE:"table",MULTILINE:"multiline",MATRIX:"matrix",VECTOR:"vector",CASES:"cases",ROW:"row",LINE:"line",CELL:"cell",ENCLOSE:"enclose",UNKNOWN:"unknown",EMPTY:"empty"}; +sre.SemanticAttr.Role={COMMA:"comma",ELLIPSIS:"ellipsis",FULLSTOP:"fullstop",DASH:"dash",PRIME:"prime",VBAR:"vbar",OPENFENCE:"openfence",CLOSEFENCE:"closefence",APPLICATION:"application",DUMMY:"dummy",UNIT:"unit",LABEL:"label",OPEN:"open",CLOSE:"close",TOP:"top",BOTTOM:"bottom",NEUTRAL:"neutral",LATINLETTER:"latinletter",GREEKLETTER:"greekletter",OTHERLETTER:"otherletter",INTEGER:"integer",FLOAT:"float",OTHERNUMBER:"othernumber",MIXED:"mixed",MULTIACCENT:"multiaccent",OVERACCENT:"overaccent",UNDERACCENT:"underaccent", +UNDEROVER:"underover",SUBSUP:"subsup",LEFTSUB:"leftsub",LEFTSUPER:"leftsuper",RIGHTSUB:"rightsub",RIGHTSUPER:"rightsuper",LEFTRIGHT:"leftright",ABOVEBELOW:"abovebelow",STRING:"string",SEQUENCE:"sequence",ENDPUNCT:"endpunct",STARTPUNCT:"startpunct",TEXT:"text",NEGATIVE:"negative",NEGATION:"negation",MULTIOP:"multiop",LIMFUNC:"limit function",INFIXFUNC:"infix function",PREFIXFUNC:"prefix function",POSTFIXFUNC:"postfix function",SIMPLEFUNC:"simple function",SUM:"sum",INTEGRAL:"integral",ADDITION:"addition", +MULTIPLICATION:"multiplication",SUBTRACTION:"subtraction",IMPLICIT:"implicit",DIVISION:"division",VULGAR:"vulgar",EQUALITY:"equality",INEQUALITY:"inequality",ELEMENT:"element",ARROW:"arrow",DETERMINANT:"determinant",ROWVECTOR:"rowvector",BINOMIAL:"binomial",SQUAREMATRIX:"squarematrix",MULTILINE:"multiline",MATRIX:"matrix",VECTOR:"vector",CASES:"cases",TABLE:"table",UNKNOWN:"unknown",PROTECTED:"protected"}; +sre.SemanticAttr.Font={BOLD:"bold",BOLDFRAKTUR:"bold-fraktur",BOLDITALIC:"bold-italic",BOLDSCRIPT:"bold-script",CALIGRAPHIC:"caligraphic",CALIGRAPHICBOLD:"caligraphic-bold",DOUBLESTRUCK:"double-struck",DOUBLESTRUCKITALIC:"double-struck-italic",FRAKTUR:"fraktur",ITALIC:"italic",MONOSPACE:"monospace",NORMAL:"normal",OLDSTYLE:"oldstyle",OLDSTYLEBOLD:"oldstyle-bold",SCRIPT:"script",SANSSERIF:"sans-serif",SANSSERIFITALIC:"sans-serif-italic",SANSSERIFBOLD:"sans-serif-bold",SANSSERIFBOLDITALIC:"sans-serif-bold-italic", +UNKNOWN:"unknown"};sre.SemanticAttr.prototype.lookupType=function(a){return sre.SemanticAttr.Type.UNKNOWN};sre.SemanticAttr.prototype.lookupRole=function(a){return sre.SemanticAttr.Role.UNKNOWN};sre.SemanticAttr.lookupMeaning=function(a){return sre.SemanticAttr.getInstance().lookupMeaning_(a)};sre.SemanticAttr.invisibleTimes=function(){return sre.SemanticAttr.getInstance().invisibleTimes_};sre.SemanticAttr.invisibleComma=function(){return sre.SemanticAttr.getInstance().invisibleComma_}; +sre.SemanticAttr.functionApplication=function(){return sre.SemanticAttr.getInstance().functionApplication_};sre.SemanticAttr.isMatchingFenceRole=function(a,b){return a==sre.SemanticAttr.Role.OPEN&&b==sre.SemanticAttr.Role.CLOSE||a==sre.SemanticAttr.Role.NEUTRAL&&b==sre.SemanticAttr.Role.NEUTRAL||a==sre.SemanticAttr.Role.TOP&&b==sre.SemanticAttr.Role.BOTTOM};sre.SemanticAttr.isMatchingFence=function(a,b){return sre.SemanticAttr.getInstance().isMatchingFence_(a,b)}; +sre.SemanticAttr.isOpeningFence=function(a){return a==sre.SemanticAttr.Role.OPEN||a==sre.SemanticAttr.Role.NEUTRAL};sre.SemanticAttr.isClosingFence=function(a){return a==sre.SemanticAttr.Role.CLOSE||a==sre.SemanticAttr.Role.NEUTRAL};sre.SemanticAttr.isEmbellishedType=function(a){return a===sre.SemanticAttr.Type.OPERATOR||a===sre.SemanticAttr.Type.RELATION||a===sre.SemanticAttr.Type.FENCE||a===sre.SemanticAttr.Type.PUNCTUATION};sre.SemanticAttr.isCharacterD=function(a){return-1!="d \u2146 \uff44 \ud835\udc1d \ud835\udc51 \ud835\udcb9 \ud835\udced \ud835\udd21 \ud835\udd55 \ud835\udd89 \ud835\uddbd \ud835\uddf1 \ud835\ude25 \ud835\ude8d".split(" ").indexOf(a)}; +sre.SemanticAttr.prototype.isMatchingFence_=function(a,b){return-1!=this.neutralFences.indexOf(a)?a==b:this.openClosePairs[a]==b||this.topBottomPairs[a]==b};sre.SemanticAttr.prototype.initMeaning_=function(){for(var a={},b=0,c;c=this.symbolSetToSemantic_[b];b++)c.set.forEach(function(b){a[b]={role:c.role||sre.SemanticAttr.Role.UNKNOWN,type:c.type||sre.SemanticAttr.Type.UNKNOWN,font:c.font||sre.SemanticAttr.Font.UNKNOWN}});return a}; +sre.SemanticAttr.prototype.lookupMeaning_=function(a){return this.meaning_[a]||{role:sre.SemanticAttr.Role.UNKNOWN,type:sre.SemanticAttr.Type.UNKNOWN,font:sre.SemanticAttr.Font.UNKNOWN}};sre.MathUtil={};sre.MathUtil.isMathmlNodeOfClass_=function(a,b){return-1!=b.indexOf(a.tagName.toUpperCase())};sre.MathUtil.isMathjaxNodeOfClass_=function(a,b){return"SPAN"==a.tagName?a.className.split(" ").some(function(a){return-1!=b.indexOf(a.toUpperCase())}):!1};sre.MathUtil.isMathNodeOfClass_=function(a,b){return a.nodeType==sre.DomUtil.NodeType.ELEMENT_NODE&&(sre.MathUtil.isMathmlNodeOfClass_(a,b)||sre.MathUtil.isMathjaxNodeOfClass_(a,b))};sre.MathUtil.TOKEN_LIST="MI MN MO MTEXT MSPACE MS".split(" "); +sre.MathUtil.isToken=function(a){return sre.MathUtil.isMathNodeOfClass_(a,sre.MathUtil.TOKEN_LIST)};sre.MathUtil.LAYOUT_LIST="MROW MFRAC MSQRT MROOT MSTYLE MERROR MPADDED MPHANTOM MFENCED MENCLOSE".split(" ");sre.MathUtil.isLayout=function(a){return sre.MathUtil.isMathNodeOfClass_(a,sre.MathUtil.LAYOUT_LIST)};sre.MathUtil.SCRIPT_LIST="MSUB MSUP MSUBSUP MUNDER MOVER MUNDEROVER MMULTISCRIPTS MPRESCRIPTS".split(" ");sre.MathUtil.isScript=function(a){return sre.MathUtil.isMathNodeOfClass_(a,sre.MathUtil.SCRIPT_LIST)}; +sre.MathUtil.TABLES_LIST="MTABLE MLABELEDTR MTR MTD MALIGNGROUP MALIGNMARK".split(" ");sre.MathUtil.isTables=function(a){return sre.MathUtil.isMathNodeOfClass_(a,sre.MathUtil.TABLES_LIST)};sre.MathUtil.ELEMENTARY_LIST="MSTACK MLONGDIV MSGROUP MSROW MSCARRIES MSCARRY MSLINE".split(" ");sre.MathUtil.isElementary=function(a){return sre.MathUtil.isMathNodeOfClass_(a,sre.MathUtil.ELEMENTARY_LIST)}; +sre.MathUtil.MATHML_TAG_LIST=[sre.MathUtil.TOKEN_LIST,sre.MathUtil.LAYOUT_LIST,sre.MathUtil.SCRIPT_LIST,sre.MathUtil.TABLES_LIST,sre.MathUtil.ELEMENTARY_LIST].reduce(function(a,b){return a.concat(b)});sre.MathUtil.isMathmlTag=function(a){return sre.MathUtil.isMathNodeOfClass_(a,sre.MathUtil.MATHML_TAG_LIST)};sre.MathUtil.WHITESPACE_LIST=["MSROW","MROW","MSPACE","MPHANTOM","MPADDED"];sre.MathUtil.isWhitespace=function(a){return sre.MathUtil.isMathNodeOfClass_(a,sre.MathUtil.WHITESPACE_LIST)}; +sre.MathUtil.isNotWhitespace=function(a){return sre.MathUtil.isMathmlTag(a)&&!sre.MathUtil.isWhitespace(a)};sre.MathUtil.nextSeparatorFunction=function(a){if(a){if(a.match(/^\s+$/))return null;var b=a.replace(/\s/g,"").split("").filter(function(a){return a})}else b=[","];return function(){return 1<b.length?b.shift():b[0]}};sre.SemanticNode=function(a){this.id=a;this.mathml=[];this.parent=null;this.type=sre.SemanticAttr.Type.UNKNOWN;this.role=sre.SemanticAttr.Role.UNKNOWN;this.font=sre.SemanticAttr.Font.UNKNOWN;this.embellished=null;this.fencePointer="";this.childNodes=[];this.textContent="";this.mathmlTree=null;this.contentNodes=[]};sre.SemanticNode.prototype.querySelectorAll=function(a){for(var b=[],c=0,d;d=this.childNodes[c];c++)b=b.concat(d.querySelectorAll(a));a(this)&&b.unshift(this);return b}; +sre.SemanticNode.prototype.xml=function(a,b){var c=function(c,d){d=d.map(function(c){return c.xml(a,b)});c=a.createElementNS("",c);for(var e=0,f;f=d[e];e++)c.appendChild(f);return c},d=a.createElementNS("",this.type);b||this.xmlAttributes_(d);d.textContent=this.textContent;0<this.contentNodes.length&&d.appendChild(c("content",this.contentNodes));0<this.childNodes.length&&d.appendChild(c("children",this.childNodes));return d}; +sre.SemanticNode.prototype.toString=function(a){var b=new sre.SystemExternal.xmldom.XMLSerializer,c=(new sre.SystemExternal.xmldom.DOMParser).parseFromString("","text/xml");return b.serializeToString(this.xml(c,a))}; +sre.SemanticNode.prototype.xmlAttributes_=function(a){a.setAttribute("role",this.role);this.font!=sre.SemanticAttr.Font.UNKNOWN&&a.setAttribute("font",this.font);this.embellished&&a.setAttribute("embellished",this.embellished);this.fencePointer&&a.setAttribute("fencepointer",this.fencePointer);a.setAttribute("id",this.id)}; +sre.SemanticNode.prototype.updateContent=function(a){var b=a.trim();a=a&&!b?a:b;this.textContent!=a&&(b=sre.SemanticAttr.lookupMeaning(a),this.textContent=a,this.role=b.role,this.type=b.type,this.font=b.font)};sre.SemanticNode.prototype.addMathmlNodes=function(a){for(var b=0,c;c=a[b];b++)-1==this.mathml.indexOf(c)&&this.mathml.push(c)};sre.SemanticNode.prototype.removeMathmlNodes_=function(a){for(var b=this.mathml,c=0,d;d=a[c];c++)d=b.indexOf(d),-1!=d&&b.splice(d,1);this.mathml=b}; +sre.SemanticNode.prototype.appendChild=function(a){this.childNodes.push(a);this.addMathmlNodes(a.mathml);a.parent=this};sre.SemanticNode.prototype.replaceChild=function(a,b){var c=this.childNodes.indexOf(a);if(-1!=c){a.parent=null;b.parent=this;this.childNodes[c]=b;c=a.mathml.filter(function(a){return-1==b.mathml.indexOf(a)});var d=b.mathml.filter(function(b){return-1==a.mathml.indexOf(b)});this.removeMathmlNodes_(c);this.addMathmlNodes(d)}}; +sre.SemanticNode.prototype.appendContentNode=function(a){a&&(this.contentNodes.push(a),this.addMathmlNodes(a.mathml),a.parent=this)};sre.SemanticNode.prototype.removeContentNode=function(a){a&&(a=this.contentNodes.indexOf(a),-1!=a&&this.contentNodes.slice(a,1))}; +sre.SemanticNode.prototype.equals=function(a){if(!a||this.type!==a.type||this.role!==a.role||this.textContent!==a.textContent||this.childNodes.length!==a.childNodes.length||this.contentNodes.length!==a.contentNodes.length)return!1;for(var b=0,c,d;c=this.childNodes[b],d=a.childNodes[b];b++)if(!c.equals(d))return!1;for(b=0;c=this.contentNodes[b],d=a.contentNodes[b];b++)if(!c.equals(d))return!1;return!0}; +sre.SemanticNode.prototype.displayTree=function(a){a++;var b=Array(a).join(" ");console.log(b+this.toString());console.log(b+"MathmlTree:");console.log(b+this.mathmlTreeString_());console.log(b+"MathML:");for(var c=0,d;d=this.mathml[c];c++)console.log(b+d.toString());console.log(b+"Begin Content");this.contentNodes.forEach(function(b){b.displayTree(a)});console.log(b+"End Content");console.log(b+"Begin Children");this.childNodes.forEach(function(b){b.displayTree(a)});console.log(b+"End Children")}; +sre.SemanticNode.prototype.mathmlTreeString_=function(){return this.mathmlTree?this.mathmlTree.toString():"EMPTY"};sre.SemanticNodeFactory=function(){this.idCounter_=0};sre.SemanticNodeFactory.prototype.createNode_=function(){return new sre.SemanticNode(this.idCounter_++)};sre.SemanticNodeFactory.prototype.makeUnprocessed=function(a){var b=this.createNode_();b.mathml=[a];return b};sre.SemanticNodeFactory.prototype.makeEmptyNode=function(){var a=this.createNode_();a.type=sre.SemanticAttr.Type.EMPTY;return a}; +sre.SemanticNodeFactory.prototype.makeContentNode=function(a){var b=this.createNode_();b.updateContent(a);return b};sre.SemanticNodeFactory.prototype.makeMultipleContentNodes=function(a,b){for(var c=[],d=0;d<a;d++)c.push(this.makeContentNode(b));return c};sre.SemanticNodeFactory.prototype.makeLeafNode=function(a,b){if(!a)return this.makeEmptyNode();a=this.makeContentNode(a);a.font=b||a.font;return a}; +sre.SemanticNodeFactory.prototype.makeBranchNode=function(a,b,c,d){var e=this.createNode_();d&&e.updateContent(d);e.type=a;e.childNodes=b;e.contentNodes=c;b.concat(c).forEach(function(a){a.parent=e;e.addMathmlNodes(a.mathml)});return e};sre.SemanticParser=function(){};sre.SemanticParser.prototype.parse=function(a){};sre.SemanticParser.prototype.getFactory=function(){};sre.SemanticParser.prototype.setFactory=function(a){};sre.SemanticParser.prototype.getType=function(){};sre.SemanticAbstractParser=function(a){this.type_=a;this.factory_=new sre.SemanticNodeFactory};sre.SemanticAbstractParser.prototype.getFactory=function(){return this.factory_};sre.SemanticAbstractParser.prototype.setFactory=function(a){this.factory_=a}; +sre.SemanticAbstractParser.prototype.getType=function(){return this.type_};sre.SemanticAbstractParser.prototype.parse=goog.abstractMethod;sre.SemanticPred={};sre.SemanticPred.isAttribute=function(a,b){return function(c){c=c[a];a:switch(a){case "role":var d=sre.SemanticAttr.Role[b];break a;case "font":d=sre.SemanticAttr.Font[b];break a;default:d=sre.SemanticAttr.Type[b]}return c===d}}; +sre.SemanticPred.isAccent=function(a){return sre.SemanticPred.isAttribute("type","FENCE")(a)||sre.SemanticPred.isAttribute("type","PUNCTUATION")(a)||sre.SemanticPred.isAttribute("type","OPERATOR")(a)||sre.SemanticPred.isAttribute("type","RELATION")(a)||sre.SemanticPred.isAttribute("type","IDENTIFIER")(a)&&sre.SemanticPred.isAttribute("role","UNKNOWN")(a)&&!a.textContent.match(new RegExp(sre.SemanticAttr.getInstance().allLetters.join("|")))}; +sre.SemanticPred.isSimpleFunction=function(a){a=a.childNodes;if(0===a.length)return!0;if(1<a.length)return!1;a=a[0];return a.type!==sre.SemanticAttr.Type.INFIXOP||a.role===sre.SemanticAttr.Role.IMPLICIT&&!a.childNodes.some(sre.SemanticPred.isAttribute("type","INFIXOP"))?!0:!1};sre.SemanticPred.isPrefixFunctionBoundary=function(a){return sre.SemanticPred.isOperator(a)||sre.SemanticPred.isGeneralFunctionBoundary(a)}; +sre.SemanticPred.isIntegralDxBoundary=function(a,b){return!!b&&sre.SemanticPred.isAttribute("type","IDENTIFIER")(b)&&sre.SemanticAttr.isCharacterD(a.textContent)};sre.SemanticPred.isIntegralDxBoundarySingle=function(a){if(sre.SemanticPred.isAttribute("type","IDENTIFIER")(a)){var b=a.textContent[0];return b&&a.textContent[1]&&sre.SemanticAttr.isCharacterD(b)}return!1};sre.SemanticPred.isGeneralFunctionBoundary=function(a){return sre.SemanticPred.isRelation(a)||sre.SemanticPred.isPunctuation(a)}; +sre.SemanticPred.isEmbellished=function(a){return a.embellished?a.embellished:sre.SemanticAttr.isEmbellishedType(a.type)?a.type:null};sre.SemanticPred.isOperator=function(a){return sre.SemanticPred.isAttribute("type","OPERATOR")(a)||sre.SemanticPred.isAttribute("embellished","OPERATOR")(a)};sre.SemanticPred.isRelation=function(a){return sre.SemanticPred.isAttribute("type","RELATION")(a)||sre.SemanticPred.isAttribute("embellished","RELATION")(a)}; +sre.SemanticPred.isPunctuation=function(a){return sre.SemanticPred.isAttribute("type","PUNCTUATION")(a)||sre.SemanticPred.isAttribute("embellished","PUNCTUATION")(a)};sre.SemanticPred.isFence=function(a){return sre.SemanticPred.isAttribute("type","FENCE")(a)||sre.SemanticPred.isAttribute("embellished","FENCE")(a)}; +sre.SemanticPred.isElligibleEmbellishedFence=function(a){if(!a||!sre.SemanticPred.isFence(a))return!1;if(!a.embellished)return!0;var b=function(a){return a.embellished?!(!sre.SemanticPred.isAttribute("type","TENSOR")(a)||sre.SemanticPred.isAttribute("type","EMPTY")(a.childNodes[1])&&sre.SemanticPred.isAttribute("type","EMPTY")(a.childNodes[2])||sre.SemanticPred.isAttribute("type","EMPTY")(a.childNodes[3])&&sre.SemanticPred.isAttribute("type","EMPTY")(a.childNodes[4]))||sre.SemanticPred.isAttribute("role", +"CLOSE")(a)&&sre.SemanticPred.isAttribute("type","TENSOR")(a)||sre.SemanticPred.isAttribute("role","OPEN")(a)&&(sre.SemanticPred.isAttribute("type","SUBSCRIPT")(a)||sre.SemanticPred.isAttribute("type","SUPERSCRIPT")(a))?!1:b(a.childNodes[0]):!0};return b(a)};sre.SemanticPred.isTableOrMultiline=function(a){return!!a&&(sre.SemanticPred.isAttribute("type","TABLE")(a)||sre.SemanticPred.isAttribute("type","MULTILINE")(a))}; +sre.SemanticPred.tableIsMatrixOrVector=function(a){return!!a&&sre.SemanticPred.isAttribute("type","FENCED")(a)&&(sre.SemanticPred.isAttribute("role","LEFTRIGHT")(a)||sre.SemanticPred.isAttribute("role","NEUTRAL")(a))&&1===a.childNodes.length&&sre.SemanticPred.isTableOrMultiline(a.childNodes[0])};sre.SemanticPred.tableIsCases=function(a,b){return 0<b.length&&sre.SemanticPred.isAttribute("role","OPENFENCE")(b[b.length-1])}; +sre.SemanticPred.tableIsMultiline=function(a){return a.childNodes.every(function(a){return 1>=a.childNodes.length})};sre.SemanticPred.isBinomial=function(a){return 2===a.childNodes.length}; +sre.SemanticPred.isLimitBase=function(a){return sre.SemanticPred.isAttribute("type","LARGEOP")(a)||sre.SemanticPred.isAttribute("type","LIMBOTH")(a)||sre.SemanticPred.isAttribute("type","LIMLOWER")(a)||sre.SemanticPred.isAttribute("type","LIMUPPER")(a)||sre.SemanticPred.isAttribute("type","FUNCTION")(a)&&sre.SemanticPred.isAttribute("role","LIMFUNC")(a)}; +sre.SemanticPred.isSimpleFunctionHead=function(a){return a.type===sre.SemanticAttr.Type.IDENTIFIER||a.role===sre.SemanticAttr.Role.LATINLETTER||a.role===sre.SemanticAttr.Role.GREEKLETTER||a.role===sre.SemanticAttr.Role.OTHERLETTER};sre.SemanticPred.singlePunctAtPosition=function(a,b,c){return 1===b.length&&a[c].type===sre.SemanticAttr.Type.PUNCTUATION&&a[c]===b[0]};sre.SemanticProcessor=function(){this.factory_=new sre.SemanticNodeFactory};goog.addSingletonGetter(sre.SemanticProcessor);sre.SemanticProcessor.prototype.setNodeFactory=function(a){this.factory_=a}; +sre.SemanticProcessor.prototype.identifierNode=function(a,b,c){a=sre.SemanticProcessor.getInstance().factory_.makeLeafNode(a,b);if("MathML-Unit"===c)a.type=sre.SemanticAttr.Type.IDENTIFIER,a.role=sre.SemanticAttr.Role.UNIT;else if(!b&&1===a.textContent.length&&(a.role===sre.SemanticAttr.Role.INTEGER||a.role===sre.SemanticAttr.Role.LATINLETTER||a.role===sre.SemanticAttr.Role.GREEKLETTER)&&a.font===sre.SemanticAttr.Font.NORMAL)return a.font=sre.SemanticAttr.Font.ITALIC,a;a.type===sre.SemanticAttr.Type.UNKNOWN&& +(a.type=sre.SemanticAttr.Type.IDENTIFIER);sre.SemanticProcessor.exprFont_(a);return a}; +sre.SemanticProcessor.prototype.implicitNode_=function(a){a=sre.SemanticProcessor.getInstance().getMixedNumbers_(a);a=sre.SemanticProcessor.getInstance().combineUnits_(a);if(1===a.length)return a[0];var b=sre.SemanticProcessor.getInstance().factory_.makeMultipleContentNodes(a.length-1,sre.SemanticAttr.invisibleTimes()),c=sre.SemanticProcessor.getInstance().infixNode_(a,b[0]);c.role=sre.SemanticAttr.Role.IMPLICIT;b.forEach(function(a){a.parent=c});c.contentNodes=b;return c}; +sre.SemanticProcessor.prototype.infixNode_=function(a,b){a=sre.SemanticProcessor.getInstance().factory_.makeBranchNode(sre.SemanticAttr.Type.INFIXOP,a,[b],sre.SemanticProcessor.getEmbellishedInner_(b).textContent);a.role=b.role;return a}; +sre.SemanticProcessor.prototype.concatNode_=function(a,b,c){if(0===b.length)return a;var d=b.map(function(a){return sre.SemanticProcessor.getEmbellishedInner_(a).textContent}).join(" ");a=sre.SemanticProcessor.getInstance().factory_.makeBranchNode(c,[a],b,d);1<b.length&&(a.role=sre.SemanticAttr.Role.MULTIOP);return a}; +sre.SemanticProcessor.prototype.prefixNode_=function(a,b){b=sre.SemanticProcessor.partitionNodes_(b,sre.SemanticPred.isAttribute("role","SUBTRACTION"));for(a=sre.SemanticProcessor.getInstance().concatNode_(a,b.comp.pop(),sre.SemanticAttr.Type.PREFIXOP);0<b.rel.length;)a=sre.SemanticProcessor.getInstance().concatNode_(a,[b.rel.pop()],sre.SemanticAttr.Type.PREFIXOP),a.role=sre.SemanticAttr.Role.NEGATIVE,a=sre.SemanticProcessor.getInstance().concatNode_(a,b.comp.pop(),sre.SemanticAttr.Type.PREFIXOP); +return a};sre.SemanticProcessor.prototype.postfixNode_=function(a,b){return b.length?sre.SemanticProcessor.getInstance().concatNode_(a,b,sre.SemanticAttr.Type.POSTFIXOP):a};sre.SemanticProcessor.prototype.text=function(a,b,c){a=sre.SemanticProcessor.getInstance().factory_.makeLeafNode(a,b);a.type=sre.SemanticAttr.Type.TEXT;"MS"===c&&(a.role=sre.SemanticAttr.Role.STRING);sre.SemanticProcessor.exprFont_(a);return a}; +sre.SemanticProcessor.prototype.row=function(a){a=a.filter(function(a){return!sre.SemanticPred.isAttribute("type","EMPTY")(a)});if(0===a.length)return sre.SemanticProcessor.getInstance().factory_.makeEmptyNode();a=sre.SemanticProcessor.getInstance().getFencesInRow_(a);a=sre.SemanticProcessor.getInstance().tablesInRow(a);a=sre.SemanticProcessor.getInstance().getPunctuationInRow_(a);a=sre.SemanticProcessor.getInstance().getTextInRow_(a);a=sre.SemanticProcessor.getInstance().getFunctionsInRow_(a);return sre.SemanticProcessor.getInstance().relationsInRow_(a)}; +sre.SemanticProcessor.prototype.combineUnits_=function(a){var b=sre.SemanticProcessor.partitionNodes_(a,function(a){return!sre.SemanticPred.isAttribute("role","UNIT")(a)});if(a.length===b.rel.length)return b.rel;a=[];do{var c=b.comp.shift(),d=b.rel.shift();1===c.length&&(a=a.concat(c));if(1<c.length){var e=sre.SemanticProcessor.getInstance().factory_.makeContentNode(sre.SemanticAttr.invisibleTimes());c=sre.SemanticProcessor.getInstance().infixNode_(c,e);c.role=sre.SemanticAttr.Role.UNIT;a.push(c)}d&& +a.push(d)}while(d);return a}; +sre.SemanticProcessor.prototype.getMixedNumbers_=function(a){var b=sre.SemanticProcessor.partitionNodes_(a,function(a){return sre.SemanticPred.isAttribute("type","FRACTION")(a)&&sre.SemanticPred.isAttribute("role","VULGAR")(a)});if(!b.rel.length)return a;a=[];for(var c=0,d;d=b.rel[c];c++){var e=b.comp[c],f=e.length-1;e[f]&&sre.SemanticPred.isAttribute("type","NUMBER")(e[f])&&sre.SemanticPred.isAttribute("role","INTEGER")(e[f])?(d=sre.SemanticProcessor.getInstance().factory_.makeBranchNode(sre.SemanticAttr.Type.NUMBER,[e[f], +d],[]),d.role=sre.SemanticAttr.Role.MIXED,a=a.concat(e.slice(0,f)),a.push(d)):(a=a.concat(e),a.push(d))}return a.concat(b.comp[b.comp.length-1])}; +sre.SemanticProcessor.prototype.getTextInRow_=function(a){if(1>=a.length)return a;var b=sre.SemanticProcessor.partitionNodes_(a,sre.SemanticPred.isAttribute("type","TEXT"));if(0===b.rel.length)return a;a=[];var c=b.comp[0];0<c.length&&a.push(sre.SemanticProcessor.getInstance().row(c));for(var d=0;c=b.rel[d];d++)a.push(c),c=b.comp[d+1],0<c.length&&a.push(sre.SemanticProcessor.getInstance().row(c));return[sre.SemanticProcessor.getInstance().dummyNode_(a)]}; +sre.SemanticProcessor.prototype.relationsInRow_=function(a){var b=sre.SemanticProcessor.partitionNodes_(a,sre.SemanticPred.isRelation),c=b.rel[0];if(!c)return sre.SemanticProcessor.getInstance().operationsInRow_(a);if(1===a.length)return a[0];a=b.comp.map(goog.bind(sre.SemanticProcessor.getInstance().operationsInRow_,this));if(b.rel.some(function(a){return!a.equals(c)}))return a=sre.SemanticProcessor.getInstance().factory_.makeBranchNode(sre.SemanticAttr.Type.MULTIREL,a,b.rel),b.rel.every(function(a){return a.role=== +c.role})&&(a.role=c.role),a;a=sre.SemanticProcessor.getInstance().factory_.makeBranchNode(sre.SemanticAttr.Type.RELSEQ,a,b.rel,sre.SemanticProcessor.getEmbellishedInner_(c).textContent);a.role=c.role;return a}; +sre.SemanticProcessor.prototype.operationsInRow_=function(a){if(0===a.length)return sre.SemanticProcessor.getInstance().factory_.makeEmptyNode();if(1===a.length)return a[0];for(var b=[];0<a.length&&sre.SemanticPred.isOperator(a[0]);)b.push(a.shift());if(0===a.length)return sre.SemanticProcessor.getInstance().prefixNode_(b.pop(),b);if(1===a.length)return sre.SemanticProcessor.getInstance().prefixNode_(a[0],b);a=sre.SemanticProcessor.sliceNodes_(a,sre.SemanticPred.isOperator);b=sre.SemanticProcessor.getInstance().prefixNode_(sre.SemanticProcessor.getInstance().implicitNode_(a.head), +b);return a.div?sre.SemanticProcessor.getInstance().operationsTree_(a.tail,b,a.div):b}; +sre.SemanticProcessor.prototype.operationsTree_=function(a,b,c,d){d=d||[];if(0===a.length)return d.unshift(c),b.type===sre.SemanticAttr.Type.INFIXOP?(d=sre.SemanticProcessor.getInstance().postfixNode_(b.childNodes.pop(),d),b.appendChild(d),b):sre.SemanticProcessor.getInstance().postfixNode_(b,d);a=sre.SemanticProcessor.sliceNodes_(a,sre.SemanticPred.isOperator);if(0===a.head.length)return d.push(a.div),sre.SemanticProcessor.getInstance().operationsTree_(a.tail,b,c,d);d=sre.SemanticProcessor.getInstance().prefixNode_(sre.SemanticProcessor.getInstance().implicitNode_(a.head), +d);b=sre.SemanticProcessor.getInstance().appendOperand_(b,c,d);return a.div?sre.SemanticProcessor.getInstance().operationsTree_(a.tail,b,a.div,[]):b}; +sre.SemanticProcessor.prototype.appendOperand_=function(a,b,c){return a.type!==sre.SemanticAttr.Type.INFIXOP?sre.SemanticProcessor.getInstance().infixNode_([a,c],b):sre.SemanticProcessor.getInstance().appendExistingOperator_(a,b,c)?a:b.role===sre.SemanticAttr.Role.MULTIPLICATION?sre.SemanticProcessor.getInstance().appendMultiplicativeOp_(a,b,c):sre.SemanticProcessor.getInstance().appendAdditiveOp_(a,b,c)}; +sre.SemanticProcessor.prototype.appendMultiplicativeOp_=function(a,b,c){if(a.role===sre.SemanticAttr.Role.IMPLICIT)return sre.SemanticProcessor.getInstance().infixNode_([a,c],b);for(var d=a,e=a.childNodes[a.childNodes.length-1];e&&e.type===sre.SemanticAttr.Type.INFIXOP;)d=e,e=d.childNodes[a.childNodes.length-1];b=sre.SemanticProcessor.getInstance().infixNode_([d.childNodes.pop(),c],b);d.appendChild(b);return a}; +sre.SemanticProcessor.prototype.appendAdditiveOp_=function(a,b,c){return sre.SemanticProcessor.getInstance().infixNode_([a,c],b)};sre.SemanticProcessor.prototype.appendExistingOperator_=function(a,b,c){return a&&a.type===sre.SemanticAttr.Type.INFIXOP&&a.role!==sre.SemanticAttr.Role.IMPLICIT?a.contentNodes[0].equals(b)?(a.appendContentNode(b),a.appendChild(c),!0):sre.SemanticProcessor.getInstance().appendExistingOperator_(a.childNodes[a.childNodes.length-1],b,c):!1}; +sre.SemanticProcessor.prototype.getFencesInRow_=function(a){a=sre.SemanticProcessor.partitionNodes_(a,sre.SemanticPred.isFence);a=sre.SemanticProcessor.purgeFences_(a);var b=a.comp.shift();return sre.SemanticProcessor.getInstance().fences_(a.rel,a.comp,[],[b])}; +sre.SemanticProcessor.prototype.fences_=function(a,b,c,d){if(0===a.length&&0===c.length)return d[0];var e=sre.SemanticPred.isAttribute("role","OPEN");if(0===a.length){for(a=d.shift();0<c.length;){if(e(c[0]))b=c.shift(),sre.SemanticProcessor.fenceToPunct_(b),a.push(b);else{c=sre.SemanticProcessor.sliceNodes_(c,e);var f=c.head.length-1,g=sre.SemanticProcessor.getInstance().neutralFences_(c.head,d.slice(0,f));d=d.slice(f);a.push.apply(a,g);c.div&&c.tail.unshift(c.div);c=c.tail}a.push.apply(a,d.shift())}return a}f= +c[c.length-1];g=a[0].role;if(g===sre.SemanticAttr.Role.OPEN||g===sre.SemanticAttr.Role.NEUTRAL&&(!f||a[0].textContent!==f.textContent))return c.push(a.shift()),(e=b.shift())&&d.push(e),sre.SemanticProcessor.getInstance().fences_(a,b,c,d);if(f&&(g===sre.SemanticAttr.Role.CLOSE&&f.role===sre.SemanticAttr.Role.OPEN||g===sre.SemanticAttr.Role.NEUTRAL&&a[0].textContent===f.textContent))return e=sre.SemanticProcessor.getInstance().horizontalFencedNode_(c.pop(),a.shift(),d.pop()),d.push(d.pop().concat([e], +b.shift())),sre.SemanticProcessor.getInstance().fences_(a,b,c,d);if(f&&g===sre.SemanticAttr.Role.CLOSE&&f.role===sre.SemanticAttr.Role.NEUTRAL&&c.some(e))return c=sre.SemanticProcessor.sliceNodes_(c,e,!0),e=d.pop(),f=d.length-c.tail.length+1,g=sre.SemanticProcessor.getInstance().neutralFences_(c.tail,d.slice(f)),d=d.slice(0,f),e=sre.SemanticProcessor.getInstance().horizontalFencedNode_(c.div,a.shift(),d.pop().concat(g,e)),d.push(d.pop().concat([e],b.shift())),sre.SemanticProcessor.getInstance().fences_(a, +b,c.head,d);e=a.shift();sre.SemanticProcessor.fenceToPunct_(e);d.push(d.pop().concat([e],b.shift()));return sre.SemanticProcessor.getInstance().fences_(a,b,c,d)}; +sre.SemanticProcessor.prototype.neutralFences_=function(a,b){if(0===a.length)return a;if(1===a.length)return sre.SemanticProcessor.fenceToPunct_(a[0]),a;var c=a.shift(),d=sre.SemanticProcessor.sliceNodes_(a,function(a){return sre.SemanticProcessor.getEmbellishedInner_(a).textContent==sre.SemanticProcessor.getEmbellishedInner_(c).textContent});if(!d.div)return sre.SemanticProcessor.fenceToPunct_(c),d=b.shift(),d.unshift(c),d.concat(sre.SemanticProcessor.getInstance().neutralFences_(a,b));b=sre.SemanticProcessor.getInstance().combineFencedContent_(c, +d.div,d.head,b);return 0<d.tail.length?(a=b.shift(),d=sre.SemanticProcessor.getInstance().neutralFences_(d.tail,b),a.concat(d)):b[0]}; +sre.SemanticProcessor.prototype.combineFencedContent_=function(a,b,c,d){if(0===c.length)return a=sre.SemanticProcessor.getInstance().horizontalFencedNode_(a,b,d.shift()),0<d.length?d[0].unshift(a):d=[[a]],d;var e=d.shift(),f=c.length-1,g=d.slice(0,f);d=d.slice(f);f=d.shift();c=sre.SemanticProcessor.getInstance().neutralFences_(c,g);e.push.apply(e,c);e.push.apply(e,f);a=sre.SemanticProcessor.getInstance().horizontalFencedNode_(a,b,e);0<d.length?d[0].unshift(a):d=[[a]];return d}; +sre.SemanticProcessor.FENCE_TO_PUNCT_={};sre.SemanticProcessor.FENCE_TO_PUNCT_[sre.SemanticAttr.Role.NEUTRAL]=sre.SemanticAttr.Role.VBAR;sre.SemanticProcessor.FENCE_TO_PUNCT_[sre.SemanticAttr.Role.OPEN]=sre.SemanticAttr.Role.OPENFENCE;sre.SemanticProcessor.FENCE_TO_PUNCT_[sre.SemanticAttr.Role.CLOSE]=sre.SemanticAttr.Role.CLOSEFENCE; +sre.SemanticProcessor.fenceToPunct_=function(a){var b=sre.SemanticProcessor.FENCE_TO_PUNCT_[a.role];if(b){for(;a.embellished;)a.embellished=sre.SemanticAttr.Type.PUNCTUATION,a.role=b,a=a.childNodes[0];a.type=sre.SemanticAttr.Type.PUNCTUATION;a.role=b}}; +sre.SemanticProcessor.prototype.horizontalFencedNode_=function(a,b,c){c=sre.SemanticProcessor.getInstance().row(c);b=sre.SemanticProcessor.getInstance().factory_.makeBranchNode(sre.SemanticAttr.Type.FENCED,[c],[a,b]);b.role=a.role===sre.SemanticAttr.Role.OPEN?sre.SemanticAttr.Role.LEFTRIGHT:a.role;return sre.SemanticProcessor.rewriteFencedNode_(b)}; +sre.SemanticProcessor.prototype.getPunctuationInRow_=function(a){if(1>=a.length)return a;var b=sre.SemanticProcessor.partitionNodes_(a,function(a){return sre.SemanticPred.isPunctuation(a)&&!sre.SemanticPred.isAttribute("role","ELLIPSIS")(a)});if(0===b.rel.length)return a;a=[];var c=b.comp.shift();0<c.length&&a.push(sre.SemanticProcessor.getInstance().row(c));for(var d=0;0<b.comp.length;)a.push(b.rel[d++]),c=b.comp.shift(),0<c.length&&a.push(sre.SemanticProcessor.getInstance().row(c));return[sre.SemanticProcessor.getInstance().punctuatedNode_(a, +b.rel)]}; +sre.SemanticProcessor.prototype.punctuatedNode_=function(a,b){var c=sre.SemanticProcessor.getInstance().factory_.makeBranchNode(sre.SemanticAttr.Type.PUNCTUATED,a,b);if(b.length===a.length){var d=b[0].role;if(d!==sre.SemanticAttr.Role.UNKNOWN&&b.every(function(a){return a.role===d}))return c.role=d,c}sre.SemanticPred.singlePunctAtPosition(a,b,0)?c.role=sre.SemanticAttr.Role.STARTPUNCT:sre.SemanticPred.singlePunctAtPosition(a,b,a.length-1)?c.role=sre.SemanticAttr.Role.ENDPUNCT:b.every(sre.SemanticPred.isAttribute("role","DUMMY"))? +c.role=sre.SemanticAttr.Role.TEXT:c.role=sre.SemanticAttr.Role.SEQUENCE;return c};sre.SemanticProcessor.prototype.dummyNode_=function(a){var b=sre.SemanticProcessor.getInstance().factory_.makeMultipleContentNodes(a.length-1,sre.SemanticAttr.invisibleComma());b.forEach(function(a){a.role=sre.SemanticAttr.Role.DUMMY});return sre.SemanticProcessor.getInstance().punctuatedNode_(a,b)}; +sre.SemanticProcessor.MML_TO_LIMIT_={MSUB:sre.SemanticAttr.Type.LIMLOWER,MUNDER:sre.SemanticAttr.Type.LIMLOWER,MSUP:sre.SemanticAttr.Type.LIMUPPER,MOVER:sre.SemanticAttr.Type.LIMUPPER,MSUBSUP:sre.SemanticAttr.Type.LIMBOTH,MUNDEROVER:sre.SemanticAttr.Type.LIMBOTH}; +sre.SemanticProcessor.prototype.limitNode=function(a,b){var c=b[0];if(sre.SemanticPred.isLimitBase(c))a=sre.SemanticProcessor.MML_TO_LIMIT_[a];else switch(a){case "MSUB":a=sre.SemanticAttr.Type.SUBSCRIPT;break;case "MSUP":a=sre.SemanticAttr.Type.SUPERSCRIPT;break;case "MSUBSUP":var d=sre.SemanticProcessor.getInstance().factory_.makeBranchNode(sre.SemanticAttr.Type.SUBSCRIPT,[c,b[1]],[]);d.role=sre.SemanticAttr.Role.SUBSUP;b=[d,b[2]];a=sre.SemanticAttr.Type.SUPERSCRIPT;break;case "MOVER":a=sre.SemanticAttr.Type.OVERSCORE; +sre.SemanticPred.isAccent(b[1])&&(b[1].role=sre.SemanticAttr.Role.OVERACCENT);break;case "MUNDER":a=sre.SemanticAttr.Type.UNDERSCORE;sre.SemanticPred.isAccent(b[1])&&(b[1].role=sre.SemanticAttr.Role.UNDERACCENT);break;default:d=sre.SemanticPred.isAccent(b[1]),a=sre.SemanticPred.isAccent(b[2]),d&&(b[1].role=sre.SemanticAttr.Role.UNDERACCENT),a&&(b[2].role=sre.SemanticAttr.Role.OVERACCENT),a&&!d?(d=sre.SemanticProcessor.getInstance().factory_.makeBranchNode(sre.SemanticAttr.Type.OVERSCORE,[c,b[2]], +[]),b=[d,b[1]],a=sre.SemanticAttr.Type.UNDERSCORE):(d=sre.SemanticProcessor.getInstance().factory_.makeBranchNode(sre.SemanticAttr.Type.UNDERSCORE,[c,b[1]],[]),b=[d,b[2]],a=sre.SemanticAttr.Type.OVERSCORE),d.role=sre.SemanticAttr.Role.UNDEROVER}b=sre.SemanticProcessor.getInstance().factory_.makeBranchNode(a,b,[]);a=sre.SemanticPred.isEmbellished(c);d&&(d.embellished=a);b.embellished=a;b.role=c.role;return b}; +sre.SemanticProcessor.prototype.getFunctionsInRow_=function(a,b){b=b||[];if(0===a.length)return b;var c=a.shift(),d=sre.SemanticProcessor.classifyFunction_(c,a);if(!d)return b.push(c),sre.SemanticProcessor.getInstance().getFunctionsInRow_(a,b);a=sre.SemanticProcessor.getInstance().getFunctionsInRow_(a,[]);a=sre.SemanticProcessor.getInstance().getFunctionArgs_(c,a,d);return b.concat(a)};sre.SemanticProcessor.CLASSIFY_FUNCTION_={}; +sre.SemanticProcessor.CLASSIFY_FUNCTION_[sre.SemanticAttr.Role.INTEGRAL]="integral";sre.SemanticProcessor.CLASSIFY_FUNCTION_[sre.SemanticAttr.Role.SUM]="bigop";sre.SemanticProcessor.CLASSIFY_FUNCTION_[sre.SemanticAttr.Role.PREFIXFUNC]="prefix";sre.SemanticProcessor.CLASSIFY_FUNCTION_[sre.SemanticAttr.Role.LIMFUNC]="prefix"; +sre.SemanticProcessor.classifyFunction_=function(a,b){if(a.type===sre.SemanticAttr.Type.APPL||a.type===sre.SemanticAttr.Type.BIGOP||a.type===sre.SemanticAttr.Type.INTEGRAL)return"";if(b[0]&&b[0].textContent===sre.SemanticAttr.functionApplication()){b.shift();b=sre.SemanticAttr.Role.SIMPLEFUNC;if(a.role===sre.SemanticAttr.Role.PREFIXFUNC||a.role===sre.SemanticAttr.Role.LIMFUNC)b=a.role;sre.SemanticProcessor.propagateFunctionRole_(a,b);return"prefix"}return(b=sre.SemanticProcessor.CLASSIFY_FUNCTION_[a.role])? +b:sre.SemanticPred.isSimpleFunctionHead(a)?"simple":""};sre.SemanticProcessor.propagateFunctionRole_=function(a,b){a&&(sre.SemanticPred.isAttribute("role","SUBSUP")(a)||(a.role=b),sre.SemanticProcessor.propagateFunctionRole_(a.childNodes[0],b))}; +sre.SemanticProcessor.prototype.getFunctionArgs_=function(a,b,c){switch(c){case "integral":b=sre.SemanticProcessor.getInstance().getIntegralArgs_(b);var d=sre.SemanticProcessor.getInstance().row(b.integrand);a=sre.SemanticProcessor.getInstance().integralNode_(a,d,b.intvar);b.rest.unshift(a);return b.rest;case "prefix":if(b[0]&&b[0].type===sre.SemanticAttr.Type.FENCED)return a=sre.SemanticProcessor.getInstance().functionNode_(a,b.shift()),b.unshift(a),b;case "bigop":d=sre.SemanticProcessor.sliceNodes_(b, +sre.SemanticPred.isPrefixFunctionBoundary);if(!d.head.length)return b.unshift(a),b;b=sre.SemanticProcessor.getInstance().row(d.head);a="prefix"===c?sre.SemanticProcessor.getInstance().functionNode_(a,b):sre.SemanticProcessor.getInstance().bigOpNode_(a,b);d.div&&d.tail.unshift(d.div);d.tail.unshift(a);return d.tail;default:if(0===b.length)return[a];d=b[0];if(d.type===sre.SemanticAttr.Type.FENCED&&d.role!==sre.SemanticAttr.Role.NEUTRAL&&sre.SemanticPred.isSimpleFunction(d))return sre.SemanticProcessor.propagateFunctionRole_(a, +sre.SemanticAttr.Role.SIMPLEFUNC),a=sre.SemanticProcessor.getInstance().functionNode_(a,b.shift()),b.unshift(a),b;b.unshift(a);return b}}; +sre.SemanticProcessor.prototype.getIntegralArgs_=function(a,b){b=b||[];if(0===a.length)return{integrand:b,intvar:null,rest:a};var c=a[0];if(sre.SemanticPred.isGeneralFunctionBoundary(c))return{integrand:b,intvar:null,rest:a};if(sre.SemanticPred.isIntegralDxBoundarySingle(c))return{integrand:b,intvar:c,rest:a.slice(1)};if(a[1]&&sre.SemanticPred.isIntegralDxBoundary(c,a[1])){var d=sre.SemanticProcessor.getInstance().factory_.makeContentNode(sre.SemanticAttr.invisibleComma());c=sre.SemanticProcessor.getInstance().punctuatedNode_([c, +d,a[1]],[d]);c.role=sre.SemanticAttr.Role.INTEGRAL;return{integrand:b,intvar:c,rest:a.slice(2)}}b.push(a.shift());return sre.SemanticProcessor.getInstance().getIntegralArgs_(a,b)}; +sre.SemanticProcessor.prototype.functionNode_=function(a,b){var c=sre.SemanticProcessor.getInstance().factory_.makeContentNode(sre.SemanticAttr.functionApplication());c.type=sre.SemanticAttr.Type.PUNCTUATION;c.role=sre.SemanticAttr.Role.APPLICATION;var d=sre.SemanticProcessor.getFunctionOp_(a,function(a){return sre.SemanticPred.isAttribute("type","FUNCTION")(a)||sre.SemanticPred.isAttribute("type","IDENTIFIER")(a)&&sre.SemanticPred.isAttribute("role","SIMPLEFUNC")(a)});return sre.SemanticProcessor.getInstance().functionalNode_(sre.SemanticAttr.Type.APPL, +[a,b],d,[c])};sre.SemanticProcessor.prototype.bigOpNode_=function(a,b){var c=sre.SemanticProcessor.getFunctionOp_(a,sre.SemanticPred.isAttribute("type","LARGEOP"));return sre.SemanticProcessor.getInstance().functionalNode_(sre.SemanticAttr.Type.BIGOP,[a,b],c,[])}; +sre.SemanticProcessor.prototype.integralNode_=function(a,b,c){b=b||sre.SemanticProcessor.getInstance().factory_.makeEmptyNode();c=c||sre.SemanticProcessor.getInstance().factory_.makeEmptyNode();var d=sre.SemanticProcessor.getFunctionOp_(a,sre.SemanticPred.isAttribute("type","LARGEOP"));return sre.SemanticProcessor.getInstance().functionalNode_(sre.SemanticAttr.Type.INTEGRAL,[a,b,c],d,[])}; +sre.SemanticProcessor.prototype.functionalNode_=function(a,b,c,d){var e=b[0];if(c){var f=c.parent;d.push(c)}a=sre.SemanticProcessor.getInstance().factory_.makeBranchNode(a,b,d);a.role=e.role;f&&(c.parent=f);return a};sre.SemanticProcessor.getFunctionOp_=function(a,b){if(b(a))return a;for(var c=0,d;d=a.childNodes[c];c++)if(d=sre.SemanticProcessor.getFunctionOp_(d,b))return d;return null}; +sre.SemanticProcessor.prototype.tablesInRow=function(a){a=sre.SemanticProcessor.partitionNodes_(a,sre.SemanticPred.tableIsMatrixOrVector);for(var b=[],c=0,d;d=a.rel[c];c++)b=b.concat(a.comp.shift()),b.push(sre.SemanticProcessor.tableToMatrixOrVector_(d));b=b.concat(a.comp.shift());a=sre.SemanticProcessor.partitionNodes_(b,sre.SemanticPred.isTableOrMultiline);b=[];for(c=0;d=a.rel[c];c++){var e=a.comp.shift();sre.SemanticPred.tableIsCases(d,e)&&sre.SemanticProcessor.tableToCases_(d,e.pop());b=b.concat(e); +b.push(d)}return b.concat(a.comp.shift())};sre.SemanticProcessor.tableToMatrixOrVector_=function(a){var b=a.childNodes[0];sre.SemanticPred.isAttribute("type","MULTILINE")(b)?sre.SemanticProcessor.tableToVector_(a):sre.SemanticProcessor.tableToMatrix_(a);a.contentNodes.forEach(goog.bind(b.appendContentNode,b));a=0;for(var c;c=b.childNodes[a];a++)sre.SemanticProcessor.assignRoleToRow_(c,sre.SemanticProcessor.getComponentRoles_(b));b.parent=null;return b}; +sre.SemanticProcessor.tableToVector_=function(a){var b=a.childNodes[0];b.type=sre.SemanticAttr.Type.VECTOR;1===b.childNodes.length?sre.SemanticProcessor.tableToSquare_(a):sre.SemanticProcessor.binomialForm_(b)};sre.SemanticProcessor.binomialForm_=function(a){sre.SemanticPred.isBinomial(a)&&(a.role=sre.SemanticAttr.Role.BINOMIAL,a.childNodes[0].role=sre.SemanticAttr.Role.BINOMIAL,a.childNodes[1].role=sre.SemanticAttr.Role.BINOMIAL)}; +sre.SemanticProcessor.tableToMatrix_=function(a){var b=a.childNodes[0];b.type=sre.SemanticAttr.Type.MATRIX;b.childNodes&&0<b.childNodes.length&&b.childNodes[0].childNodes&&b.childNodes.length===b.childNodes[0].childNodes.length?sre.SemanticProcessor.tableToSquare_(a):b.childNodes&&1===b.childNodes.length&&(b.role=sre.SemanticAttr.Role.ROWVECTOR)}; +sre.SemanticProcessor.tableToSquare_=function(a){var b=a.childNodes[0];sre.SemanticPred.isAttribute("role","NEUTRAL")(a)?b.role=sre.SemanticAttr.Role.DETERMINANT:b.role=sre.SemanticAttr.Role.SQUAREMATRIX};sre.SemanticProcessor.getComponentRoles_=function(a){var b=a.role;return b&&b!==sre.SemanticAttr.Role.UNKNOWN?b:sre.SemanticAttr.Role[a.type.toUpperCase()]||sre.SemanticAttr.Role.UNKNOWN}; +sre.SemanticProcessor.tableToCases_=function(a,b){for(var c=0,d;d=a.childNodes[c];c++)sre.SemanticProcessor.assignRoleToRow_(d,sre.SemanticAttr.Role.CASES);a.type=sre.SemanticAttr.Type.CASES;a.appendContentNode(b);sre.SemanticPred.tableIsMultiline(a)&&sre.SemanticProcessor.binomialForm_(a);return a}; +sre.SemanticProcessor.tableToMultiline=function(a){if(sre.SemanticPred.tableIsMultiline(a)){a.type=sre.SemanticAttr.Type.MULTILINE;for(var b=0,c;c=a.childNodes[b];b++)sre.SemanticProcessor.rowToLine_(c,sre.SemanticAttr.Role.MULTILINE);sre.SemanticProcessor.binomialForm_(a);sre.SemanticProcessor.classifyMultiline(a)}else sre.SemanticProcessor.classifyTable(a)}; +sre.SemanticProcessor.rowToLine_=function(a,b){b=b||sre.SemanticAttr.Role.UNKNOWN;sre.SemanticPred.isAttribute("type","ROW")(a)&&(a.type=sre.SemanticAttr.Type.LINE,a.role=b,1===a.childNodes.length&&sre.SemanticPred.isAttribute("type","CELL")(a.childNodes[0])&&(a.childNodes=a.childNodes[0].childNodes,a.childNodes.forEach(function(b){b.parent=a})))}; +sre.SemanticProcessor.assignRoleToRow_=function(a,b){if(sre.SemanticPred.isAttribute("type","LINE")(a))a.role=b;else if(sre.SemanticPred.isAttribute("type","ROW")(a)){a.role=b;var c=sre.SemanticPred.isAttribute("type","CELL");a.childNodes.forEach(function(a){c(a)&&(a.role=b)})}}; +sre.SemanticProcessor.sliceNodes_=function(a,b,c){c&&a.reverse();for(var d=[],e=0,f;f=a[e];e++){if(b(f))return c?{head:a.slice(e+1).reverse(),div:f,tail:d.reverse()}:{head:d,div:f,tail:a.slice(e+1)};d.push(f)}return c?{head:[],div:null,tail:d.reverse()}:{head:d,div:null,tail:[]}};sre.SemanticProcessor.partitionNodes_=function(a,b){var c=[],d=[];do{var e=sre.SemanticProcessor.sliceNodes_(a,b);d.push(e.head);c.push(e.div);a=e.tail}while(e.div);c.pop();return{rel:c,comp:d}}; +sre.SemanticProcessor.prototype.mfenced=function(a,b,c,d){if(c&&0<d.length){var e=sre.MathUtil.nextSeparatorFunction(c),f=[d.shift()];d.forEach(goog.bind(function(a){f.push(sre.SemanticProcessor.getInstance().factory_.makeContentNode(e()));f.push(a)},this));d=f}if(a&&b)return sre.SemanticProcessor.getInstance().horizontalFencedNode_(sre.SemanticProcessor.getInstance().factory_.makeContentNode(a),sre.SemanticProcessor.getInstance().factory_.makeContentNode(b),d);a&&d.unshift(sre.SemanticProcessor.getInstance().factory_.makeContentNode(a)); +b&&d.push(sre.SemanticProcessor.getInstance().factory_.makeContentNode(b));return sre.SemanticProcessor.getInstance().row(d)};sre.SemanticProcessor.number=function(a){if(a.type===sre.SemanticAttr.Type.UNKNOWN||a.type===sre.SemanticAttr.Type.IDENTIFIER)a.type=sre.SemanticAttr.Type.NUMBER;sre.SemanticProcessor.numberRole_(a);sre.SemanticProcessor.exprFont_(a)}; +sre.SemanticProcessor.numberRole_=function(a){if(a.role===sre.SemanticAttr.Role.UNKNOWN){var b=sre.SemanticUtil.splitUnicode(a.textContent).map(sre.SemanticAttr.lookupMeaning);b.every(function(a){return a.type===sre.SemanticAttr.Type.NUMBER&&a.role===sre.SemanticAttr.Role.INTEGER||a.type===sre.SemanticAttr.Type.PUNCTUATION&&a.role===sre.SemanticAttr.Role.COMMA})?a.role=sre.SemanticAttr.Role.INTEGER:b.every(function(a){return a.type===sre.SemanticAttr.Type.NUMBER&&a.role===sre.SemanticAttr.Role.INTEGER|| +a.type===sre.SemanticAttr.Type.PUNCTUATION})?a.role=sre.SemanticAttr.Role.FLOAT:a.role=sre.SemanticAttr.Role.OTHERNUMBER}};sre.SemanticProcessor.exprFont_=function(a){if(a.font===sre.SemanticAttr.Font.UNKNOWN){var b=sre.SemanticUtil.splitUnicode(a.textContent).map(sre.SemanticAttr.lookupMeaning).reduce(function(a,b){return a&&b.font&&b.font!==sre.SemanticAttr.Font.UNKNOWN&&b.font!==a?a===sre.SemanticAttr.Font.UNKNOWN?b.font:null:a},sre.SemanticAttr.Font.UNKNOWN);b&&(a.font=b)}}; +sre.SemanticProcessor.prototype.fractionLikeNode=function(a,b,c){return sre.SemanticUtil.isZeroLength(a)?(a=sre.SemanticProcessor.getInstance().factory_.makeBranchNode(sre.SemanticAttr.Type.LINE,[b],[]),c=sre.SemanticProcessor.getInstance().factory_.makeBranchNode(sre.SemanticAttr.Type.LINE,[c],[]),c=sre.SemanticProcessor.getInstance().factory_.makeBranchNode(sre.SemanticAttr.Type.MULTILINE,[a,c],[]),sre.SemanticProcessor.binomialForm_(c),sre.SemanticProcessor.classifyMultiline(c),c):sre.SemanticProcessor.getInstance().fractionNode_(b, +c)};sre.SemanticProcessor.prototype.fractionNode_=function(a,b){a=sre.SemanticProcessor.getInstance().factory_.makeBranchNode(sre.SemanticAttr.Type.FRACTION,[a,b],[]);a.role=a.childNodes.every(function(a){return sre.SemanticPred.isAttribute("role","INTEGER")(a)})?sre.SemanticAttr.Role.VULGAR:a.childNodes.every(function(a){return sre.SemanticPred.isAttribute("role","UNIT")(a)})?sre.SemanticAttr.Role.UNIT:sre.SemanticAttr.Role.DIVISION;return a}; +sre.SemanticProcessor.prototype.tensor=function(a,b,c,d,e){b=sre.SemanticProcessor.getInstance().factory_.makeBranchNode(sre.SemanticAttr.Type.TENSOR,[a,sre.SemanticProcessor.getInstance().scriptNode_(b,sre.SemanticAttr.Role.LEFTSUB),sre.SemanticProcessor.getInstance().scriptNode_(c,sre.SemanticAttr.Role.LEFTSUPER),sre.SemanticProcessor.getInstance().scriptNode_(d,sre.SemanticAttr.Role.RIGHTSUB),sre.SemanticProcessor.getInstance().scriptNode_(e,sre.SemanticAttr.Role.RIGHTSUPER)],[]);b.role=a.role; +b.embellished=sre.SemanticPred.isEmbellished(a);return b}; +sre.SemanticProcessor.prototype.pseudoTensor=function(a,b,c){var d=function(a){return!sre.SemanticPred.isAttribute("type","EMPTY")(a)},e=b.filter(d).length;d=c.filter(d).length;if(!e&&!d)return a;var f=e?d?"MSUBSUP":"MSUB":"MSUP";a=[a];e&&a.push(sre.SemanticProcessor.getInstance().scriptNode_(b,sre.SemanticAttr.Role.RIGHTSUB,!0));d&&a.push(sre.SemanticProcessor.getInstance().scriptNode_(c,sre.SemanticAttr.Role.RIGHTSUPER,!0));return sre.SemanticProcessor.getInstance().limitNode(f,a)}; +sre.SemanticProcessor.prototype.scriptNode_=function(a,b,c){switch(a.length){case 0:a=sre.SemanticProcessor.getInstance().factory_.makeEmptyNode();break;case 1:a=a[0];if(c)return a;break;default:a=sre.SemanticProcessor.getInstance().dummyNode_(a)}a.role=b;return a};sre.SemanticProcessor.getEmbellishedInner_=function(a){return a&&a.embellished&&0<a.childNodes.length?sre.SemanticProcessor.getEmbellishedInner_(a.childNodes[0]):a}; +sre.SemanticProcessor.purgeFences_=function(a){var b=a.rel;a=a.comp;for(var c=[],d=[];0<b.length;){var e=b.shift(),f=a.shift();sre.SemanticPred.isElligibleEmbellishedFence(e)?(c.push(e),d.push(f)):(sre.SemanticProcessor.fenceToPunct_(e),f.push(e),f=f.concat(a.shift()),a.unshift(f))}d.push(a.shift());return{rel:c,comp:d}}; +sre.SemanticProcessor.rewriteFencedNode_=function(a){var b=a.contentNodes[1],c=sre.SemanticProcessor.rewriteFence_(a,a.contentNodes[0]);a.contentNodes[0]=c.fence;c=sre.SemanticProcessor.rewriteFence_(c.node,b);a.contentNodes[1]=c.fence;a.contentNodes[0].parent=a;a.contentNodes[1].parent=a;c.node.parent=null;return c.node}; +sre.SemanticProcessor.rewriteFence_=function(a,b){if(!b.embellished)return{node:a,fence:b};var c=b.childNodes[0],d=sre.SemanticProcessor.rewriteFence_(a,c);if(sre.SemanticPred.isAttribute("type","SUPERSCRIPT")(b)||sre.SemanticPred.isAttribute("type","SUBSCRIPT")(b)||sre.SemanticPred.isAttribute("type","TENSOR")(b))return sre.SemanticPred.isAttribute("role","SUBSUP")(b)||(b.role=a.role),c!==d.node&&(b.replaceChild(c,d.node),c.parent=a),sre.SemanticProcessor.propagateFencePointer_(b,c),{node:b,fence:d.fence}; +b.replaceChild(c,d.fence);b.mathmlTree&&-1===b.mathml.indexOf(b.mathmlTree)&&b.mathml.push(b.mathmlTree);return{node:d.node,fence:b}};sre.SemanticProcessor.propagateFencePointer_=function(a,b){a.fencePointer=b.fencePointer||b.id.toString();a.embellished=null}; +sre.SemanticProcessor.classifyMultiline=function(a){for(var b=0,c=a.childNodes.length,d;b<c&&(!(d=a.childNodes[b])||!d.childNodes.length);)b++;if(!(b>=c)){var e=d.childNodes[0].role;e!==sre.SemanticAttr.Role.UNKNOWN&&a.childNodes.every(function(a){a=a.childNodes[0];return!a||a.role===e&&(sre.SemanticPred.isAttribute("type","RELATION")(a)||sre.SemanticPred.isAttribute("type","RELSEQ")(a))})&&(a.role=e)}}; +sre.SemanticProcessor.classifyTable=function(a){var b=sre.SemanticProcessor.computeColumns_(a);sre.SemanticProcessor.classifyByColumns_(a,b,"EQUALITY")||sre.SemanticProcessor.classifyByColumns_(a,b,"INEQUALITY",["EQUALITY"])||sre.SemanticProcessor.classifyByColumns_(a,b,"ARROW")}; +sre.SemanticProcessor.classifyByColumns_=function(a,b,c,d){d=function(a){return sre.SemanticProcessor.isPureRelation_(a,c)};var e=function(a){return sre.SemanticProcessor.isEndRelation_(a,c)||sre.SemanticProcessor.isPureRelation_(a,c)},f=function(a){return sre.SemanticProcessor.isEndRelation_(a,c,!0)||sre.SemanticProcessor.isPureRelation_(a,c)};return 3===b.length&&sre.SemanticProcessor.testColumns_(b,1,d)||2===b.length&&(sre.SemanticProcessor.testColumns_(b,1,e)||sre.SemanticProcessor.testColumns_(b, +0,f))?(a.role=sre.SemanticAttr.Role[c],!0):!1};sre.SemanticProcessor.isEndRelation_=function(a,b,c){c=c?a.childNodes.length-1:0;return sre.SemanticPred.isAttribute("type","RELSEQ")(a)&&sre.SemanticPred.isAttribute("role",b)(a)&&sre.SemanticPred.isAttribute("type","EMPTY")(a.childNodes[c])};sre.SemanticProcessor.isPureRelation_=function(a,b){return sre.SemanticPred.isAttribute("type","RELATION")(a)&&sre.SemanticPred.isAttribute("role",b)(a)}; +sre.SemanticProcessor.computeColumns_=function(a){for(var b=[],c=0,d;d=a.childNodes[c];c++)for(var e=0,f;f=d.childNodes[e];e++)b[e]?b[e].push(f):b[e]=[f];return b};sre.SemanticProcessor.testColumns_=function(a,b,c){return(a=a[b])?a.some(function(a){return a.childNodes.length&&c(a.childNodes[0])})&&a.every(function(a){return!a.childNodes.length||c(a.childNodes[0])}):!1}; +sre.SemanticProcessor.MATHJAX_FONTS={"-tex-caligraphic":sre.SemanticAttr.Font.CALIGRAPHIC,"-tex-caligraphic-bold":sre.SemanticAttr.Font.CALIGRAPHICBOLD,"-tex-oldstyle":sre.SemanticAttr.Font.OLDSTYLE,"-tex-oldstyle-bold":sre.SemanticAttr.Font.OLDSTYLEBOLD,"-tex-mathit":sre.SemanticAttr.Font.ITALIC};sre.SemanticProcessor.prototype.font=function(a){var b=sre.SemanticProcessor.MATHJAX_FONTS[a];return b?b:a};sre.SemanticMathml=function(){sre.SemanticAbstractParser.call(this,"MathML");this.parseMap_={SEMANTICS:goog.bind(this.semantics_,this),MATH:goog.bind(this.rows_,this),MROW:goog.bind(this.rows_,this),MPADDED:goog.bind(this.rows_,this),MSTYLE:goog.bind(this.rows_,this),MFRAC:goog.bind(this.fraction_,this),MSUB:goog.bind(this.limits_,this),MSUP:goog.bind(this.limits_,this),MSUBSUP:goog.bind(this.limits_,this),MOVER:goog.bind(this.limits_,this),MUNDER:goog.bind(this.limits_,this),MUNDEROVER:goog.bind(this.limits_, +this),MROOT:goog.bind(this.root_,this),MSQRT:goog.bind(this.sqrt_,this),MTABLE:goog.bind(this.table_,this),MLABELEDTR:goog.bind(this.tableLabeledRow_,this),MTR:goog.bind(this.tableRow_,this),MTD:goog.bind(this.tableCell_,this),MS:goog.bind(this.text_,this),MTEXT:goog.bind(this.text_,this),"ANNOTATION-XML":goog.bind(this.text_,this),MI:goog.bind(this.identifier_,this),MN:goog.bind(this.number_,this),MO:goog.bind(this.operator_,this),MFENCED:goog.bind(this.fenced_,this),MENCLOSE:goog.bind(this.enclosed_, +this),MMULTISCRIPTS:goog.bind(this.multiscripts_,this),ANNOTATION:goog.bind(this.empty_,this),NONE:goog.bind(this.empty_,this),MACTION:goog.bind(this.action_,this)}};goog.inherits(sre.SemanticMathml,sre.SemanticAbstractParser); +sre.SemanticMathml.prototype.parse=function(a){sre.SemanticProcessor.getInstance().setNodeFactory(this.getFactory());var b=sre.DomUtil.toArray(a.childNodes),c=sre.DomUtil.tagName(a),d=this.parseMap_[c];b=(d?d:goog.bind(this.dummy_,this))(a,b);if(-1!==["MATH","MROW","MPADDED","MSTYLE","SEMANTICS"].indexOf(c))return b;b.mathml.unshift(a);b.mathmlTree=a;return b};sre.SemanticMathml.prototype.parseNodes_=function(a){for(var b=[],c=0,d;d=a[c];c++)b.push(this.parse(d));return b}; +sre.SemanticMathml.prototype.semantics_=function(a,b){return b.length?this.parse(b[0]):this.getFactory().makeEmptyNode()};sre.SemanticMathml.prototype.rows_=function(a,b){b=sre.SemanticUtil.purgeNodes(b);b=1===b.length?this.parse(b[0]):sre.SemanticProcessor.getInstance().row(this.parseNodes_(b));b.mathml.unshift(a);return b};sre.SemanticMathml.prototype.fraction_=function(a,b){return sre.SemanticProcessor.getInstance().fractionLikeNode(a.getAttribute("linethickness"),this.parse(b[0]),this.parse(b[1]))}; +sre.SemanticMathml.prototype.limits_=function(a,b){return sre.SemanticProcessor.getInstance().limitNode(sre.DomUtil.tagName(a),this.parseNodes_(b))};sre.SemanticMathml.prototype.root_=function(a,b){return this.getFactory().makeBranchNode(sre.SemanticAttr.Type.ROOT,[this.parse(b[1]),this.parse(b[0])],[])}; +sre.SemanticMathml.prototype.sqrt_=function(a,b){a=this.parseNodes_(sre.SemanticUtil.purgeNodes(b));return this.getFactory().makeBranchNode(sre.SemanticAttr.Type.SQRT,[sre.SemanticProcessor.getInstance().row(a)],[])};sre.SemanticMathml.prototype.table_=function(a,b){a=this.getFactory().makeBranchNode(sre.SemanticAttr.Type.TABLE,this.parseNodes_(b),[]);sre.SemanticProcessor.tableToMultiline(a);return a}; +sre.SemanticMathml.prototype.tableRow_=function(a,b){a=this.getFactory().makeBranchNode(sre.SemanticAttr.Type.ROW,this.parseNodes_(b),[]);a.role=sre.SemanticAttr.Role.TABLE;return a};sre.SemanticMathml.prototype.tableLabeledRow_=function(a,b){if(!b.length)return this.tableRow_(a,b);a=this.parse(b[0]);a.role=sre.SemanticAttr.Role.LABEL;b=this.getFactory().makeBranchNode(sre.SemanticAttr.Type.ROW,this.parseNodes_(b.slice(1)),[a]);b.role=sre.SemanticAttr.Role.TABLE;return b}; +sre.SemanticMathml.prototype.tableCell_=function(a,b){a=this.parseNodes_(sre.SemanticUtil.purgeNodes(b));a=a.length?1===a.length&&sre.SemanticPred.isAttribute("type","EMPTY")(a[0])?a:[sre.SemanticProcessor.getInstance().row(a)]:[];a=this.getFactory().makeBranchNode(sre.SemanticAttr.Type.CELL,a,[]);a.role=sre.SemanticAttr.Role.TABLE;return a}; +sre.SemanticMathml.prototype.text_=function(a,b){return sre.SemanticProcessor.getInstance().text(a.textContent,sre.SemanticProcessor.getInstance().font(a.getAttribute("mathvariant")),sre.DomUtil.tagName(a))};sre.SemanticMathml.prototype.identifier_=function(a,b){return sre.SemanticProcessor.getInstance().identifierNode(a.textContent,sre.SemanticProcessor.getInstance().font(a.getAttribute("mathvariant")),a.getAttribute("class"))}; +sre.SemanticMathml.prototype.number_=function(a,b){a=this.leaf_(a);sre.SemanticProcessor.number(a);return a};sre.SemanticMathml.prototype.operator_=function(a,b){a=this.leaf_(a);a.type===sre.SemanticAttr.Type.UNKNOWN&&(a.type=sre.SemanticAttr.Type.OPERATOR);return a}; +sre.SemanticMathml.prototype.fenced_=function(a,b){b=this.parseNodes_(sre.SemanticUtil.purgeNodes(b));var c=sre.SemanticMathml.getAttribute_(a,"separators",","),d=sre.SemanticMathml.getAttribute_(a,"open","(");a=sre.SemanticMathml.getAttribute_(a,"close",")");a=sre.SemanticProcessor.getInstance().mfenced(d,a,c,b);return sre.SemanticProcessor.getInstance().tablesInRow([a])[0]}; +sre.SemanticMathml.prototype.enclosed_=function(a,b){b=this.parseNodes_(sre.SemanticUtil.purgeNodes(b));b=this.getFactory().makeBranchNode(sre.SemanticAttr.Type.ENCLOSE,[sre.SemanticProcessor.getInstance().row(b)],[]);b.role=a.getAttribute("notation")||sre.SemanticAttr.Role.UNKNOWN;return b}; +sre.SemanticMathml.prototype.multiscripts_=function(a,b){if(!b.length)return this.getFactory().makeEmptyNode();a=this.parse(b.shift());if(!b.length)return a;for(var c=[],d=[],e=[],f=[],g=!1,h=0,k=0,l;l=b[k];k++)"MPRESCRIPTS"===sre.DomUtil.tagName(l)?(g=!0,h=0):(g?h&1?c.push(l):d.push(l):h&1?e.push(l):f.push(l),h++);return sre.SemanticUtil.purgeNodes(c).length||sre.SemanticUtil.purgeNodes(d).length?sre.SemanticProcessor.getInstance().tensor(a,this.parseNodes_(d),this.parseNodes_(c),this.parseNodes_(f), +this.parseNodes_(e)):sre.SemanticProcessor.getInstance().pseudoTensor(a,this.parseNodes_(f),this.parseNodes_(e))};sre.SemanticMathml.prototype.empty_=function(a,b){return this.getFactory().makeEmptyNode()};sre.SemanticMathml.prototype.action_=function(a,b){return 1<b.length?this.parse(b[1]):this.getFactory().makeUnprocessed(a)};sre.SemanticMathml.prototype.dummy_=function(a,b){return this.getFactory().makeUnprocessed(a)}; +sre.SemanticMathml.prototype.leaf_=function(a){return this.getFactory().makeLeafNode(a.textContent,sre.SemanticProcessor.getInstance().font(a.getAttribute("mathvariant")))};sre.SemanticMathml.getAttribute_=function(a,b,c){if(!a.hasAttribute(b))return c;a=a.getAttribute(b);return a.match(/^\s*$/)?null:a};sre.SemanticTree=function(a){this.mathml=a;this.parser=new sre.SemanticMathml;this.root=this.parser.parse(a)};sre.SemanticTree.empty=function(){var a=sre.DomUtil.parseInput("<math/>"),b=new sre.SemanticTree(a);b.mathml=a;return b};sre.SemanticTree.fromNode=function(a,b){var c=sre.SemanticTree.empty();c.root=a;b&&(c.mathml=b);return c};sre.SemanticTree.fromRoot=function(a,b){for(;a.parent;)a=a.parent;a=sre.SemanticTree.fromNode(a);b&&(a.mathml=b);return a}; +sre.SemanticTree.prototype.xml=function(a){var b=sre.DomUtil.parseInput("<stree></stree>");a=this.root.xml(b.ownerDocument,a);b.appendChild(a);return b};sre.SemanticTree.prototype.toString=function(a){return(new sre.SystemExternal.xmldom.XMLSerializer).serializeToString(this.xml(a))};sre.SemanticTree.prototype.formatXml=function(a){a=this.toString(a);return sre.DomUtil.formatXml(a)};sre.SemanticTree.prototype.displayTree=function(){this.root.displayTree(0)}; +sre.SemanticTree.prototype.replaceNode=function(a,b){var c=a.parent;c?c.replaceChild(a,b):this.root=b};sre.Semantic={};sre.Semantic.Font=sre.SemanticAttr.Font;sre.Semantic.Role=sre.SemanticAttr.Role;sre.Semantic.Type=sre.SemanticAttr.Type;sre.Semantic.xmlTree=function(a){return sre.Semantic.getTree(a).xml()};sre.Semantic.getTree=function(a){return new sre.SemanticTree(a)};sre.Semantic.getTreeFromString=function(a){a=sre.DomUtil.parseInput(a);return sre.Semantic.getTree(a)};sre.SemanticSkeleton=function(a){this.array=a=0===a?a:a||[];this.levelsMap=this.parents=null};sre.SemanticSkeleton.prototype.populate=function(){this.parents&&this.levelsMap||(this.parents={},this.levelsMap={},this.populate_(this.array,this.array,[]))}; +sre.SemanticSkeleton.prototype.populate_=function(a,b,c){if(sre.SemanticSkeleton.simpleCollapseStructure(a))this.levelsMap[a]=b,this.parents[a]=a===c[0]?c.slice(1):c;else{b=sre.SemanticSkeleton.contentCollapseStructure(a)?a.slice(1):a;c=[b[0]].concat(c);for(var d=0,e=b.length;d<e;d++)this.populate_(b[d],a,c)}};sre.SemanticSkeleton.prototype.toString=function(){return sre.SemanticSkeleton.makeSexp_(this.array)}; +sre.SemanticSkeleton.makeSexp_=function(a){return sre.SemanticSkeleton.simpleCollapseStructure(a)?a.toString():sre.SemanticSkeleton.contentCollapseStructure(a)?"(c "+a.slice(1).map(sre.SemanticSkeleton.makeSexp_).join(" ")+")":"("+a.map(sre.SemanticSkeleton.makeSexp_).join(" ")+")"};sre.SemanticSkeleton.fromTree=function(a){return sre.SemanticSkeleton.fromNode(a.root)};sre.SemanticSkeleton.fromNode=function(a){return new sre.SemanticSkeleton(sre.SemanticSkeleton.fromNode_(a))}; +sre.SemanticSkeleton.fromString=function(a){return new sre.SemanticSkeleton(sre.SemanticSkeleton.fromString_(a))};sre.SemanticSkeleton.fromString_=function(a){a=a.replace(/\(/g,"[");a=a.replace(/\)/g,"]");a=a.replace(/ /g,",");a=a.replace(/c/g,'"c"');return JSON.parse(a)}; +sre.SemanticSkeleton.fromNode_=function(a){if(!a)return[];var b=a.contentNodes;if(b.length){var c=b.map(sre.SemanticSkeleton.fromNode_);c.unshift("c")}var d=a.childNodes;if(!d.length)return b.length?[a.id,c]:a.id;d=d.map(sre.SemanticSkeleton.fromNode_);b.length&&d.unshift(c);d.unshift(a.id);return d};sre.SemanticSkeleton.simpleCollapseStructure=function(a){return"number"===typeof a}; +sre.SemanticSkeleton.contentCollapseStructure=function(a){return!!a&&!sre.SemanticSkeleton.simpleCollapseStructure(a)&&"c"===a[0]};sre.SemanticSkeleton.interleaveIds=function(a,b){return sre.BaseUtil.interleaveLists(sre.SemanticSkeleton.collapsedLeafs(a),sre.SemanticSkeleton.collapsedLeafs(b))}; +sre.SemanticSkeleton.collapsedLeafs=function(a){var b=function(a){return sre.SemanticSkeleton.simpleCollapseStructure(a)?[a]:sre.SemanticSkeleton.contentCollapseStructure(a[1])?a.slice(2):a.slice(1)};return Array.prototype.slice.call(arguments,0).reduce(function(a,d){return a.concat(b(d))},[])};sre.SemanticSkeleton.fromStructure=function(a){return new sre.SemanticSkeleton(sre.SemanticSkeleton.tree_(a.root))}; +sre.SemanticSkeleton.tree_=function(a){if(!a)return[];if(!a.childNodes.length)return a.id;var b=[a.id];a=sre.SemanticSkeleton.combineContentChildren(a,a.contentNodes.map(function(a){return a}),a.childNodes.map(function(a){return a}));for(var c=0,d;d=a[c];c++)b.push(sre.SemanticSkeleton.tree_(d));return b}; +sre.SemanticSkeleton.combineContentChildren=function(a,b,c){switch(a.type){case sre.Semantic.Type.RELSEQ:case sre.Semantic.Type.INFIXOP:case sre.Semantic.Type.MULTIREL:return sre.BaseUtil.interleaveLists(c,b);case sre.Semantic.Type.PREFIXOP:return b.concat(c);case sre.Semantic.Type.POSTFIXOP:return c.concat(b);case sre.Semantic.Type.FENCED:return c.unshift(b[0]),c.push(b[1]),c;case sre.Semantic.Type.APPL:return[c[0],b[0],c[1]];case sre.Semantic.Type.ROOT:return[c[1],c[0]];case sre.Semantic.Type.ROW:case sre.Semantic.Type.LINE:return b.length&& +c.unshift(b[0]),c;default:return c}};sre.EnrichMathml={};sre.EnrichMathml.Error=function(a){Error.call(this);this.message=a||"";this.name="MathML Enrichment Error"};goog.inherits(sre.EnrichMathml.Error,Error);sre.EnrichMathml.SETTINGS={collapsed:!0,implicit:!0};sre.EnrichMathml.ATTRIBUTE_PREFIX_="data-semantic-"; +sre.EnrichMathml.Attribute={ADDED:sre.EnrichMathml.ATTRIBUTE_PREFIX_+"added",ALTERNATIVE:sre.EnrichMathml.ATTRIBUTE_PREFIX_+"alternative",CHILDREN:sre.EnrichMathml.ATTRIBUTE_PREFIX_+"children",COLLAPSED:sre.EnrichMathml.ATTRIBUTE_PREFIX_+"collapsed",CONTENT:sre.EnrichMathml.ATTRIBUTE_PREFIX_+"content",EMBELLISHED:sre.EnrichMathml.ATTRIBUTE_PREFIX_+"embellished",FENCEPOINTER:sre.EnrichMathml.ATTRIBUTE_PREFIX_+"fencepointer",FONT:sre.EnrichMathml.ATTRIBUTE_PREFIX_+"font",ID:sre.EnrichMathml.ATTRIBUTE_PREFIX_+ +"id",OPERATOR:sre.EnrichMathml.ATTRIBUTE_PREFIX_+"operator",PARENT:sre.EnrichMathml.ATTRIBUTE_PREFIX_+"parent",PREFIX:sre.EnrichMathml.ATTRIBUTE_PREFIX_+"prefix",ROLE:sre.EnrichMathml.ATTRIBUTE_PREFIX_+"role",SPEECH:sre.EnrichMathml.ATTRIBUTE_PREFIX_+"speech",STRUCTURE:sre.EnrichMathml.ATTRIBUTE_PREFIX_+"structure",TYPE:sre.EnrichMathml.ATTRIBUTE_PREFIX_+"type"}; +sre.EnrichMathml.enrich=function(a,b){var c=a.cloneNode(!0);sre.EnrichMathml.walkTree(b.root);sre.Engine.getInstance().structure&&a.setAttribute(sre.EnrichMathml.Attribute.STRUCTURE,sre.SemanticSkeleton.fromStructure(b).toString());sre.Debugger.getInstance().generateOutput(function(){sre.EnrichMathml.formattedOutput(c,a,b,!0);return[]});return a}; +sre.EnrichMathml.walkTree=function(a){var b=sre.EnrichCaseFactory.getCase(a);if(b)return b=b.getMathml(),sre.EnrichMathml.ascendNewNode(b);if(1===a.mathml.length)return sre.Debugger.getInstance().output("Walktree Case 0"),b=a.mathml[0],sre.EnrichMathml.setAttributes(b,a),sre.EnrichMathml.ascendNewNode(b);b=a.contentNodes.map(sre.EnrichMathml.cloneContentNode);sre.EnrichMathml.setOperatorAttribute_(a,b);var c=a.childNodes.map(sre.EnrichMathml.walkTree);c=sre.SemanticSkeleton.combineContentChildren(a, +b,c);b=a.mathmlTree;if(null===b)sre.Debugger.getInstance().output("Walktree Case 1"),b=sre.EnrichMathml.introduceNewLayer(c);else{var d=sre.EnrichMathml.attachedElement_(c);sre.Debugger.getInstance().output("Walktree Case 2");d?(sre.Debugger.getInstance().output("Walktree Case 2.1"),b=d.parentNode):(sre.Debugger.getInstance().output("Walktree Case 2.2"),b=sre.EnrichMathml.getInnerNode(b))}b=sre.EnrichMathml.rewriteMfenced(b);sre.EnrichMathml.mergeChildren_(b,c);sre.EnrichMathml.setAttributes(b,a); +return sre.EnrichMathml.ascendNewNode(b)}; +sre.EnrichMathml.introduceNewLayer=function(a){var b=sre.EnrichMathml.mathmlLca_(a),c=b.node,d=b.type;d===sre.EnrichMathml.lcaType.VALID&&sre.SemanticUtil.hasEmptyTag(c)||(sre.Debugger.getInstance().output("Walktree Case 1.1"),c=sre.DomUtil.createElement("mrow"),d===sre.EnrichMathml.lcaType.PRUNED?(sre.Debugger.getInstance().output("Walktree Case 1.1.0"),c=sre.EnrichMathml.introduceLayerAboveLca(c,b.node,a)):a[0]&&(sre.Debugger.getInstance().output("Walktree Case 1.1.1"),b=sre.EnrichMathml.attachedElement_(a), +a=sre.EnrichMathml.childrenSubset_(b.parentNode,a),sre.DomUtil.replaceNode(b,c),a.forEach(function(a){c.appendChild(a)})));return c}; +sre.EnrichMathml.introduceLayerAboveLca=function(a,b,c){var d=sre.EnrichMathml.descendNode_(b);if(sre.SemanticUtil.hasMathTag(d)){sre.Debugger.getInstance().output("Walktree Case 1.1.0.0");sre.EnrichMathml.moveSemanticAttributes_(d,a);sre.DomUtil.toArray(d.childNodes).forEach(function(b){a.appendChild(b)});var e=a;a=d;d=e}b=c.indexOf(b);c[b]=d;sre.DomUtil.replaceNode(d,a);a.appendChild(d);c.forEach(function(b){a.appendChild(b)});return a}; +sre.EnrichMathml.moveSemanticAttributes_=function(a,b){for(var c in sre.EnrichMathml.Attribute){var d=sre.EnrichMathml.Attribute[c];a.hasAttribute(d)&&(b.setAttribute(d,a.getAttribute(d)),a.removeAttribute(d))}};sre.EnrichMathml.childrenSubset_=function(a,b){var c=sre.DomUtil.toArray(a.childNodes),d=Infinity,e=-Infinity;b.forEach(function(a){a=c.indexOf(a);-1!==a&&(d=Math.min(d,a),e=Math.max(e,a))});return c.slice(d,e+1)}; +sre.EnrichMathml.mergeChildren_=function(a,b){var c=a.childNodes;if(c.length)for(var d=0;b.length;)c[d]===b[0]||sre.EnrichMathml.functionApplication_(c[d],b[0])?(b.shift(),d++):c[d]&&-1===b.indexOf(c[d])?d++:(sre.EnrichMathml.isDescendant_(b[0],a)||a.insertBefore(b[0],c[d]||null),b.shift());else b.forEach(function(b){a.appendChild(b)})};sre.EnrichMathml.isDescendant_=function(a,b){if(!a)return!1;do if(a=a.parentNode,a===b)return!0;while(a);return!1}; +sre.EnrichMathml.functionApplication_=function(a,b){var c=sre.SemanticAttr.functionApplication();return a&&b&&a.textContent&&b.textContent&&a.textContent===c&&b.textContent===c&&"true"===b.getAttribute(sre.EnrichMathml.Attribute.ADDED)?(sre.DomUtil.replaceNode(a,b),!0):!1};sre.EnrichMathml.lcaType={VALID:"valid",INVALID:"invalid",PRUNED:"pruned"}; +sre.EnrichMathml.mathmlLca_=function(a){var b=sre.EnrichMathml.attachedElement_(a);if(!b)return{type:sre.EnrichMathml.lcaType.INVALID,node:null};var c=sre.EnrichMathml.attachedElement_(a.slice().reverse());if(b===c)return{type:sre.EnrichMathml.lcaType.VALID,node:b};b=sre.EnrichMathml.pathToRoot_(b);var d=sre.EnrichMathml.prunePath_(b,a);a=sre.EnrichMathml.pathToRoot_(c,function(a){return-1!==d.indexOf(a)});c=a[0];var e=d.indexOf(c);return-1===e?{type:sre.EnrichMathml.lcaType.INVALID,node:null}:{type:d.length!== +b.length?sre.EnrichMathml.lcaType.PRUNED:sre.EnrichMathml.validLca_(d[e+1],a[1])?sre.EnrichMathml.lcaType.VALID:sre.EnrichMathml.lcaType.INVALID,node:c}};sre.EnrichMathml.prunePath_=function(a,b){for(var c=0;a[c]&&-1===b.indexOf(a[c]);)c++;return a.slice(0,c+1)};sre.EnrichMathml.attachedElement_=function(a){for(var b=0,c=null;!c&&b<a.length;)a[b].parentNode&&(c=a[b]),b++;return c}; +sre.EnrichMathml.pathToRoot_=function(a,b){b=b||function(a){return!1};for(var c=[a];!b(a)&&!sre.SemanticUtil.hasMathTag(a)&&a.parentNode;)a=sre.EnrichMathml.parentNode_(a),c.unshift(a);return c};sre.EnrichMathml.validLca_=function(a,b){return!(!a||!b||a.previousSibling||b.nextSibling)};sre.EnrichMathml.ascendNewNode=function(a){for(;!sre.SemanticUtil.hasMathTag(a)&&sre.EnrichMathml.unitChild_(a);)a=sre.EnrichMathml.parentNode_(a);return a}; +sre.EnrichMathml.descendNode_=function(a){var b=sre.DomUtil.toArray(a.childNodes);if(!b)return a;b=b.filter(function(a){return a.nodeType===sre.DomUtil.NodeType.ELEMENT_NODE&&!sre.SemanticUtil.hasIgnoreTag(a)});return 1===b.length&&sre.SemanticUtil.hasEmptyTag(b[0])&&!b[0].hasAttribute(sre.EnrichMathml.Attribute.TYPE)?sre.EnrichMathml.descendNode_(b[0]):a}; +sre.EnrichMathml.unitChild_=function(a){var b=sre.EnrichMathml.parentNode_(a);return b&&sre.SemanticUtil.hasEmptyTag(b)?sre.DomUtil.toArray(b.childNodes).every(function(b){return b===a||sre.EnrichMathml.isIgnorable_(b)}):!1};sre.EnrichMathml.isIgnorable_=function(a){if(!a||sre.SemanticUtil.hasIgnoreTag(a))return!0;var b=sre.DomUtil.toArray(a.childNodes);return!sre.SemanticUtil.hasEmptyTag(a)&&b.length?!1:sre.DomUtil.toArray(a.childNodes).every(sre.EnrichMathml.isIgnorable_)}; +sre.EnrichMathml.parentNode_=function(a){return a.parentNode};sre.EnrichMathml.addCollapsedAttribute=function(a,b){b=new sre.SemanticSkeleton(b);a.setAttribute(sre.EnrichMathml.Attribute.COLLAPSED,b.toString())};sre.EnrichMathml.cloneContentNode=function(a){if(a.mathml.length)return sre.EnrichMathml.walkTree(a);var b=sre.EnrichMathml.SETTINGS.implicit?sre.EnrichMathml.createInvisibleOperator_(a):sre.DomUtil.createElement("mrow");a.mathml=[b];return b};sre.EnrichMathml.makeIdList=function(a){return a.map(function(a){return a.id}).join(",")}; +sre.EnrichMathml.setAttributes=function(a,b){a.setAttribute(sre.EnrichMathml.Attribute.TYPE,b.type);a.setAttribute(sre.EnrichMathml.Attribute.ROLE,b.role);b.font!=sre.Semantic.Font.UNKNOWN&&a.setAttribute(sre.EnrichMathml.Attribute.FONT,b.font);a.setAttribute(sre.EnrichMathml.Attribute.ID,b.id);b.childNodes.length&&a.setAttribute(sre.EnrichMathml.Attribute.CHILDREN,sre.EnrichMathml.makeIdList(b.childNodes));b.contentNodes.length&&a.setAttribute(sre.EnrichMathml.Attribute.CONTENT,sre.EnrichMathml.makeIdList(b.contentNodes)); +b.parent&&a.setAttribute(sre.EnrichMathml.Attribute.PARENT,b.parent.id);b.embellished&&a.setAttribute(sre.EnrichMathml.Attribute.EMBELLISHED,b.embellished);b.fencePointer&&a.setAttribute(sre.EnrichMathml.Attribute.FENCEPOINTER,b.fencePointer)}; +sre.EnrichMathml.combineContentChildren_=function(a,b,c){switch(a.type){case sre.Semantic.Type.RELSEQ:case sre.Semantic.Type.INFIXOP:case sre.Semantic.Type.MULTIREL:return sre.BaseUtil.interleaveLists(c,b);case sre.Semantic.Type.PREFIXOP:return b.concat(c);case sre.Semantic.Type.POSTFIXOP:return c.concat(b);case sre.Semantic.Type.FENCED:return c.unshift(b[0]),c.push(b[1]),c;case sre.Semantic.Type.APPL:return[c[0],b[0],c[1]];case sre.Semantic.Type.ROOT:return[c[1],c[0]];case sre.Semantic.Type.ROW:case sre.Semantic.Type.LINE:return b.length&& +c.unshift(b[0]),c;default:return c}};sre.EnrichMathml.rewriteMfenced=function(a){if("MFENCED"!==sre.DomUtil.tagName(a))return a;for(var b=sre.DomUtil.createElement("mrow"),c=0,d;d=a.attributes[c];c++)-1===["open","close","separators"].indexOf(d.name)&&b.setAttribute(d.name,d.value);sre.DomUtil.toArray(a.childNodes).forEach(function(a){b.appendChild(a)});sre.DomUtil.replaceNode(a,b);return b}; +sre.EnrichMathml.createInvisibleOperator_=function(a){var b=sre.DomUtil.createElement("mo"),c=sre.DomUtil.createTextNode(a.textContent);b.appendChild(c);sre.EnrichMathml.setAttributes(b,a);b.setAttribute(sre.EnrichMathml.Attribute.ADDED,"true");return b};sre.EnrichMathml.setOperatorAttribute_=function(a,b){var c=a.type+(a.textContent?","+a.textContent:"");b.forEach(function(a){sre.EnrichMathml.getInnerNode(a).setAttribute(sre.EnrichMathml.Attribute.OPERATOR,c)})}; +sre.EnrichMathml.getInnerNode=function(a){var b=sre.DomUtil.toArray(a.childNodes);if(!b)return a;b=b.filter(function(a){return a.nodeType===sre.DomUtil.NodeType.ELEMENT_NODE&&!sre.EnrichMathml.isIgnorable_(a)});for(var c=[],d=0,e;e=b[d];d++)if(sre.SemanticUtil.hasEmptyTag(e)){var f=sre.EnrichMathml.getInnerNode(e);f&&f!==e&&c.push(f)}else c.push(e);return 1===c.length?c[0]:a}; +sre.EnrichMathml.formattedOutput=function(a,b,c,d){d=d||!1;sre.EnrichMathml.formattedOutput_(a,"Original MathML",d);sre.EnrichMathml.formattedOutput_(c,"Semantic Tree",d);sre.EnrichMathml.formattedOutput_(b,"Semantically enriched MathML",d)};sre.EnrichMathml.formattedOutput_=function(a,b,c){a=sre.DomUtil.formatXml(a.toString());c?console.log(b+":\n```html\n"+sre.EnrichMathml.removeAttributePrefix(a)+"\n```\n"):console.log(a)}; +sre.EnrichMathml.removeAttributePrefix=function(a){return a.toString().replace(new RegExp(sre.EnrichMathml.ATTRIBUTE_PREFIX_,"g"),"")};sre.EnrichMathml.collapsePunctuated=function(a,b){var c=!!b;b=b||[];var d=a.parent,e=a.contentNodes.map(function(a){return a.id});e.unshift("c");e=[a.id,e];for(var f=0,g;g=a.childNodes[f];f++){var h=sre.EnrichMathml.walkTree(g);b.push(h);h=sre.EnrichMathml.getInnerNode(h);d&&!c&&h.setAttribute(sre.EnrichMathml.Attribute.PARENT,d.id);e.push(g.id)}return e}; +sre.EnrichMathml.printNodeList__=function(a,b){console.log(a);sre.DomUtil.toArray(b).forEach(function(a){console.log(a.toString())});console.log("<<<<<<<<<<<<<<<<<")};sre.CaseBinomial=function(a){sre.AbstractEnrichCase.call(this,a);this.mml=a.mathmlTree};goog.inherits(sre.CaseBinomial,sre.AbstractEnrichCase);sre.CaseBinomial.test=function(a){return!a.mathmlTree&&a.type===sre.SemanticAttr.Type.LINE&&a.role===sre.SemanticAttr.Role.BINOMIAL}; +sre.CaseBinomial.prototype.getMathml=function(){if(!this.semantic.childNodes.length)return this.mml;this.mml=sre.EnrichMathml.walkTree(this.semantic.childNodes[0]);if(this.mml.hasAttribute(sre.EnrichMathml.Attribute.TYPE)){var a=sre.DomUtil.createElement("mrow");a.setAttribute(sre.EnrichMathml.Attribute.ADDED,"true");sre.DomUtil.replaceNode(this.mml,a);a.appendChild(this.mml);this.mml=a}sre.EnrichMathml.setAttributes(this.mml,this.semantic);return this.mml};sre.CaseDoubleScript=function(a){sre.AbstractEnrichCase.call(this,a);this.mml=a.mathmlTree};goog.inherits(sre.CaseDoubleScript,sre.AbstractEnrichCase);sre.CaseDoubleScript.test=function(a){if(!a.mathmlTree||!a.childNodes.length)return!1;var b=sre.DomUtil.tagName(a.mathmlTree);a=a.childNodes[0].role;return"MSUBSUP"===b&&a===sre.SemanticAttr.Role.SUBSUP||"MUNDEROVER"===b&&a===sre.SemanticAttr.Role.UNDEROVER}; +sre.CaseDoubleScript.prototype.getMathml=function(){var a=this.semantic.childNodes[0],b=a.childNodes[0],c=this.semantic.childNodes[1],d=a.childNodes[1],e=sre.EnrichMathml.walkTree(c),f=sre.EnrichMathml.walkTree(b),g=sre.EnrichMathml.walkTree(d);sre.EnrichMathml.setAttributes(this.mml,this.semantic);this.mml.setAttribute(sre.EnrichMathml.Attribute.CHILDREN,sre.EnrichMathml.makeIdList([b,d,c]));[f,g,e].forEach(goog.bind(function(a){sre.EnrichMathml.getInnerNode(a).setAttribute(sre.EnrichMathml.Attribute.PARENT, +this.mml.getAttribute(sre.EnrichMathml.Attribute.ID))},this));this.mml.setAttribute(sre.EnrichMathml.Attribute.TYPE,a.role);sre.EnrichMathml.addCollapsedAttribute(this.mml,[this.semantic.id,[a.id,b.id,d.id],c.id]);return this.mml};sre.CaseMultiindex=function(a){sre.AbstractEnrichCase.call(this,a);this.mml=a.mathmlTree};goog.inherits(sre.CaseMultiindex,sre.AbstractEnrichCase); +sre.CaseMultiindex.prototype.completeMultiscript=function(a,b){var c=sre.DomUtil.toArray(this.mml.childNodes).slice(1),d=0,e=goog.bind(function(a){for(var b=0,e;e=a[b];b++){var f=c[d];if(f&&e==sre.EnrichMathml.getInnerNode(f).getAttribute(sre.EnrichMathml.Attribute.ID))sre.EnrichMathml.getInnerNode(f).setAttribute(sre.EnrichMathml.Attribute.PARENT,this.semantic.id),d++;else{var l=this.semantic.querySelectorAll(function(a){return a.id===e});this.mml.insertBefore(sre.CaseMultiindex.createNone_(l[0]), +f||null)}}},this);e(a);c[d]&&"MPRESCRIPTS"!==sre.DomUtil.tagName(c[d])?this.mml.insertBefore(c[d],sre.DomUtil.createElement("mprescripts")):d++;e(b)};sre.CaseMultiindex.createNone_=function(a){var b=sre.DomUtil.createElement("none");a&&sre.EnrichMathml.setAttributes(b,a);b.setAttribute(sre.EnrichMathml.Attribute.ADDED,"true");return b}; +sre.CaseMultiindex.multiscriptIndex=function(a){if(a.type===sre.SemanticAttr.Type.PUNCTUATED&&a.contentNodes[0].role===sre.SemanticAttr.Role.DUMMY)return sre.EnrichMathml.collapsePunctuated(a);sre.EnrichMathml.walkTree(a);return a.id};sre.CaseMultiscripts=function(a){sre.CaseMultiindex.call(this,a)};goog.inherits(sre.CaseMultiscripts,sre.CaseMultiindex);sre.CaseMultiscripts.test=function(a){return a.mathmlTree?"MMULTISCRIPTS"===sre.DomUtil.tagName(a.mathmlTree)&&(a.type===sre.SemanticAttr.Type.SUPERSCRIPT||a.type===sre.SemanticAttr.Type.SUBSCRIPT):!1}; +sre.CaseMultiscripts.prototype.getMathml=function(){sre.EnrichMathml.setAttributes(this.mml,this.semantic);if(this.semantic.childNodes[0]&&this.semantic.childNodes[0].role===sre.SemanticAttr.Role.SUBSUP){var a=this.semantic.childNodes[0],b=a.childNodes[0],c=sre.CaseMultiindex.multiscriptIndex(this.semantic.childNodes[1]),d=sre.CaseMultiindex.multiscriptIndex(a.childNodes[1]),e=[this.semantic.id,[a.id,b.id,d],c];sre.EnrichMathml.addCollapsedAttribute(this.mml,e);this.mml.setAttribute(sre.EnrichMathml.Attribute.TYPE, +a.role);this.completeMultiscript(sre.SemanticSkeleton.interleaveIds(d,c),[])}else b=this.semantic.childNodes[0],c=sre.CaseMultiindex.multiscriptIndex(this.semantic.childNodes[1]),e=[this.semantic.id,b.id,c],sre.EnrichMathml.addCollapsedAttribute(this.mml,e);a=sre.SemanticSkeleton.collapsedLeafs(d||[],c);c=sre.EnrichMathml.walkTree(b);sre.EnrichMathml.getInnerNode(c).setAttribute(sre.EnrichMathml.Attribute.PARENT,this.semantic.id);a.unshift(b.id);this.mml.setAttribute(sre.EnrichMathml.Attribute.CHILDREN, +a.join(","));return this.mml};sre.CaseEmbellished=function(a){sre.AbstractEnrichCase.call(this,a);this.ofenceMml=this.ofence=this.fencedMml=this.fenced=null;this.ofenceMap={};this.cfenceMml=this.cfence=null;this.cfenceMap={};this.parentCleanup=[]};goog.inherits(sre.CaseEmbellished,sre.AbstractEnrichCase);sre.CaseEmbellished.test=function(a){return a.mathmlTree&&a.fencePointer};sre.CaseEmbellished.prototype.getMathml=function(){this.getFenced_();this.fencedMml=sre.EnrichMathml.walkTree(this.fenced);this.getFencesMml_();return this.rewrite_()}; +sre.CaseEmbellished.prototype.getFenced_=function(){for(var a=this.semantic;a.type!==sre.SemanticAttr.Type.FENCED;)a=a.childNodes[0];this.fenced=a.childNodes[0];this.ofence=a.contentNodes[0];this.cfence=a.contentNodes[1];sre.CaseEmbellished.fencedMap_(this.ofence,this.ofenceMap);sre.CaseEmbellished.fencedMap_(this.cfence,this.cfenceMap)};sre.CaseEmbellished.fencedMap_=function(a,b){b[a.id]=a.mathmlTree;a.embellished&&sre.CaseEmbellished.fencedMap_(a.childNodes[0],b)}; +sre.CaseEmbellished.prototype.getFencesMml_=function(){for(var a=this.semantic,b=Object.keys(this.ofenceMap),c=Object.keys(this.cfenceMap);!(this.ofenceMml&&this.cfenceMml||a===this.fenced);)-1===b.indexOf(a.fencePointer)||this.ofenceMml||(this.ofenceMml=a.mathmlTree),-1===c.indexOf(a.fencePointer)||this.cfenceMml||(this.cfenceMml=a.mathmlTree),a=a.childNodes[0];this.ofenceMml||(this.ofenceMml=this.ofence.mathmlTree);this.cfenceMml||(this.cfenceMml=this.cfence.mathmlTree);this.ofenceMml&&(this.ofenceMml= +sre.EnrichMathml.ascendNewNode(this.ofenceMml));this.cfenceMml&&(this.cfenceMml=sre.EnrichMathml.ascendNewNode(this.cfenceMml))}; +sre.CaseEmbellished.prototype.rewrite_=function(){var a=this.semantic,b=null,c=this.introduceNewLayer_();for(sre.EnrichMathml.setAttributes(c,this.fenced.parent);a.type!==sre.SemanticAttr.Type.FENCED;){var d=a.mathmlTree,e=this.specialCase_(a,d);if(e)a=e;else{sre.EnrichMathml.setAttributes(d,a);e=[];for(var f=1,g;g=a.childNodes[f];f++)e.push(sre.EnrichMathml.walkTree(g));a=a.childNodes[0]}e=sre.DomUtil.createElement("dummy");f=c.parentNode;g=d.childNodes[0];sre.DomUtil.replaceNode(d,e);sre.DomUtil.replaceNode(c, +d);sre.DomUtil.replaceNode(d.childNodes[0],c);sre.DomUtil.replaceNode(e,g);d.parentNode=f;c=d.childNodes[0];b||(b=d)}sre.EnrichMathml.walkTree(this.ofence);sre.EnrichMathml.walkTree(this.cfence);this.cleanupParents_();return b||c}; +sre.CaseEmbellished.prototype.specialCase_=function(a,b){var c=sre.DomUtil.tagName(b),d=null;if("MSUBSUP"===c){d=a.childNodes[0];var e=sre.CaseDoubleScript}else"MMULTISCRIPTS"===c&&(a.type===sre.SemanticAttr.Type.SUPERSCRIPT||a.type===sre.SemanticAttr.Type.SUBSCRIPT?e=sre.CaseMultiscripts:a.type===sre.SemanticAttr.Type.TENSOR&&(e=sre.CaseTensor),d=e&&a.childNodes[0]&&a.childNodes[0].role===sre.SemanticAttr.Role.SUBSUP?a.childNodes[0]:a);if(!d)return null;c=d.childNodes[0];b=sre.CaseEmbellished.makeEmptyNode_(c.id); +d.childNodes[0]=b;b=(new e(a)).getMathml();d.childNodes[0]=c;this.parentCleanup.push(b);return d.childNodes[0]};sre.CaseEmbellished.makeEmptyNode_=function(a){var b=sre.DomUtil.createElement("mrow");a=new sre.SemanticNode(a);a.type=sre.SemanticAttr.Type.EMPTY;a.mathmlTree=b;return a}; +sre.CaseEmbellished.prototype.introduceNewLayer_=function(){var a=this.fullFence(this.ofenceMml),b=this.fullFence(this.cfenceMml),c=sre.DomUtil.createElement("mrow");sre.DomUtil.replaceNode(this.fencedMml,c);c.appendChild(this.fencedMml);c.insertBefore(a,this.fencedMml);c.appendChild(b);if(!c.parentNode){for(a=sre.DomUtil.createElement("mrow");0<c.childNodes.length;)a.appendChild(c.childNodes[0]);c.appendChild(a);c=a}return c}; +sre.CaseEmbellished.prototype.fullFence=function(a){for(var b=this.fencedMml.parentNode;a.parentNode&&a.parentNode!==b;)a=a.parentNode;return a};sre.CaseEmbellished.prototype.cleanupParents_=function(){this.parentCleanup.forEach(function(a){var b=a.childNodes[1].getAttribute(sre.EnrichMathml.Attribute.PARENT);a.childNodes[0].setAttribute(sre.EnrichMathml.Attribute.PARENT,b)})};sre.CaseLine=function(a){sre.AbstractEnrichCase.call(this,a);this.mml=a.mathmlTree};goog.inherits(sre.CaseLine,sre.AbstractEnrichCase);sre.CaseLine.test=function(a){return a.mathmlTree&&a.type===sre.SemanticAttr.Type.LINE}; +sre.CaseLine.prototype.getMathml=function(){this.semantic.contentNodes.length&&sre.EnrichMathml.walkTree(this.semantic.contentNodes[0]);this.semantic.childNodes.length&&sre.EnrichMathml.walkTree(this.semantic.childNodes[0]);sre.EnrichMathml.setAttributes(this.mml,this.semantic);return this.mml};sre.CaseTable=function(a){sre.AbstractEnrichCase.call(this,a);this.mml=a.mathmlTree;this.inner=[]};goog.inherits(sre.CaseTable,sre.AbstractEnrichCase);sre.CaseTable.test=function(a){return a.mathmlTree&&(a.type===sre.SemanticAttr.Type.MATRIX||a.type===sre.SemanticAttr.Type.VECTOR||a.type===sre.SemanticAttr.Type.CASES)}; +sre.CaseTable.prototype.getMathml=function(){var a=sre.EnrichMathml.cloneContentNode(this.semantic.contentNodes[0]),b=this.semantic.contentNodes[1]?sre.EnrichMathml.cloneContentNode(this.semantic.contentNodes[1]):null;this.inner=this.semantic.childNodes.map(sre.EnrichMathml.walkTree);"MFENCED"===sre.DomUtil.tagName(this.mml)?(this.mml.insertBefore(a,this.mml.childNodes[0]||null),b&&this.mml.appendChild(b),this.mml=sre.EnrichMathml.rewriteMfenced(this.mml)):(a=[a,this.mml],b&&a.push(b),this.mml=sre.EnrichMathml.introduceNewLayer(a)); +sre.EnrichMathml.setAttributes(this.mml,this.semantic);return this.mml};sre.CaseTensor=function(a){sre.CaseMultiindex.call(this,a)};goog.inherits(sre.CaseTensor,sre.CaseMultiindex);sre.CaseTensor.test=function(a){return a.mathmlTree&&a.type===sre.SemanticAttr.Type.TENSOR}; +sre.CaseTensor.prototype.getMathml=function(){sre.EnrichMathml.walkTree(this.semantic.childNodes[0]);var a=sre.CaseMultiindex.multiscriptIndex(this.semantic.childNodes[1]),b=sre.CaseMultiindex.multiscriptIndex(this.semantic.childNodes[2]),c=sre.CaseMultiindex.multiscriptIndex(this.semantic.childNodes[3]),d=sre.CaseMultiindex.multiscriptIndex(this.semantic.childNodes[4]);sre.EnrichMathml.setAttributes(this.mml,this.semantic);sre.EnrichMathml.addCollapsedAttribute(this.mml,[this.semantic.id,this.semantic.childNodes[0].id, +a,b,c,d]);var e=sre.SemanticSkeleton.collapsedLeafs(a,b,c,d);e.unshift(this.semantic.childNodes[0].id);this.mml.setAttribute(sre.EnrichMathml.Attribute.CHILDREN,e.join(","));this.completeMultiscript(sre.SemanticSkeleton.interleaveIds(c,d),sre.SemanticSkeleton.interleaveIds(a,b));return this.mml};sre.CaseText=function(a){sre.AbstractEnrichCase.call(this,a);this.mml=a.mathmlTree};goog.inherits(sre.CaseText,sre.AbstractEnrichCase);sre.CaseText.test=function(a){return a.type===sre.SemanticAttr.Type.PUNCTUATED&&a.role===sre.SemanticAttr.Role.TEXT}; +sre.CaseText.prototype.getMathml=function(){var a=[],b=sre.EnrichMathml.collapsePunctuated(this.semantic,a);this.mml=sre.EnrichMathml.introduceNewLayer(a);sre.EnrichMathml.setAttributes(this.mml,this.semantic);this.mml.removeAttribute(sre.EnrichMathml.Attribute.CONTENT);sre.EnrichMathml.addCollapsedAttribute(this.mml,b);return this.mml};sre.EnrichCases=function(){};sre.EnrichCaseFactory.cases.push({test:sre.CaseEmbellished.test,constr:sre.CaseEmbellished},{test:sre.CaseDoubleScript.test,constr:sre.CaseDoubleScript},{test:sre.CaseTensor.test,constr:sre.CaseTensor},{test:sre.CaseMultiscripts.test,constr:sre.CaseMultiscripts},{test:sre.CaseLine.test,constr:sre.CaseLine},{test:sre.CaseBinomial.test,constr:sre.CaseBinomial},{test:sre.CaseTable.test,constr:sre.CaseTable},{test:sre.CaseText.test,constr:sre.CaseText});sre.Enrich={};sre.Enrich.semanticMathmlNode=function(a){a=a.cloneNode(!0);var b=sre.Semantic.getTree(a);return sre.EnrichMathml.enrich(a,b)};sre.Enrich.semanticMathmlSync=function(a){a=sre.DomUtil.parseInput(a);return sre.Enrich.semanticMathmlNode(a)};sre.Enrich.semanticMathml=function(a,b){if(sre.Engine.isReady()){var c=sre.DomUtil.parseInput(a);b(sre.Enrich.semanticMathmlNode(c))}else setTimeout(function(){sre.Enrich.semanticMathml(a,b)},500)}; +sre.Enrich.testTranslation__=function(a){new sre.EnrichCases;sre.Debugger.getInstance().init();a=sre.Enrich.semanticMathmlSync(sre.Enrich.prepareMmlString(a)).toString();sre.EnrichMathml.removeAttributePrefix(a);sre.Debugger.getInstance().exit();return a};sre.Enrich.prepareMmlString=function(a){a.match(/^<math/)||(a="<math>"+a);a.match(/\/math>$/)||(a+="</math>");return a};sre.ColorPicker=function(a,b){this.foreground=sre.ColorPicker.getChannelColor_(b,sre.ColorPicker.DEFAULT_FOREGROUND_);this.background=sre.ColorPicker.getChannelColor_(a,sre.ColorPicker.DEFAULT_BACKGROUND_)};sre.ColorPicker.DEFAULT_BACKGROUND_="blue";sre.ColorPicker.DEFAULT_FOREGROUND_="black"; +sre.ColorPicker.namedColors_={red:{red:255,green:0,blue:0},green:{red:0,green:255,blue:0},blue:{red:0,green:0,blue:255},yellow:{red:255,green:255,blue:0},cyan:{red:0,green:255,blue:255},magenta:{red:255,green:0,blue:255},white:{red:255,green:255,blue:255},black:{red:0,green:0,blue:0}};sre.ColorPicker.getChannelColor_=function(a,b){a=a||{color:b};var c=a.color?sre.ColorPicker.namedColors_[a.color]:a;c||(c=sre.ColorPicker.namedColors_[b]);c.alpha=a.hasOwnProperty("alpha")?a.alpha:1;return sre.ColorPicker.normalizeColor_(c)}; +sre.ColorPicker.normalizeColor_=function(a){var b=function(a){a=Math.max(a,0);a=Math.min(255,a);return Math.round(a)};a.red=b(a.red);a.green=b(a.green);a.blue=b(a.blue);a.alpha=Math.max(a.alpha,0);a.alpha=Math.min(1,a.alpha);return a};sre.ColorPicker.prototype.rgba=function(){var a=function(a){return"rgba("+a.red+","+a.green+","+a.blue+","+a.alpha+")"};return{background:a(this.background),foreground:a(this.foreground)}}; +sre.ColorPicker.prototype.rgb=function(){var a=function(a){return"rgb("+a.red+","+a.green+","+a.blue+")"};return{background:a(this.background),alphaback:this.background.alpha.toString(),foreground:a(this.foreground),alphafore:this.foreground.alpha.toString()}}; +sre.ColorPicker.prototype.hex=function(){var a=function(a){return"#"+sre.ColorPicker.toHex_(a.red)+sre.ColorPicker.toHex_(a.green)+sre.ColorPicker.toHex_(a.blue)};return{background:a(this.background),alphaback:this.background.alpha.toString(),foreground:a(this.foreground),alphafore:this.foreground.alpha.toString()}};sre.ColorPicker.toHex_=function(a){a=a.toString(16);return 1===a.length?"0"+a:a};sre.Highlighter=function(){};sre.Highlighter.prototype.highlight=function(a){};sre.Highlighter.prototype.unhighlight=function(){};sre.Highlighter.prototype.highlightAll=function(a){};sre.Highlighter.prototype.unhighlightAll=function(){};sre.Highlighter.prototype.setColor=function(a){};sre.Highlighter.prototype.addEvents=function(a,b){};sre.AbstractHighlighter=function(){this.currentHighlights_=[];this.color=null;this.mactionName="";this.state_={}};sre.AbstractHighlighter.prototype.highlight=function(a){this.currentHighlights_.push(a.map(goog.bind(function(a){return this.highlightNode(a)},this)))};sre.AbstractHighlighter.prototype.highlightNode=goog.abstractMethod;sre.AbstractHighlighter.prototype.highlightAll=function(a){a=this.getMactionNodes(a);for(var b=0,c;c=a[b];b++)this.highlight([c])}; +sre.AbstractHighlighter.prototype.unhighlight=function(){var a=this.currentHighlights_.pop();a&&a.forEach(goog.bind(function(a){return this.unhighlightNode(a)},this))};sre.AbstractHighlighter.prototype.unhighlightNode=goog.abstractMethod;sre.AbstractHighlighter.prototype.unhighlightAll=function(){for(;0<this.currentHighlights_.length;)this.unhighlight()};sre.AbstractHighlighter.prototype.setColor=function(a){this.color=a};sre.AbstractHighlighter.prototype.colorString=function(){return this.color.rgba()}; +sre.AbstractHighlighter.prototype.addEvents=function(a,b){a=this.getMactionNodes(a);for(var c=0,d;d=a[c];c++)for(var e in b)d.addEventListener(e,b[e])};sre.AbstractHighlighter.prototype.getMactionNodes=function(a){return a.getElementsByClassName(this.mactionName)};sre.AbstractHighlighter.prototype.isMactionNode=function(a){return(a=a.className||a.getAttribute("class"))?a.match(new RegExp(this.mactionName)):!1};sre.AbstractHighlighter.prototype.resetState=function(a){delete this.state_[a]}; +sre.AbstractHighlighter.prototype.setState=function(a,b){this.state_[a]=b};sre.AbstractHighlighter.prototype.getState=function(a){return this.state_[a]};sre.CssHighlighter=function(){sre.AbstractHighlighter.call(this);this.mactionName="mjx-maction"};goog.inherits(sre.CssHighlighter,sre.AbstractHighlighter);sre.CssHighlighter.prototype.highlightNode=function(a){var b={node:a,background:a.style.backgroundColor,foreground:a.style.color},c=this.colorString();a.style.backgroundColor=c.background;a.style.color=c.foreground;return b};sre.CssHighlighter.prototype.unhighlightNode=function(a){a.node.style.backgroundColor=a.background;a.node.style.color=a.foreground};sre.HtmlHighlighter=function(){sre.AbstractHighlighter.call(this);this.mactionName="maction"};goog.inherits(sre.HtmlHighlighter,sre.AbstractHighlighter);sre.HtmlHighlighter.prototype.setMode=function(a){this.mode=a}; +sre.HtmlHighlighter.prototype.highlightNode=function(a){var b={node:a,foreground:a.style.color,position:a.style.position},c=this.color.rgb();a.style.color=c.foreground;a.style.position="relative";var d=a.bbox;if(d&&d.w){var e=document.createElement("span"),f=parseFloat(a.style.paddingLeft||"0");e.style.backgroundColor=c.background;e.style.opacity=c.alphaback.toString();e.style.display="inline-block";e.style.height=d.h+d.d+.1+"em";e.style.verticalAlign=-d.d+"em";e.style.marginTop=e.style.marginBottom= +"-0.05em";e.style.width=d.w+0+"em";e.style.marginLeft=f-0+"em";e.style.marginRight=-d.w-f+"em";a.parentNode.insertBefore(e,a);b.box=e}return b};sre.HtmlHighlighter.prototype.unhighlightNode=function(a){var b=a.node;b.style.color=a.foreground;b.style.position=a.position;a.box&&a.box.parentNode.removeChild(a.box)};sre.MmlCssHighlighter=function(){sre.CssHighlighter.call(this);this.mactionName="maction"};goog.inherits(sre.MmlCssHighlighter,sre.CssHighlighter);sre.MmlCssHighlighter.prototype.getMactionNodes=function(a){return a.getElementsByTagName(this.mactionName)};sre.MmlCssHighlighter.prototype.isMactionNode=function(a){return a.tagName===this.mactionName};sre.MmlHighlighter=function(){sre.AbstractHighlighter.call(this);this.mactionName="maction"};goog.inherits(sre.MmlHighlighter,sre.AbstractHighlighter);sre.MmlHighlighter.prototype.highlightNode=function(a){var b=a.getAttribute("style");b+=";background-color: "+this.colorString().background;b+=";color: "+this.colorString().foreground;a.setAttribute("style",b);return{node:a}}; +sre.MmlHighlighter.prototype.unhighlightNode=function(a){var b=a.node.getAttribute("style");b=b.replace(";background-color: "+this.colorString().background,"");b=b.replace(";color: "+this.colorString().foreground,"");a.node.setAttribute("style",b)};sre.MmlHighlighter.prototype.colorString=function(){return this.color.rgba()};sre.MmlHighlighter.prototype.getMactionNodes=function(a){return a.getElementsByTagName(this.mactionName)}; +sre.MmlHighlighter.prototype.isMactionNode=function(a){return a.tagName===this.mactionName};sre.SvgHighlighter=function(){sre.AbstractHighlighter.call(this);this.mactionName="mjx-svg-maction"};goog.inherits(sre.SvgHighlighter,sre.AbstractHighlighter); +sre.SvgHighlighter.prototype.highlightNode=function(a){if("svg"===a.tagName){var b={node:a,background:a.style.backgroundColor,foreground:a.style.color};a.style.backgroundColor=this.colorString().background;a.style.color=this.colorString().foreground;return b}b=document.createElementNS("http://www.w3.org/2000/svg","rect");if("use"===a.nodeName){var c=document.createElementNS("http://www.w3.org/2000/svg","g");a.parentNode.insertBefore(c,a);c.appendChild(a);var d=c.getBBox();c.parentNode.replaceChild(a, +c)}else d=a.getBBox();b.setAttribute("x",d.x-40);b.setAttribute("y",d.y-40);b.setAttribute("width",d.width+80);b.setAttribute("height",d.height+80);(d=a.getAttribute("transform"))&&b.setAttribute("transform",d);b.setAttribute("fill",this.colorString().background);a.parentNode.insertBefore(b,a);b={node:b,foreground:a.getAttribute("fill")};a.setAttribute("fill",this.colorString().foreground);return b}; +sre.SvgHighlighter.prototype.unhighlightNode=function(a){"background"in a?(a.node.style.backgroundColor=a.background,a.node.style.color=a.foreground):(a.foreground?a.node.nextSibling.setAttribute("fill",a.foreground):a.node.nextSibling.removeAttribute("fill"),a.node.parentNode.removeChild(a.node))};sre.SvgHighlighter.prototype.isMactionNode=function(a){a=a.className||a.getAttribute("class");return(a=a.baseVal?a.baseVal:a)?a.match(new RegExp(this.mactionName)):!1};sre.HighlighterFactory={};sre.HighlighterFactory.highlighter=function(a,b,c){a=new sre.ColorPicker(a,b);c=sre.HighlighterFactory.highlighterMapping_["NativeMML"===c.renderer&&"Safari"===c.browser?"MML-CSS":c.renderer];if(!c)return null;c.setColor(a);return c};sre.HighlighterFactory.addEvents=function(a,b,c){(c=sre.HighlighterFactory.highlighterMapping_[c.renderer])&&c.addEvents(a,b)}; +sre.HighlighterFactory.highlighterMapping_={SVG:new sre.SvgHighlighter,NativeMML:new sre.MmlHighlighter,"HTML-CSS":new sre.HtmlHighlighter,"MML-CSS":new sre.MmlCssHighlighter,CommonHTML:new sre.CssHighlighter};sre.Grammar=function(){this.parameters_={};this.corrections_={};this.preprocessors_={};this.stateStack_=[]};goog.addSingletonGetter(sre.Grammar);sre.Grammar.ATTRIBUTE="grammar";sre.Grammar.prototype.clear=function(){this.parameters_={};this.stateStack_=[]};sre.Grammar.prototype.setParameter=function(a,b){var c=this.parameters_[a];b?this.parameters_[a]=b:delete this.parameters_[a];return c};sre.Grammar.prototype.getParameter=function(a){return this.parameters_[a]}; +sre.Grammar.prototype.setCorrection=function(a,b){this.corrections_[a]=b};sre.Grammar.prototype.setPreprocessor=function(a,b){this.preprocessors_[a]=b};sre.Grammar.prototype.getCorrection=function(a){return this.corrections_[a]};sre.Grammar.prototype.getState=function(){var a=[],b;for(b in this.parameters_){var c=this.parameters_[b];a.push("string"===typeof c?b+":"+c:b)}return a.join(" ")};sre.Grammar.prototype.pushState=function(a){for(var b in a)a[b]=this.setParameter(b,a[b]);this.stateStack_.push(a)}; +sre.Grammar.prototype.popState=function(){var a=this.stateStack_.pop(),b;for(b in a)this.setParameter(b,a[b])};sre.Grammar.prototype.setAttribute=function(a){if(a&&a.nodeType===sre.DomUtil.NodeType.ELEMENT_NODE){var b=this.getState();b&&a.setAttribute(sre.Grammar.ATTRIBUTE,b)}};sre.Grammar.prototype.preprocess=function(a){return this.runProcessors_(a,this.preprocessors_)};sre.Grammar.prototype.correct=function(a){return this.runProcessors_(a,this.corrections_)}; +sre.Grammar.prototype.runProcessors_=function(a,b){for(var c in this.parameters_){var d=b[c];if(d){var e=this.parameters_[c];a=!0===e?d(a):d(a,e)}}return a};sre.Grammar.translateString_=function(a){var b=sre.Engine.getInstance();return b.evaluator(a,b.dynamicCstr)||a}; +sre.Grammar.prototype.apply=function(a,b){b=b||{};a=b.adjust||b.preprocess?sre.Grammar.getInstance().preprocess(a):a;if(this.parameters_.translate||b.translate)a=sre.Grammar.translateString_(a);return a=b.adjust||b.correct?sre.Grammar.getInstance().correct(a):a};sre.Grammar.parseState=function(a){var b={};a=a.split(" ");for(var c=0,d=a.length;c<d;c++){var e=a[c].split(":"),f=e[1];b[e[0]]=f?f:!0}return b}; +sre.Grammar.parseInput=function(a){var b={};a=a.split(":");for(var c=0,d=a.length;c<d;c++){var e=a[c].split("="),f=e[0].trim();e[1]?b[f]=e[1].trim():f.match(/^!/)?b[f.slice(1)]=!1:b[f]=!0}return b};sre.Grammar.correctFont_=function(a,b){if(!b||!a)return a;b=sre.L10n.getLocale().FONT[b]||b;b=b.split(/ |-/);b=new RegExp("^"+b.join("( |-)")+"( |-)");return a.replace(b,"")};sre.Grammar.addAnnotation_=function(a,b){return a+":"+b};sre.Grammar.getInstance().setCorrection("ignoreFont",sre.Grammar.correctFont_); +sre.Grammar.getInstance().setPreprocessor("annotation",sre.Grammar.addAnnotation_);sre.Messages={};sre.Messages.MS={START:"",FRAC_V:"",FRAC_B:"",FRAC_S:"",END:"",FRAC_OVER:"",TWICE:"",NEST_FRAC:"",ENDFRAC:"",SUPER:"",SUB:"",SUP:"",SUPERSCRIPT:"",SUBSCRIPT:"",BASELINE:"",BASE:"",NESTED:"",NEST_ROOT:"",STARTROOT:"",ENDROOT:"",ROOTINDEX:"",ROOT:"",INDEX:"",UNDER:"",UNDERSCRIPT:"",OVER:"",OVERSCRIPT:""};sre.Messages.MS_FUNC={FRAC_NEST_DEPTH:function(a){return!1},RADICAL_NEST_DEPTH:function(a){return""},COMBINE_ROOT_INDEX:function(a,b){return a}};sre.Messages.MS_ROOT_INDEX={}; +sre.Messages.FONT={bold:"","bold-fraktur":"","bold-italic":"","bold-script":"",caligraphic:"","caligraphic-bold":"","double-struck":"","double-struck-italic":"",fraktur:"",italic:"",monospace:"",normal:"",oldstyle:"","oldstyle-bold":"",script:"","sans-serif":"","sans-serif-italic":"","sans-serif-bold":"","sans-serif-bold-italic":"",unknown:""}; +sre.Messages.ROLE={addition:"",multiplication:"",subtraction:"",division:"",equality:"",inequality:"",element:"",arrow:"",determinant:"",rowvector:"",binomial:"",squarematrix:"",multiline:"",matrix:"",vector:"",cases:"",table:"",unknown:""};sre.Messages.ENCLOSE={longdiv:"",actuarial:"",radical:"",box:"",roundedbox:"",circle:"",left:"",right:"",top:"",bottom:"",updiagonalstrike:"",downdiagonalstrike:"",verticalstrike:"",horizontalstrike:"",madruwb:"",updiagonalarrow:"",phasorangle:"",unknown:""}; +sre.Messages.NAVIGATE={COLLAPSIBLE:"",EXPANDABLE:"",LEVEL:""};sre.MathspeakUtil={};sre.MathspeakUtil.spaceoutText=function(a){return a.textContent.split("").join(" ")};sre.MathspeakUtil.spaceoutNumber=function(a){a=a.textContent.split("");for(var b=[],c=new sre.SystemExternal.xmldom.DOMParser,d=0,e;e=a[d];d++){var f=sre.Semantic.Type.NUMBER,g=e.match(/\W/)?sre.Semantic.Role.UNKNOWN:sre.Semantic.Role.PROTECTED;e=c.parseFromString("<"+f+' role="'+g+'">'+e+"</"+f+">","text/xml");b.push(e.documentElement)}return b}; +sre.MathspeakUtil.spaceoutIdentifier=function(a){var b=a.textContent;if(!b.match(/[a-zA-Z]+/))return a.setAttribute("role",sre.SemanticAttr.Role.PROTECTED),[a];a=b.split("");b=[];for(var c=new sre.SystemExternal.xmldom.DOMParser,d=0,e;e=a[d];d++){var f=sre.Semantic.Type.IDENTIFIER;e=c.parseFromString("<"+f+' role="'+sre.Semantic.Role.UNKNOWN+'">'+e+"</"+f+">","text/xml");b.push(e.documentElement)}return b}; +sre.MathspeakUtil.nestingBarriers=[sre.Semantic.Type.CASES,sre.Semantic.Type.CELL,sre.Semantic.Type.INTEGRAL,sre.Semantic.Type.LINE,sre.Semantic.Type.MATRIX,sre.Semantic.Type.MULTILINE,sre.Semantic.Type.OVERSCORE,sre.Semantic.Type.ROOT,sre.Semantic.Type.ROW,sre.Semantic.Type.SQRT,sre.Semantic.Type.SUBSCRIPT,sre.Semantic.Type.SUPERSCRIPT,sre.Semantic.Type.TABLE,sre.Semantic.Type.UNDERSCORE,sre.Semantic.Type.VECTOR];sre.MathspeakUtil.nestingDepth={}; +sre.MathspeakUtil.resetNestingDepth=function(a){sre.MathspeakUtil.nestingDepth={};return[a]}; +sre.MathspeakUtil.getNestingDepth=function(a,b,c,d,e,f){d=d||sre.MathspeakUtil.nestingBarriers;e=e||{};f=f||function(a){return!1};var g=(new sre.SystemExternal.xmldom.XMLSerializer).serializeToString(b);sre.MathspeakUtil.nestingDepth[a]||(sre.MathspeakUtil.nestingDepth[a]={});if(sre.MathspeakUtil.nestingDepth[a][g])return sre.MathspeakUtil.nestingDepth[a][g];if(f(b)||0>c.indexOf(b.tagName))return 0;b=sre.MathspeakUtil.computeNestingDepth_(b,c,sre.BaseUtil.setdifference(d,c),e,f,0);return sre.MathspeakUtil.nestingDepth[a][g]= +b};sre.MathspeakUtil.containsAttr=function(a,b){if(!a.attributes)return!1;a=sre.DomUtil.toArray(a.attributes);for(var c=0,d;d=a[c];c++)if(b[d.nodeName]===d.nodeValue)return!0;return!1}; +sre.MathspeakUtil.computeNestingDepth_=function(a,b,c,d,e,f){if(e(a)||-1<c.indexOf(a.tagName)||sre.MathspeakUtil.containsAttr(a,d))return f;-1<b.indexOf(a.tagName)&&f++;if(!a.childNodes||0===a.childNodes.length)return f;a=sre.DomUtil.toArray(a.childNodes);return Math.max.apply(null,a.map(function(a){return sre.MathspeakUtil.computeNestingDepth_(a,b,c,d,e,f)}))}; +sre.MathspeakUtil.fractionNestingDepth=function(a){return sre.MathspeakUtil.getNestingDepth("fraction",a,["fraction"],sre.MathspeakUtil.nestingBarriers,{},sre.Messages.MS_FUNC.FRAC_NEST_DEPTH)};sre.MathspeakUtil.openingFractionVerbose=function(a){a=sre.MathspeakUtil.fractionNestingDepth(a);return Array(a+1).join(sre.Messages.MS.START)+sre.Messages.MS.FRAC_V}; +sre.MathspeakUtil.closingFractionVerbose=function(a){a=sre.MathspeakUtil.fractionNestingDepth(a);return Array(a+1).join(sre.Messages.MS.END)+sre.Messages.MS.FRAC_V};sre.MathspeakUtil.overFractionVerbose=function(a){a=sre.MathspeakUtil.fractionNestingDepth(a);return Array(a+1).join(sre.Messages.MS.FRAC_OVER).trim()};sre.MathspeakUtil.openingFractionBrief=function(a){a=sre.MathspeakUtil.fractionNestingDepth(a);return Array(a+1).join(sre.Messages.MS.START)+sre.Messages.MS.FRAC_B}; +sre.MathspeakUtil.closingFractionBrief=function(a){a=sre.MathspeakUtil.fractionNestingDepth(a);return Array(a+1).join(sre.Messages.MS.END)+sre.Messages.MS.FRAC_B};sre.MathspeakUtil.openingFractionSbrief=function(a){a=sre.MathspeakUtil.fractionNestingDepth(a);return 1===a?sre.Messages.MS.FRAC_S:sre.Messages.MS.NEST_FRAC+sre.Messages.MS_FUNC.RADICAL_NEST_DEPTH(a-1)+sre.Messages.MS.FRAC_S}; +sre.MathspeakUtil.closingFractionSbrief=function(a){a=sre.MathspeakUtil.fractionNestingDepth(a);return 1===a?sre.Messages.MS.ENDFRAC:sre.Messages.MS.NEST_FRAC+sre.Messages.MS_FUNC.RADICAL_NEST_DEPTH(a-1)+sre.Messages.MS.ENDFRAC};sre.MathspeakUtil.overFractionSbrief=function(a){a=sre.MathspeakUtil.fractionNestingDepth(a);return 1===a?sre.Messages.MS.FRAC_OVER:sre.Messages.MS.NEST_FRAC+sre.Messages.MS_FUNC.RADICAL_NEST_DEPTH(a-1)+sre.Messages.MS.OVER};sre.MathspeakUtil.onesNumbers=" one two three four five six seven eight nine ten eleven twelve thirteen fourteen fifteen sixteen seventeen eighteen nineteen".split(" "); +sre.MathspeakUtil.tensNumbers=" twenty thirty forty fifty sixty seventy eighty ninety".split(" ");sre.MathspeakUtil.largeNumbers=" thousand million billion trillion quadrillion quintillion sextillion septillion octillion nonillion decillion".split(" "); +sre.MathspeakUtil.hundredsToWords=function(a){a%=1E3;var b=sre.MathspeakUtil.onesNumbers[Math.floor(a/100)]?sre.MathspeakUtil.onesNumbers[Math.floor(a/100)]+"-hundred":"";(a%=100)&&(b=b+(b?"-":"")+(sre.MathspeakUtil.onesNumbers[a]||sre.MathspeakUtil.tensNumbers[Math.floor(a/10)]+"-"+sre.MathspeakUtil.onesNumbers[a%10]));return b}; +sre.MathspeakUtil.numberToWords=function(a){if(a>=Math.pow(10,36))return a.toString();for(var b=0,c="";0<a;)a%1E3&&(c=sre.MathspeakUtil.hundredsToWords(a%1E3)+(b?"-"+sre.MathspeakUtil.largeNumbers[b]+"-":"")+c),a=Math.floor(a/1E3),b++;return c}; +sre.MathspeakUtil.numberToOrdinal=function(a,b){if(2===a)return b?"halves":"half";a=sre.MathspeakUtil.numberToWords(a);a=a.match(/one$/)?a.slice(0,-3)+"first":a.match(/two$/)?a.slice(0,-3)+"second":a.match(/three$/)?a.slice(0,-5)+"third":a.match(/five$/)?a.slice(0,-4)+"fifth":a.match(/eight$/)?a.slice(0,-5)+"eighth":a.match(/nine$/)?a.slice(0,-4)+"ninth":a.match(/twelve$/)?a.slice(0,-6)+"twelfth":a.match(/ty$/)?a.slice(0,-2)+"tieth":a+"th";return b?a+"s":a}; +sre.MathspeakUtil.simpleOrdinal=function(a){var b=a%100,c=a.toString();if(10<b&&20>b)return c+"th";switch(a%10){case 1:return c+"st";case 2:return c+"nd";case 3:return c+"rd";default:return c+"th"}};sre.MathspeakUtil.ordinalCounter=function(a,b){var c=0;return function(){return sre.MathspeakUtil.simpleOrdinal(++c)+" "+b}}; +sre.MathspeakUtil.convertVulgarFraction_=function(a){if(!a.childNodes||!a.childNodes[0]||!a.childNodes[0].childNodes||2>a.childNodes[0].childNodes.length||a.childNodes[0].childNodes[0].tagName!==sre.SemanticAttr.Type.NUMBER||a.childNodes[0].childNodes[0].getAttribute("role")!==sre.SemanticAttr.Role.INTEGER||a.childNodes[0].childNodes[1].tagName!==sre.SemanticAttr.Type.NUMBER||a.childNodes[0].childNodes[1].getAttribute("role")!==sre.SemanticAttr.Role.INTEGER)return{convertible:!1,content:a.textContent}; +var b=a.childNodes[0].childNodes[1].textContent;a=a.childNodes[0].childNodes[0].textContent;var c=Number(b),d=Number(a);return isNaN(c)||isNaN(d)?{convertible:!1,content:a+" "+sre.Messages.MS.FRAC_OVER+" "+b}:{convertible:!0,enumerator:d,denominator:c}}; +sre.MathspeakUtil.vulgarFraction=function(a){a=sre.MathspeakUtil.convertVulgarFraction_(a);return a.convertible&&a.enumerator&&a.denominator?sre.MathspeakUtil.numberToWords(a.enumerator)+"-"+sre.MathspeakUtil.numberToOrdinal(a.denominator,1!==a.enumerator):a.content||""};sre.MathspeakUtil.vulgarFractionSmall=function(a){var b=sre.MathspeakUtil.convertVulgarFraction_(a);return b.convertible?(a=b.enumerator,b=b.denominator,0<a&&10>a&&0<b&&100>b):!1}; +sre.MathspeakUtil.isSmallVulgarFraction=function(a){return sre.MathspeakUtil.vulgarFractionSmall(a)?[a]:[]}; +sre.MathspeakUtil.nestedSubSuper=function(a,b,c){for(;a.parentNode;){var d=a.parentNode,e=d.parentNode,f=a.getAttribute&&a.getAttribute("role");if(e.tagName===sre.Semantic.Type.SUBSCRIPT&&a===d.childNodes[1]||e.tagName===sre.Semantic.Type.TENSOR&&f&&(f===sre.Semantic.Role.LEFTSUB||f===sre.Semantic.Role.RIGHTSUB))b=c.sub+" "+b;if(e.tagName===sre.Semantic.Type.SUPERSCRIPT&&a===d.childNodes[1]||e.tagName===sre.Semantic.Type.TENSOR&&f&&(f===sre.Semantic.Role.LEFTSUPER||f===sre.Semantic.Role.RIGHTSUPER))b= +c.sup+" "+b;a=e}return b.trim()};sre.MathspeakUtil.subscriptVerbose=function(a){return sre.MathspeakUtil.nestedSubSuper(a,sre.Messages.MS.SUBSCRIPT,{sup:sre.Messages.MS.SUPER,sub:sre.Messages.MS.SUB})};sre.MathspeakUtil.subscriptBrief=function(a){return sre.MathspeakUtil.nestedSubSuper(a,sre.Messages.MS.SUB,{sup:sre.Messages.MS.SUP,sub:sre.Messages.MS.SUB})}; +sre.MathspeakUtil.superscriptVerbose=function(a){return sre.MathspeakUtil.nestedSubSuper(a,sre.Messages.MS.SUPERSCRIPT,{sup:sre.Messages.MS.SUPER,sub:sre.Messages.MS.SUB})};sre.MathspeakUtil.superscriptBrief=function(a){return sre.MathspeakUtil.nestedSubSuper(a,sre.Messages.MS.SUP,{sup:sre.Messages.MS.SUP,sub:sre.Messages.MS.SUB})}; +sre.MathspeakUtil.baselineVerbose=function(a){return(a=sre.MathspeakUtil.nestedSubSuper(a,"",{sup:sre.Messages.MS.SUPER,sub:sre.Messages.MS.SUB}))?a.replace(new RegExp(sre.Messages.MS.SUB+"$"),sre.Messages.MS.SUBSCRIPT).replace(new RegExp(sre.Messages.MS.SUPER+"$"),sre.Messages.MS.SUPERSCRIPT):sre.Messages.MS.BASELINE};sre.MathspeakUtil.baselineBrief=function(a){return sre.MathspeakUtil.nestedSubSuper(a,"",{sup:sre.Messages.MS.SUP,sub:sre.Messages.MS.SUB})||sre.Messages.MS.BASE}; +sre.MathspeakUtil.radicalNestingDepth=function(a){return sre.MathspeakUtil.getNestingDepth("radical",a,["sqrt","root"],sre.MathspeakUtil.nestingBarriers,{})};sre.MathspeakUtil.nestedRadical=function(a,b,c){var d=sre.MathspeakUtil.radicalNestingDepth(a);c=(a=sre.MathspeakUtil.getRootIndex(a))?sre.Messages.MS_FUNC.COMBINE_ROOT_INDEX(c,a):c;return 1===d?c:b+sre.Messages.MS_FUNC.RADICAL_NEST_DEPTH(d-1)+c}; +sre.MathspeakUtil.getRootIndex=function(a){a="sqrt"===a.tagName?"2":sre.XpathUtil.evalXPath("children/*[1]",a)[0].textContent.trim();return sre.Messages.MS_ROOT_INDEX[a]||""};sre.MathspeakUtil.openingRadicalVerbose=function(a){return sre.MathspeakUtil.nestedRadical(a,sre.Messages.MS.NESTED,sre.Messages.MS.STARTROOT)};sre.MathspeakUtil.closingRadicalVerbose=function(a){return sre.MathspeakUtil.nestedRadical(a,sre.Messages.MS.NESTED,sre.Messages.MS.ENDROOT)}; +sre.MathspeakUtil.indexRadicalVerbose=function(a){return sre.MathspeakUtil.nestedRadical(a,sre.Messages.MS.NESTED,sre.Messages.MS.ROOTINDEX)};sre.MathspeakUtil.openingRadicalBrief=function(a){return sre.MathspeakUtil.nestedRadical(a,sre.Messages.MS.NEST_ROOT,sre.Messages.MS.STARTROOT)};sre.MathspeakUtil.closingRadicalBrief=function(a){return sre.MathspeakUtil.nestedRadical(a,sre.Messages.MS.NEST_ROOT,sre.Messages.MS.ENDROOT)}; +sre.MathspeakUtil.indexRadicalBrief=function(a){return sre.MathspeakUtil.nestedRadical(a,sre.Messages.MS.NEST_ROOT,sre.Messages.MS.ROOTINDEX)};sre.MathspeakUtil.openingRadicalSbrief=function(a){return sre.MathspeakUtil.nestedRadical(a,sre.Messages.MS.NEST_ROOT,sre.Messages.MS.ROOT)};sre.MathspeakUtil.indexRadicalSbrief=function(a){return sre.MathspeakUtil.nestedRadical(a,sre.Messages.MS.NEST_ROOT,sre.Messages.MS.INDEX)}; +sre.MathspeakUtil.underscoreNestingDepth=function(a){return sre.MathspeakUtil.getNestingDepth("underscore",a,["underscore"],sre.MathspeakUtil.nestingBarriers,{},function(a){return a.tagName&&a.tagName===sre.Semantic.Type.UNDERSCORE&&a.childNodes[0].childNodes[1].getAttribute("role")===sre.Semantic.Role.UNDERACCENT})};sre.MathspeakUtil.nestedUnderscore=function(a){a=sre.MathspeakUtil.underscoreNestingDepth(a);return Array(a).join(sre.Messages.MS.UNDER)+sre.Messages.MS.UNDERSCRIPT}; +sre.MathspeakUtil.overscoreNestingDepth=function(a){return sre.MathspeakUtil.getNestingDepth("overscore",a,["overscore"],sre.MathspeakUtil.nestingBarriers,{},function(a){return a.tagName&&a.tagName===sre.Semantic.Type.OVERSCORE&&a.childNodes[0].childNodes[1].getAttribute("role")===sre.Semantic.Role.OVERACCENT})};sre.MathspeakUtil.nestedOverscore=function(a){a=sre.MathspeakUtil.overscoreNestingDepth(a);return Array(a).join(sre.Messages.MS.OVER)+sre.Messages.MS.OVERSCRIPT}; +sre.MathspeakUtil.determinantIsSimple=function(a){if(a.tagName!==sre.Semantic.Type.MATRIX||a.getAttribute("role")!==sre.Semantic.Role.DETERMINANT)return[];for(var b=sre.XpathUtil.evalXPath("children/row/children/cell/children/*",a),c=0,d;d=b[c];c++)if(d.tagName!==sre.Semantic.Type.NUMBER){if(d.tagName===sre.Semantic.Type.IDENTIFIER&&(d=d.getAttribute("role"),d===sre.Semantic.Role.LATINLETTER||d===sre.Semantic.Role.GREEKLETTER||d===sre.Semantic.Role.OTHERLETTER))continue;return[]}return[a]}; +sre.MathspeakUtil.generateBaselineConstraint=function(){var a=function(a){return a.map(function(a){return"ancestor::"+a})},b="not("+a(["subscript","superscript","tensor"]).join(" or ")+")",c=a(["relseq","multrel"]);a=a(["fraction","punctuation","fenced","sqrt","root"]);for(var d=[],e=0,f;f=a[e];e++)d=d.concat(c.map(function(a){return f+"/"+a}));c="not("+d.join(" | ")+")";return["ancestor::*/following-sibling::*",b,c].join(" and ")}; +sre.MathspeakUtil.removeParens=function(a){if(!a.childNodes.length||!a.childNodes[0].childNodes.length||!a.childNodes[0].childNodes[0].childNodes.length)return"";a=a.childNodes[0].childNodes[0].childNodes[0].textContent;return a.match(/^\(.+\)$/)?a.slice(1,-1):a};sre.Locale={};sre.Locale.nestingToString=function(a){switch(a){case 1:return"";case 2:return sre.Messages.MS.TWICE;default:return a.toString()}};sre.Locale.vulgarNestingDepth=function(a){return sre.MathspeakUtil.vulgarFractionSmall(a)};sre.Locale.combinePostfixIndex=function(a,b){return a===sre.Messages.MS.ROOTINDEX||a===sre.Messages.MS.INDEX?a:a+" "+b};sre.Locale.localFont=function(a){return sre.Messages.FONT[a]||a};sre.Grammar.getInstance().setCorrection("localFont",sre.Locale.localFont); +sre.Locale.localRole=function(a){return sre.Messages.ROLE[a]||a};sre.Grammar.getInstance().setCorrection("localRole",sre.Locale.localRole);sre.Locale.localEnclose=function(a){return sre.Messages.ENCLOSE[a]||a};sre.Grammar.getInstance().setCorrection("localEnclose",sre.Locale.localEnclose);sre.Locale.en={MS:{START:"Start",FRAC_V:"Fraction",FRAC_B:"Frac",FRAC_S:"Frac",END:"End",FRAC_OVER:"Over",TWICE:"Twice",NEST_FRAC:"Nest",ENDFRAC:"EndFrac",SUPER:"Super",SUB:"Sub",SUP:"Sup",SUPERSCRIPT:"Superscript",SUBSCRIPT:"Subscript",BASELINE:"Baseline",BASE:"Base",NESTED:"Nested",NEST_ROOT:"Nest",STARTROOT:"StartRoot",ENDROOT:"EndRoot",ROOTINDEX:"RootIndex",ROOT:"Root",INDEX:"Index",UNDER:"Under",UNDERSCRIPT:"Underscript",OVER:"Over",OVERSCRIPT:"Overscript"},MS_FUNC:{FRAC_NEST_DEPTH:sre.Locale.vulgarNestingDepth, +RADICAL_NEST_DEPTH:sre.Locale.nestingToString,COMBINE_ROOT_INDEX:function(a,b){return a}},MS_ROOT_INDEX:{},FONT:{},ROLE:{addition:"addition",multiplication:"multiplication",subtraction:"subtraction",division:"division",equality:"equality",inequality:"inequality",element:"element",arrow:"arrow",determinant:"determinant",rowvector:"row vector",binomial:"binomial",squarematrix:"square matrix",multiline:"multiple lines",matrix:"matrix",vector:"vector",cases:"case statement",table:"table",unknown:"unknown"}, +ENCLOSE:{longdiv:"long division",actuarial:"actuarial symbol",radical:"square root",box:"box",roundedbox:"rounded box",circle:"circle",left:"left vertical-line",right:"right vertical-line",top:"overbar",bottom:"underbar",updiagonalstrike:"crossout",downdiagonalstrike:"crossout",verticalstrike:"vertical strikeout",horizontalstrike:"crossout",madruwb:"Arabic factorial symbol",updiagonalarrow:"diagonal arrow",phasorangle:"phasor angle",unknown:"long division"},NAVIGATE:{COLLAPSIBLE:"collapsible",EXPANDABLE:"expandable", +LEVEL:"Level"}};sre.Locale.es={MS:{START:"empezar ",FRAC_V:"fracci\u00f3n",FRAC_B:"frac",FRAC_S:"frac",END:"finalizar ",FRAC_OVER:"entre ",TWICE:"",NEST_FRAC:"",ENDFRAC:"",SUPER:"super",SUB:"sub",SUP:"sup",SUPERSCRIPT:"super\u00edndice",SUBSCRIPT:"sub\u00edndice",BASELINE:"l\u00ednea base",BASE:"",NESTED:"",NEST_ROOT:"",STARTROOT:"empezar ra\u00edz",ENDROOT:"finalizar ra\u00edz",ROOTINDEX:"\u00edndice de ra\u00edz",ROOT:"ra\u00edz",INDEX:"",UNDER:"bajo",UNDERSCRIPT:"bajo\u00edndice",OVER:"sobre",OVERSCRIPT:"sobre\u00edndice"}, +MS_FUNC:{FRAC_NEST_DEPTH:function(a){return!1},RADICAL_NEST_DEPTH:function(a){return""},COMBINE_ROOT_INDEX:sre.Locale.combinePostfixIndex},MS_ROOT_INDEX:{2:"cuadrada",3:"c\u00fabica",4:"a la cuarta",5:"a la quinta",6:"a la sexta",7:"a la s\u00e9ptima",8:"a la octava",9:"a la novena",10:"a la d\u00e9cima"},FONT:{bold:"negrita","bold-fraktur":"negrita Fraktur","bold-italic":"negrita cursiva","bold-script":"negrita script",caligraphic:"caligr\u00e1fica","caligraphic-bold":"caligr\u00e1fica negrita", +"double-struck":"negrita de pizarra","double-struck-italic":"negrita de pizarra cursiva",fraktur:"Fraktur",italic:"cursiva",monospace:"monoespacio",normal:"normal",oldstyle:"estilo antiguo","oldstyle-bold":"estilo antiguo negrita",script:"script","sans-serif":"sans-serif","sans-serif-italic":"sans-serif cursiva","sans-serif-bold":"sans-serif negrita","sans-serif-bold-italic":"sans-serif negrita cursiva",unknown:"desconocida"},ROLE:{addition:"adici\u00f3n",multiplication:"multiplicaci\u00f3n",subtraction:"resta", +division:"divisi\u00f3n",equality:"igualdad",inequality:"desigualdad",element:"elemento",arrow:"flecha",determinant:"determinante",rowvector:"fila vector",binomial:"binomial",squarematrix:"matriz cuadrada",multiline:"l\u00edneas m\u00faltiples",matrix:"matriz",vector:"vector",cases:"declaraci\u00f3n de caso",table:"mesa",unknown:"desconocida"},ENCLOSE:{longdiv:"divisi\u00f3n larga",actuarial:"s\u00edmbolo actuarial",radical:"ra\u00edz cuadrada",box:"caja",roundedbox:"caja redondeada",circle:"c\u00edrculo", +left:"barra vertical izquierda",right:"barra vertical derecha",top:"barra",bottom:"subbarra",updiagonalstrike:"tachadura",downdiagonalstrike:"tachadura",verticalstrike:"ponchado vertical",horizontalstrike:"cruce",madruwb:"s\u00edmbolo factorial \u00e1rabe",updiagonalarrow:"flecha diagonal",phasorangle:"\u00e1ngulo de fasores",unknown:"divisi\u00f3n larga"},NAVIGATE:{COLLAPSIBLE:"plegable",EXPANDABLE:"ampliable",LEVEL:"nivel"}};sre.L10n={};sre.L10n.setLocale=function(){var a=sre.L10n.getLocale();if(a)for(var b in a)sre.Messages[b]=a[b]};sre.L10n.getLocale=function(){return sre.Locale[sre.Engine.getInstance().locale]||sre.Locale.en};sre.AuditoryDescription=function(a){this.context=a.context||"";this.text=a.text||"";this.userValue=a.userValue||"";this.annotation=a.annotation||"";this.personality=a.personality||{}};sre.AuditoryDescription.create=function(a,b){a.text=sre.Grammar.getInstance().apply(a.text,b||{});return new sre.AuditoryDescription(a)};sre.AuditoryDescription.prototype.isEmpty=function(){return 0==this.context.length&&0==this.text.length&&0==this.userValue.length&&0==this.annotation.length}; +sre.AuditoryDescription.prototype.clone=function(){if(this.personality){var a={};for(var b in this.personality)a=this.personality[b]}return new sre.AuditoryDescription({context:this.context,text:this.text,userValue:this.userValue,annotation:this.annotation,personality:a})};sre.AuditoryDescription.prototype.toString=function(){return'AuditoryDescription(context="'+this.context+'" text="'+this.text+'" userValue="'+this.userValue+'" annotation="'+this.annotation+'")'}; +sre.AuditoryDescription.prototype.descriptionString=function(){return this.context&&this.text?this.context+" "+this.text:this.context||this.text};sre.AuditoryDescription.prototype.equals=function(a){return this.context==a.context&&this.text==a.text&&this.userValue==a.userValue&&this.annotation==a.annotation};sre.SpeechRule=function(a,b,c,d){this.name=a;this.dynamicCstr=b;this.precondition=c;this.action=d};sre.SpeechRule.prototype.toString=function(){return this.name+" | "+this.dynamicCstr.toString()+" | "+this.precondition.toString()+" ==> "+this.action.toString()};sre.SpeechRule.Type={NODE:"NODE",MULTI:"MULTI",TEXT:"TEXT",PERSONALITY:"PERSONALITY"}; +sre.SpeechRule.Type.fromString=function(a){switch(a){case "[n]":return sre.SpeechRule.Type.NODE;case "[m]":return sre.SpeechRule.Type.MULTI;case "[t]":return sre.SpeechRule.Type.TEXT;case "[p]":return sre.SpeechRule.Type.PERSONALITY;default:throw"Parse error: "+a;}}; +sre.SpeechRule.Type.toString=function(a){switch(a){case sre.SpeechRule.Type.NODE:return"[n]";case sre.SpeechRule.Type.MULTI:return"[m]";case sre.SpeechRule.Type.TEXT:return"[t]";case sre.SpeechRule.Type.PERSONALITY:return"[p]";default:throw"Unknown type error: "+a;}};sre.SpeechRule.Component=function(a){this.type=a.type;this.content=a.content;this.attributes=a.attributes;this.grammar=a.grammar}; +sre.SpeechRule.Component.fromString=function(a){var b={};b.type=sre.SpeechRule.Type.fromString(a.substring(0,3));a=a.slice(3).trim();if(!a)throw new sre.SpeechRule.OutputError("Missing content.");switch(b.type){case sre.SpeechRule.Type.TEXT:if('"'==a[0]){var c=sre.SpeechRule.splitString_(a,"\\(")[0].trim();if('"'!=c.slice(-1))throw new sre.SpeechRule.OutputError("Invalid string syntax.");b.content=c;a=a.slice(c.length).trim();-1==a.indexOf("(")&&(a="");break}case sre.SpeechRule.Type.NODE:case sre.SpeechRule.Type.MULTI:c= +a.indexOf(" ("),-1==c?(b.content=a.trim(),a=""):(b.content=a.substring(0,c).trim(),a=a.slice(c).trim())}a&&(a=sre.SpeechRule.Component.attributesFromString(a),a.grammar&&(b.grammar=a.grammar,delete a.grammar),Object.keys(a).length&&(b.attributes=a));return b=new sre.SpeechRule.Component(b)};sre.SpeechRule.Component.prototype.toString=function(){var a=""+sre.SpeechRule.Type.toString(this.type);a+=this.content?" "+this.content:"";var b=this.attributesToString();return a+(b?" "+b:"")}; +sre.SpeechRule.Component.grammarFromString=function(a){return sre.Grammar.parseInput(a)};sre.SpeechRule.Component.prototype.grammarToString=function(){return this.getGrammar().join(":")};sre.SpeechRule.Component.prototype.getGrammar=function(){var a=[],b;for(b in this.grammar)!0===this.grammar[b]?a.push(b):!1===this.grammar[b]?a.push("!"+b):a.push(b+"="+this.grammar[b]);return a}; +sre.SpeechRule.Component.attributesFromString=function(a){if("("!=a[0]||")"!=a.slice(-1))throw new sre.SpeechRule.OutputError("Invalid attribute expression: "+a);var b={};a=sre.SpeechRule.splitString_(a.slice(1,-1),",");for(var c=0,d=a.length;c<d;c++){var e=a[c],f=e.indexOf(":");if(-1==f)b[e.trim()]="true";else{var g=e.substring(0,f).trim();e=e.slice(f+1).trim();b[g]="grammar"===g?sre.SpeechRule.Component.grammarFromString(e):b[g]=e}}return b}; +sre.SpeechRule.Component.prototype.attributesToString=function(){var a=this.getAttributes(),b=this.grammarToString();b&&a.push("grammar:"+b);return 0<a.length?"("+a.join(", ")+")":""};sre.SpeechRule.Component.prototype.getAttributes=function(){var a=[],b;for(b in this.attributes){var c=this.attributes[b];"true"===c?a.push(b):a.push(b+":"+c)}return a};sre.SpeechRule.Action=function(a){this.components=a}; +sre.SpeechRule.Action.fromString=function(a){a=sre.SpeechRule.splitString_(a,";").filter(function(a){return a.match(/\S/)}).map(function(a){return a.trim()});for(var b=[],c=0,d=a.length;c<d;c++){var e=sre.SpeechRule.Component.fromString(a[c]);e&&b.push(e)}return new sre.SpeechRule.Action(b)};sre.SpeechRule.Action.prototype.toString=function(){return this.components.map(function(a){return a.toString()}).join("; ")};sre.SpeechRule.Precondition=function(a,b){this.query=a;this.constraints=b||[]}; +sre.SpeechRule.Precondition.prototype.toString=function(){var a=this.constraints.join(", ");return this.query+", "+a}; +sre.SpeechRule.splitString_=function(a,b){for(var c=[],d="";""!=a;){var e=a.search(b);if(-1==e){if(0!=(a.match(/"/g)||[]).length%2)throw new sre.SpeechRule.OutputError("Invalid string in expression: "+a);c.push(d+a);a=d=""}else if(0==(a.substring(0,e).match(/"/g)||[]).length%2)c.push(d+a.substring(0,e)),d="",a=a.substring(e+1);else{var f=a.substring(e).search('"');if(-1==f)throw new sre.SpeechRule.OutputError("Invalid string in expression: "+a);d+=a.substring(0,e+f+1);a=a.substring(e+f+1)}}d&&c.push(d); +return c};sre.SpeechRule.OutputError=function(a){Error.call(this);this.message=a||"";this.name="RuleError"};goog.inherits(sre.SpeechRule.OutputError,Error);sre.SpeechRuleEvaluator=function(){};sre.SpeechRuleEvaluator.prototype.evaluateDefault=goog.abstractMethod;sre.SpeechRuleFunctions=function(){};sre.SpeechRuleFunctions.Store_=function(a,b){this.prefix_=a;this.store_=b};sre.SpeechRuleFunctions.Store_.prototype.add=function(a,b){this.checkCustomFunctionSyntax_(a)&&(this.store_[a]=b)};sre.SpeechRuleFunctions.Store_.prototype.addStore=function(a){for(var b=Object.keys(a.store_),c=0,d;d=b[c];c++)this.add(d,a.store_[d])};sre.SpeechRuleFunctions.Store_.prototype.lookup=function(a){return this.store_[a]}; +sre.SpeechRuleFunctions.CustomQueries=function(){sre.SpeechRuleFunctions.Store_.call(this,"CQF",{})};goog.inherits(sre.SpeechRuleFunctions.CustomQueries,sre.SpeechRuleFunctions.Store_);sre.SpeechRuleFunctions.CustomStrings=function(){sre.SpeechRuleFunctions.Store_.call(this,"CSF",{})};goog.inherits(sre.SpeechRuleFunctions.CustomStrings,sre.SpeechRuleFunctions.Store_);sre.SpeechRuleFunctions.ContextFunctions=function(){sre.SpeechRuleFunctions.Store_.call(this,"CTXF",{})}; +goog.inherits(sre.SpeechRuleFunctions.ContextFunctions,sre.SpeechRuleFunctions.Store_);sre.SpeechRuleFunctions.Store_.prototype.checkCustomFunctionSyntax_=function(a){return a.match(new RegExp("^"+this.prefix_))?!0:(console.log("FunctionError: Invalid function name. Expected prefix "+this.prefix_),!1)};sre.SpeechRuleStore=function(){};sre.SpeechRuleStore.prototype.addRule=goog.abstractMethod;sre.SpeechRuleStore.prototype.deleteRule=goog.abstractMethod;sre.SpeechRuleStore.prototype.findRule=goog.abstractMethod;sre.SpeechRuleStore.prototype.findAllRules=goog.abstractMethod;sre.SpeechRuleStore.prototype.lookupRule=goog.abstractMethod;sre.SpeechRuleStore.prototype.defineRule=goog.abstractMethod;sre.TrieNode=function(){};sre.TrieNode.prototype.getConstraint=function(){};sre.TrieNode.prototype.getKind=function(){};sre.TrieNode.prototype.applyTest=function(a){};sre.TrieNode.prototype.addChild=function(a){};sre.TrieNode.prototype.getChild=function(a){};sre.TrieNode.prototype.getChildren=function(){};sre.TrieNode.prototype.findChildren=function(a){};sre.TrieNode.Kind={ROOT:"root",DYNAMIC:"dynamic",QUERY:"query",BOOLEAN:"boolean",STATIC:"static"};sre.AbstractTrieNode=function(a,b){this.constraint=a;this.test=b;this.children_={};this.kind=sre.TrieNode.Kind.ROOT};sre.AbstractTrieNode.prototype.getConstraint=function(){return this.constraint};sre.AbstractTrieNode.prototype.getKind=function(){return this.kind};sre.AbstractTrieNode.prototype.applyTest=function(a){return this.test(a)};sre.AbstractTrieNode.prototype.addChild=function(a){var b=a.getConstraint(),c=this.children_[b];this.children_[b]=a;return c}; +sre.AbstractTrieNode.prototype.getChild=function(a){return this.children_[a]};sre.AbstractTrieNode.prototype.getChildren=function(){var a=[],b;for(b in this.children_)a.push(this.children_[b]);return a};sre.AbstractTrieNode.prototype.findChildren=function(a){var b=[],c;for(c in this.children_){var d=this.children_[c];d.applyTest(a)&&b.push(d)}return b};sre.AbstractTrieNode.prototype.toString=function(){return this.constraint}; +sre.StaticTrieNode=function(a,b){sre.AbstractTrieNode.call(this,a,b);this.kind=sre.TrieNode.Kind.STATIC;this.rule_=null};goog.inherits(sre.StaticTrieNode,sre.AbstractTrieNode);sre.StaticTrieNode.prototype.getRule=function(){return this.rule_};sre.StaticTrieNode.prototype.setRule=function(a){this.rule_&&sre.Debugger.getInstance().output("Replacing rule "+this.rule_+" with "+a);this.rule_=a}; +sre.StaticTrieNode.prototype.toString=function(){return this.getRule()?this.constraint+"\n==> "+this.getRule().action:this.constraint};sre.TrieNodeFactory={};sre.TrieNodeFactory.getNode=function(a,b,c){switch(a){case sre.TrieNode.Kind.ROOT:return new sre.RootTrieNode;case sre.TrieNode.Kind.DYNAMIC:return new sre.DynamicTrieNode(b);case sre.TrieNode.Kind.QUERY:return new sre.QueryTrieNode(b,c);case sre.TrieNode.Kind.BOOLEAN:return new sre.BooleanTrieNode(b,c);default:return null}};sre.RootTrieNode=function(){sre.AbstractTrieNode.call(this,"",function(){return!0});this.kind=sre.TrieNode.Kind.ROOT};goog.inherits(sre.RootTrieNode,sre.AbstractTrieNode); +sre.DynamicTrieNode=function(a){sre.AbstractTrieNode.call(this,a,function(b){return b===a});this.kind=sre.TrieNode.Kind.DYNAMIC};goog.inherits(sre.DynamicTrieNode,sre.AbstractTrieNode); +sre.TrieNodeFactory.constraintTest_=function(a){if(a.match(/^self::\*$/))return function(a){return!0};if(a.match(/^self::\w+$/)){var b=a.slice(6).toUpperCase();return function(a){return a.tagName&&sre.DomUtil.tagName(a)===b}}if(a.match(/^self::\w+:\w+$/)){a=a.split(":");var c=sre.XpathUtil.resolveNameSpace(a[2]);if(!c)return null;b=a[3].toUpperCase();return function(a){return a.localName&&a.localName.toUpperCase()===b&&a.namespaceURI===c}}if(a.match(/^@\w+$/)){var d=a.slice(1);return function(a){return a.hasAttribute&& +a.hasAttribute(d)}}if(a.match(/^@\w+="[\w\d ]+"$/)){a=a.split("=");d=a[0].slice(1);var e=a[1].slice(1,-1);return function(a){return a.hasAttribute&&a.hasAttribute(d)&&a.getAttribute(d)===e}}return a.match(/^@\w+!="[\w\d ]+"$/)?(a=a.split("!="),d=a[0].slice(1),e=a[1].slice(1,-1),function(a){return!a.hasAttribute||!a.hasAttribute(d)||a.getAttribute(d)!==e}):a.match(/^contains\(\s*@grammar\s*,\s*"[\w\d ]+"\s*\)$/)?(a=a.split('"'),e=a[1],function(a){return sre.Grammar.getInstance().getParameter(e)}): +a.match(/^not\(\s*contains\(\s*@grammar\s*,\s*"[\w\d ]+"\s*\)\s*\)$/)?(a=a.split('"'),e=a[1],function(a){return!sre.Grammar.getInstance().getParameter(e)}):null};sre.QueryTrieNode=function(a,b){this.store_=b;sre.StaticTrieNode.call(this,a,sre.TrieNodeFactory.constraintTest_(a));this.kind=sre.TrieNode.Kind.QUERY};goog.inherits(sre.QueryTrieNode,sre.StaticTrieNode);sre.QueryTrieNode.prototype.applyTest=function(a){return this.test?this.test(a):this.store_.applyQuery(a,this.constraint)===a}; +sre.BooleanTrieNode=function(a,b){this.store_=b;sre.StaticTrieNode.call(this,a,sre.TrieNodeFactory.constraintTest_(a));this.kind=sre.TrieNode.Kind.BOOLEAN};goog.inherits(sre.BooleanTrieNode,sre.StaticTrieNode);sre.BooleanTrieNode.prototype.applyTest=function(a){return this.test?this.test(a):this.store_.applyConstraint(a,this.constraint)};sre.Trie=function(a){this.store=a;this.root=sre.TrieNodeFactory.getNode(sre.TrieNode.Kind.ROOT,"",this.store)};sre.Trie.prototype.addRule=function(a){for(var b=this.root,c=a.dynamicCstr.getValues(),d=0,e=c.length;d<e;d++)b=this.addNode_(b,c[d],sre.TrieNode.Kind.DYNAMIC);b=this.addNode_(b,a.precondition.query,sre.TrieNode.Kind.QUERY);c=a.precondition.constraints;d=0;for(e=c.length;d<e;d++)b=this.addNode_(b,c[d],sre.TrieNode.Kind.BOOLEAN);b.setRule(a)}; +sre.Trie.prototype.addNode_=function(a,b,c){var d=a.getChild(b);d||(d=sre.TrieNodeFactory.getNode(c,b,this.store),a.addChild(d));return d}; +sre.Trie.prototype.lookupRules=function(a,b){for(var c=[this.root],d=[];b.length;){for(var e=b.shift(),f=[];c.length;){var g=c.shift();g=g.getChildren();g.forEach(function(a){a.getKind()===sre.TrieNode.Kind.DYNAMIC&&-1===e.indexOf(a.getConstraint())||f.push(a)})}c=f.slice()}for(;c.length;)g=c.shift(),g.getRule&&(b=g.getRule())&&d.push(b),g=g.findChildren(a),c=c.concat(g);return d}; +sre.Trie.prototype.hasSubtrie=function(a){for(var b=this.root,c=0,d=a.length;c<d;c++)if(b=b.getChild(a[c]),!b)return!1;return!0};sre.Trie.prototype.toString=function(){return sre.Trie.printWithDepth_(this.root,0,"")};sre.Trie.prototype.collectRules=function(){return sre.Trie.collectRules_(this.root)};sre.Trie.prototype.order=function(){return sre.Trie.order_(this.root)}; +sre.Trie.printWithDepth_=function(a,b,c){var d=Array(b+2).join(b)+": ";c+=d+a.toString()+"\n";a=a.getChildren();d=0;for(var e;e=a[d];d++)c=sre.Trie.printWithDepth_(e,b+1,c);return c};sre.Trie.order_=function(a){a=a.getChildren();if(!a.length)return 0;var b=Math.max.apply(null,a.map(sre.Trie.order_));return Math.max(a.length,b)}; +sre.Trie.collectRules_=function(a){var b=[];for(a=[a];a.length;){var c=a.shift();if(c.getKind()===sre.TrieNode.Kind.QUERY||c.getKind()===sre.TrieNode.Kind.BOOLEAN){var d=c.getRule();d&&b.unshift(d)}a=a.concat(c.getChildren())}return b};sre.BaseRuleStore=function(){this.customQueries=new sre.SpeechRuleFunctions.CustomQueries;this.customStrings=new sre.SpeechRuleFunctions.CustomStrings;this.contextFunctions=new sre.SpeechRuleFunctions.ContextFunctions;this.speechRules_=[];this.trie=new sre.Trie(this);this.parseOrder=sre.DynamicCstr.DEFAULT_ORDER;this.parser=new sre.DynamicCstr.Parser(this.parseOrder);this.locale=sre.DynamicCstr.DEFAULT_VALUES[sre.DynamicCstr.Axis.LOCALE];this.initialized=!1}; +sre.BaseRuleStore.prototype.lookupRule=function(a,b){if(!a||a.nodeType!=sre.DomUtil.NodeType.ELEMENT_NODE&&a.nodeType!=sre.DomUtil.NodeType.TEXT_NODE)return null;a=this.trie.lookupRules(a,b.allProperties());return 0<a.length?this.pickMostConstraint_(b,a):null}; +sre.BaseRuleStore.prototype.defineRule=function(a,b,c,d,e){try{var f=sre.SpeechRule.Action.fromString(c),g=Array.prototype.slice.call(arguments,4),h=new sre.SpeechRule.Precondition(d,g),k=this.parseCstr(b);var l=new sre.SpeechRule(a,k,h,f)}catch(m){if("RuleError"==m.name)return console.log("Rule Error ",d,"("+b+"):",m.message),null;throw m;}this.addRule(l);return l};sre.BaseRuleStore.prototype.addRule=function(a){this.trie.addRule(a);this.speechRules_.unshift(a)}; +sre.BaseRuleStore.prototype.deleteRule=function(a){a=this.speechRules_.indexOf(a);-1!=a&&this.speechRules_.splice(a,1)};sre.BaseRuleStore.prototype.findRule=function(a){for(var b=0,c;c=this.speechRules_[b];b++)if(a(c))return c;return null};sre.BaseRuleStore.prototype.findAllRules=function(a){return this.speechRules_.filter(a)};sre.BaseRuleStore.prototype.evaluateDefault=function(a){return[sre.AuditoryDescription.create({text:a.textContent})]}; +sre.BaseRuleStore.prototype.debugSpeechRule=function(a,b){a=a.precondition;var c=this.applyQuery(b,a.query);sre.Debugger.getInstance().output(a.query,c?c.toString():c);a.constraints.forEach(goog.bind(function(a){sre.Debugger.getInstance().output(a,this.applyConstraint(b,a))},this))};sre.BaseRuleStore.prototype.initialize=goog.abstractMethod; +sre.BaseRuleStore.prototype.removeDuplicates=function(a){for(var b=this.speechRules_.length-1,c;c=this.speechRules_[b];b--)c!=a&&a.dynamicCstr.equal(c.dynamicCstr)&&sre.BaseRuleStore.comparePreconditions_(c,a)&&this.speechRules_.splice(b,1)};sre.BaseRuleStore.prototype.applyCustomQuery=function(a,b){return(b=this.customQueries.lookup(b))?b(a):null};sre.BaseRuleStore.prototype.applySelector=function(a,b){return this.applyCustomQuery(a,b)||sre.XpathUtil.evalXPath(b,a)}; +sre.BaseRuleStore.prototype.applyQuery=function(a,b){a=this.applySelector(a,b);return 0<a.length?a[0]:null};sre.BaseRuleStore.prototype.applyConstraint=function(a,b){return!!this.applyQuery(a,b)||sre.XpathUtil.evaluateBoolean(b,a)}; +sre.BaseRuleStore.prototype.pickMostConstraint_=function(a,b){var c=sre.Engine.getInstance().comparator;b.sort(function(a,b){return c.compare(a.dynamicCstr,b.dynamicCstr)||b.precondition.constraints.length-a.precondition.constraints.length});sre.Debugger.getInstance().generateOutput(goog.bind(function(){return b.map(function(a){return a.name+"("+a.dynamicCstr.toString()+")"})},this));return b[0]}; +sre.BaseRuleStore.compareStaticConstraints_=function(a,b){if(a.length!=b.length)return!1;for(var c=0,d;d=a[c];c++)if(-1==b.indexOf(d))return!1;return!0};sre.BaseRuleStore.comparePreconditions_=function(a,b){a=a.precondition;b=b.precondition;return a.query!=b.query?!1:sre.BaseRuleStore.compareStaticConstraints_(a.constraints,b.constraints)};sre.BaseRuleStore.prototype.getSpeechRules=function(){return this.speechRules_};sre.BaseRuleStore.prototype.setSpeechRules=function(a){this.speechRules_=a}; +sre.BaseRuleStore.prototype.parseCstr=function(a){return this.parser.parse(this.locale+"."+a)};sre.MathStore=function(){sre.BaseRuleStore.call(this);this.initializer=[]};goog.inherits(sre.MathStore,sre.BaseRuleStore);sre.MathStore.prototype.initialize=function(){if(!this.initialized){for(var a=0,b;b=this.initializer[a];a++)b();this.setSpeechRules(this.trie.collectRules());this.initialized=!0}}; +sre.MathStore.prototype.defineUniqueRuleAlias=function(a,b,c,d){var e=this.parseCstr(b),f=this.findRule(goog.bind(function(b){return b.name==a&&e.equal(b.dynamicCstr)},this));if(!f)throw new sre.SpeechRule.OutputError("Rule named "+a+" with style "+b+" does not exist.");this.addAlias_(f,c,Array.prototype.slice.call(arguments,3))}; +sre.MathStore.prototype.defineRuleAlias=function(a,b,c){var d=this.findRule(function(b){return b.name==a});if(!d)throw new sre.SpeechRule.OutputError("Rule with named "+a+" does not exist.");this.addAlias_(d,b,Array.prototype.slice.call(arguments,2))}; +sre.MathStore.prototype.defineRulesAlias=function(a,b,c){var d=this.findAllRules(function(b){return b.name==a});if(0==d.length)throw new sre.SpeechRule.OutputError("Rule with name "+a+" does not exist.");var e=Array.prototype.slice.call(arguments,2);d.forEach(goog.bind(function(a){this.addAlias_(a,b,e)},this))};sre.MathStore.prototype.addAlias_=function(a,b,c){b=new sre.SpeechRule.Precondition(b,c);b=new sre.SpeechRule(a.name,a.dynamicCstr,b,a.action);b.name=a.name;this.addRule(b)}; +sre.MathStore.prototype.defineSpecialisedRule=function(a,b,c,d){var e=this.parseCstr(b),f=this.findRule(goog.bind(function(b){return b.name==a&&e.equal(b.dynamicCstr)},this));if(!f)throw new sre.SpeechRule.OutputError("Rule named "+a+" with style "+b+" does not exist.");b=this.parseCstr(c);d=d?sre.SpeechRule.Action.fromString(d):f.action;f=new sre.SpeechRule(f.name,b,f.precondition,d);this.addRule(f)};sre.MathStore.prototype.evaluateDefault=function(a){return this.evaluateString_(a.textContent)}; +sre.MathStore.prototype.evaluateString_=function(a){var b=[];if(a.match(/^\s+$/))return b;a=sre.BaseUtil.removeEmpty(a.replace(/\s/g," ").split(" "));for(var c=0,d;d=a[c];c++)if(1==d.length)b.push(this.evaluate_(d));else if(d.match(/^[a-zA-Z]+$/))b.push(this.evaluate_(d));else for(;d;){var e=d.match(/^((\d{1,3})(?=,)(,\d{3})*(\.\d+)?)|^\d*\.\d+|^\d+/),f=d.match(/^[a-zA-Z]+/);e?(b.push(this.evaluate_(e[0])),d=d.substring(e[0].length)):f?(b.push(this.evaluate_(f[0])),d=d.substring(f[0].length)):(e= +d[0].charCodeAt(0),55296<=e&&56319>=e&&1<d.length&&!isNaN(d.charCodeAt(1))?(b.push(this.evaluate_(d.slice(0,2))),d=d.substring(2)):(b.push(this.evaluate_(d[0])),d=d.substring(1)))}return b};sre.MathStore.prototype.evaluate_=function(a){return sre.AuditoryDescription.create({text:a},{adjust:!0,translate:!0})};sre.WalkerUtil={};sre.WalkerUtil.splitAttribute=function(a){return a?a.split(/,/):[]};sre.WalkerUtil.getAttribute=function(a,b){return sre.DomUtil.getDataAttribute(a,b)};sre.WalkerUtil.getSemanticRoot=function(a){if(a.hasAttribute(sre.EnrichMathml.Attribute.TYPE)&&!a.hasAttribute(sre.EnrichMathml.Attribute.PARENT))return a;for(var b=sre.DomUtil.querySelectorAllByAttr(a,sre.EnrichMathml.Attribute.TYPE),c=0,d;d=b[c];c++)if(!d.hasAttribute(sre.EnrichMathml.Attribute.PARENT))return d;return a}; +sre.WalkerUtil.getBySemanticId=function(a,b){return a.getAttribute(sre.EnrichMathml.Attribute.ID)===b?a:sre.DomUtil.querySelectorAllByAttrValue(a,sre.EnrichMathml.Attribute.ID,b)[0]};sre.RebuildStree=function(a){this.nodeDict={};this.mathml=a;this.mmlRoot=sre.WalkerUtil.getSemanticRoot(a);this.streeRoot=this.assembleTree(this.mmlRoot);this.stree=sre.SemanticTree.fromNode(this.streeRoot,this.mathml);this.xml=this.stree.xml()};sre.RebuildStree.prototype.getTree=function(){return this.stree}; +sre.RebuildStree.prototype.assembleTree=function(a){var b=this.makeNode(a),c=sre.WalkerUtil.splitAttribute(sre.WalkerUtil.getAttribute(a,sre.EnrichMathml.Attribute.CHILDREN)),d=sre.WalkerUtil.splitAttribute(sre.WalkerUtil.getAttribute(a,sre.EnrichMathml.Attribute.CONTENT));if(0===d.length&&0===c.length)return b.textContent=a.textContent,b;if(0<d.length){var e=sre.WalkerUtil.getBySemanticId(a,d[0]);e&&(e=sre.WalkerUtil.splitAttribute(sre.WalkerUtil.getAttribute(e,sre.EnrichMathml.Attribute.OPERATOR)), +1<e.length&&(b.textContent=e[1]))}e=function(c){c=sre.WalkerUtil.getBySemanticId(a,c);c=this.assembleTree(c);c.parent=b;return c};b.contentNodes=d.map(goog.bind(e,this));b.childNodes=c.map(goog.bind(e,this));return(c=sre.WalkerUtil.getAttribute(a,sre.EnrichMathml.Attribute.COLLAPSED))?this.postProcess(b,c):b}; +sre.RebuildStree.prototype.makeNode=function(a){var b=sre.WalkerUtil.getAttribute(a,sre.EnrichMathml.Attribute.TYPE),c=sre.WalkerUtil.getAttribute(a,sre.EnrichMathml.Attribute.ROLE),d=sre.WalkerUtil.getAttribute(a,sre.EnrichMathml.Attribute.FONT),e=sre.WalkerUtil.getAttribute(a,sre.EnrichMathml.Attribute.ID),f=sre.WalkerUtil.getAttribute(a,sre.EnrichMathml.Attribute.EMBELLISHED);a=sre.WalkerUtil.getAttribute(a,sre.EnrichMathml.Attribute.FENCEPOINTER);e=this.createNode(parseInt(e,10));e.type=b;e.role= +c;e.font=d?d:sre.SemanticAttr.Font.UNKNOWN;a&&(e.fencePointer=a);f&&(e.embellished=f);return e};sre.RebuildStree.isPunctuated=function(a){return!sre.SemanticSkeleton.simpleCollapseStructure(a)&&a[1]&&sre.SemanticSkeleton.contentCollapseStructure(a[1])};sre.RebuildStree.prototype.makePunctuation=function(a){a=this.createNode(a);a.updateContent(sre.SemanticAttr.invisibleComma());a.role=sre.SemanticAttr.Role.DUMMY;return a}; +sre.RebuildStree.prototype.makePunctuated=function(a,b,c){var d=this.createNode(b[0]);d.type=sre.SemanticAttr.Type.PUNCTUATED;d.embellished=a.embellished;d.fencePointer=a.fencePointer;d.role=c;a=b.splice(1,1)[0].slice(1);d.contentNodes=a.map(goog.bind(this.makePunctuation,this));this.collapsedChildren_(b)};sre.RebuildStree.prototype.makeEmpty=function(a,b,c){b=this.createNode(b);b.type=sre.SemanticAttr.Type.EMPTY;b.embellished=a.embellished;b.fencePointer=a.fencePointer;b.role=c}; +sre.RebuildStree.prototype.makeIndex=function(a,b,c){sre.RebuildStree.isPunctuated(b)?this.makePunctuated(a,b,c):sre.SemanticSkeleton.simpleCollapseStructure(b)&&!this.nodeDict[b.toString()]&&this.makeEmpty(a,b,c)}; +sre.RebuildStree.prototype.postProcess=function(a,b){b=sre.SemanticSkeleton.fromString(b).array;if(a.type===sre.SemanticAttr.Role.SUBSUP){var c=this.createNode(b[1][0]);c.type=sre.SemanticAttr.Type.SUBSCRIPT;c.role=sre.SemanticAttr.Role.SUBSUP;a.type=sre.SemanticAttr.Type.SUPERSCRIPT;c.embellished=a.embellished;c.fencePointer=a.fencePointer;this.makeIndex(a,b[1][2],sre.SemanticAttr.Role.RIGHTSUB);this.makeIndex(a,b[2],sre.SemanticAttr.Role.RIGHTSUPER);this.collapsedChildren_(b);return a}if(a.type=== +sre.SemanticAttr.Type.SUBSCRIPT)return this.makeIndex(a,b[2],sre.SemanticAttr.Role.RIGHTSUB),this.collapsedChildren_(b),a;if(a.type===sre.SemanticAttr.Type.SUPERSCRIPT)return this.makeIndex(a,b[2],sre.SemanticAttr.Role.RIGHTSUPER),this.collapsedChildren_(b),a;if(a.type===sre.SemanticAttr.Type.TENSOR)return this.makeIndex(a,b[2],sre.SemanticAttr.Role.LEFTSUB),this.makeIndex(a,b[3],sre.SemanticAttr.Role.LEFTSUPER),this.makeIndex(a,b[4],sre.SemanticAttr.Role.RIGHTSUB),this.makeIndex(a,b[5],sre.SemanticAttr.Role.RIGHTSUPER), +this.collapsedChildren_(b),a;if(a.type===sre.SemanticAttr.Type.PUNCTUATED)return sre.RebuildStree.isPunctuated(b)&&(b=b.splice(1,1)[0].slice(1),a.contentNodes=b.map(goog.bind(this.makePunctuation,this))),a;a.type===sre.SemanticAttr.Role.UNDEROVER&&(c=this.createNode(b[1][0]),a.childNodes[1].role===sre.SemanticAttr.Role.OVERACCENT?(c.type=sre.SemanticAttr.Type.OVERSCORE,a.type=sre.SemanticAttr.Type.UNDERSCORE):(c.type=sre.SemanticAttr.Type.UNDERSCORE,a.type=sre.SemanticAttr.Type.OVERSCORE),c.role= +sre.SemanticAttr.Role.UNDEROVER,c.embellished=a.embellished,c.fencePointer=a.fencePointer,this.collapsedChildren_(b));return a};sre.RebuildStree.prototype.createNode=function(a){var b=new sre.SemanticNode(a);return this.nodeDict[a.toString()]=b}; +sre.RebuildStree.prototype.collapsedChildren_=function(a){var b=goog.bind(function(a){var c=this.nodeDict[a[0]];c.childNodes=[];for(var e=1,f=a.length;e<f;e++){var g=a[e];c.childNodes.push(sre.SemanticSkeleton.simpleCollapseStructure(g)?this.nodeDict[g]:b(g))}return c},this);b(a)};sre.SpeechGenerator=function(){};sre.SpeechGenerator.prototype.getSpeech=function(a,b){};sre.SpeechGenerator.prototype.getRebuilt=function(){};sre.SpeechGenerator.prototype.setRebuilt=function(a){};sre.SpeechGenerator.prototype.start=function(){};sre.SpeechGenerator.prototype.end=function(){};sre.MathSimpleStore=function(){sre.MathStore.call(this)};goog.inherits(sre.MathSimpleStore,sre.MathStore);sre.MathSimpleStore.prototype.defineRulesFromMappings=function(a,b,c){for(var d in c)for(var e in c[d])this.defineRule(a,d+"."+e,'[t] "'+c[d][e]+'"',"self::text()",'"'===b?"self::text() = '"+b+"'":'self::text() = "'+b+'"')}; +sre.MathSimpleStore.prototype.lookupRule=function(a,b){a=this.getSpeechRules().filter(function(a){return sre.MathSimpleStore.testDynamicConstraints_(b,a)});return a.length?a.sort(function(a,b){return sre.Engine.getInstance().comparator.compare(a.dynamicCstr,b.dynamicCstr)})[0]:null};sre.MathSimpleStore.testDynamicConstraints_=function(a,b){return sre.Engine.getInstance().strict?b.dynamicCstr.equal(a):sre.Engine.getInstance().comparator.match(b.dynamicCstr)}; +sre.MathCompoundStore=function(){this.subStores_={};this.locale=sre.DynamicCstr.DEFAULT_VALUES[sre.DynamicCstr.Axis.LOCALE]};goog.addSingletonGetter(sre.MathCompoundStore);sre.MathCompoundStore.prototype.defineRules=function(a,b,c){var d=this.subStores_[b];d?sre.Debugger.getInstance().output("Store exists! "+b):(d=new sre.MathSimpleStore,this.subStores_[b]=d);d.locale=this.locale;d.defineRulesFromMappings(a,b,c)}; +sre.MathCompoundStore.prototype.changeLocale_=function(a){if(!a.locale)return!1;this.locale=a.locale;return!0};sre.MathCompoundStore.prototype.addSymbolRules=function(a){if(!this.changeLocale_(a)){var b=sre.MathSimpleStore.parseUnicode_(a.key);this.defineRules(a.key,b,a.mappings)}};sre.MathCompoundStore.prototype.addFunctionRules=function(a){if(!this.changeLocale_(a)){var b=a.names;a=a.mappings;for(var c=0,d;d=b[c];c++)this.defineRules(d,d,a)}}; +sre.MathCompoundStore.prototype.addUnitRules=function(a){if(!this.changeLocale_(a)){var b=a.names;b&&(a.names=b.map(function(a){return a+":unit"}));this.addFunctionRules(a)}};sre.MathCompoundStore.prototype.lookupRule=function(a,b){return(a=this.subStores_[a])?a.lookupRule(null,b):null};sre.MathCompoundStore.prototype.lookupString=function(a,b){return(a=this.lookupRule(a,b))?a.action.components.map(function(a){return a.content.slice(1,-1)}).join(" "):""}; +sre.MathSimpleStore.parseUnicode_=function(a){a=parseInt(a,16);if(65536>a)return String.fromCharCode(a);a-=65536;return String.fromCharCode((a>>10)+55296,(a&1023)+56320)};sre.MathMap=function(){this.store=sre.MathCompoundStore.getInstance();this.retrieveMaps()};goog.addSingletonGetter(sre.MathMap);sre.MathMap.toFetch_=0;sre.Engine.registerTest(function(){return sre.MathMap.getInstance()&&!sre.MathMap.toFetch_});sre.MathMap.prototype.stringify=function(){return JSON.stringify(this)};sre.MathMap.SYMBOLS_PATH_="symbols";sre.MathMap.FUNCTIONS_PATH_="functions";sre.MathMap.UNITS_PATH_="units";sre.MathMap.SYMBOLS_FILES_="greek-capital.js greek-small.js greek-scripts.js greek-symbols.js greek-mathfonts-bold.js greek-mathfonts-italic.js greek-mathfonts-sans-serif-bold.js hebrew_letters.js latin-lower-double-accent.js latin-lower-normal.js latin-lower-phonetic.js latin-lower-single-accent.js latin-rest.js latin-upper-double-accent.js latin-upper-normal.js latin-upper-single-accent.js latin-mathfonts-bold-fraktur.js latin-mathfonts-bold.js latin-mathfonts-bold-script.js latin-mathfonts-double-struck.js latin-mathfonts-fraktur.js latin-mathfonts-italic.js latin-mathfonts-monospace.js latin-mathfonts-sans-serif-bold.js latin-mathfonts-sans-serif-italic.js latin-mathfonts-sans-serif.js latin-mathfonts-script.js math_angles.js math_arrows.js math_characters.js math_delimiters.js math_digits.js math_geometry.js math_harpoons.js math_non_characters.js math_symbols.js math_whitespace.js other_stars.js".split(" "); +sre.MathMap.FUNCTIONS_FILES_=["algebra.js","elementary.js","hyperbolic.js","trigonometry.js"];sre.MathMap.UNITS_FILES_="energy.js length.js memory.js other.js speed.js temperature.js time.js volume.js weight.js".split(" "); +sre.MathMap.retrieveFiles=function(a,b,c){b=sre.BaseUtil.makePath(sre.SystemExternal.jsonPath+b);switch(sre.Engine.getInstance().mode){case sre.Engine.Mode.ASYNC:sre.MathMap.toFetch_+=a.length;for(var d=0,e;e=a[d];d++)sre.MathMap.fromFile_(b+e,function(a,b){sre.MathMap.toFetch_--;a||JSON.parse(b).forEach(function(a){c(a)})});break;case sre.Engine.Mode.HTTP:var f=sre.Engine.getInstance().isIE;sre.MathMap.toFetch_+=a.length;for(d=0;e=a[d];d++)f?sre.MathMap.getJsonIE_(e,c):sre.MathMap.getJsonAjax_(b+ +e,c);break;default:sre.MathMap.parseFiles(a.map(function(a){return b+a})).forEach(function(a){c(a)})}}; +sre.MathMap.prototype.retrieveMaps=function(){for(var a=0;a<sre.Variables.LOCALES.length;a++){var b=sre.Variables.LOCALES[a];sre.MathMap.retrieveFiles(sre.MathMap.FUNCTIONS_FILES_,b+"/"+sre.MathMap.FUNCTIONS_PATH_,goog.bind(this.store.addFunctionRules,this.store));sre.MathMap.retrieveFiles(sre.MathMap.SYMBOLS_FILES_,b+"/"+sre.MathMap.SYMBOLS_PATH_,goog.bind(this.store.addSymbolRules,this.store));sre.MathMap.retrieveFiles(sre.MathMap.UNITS_FILES_,b+"/"+sre.MathMap.UNITS_PATH_,goog.bind(this.store.addUnitRules, +this.store))}};sre.MathMap.getJsonIE_=function(a,b,c){var d=c||1;if(sre.BrowserUtil.mapsForIE){for(c=0;c<sre.Variables.LOCALES.length;c++){var e=sre.BrowserUtil.mapsForIE[sre.Variables.LOCALES[c]+"/"+a];e&&e.forEach(function(a){b(a)})}sre.MathMap.toFetch_--}else 5>=d?setTimeout(function(){sre.MathMap.getJsonIE_(a,b,d++)},300):sre.MathMap.toFetch_--};sre.MathMap.fromFile_=function(a,b){return sre.SystemExternal.fs.readFile(a,"utf8",b)}; +sre.MathMap.loadFile=function(a){try{return sre.MathMap.readJSON_(a)}catch(b){console.log("Unable to load file: "+a+", error: "+b)}};sre.MathMap.loadFiles=function(a){return a.map(sre.MathMap.loadFile)};sre.MathMap.parseFiles=function(a){a=sre.MathMap.loadFiles(a);return[].concat.apply([],a.map(function(a){return JSON.parse(a)}))};sre.MathMap.readJSON_=function(a){return sre.SystemExternal.fs.readFileSync(a)}; +sre.MathMap.getJsonAjax_=function(a,b){var c=new XMLHttpRequest;c.onreadystatechange=function(){4===c.readyState&&(sre.MathMap.toFetch_--,200===c.status&&JSON.parse(c.responseText).forEach(function(a){b(a)}))};c.open("GET",a,!0);c.send()};sre.AbstractionRules=function(){sre.MathStore.call(this)};goog.inherits(sre.AbstractionRules,sre.MathStore);goog.addSingletonGetter(sre.AbstractionRules);sre.AbstractionRules.mathStore=sre.AbstractionRules.getInstance();sre.AbstractionRules.defineRule_=goog.bind(sre.AbstractionRules.mathStore.defineRule,sre.AbstractionRules.mathStore);sre.AbstractionRules.defineRuleAlias_=goog.bind(sre.AbstractionRules.mathStore.defineRulesAlias,sre.AbstractionRules.mathStore); +sre.AbstractionRules.defineSpecialisedRule_=goog.bind(sre.AbstractionRules.mathStore.defineSpecialisedRule,sre.AbstractionRules.mathStore);sre.AbstractionRules.defineUniqueRuleAlias_=goog.bind(sre.AbstractionRules.mathStore.defineUniqueRuleAlias,sre.AbstractionRules.mathStore); +sre.AbstractionRules.initAbstractionRules_=function(){(0,sre.AbstractionRules.defineRule_)("abstr-collapsed","mathspeak.default",'[t] "collapsed"; [n] . (grammar:collapsed)',"self::*","@alternative",'not(@alternative="summary")','not(contains(@grammar, "collapsed"))');(0,sre.AbstractionRules.defineRule_)("abstr-identifier","mathspeak.default",'[t] "long identifier"',"self::identifier","@alternative","self::*","self::*","self::*","self::*");(0,sre.AbstractionRules.defineRule_)("abstr-identifier","mathspeak.default", +'[t] "identifier"',"self::identifier",'@alternative="summary"',"@alternative","self::*","self::*","self::*","self::*");(0,sre.AbstractionRules.defineRule_)("abstr-identifier","mathspeak.brief",'[t] "identifier"',"self::identifier","@alternative","self::*","self::*","self::*","self::*");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-identifier","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-number","mathspeak.default",'[t] "long number"',"self::number","@alternative"); +(0,sre.AbstractionRules.defineRule_)("abstr-number","mathspeak.default",'[t] "number"',"self::number","@alternative",'@alternative="summary"');(0,sre.AbstractionRules.defineRule_)("abstr-number","mathspeak.brief",'[t] "number"',"self::number","@alternative");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-number","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-mixed-number","mathspeak.default",'[t] "long mixed number"',"self::number","@alternative",'@role="mixed"'); +(0,sre.AbstractionRules.defineRule_)("abstr-mixed-number","mathspeak.brief",'[t] "mixed number"',"self::number","@alternative",'@role="mixed"');(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-mixed-number","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-text","mathspeak.default",'[t] "text"',"self::text","@alternative");(0,sre.AbstractionRules.defineRule_)("abstr-function","mathspeak.default",'[t] "functional expression"',"self::function","@alternative","self::*"); +(0,sre.AbstractionRules.defineRule_)("abstr-function","mathspeak.brief",'[t] "function"',"self::function","@alternative","self::*");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-function","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-lim","mathspeak.default",'[t] "limit function"',"self::function","@alternative",'@role="limit function"');(0,sre.AbstractionRules.defineRule_)("abstr-lim","mathspeak.brief",'[t] "lim"',"self::function","@alternative",'@role="limit function"'); +(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-lim","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-fraction","mathspeak.default",'[t] "fraction"',"self::fraction","@alternative");(0,sre.AbstractionRules.defineRule_)("abstr-fraction","mathspeak.brief",'[t] "frac"',"self::fraction","@alternative");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-fraction","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-continued-fraction", +"mathspeak.default",'[t] "continued fraction"',"self::fraction","@alternative",'children/*[2]/descendant-or-self::*[@role="ellipsis"]',"self::*","self::*");(0,sre.AbstractionRules.defineRule_)("abstr-continued-fraction","mathspeak.brief",'[t] "continued frac"',"self::fraction","@alternative",'children/*[2]/descendant-or-self::*[@role="ellipsis"]',"self::*","self::*");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-continued-fraction","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-sqrt", +"mathspeak.default",'[t] "square root"',"self::sqrt","@alternative");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-sqrt","mathspeak.default","mathspeak.brief");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-sqrt","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-sqrt-nested","mathspeak.default",'[t] "nested square root"',"self::sqrt","@alternative","children/*/descendant-or-self::sqrt or children/*/descendant-or-self::root");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-sqrt-nested", +"mathspeak.default","mathspeak.brief");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-sqrt-nested","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-root","mathspeak.default",'[t] "root of index"; [n] children/*[1]; [t] "endindex"',"self::root","@alternative","following-sibling::* or ancestor::*/following-sibling::*");(0,sre.AbstractionRules.defineRule_)("abstr-root","mathspeak.brief",'[t] "root"',"self::root","@alternative");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-root", +"mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-root-nested","mathspeak.default",'[t] "nested root of index"; [n] children/*[1]',"self::root","@alternative","children/*/descendant-or-self::sqrt or children/*/descendant-or-self::root");(0,sre.AbstractionRules.defineRule_)("abstr-root-nested","mathspeak.default",'[t] "nested root of index"; [n] children/*[1]; [t] "endindex"',"self::root","@alternative","children/*/descendant-or-self::sqrt or children/*/descendant-or-self::root", +"following-sibling::* or ancestor::*/following-sibling::*");(0,sre.AbstractionRules.defineRule_)("abstr-root-nested","mathspeak.brief",'[t] "nested root"',"self::root","@alternative","children/*/descendant-or-self::sqrt or children/*/descendant-or-self::root");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-root-nested","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-superscript","mathspeak.default",'[t] "power"',"self::superscript","@alternative","self::*", +"self::*","self::*","self::*");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-superscript","mathspeak.default","mathspeak.brief");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-superscript","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-subscript","mathspeak.default",'[t] "subscript"',"self::subscript","@alternative","self::*","self::*","self::*");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-subscript","mathspeak.default","mathspeak.brief"); +(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-subscript","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-subsup","mathspeak.default",'[t] "power with subscript"',"self::superscript","@alternative",'name(children/*[1])="subscript"',"self::*","self::*","self::*");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-subsup","mathspeak.default","mathspeak.brief");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-subsup","mathspeak.brief","mathspeak.sbrief"); +(0,sre.AbstractionRules.defineRule_)("abstr-infixop","mathspeak.default",'[t] @role (grammar:localRole); [t] "with"; [t] count(./children/*); [t] "elements"',"self::infixop","@alternative");(0,sre.AbstractionRules.defineRule_)("abstr-infixop","mathspeak.default",'[t] @role (grammar:localRole); [t] "with variable number of elements"',"self::infixop","@alternative","count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRule_)("abstr-infixop","mathspeak.brief", +"[t] @role (grammar:localRole)","self::infixop","@alternative");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-infixop","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-addition","mathspeak.default",'[t] "sum with"; [t] count(./children/*); [t] "summands"',"self::infixop","@alternative",'@role="addition"');(0,sre.AbstractionRules.defineRule_)("abstr-addition","mathspeak.brief",'[t] "sum"',"self::infixop","@alternative",'@role="addition"');(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-addition", +"mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-var-addition","mathspeak.default",'[t] "sum with variable number of summands"',"self::infixop","@alternative",'@role="addition"',"count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRule_)("abstr-multiplication","mathspeak.default",'[t] "product with"; [t] count(./children/*); [t] "factors"',"self::infixop","@alternative",'@role="multiplication"');(0,sre.AbstractionRules.defineRule_)("abstr-multiplication", +"mathspeak.brief",'[t] "product"',"self::infixop","@alternative",'@role="multiplication"');(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-multiplication","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRuleAlias_)("abstr-multiplication","self::infixop","@alternative",'@role="implicit"');(0,sre.AbstractionRules.defineRule_)("abstr-var-multiplication","mathspeak.default",'[t] "product with variable number of factors"',"self::infixop","@alternative",'@role="multiplication"', +"count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRuleAlias_)("abstr-var-multiplication","self::infixop","@alternative",'@role="implicit"',"count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRule_)("abstr-vector","mathspeak.default",'[t] count(./children/*) ; [t] "dimensional vector"',"self::vector","@alternative");(0,sre.AbstractionRules.defineRule_)("abstr-vector","mathspeak.brief",'[t] "vector"',"self::vector", +"@alternative");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-vector","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-var-vector","mathspeak.default",'[t] "n dimensional vector"',"self::vector","@alternative",'./children/*/children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRule_)("abstr-binomial","mathspeak.default",'[t] "binomial"',"self::vector","@alternative",'@role="binomial"');(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-binomial", +"mathspeak.default","mathspeak.brief");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-binomial","mathspeak.default","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-determinant","mathspeak.default",'[t] count(./children/*); [t] "dimensional determinant"',"self::matrix","@alternative",'@role="determinant"',"self::*");(0,sre.AbstractionRules.defineRule_)("abstr-determinant","mathspeak.brief",'[t] "determinant"',"self::matrix","@alternative",'@role="determinant"',"self::*");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-determinant", +"mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-var-determinant","mathspeak.default",'[t] "n dimensional determinant"',"self::matrix","@alternative",'@role="determinant"','./children/*/children/*/children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRule_)("abstr-squarematrix","mathspeak.default",'[t] count(./children/*); [t] "dimensional square matrix"',"self::matrix","@alternative",'@role="squarematrix"');(0,sre.AbstractionRules.defineRule_)("abstr-squarematrix", +"mathspeak.brief",'[t] "square matrix"',"self::matrix","@alternative",'@role="squarematrix"');(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-squarematrix","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-rowvector","mathspeak.default",'[t] count(./children/row/children/*); [t] "dimensional row vector"',"self::matrix","@alternative",'@role="rowvector"');(0,sre.AbstractionRules.defineRule_)("abstr-rowvector","mathspeak.brief",'[t] "row vector"',"self::matrix", +"@alternative",'@role="rowvector"');(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-rowvector","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-var-matrix","mathspeak.default",'[t] "n dimensional row vector"',"self::matrix","@alternative",'@role="rowvector"','./children/*/children/*/children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRule_)("abstr-matrix","mathspeak.default",'[t] count(children/*); [t] "by";[t] count(children/*[1]/children/*); [t] "matrix"', +"self::matrix","@alternative");(0,sre.AbstractionRules.defineRule_)("abstr-matrix","mathspeak.brief",'[t] "matrix"',"self::matrix","@alternative");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-matrix","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-var-matrix","mathspeak.default",'[t] "n by m dimensional matrix"',"self::matrix","@alternative",'./children/*/children/*/children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRule_)("abstr-cases", +"mathspeak.default",'[t] "case statement";[t] "with"; [t] count(children/*); [t] "cases"',"self::cases","@alternative");(0,sre.AbstractionRules.defineRule_)("abstr-cases","mathspeak.brief",'[t] "case statement"',"self::cases","@alternative");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-cases","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-var-cases","mathspeak.default",'[t] "case statement with variable number of cases"',"self::cases","@alternative",'./children/row/children/cell/children/punctuation[@role="ellipsis"]or ./children/line/children/punctuation[@role="ellipsis"]'); +(0,sre.AbstractionRules.defineRule_)("abstr-punctuated","mathspeak.default",'[n] content/*[1]; [t] "separated list";[t] "of length"; [t] count(children/*) - count(content/*)',"self::punctuated","@alternative");(0,sre.AbstractionRules.defineRule_)("abstr-punctuated","mathspeak.brief",'[n] content/*[1]; [t] "separated list"',"self::punctuated","@alternative");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-punctuated","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-var-punctuated", +"mathspeak.default",'[n] content/*[1]; [t] "separated list";[t] "of variable length"',"self::punctuated","@alternative",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRule_)("abstr-bigop","mathspeak.default","[n] content/*[1]","self::bigop","@alternative","self::*");(0,sre.AbstractionRules.defineRule_)("abstr-integral","mathspeak.default",'[t] "integral"',"self::*","@alternative",'@role="integral"');(0,sre.AbstractionRules.defineRule_)("abstr-relation","mathspeak.default", +"[t] @role (grammar:localRole);","self::relseq","@alternative","count(./children/*)=2");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-relation","mathspeak.default","mathspeak.brief");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-relation","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-relation","mathspeak.default",'[t] @role (grammar:localRole); [t] "sequence"; [t] "with"; [t] count(./children/*); [t] "elements"',"self::relseq","@alternative","count(./children/*)>2"); +(0,sre.AbstractionRules.defineRule_)("abstr-relation","mathspeak.brief",'[t] @role (grammar:localRole); [t] "sequence"',"self::relseq","@alternative","count(./children/*)>2");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-relation","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-var-relation","mathspeak.default",'[t] @role (grammar:localRole); [t] "sequence"; [t] "with variable number of elements"',"self::relseq","@alternative","count(./children/*)>2",'./children/punctuation[@role="ellipsis"]'); +(0,sre.AbstractionRules.defineUniqueRuleAlias_)("abstr-relation","mathspeak.default","self::multirel","@alternative",'@role!="unknown"',"count(./children/*)>2");(0,sre.AbstractionRules.defineUniqueRuleAlias_)("abstr-relation","mathspeak.brief","self::multirel","@alternative",'@role!="unknown"',"count(./children/*)>2");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-relation","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRuleAlias_)("abstr-var-relation","self::multirel", +"@alternative",'@role!="unknown"',"count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRule_)("abstr-multirel","mathspeak.default",'[t] "relation sequence"; [t] "with"; [t] count(./children/*); [t] "elements"',"self::multirel","@alternative","count(./children/*)>2");(0,sre.AbstractionRules.defineRule_)("abstr-multirel","mathspeak.brief",'[t] "relation sequence"',"self::multirel","@alternative","count(./children/*)>2");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-multirel", +"mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-var-multirel","mathspeak.default",'[t] "relation sequence with variable number of elements"',"self::multirel","@alternative","count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionRules.defineRule_)("abstr-table","mathspeak.default",'[t] "table with"; [t] count(children/*); [t] "rows and";[t] count(children/*[1]/children/*); [t] "columns"',"self::table","@alternative");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-table", +"mathspeak.default","mathspeak.brief");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-table","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-line","mathspeak.default",'[t] "in"; [t] @role (grammar:localRole);',"self::line","@alternative");(0,sre.AbstractionRules.defineRule_)("abstr-row","mathspeak.default",'[t] "in"; [t] @role (grammar:localRole);[t] count(preceding-sibling::..); [t] "with";[t] count(children/*); [t] "columns"',"self::row","@alternative", +"*");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-row","mathspeak.default","mathspeak.brief");(0,sre.AbstractionRules.defineSpecialisedRule_)("abstr-row","mathspeak.default","mathspeak.sbrief");(0,sre.AbstractionRules.defineRule_)("abstr-cell","mathspeak.default",'[t] "in"; [t] @role (grammar:localRole);',"self::cell","@alternative")};sre.AbstractionRules.getInstance().initializer=[sre.AbstractionRules.initAbstractionRules_];sre.AbstractionSpanish=function(){sre.MathStore.call(this);this.locale="es"};goog.inherits(sre.AbstractionSpanish,sre.MathStore);goog.addSingletonGetter(sre.AbstractionSpanish);sre.AbstractionSpanish.mathStore=sre.AbstractionSpanish.getInstance();sre.AbstractionSpanish.defineRule_=goog.bind(sre.AbstractionSpanish.mathStore.defineRule,sre.AbstractionSpanish.mathStore);sre.AbstractionSpanish.defineRuleAlias_=goog.bind(sre.AbstractionSpanish.mathStore.defineRulesAlias,sre.AbstractionSpanish.mathStore); +sre.AbstractionSpanish.defineSpecialisedRule_=goog.bind(sre.AbstractionSpanish.mathStore.defineSpecialisedRule,sre.AbstractionSpanish.mathStore);sre.AbstractionSpanish.defineUniqueRuleAlias_=goog.bind(sre.AbstractionSpanish.mathStore.defineUniqueRuleAlias,sre.AbstractionSpanish.mathStore); +sre.AbstractionSpanish.initAbstractionSpanish_=function(){(0,sre.AbstractionSpanish.defineRule_)("abstr-collapsed","mathspeak.default",'[n] . (grammar:collapsed); [t] "plegado"',"self::*","@alternative",'not(@alternative="summary")','not(contains(@grammar, "collapsed"))');(0,sre.AbstractionSpanish.defineRule_)("abstr-identifier","mathspeak.default",'[t] "identificador largo"',"self::identifier","@alternative","self::*","self::*","self::*","self::*");(0,sre.AbstractionSpanish.defineRule_)("abstr-identifier", +"mathspeak.default",'[t] "identificador"',"self::identifier",'@alternative="summary"',"@alternative","self::*","self::*","self::*","self::*");(0,sre.AbstractionSpanish.defineRule_)("abstr-identifier","mathspeak.brief",'[t] "identificador"',"self::identifier","@alternative","self::*","self::*","self::*","self::*");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-identifier","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-number","mathspeak.default",'[t] "n\u00famero largo"', +"self::number","@alternative");(0,sre.AbstractionSpanish.defineRule_)("abstr-number","mathspeak.default",'[t] "n\u00famero"',"self::number","@alternative",'@alternative="summary"');(0,sre.AbstractionSpanish.defineRule_)("abstr-number","mathspeak.brief",'[t] "n\u00famero"',"self::number","@alternative");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-number","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-mixed-number","mathspeak.default",'[t] "n\u00famero largo mixto"', +"self::number","@alternative",'@role="mixed"');(0,sre.AbstractionSpanish.defineRule_)("abstr-mixed-number","mathspeak.brief",'[t] "numero mixto"',"self::number","@alternative",'@role="mixed"');(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-mixed-number","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-text","mathspeak.default",'[t] "texto"',"self::text","@alternative");(0,sre.AbstractionSpanish.defineRule_)("abstr-function","mathspeak.default",'[t] "expresi\u00f3n funcional"', +"self::function","@alternative","self::*");(0,sre.AbstractionSpanish.defineRule_)("abstr-function","mathspeak.brief",'[t] "funci\u00f3n"',"self::function","@alternative","self::*");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-function","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-lim","mathspeak.default",'[t] "funci\u00f3n de l\u00edmite"',"self::function","@alternative",'@role="limit function"');(0,sre.AbstractionSpanish.defineRule_)("abstr-lim", +"mathspeak.brief",'[t] "l\u00edmite"',"self::function","@alternative",'@role="limit function"');(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-lim","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-fraction","mathspeak.default",'[t] "fracci\u00f3n"',"self::fraction","@alternative");(0,sre.AbstractionSpanish.defineRule_)("abstr-fraction","mathspeak.brief",'[t] "frac"',"self::fraction","@alternative");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-fraction", +"mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-continued-fraction","mathspeak.default",'[t] "fracci\u00f3n continua"',"self::fraction","@alternative",'children/*[2]/descendant-or-self::*[@role="ellipsis"]',"self::*","self::*");(0,sre.AbstractionSpanish.defineRule_)("abstr-continued-fraction","mathspeak.brief",'[t] "frac continua"',"self::fraction","@alternative",'children/*[2]/descendant-or-self::*[@role="ellipsis"]',"self::*","self::*");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-continued-fraction", +"mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-sqrt","mathspeak.default",'[t] "ra\u00edz cuadrada"',"self::sqrt","@alternative");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-sqrt","mathspeak.default","mathspeak.brief");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-sqrt","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-sqrt-nested","mathspeak.default",'[t] "ra\u00edz cuadrada anidada"',"self::sqrt","@alternative", +"children/*/descendant-or-self::sqrt or children/*/descendant-or-self::root");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-sqrt-nested","mathspeak.default","mathspeak.brief");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-sqrt-nested","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-root","mathspeak.default",'[t] "ra\u00edz del \u00edndice"; [n] children/*[1]; [t] "finalizar de \u00edndice"',"self::root","@alternative","following-sibling::* or ancestor::*/following-sibling::*"); +(0,sre.AbstractionSpanish.defineRule_)("abstr-root","mathspeak.brief",'[t] "ra\u00edz"',"self::root","@alternative");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-root","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-root-nested","mathspeak.default",'[t] "ra\u00edz anidada del \u00edndice"; [n] children/*[1]',"self::root","@alternative","children/*/descendant-or-self::sqrt or children/*/descendant-or-self::root");(0,sre.AbstractionSpanish.defineRule_)("abstr-root-nested", +"mathspeak.default",'[t] "ra\u00edz anidada del \u00edndice"; [n] children/*[1]; [t] "finalizar de \u00edndice"',"self::root","@alternative","children/*/descendant-or-self::sqrt or children/*/descendant-or-self::root","following-sibling::* or ancestor::*/following-sibling::*");(0,sre.AbstractionSpanish.defineRule_)("abstr-root-nested","mathspeak.brief",'[t] "ra\u00edz anidada"',"self::root","@alternative","children/*/descendant-or-self::sqrt or children/*/descendant-or-self::root");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-root-nested", +"mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-superscript","mathspeak.default",'[t] "potencia"',"self::superscript","@alternative","self::*","self::*","self::*","self::*");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-superscript","mathspeak.default","mathspeak.brief");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-superscript","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-subscript","mathspeak.default", +'[t] "sub\u00edndice"',"self::subscript","@alternative","self::*","self::*","self::*");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-subscript","mathspeak.default","mathspeak.brief");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-subscript","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-subsup","mathspeak.default",'[t] "potencia con sub\u00edndice"',"self::superscript","@alternative",'name(children/*[1])="subscript"',"self::*","self::*","self::*"); +(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-subsup","mathspeak.default","mathspeak.brief");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-subsup","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-infixop","mathspeak.default",'[t] @role (grammar:localRole); [t] "con"; [t] count(./children/*); [t] "elementos"',"self::infixop","@alternative");(0,sre.AbstractionSpanish.defineRule_)("abstr-infixop","mathspeak.default",'[t] @role (grammar:localRole); [t] "con una cantidad variable de elementos"', +"self::infixop","@alternative","count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineRule_)("abstr-infixop","mathspeak.brief","[t] @role (grammar:localRole)","self::infixop","@alternative");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-infixop","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-addition","mathspeak.default",'[t] "suma con"; [t] count(./children/*); [t] "sumandos"',"self::infixop","@alternative", +'@role="addition"');(0,sre.AbstractionSpanish.defineRule_)("abstr-addition","mathspeak.brief",'[t] "suma"',"self::infixop","@alternative",'@role="addition"');(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-addition","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-var-addition","mathspeak.default",'[t] "suma con n\u00famero variable de sumandos"',"self::infixop","@alternative",'@role="addition"',"count(./children/*)>2",'./children/punctuation[@role="ellipsis"]'); +(0,sre.AbstractionSpanish.defineRule_)("abstr-multiplication","mathspeak.default",'[t] "producto con"; [t] count(./children/*); [t] "factores"',"self::infixop","@alternative",'@role="multiplication"');(0,sre.AbstractionSpanish.defineRule_)("abstr-multiplication","mathspeak.brief",'[t] "producto"',"self::infixop","@alternative",'@role="multiplication"');(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-multiplication","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRuleAlias_)("abstr-multiplication", +"self::infixop","@alternative",'@role="implicit"');(0,sre.AbstractionSpanish.defineRule_)("abstr-var-multiplication","mathspeak.default",'[t] "producto con una cantidad variable de factores"',"self::infixop","@alternative",'@role="multiplication"',"count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineRuleAlias_)("abstr-var-multiplication","self::infixop","@alternative",'@role="implicit"',"count(./children/*)>2",'./children/punctuation[@role="ellipsis"]'); +(0,sre.AbstractionSpanish.defineRule_)("abstr-vector","mathspeak.default",'[t] "vector de dimensi\u00f3n"; [t] count(./children/*)',"self::vector","@alternative");(0,sre.AbstractionSpanish.defineRule_)("abstr-vector","mathspeak.brief",'[t] "vector"',"self::vector","@alternative");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-vector","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-var-vector","mathspeak.default",'[t] "vector de dimensi\u00f3n n"',"self::vector", +"@alternative",'./children/*/children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineRule_)("abstr-binomial","mathspeak.default",'[t] "binomio"',"self::vector","@alternative",'@role="binomial"');(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-binomial","mathspeak.default","mathspeak.brief");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-binomial","mathspeak.default","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-determinant","mathspeak.default", +'[t] "determinante de dimensi\u00f3n"; [t] count(./children/*)',"self::matrix","@alternative",'@role="determinant"',"self::*");(0,sre.AbstractionSpanish.defineRule_)("abstr-determinant","mathspeak.brief",'[t] "determinante"',"self::matrix","@alternative",'@role="determinant"',"self::*");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-determinant","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-var-determinant","mathspeak.default",'[t] "determinante de dimensi\u00f3n n"', +"self::matrix","@alternative",'@role="determinant"','./children/*/children/*/children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineRule_)("abstr-squarematrix","mathspeak.default",'[t] "matriz cuadrada de dimensi\u00f3n"; [t] count(./children/*)',"self::matrix","@alternative",'@role="squarematrix"');(0,sre.AbstractionSpanish.defineRule_)("abstr-squarematrix","mathspeak.brief",'[t] "matriz cuadrada"',"self::matrix","@alternative",'@role="squarematrix"');(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-squarematrix", +"mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-rowvector","mathspeak.default",'[t] "vector fila de dimensi\u00f3n"; [t] count(./children/row/children/*) ',"self::matrix","@alternative",'@role="rowvector"');(0,sre.AbstractionSpanish.defineRule_)("abstr-rowvector","mathspeak.brief",'[t] "vector fila"',"self::matrix","@alternative",'@role="rowvector"');(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-rowvector","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-var-matrix", +"mathspeak.default",'[t] "vector fila de dimensi\u00f3n n"',"self::matrix","@alternative",'@role="rowvector"','./children/*/children/*/children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineRule_)("abstr-matrix","mathspeak.default",'[t] count(children/*); [t] "por";[t] count(children/*[1]/children/*); [t] "matriz"',"self::matrix","@alternative");(0,sre.AbstractionSpanish.defineRule_)("abstr-matrix","mathspeak.brief",'[t] "matriz"',"self::matrix","@alternative");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-matrix", +"mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-var-matrix","mathspeak.default",'[t] "matriz de dimensi\u00f3n n por m"',"self::matrix","@alternative",'./children/*/children/*/children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineRule_)("abstr-cases","mathspeak.default",'[t] "declaraci\u00f3n de caso";[t] "con"; [t] count(children/*); [t] "casos"',"self::cases","@alternative");(0,sre.AbstractionSpanish.defineRule_)("abstr-cases","mathspeak.brief", +'[t] "declaraci\u00f3n de caso"',"self::cases","@alternative");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-cases","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-var-cases","mathspeak.default",'[t] "declaraci\u00f3n de caso con n\u00famero variable de casos"',"self::cases","@alternative",'./children/row/children/cell/children/punctuation[@role="ellipsis"]or ./children/line/children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineRule_)("abstr-punctuated", +"mathspeak.default",'[t] "lista separada por"; [n] content/*[1]; [t] "de longitud"; [t] count(children/*) - count(content/*)',"self::punctuated","@alternative");(0,sre.AbstractionSpanish.defineRule_)("abstr-punctuated","mathspeak.brief",'[t] "lista separada por"; [n] content/*[1]',"self::punctuated","@alternative");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-punctuated","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-var-punctuated","mathspeak.default", +'[t] "lista separada por"; [n] content/*[1]','[t] "de longitud variable"',"self::punctuated","@alternative",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineRule_)("abstr-bigop","mathspeak.default","[n] content/*[1]","self::bigop","@alternative","self::*");(0,sre.AbstractionSpanish.defineRule_)("abstr-integral","mathspeak.default",'[t] "integral"',"self::*","@alternative",'@role="integral"');(0,sre.AbstractionSpanish.defineRule_)("abstr-relation","mathspeak.default","[t] @role (grammar:localRole);", +"self::relseq","@alternative","count(./children/*)=2");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-relation","mathspeak.default","mathspeak.brief");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-relation","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-relation","mathspeak.default",'[t] "secuencia de"; [t] @role (grammar:localRole); [t] "con"; [t] count(./children/*); [t] "elementos"',"self::relseq","@alternative","count(./children/*)>2"); +(0,sre.AbstractionSpanish.defineRule_)("abstr-relation","mathspeak.brief",'[t] "secuencia de"; [t] @role (grammar:localRole)',"self::relseq","@alternative","count(./children/*)>2");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-relation","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-var-relation","mathspeak.default",'[t] "secuencia de"; [t] @role (grammar:localRole); [t] "con una cantidad variable de elementos"',"self::relseq","@alternative","count(./children/*)>2", +'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineUniqueRuleAlias_)("abstr-relation","mathspeak.default","self::multirel","@alternative",'@role!="unknown"',"count(./children/*)>2");(0,sre.AbstractionSpanish.defineUniqueRuleAlias_)("abstr-relation","mathspeak.brief","self::multirel","@alternative",'@role!="unknown"',"count(./children/*)>2");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-relation","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRuleAlias_)("abstr-var-relation", +"self::multirel","@alternative",'@role!="unknown"',"count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineRule_)("abstr-multirel","mathspeak.default",'[t] "secuencia de relaci\u00f3n"; [t] "con"; [t] count(./children/*); [t] "elementos"',"self::multirel","@alternative","count(./children/*)>2");(0,sre.AbstractionSpanish.defineRule_)("abstr-multirel","mathspeak.brief",'[t] "secuencia de relaci\u00f3n"',"self::multirel","@alternative","count(./children/*)>2"); +(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-multirel","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-var-multirel","mathspeak.default",'[t] "secuencia de relaci\u00f3n con n\u00famero variable de elementos"',"self::multirel","@alternative","count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.AbstractionSpanish.defineRule_)("abstr-table","mathspeak.default",'[t] "mesa con"; [t] count(children/*); [t] "filas y";[t] count(children/*[1]/children/*); [t] "columnas"', +"self::table","@alternative");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-table","mathspeak.default","mathspeak.brief");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-table","mathspeak.brief","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-line","mathspeak.default",'[t] "en"; [t] @role (grammar:localRole);',"self::line","@alternative");(0,sre.AbstractionSpanish.defineRule_)("abstr-row","mathspeak.default",'[t] "en"; [t] @role (grammar:localRole);[t] count(preceding-sibling::..); [t] "con";[t] count(children/*); [t] "columnas"', +"self::row","@alternative","*");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-row","mathspeak.default","mathspeak.brief");(0,sre.AbstractionSpanish.defineSpecialisedRule_)("abstr-row","mathspeak.default","mathspeak.sbrief");(0,sre.AbstractionSpanish.defineRule_)("abstr-cell","mathspeak.default",'[t] "en"; [t] @role (grammar:localRole);',"self::cell","@alternative")};sre.AbstractionSpanish.getInstance().initializer=[sre.AbstractionSpanish.initAbstractionSpanish_];sre.ClearspeakRules=function(){sre.MathStore.call(this)};goog.inherits(sre.ClearspeakRules,sre.MathStore);goog.addSingletonGetter(sre.ClearspeakRules);sre.ClearspeakRules.mathStore=sre.ClearspeakRules.getInstance();sre.ClearspeakRules.defineRule_=goog.bind(sre.ClearspeakRules.mathStore.defineRule,sre.ClearspeakRules.mathStore); +sre.ClearspeakRules.initClearspeakRules_=function(){(0,sre.ClearspeakRules.defineRule_)("fraction","mathspeak.clearspeak",'[t] "the fraction with numerator"; [n] children/*[1]; [p] (pause:300); [t] "and denominator"; [n] children/*[2]; [p] (pause:500)',"self::fraction");(0,sre.ClearspeakRules.defineRule_)("sqrt","mathspeak.clearspeak",'[t] "the square root of"; [n] children/*[1]; [p] (pause:500)',"self::sqrt")};sre.ClearspeakRules.getInstance().initializer=[sre.ClearspeakRules.initClearspeakRules_];sre.MathmlStoreUtil={};sre.MathmlStoreUtil.matchMathjaxToMathml=function(a){return sre.Engine.getInstance().alternativeHost.querySelector("#"+a.id)};sre.MathmlStoreUtil.retrieveMathjaxExtender=function(a){return(a=sre.MathmlStoreUtil.matchMathjaxToMathml(a))?[a]:[]};sre.MathmlStoreUtil.retrieveMathjaxLeaf=function(a){return(a=sre.MathmlStoreUtil.matchMathjaxToMathml(a))?[a]:[]}; +sre.MathmlStoreUtil.checkMathjaxTag=function(a,b){return(a=sre.MathmlStoreUtil.matchMathjaxToMathml(a))&&a.tagName.toUpperCase()==b?[a]:[]};sre.MathmlStoreUtil.checkMathjaxMunder=function(a){return sre.MathmlStoreUtil.checkMathjaxTag(a,"MUNDER")};sre.MathmlStoreUtil.checkMathjaxMover=function(a){return sre.MathmlStoreUtil.checkMathjaxTag(a,"MOVER")};sre.MathmlStoreUtil.checkMathjaxMsub=function(a){return sre.MathmlStoreUtil.checkMathjaxTag(a,"MSUB")}; +sre.MathmlStoreUtil.checkMathjaxMsup=function(a){return sre.MathmlStoreUtil.checkMathjaxTag(a,"MSUP")};sre.MathmlStoreUtil.mfencedSeparators=function(a,b){var c=sre.MathUtil.nextSeparatorFunction(b);return function(){return c?[sre.AuditoryDescription.create({text:c()},{translate:!0})]:[]}}; +sre.MathmlStoreUtil.contentIterator=function(a,b){var c=0<a.length?sre.XpathUtil.evalXPath("../../content/*",a[0]):[];return function(){var a=c.shift(),e=b?[sre.AuditoryDescription.create({text:b},{translate:!0})]:[];if(!a)return e;a=sre.SpeechRuleEngine.getInstance().evaluateNode(a);return e.concat(a)}};sre.StoreUtil={};sre.StoreUtil.nodeCounter=function(a,b){var c=a.length,d=0,e=b;b||(e="");return function(){d<c&&(d+=1);return e+" "+d}};sre.EmacspeakRules=function(){sre.MathStore.call(this)};goog.inherits(sre.EmacspeakRules,sre.MathStore);goog.addSingletonGetter(sre.EmacspeakRules);sre.EmacspeakRules.mathStore=sre.EmacspeakRules.getInstance();sre.EmacspeakRules.defineRule_=goog.bind(sre.EmacspeakRules.mathStore.defineRule,sre.EmacspeakRules.mathStore);sre.EmacspeakRules.defineRuleAlias_=goog.bind(sre.EmacspeakRules.mathStore.defineRuleAlias,sre.EmacspeakRules.mathStore); +sre.EmacspeakRules.addContextFunction_=goog.bind(sre.EmacspeakRules.mathStore.contextFunctions.add,sre.EmacspeakRules.mathStore.contextFunctions);sre.EmacspeakRules.addCustomQuery_=goog.bind(sre.EmacspeakRules.mathStore.customQueries.add,sre.EmacspeakRules.mathStore.customQueries);sre.EmacspeakRules.addCustomString_=goog.bind(sre.EmacspeakRules.mathStore.customStrings.add,sre.EmacspeakRules.mathStore.customStrings); +sre.EmacspeakRules.initCustomFunctions_=function(){(0,sre.EmacspeakRules.addContextFunction_)("CTXFnodeCounter",sre.StoreUtil.nodeCounter);(0,sre.EmacspeakRules.addContextFunction_)("CTXFcontentIterator",sre.MathmlStoreUtil.contentIterator);(0,sre.EmacspeakRules.addCustomQuery_)("CQFvulgarFractionSmall",sre.MathspeakUtil.isSmallVulgarFraction);(0,sre.EmacspeakRules.addCustomString_)("CSFvulgarFraction",sre.MathspeakUtil.vulgarFraction)}; +sre.EmacspeakRules.initSemanticRules_=function(){(0,sre.EmacspeakRules.defineRule_)("stree","emacspeak.default","[n] ./*[1]","self::stree");(0,sre.EmacspeakRules.defineRule_)("multrel","emacspeak.default",'[t] "multirelation"; [m] children/* (sepFunc:CTXFcontentIterator)',"self::multirel");(0,sre.EmacspeakRules.defineRule_)("variable-equality","emacspeak.default",'[t] "equation sequence"; [m] children/* (context:"part",ctxtFunc:CTXFnodeCounter,sepFunc:CTXFcontentIterator)','self::relseq[@role="equality"]', +"count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.EmacspeakRules.defineRule_)("multi-equality","emacspeak.default",'[t] "equation sequence"; [m] children/* (context:"part",ctxtFunc:CTXFnodeCounter,sepFunc:CTXFcontentIterator)','self::relseq[@role="equality"]',"count(./children/*)>2");(0,sre.EmacspeakRules.defineRule_)("multi-equality","emacspeak.short",'[t] "equation sequence"; [m] children/* (sepFunc:CTXFcontentIterator)','self::relseq[@role="equality"]',"count(./children/*)>2"); +(0,sre.EmacspeakRules.defineRule_)("equality","emacspeak.default",'[t] "equation"; [t] "left hand side"; [n] children/*[1];[p] (pause:200); [n] content/*[1] (pause:200);[t] "right hand side"; [n] children/*[2]','self::relseq[@role="equality"]',"count(./children/*)=2");(0,sre.EmacspeakRules.defineRule_)("simple-equality","emacspeak.default","[n] children/*[1]; [p] (pause:200); [n] content/*[1] (pause:200);[n] children/*[2]",'self::relseq[@role="equality"]',"count(./children/*)=2","./children/identifier or ./children/number"); +(0,sre.EmacspeakRules.defineRule_)("simple-equality2","emacspeak.default","[n] children/*[1]; [p] (pause:200); [n] content/*[1] (pause:200);[n] children/*[2]",'self::relseq[@role="equality"]',"count(./children/*)=2","./children/function or ./children/appl");(0,sre.EmacspeakRules.defineRule_)("relseq","emacspeak.default","[m] children/* (sepFunc:CTXFcontentIterator)","self::relseq");(0,sre.EmacspeakRules.defineRule_)("implicit","emacspeak.default","[m] children/*","self::infixop",'@role="implicit"', +'children/*[1][@role="latinletter"] or children/*[1][@role="greekletter"] or children/*[1][@role="otherletter"] or name(children/*[1])="number"','children/*[2][@role="latinletter"] or children/*[2][@role="greekletter"] or children/*[2][@role="otherletter"] or name(children/*[2])="number"');(0,sre.EmacspeakRules.defineRule_)("binary-operation","emacspeak.default","[p] (pause:100); [m] children/* (sepFunc:CTXFcontentIterator); [p] (pause:100);","self::infixop");(0,sre.EmacspeakRules.defineRule_)("variable-addition", +"emacspeak.default",'[t] "sum with variable number of summands";[p] (pause:400); [m] children/* (sepFunc:CTXFcontentIterator)','self::infixop[@role="addition"]',"count(children/*)>2",'children/punctuation[@role="ellipsis"]');(0,sre.EmacspeakRules.defineRule_)("prefix","emacspeak.default",'[t] "prefix"; [n] text(); [t] "of" (pause 150);[n] children/*[1]',"self::prefixop");(0,sre.EmacspeakRules.defineRule_)("negative","emacspeak.default",'[t] "negative"; [n] children/*[1]',"self::prefixop",'self::prefixop[@role="negative"]'); +(0,sre.EmacspeakRules.defineRule_)("postfix","emacspeak.default",'[n] children/*[1]; [t] "postfix"; [n] text() (pause 300)',"self::postfixop");(0,sre.EmacspeakRules.defineRule_)("identifier","emacspeak.default","[n] text()","self::identifier");(0,sre.EmacspeakRules.defineRule_)("number","emacspeak.default","[n] text()","self::number");(0,sre.EmacspeakRules.defineRule_)("font","mathspeak.default","[t] @font; [n] . (grammar:ignoreFont=@font)","self::*","@font",'not(contains(@grammar, "ignoreFont"))', +'@font!="normal"');(0,sre.EmacspeakRules.defineRule_)("font-identifier-short","emacspeak.default","[t] @font; [n] CQFhideFont; [t] CSFshowFont","self::identifier","string-length(text())=1","@font",'@font="normal"','""=translate(text(), "abcdefghijklmnopqrstuvwxyz\u03b1\u03b2\u03b3\u03b4\u03b5\u03b6\u03b7\u03b8\u03b9\u03ba\u03bb\u03bc\u03bd\u03be\u03bf\u03c0\u03c1\u03c2\u03c3\u03c4\u03c5\u03c6\u03c7\u03c8\u03c9ABCDEFGHIJKLMNOPQRSTUVWXYZ\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039a\u039b\u039c\u039d\u039e\u039f\u03a0\u03a1\u03a3\u03a3\u03a4\u03a5\u03a6\u03a7\u03a8\u03a9", "")', +'@role!="unit"');(0,sre.EmacspeakRules.defineRule_)("font-identifier","mathspeak.default","[t] @font; [n] . (grammar:ignoreFont=@font)","self::identifier","string-length(text())=1","@font",'@font="normal"','not(contains(@grammar, "ignoreFont"))','@role!="unit"');(0,sre.EmacspeakRules.defineRule_)("omit-font","mathspeak.default","[n] . (grammar:ignoreFont=@font)","self::identifier","string-length(text())=1","@font",'not(contains(@grammar, "ignoreFont"))','@font="italic"');(0,sre.EmacspeakRules.defineRule_)("simple-fraction", +"emacspeak.default",'[p] (pause:100); [n] children/*[1] (rate:0.35); [t] "over"; [n] children/*[2] (rate:-0.35); [p] (pause:100)',"self::fraction",'name(children/*[1])="number" or name(children/*[1])="identifier"','name(children/*[2])="number" or name(children/*[2])="identifier"');(0,sre.EmacspeakRules.defineRule_)("vulgar-fraction","emacspeak.default","[t] CSFvulgarFraction","self::fraction",'@role="vulgar"',"CQFvulgarFractionSmall");(0,sre.EmacspeakRules.defineRule_)("fraction","emacspeak.default", +'[p] (pause:250); [n] children/*[1] (rate:0.35); [p] (pause:250); [t] "divided by"; [p] (pause:250); [n] children/*[2] (rate:-0.35); [p] (pause:250)',"self::fraction");(0,sre.EmacspeakRules.defineRule_)("superscript","emacspeak.default",'[n] children/*[1]; [t] "super"; [n] children/*[2] (pitch:0.35);[p] (pause:300)',"self::superscript");(0,sre.EmacspeakRules.defineRule_)("subscript","emacspeak.default",'[n] children/*[1]; [t] "sub"; [n] children/*[2] (pitch:-0.35);[p] (pause:300)',"self::subscript"); +(0,sre.EmacspeakRules.defineRule_)("ellipsis","emacspeak.default",'[p] (pause:200); [t] "ellipsis"; [p] (pause:300)',"self::punctuation",'self::punctuation[@role="ellipsis"]');(0,sre.EmacspeakRules.defineRule_)("fence-single","emacspeak.default","[n] text()","self::punctuation",'self::punctuation[@role="openfence"]');(0,sre.EmacspeakRules.defineRuleAlias_)("fence-single","self::punctuation",'self::punctuation[@role="closefence"]');(0,sre.EmacspeakRules.defineRuleAlias_)("fence-single","self::punctuation", +'self::punctuation[@role="vbar"]');(0,sre.EmacspeakRules.defineRuleAlias_)("fence-single","self::punctuation",'self::punctuation[@role="application"]');(0,sre.EmacspeakRules.defineRule_)("omit-empty","emacspeak.default","[p] (pause:100)","self::empty");(0,sre.EmacspeakRules.defineRule_)("fences-open-close","emacspeak.default","[p] (pause:200); [n] children/*[1] (rate:0.35); [p] (pause:200)","self::fenced",'@role="leftright"');(0,sre.EmacspeakRules.defineRule_)("fences-open-close-in-appl","emacspeak.default", +"[p] (pause:200); [n] children/*[1]; [p] (pause:200);",'self::fenced[@role="leftright"]',"./parent::children/parent::appl");(0,sre.EmacspeakRules.defineRule_)("fences-neutral","emacspeak.default",'[p] (pause:100); [t] "absolute value of"; [n] children/*[1];[p] (pause:350);',"self::fenced",'self::fenced[@role="neutral"]');(0,sre.EmacspeakRules.defineRule_)("omit-fences","emacspeak.default","[p] (pause:500); [n] children/*[1]; [p] (pause:200);","self::fenced");(0,sre.EmacspeakRules.defineRule_)("matrix", +"emacspeak.default",'[t] "matrix"; [m] children/* (ctxtFunc:CTXFnodeCounter,context:"row",pause:100)',"self::matrix");(0,sre.EmacspeakRules.defineRule_)("matrix-row","emacspeak.default",'[m] children/* (ctxtFunc:CTXFnodeCounter,context:"column",pause:100)','self::row[@role="matrix"]');(0,sre.EmacspeakRules.defineRule_)("matrix-cell","emacspeak.default","[n] children/*[1]",'self::cell[@role="matrix"]');(0,sre.EmacspeakRules.defineRule_)("vector","emacspeak.default",'[t] "vector"; [m] children/* (ctxtFunc:CTXFnodeCounter,context:"element",pause:100)', +"self::vector");(0,sre.EmacspeakRules.defineRule_)("cases","emacspeak.default",'[t] "case statement"; [m] children/* (ctxtFunc:CTXFnodeCounter,context:"case",pause:100)',"self::cases");(0,sre.EmacspeakRules.defineRule_)("cases-row","emacspeak.default","[m] children/*",'self::row[@role="cases"]');(0,sre.EmacspeakRules.defineRule_)("cases-cell","emacspeak.default","[n] children/*[1]",'self::cell[@role="cases"]');(0,sre.EmacspeakRules.defineRule_)("row","emacspeak.default",'[m] ./* (ctxtFunc:CTXFnodeCounter,context:"column",pause:100)', +"self::row");(0,sre.EmacspeakRules.defineRule_)("cases-end","emacspeak.default",'[t] "case statement"; [m] children/* (ctxtFunc:CTXFnodeCounter,context:"case",pause:100);[t] "end cases"',"self::cases","following-sibling::*");(0,sre.EmacspeakRules.defineRule_)("multiline","emacspeak.default",'[t] "multiline equation";[m] children/* (ctxtFunc:CTXFnodeCounter,context:"line",pause:100)',"self::multiline");(0,sre.EmacspeakRules.defineRule_)("line","emacspeak.default","[m] children/*","self::line");(0,sre.EmacspeakRules.defineRule_)("table", +"emacspeak.default",'[t] "multiline equation";[m] children/* (ctxtFunc:CTXFnodeCounter,context:"row",pause:200)',"self::table");(0,sre.EmacspeakRules.defineRule_)("table-row","emacspeak.default","[m] children/* (pause:100)",'self::row[@role="table"]');(0,sre.EmacspeakRules.defineRuleAlias_)("cases-cell",'self::cell[@role="table"]');(0,sre.EmacspeakRules.defineRule_)("end-punct","emacspeak.default","[m] children/*; [p] (pause:300)","self::punctuated",'@role="endpunct"');(0,sre.EmacspeakRules.defineRule_)("start-punct", +"emacspeak.default","[n] content/*[1]; [p] (pause:200); [m] children/*[position()>1]","self::punctuated",'@role="startpunct"');(0,sre.EmacspeakRules.defineRule_)("integral-punct","emacspeak.default","[n] children/*[1] (rate:0.2); [n] children/*[3] (rate:0.2)","self::punctuated",'@role="integral"');(0,sre.EmacspeakRules.defineRule_)("punctuated","emacspeak.default","[m] children/* (pause:100)","self::punctuated");(0,sre.EmacspeakRules.defineRule_)("function","emacspeak.default","[n] text()","self::function"); +(0,sre.EmacspeakRules.defineRule_)("appl","emacspeak.default","[n] children/*[1]; [n] content/*[1]; [n] children/*[2]","self::appl");(0,sre.EmacspeakRules.defineRule_)("sum-only","emacspeak.default",'[n] children/*[1]; [t] "from"; [n] children/*[2]; [t] "to";[n] children/*[3]',"self::limboth",'@role="sum" or @role="integral"');(0,sre.EmacspeakRules.defineRule_)("limboth","emacspeak.default",'[n] children/*[1]; [p] (pause 100); [t] "over"; [n] children/*[2];[t] "under"; [n] children/*[3]; [p] (pause 250);', +"self::limboth");(0,sre.EmacspeakRules.defineRule_)("limlower","emacspeak.default",'[n] children/*[1]; [t] "over"; [n] children/*[2];',"self::limlower");(0,sre.EmacspeakRules.defineRule_)("limupper","emacspeak.default",'[n] children/*[1]; [t] "under"; [n] children/*[2];',"self::limupper");(0,sre.EmacspeakRules.defineRule_)("largeop","emacspeak.default","[n] text()","self::largeop");(0,sre.EmacspeakRules.defineRule_)("bigop","emacspeak.default",'[n] children/*[1]; [p] (pause 100); [t] "over"; [n] children/*[2];[p] (pause 250);', +"self::bigop");(0,sre.EmacspeakRules.defineRule_)("integral","emacspeak.default","[n] children/*[1]; [p] (pause 100); [n] children/*[2];[p] (pause 200); [n] children/*[3] (rate:0.35);","self::integral");(0,sre.EmacspeakRules.defineRule_)("sqrt","emacspeak.default",'[t] "Square root of"; [n] children/*[1] (rate:0.35); [p] (pause:400)',"self::sqrt");(0,sre.EmacspeakRules.defineRule_)("square","emacspeak.default",'[n] children/*[1]; [t] "squared" (pitch:0.35); [p] (pause:200)',"self::superscript","children/*[2][text()=2]", +'name(./children/*[1])!="text"');(0,sre.EmacspeakRules.defineRule_)("cube","emacspeak.default",'[n] children/*[1]; [t] "cubed" (pitch:0.35); [p] (pause:200)',"self::superscript","children/*[2][text()=3]",'name(./children/*[1])!="text"');(0,sre.EmacspeakRules.defineRule_)("root","emacspeak.default",'[t] "root of order"; [n] children/*[1];[t] "over"; [n] children/*[1] (rate:0.35); [p] (pause:400)',"self::root");(0,sre.EmacspeakRules.defineRule_)("text-no-mult","emacspeak.default","[n] children/*[1]; [p] (pause:200); [n] children/*[2]", +"self::infixop","children/text");(0,sre.EmacspeakRules.defineRule_)("text","emacspeak.default","[n] text(); [p] (pause:200)","self::text");(0,sre.EmacspeakRules.defineRule_)("unit","emacspeak.default","[t] text() (annotation:unit, preprocess)","self::identifier",'@role="unit"');(0,sre.EmacspeakRules.defineRule_)("unit-square","emacspeak.default",'[t] "square"; [n] children/*[1]',"self::superscript",'@role="unit"',"children/*[2][text()=2]",'name(children/*[1])="identifier"');(0,sre.EmacspeakRules.defineRule_)("unit-cubic", +"emacspeak.default",'[t] "cubic"; [n] children/*[1]',"self::superscript",'@role="unit"',"children/*[2][text()=3]",'name(children/*[1])="identifier"');(0,sre.EmacspeakRules.defineRule_)("reciprocal","emacspeak.default",'[t] "reciprocal"; [n] children/*[1]',"self::superscript",'@role="unit"','name(children/*[1])="identifier"','name(children/*[2])="prefixop"','children/*[2][@role="negative"]',"children/*[2]/children/*[1][text()=1]",'count(preceding-sibling::*)=0 or preceding-sibling::*[@role!="unit"]'); +(0,sre.EmacspeakRules.defineRule_)("reciprocal","emacspeak.default",'[t] "per"; [n] children/*[1]',"self::superscript",'@role="unit"','name(children/*[1])="identifier"','name(children/*[2])="prefixop"','children/*[2][@role="negative"]',"children/*[2]/children/*[1][text()=1]",'preceding-sibling::*[@role="unit"]');(0,sre.EmacspeakRules.defineRule_)("unit-combine","emacspeak.default","[m] children/*","self::infixop",'@role="unit"');(0,sre.EmacspeakRules.defineRule_)("unit-divide","emacspeak.default", +'[n] children/*[1] (pitch:0.3); [t] "per"; [n] children/*[2] (pitch:-0.3)',"self::fraction",'@role="unit"')};sre.EmacspeakRules.getInstance().initializer=[sre.EmacspeakRules.initCustomFunctions_,sre.EmacspeakRules.initSemanticRules_];sre.MathmlStore=function(){sre.MathStore.call(this)};goog.inherits(sre.MathmlStore,sre.MathStore);goog.addSingletonGetter(sre.MathmlStore);sre.MathmlStore.prototype.defineMathmlRule=function(a,b,c){this.defineRule(a,b,c,"self::mathml:"+a)};sre.MathmlStore.prototype.defineDefaultMathmlRule=function(a,b){this.defineRule(a,"default.default",b,"self::mathml:"+a)};sre.MathmlStoreRules=function(){sre.MathmlStore.call(this)};goog.inherits(sre.MathmlStoreRules,sre.MathmlStore);goog.addSingletonGetter(sre.MathmlStoreRules);sre.MathmlStoreRules.mathStore=sre.MathmlStoreRules.getInstance();sre.MathmlStoreRules.defineDefaultMathmlRule_=goog.bind(sre.MathmlStoreRules.mathStore.defineDefaultMathmlRule,sre.MathmlStoreRules.mathStore);sre.MathmlStoreRules.defineRule_=goog.bind(sre.MathmlStoreRules.mathStore.defineRule,sre.MathmlStoreRules.mathStore); +sre.MathmlStoreRules.defineRuleAlias_=goog.bind(sre.MathmlStoreRules.mathStore.defineRuleAlias,sre.MathmlStoreRules.mathStore);sre.MathmlStoreRules.addContextFunction_=goog.bind(sre.MathmlStoreRules.mathStore.contextFunctions.add,sre.MathmlStoreRules.mathStore.contextFunctions);sre.MathmlStoreRules.addCustomQuery_=goog.bind(sre.MathmlStoreRules.mathStore.customQueries.add,sre.MathmlStoreRules.mathStore.customQueries); +sre.MathmlStoreRules.initCustomFunctions_=function(){(0,sre.MathmlStoreRules.addContextFunction_)("CTXFnodeCounter",sre.StoreUtil.nodeCounter);(0,sre.MathmlStoreRules.addContextFunction_)("CTXFmfSeparators",sre.MathmlStoreUtil.mfencedSeparators);(0,sre.MathmlStoreRules.addCustomQuery_)("CQFextender",sre.MathmlStoreUtil.retrieveMathjaxExtender);(0,sre.MathmlStoreRules.addCustomQuery_)("CQFmathmlmunder",sre.MathmlStoreUtil.checkMathjaxMunder);(0,sre.MathmlStoreRules.addCustomQuery_)("CQFmathmlmover", +sre.MathmlStoreUtil.checkMathjaxMover);(0,sre.MathmlStoreRules.addCustomQuery_)("CQFmathmlmsub",sre.MathmlStoreUtil.checkMathjaxMsub);(0,sre.MathmlStoreRules.addCustomQuery_)("CQFmathmlmsup",sre.MathmlStoreUtil.checkMathjaxMsup);(0,sre.MathmlStoreRules.addCustomQuery_)("CQFlookupleaf",sre.MathmlStoreUtil.retrieveMathjaxLeaf)}; +sre.MathmlStoreRules.initDefaultRules_=function(){(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("math","[m] ./*");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("semantics","[n] ./*[1]");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mspace","[p] (pause:250)");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mstyle","[m] ./*");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mpadded","[m] ./*");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("merror","[m] ./*");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mphantom", +"[m] ./*");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mtext","[t] text(); [p] (pause:200)");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mi","[n] text()");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mo","[n] text() (rate:-0.1)");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mn","[n] text()");(0,sre.MathmlStoreRules.defineRule_)("mtext-variant","default.default",'[t] "begin"; [t] @mathvariant (pause:150);[t] text() (pause:150); [t] "end"; [t] @mathvariant (pause:200)',"self::mathml:mtext", +"@mathvariant",'@mathvariant!="normal"');(0,sre.MathmlStoreRules.defineRule_)("mi-variant","default.default","[t] @mathvariant; [n] text()","self::mathml:mi","@mathvariant",'@mathvariant!="normal"');(0,sre.MathmlStoreRules.defineRuleAlias_)("mi-variant","self::mathml:mn","@mathvariant",'@mathvariant!="normal"');(0,sre.MathmlStoreRules.defineRule_)("mo-variant","default.default","[t] @mathvariant; [n] text() (rate:-0.1)","self::mathml:mo","@mathvariant",'@mathvariant!="normal"');(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("ms", +'[t] "string" (pitch:0.5, rate:0.5); [t] text()');(0,sre.MathmlStoreRules.defineRule_)("unit","default.default",'[t] text() (grammar:annotation="unit":translate)',"self::mathml:mi",'@class="MathML-Unit"');(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("msup",'[n] ./*[1]; [t] "super";[n] ./*[2] (pitch:0.35); [p] (pause:300)');(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("msubsup",'[n] ./*[1]; [t] "sub"; [n] ./*[2] (pitch:-0.35); [p] (pause:200);[t] "super"; [n] ./*[3] (pitch:0.35); [p] (pause:300)'); +(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("msub",'[n] ./*[1]; [t] "sub"; [n] ./*[2] (pitch:-0.35); [p] (pause:300)');(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mover",'[n] ./*[2] (pitch:0.35); [p] (pause:200); [t] "over"; [n] ./*[1]; [p] (pause:400)');(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("munder",'[n] ./*[2] (pitch:-0.35); [t] "under"; [n] ./*[1]; [p] (pause:400)');(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("munderover",'[n] ./*[2] (pitch:-0.35); [t] "under and"; [n] ./*[3] (pitch:0.35); [t] "over"; [n] ./*[1]; [p] (pause:400)'); +(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mrow","[m] ./*");(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("msqrt",'[t] "Square root of"; [m] ./* (rate:0.2); [p] (pause:400)');(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mroot",'[t] "root of order"; [n] ./*[2]; [t] "of";[n] ./*[1] (rate:0.2); [p] (pause:400)');(0,sre.MathmlStoreRules.defineDefaultMathmlRule_)("mfrac",' [p] (pause:400); [n] ./*[1] (pitch:0.3); [t] "divided by"; [n] ./*[2] (pitch:-0.3); [p] (pause:400)');(0,sre.MathmlStoreRules.defineRule_)("mfrac", +"default.short",'[p] (pause:200); [t] "start frac";[n] ./*[1] (pitch:0.3); [t] "over"; [n] ./*[2] (pitch:-0.3); [p] (pause:400); [t] "end frac"',"self::mathml:mfrac");(0,sre.MathmlStoreRules.defineRule_)("mfenced-single","default.default","[n] @open; [m] ./* (separator:@separators); [n] @close","self::mathml:mfenced","@open","@close","string-length(string(@separators))=1");(0,sre.MathmlStoreRules.defineRule_)("mfenced-single","default.default",'[t] "(" (grammar:translate); [m] ./* (separator:@separators); [n] @close', +"self::mathml:mfenced","not(@open)","@close","string-length(string(@separators))=1");(0,sre.MathmlStoreRules.defineRule_)("mfenced-single","default.default",'[t] "(" (grammar:translate); [m] ./* (separator:@separators); [t] ")" (grammar:translate)',"self::mathml:mfenced","not(@open)","not(@close)","string-length(string(@separators))=1");(0,sre.MathmlStoreRules.defineRule_)("mfenced-single","default.default",'[n] @open; [m] ./* (separator:@separators); [t] ")" (grammar:translate)',"self::mathml:mfenced", +"@open","not(@close)","string-length(string(@separators))=1");(0,sre.MathmlStoreRules.defineRule_)("mfenced-omit","default.default","[n] @open; [m] ./*; [n] @close","self::mathml:mfenced","@separators","@open","@close",'string(@separators)="" or string(@separators)=" "');(0,sre.MathmlStoreRules.defineRule_)("mfenced-omit","default.default",'[t] "(" (grammar:translate); [m] ./*; [n] @close',"self::mathml:mfenced","@separators","not(@open)","@close",'string(@separators)="" or string(@separators)=" "'); +(0,sre.MathmlStoreRules.defineRule_)("mfenced-omit","default.default",'[n] @open; [m] ./*; [t] ")" (grammar:translate)',"self::mathml:mfenced","@separators","@open","not(@close)",'string(@separators)="" or string(@separators)=" "');(0,sre.MathmlStoreRules.defineRule_)("mfenced-omit","default.default",'[t] "(" (grammar:translate); [m] ./*; [t] ")" (grammar:translate)',"self::mathml:mfenced","@separators","not(@open)","not(@close)",'string(@separators)="" or string(@separators)=" "');(0,sre.MathmlStoreRules.defineRule_)("mfenced-comma", +"default.default",'[n] @open; [m] ./* (separator:"comma"); [n] @close',"self::mathml:mfenced","@open","@close","not(@separators)");(0,sre.MathmlStoreRules.defineRule_)("mfenced-comma","default.default",'[t] "(" (grammar:translate); [m] ./* (separator:"comma"); [n] @close',"self::mathml:mfenced","not(@open)","@close","not(@separators)");(0,sre.MathmlStoreRules.defineRule_)("mfenced-comma","default.default",'[n] @open; [m] ./* (separator:"comma"); [t] ")" (grammar:translate)',"self::mathml:mfenced", +"@open","not(@close)","not(@separators)");(0,sre.MathmlStoreRules.defineRule_)("mfenced-comma","default.default",'[t] "(" (grammar:translate); [m] ./* (separator:"comma"); [t] ")" (grammar:translate)',"self::mathml:mfenced","not(@open)","not(@close)","not(@separators)");(0,sre.MathmlStoreRules.defineRule_)("mfenced-multi","default.default","[n] @open; [m] ./* (sepFunc:CTXFmfSeparators, separator:@separators); [n] @close","self::mathml:mfenced","@open","@close","string-length(string(@separators))>1"); +(0,sre.MathmlStoreRules.defineRule_)("mfenced-multi","default.default",'[t] "(" (grammar:translate); [m] ./* (sepFunc:CTXFmfSeparators, separator:@separators); [n] @close',"self::mathml:mfenced","not(@open)","@close","string-length(string(@separators))>1");(0,sre.MathmlStoreRules.defineRule_)("mfenced-multi","default.default",'[n] @open; [m] ./* (sepFunc:CTXFmfSeparators, separator:@separators); [t] ")" (grammar:translate)',"self::mathml:mfenced","@open","not(@close)","string-length(string(@separators))>1"); +(0,sre.MathmlStoreRules.defineRule_)("mfenced-multi","default.default",'[t] "(" (grammar:translate); [m] ./* (sepFunc:CTXFmfSeparators, separator:@separators); [t] ")" (grammar:translate)',"self::mathml:mfenced","not(@open)","not(@close)","string-length(string(@separators))>1");(0,sre.MathmlStoreRules.defineRule_)("mtable","default.default",'[t] "matrix"; [m] ./* (ctxtFunc:CTXFnodeCounter,context:"row",pause:100)',"self::mathml:mtable");(0,sre.MathmlStoreRules.defineRule_)("mtr","default.default", +'[m] ./* (ctxtFunc:CTXFnodeCounter,context:"column",pause:100)',"self::mathml:mtr");(0,sre.MathmlStoreRules.defineRule_)("mtd","default.default","[m] ./*","self::mathml:mtd");(0,sre.MathmlStoreRules.defineRule_)("mtable","default.superbrief",'[t] count(child::mathml:mtr); [t] "by";[t] count(child::mathml:mtr[1]/mathml:mtd); [t] "matrix";',"self::mathml:mtable");(0,sre.MathmlStoreRules.defineRule_)("mtable","default.short",'[t] "matrix"; [m] ./*',"self::mathml:mtable");(0,sre.MathmlStoreRules.defineRule_)("mtr", +"default.short","[m] ./*","self::mathml:mtr");(0,sre.MathmlStoreRules.defineRule_)("mtd","default.short",'[t] "Element"; [t] count(./preceding-sibling::mathml:mtd)+1;[t] count(./parent::mathml:mtr/preceding-sibling::mathml:mtr)+1;[p] (pause:500); [m] ./*',"self::mathml:mtd");(0,sre.MathmlStoreRules.defineRule_)("mmultiscripts-4","default.default",'[n] ./*[1]; [p] (pause:200);[t] "left sub"; [n] ./*[5] (pitch:-0.35); [p] (pause:200);[t] "left super"; [n] ./*[6] (pitch:0.35); [p] (pause:200);[t] "right sub"; [n] ./*[2] (pitch:-0.35); [p] (pause:200);[t] "right super"; [n] ./*[3] (pitch:0.35); [p] (pause:300);', +"self::mathml:mmultiscripts");(0,sre.MathmlStoreRules.defineRule_)("mmultiscripts-3-1","default.default",'[n] ./*[1]; [p] (pause:200);[t] "left sub"; [n] ./*[5] (pitch:-0.35); [p] (pause:200);[t] "left super"; [n] ./*[6] (pitch:0.35); [p] (pause:200);[t] "right super"; [n] ./*[3] (pitch:0.35); [p] (pause:300);',"self::mathml:mmultiscripts","./mathml:none=./*[2]","./mathml:mprescripts=./*[4]");(0,sre.MathmlStoreRules.defineRule_)("mmultiscripts-3-2","default.default",'[n] ./*[1]; [p] (pause:200);[t] "left sub"; [n] ./*[5] (pitch:-0.35); [p] (pause:200);[t] "left super"; [n] ./*[6] (pitch:0.35); [p] (pause:200);[t] "right sub"; [n] ./*[2] (pitch:-0.35); [p] (pause:200);', +"self::mathml:mmultiscripts","./mathml:none=./*[3]","./mathml:mprescripts=./*[4]");(0,sre.MathmlStoreRules.defineRule_)("mmultiscripts-3-3","default.default",'[n] ./*[1]; [p] (pause:200);[t] "left super"; [n] ./*[6] (pitch:0.35); [p] (pause:200);[t] "right sub"; [n] ./*[2] (pitch:-0.35); [p] (pause:200);[t] "right super"; [n] ./*[3] (pitch:0.35); [p] (pause:300);',"self::mathml:mmultiscripts","./mathml:none=./*[5]","./mathml:mprescripts=./*[4]");(0,sre.MathmlStoreRules.defineRule_)("mmultiscripts-3-4", +"default.default",'[n] ./*[1]; [p] (pause:200);[t] "left sub"; [n] ./*[5] (pitch:-0.35); [p] (pause:200);[t] "right sub"; [n] ./*[2] (pitch:-0.35); [p] (pause:200);[t] "right super"; [n] ./*[3] (pitch:0.35); [p] (pause:300);',"self::mathml:mmultiscripts","./mathml:none=./*[6]","./mathml:mprescripts=./*[4]");(0,sre.MathmlStoreRules.defineRule_)("mmultiscripts-2-1","default.default",'[n] ./*[1]; [p] (pause:200);[t] "left sub"; [n] ./*[5] (pitch:-0.35); [p] (pause:200);[t] "left super"; [n] ./*[6] (pitch:0.35); [p] (pause:300);', +"self::mathml:mmultiscripts","./mathml:none=./*[2]","./mathml:none=./*[3]","./mathml:mprescripts=./*[4]");(0,sre.MathmlStoreRules.defineRule_)("mmultiscripts-1-1","default.default",'[n] ./*[1]; [p] (pause:200);[t] "left super"; [n] ./*[6] (pitch:0.35); [p] (pause:300);',"self::mathml:mmultiscripts","./mathml:none=./*[2]","./mathml:none=./*[3]","./mathml:mprescripts=./*[4]","./mathml:none=./*[5]");(0,sre.MathmlStoreRules.defineRule_)("mmultiscripts-1-2","default.default",'[n] ./*[1]; [p] (pause:200);[t] "left sub"; [n] ./*[5] (pitch:-0.35); [p] (pause:200);', +"self::mathml:mmultiscripts","./mathml:none=./*[2]","./mathml:none=./*[3]","./mathml:mprescripts=./*[4]","./mathml:none=./*[6]")}; +sre.MathmlStoreRules.initMathjaxRules_=function(){(0,sre.MathmlStoreRules.defineRule_)("mj-math","default.default","[n] ./*[1]/*[1]/*[1]",'self::span[@class="math"]');(0,sre.MathmlStoreRules.defineRule_)("mj-leaf","default.default","[n] CQFlookupleaf",'self::span[@class="mi"]');(0,sre.MathmlStoreRules.defineRuleAlias_)("mj-leaf",'self::span[@class="mo"]');(0,sre.MathmlStoreRules.defineRuleAlias_)("mj-leaf",'self::span[@class="mn"]');(0,sre.MathmlStoreRules.defineRuleAlias_)("mj-leaf",'self::span[@class="mtext"]'); +(0,sre.MathmlStoreRules.defineRule_)("mj-mo-ext","default.default","[n] CQFextender",'self::span[@class="mo"]',"./*[1]/*[1]/text()","./*[1]/*[2]/text()");(0,sre.MathmlStoreRules.defineRule_)("mj-texatom","default.default","[n] ./*[1]",'self::span[@class="texatom"]');(0,sre.MathmlStoreRules.defineRule_)("mj-msubsup","default.default",'[n] ./*[1]/*[1]/*[1]; [t] "sub"; [n] ./*[1]/*[3]/*[1] (pitch:-0.35);[p] (pause:200); [t] "super"; [n] ./*[1]/*[2]/*[1] (pitch:0.35);[p] (pause:300)','self::span[@class="msubsup"]'); +(0,sre.MathmlStoreRules.defineRule_)("mj-msub","default.default",'[n] ./*[1]/*[1]/*[1]; [t] "sub";[n] ./*[1]/*[2]/*[1] (pitch:-0.35); [p] (pause:300)','self::span[@class="msub"]');(0,sre.MathmlStoreRules.defineRule_)("mj-msup","default.default",'[n] ./*[1]/*[1]/*[1]; [t] "super";[n] ./*[1]/*[2]/*[1] (pitch:0.35); [p] (pause:300)','self::span[@class="msup"]');(0,sre.MathmlStoreRules.defineRule_)("mj-munderover","default.default",'[n] ./*[1]/*[2]/*[1] (pitch:0.35); [t] "under and";[n] ./*[1]/*[3]/*[1] (pitch:-0.35); [t] "over";[n] ./*[1]/*[1]/*[1]; [p] (pause:400)', +'self::span[@class="munderover"]');(0,sre.MathmlStoreRules.defineRule_)("mj-munder","default.default",'[n] ./*[1]/*[2]/*[1] (pitch:0.35); [t] "under";[n] ./*[1]/*[1]/*[1]; [p] (pause:400)','self::span[@class="munder"]');(0,sre.MathmlStoreRules.defineRule_)("mj-mover","default.default",'[n] ./*[1]/*[2]/*[1] (pitch:0.35); [t] "over";[n] ./*[1]/*[1]/*[1]; [p] (pause:400)','self::span[@class="mover"]');(0,sre.MathmlStoreRules.defineRule_)("mj-mfrac","default.default",'[p] (pause:250); [n] ./*[1]/*[1]/*[1] (pitch:0.3); [p] (pause:250); [t] "divided by"; [n] ./*[1]/*[2]/*[1] (pitch:-0.3);[p] (pause:400)', +'self::span[@class="mfrac"]');(0,sre.MathmlStoreRules.defineRule_)("mj-msqrt","default.default",'[t] "Square root of";[n] ./*[1]/*[1]/*[1] (rate:0.2); [p] (pause:400)','self::span[@class="msqrt"]');(0,sre.MathmlStoreRules.defineRule_)("mj-mroot","default.default",'[t] "root of order"; [n] ./*[1]/*[4]/*[1]; [t] "of";[n] ./*[1]/*[1]/*[1] (rate:0.2); [p] (pause:400)','self::span[@class="mroot"]');(0,sre.MathmlStoreRules.defineRule_)("mj-mfenced","default.default",'[t] "opening"; [n] ./*[1]; [m] ./*[position()>1 and position()<last()]; [t] "closing"; [n] ./*[last()]', +'self::span[@class="mfenced"]');(0,sre.MathmlStoreRules.defineRuleAlias_)("mj-leaf",'self::span[@class="mtable"]');(0,sre.MathmlStoreRules.defineRuleAlias_)("mj-leaf",'self::span[@class="mmultiscripts"]')}; +sre.MathmlStoreRules.initAliases_=function(){(0,sre.MathmlStoreRules.defineRuleAlias_)("mspace",'self::span[@class="mspace"]');(0,sre.MathmlStoreRules.defineRuleAlias_)("mstyle",'self::span[@class="mstyle"]');(0,sre.MathmlStoreRules.defineRuleAlias_)("mpadded",'self::span[@class="mpadded"]');(0,sre.MathmlStoreRules.defineRuleAlias_)("merror",'self::span[@class="merror"]');(0,sre.MathmlStoreRules.defineRuleAlias_)("mphantom",'self::span[@class="mphantom"]');(0,sre.MathmlStoreRules.defineRuleAlias_)("ms", +'self::span[@class="ms"]');(0,sre.MathmlStoreRules.defineRuleAlias_)("mrow",'self::span[@class="mrow"]');(0,sre.MathmlStoreRules.defineRuleAlias_)("mj-msub",'self::span[@class="msubsup"]',"CQFmathmlmsub");(0,sre.MathmlStoreRules.defineRuleAlias_)("mj-msup",'self::span[@class="msubsup"]',"CQFmathmlmsup");(0,sre.MathmlStoreRules.defineRuleAlias_)("mj-munder",'self::span[@class="munderover"]',"CQFmathmlmunder");(0,sre.MathmlStoreRules.defineRuleAlias_)("mj-mover",'self::span[@class="munderover"]',"CQFmathmlmover")}; +sre.MathmlStoreRules.initSpecializationRules_=function(){(0,sre.MathmlStoreRules.defineRule_)("square","default.default",'[n] ./*[1]; [t] "square" (pitch:0.35); [p] (pause:300)',"self::mathml:msup","./*[2][text()=2]");(0,sre.MathmlStoreRules.defineRuleAlias_)("square","self::mathml:msup","./mathml:mrow=./*[2]","count(./*[2]/*)=1","./*[2]/*[1][text()=2]");(0,sre.MathmlStoreRules.defineRule_)("cube","default.default",'[n] ./*[1]; [t] "cube" (pitch:0.35); [p] (pause:300)',"self::mathml:msup","./*[2][text()=3]"); +(0,sre.MathmlStoreRules.defineRuleAlias_)("cube","self::mathml:msup","./mathml:mrow=./*[2]","count(./*[2]/*)=1","./*[2]/*[1][text()=3]");(0,sre.MathmlStoreRules.defineRule_)("square-sub","default.default",'[n] ./*[1]; [t] "sub"; [n] ./*[2] (pitch:-0.35);[p] (pause:300); [t] "square" (pitch:0.35); [p] (pause:400)',"self::mathml:msubsup","./*[3][text()=2]");(0,sre.MathmlStoreRules.defineRuleAlias_)("square-sub","self::mathml:msubsup","./mathml:mrow=./*[3]","count(./*[3]/*)=1","./*[3]/*[1][text()=2]"); +(0,sre.MathmlStoreRules.defineRule_)("cube-sub","default.default",'[n] ./*[1]; [t] "sub"; [n] ./*[2] (pitch:-0.35);[p] (pause:300); [t] "cube" (pitch:0.35); [p] (pause:400)',"self::mathml:msubsup","./*[3][text()=3]");(0,sre.MathmlStoreRules.defineRuleAlias_)("cube-sub","self::mathml:msubsup","./mathml:mrow=./*[3]","count(./*[3]/*)=1","./*[3]/*[1][text()=3]");(0,sre.MathmlStoreRules.defineRule_)("mj-square","default.default",'[n] ./*[1]/*[1]/*[1]; [t] "square" (pitch:0.35); [p] (pause:300)','self::span[@class="msup"]', +"./*[1]/*[2]/*[1][text()=2]");(0,sre.MathmlStoreRules.defineRuleAlias_)("mj-square",'self::span[@class="msup"]','./*[1]/*[2]/*[1]=./*[1]/*[2]/span[@class="mrow"]',"count(./*[1]/*[2]/*[1]/*)=1","./*[1]/*[2]/*[1]/*[1][text()=2]");(0,sre.MathmlStoreRules.defineRuleAlias_)("mj-square",'self::span[@class="msubsup"]',"CQFmathmlmsup","./*[1]/*[2]/*[1][text()=2]");(0,sre.MathmlStoreRules.defineRuleAlias_)("mj-square",'self::span[@class="msubsup"]',"CQFmathmlmsup",'./*[1]/*[2]/*[1]=./*[1]/*[2]/span[@class="mrow"]', +"count(./*[1]/*[2]/*[1]/*)=1","./*[1]/*[2]/*[1]/*[1][text()=2]");(0,sre.MathmlStoreRules.defineRule_)("mj-cube","default.default",'[n] ./*[1]/*[1]/*[1]; [t] "cube" (pitch:0.35); [p] (pause:300)','self::span[@class="msup"]',"./*[1]/*[2]/*[1][text()=3]");(0,sre.MathmlStoreRules.defineRuleAlias_)("mj-cube",'self::span[@class="msup"]','./*[1]/*[2]/*[1]=./*[1]/*[2]/span[@class="mrow"]',"count(./*[1]/*[2]/*[1]/*)=1","./*[1]/*[2]/*[1]/*[1][text()=3]");(0,sre.MathmlStoreRules.defineRuleAlias_)("mj-cube", +'self::span[@class="msubsup"]',"CQFmathmlmsup","./*[1]/*[2]/*[1][text()=3]");(0,sre.MathmlStoreRules.defineRuleAlias_)("mj-cube",'self::span[@class="msubsup"]',"CQFmathmlmsup",'./*[1]/*[2]/*[1]=./*[1]/*[2]/span[@class="mrow"]',"count(./*[1]/*[2]/*[1]/*)=1","./*[1]/*[2]/*[1]/*[1][text()=3]");(0,sre.MathmlStoreRules.defineRule_)("mj-square-sub","default.default",'[n] ./*[1]/*[1]/*[1]; [t] "sub"; [n] ./*[1]/*[3]/*[1] (pitch:-0.35); [p] (pause:300); [t] "square" (pitch:0.35); [p] (pause:400)','self::span[@class="msubsup"]', +"./*[1]/*[2]/*[1][text()=2]");(0,sre.MathmlStoreRules.defineRuleAlias_)("mj-square-sub",'self::span[@class="msubsup"]','./*[1]/*[2]/*[1]=./*[1]/*[2]/span[@class="mrow"]',"count(./*[1]/*[2]/*[1]/*)=1","./*[1]/*[2]/*[1]/*[1][text()=2]");(0,sre.MathmlStoreRules.defineRule_)("mj-cube-sub","default.default",'[n] ./*[1]/*[1]/*[1]; [t] "sub"; [n] ./*[1]/*[3]/*[1] (pitch:-0.35); [p] (pause:300); [t] "cube" (pitch:0.35); [p] (pause:400)','self::span[@class="msubsup"]',"./*[1]/*[2]/*[1][text()=3]");(0,sre.MathmlStoreRules.defineRuleAlias_)("mj-cube-sub", +'self::span[@class="msubsup"]','./*[1]/*[2]/*[1]=./*[1]/*[2]/span[@class="mrow"]',"count(./*[1]/*[2]/*[1]/*)=1","./*[1]/*[2]/*[1]/*[1][text()=3]")};sre.MathmlStoreRules.getInstance().initializer=[sre.MathmlStoreRules.initCustomFunctions_,sre.MathmlStoreRules.initDefaultRules_,sre.MathmlStoreRules.initMathjaxRules_,sre.MathmlStoreRules.initAliases_,sre.MathmlStoreRules.initSpecializationRules_];sre.MathspeakRules=function(){sre.MathStore.call(this)};goog.inherits(sre.MathspeakRules,sre.MathStore);goog.addSingletonGetter(sre.MathspeakRules);sre.MathspeakRules.mathStore=sre.MathspeakRules.getInstance();sre.MathspeakRules.defineRule_=goog.bind(sre.MathspeakRules.mathStore.defineRule,sre.MathspeakRules.mathStore);sre.MathspeakRules.defineRuleAlias_=goog.bind(sre.MathspeakRules.mathStore.defineRulesAlias,sre.MathspeakRules.mathStore); +sre.MathspeakRules.defineSpecialisedRule_=goog.bind(sre.MathspeakRules.mathStore.defineSpecialisedRule,sre.MathspeakRules.mathStore);sre.MathspeakRules.addContextFunction_=goog.bind(sre.MathspeakRules.mathStore.contextFunctions.add,sre.MathspeakRules.mathStore.contextFunctions);sre.MathspeakRules.addCustomQuery_=goog.bind(sre.MathspeakRules.mathStore.customQueries.add,sre.MathspeakRules.mathStore.customQueries); +sre.MathspeakRules.addCustomString_=goog.bind(sre.MathspeakRules.mathStore.customStrings.add,sre.MathspeakRules.mathStore.customStrings); +sre.MathspeakRules.initCustomFunctions_=function(){(0,sre.MathspeakRules.addCustomQuery_)("CQFspaceoutNumber",sre.MathspeakUtil.spaceoutNumber);(0,sre.MathspeakRules.addCustomQuery_)("CQFspaceoutIdentifier",sre.MathspeakUtil.spaceoutIdentifier);(0,sre.MathspeakRules.addCustomString_)("CSFspaceoutText",sre.MathspeakUtil.spaceoutText);(0,sre.MathspeakRules.addCustomString_)("CSFopenFracVerbose",sre.MathspeakUtil.openingFractionVerbose);(0,sre.MathspeakRules.addCustomString_)("CSFcloseFracVerbose",sre.MathspeakUtil.closingFractionVerbose); +(0,sre.MathspeakRules.addCustomString_)("CSFoverFracVerbose",sre.MathspeakUtil.overFractionVerbose);(0,sre.MathspeakRules.addCustomString_)("CSFopenFracBrief",sre.MathspeakUtil.openingFractionBrief);(0,sre.MathspeakRules.addCustomString_)("CSFcloseFracBrief",sre.MathspeakUtil.closingFractionBrief);(0,sre.MathspeakRules.addCustomString_)("CSFopenFracSbrief",sre.MathspeakUtil.openingFractionSbrief);(0,sre.MathspeakRules.addCustomString_)("CSFcloseFracSbrief",sre.MathspeakUtil.closingFractionSbrief); +(0,sre.MathspeakRules.addCustomString_)("CSFoverFracSbrief",sre.MathspeakUtil.overFractionSbrief);(0,sre.MathspeakRules.addCustomString_)("CSFvulgarFraction",sre.MathspeakUtil.vulgarFraction);(0,sre.MathspeakRules.addCustomQuery_)("CQFvulgarFractionSmall",sre.MathspeakUtil.isSmallVulgarFraction);(0,sre.MathspeakRules.addCustomString_)("CSFopenRadicalVerbose",sre.MathspeakUtil.openingRadicalVerbose);(0,sre.MathspeakRules.addCustomString_)("CSFcloseRadicalVerbose",sre.MathspeakUtil.closingRadicalVerbose); +(0,sre.MathspeakRules.addCustomString_)("CSFindexRadicalVerbose",sre.MathspeakUtil.indexRadicalVerbose);(0,sre.MathspeakRules.addCustomString_)("CSFopenRadicalBrief",sre.MathspeakUtil.openingRadicalBrief);(0,sre.MathspeakRules.addCustomString_)("CSFcloseRadicalBrief",sre.MathspeakUtil.closingRadicalBrief);(0,sre.MathspeakRules.addCustomString_)("CSFindexRadicalBrief",sre.MathspeakUtil.indexRadicalBrief);(0,sre.MathspeakRules.addCustomString_)("CSFopenRadicalSbrief",sre.MathspeakUtil.openingRadicalSbrief); +(0,sre.MathspeakRules.addCustomString_)("CSFindexRadicalSbrief",sre.MathspeakUtil.indexRadicalSbrief);(0,sre.MathspeakRules.addCustomString_)("CSFsuperscriptVerbose",sre.MathspeakUtil.superscriptVerbose);(0,sre.MathspeakRules.addCustomString_)("CSFsuperscriptBrief",sre.MathspeakUtil.superscriptBrief);(0,sre.MathspeakRules.addCustomString_)("CSFsubscriptVerbose",sre.MathspeakUtil.subscriptVerbose);(0,sre.MathspeakRules.addCustomString_)("CSFsubscriptBrief",sre.MathspeakUtil.subscriptBrief);(0,sre.MathspeakRules.addCustomString_)("CSFbaselineVerbose", +sre.MathspeakUtil.baselineVerbose);(0,sre.MathspeakRules.addCustomString_)("CSFbaselineBrief",sre.MathspeakUtil.baselineBrief);(0,sre.MathspeakRules.addCustomString_)("CSFunderscript",sre.MathspeakUtil.nestedUnderscore);(0,sre.MathspeakRules.addCustomString_)("CSFoverscript",sre.MathspeakUtil.nestedOverscore);(0,sre.MathspeakRules.addContextFunction_)("CTXFordinalCounter",sre.MathspeakUtil.ordinalCounter);(0,sre.MathspeakRules.addContextFunction_)("CTXFcontentIterator",sre.MathmlStoreUtil.contentIterator); +(0,sre.MathspeakRules.addCustomQuery_)("CQFdetIsSimple",sre.MathspeakUtil.determinantIsSimple);(0,sre.MathspeakRules.addCustomString_)("CSFRemoveParens",sre.MathspeakUtil.removeParens);(0,sre.MathspeakRules.addCustomQuery_)("CQFresetNesting",sre.MathspeakUtil.resetNestingDepth)}; +sre.MathspeakRules.initMathspeakRules_=function(){(0,sre.MathspeakRules.defineRule_)("stree","mathspeak.default","[n] ./*[1]","self::stree","CQFresetNesting");(0,sre.MathspeakRules.defineRule_)("unknown","mathspeak.default","[n] text()","self::unknown");(0,sre.MathspeakRules.defineRule_)("protected","mathspeak.default","[t] text()","self::*",'@role="protected"');(0,sre.MathspeakRules.defineRule_)("omit-empty","mathspeak.default","[p] (pause:100)","self::empty");(0,sre.MathspeakRules.defineRule_)("blank-empty", +"mathspeak.default",'[t] "Blank"',"self::empty","count(../*)=1",'name(../..)="cell" or name(../..)="line"');(0,sre.MathspeakRules.defineRule_)("font","mathspeak.default","[t] @font (grammar:localFont); [n] . (grammar:ignoreFont=@font)","self::*","@font",'not(contains(@grammar, "ignoreFont"))','@font!="normal"');(0,sre.MathspeakRules.defineRule_)("font-identifier-short","mathspeak.default","[t] @font (grammar:localFont); [n] . (grammar:ignoreFont=@font)","self::identifier","string-length(text())=1", +"@font",'not(contains(@grammar, "ignoreFont"))','@font="normal"','""=translate(text(), "abcdefghijklmnopqrstuvwxyz\u03b1\u03b2\u03b3\u03b4\u03b5\u03b6\u03b7\u03b8\u03b9\u03ba\u03bb\u03bc\u03bd\u03be\u03bf\u03c0\u03c1\u03c2\u03c3\u03c4\u03c5\u03c6\u03c7\u03c8\u03c9ABCDEFGHIJKLMNOPQRSTUVWXYZ\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039a\u039b\u039c\u039d\u039e\u039f\u03a0\u03a1\u03a3\u03a3\u03a4\u03a5\u03a6\u03a7\u03a8\u03a9", "")','@role!="unit"');(0,sre.MathspeakRules.defineRule_)("font-identifier", +"mathspeak.default","[t] @font (grammar:localFont); [n] . (grammar:ignoreFont=@font)","self::identifier","string-length(text())=1","@font",'@font="normal"','not(contains(@grammar, "ignoreFont"))','@role!="unit"');(0,sre.MathspeakRules.defineRule_)("omit-font","mathspeak.default","[n] . (grammar:ignoreFont=@font)","self::identifier","string-length(text())=1","@font",'not(contains(@grammar, "ignoreFont"))','@font="italic"');(0,sre.MathspeakRules.defineRule_)("german-font","mathspeak.default",'[t] "German"; [n] . (grammar:ignoreFont=@font)', +"self::*","@font",'not(contains(@grammar, "ignoreFont"))','@font="fraktur"');(0,sre.MathspeakRules.defineRule_)("german-font","mathspeak.default",'[t] "bold German"; [n] . (grammar:ignoreFont=@font)',"self::*","@font",'not(contains(@grammar, "ignoreFont"))','@font="bold-fraktur"');(0,sre.MathspeakRules.defineRule_)("number","mathspeak.default","[n] text()","self::number");(0,sre.MathspeakRules.defineRule_)("mixed-number","mathspeak.default",'[n] children/*[1]; [t] "and"; [n] children/*[2]; ',"self::number", +'@role="mixed"');(0,sre.MathspeakRules.defineRule_)("number-with-chars","mathspeak.default",'[t] "Number"; [m] CQFspaceoutNumber',"self::number",'"" != translate(text(), "0123456789.,", "")','text() != translate(text(), "0123456789.,", "")');(0,sre.MathspeakRules.defineSpecialisedRule_)("number-with-chars","mathspeak.default","mathspeak.brief",'[t] "Num"; [m] CQFspaceoutNumber');(0,sre.MathspeakRules.defineSpecialisedRule_)("number-with-chars","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("number-as-upper-word", +"mathspeak.default",'[t] "UpperWord"; [t] CSFspaceoutText',"self::number","string-length(text())>1",'text()=translate(text(), "abcdefghijklmnopqrstuvwxyz\u03b1\u03b2\u03b3\u03b4\u03b5\u03b6\u03b7\u03b8\u03b9\u03ba\u03bb\u03bc\u03bd\u03be\u03bf\u03c0\u03c1\u03c2\u03c3\u03c4\u03c5\u03c6\u03c7\u03c8\u03c9", "ABCDEFGHIJKLMNOPQRSTUVWXYZ\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039a\u039b\u039c\u039d\u039e\u039f\u03a0\u03a1\u03a3\u03a3\u03a4\u03a5\u03a6\u03a7\u03a8\u03a9")','""=translate(text(), "ABCDEFGHIJKLMNOPQRSTUVWXYZ\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039a\u039b\u039c\u039d\u039e\u039f\u03a0\u03a1\u03a3\u03a3\u03a4\u03a5\u03a6\u03a7\u03a8\u03a9","")'); +(0,sre.MathspeakRules.defineRule_)("number-baseline","mathspeak.default",'[t] "Baseline"; [n] text()',"self::number",'not(contains(@grammar, "ignoreFont"))',"preceding-sibling::identifier",'preceding-sibling::*[1][@role="latinletter" or @role="greekletter" or @role="otherletter"]','parent::*/parent::infixop[@role="implicit"]');(0,sre.MathspeakRules.defineSpecialisedRule_)("number-baseline","mathspeak.default","mathspeak.brief",'[t] "Base"; [n] text()');(0,sre.MathspeakRules.defineSpecialisedRule_)("number-baseline", +"mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("number-baseline-font","mathspeak.default",'[t] "Baseline"; [t] @font; [n] . (grammar:ignoreFont=@font)',"self::number","@font",'not(contains(@grammar, "ignoreFont"))','@font!="normal"',"preceding-sibling::identifier",'preceding-sibling::*[@role="latinletter" or @role="greekletter" or @role="otherletter"]','parent::*/parent::infixop[@role="implicit"]');(0,sre.MathspeakRules.defineSpecialisedRule_)("number-baseline-font","mathspeak.default", +"mathspeak.brief",'[t] "Base"; [n] text()');(0,sre.MathspeakRules.defineSpecialisedRule_)("number-baseline-font","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("identifier","mathspeak.default","[m] CQFspaceoutIdentifier","self::identifier","string-length(text())>1",'@role!="unit"','@role!="protected"','not(@font) or @font="normal" or contains(@grammar, "ignoreFont")');(0,sre.MathspeakRules.defineRule_)("identifier","mathspeak.default","[n] text()","self::identifier",'@role="protected"'); +(0,sre.MathspeakRules.defineRule_)("negative","mathspeak.default",'[t] "negative"; [n] children/*[1]',"self::prefixop",'@role="negative"',"children/identifier");(0,sre.MathspeakRules.defineRuleAlias_)("negative","self::prefixop",'@role="negative"',"children/number");(0,sre.MathspeakRules.defineRuleAlias_)("negative","self::prefixop",'@role="negative"','children/fraction[@role="vulgar"]');(0,sre.MathspeakRules.defineRule_)("negative","mathspeak.default",'[t] "minus"; [n] children/*[1]',"self::prefixop", +'@role="negative"');(0,sre.MathspeakRules.defineRule_)("prefix","mathspeak.default","[n] text(); [n] children/*[1]","self::prefixop");(0,sre.MathspeakRules.defineRule_)("postfix","mathspeak.default","[n] children/*[1]; [n] text()","self::postfixop");(0,sre.MathspeakRules.defineRule_)("binary-operation","mathspeak.default","[m] children/* (sepFunc:CTXFcontentIterator);","self::infixop");(0,sre.MathspeakRules.defineRule_)("implicit","mathspeak.default","[m] children/*","self::infixop",'@role="implicit"'); +(0,sre.MathspeakRules.defineRuleAlias_)("implicit","self::infixop",'@role="leftsuper" or @role="leftsub" or @role="rightsuper" or @role="rightsub"');(0,sre.MathspeakRules.defineRule_)("subtraction","mathspeak.default",'[m] children/* (separator:"minus");',"self::infixop",'@role="subtraction"');(0,sre.MathspeakRules.defineRule_)("function-unknown","mathspeak.default","[n] children/*[1]; [n] children/*[2]","self::appl");(0,sre.MathspeakRules.defineRule_)("function-prefix","mathspeak.default","[n] children/*[1]; [n] children/*[2]", +"self::appl",'children/*[1][@role="prefix function"]');(0,sre.MathspeakRules.defineRule_)("fences-open-close","mathspeak.default","[n] content/*[1]; [n] children/*[1]; [n] content/*[2]","self::fenced",'@role="leftright"');(0,sre.MathspeakRules.defineRule_)("fences-neutral","mathspeak.default",'[t] "StartAbsoluteValue"; [n] children/*[1]; [t] "EndAbsoluteValue"',"self::fenced",'@role="neutral"','content/*[1][text()]="|" or content/*[1][text()]="\u2758" or content/*[1][text()]="\uff5c"');(0,sre.MathspeakRules.defineSpecialisedRule_)("fences-neutral", +"mathspeak.default","mathspeak.sbrief",'[t] "AbsoluteValue"; [n] children/*[1]; [t] "EndAbsoluteValue"');(0,sre.MathspeakRules.defineRule_)("fences-neutral","mathspeak.default","[n] content/*[1]; [n] children/*[1]; [n] content/*[2]","self::fenced",'@role="neutral"');(0,sre.MathspeakRules.defineRule_)("fences-set","mathspeak.default",'[t] "StartSet"; [n] children/*[1]; [t] "EndSet"',"self::fenced",'@role="leftright"','content/*[1][text()]="{"','content/*[2][text()]="}"',"count(children/*)=1",'not(name(../..)="appl")'); +(0,sre.MathspeakRules.defineSpecialisedRule_)("fences-set","mathspeak.default","mathspeak.sbrief",'[t] "Set"; [n] children/*[1]; [t] "EndSet"');(0,sre.MathspeakRules.defineRule_)("text","mathspeak.default","[n] text()","self::text");(0,sre.MathspeakRules.defineRule_)("factorial","mathspeak.default",'[t] "factorial"',"self::punctuation",'text()="!"','name(preceding-sibling::*[1])!="text"');(0,sre.MathspeakRules.defineRule_)("minus","mathspeak.default",'[t] "minus"',"self::operator",'text()="-"');(0,sre.MathspeakRules.defineRule_)("single-prime", +"mathspeak.default",'[t] "prime"',"self::punctuated",'@role="prime"',"count(children/*)=1");(0,sre.MathspeakRules.defineRule_)("double-prime","mathspeak.default",'[t] "double-prime"',"self::punctuated",'@role="prime"',"count(children/*)=2");(0,sre.MathspeakRules.defineRule_)("triple-prime","mathspeak.default",'[t] "triple-prime"',"self::punctuated",'@role="prime"',"count(children/*)=3");(0,sre.MathspeakRules.defineRule_)("quadruple-prime","mathspeak.default",'[t] "quadruple-prime"',"self::punctuated", +'@role="prime"',"count(children/*)=4");(0,sre.MathspeakRules.defineRule_)("counted-prime","mathspeak.default",'[t] count(children/*); [t] "prime"',"self::punctuated",'@role="prime"');(0,sre.MathspeakRules.defineRule_)("fraction","mathspeak.default","[t] CSFopenFracVerbose; [n] children/*[1]; [t] CSFoverFracVerbose; [n] children/*[2]; [t] CSFcloseFracVerbose","self::fraction");(0,sre.MathspeakRules.defineRule_)("fraction","mathspeak.brief","[t] CSFopenFracBrief; [n] children/*[1]; [t] CSFoverFracVerbose; [n] children/*[2]; [t] CSFcloseFracBrief", +"self::fraction");(0,sre.MathspeakRules.defineRule_)("fraction","mathspeak.sbrief","[t] CSFopenFracSbrief; [n] children/*[1]; [t] CSFoverFracSbrief; [n] children/*[2]; [t] CSFcloseFracSbrief","self::fraction");(0,sre.MathspeakRules.defineRule_)("vulgar-fraction","mathspeak.default","[t] CSFvulgarFraction","self::fraction",'@role="vulgar"',"CQFvulgarFractionSmall");(0,sre.MathspeakRules.defineSpecialisedRule_)("vulgar-fraction","mathspeak.default","mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("vulgar-fraction", +"mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("continued-fraction-outer","mathspeak.default",'[t] "ContinuedFraction"; [n] children/*[1];[t] "Over"; [n] children/*[2]',"self::fraction","not(ancestor::fraction)",'children/*[2]/descendant-or-self::*[@role="ellipsis" and not(following-sibling::*)]');(0,sre.MathspeakRules.defineSpecialisedRule_)("continued-fraction-outer","mathspeak.default","mathspeak.brief",'[t] "ContinuedFrac"; [n] children/*[1];[t] "Over"; [n] children/*[2]'); +(0,sre.MathspeakRules.defineSpecialisedRule_)("continued-fraction-outer","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("continued-fraction-inner","mathspeak.default",'[t] "StartFraction"; [n] children/*[1];[t] "Over"; [n] children/*[2]',"self::fraction","ancestor::fraction",'children/*[2]/descendant-or-self::*[@role="ellipsis" and not(following-sibling::*)]');(0,sre.MathspeakRules.defineSpecialisedRule_)("continued-fraction-inner","mathspeak.default","mathspeak.brief",'[t] "StartFrac"; [n] children/*[1];[t] "Over"; [n] children/*[2]'); +(0,sre.MathspeakRules.defineSpecialisedRule_)("continued-fraction-inner","mathspeak.brief","mathspeak.sbrief",'[t] "Frac"; [n] children/*[1];[t] "Over"; [n] children/*[2]');(0,sre.MathspeakRules.defineRule_)("sqrt","mathspeak.default","[t] CSFopenRadicalVerbose; [n] children/*[1]; [t] CSFcloseRadicalVerbose","self::sqrt");(0,sre.MathspeakRules.defineRule_)("sqrt","mathspeak.brief","[t] CSFopenRadicalBrief; [n] children/*[1]; [t] CSFcloseRadicalBrief","self::sqrt");(0,sre.MathspeakRules.defineRule_)("sqrt", +"mathspeak.sbrief","[t] CSFopenRadicalSbrief; [n] children/*[1]; [t] CSFcloseRadicalBrief","self::sqrt");(0,sre.MathspeakRules.defineRule_)("root","mathspeak.default","[t] CSFindexRadicalVerbose; [n] children/*[1];[t] CSFopenRadicalVerbose; [n] children/*[2]; [t] CSFcloseRadicalVerbose","self::root");(0,sre.MathspeakRules.defineRule_)("root","mathspeak.brief","[t] CSFindexRadicalBrief; [n] children/*[1];[t] CSFopenRadicalBrief; [n] children/*[2]; [t] CSFcloseRadicalBrief","self::root");(0,sre.MathspeakRules.defineRule_)("root", +"mathspeak.sbrief","[t] CSFindexRadicalSbrief; [n] children/*[1];[t] CSFopenRadicalSbrief; [n] children/*[2]; [t] CSFcloseRadicalBrief","self::root");(0,sre.MathspeakRules.defineRule_)("limboth","mathspeak.default","[n] children/*[1]; [t] CSFunderscript; [n] children/*[2];[t] CSFoverscript; [n] children/*[3]","self::limboth",'name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakRules.defineRule_)("limlower","mathspeak.default", +"[n] children/*[1]; [t] CSFunderscript; [n] children/*[2];","self::limlower",'name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakRules.defineRule_)("limupper","mathspeak.default","[n] children/*[1]; [t] CSFoverscript; [n] children/*[2];","self::limupper",'name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakRules.defineRuleAlias_)("limlower", +"self::underscore",'@role="limit function"','name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakRules.defineRuleAlias_)("limlower","self::underscore",'children/*[2][@role!="underaccent"]','name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakRules.defineRuleAlias_)("limupper","self::overscore",'children/*[2][@role!="overaccent"]', +'name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakRules.defineRule_)("limboth-end","mathspeak.default",'[n] children/*[1]; [t] CSFunderscript; [n] children/*[2];[t] CSFoverscript; [n] children/*[3]; [t] "Endscripts"',"self::limboth");(0,sre.MathspeakRules.defineRule_)("limlower-end","mathspeak.default",'[n] children/*[1]; [t] CSFunderscript; [n] children/*[2]; [t] "Endscripts"',"self::limlower");(0,sre.MathspeakRules.defineRule_)("limupper-end", +"mathspeak.default",'[n] children/*[1]; [t] CSFoverscript; [n] children/*[2]; [t] "Endscripts"',"self::limupper");(0,sre.MathspeakRules.defineRuleAlias_)("limlower-end","self::underscore",'@role="limit function"');(0,sre.MathspeakRules.defineRuleAlias_)("limlower-end","self::underscore");(0,sre.MathspeakRules.defineRuleAlias_)("limupper-end","self::overscore");(0,sre.MathspeakRules.defineRule_)("integral","mathspeak.default","[n] children/*[1]; [n] children/*[2]; [n] children/*[3];","self::integral"); +(0,sre.MathspeakRules.defineRule_)("integral","mathspeak.default",'[n] children/*[1]; [t] "Subscript"; [n] children/*[2];[t] "Superscript"; [n] children/*[3]; [t] "Baseline";',"self::limboth",'@role="integral"');(0,sre.MathspeakRules.defineSpecialisedRule_)("integral","mathspeak.default","mathspeak.brief",'[n] children/*[1]; [t] "Sub"; [n] children/*[2];[t] "Sup"; [n] children/*[3]; [t] "Base";');(0,sre.MathspeakRules.defineSpecialisedRule_)("integral","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("bigop", +"mathspeak.default","[n] children/*[1]; [n] children/*[2];","self::bigop");(0,sre.MathspeakRules.defineRule_)("relseq","mathspeak.default","[m] children/* (sepFunc:CTXFcontentIterator)","self::relseq");(0,sre.MathspeakRules.defineRule_)("equality","mathspeak.default","[n] children/*[1]; [n] content/*[1]; [n] children/*[2]","self::relseq",'@role="equality"',"count(./children/*)=2");(0,sre.MathspeakRules.defineRule_)("multi-equality","mathspeak.default","[m] children/* (sepFunc:CTXFcontentIterator)", +"self::relseq",'@role="equality"',"count(./children/*)>2");(0,sre.MathspeakRules.defineRule_)("multrel","mathspeak.default","[m] children/* (sepFunc:CTXFcontentIterator)","self::multirel");(0,sre.MathspeakRules.defineRule_)("subscript","mathspeak.default","[n] children/*[1]; [t] CSFsubscriptVerbose; [n] children/*[2]","self::subscript");(0,sre.MathspeakRules.defineRule_)("subscript","mathspeak.brief","[n] children/*[1]; [t] CSFsubscriptBrief; [n] children/*[2]","self::subscript");(0,sre.MathspeakRules.defineSpecialisedRule_)("subscript", +"mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("subscript-simple","mathspeak.default","[n] children/*[1]; [n] children/*[2]","self::subscript",'name(./children/*[1])="identifier"','name(./children/*[2])="number"','./children/*[2][@role!="mixed"]','./children/*[2][@role!="othernumber"]');(0,sre.MathspeakRules.defineSpecialisedRule_)("subscript-simple","mathspeak.default","mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("subscript-simple","mathspeak.default", +"mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("subscript-baseline","mathspeak.default","[n] children/*[1]; [t] CSFsubscriptVerbose; [n] children/*[2]; [t] CSFbaselineVerbose","self::subscript","following-sibling::*",'not(name(following-sibling::subscript/children/*[1])="empty" or (name(following-sibling::infixop[@role="implicit"]/children/*[1])="subscript" and name(following-sibling::*/children/*[1]/children/*[1])="empty")) and @role!="subsup"','not(following-sibling::*[@role="rightsuper" or @role="rightsub" or @role="leftsub" or @role="leftsub"])'); +(0,sre.MathspeakRules.defineSpecialisedRule_)("subscript-baseline","mathspeak.default","mathspeak.brief","[n] children/*[1]; [t] CSFsubscriptBrief; [n] children/*[2]; [t] CSFbaselineBrief");(0,sre.MathspeakRules.defineSpecialisedRule_)("subscript-baseline","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRuleAlias_)("subscript-baseline","self::subscript","not(following-sibling::*)","ancestor::fenced|ancestor::root|ancestor::sqrt|ancestor::punctuated|ancestor::fraction",'not(ancestor::punctuated[@role="leftsuper" or @role="rightsub" or @role="rightsuper" or @role="rightsub"])'); +(0,sre.MathspeakRules.defineRuleAlias_)("subscript-baseline","self::subscript","not(following-sibling::*)","ancestor::relseq|ancestor::multirel",sre.MathspeakUtil.generateBaselineConstraint());(0,sre.MathspeakRules.defineRuleAlias_)("subscript-baseline","self::subscript","not(following-sibling::*)","@embellished");(0,sre.MathspeakRules.defineRule_)("subscript-empty-sup","mathspeak.default","[n] children/*[1]; [n] children/*[2]","self::subscript",'name(children/*[2])="infixop"','name(children/*[2][@role="implicit"]/children/*[1])="superscript"', +'name(children/*[2]/children/*[1]/children/*[1])="empty"');(0,sre.MathspeakRules.defineSpecialisedRule_)("subscript-empty-sup","mathspeak.default","mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("subscript-empty-sup","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRuleAlias_)("subscript-empty-sup","self::subscript",'name(children/*[2])="superscript"','name(children/*[2]/children/*[1])="empty"');(0,sre.MathspeakRules.defineRule_)("superscript","mathspeak.default", +"[n] children/*[1]; [t] CSFsuperscriptVerbose; [n] children/*[2]","self::superscript");(0,sre.MathspeakRules.defineSpecialisedRule_)("superscript","mathspeak.default","mathspeak.brief","[n] children/*[1]; [t] CSFsuperscriptBrief; [n] children/*[2]");(0,sre.MathspeakRules.defineSpecialisedRule_)("superscript","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("superscript-baseline","mathspeak.default","[n] children/*[1]; [t] CSFsuperscriptVerbose; [n] children/*[2];[t] CSFbaselineVerbose", +"self::superscript","following-sibling::*",'not(name(following-sibling::superscript/children/*[1])="empty" or (name(following-sibling::infixop[@role="implicit"]/children/*[1])="superscript" and name(following-sibling::*/children/*[1]/children/*[1])="empty")) and not(following-sibling::*[@role="rightsuper" or @role="rightsub" or @role="leftsub" or @role="leftsub"])');(0,sre.MathspeakRules.defineSpecialisedRule_)("superscript-baseline","mathspeak.default","mathspeak.brief","[n] children/*[1]; [t] CSFsuperscriptBrief; [n] children/*[2];[t] CSFbaselineBrief"); +(0,sre.MathspeakRules.defineSpecialisedRule_)("superscript-baseline","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRuleAlias_)("superscript-baseline","self::superscript","not(following-sibling::*)","ancestor::punctuated",'ancestor::*/following-sibling::* and not(ancestor::punctuated[@role="leftsuper" or @role="rightsub" or @role="rightsuper" or @role="rightsub"])');(0,sre.MathspeakRules.defineRuleAlias_)("superscript-baseline","self::superscript","not(following-sibling::*)","ancestor::fraction|ancestor::fenced|ancestor::root|ancestor::sqrt"); +(0,sre.MathspeakRules.defineRuleAlias_)("superscript-baseline","self::superscript","not(following-sibling::*)","ancestor::relseq|ancestor::multirel","not(@embellished)",sre.MathspeakUtil.generateBaselineConstraint());(0,sre.MathspeakRules.defineRuleAlias_)("superscript-baseline","self::superscript","not(following-sibling::*)","@embellished",'not(children/*[2][@role="prime"])');(0,sre.MathspeakRules.defineRule_)("superscript-empty-sub","mathspeak.default","[n] children/*[1]; [n] children/*[2]","self::superscript", +'name(children/*[2])="infixop"','name(children/*[2][@role="implicit"]/children/*[1])="subscript"','name(children/*[2]/children/*[1]/children/*[1])="empty"');(0,sre.MathspeakRules.defineSpecialisedRule_)("superscript-empty-sub","mathspeak.default","mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("superscript-empty-sub","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRuleAlias_)("superscript-empty-sub","self::superscript",'name(children/*[2])="subscript"','name(children/*[2]/children/*[1])="empty"'); +(0,sre.MathspeakRules.defineRule_)("square","mathspeak.default",'[n] children/*[1]; [t] "squared"',"self::superscript","children/*[2]","children/*[2][text()=2]",'name(children/*[1])!="text" or not(name(children/*[1])="text" and (name(../../../punctuated[@role="text"]/..)="stree" or name(..)="stree"))','name(children/*[1])!="subscript" or (name(children/*[1])="subscript" and name(children/*[1]/children/*[1])="identifier" and name(children/*[1]/children/*[2])="number" and children/*[1]/children/*[2][@role!="mixed"] and children/*[1]/children/*[2][@role!="othernumber"])', +"not(@embellished)");(0,sre.MathspeakRules.defineSpecialisedRule_)("square","mathspeak.default","mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("square","mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("cube","mathspeak.default",'[n] children/*[1]; [t] "cubed"',"self::superscript","children/*[2]","children/*[2][text()=3]",'name(children/*[1])!="text" or not(name(children/*[1])="text" and (name(../../../punctuated[@role="text"]/..)="stree" or name(..)="stree"))', +'name(children/*[1])!="subscript" or (name(children/*[1])="subscript" and name(children/*[1]/children/*[1])="identifier" and name(children/*[1]/children/*[2])="number" and children/*[1]/children/*[2][@role!="mixed"] and children/*[1]/children/*[2][@role!="othernumber"])',"not(@embellished)");(0,sre.MathspeakRules.defineSpecialisedRule_)("cube","mathspeak.default","mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("cube","mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("prime", +"mathspeak.default","[n] children/*[1]; [n] children/*[2]","self::superscript","children/*[2]",'children/*[2][@role="prime"]');(0,sre.MathspeakRules.defineSpecialisedRule_)("prime","mathspeak.default","mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("prime","mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("prime-subscript","mathspeak.default","[n] children/*[1]/children/*[1]; [n] children/*[2]; [t] CSFsubscriptVerbose; [n] children/*[1]/children/*[2]","self::superscript", +'children/*[2][@role="prime"]','name(children/*[1])="subscript"',"not(following-sibling::*)");(0,sre.MathspeakRules.defineSpecialisedRule_)("prime-subscript","mathspeak.default","mathspeak.brief","[n] children/*[1]/children/*[1]; [n] children/*[2]; [t] CSFsubscriptBrief; [n] children/*[1]/children/*[2]");(0,sre.MathspeakRules.defineSpecialisedRule_)("prime-subscript","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("prime-subscript-baseline","mathspeak.default","[n] children/*[1]/children/*[1]; [n] children/*[2]; [t] CSFsubscriptVerbose; [n] children/*[1]/children/*[2]; [t] CSFbaselineVerbose", +"self::superscript",'children/*[2][@role="prime"]','name(children/*[1])="subscript"',"following-sibling::*");(0,sre.MathspeakRules.defineSpecialisedRule_)("prime-subscript-baseline","mathspeak.default","mathspeak.brief","[n] children/*[1]/children/*[1]; [n] children/*[2]; [t] CSFsubscriptBrief; [n] children/*[1]/children/*[2]; [t] CSFbaselineBrief");(0,sre.MathspeakRules.defineSpecialisedRule_)("prime-subscript-baseline","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRuleAlias_)("prime-subscript-baseline", +"self::superscript",'children/*[2][@role="prime"]','name(children/*[1])="subscript"',"not(following-sibling::*)","@embellished");(0,sre.MathspeakRules.defineRule_)("prime-subscript-simple","mathspeak.default","[n] children/*[1]/children/*[1]; [n] children/*[2];[n] children/*[1]/children/*[2]","self::superscript",'children/*[2][@role="prime"]','name(children/*[1])="subscript"','name(children/*[1]/children/*[1])="identifier"','name(children/*[1]/children/*[2])="number"','children/*[1]/children/*[2][@role!="mixed"]', +'children/*[1]/children/*[2][@role!="othernumber"]');(0,sre.MathspeakRules.defineSpecialisedRule_)("prime-subscript-simple","mathspeak.default","mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("prime-subscript-simple","mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("overscore","mathspeak.default",'[t] "ModifyingAbove"; [n] children/*[1]; [t] "With"; [n] children/*[2]',"self::overscore",'children/*[2][@role="overaccent"]');(0,sre.MathspeakRules.defineSpecialisedRule_)("overscore", +"mathspeak.default","mathspeak.brief",'[t] "ModAbove"; [n] children/*[1]; [t] "With"; [n] children/*[2]');(0,sre.MathspeakRules.defineSpecialisedRule_)("overscore","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("double-overscore","mathspeak.default",'[t] "ModifyingAbove Above"; [n] children/*[1]; [t] "With"; [n] children/*[2]',"self::overscore",'children/*[2][@role="overaccent"]','name(children/*[1])="overscore"','children/*[1]/children/*[2][@role="overaccent"]');(0,sre.MathspeakRules.defineSpecialisedRule_)("double-overscore", +"mathspeak.default","mathspeak.brief",'[t] "ModAbove Above"; [n] children/*[1]; [t] "With"; [n] children/*[2]');(0,sre.MathspeakRules.defineSpecialisedRule_)("double-overscore","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("underscore","mathspeak.default",'[t] "ModifyingBelow"; [n] children/*[1]; [t] "With"; [n] children/*[2]',"self::underscore",'children/*[2][@role="underaccent"]');(0,sre.MathspeakRules.defineSpecialisedRule_)("underscore","mathspeak.default","mathspeak.brief", +'[t] "ModBelow"; [n] children/*[1]; [t] "With"; [n] children/*[2]');(0,sre.MathspeakRules.defineSpecialisedRule_)("underscore","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("double-underscore","mathspeak.default",'[t] "ModifyingBelow Below"; [n] children/*[1]; [t] "With"; [n] children/*[2]',"self::underscore",'children/*[2][@role="underaccent"]','name(children/*[1])="underscore"','children/*[1]/children/*[2][@role="underaccent"]');(0,sre.MathspeakRules.defineSpecialisedRule_)("double-underscore", +"mathspeak.default","mathspeak.brief",'[t] "ModBelow Below"; [n] children/*[1]; [t] "With"; [n] children/*[2]');(0,sre.MathspeakRules.defineSpecialisedRule_)("double-underscore","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("overbar","mathspeak.default",'[n] children/*[1]; [t] "overbar"',"self::overscore",'@role="latinletter" or @role="greekletter" or @role="otherletter"','children/*[2][@role="overaccent"]','children/*[2][text()="\u00af" or text()="\uffe3" or text()="\uff3f" or text()="_" or text()="\u203e"]'); +(0,sre.MathspeakRules.defineSpecialisedRule_)("overbar","mathspeak.default","mathspeak.brief",'[n] children/*[1]; [t] "overBar"');(0,sre.MathspeakRules.defineSpecialisedRule_)("overbar","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("underbar","mathspeak.default",'[n] children/*[1]; [t] "underbar"',"self::underscore",'@role="latinletter" or @role="greekletter" or @role="otherletter"','children/*[2][@role="underaccent"]','children/*[2][text()="\u00af" or text()="\uffe3" or text()="\uff3f" or text()="_" or text()="\u203e"]'); +(0,sre.MathspeakRules.defineSpecialisedRule_)("underbar","mathspeak.default","mathspeak.brief",'[n] children/*[1]; [t] "underBar"');(0,sre.MathspeakRules.defineSpecialisedRule_)("underbar","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("overtilde","mathspeak.default",'[n] children/*[1]; [t] "overTilde"',"self::overscore",'children/*[2][@role="overaccent"]','@role="latinletter" or @role="greekletter" or @role="otherletter"','children/*[2][text()="~" or text()="\u02dc" or text()="\u223c" or text()="\uff5e"]'); +(0,sre.MathspeakRules.defineSpecialisedRule_)("overtilde","mathspeak.default","mathspeak.brief",'[n] children/*[1]; [t] "overtilde"');(0,sre.MathspeakRules.defineSpecialisedRule_)("overtilde","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("undertilde","mathspeak.default",'[n] children/*[1]; [t] "underTilde"',"self::underscore",'@role="latinletter" or @role="greekletter" or @role="otherletter"','children/*[2][@role="underaccent"]','children/*[2][text()="~" or text()="\u02dc" or text()="\u223c" or text()="\uff5e"]'); +(0,sre.MathspeakRules.defineSpecialisedRule_)("undertilde","mathspeak.default","mathspeak.brief",'[n] children/*[1]; [t] "undertilde"');(0,sre.MathspeakRules.defineSpecialisedRule_)("undertilde","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("matrix-fence","mathspeak.default","[n] children/*[1];","self::fenced","count(children/*)=1",'name(children/*[1])="matrix"');(0,sre.MathspeakRules.defineRule_)("matrix","mathspeak.default",'[t] "Start"; [t] count(children/*); [t] "By";[t] count(children/*[1]/children/*); [t] "Matrix"; [m] children/* (ctxtFunc:CTXFordinalCounter,context:"Row "); [t] "EndMatrix"', +"self::matrix");(0,sre.MathspeakRules.defineRule_)("matrix","mathspeak.sbrief",'[t] count(children/*); [t] "By";[t] count(children/*[1]/children/*); [t] "Matrix"; [m] children/* (ctxtFunc:CTXFordinalCounter,context:"Row "); [t] "EndMatrix"',"self::matrix");(0,sre.MathspeakRules.defineRuleAlias_)("matrix","self::vector");(0,sre.MathspeakRules.defineRule_)("matrix-row","mathspeak.default",'[m] children/* (ctxtFunc:CTXFordinalCounter,context:"Column");[p] (pause: 200)',"self::row");(0,sre.MathspeakRules.defineRule_)("row-with-label", +"mathspeak.default",'[t] "with Label"; [n] content/*[1]; [t] "EndLabel"(pause: 200); [m] children/* (ctxtFunc:CTXFordinalCounter,context:"Column")',"self::row","content");(0,sre.MathspeakRules.defineRule_)("row-with-label","mathspeak.brief",'[t] "Label"; [n] content/*[1]; [m] children/* (ctxtFunc:CTXFordinalCounter,context:"Column")',"self::row","content");(0,sre.MathspeakRules.defineSpecialisedRule_)("row-with-label","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("row-with-text-label", +"mathspeak.sbrief",'[t] "Label"; [t] CSFRemoveParens;[m] children/* (ctxtFunc:CTXFordinalCounter,context:"Column")',"self::row","content",'name(content/cell/children/*[1])="text"');(0,sre.MathspeakRules.defineRule_)("empty-row","mathspeak.default",'[t] "Blank"',"self::row","count(children/*)=0");(0,sre.MathspeakRules.defineRule_)("matrix-cell","mathspeak.default","[n] children/*[1]; [p] (pause: 300)","self::cell");(0,sre.MathspeakRules.defineRule_)("empty-cell","mathspeak.default",'[t] "Blank"; [p] (pause: 300)', +"self::cell","count(children/*)=0");(0,sre.MathspeakRules.defineRule_)("determinant","mathspeak.default",'[t] "Start"; [t] count(children/*); [t] "By";[t] count(children/*[1]/children/*); [t] "Determinant"; [m] children/* (ctxtFunc:CTXFordinalCounter,context:"Row "); [t] "EndDeterminant"',"self::matrix",'@role="determinant"');(0,sre.MathspeakRules.defineSpecialisedRule_)("determinant","mathspeak.default","mathspeak.sbrief",'[t] count(children/*); [t] "By";[t] count(children/*[1]/children/*); [t] "Determinant"; [m] children/* (ctxtFunc:CTXFordinalCounter,context:"Row "); [t] "EndDeterminant"'); +(0,sre.MathspeakRules.defineRule_)("determinant-simple","mathspeak.default",'[t] "Start"; [t] count(children/*); [t] "By";[t] count(children/*[1]/children/*); [t] "Determinant"; [m] children/* (ctxtFunc:CTXFordinalCounter,context:"Row",grammar:simpleDet); [t] "EndDeterminant"',"self::matrix",'@role="determinant"',"CQFdetIsSimple");(0,sre.MathspeakRules.defineSpecialisedRule_)("determinant-simple","mathspeak.default","mathspeak.sbrief",'[t] count(children/*); [t] "By";[t] count(children/*[1]/children/*); [t] "Determinant"; [m] children/* (ctxtFunc:CTXFordinalCounter,context:"Row",grammar:simpleDet); [t] "EndDeterminant"'); +(0,sre.MathspeakRules.defineRule_)("row-simple","mathspeak.default","[m] children/*;","self::row",'@role="determinant"','contains(@grammar, "simpleDet")');(0,sre.MathspeakRules.defineRule_)("layout","mathspeak.default",'[t] "StartLayout"; [m] children/* (ctxtFunc:CTXFordinalCounter,context:"Row "); [t] "EndLayout"',"self::table");(0,sre.MathspeakRules.defineRule_)("layout","mathspeak.sbrief",'[t] "Layout"; [m] children/* (ctxtFunc:CTXFordinalCounter,context:"Row "); [t] "EndLayout"',"self::table"); +(0,sre.MathspeakRules.defineRule_)("binomial","mathspeak.default",'[t] "StartBinomialOrMatrix"; [n] children/*[1]/children/*[1]; [t] "Choose"; [n] children/*[2]/children/*[1]; [t] "EndBinomialOrMatrix"',"self::vector",'@role="binomial"');(0,sre.MathspeakRules.defineRule_)("binomial","mathspeak.sbrief",'[t] "BinomialOrMatrix"; [n] children/*[1]/children/*[1]; [t] "Choose"; [n] children/*[2]/children/*[1]; [t] "EndBinomialOrMatrix"',"self::vector",'@role="binomial"');(0,sre.MathspeakRules.defineRule_)("cases", +"mathspeak.default",'[t] "StartLayout"; [t] "Enlarged"; [n] content/*[1];[m] children/* (ctxtFunc:CTXFordinalCounter,context:"Row "); [t] "EndLayout"',"self::cases");(0,sre.MathspeakRules.defineRule_)("cases","mathspeak.sbrief",'[t] "Layout"; [t] "Enlarged"; [n] content/*[1];[m] children/* (ctxtFunc:CTXFordinalCounter,context:"Row "); [t] "EndLayout"',"self::cases");(0,sre.MathspeakRules.defineRuleAlias_)("layout","self::multiline");(0,sre.MathspeakRules.defineRule_)("line","mathspeak.default","[m] children/*", +"self::line");(0,sre.MathspeakRules.defineRule_)("line-with-label","mathspeak.default",'[t] "with Label"; [n] content/*[1]; [t] "EndLabel" (pause: 200); [m] children/*',"self::line","content");(0,sre.MathspeakRules.defineSpecialisedRule_)("line-with-label","mathspeak.default","mathspeak.brief",'[t] "Label"; [n] content/*[1] (pause: 200); [m] children/*');(0,sre.MathspeakRules.defineSpecialisedRule_)("line-with-label","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("line-with-text-label", +"mathspeak.sbrief",'[t] "Label"; [t] CSFRemoveParens; [m] children/*',"self::line","content",'name(content/cell/children/*[1])="text"');(0,sre.MathspeakRules.defineRule_)("empty-line","mathspeak.default",'[t] "Blank"',"self::line","count(children/*)=0","not(content)");(0,sre.MathspeakRules.defineSpecialisedRule_)("empty-line","mathspeak.default","mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("empty-line","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("empty-line-with-label", +"mathspeak.default",'[t] "with Label"; [n] content/*[1]; [t] "EndLabel"(pause: 200); [t] "Blank"',"self::line","count(children/*)=0","content");(0,sre.MathspeakRules.defineSpecialisedRule_)("empty-line-with-label","mathspeak.default","mathspeak.brief",'[t] "Label"; [n] content/*[1] (pause: 200); [t] "Blank"');(0,sre.MathspeakRules.defineSpecialisedRule_)("empty-line-with-label","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakRules.defineRule_)("enclose","mathspeak.default",'[t] "StartEnclose"; [t] @role (grammar:localEnclose); [n] children/*[1]; [t] "EndEnclose"', +"self::enclose");(0,sre.MathspeakRules.defineRuleAlias_)("overbar","self::enclose",'@role="top"');(0,sre.MathspeakRules.defineRuleAlias_)("underbar","self::enclose",'@role="bottom"');(0,sre.MathspeakRules.defineRule_)("leftbar","mathspeak.default",'[t] "vertical-bar"; [n] children/*[1]',"self::enclose",'@role="left"');(0,sre.MathspeakRules.defineRule_)("rightbar","mathspeak.default",'[n] children/*[1]; [t] "vertical-bar"',"self::enclose",'@role="right"');(0,sre.MathspeakRules.defineRule_)("crossout", +"mathspeak.default",'[t] "CrossOut"; [n] children/*[1]; [t] "EndCrossOut"',"self::enclose",'@role="updiagonalstrike" or @role="downdiagonalstrike" or @role="horizontalstrike"');(0,sre.MathspeakRules.defineRule_)("cancel","mathspeak.default",'[t] "CrossOut"; [n] children/*[1]/children/*[1]; [t] "With"; [n] children/*[2]; [t] "EndCrossOut"',"self::overscore",'@role="updiagonalstrike" or @role="downdiagonalstrike" or @role="horizontalstrike"');(0,sre.MathspeakRules.defineSpecialisedRule_)("cancel","mathspeak.default", +"mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("cancel","mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakRules.defineRuleAlias_)("cancel","self::underscore",'@role="updiagonalstrike" or @role="downdiagonalstrike" or @role="horizontalstrike"');(0,sre.MathspeakRules.defineRule_)("cancel-reverse","mathspeak.default",'[t] "CrossOut"; [n] children/*[2]/children/*[1]; [t] "With"; [n] children/*[1]; [t] "EndCrossOut"',"self::overscore",'name(children/*[2])="enclose"','children/*[2][@role="updiagonalstrike" or @role="downdiagonalstrike" or @role="horizontalstrike"]'); +(0,sre.MathspeakRules.defineSpecialisedRule_)("cancel-reverse","mathspeak.default","mathspeak.brief");(0,sre.MathspeakRules.defineSpecialisedRule_)("cancel-reverse","mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakRules.defineRuleAlias_)("cancel-reverse","self::underscore",'name(children/*[2])="enclose"','children/*[2][@role="updiagonalstrike" or @role="downdiagonalstrike" or @role="horizontalstrike"]');(0,sre.MathspeakRules.defineRule_)("end-punct","mathspeak.default","[m] children/*","self::punctuated", +'@role="endpunct"');(0,sre.MathspeakRules.defineRule_)("start-punct","mathspeak.default","[n] content/*[1]; [m] children/*[position()>1]","self::punctuated",'@role="startpunct"');(0,sre.MathspeakRules.defineRule_)("integral-punct","mathspeak.default","[n] children/*[1]; [n] children/*[3]","self::punctuated",'@role="integral"');(0,sre.MathspeakRules.defineRule_)("punctuated","mathspeak.default","[m] children/*","self::punctuated");(0,sre.MathspeakRules.defineRule_)("unit","mathspeak.default",'[t] text() (grammar:annotation="unit":translate)', +"self::identifier",'@role="unit"');(0,sre.MathspeakRules.defineRule_)("unit-square","mathspeak.default",'[t] "square"; [n] children/*[1]',"self::superscript",'@role="unit"',"children/*[2][text()=2]",'name(children/*[1])="identifier"');(0,sre.MathspeakRules.defineRule_)("unit-cubic","mathspeak.default",'[t] "cubic"; [n] children/*[1]',"self::superscript",'@role="unit"',"children/*[2][text()=3]",'name(children/*[1])="identifier"');(0,sre.MathspeakRules.defineRule_)("reciprocal","mathspeak.default", +'[t] "reciprocal"; [n] children/*[1]',"self::superscript",'@role="unit"','name(children/*[1])="identifier"','name(children/*[2])="prefixop"','children/*[2][@role="negative"]',"children/*[2]/children/*[1][text()=1]",'count(preceding-sibling::*)=0 or preceding-sibling::*[@role!="unit"]');(0,sre.MathspeakRules.defineRule_)("reciprocal","mathspeak.default",'[t] "per"; [n] children/*[1]',"self::superscript",'@role="unit"','name(children/*[1])="identifier"','name(children/*[2])="prefixop"','children/*[2][@role="negative"]', +"children/*[2]/children/*[1][text()=1]",'preceding-sibling::*[@role="unit"]');(0,sre.MathspeakRules.defineRule_)("unit-combine","mathspeak.default","[m] children/*","self::infixop",'@role="unit"');(0,sre.MathspeakRules.defineRule_)("unit-divide","mathspeak.default",'[n] children/*[1]; [t] "per"; [n] children/*[2]',"self::fraction",'@role="unit"')};sre.MathspeakRules.componentString_={2:"CSFbaseline",1:"CSFsubscript",0:"CSFsuperscript"};sre.MathspeakRules.childNumber_={4:2,3:3,2:1,1:4,0:5}; +sre.MathspeakRules.generateTensorRuleStrings_=function(a){var b=[],c="",d="";a=parseInt(a,2);for(var e=0;5>e;e++){var f="children/*["+sre.MathspeakRules.childNumber_[e]+"]";if(a&1){var g=sre.MathspeakRules.componentString_[e%3];c="[t] "+g+"Verbose; [n] "+f+";"+c;d="[t] "+g+"Brief; [n] "+f+";"+d}else b.unshift("name("+f+')="empty"');a>>=1}b.push(c);b.push(d);return b}; +sre.MathspeakRules.generateMathspeakTensorRules_=function(){for(var a="11111 11110 11101 11100 10111 10110 10101 10100 01111 01110 01101 01100".split(" "),b=0,c;c=a[b];b++){var d="tensor"+c;c=sre.MathspeakRules.generateTensorRuleStrings_(c);var e=c.pop(),f=c.pop(),g=[d,"mathspeak.default",f,"self::tensor"].concat(c),h=[d,"mathspeak.brief",e,"self::tensor"].concat(c);sre.MathspeakRules.defineRule_.apply(null,g);sre.MathspeakRules.defineRule_.apply(null,h);(0,sre.MathspeakRules.defineSpecialisedRule_)(d, +"mathspeak.brief","mathspeak.sbrief");g=sre.MathspeakRules.componentString_[2];f+="; [t]"+g+"Verbose";e+="; [t]"+g+"Brief";d+="-baseline";g=[d,"mathspeak.default",f,"self::tensor","following-sibling::*"].concat(c);h=[d,"mathspeak.brief",e,"self::tensor","following-sibling::*"].concat(c);sre.MathspeakRules.defineRule_.apply(null,g);sre.MathspeakRules.defineRule_.apply(null,h);(0,sre.MathspeakRules.defineSpecialisedRule_)(d,"mathspeak.brief","mathspeak.sbrief");d=[d,"self::tensor","not(following-sibling::*)", +"ancestor::fraction|ancestor::punctuated|ancestor::fenced|ancestor::root|ancestor::sqrt|ancestor::relseq|ancestor::multirel|@embellished"].concat(c);sre.MathspeakRules.defineRuleAlias_.apply(null,d)}};sre.MathspeakRules.getInstance().initializer=[sre.MathspeakRules.initCustomFunctions_,sre.MathspeakRules.initMathspeakRules_,sre.MathspeakRules.generateMathspeakTensorRules_];sre.MathspeakSpanishUtil={};sre.MathspeakSpanishUtil.europeanNumber=function(a){return a=a.replace(/,/g,"").replace(/\./g,",")};sre.Grammar.getInstance().setCorrection("euroNum",sre.MathspeakSpanishUtil.europeanNumber);sre.MathspeakSpanishUtil.onesOrdinals="primera segunda tercera cuarta quinta sexta s\u00e9ptima octava novena d\u00e9cima und\u00e9cima duod\u00e9cima".split(" ");sre.MathspeakSpanishUtil.tensOrdinals="d\u00e9cima vig\u00e9sima trig\u00e9sima cuadrag\u00e9sima quincuag\u00e9sima sexag\u00e9sima septuag\u00e9sima octog\u00e9sima nonag\u00e9sima".split(" "); +sre.MathspeakSpanishUtil.hundredsOrdinals="cent\u00e9sima ducent\u00e9sima tricent\u00e9sima cuadringent\u00e9sima quingent\u00e9sima sexcent\u00e9sima septingent\u00e9sima octingent\u00e9sima noningent\u00e9sima".split(" "); +sre.MathspeakSpanishUtil.numberToOrdinal=function(a){if(1999<a)return a.toString()+"a";if(12>=a)return sre.MathspeakSpanishUtil.onesOrdinals[a-1];var b=[];1E3<a&&(a-=1E3,b.push("mil\u00e9sima"));var c=Math.floor(a/100);0<c&&(b.push(sre.MathspeakSpanishUtil.hundredsOrdinals[c-1]),a%=100);12>=a?b.push(sre.MathspeakSpanishUtil.onesOrdinals[a-1]):(c=Math.floor(a/10),0<c&&(b.push(sre.MathspeakSpanishUtil.tensOrdinals[c-1]),a%=10),0<a&&b.push(sre.MathspeakSpanishUtil.onesOrdinals[a-1]));return b.join(" ")}; +sre.MathspeakSpanishUtil.ordinalCounter=function(a,b){var c=0;return function(){return sre.MathspeakSpanishUtil.numberToOrdinal(++c)+" "+b}};sre.MathspeakSpanishUtil.smallRoot=function(a){if(!a.childNodes||0===a.childNodes.length||!a.childNodes[0].childNodes)return[];var b=a.childNodes[0].childNodes[0].textContent;if(!/^\d+$/.test(b))return[];b=parseInt(b,10);return 1<b&&10>=b?[a]:[]}; +sre.MathspeakSpanishUtil.unitMultipliers=function(a,b){var c=0;return function(){var b=sre.AuditoryDescription.create({text:sre.MathspeakSpanishUtil.rightMostUnit(a[c])&&sre.MathspeakSpanishUtil.leftMostUnit(a[c+1])?"por":""},{});c++;return[b]}};sre.MathspeakSpanishUtil.SCRIPT_ELEMENTS=[sre.SemanticAttr.Type.SUPERSCRIPT,sre.SemanticAttr.Type.SUBSCRIPT,sre.SemanticAttr.Type.OVERSCORE,sre.SemanticAttr.Type.UNDERSCORE]; +sre.MathspeakSpanishUtil.rightMostUnit=function(a){for(;a;){if("unit"===a.getAttribute("role"))return!0;var b=a.tagName;a=sre.XpathUtil.evalXPath("children/*",a);a=-1!==sre.MathspeakSpanishUtil.SCRIPT_ELEMENTS.indexOf(b)?a[0]:a[a.length-1]}return!1};sre.MathspeakSpanishUtil.leftMostUnit=function(a){for(;a;){if("unit"===a.getAttribute("role"))return!0;a=sre.XpathUtil.evalXPath("children/*",a)[0]}return!1};sre.MathspeakSpanishUtil.makePlural=function(a){return/.*s$/.test(a)?a:a+"s"}; +sre.Grammar.getInstance().setCorrection("plural",sre.MathspeakSpanishUtil.makePlural);sre.MathspeakSpanishUtil.oneLeft=function(a){for(;a;){if("number"===a.tagName&&"1"===a.textContent)return[a];if("infixop"!==a.tagName||"multiplication"!==a.getAttribute("role")&&"implicit"!==a.getAttribute("role"))break;a=sre.XpathUtil.evalXPath("children/*",a)[0]}return[]};sre.MathspeakSpanish=function(){sre.MathStore.call(this);this.locale="es"};goog.inherits(sre.MathspeakSpanish,sre.MathStore);goog.addSingletonGetter(sre.MathspeakSpanish);sre.MathspeakSpanish.prototype.evaluateDefault=function(a){return[sre.AuditoryDescription.create({text:a.textContent})]};sre.MathspeakSpanish.SPANISH_REGEXP="a-zA-Z\u00e1\u00e9\u00ed\u00f3\u00fa\u00f1\u00c1\u00c9\u00cd\u00d3\u00da\u00d1"; +sre.MathspeakSpanish.evaluateDefault=function(a){a=a.textContent;for(var b=[],c=new sre.SystemExternal.xmldom.DOMParser,d=new RegExp("^["+sre.MathspeakSpanish.SPANISH_REGEXP+"]+"),e=new RegExp("^[^"+sre.MathspeakSpanish.SPANISH_REGEXP+"]+");a;){var f=d.exec(a);if(f)var g=sre.Semantic.Type.TEXT,h=sre.Semantic.Role.PROTECTED;else f=e.exec(a),g=sre.Semantic.Type.UNKNOWN,h=sre.Semantic.Role.TEXT;g=c.parseFromString("<"+g+' role="'+h+'">'+f[0]+"</"+g+">","text/xml");b.push(g.documentElement);a=a.slice(f[0].length).trimLeft()}return b}; +sre.MathspeakSpanish.mathStore=sre.MathspeakSpanish.getInstance();sre.MathspeakSpanish.defineRule_=goog.bind(sre.MathspeakSpanish.mathStore.defineRule,sre.MathspeakSpanish.mathStore);sre.MathspeakSpanish.defineRuleAlias_=goog.bind(sre.MathspeakSpanish.mathStore.defineRulesAlias,sre.MathspeakSpanish.mathStore);sre.MathspeakSpanish.defineSpecialisedRule_=goog.bind(sre.MathspeakSpanish.mathStore.defineSpecialisedRule,sre.MathspeakSpanish.mathStore); +sre.MathspeakSpanish.addContextFunction_=goog.bind(sre.MathspeakSpanish.mathStore.contextFunctions.add,sre.MathspeakSpanish.mathStore.contextFunctions);sre.MathspeakSpanish.addCustomQuery_=goog.bind(sre.MathspeakSpanish.mathStore.customQueries.add,sre.MathspeakSpanish.mathStore.customQueries);sre.MathspeakSpanish.addCustomString_=goog.bind(sre.MathspeakSpanish.mathStore.customStrings.add,sre.MathspeakSpanish.mathStore.customStrings); +sre.MathspeakSpanish.initCustomFunctions_=function(){(0,sre.MathspeakSpanish.addCustomQuery_)("CQFspaceoutNumber",sre.MathspeakUtil.spaceoutNumber);(0,sre.MathspeakSpanish.addCustomQuery_)("CQFspaceoutIdentifier",sre.MathspeakUtil.spaceoutIdentifier);(0,sre.MathspeakSpanish.addCustomString_)("CSFspaceoutText",sre.MathspeakUtil.spaceoutText);(0,sre.MathspeakSpanish.addCustomString_)("CSFopenFracVerbose",sre.MathspeakUtil.openingFractionVerbose);(0,sre.MathspeakSpanish.addCustomString_)("CSFcloseFracVerbose", +sre.MathspeakUtil.closingFractionVerbose);(0,sre.MathspeakSpanish.addCustomString_)("CSFoverFracVerbose",sre.MathspeakUtil.overFractionVerbose);(0,sre.MathspeakSpanish.addCustomString_)("CSFopenFracBrief",sre.MathspeakUtil.openingFractionBrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFcloseFracBrief",sre.MathspeakUtil.closingFractionBrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFopenFracSbrief",sre.MathspeakUtil.openingFractionSbrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFcloseFracSbrief", +sre.MathspeakUtil.closingFractionSbrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFoverFracSbrief",sre.MathspeakUtil.overFractionSbrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFopenRadicalVerbose",sre.MathspeakUtil.openingRadicalVerbose);(0,sre.MathspeakSpanish.addCustomString_)("CSFcloseRadicalVerbose",sre.MathspeakUtil.closingRadicalVerbose);(0,sre.MathspeakSpanish.addCustomString_)("CSFindexRadicalVerbose",sre.MathspeakUtil.indexRadicalVerbose);(0,sre.MathspeakSpanish.addCustomString_)("CSFopenRadicalBrief", +sre.MathspeakUtil.openingRadicalBrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFcloseRadicalBrief",sre.MathspeakUtil.closingRadicalBrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFindexRadicalBrief",sre.MathspeakUtil.indexRadicalBrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFopenRadicalSbrief",sre.MathspeakUtil.openingRadicalSbrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFindexRadicalSbrief",sre.MathspeakUtil.indexRadicalSbrief);(0,sre.MathspeakSpanish.addCustomQuery_)("CQFisSmallRoot", +sre.MathspeakSpanishUtil.smallRoot);(0,sre.MathspeakSpanish.addCustomString_)("CSFsuperscriptVerbose",sre.MathspeakUtil.superscriptVerbose);(0,sre.MathspeakSpanish.addCustomString_)("CSFsuperscriptBrief",sre.MathspeakUtil.superscriptBrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFsubscriptVerbose",sre.MathspeakUtil.subscriptVerbose);(0,sre.MathspeakSpanish.addCustomString_)("CSFsubscriptBrief",sre.MathspeakUtil.subscriptBrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFbaselineVerbose",sre.MathspeakUtil.baselineVerbose); +(0,sre.MathspeakSpanish.addCustomString_)("CSFbaselineBrief",sre.MathspeakUtil.baselineBrief);(0,sre.MathspeakSpanish.addCustomString_)("CSFunderscript",sre.MathspeakUtil.nestedUnderscore);(0,sre.MathspeakSpanish.addCustomString_)("CSFoverscript",sre.MathspeakUtil.nestedOverscore);(0,sre.MathspeakSpanish.addContextFunction_)("CTXFordinalCounterEs",sre.MathspeakSpanishUtil.ordinalCounter);(0,sre.MathspeakSpanish.addContextFunction_)("CTXFcontentIterator",sre.MathmlStoreUtil.contentIterator);(0,sre.MathspeakSpanish.addContextFunction_)("CTXFunitMultipliers", +sre.MathspeakSpanishUtil.unitMultipliers);(0,sre.MathspeakSpanish.addCustomQuery_)("CQFdetIsSimple",sre.MathspeakUtil.determinantIsSimple);(0,sre.MathspeakSpanish.addCustomString_)("CSFRemoveParens",sre.MathspeakUtil.removeParens);(0,sre.MathspeakSpanish.addCustomQuery_)("CQFoneLeft",sre.MathspeakSpanishUtil.oneLeft);(0,sre.MathspeakSpanish.addCustomQuery_)("CQFresetNesting",sre.MathspeakUtil.resetNestingDepth);(0,sre.MathspeakSpanish.addCustomQuery_)("CQFtextEvaluator",sre.MathspeakSpanish.evaluateDefault)}; +sre.MathspeakSpanish.initMathspeakSpanish_=function(){(0,sre.MathspeakSpanish.defineRule_)("stree","mathspeak.default","[n] ./*[1]","self::stree","CQFresetNesting");(0,sre.MathspeakSpanish.defineRule_)("unknown","mathspeak.default","[n] text()","self::unknown");(0,sre.MathspeakSpanish.defineRule_)("protected","mathspeak.default","[t] text()","self::*",'@role="protected"');(0,sre.MathspeakSpanish.defineRule_)("omit-empty","mathspeak.default","[p] (pause:100)","self::empty");(0,sre.MathspeakSpanish.defineRule_)("blank-empty", +"mathspeak.default",'[t] "espacio"',"self::empty","count(../*)=1",'name(../..)="cell" or name(../..)="line"');(0,sre.MathspeakSpanish.defineRule_)("font","mathspeak.default","[t] @font (grammar:localFont); [n] . (grammar:ignoreFont=@font)","self::*","@font",'not(contains(@grammar, "ignoreFont"))','@font!="normal"');(0,sre.MathspeakSpanish.defineRule_)("font-identifier-short","mathspeak.default","[t] @font (grammar:localFont); [n] . (grammar:ignoreFont=@font)","self::identifier","string-length(text())=1", +"@font",'not(contains(@grammar, "ignoreFont"))','@font="normal"','""=translate(text(), "abcdefghijklmnopqrstuvwxyz\u03b1\u03b2\u03b3\u03b4\u03b5\u03b6\u03b7\u03b8\u03b9\u03ba\u03bb\u03bc\u03bd\u03be\u03bf\u03c0\u03c1\u03c2\u03c3\u03c4\u03c5\u03c6\u03c7\u03c8\u03c9ABCDEFGHIJKLMNOPQRSTUVWXYZ\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039a\u039b\u039c\u039d\u039e\u039f\u03a0\u03a1\u03a3\u03a3\u03a4\u03a5\u03a6\u03a7\u03a8\u03a9", "")','@role!="unit"');(0,sre.MathspeakSpanish.defineRule_)("font-identifier", +"mathspeak.default","[t] @font (grammar:localFont); [n] . (grammar:ignoreFont=@font)","self::identifier","string-length(text())=1","@font",'@font="normal"','not(contains(@grammar, "ignoreFont"))','@role!="unit"');(0,sre.MathspeakSpanish.defineRule_)("omit-font","mathspeak.default","[n] . (grammar:ignoreFont=@font)","self::identifier","string-length(text())=1","@font",'not(contains(@grammar, "ignoreFont"))','@font="italic"');(0,sre.MathspeakSpanish.defineRule_)("number","mathspeak.default","[n] text() (grammar:euroNum)", +"self::number");(0,sre.MathspeakSpanish.defineRule_)("mixed-number","mathspeak.default",'[n] children/*[1]; [t] "m\u00e1s"; [n] children/*[2]; ',"self::number",'@role="mixed"');(0,sre.MathspeakSpanish.defineRule_)("number-with-chars","mathspeak.default",'[t] "n\u00famero"; [m] CQFspaceoutNumber',"self::number",'"" != translate(text(), "0123456789.,", "")','text() != translate(text(), "0123456789.,", "")');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("number-with-chars","mathspeak.default","mathspeak.brief", +'[t] "n\u00fam"; [m] CQFspaceoutNumber');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("number-with-chars","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("number-as-upper-word","mathspeak.default",'[t] "may\u00fascula"; [t] CSFspaceoutText',"self::number","string-length(text())>1",'text()=translate(text(), "abcdefghijklmnopqrstuvwxyz\u03b1\u03b2\u03b3\u03b4\u03b5\u03b6\u03b7\u03b8\u03b9\u03ba\u03bb\u03bc\u03bd\u03be\u03bf\u03c0\u03c1\u03c2\u03c3\u03c4\u03c5\u03c6\u03c7\u03c8\u03c9", "ABCDEFGHIJKLMNOPQRSTUVWXYZ\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039a\u039b\u039c\u039d\u039e\u039f\u03a0\u03a1\u03a3\u03a3\u03a4\u03a5\u03a6\u03a7\u03a8\u03a9")', +'""=translate(text(), "ABCDEFGHIJKLMNOPQRSTUVWXYZ\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039a\u039b\u039c\u039d\u039e\u039f\u03a0\u03a1\u03a3\u03a3\u03a4\u03a5\u03a6\u03a7\u03a8\u03a9","")');(0,sre.MathspeakSpanish.defineRule_)("number-baseline","mathspeak.default",'[t] "l\u00ednea base"; [n] text()',"self::number",'not(contains(@grammar, "ignoreFont"))',"preceding-sibling::identifier",'preceding-sibling::*[1][@role="latinletter" or @role="greekletter" or @role="otherletter"]','parent::*/parent::infixop[@role="implicit"]'); +(0,sre.MathspeakSpanish.defineSpecialisedRule_)("number-baseline","mathspeak.default","mathspeak.brief",'[t] "base"; [n] text()');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("number-baseline","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("number-baseline-font","mathspeak.default",'[t] "l\u00ednea base"; [t] @font (grammar:localFont); [n] . (grammar:ignoreFont=@font)',"self::number","@font",'not(contains(@grammar, "ignoreFont"))','@font!="normal"',"preceding-sibling::identifier", +'preceding-sibling::*[@role="latinletter" or @role="greekletter" or @role="otherletter"]','parent::*/parent::infixop[@role="implicit"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("number-baseline-font","mathspeak.default","mathspeak.brief",'[t] "base"; [n] text()');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("number-baseline-font","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("identifier","mathspeak.default","[m] CQFspaceoutIdentifier","self::identifier","string-length(text())>1", +'@role!="unit"','@role!="protected"','not(@font) or @font="normal" or contains(@grammar, "ignoreFont")');(0,sre.MathspeakSpanish.defineRule_)("identifier","mathspeak.default","[n] text()","self::identifier",'@role="protected"');(0,sre.MathspeakSpanish.defineRule_)("negative","mathspeak.default",'[t] "menos"; [n] children/*[1]',"self::prefixop",'@role="negative"',"children/identifier");(0,sre.MathspeakSpanish.defineRuleAlias_)("negative","self::prefixop",'@role="negative"',"children/number");(0,sre.MathspeakSpanish.defineRuleAlias_)("negative", +"self::prefixop",'@role="negative"','children/fraction[@role="vulgar"]');(0,sre.MathspeakSpanish.defineRule_)("negative","mathspeak.default",'[t] "menos"; [n] children/*[1]',"self::prefixop",'@role="negative"');(0,sre.MathspeakSpanish.defineRule_)("prefix","mathspeak.default","[n] text(); [n] children/*[1]","self::prefixop");(0,sre.MathspeakSpanish.defineRule_)("postfix","mathspeak.default","[n] children/*[1]; [n] text()","self::postfixop");(0,sre.MathspeakSpanish.defineRule_)("binary-operation", +"mathspeak.default","[m] children/* (sepFunc:CTXFcontentIterator);","self::infixop");(0,sre.MathspeakSpanish.defineRule_)("implicit","mathspeak.default","[m] children/*","self::infixop",'@role="implicit"');(0,sre.MathspeakSpanish.defineRuleAlias_)("implicit","self::infixop",'@role="leftsuper" or @role="leftsub" or @role="rightsuper" or @role="rightsub"');(0,sre.MathspeakSpanish.defineRule_)("subtraction","mathspeak.default",'[m] children/* (separator:"menos");',"self::infixop",'@role="subtraction"'); +(0,sre.MathspeakSpanish.defineRule_)("function-unknown","mathspeak.default","[n] children/*[1]; [n] children/*[2]","self::appl");(0,sre.MathspeakSpanish.defineRule_)("function-prefix","mathspeak.default","[n] children/*[1]; [n] children/*[2]","self::appl",'children/*[1][@role="prefix function"]');(0,sre.MathspeakSpanish.defineRule_)("fences-open-close","mathspeak.default","[n] content/*[1]; [n] children/*[1]; [n] content/*[2]","self::fenced",'@role="leftright"');(0,sre.MathspeakSpanish.defineRule_)("fences-neutral", +"mathspeak.default",'[t] "empezar valor absoluto"; [n] children/*[1]; [t] "finalizar valor absoluto"',"self::fenced",'@role="neutral"','content/*[1][text()]="|" or content/*[1][text()]="\u2758" or content/*[1][text()]="\uff5c"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("fences-neutral","mathspeak.default","mathspeak.sbrief",'[t] "valor absoluto"; [n] children/*[1]; [t] "finalizar valor absoluto"');(0,sre.MathspeakSpanish.defineRule_)("fences-neutral","mathspeak.default","[n] content/*[1]; [n] children/*[1]; [n] content/*[2]", +"self::fenced",'@role="neutral"');(0,sre.MathspeakSpanish.defineRule_)("fences-set","mathspeak.default",'[t] "empezar llave"; [n] children/*[1]; [t] "finalizar llave"',"self::fenced",'@role="leftright"','content/*[1][text()]="{"','content/*[2][text()]="}"',"count(children/*)=1",'not(name(../..)="appl")');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("fences-set","mathspeak.default","mathspeak.sbrief",'[t] "llave"; [n] children/*[1]; [t] "finalizar llave"');(0,sre.MathspeakSpanish.defineRule_)("text", +"mathspeak.default","[m] CQFtextEvaluator","self::text");(0,sre.MathspeakSpanish.defineRule_)("factorial","mathspeak.default",'[t] "factorial"',"self::punctuation",'text()="!"','name(preceding-sibling::*[1])!="text"');(0,sre.MathspeakSpanish.defineRule_)("minus","mathspeak.default",'[t] "menos"',"self::operator",'text()="-"');(0,sre.MathspeakSpanish.defineRule_)("single-prime","mathspeak.default",'[t] "prima"',"self::punctuated",'@role="prime"',"count(children/*)=1");(0,sre.MathspeakSpanish.defineRule_)("double-prime", +"mathspeak.default",'[t] "doble prima"',"self::punctuated",'@role="prime"',"count(children/*)=2");(0,sre.MathspeakSpanish.defineRule_)("triple-prime","mathspeak.default",'[t] "triple prima"',"self::punctuated",'@role="prime"',"count(children/*)=3");(0,sre.MathspeakSpanish.defineRule_)("quadruple-prime","mathspeak.default",'[t] "cuadruplicar prima"',"self::punctuated",'@role="prime"',"count(children/*)=4");(0,sre.MathspeakSpanish.defineRule_)("counted-prime","mathspeak.default",'[t] count(children/*); [t] "prime"', +"self::punctuated",'@role="prime"');(0,sre.MathspeakSpanish.defineRule_)("fraction","mathspeak.default","[t] CSFopenFracVerbose; [n] children/*[1]; [t] CSFoverFracVerbose; [n] children/*[2]; [t] CSFcloseFracVerbose","self::fraction");(0,sre.MathspeakSpanish.defineRule_)("fraction","mathspeak.brief","[t] CSFopenFracBrief; [n] children/*[1]; [t] CSFoverFracVerbose; [n] children/*[2]; [t] CSFcloseFracBrief","self::fraction");(0,sre.MathspeakSpanish.defineRule_)("fraction","mathspeak.sbrief","[t] CSFopenFracSbrief; [n] children/*[1]; [t] CSFoverFracSbrief; [n] children/*[2]; [t] CSFcloseFracSbrief", +"self::fraction");(0,sre.MathspeakSpanish.defineRule_)("continued-fraction-outer","mathspeak.default",'[t] "fracci\u00f3n continua"; [n] children/*[1];[t] "entre"; [n] children/*[2]',"self::fraction","not(ancestor::fraction)",'children/*[2]/descendant-or-self::*[@role="ellipsis" and not(following-sibling::*)]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("continued-fraction-outer","mathspeak.default","mathspeak.brief",'[t] "frac continua"; [n] children/*[1];[t] "entre"; [n] children/*[2]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("continued-fraction-outer", +"mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("continued-fraction-inner","mathspeak.default",'[t] "empezar fracci\u00f3n"; [n] children/*[1];[t] "entre"; [n] children/*[2]',"self::fraction","ancestor::fraction",'children/*[2]/descendant-or-self::*[@role="ellipsis" and not(following-sibling::*)]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("continued-fraction-inner","mathspeak.default","mathspeak.brief",'[t] "empezar frac"; [n] children/*[1];[t] "entre"; [n] children/*[2]'); +(0,sre.MathspeakSpanish.defineSpecialisedRule_)("continued-fraction-inner","mathspeak.brief","mathspeak.sbrief",'[t] "frac"; [n] children/*[1];[t] "entre"; [n] children/*[2]');(0,sre.MathspeakSpanish.defineRule_)("sqrt","mathspeak.default","[t] CSFopenRadicalVerbose; [n] children/*[1]; [t] CSFcloseRadicalVerbose","self::sqrt");(0,sre.MathspeakSpanish.defineRule_)("sqrt","mathspeak.brief","[t] CSFopenRadicalBrief; [n] children/*[1]; [t] CSFcloseRadicalBrief","self::sqrt");(0,sre.MathspeakSpanish.defineRule_)("sqrt", +"mathspeak.sbrief","[t] CSFopenRadicalSbrief; [n] children/*[1]; [t] CSFcloseRadicalBrief","self::sqrt");(0,sre.MathspeakSpanish.defineRule_)("root-small","mathspeak.default","[t] CSFopenRadicalVerbose; [n] children/*[2]; [t] CSFcloseRadicalVerbose","self::root","CQFisSmallRoot");(0,sre.MathspeakSpanish.defineRule_)("root-small","mathspeak.brief","[t] CSFopenRadicalBrief; [n] children/*[2]; [t] CSFcloseRadicalBrief","self::root","CQFisSmallRoot");(0,sre.MathspeakSpanish.defineRule_)("root-small", +"mathspeak.sbrief","[t] CSFopenRadicalSbrief; [n] children/*[2]; [t] CSFcloseRadicalBrief","self::root","CQFisSmallRoot");(0,sre.MathspeakSpanish.defineRule_)("root","mathspeak.default","[t] CSFindexRadicalVerbose; [n] children/*[1];[t] CSFopenRadicalVerbose; [n] children/*[2]; [t] CSFcloseRadicalVerbose","self::root");(0,sre.MathspeakSpanish.defineRule_)("root","mathspeak.brief","[t] CSFindexRadicalBrief; [n] children/*[1];[t] CSFopenRadicalBrief; [n] children/*[2]; [t] CSFcloseRadicalBrief","self::root"); +(0,sre.MathspeakSpanish.defineRule_)("root","mathspeak.sbrief","[t] CSFindexRadicalSbrief; [n] children/*[1];[t] CSFopenRadicalSbrief; [n] children/*[2]; [t] CSFcloseRadicalBrief","self::root");(0,sre.MathspeakSpanish.defineRule_)("limboth","mathspeak.default","[n] children/*[1]; [t] CSFunderscript; [n] children/*[2];[t] CSFoverscript; [n] children/*[3]","self::limboth",'name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakSpanish.defineRule_)("limlower", +"mathspeak.default","[n] children/*[1]; [t] CSFunderscript; [n] children/*[2];","self::limlower",'name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakSpanish.defineRule_)("limupper","mathspeak.default","[n] children/*[1]; [t] CSFoverscript; [n] children/*[2];","self::limupper",'name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakSpanish.defineRuleAlias_)("limlower", +"self::underscore",'@role="limit function"','name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakSpanish.defineRuleAlias_)("limlower","self::underscore",'children/*[2][@role!="underaccent"]','name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakSpanish.defineRuleAlias_)("limupper","self::overscore",'children/*[2][@role!="overaccent"]', +'name(../..)="underscore" or name(../..)="overscore"','following-sibling::*[@role!="underaccent" and @role!="overaccent"]');(0,sre.MathspeakSpanish.defineRule_)("limboth-end","mathspeak.default",'[n] children/*[1]; [t] CSFunderscript; [n] children/*[2];[t] CSFoverscript; [n] children/*[3]; [t] "finalizar \u00edndices"',"self::limboth");(0,sre.MathspeakSpanish.defineRule_)("limlower-end","mathspeak.default",'[n] children/*[1]; [t] CSFunderscript; [n] children/*[2]; [t] "finalizar \u00edndices"',"self::limlower"); +(0,sre.MathspeakSpanish.defineRule_)("limupper-end","mathspeak.default",'[n] children/*[1]; [t] CSFoverscript; [n] children/*[2]; [t] "finalizar \u00edndices"',"self::limupper");(0,sre.MathspeakSpanish.defineRuleAlias_)("limlower-end","self::underscore",'@role="limit function"');(0,sre.MathspeakSpanish.defineRuleAlias_)("limlower-end","self::underscore");(0,sre.MathspeakSpanish.defineRuleAlias_)("limupper-end","self::overscore");(0,sre.MathspeakSpanish.defineRule_)("integral","mathspeak.default", +"[n] children/*[1]; [n] children/*[2]; [n] children/*[3];","self::integral");(0,sre.MathspeakSpanish.defineRule_)("integral","mathspeak.default",'[n] children/*[1]; [t] "definida"; [t] "sub\u00edndice"; [n] children/*[2];[t] "super\u00edndice"; [n] children/*[3]; [t] "l\u00ednea base";',"self::limboth",'@role="integral"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("integral","mathspeak.default","mathspeak.brief",'[n] children/*[1]; [t] "Sub"; [n] children/*[2];[t] "Sup"; [n] children/*[3]; [t] "Base";'); +(0,sre.MathspeakSpanish.defineSpecialisedRule_)("integral","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("bigop","mathspeak.default","[n] children/*[1]; [n] children/*[2];","self::bigop");(0,sre.MathspeakSpanish.defineRule_)("relseq","mathspeak.default","[m] children/* (sepFunc:CTXFcontentIterator)","self::relseq");(0,sre.MathspeakSpanish.defineRule_)("equality","mathspeak.default","[n] children/*[1]; [n] content/*[1]; [n] children/*[2]","self::relseq",'@role="equality"', +"count(./children/*)=2");(0,sre.MathspeakSpanish.defineRule_)("multi-equality","mathspeak.default","[m] children/* (sepFunc:CTXFcontentIterator)","self::relseq",'@role="equality"',"count(./children/*)>2");(0,sre.MathspeakSpanish.defineRule_)("multrel","mathspeak.default","[m] children/* (sepFunc:CTXFcontentIterator)","self::multirel");(0,sre.MathspeakSpanish.defineRule_)("subscript","mathspeak.default","[n] children/*[1]; [t] CSFsubscriptVerbose; [n] children/*[2]","self::subscript");(0,sre.MathspeakSpanish.defineRule_)("subscript", +"mathspeak.brief","[n] children/*[1]; [t] CSFsubscriptBrief; [n] children/*[2]","self::subscript");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("subscript","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("subscript-baseline","mathspeak.default","[n] children/*[1]; [t] CSFsubscriptVerbose; [n] children/*[2]; [t] CSFbaselineVerbose","self::subscript","following-sibling::*",'not(name(following-sibling::subscript/children/*[1])="empty" or (name(following-sibling::infixop[@role="implicit"]/children/*[1])="subscript" and name(following-sibling::*/children/*[1]/children/*[1])="empty")) and @role!="subsup"', +'not(following-sibling::*[@role="rightsuper" or @role="rightsub" or @role="leftsub" or @role="leftsub"])');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("subscript-baseline","mathspeak.default","mathspeak.brief","[n] children/*[1]; [t] CSFsubscriptBrief; [n] children/*[2]; [t] CSFbaselineBriefS");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("subscript-baseline","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRuleAlias_)("subscript-baseline","self::subscript","not(following-sibling::*)", +"ancestor::fenced|ancestor::root|ancestor::sqrt|ancestor::punctuated|ancestor::fraction",'not(ancestor::punctuated[@role="leftsuper" or @role="rightsub" or @role="rightsuper" or @role="rightsub"])');(0,sre.MathspeakSpanish.defineRuleAlias_)("subscript-baseline","self::subscript","not(following-sibling::*)","ancestor::relseq|ancestor::multirel",sre.MathspeakUtil.generateBaselineConstraint());(0,sre.MathspeakSpanish.defineRuleAlias_)("subscript-baseline","self::subscript","not(following-sibling::*)", +"@embellished");(0,sre.MathspeakSpanish.defineRule_)("subscript-empty-sup","mathspeak.default","[n] children/*[1]; [n] children/*[2]","self::subscript",'name(children/*[2])="infixop"','name(children/*[2][@role="implicit"]/children/*[1])="superscript"','name(children/*[2]/children/*[1]/children/*[1])="empty"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("subscript-empty-sup","mathspeak.default","mathspeak.brief");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("subscript-empty-sup","mathspeak.brief", +"mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRuleAlias_)("subscript-empty-sup","self::subscript",'name(children/*[2])="superscript"','name(children/*[2]/children/*[1])="empty"');(0,sre.MathspeakSpanish.defineRule_)("superscript","mathspeak.default","[n] children/*[1]; [t] CSFsuperscriptVerbose; [n] children/*[2]","self::superscript");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("superscript","mathspeak.default","mathspeak.brief","[n] children/*[1]; [t] CSFsuperscriptBrief; [n] children/*[2]"); +(0,sre.MathspeakSpanish.defineSpecialisedRule_)("superscript","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("superscript-baseline","mathspeak.default","[n] children/*[1]; [t] CSFsuperscriptVerbose; [n] children/*[2];[t] CSFbaselineVerbose","self::superscript","following-sibling::*",'not(name(following-sibling::superscript/children/*[1])="empty" or (name(following-sibling::infixop[@role="implicit"]/children/*[1])="superscript" and name(following-sibling::*/children/*[1]/children/*[1])="empty")) and not(following-sibling::*[@role="rightsuper" or @role="rightsub" or @role="leftsub" or @role="leftsub"])'); +(0,sre.MathspeakSpanish.defineSpecialisedRule_)("superscript-baseline","mathspeak.default","mathspeak.brief","[n] children/*[1]; [t] CSFsuperscriptBrief; [n] children/*[2];[t] CSFbaselineBriefS");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("superscript-baseline","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRuleAlias_)("superscript-baseline","self::superscript","not(following-sibling::*)","ancestor::punctuated",'ancestor::*/following-sibling::* and not(ancestor::punctuated[@role="leftsuper" or @role="rightsub" or @role="rightsuper" or @role="rightsub"])'); +(0,sre.MathspeakSpanish.defineRuleAlias_)("superscript-baseline","self::superscript","not(following-sibling::*)","ancestor::fraction|ancestor::fenced|ancestor::root|ancestor::sqrt");(0,sre.MathspeakSpanish.defineRuleAlias_)("superscript-baseline","self::superscript","not(following-sibling::*)","ancestor::relseq|ancestor::multirel","not(@embellished)",sre.MathspeakUtil.generateBaselineConstraint());(0,sre.MathspeakSpanish.defineRuleAlias_)("superscript-baseline","self::superscript","not(following-sibling::*)", +"@embellished",'not(children/*[2][@role="prime"])');(0,sre.MathspeakSpanish.defineRule_)("superscript-empty-sub","mathspeak.default","[n] children/*[1]; [n] children/*[2]","self::superscript",'name(children/*[2])="infixop"','name(children/*[2][@role="implicit"]/children/*[1])="subscript"','name(children/*[2]/children/*[1]/children/*[1])="empty"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("superscript-empty-sub","mathspeak.default","mathspeak.brief");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("superscript-empty-sub", +"mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRuleAlias_)("superscript-empty-sub","self::superscript",'name(children/*[2])="subscript"','name(children/*[2]/children/*[1])="empty"');(0,sre.MathspeakSpanish.defineRule_)("square","mathspeak.default",'[n] children/*[1]; [t] "al cuadrado"',"self::superscript","children/*[2]","children/*[2][text()=2]",'name(children/*[1])!="text" or not(name(children/*[1])="text" and (name(../../../punctuated[@role="text"]/..)="stree" or name(..)="stree"))', +'name(children/*[1])!="subscript" or (name(children/*[1])="subscript" and name(children/*[1]/children/*[1])="identifier" and name(children/*[1]/children/*[2])="number" and children/*[1]/children/*[2][@role!="mixed"] and children/*[1]/children/*[2][@role!="othernumber"])',"not(@embellished)");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("square","mathspeak.default","mathspeak.brief");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("square","mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("cube", +"mathspeak.default",'[n] children/*[1]; [t] "al cubo"',"self::superscript","children/*[2]","children/*[2][text()=3]",'name(children/*[1])!="text" or not(name(children/*[1])="text" and (name(../../../punctuated[@role="text"]/..)="stree" or name(..)="stree"))','name(children/*[1])!="subscript" or (name(children/*[1])="subscript" and name(children/*[1]/children/*[1])="identifier" and name(children/*[1]/children/*[2])="number" and children/*[1]/children/*[2][@role!="mixed"] and children/*[1]/children/*[2][@role!="othernumber"])', +"not(@embellished)");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("cube","mathspeak.default","mathspeak.brief");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("cube","mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("prime","mathspeak.default","[n] children/*[1]; [n] children/*[2]","self::superscript","children/*[2]",'children/*[2][@role="prime"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("prime","mathspeak.default","mathspeak.brief");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("prime", +"mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("prime-subscript","mathspeak.default","[n] children/*[1]/children/*[1]; [n] children/*[2]; [t] CSFsubscriptVerbose; [n] children/*[1]/children/*[2]","self::superscript",'children/*[2][@role="prime"]','name(children/*[1])="subscript"',"not(following-sibling::*)");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("prime-subscript","mathspeak.default","mathspeak.brief","[n] children/*[1]/children/*[1]; [n] children/*[2]; [t] CSFsubscriptBrief; [n] children/*[1]/children/*[2]"); +(0,sre.MathspeakSpanish.defineSpecialisedRule_)("prime-subscript","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("prime-subscript-baseline","mathspeak.default","[n] children/*[1]/children/*[1]; [n] children/*[2]; [t] CSFsubscriptVerbose; [n] children/*[1]/children/*[2]; [t] CSFbaselineVerbose","self::superscript",'children/*[2][@role="prime"]','name(children/*[1])="subscript"',"following-sibling::*");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("prime-subscript-baseline", +"mathspeak.default","mathspeak.brief","[n] children/*[1]/children/*[1]; [n] children/*[2]; [t] CSFsubscriptBrief; [n] children/*[1]/children/*[2]; [t] CSFbaselineBriefS");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("prime-subscript-baseline","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRuleAlias_)("prime-subscript-baseline","self::superscript",'children/*[2][@role="prime"]','name(children/*[1])="subscript"',"not(following-sibling::*)","@embellished");(0,sre.MathspeakSpanish.defineRule_)("overscore", +"mathspeak.default",'[t] "modificando superior"; [n] children/*[1]; [t] "con"; [n] children/*[2]',"self::overscore",'children/*[2][@role="overaccent"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("overscore","mathspeak.default","mathspeak.brief",'[t] "mod superior"; [n] children/*[1]; [t] "con"; [n] children/*[2]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("overscore","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("double-overscore","mathspeak.default",'[t] "modificando superior superior"; [n] children/*[1]; [t] "con"; [n] children/*[2]', +"self::overscore",'children/*[2][@role="overaccent"]','name(children/*[1])="overscore"','children/*[1]/children/*[2][@role="overaccent"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("double-overscore","mathspeak.default","mathspeak.brief",'[t] "mod superior superior"; [n] children/*[1]; [t] "con"; [n] children/*[2]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("double-overscore","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("underscore","mathspeak.default",'[t] "modificando inferior"; [n] children/*[1]; [t] "con"; [n] children/*[2]', +"self::underscore",'children/*[2][@role="underaccent"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("underscore","mathspeak.default","mathspeak.brief",'[t] "mod inferior"; [n] children/*[1]; [t] "con"; [n] children/*[2]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("underscore","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("double-underscore","mathspeak.default",'[t] "modificando inferior inferior"; [n] children/*[1]; [t] "con"; [n] children/*[2]',"self::underscore", +'children/*[2][@role="underaccent"]','name(children/*[1])="underscore"','children/*[1]/children/*[2][@role="underaccent"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("double-underscore","mathspeak.default","mathspeak.brief",'[t] "mod inferior inferior"; [n] children/*[1]; [t] "con"; [n] children/*[2]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("double-underscore","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("overbar","mathspeak.default",'[n] children/*[1]; [t] "barra"', +"self::overscore",'@role="latinletter" or @role="greekletter" or @role="otherletter"','children/*[2][@role="overaccent"]','children/*[2][text()="\u00af" or text()="\uffe3" or text()="\uff3f" or text()="_" or text()="\u203e"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("overbar","mathspeak.default","mathspeak.brief",'[n] children/*[1]; [t] "barra"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("overbar","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("underbar", +"mathspeak.default",'[n] children/*[1]; [t] "subbarra"',"self::underscore",'@role="latinletter" or @role="greekletter" or @role="otherletter"','children/*[2][@role="underaccent"]','children/*[2][text()="\u00af" or text()="\uffe3" or text()="\uff3f" or text()="_" or text()="\u203e"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("underbar","mathspeak.default","mathspeak.brief",'[n] children/*[1]; [t] "subbarra"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("underbar","mathspeak.brief","mathspeak.sbrief"); +(0,sre.MathspeakSpanish.defineRule_)("overtilde","mathspeak.default",'[n] children/*[1]; [t] "tilde"',"self::overscore",'children/*[2][@role="overaccent"]','@role="latinletter" or @role="greekletter" or @role="otherletter"','children/*[2][text()="~" or text()="\u02dc" or text()="\u223c" or text()="\uff5e"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("overtilde","mathspeak.default","mathspeak.brief",'[n] children/*[1]; [t] "tilde"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("overtilde", +"mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("undertilde","mathspeak.default",'[n] children/*[1]; [t] "subtilde"',"self::underscore",'@role="latinletter" or @role="greekletter" or @role="otherletter"','children/*[2][@role="underaccent"]','children/*[2][text()="~" or text()="\u02dc" or text()="\u223c" or text()="\uff5e"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("undertilde","mathspeak.default","mathspeak.brief",'[n] children/*[1]; [t] "subtilde"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("undertilde", +"mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("matrix-fence","mathspeak.default","[n] children/*[1];","self::fenced","count(children/*)=1",'name(children/*[1])="matrix"');(0,sre.MathspeakSpanish.defineRule_)("matrix","mathspeak.default",'[t] "empezar matriz"; [t] count(children/*); [t] "por";[t] count(children/*[1]/children/*); [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"fila "); [t] "finalizar matriz"',"self::matrix");(0,sre.MathspeakSpanish.defineRule_)("matrix", +"mathspeak.sbrief",'[t] "matriz"; [t] count(children/*); [t] "por";[t] count(children/*[1]/children/*); [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:" "); [t] "finalizar matriz"',"self::matrix");(0,sre.MathspeakSpanish.defineRuleAlias_)("matrix","self::vector");(0,sre.MathspeakSpanish.defineRule_)("matrix-row","mathspeak.default",'[m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"columna");[p] (pause: 200)',"self::row");(0,sre.MathspeakSpanish.defineRule_)("row-with-label","mathspeak.default", +'[t] "con etiqueta"; [n] content/*[1]; [t] "finalizar etiqueta" (pause: 200); [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"columna")',"self::row","content");(0,sre.MathspeakSpanish.defineRule_)("row-with-label","mathspeak.brief",'[t] "etiqueta"; [n] content/*[1]; [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"columna")',"self::row","content");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("row-with-label","mathspeak.brief","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("row-with-text-label", +"mathspeak.sbrief",'[t] "etiqueta"; [t] CSFRemoveParens;[m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"columna")',"self::row","content",'name(content/cell/children/*[1])="text"');(0,sre.MathspeakSpanish.defineRule_)("empty-row","mathspeak.default",'[t] "espacio"',"self::row","count(children/*)=0");(0,sre.MathspeakSpanish.defineRule_)("matrix-cell","mathspeak.default","[n] children/*[1]; [p] (pause: 300)","self::cell");(0,sre.MathspeakSpanish.defineRule_)("empty-cell","mathspeak.default",'[t] "espacio"; [p] (pause: 300)', +"self::cell","count(children/*)=0");(0,sre.MathspeakSpanish.defineRule_)("determinant","mathspeak.default",'[t] "empezar determinante"; [t] count(children/*); [t] "por";[t] count(children/*[1]/children/*); [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"fila "); [t] "finalizar determinante"',"self::matrix",'@role="determinant"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("determinant","mathspeak.default","mathspeak.sbrief",'[t] "determinante"; [t] count(children/*); [t] "por";[t] count(children/*[1]/children/*); [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"fila "); [t] "finalizar determinante"'); +(0,sre.MathspeakSpanish.defineRule_)("determinant-simple","mathspeak.default",'[t] "empezar determinante"; [t] count(children/*); [t] "por";[t] count(children/*[1]/children/*); [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"fila",grammar:simpleDet); [t] "finalizar determinante"',"self::matrix",'@role="determinant"',"CQFdetIsSimple");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("determinant-simple","mathspeak.default","mathspeak.sbrief",'[t] "determinante"; [t] count(children/*); [t] "por";[t] count(children/*[1]/children/*); [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"fila",grammar:simpleDet); [t] "finalizar determinante"'); +(0,sre.MathspeakSpanish.defineRule_)("row-simple","mathspeak.default","[m] children/*;","self::row",'@role="determinant"','contains(@grammar, "simpleDet")');(0,sre.MathspeakSpanish.defineRule_)("layout","mathspeak.default",'[t] "empezar esquema"; [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"fila "); [t] "finalizar esquema"',"self::table");(0,sre.MathspeakSpanish.defineRule_)("layout","mathspeak.sbrief",'[t] "esquema"; [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"fila "); [t] "finalizar esquema"', +"self::table");(0,sre.MathspeakSpanish.defineRule_)("binomial","mathspeak.default",'[t] "empezar binomial"; [n] children/*[1]/children/*[1]; [t] "en"; [n] children/*[2]/children/*[1]; [t] "finalizar binomial"',"self::vector",'@role="binomial"');(0,sre.MathspeakSpanish.defineRule_)("binomial","mathspeak.sbrief",'[t] "binomial"; [n] children/*[1]/children/*[1]; [t] "en"; [n] children/*[2]/children/*[1]; [t] "finalizar binomial"',"self::vector",'@role="binomial"');(0,sre.MathspeakSpanish.defineRule_)("cases", +"mathspeak.default",'[t] "empezar esquema"; [n] content/*[1]; [t] "alargada"; [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"fila "); [t] "finalizar esquema"',"self::cases");(0,sre.MathspeakSpanish.defineRule_)("cases","mathspeak.sbrief",'[t] "esquema"; [n] content/*[1]; [t] "alargada"; [m] children/* (ctxtFunc:CTXFordinalCounterEs,context:"fila "); [t] "finalizar esquema"',"self::cases");(0,sre.MathspeakSpanish.defineRuleAlias_)("layout","self::multiline");(0,sre.MathspeakSpanish.defineRule_)("line", +"mathspeak.default","[m] children/*","self::line");(0,sre.MathspeakSpanish.defineRule_)("line-with-label","mathspeak.default",'[t] "con etiqueta"; [n] content/*[1]; [t] "finalizar etiqueta" (pause: 200); [m] children/*',"self::line","content");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("line-with-label","mathspeak.default","mathspeak.brief",'[t] "etiqueta"; [n] content/*[1] (pause: 200); [m] children/*');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("line-with-label","mathspeak.brief","mathspeak.sbrief"); +(0,sre.MathspeakSpanish.defineRule_)("line-with-text-label","mathspeak.sbrief",'[t] "etiqueta"; [t] CSFRemoveParens; [m] children/*',"self::line","content",'name(content/cell/children/*[1])="text"');(0,sre.MathspeakSpanish.defineRule_)("empty-line","mathspeak.default",'[t] "espacio"',"self::line","count(children/*)=0","not(content)");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("empty-line","mathspeak.default","mathspeak.brief");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("empty-line","mathspeak.brief", +"mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("empty-line-with-label","mathspeak.default",'[t] "con etiqueta"; [n] content/*[1]; [t] "finalizar etiqueta" (pause: 200); [t] "espacio"',"self::line","count(children/*)=0","content");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("empty-line-with-label","mathspeak.default","mathspeak.brief",'[t] "etiqueta"; [n] content/*[1] (pause: 200); [t] "espacio"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("empty-line-with-label","mathspeak.brief", +"mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRule_)("enclose","mathspeak.default",'[t] "empezar rodear"; [t] @role (grammar:localEnclose); [n] children/*[1]; [t] "finalizar rodear"',"self::enclose");(0,sre.MathspeakSpanish.defineRuleAlias_)("overbar","self::enclose",'@role="top"');(0,sre.MathspeakSpanish.defineRuleAlias_)("underbar","self::enclose",'@role="bottom"');(0,sre.MathspeakSpanish.defineRule_)("leftbar","mathspeak.default",'[t] "barra vertical"; [n] children/*[1]',"self::enclose",'@role="left"'); +(0,sre.MathspeakSpanish.defineRule_)("rightbar","mathspeak.default",'[n] children/*[1]; [t] "barra vertical"',"self::enclose",'@role="right"');(0,sre.MathspeakSpanish.defineRule_)("crossout","mathspeak.default",'[t] "tachado"; [n] children/*[1]; [t] "finalizar tachado"',"self::enclose",'@role="updiagonalstrike" or @role="downdiagonalstrike" or @role="horizontalstrike"');(0,sre.MathspeakSpanish.defineRule_)("cancel","mathspeak.default",'[t] "tachado"; [n] children/*[1]/children/*[1]; [t] "con"; [n] children/*[2]; [t] "finalizar tachado"', +"self::overscore",'@role="updiagonalstrike" or @role="downdiagonalstrike" or @role="horizontalstrike"');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("cancel","mathspeak.default","mathspeak.brief");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("cancel","mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRuleAlias_)("cancel","self::underscore",'@role="updiagonalstrike" or @role="downdiagonalstrike" or @role="horizontalstrike"');(0,sre.MathspeakSpanish.defineRule_)("cancel-reverse", +"mathspeak.default",'[t] "tachado"; [n] children/*[2]/children/*[1]; [t] "con"; [n] children/*[1]; [t] "finalizar tachado"',"self::overscore",'name(children/*[2])="enclose"','children/*[2][@role="updiagonalstrike" or @role="downdiagonalstrike" or @role="horizontalstrike"]');(0,sre.MathspeakSpanish.defineSpecialisedRule_)("cancel-reverse","mathspeak.default","mathspeak.brief");(0,sre.MathspeakSpanish.defineSpecialisedRule_)("cancel-reverse","mathspeak.default","mathspeak.sbrief");(0,sre.MathspeakSpanish.defineRuleAlias_)("cancel-reverse", +"self::underscore",'name(children/*[2])="enclose"','children/*[2][@role="updiagonalstrike" or @role="downdiagonalstrike" or @role="horizontalstrike"]');(0,sre.MathspeakSpanish.defineRule_)("end-punct","mathspeak.default","[m] children/*","self::punctuated",'@role="endpunct"');(0,sre.MathspeakSpanish.defineRule_)("start-punct","mathspeak.default","[n] content/*[1]; [m] children/*[position()>1]","self::punctuated",'@role="startpunct"');(0,sre.MathspeakSpanish.defineRule_)("integral-punct","mathspeak.default", +"[n] children/*[1]; [n] children/*[3]","self::punctuated",'@role="integral"');(0,sre.MathspeakSpanish.defineRule_)("punctuated","mathspeak.default","[m] children/*","self::punctuated");(0,sre.MathspeakSpanish.defineRule_)("unit","mathspeak.default",'[t] text() (grammar:annotation="unit":translate)',"self::identifier",'@role="unit"');(0,sre.MathspeakSpanish.defineRule_)("unit","mathspeak.default",'[t] text() (grammar:annotation="unit":translate:plural)',"self::identifier",'@role="unit"','not(contains(@grammar, "singularUnit"))'); +(0,sre.MathspeakSpanish.defineRule_)("unit-square","mathspeak.default",'[t] "square"; [n] children/*[1]',"self::superscript",'@role="unit"',"children/*[2][text()=2]",'name(children/*[1])="identifier"');(0,sre.MathspeakSpanish.defineRule_)("unit-cubic","mathspeak.default",'[t] "cubic"; [n] children/*[1]',"self::superscript",'@role="unit"',"children/*[2][text()=3]",'name(children/*[1])="identifier"');(0,sre.MathspeakSpanish.defineRule_)("reciprocal","mathspeak.default",'[t] "reciprocal"; [n] children/*[1]', +"self::superscript",'@role="unit"','name(children/*[1])="identifier"','name(children/*[2])="prefixop"','children/*[2][@role="negative"]',"children/*[2]/children/*[1][text()=1]",'count(preceding-sibling::*)=0 or preceding-sibling::*[@role!="unit"]');(0,sre.MathspeakSpanish.defineRule_)("reciprocal","mathspeak.default",'[t] "per"; [n] children/*[1]',"self::superscript",'@role="unit"','name(children/*[1])="identifier"','name(children/*[2])="prefixop"','children/*[2][@role="negative"]',"children/*[2]/children/*[1][text()=1]", +'preceding-sibling::*[@role="unit"]');(0,sre.MathspeakSpanish.defineRule_)("unit-combine","mathspeak.default","[m] children/* (sepFunc:CTXFunitMultipliers)","self::infixop",'@role="unit"');(0,sre.MathspeakSpanish.defineRule_)("unit-combine","mathspeak.default","[m] children/* (sepFunc:CTXFunitMultipliers);","self::infixop",'@role="multiplication" or @role="implicit"','children/*[@role="unit"]');(0,sre.MathspeakSpanish.defineRule_)("unit-combine","mathspeak.default","[n] . (grammar:singularUnit);", +"self::infixop",'@role="multiplication" or @role="implicit"','children/*[@role="unit"]','not(contains(@grammar, "singularUnit"))',"CQFoneLeft");(0,sre.MathspeakSpanish.defineRule_)("unit-divide","mathspeak.default",'[n] children/*[1]; [t] "per"; [n] children/*[2]',"self::fraction",'@role="unit"')};sre.MathspeakSpanish.componentString_={2:"CSFbaseline",1:"CSFsubscript",0:"CSFsuperscript"};sre.MathspeakSpanish.childNumber_={4:2,3:3,2:1,1:4,0:5}; +sre.MathspeakSpanish.generateTensorRuleStrings_=function(a){var b=[],c="",d="";a=parseInt(a,2);for(var e=0;5>e;e++){var f="children/*["+sre.MathspeakSpanish.childNumber_[e]+"]";if(a&1){var g=sre.MathspeakSpanish.componentString_[e%3];c="[t] "+g+"Verbose; [n] "+f+";"+c;d="[t] "+g+"Brief; [n] "+f+";"+d}else b.unshift("name("+f+')="empty"');a>>=1}b.push(c);b.push(d);return b}; +sre.MathspeakSpanish.generateMathspeakTensorRules_=function(){for(var a="11111 11110 11101 11100 10111 10110 10101 10100 01111 01110 01101 01100".split(" "),b=0,c;c=a[b];b++){var d="tensor"+c;c=sre.MathspeakSpanish.generateTensorRuleStrings_(c);var e=c.pop(),f=c.pop(),g=[d,"mathspeak.default",f,"self::tensor"].concat(c),h=[d,"mathspeak.brief",e,"self::tensor"].concat(c);sre.MathspeakSpanish.defineRule_.apply(null,g);sre.MathspeakSpanish.defineRule_.apply(null,h);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(d, +"mathspeak.brief","mathspeak.sbrief");g=sre.MathspeakSpanish.componentString_[2];f+="; [t]"+g+"Verbose";e+="; [t]"+g+"Brief";d+="-baseline";g=[d,"mathspeak.default",f,"self::tensor","following-sibling::*"].concat(c);h=[d,"mathspeak.brief",e,"self::tensor","following-sibling::*"].concat(c);sre.MathspeakSpanish.defineRule_.apply(null,g);sre.MathspeakSpanish.defineRule_.apply(null,h);(0,sre.MathspeakSpanish.defineSpecialisedRule_)(d,"mathspeak.brief","mathspeak.sbrief");d=[d,"self::tensor","not(following-sibling::*)", +"ancestor::fraction|ancestor::punctuated|ancestor::fenced|ancestor::root|ancestor::sqrt|ancestor::relseq|ancestor::multirel|@embellished"].concat(c);sre.MathspeakSpanish.defineRuleAlias_.apply(null,d)}};sre.MathspeakSpanish.getInstance().initializer=[sre.MathspeakSpanish.initCustomFunctions_,sre.MathspeakSpanish.initMathspeakSpanish_,sre.MathspeakSpanish.generateMathspeakTensorRules_];sre.PrefixRules=function(){sre.MathStore.call(this)};goog.inherits(sre.PrefixRules,sre.MathStore);goog.addSingletonGetter(sre.PrefixRules);sre.PrefixRules.mathStore=sre.PrefixRules.getInstance();sre.PrefixRules.defineRule_=goog.bind(sre.PrefixRules.mathStore.defineRule,sre.PrefixRules.mathStore);sre.PrefixRules.defineRuleAlias_=goog.bind(sre.PrefixRules.mathStore.defineRulesAlias,sre.PrefixRules.mathStore);sre.PrefixRules.addCustomString_=goog.bind(sre.PrefixRules.mathStore.customStrings.add,sre.PrefixRules.mathStore.customStrings); +sre.PrefixRules.ordinalPosition=function(a){var b=sre.DomUtil.toArray(a.parentNode.childNodes);return sre.MathspeakUtil.simpleOrdinal(b.indexOf(a)+1).toString()};sre.PrefixRules.initCustomFunctions_=function(){(0,sre.PrefixRules.addCustomString_)("CSFordinalPosition",sre.PrefixRules.ordinalPosition)}; +sre.PrefixRules.initPrefixRules_=function(){(0,sre.PrefixRules.defineRule_)("numerator","prefix.default",'[t] "Numerator"; [p] (pause:200)',"self::*",'name(../..)="fraction"',"count(preceding-sibling::*)=0");(0,sre.PrefixRules.defineRule_)("denominator","prefix.default",'[t] "Denominator"; [p] (pause:200)',"self::*",'name(../..)="fraction"',"count(preceding-sibling::*)=1");(0,sre.PrefixRules.defineRule_)("base","prefix.default",'[t] "Base"; [p] (pause:200)',"self::*",'name(../..)="superscript" or name(../..)="subscript" or name(../..)="overscore" or name(../..)="underscore" or name(../..)="tensor"', +"count(preceding-sibling::*)=0");(0,sre.PrefixRules.defineRule_)("exponent","prefix.default",'[t] "Exponent"; [p] (pause:200)',"self::*",'name(../..)="superscript"',"count(preceding-sibling::*)=1");(0,sre.PrefixRules.defineRule_)("subscript","prefix.default",'[t] "Subscript"; [p] (pause:200)',"self::*",'name(../..)="subscript"',"count(preceding-sibling::*)=1");(0,sre.PrefixRules.defineRule_)("overscript","prefix.default",'[t] "Overscript"; [p] (pause:200)',"self::*",'name(../..)="overscore"',"count(preceding-sibling::*)=1"); +(0,sre.PrefixRules.defineRule_)("underscript","prefix.default",'[t] "Underscript"; [p] (pause:200)',"self::*",'name(../..)="underscore"',"count(preceding-sibling::*)=1");(0,sre.PrefixRules.defineRule_)("radicand","prefix.default",'[t] "Radicand"; [p] (pause:200)',"self::*",'name(../..)="sqrt"');(0,sre.PrefixRules.defineRule_)("radicand","prefix.default",'[t] "Radicand"; [p] (pause:200)',"self::*",'name(../..)="root"',"count(preceding-sibling::*)=1");(0,sre.PrefixRules.defineRule_)("index","prefix.default", +'[t] "Index"; [p] (pause:200)',"self::*",'name(../..)="root"',"count(preceding-sibling::*)=0");(0,sre.PrefixRules.defineRule_)("leftsub","prefix.default",'[t] "Left Subscript"; [p] (pause:200)',"self::*",'name(../..)="tensor"','@role="leftsub"');(0,sre.PrefixRules.defineRule_)("leftsub","prefix.default",'[t] CSFordinalPosition; [t] "Left Subscript"; [p] (pause:200)',"self::*",'name(../..)="punctuated"','name(../../../..)="tensor"','../../@role="leftsub"');(0,sre.PrefixRules.defineRule_)("leftsuper", +"prefix.default",'[t] "Left Superscript"; [p] (pause:200)',"self::*",'name(../..)="tensor"','@role="leftsuper"');(0,sre.PrefixRules.defineRule_)("leftsuper","prefix.default",'[t] CSFordinalPosition; [t] "Left Superscript"; [p] (pause:200)',"self::*",'name(../..)="punctuated"','name(../../../..)="tensor"','../../@role="leftsuper"');(0,sre.PrefixRules.defineRule_)("rightsub","prefix.default",'[t] "Right Subscript"; [p] (pause:200)',"self::*",'name(../..)="tensor"','@role="rightsub"');(0,sre.PrefixRules.defineRule_)("rightsub", +"prefix.default",'[t] CSFordinalPosition; [t] "Right Subscript"; [p] (pause:200)',"self::*",'name(../..)="punctuated"','name(../../../..)="tensor"','../../@role="rightsub"');(0,sre.PrefixRules.defineRule_)("rightsuper","prefix.default",'[t] "Right Superscript"; [p] (pause:200)',"self::*",'name(../..)="tensor"','@role="rightsuper"');(0,sre.PrefixRules.defineRule_)("rightsuper","prefix.default",'[t] CSFordinalPosition; [t] "Right Superscript"; [p] (pause:200)',"self::*",'name(../..)="punctuated"','name(../../../..)="tensor"', +'../../@role="rightsuper"');(0,sre.PrefixRules.defineRule_)("choice","prefix.default",'[t] "Choice Quantity"; [p] (pause:200)',"self::line",'@role="binomial"',"parent::*/parent::vector","count(preceding-sibling::*)=0");(0,sre.PrefixRules.defineRule_)("select","prefix.default",'[t] "Selection Quantity"; [p] (pause:200)',"self::line",'@role="binomial"',"parent::*/parent::vector","count(preceding-sibling::*)=1");(0,sre.PrefixRules.defineRule_)("row","prefix.default",'[t] CSFordinalPosition; [t] "Row"; [p] (pause:200)', +"self::row");(0,sre.PrefixRules.defineRuleAlias_)("row","self::line");(0,sre.PrefixRules.defineRule_)("cell","prefix.default",'[n] ../..; [t] CSFordinalPosition; [t] "Column"; [p] (pause:200)',"self::cell",'contains(@grammar,"depth")');(0,sre.PrefixRules.defineRule_)("cell","prefix.default",'[t] CSFordinalPosition; [t] "Column"; [p] (pause:200)',"self::cell")};sre.PrefixRules.getInstance().initializer=[sre.PrefixRules.initCustomFunctions_,sre.PrefixRules.initPrefixRules_];sre.PrefixSpanish=function(){sre.MathStore.call(this);this.locale="es"};goog.inherits(sre.PrefixSpanish,sre.MathStore);goog.addSingletonGetter(sre.PrefixSpanish);sre.PrefixSpanish.mathStore=sre.PrefixSpanish.getInstance();sre.PrefixSpanish.defineRule_=goog.bind(sre.PrefixSpanish.mathStore.defineRule,sre.PrefixSpanish.mathStore);sre.PrefixSpanish.defineRuleAlias_=goog.bind(sre.PrefixSpanish.mathStore.defineRulesAlias,sre.PrefixSpanish.mathStore); +sre.PrefixSpanish.addCustomString_=goog.bind(sre.PrefixSpanish.mathStore.customStrings.add,sre.PrefixSpanish.mathStore.customStrings);sre.PrefixSpanish.ordinalPosition=function(a){var b=sre.DomUtil.toArray(a.parentNode.childNodes);return sre.MathspeakUtil.simpleOrdinal(b.indexOf(a)+1).toString()};sre.PrefixSpanish.initCustomFunctions_=function(){(0,sre.PrefixSpanish.addCustomString_)("CSFordinalPosition",sre.PrefixSpanish.ordinalPosition)}; +sre.PrefixSpanish.initPrefixSpanish_=function(){(0,sre.PrefixSpanish.defineRule_)("numerator","prefix.default",'[t] "numerador"; [p] (pause:200)',"self::*",'name(../..)="fraction"',"count(preceding-sibling::*)=0");(0,sre.PrefixSpanish.defineRule_)("denominator","prefix.default",'[t] "denominador"; [p] (pause:200)',"self::*",'name(../..)="fraction"',"count(preceding-sibling::*)=1");(0,sre.PrefixSpanish.defineRule_)("base","prefix.default",'[t] "base"; [p] (pause:200)',"self::*",'name(../..)="superscript" or name(../..)="subscript" or name(../..)="overscore" or name(../..)="underscore" or name(../..)="tensor"', +"count(preceding-sibling::*)=0");(0,sre.PrefixSpanish.defineRule_)("exponent","prefix.default",'[t] "exponente"; [p] (pause:200)',"self::*",'name(../..)="superscript"',"count(preceding-sibling::*)=1");(0,sre.PrefixSpanish.defineRule_)("subscript","prefix.default",'[t] "sub\u00edndice"; [p] (pause:200)',"self::*",'name(../..)="subscript"',"count(preceding-sibling::*)=1");(0,sre.PrefixSpanish.defineRule_)("overscript","prefix.default",'[t] "overscript"; [p] (pause:200)',"self::*",'name(../..)="overscore"', +"count(preceding-sibling::*)=1");(0,sre.PrefixSpanish.defineRule_)("underscript","prefix.default",'[t] "underscript"; [p] (pause:200)',"self::*",'name(../..)="underscore"',"count(preceding-sibling::*)=1");(0,sre.PrefixSpanish.defineRule_)("radicand","prefix.default",'[t] "radicand"; [p] (pause:200)',"self::*",'name(../..)="sqrt"');(0,sre.PrefixSpanish.defineRule_)("radicand","prefix.default",'[t] "radicand"; [p] (pause:200)',"self::*",'name(../..)="root"',"count(preceding-sibling::*)=1");(0,sre.PrefixSpanish.defineRule_)("index", +"prefix.default",'[t] "\u00edndice"; [p] (pause:200)',"self::*",'name(../..)="root"',"count(preceding-sibling::*)=0");(0,sre.PrefixSpanish.defineRule_)("leftsub","prefix.default",'[t] "sub\u00edndice izquierdo"; [p] (pause:200)',"self::*",'name(../..)="tensor"','@role="leftsub"');(0,sre.PrefixSpanish.defineRule_)("leftsub","prefix.default",'[t] CSFordinalPosition; [t] "sub\u00edndice izquierdo"; [p] (pause:200)',"self::*",'name(../..)="punctuated"','name(../../../..)="tensor"','../../@role="leftsub"'); +(0,sre.PrefixSpanish.defineRule_)("leftsuper","prefix.default",'[t] "super\u00edndice izquierdo"; [p] (pause:200)',"self::*",'name(../..)="tensor"','@role="leftsuper"');(0,sre.PrefixSpanish.defineRule_)("leftsuper","prefix.default",'[t] CSFordinalPosition; [t] "super\u00edndice izquierdo"; [p] (pause:200)',"self::*",'name(../..)="punctuated"','name(../../../..)="tensor"','../../@role="leftsuper"');(0,sre.PrefixSpanish.defineRule_)("rightsub","prefix.default",'[t] "derecha sub\u00edndice"; [p] (pause:200)', +"self::*",'name(../..)="tensor"','@role="rightsub"');(0,sre.PrefixSpanish.defineRule_)("rightsub","prefix.default",'[t] CSFordinalPosition; [t] "derecha sub\u00edndice"; [p] (pause:200)',"self::*",'name(../..)="punctuated"','name(../../../..)="tensor"','../../@role="rightsub"');(0,sre.PrefixSpanish.defineRule_)("rightsuper","prefix.default",'[t] "super\u00edndice derecho"; [p] (pause:200)',"self::*",'name(../..)="tensor"','@role="rightsuper"');(0,sre.PrefixSpanish.defineRule_)("rightsuper","prefix.default", +'[t] CSFordinalPosition; [t] "super\u00edndice derecho"; [p] (pause:200)',"self::*",'name(../..)="punctuated"','name(../../../..)="tensor"','../../@role="rightsuper"');(0,sre.PrefixSpanish.defineRule_)("choice","prefix.default",'[t] "cantidad de elecci\u00f3n"; [p] (pause:200)',"self::line",'@role="binomial"',"parent::*/parent::vector","count(preceding-sibling::*)=0");(0,sre.PrefixSpanish.defineRule_)("select","prefix.default",'[t] "cantidad de selecci\u00f3n"; [p] (pause:200)',"self::line",'@role="binomial"', +"parent::*/parent::vector","count(preceding-sibling::*)=1");(0,sre.PrefixSpanish.defineRule_)("row","prefix.default",'[t] CSFordinalPosition; [t] "fila"; [p] (pause:200)',"self::row");(0,sre.PrefixSpanish.defineRuleAlias_)("row","self::line");(0,sre.PrefixSpanish.defineRule_)("cell","prefix.default",'[n] ../..; [t] CSFordinalPosition; [t] "columna"; [p] (pause:200)',"self::cell",'contains(@grammar,"depth")');(0,sre.PrefixSpanish.defineRule_)("cell","prefix.default",'[t] CSFordinalPosition; [t] "columna"; [p] (pause:200)', +"self::cell")};sre.PrefixSpanish.getInstance().initializer=[sre.PrefixSpanish.initCustomFunctions_,sre.PrefixSpanish.initPrefixSpanish_];sre.SemanticTreeRules=function(){sre.MathStore.call(this)};goog.inherits(sre.SemanticTreeRules,sre.MathStore);goog.addSingletonGetter(sre.SemanticTreeRules);sre.SemanticTreeRules.mathStore=sre.SemanticTreeRules.getInstance();sre.SemanticTreeRules.defineRule_=goog.bind(sre.SemanticTreeRules.mathStore.defineRule,sre.SemanticTreeRules.mathStore);sre.SemanticTreeRules.defineRuleAlias_=goog.bind(sre.SemanticTreeRules.mathStore.defineRuleAlias,sre.SemanticTreeRules.mathStore); +sre.SemanticTreeRules.addContextFunction_=goog.bind(sre.SemanticTreeRules.mathStore.contextFunctions.add,sre.SemanticTreeRules.mathStore.contextFunctions);sre.SemanticTreeRules.initCustomFunctions_=function(){(0,sre.SemanticTreeRules.addContextFunction_)("CTXFnodeCounter",sre.StoreUtil.nodeCounter);(0,sre.SemanticTreeRules.addContextFunction_)("CTXFcontentIterator",sre.MathmlStoreUtil.contentIterator)}; +sre.SemanticTreeRules.initSemanticRules_=function(){(0,sre.SemanticTreeRules.defineRule_)("stree","default.default","[n] ./*[1]","self::stree");(0,sre.SemanticTreeRules.defineRule_)("multrel","default.default",'[t] "multirelation"; [m] children/* (sepFunc:CTXFcontentIterator)',"self::multirel");(0,sre.SemanticTreeRules.defineRule_)("variable-equality","default.default",'[t] "equation sequence"; [m] children/* (context:"part",ctxtFunc:CTXFnodeCounter,sepFunc:CTXFcontentIterator)','self::relseq[@role="equality"]', +"count(./children/*)>2",'./children/punctuation[@role="ellipsis"]');(0,sre.SemanticTreeRules.defineRule_)("multi-equality","default.default",'[t] "equation sequence"; [m] children/* (context:"part",ctxtFunc:CTXFnodeCounter,sepFunc:CTXFcontentIterator)','self::relseq[@role="equality"]',"count(./children/*)>2");(0,sre.SemanticTreeRules.defineRule_)("multi-equality","default.short",'[t] "equation sequence"; [m] children/* (sepFunc:CTXFcontentIterator)','self::relseq[@role="equality"]',"count(./children/*)>2"); +(0,sre.SemanticTreeRules.defineRule_)("equality","default.default","[n] children/*[1]; [p] (pause:200); [n] content/*[1] (pause:200);[n] children/*[2]",'self::relseq[@role="equality"]',"count(./children/*)=2");(0,sre.SemanticTreeRules.defineRule_)("simple-equality","default.default","[n] children/*[1]; [p] (pause:200); [n] content/*[1] (pause:200);[n] children/*[2]",'self::relseq[@role="equality"]',"count(./children/*)=2","./children/identifier or ./children/number");(0,sre.SemanticTreeRules.defineRule_)("simple-equality2", +"default.default","[n] children/*[1]; [p] (pause:200); [n] content/*[1] (pause:200);[n] children/*[2]",'self::relseq[@role="equality"]',"count(./children/*)=2","./children/function or ./children/appl");(0,sre.SemanticTreeRules.defineRule_)("relseq","default.default","[m] children/* (sepFunc:CTXFcontentIterator)","self::relseq");(0,sre.SemanticTreeRules.defineRule_)("binary-operation","default.default","[m] children/* (sepFunc:CTXFcontentIterator);","self::infixop");(0,sre.SemanticTreeRules.defineRule_)("variable-addition", +"default.default",'[t] "sum with variable number of summands";[p] (pause:400); [m] children/* (sepFunc:CTXFcontentIterator)','self::infixop[@role="addition"]',"count(children/*)>2",'children/punctuation[@role="ellipsis"]');(0,sre.SemanticTreeRules.defineRule_)("multi-addition","default.default",'[t] "sum with"; [t] count(./children/*); [t] "summands";[p] (pause:400); [m] children/* (sepFunc:CTXFcontentIterator)','self::infixop[@role="addition"]',"count(./children/*)>2");(0,sre.SemanticTreeRules.defineRule_)("prefix", +"default.default",'[t] "prefix"; [n] text(); [t] "of" (pause 150);[n] children/*[1]',"self::prefixop");(0,sre.SemanticTreeRules.defineRule_)("negative","default.default",'[t] "negative"; [n] children/*[1]',"self::prefixop",'self::prefixop[@role="negative"]');(0,sre.SemanticTreeRules.defineRule_)("postfix","default.default",'[n] children/*[1]; [t] "postfix"; [n] text() (pause 300)',"self::postfixop");(0,sre.SemanticTreeRules.defineRule_)("identifier","default.default","[n] text()","self::identifier"); +(0,sre.SemanticTreeRules.defineRule_)("number","default.default","[n] text()","self::number");(0,sre.SemanticTreeRules.defineRule_)("mixed-number","default.default",'[n] children/*[1]; [t] "and"; [n] children/*[2]; ',"self::number",'@role="mixed"');(0,sre.SemanticTreeRules.defineRule_)("font","default.default","[t] @font; [n] . (grammar:ignoreFont=@font)","self::*","@font",'not(contains(@grammar, "ignoreFont"))','@font!="normal"');(0,sre.SemanticTreeRules.defineRule_)("font-identifier-short","default.default", +"[t] @font; [n] . (grammar:ignoreFont=@font)","self::identifier","string-length(text())=1","@font",'not(contains(@grammar, "ignoreFont"))','@font="normal"','""=translate(text(), "abcdefghijklmnopqrstuvwxyz\u03b1\u03b2\u03b3\u03b4\u03b5\u03b6\u03b7\u03b8\u03b9\u03ba\u03bb\u03bc\u03bd\u03be\u03bf\u03c0\u03c1\u03c2\u03c3\u03c4\u03c5\u03c6\u03c7\u03c8\u03c9ABCDEFGHIJKLMNOPQRSTUVWXYZ\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039a\u039b\u039c\u039d\u039e\u039f\u03a0\u03a1\u03a3\u03a3\u03a4\u03a5\u03a6\u03a7\u03a8\u03a9", "")', +'@role!="unit"');(0,sre.SemanticTreeRules.defineRule_)("font-identifier","default.default","[t] @font; [n] . (grammar:ignoreFont=@font)","self::identifier","string-length(text())=1","@font",'@font="normal"','not(contains(@grammar, "ignoreFont"))','@role!="unit"');(0,sre.SemanticTreeRules.defineRule_)("omit-font","default.default","[n] . (grammar:ignoreFont=@font)","self::identifier","string-length(text())=1","@font",'not(contains(@grammar, "ignoreFont"))','@font="italic"');(0,sre.SemanticTreeRules.defineRule_)("fraction", +"default.default",'[p] (pause:250); [n] children/*[1] (rate:0.35); [p] (pause:250); [t] "divided by"; [n] children/*[2] (rate:-0.35); [p] (pause:400)',"self::fraction");(0,sre.SemanticTreeRules.defineRule_)("superscript","default.default",'[n] children/*[1]; [t] "super"; [n] children/*[2] (pitch:0.35);[p] (pause:300)',"self::superscript");(0,sre.SemanticTreeRules.defineRule_)("subscript","default.default",'[n] children/*[1]; [t] "sub"; [n] children/*[2] (pitch:-0.35);[p] (pause:300)',"self::subscript"); +(0,sre.SemanticTreeRules.defineRule_)("ellipsis","default.default",'[p] (pause:200); [t] "ellipsis"; [p] (pause:300)',"self::punctuation",'self::punctuation[@role="ellipsis"]');(0,sre.SemanticTreeRules.defineRule_)("fence-single","default.default","[n] text()","self::punctuation",'self::punctuation[@role="openfence"]');(0,sre.SemanticTreeRules.defineRuleAlias_)("fence-single","self::punctuation",'self::punctuation[@role="closefence"]');(0,sre.SemanticTreeRules.defineRuleAlias_)("fence-single","self::punctuation", +'self::punctuation[@role="vbar"]');(0,sre.SemanticTreeRules.defineRuleAlias_)("fence-single","self::punctuation",'self::punctuation[@role="application"]');(0,sre.SemanticTreeRules.defineRule_)("omit-empty","default.default","[p] (pause:100)","self::empty");(0,sre.SemanticTreeRules.defineRule_)("fences-open-close","default.default","[p] (pause:100); [n] content/*[1]; [n] children/*[1]; [n] content/*[2]; [p] (pause:100)","self::fenced",'@role="leftright"');(0,sre.SemanticTreeRules.defineRule_)("fences-open-close-in-appl", +"default.default","[p] (pause:200); [n] children/*[1]; [p] (pause:200);",'self::fenced[@role="leftright"]',"./parent::children/parent::appl");(0,sre.SemanticTreeRules.defineRule_)("fences-neutral","default.default",'[p] (pause:100); [t] "absolute value of"; [n] children/*[1];[p] (pause:350);',"self::fenced",'self::fenced[@role="neutral"]');(0,sre.SemanticTreeRules.defineRule_)("omit-fences","default.default","[p] (pause:500); [n] children/*[1]; [p] (pause:200);","self::fenced");(0,sre.SemanticTreeRules.defineRule_)("matrix", +"default.default",'[t] "matrix"; [m] children/* (ctxtFunc:CTXFnodeCounter,context:"row",pause:100)',"self::matrix");(0,sre.SemanticTreeRules.defineRule_)("matrix-row","default.default",'[m] children/* (ctxtFunc:CTXFnodeCounter,context:"column",pause:100)','self::row[@role="matrix"]');(0,sre.SemanticTreeRules.defineRule_)("matrix-cell","default.default","[n] children/*[1]",'self::cell[@role="matrix"]');(0,sre.SemanticTreeRules.defineRule_)("vector","default.default",'[t] "vector"; [m] children/* (ctxtFunc:CTXFnodeCounter,context:"element",pause:100)', +"self::vector");(0,sre.SemanticTreeRules.defineRule_)("cases","default.default",'[t] "case statement"; [m] children/* (ctxtFunc:CTXFnodeCounter,context:"case",pause:100)',"self::cases");(0,sre.SemanticTreeRules.defineRule_)("cases-row","default.default","[m] children/*",'self::row[@role="cases"]');(0,sre.SemanticTreeRules.defineRule_)("cases-cell","default.default","[n] children/*[1]",'self::cell[@role="cases"]');(0,sre.SemanticTreeRules.defineRule_)("row","default.default",'[m] ./* (ctxtFunc:CTXFnodeCounter,context:"column",pause:100)', +"self::row");(0,sre.SemanticTreeRules.defineRule_)("cases-end","default.default",'[t] "case statement"; [m] children/* (ctxtFunc:CTXFnodeCounter,context:"case",pause:100);[t] "end cases"',"self::cases","following-sibling::*");(0,sre.SemanticTreeRules.defineRule_)("multiline","default.default",'[t] "multiline equation";[m] children/* (ctxtFunc:CTXFnodeCounter,context:"line",pause:100)',"self::multiline");(0,sre.SemanticTreeRules.defineRule_)("multiline-ineq","default.default",'[t] "multiline inequality";[m] children/* (ctxtFunc:CTXFnodeCounter,context:"row",pause:100)', +"self::multiline",'@role="inequality"');(0,sre.SemanticTreeRules.defineRule_)("line","default.default","[m] children/*","self::line");(0,sre.SemanticTreeRules.defineRule_)("table","default.default",'[t] "multiline equation";[m] children/* (ctxtFunc:CTXFnodeCounter,context:"row",pause:200)',"self::table");(0,sre.SemanticTreeRules.defineRule_)("table-ineq","default.default",'[t] "multiline inequality";[m] children/* (ctxtFunc:CTXFnodeCounter,context:"row",pause:200)',"self::table",'@role="inequality"'); +(0,sre.SemanticTreeRules.defineRule_)("table-row","default.default","[m] children/* (pause:100)",'self::row[@role="table"]');(0,sre.SemanticTreeRules.defineRuleAlias_)("cases-cell",'self::cell[@role="table"]');(0,sre.SemanticTreeRules.defineRule_)("empty-cell","mathspeak.default",'[t] "Blank"',"self::cell","count(children/*)=0");(0,sre.SemanticTreeRules.defineRule_)("end-punct","default.default","[m] children/*; [p] (pause:300)","self::punctuated",'@role="endpunct"');(0,sre.SemanticTreeRules.defineRule_)("start-punct", +"default.default","[n] content/*[1]; [p] (pause:200); [m] children/*[position()>1]","self::punctuated",'@role="startpunct"');(0,sre.SemanticTreeRules.defineRule_)("integral-punct","default.default","[n] children/*[1] (rate:0.2); [n] children/*[3] (rate:0.2)","self::punctuated",'@role="integral"');(0,sre.SemanticTreeRules.defineRule_)("punctuated","default.default","[m] children/* (pause:100)","self::punctuated");(0,sre.SemanticTreeRules.defineRule_)("function","default.default","[n] text()","self::function"); +(0,sre.SemanticTreeRules.defineRule_)("appl","default.default","[n] children/*[1]; [n] content/*[1]; [n] children/*[2]","self::appl");(0,sre.SemanticTreeRules.defineRule_)("sum-only","default.default",'[n] children/*[1]; [t] "from"; [n] children/*[2]; [t] "to";[n] children/*[3]',"self::limboth",'self::limboth[@role="sum"]');(0,sre.SemanticTreeRules.defineRule_)("limboth","default.default",'[n] children/*[1]; [p] (pause 100); [t] "over"; [n] children/*[2];[t] "under"; [n] children/*[3]; [p] (pause 250);', +"self::limboth");(0,sre.SemanticTreeRules.defineRule_)("limlower","default.default",'[n] children/*[1]; [t] "over"; [n] children/*[2];',"self::limlower");(0,sre.SemanticTreeRules.defineRule_)("limupper","default.default",'[n] children/*[1]; [t] "under"; [n] children/*[2];',"self::limupper");(0,sre.SemanticTreeRules.defineRule_)("largeop","default.default","[n] text()","self::largeop");(0,sre.SemanticTreeRules.defineRule_)("bigop","default.default",'[n] children/*[1]; [p] (pause 100); [t] "over"; [n] children/*[2];[p] (pause 250);', +"self::bigop");(0,sre.SemanticTreeRules.defineRule_)("integral","default.default","[n] children/*[1]; [p] (pause 100); [n] children/*[2];[p] (pause 200); [n] children/*[3] (rate:0.35);","self::integral");(0,sre.SemanticTreeRules.defineRule_)("sqrt","default.default",'[t] "Square root of"; [n] children/*[1] (rate:0.35); [p] (pause:400)',"self::sqrt");(0,sre.SemanticTreeRules.defineRule_)("square","default.default",'[n] children/*[1]; [t] "squared" (pitch:0.35); [p] (pause:300)',"self::superscript", +"children/*[2][text()=2]",'name(./children/*[1])!="text"');(0,sre.SemanticTreeRules.defineRule_)("cube","default.default",'[n] children/*[1]; [t] "cubed" (pitch:0.35); [p] (pause:300)',"self::superscript","children/*[2][text()=3]",'name(./children/*[1])!="text"');(0,sre.SemanticTreeRules.defineRule_)("root","default.default",'[t] "root of order"; [n] children/*[1];[t] "over"; [n] children/*[1] (rate:0.35); [p] (pause:400)',"self::root");(0,sre.SemanticTreeRules.defineRule_)("text","default.default", +"[n] text(); [p] (pause:200)","self::text");(0,sre.SemanticTreeRules.defineRule_)("unit","default.default",'[t] text() (grammar:annotation="unit":translate)',"self::identifier",'@role="unit"');(0,sre.SemanticTreeRules.defineRule_)("unit-square","default.default",'[t] "square"; [n] children/*[1]',"self::superscript",'@role="unit"',"children/*[2][text()=2]",'name(children/*[1])="identifier"');(0,sre.SemanticTreeRules.defineRule_)("unit-cubic","default.default",'[t] "cubic"; [n] children/*[1]',"self::superscript", +'@role="unit"',"children/*[2][text()=3]",'name(children/*[1])="identifier"');(0,sre.SemanticTreeRules.defineRule_)("reciprocal","default.default",'[t] "reciprocal"; [n] children/*[1]',"self::superscript",'@role="unit"','name(children/*[1])="identifier"','name(children/*[2])="prefixop"','children/*[2][@role="negative"]',"children/*[2]/children/*[1][text()=1]",'count(preceding-sibling::*)=0 or preceding-sibling::*[@role!="unit"]');(0,sre.SemanticTreeRules.defineRule_)("reciprocal","default.default", +'[t] "per"; [n] children/*[1]',"self::superscript",'@role="unit"','name(children/*[1])="identifier"','name(children/*[2])="prefixop"','children/*[2][@role="negative"]',"children/*[2]/children/*[1][text()=1]",'preceding-sibling::*[@role="unit"]');(0,sre.SemanticTreeRules.defineRule_)("unit-combine","default.default","[m] children/*","self::infixop",'@role="unit"');(0,sre.SemanticTreeRules.defineRule_)("unit-divide","default.default",'[n] children/*[1] (pitch:0.3); [t] "per"; [n] children/*[2] (pitch:-0.3)', +"self::fraction",'@role="unit"')};sre.SemanticTreeRules.getInstance().initializer=[sre.SemanticTreeRules.initCustomFunctions_,sre.SemanticTreeRules.initSemanticRules_];sre.SpeechRuleStores={};sre.SpeechRuleStores.RULE_SETS_={MathmlStoreRules:sre.MathmlStoreRules,SemanticTreeRules:sre.SemanticTreeRules,MathspeakRules:sre.MathspeakRules,MathspeakSpanish:sre.MathspeakSpanish,ClearspeakRules:sre.ClearspeakRules,EmacspeakRules:sre.EmacspeakRules,AbstractionRules:sre.AbstractionRules,AbstractionSpanish:sre.AbstractionSpanish,PrefixRules:sre.PrefixRules,PrefixSpanish:sre.PrefixSpanish};sre.SpeechRuleStores.availableSets=function(){return Object.keys(sre.SpeechRuleStores.RULE_SETS_)}; +sre.SpeechRuleStores.getConstructor=function(a){return(a=sre.SpeechRuleStores.RULE_SETS_[a])?a:null};sre.SpeechRuleEngine=function(){this.activeStore_=null;this.cache_={};this.ready_=!0;this.combinedStores_={};sre.Engine.registerTest(goog.bind(function(a){return this.ready_},this))};goog.addSingletonGetter(sre.SpeechRuleEngine);sre.SpeechRuleEngine.prototype.parameterize=function(a){for(var b={},c=0,d=a.length;c<d;c++){var e=a[c],f=sre.SpeechRuleStores.getConstructor(e);f&&f.getInstance&&(b[e]=f.getInstance())}this.parameterize_(b)}; +sre.SpeechRuleEngine.prototype.parameterize_=function(a){try{this.activeStore_=this.combineStores_(a)}catch(b){if("StoreError"==b.name)console.log("Store Error:",b.message);else throw b;}this.updateEngine()};sre.SpeechRuleEngine.prototype.constructString=function(a,b){if(!b)return"";if('"'==b.charAt(0))return b.slice(1,-1);var c=this.activeStore_.customStrings.lookup(b);return c?c(a):sre.XpathUtil.evaluateString(b,a)};sre.SpeechRuleEngine.prototype.clearCache=function(){this.cache_={}}; +sre.SpeechRuleEngine.prototype.forCache=function(a){for(var b in this.cache_)a(b,this.cache_[b])};sre.SpeechRuleEngine.prototype.getCacheForNode_=function(a){if(!a||!a.getAttribute)return null;a=a.getAttribute("id");return"undefined"===a||""===a?null:this.getCache(a)};sre.SpeechRuleEngine.prototype.getCache=function(a){return(a=this.cache_[a])?this.cloneCache(a):a};sre.SpeechRuleEngine.prototype.cloneCache=function(a){return a.map(function(a){return a.clone()})}; +sre.SpeechRuleEngine.prototype.pushCache_=function(a,b){sre.Engine.getInstance().cache&&a.getAttribute&&(a=a.getAttribute("id"))&&(this.cache_[a]=this.cloneCache(b))};sre.SpeechRuleEngine.prototype.evaluateNode=function(a){var b=(new Date).getTime();a=this.evaluateNode_(a);var c=(new Date).getTime();sre.Debugger.getInstance().output("Time:",c-b);return a};sre.SpeechRuleEngine.prototype.evaluateNode_=function(a){if(!a)return[];this.updateConstraint_();return this.evaluateTree_(a)}; +sre.SpeechRuleEngine.prototype.evaluateTree_=function(a){var b=sre.Engine.getInstance();if(b.cache){var c=this.getCacheForNode_(a);if(c)return c}sre.Grammar.getInstance().setAttribute(a);var d=this.activeStore_.lookupRule(a,b.dynamicCstr);if(!d){if(b.strict)return[];c=this.activeStore_.evaluateDefault(a);this.pushCache_(a,c);return c}sre.Debugger.getInstance().generateOutput(goog.bind(function(){return[d.name,d.dynamicCstr.toString(),a.toString()]},this));b=d.action.components;c=[];for(var e=0,f;f= +b[e];e++){var g=[],h=f.content||"",k=f.attributes||{};f.grammar&&this.processGrammar(a,f.grammar);switch(f.type){case sre.SpeechRule.Type.NODE:(h=this.activeStore_.applyQuery(a,h))&&(g=this.evaluateTree_(h));break;case sre.SpeechRule.Type.MULTI:h=this.activeStore_.applySelector(a,h);0<h.length&&(g=this.evaluateNodeList_(h,k.sepFunc,this.constructString(a,k.separator),k.ctxtFunc,this.constructString(a,k.context)));break;case sre.SpeechRule.Type.TEXT:(h=this.constructString(a,h))&&(g=[sre.AuditoryDescription.create({text:h}, +{adjust:!0})]);break;default:g=[sre.AuditoryDescription.create({text:h})]}g[0]&&f.type!=sre.SpeechRule.Type.MULTI&&(k.context&&(g[0].context=this.constructString(a,k.context)+(g[0].context||"")),k.annotation&&(g[0].annotation=k.annotation));f.grammar&&sre.Grammar.getInstance().popState();c=c.concat(this.addPersonality_(g,k))}this.pushCache_(a,c);return c}; +sre.SpeechRuleEngine.prototype.evaluateNodeList_=function(a,b,c,d,e){if(a==[])return[];var f=c||"",g=e||"";c=(c=this.activeStore_.contextFunctions.lookup(d))?c(a,g):function(){return g};b=(b=this.activeStore_.contextFunctions.lookup(b))?b(a,f):function(){return sre.AuditoryDescription.create({text:f},{translate:!0})};d=[];e=0;for(var h;h=a[e];e++)h=this.evaluateTree_(h),0<h.length&&(h[0].context=c()+(h[0].context||""),d=d.concat(h),e<a.length-1&&(h=b(),d=d.concat(h)));return d}; +sre.SpeechRuleEngine.prototype.addPersonality_=function(a,b){var c={},d;for(d in sre.Engine.personalityProps){var e=parseFloat(b[sre.Engine.personalityProps[d]]);isNaN(e)||(c[sre.Engine.personalityProps[d]]=e)}for(b=0;d=a[b];b++)this.addRelativePersonality_(d,c);return a};sre.SpeechRuleEngine.prototype.addRelativePersonality_=function(a,b){if(!a.personality)return a.personality=b,a;var c=a.personality,d;for(d in b)c[d]=c[d]&&"number"==typeof c[d]?c[d]+b[d]:b[d];return a}; +sre.SpeechRuleEngine.prototype.toString=function(){return this.activeStore_.findAllRules(function(a){return!0}).map(function(a){return a.toString()}).join("\n")};sre.SpeechRuleEngine.debugSpeechRule=function(a,b){var c=sre.SpeechRuleEngine.getInstance().activeStore_;c&&c.debugSpeechRule(a,b)}; +sre.SpeechRuleEngine.debugNamedSpeechRule=function(a,b){var c=sre.SpeechRuleEngine.getInstance().activeStore_;if(c)for(var d=c.findAllRules(function(b){return b.name==a}),e=0,f;f=d[e];e++)sre.Debugger.getInstance().output("Rule",a,"DynamicCstr:",f.dynamicCstr.toString(),"number",e),c.debugSpeechRule(f,b)}; +sre.SpeechRuleEngine.prototype.runInSetting=function(a,b){var c=sre.Engine.getInstance(),d={},e=null,f;for(f in a)"rules"===f?(e=this.activeStore_,c.ruleSets=a[f],this.parameterize(c.ruleSets)):(d[f]=c[f],c[f]=a[f]);c.dynamicCstr=sre.DynamicCstr.create(c.locale,c.domain,c.style);a=b();for(f in d)c[f]=d[f];e&&(this.activeStore_=e);c.dynamicCstr=sre.DynamicCstr.create(c.locale,c.domain,c.style);return a}; +sre.SpeechRuleEngine.prototype.combineStores_=function(a){var b=this.cachedStore_(a);if(b)return b;b=new sre.MathStore;for(var c in a){var d=a[c];d.initialize();d.getSpeechRules().forEach(function(a){b.trie.addRule(a)});b.contextFunctions.addStore(d.contextFunctions);b.customQueries.addStore(d.customQueries);b.customStrings.addStore(d.customStrings)}b.setSpeechRules(b.trie.collectRules());return this.combinedStores_[this.combinedStoreName_(Object.keys(a))]=b}; +sre.SpeechRuleEngine.prototype.combinedStoreName_=function(a){return a.sort().join("-")};sre.SpeechRuleEngine.prototype.cachedStore_=function(a){var b=Object.keys(a);return b.some(function(b){return!a[b].initialized})?null:this.combinedStores_[this.combinedStoreName_(b)]}; +sre.SpeechRuleEngine.prototype.updateEngine=function(){this.ready_=!0;var a=sre.MathMap.getInstance();sre.Engine.isReady()?sre.Engine.getInstance().evaluator=goog.bind(a.store.lookupString,a.store):(this.ready_=!1,setTimeout(goog.bind(this.updateEngine,this),250))};sre.SpeechRuleEngine.prototype.processGrammar=function(a,b){var c={},d;for(d in b){var e=b[d];c[d]="string"===typeof e?this.constructString(a,e):e}sre.Grammar.getInstance().pushState(c)}; +sre.SpeechRuleEngine.prototype.updateConstraint_=function(){var a=sre.Engine.getInstance().dynamicCstr,b=sre.Engine.getInstance().strict,c={},d=[a.getValue(sre.DynamicCstr.Axis.LOCALE),a.getValue(sre.DynamicCstr.Axis.DOMAIN)],e=sre.DynamicCstr.DEFAULT_VALUES[sre.DynamicCstr.Axis.LOCALE],f=sre.DynamicCstr.DEFAULT_VALUES[sre.DynamicCstr.Axis.DOMAIN],g=this.activeStore_.trie.hasSubtrie(d);c[sre.DynamicCstr.Axis.LOCALE]=[g?d[0]:e];g=g?g:this.activeStore_.trie.hasSubtrie([e,d[1]]);c[sre.DynamicCstr.Axis.DOMAIN]= +[g?d[1]:f];a.getOrder().forEach(function(d){if(!c[d]){var e=a.getValue(d),f=sre.DynamicCstr.DEFAULT_VALUES[d];c[d]=b||e===f?[e]:[e,f]}});a.updateProperties(c)};sre.SpeechGeneratorUtil={};sre.SpeechGeneratorUtil.computeSpeech=function(a){var b=sre.SpeechRuleEngine.getInstance();b.clearCache();return b.evaluateNode(a)};sre.SpeechGeneratorUtil.recomputeSpeech=function(a){a=sre.SemanticTree.fromNode(a);return sre.SpeechRuleEngine.getInstance().evaluateNode(a.xml())}; +sre.SpeechGeneratorUtil.computeSpeechWithoutCache=function(a){var b=sre.Engine.getInstance().cache;sre.Engine.getInstance().cache=!1;a=sre.SpeechRuleEngine.getInstance().evaluateNode(a);sre.Engine.getInstance().cache=b;return a};sre.SpeechGeneratorUtil.retrieveSpeech=function(a){var b=null;sre.Engine.getInstance().cache&&(b=sre.SpeechRuleEngine.getInstance().getCache(a.id.toString()));b||(b=sre.SpeechGeneratorUtil.recomputeSpeech(a));return sre.AuralRendering.getInstance().markup(b)}; +sre.SpeechGeneratorUtil.addSpeech=function(a,b){b=sre.SpeechGeneratorUtil.retrieveSpeech(b);a.setAttribute(sre.EnrichMathml.Attribute.SPEECH,b)};sre.SpeechGeneratorUtil.addPrefix=function(a,b){(b=sre.SpeechGeneratorUtil.retrievePrefix(b))&&a.setAttribute(sre.EnrichMathml.Attribute.PREFIX,b)};sre.SpeechGeneratorUtil.retrievePrefix=function(a){a=sre.SpeechGeneratorUtil.computePrefix_(a);return sre.AuralRendering.getInstance().markup(a)}; +sre.SpeechGeneratorUtil.computePrefix_=function(a){var b=sre.SemanticTree.fromRoot(a),c=sre.XpathUtil.evalXPath('.//*[@id="'+a.id+'"]',b.xml())[0];return c?sre.SpeechRuleEngine.getInstance().runInSetting({domain:"prefix",style:"default",strict:!0,cache:!1,speech:!0,rules:["PrefixRules","PrefixSpanish"]},function(){return sre.SpeechRuleEngine.getInstance().evaluateNode(c)}):[]}; +sre.SpeechGeneratorUtil.connectMactions=function(a,b,c){b=sre.DomUtil.querySelectorAll(b,"maction");for(var d=0,e;e=b[d];d++){var f=e.getAttribute("id");if(f=sre.DomUtil.querySelectorAllByAttrValue(a,"id",f)[0]){var g=e.childNodes[1];e=g.getAttribute(sre.EnrichMathml.Attribute.ID);var h=sre.WalkerUtil.getBySemanticId(a,e);h&&"dummy"!==h.getAttribute(sre.EnrichMathml.Attribute.TYPE)||(h=f.childNodes[0],(f=g.getAttribute(sre.EnrichMathml.Attribute.PARENT))&&h.setAttribute(sre.EnrichMathml.Attribute.PARENT, +f),h.setAttribute(sre.EnrichMathml.Attribute.TYPE,"dummy"),h.setAttribute(sre.EnrichMathml.Attribute.ID,e),sre.DomUtil.querySelectorAllByAttrValue(c,"id",e)[0].setAttribute("alternative",e))}}};sre.SpeechGeneratorUtil.connectAllMactions=function(a,b){a=sre.DomUtil.querySelectorAll(a,"maction");for(var c=0,d;d=a[c];c++)d=d.childNodes[1].getAttribute(sre.EnrichMathml.Attribute.ID),sre.DomUtil.querySelectorAllByAttrValue(b,"id",d)[0].setAttribute("alternative",d)};sre.AbstractSpeechGenerator=function(){this.rebuilt_=null};sre.AbstractSpeechGenerator.prototype.getRebuilt=function(){return this.rebuilt_};sre.AbstractSpeechGenerator.prototype.setRebuilt=function(a){this.rebuilt_=a};sre.AbstractSpeechGenerator.prototype.getSpeech=goog.abstractMethod;sre.AbstractSpeechGenerator.prototype.start=function(){};sre.AbstractSpeechGenerator.prototype.end=function(){}; +sre.AbstractSpeechGenerator.prototype.generateSpeech=function(a,b){this.rebuilt_||(this.rebuilt_=new sre.RebuildStree(b));a=sre.SpeechGeneratorUtil.computeSpeech(this.getRebuilt().xml);return sre.AuralRendering.getInstance().markup(a)};sre.AdhocSpeechGenerator=function(){sre.AbstractSpeechGenerator.call(this)};goog.inherits(sre.AdhocSpeechGenerator,sre.AbstractSpeechGenerator);sre.AdhocSpeechGenerator.prototype.getSpeech=function(a,b){b=this.generateSpeech(a,b);a.setAttribute(sre.EnrichMathml.Attribute.SPEECH,b);return b};sre.DirectSpeechGenerator=function(){sre.AbstractSpeechGenerator.call(this)};goog.inherits(sre.DirectSpeechGenerator,sre.AbstractSpeechGenerator);sre.DirectSpeechGenerator.prototype.getSpeech=function(a,b){return sre.WalkerUtil.getAttribute(a,sre.EnrichMathml.Attribute.SPEECH)};sre.DummySpeechGenerator=function(){sre.AbstractSpeechGenerator.call(this)};goog.inherits(sre.DummySpeechGenerator,sre.AbstractSpeechGenerator);sre.DummySpeechGenerator.prototype.getSpeech=function(a,b){return""};sre.TreeSpeechGenerator=function(){};goog.inherits(sre.TreeSpeechGenerator,sre.AbstractSpeechGenerator);sre.TreeSpeechGenerator.prototype.getSpeech=function(a,b){var c=this.generateSpeech(a,b);a.setAttribute(sre.EnrichMathml.Attribute.SPEECH,c);var d=this.getRebuilt().nodeDict,e;for(e in d){var f=d[e],g=sre.WalkerUtil.getBySemanticId(b,e),h=sre.WalkerUtil.getBySemanticId(a,e);g&&h&&(sre.SpeechGeneratorUtil.addSpeech(h,f),sre.SpeechGeneratorUtil.addPrefix(h,f))}return c};sre.NodeSpeechGenerator=function(){sre.TreeSpeechGenerator.call(this)};goog.inherits(sre.NodeSpeechGenerator,sre.TreeSpeechGenerator);sre.NodeSpeechGenerator.prototype.getSpeech=function(a,b){var c=sre.WalkerUtil.getAttribute(a,sre.EnrichMathml.Attribute.SPEECH);return c?c:sre.NodeSpeechGenerator.superClass_.getSpeech.call(this,a,b)};sre.SummarySpeechGenerator=function(){};goog.inherits(sre.SummarySpeechGenerator,sre.AbstractSpeechGenerator);sre.SummarySpeechGenerator.prototype.getSpeech=function(a,b){sre.SpeechGeneratorUtil.connectAllMactions(b,this.getRebuilt().xml);return this.generateSpeech(a,b)};sre.SpeechGeneratorFactory={};sre.SpeechGeneratorFactory.generator=function(a){return new (sre.SpeechGeneratorFactory.generatorMapping_[a]||sre.SpeechGeneratorFactory.generatorMapping_.Direct)};sre.SpeechGeneratorFactory.generatorMapping_={Adhoc:sre.AdhocSpeechGenerator,Direct:sre.DirectSpeechGenerator,Dummy:sre.DummySpeechGenerator,Node:sre.NodeSpeechGenerator,Summary:sre.SummarySpeechGenerator,Tree:sre.TreeSpeechGenerator};sre.EventUtil={};sre.EventUtil.KeyCode={ENTER:13,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,TAB:9,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90}; +sre.EventUtil.EventType={CLICK:"click",DBLCLICK:"dblclick",MOUSEDOWN:"mousedown",MOUSEUP:"mouseup",MOUSEOVER:"mouseover",MOUSEOUT:"mouseout",MOUSEMOVE:"mousemove",SELECTSTART:"selectstart",KEYPRESS:"keypress",KEYDOWN:"keydown",KEYUP:"keyup",TOUCHSTART:"touchstart",TOUCHMOVE:"touchmove",TOUCHEND:"touchend",TOUCHCANCEL:"touchcancel"};sre.EventUtil.Event=function(a,b,c){this.src=a;this.type=b;this.callback=c};sre.EventUtil.Event.prototype.add=function(){this.src.addEventListener(this.type,this.callback)}; +sre.EventUtil.Event.prototype.remove=function(){this.src.removeEventListener(this.type,this.callback)};sre.Focus=function(a,b){this.semanticNodes_=a;this.semanticPrimary_=b;this.domNodes_=[];this.domPrimary_=null;this.allNodes_=[]};sre.Focus.prototype.getSemanticPrimary=function(){return this.semanticPrimary_};sre.Focus.prototype.getSemanticNodes=function(){return this.semanticNodes_};sre.Focus.prototype.getNodes=function(){return this.allNodes_};sre.Focus.prototype.getDomNodes=function(){return this.domNodes_};sre.Focus.prototype.getDomPrimary=function(){return this.domPrimary_}; +sre.Focus.prototype.toString=function(){return"Primary:"+this.domPrimary_+" Nodes:"+this.domNodes_};sre.Focus.prototype.clone=function(){var a=new sre.Focus(this.semanticNodes_,this.semanticPrimary_);a.domNodes_=this.domNodes_;a.domPrimary_=this.domPrimary_;a.allNodes_=this.allNodes_;return a}; +sre.Focus.factory=function(a,b,c,d){var e=function(a){return sre.WalkerUtil.getBySemanticId(d,a)},f=c.nodeDict;c=e(a);e=b.map(e);var g=b.map(function(a){return f[a]});a=new sre.Focus(g,f[a]);a.domNodes_=e;a.domPrimary_=c;a.allNodes_=sre.Focus.generateAllVisibleNodes_(b,e,f,d);return a}; +sre.Focus.generateAllVisibleNodes_=function(a,b,c,d){for(var e=function(a){return sre.WalkerUtil.getBySemanticId(d,a)},f=[],g=0,h=a.length;g<h;g++)if(b[g])f.push(b[g]);else{var k=c[a[g]];if(k){k=k.childNodes.map(function(a){return a.id.toString()});var l=k.map(e);f=f.concat(sre.Focus.generateAllVisibleNodes_(k,l,c,d))}}return f};sre.Levels=function(){this.level_=[]};sre.Levels.prototype.push=function(a){this.level_.push(a)};sre.Levels.prototype.pop=function(){return this.level_.pop()};sre.Levels.prototype.peek=function(){return this.level_[this.level_.length-1]||null};sre.Levels.prototype.indexOf=function(a){var b=this.peek();return b?b.indexOf(a):null};sre.Levels.prototype.find=function(a){var b=this.peek();if(!b)return null;for(var c=0,d=b.length;c<d;c++)if(a(b[c]))return b[c];return null}; +sre.Levels.prototype.get=function(a){var b=this.peek();return!b||0>a||a>=b.length?null:b[a]};sre.Levels.prototype.depth=function(){return this.level_.length};sre.Levels.prototype.clone=function(){var a=new sre.Levels;a.level_=this.level_.slice(0);return a};sre.Levels.prototype.toString=function(){for(var a="",b=0,c;c=this.level_[b];b++)a+="\n"+c.map(function(a){return a.toString()});return a};sre.Walker=function(){};sre.Walker.prototype.isActive=function(){};sre.Walker.prototype.activate=function(){};sre.Walker.prototype.deactivate=function(){};sre.Walker.prototype.speech=function(){};sre.Walker.prototype.getFocus=function(){};sre.Walker.prototype.setFocus=function(a){};sre.Walker.prototype.getDepth=function(){};sre.Walker.prototype.move=function(a){}; +sre.Walker.move={UP:"up",DOWN:"down",LEFT:"left",RIGHT:"right",REPEAT:"repeat",DEPTH:"depth",ENTER:"enter",EXPAND:"expand",HOME:"home",SUMMARY:"summary",DETAIL:"detail",ROW:"row",CELL:"cell"};sre.AbstractWalker=function(a,b,c,d){this.node=a;this.xml=sre.DomUtil.parseInput(d);this.generator=b;this.rebuilt=this.rebuildStree_();this.generator.setRebuilt(this.rebuilt);this.highlighter=c;this.active_=!1;this.keyMapping={};this.keyMapping[sre.EventUtil.KeyCode.UP]=goog.bind(this.up,this);this.keyMapping[sre.EventUtil.KeyCode.DOWN]=goog.bind(this.down,this);this.keyMapping[sre.EventUtil.KeyCode.RIGHT]=goog.bind(this.right,this);this.keyMapping[sre.EventUtil.KeyCode.LEFT]=goog.bind(this.left, +this);this.keyMapping[sre.EventUtil.KeyCode.TAB]=goog.bind(this.repeat,this);this.keyMapping[sre.EventUtil.KeyCode.ENTER]=goog.bind(this.expand,this);this.keyMapping[sre.EventUtil.KeyCode.SPACE]=goog.bind(this.depth,this);this.keyMapping[sre.EventUtil.KeyCode.HOME]=goog.bind(this.home,this);this.keyMapping[sre.EventUtil.KeyCode.X]=goog.bind(this.summary,this);this.keyMapping[sre.EventUtil.KeyCode.Z]=goog.bind(this.detail,this);this.keyMapping[sre.EventUtil.KeyCode.V]=goog.bind(this.virtualize,this); +this.keyMapping[sre.EventUtil.KeyCode.P]=goog.bind(this.previous,this);this.keyMapping[sre.EventUtil.KeyCode.U]=goog.bind(this.undo,this);this.dummy_=function(){};this.rootNode=sre.WalkerUtil.getSemanticRoot(a);this.rootId=this.rebuilt.stree.root.id.toString();this.focus_=sre.Focus.factory(this.rootId,[this.rootId],this.rebuilt,this.node);this.moved=sre.Walker.move.ENTER;this.cursors=[]};sre.AbstractWalker.prototype.isActive=function(){return this.active_}; +sre.AbstractWalker.prototype.toggleActive_=function(){this.active_=!this.active_};sre.AbstractWalker.prototype.activate=function(){this.isActive()||(this.generator.start(),this.toggleActive_())};sre.AbstractWalker.prototype.deactivate=function(){this.isActive()&&(this.highlighter.setState(this.node.id,this.primaryId()),this.generator.end(),this.toggleActive_())};sre.AbstractWalker.prototype.getFocus=function(){return this.focus_};sre.AbstractWalker.prototype.setFocus=function(a){this.focus_=a}; +sre.AbstractWalker.prototype.getDepth=function(){return this.levels.depth()-1}; +sre.AbstractWalker.prototype.speech=function(){var a=this.focus_.getDomNodes();if(!a.length)return"";var b=this.specialMove();if(null!==b)return b;switch(this.moved){case sre.Walker.move.DEPTH:return this.depth_();case sre.Walker.move.SUMMARY:return this.summary_();case sre.Walker.move.DETAIL:return this.detail_();default:b=[];for(var c=this.focus_.getSemanticNodes(),d=0,e=a.length;d<e;d++){var f=a[d],g=c[d];b.push(f?this.generator.getSpeech(f,this.xml):sre.SpeechGeneratorUtil.retrieveSpeech(g))}return this.mergePrefix_(b)}}; +sre.AbstractWalker.prototype.mergePrefix_=function(a,b){b=b||[];var c=this.prefix_();c&&a.unshift(c);return sre.AuralRendering.getInstance().merge(b.concat(a))};sre.AbstractWalker.prototype.prefix_=function(){var a=this.focus_.getDomNodes(),b=this.focus_.getSemanticNodes();return a[0]?sre.WalkerUtil.getAttribute(a[0],sre.EnrichMathml.Attribute.PREFIX):sre.SpeechGeneratorUtil.retrievePrefix(b[0])}; +sre.AbstractWalker.prototype.move=function(a){a=this.keyMapping[a];if(!a)return null;a=a();if(!a||a===this.focus_)return!1;this.focus_=a;this.moved===sre.Walker.move.HOME&&(this.levels=this.initLevels());return!0};sre.AbstractWalker.prototype.up=function(){this.moved=sre.Walker.move.UP;return this.focus_};sre.AbstractWalker.prototype.down=function(){this.moved=sre.Walker.move.DOWN;return this.focus_};sre.AbstractWalker.prototype.left=function(){this.moved=sre.Walker.move.LEFT;return this.focus_}; +sre.AbstractWalker.prototype.right=function(){this.moved=sre.Walker.move.RIGHT;return this.focus_};sre.AbstractWalker.prototype.repeat=function(){this.moved=sre.Walker.move.REPEAT;return this.focus_.clone()};sre.AbstractWalker.prototype.depth=function(){this.moved=sre.Walker.move.DEPTH;return this.focus_.clone()}; +sre.AbstractWalker.prototype.depth_=function(){var a=sre.Grammar.getInstance().getParameter("depth");sre.Grammar.getInstance().setParameter("depth",!0);var b=this.focus_.getDomPrimary();b=this.expandable(b)&&[sre.Messages.NAVIGATE.EXPANDABLE]||this.collapsible(b)&&[sre.Messages.NAVIGATE.COLLAPSIBLE]||[];var c=[sre.AuralRendering.getInstance().markup([new sre.AuditoryDescription({text:sre.Messages.NAVIGATE.LEVEL+" "+this.getDepth(),personality:{}})])],d=this.focus_.getSemanticNodes();(d=sre.SpeechGeneratorUtil.retrievePrefix(d[0]))&& +c.push(d);sre.Grammar.getInstance().setParameter("depth",a);return sre.AuralRendering.getInstance().merge(c.concat(b))};sre.AbstractWalker.prototype.home=function(){this.moved=sre.Walker.move.HOME;return sre.Focus.factory(this.rootId,[this.rootId],this.rebuilt,this.node)};sre.AbstractWalker.prototype.getBySemanticId=function(a){return sre.WalkerUtil.getBySemanticId(this.node,a)};sre.AbstractWalker.prototype.primaryId=function(){return this.focus_.getSemanticPrimary().id.toString()}; +sre.AbstractWalker.prototype.expand=function(){var a=this.focus_.getDomPrimary();a=this.actionable_(a);if(!a)return this.focus_;this.moved=sre.Walker.move.EXPAND;a.onclick();return this.focus_.clone()};sre.AbstractWalker.prototype.actionable_=function(a){return a&&a.parentNode&&this.highlighter.isMactionNode(a.parentNode)?a.parentNode:null};sre.AbstractWalker.prototype.expandable=function(a){return!!this.actionable_(a)&&0===a.childNodes.length}; +sre.AbstractWalker.prototype.collapsible=function(a){return!!this.actionable_(a)&&0<a.childNodes.length};sre.AbstractWalker.prototype.restoreState=function(){if(this.highlighter){var a=this.highlighter.getState(this.node.id);if(a){var b=this.rebuilt.nodeDict[a];for(a=[];b;)a.push(b.id),b=b.parent;for(a.pop();0<a.length;){this.down();b=a.pop();b=this.findFocusOnLevel(b);if(!b)break;this.focus_=b}this.moved=sre.Walker.move.ENTER}}};sre.AbstractWalker.prototype.findFocusOnLevel=goog.abstractMethod; +sre.AbstractWalker.prototype.initLevels=goog.abstractMethod;sre.AbstractWalker.prototype.rebuildStree_=function(){var a=new sre.RebuildStree(this.xml);sre.SpeechGeneratorUtil.connectMactions(this.node,this.xml,a.xml);return a};sre.AbstractWalker.prototype.previousLevel=function(){var a=this.focus_.getDomPrimary();return a?sre.WalkerUtil.getAttribute(a,sre.EnrichMathml.Attribute.PARENT):this.focus_.getSemanticPrimary().parent.id.toString()}; +sre.AbstractWalker.prototype.nextLevel=function(){var a=this.focus_.getDomPrimary();if(a){var b=sre.WalkerUtil.splitAttribute(sre.WalkerUtil.getAttribute(a,sre.EnrichMathml.Attribute.CHILDREN)),c=sre.WalkerUtil.splitAttribute(sre.WalkerUtil.getAttribute(a,sre.EnrichMathml.Attribute.CONTENT)),d=sre.WalkerUtil.getAttribute(a,sre.EnrichMathml.Attribute.TYPE);a=sre.WalkerUtil.getAttribute(a,sre.EnrichMathml.Attribute.ROLE);return this.combineContentChildren(d,a,c,b)}c=function(a){return a.id.toString()}; +d=this.rebuilt.nodeDict[this.primaryId()];b=d.childNodes.map(c);c=d.contentNodes.map(c);return 0===b.length?[]:this.combineContentChildren(d.type,d.role,c,b)};sre.AbstractWalker.prototype.combineContentChildren=goog.abstractMethod;sre.AbstractWalker.prototype.singletonFocus=function(a){return this.focusFromId(a,[a])};sre.AbstractWalker.prototype.focusFromId=function(a,b){return sre.Focus.factory(a,b,this.rebuilt,this.node)}; +sre.AbstractWalker.prototype.summary=function(){this.moved=sre.Walker.move.SUMMARY;return this.focus_.clone()}; +sre.AbstractWalker.prototype.summary_=function(){var a=this.focus_.getSemanticPrimary().id.toString();a=this.rebuilt.xml.getAttribute("id")===a?this.rebuilt.xml:sre.DomUtil.querySelectorAllByAttrValue(this.rebuilt.xml,"id",a)[0];var b=a.getAttribute("alternative");a.setAttribute("alternative","summary");var c=sre.SpeechGeneratorUtil.computeSpeechWithoutCache(a);c=sre.AuralRendering.getInstance().markup(c);c=this.mergePrefix_([c]);b?a.setAttribute("alternative",b):a.removeAttribute("alternative"); +return c};sre.AbstractWalker.prototype.detail=function(){this.moved=sre.Walker.move.DETAIL;return this.focus_.clone()}; +sre.AbstractWalker.prototype.detail_=function(){var a=this.focus_.getSemanticPrimary().id.toString();a=this.rebuilt.xml.getAttribute("id")===a?this.rebuilt.xml:sre.DomUtil.querySelectorAllByAttrValue(this.rebuilt.xml,"id",a)[0];var b=a.getAttribute("alternative");a.removeAttribute("alternative");var c=sre.SpeechGeneratorUtil.computeSpeechWithoutCache(a);c=sre.AuralRendering.getInstance().markup(c);c=this.mergePrefix_([c]);a.setAttribute("alternative",b);return c}; +sre.AbstractWalker.prototype.specialMove=function(){return null};sre.AbstractWalker.prototype.virtualize=function(a){this.cursors.push({focus:this.focus_,levels:this.levels,undo:a||!this.cursors.length});this.levels=this.levels.clone();return this.focus_.clone()};sre.AbstractWalker.prototype.previous=function(){var a=this.cursors.pop();if(!a)return this.focus_;this.levels=a.levels;return a.focus}; +sre.AbstractWalker.prototype.undo=function(){do var a=this.cursors.pop();while(a&&!a.undo);if(!a)return this.focus_;this.levels=a.levels;return a.focus};sre.DummyWalker=function(a,b,c,d){sre.AbstractWalker.call(this,a,b,c,d)};goog.inherits(sre.DummyWalker,sre.AbstractWalker);sre.DummyWalker.prototype.up=function(){};sre.DummyWalker.prototype.down=function(){};sre.DummyWalker.prototype.left=function(){};sre.DummyWalker.prototype.right=function(){};sre.DummyWalker.prototype.repeat=function(){};sre.DummyWalker.prototype.depth=function(){};sre.DummyWalker.prototype.home=function(){};sre.DummyWalker.prototype.getDepth=function(){return 0};sre.SemanticWalker=function(a,b,c,d){sre.AbstractWalker.call(this,a,b,c,d);this.levels=this.initLevels();this.restoreState()};goog.inherits(sre.SemanticWalker,sre.AbstractWalker);sre.SemanticWalker.prototype.initLevels=function(){var a=new sre.Levels;a.push([this.getFocus()]);return a}; +sre.SemanticWalker.prototype.up=function(){sre.SemanticWalker.superClass_.up.call(this);var a=this.previousLevel();if(!a)return null;this.levels.pop();return this.levels.find(function(b){return b.getSemanticNodes().some(function(b){return b.id.toString()===a})})};sre.SemanticWalker.prototype.down=function(){sre.SemanticWalker.superClass_.down.call(this);var a=this.nextLevel();if(0===a.length)return null;this.levels.push(a);return a[0]}; +sre.SemanticWalker.prototype.combineContentChildren=function(a,b,c,d){switch(a){case sre.SemanticAttr.Type.RELSEQ:case sre.SemanticAttr.Type.INFIXOP:case sre.SemanticAttr.Type.MULTIREL:return this.makePairList(d,c);case sre.SemanticAttr.Type.PREFIXOP:return[this.focusFromId(d[0],c.concat(d))];case sre.SemanticAttr.Type.POSTFIXOP:return[this.focusFromId(d[0],d.concat(c))];case sre.SemanticAttr.Type.MATRIX:case sre.SemanticAttr.Type.VECTOR:case sre.SemanticAttr.Type.FENCED:return[this.focusFromId(d[0], +[c[0],d[0],c[1]])];case sre.SemanticAttr.Type.CASES:return[this.focusFromId(d[0],[c[0],d[0]])];case sre.SemanticAttr.Type.PUNCTUATED:return b===sre.SemanticAttr.Role.TEXT?d.map(goog.bind(this.singletonFocus,this)):d.length===c.length?c.map(goog.bind(this.singletonFocus,this)):this.combinePunctuations(d,c,[],[]);case sre.SemanticAttr.Type.APPL:return[this.focusFromId(d[0],[d[0],c[0]]),this.singletonFocus(d[1])];case sre.SemanticAttr.Type.ROOT:return[this.singletonFocus(d[1]),this.singletonFocus(d[0])]; +default:return d.map(goog.bind(this.singletonFocus,this))}};sre.SemanticWalker.prototype.combinePunctuations=function(a,b,c,d){if(0===a.length)return d;var e=a.shift(),f=b.shift();if(e===f)return c.push(f),this.combinePunctuations(a,b,c,d);b.unshift(f);c.push(e);if(a.length===b.length)return d.push(this.focusFromId(e,c.concat(b))),d;d.push(this.focusFromId(e,c));return this.combinePunctuations(a,b,[],d)}; +sre.SemanticWalker.prototype.makePairList=function(a,b){if(0===a.length)return[];if(1===a.length)return[this.singletonFocus(a[0])];for(var c=[this.singletonFocus(a.shift())],d=0,e=a.length;d<e;d++)c.push(this.focusFromId(a[d],[b[d],a[d]]));return c};sre.SemanticWalker.prototype.left=function(){sre.SemanticWalker.superClass_.left.call(this);var a=this.levels.indexOf(this.getFocus())-1;return(a=this.levels.get(a))?a:null}; +sre.SemanticWalker.prototype.right=function(){sre.SemanticWalker.superClass_.right.call(this);var a=this.levels.indexOf(this.getFocus())+1;return(a=this.levels.get(a))?a:null};sre.SemanticWalker.prototype.findFocusOnLevel=function(a){return this.levels.find(function(b){return b.getSemanticPrimary().id===a})};sre.SyntaxWalker=function(a,b,c,d){sre.AbstractWalker.call(this,a,b,c,d);this.levels=this.initLevels();this.restoreState()};goog.inherits(sre.SyntaxWalker,sre.AbstractWalker);sre.SyntaxWalker.prototype.initLevels=function(){var a=new sre.Levels;a.push([this.primaryId()]);return a};sre.SyntaxWalker.prototype.up=function(){sre.SyntaxWalker.superClass_.up.call(this);var a=this.previousLevel();if(!a)return null;this.levels.pop();return this.singletonFocus(a)}; +sre.SyntaxWalker.prototype.down=function(){sre.SyntaxWalker.superClass_.down.call(this);var a=this.nextLevel();if(0===a.length)return null;var b=this.singletonFocus(a[0]);b&&this.levels.push(a);return b}; +sre.SyntaxWalker.prototype.combineContentChildren=function(a,b,c,d){switch(a){case sre.SemanticAttr.Type.RELSEQ:case sre.SemanticAttr.Type.INFIXOP:case sre.SemanticAttr.Type.MULTIREL:return sre.BaseUtil.interleaveLists(d,c);case sre.SemanticAttr.Type.PREFIXOP:return c.concat(d);case sre.SemanticAttr.Type.POSTFIXOP:return d.concat(c);case sre.SemanticAttr.Type.MATRIX:case sre.SemanticAttr.Type.VECTOR:case sre.SemanticAttr.Type.FENCED:return d.unshift(c[0]),d.push(c[1]),d;case sre.SemanticAttr.Type.CASES:return d.unshift(c[0]), +d;case sre.SemanticAttr.Type.PUNCTUATED:return b===sre.SemanticAttr.Role.TEXT?sre.BaseUtil.interleaveLists(d,c):d;case sre.SemanticAttr.Type.APPL:return[d[0],c[0],d[1]];case sre.SemanticAttr.Type.ROOT:return[d[1],d[0]];default:return d}};sre.SyntaxWalker.prototype.left=function(){sre.SyntaxWalker.superClass_.left.call(this);var a=this.levels.indexOf(this.primaryId())-1;return(a=this.levels.get(a))?this.singletonFocus(a):null}; +sre.SyntaxWalker.prototype.right=function(){sre.SyntaxWalker.superClass_.right.call(this);var a=this.levels.indexOf(this.primaryId())+1;return(a=this.levels.get(a))?this.singletonFocus(a):null};sre.SyntaxWalker.prototype.findFocusOnLevel=function(a){return this.singletonFocus(a.toString())};sre.TableWalker=function(a,b,c,d){sre.SyntaxWalker.call(this,a,b,c,d);this.modifier=!1;this.keyMapping[sre.EventUtil.KeyCode["0"]]=goog.bind(this.jumpCell,this);this.keyMapping[sre.EventUtil.KeyCode["1"]]=goog.bind(this.jumpCell,this);this.keyMapping[sre.EventUtil.KeyCode["2"]]=goog.bind(this.jumpCell,this);this.keyMapping[sre.EventUtil.KeyCode["3"]]=goog.bind(this.jumpCell,this);this.keyMapping[sre.EventUtil.KeyCode["4"]]=goog.bind(this.jumpCell,this);this.keyMapping[sre.EventUtil.KeyCode["5"]]= +goog.bind(this.jumpCell,this);this.keyMapping[sre.EventUtil.KeyCode["6"]]=goog.bind(this.jumpCell,this);this.keyMapping[sre.EventUtil.KeyCode["7"]]=goog.bind(this.jumpCell,this);this.keyMapping[sre.EventUtil.KeyCode["8"]]=goog.bind(this.jumpCell,this);this.keyMapping[sre.EventUtil.KeyCode["9"]]=goog.bind(this.jumpCell,this);this.key_=null;this.row_=0;this.firstJump=this.currentTable_=null};goog.inherits(sre.TableWalker,sre.SyntaxWalker); +sre.TableWalker.prototype.move=function(a){this.key_=a;a=sre.TableWalker.superClass_.move.call(this,a);this.modifier=!1;return a};sre.TableWalker.prototype.up=function(){this.moved=sre.Walker.move.UP;return this.eligibleCell_()?this.verticalMove_(!1):sre.TableWalker.superClass_.up.call(this)};sre.TableWalker.prototype.down=function(){this.moved=sre.Walker.move.DOWN;return this.eligibleCell_()?this.verticalMove_(!0):sre.TableWalker.superClass_.down.call(this)}; +sre.TableWalker.ELIGIBLE_CELL_ROLES=[sre.SemanticAttr.Role.DETERMINANT,sre.SemanticAttr.Role.ROWVECTOR,sre.SemanticAttr.Role.BINOMIAL,sre.SemanticAttr.Role.SQUAREMATRIX,sre.SemanticAttr.Role.MULTILINE,sre.SemanticAttr.Role.MATRIX,sre.SemanticAttr.Role.VECTOR,sre.SemanticAttr.Role.CASES,sre.SemanticAttr.Role.TABLE];sre.TableWalker.ELIGIBLE_TABLE_TYPES=[sre.SemanticAttr.Type.MULTILINE,sre.SemanticAttr.Type.MATRIX,sre.SemanticAttr.Type.VECTOR,sre.SemanticAttr.Type.CASES,sre.SemanticAttr.Type.TABLE]; +sre.TableWalker.prototype.eligibleCell_=function(){var a=this.getFocus().getSemanticPrimary();return this.modifier&&a.type===sre.SemanticAttr.Type.CELL&&-1!==sre.TableWalker.ELIGIBLE_CELL_ROLES.indexOf(a.role)}; +sre.TableWalker.prototype.verticalMove_=function(a){var b=this.previousLevel();if(!b)return null;var c=this.getFocus(),d=this.levels.indexOf(this.primaryId()),e=this.levels.pop();b=this.levels.indexOf(b);a=this.levels.get(a?b+1:b-1);if(!a)return this.levels.push(e),null;this.setFocus(this.singletonFocus(a));a=this.nextLevel();if(!a[d])return this.setFocus(c),this.levels.push(e),null;this.levels.push(a);return this.singletonFocus(a[d])}; +sre.TableWalker.prototype.jumpCell=function(){if(!this.isInTable_())return this.getFocus();if(this.moved===sre.Walker.move.ROW){this.moved=sre.Walker.move.CELL;var a=this.key_-sre.EventUtil.KeyCode["0"];return this.isLegalJump_(this.row_,a)?this.jumpCell_(this.row_,a):this.getFocus()}a=this.key_-sre.EventUtil.KeyCode["0"];if(a>this.currentTable_.childNodes.length)return this.getFocus();this.row_=a;this.moved=sre.Walker.move.ROW;return this.getFocus().clone()}; +sre.TableWalker.prototype.jumpCell_=function(a,b){this.firstJump?this.virtualize(!1):(this.firstJump=this.getFocus(),this.virtualize(!0));var c=this.currentTable_.id.toString();do var d=this.levels.pop();while(-1===d.indexOf(c));this.levels.push(d);this.setFocus(this.singletonFocus(c));this.levels.push(this.nextLevel());a=this.currentTable_.childNodes[a-1];this.setFocus(this.singletonFocus(a.id.toString()));this.levels.push(this.nextLevel());return this.singletonFocus(a.childNodes[b-1].id.toString())}; +sre.TableWalker.prototype.isLegalJump_=function(a,b){var c=sre.DomUtil.querySelectorAllByAttrValue(this.rebuilt.xml,"id",this.currentTable_.id.toString())[0];if(!c||c.hasAttribute("alternative"))return!1;a=this.currentTable_.childNodes[a-1];if(!a)return!1;c=sre.DomUtil.querySelectorAllByAttrValue(c,"id",a.id.toString())[0];return!c||c.hasAttribute("alternative")?!1:!(!a||!a.childNodes[b-1])}; +sre.TableWalker.prototype.isInTable_=function(){for(var a=this.getFocus().getSemanticPrimary();a;){if(-1!==sre.TableWalker.ELIGIBLE_TABLE_TYPES.indexOf(a.type))return this.currentTable_=a,!0;a=a.parent}return!1};sre.TableWalker.prototype.undo=function(){var a=sre.TableWalker.superClass_.undo.call(this);a===this.firstJump&&(this.firstJump=null);return a};sre.WalkerFactory={};sre.WalkerFactory.walker=function(a,b,c,d,e){return new (sre.WalkerFactory.walkerMapping_[a]||sre.WalkerFactory.walkerMapping_.Dummy)(b,c,d,e)};sre.WalkerFactory.walkerMapping_={Dummy:sre.DummyWalker,Semantic:sre.SemanticWalker,Syntax:sre.SyntaxWalker,Table:sre.TableWalker};sre.System=function(){this.version=sre.Variables.VERSION};goog.addSingletonGetter(sre.System);sre.System.Error=function(a){Error.call(this);this.message=a||"";this.name="System Error"};goog.inherits(sre.System.Error,Error);sre.System.LocalStorage_=function(){this.speechGenerator=this.walker=null};goog.addSingletonGetter(sre.System.LocalStorage_); +sre.System.prototype.setupEngine=function(a){var b=sre.Engine.getInstance(),c=function(c){b[c]=a[c]||b[c]};c("mode");sre.System.prototype.configBlocks_(a);["strict","cache","semantics","structure"].forEach(function(c){void 0!==a[c]&&(b[c]=!!a[c])});"markup style domain speech walker locale".split(" ").forEach(c);a.json&&(sre.SystemExternal.jsonPath=sre.BaseUtil.makePath(a.json));a.xpath&&(sre.SystemExternal.WGXpath=a.xpath);b.setupBrowsers();b.ruleSets=a.rules?a.rules:sre.SpeechRuleStores.availableSets(); +sre.SpeechRuleEngine.getInstance().parameterize(b.ruleSets);b.dynamicCstr=sre.DynamicCstr.create(b.locale,b.domain,b.style);b.comparator=new sre.DynamicCstr.DefaultComparator(b.dynamicCstr,sre.DynamicProperties.create([sre.DynamicCstr.DEFAULT_VALUES[sre.DynamicCstr.Axis.LOCALE]],[sre.DynamicCstr.DEFAULT_VALUES[sre.DynamicCstr.Axis.DOMAIN]],["short",sre.DynamicCstr.DEFAULT_VALUES[sre.DynamicCstr.Axis.STYLE]]));sre.L10n.setLocale()}; +sre.System.prototype.configBlocks_=function(a){if(sre.Engine.getInstance().mode===sre.Engine.Mode.HTTP)for(var b=document.documentElement.querySelectorAll('script[type="text/x-sre-config"]'),c=0,d=b.length;c<d;c++)try{var e=b[c].innerHTML,f=JSON.parse(e),g;for(g in f)a[g]=f[g]}catch(h){sre.Debugger.getInstance().output("Illegal configuration ",e)}}; +sre.System.prototype.toSpeech=function(a){return(a=sre.System.getInstance().parseExpression_(a,sre.Engine.getInstance().semantics))?sre.System.getInstance().processXml(a):""};sre.System.prototype.processExpression=sre.System.prototype.toSpeech;sre.System.prototype.toSemantic=function(a){return sre.System.getInstance().parseExpression_(a,!0)}; +sre.System.prototype.toJson=function(a){if(sre.Engine.getInstance().mode===sre.Engine.Mode.HTTP)throw new sre.System.Error("JSON translation not possible in browser.");return(a=sre.System.getInstance().parseExpression_(a,!0))?sre.SystemExternal.xm.tojson(a.toString()):{}};sre.System.prototype.toDescription=function(a){return(a=sre.System.getInstance().parseExpression_(a,sre.Engine.getInstance().semantics))?sre.SpeechGeneratorUtil.computeSpeech(a):[]}; +sre.System.prototype.toEnriched=function(a){a=sre.Enrich.semanticMathmlSync(a);var b=sre.WalkerUtil.getSemanticRoot(a);switch(sre.Engine.getInstance().speech){case sre.Engine.Speech.SHALLOW:var c=sre.SpeechGeneratorFactory.generator("Adhoc");c.getSpeech(b,a);break;case sre.Engine.Speech.DEEP:c=sre.SpeechGeneratorFactory.generator("Tree"),c.getSpeech(b,a)}return a};sre.System.prototype.fileToSpeech=function(a,b){sre.System.getInstance().processFile_(sre.System.getInstance().toSpeech,a,b)}; +sre.System.prototype.processFile=sre.System.prototype.fileToSpeech;sre.System.prototype.fileToSemantic=function(a,b){sre.System.getInstance().processFile_(function(a){return sre.System.getInstance().toSemantic(a).toString()},a,b)};sre.System.prototype.fileToJson=function(a,b){sre.System.getInstance().processFile_(function(a){return JSON.stringify(sre.System.getInstance().toJson(a))},a,b)}; +sre.System.prototype.fileToDescription=function(a,b){sre.System.getInstance().processFile_(function(a){return JSON.stringify(sre.System.getInstance().toDescription(a))},a,b)};sre.System.prototype.fileToEnriched=function(a,b){sre.System.getInstance().processFile_(function(a){return sre.System.getInstance().toEnriched(a).toString()},a,b)};sre.System.prototype.processXml=function(a){a=sre.SpeechGeneratorUtil.computeSpeech(a);return sre.AuralRendering.getInstance().markup(a)}; +sre.System.prototype.parseExpression_=function(a,b){var c=null;try{c=sre.DomUtil.parseInput(a,sre.System.Error),b&&(c=sre.System.getInstance().getSemanticTree(c)),sre.Debugger.getInstance().generateOutput(goog.bind(function(){return c.toString()},this))}catch(d){console.log("Parse Error: "+d.message)}return c};sre.System.prototype.getSemanticTree=function(a){return sre.Semantic.xmlTree(a)}; +sre.System.prototype.processFile_=function(a,b,c){sre.Engine.isReady()?sre.Engine.getInstance().mode===sre.Engine.Mode.SYNC?this.processFileSync_(a,b,c):this.processFileAsync_(a,b,c):setTimeout(goog.bind(function(){this.processFile_(a,b,c)},this),100)};sre.System.prototype.inputFileSync_=function(a){try{var b=sre.SystemExternal.fs.readFileSync(a,{encoding:"utf8"})}catch(c){throw new sre.System.Error("Can not open file: "+a);}return b}; +sre.System.prototype.processFileSync_=function(a,b,c){b=sre.System.getInstance().inputFileSync_(b);a=a(b);if(c)try{sre.SystemExternal.fs.writeFileSync(c,a,function(){})}catch(d){throw new sre.System.Error("Can not write to file: "+c);}else console.log(a)};sre.System.prototype.inputFileAsync_=function(a,b){sre.SystemExternal.fs.readFile(a,{encoding:"utf8"},goog.bind(function(c,d){if(c)throw new sre.System.Error("Can not open file: "+a);b(d)},this))}; +sre.System.prototype.processFileAsync_=function(a,b,c){sre.System.getInstance().inputFileAsync_(b,goog.bind(function(b){b=a(b);c?sre.SystemExternal.fs.writeFile(c,b,function(a){if(a)throw new sre.System.Error("Can not write to file: "+c);}):console.log(b)},this))}; +sre.System.prototype.walk=function(a){var b=sre.SpeechGeneratorFactory.generator("Node");sre.System.LocalStorage_.getInstance().speechGenerator=b;var c=sre.HighlighterFactory.highlighter({color:"black"},{color:"white"},{renderer:"NativeMML"});a=sre.System.getInstance().toEnriched(a);var d=(new sre.SystemExternal.xmldom.XMLSerializer).serializeToString(a);sre.System.LocalStorage_.getInstance().walker=sre.WalkerFactory.walker(sre.Engine.getInstance().walker,a,b,c,d);return sre.System.LocalStorage_.getInstance().walker.speech()}; +sre.System.prototype.move=function(a){if(!sre.System.LocalStorage_.getInstance().walker)return null;var b="string"===typeof a?sre.EventUtil.KeyCode[a.toUpperCase()]:a;return!1===sre.System.LocalStorage_.getInstance().walker.move(b)?sre.AuralRendering.getInstance().error(a):sre.System.LocalStorage_.getInstance().walker.speech()};sre.Mathjax={}; +(function(){var a=sre.System.getInstance(),b=MathJax.Callback.Signal("Sre");MathJax.Extension.Sre={version:a.version,signal:b,ConfigSre:function(){sre.Engine.isReady()?MathJax.Callback.Queue(MathJax.Hub.Register.StartupHook("mml Jax Ready",{}),["Post",MathJax.Hub.Startup.signal,"Sre Ready"]):setTimeout(MathJax.Extension.Sre.ConfigSre,500)}};sre.System.getInstance().setupEngine({mode:sre.Engine.Mode.HTTP,json:MathJax.Ajax.config.path.SRE+"/mathmaps",xpath:MathJax.Ajax.config.path.SRE+"/wgxpath.install.js", +semantics:!0});MathJax.Extension.Sre.ConfigSre()})(); + diff --git a/assets/js/mathjax.js b/assets/js/mathjax.js new file mode 100644 index 0000000000000000000000000000000000000000..caf31f4ec4227ef06b20cf2413f31f524c8a6684 --- /dev/null +++ b/assets/js/mathjax.js @@ -0,0 +1,92 @@ +var fs = require("fs"); +module.exports = jax; +/** + * Converts JSON to XML. Expects $t for text tags. First root object + * is used as the XML root, other objects are discarded. + * + * @param {Object|String} JSON string or an object to be converted to XML + * @return {String} XML output + */ +function jax(object) { + var rootElement, + headParams = [], + xml = ""; + if (typeof object == "string") { + object = JSON.parse(object); + } + Object.keys(object).forEach(function(key) { + if (typeof object[key] != "object") { + headParams.push(key.replace(/[\$]/g, ":") + '="' + escapeValue(object[key]) + '"'); + } else { + rootElement = { + name: key, + content: object[key] + }; + } + }); + xml += "<?xml " + headParams.join(" ") + "?>"; + if (rootElement) { + xml += drawBranch(rootElement.name, rootElement.content); + } + return xml; +} +/** + * Draws XML for a branch object, recursive function + * + * @param {Object|String} Object to be converted to XML + * @return {String} XML output + */ +function drawBranch(name, object, level) { + name = (name || "").replace(/[\$]/g, ":"); + level = level || 0; + var branches = [], + params = [], + start, end; + Object.keys(object).forEach(function(key) { + if (Array.isArray(object[key])) { + object[key].forEach(function(elm) { + branches.push(drawBranch(key, elm, level + 1)); + }); + } else if (typeof object[key] == "object") { + branches.push(drawBranch(key, object[key], level + 1)); + } else if (key != "$t") { + params.push(key.replace(/[\$]/g, ":") + '="' + escapeValue(object[key]) + '"') + } + }); + if (object.$t) { + branches.unshift(escapeText(object.$t)); + } + if (branches.length) { + start = "<" + name + (params.length ? " " + params.join(" ") : "") + ">"; + end = "</" + name + ">"; + } else { + start = "<" + name + (params.length ? " " + params.join(" ") : "") + "/>"; + end = ""; + } + return start + branches.join("") + end; +} +/** + * Escapes text values ($t) + * + * @param {String} str String value to be escaped + */ +function escapeText(str) { + str = (str || "").toString().trim(). + replace(/&/g, "&"). + replace(/</g, "<"). + replace(/>/g, ">"); + return str; +} +/** + * Escapes attribute values + * + * @param {String} str String value to be escaped + */ +function escapeValue(str) { + str = (str || "").toString().trim(). + replace(/&/g, "&"). + replace(/"/g, """). + replace(/</g, "<"). + replace(/>/g, ">"); + return str; +} diff --git a/assets/js/mathmaps/en/functions/algebra.js b/assets/js/mathmaps/en/functions/algebra.js new file mode 100644 index 0000000000000000000000000000000000000000..a45831701406801d388adf0ba0cb582610c17e70 --- /dev/null +++ b/assets/js/mathmaps/en/functions/algebra.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"Algebra","mappings":{"default":{"default":"degree"}},"key":"deg","names":["deg"]},{"category":"Algebra","mappings":{"default":{"default":"determinant","short":"det"}},"key":"det","names":["det"]},{"category":"Algebra","mappings":{"default":{"default":"dimension"}},"key":"dim","names":["dim"]},{"category":"Algebra","mappings":{"default":{"default":"homomorphism","short":"hom"}},"key":"hom","names":["hom","Hom"]},{"category":"Algebra","mappings":{"default":{"default":"kernel"}},"key":"ker","names":["ker"]},{"category":"Algebra","mappings":{"default":{"default":"trace"}},"key":"Tr","names":["Tr","tr"]}] diff --git a/assets/js/mathmaps/en/functions/elementary.js b/assets/js/mathmaps/en/functions/elementary.js new file mode 100644 index 0000000000000000000000000000000000000000..8751c76bd5e59f74151902a71d40102615ae539e --- /dev/null +++ b/assets/js/mathmaps/en/functions/elementary.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"Elementary","mappings":{"default":{"default":"logarithm","alternative":"logarithm function","short":"log"}},"key":"log","names":["log"]},{"category":"Elementary","mappings":{"default":{"default":"natural logarithm","alternative":"natural logarithm function","short":"natural log"},"mathspeak":{"default":"ln"}},"key":"ln","names":["ln"]},{"category":"Elementary","mappings":{"default":{"default":"logarithm base 10","short":"log base 10"}},"key":"lg","names":["lg"]},{"category":"Elementary","mappings":{"default":{"default":"exponential","alternative":"exponential function","short":"exp"}},"key":"exp","names":["exp","expt"]},{"category":"Elementary","mappings":{"default":{"default":"greatest common divisor","short":"gcd"}},"key":"gcd","names":["gcd"]},{"category":"Elementary","mappings":{"default":{"default":"least common multiple","short":"lcm"}},"key":"lcm","names":["lcm"]},{"category":"Complex","mappings":{"default":{"default":"argument","short":"arg"}},"key":"arg","names":["arg"]},{"category":"Complex","mappings":{"default":{"default":"imaginary part","short":"imaginary"},"mathspeak":{"default":"im"}},"key":"im","names":["im"]},{"category":"Complex","mappings":{"default":{"default":"real part","short":"real"},"mathspeak":{"default":"re"}},"key":"re","names":["re"]},{"category":"Limits","mappings":{"default":{"default":"infimum","short":"inf"}},"key":"inf","names":["inf"]},{"category":"Limits","mappings":{"default":{"default":"limit","short":"lim"},"mathspeak":{"default":"limit"}},"key":"lim","names":["lim"]},{"category":"Limits","mappings":{"default":{"default":"infimum default","alternative":"inferior limit","short":"liminf"}},"key":"liminf","names":["lim inf","liminf"]},{"category":"Limits","mappings":{"default":{"default":"supremum limit","alternative":"superior limit","short":"limsup"}},"key":"limsup","names":["lim sup","limsup"]},{"category":"Limits","mappings":{"default":{"default":"maximum","short":"max"}},"key":"max","names":["max"]},{"category":"Limits","mappings":{"default":{"default":"minimum","short":"min"}},"key":"min","names":["min"]},{"category":"Limits","mappings":{"default":{"default":"supremum","short":"sup"}},"key":"sup","names":["sup"]},{"category":"Limits","mappings":{"default":{"default":"injective limit","alternative":"direct limit","short":"colimit"}},"key":"injlim","names":["injlim","inj lim"]},{"category":"Limits","mappings":{"default":{"default":"projective limit","alternative":"inverse limit","short":"limit"}},"key":"projlim","names":["projlim","proj lim"]},{"category":"Elementary","mappings":{"default":{"default":"modulo","short":"mod"}},"key":"mod","names":["mod"]},{"category":"Probability","mappings":{"default":{"default":"probability"}},"key":"Pr","names":["Pr"]}] diff --git a/assets/js/mathmaps/en/functions/hyperbolic.js b/assets/js/mathmaps/en/functions/hyperbolic.js new file mode 100644 index 0000000000000000000000000000000000000000..cd9f3d36c4614eb0803aec3974d37f89ecdcb2e9 --- /dev/null +++ b/assets/js/mathmaps/en/functions/hyperbolic.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"Hyperbolic","mappings":{"default":{"default":"hyperbolic cosine function","short":"hyperbolic cosine"}},"key":"cosh","names":["cosh"]},{"category":"Hyperbolic","mappings":{"default":{"default":"hyperbolic cotangent function","short":"hyperbolic cotangent"}},"key":"coth","names":["coth"]},{"category":"Hyperbolic","mappings":{"default":{"default":"hyperbolic cosecant function","short":"hyperbolic cosecant"}},"key":"csch","names":["csch"]},{"category":"Hyperbolic","mappings":{"default":{"default":"hyperbolic secant function","short":"hyperbolic secant"}},"key":"sech","names":["sech"]},{"category":"Hyperbolic","mappings":{"default":{"default":"hyperbolic sine function","short":"hyperbolic sine"}},"key":"sinh","names":["sinh"]},{"category":"Hyperbolic","mappings":{"default":{"default":"hyperbolic tangent function","short":"hyperbolic tangent"}},"key":"tanh","names":["tanh"]},{"category":"Area","mappings":{"default":{"default":"inverse hyperbolic cosine function","alternative":"area hyperbolic cosine function","short":"area hyperbolic cosine"}},"key":"arcosh","names":["arcosh","arccosh"]},{"category":"Area","mappings":{"default":{"default":"inverse hyperbolic cotangent function","alternative":"area hyperbolic cotangent function","short":"area hyperbolic cotangent"}},"key":"arcoth","names":["arcoth","arccoth"]},{"category":"Area","mappings":{"default":{"default":"inverse hyperbolic cosecant function","alternative":"area hyperbolic cosecant function","short":"area hyperbolic cosecant"}},"key":"arcsch","names":["arcsch","arccsch"]},{"category":"Area","mappings":{"default":{"default":"inverse hyperbolic secant function","alternative":"area hyperbolic secant function","short":"area hyperbolic secant"}},"key":"arsech","names":["arsech","arcsech"]},{"category":"Area","mappings":{"default":{"default":"inverse hyperbolic sine function","alternative":"area hyperbolic sine function","short":"area hyperbolic sine"}},"key":"arsinh","names":["arsinh","arcsinh"]},{"category":"Area","mappings":{"default":{"default":"inverse hyperbolic tangent function","alternative":"area hyperbolic tangent function","short":"area hyperbolic tangent"}},"key":"artanh","names":["artanh","arctanh"]}] diff --git a/assets/js/mathmaps/en/functions/trigonometry.js b/assets/js/mathmaps/en/functions/trigonometry.js new file mode 100644 index 0000000000000000000000000000000000000000..be6b3dd9c481492d582be99fd3ea3421d36275b5 --- /dev/null +++ b/assets/js/mathmaps/en/functions/trigonometry.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"Trigonometric","mappings":{"default":{"default":"cosine function","short":"cosine"}},"key":"cos","names":["cos","cosine"]},{"category":"Trigonometric","mappings":{"default":{"default":"cotangent function","short":"cotangent"}},"key":"cot","names":["cot"]},{"category":"Trigonometric","mappings":{"default":{"default":"cosecant function","short":"cosecant"}},"key":"csc","names":["csc"]},{"category":"Trigonometric","mappings":{"default":{"default":"secant function","short":"secant"}},"key":"sec","names":["sec"]},{"category":"Trigonometric","mappings":{"default":{"default":"sine function","alternative":"sine function","short":"sine"}},"key":"sin","names":["sin","sine"]},{"category":"Trigonometric","mappings":{"default":{"default":"tangent function","short":"tangent"}},"key":"tan","names":["tan"]},{"category":"Cyclometric","mappings":{"default":{"default":"inverse cosine function","alternative":"arc cosine function","short":"arc cosine"}},"key":"arccos","names":["arccos"]},{"category":"Cyclometric","mappings":{"default":{"default":"inverse cotangent function","alternative":"arc cotangent function","short":"arc cotangent"}},"key":"arccot","names":["arccot"]},{"category":"Cyclometric","mappings":{"default":{"default":"inverse cosecant function","alternative":"arc cosecant function","short":"arc cosecant"}},"key":"arccsc","names":["arccsc"]},{"category":"Cyclometric","mappings":{"default":{"default":"inverse secant function","alternative":"arc secant function","short":"arc secant"}},"key":"arcsec","names":["arcsec"]},{"category":"Cyclometric","mappings":{"default":{"default":"inverse sine function","alternative":"arc sine function","short":"arc sine"}},"key":"arcsin","names":["arcsin"]},{"category":"Cyclometric","mappings":{"default":{"default":"inverse tangent function","alternative":"arc tangent function","short":"arc tangent"}},"key":"arctan","names":["arctan"]}] diff --git a/assets/js/mathmaps/en/symbols/greek-capital.js b/assets/js/mathmaps/en/symbols/greek-capital.js new file mode 100644 index 0000000000000000000000000000000000000000..d85e8630a8a4334e8cb8779e60075a7ddd76b691 --- /dev/null +++ b/assets/js/mathmaps/en/symbols/greek-capital.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"Lu","key":"0391","mappings":{"default":{"default":"greek capital letter alpha","short":"cap alpha"},"mathspeak":{"default":"upper Alpha"}}},{"category":"Lu","key":"0392","mappings":{"default":{"default":"greek capital letter beta","short":"cap beta"},"mathspeak":{"default":"upper Beta"}}},{"category":"Lu","key":"0393","mappings":{"default":{"default":"greek capital letter gamma","short":"cap gamma"},"mathspeak":{"default":"upper Gamma"}}},{"category":"Lu","key":"0394","mappings":{"default":{"default":"greek capital letter delta","short":"cap delta"},"mathspeak":{"default":"upper Delta"}}},{"category":"Lu","key":"0395","mappings":{"default":{"default":"greek capital letter epsilon","short":"cap epsilon"},"mathspeak":{"default":"upper Epsilon"}}},{"category":"Lu","key":"0396","mappings":{"default":{"default":"greek capital letter zeta","short":"cap zeta"},"mathspeak":{"default":"upper Zeta"}}},{"category":"Lu","key":"0397","mappings":{"default":{"default":"greek capital letter eta","short":"cap eta"},"mathspeak":{"default":"upper Eta"}}},{"category":"Lu","key":"0398","mappings":{"default":{"default":"greek capital letter theta","short":"cap theta"},"mathspeak":{"default":"upper Theta"}}},{"category":"Lu","key":"0399","mappings":{"default":{"default":"greek capital letter iota","short":"cap iota"},"mathspeak":{"default":"upper Iota"}}},{"category":"Lu","key":"039A","mappings":{"default":{"default":"greek capital letter kappa","short":"cap kappa"},"mathspeak":{"default":"upper Kappa"}}},{"category":"Lu","key":"039B","mappings":{"default":{"default":"greek capital letter lamda","alternative":"greek capital letter lambda","short":"cap lamda"},"mathspeak":{"default":"upper Lamda"}}},{"category":"Lu","key":"039C","mappings":{"default":{"default":"greek capital letter mu","short":"cap mu"},"mathspeak":{"default":"upper Mu"}}},{"category":"Lu","key":"039D","mappings":{"default":{"default":"greek capital letter nu","short":"cap nu"},"mathspeak":{"default":"upper Nu"}}},{"category":"Lu","key":"039E","mappings":{"default":{"default":"greek capital letter xi","short":"cap xi"},"mathspeak":{"default":"upper Xi"}}},{"category":"Lu","key":"039F","mappings":{"default":{"default":"greek capital letter omicron","short":"cap omicron"},"mathspeak":{"default":"upper Omicron"}}},{"category":"Lu","key":"03A0","mappings":{"default":{"default":"greek capital letter pi","short":"cap pi"},"mathspeak":{"default":"upper Pi"}}},{"category":"Lu","key":"03A1","mappings":{"default":{"default":"greek capital letter rho","short":"cap rho"},"mathspeak":{"default":"upper Rho"}}},{"category":"Lu","key":"03A3","mappings":{"default":{"default":"greek capital letter sigma","short":"cap sigma"},"mathspeak":{"default":"upper Sigma"}}},{"category":"Lu","key":"03A4","mappings":{"default":{"default":"greek capital letter tau","short":"cap tau"},"mathspeak":{"default":"upper Tau"}}},{"category":"Lu","key":"03A5","mappings":{"default":{"default":"greek capital letter upsilon","short":"cap upsilon"},"mathspeak":{"default":"upper Upsilon"}}},{"category":"Lu","key":"03A6","mappings":{"default":{"default":"greek capital letter phi","short":"cap phi"},"mathspeak":{"default":"upper Phi"}}},{"category":"Lu","key":"03A7","mappings":{"default":{"default":"greek capital letter chi","short":"cap chi"},"mathspeak":{"default":"upper Chi"}}},{"category":"Lu","key":"03A8","mappings":{"default":{"default":"greek capital letter psi","short":"cap psi"},"mathspeak":{"default":"upper Psi"}}},{"category":"Lu","key":"03A9","mappings":{"default":{"default":"greek capital letter omega","short":"cap omega"},"mathspeak":{"default":"upper Omega"}}}] diff --git a/assets/js/mathmaps/en/symbols/greek-mathfonts-bold.js b/assets/js/mathmaps/en/symbols/greek-mathfonts-bold.js new file mode 100644 index 0000000000000000000000000000000000000000..8dd48e1ec9d9ef85e139cf8101b1c62d227fdb23 --- /dev/null +++ b/assets/js/mathmaps/en/symbols/greek-mathfonts-bold.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital alpha","alternative":"bold capital alpha","short":"bold cap alpha"},"mathspeak":{"default":"bold upper Alpha"}},"key":"1D6A8"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital beta","alternative":"bold capital beta","short":"bold cap beta"},"mathspeak":{"default":"bold upper Beta"}},"key":"1D6A9"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital gamma","alternative":"bold capital gamma","short":"bold cap gamma"},"mathspeak":{"default":"bold upper Gamma"}},"key":"1D6AA"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital delta","alternative":"bold capital delta","short":"bold cap delta"},"mathspeak":{"default":"bold upper Delta"}},"key":"1D6AB"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital epsilon","alternative":"bold capital epsilon","short":"bold cap epsilon"},"mathspeak":{"default":"bold upper Epsilon"}},"key":"1D6AC"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital zeta","alternative":"bold capital zeta","short":"bold cap zeta"},"mathspeak":{"default":"bold upper Zeta"}},"key":"1D6AD"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital eta","alternative":"bold capital eta","short":"bold cap eta"},"mathspeak":{"default":"bold upper Eta"}},"key":"1D6AE"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital theta","alternative":"bold capital theta","short":"bold cap theta"},"mathspeak":{"default":"bold upper Theta"}},"key":"1D6AF"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital iota","alternative":"bold capital iota","short":"bold cap iota"},"mathspeak":{"default":"bold upper Iota"}},"key":"1D6B0"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital kappa","alternative":"bold capital kappa","short":"bold cap kappa"},"mathspeak":{"default":"bold upper Kappa"}},"key":"1D6B1"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital lamda","alternative":"bold capital lamda","short":"bold cap lamda"},"mathspeak":{"default":"bold upper Lamda"}},"key":"1D6B2"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital mu","alternative":"bold capital mu","short":"bold cap mu"},"mathspeak":{"default":"bold upper Mu"}},"key":"1D6B3"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital nu","alternative":"bold capital nu","short":"bold cap nu"},"mathspeak":{"default":"bold upper Nu"}},"key":"1D6B4"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital xi","alternative":"bold capital xi","short":"bold cap xi"},"mathspeak":{"default":"bold upper Xi"}},"key":"1D6B5"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital omicron","alternative":"bold capital omicron","short":"bold cap omicron"},"mathspeak":{"default":"bold upper Omicron"}},"key":"1D6B6"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital pi","alternative":"bold capital pi","short":"bold cap pi"},"mathspeak":{"default":"bold upper Pi"}},"key":"1D6B7"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital rho","alternative":"bold capital rho","short":"bold cap rho"},"mathspeak":{"default":"bold upper Rho"}},"key":"1D6B8"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital sigma","alternative":"bold capital sigma","short":"bold cap sigma"},"mathspeak":{"default":"bold upper Sigma"}},"key":"1D6BA"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital tau","alternative":"bold capital tau","short":"bold cap tau"},"mathspeak":{"default":"bold upper Tau"}},"key":"1D6BB"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital upsilon","alternative":"bold capital upsilon","short":"bold cap upsilon"},"mathspeak":{"default":"bold upper Upsilon"}},"key":"1D6BC"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital phi","alternative":"bold capital phi","short":"bold cap phi"},"mathspeak":{"default":"bold upper Phi"}},"key":"1D6BD"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital chi","alternative":"bold capital chi","short":"bold cap chi"},"mathspeak":{"default":"bold upper Chi"}},"key":"1D6BE"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital psi","alternative":"bold capital psi","short":"bold cap psi"},"mathspeak":{"default":"bold upper Psi"}},"key":"1D6BF"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital omega","alternative":"bold capital omega","short":"bold cap omega"},"mathspeak":{"default":"bold upper Omega"}},"key":"1D6C0"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small alpha","alternative":"bold small alpha","short":"bold alpha"}},"key":"1D6C2"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small beta","alternative":"bold small beta","short":"bold beta"}},"key":"1D6C3"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small gamma","alternative":"bold small gamma","short":"bold gamma"}},"key":"1D6C4"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small delta","alternative":"bold small delta","short":"bold delta"}},"key":"1D6C5"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small epsilon","alternative":"bold small epsilon","short":"bold epsilon"}},"key":"1D6C6"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small zeta","alternative":"bold small zeta","short":"bold zeta"}},"key":"1D6C7"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small eta","alternative":"bold small eta","short":"bold eta"}},"key":"1D6C8"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small theta","alternative":"bold small theta","short":"bold theta"}},"key":"1D6C9"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small iota","alternative":"bold small iota","short":"bold iota"}},"key":"1D6CA"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small kappa","alternative":"bold small kappa","short":"bold kappa"}},"key":"1D6CB"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small lamda","alternative":"bold small lamda","short":"bold lamda"}},"key":"1D6CC"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small mu","alternative":"bold small mu","short":"bold mu"}},"key":"1D6CD"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small nu","alternative":"bold small nu","short":"bold nu"}},"key":"1D6CE"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small xi","alternative":"bold small xi","short":"bold xi"}},"key":"1D6CF"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small omicron","alternative":"bold small omicron","short":"bold omicron"}},"key":"1D6D0"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small pi","alternative":"bold small pi","short":"bold pi"}},"key":"1D6D1"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small rho","alternative":"bold small rho","short":"bold rho"}},"key":"1D6D2"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small final sigma","alternative":"bold small final sigma","short":"bold final sigma"}},"key":"1D6D3"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small sigma","alternative":"bold small sigma","short":"bold sigma"}},"key":"1D6D4"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small tau","alternative":"bold small tau","short":"bold tau"}},"key":"1D6D5"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small upsilon","alternative":"bold small upsilon","short":"bold upsilon"}},"key":"1D6D6"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small phi","alternative":"bold small phi","short":"bold phi"}},"key":"1D6D7"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small chi","alternative":"bold small chi","short":"bold chi"}},"key":"1D6D8"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small psi","alternative":"bold small psi","short":"bold psi"}},"key":"1D6D9"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small omega","alternative":"bold small omega","short":"bold omega"}},"key":"1D6DA"}] diff --git a/assets/js/mathmaps/en/symbols/greek-mathfonts-italic.js b/assets/js/mathmaps/en/symbols/greek-mathfonts-italic.js new file mode 100644 index 0000000000000000000000000000000000000000..6bbe64454bcf4f2d5a237f65061a46a88d586b66 --- /dev/null +++ b/assets/js/mathmaps/en/symbols/greek-mathfonts-italic.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital alpha","alternative":"italic capital alpha","short":"italic cap alpha"},"mathspeak":{"default":"italic upper Alpha"}},"key":"1D6E2"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital beta","alternative":"italic capital beta","short":"italic cap beta"},"mathspeak":{"default":"italic upper Beta"}},"key":"1D6E3"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital gamma","alternative":"italic capital gamma","short":"italic cap gamma"},"mathspeak":{"default":"italic upper Gamma"}},"key":"1D6E4"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital delta","alternative":"italic capital delta","short":"italic cap delta"},"mathspeak":{"default":"italic upper Delta"}},"key":"1D6E5"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital epsilon","alternative":"italic capital epsilon","short":"italic cap epsilon"},"mathspeak":{"default":"italic upper Epsilon"}},"key":"1D6E6"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital zeta","alternative":"italic capital zeta","short":"italic cap zeta"},"mathspeak":{"default":"italic upper Zeta"}},"key":"1D6E7"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital eta","alternative":"italic capital eta","short":"italic cap eta"},"mathspeak":{"default":"italic upper Eta"}},"key":"1D6E8"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital theta","alternative":"italic capital theta","short":"italic cap theta"},"mathspeak":{"default":"italic upper Theta"}},"key":"1D6E9"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital iota","alternative":"italic capital iota","short":"italic cap iota"},"mathspeak":{"default":"italic upper Iota"}},"key":"1D6EA"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital kappa","alternative":"italic capital kappa","short":"italic cap kappa"},"mathspeak":{"default":"italic upper Kappa"}},"key":"1D6EB"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital lamda","alternative":"italic capital lamda","short":"italic cap lamda"},"mathspeak":{"default":"italic upper Lamda"}},"key":"1D6EC"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital mu","alternative":"italic capital mu","short":"italic cap mu"},"mathspeak":{"default":"italic upper Mu"}},"key":"1D6ED"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital nu","alternative":"italic capital nu","short":"italic cap nu"},"mathspeak":{"default":"italic upper Nu"}},"key":"1D6EE"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital xi","alternative":"italic capital xi","short":"italic cap xi"},"mathspeak":{"default":"italic upper Xi"}},"key":"1D6EF"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital omicron","alternative":"italic capital omicron","short":"italic cap omicron"},"mathspeak":{"default":"italic upper Omicron"}},"key":"1D6F0"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital pi","alternative":"italic capital pi","short":"italic cap pi"},"mathspeak":{"default":"italic upper Pi"}},"key":"1D6F1"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital rho","alternative":"italic capital rho","short":"italic cap rho"},"mathspeak":{"default":"italic upper Rho"}},"key":"1D6F2"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital sigma","alternative":"italic capital sigma","short":"italic cap sigma"},"mathspeak":{"default":"italic upper Sigma"}},"key":"1D6F4"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital tau","alternative":"italic capital tau","short":"italic cap tau"},"mathspeak":{"default":"italic upper Tau"}},"key":"1D6F5"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital upsilon","alternative":"italic capital upsilon","short":"italic cap upsilon"},"mathspeak":{"default":"italic upper Upsilon"}},"key":"1D6F6"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital phi","alternative":"italic capital phi","short":"italic cap phi"},"mathspeak":{"default":"italic upper Phi"}},"key":"1D6F7"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital chi","alternative":"italic capital chi","short":"italic cap chi"},"mathspeak":{"default":"italic upper Chi"}},"key":"1D6F8"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital psi","alternative":"italic capital psi","short":"italic cap psi"},"mathspeak":{"default":"italic upper Psi"}},"key":"1D6F9"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital omega","alternative":"italic capital omega","short":"italic cap omega"},"mathspeak":{"default":"italic upper Omega"}},"key":"1D6FA"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small alpha","alternative":"italic small alpha","short":"italic alpha"}},"key":"1D6FC"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small beta","alternative":"italic small beta","short":"italic beta"}},"key":"1D6FD"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small gamma","alternative":"italic small gamma","short":"italic gamma"}},"key":"1D6FE"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small delta","alternative":"italic small delta","short":"italic delta"}},"key":"1D6FF"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small epsilon","alternative":"italic small epsilon","short":"italic epsilon"}},"key":"1D700"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small zeta","alternative":"italic small zeta","short":"italic zeta"}},"key":"1D701"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small eta","alternative":"italic small eta","short":"italic eta"}},"key":"1D702"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small theta","alternative":"italic small theta","short":"italic theta"}},"key":"1D703"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small iota","alternative":"italic small iota","short":"italic iota"}},"key":"1D704"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small kappa","alternative":"italic small kappa","short":"italic kappa"}},"key":"1D705"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small lamda","alternative":"italic small lamda","short":"italic lamda"}},"key":"1D706"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small mu","alternative":"italic small mu","short":"italic mu"}},"key":"1D707"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small nu","alternative":"italic small nu","short":"italic nu"}},"key":"1D708"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small xi","alternative":"italic small xi","short":"italic xi"}},"key":"1D709"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small omicron","alternative":"italic small omicron","short":"italic omicron"}},"key":"1D70A"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small pi","alternative":"italic small pi","short":"italic pi"}},"key":"1D70B"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small rho","alternative":"italic small rho","short":"italic rho"}},"key":"1D70C"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small final sigma","alternative":"italic small final sigma","short":"italic final sigma"}},"key":"1D70D"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small sigma","alternative":"italic small sigma","short":"italic sigma"}},"key":"1D70E"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small tau","alternative":"italic small tau","short":"italic tau"}},"key":"1D70F"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small upsilon","alternative":"italic small upsilon","short":"italic upsilon"}},"key":"1D710"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small phi","alternative":"italic small phi","short":"italic phi"}},"key":"1D711"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small chi","alternative":"italic small chi","short":"italic chi"}},"key":"1D712"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small psi","alternative":"italic small psi","short":"italic psi"}},"key":"1D713"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small omega","alternative":"italic small omega","short":"italic omega"}},"key":"1D714"}] diff --git a/assets/js/mathmaps/en/symbols/greek-mathfonts-sans-serif-bold.js b/assets/js/mathmaps/en/symbols/greek-mathfonts-sans-serif-bold.js new file mode 100644 index 0000000000000000000000000000000000000000..aeca8bf0d0b1fe8d68402e15bd0d2a2b236705e9 --- /dev/null +++ b/assets/js/mathmaps/en/symbols/greek-mathfonts-sans-serif-bold.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital alpha","alternative":"sans serif bold capital alpha","short":"sans serif bold cap alpha"},"mathspeak":{"default":"sans serif bold upper Alpha"}},"key":"1D756"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital beta","alternative":"sans serif bold capital beta","short":"sans serif bold cap beta"},"mathspeak":{"default":"sans serif bold upper Beta"}},"key":"1D757"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital gamma","alternative":"sans serif bold capital gamma","short":"sans serif bold cap gamma"},"mathspeak":{"default":"sans serif bold upper Gamma"}},"key":"1D758"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital delta","alternative":"sans serif bold capital delta","short":"sans serif bold cap delta"},"mathspeak":{"default":"sans serif bold upper Delta"}},"key":"1D759"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital epsilon","alternative":"sans serif bold capital epsilon","short":"sans serif bold cap epsilon"},"mathspeak":{"default":"sans serif bold upper Epsilon"}},"key":"1D75A"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital zeta","alternative":"sans serif bold capital zeta","short":"sans serif bold cap zeta"},"mathspeak":{"default":"sans serif bold upper Zeta"}},"key":"1D75B"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital eta","alternative":"sans serif bold capital eta","short":"sans serif bold cap eta"},"mathspeak":{"default":"sans serif bold upper Eta"}},"key":"1D75C"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital theta","alternative":"sans serif bold capital theta","short":"sans serif bold cap theta"},"mathspeak":{"default":"sans serif bold upper Theta"}},"key":"1D75D"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital iota","alternative":"sans serif bold capital iota","short":"sans serif bold cap iota"},"mathspeak":{"default":"sans serif bold upper Iota"}},"key":"1D75E"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital kappa","alternative":"sans serif bold capital kappa","short":"sans serif bold cap kappa"},"mathspeak":{"default":"sans serif bold upper Kappa"}},"key":"1D75F"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital lamda","alternative":"sans serif bold capital lamda","short":"sans serif bold cap lamda"},"mathspeak":{"default":"sans serif bold upper Lamda"}},"key":"1D760"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital mu","alternative":"sans serif bold capital mu","short":"sans serif bold cap mu"},"mathspeak":{"default":"sans serif bold upper Mu"}},"key":"1D761"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital nu","alternative":"sans serif bold capital nu","short":"sans serif bold cap nu"},"mathspeak":{"default":"sans serif bold upper Nu"}},"key":"1D762"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital xi","alternative":"sans serif bold capital xi","short":"sans serif bold cap xi"},"mathspeak":{"default":"sans serif bold upper Xi"}},"key":"1D763"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital omicron","alternative":"sans serif bold capital omicron","short":"sans serif bold cap omicron"},"mathspeak":{"default":"sans serif bold upper Omicron"}},"key":"1D764"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital pi","alternative":"sans serif bold capital pi","short":"sans serif bold cap pi"},"mathspeak":{"default":"sans serif bold upper Pi"}},"key":"1D765"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital rho","alternative":"sans serif bold capital rho","short":"sans serif bold cap rho"},"mathspeak":{"default":"sans serif bold upper Rho"}},"key":"1D766"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital sigma","alternative":"sans serif bold capital sigma","short":"sans serif bold cap sigma"},"mathspeak":{"default":"sans serif bold upper Sigma"}},"key":"1D768"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital tau","alternative":"sans serif bold capital tau","short":"sans serif bold cap tau"},"mathspeak":{"default":"sans serif bold upper Tau"}},"key":"1D769"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital upsilon","alternative":"sans serif bold capital upsilon","short":"sans serif bold cap upsilon"},"mathspeak":{"default":"sans serif bold upper Upsilon"}},"key":"1D76A"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital phi","alternative":"sans serif bold capital phi","short":"sans serif bold cap phi"},"mathspeak":{"default":"sans serif bold upper Phi"}},"key":"1D76B"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital chi","alternative":"sans serif bold capital chi","short":"sans serif bold cap chi"},"mathspeak":{"default":"sans serif bold upper Chi"}},"key":"1D76C"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital psi","alternative":"sans serif bold capital psi","short":"sans serif bold cap psi"},"mathspeak":{"default":"sans serif bold upper Psi"}},"key":"1D76D"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital omega","alternative":"sans serif bold capital omega","short":"sans serif bold cap omega"},"mathspeak":{"default":"sans serif bold upper Omega"}},"key":"1D76E"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small alpha","alternative":"sans serif bold small alpha","short":"sans serif bold alpha"}},"key":"1D770"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small beta","alternative":"sans serif bold small beta","short":"sans serif bold beta"}},"key":"1D771"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small gamma","alternative":"sans serif bold small gamma","short":"sans serif bold gamma"}},"key":"1D772"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small delta","alternative":"sans serif bold small delta","short":"sans serif bold delta"}},"key":"1D773"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small epsilon","alternative":"sans serif bold small epsilon","short":"sans serif bold epsilon"}},"key":"1D774"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small zeta","alternative":"sans serif bold small zeta","short":"sans serif bold zeta"}},"key":"1D775"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small eta","alternative":"sans serif bold small eta","short":"sans serif bold eta"}},"key":"1D776"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small theta","alternative":"sans serif bold small theta","short":"sans serif bold theta"}},"key":"1D777"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small iota","alternative":"sans serif bold small iota","short":"sans serif bold iota"}},"key":"1D778"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small kappa","alternative":"sans serif bold small kappa","short":"sans serif bold kappa"}},"key":"1D779"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small lamda","alternative":"sans serif bold small lamda","short":"sans serif bold lamda"}},"key":"1D77A"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small mu","alternative":"sans serif bold small mu","short":"sans serif bold mu"}},"key":"1D77B"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small nu","alternative":"sans serif bold small nu","short":"sans serif bold nu"}},"key":"1D77C"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small xi","alternative":"sans serif bold small xi","short":"sans serif bold xi"}},"key":"1D77D"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small omicron","alternative":"sans serif bold small omicron","short":"sans serif bold omicron"}},"key":"1D77E"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small pi","alternative":"sans serif bold small pi","short":"sans serif bold pi"}},"key":"1D77F"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small rho","alternative":"sans serif bold small rho","short":"sans serif bold rho"}},"key":"1D780"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small final sigma","alternative":"sans serif bold small final sigma","short":"sans serif bold final sigma"}},"key":"1D781"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small sigma","alternative":"sans serif bold small sigma","short":"sans serif bold sigma"}},"key":"1D782"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small tau","alternative":"sans serif bold small tau","short":"sans serif bold tau"}},"key":"1D783"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small upsilon","alternative":"sans serif bold small upsilon","short":"sans serif bold upsilon"}},"key":"1D784"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small phi","alternative":"sans serif bold small phi","short":"sans serif bold phi"}},"key":"1D785"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small chi","alternative":"sans serif bold small chi","short":"sans serif bold chi"}},"key":"1D786"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small psi","alternative":"sans serif bold small psi","short":"sans serif bold psi"}},"key":"1D787"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small omega","alternative":"sans serif bold small omega","short":"sans serif bold omega"}},"key":"1D788"}] diff --git a/assets/js/mathmaps/en/symbols/greek-scripts.js b/assets/js/mathmaps/en/symbols/greek-scripts.js new file mode 100644 index 0000000000000000000000000000000000000000..e7022979294186f2b1d2630880c5fa98b15d719d --- /dev/null +++ b/assets/js/mathmaps/en/symbols/greek-scripts.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"Ll","key":"1D26","mappings":{"default":{"default":"greek letter small capital gamma","alternative":"greek letter gamma","short":"small cap gamma"},"mathspeak":{"default":"small upper Gamma"}}},{"category":"Ll","key":"1D27","mappings":{"default":{"default":"greek letter small capital lamda","alternative":"greek letter lamda","short":"small cap lamda"},"mathspeak":{"default":"small upper Lamda"}}},{"category":"Ll","key":"1D28","mappings":{"default":{"default":"greek letter small capital pi","alternative":"greek letter pi","short":"small cap pi"},"mathspeak":{"default":"small upper Pi"}}},{"category":"Ll","key":"1D29","mappings":{"default":{"default":"greek letter small capital rho","alternative":"greek letter rho","short":"small cap rho"},"mathspeak":{"default":"small upper Rho"}}},{"category":"Ll","key":"1D2A","mappings":{"default":{"default":"greek letter small capital psi","alternative":"greek letter psi","short":"small cap psi"},"mathspeak":{"default":"small upper Psi"}}},{"category":"Lm","key":"1D5E","mappings":{"default":{"default":"modifier letter small greek gamma","alternative":"greek letter superscript gamma","short":"superscript gamma"}}},{"category":"Lm","key":"1D60","mappings":{"default":{"default":"modifier letter small greek phi","alternative":"greek letter superscript phi","short":"superscript phi"}}},{"category":"Lm","key":"1D66","mappings":{"default":{"default":"greek subscript small letter beta","short":"subscript beta"}}},{"category":"Lm","key":"1D67","mappings":{"default":{"default":"greek subscript small letter gamma","alternative":"greek letter gamma","short":"subscript gamma"}}},{"category":"Lm","key":"1D68","mappings":{"default":{"default":"greek subscript small letter rho","alternative":"greek letter rho","short":"subscript rho"}}},{"category":"Lm","key":"1D69","mappings":{"default":{"default":"greek subscript small letter phi","alternative":"greek letter phi","short":"subscript phi"}}},{"category":"Lm","key":"1D6A","mappings":{"default":{"default":"greek subscript small letter chi","alternative":"greek letter chi","short":"subscript chi"}}}] diff --git a/assets/js/mathmaps/en/symbols/greek-small.js b/assets/js/mathmaps/en/symbols/greek-small.js new file mode 100644 index 0000000000000000000000000000000000000000..758435380af750490d5482dbd7a4d92032b983d1 --- /dev/null +++ b/assets/js/mathmaps/en/symbols/greek-small.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"Ll","key":"03B1","mappings":{"default":{"default":"greek small letter alpha","short":"alpha"}}},{"category":"Ll","key":"03B2","mappings":{"default":{"default":"greek small letter beta","short":"beta"}}},{"category":"Ll","key":"03B3","mappings":{"default":{"default":"greek small letter gamma","short":"gamma"}}},{"category":"Ll","key":"03B4","mappings":{"default":{"default":"greek small letter delta","short":"delta"}}},{"category":"Ll","key":"03B5","mappings":{"default":{"default":"greek small letter epsilon","short":"epsilon"}}},{"category":"Ll","key":"03B6","mappings":{"default":{"default":"greek small letter zeta","short":"zeta"}}},{"category":"Ll","key":"03B7","mappings":{"default":{"default":"greek small letter eta","short":"eta"}}},{"category":"Ll","key":"03B8","mappings":{"default":{"default":"greek small letter theta","short":"theta"}}},{"category":"Ll","key":"03B9","mappings":{"default":{"default":"greek small letter iota","short":"iota"}}},{"category":"Ll","key":"03BA","mappings":{"default":{"default":"greek small letter kappa","short":"kappa"}}},{"category":"Ll","key":"03BB","mappings":{"default":{"default":"greek small letter lamda","alternative":"greek small letter lambda","short":"lamda"}}},{"category":"Ll","key":"03BC","mappings":{"default":{"default":"greek small letter mu","short":"mu"}}},{"category":"Ll","key":"03BD","mappings":{"default":{"default":"greek small letter nu","short":"nu"}}},{"category":"Ll","key":"03BE","mappings":{"default":{"default":"greek small letter xi","short":"xi"}}},{"category":"Ll","key":"03BF","mappings":{"default":{"default":"greek small letter omicron","short":"omicron"}}},{"category":"Ll","key":"03C0","mappings":{"default":{"default":"greek small letter pi","short":"pi"}}},{"category":"Ll","key":"03C1","mappings":{"default":{"default":"greek small letter rho","short":"rho"}}},{"category":"Ll","key":"03C2","mappings":{"default":{"default":"greek small letter final sigma","short":"final sigma"}}},{"category":"Ll","key":"03C3","mappings":{"default":{"default":"greek small letter sigma","short":"sigma"}}},{"category":"Ll","key":"03C4","mappings":{"default":{"default":"greek small letter tau","short":"tau"}}},{"category":"Ll","key":"03C5","mappings":{"default":{"default":"greek small letter upsilon","short":"upsilon"}}},{"category":"Ll","key":"03C6","mappings":{"default":{"default":"greek small letter phi","short":"phi"}}},{"category":"Ll","key":"03C7","mappings":{"default":{"default":"greek small letter chi","short":"chi"}}},{"category":"Ll","key":"03C8","mappings":{"default":{"default":"greek small letter psi","short":"psi"}}},{"category":"Ll","key":"03C9","mappings":{"default":{"default":"greek small letter omega","short":"omega"}}}] diff --git a/assets/js/mathmaps/en/symbols/greek-symbols.js b/assets/js/mathmaps/en/symbols/greek-symbols.js new file mode 100644 index 0000000000000000000000000000000000000000..6c1b569e81815a044387bbd3cfce64fa3c3e733e --- /dev/null +++ b/assets/js/mathmaps/en/symbols/greek-symbols.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"Ll","mappings":{"default":{"default":"greek beta symbol","alternative":"greek small letter curled beta","short":"beta"}},"key":"03D0"},{"category":"Ll","mappings":{"default":{"default":"greek theta symbol","alternative":"greek small letter script theta","short":"theta"}},"key":"03D1"},{"category":"Ll","mappings":{"default":{"default":"greek phi symbol","alternative":"greek small letter script phi","short":"phi"}},"key":"03D5"},{"category":"Ll","mappings":{"default":{"default":"greek pi symbol","alternative":"greek small letter omega pi","short":"pi"}},"key":"03D6"},{"category":"Ll","mappings":{"default":{"default":"greek kai symbol","short":"kai"}},"key":"03D7"},{"category":"Ll","mappings":{"default":{"default":"greek kappa symbol","alternative":"greek small letter script kappa","short":"kappa"}},"key":"03F0"},{"category":"Ll","mappings":{"default":{"default":"greek rho symbol","alternative":"greek small letter tailed rho","short":"rho"}},"key":"03F1"},{"category":"Ll","mappings":{"default":{"default":"greek lunate epsilon symbol","short":"epsilon"}},"key":"03F5"},{"category":"Sm","mappings":{"default":{"default":"greek reversed lunate epsilon symbol","short":"reversed epsilon"}},"key":"03F6"},{"category":"Lu","mappings":{"default":{"default":"greek capital theta symbol","short":"cap theta"},"mathspeak":{"default":"upper Theta"}},"key":"03F4"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital theta symbol","alternative":"bold capital theta","short":"bold cap theta"},"mathspeak":{"default":"bold upper Theta"}},"key":"1D6B9"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital theta symbol","alternative":"italic capital theta","short":"italic cap theta"},"mathspeak":{"default":"italic upper Theta"}},"key":"1D6F3"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital theta symbol","alternative":"sans serif bold capital theta","short":"sans serif bold cap theta"},"mathspeak":{"default":"sans serif bold upper Theta"}},"key":"1D767"},{"category":"Sm","mappings":{"default":{"default":"mathematical bold nabla","alternative":"bold nabla"}},"key":"1D6C1"},{"category":"Sm","mappings":{"default":{"default":"mathematical bold partial differential","alternative":"bold partial differential","short":"bold partial differential"}},"key":"1D6DB"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold epsilon symbol","alternative":"bold epsilon","short":"bold epsilon"}},"key":"1D6DC"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold theta symbol","alternative":"bold theta","short":"bold theta"}},"key":"1D6DD"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold kappa symbol","alternative":"bold kappa","short":"bold kappa"}},"key":"1D6DE"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold phi symbol","alternative":"bold phi","short":"bold phi"}},"key":"1D6DF"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold rho symbol","alternative":"bold rho","short":"bold rho"}},"key":"1D6E0"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold pi symbol","alternative":"bold pi","short":"bold pi"}},"key":"1D6E1"},{"category":"Sm","mappings":{"default":{"default":"mathematical italic nabla","alternative":"italic nabla","short":"italic nabla"}},"key":"1D6FB"},{"category":"Sm","mappings":{"default":{"default":"mathematical italic partial differential","alternative":"italic partial differential","short":"italic partial differential"}},"key":"1D715"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic epsilon symbol","alternative":"italic epsilon","short":"italic epsilon"}},"key":"1D716"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic theta symbol","alternative":"italic theta","short":"italic theta"}},"key":"1D717"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic kappa symbol","alternative":"italic kappa","short":"italic kappa"}},"key":"1D718"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic phi symbol","alternative":"italic phi","short":"italic phi"}},"key":"1D719"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic rho symbol","alternative":"italic rho","short":"italic rho"}},"key":"1D71A"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic pi symbol","alternative":"italic pi","short":"italic pi"}},"key":"1D71B"},{"category":"Sm","mappings":{"default":{"default":"mathematical sans serif bold nabla","alternative":"sans serif bold nabla","short":"sans serif bold nabla"}},"key":"1D76F"},{"category":"Sm","mappings":{"default":{"default":"mathematical sans serif bold partial differential","alternative":"sans serif bold partial differential","short":"sans serif bold partial differential"}},"key":"1D789"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold epsilon symbol","alternative":"sans serif bold epsilon","short":"sans serif bold epsilon"}},"key":"1D78A"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold theta symbol","alternative":"sans serif bold theta","short":"sans serif bold theta"}},"key":"1D78B"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold kappa symbol","alternative":"sans serif bold kappa","short":"sans serif bold kappa"}},"key":"1D78C"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold phi symbol","alternative":"sans serif bold phi","short":"sans serif bold phi"}},"key":"1D78D"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold rho symbol","alternative":"sans serif bold rho","short":"sans serif bold rho"}},"key":"1D78E"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold pi symbol","alternative":"sans serif bold pi","short":"sans serif bold pi"}},"key":"1D78F"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital digamma","alternative":"bold capital digamma","short":"bold cap digamma"},"mathspeak":{"default":"bold upper Digamma"}},"key":"1D7CA"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small digamma","alternative":"bold small digamma","short":"bold digamma"}},"key":"1D7CB"}] diff --git a/assets/js/mathmaps/en/symbols/hebrew_letters.js b/assets/js/mathmaps/en/symbols/hebrew_letters.js new file mode 100644 index 0000000000000000000000000000000000000000..7805a7da72cf50d496b8f2a6e2ba9fca11adfc46 --- /dev/null +++ b/assets/js/mathmaps/en/symbols/hebrew_letters.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"Lo","mappings":{"default":{"default":"alef symbol","alternative":"first transfinite cardinal","short":"alef"}},"key":"2135"},{"category":"Lo","mappings":{"default":{"default":"bet symbol","alternative":"second transfinite cardinal","short":"bet"}},"key":"2136"},{"category":"Lo","mappings":{"default":{"default":"gimel symbol","alternative":"third transfinite cardinal","short":"gimel"}},"key":"2137"},{"category":"Lo","mappings":{"default":{"default":"dalet symbol","alternative":"fourth transfinite cardinal","short":"dalet"}},"key":"2138"}] diff --git a/assets/js/mathmaps/en/symbols/latin-lower-double-accent.js b/assets/js/mathmaps/en/symbols/latin-lower-double-accent.js new file mode 100644 index 0000000000000000000000000000000000000000..e547c4a6b09f311f3ec7bfcad87d9d18c80d40ee --- /dev/null +++ b/assets/js/mathmaps/en/symbols/latin-lower-double-accent.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"Ll","key":"01D6","mappings":{"default":{"default":"latin small letter u with diaeresis and macron","alternative":"latin small letter u double overdot overbar","short":"u double overdot overbar"}}},{"category":"Ll","key":"01D8","mappings":{"default":{"default":"latin small letter u with diaeresis and acute","alternative":"latin small letter u double overdot acute","short":"u double overdot acute"}}},{"category":"Ll","key":"01DA","mappings":{"default":{"default":"latin small letter u with diaeresis and caron","alternative":"latin small letter u double overdot hacek","short":"u double overdot caron"}}},{"category":"Ll","key":"01DC","mappings":{"default":{"default":"latin small letter u with diaeresis and grave","alternative":"latin small letter u double overdot grave","short":"u double overdot grave"}}},{"category":"Ll","key":"01DF","mappings":{"default":{"default":"latin small letter a with diaeresis and macron","alternative":"latin small letter a double overdot overbar","short":"a double overdot overbar"}}},{"category":"Ll","key":"01E1","mappings":{"default":{"default":"latin small letter a with dot above and macron","alternative":"latin small letter a dot overbar","short":"a overdot overbar"}}},{"category":"Ll","key":"01ED","mappings":{"default":{"default":"latin small letter o with ogonek and macron","alternative":"latin small letter o ogonek overbar","short":"o ogonek overbar"}}},{"category":"Ll","key":"01FB","mappings":{"default":{"default":"latin small letter a with ring above and acute","alternative":"latin small letter a ring above acute","short":"a ring above acute"}}},{"category":"Ll","key":"022B","mappings":{"default":{"default":"latin small letter o with diaeresis and macron","alternative":"latin small letter o double overdot overbar","short":"o double overdot overbar"}}},{"category":"Ll","key":"022D","mappings":{"default":{"default":"latin small letter o with tilde and macron","alternative":"latin small letter o tilde overbar","short":"o tilde overbar"}}},{"category":"Ll","key":"0231","mappings":{"default":{"default":"latin small letter o with dot above and macron","alternative":"latin small letter o overdot overbar","short":"o overdot overbar"}}},{"category":"Ll","key":"1E09","mappings":{"default":{"default":"latin small letter c with cedilla and acute","alternative":"latin small letter c cedilla acute","short":"c cedilla acute"}}},{"category":"Ll","key":"1E15","mappings":{"default":{"default":"latin small letter e with macron and grave","alternative":"latin small letter e overbar grave","short":"e overbar grave"}}},{"category":"Ll","key":"1E17","mappings":{"default":{"default":"latin small letter e with macron and acute","alternative":"latin small letter e overbar acute","short":"e overbar acute"}}},{"category":"Ll","key":"1E1D","mappings":{"default":{"default":"latin small letter e with cedilla and breve","alternative":"latin small letter e cedilla breve","short":"e cedilla breve"}}},{"category":"Ll","key":"1E2F","mappings":{"default":{"default":"latin small letter i with diaeresis and acute","alternative":"latin small letter i double overdot acute","short":"i double overdot acute"}}},{"category":"Ll","key":"1E39","mappings":{"default":{"default":"latin small letter l with dot below and macron","alternative":"latin small letter l underdot overbar","short":"l underdot overbar"}}},{"category":"Ll","key":"1E4D","mappings":{"default":{"default":"latin small letter o with tilde and acute","alternative":"latin small letter o tilde acute","short":"o tilde acute"}}},{"category":"Ll","key":"1E4F","mappings":{"default":{"default":"latin small letter o with tilde and diaeresis","alternative":"latin small letter o tilde double overdot","short":"o tilde double overdot"}}},{"category":"Ll","key":"1E51","mappings":{"default":{"default":"latin small letter o with macron and grave","alternative":"latin small letter o overbar grave","short":"o overbar grave"}}},{"category":"Ll","key":"1E53","mappings":{"default":{"default":"latin small letter o with macron and acute","alternative":"latin small letter o overbar acute","short":"o overbar acute"}}},{"category":"Ll","key":"1E5D","mappings":{"default":{"default":"latin small letter r with dot below and macron","alternative":"latin small letter r underdot overbar","short":"r underdot overbar"}}},{"category":"Ll","key":"1E65","mappings":{"default":{"default":"latin small letter s with acute and dot above","alternative":"latin small letter s acute overdot","short":"s acute overdot"}}},{"category":"Ll","key":"1E67","mappings":{"default":{"default":"latin small letter s with caron and dot above","alternative":"latin small letter s caron overdot","short":"s caron overdot"}}},{"category":"Ll","key":"1E69","mappings":{"default":{"default":"latin small letter s with dot below and dot above","alternative":"latin small letter s underdot overdot","short":"s underdot overdot"}}},{"category":"Ll","key":"1E79","mappings":{"default":{"default":"latin small letter u with tilde and acute","alternative":"latin small letter u tilde acute","short":"u tilde acute"}}},{"category":"Ll","key":"1E7B","mappings":{"default":{"default":"latin small letter u with macron and diaeresis","alternative":"latin small letter u overbar double overdot","short":"u overbar double overdot"}}},{"category":"Ll","key":"1EA5","mappings":{"default":{"default":"latin small letter a with circumflex and acute","alternative":"latin small letter a hat acute","short":"a hat acute"}}},{"category":"Ll","key":"1EA7","mappings":{"default":{"default":"latin small letter a with circumflex and grave","alternative":"latin small letter a hat grave","short":"a hat grave"}}},{"category":"Ll","key":"1EA9","mappings":{"default":{"default":"latin small letter a with circumflex and hook above","alternative":"latin small letter a hat hook above","short":"a hat hook above"}}},{"category":"Ll","key":"1EAB","mappings":{"default":{"default":"latin small letter a with circumflex and tilde","alternative":"latin small letter a hat tilde","short":"a hat tilde"}}},{"category":"Ll","key":"1EAD","mappings":{"default":{"default":"latin small letter a with circumflex and dot below","alternative":"latin small letter a hat underdot","short":"a hat underdot"}}},{"category":"Ll","key":"1EAF","mappings":{"default":{"default":"latin small letter a with breve and acute","alternative":"latin small letter a breve acute","short":"a breve acute"}}},{"category":"Ll","key":"1EB1","mappings":{"default":{"default":"latin small letter a with breve and grave","alternative":"latin small letter a breve grave","short":"a breve grave"}}},{"category":"Ll","key":"1EB3","mappings":{"default":{"default":"latin small letter a with breve and hook above","alternative":"latin small letter a breve hook above","short":"a breve hook above"}}},{"category":"Ll","key":"1EB5","mappings":{"default":{"default":"latin small letter a with breve and tilde","alternative":"latin small letter a breve tilde","short":"a breve tilde"}}},{"category":"Ll","key":"1EB7","mappings":{"default":{"default":"latin small letter a with breve and dot below","alternative":"latin small letter a breve underdot","short":"a breve underdot"}}},{"category":"Ll","key":"1EBF","mappings":{"default":{"default":"latin small letter e with circumflex and acute","alternative":"latin small letter e hat acute","short":"e hat acute"}}},{"category":"Ll","key":"1EC1","mappings":{"default":{"default":"latin small letter e with circumflex and grave","alternative":"latin small letter e hat grave","short":"e hat grave"}}},{"category":"Ll","key":"1EC3","mappings":{"default":{"default":"latin small letter e with circumflex and hook above","alternative":"latin small letter e hat hook above","short":"e hat hook above"}}},{"category":"Ll","key":"1EC5","mappings":{"default":{"default":"latin small letter e with circumflex and tilde","alternative":"latin small letter e hat tilde","short":"e hat tilde"}}},{"category":"Ll","key":"1EC7","mappings":{"default":{"default":"latin small letter e with circumflex and dot below","alternative":"latin small letter e hat underdot","short":"e hat underdot"}}},{"category":"Ll","key":"1ED1","mappings":{"default":{"default":"latin small letter o with circumflex and acute","alternative":"latin small letter o hat acute","short":"o hat acute"}}},{"category":"Ll","key":"1ED3","mappings":{"default":{"default":"latin small letter o with circumflex and grave","alternative":"latin small letter o hat grave","short":"o hat grave"}}},{"category":"Ll","key":"1ED5","mappings":{"default":{"default":"latin small letter o with circumflex and hook above","alternative":"latin small letter o hat hook above","short":"o hat hook above"}}},{"category":"Ll","key":"1ED7","mappings":{"default":{"default":"latin small letter o with circumflex and tilde","alternative":"latin small letter o hat tilde","short":"o hat tilde"}}},{"category":"Ll","key":"1ED9","mappings":{"default":{"default":"latin small letter o with circumflex and dot below","alternative":"latin small letter o hat underdot","short":"o hat underdot"}}},{"category":"Ll","key":"1EDB","mappings":{"default":{"default":"latin small letter o with horn and acute","alternative":"latin small letter o acute prime","short":"o acute prime"}}},{"category":"Ll","key":"1EDD","mappings":{"default":{"default":"latin small letter o with horn and grave","alternative":"latin small letter o grave prime","short":"o grave prime"}}},{"category":"Ll","key":"1EDF","mappings":{"default":{"default":"latin small letter o with horn and hook above","alternative":"latin small letter o hook above prime","short":"o hook above prime"}}},{"category":"Ll","key":"1EE1","mappings":{"default":{"default":"latin small letter o with horn and tilde","alternative":"latin small letter o tilde prime","short":"o tilde prime"}}},{"category":"Ll","key":"1EE3","mappings":{"default":{"default":"latin small letter o with horn and dot below","alternative":"latin small letter o underdot prime","short":"o underdot prime"}}},{"category":"Ll","key":"1EE9","mappings":{"default":{"default":"latin small letter u with horn and acute","alternative":"latin small letter u acute prime","short":"u acute prime"}}},{"category":"Ll","key":"1EEB","mappings":{"default":{"default":"latin small letter u with horn and grave","alternative":"latin small letter u grave prime","short":"u grave prime"}}},{"category":"Ll","key":"1EED","mappings":{"default":{"default":"latin small letter u with horn and hook above","alternative":"latin small letter u hook above prime","short":"u hook above prime"}}},{"category":"Ll","key":"1EEF","mappings":{"default":{"default":"latin small letter u with horn and tilde","alternative":"latin small letter u tilde prime","short":"u tilde prime"}}},{"category":"Ll","key":"1EF1","mappings":{"default":{"default":"latin small letter u with horn and dot below","alternative":"latin small letter u underdot prime","short":"u underdot prime"}}}] diff --git a/assets/js/mathmaps/en/symbols/latin-lower-normal.js b/assets/js/mathmaps/en/symbols/latin-lower-normal.js new file mode 100644 index 0000000000000000000000000000000000000000..22eb17334afe245610a849042262b664e42eccea --- /dev/null +++ b/assets/js/mathmaps/en/symbols/latin-lower-normal.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"Ll","key":"0061","mappings":{"default":{"default":"latin small letter a","short":"a"}}},{"category":"Ll","key":"0062","mappings":{"default":{"default":"latin small letter b","short":"b"}}},{"category":"Ll","key":"0063","mappings":{"default":{"default":"latin small letter c","short":"c"}}},{"category":"Ll","key":"0064","mappings":{"default":{"default":"latin small letter d","short":"d"}}},{"category":"Ll","key":"0065","mappings":{"default":{"default":"latin small letter e","short":"e"}}},{"category":"Ll","key":"0066","mappings":{"default":{"default":"latin small letter f","short":"f"}}},{"category":"Ll","key":"0067","mappings":{"default":{"default":"latin small letter g","short":"g"}}},{"category":"Ll","key":"0068","mappings":{"default":{"default":"latin small letter h","short":"h"}}},{"category":"Ll","key":"0069","mappings":{"default":{"default":"latin small letter i","short":"i"}}},{"category":"Ll","key":"006A","mappings":{"default":{"default":"latin small letter j","short":"j"}}},{"category":"Ll","key":"006B","mappings":{"default":{"default":"latin small letter k","short":"k"}}},{"category":"Ll","key":"006C","mappings":{"default":{"default":"latin small letter l","short":"l"}}},{"category":"Ll","key":"006D","mappings":{"default":{"default":"latin small letter m","short":"m"}}},{"category":"Ll","key":"006E","mappings":{"default":{"default":"latin small letter n","short":"n"}}},{"category":"Ll","key":"006F","mappings":{"default":{"default":"latin small letter o","short":"o"}}},{"category":"Ll","key":"0070","mappings":{"default":{"default":"latin small letter p","short":"p"}}},{"category":"Ll","key":"0071","mappings":{"default":{"default":"latin small letter q","short":"q"}}},{"category":"Ll","key":"0072","mappings":{"default":{"default":"latin small letter r","short":"r"}}},{"category":"Ll","key":"0073","mappings":{"default":{"default":"latin small letter s","short":"s"}}},{"category":"Ll","key":"0074","mappings":{"default":{"default":"latin small letter t","short":"t"}}},{"category":"Ll","key":"0075","mappings":{"default":{"default":"latin small letter u","short":"u"}}},{"category":"Ll","key":"0076","mappings":{"default":{"default":"latin small letter v","short":"v"}}},{"category":"Ll","key":"0077","mappings":{"default":{"default":"latin small letter w","short":"w"}}},{"category":"Ll","key":"0078","mappings":{"default":{"default":"latin small letter x","short":"x"}}},{"category":"Ll","key":"0079","mappings":{"default":{"default":"latin small letter y","short":"y"}}},{"category":"Ll","key":"007A","mappings":{"default":{"default":"latin small letter z","short":"z"}}},{"category":"Ll","key":"FF41","mappings":{"default":{"default":"fullwidth latin small letter a","short":"a"}}},{"category":"Ll","key":"FF42","mappings":{"default":{"default":"fullwidth latin small letter b","short":"b"}}},{"category":"Ll","key":"FF43","mappings":{"default":{"default":"fullwidth latin small letter c","short":"c"}}},{"category":"Ll","key":"FF44","mappings":{"default":{"default":"fullwidth latin small letter d","short":"d"}}},{"category":"Ll","key":"FF45","mappings":{"default":{"default":"fullwidth latin small letter e","short":"e"}}},{"category":"Ll","key":"FF46","mappings":{"default":{"default":"fullwidth latin small letter f","short":"f"}}},{"category":"Ll","key":"FF47","mappings":{"default":{"default":"fullwidth latin small letter g","short":"g"}}},{"category":"Ll","key":"FF48","mappings":{"default":{"default":"fullwidth latin small letter h","short":"h"}}},{"category":"Ll","key":"FF49","mappings":{"default":{"default":"fullwidth latin small letter i","short":"i"}}},{"category":"Ll","key":"FF4A","mappings":{"default":{"default":"fullwidth latin small letter j","short":"j"}}},{"category":"Ll","key":"FF4B","mappings":{"default":{"default":"fullwidth latin small letter k","short":"k"}}},{"category":"Ll","key":"FF4C","mappings":{"default":{"default":"fullwidth latin small letter l","short":"l"}}},{"category":"Ll","key":"FF4D","mappings":{"default":{"default":"fullwidth latin small letter m","short":"m"}}},{"category":"Ll","key":"FF4E","mappings":{"default":{"default":"fullwidth latin small letter n","short":"n"}}},{"category":"Ll","key":"FF4F","mappings":{"default":{"default":"fullwidth latin small letter o","short":"o"}}},{"category":"Ll","key":"FF50","mappings":{"default":{"default":"fullwidth latin small letter p","short":"p"}}},{"category":"Ll","key":"FF51","mappings":{"default":{"default":"fullwidth latin small letter q","short":"q"}}},{"category":"Ll","key":"FF52","mappings":{"default":{"default":"fullwidth latin small letter r","short":"r"}}},{"category":"Ll","key":"FF53","mappings":{"default":{"default":"fullwidth latin small letter s","short":"s"}}},{"category":"Ll","key":"FF54","mappings":{"default":{"default":"fullwidth latin small letter t","short":"t"}}},{"category":"Ll","key":"FF55","mappings":{"default":{"default":"fullwidth latin small letter u","short":"u"}}},{"category":"Ll","key":"FF56","mappings":{"default":{"default":"fullwidth latin small letter v","short":"v"}}},{"category":"Ll","key":"FF57","mappings":{"default":{"default":"fullwidth latin small letter w","short":"w"}}},{"category":"Ll","key":"FF58","mappings":{"default":{"default":"fullwidth latin small letter x","short":"x"}}},{"category":"Ll","key":"FF59","mappings":{"default":{"default":"fullwidth latin small letter y","short":"y"}}},{"category":"Ll","key":"FF5A","mappings":{"default":{"default":"fullwidth latin small letter z","short":"z"}}}] diff --git a/assets/js/mathmaps/en/symbols/latin-lower-phonetic.js b/assets/js/mathmaps/en/symbols/latin-lower-phonetic.js new file mode 100644 index 0000000000000000000000000000000000000000..17e8e55b9d07ce1314eaa8114c11f586ea4c2f25 --- /dev/null +++ b/assets/js/mathmaps/en/symbols/latin-lower-phonetic.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"Ll","key":"00F8","mappings":{"default":{"default":"latin small letter o with stroke","alternative":"latin small letter o slash","short":"o with stroke"}}},{"category":"Ll","key":"0111","mappings":{"default":{"default":"latin small letter d with stroke","alternative":"latin small letter d bar","short":"d with stroke"}}},{"category":"Ll","key":"0127","mappings":{"default":{"default":"latin small letter h with stroke","alternative":"latin small letter h bar","short":"h with stroke"}}},{"category":"Ll","key":"0142","mappings":{"default":{"default":"latin small letter l with stroke","alternative":"latin small letter l slash","short":"l with stroke"}}},{"category":"Ll","key":"0167","mappings":{"default":{"default":"latin small letter t with stroke","alternative":"latin small letter t bar","short":"t with stroke"}}},{"category":"Ll","key":"0180","mappings":{"default":{"default":"latin small letter b with stroke","alternative":"latin small letter b bar","short":"b with stroke"}}},{"category":"Ll","key":"019B","mappings":{"default":{"default":"latin small letter lambda with stroke","alternative":"latin small letter barred lambda","short":"lambda with stroke"}}},{"category":"Ll","key":"01B6","mappings":{"default":{"default":"latin small letter z with stroke","alternative":"latin small letter z bar","short":"z with stroke"}}},{"category":"Ll","key":"01BE","mappings":{"default":{"default":"latin letter inverted glottal stop with stroke","alternative":"latin letter inverted glottal stop bar","short":"latin letter inverted glottal stop with stroke"}}},{"category":"Ll","key":"01E5","mappings":{"default":{"default":"latin small letter g with stroke","alternative":"latin small letter g bar","short":"g with stroke"}}},{"category":"Ll","key":"01FF","mappings":{"default":{"default":"latin small letter o with stroke and acute","short":"o with stroke and acute"}}},{"category":"Ll","key":"023C","mappings":{"default":{"default":"latin small letter c with stroke","short":"c with stroke"}}},{"category":"Ll","key":"0247","mappings":{"default":{"default":"latin small letter e with stroke","short":"e with stroke"}}},{"category":"Ll","key":"0249","mappings":{"default":{"default":"latin small letter j with stroke","short":"j with stroke"}}},{"category":"Ll","key":"024D","mappings":{"default":{"default":"latin small letter r with stroke","short":"r with stroke"}}},{"category":"Ll","key":"024F","mappings":{"default":{"default":"latin small letter y with stroke","short":"y with stroke"}}},{"category":"Ll","key":"025F","mappings":{"default":{"default":"latin small letter dotless j with stroke","alternative":"latin small letter dotless j bar","short":"dotless j with stroke"}}},{"category":"Ll","key":"0268","mappings":{"default":{"default":"latin small letter i with stroke","alternative":"latin small letter barred i","short":"i with stroke"}}},{"category":"Ll","key":"0284","mappings":{"default":{"default":"latin small letter dotless j with stroke and hook","alternative":"latin small letter dotless j bar hook","short":"dotless j with stroke and hook"}}},{"category":"Ll","key":"02A1","mappings":{"default":{"default":"latin letter glottal stop with stroke","alternative":"latin letter glottal stop bar","short":"latin letter glottal stop with stroke"}}},{"category":"Ll","key":"02A2","mappings":{"default":{"default":"latin letter reversed glottal stop with stroke","alternative":"latin letter reversed glottal stop bar","short":"latin letter reversed glottal stop with stroke"}}},{"category":"Ll","key":"1D13","mappings":{"default":{"default":"latin small letter sideways o with stroke","short":"sideways o with stroke"}}},{"category":"Ll","key":"1D7C","mappings":{"default":{"default":"latin small letter iota with stroke","short":"iota with stroke"}}},{"category":"Ll","key":"1D7D","mappings":{"default":{"default":"latin small letter p with stroke","short":"p with stroke"}}},{"category":"Ll","key":"1D7F","mappings":{"default":{"default":"latin small letter upsilon with stroke","short":"upsilon with stroke"}}},{"category":"Ll","key":"1E9C","mappings":{"default":{"default":"latin small letter long s with diagonal stroke","short":"long s with diagonal stroke"}}},{"category":"Ll","key":"1E9D","mappings":{"default":{"default":"latin small letter long s with high stroke","short":"long s with high stroke"}}},{"category":"Ll","key":"018D","mappings":{"default":{"default":"latin small letter turned delta","short":"turned delta"}}},{"category":"Ll","key":"1E9B","mappings":{"default":{"default":"latin small letter long s with dot above","short":"long s with dot above"}}},{"category":"Ll","key":"1E9F","mappings":{"default":{"default":"latin small letter delta","short":"delta"}}},{"category":"Ll","key":"0138","mappings":{"default":{"default":"latin small letter kra","short":"kra"}}},{"category":"Ll","key":"017F","mappings":{"default":{"default":"latin small letter long s","short":"long s"}}},{"category":"Ll","key":"0183","mappings":{"default":{"default":"latin small letter b with topbar","alternative":"latin small letter b topbar","short":"b with topbar"}}},{"category":"Ll","key":"0185","mappings":{"default":{"default":"latin small letter tone six","short":"tone six"}}},{"category":"Ll","key":"0188","mappings":{"default":{"default":"latin small letter c with hook","alternative":"latin small letter c hook","short":"c with hook"}}},{"category":"Ll","key":"018C","mappings":{"default":{"default":"latin small letter d with topbar","alternative":"latin small letter d topbar","short":"d with topbar"}}},{"category":"Ll","key":"0192","mappings":{"default":{"default":"latin small letter f with hook","alternative":"latin small letter script f","short":"f with hook"}}},{"category":"Ll","key":"0195","mappings":{"default":{"default":"latin small letter hv","alternative":"latin small letter h v","short":"hv"}}},{"category":"Ll","key":"0199","mappings":{"default":{"default":"latin small letter k with hook","alternative":"latin small letter k hook","short":"k with hook"}}},{"category":"Ll","key":"019A","mappings":{"default":{"default":"latin small letter l with bar","alternative":"latin small letter barred l","short":"l with bar"}}},{"category":"Ll","key":"019E","mappings":{"default":{"default":"latin small letter n with long right leg","short":"n with long right leg"}}},{"category":"Ll","key":"01A1","mappings":{"default":{"default":"latin small letter o with horn","alternative":"latin small letter o horn","short":"o with horn"}}},{"category":"Ll","key":"01A3","mappings":{"default":{"default":"latin small letter oi","alternative":"latin small letter o i","short":"oi"}}},{"category":"Ll","key":"01A5","mappings":{"default":{"default":"latin small letter p with hook","alternative":"latin small letter p hook","short":"p with hook"}}},{"category":"Ll","key":"01A8","mappings":{"default":{"default":"latin small letter tone two","short":"tone two"}}},{"category":"Ll","key":"01AA","mappings":{"default":{"default":"latin letter reversed esh loop","short":"latin letter reversed esh loop"}}},{"category":"Ll","key":"01AB","mappings":{"default":{"default":"latin small letter t with palatal hook","alternative":"latin small letter t palatal hook","short":"t with palatal hook"}}},{"category":"Ll","key":"01AD","mappings":{"default":{"default":"latin small letter t with hook","alternative":"latin small letter t hook","short":"t with hook"}}},{"category":"Ll","key":"01B0","mappings":{"default":{"default":"latin small letter u with horn","alternative":"latin small letter u horn","short":"u with horn"}}},{"category":"Ll","key":"01B4","mappings":{"default":{"default":"latin small letter y with hook","alternative":"latin small letter y hook","short":"y with hook"}}},{"category":"Ll","key":"01B9","mappings":{"default":{"default":"latin small letter ezh reversed","alternative":"latin small letter reversed yogh","short":"ezh reversed"}}},{"category":"Ll","key":"01BA","mappings":{"default":{"default":"latin small letter ezh with tail","alternative":"latin small letter yogh with tail","short":"ezh with tail"}}},{"category":"Ll","key":"01BD","mappings":{"default":{"default":"latin small letter tone five","short":"tone five"}}},{"category":"Ll","key":"01BF","mappings":{"default":{"default":"latin letter wynn","short":"latin letter wynn"}}},{"category":"Ll","key":"01C6","mappings":{"default":{"default":"latin small letter dz with caron","alternative":"latin small letter d z hacek","short":"dz with caron"}}},{"category":"Ll","key":"01C9","mappings":{"default":{"default":"latin small letter lj","alternative":"latin small letter l j","short":"lj"}}},{"category":"Ll","key":"01CC","mappings":{"default":{"default":"latin small letter nj","alternative":"latin small letter n j","short":"nj"}}},{"category":"Ll","key":"01E3","mappings":{"default":{"default":"latin small letter ae with macron","alternative":"latin small letter a e macron","short":"ae with macron"}}},{"category":"Ll","key":"01EF","mappings":{"default":{"default":"latin small letter ezh with caron","alternative":"latin small letter yogh hacek","short":"ezh with caron"}}},{"category":"Ll","key":"01F3","mappings":{"default":{"default":"latin small letter dz","short":"dz"}}},{"category":"Ll","key":"021D","mappings":{"default":{"default":"latin small letter yogh","short":"yogh"}}},{"category":"Ll","key":"026E","mappings":{"default":{"default":"latin small letter lezh","alternative":"latin small letter l yogh","short":"lezh"}}},{"category":"Ll","key":"0292","mappings":{"default":{"default":"latin small letter ezh","alternative":"latin small letter yogh","short":"ezh"}}},{"category":"Ll","key":"0293","mappings":{"default":{"default":"latin small letter ezh with curl","alternative":"latin small letter yogh curl","short":"ezh with curl"}}},{"category":"Ll","key":"02A4","mappings":{"default":{"default":"latin small letter dezh digraph","alternative":"latin small letter d yogh","short":"dezh digraph"}}},{"category":"Ll","key":"01DD","mappings":{"default":{"default":"latin small letter turned e","short":"turned e"}}},{"category":"Ll","key":"01FD","mappings":{"default":{"default":"latin small letter ae with acute","short":"ae with acute"}}},{"category":"Ll","key":"021D","mappings":{"default":{"default":"latin small letter yogh","short":"yogh"}}},{"category":"Ll","key":"0221","mappings":{"default":{"default":"latin small letter d with curl","short":"d with curl"}}},{"category":"Ll","key":"0223","mappings":{"default":{"default":"latin small letter ou","short":"ou"}}},{"category":"Ll","key":"0225","mappings":{"default":{"default":"latin small letter z with hook","short":"z with hook"}}},{"category":"Ll","key":"0234","mappings":{"default":{"default":"latin small letter l with curl","short":"l with curl"}}},{"category":"Ll","key":"0235","mappings":{"default":{"default":"latin small letter n with curl","short":"n with curl"}}},{"category":"Ll","key":"0236","mappings":{"default":{"default":"latin small letter t with curl","short":"t with curl"}}},{"category":"Ll","key":"0238","mappings":{"default":{"default":"latin small letter db digraph","short":"db digraph"}}},{"category":"Ll","key":"0239","mappings":{"default":{"default":"latin small letter qp digraph","short":"qp digraph"}}},{"category":"Ll","key":"023F","mappings":{"default":{"default":"latin small letter s with swash tail","short":"s with swash tail"}}},{"category":"Ll","key":"0240","mappings":{"default":{"default":"latin small letter z with swash tail","short":"z with swash tail"}}},{"category":"Ll","key":"0242","mappings":{"default":{"default":"latin small letter glottal stop","short":"glottal stop"}}},{"category":"Ll","key":"024B","mappings":{"default":{"default":"latin small letter q with hook tail","short":"q with hook tail"}}},{"category":"Ll","key":"0250","mappings":{"default":{"default":"latin small letter turned a","short":"turned a"}}},{"category":"Ll","key":"0251","mappings":{"default":{"default":"latin small letter alpha","alternative":"latin small letter script a","short":"alpha"}}},{"category":"Ll","key":"0252","mappings":{"default":{"default":"latin small letter turned alpha","alternative":"latin small letter turned script a","short":"turned alpha"}}},{"category":"Ll","key":"0253","mappings":{"default":{"default":"latin small letter b with hook","alternative":"latin small letter b hook","short":"b with hook"}}},{"category":"Ll","key":"0254","mappings":{"default":{"default":"latin small letter open o","short":"open o"}}},{"category":"Ll","key":"0255","mappings":{"default":{"default":"latin small letter c with curl","alternative":"latin small letter c curl","short":"c with curl"}}},{"category":"Ll","key":"0256","mappings":{"default":{"default":"latin small letter d with tail","alternative":"latin small letter d retroflex hook","short":"d with tail"}}},{"category":"Ll","key":"0257","mappings":{"default":{"default":"latin small letter d with hook","alternative":"latin small letter d hook","short":"d with hook"}}},{"category":"Ll","key":"0258","mappings":{"default":{"default":"latin small letter reversed e","short":"reversed e"}}},{"category":"Ll","key":"0259","mappings":{"default":{"default":"latin small letter schwa","short":"schwa"}}},{"category":"Ll","key":"025A","mappings":{"default":{"default":"latin small letter schwa with hook","alternative":"latin small letter schwa hook","short":"schwa with hook"}}},{"category":"Ll","key":"025B","mappings":{"default":{"default":"latin small letter open e","alternative":"latin small letter epsilon","short":"open e"}}},{"category":"Ll","key":"025C","mappings":{"default":{"default":"latin small letter reversed open e","alternative":"latin small letter reversed epsilon","short":"reversed open e"}}},{"category":"Ll","key":"025D","mappings":{"default":{"default":"latin small letter reversed open e with hook","alternative":"latin small letter reversed epsilon hook","short":"reversed open e with hook"}}},{"category":"Ll","key":"025E","mappings":{"default":{"default":"latin small letter closed reversed open e","alternative":"latin small letter closed reversed epsilon","short":"closed reversed open e"}}},{"category":"Ll","key":"0260","mappings":{"default":{"default":"latin small letter g with hook","alternative":"latin small letter g hook","short":"g with hook"}}},{"category":"Ll","key":"0261","mappings":{"default":{"default":"latin small letter script g","short":"script g"}}},{"category":"Ll","key":"0263","mappings":{"default":{"default":"latin small letter gamma","short":"gamma"}}},{"category":"Ll","key":"0264","mappings":{"default":{"default":"latin small letter rams horn","alternative":"latin small letter baby gamma","short":"rams horn"}}},{"category":"Ll","key":"0265","mappings":{"default":{"default":"latin small letter turned h","short":"turned h"}}},{"category":"Ll","key":"0266","mappings":{"default":{"default":"latin small letter h with hook","alternative":"latin small letter h hook","short":"h with hook"}}},{"category":"Ll","key":"0267","mappings":{"default":{"default":"latin small letter heng with hook","alternative":"latin small letter heng hook","short":"heng with hook"}}},{"category":"Ll","key":"0269","mappings":{"default":{"default":"latin small letter iota","short":"iota"}}},{"category":"Ll","key":"026B","mappings":{"default":{"default":"latin small letter l with middle tilde","short":"l with middle tilde"}}},{"category":"Ll","key":"026C","mappings":{"default":{"default":"latin small letter l with belt","alternative":"latin small letter l belt","short":"l with belt"}}},{"category":"Ll","key":"026D","mappings":{"default":{"default":"latin small letter l with retroflex hook","alternative":"latin small letter l retroflex hook","short":"l with retroflex hook"}}},{"category":"Ll","key":"026E","mappings":{"default":{"default":"latin small letter lezh","alternative":"latin small letter l yogh","short":"lezh"}}},{"category":"Ll","key":"026F","mappings":{"default":{"default":"latin small letter turned m","short":"turned m"}}},{"category":"Ll","key":"0270","mappings":{"default":{"default":"latin small letter turned m with long leg","short":"turned m with long leg"}}},{"category":"Ll","key":"0271","mappings":{"default":{"default":"latin small letter m with hook","alternative":"latin small letter m hook","short":"m with hook"}}},{"category":"Ll","key":"0272","mappings":{"default":{"default":"latin small letter n with left hook","alternative":"latin small letter n hook","short":"n with left hook"}}},{"category":"Ll","key":"0273","mappings":{"default":{"default":"latin small letter n with retroflex hook","alternative":"latin small letter n retroflex hook","short":"n with retroflex hook"}}},{"category":"Ll","key":"0275","mappings":{"default":{"default":"latin small letter barred o","short":"barred o"}}},{"category":"Ll","key":"0277","mappings":{"default":{"default":"latin small letter closed omega","short":"closed omega"}}},{"category":"Ll","key":"0278","mappings":{"default":{"default":"latin small letter phi","short":"phi"}}},{"category":"Ll","key":"0279","mappings":{"default":{"default":"latin small letter turned r","short":"turned r"}}},{"category":"Ll","key":"027A","mappings":{"default":{"default":"latin small letter turned r with long leg","short":"turned r with long leg"}}},{"category":"Ll","key":"027B","mappings":{"default":{"default":"latin small letter turned r with hook","alternative":"latin small letter turned r hook","short":"turned r with hook"}}},{"category":"Ll","key":"027C","mappings":{"default":{"default":"latin small letter r with long leg","short":"r with long leg"}}},{"category":"Ll","key":"027D","mappings":{"default":{"default":"latin small letter r with tail","alternative":"latin small letter r hook","short":"r with tail"}}},{"category":"Ll","key":"027E","mappings":{"default":{"default":"latin small letter r with fishhook","alternative":"latin small letter fishhook r","short":"r with fishhook"}}},{"category":"Ll","key":"027F","mappings":{"default":{"default":"latin small letter reversed r with fishhook","alternative":"latin small letter reversed fishhook r","short":"reversed r with fishhook"}}},{"category":"Ll","key":"0282","mappings":{"default":{"default":"latin small letter s with hook","alternative":"latin small letter s hook","short":"s with hook"}}},{"category":"Ll","key":"0283","mappings":{"default":{"default":"latin small letter esh","short":"esh"}}},{"category":"Ll","key":"0285","mappings":{"default":{"default":"latin small letter squat reversed esh","short":"squat reversed esh"}}},{"category":"Ll","key":"0286","mappings":{"default":{"default":"latin small letter esh with curl","alternative":"latin small letter esh curl","short":"esh with curl"}}},{"category":"Ll","key":"0287","mappings":{"default":{"default":"latin small letter turned t","short":"turned t"}}},{"category":"Ll","key":"0288","mappings":{"default":{"default":"latin small letter t with retroflex hook","alternative":"latin small letter t retroflex hook","short":"t with retroflex hook"}}},{"category":"Ll","key":"0289","mappings":{"default":{"default":"latin small letter u bar","short":"u bar"}}},{"category":"Ll","key":"028A","mappings":{"default":{"default":"latin small letter upsilon","short":"upsilon"}}},{"category":"Ll","key":"028B","mappings":{"default":{"default":"latin small letter v with hook","alternative":"latin small letter script v","short":"v with hook"}}},{"category":"Ll","key":"028C","mappings":{"default":{"default":"latin small letter turned v","short":"turned v"}}},{"category":"Ll","key":"028D","mappings":{"default":{"default":"latin small letter turned w","short":"turned w"}}},{"category":"Ll","key":"028E","mappings":{"default":{"default":"latin small letter turned y","short":"turned y"}}},{"category":"Ll","key":"0290","mappings":{"default":{"default":"latin small letter z with retroflex hook","alternative":"latin small letter z retroflex hook","short":"z with retroflex hook"}}},{"category":"Ll","key":"0291","mappings":{"default":{"default":"latin small letter z with curl","alternative":"latin small letter z curl","short":"z with curl"}}},{"category":"Ll","key":"0292","mappings":{"default":{"default":"latin small letter ezh","alternative":"latin small letter yogh","short":"ezh"}}},{"category":"Ll","key":"0293","mappings":{"default":{"default":"latin small letter ezh with curl","alternative":"latin small letter yogh curl","short":"ezh with curl"}}},{"category":"Ll","key":"0295","mappings":{"default":{"default":"latin letter pharyngeal voiced fricative","alternative":"latin letter reversed glottal stop","short":"latin letter pharyngeal voiced fricative"}}},{"category":"Ll","key":"0296","mappings":{"default":{"default":"latin letter inverted glottal stop","short":"latin letter inverted glottal stop"}}},{"category":"Ll","key":"0297","mappings":{"default":{"default":"latin letter stretched c","short":"latin letter stretched c"}}},{"category":"Ll","key":"0298","mappings":{"default":{"default":"latin letter bilabial click","alternative":"latin letter bullseye","short":"latin letter bilabial click"}}},{"category":"Ll","key":"029A","mappings":{"default":{"default":"latin small letter closed open e","alternative":"latin small letter closed epsilon","short":"closed open e"}}},{"category":"Ll","key":"029E","mappings":{"default":{"default":"latin small letter turned k","short":"turned k"}}},{"category":"Ll","key":"02A0","mappings":{"default":{"default":"latin small letter q with hook","alternative":"latin small letter q hook","short":"q with hook"}}},{"category":"Ll","key":"02A3","mappings":{"default":{"default":"latin small letter dz digraph","alternative":"latin small letter d z","short":"dz digraph"}}},{"category":"Ll","key":"02A4","mappings":{"default":{"default":"latin small letter dezh digraph","alternative":"latin small letter d yogh","short":"dezh digraph"}}},{"category":"Ll","key":"02A5","mappings":{"default":{"default":"latin small letter dz digraph with curl","alternative":"latin small letter d z curl","short":"dz digraph with curl"}}},{"category":"Ll","key":"02A6","mappings":{"default":{"default":"latin small letter ts digraph","alternative":"latin small letter t s","short":"ts digraph"}}},{"category":"Ll","key":"02A7","mappings":{"default":{"default":"latin small letter tesh digraph","alternative":"latin small letter t esh","short":"tesh digraph"}}},{"category":"Ll","key":"02A8","mappings":{"default":{"default":"latin small letter tc digraph with curl","alternative":"latin small letter t c curl","short":"tc digraph with curl"}}},{"category":"Ll","key":"02A9","mappings":{"default":{"default":"latin small letter feng digraph","short":"feng digraph"}}},{"category":"Ll","key":"02AA","mappings":{"default":{"default":"latin small letter ls digraph","short":"ls digraph"}}},{"category":"Ll","key":"02AB","mappings":{"default":{"default":"latin small letter lz digraph","short":"lz digraph"}}},{"category":"Ll","key":"02AC","mappings":{"default":{"default":"latin letter bilabial percussive","short":"latin letter bilabial percussive"}}},{"category":"Ll","key":"02AD","mappings":{"default":{"default":"latin letter bidental percussive","short":"latin letter bidental percussive"}}},{"category":"Ll","key":"02AE","mappings":{"default":{"default":"latin small letter turned h with fishhook","short":"turned h with fishhook"}}},{"category":"Ll","key":"02AF","mappings":{"default":{"default":"latin small letter turned h with fishhook and tail","short":"turned h with fishhook and tail"}}},{"category":"Ll","key":"1D02","mappings":{"default":{"default":"latin small letter turned ae","short":"turned ae"}}},{"category":"Ll","key":"1D08","mappings":{"default":{"default":"latin small letter turned open e","short":"turned open e"}}},{"category":"Ll","key":"1D09","mappings":{"default":{"default":"latin small letter turned i","short":"turned i"}}},{"category":"Ll","key":"1D11","mappings":{"default":{"default":"latin small letter sideways o","short":"sideways o"}}},{"category":"Ll","key":"1D12","mappings":{"default":{"default":"latin small letter sideways open o","short":"sideways open o"}}},{"category":"Ll","key":"1D14","mappings":{"default":{"default":"latin small letter turned oe","short":"turned oe"}}},{"category":"Ll","key":"1D16","mappings":{"default":{"default":"latin small letter top half o","short":"top half o"}}},{"category":"Ll","key":"1D17","mappings":{"default":{"default":"latin small letter bottom half o","short":"bottom half o"}}},{"category":"Ll","key":"1D1D","mappings":{"default":{"default":"latin small letter sideways u","short":"sideways u"}}},{"category":"Ll","key":"1D1E","mappings":{"default":{"default":"latin small letter sideways diaeresized u","short":"sideways diaeresized u"}}},{"category":"Ll","key":"1D1F","mappings":{"default":{"default":"latin small letter sideways turned m","short":"sideways turned m"}}},{"category":"Ll","key":"1D24","mappings":{"default":{"default":"latin letter voiced laryngeal spirant","short":"latin letter voiced laryngeal spirant"}}},{"category":"Ll","key":"1D25","mappings":{"default":{"default":"latin letter ain","short":"latin letter ain"}}},{"category":"Ll","key":"1D6B","mappings":{"default":{"default":"latin small letter ue","short":"ue"}}},{"category":"Ll","key":"1D6C","mappings":{"default":{"default":"latin small letter b with middle tilde","short":"b with middle tilde"}}},{"category":"Ll","key":"1D6D","mappings":{"default":{"default":"latin small letter d with middle tilde","short":"d with middle tilde"}}},{"category":"Ll","key":"1D6E","mappings":{"default":{"default":"latin small letter f with middle tilde","short":"f with middle tilde"}}},{"category":"Ll","key":"1D6F","mappings":{"default":{"default":"latin small letter m with middle tilde","short":"m with middle tilde"}}},{"category":"Ll","key":"1D70","mappings":{"default":{"default":"latin small letter n with middle tilde","short":"n with middle tilde"}}},{"category":"Ll","key":"1D71","mappings":{"default":{"default":"latin small letter p with middle tilde","short":"p with middle tilde"}}},{"category":"Ll","key":"1D72","mappings":{"default":{"default":"latin small letter r with middle tilde","short":"r with middle tilde"}}},{"category":"Ll","key":"1D73","mappings":{"default":{"default":"latin small letter r with fishhook and middle tilde","short":"r with fishhook and middle tilde"}}},{"category":"Ll","key":"1D74","mappings":{"default":{"default":"latin small letter s with middle tilde","short":"s with middle tilde"}}},{"category":"Ll","key":"1D75","mappings":{"default":{"default":"latin small letter t with middle tilde","short":"t with middle tilde"}}},{"category":"Ll","key":"1D76","mappings":{"default":{"default":"latin small letter z with middle tilde","short":"z with middle tilde"}}},{"category":"Ll","key":"1D77","mappings":{"default":{"default":"latin small letter turned g","short":"turned g"}}},{"category":"Ll","key":"1D79","mappings":{"default":{"default":"latin small letter insular g","short":"insular g"}}},{"category":"Ll","key":"1D7A","mappings":{"default":{"default":"latin small letter th with strikethrough","short":"th with strikethrough"}}},{"category":"Ll","key":"1D80","mappings":{"default":{"default":"latin small letter b with palatal hook","short":"b with palatal hook"}}},{"category":"Ll","key":"1D81","mappings":{"default":{"default":"latin small letter d with palatal hook","short":"d with palatal hook"}}},{"category":"Ll","key":"1D82","mappings":{"default":{"default":"latin small letter f with palatal hook","short":"f with palatal hook"}}},{"category":"Ll","key":"1D83","mappings":{"default":{"default":"latin small letter g with palatal hook","short":"g with palatal hook"}}},{"category":"Ll","key":"1D84","mappings":{"default":{"default":"latin small letter k with palatal hook","short":"k with palatal hook"}}},{"category":"Ll","key":"1D85","mappings":{"default":{"default":"latin small letter l with palatal hook","short":"l with palatal hook"}}},{"category":"Ll","key":"1D86","mappings":{"default":{"default":"latin small letter m with palatal hook","short":"m with palatal hook"}}},{"category":"Ll","key":"1D87","mappings":{"default":{"default":"latin small letter n with palatal hook","short":"n with palatal hook"}}},{"category":"Ll","key":"1D88","mappings":{"default":{"default":"latin small letter p with palatal hook","short":"p with palatal hook"}}},{"category":"Ll","key":"1D89","mappings":{"default":{"default":"latin small letter r with palatal hook","short":"r with palatal hook"}}},{"category":"Ll","key":"1D8A","mappings":{"default":{"default":"latin small letter s with palatal hook","short":"s with palatal hook"}}},{"category":"Ll","key":"1D8B","mappings":{"default":{"default":"latin small letter esh with palatal hook","short":"esh with palatal hook"}}},{"category":"Ll","key":"1D8C","mappings":{"default":{"default":"latin small letter v with palatal hook","short":"v with palatal hook"}}},{"category":"Ll","key":"1D8D","mappings":{"default":{"default":"latin small letter x with palatal hook","short":"x with palatal hook"}}},{"category":"Ll","key":"1D8E","mappings":{"default":{"default":"latin small letter z with palatal hook","short":"z with palatal hook"}}},{"category":"Ll","key":"1D8F","mappings":{"default":{"default":"latin small letter a with retroflex hook","short":"a with retroflex hook"}}},{"category":"Ll","key":"1D90","mappings":{"default":{"default":"latin small letter alpha with retroflex hook","short":"alpha with retroflex hook"}}},{"category":"Ll","key":"1D91","mappings":{"default":{"default":"latin small letter d with hook and tail","short":"d with hook and tail"}}},{"category":"Ll","key":"1D92","mappings":{"default":{"default":"latin small letter e with retroflex hook","short":"e with retroflex hook"}}},{"category":"Ll","key":"1D93","mappings":{"default":{"default":"latin small letter open e with retroflex hook","short":"open e with retroflex hook"}}},{"category":"Ll","key":"1D94","mappings":{"default":{"default":"latin small letter reversed open e with retroflex hook","short":"reversed open e with retroflex hook"}}},{"category":"Ll","key":"1D95","mappings":{"default":{"default":"latin small letter schwa with retroflex hook","short":"schwa with retroflex hook"}}},{"category":"Ll","key":"1D96","mappings":{"default":{"default":"latin small letter i with retroflex hook","short":"i with retroflex hook"}}},{"category":"Ll","key":"1D97","mappings":{"default":{"default":"latin small letter open o with retroflex hook","short":"open o with retroflex hook"}}},{"category":"Ll","key":"1D98","mappings":{"default":{"default":"latin small letter esh with retroflex hook","short":"esh with retroflex hook"}}},{"category":"Ll","key":"1D99","mappings":{"default":{"default":"latin small letter u with retroflex hook","short":"u with retroflex hook"}}},{"category":"Ll","key":"1D9A","mappings":{"default":{"default":"latin small letter ezh with retroflex hook","short":"ezh with retroflex hook"}}},{"category":"Ll","key":"0149","mappings":{"default":{"default":"latin small letter n preceded by apostrophe","alternative":"latin small letter apostrophe n","short":"n preceded by apostrophe"}}},{"category":"Ll","key":"014B","mappings":{"default":{"default":"latin small letter eng","short":"eng"}}}] diff --git a/assets/js/mathmaps/en/symbols/latin-lower-single-accent.js b/assets/js/mathmaps/en/symbols/latin-lower-single-accent.js new file mode 100644 index 0000000000000000000000000000000000000000..2630b67758516747bc0cd2a42c54528241165e2f --- /dev/null +++ b/assets/js/mathmaps/en/symbols/latin-lower-single-accent.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"Ll","key":"00E0","mappings":{"default":{"default":"latin small letter a with grave","alternative":"latin small letter a grave","short":"a grave"},"mathspeak":{"default":"modifying above a with grave","brief":"mod above a with grave","sbrief":"mod above a with grave"}}},{"category":"Ll","key":"00E1","mappings":{"default":{"default":"latin small letter a with acute","alternative":"latin small letter a acute","short":"a acute"},"mathspeak":{"default":"modifying above a with acute","brief":"mod above a with acute","sbrief":"mod above a with acute"}}},{"category":"Ll","key":"00E2","mappings":{"default":{"default":"latin small letter a with circumflex","alternative":"latin small letter a hat","short":"a hat"},"mathspeak":{"default":"modifying above a with caret","brief":"mod above a with caret","sbrief":"mod above a with caret"}}},{"category":"Ll","key":"00E3","mappings":{"default":{"default":"latin small letter a with tilde","alternative":"latin small letter a tilde","short":"a tilde"},"mathspeak":{"default":"a overtilde","brief":"a overtilde","sbrief":"a overtilde"}}},{"category":"Ll","key":"00E4","mappings":{"default":{"default":"latin small letter a with diaeresis","alternative":"latin small letter a double overdot","short":"a double overdot"},"mathspeak":{"default":"modifying above a with double dot","brief":"mod above a with double dot","sbrief":"mod above a with double dot"}}},{"category":"Ll","key":"00E5","mappings":{"default":{"default":"latin small letter a with ring above","alternative":"latin small letter a ring","short":"a ring"},"mathspeak":{"default":"modifying above a with ring","brief":"mod above a with ring","sbrief":"mod above a with ring"}}},{"category":"Ll","key":"00E7","mappings":{"default":{"default":"latin small letter c with cedilla","alternative":"latin small letter c cedilla","short":"c cedilla"},"mathspeak":{"default":"modifying above c with cedilla","brief":"mod above c with cedilla","sbrief":"mod above c with cedilla"}}},{"category":"Ll","key":"00E8","mappings":{"default":{"default":"latin small letter e with grave","alternative":"latin small letter e grave","short":"e grave"},"mathspeak":{"default":"modifying above e with grave","brief":"mod above e with grave","sbrief":"mod above e with grave"}}},{"category":"Ll","key":"00E9","mappings":{"default":{"default":"latin small letter e with acute","alternative":"latin small letter e acute","short":"e acute"},"mathspeak":{"default":"modifying above e with acute","brief":"mod above e with acute","sbrief":"mod above e with acute"}}},{"category":"Ll","key":"00EA","mappings":{"default":{"default":"latin small letter e with circumflex","alternative":"latin small letter e hat","short":"e hat"},"mathspeak":{"default":"modifying above e with caret","brief":"mod above e with caret","sbrief":"mod above e with caret"}}},{"category":"Ll","key":"00EB","mappings":{"default":{"default":"latin small letter e with diaeresis","alternative":"latin small letter e double overdot","short":"e double overdot"},"mathspeak":{"default":"modifying above e with double dot","brief":"mod above e with double dot","sbrief":"mod above e with double dot"}}},{"category":"Ll","key":"00EC","mappings":{"default":{"default":"latin small letter i with grave","alternative":"latin small letter i grave","short":"i grave"},"mathspeak":{"default":"modifying above i with grave","brief":"mod above i with grave","sbrief":"mod above i with grave"}}},{"category":"Ll","key":"00ED","mappings":{"default":{"default":"latin small letter i with acute","alternative":"latin small letter i acute","short":"i acute"},"mathspeak":{"default":"modifying above i with acute","brief":"mod above i with acute","sbrief":"mod above i with acute"}}},{"category":"Ll","key":"00EE","mappings":{"default":{"default":"latin small letter i with circumflex","alternative":"latin small letter i hat","short":"i hat"},"mathspeak":{"default":"modifying above i with caret","brief":"mod above i with caret","sbrief":"mod above i with caret"}}},{"category":"Ll","key":"00EF","mappings":{"default":{"default":"latin small letter i with diaeresis","alternative":"latin small letter i double overdot","short":"i double overdot"},"mathspeak":{"default":"modifying above i with double dot","brief":"mod above i with double dot","sbrief":"mod above i with double dot"}}},{"category":"Ll","key":"00F1","mappings":{"default":{"default":"latin small letter n with tilde","alternative":"latin small letter n tilde","short":"n tilde"},"mathspeak":{"default":"n overtilde","brief":"n overtilde","sbrief":"n overtilde"}}},{"category":"Ll","key":"00F2","mappings":{"default":{"default":"latin small letter o with grave","alternative":"latin small letter o grave","short":"o grave"},"mathspeak":{"default":"modifying above o with grave","brief":"mod above o with grave","sbrief":"mod above o with grave"}}},{"category":"Ll","key":"00F3","mappings":{"default":{"default":"latin small letter o with acute","alternative":"latin small letter o acute","short":"o acute"},"mathspeak":{"default":"modifying above o with acute","brief":"mod above o with acute","sbrief":"mod above o with acute"}}},{"category":"Ll","key":"00F4","mappings":{"default":{"default":"latin small letter o with circumflex","alternative":"latin small letter o hat","short":"o hat"},"mathspeak":{"default":"modifying above o with caret","brief":"mod above o with caret","sbrief":"mod above o with caret"}}},{"category":"Ll","key":"00F5","mappings":{"default":{"default":"latin small letter o with tilde","alternative":"latin small letter o tilde","short":"o tilde"},"mathspeak":{"default":"o overtilde","brief":"o overtilde","sbrief":"o overtilde"}}},{"category":"Ll","key":"00F6","mappings":{"default":{"default":"latin small letter o with diaeresis","alternative":"latin small letter o double overdot","short":"o double overdot"},"mathspeak":{"default":"modifying above o with double dot","brief":"mod above o with double dot","sbrief":"mod above o with double dot"}}},{"category":"Ll","key":"00F9","mappings":{"default":{"default":"latin small letter u with grave","alternative":"latin small letter u grave","short":"u grave"},"mathspeak":{"default":"modifying above u with grave","brief":"mod above u with grave","sbrief":"mod above u with grave"}}},{"category":"Ll","key":"00FA","mappings":{"default":{"default":"latin small letter u with acute","alternative":"latin small letter u acute","short":"u acute"},"mathspeak":{"default":"modifying above u with acute","brief":"mod above u with acute","sbrief":"mod above u with acute"}}},{"category":"Ll","key":"00FB","mappings":{"default":{"default":"latin small letter u with circumflex","alternative":"latin small letter u hat","short":"u hat"},"mathspeak":{"default":"modifying above u with caret","brief":"mod above u with caret","sbrief":"mod above u with caret"}}},{"category":"Ll","key":"00FC","mappings":{"default":{"default":"latin small letter u with diaeresis","alternative":"latin small letter u double overdot","short":"u double overdot"},"mathspeak":{"default":"modifying above u with double dot","brief":"mod above u with double dot","sbrief":"mod above u with double dot"}}},{"category":"Ll","key":"00FD","mappings":{"default":{"default":"latin small letter y with acute","alternative":"latin small letter y acute","short":"y acute"},"mathspeak":{"default":"modifying above y with acute","brief":"mod above y with acute","sbrief":"mod above y with acute"}}},{"category":"Ll","key":"00FF","mappings":{"default":{"default":"latin small letter y with diaeresis","alternative":"latin small letter y double overdot","short":"y double overdot"},"mathspeak":{"default":"modifying above y with double dot","brief":"mod above y with double dot","sbrief":"mod above y with double dot"}}},{"category":"Ll","key":"0101","mappings":{"default":{"default":"latin small letter a with macron","alternative":"latin small letter a overbar","short":"a overbar"},"mathspeak":{"default":"a overbar","brief":"a overbar","sbrief":"a overbar"}}},{"category":"Ll","key":"0103","mappings":{"default":{"default":"latin small letter a with breve","alternative":"latin small letter a breve","short":"a breve"},"mathspeak":{"default":"modifying above a with breve","brief":"mod above a with breve","sbrief":"mod above a with breve"}}},{"category":"Ll","key":"0105","mappings":{"default":{"default":"latin small letter a with ogonek","alternative":"latin small letter a ogonek","short":"a ogonek"},"mathspeak":{"default":"modifying above a with ogonek","brief":"mod above a with ogonek","sbrief":"mod above a with ogonek"}}},{"category":"Ll","key":"0107","mappings":{"default":{"default":"latin small letter c with acute","alternative":"latin small letter c acute","short":"c acute"},"mathspeak":{"default":"modifying above c with acute","brief":"mod above c with acute","sbrief":"mod above c with acute"}}},{"category":"Ll","key":"0109","mappings":{"default":{"default":"latin small letter c with circumflex","alternative":"latin small letter c hat","short":"c hat"},"mathspeak":{"default":"modifying above c with caret","brief":"mod above c with caret","sbrief":"mod above c with caret"}}},{"category":"Ll","key":"010B","mappings":{"default":{"default":"latin small letter c with dot above","alternative":"latin small letter c dot","short":"c overdot"},"mathspeak":{"default":"modifying above c with dot","brief":"mod above c with dot","sbrief":"mod above c with dot"}}},{"category":"Ll","key":"010D","mappings":{"default":{"default":"latin small letter c with caron","alternative":"latin small letter c hacek","short":"c caron"},"mathspeak":{"default":"modifying above c with caron","brief":"mod above c with caron","sbrief":"mod above c with caron"}}},{"category":"Ll","key":"010F","mappings":{"default":{"default":"latin small letter d with caron","alternative":"latin small letter d hacek","short":"d caron"},"mathspeak":{"default":"modifying above d with caron","brief":"mod above d with caron","sbrief":"mod above d with caron"}}},{"category":"Ll","key":"0113","mappings":{"default":{"default":"latin small letter e with macron","alternative":"latin small letter e overbar","short":"e overbar"},"mathspeak":{"default":"e overbar","brief":"e overbar","sbrief":"e overbar"}}},{"category":"Ll","key":"0115","mappings":{"default":{"default":"latin small letter e with breve","alternative":"latin small letter e breve","short":"e breve"},"mathspeak":{"default":"modifying above e with breve","brief":"mod above e with breve","sbrief":"mod above e with breve"}}},{"category":"Ll","key":"0117","mappings":{"default":{"default":"latin small letter e with dot above","alternative":"latin small letter e dot","short":"e overdot"},"mathspeak":{"default":"modifying above e with dot","brief":"mod above e with dot","sbrief":"mod above e with dot"}}},{"category":"Ll","key":"0119","mappings":{"default":{"default":"latin small letter e with ogonek","alternative":"latin small letter e ogonek","short":"e ogonek"},"mathspeak":{"default":"modifying above e with ogonek","brief":"mod above e with ogonek","sbrief":"mod above e with ogonek"}}},{"category":"Ll","key":"011B","mappings":{"default":{"default":"latin small letter e with caron","alternative":"latin small letter e hacek","short":"e caron"},"mathspeak":{"default":"modifying above e with caron","brief":"mod above e with caron","sbrief":"mod above e with caron"}}},{"category":"Ll","key":"011D","mappings":{"default":{"default":"latin small letter g with circumflex","alternative":"latin small letter g hat","short":"g hat"},"mathspeak":{"default":"modifying above g with caret","brief":"mod above g with caret","sbrief":"mod above g with caret"}}},{"category":"Ll","key":"011F","mappings":{"default":{"default":"latin small letter g with breve","alternative":"latin small letter g breve","short":"g breve"},"mathspeak":{"default":"modifying above g with breve","brief":"mod above g with breve","sbrief":"mod above g with breve"}}},{"category":"Ll","key":"0121","mappings":{"default":{"default":"latin small letter g with dot above","alternative":"latin small letter g dot","short":"g overdot"},"mathspeak":{"default":"modifying above g with dot","brief":"mod above g with dot","sbrief":"mod above g with dot"}}},{"category":"Ll","key":"0123","mappings":{"default":{"default":"latin small letter g with cedilla","alternative":"latin small letter g cedilla","short":"g cedilla"},"mathspeak":{"default":"modifying above g with cedilla","brief":"mod above g with cedilla","sbrief":"mod above g with cedilla"}}},{"category":"Ll","key":"0125","mappings":{"default":{"default":"latin small letter h with circumflex","alternative":"latin small letter h hat","short":"h hat"},"mathspeak":{"default":"modifying above h with caret","brief":"mod above h with caret","sbrief":"mod above h with caret"}}},{"category":"Ll","key":"0129","mappings":{"default":{"default":"latin small letter i with tilde","alternative":"latin small letter i tilde","short":"i tilde"},"mathspeak":{"default":"i overtilde","brief":"i overtilde","sbrief":"i overtilde"}}},{"category":"Ll","key":"012B","mappings":{"default":{"default":"latin small letter i with macron","alternative":"latin small letter i overbar","short":"i overbar"},"mathspeak":{"default":"i overbar","brief":"i overbar","sbrief":"i overbar"}}},{"category":"Ll","key":"012D","mappings":{"default":{"default":"latin small letter i with breve","alternative":"latin small letter i breve","short":"i breve"},"mathspeak":{"default":"modifying above i with breve","brief":"mod above i with breve","sbrief":"mod above i with breve"}}},{"category":"Ll","key":"012F","mappings":{"default":{"default":"latin small letter i with ogonek","alternative":"latin small letter i ogonek","short":"i ogonek"},"mathspeak":{"default":"modifying above i with ogonek","brief":"mod above i with ogonek","sbrief":"mod above i with ogonek"}}},{"category":"Ll","key":"0131","mappings":{"default":{"default":"latin small letter dotless i","alternative":"latin small letter dotless i","short":"dotless i"},"mathspeak":{"default":"modifying above d with tless i","brief":"mod above d with tless i","sbrief":"mod above d with tless i"}}},{"category":"Ll","key":"0135","mappings":{"default":{"default":"latin small letter j circumflex","alternative":"latin small letter j hat","short":"j hat"},"mathspeak":{"default":"modifying above j with caret","brief":"mod above j with caret","sbrief":"mod above j with caret"}}},{"category":"Ll","key":"0137","mappings":{"default":{"default":"latin small letter k with cedilla","alternative":"latin small letter k cedilla","short":"k cedilla"},"mathspeak":{"default":"modifying above k with cedilla","brief":"mod above k with cedilla","sbrief":"mod above k with cedilla"}}},{"category":"Ll","key":"013A","mappings":{"default":{"default":"latin small letter l with acute","alternative":"latin small letter l acute","short":"l acute"},"mathspeak":{"default":"modifying above l with acute","brief":"mod above l with acute","sbrief":"mod above l with acute"}}},{"category":"Ll","key":"013C","mappings":{"default":{"default":"latin small letter l with cedilla","alternative":"latin small letter l cedilla","short":"l cedilla"},"mathspeak":{"default":"modifying above l with cedilla","brief":"mod above l with cedilla","sbrief":"mod above l with cedilla"}}},{"category":"Ll","key":"013E","mappings":{"default":{"default":"latin small letter l with caron","alternative":"latin small letter l hacek","short":"l caron"},"mathspeak":{"default":"modifying above l with caron","brief":"mod above l with caron","sbrief":"mod above l with caron"}}},{"category":"Ll","key":"0140","mappings":{"default":{"default":"latin small letter l with middle dot","alternative":"latin small letter l middle dot","short":"l middle dot"},"mathspeak":{"default":"modifying above l with middle dot","brief":"mod above l with middle dot","sbrief":"mod above l with middle dot"}}},{"category":"Ll","key":"0144","mappings":{"default":{"default":"latin small letter n with acute","alternative":"latin small letter n acute","short":"n acute"},"mathspeak":{"default":"modifying above n with acute","brief":"mod above n with acute","sbrief":"mod above n with acute"}}},{"category":"Ll","key":"0146","mappings":{"default":{"default":"latin small letter n with cedilla","alternative":"latin small letter n cedilla","short":"n cedilla"},"mathspeak":{"default":"modifying above n with cedilla","brief":"mod above n with cedilla","sbrief":"mod above n with cedilla"}}},{"category":"Ll","key":"0148","mappings":{"default":{"default":"latin small letter n with caron","alternative":"latin small letter n hacek","short":"n caron"},"mathspeak":{"default":"modifying above n with caron","brief":"mod above n with caron","sbrief":"mod above n with caron"}}},{"category":"Ll","key":"014D","mappings":{"default":{"default":"latin small letter o macron","alternative":"latin small letter o overbar","short":"o overbar"},"mathspeak":{"default":"o overbar","brief":"o overbar","sbrief":"o overbar"}}},{"category":"Ll","key":"014F","mappings":{"default":{"default":"latin small letter o with breve","alternative":"latin small letter o breve","short":"o breve"},"mathspeak":{"default":"modifying above o with breve","brief":"mod above o with breve","sbrief":"mod above o with breve"}}},{"category":"Ll","key":"0151","mappings":{"default":{"default":"latin small letter o with double acute","alternative":"latin small letter o double acute","short":"o double acute"},"mathspeak":{"default":"modifying above o with double acute","brief":"mod above o with double acute","sbrief":"mod above o with double acute"}}},{"category":"Ll","key":"0155","mappings":{"default":{"default":"latin small letter r with acute","alternative":"latin small letter r acute","short":"r acute"},"mathspeak":{"default":"modifying above r with acute","brief":"mod above r with acute","sbrief":"mod above r with acute"}}},{"category":"Ll","key":"0157","mappings":{"default":{"default":"latin small letter r with cedilla","alternative":"latin small letter r cedilla","short":"r cedilla"},"mathspeak":{"default":"modifying above r with cedilla","brief":"mod above r with cedilla","sbrief":"mod above r with cedilla"}}},{"category":"Ll","key":"0159","mappings":{"default":{"default":"latin small letter r with caron","alternative":"latin small letter r hacek","short":"r caron"},"mathspeak":{"default":"modifying above r with caron","brief":"mod above r with caron","sbrief":"mod above r with caron"}}},{"category":"Ll","key":"015B","mappings":{"default":{"default":"latin small letter s with acute","alternative":"latin small letter s acute","short":"s acute"},"mathspeak":{"default":"modifying above s with acute","brief":"mod above s with acute","sbrief":"mod above s with acute"}}},{"category":"Ll","key":"015D","mappings":{"default":{"default":"latin small letter s with circumflex","alternative":"latin small letter s hat","short":"s hat"},"mathspeak":{"default":"modifying above s with caret","brief":"mod above s with caret","sbrief":"mod above s with caret"}}},{"category":"Ll","key":"015F","mappings":{"default":{"default":"latin small letter s with cedilla","alternative":"latin small letter s cedilla","short":"s cedilla"},"mathspeak":{"default":"modifying above s with cedilla","brief":"mod above s with cedilla","sbrief":"mod above s with cedilla"}}},{"category":"Ll","key":"0161","mappings":{"default":{"default":"latin small letter s with caron","alternative":"latin small letter s hacek","short":"s caron"},"mathspeak":{"default":"modifying above s with caron","brief":"mod above s with caron","sbrief":"mod above s with caron"}}},{"category":"Ll","key":"0163","mappings":{"default":{"default":"latin small letter t with cedilla","alternative":"latin small letter t cedilla","short":"t cedilla"},"mathspeak":{"default":"modifying above t with cedilla","brief":"mod above t with cedilla","sbrief":"mod above t with cedilla"}}},{"category":"Ll","key":"0165","mappings":{"default":{"default":"latin small letter t with caron","alternative":"latin small letter t hacek","short":"t caron"},"mathspeak":{"default":"modifying above t with caron","brief":"mod above t with caron","sbrief":"mod above t with caron"}}},{"category":"Ll","key":"0169","mappings":{"default":{"default":"latin small letter u with tilde","alternative":"latin small letter u tilde","short":"u tilde"},"mathspeak":{"default":"u overtilde","brief":"u overtilde","sbrief":"u overtilde"}}},{"category":"Ll","key":"016B","mappings":{"default":{"default":"latin small letter u with macron","alternative":"latin small letter u overbar","short":"u overbar"},"mathspeak":{"default":"u overbar","brief":"u overbar","sbrief":"u overbar"}}},{"category":"Ll","key":"016D","mappings":{"default":{"default":"latin small letter u with breve","alternative":"latin small letter u breve","short":"u breve"},"mathspeak":{"default":"modifying above u with breve","brief":"mod above u with breve","sbrief":"mod above u with breve"}}},{"category":"Ll","key":"016F","mappings":{"default":{"default":"latin small letter u with ring above","alternative":"latin small letter u ring","short":"u ring"},"mathspeak":{"default":"modifying above u with ring","brief":"mod above u with ring","sbrief":"mod above u with ring"}}},{"category":"Ll","key":"0171","mappings":{"default":{"default":"latin small letter u with double acute","alternative":"latin small letter u double acute","short":"u double acute"},"mathspeak":{"default":"modifying above u with double acute","brief":"mod above u with double acute","sbrief":"mod above u with double acute"}}},{"category":"Ll","key":"0173","mappings":{"default":{"default":"latin small letter u with ogonek","alternative":"latin small letter u ogonek","short":"u ogonek"},"mathspeak":{"default":"modifying above u with ogonek","brief":"mod above u with ogonek","sbrief":"mod above u with ogonek"}}},{"category":"Ll","key":"0175","mappings":{"default":{"default":"latin small letter w with circumflex","alternative":"latin small letter w hat","short":"w hat"},"mathspeak":{"default":"modifying above w with caret","brief":"mod above w with caret","sbrief":"mod above w with caret"}}},{"category":"Ll","key":"0177","mappings":{"default":{"default":"latin small letter y with circumflex","alternative":"latin small letter y hat","short":"y hat"},"mathspeak":{"default":"modifying above y with caret","brief":"mod above y with caret","sbrief":"mod above y with caret"}}},{"category":"Ll","key":"017A","mappings":{"default":{"default":"latin small letter z with acute","alternative":"latin small letter z acute","short":"z acute"},"mathspeak":{"default":"modifying above z with acute","brief":"mod above z with acute","sbrief":"mod above z with acute"}}},{"category":"Ll","key":"017C","mappings":{"default":{"default":"latin small letter z with dot above","alternative":"latin small letter z dot","short":"z overdot"},"mathspeak":{"default":"modifying above z with dot","brief":"mod above z with dot","sbrief":"mod above z with dot"}}},{"category":"Ll","key":"017E","mappings":{"default":{"default":"latin small letter z with caron","alternative":"latin small letter z hacek","short":"z caron"},"mathspeak":{"default":"modifying above z with caron","brief":"mod above z with caron","sbrief":"mod above z with caron"}}},{"category":"Ll","key":"01CE","mappings":{"default":{"default":"latin small letter a with caron","alternative":"latin small letter a hacek","short":"a caron"},"mathspeak":{"default":"modifying above a with caron","brief":"mod above a with caron","sbrief":"mod above a with caron"}}},{"category":"Ll","key":"01D0","mappings":{"default":{"default":"latin small letter i with caron","alternative":"latin small letter i hacek","short":"i caron"},"mathspeak":{"default":"modifying above i with caron","brief":"mod above i with caron","sbrief":"mod above i with caron"}}},{"category":"Ll","key":"01D2","mappings":{"default":{"default":"latin small letter o with caron","alternative":"latin small letter o hacek","short":"o caron"},"mathspeak":{"default":"modifying above o with caron","brief":"mod above o with caron","sbrief":"mod above o with caron"}}},{"category":"Ll","key":"01D4","mappings":{"default":{"default":"latin small letter u with caron","alternative":"latin small letter u hacek","short":"u caron"},"mathspeak":{"default":"modifying above u with caron","brief":"mod above u with caron","sbrief":"mod above u with caron"}}},{"category":"Ll","key":"01E7","mappings":{"default":{"default":"latin small letter g with caron","alternative":"latin small letter g hacek","short":"g caron"},"mathspeak":{"default":"modifying above g with caron","brief":"mod above g with caron","sbrief":"mod above g with caron"}}},{"category":"Ll","key":"01E9","mappings":{"default":{"default":"latin small letter k with caron","alternative":"latin small letter k hacek","short":"k caron"},"mathspeak":{"default":"modifying above k with caron","brief":"mod above k with caron","sbrief":"mod above k with caron"}}},{"category":"Ll","key":"01EB","mappings":{"default":{"default":"latin small letter o with ogonek","alternative":"latin small letter o ogonek","short":"o ogonek"},"mathspeak":{"default":"modifying above o with ogonek","brief":"mod above o with ogonek","sbrief":"mod above o with ogonek"}}},{"category":"Ll","key":"01F0","mappings":{"default":{"default":"latin small letter j with caron","alternative":"latin small letter j hacek","short":"j caron"},"mathspeak":{"default":"modifying above j with caron","brief":"mod above j with caron","sbrief":"mod above j with caron"}}},{"category":"Ll","key":"01F5","mappings":{"default":{"default":"latin small letter g with acute","alternative":"latin small letter g acute","short":"g acute"},"mathspeak":{"default":"modifying above g with acute","brief":"mod above g with acute","sbrief":"mod above g with acute"}}},{"category":"Ll","key":"01F9","mappings":{"default":{"default":"latin small letter n with grave","alternative":"latin small letter n grave","short":"n grave"},"mathspeak":{"default":"modifying above n with grave","brief":"mod above n with grave","sbrief":"mod above n with grave"}}},{"category":"Ll","key":"0201","mappings":{"default":{"default":"latin small letter a with double grave","alternative":"latin small letter a double grave","short":"a double grave"},"mathspeak":{"default":"modifying above a with double grave","brief":"mod above a with double grave","sbrief":"mod above a with double grave"}}},{"category":"Ll","key":"0203","mappings":{"default":{"default":"latin small letter a with inverted breve","alternative":"latin small letter a inverted breve","short":"a inverted breve"},"mathspeak":{"default":"modifying above a with inverted breve","brief":"mod above a with inverted breve","sbrief":"mod above a with inverted breve"}}},{"category":"Ll","key":"0205","mappings":{"default":{"default":"latin small letter e with double grave","alternative":"latin small letter e double grave","short":"e double grave"},"mathspeak":{"default":"modifying above e with double grave","brief":"mod above e with double grave","sbrief":"mod above e with double grave"}}},{"category":"Ll","key":"0207","mappings":{"default":{"default":"latin small letter e with inverted breve","alternative":"latin small letter e inverted breve","short":"e inverted breve"},"mathspeak":{"default":"modifying above e with inverted breve","brief":"mod above e with inverted breve","sbrief":"mod above e with inverted breve"}}},{"category":"Ll","key":"0209","mappings":{"default":{"default":"latin small letter i with double grave","alternative":"latin small letter i double grave","short":"i double grave"},"mathspeak":{"default":"modifying above i with double grave","brief":"mod above i with double grave","sbrief":"mod above i with double grave"}}},{"category":"Ll","key":"020B","mappings":{"default":{"default":"latin small letter i with inverted breve","alternative":"latin small letter i inverted breve","short":"i inverted breve"},"mathspeak":{"default":"modifying above i with inverted breve","brief":"mod above i with inverted breve","sbrief":"mod above i with inverted breve"}}},{"category":"Ll","key":"020D","mappings":{"default":{"default":"latin small letter o with double grave","alternative":"latin small letter o double grave","short":"o double grave"},"mathspeak":{"default":"modifying above o with double grave","brief":"mod above o with double grave","sbrief":"mod above o with double grave"}}},{"category":"Ll","key":"020F","mappings":{"default":{"default":"latin small letter o with inverted breve","alternative":"latin small letter o inverted breve","short":"o inverted breve"},"mathspeak":{"default":"modifying above o with inverted breve","brief":"mod above o with inverted breve","sbrief":"mod above o with inverted breve"}}},{"category":"Ll","key":"0211","mappings":{"default":{"default":"latin small letter r with double grave","alternative":"latin small letter r double grave","short":"r double grave"},"mathspeak":{"default":"modifying above r with double grave","brief":"mod above r with double grave","sbrief":"mod above r with double grave"}}},{"category":"Ll","key":"0213","mappings":{"default":{"default":"latin small letter r with inverted breve","alternative":"latin small letter r inverted breve","short":"r inverted breve"},"mathspeak":{"default":"modifying above r with inverted breve","brief":"mod above r with inverted breve","sbrief":"mod above r with inverted breve"}}},{"category":"Ll","key":"0215","mappings":{"default":{"default":"latin small letter u with double grave","alternative":"latin small letter u double grave","short":"u double grave"},"mathspeak":{"default":"modifying above u with double grave","brief":"mod above u with double grave","sbrief":"mod above u with double grave"}}},{"category":"Ll","key":"0217","mappings":{"default":{"default":"latin small letter u with inverted breve","alternative":"latin small letter u inverted breve","short":"u inverted breve"},"mathspeak":{"default":"modifying above u with inverted breve","brief":"mod above u with inverted breve","sbrief":"mod above u with inverted breve"}}},{"category":"Ll","key":"0219","mappings":{"default":{"default":"latin small letter s with comma below","alternative":"latin small letter s comma below","short":"s comma below"},"mathspeak":{"default":"modifying below s with comma below","brief":"mod below s with comma below","sbrief":"mod below s with comma below"}}},{"category":"Ll","key":"021B","mappings":{"default":{"default":"latin small letter t with comma below","alternative":"latin small letter t comma below","short":"t comma below"},"mathspeak":{"default":"modifying below t with comma below","brief":"mod below t with comma below","sbrief":"mod below t with comma below"}}},{"category":"Ll","key":"021F","mappings":{"default":{"default":"latin small letter h with caron","alternative":"latin small letter h caron","short":"h caron"},"mathspeak":{"default":"modifying above h with caron","brief":"mod above h with caron","sbrief":"mod above h with caron"}}},{"category":"Ll","key":"0227","mappings":{"default":{"default":"latin small letter a with dot above","alternative":"latin small letter a overdot","short":"a overdot"},"mathspeak":{"default":"modifying above a with dot","brief":"mod above a with dot","sbrief":"mod above a with dot"}}},{"category":"Ll","key":"0229","mappings":{"default":{"default":"latin small letter e with cedilla","alternative":"latin small letter e cedilla","short":"e cedilla"},"mathspeak":{"default":"modifying above e with cedilla","brief":"mod above e with cedilla","sbrief":"mod above e with cedilla"}}},{"category":"Ll","key":"022F","mappings":{"default":{"default":"latin small letter o with dot above","alternative":"latin small letter o overdot","short":"o overdot"},"mathspeak":{"default":"modifying above o with dot","brief":"mod above o with dot","sbrief":"mod above o with dot"}}},{"category":"Ll","key":"0233","mappings":{"default":{"default":"latin small letter y with macron","alternative":"latin small letter y overbar","short":"y overbar"},"mathspeak":{"default":"y overbar","brief":"y overbar","sbrief":"y overbar"}}},{"category":"Ll","key":"0237","mappings":{"default":{"default":"latin small letter dotless j","alternative":"latin small letter dotless j","short":"dotless j"},"mathspeak":{"default":"modifying above d with tless j","brief":"mod above d with tless j","sbrief":"mod above d with tless j"}}},{"category":"Ll","key":"1E01","mappings":{"default":{"default":"latin small letter a ring below","alternative":"latin small letter a ring below","short":"a ring below"},"mathspeak":{"default":"modifying below a with ring below","brief":"mod below a with ring below","sbrief":"mod below a with ring below"}}},{"category":"Ll","key":"1E03","mappings":{"default":{"default":"latin small letter b with dot above","alternative":"latin small letter b overdot","short":"b overdot"},"mathspeak":{"default":"modifying above b with dot","brief":"mod above b with dot","sbrief":"mod above b with dot"}}},{"category":"Ll","key":"1E05","mappings":{"default":{"default":"latin small letter b with dot below","alternative":"latin small letter b underdot","short":"b underdot"},"mathspeak":{"default":"modifying below b with dot","brief":"mod below b with dot","sbrief":"mod below b with dot"}}},{"category":"Ll","key":"1E07","mappings":{"default":{"default":"latin small letter b with line below","alternative":"latin small letter b underbar","short":"b underbar"},"mathspeak":{"default":"b underbar","brief":"b underbar","sbrief":"b underbar"}}},{"category":"Ll","key":"1E0B","mappings":{"default":{"default":"latin small letter d with dot above","alternative":"latin small letter d overdot","short":"d overdot"},"mathspeak":{"default":"modifying above d with dot","brief":"mod above d with dot","sbrief":"mod above d with dot"}}},{"category":"Ll","key":"1E0D","mappings":{"default":{"default":"latin small letter d with dot below","alternative":"latin small letter d underdot","short":"d underdot"},"mathspeak":{"default":"modifying below d with dot","brief":"mod below d with dot","sbrief":"mod below d with dot"}}},{"category":"Ll","key":"1E0F","mappings":{"default":{"default":"latin small letter d with line below","alternative":"latin small letter d underbar","short":"d underbar"},"mathspeak":{"default":"d underbar","brief":"d underbar","sbrief":"d underbar"}}},{"category":"Ll","key":"1E11","mappings":{"default":{"default":"latin small letter d with cedilla","alternative":"latin small letter d cedilla","short":"d cedilla"},"mathspeak":{"default":"modifying above d with cedilla","brief":"mod above d with cedilla","sbrief":"mod above d with cedilla"}}},{"category":"Ll","key":"1E13","mappings":{"default":{"default":"latin small letter d with circumflex below","alternative":"latin small letter d underhat","short":"d underhat"},"mathspeak":{"default":"modifying below d with caret","brief":"mod below d with caret","sbrief":"mod below d with caret"}}},{"category":"Ll","key":"1E19","mappings":{"default":{"default":"latin small letter e with circumflex below","alternative":"latin small letter e underhat","short":"e underhat"},"mathspeak":{"default":"modifying below e with caret","brief":"mod below e with caret","sbrief":"mod below e with caret"}}},{"category":"Ll","key":"1E1B","mappings":{"default":{"default":"latin small letter e with tilde below","alternative":"latin small letter e tilde below","short":"e tilde below"},"mathspeak":{"default":"e undertilde","brief":"e undertilde","sbrief":"e undertilde"}}},{"category":"Ll","key":"1E1F","mappings":{"default":{"default":"latin small letter f with dot above","alternative":"latin small letter f overdot","short":"f overdot"},"mathspeak":{"default":"modifying above f with dot","brief":"mod above f with dot","sbrief":"mod above f with dot"}}},{"category":"Ll","key":"1E21","mappings":{"default":{"default":"latin small letter g with macron","alternative":"latin small letter g overbar","short":"g overbar"},"mathspeak":{"default":"g overbar","brief":"g overbar","sbrief":"g overbar"}}},{"category":"Ll","key":"1E23","mappings":{"default":{"default":"latin small letter h with dot above","alternative":"latin small letter h overdot","short":"h overdot"},"mathspeak":{"default":"modifying above h with dot","brief":"mod above h with dot","sbrief":"mod above h with dot"}}},{"category":"Ll","key":"1E25","mappings":{"default":{"default":"latin small letter h with dot below","alternative":"latin small letter h underdot","short":"h underdot"},"mathspeak":{"default":"modifying below h with dot","brief":"mod below h with dot","sbrief":"mod below h with dot"}}},{"category":"Ll","key":"1E27","mappings":{"default":{"default":"latin small letter h with diaeresis","alternative":"latin small letter h double overdot","short":"h double overdot"},"mathspeak":{"default":"modifying above h with double dot","brief":"mod above h with double dot","sbrief":"mod above h with double dot"}}},{"category":"Ll","key":"1E29","mappings":{"default":{"default":"latin small letter h with cedilla","alternative":"latin small letter h cedilla","short":"h cedilla"},"mathspeak":{"default":"modifying above h with cedilla","brief":"mod above h with cedilla","sbrief":"mod above h with cedilla"}}},{"category":"Ll","key":"1E2B","mappings":{"default":{"default":"latin small letter h with breve below","alternative":"latin small letter h breve below","short":"h breve below"},"mathspeak":{"default":"modifying below h with breve below","brief":"mod below h with breve below","sbrief":"mod below h with breve below"}}},{"category":"Ll","key":"1E2D","mappings":{"default":{"default":"latin small letter i with tilde below","alternative":"latin small letter i tilde below","short":"i tilde below"},"mathspeak":{"default":"i undertilde","brief":"i undertilde","sbrief":"i undertilde"}}},{"category":"Ll","key":"1E31","mappings":{"default":{"default":"latin small letter k with acute","alternative":"latin small letter k acute","short":"k acute"},"mathspeak":{"default":"modifying above k with acute","brief":"mod above k with acute","sbrief":"mod above k with acute"}}},{"category":"Ll","key":"1E33","mappings":{"default":{"default":"latin small letter k with dot below","alternative":"latin small letter k underdot","short":"k underdot"},"mathspeak":{"default":"modifying below k with dot","brief":"mod below k with dot","sbrief":"mod below k with dot"}}},{"category":"Ll","key":"1E35","mappings":{"default":{"default":"latin small letter k with line below","alternative":"latin small letter k underbar","short":"k underbar"},"mathspeak":{"default":"k underbar","brief":"k underbar","sbrief":"k underbar"}}},{"category":"Ll","key":"1E37","mappings":{"default":{"default":"latin small letter l with dot below","alternative":"latin small letter l underdot","short":"l underdot"},"mathspeak":{"default":"modifying below l with dot","brief":"mod below l with dot","sbrief":"mod below l with dot"}}},{"category":"Ll","key":"1E3B","mappings":{"default":{"default":"latin small letter l with line below","alternative":"latin small letter l underbar","short":"l underbar"},"mathspeak":{"default":"l underbar","brief":"l underbar","sbrief":"l underbar"}}},{"category":"Ll","key":"1E3D","mappings":{"default":{"default":"latin small letter l with circumflex below","alternative":"latin small letter l underhat","short":"l underhat"},"mathspeak":{"default":"modifying below l with caret","brief":"mod below l with caret","sbrief":"mod below l with caret"}}},{"category":"Ll","key":"1E3F","mappings":{"default":{"default":"latin small letter m with acute","alternative":"latin small letter m acute","short":"m acute"},"mathspeak":{"default":"modifying above m with acute","brief":"mod above m with acute","sbrief":"mod above m with acute"}}},{"category":"Ll","key":"1E41","mappings":{"default":{"default":"latin small letter m with dot above","alternative":"latin small letter m overdot","short":"m overdot"},"mathspeak":{"default":"modifying above m with dot","brief":"mod above m with dot","sbrief":"mod above m with dot"}}},{"category":"Ll","key":"1E43","mappings":{"default":{"default":"latin small letter m with dot below","alternative":"latin small letter m underdot","short":"m underdot"},"mathspeak":{"default":"modifying below m with dot","brief":"mod below m with dot","sbrief":"mod below m with dot"}}},{"category":"Ll","key":"1E45","mappings":{"default":{"default":"latin small letter n with dot above","alternative":"latin small letter n overdot","short":"n overdot"},"mathspeak":{"default":"modifying above n with dot","brief":"mod above n with dot","sbrief":"mod above n with dot"}}},{"category":"Ll","key":"1E47","mappings":{"default":{"default":"latin small letter n with dot below","alternative":"latin small letter n underdot","short":"n underdot"},"mathspeak":{"default":"modifying below n with dot","brief":"mod below n with dot","sbrief":"mod below n with dot"}}},{"category":"Ll","key":"1E49","mappings":{"default":{"default":"latin small letter n with line below","alternative":"latin small letter n underbar","short":"n underbar"},"mathspeak":{"default":"n underbar","brief":"n underbar","sbrief":"n underbar"}}},{"category":"Ll","key":"1E4B","mappings":{"default":{"default":"latin small letter n with circumflex below","alternative":"latin small letter n underhat","short":"n underhat"},"mathspeak":{"default":"modifying below n with caret","brief":"mod below n with caret","sbrief":"mod below n with caret"}}},{"category":"Ll","key":"1E55","mappings":{"default":{"default":"latin small letter p with acute","alternative":"latin small letter p acute","short":"p acute"},"mathspeak":{"default":"modifying above p with acute","brief":"mod above p with acute","sbrief":"mod above p with acute"}}},{"category":"Ll","key":"1E57","mappings":{"default":{"default":"latin small letter p with dot above","alternative":"latin small letter p overdot","short":"p overdot"},"mathspeak":{"default":"modifying above p with dot","brief":"mod above p with dot","sbrief":"mod above p with dot"}}},{"category":"Ll","key":"1E59","mappings":{"default":{"default":"latin small letter r with dot above","alternative":"latin small letter r overdot","short":"r overdot"},"mathspeak":{"default":"modifying above r with dot","brief":"mod above r with dot","sbrief":"mod above r with dot"}}},{"category":"Ll","key":"1E5B","mappings":{"default":{"default":"latin small letter r with dot below","alternative":"latin small letter r underdot","short":"r underdot"},"mathspeak":{"default":"modifying below r with dot","brief":"mod below r with dot","sbrief":"mod below r with dot"}}},{"category":"Ll","key":"1E5F","mappings":{"default":{"default":"latin small letter r with line below","alternative":"latin small letter r underbar","short":"r underbar"},"mathspeak":{"default":"r underbar","brief":"r underbar","sbrief":"r underbar"}}},{"category":"Ll","key":"1E61","mappings":{"default":{"default":"latin small letter s with dot above","alternative":"latin small letter s overdot","short":"s overdot"},"mathspeak":{"default":"modifying above s with dot","brief":"mod above s with dot","sbrief":"mod above s with dot"}}},{"category":"Ll","key":"1E63","mappings":{"default":{"default":"latin small letter s with dot below","alternative":"latin small letter s underdot","short":"s underdot"},"mathspeak":{"default":"modifying below s with dot","brief":"mod below s with dot","sbrief":"mod below s with dot"}}},{"category":"Ll","key":"1E6B","mappings":{"default":{"default":"latin small letter t with dot above","alternative":"latin small letter t overdot","short":"t overdot"},"mathspeak":{"default":"modifying above t with dot","brief":"mod above t with dot","sbrief":"mod above t with dot"}}},{"category":"Ll","key":"1E6D","mappings":{"default":{"default":"latin small letter t with dot below","alternative":"latin small letter t underdot","short":"t underdot"},"mathspeak":{"default":"modifying below t with dot","brief":"mod below t with dot","sbrief":"mod below t with dot"}}},{"category":"Ll","key":"1E6F","mappings":{"default":{"default":"latin small letter t with line below","alternative":"latin small letter t underbar","short":"t underbar"},"mathspeak":{"default":"t underbar","brief":"t underbar","sbrief":"t underbar"}}},{"category":"Ll","key":"1E71","mappings":{"default":{"default":"latin small letter t with circumflex below","alternative":"latin small letter t underhat","short":"t underhat"},"mathspeak":{"default":"modifying below t with caret","brief":"mod below t with caret","sbrief":"mod below t with caret"}}},{"category":"Ll","key":"1E73","mappings":{"default":{"default":"latin small letter u with diaeresis below","alternative":"latin small letter u double underdot","short":"u double underdot"},"mathspeak":{"default":"modifying below u with double dot","brief":"mod below u with double dot","sbrief":"mod below u with double dot"}}},{"category":"Ll","key":"1E75","mappings":{"default":{"default":"latin small letter u with tilde below","alternative":"latin small letter u tilde below","short":"u tilde below"},"mathspeak":{"default":"u undertilde","brief":"u undertilde","sbrief":"u undertilde"}}},{"category":"Ll","key":"1E77","mappings":{"default":{"default":"latin small letter u with circumflex below","alternative":"latin small letter u underhat","short":"u underhat"},"mathspeak":{"default":"modifying below u with caret","brief":"mod below u with caret","sbrief":"mod below u with caret"}}},{"category":"Ll","key":"1E7D","mappings":{"default":{"default":"latin small letter v with tilde","alternative":"latin small letter v tilde","short":"v tilde"},"mathspeak":{"default":"v overtilde","brief":"v overtilde","sbrief":"v overtilde"}}},{"category":"Ll","key":"1E7F","mappings":{"default":{"default":"latin small letter v with dot below","alternative":"latin small letter v underdot","short":"v underdot"},"mathspeak":{"default":"modifying below v with dot","brief":"mod below v with dot","sbrief":"mod below v with dot"}}},{"category":"Ll","key":"1E81","mappings":{"default":{"default":"latin small letter w with grave","alternative":"latin small letter w grave","short":"w grave"},"mathspeak":{"default":"modifying above w with grave","brief":"mod above w with grave","sbrief":"mod above w with grave"}}},{"category":"Ll","key":"1E83","mappings":{"default":{"default":"latin small letter w with acute","alternative":"latin small letter w acute","short":"w acute"},"mathspeak":{"default":"modifying above w with acute","brief":"mod above w with acute","sbrief":"mod above w with acute"}}},{"category":"Ll","key":"1E85","mappings":{"default":{"default":"latin small letter w with diaeresis","alternative":"latin small letter w double overdot","short":"w double overdot"},"mathspeak":{"default":"modifying above w with double dot","brief":"mod above w with double dot","sbrief":"mod above w with double dot"}}},{"category":"Ll","key":"1E87","mappings":{"default":{"default":"latin small letter w with dot above","alternative":"latin small letter w overdot","short":"w overdot"},"mathspeak":{"default":"modifying above w with dot","brief":"mod above w with dot","sbrief":"mod above w with dot"}}},{"category":"Ll","key":"1E89","mappings":{"default":{"default":"latin small letter w with dot below","alternative":"latin small letter w underdot","short":"w underdot"},"mathspeak":{"default":"modifying below w with dot","brief":"mod below w with dot","sbrief":"mod below w with dot"}}},{"category":"Ll","key":"1E8B","mappings":{"default":{"default":"latin small letter x with dot above","alternative":"latin small letter x overdot","short":"x overdot"},"mathspeak":{"default":"modifying above x with dot","brief":"mod above x with dot","sbrief":"mod above x with dot"}}},{"category":"Ll","key":"1E8D","mappings":{"default":{"default":"latin small letter x with diaeresis","alternative":"latin small letter x double overdot","short":"x double overdot"},"mathspeak":{"default":"modifying above x with double dot","brief":"mod above x with double dot","sbrief":"mod above x with double dot"}}},{"category":"Ll","key":"1E8F","mappings":{"default":{"default":"latin small letter y with dot above","alternative":"latin small letter y overdot","short":"y overdot"},"mathspeak":{"default":"modifying above y with dot","brief":"mod above y with dot","sbrief":"mod above y with dot"}}},{"category":"Ll","key":"1E91","mappings":{"default":{"default":"latin small letter z with circumflex","alternative":"latin small letter z hat","short":"z hat"},"mathspeak":{"default":"modifying above z with caret","brief":"mod above z with caret","sbrief":"mod above z with caret"}}},{"category":"Ll","key":"1E93","mappings":{"default":{"default":"latin small letter z with dot below","alternative":"latin small letter z underdot","short":"z underdot"},"mathspeak":{"default":"modifying below z with dot","brief":"mod below z with dot","sbrief":"mod below z with dot"}}},{"category":"Ll","key":"1E95","mappings":{"default":{"default":"latin small letter z with line below","alternative":"latin small letter z underbar","short":"z underbar"},"mathspeak":{"default":"z underbar","brief":"z underbar","sbrief":"z underbar"}}},{"category":"Ll","key":"1E96","mappings":{"default":{"default":"latin small letter h with line below","alternative":"latin small letter h underbar","short":"h underbar"},"mathspeak":{"default":"h underbar","brief":"h underbar","sbrief":"h underbar"}}},{"category":"Ll","key":"1E97","mappings":{"default":{"default":"latin small letter t with diaeresis","alternative":"latin small letter t double overdot","short":"t double overdot"},"mathspeak":{"default":"modifying above t with double dot","brief":"mod above t with double dot","sbrief":"mod above t with double dot"}}},{"category":"Ll","key":"1E98","mappings":{"default":{"default":"latin small letter w with ring above","alternative":"latin small letter w ring","short":"w ring"},"mathspeak":{"default":"modifying above w with ring","brief":"mod above w with ring","sbrief":"mod above w with ring"}}},{"category":"Ll","key":"1E99","mappings":{"default":{"default":"latin small letter y with ring above","alternative":"latin small letter y ring","short":"y ring"},"mathspeak":{"default":"modifying above y with ring","brief":"mod above y with ring","sbrief":"mod above y with ring"}}},{"category":"Ll","key":"1E9A","mappings":{"default":{"default":"latin small letter a with right half ring","alternative":"latin small letter a right half ring","short":"a right half ring"},"mathspeak":{"default":"modifying above a with right half ring","brief":"mod above a with right half ring","sbrief":"mod above a with right half ring"}}},{"category":"Ll","key":"1EA1","mappings":{"default":{"default":"latin small letter a with dot below","alternative":"latin small letter a underdot","short":"a underdot"},"mathspeak":{"default":"modifying below a with dot","brief":"mod below a with dot","sbrief":"mod below a with dot"}}},{"category":"Ll","key":"1EA3","mappings":{"default":{"default":"latin small letter a with hook above","alternative":"latin small letter a hook","short":"a hook"},"mathspeak":{"default":"modifying above a with hook","brief":"mod above a with hook","sbrief":"mod above a with hook"}}},{"category":"Ll","key":"1EB9","mappings":{"default":{"default":"latin small letter e with dot below","alternative":"latin small letter e underdot","short":"e underdot"},"mathspeak":{"default":"modifying below e with dot","brief":"mod below e with dot","sbrief":"mod below e with dot"}}},{"category":"Ll","key":"1EBB","mappings":{"default":{"default":"latin small letter e with hook above","alternative":"latin small letter e hook","short":"e hook"},"mathspeak":{"default":"modifying above e with hook","brief":"mod above e with hook","sbrief":"mod above e with hook"}}},{"category":"Ll","key":"1EBD","mappings":{"default":{"default":"latin small letter e with tilde","alternative":"latin small letter e tilde","short":"e tilde"},"mathspeak":{"default":"e overtilde","brief":"e overtilde","sbrief":"e overtilde"}}},{"category":"Ll","key":"1EC9","mappings":{"default":{"default":"latin small letter i with hook above","alternative":"latin small letter i hook","short":"i hook"},"mathspeak":{"default":"modifying above i with hook","brief":"mod above i with hook","sbrief":"mod above i with hook"}}},{"category":"Ll","key":"1ECB","mappings":{"default":{"default":"latin small letter i with dot below","alternative":"latin small letter i underdot","short":"i underdot"},"mathspeak":{"default":"modifying below i with dot","brief":"mod below i with dot","sbrief":"mod below i with dot"}}},{"category":"Ll","key":"1ECD","mappings":{"default":{"default":"latin small letter o with dot below","alternative":"latin small letter o underdot","short":"o underdot"},"mathspeak":{"default":"modifying below o with dot","brief":"mod below o with dot","sbrief":"mod below o with dot"}}},{"category":"Ll","key":"1ECF","mappings":{"default":{"default":"latin small letter o with hook above","alternative":"latin small letter o hook","short":"o hook"},"mathspeak":{"default":"modifying above o with hook","brief":"mod above o with hook","sbrief":"mod above o with hook"}}},{"category":"Ll","key":"1EE5","mappings":{"default":{"default":"latin small letter u with dot below","alternative":"latin small letter u underdot","short":"u underdot"},"mathspeak":{"default":"modifying below u with dot","brief":"mod below u with dot","sbrief":"mod below u with dot"}}},{"category":"Ll","key":"1EE7","mappings":{"default":{"default":"latin small letter u with hook above","alternative":"latin small letter u hook","short":"u hook"},"mathspeak":{"default":"modifying above u with hook","brief":"mod above u with hook","sbrief":"mod above u with hook"}}},{"category":"Ll","key":"1EF3","mappings":{"default":{"default":"latin small letter y with grave","alternative":"latin small letter y grave","short":"y grave"},"mathspeak":{"default":"modifying above y with grave","brief":"mod above y with grave","sbrief":"mod above y with grave"}}},{"category":"Ll","key":"1EF5","mappings":{"default":{"default":"latin small letter y with dot below","alternative":"latin small letter y underdot","short":"y underdot"},"mathspeak":{"default":"modifying below y with dot","brief":"mod below y with dot","sbrief":"mod below y with dot"}}},{"category":"Ll","key":"1EF7","mappings":{"default":{"default":"latin small letter y with hook above","alternative":"latin small letter y hook","short":"y hook"},"mathspeak":{"default":"modifying above y with hook","brief":"mod above y with hook","sbrief":"mod above y with hook"}}},{"category":"Ll","key":"1EF9","mappings":{"default":{"default":"latin small letter y with tilde","alternative":"latin small letter y tilde","short":"y tilde"},"mathspeak":{"default":"y overtilde","brief":"y overtilde","sbrief":"y overtilde"}}}] diff --git a/assets/js/mathmaps/en/symbols/latin-mathfonts-bold-fraktur.js b/assets/js/mathmaps/en/symbols/latin-mathfonts-bold-fraktur.js new file mode 100644 index 0000000000000000000000000000000000000000..4de56831acd162fe4babd0ab189b862188f18cdd --- /dev/null +++ b/assets/js/mathmaps/en/symbols/latin-mathfonts-bold-fraktur.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital a","short":"bold fraktur cap a"},"mathspeak":{"default":"bold fraktur upper A"}},"key":"1D56C"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital b","short":"bold fraktur cap b"},"mathspeak":{"default":"bold fraktur upper B"}},"key":"1D56D"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital c","short":"bold fraktur cap c"},"mathspeak":{"default":"bold fraktur upper C"}},"key":"1D56E"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital d","short":"bold fraktur cap d"},"mathspeak":{"default":"bold fraktur upper D"}},"key":"1D56F"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital e","short":"bold fraktur cap e"},"mathspeak":{"default":"bold fraktur upper E"}},"key":"1D570"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital f","short":"bold fraktur cap f"},"mathspeak":{"default":"bold fraktur upper F"}},"key":"1D571"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital g","short":"bold fraktur cap g"},"mathspeak":{"default":"bold fraktur upper G"}},"key":"1D572"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital h","short":"bold fraktur cap h"},"mathspeak":{"default":"bold fraktur upper H"}},"key":"1D573"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital i","short":"bold fraktur cap i"},"mathspeak":{"default":"bold fraktur upper I"}},"key":"1D574"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital j","short":"bold fraktur cap j"},"mathspeak":{"default":"bold fraktur upper J"}},"key":"1D575"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital k","short":"bold fraktur cap k"},"mathspeak":{"default":"bold fraktur upper K"}},"key":"1D576"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital l","short":"bold fraktur cap l"},"mathspeak":{"default":"bold fraktur upper L"}},"key":"1D577"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital m","short":"bold fraktur cap m"},"mathspeak":{"default":"bold fraktur upper M"}},"key":"1D578"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital n","short":"bold fraktur cap n"},"mathspeak":{"default":"bold fraktur upper N"}},"key":"1D579"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital o","short":"bold fraktur cap o"},"mathspeak":{"default":"bold fraktur upper O"}},"key":"1D57A"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital p","short":"bold fraktur cap p"},"mathspeak":{"default":"bold fraktur upper P"}},"key":"1D57B"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital q","short":"bold fraktur cap q"},"mathspeak":{"default":"bold fraktur upper Q"}},"key":"1D57C"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital r","short":"bold fraktur cap r"},"mathspeak":{"default":"bold fraktur upper R"}},"key":"1D57D"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital s","short":"bold fraktur cap s"},"mathspeak":{"default":"bold fraktur upper S"}},"key":"1D57E"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital t","short":"bold fraktur cap t"},"mathspeak":{"default":"bold fraktur upper T"}},"key":"1D57F"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital u","short":"bold fraktur cap u"},"mathspeak":{"default":"bold fraktur upper U"}},"key":"1D580"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital v","short":"bold fraktur cap v"},"mathspeak":{"default":"bold fraktur upper V"}},"key":"1D581"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital w","short":"bold fraktur cap w"},"mathspeak":{"default":"bold fraktur upper W"}},"key":"1D582"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital x","short":"bold fraktur cap x"},"mathspeak":{"default":"bold fraktur upper X"}},"key":"1D583"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital y","short":"bold fraktur cap y"},"mathspeak":{"default":"bold fraktur upper Y"}},"key":"1D584"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital z","short":"bold fraktur cap z"},"mathspeak":{"default":"bold fraktur upper Z"}},"key":"1D585"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small a","short":"bold fraktur a"}},"key":"1D586"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small b","short":"bold fraktur b"}},"key":"1D587"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small c","short":"bold fraktur c"}},"key":"1D588"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small d","short":"bold fraktur d"}},"key":"1D589"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small e","short":"bold fraktur e"}},"key":"1D58A"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small f","short":"bold fraktur f"}},"key":"1D58B"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small g","short":"bold fraktur g"}},"key":"1D58C"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small h","short":"bold fraktur h"}},"key":"1D58D"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small i","short":"bold fraktur i"}},"key":"1D58E"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small j","short":"bold fraktur j"}},"key":"1D58F"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small k","short":"bold fraktur k"}},"key":"1D590"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small l","short":"bold fraktur l"}},"key":"1D591"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small m","short":"bold fraktur m"}},"key":"1D592"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small n","short":"bold fraktur n"}},"key":"1D593"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small o","short":"bold fraktur o"}},"key":"1D594"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small p","short":"bold fraktur p"}},"key":"1D595"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small q","short":"bold fraktur q"}},"key":"1D596"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small r","short":"bold fraktur r"}},"key":"1D597"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small s","short":"bold fraktur s"}},"key":"1D598"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small t","short":"bold fraktur t"}},"key":"1D599"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small u","short":"bold fraktur u"}},"key":"1D59A"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small v","short":"bold fraktur v"}},"key":"1D59B"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small w","short":"bold fraktur w"}},"key":"1D59C"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small x","short":"bold fraktur x"}},"key":"1D59D"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small y","short":"bold fraktur y"}},"key":"1D59E"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small z","short":"bold fraktur z"}},"key":"1D59F"}] diff --git a/assets/js/mathmaps/en/symbols/latin-mathfonts-bold-script.js b/assets/js/mathmaps/en/symbols/latin-mathfonts-bold-script.js new file mode 100644 index 0000000000000000000000000000000000000000..5f818c2db82a12653657b737fea1f04d9a168195 --- /dev/null +++ b/assets/js/mathmaps/en/symbols/latin-mathfonts-bold-script.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"Lu","mappings":{"default":{"default":"bold script capital a","short":"bold script cap a"},"mathspeak":{"default":"bold script upper A"}},"key":"1D4D0"},{"category":"Lu","mappings":{"default":{"default":"bold script capital b","short":"bold script cap b"},"mathspeak":{"default":"bold script upper B"}},"key":"1D4D1"},{"category":"Lu","mappings":{"default":{"default":"bold script capital c","short":"bold script cap c"},"mathspeak":{"default":"bold script upper C"}},"key":"1D4D2"},{"category":"Lu","mappings":{"default":{"default":"bold script capital d","short":"bold script cap d"},"mathspeak":{"default":"bold script upper D"}},"key":"1D4D3"},{"category":"Lu","mappings":{"default":{"default":"bold script capital e","short":"bold script cap e"},"mathspeak":{"default":"bold script upper E"}},"key":"1D4D4"},{"category":"Lu","mappings":{"default":{"default":"bold script capital f","short":"bold script cap f"},"mathspeak":{"default":"bold script upper F"}},"key":"1D4D5"},{"category":"Lu","mappings":{"default":{"default":"bold script capital g","short":"bold script cap g"},"mathspeak":{"default":"bold script upper G"}},"key":"1D4D6"},{"category":"Lu","mappings":{"default":{"default":"bold script capital h","short":"bold script cap h"},"mathspeak":{"default":"bold script upper H"}},"key":"1D4D7"},{"category":"Lu","mappings":{"default":{"default":"bold script capital i","short":"bold script cap i"},"mathspeak":{"default":"bold script upper I"}},"key":"1D4D8"},{"category":"Lu","mappings":{"default":{"default":"bold script capital j","short":"bold script cap j"},"mathspeak":{"default":"bold script upper J"}},"key":"1D4D9"},{"category":"Lu","mappings":{"default":{"default":"bold script capital k","short":"bold script cap k"},"mathspeak":{"default":"bold script upper K"}},"key":"1D4DA"},{"category":"Lu","mappings":{"default":{"default":"bold script capital l","short":"bold script cap l"},"mathspeak":{"default":"bold script upper L"}},"key":"1D4DB"},{"category":"Lu","mappings":{"default":{"default":"bold script capital m","short":"bold script cap m"},"mathspeak":{"default":"bold script upper M"}},"key":"1D4DC"},{"category":"Lu","mappings":{"default":{"default":"bold script capital n","short":"bold script cap n"},"mathspeak":{"default":"bold script upper N"}},"key":"1D4DD"},{"category":"Lu","mappings":{"default":{"default":"bold script capital o","short":"bold script cap o"},"mathspeak":{"default":"bold script upper O"}},"key":"1D4DE"},{"category":"Lu","mappings":{"default":{"default":"bold script capital p","short":"bold script cap p"},"mathspeak":{"default":"bold script upper P"}},"key":"1D4DF"},{"category":"Lu","mappings":{"default":{"default":"bold script capital q","short":"bold script cap q"},"mathspeak":{"default":"bold script upper Q"}},"key":"1D4E0"},{"category":"Lu","mappings":{"default":{"default":"bold script capital r","short":"bold script cap r"},"mathspeak":{"default":"bold script upper R"}},"key":"1D4E1"},{"category":"Lu","mappings":{"default":{"default":"bold script capital s","short":"bold script cap s"},"mathspeak":{"default":"bold script upper S"}},"key":"1D4E2"},{"category":"Lu","mappings":{"default":{"default":"bold script capital t","short":"bold script cap t"},"mathspeak":{"default":"bold script upper T"}},"key":"1D4E3"},{"category":"Lu","mappings":{"default":{"default":"bold script capital u","short":"bold script cap u"},"mathspeak":{"default":"bold script upper U"}},"key":"1D4E4"},{"category":"Lu","mappings":{"default":{"default":"bold script capital v","short":"bold script cap v"},"mathspeak":{"default":"bold script upper V"}},"key":"1D4E5"},{"category":"Lu","mappings":{"default":{"default":"bold script capital w","short":"bold script cap w"},"mathspeak":{"default":"bold script upper W"}},"key":"1D4E6"},{"category":"Lu","mappings":{"default":{"default":"bold script capital x","short":"bold script cap x"},"mathspeak":{"default":"bold script upper X"}},"key":"1D4E7"},{"category":"Lu","mappings":{"default":{"default":"bold script capital y","short":"bold script cap y"},"mathspeak":{"default":"bold script upper Y"}},"key":"1D4E8"},{"category":"Lu","mappings":{"default":{"default":"bold script capital z","short":"bold script cap z"},"mathspeak":{"default":"bold script upper Z"}},"key":"1D4E9"},{"category":"Ll","mappings":{"default":{"default":"bold script small a","short":"bold script a"}},"key":"1D4EA"},{"category":"Ll","mappings":{"default":{"default":"bold script small b","short":"bold script b"}},"key":"1D4EB"},{"category":"Ll","mappings":{"default":{"default":"bold script small c","short":"bold script c"}},"key":"1D4EC"},{"category":"Ll","mappings":{"default":{"default":"bold script small d","short":"bold script d"}},"key":"1D4ED"},{"category":"Ll","mappings":{"default":{"default":"bold script small e","short":"bold script e"}},"key":"1D4EE"},{"category":"Ll","mappings":{"default":{"default":"bold script small f","short":"bold script f"}},"key":"1D4EF"},{"category":"Ll","mappings":{"default":{"default":"bold script small g","short":"bold script g"}},"key":"1D4F0"},{"category":"Ll","mappings":{"default":{"default":"bold script small h","short":"bold script h"}},"key":"1D4F1"},{"category":"Ll","mappings":{"default":{"default":"bold script small i","short":"bold script i"}},"key":"1D4F2"},{"category":"Ll","mappings":{"default":{"default":"bold script small j","short":"bold script j"}},"key":"1D4F3"},{"category":"Ll","mappings":{"default":{"default":"bold script small k","short":"bold script k"}},"key":"1D4F4"},{"category":"Ll","mappings":{"default":{"default":"bold script small l","short":"bold script l"}},"key":"1D4F5"},{"category":"Ll","mappings":{"default":{"default":"bold script small m","short":"bold script m"}},"key":"1D4F6"},{"category":"Ll","mappings":{"default":{"default":"bold script small n","short":"bold script n"}},"key":"1D4F7"},{"category":"Ll","mappings":{"default":{"default":"bold script small o","short":"bold script o"}},"key":"1D4F8"},{"category":"Ll","mappings":{"default":{"default":"bold script small p","short":"bold script p"}},"key":"1D4F9"},{"category":"Ll","mappings":{"default":{"default":"bold script small q","short":"bold script q"}},"key":"1D4FA"},{"category":"Ll","mappings":{"default":{"default":"bold script small r","short":"bold script r"}},"key":"1D4FB"},{"category":"Ll","mappings":{"default":{"default":"bold script small s","short":"bold script s"}},"key":"1D4FC"},{"category":"Ll","mappings":{"default":{"default":"bold script small t","short":"bold script t"}},"key":"1D4FD"},{"category":"Ll","mappings":{"default":{"default":"bold script small u","short":"bold script u"}},"key":"1D4FE"},{"category":"Ll","mappings":{"default":{"default":"bold script small v","short":"bold script v"}},"key":"1D4FF"},{"category":"Ll","mappings":{"default":{"default":"bold script small w","short":"bold script w"}},"key":"1D500"},{"category":"Ll","mappings":{"default":{"default":"bold script small x","short":"bold script x"}},"key":"1D501"},{"category":"Ll","mappings":{"default":{"default":"bold script small y","short":"bold script y"}},"key":"1D502"},{"category":"Ll","mappings":{"default":{"default":"bold script small z","short":"bold script z"}},"key":"1D503"}] diff --git a/assets/js/mathmaps/en/symbols/latin-mathfonts-bold.js b/assets/js/mathmaps/en/symbols/latin-mathfonts-bold.js new file mode 100644 index 0000000000000000000000000000000000000000..37992baae39bdf5dd406914be7f6d5afac382077 --- /dev/null +++ b/assets/js/mathmaps/en/symbols/latin-mathfonts-bold.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"Lu","mappings":{"default":{"default":"bold capital a","short":"bold cap a"},"mathspeak":{"default":"bold upper A"}},"key":"1D400"},{"category":"Lu","mappings":{"default":{"default":"bold capital b","short":"bold cap b"},"mathspeak":{"default":"bold upper B"}},"key":"1D401"},{"category":"Lu","mappings":{"default":{"default":"bold capital c","short":"bold cap c"},"mathspeak":{"default":"bold upper C"}},"key":"1D402"},{"category":"Lu","mappings":{"default":{"default":"bold capital d","short":"bold cap d"},"mathspeak":{"default":"bold upper D"}},"key":"1D403"},{"category":"Lu","mappings":{"default":{"default":"bold capital e","short":"bold cap e"},"mathspeak":{"default":"bold upper E"}},"key":"1D404"},{"category":"Lu","mappings":{"default":{"default":"bold capital f","short":"bold cap f"},"mathspeak":{"default":"bold upper F"}},"key":"1D405"},{"category":"Lu","mappings":{"default":{"default":"bold capital g","short":"bold cap g"},"mathspeak":{"default":"bold upper G"}},"key":"1D406"},{"category":"Lu","mappings":{"default":{"default":"bold capital h","short":"bold cap h"},"mathspeak":{"default":"bold upper H"}},"key":"1D407"},{"category":"Lu","mappings":{"default":{"default":"bold capital i","short":"bold cap i"},"mathspeak":{"default":"bold upper I"}},"key":"1D408"},{"category":"Lu","mappings":{"default":{"default":"bold capital j","short":"bold cap j"},"mathspeak":{"default":"bold upper J"}},"key":"1D409"},{"category":"Lu","mappings":{"default":{"default":"bold capital k","short":"bold cap k"},"mathspeak":{"default":"bold upper K"}},"key":"1D40A"},{"category":"Lu","mappings":{"default":{"default":"bold capital l","short":"bold cap l"},"mathspeak":{"default":"bold upper L"}},"key":"1D40B"},{"category":"Lu","mappings":{"default":{"default":"bold capital m","short":"bold cap m"},"mathspeak":{"default":"bold upper M"}},"key":"1D40C"},{"category":"Lu","mappings":{"default":{"default":"bold capital n","short":"bold cap n"},"mathspeak":{"default":"bold upper N"}},"key":"1D40D"},{"category":"Lu","mappings":{"default":{"default":"bold capital o","short":"bold cap o"},"mathspeak":{"default":"bold upper O"}},"key":"1D40E"},{"category":"Lu","mappings":{"default":{"default":"bold capital p","short":"bold cap p"},"mathspeak":{"default":"bold upper P"}},"key":"1D40F"},{"category":"Lu","mappings":{"default":{"default":"bold capital q","short":"bold cap q"},"mathspeak":{"default":"bold upper Q"}},"key":"1D410"},{"category":"Lu","mappings":{"default":{"default":"bold capital r","short":"bold cap r"},"mathspeak":{"default":"bold upper R"}},"key":"1D411"},{"category":"Lu","mappings":{"default":{"default":"bold capital s","short":"bold cap s"},"mathspeak":{"default":"bold upper S"}},"key":"1D412"},{"category":"Lu","mappings":{"default":{"default":"bold capital t","short":"bold cap t"},"mathspeak":{"default":"bold upper T"}},"key":"1D413"},{"category":"Lu","mappings":{"default":{"default":"bold capital u","short":"bold cap u"},"mathspeak":{"default":"bold upper U"}},"key":"1D414"},{"category":"Lu","mappings":{"default":{"default":"bold capital v","short":"bold cap v"},"mathspeak":{"default":"bold upper V"}},"key":"1D415"},{"category":"Lu","mappings":{"default":{"default":"bold capital w","short":"bold cap w"},"mathspeak":{"default":"bold upper W"}},"key":"1D416"},{"category":"Lu","mappings":{"default":{"default":"bold capital x","short":"bold cap x"},"mathspeak":{"default":"bold upper X"}},"key":"1D417"},{"category":"Lu","mappings":{"default":{"default":"bold capital y","short":"bold cap y"},"mathspeak":{"default":"bold upper Y"}},"key":"1D418"},{"category":"Lu","mappings":{"default":{"default":"bold capital z","short":"bold cap z"},"mathspeak":{"default":"bold upper Z"}},"key":"1D419"},{"category":"Ll","mappings":{"default":{"default":"bold small a","short":"bold a"}},"key":"1D41A"},{"category":"Ll","mappings":{"default":{"default":"bold small b","short":"bold b"}},"key":"1D41B"},{"category":"Ll","mappings":{"default":{"default":"bold small c","short":"bold c"}},"key":"1D41C"},{"category":"Ll","mappings":{"default":{"default":"bold small d","short":"bold d"}},"key":"1D41D"},{"category":"Ll","mappings":{"default":{"default":"bold small e","short":"bold e"}},"key":"1D41E"},{"category":"Ll","mappings":{"default":{"default":"bold small f","short":"bold f"}},"key":"1D41F"},{"category":"Ll","mappings":{"default":{"default":"bold small g","short":"bold g"}},"key":"1D420"},{"category":"Ll","mappings":{"default":{"default":"bold small h","short":"bold h"}},"key":"1D421"},{"category":"Ll","mappings":{"default":{"default":"bold small i","short":"bold i"}},"key":"1D422"},{"category":"Ll","mappings":{"default":{"default":"bold small j","short":"bold j"}},"key":"1D423"},{"category":"Ll","mappings":{"default":{"default":"bold small k","short":"bold k"}},"key":"1D424"},{"category":"Ll","mappings":{"default":{"default":"bold small l","short":"bold l"}},"key":"1D425"},{"category":"Ll","mappings":{"default":{"default":"bold small m","short":"bold m"}},"key":"1D426"},{"category":"Ll","mappings":{"default":{"default":"bold small n","short":"bold n"}},"key":"1D427"},{"category":"Ll","mappings":{"default":{"default":"bold small o","short":"bold o"}},"key":"1D428"},{"category":"Ll","mappings":{"default":{"default":"bold small p","short":"bold p"}},"key":"1D429"},{"category":"Ll","mappings":{"default":{"default":"bold small q","short":"bold q"}},"key":"1D42A"},{"category":"Ll","mappings":{"default":{"default":"bold small r","short":"bold r"}},"key":"1D42B"},{"category":"Ll","mappings":{"default":{"default":"bold small s","short":"bold s"}},"key":"1D42C"},{"category":"Ll","mappings":{"default":{"default":"bold small t","short":"bold t"}},"key":"1D42D"},{"category":"Ll","mappings":{"default":{"default":"bold small u","short":"bold u"}},"key":"1D42E"},{"category":"Ll","mappings":{"default":{"default":"bold small v","short":"bold v"}},"key":"1D42F"},{"category":"Ll","mappings":{"default":{"default":"bold small w","short":"bold w"}},"key":"1D430"},{"category":"Ll","mappings":{"default":{"default":"bold small x","short":"bold x"}},"key":"1D431"},{"category":"Ll","mappings":{"default":{"default":"bold small y","short":"bold y"}},"key":"1D432"},{"category":"Ll","mappings":{"default":{"default":"bold small z","short":"bold z"}},"key":"1D433"}] diff --git a/assets/js/mathmaps/en/symbols/latin-mathfonts-double-struck.js b/assets/js/mathmaps/en/symbols/latin-mathfonts-double-struck.js new file mode 100644 index 0000000000000000000000000000000000000000..a7d1238611906536d3ca43f2eae801824a05300e --- /dev/null +++ b/assets/js/mathmaps/en/symbols/latin-mathfonts-double-struck.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"Lu","mappings":{"default":{"default":"double struck capital a","short":"double struck cap a"},"mathspeak":{"default":"double struck upper A"}},"key":"1D538"},{"category":"Lu","mappings":{"default":{"default":"double struck capital b","short":"double struck cap b"},"mathspeak":{"default":"double struck upper B"}},"key":"1D539"},{"category":"Lu","mappings":{"default":{"default":"double struck capital c","short":"double struck cap c"},"mathspeak":{"default":"double struck upper C"}},"key":"2102"},{"category":"Lu","mappings":{"default":{"default":"double struck capital d","short":"double struck cap d"},"mathspeak":{"default":"double struck upper D"}},"key":"1D53B"},{"category":"Lu","mappings":{"default":{"default":"double struck capital e","short":"double struck cap e"},"mathspeak":{"default":"double struck upper E"}},"key":"1D53C"},{"category":"Lu","mappings":{"default":{"default":"double struck capital f","short":"double struck cap f"},"mathspeak":{"default":"double struck upper F"}},"key":"1D53D"},{"category":"Lu","mappings":{"default":{"default":"double struck capital g","short":"double struck cap g"},"mathspeak":{"default":"double struck upper G"}},"key":"1D53E"},{"category":"Lu","mappings":{"default":{"default":"double struck capital h","short":"double struck cap h"},"mathspeak":{"default":"double struck upper H"}},"key":"210D"},{"category":"Lu","mappings":{"default":{"default":"double struck capital i","short":"double struck cap i"},"mathspeak":{"default":"double struck upper I"}},"key":"1D540"},{"category":"Lu","mappings":{"default":{"default":"double struck capital j","short":"double struck cap j"},"mathspeak":{"default":"double struck upper J"}},"key":"1D541"},{"category":"Lu","mappings":{"default":{"default":"double struck capital k","short":"double struck cap k"},"mathspeak":{"default":"double struck upper K"}},"key":"1D542"},{"category":"Lu","mappings":{"default":{"default":"double struck capital l","short":"double struck cap l"},"mathspeak":{"default":"double struck upper L"}},"key":"1D543"},{"category":"Lu","mappings":{"default":{"default":"double struck capital m","short":"double struck cap m"},"mathspeak":{"default":"double struck upper M"}},"key":"1D544"},{"category":"Lu","mappings":{"default":{"default":"double struck capital n","short":"double struck cap n"},"mathspeak":{"default":"double struck upper N"}},"key":"2115"},{"category":"Lu","mappings":{"default":{"default":"double struck capital o","short":"double struck cap o"},"mathspeak":{"default":"double struck upper O"}},"key":"1D546"},{"category":"Lu","mappings":{"default":{"default":"double struck capital p","short":"double struck cap p"},"mathspeak":{"default":"double struck upper P"}},"key":"2119"},{"category":"Lu","mappings":{"default":{"default":"double struck capital q","short":"double struck cap q"},"mathspeak":{"default":"double struck upper Q"}},"key":"211A"},{"category":"Lu","mappings":{"default":{"default":"double struck capital r","short":"double struck cap r"},"mathspeak":{"default":"double struck upper R"}},"key":"211D"},{"category":"Lu","mappings":{"default":{"default":"double struck capital s","short":"double struck cap s"},"mathspeak":{"default":"double struck upper S"}},"key":"1D54A"},{"category":"Lu","mappings":{"default":{"default":"double struck capital t","short":"double struck cap t"},"mathspeak":{"default":"double struck upper T"}},"key":"1D54B"},{"category":"Lu","mappings":{"default":{"default":"double struck capital u","short":"double struck cap u"},"mathspeak":{"default":"double struck upper U"}},"key":"1D54C"},{"category":"Lu","mappings":{"default":{"default":"double struck capital v","short":"double struck cap v"},"mathspeak":{"default":"double struck upper V"}},"key":"1D54D"},{"category":"Lu","mappings":{"default":{"default":"double struck capital w","short":"double struck cap w"},"mathspeak":{"default":"double struck upper W"}},"key":"1D54E"},{"category":"Lu","mappings":{"default":{"default":"double struck capital x","short":"double struck cap x"},"mathspeak":{"default":"double struck upper X"}},"key":"1D54F"},{"category":"Lu","mappings":{"default":{"default":"double struck capital y","short":"double struck cap y"},"mathspeak":{"default":"double struck upper Y"}},"key":"1D550"},{"category":"Lu","mappings":{"default":{"default":"double struck capital z","short":"double struck cap z"},"mathspeak":{"default":"double struck upper Z"}},"key":"2124"},{"category":"Ll","mappings":{"default":{"default":"double struck small a","short":"double struck a"}},"key":"1D552"},{"category":"Ll","mappings":{"default":{"default":"double struck small b","short":"double struck b"}},"key":"1D553"},{"category":"Ll","mappings":{"default":{"default":"double struck small c","short":"double struck c"}},"key":"1D554"},{"category":"Ll","mappings":{"default":{"default":"double struck small d","short":"double struck d"}},"key":"1D555"},{"category":"Ll","mappings":{"default":{"default":"double struck small e","short":"double struck e"}},"key":"1D556"},{"category":"Ll","mappings":{"default":{"default":"double struck small f","short":"double struck f"}},"key":"1D557"},{"category":"Ll","mappings":{"default":{"default":"double struck small g","short":"double struck g"}},"key":"1D558"},{"category":"Ll","mappings":{"default":{"default":"double struck small h","short":"double struck h"}},"key":"1D559"},{"category":"Ll","mappings":{"default":{"default":"double struck small i","short":"double struck i"}},"key":"1D55A"},{"category":"Ll","mappings":{"default":{"default":"double struck small j","short":"double struck j"}},"key":"1D55B"},{"category":"Ll","mappings":{"default":{"default":"double struck small k","short":"double struck k"}},"key":"1D55C"},{"category":"Ll","mappings":{"default":{"default":"double struck small l","short":"double struck l"}},"key":"1D55D"},{"category":"Ll","mappings":{"default":{"default":"double struck small m","short":"double struck m"}},"key":"1D55E"},{"category":"Ll","mappings":{"default":{"default":"double struck small n","short":"double struck n"}},"key":"1D55F"},{"category":"Ll","mappings":{"default":{"default":"double struck small o","short":"double struck o"}},"key":"1D560"},{"category":"Ll","mappings":{"default":{"default":"double struck small p","short":"double struck p"}},"key":"1D561"},{"category":"Ll","mappings":{"default":{"default":"double struck small q","short":"double struck q"}},"key":"1D562"},{"category":"Ll","mappings":{"default":{"default":"double struck small r","short":"double struck r"}},"key":"1D563"},{"category":"Ll","mappings":{"default":{"default":"double struck small s","short":"double struck s"}},"key":"1D564"},{"category":"Ll","mappings":{"default":{"default":"double struck small t","short":"double struck t"}},"key":"1D565"},{"category":"Ll","mappings":{"default":{"default":"double struck small u","short":"double struck u"}},"key":"1D566"},{"category":"Ll","mappings":{"default":{"default":"double struck small v","short":"double struck v"}},"key":"1D567"},{"category":"Ll","mappings":{"default":{"default":"double struck small w","short":"double struck w"}},"key":"1D568"},{"category":"Ll","mappings":{"default":{"default":"double struck small x","short":"double struck x"}},"key":"1D569"},{"category":"Ll","mappings":{"default":{"default":"double struck small y","short":"double struck y"}},"key":"1D56A"},{"category":"Ll","mappings":{"default":{"default":"double struck small z","short":"double struck z"}},"key":"1D56B"}] diff --git a/assets/js/mathmaps/en/symbols/latin-mathfonts-fraktur.js b/assets/js/mathmaps/en/symbols/latin-mathfonts-fraktur.js new file mode 100644 index 0000000000000000000000000000000000000000..6cef78aab3907542a54ef54881ba0afd665547d3 --- /dev/null +++ b/assets/js/mathmaps/en/symbols/latin-mathfonts-fraktur.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital a","short":"fraktur cap a"},"mathspeak":{"default":"fraktur upper A"}},"key":"1D504"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital b","short":"fraktur cap b"},"mathspeak":{"default":"fraktur upper B"}},"key":"1D505"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital c","short":"fraktur cap c"},"mathspeak":{"default":"fraktur upper C"}},"key":"212D"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital d","short":"fraktur cap d"},"mathspeak":{"default":"fraktur upper D"}},"key":"1D507"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital e","short":"fraktur cap e"},"mathspeak":{"default":"fraktur upper E"}},"key":"1D508"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital f","short":"fraktur cap f"},"mathspeak":{"default":"fraktur upper F"}},"key":"1D509"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital g","short":"fraktur cap g"},"mathspeak":{"default":"fraktur upper G"}},"key":"1D50A"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital h","short":"fraktur cap h"},"mathspeak":{"default":"fraktur upper H"}},"key":"210C"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital i","short":"fraktur cap i"},"mathspeak":{"default":"fraktur upper I"}},"key":"2111"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital j","short":"fraktur cap j"},"mathspeak":{"default":"fraktur upper J"}},"key":"1D50D"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital k","short":"fraktur cap k"},"mathspeak":{"default":"fraktur upper K"}},"key":"1D50E"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital l","short":"fraktur cap l"},"mathspeak":{"default":"fraktur upper L"}},"key":"1D50F"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital m","short":"fraktur cap m"},"mathspeak":{"default":"fraktur upper M"}},"key":"1D510"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital n","short":"fraktur cap n"},"mathspeak":{"default":"fraktur upper N"}},"key":"1D511"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital o","short":"fraktur cap o"},"mathspeak":{"default":"fraktur upper O"}},"key":"1D512"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital p","short":"fraktur cap p"},"mathspeak":{"default":"fraktur upper P"}},"key":"1D513"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital q","short":"fraktur cap q"},"mathspeak":{"default":"fraktur upper Q"}},"key":"1D514"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital r","short":"fraktur cap r"},"mathspeak":{"default":"fraktur upper R"}},"key":"211C"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital s","short":"fraktur cap s"},"mathspeak":{"default":"fraktur upper S"}},"key":"1D516"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital t","short":"fraktur cap t"},"mathspeak":{"default":"fraktur upper T"}},"key":"1D517"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital u","short":"fraktur cap u"},"mathspeak":{"default":"fraktur upper U"}},"key":"1D518"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital v","short":"fraktur cap v"},"mathspeak":{"default":"fraktur upper V"}},"key":"1D519"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital w","short":"fraktur cap w"},"mathspeak":{"default":"fraktur upper W"}},"key":"1D51A"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital x","short":"fraktur cap x"},"mathspeak":{"default":"fraktur upper X"}},"key":"1D51B"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital y","short":"fraktur cap y"},"mathspeak":{"default":"fraktur upper Y"}},"key":"1D51C"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital z","short":"fraktur cap z"},"mathspeak":{"default":"fraktur upper Z"}},"key":"2128"},{"category":"Ll","mappings":{"default":{"default":"fraktur small a","short":"fraktur a"}},"key":"1D51E"},{"category":"Ll","mappings":{"default":{"default":"fraktur small b","short":"fraktur b"}},"key":"1D51F"},{"category":"Ll","mappings":{"default":{"default":"fraktur small c","short":"fraktur c"}},"key":"1D520"},{"category":"Ll","mappings":{"default":{"default":"fraktur small d","short":"fraktur d"}},"key":"1D521"},{"category":"Ll","mappings":{"default":{"default":"fraktur small e","short":"fraktur e"}},"key":"1D522"},{"category":"Ll","mappings":{"default":{"default":"fraktur small f","short":"fraktur f"}},"key":"1D523"},{"category":"Ll","mappings":{"default":{"default":"fraktur small g","short":"fraktur g"}},"key":"1D524"},{"category":"Ll","mappings":{"default":{"default":"fraktur small h","short":"fraktur h"}},"key":"1D525"},{"category":"Ll","mappings":{"default":{"default":"fraktur small i","short":"fraktur i"}},"key":"1D526"},{"category":"Ll","mappings":{"default":{"default":"fraktur small j","short":"fraktur j"}},"key":"1D527"},{"category":"Ll","mappings":{"default":{"default":"fraktur small k","short":"fraktur k"}},"key":"1D528"},{"category":"Ll","mappings":{"default":{"default":"fraktur small l","short":"fraktur l"}},"key":"1D529"},{"category":"Ll","mappings":{"default":{"default":"fraktur small m","short":"fraktur m"}},"key":"1D52A"},{"category":"Ll","mappings":{"default":{"default":"fraktur small n","short":"fraktur n"}},"key":"1D52B"},{"category":"Ll","mappings":{"default":{"default":"fraktur small o","short":"fraktur o"}},"key":"1D52C"},{"category":"Ll","mappings":{"default":{"default":"fraktur small p","short":"fraktur p"}},"key":"1D52D"},{"category":"Ll","mappings":{"default":{"default":"fraktur small q","short":"fraktur q"}},"key":"1D52E"},{"category":"Ll","mappings":{"default":{"default":"fraktur small r","short":"fraktur r"}},"key":"1D52F"},{"category":"Ll","mappings":{"default":{"default":"fraktur small s","short":"fraktur s"}},"key":"1D530"},{"category":"Ll","mappings":{"default":{"default":"fraktur small t","short":"fraktur t"}},"key":"1D531"},{"category":"Ll","mappings":{"default":{"default":"fraktur small u","short":"fraktur u"}},"key":"1D532"},{"category":"Ll","mappings":{"default":{"default":"fraktur small v","short":"fraktur v"}},"key":"1D533"},{"category":"Ll","mappings":{"default":{"default":"fraktur small w","short":"fraktur w"}},"key":"1D534"},{"category":"Ll","mappings":{"default":{"default":"fraktur small x","short":"fraktur x"}},"key":"1D535"},{"category":"Ll","mappings":{"default":{"default":"fraktur small y","short":"fraktur y"}},"key":"1D536"},{"category":"Ll","mappings":{"default":{"default":"fraktur small z","short":"fraktur z"}},"key":"1D537"}] diff --git a/assets/js/mathmaps/en/symbols/latin-mathfonts-italic.js b/assets/js/mathmaps/en/symbols/latin-mathfonts-italic.js new file mode 100644 index 0000000000000000000000000000000000000000..944b57ee154f024448912851ad7a61aba965aeef --- /dev/null +++ b/assets/js/mathmaps/en/symbols/latin-mathfonts-italic.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"Lu","mappings":{"default":{"default":"italic capital a","short":"italic cap a"},"mathspeak":{"default":"italic upper A"}},"key":"1D434"},{"category":"Lu","mappings":{"default":{"default":"italic capital b","short":"italic cap b"},"mathspeak":{"default":"italic upper B"}},"key":"1D435"},{"category":"Lu","mappings":{"default":{"default":"italic capital c","short":"italic cap c"},"mathspeak":{"default":"italic upper C"}},"key":"1D436"},{"category":"Lu","mappings":{"default":{"default":"italic capital d","short":"italic cap d"},"mathspeak":{"default":"italic upper D"}},"key":"1D437"},{"category":"Lu","mappings":{"default":{"default":"italic capital e","short":"italic cap e"},"mathspeak":{"default":"italic upper E"}},"key":"1D438"},{"category":"Lu","mappings":{"default":{"default":"italic capital f","short":"italic cap f"},"mathspeak":{"default":"italic upper F"}},"key":"1D439"},{"category":"Lu","mappings":{"default":{"default":"italic capital g","short":"italic cap g"},"mathspeak":{"default":"italic upper G"}},"key":"1D43A"},{"category":"Lu","mappings":{"default":{"default":"italic capital h","short":"italic cap h"},"mathspeak":{"default":"italic upper H"}},"key":"1D43B"},{"category":"Lu","mappings":{"default":{"default":"italic capital i","short":"italic cap i"},"mathspeak":{"default":"italic upper I"}},"key":"1D43C"},{"category":"Lu","mappings":{"default":{"default":"italic capital j","short":"italic cap j"},"mathspeak":{"default":"italic upper J"}},"key":"1D43D"},{"category":"Lu","mappings":{"default":{"default":"italic capital k","short":"italic cap k"},"mathspeak":{"default":"italic upper K"}},"key":"1D43E"},{"category":"Lu","mappings":{"default":{"default":"italic capital l","short":"italic cap l"},"mathspeak":{"default":"italic upper L"}},"key":"1D43F"},{"category":"Lu","mappings":{"default":{"default":"italic capital m","short":"italic cap m"},"mathspeak":{"default":"italic upper M"}},"key":"1D440"},{"category":"Lu","mappings":{"default":{"default":"italic capital n","short":"italic cap n"},"mathspeak":{"default":"italic upper N"}},"key":"1D441"},{"category":"Lu","mappings":{"default":{"default":"italic capital o","short":"italic cap o"},"mathspeak":{"default":"italic upper O"}},"key":"1D442"},{"category":"Lu","mappings":{"default":{"default":"italic capital p","short":"italic cap p"},"mathspeak":{"default":"italic upper P"}},"key":"1D443"},{"category":"Lu","mappings":{"default":{"default":"italic capital q","short":"italic cap q"},"mathspeak":{"default":"italic upper Q"}},"key":"1D444"},{"category":"Lu","mappings":{"default":{"default":"italic capital r","short":"italic cap r"},"mathspeak":{"default":"italic upper R"}},"key":"1D445"},{"category":"Lu","mappings":{"default":{"default":"italic capital s","short":"italic cap s"},"mathspeak":{"default":"italic upper S"}},"key":"1D446"},{"category":"Lu","mappings":{"default":{"default":"italic capital t","short":"italic cap t"},"mathspeak":{"default":"italic upper T"}},"key":"1D447"},{"category":"Lu","mappings":{"default":{"default":"italic capital u","short":"italic cap u"},"mathspeak":{"default":"italic upper U"}},"key":"1D448"},{"category":"Lu","mappings":{"default":{"default":"italic capital v","short":"italic cap v"},"mathspeak":{"default":"italic upper V"}},"key":"1D449"},{"category":"Lu","mappings":{"default":{"default":"italic capital w","short":"italic cap w"},"mathspeak":{"default":"italic upper W"}},"key":"1D44A"},{"category":"Lu","mappings":{"default":{"default":"italic capital x","short":"italic cap x"},"mathspeak":{"default":"italic upper X"}},"key":"1D44B"},{"category":"Lu","mappings":{"default":{"default":"italic capital y","short":"italic cap y"},"mathspeak":{"default":"italic upper Y"}},"key":"1D44C"},{"category":"Lu","mappings":{"default":{"default":"italic capital z","short":"italic cap z"},"mathspeak":{"default":"italic upper Z"}},"key":"1D44D"},{"category":"Ll","mappings":{"default":{"default":"italic small a","short":"italic a"}},"key":"1D44E"},{"category":"Ll","mappings":{"default":{"default":"italic small b","short":"italic b"}},"key":"1D44F"},{"category":"Ll","mappings":{"default":{"default":"italic small c","short":"italic c"}},"key":"1D450"},{"category":"Ll","mappings":{"default":{"default":"italic small d","short":"italic d"}},"key":"1D451"},{"category":"Ll","mappings":{"default":{"default":"italic small e","short":"italic e"}},"key":"1D452"},{"category":"Ll","mappings":{"default":{"default":"italic small f","short":"italic f"}},"key":"1D453"},{"category":"Ll","mappings":{"default":{"default":"italic small g","short":"italic g"}},"key":"1D454"},{"category":"Ll","mappings":{"default":{"default":"italic small h","short":"italic h"},"physics":{"default":"planck constant"}},"key":"210E"},{"category":"Ll","mappings":{"default":{"default":"italic small i","short":"italic i"}},"key":"1D456"},{"category":"Ll","mappings":{"default":{"default":"italic small j","short":"italic j"}},"key":"1D457"},{"category":"Ll","mappings":{"default":{"default":"italic small k","short":"italic k"}},"key":"1D458"},{"category":"Ll","mappings":{"default":{"default":"italic small l","short":"italic l"}},"key":"1D459"},{"category":"Ll","mappings":{"default":{"default":"italic small m","short":"italic m"}},"key":"1D45A"},{"category":"Ll","mappings":{"default":{"default":"italic small n","short":"italic n"}},"key":"1D45B"},{"category":"Ll","mappings":{"default":{"default":"italic small o","short":"italic o"}},"key":"1D45C"},{"category":"Ll","mappings":{"default":{"default":"italic small p","short":"italic p"}},"key":"1D45D"},{"category":"Ll","mappings":{"default":{"default":"italic small q","short":"italic q"}},"key":"1D45E"},{"category":"Ll","mappings":{"default":{"default":"italic small r","short":"italic r"}},"key":"1D45F"},{"category":"Ll","mappings":{"default":{"default":"italic small s","short":"italic s"}},"key":"1D460"},{"category":"Ll","mappings":{"default":{"default":"italic small t","short":"italic t"}},"key":"1D461"},{"category":"Ll","mappings":{"default":{"default":"italic small u","short":"italic u"}},"key":"1D462"},{"category":"Ll","mappings":{"default":{"default":"italic small v","short":"italic v"}},"key":"1D463"},{"category":"Ll","mappings":{"default":{"default":"italic small w","short":"italic w"}},"key":"1D464"},{"category":"Ll","mappings":{"default":{"default":"italic small x","short":"italic x"}},"key":"1D465"},{"category":"Ll","mappings":{"default":{"default":"italic small y","short":"italic y"}},"key":"1D466"},{"category":"Ll","mappings":{"default":{"default":"italic small z","short":"italic z"}},"key":"1D467"}] diff --git a/assets/js/mathmaps/en/symbols/latin-mathfonts-monospace.js b/assets/js/mathmaps/en/symbols/latin-mathfonts-monospace.js new file mode 100644 index 0000000000000000000000000000000000000000..1be5eb2c1873450b60eca6e166e5017382399961 --- /dev/null +++ b/assets/js/mathmaps/en/symbols/latin-mathfonts-monospace.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"Lu","mappings":{"default":{"default":"monospace capital a","short":"monospace cap a"},"mathspeak":{"default":"monospace upper A"}},"key":"1D670"},{"category":"Lu","mappings":{"default":{"default":"monospace capital b","short":"monospace cap b"},"mathspeak":{"default":"monospace upper B"}},"key":"1D671"},{"category":"Lu","mappings":{"default":{"default":"monospace capital c","short":"monospace cap c"},"mathspeak":{"default":"monospace upper C"}},"key":"1D672"},{"category":"Lu","mappings":{"default":{"default":"monospace capital d","short":"monospace cap d"},"mathspeak":{"default":"monospace upper D"}},"key":"1D673"},{"category":"Lu","mappings":{"default":{"default":"monospace capital e","short":"monospace cap e"},"mathspeak":{"default":"monospace upper E"}},"key":"1D674"},{"category":"Lu","mappings":{"default":{"default":"monospace capital f","short":"monospace cap f"},"mathspeak":{"default":"monospace upper F"}},"key":"1D675"},{"category":"Lu","mappings":{"default":{"default":"monospace capital g","short":"monospace cap g"},"mathspeak":{"default":"monospace upper G"}},"key":"1D676"},{"category":"Lu","mappings":{"default":{"default":"monospace capital h","short":"monospace cap h"},"mathspeak":{"default":"monospace upper H"}},"key":"1D677"},{"category":"Lu","mappings":{"default":{"default":"monospace capital i","short":"monospace cap i"},"mathspeak":{"default":"monospace upper I"}},"key":"1D678"},{"category":"Lu","mappings":{"default":{"default":"monospace capital j","short":"monospace cap j"},"mathspeak":{"default":"monospace upper J"}},"key":"1D679"},{"category":"Lu","mappings":{"default":{"default":"monospace capital k","short":"monospace cap k"},"mathspeak":{"default":"monospace upper K"}},"key":"1D67A"},{"category":"Lu","mappings":{"default":{"default":"monospace capital l","short":"monospace cap l"},"mathspeak":{"default":"monospace upper L"}},"key":"1D67B"},{"category":"Lu","mappings":{"default":{"default":"monospace capital m","short":"monospace cap m"},"mathspeak":{"default":"monospace upper M"}},"key":"1D67C"},{"category":"Lu","mappings":{"default":{"default":"monospace capital n","short":"monospace cap n"},"mathspeak":{"default":"monospace upper N"}},"key":"1D67D"},{"category":"Lu","mappings":{"default":{"default":"monospace capital o","short":"monospace cap o"},"mathspeak":{"default":"monospace upper O"}},"key":"1D67E"},{"category":"Lu","mappings":{"default":{"default":"monospace capital p","short":"monospace cap p"},"mathspeak":{"default":"monospace upper P"}},"key":"1D67F"},{"category":"Lu","mappings":{"default":{"default":"monospace capital q","short":"monospace cap q"},"mathspeak":{"default":"monospace upper Q"}},"key":"1D680"},{"category":"Lu","mappings":{"default":{"default":"monospace capital r","short":"monospace cap r"},"mathspeak":{"default":"monospace upper R"}},"key":"1D681"},{"category":"Lu","mappings":{"default":{"default":"monospace capital s","short":"monospace cap s"},"mathspeak":{"default":"monospace upper S"}},"key":"1D682"},{"category":"Lu","mappings":{"default":{"default":"monospace capital t","short":"monospace cap t"},"mathspeak":{"default":"monospace upper T"}},"key":"1D683"},{"category":"Lu","mappings":{"default":{"default":"monospace capital u","short":"monospace cap u"},"mathspeak":{"default":"monospace upper U"}},"key":"1D684"},{"category":"Lu","mappings":{"default":{"default":"monospace capital v","short":"monospace cap v"},"mathspeak":{"default":"monospace upper V"}},"key":"1D685"},{"category":"Lu","mappings":{"default":{"default":"monospace capital w","short":"monospace cap w"},"mathspeak":{"default":"monospace upper W"}},"key":"1D686"},{"category":"Lu","mappings":{"default":{"default":"monospace capital x","short":"monospace cap x"},"mathspeak":{"default":"monospace upper X"}},"key":"1D687"},{"category":"Lu","mappings":{"default":{"default":"monospace capital y","short":"monospace cap y"},"mathspeak":{"default":"monospace upper Y"}},"key":"1D688"},{"category":"Lu","mappings":{"default":{"default":"monospace capital z","short":"monospace cap z"},"mathspeak":{"default":"monospace upper Z"}},"key":"1D689"},{"category":"Ll","mappings":{"default":{"default":"monospace small a","short":"monospace a"}},"key":"1D68A"},{"category":"Ll","mappings":{"default":{"default":"monospace small b","short":"monospace b"}},"key":"1D68B"},{"category":"Ll","mappings":{"default":{"default":"monospace small c","short":"monospace c"}},"key":"1D68C"},{"category":"Ll","mappings":{"default":{"default":"monospace small d","short":"monospace d"}},"key":"1D68D"},{"category":"Ll","mappings":{"default":{"default":"monospace small e","short":"monospace e"}},"key":"1D68E"},{"category":"Ll","mappings":{"default":{"default":"monospace small f","short":"monospace f"}},"key":"1D68F"},{"category":"Ll","mappings":{"default":{"default":"monospace small g","short":"monospace g"}},"key":"1D690"},{"category":"Ll","mappings":{"default":{"default":"monospace small h","short":"monospace h"}},"key":"1D691"},{"category":"Ll","mappings":{"default":{"default":"monospace small i","short":"monospace i"}},"key":"1D692"},{"category":"Ll","mappings":{"default":{"default":"monospace small j","short":"monospace j"}},"key":"1D693"},{"category":"Ll","mappings":{"default":{"default":"monospace small k","short":"monospace k"}},"key":"1D694"},{"category":"Ll","mappings":{"default":{"default":"monospace small l","short":"monospace l"}},"key":"1D695"},{"category":"Ll","mappings":{"default":{"default":"monospace small m","short":"monospace m"}},"key":"1D696"},{"category":"Ll","mappings":{"default":{"default":"monospace small n","short":"monospace n"}},"key":"1D697"},{"category":"Ll","mappings":{"default":{"default":"monospace small o","short":"monospace o"}},"key":"1D698"},{"category":"Ll","mappings":{"default":{"default":"monospace small p","short":"monospace p"}},"key":"1D699"},{"category":"Ll","mappings":{"default":{"default":"monospace small q","short":"monospace q"}},"key":"1D69A"},{"category":"Ll","mappings":{"default":{"default":"monospace small r","short":"monospace r"}},"key":"1D69B"},{"category":"Ll","mappings":{"default":{"default":"monospace small s","short":"monospace s"}},"key":"1D69C"},{"category":"Ll","mappings":{"default":{"default":"monospace small t","short":"monospace t"}},"key":"1D69D"},{"category":"Ll","mappings":{"default":{"default":"monospace small u","short":"monospace u"}},"key":"1D69E"},{"category":"Ll","mappings":{"default":{"default":"monospace small v","short":"monospace v"}},"key":"1D69F"},{"category":"Ll","mappings":{"default":{"default":"monospace small w","short":"monospace w"}},"key":"1D6A0"},{"category":"Ll","mappings":{"default":{"default":"monospace small x","short":"monospace x"}},"key":"1D6A1"},{"category":"Ll","mappings":{"default":{"default":"monospace small y","short":"monospace y"}},"key":"1D6A2"},{"category":"Ll","mappings":{"default":{"default":"monospace small z","short":"monospace z"}},"key":"1D6A3"}] diff --git a/assets/js/mathmaps/en/symbols/latin-mathfonts-sans-serif-bold.js b/assets/js/mathmaps/en/symbols/latin-mathfonts-sans-serif-bold.js new file mode 100644 index 0000000000000000000000000000000000000000..d5b39fc79a74a4c8c9918875509dc0f3245b78d7 --- /dev/null +++ b/assets/js/mathmaps/en/symbols/latin-mathfonts-sans-serif-bold.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital a","short":"sans serif bold cap a"},"mathspeak":{"default":"sans serif bold upper A"}},"key":"1D5D4"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital b","short":"sans serif bold cap b"},"mathspeak":{"default":"sans serif bold upper B"}},"key":"1D5D5"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital c","short":"sans serif bold cap c"},"mathspeak":{"default":"sans serif bold upper C"}},"key":"1D5D6"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital d","short":"sans serif bold cap d"},"mathspeak":{"default":"sans serif bold upper D"}},"key":"1D5D7"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital e","short":"sans serif bold cap e"},"mathspeak":{"default":"sans serif bold upper E"}},"key":"1D5D8"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital f","short":"sans serif bold cap f"},"mathspeak":{"default":"sans serif bold upper F"}},"key":"1D5D9"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital g","short":"sans serif bold cap g"},"mathspeak":{"default":"sans serif bold upper G"}},"key":"1D5DA"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital h","short":"sans serif bold cap h"},"mathspeak":{"default":"sans serif bold upper H"}},"key":"1D5DB"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital i","short":"sans serif bold cap i"},"mathspeak":{"default":"sans serif bold upper I"}},"key":"1D5DC"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital j","short":"sans serif bold cap j"},"mathspeak":{"default":"sans serif bold upper J"}},"key":"1D5DD"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital k","short":"sans serif bold cap k"},"mathspeak":{"default":"sans serif bold upper K"}},"key":"1D5DE"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital l","short":"sans serif bold cap l"},"mathspeak":{"default":"sans serif bold upper L"}},"key":"1D5DF"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital m","short":"sans serif bold cap m"},"mathspeak":{"default":"sans serif bold upper M"}},"key":"1D5E0"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital n","short":"sans serif bold cap n"},"mathspeak":{"default":"sans serif bold upper N"}},"key":"1D5E1"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital o","short":"sans serif bold cap o"},"mathspeak":{"default":"sans serif bold upper O"}},"key":"1D5E2"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital p","short":"sans serif bold cap p"},"mathspeak":{"default":"sans serif bold upper P"}},"key":"1D5E3"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital q","short":"sans serif bold cap q"},"mathspeak":{"default":"sans serif bold upper Q"}},"key":"1D5E4"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital r","short":"sans serif bold cap r"},"mathspeak":{"default":"sans serif bold upper R"}},"key":"1D5E5"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital s","short":"sans serif bold cap s"},"mathspeak":{"default":"sans serif bold upper S"}},"key":"1D5E6"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital t","short":"sans serif bold cap t"},"mathspeak":{"default":"sans serif bold upper T"}},"key":"1D5E7"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital u","short":"sans serif bold cap u"},"mathspeak":{"default":"sans serif bold upper U"}},"key":"1D5E8"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital v","short":"sans serif bold cap v"},"mathspeak":{"default":"sans serif bold upper V"}},"key":"1D5E9"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital w","short":"sans serif bold cap w"},"mathspeak":{"default":"sans serif bold upper W"}},"key":"1D5EA"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital x","short":"sans serif bold cap x"},"mathspeak":{"default":"sans serif bold upper X"}},"key":"1D5EB"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital y","short":"sans serif bold cap y"},"mathspeak":{"default":"sans serif bold upper Y"}},"key":"1D5EC"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital z","short":"sans serif bold cap z"},"mathspeak":{"default":"sans serif bold upper Z"}},"key":"1D5ED"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small a","short":"sans serif bold a"}},"key":"1D5EE"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small b","short":"sans serif bold b"}},"key":"1D5EF"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small c","short":"sans serif bold c"}},"key":"1D5F0"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small d","short":"sans serif bold d"}},"key":"1D5F1"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small e","short":"sans serif bold e"}},"key":"1D5F2"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small f","short":"sans serif bold f"}},"key":"1D5F3"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small g","short":"sans serif bold g"}},"key":"1D5F4"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small h","short":"sans serif bold h"}},"key":"1D5F5"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small i","short":"sans serif bold i"}},"key":"1D5F6"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small j","short":"sans serif bold j"}},"key":"1D5F7"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small k","short":"sans serif bold k"}},"key":"1D5F8"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small l","short":"sans serif bold l"}},"key":"1D5F9"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small m","short":"sans serif bold m"}},"key":"1D5FA"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small n","short":"sans serif bold n"}},"key":"1D5FB"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small o","short":"sans serif bold o"}},"key":"1D5FC"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small p","short":"sans serif bold p"}},"key":"1D5FD"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small q","short":"sans serif bold q"}},"key":"1D5FE"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small r","short":"sans serif bold r"}},"key":"1D5FF"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small s","short":"sans serif bold s"}},"key":"1D600"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small t","short":"sans serif bold t"}},"key":"1D601"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small u","short":"sans serif bold u"}},"key":"1D602"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small v","short":"sans serif bold v"}},"key":"1D603"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small w","short":"sans serif bold w"}},"key":"1D604"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small x","short":"sans serif bold x"}},"key":"1D605"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small y","short":"sans serif bold y"}},"key":"1D606"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small z","short":"sans serif bold z"}},"key":"1D607"}] diff --git a/assets/js/mathmaps/en/symbols/latin-mathfonts-sans-serif-italic.js b/assets/js/mathmaps/en/symbols/latin-mathfonts-sans-serif-italic.js new file mode 100644 index 0000000000000000000000000000000000000000..c12c5c14cfe1709e769491d882501e4fbd8a6907 --- /dev/null +++ b/assets/js/mathmaps/en/symbols/latin-mathfonts-sans-serif-italic.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital a","short":"sans serif italic cap a"},"mathspeak":{"default":"sans serif italic upper A"}},"key":"1D608"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital b","short":"sans serif italic cap b"},"mathspeak":{"default":"sans serif italic upper B"}},"key":"1D609"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital c","short":"sans serif italic cap c"},"mathspeak":{"default":"sans serif italic upper C"}},"key":"1D60A"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital d","short":"sans serif italic cap d"},"mathspeak":{"default":"sans serif italic upper D"}},"key":"1D60B"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital e","short":"sans serif italic cap e"},"mathspeak":{"default":"sans serif italic upper E"}},"key":"1D60C"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital f","short":"sans serif italic cap f"},"mathspeak":{"default":"sans serif italic upper F"}},"key":"1D60D"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital g","short":"sans serif italic cap g"},"mathspeak":{"default":"sans serif italic upper G"}},"key":"1D60E"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital h","short":"sans serif italic cap h"},"mathspeak":{"default":"sans serif italic upper H"}},"key":"1D60F"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital i","short":"sans serif italic cap i"},"mathspeak":{"default":"sans serif italic upper I"}},"key":"1D610"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital j","short":"sans serif italic cap j"},"mathspeak":{"default":"sans serif italic upper J"}},"key":"1D611"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital k","short":"sans serif italic cap k"},"mathspeak":{"default":"sans serif italic upper K"}},"key":"1D612"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital l","short":"sans serif italic cap l"},"mathspeak":{"default":"sans serif italic upper L"}},"key":"1D613"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital m","short":"sans serif italic cap m"},"mathspeak":{"default":"sans serif italic upper M"}},"key":"1D614"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital n","short":"sans serif italic cap n"},"mathspeak":{"default":"sans serif italic upper N"}},"key":"1D615"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital o","short":"sans serif italic cap o"},"mathspeak":{"default":"sans serif italic upper O"}},"key":"1D616"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital p","short":"sans serif italic cap p"},"mathspeak":{"default":"sans serif italic upper P"}},"key":"1D617"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital q","short":"sans serif italic cap q"},"mathspeak":{"default":"sans serif italic upper Q"}},"key":"1D618"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital r","short":"sans serif italic cap r"},"mathspeak":{"default":"sans serif italic upper R"}},"key":"1D619"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital s","short":"sans serif italic cap s"},"mathspeak":{"default":"sans serif italic upper S"}},"key":"1D61A"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital t","short":"sans serif italic cap t"},"mathspeak":{"default":"sans serif italic upper T"}},"key":"1D61B"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital u","short":"sans serif italic cap u"},"mathspeak":{"default":"sans serif italic upper U"}},"key":"1D61C"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital v","short":"sans serif italic cap v"},"mathspeak":{"default":"sans serif italic upper V"}},"key":"1D61D"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital w","short":"sans serif italic cap w"},"mathspeak":{"default":"sans serif italic upper W"}},"key":"1D61E"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital x","short":"sans serif italic cap x"},"mathspeak":{"default":"sans serif italic upper X"}},"key":"1D61F"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital y","short":"sans serif italic cap y"},"mathspeak":{"default":"sans serif italic upper Y"}},"key":"1D620"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital z","short":"sans serif italic cap z"},"mathspeak":{"default":"sans serif italic upper Z"}},"key":"1D621"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small a","short":"sans serif italic a"}},"key":"1D622"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small b","short":"sans serif italic b"}},"key":"1D623"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small c","short":"sans serif italic c"}},"key":"1D624"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small d","short":"sans serif italic d"}},"key":"1D625"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small e","short":"sans serif italic e"}},"key":"1D626"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small f","short":"sans serif italic f"}},"key":"1D627"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small g","short":"sans serif italic g"}},"key":"1D628"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small h","short":"sans serif italic h"}},"key":"1D629"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small i","short":"sans serif italic i"}},"key":"1D62A"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small j","short":"sans serif italic j"}},"key":"1D62B"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small k","short":"sans serif italic k"}},"key":"1D62C"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small l","short":"sans serif italic l"}},"key":"1D62D"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small m","short":"sans serif italic m"}},"key":"1D62E"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small n","short":"sans serif italic n"}},"key":"1D62F"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small o","short":"sans serif italic o"}},"key":"1D630"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small p","short":"sans serif italic p"}},"key":"1D631"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small q","short":"sans serif italic q"}},"key":"1D632"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small r","short":"sans serif italic r"}},"key":"1D633"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small s","short":"sans serif italic s"}},"key":"1D634"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small t","short":"sans serif italic t"}},"key":"1D635"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small u","short":"sans serif italic u"}},"key":"1D636"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small v","short":"sans serif italic v"}},"key":"1D637"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small w","short":"sans serif italic w"}},"key":"1D638"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small x","short":"sans serif italic x"}},"key":"1D639"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small y","short":"sans serif italic y"}},"key":"1D63A"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small z","short":"sans serif italic z"}},"key":"1D63B"}] diff --git a/assets/js/mathmaps/en/symbols/latin-mathfonts-sans-serif.js b/assets/js/mathmaps/en/symbols/latin-mathfonts-sans-serif.js new file mode 100644 index 0000000000000000000000000000000000000000..f3b69ce8dc66484990193c8b9ebad3ce6e738e6c --- /dev/null +++ b/assets/js/mathmaps/en/symbols/latin-mathfonts-sans-serif.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital a","short":"sans serif cap a"},"mathspeak":{"default":"sans serif upper A"}},"key":"1D5A0"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital b","short":"sans serif cap b"},"mathspeak":{"default":"sans serif upper B"}},"key":"1D5A1"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital c","short":"sans serif cap c"},"mathspeak":{"default":"sans serif upper C"}},"key":"1D5A2"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital d","short":"sans serif cap d"},"mathspeak":{"default":"sans serif upper D"}},"key":"1D5A3"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital e","short":"sans serif cap e"},"mathspeak":{"default":"sans serif upper E"}},"key":"1D5A4"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital f","short":"sans serif cap f"},"mathspeak":{"default":"sans serif upper F"}},"key":"1D5A5"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital g","short":"sans serif cap g"},"mathspeak":{"default":"sans serif upper G"}},"key":"1D5A6"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital h","short":"sans serif cap h"},"mathspeak":{"default":"sans serif upper H"}},"key":"1D5A7"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital i","short":"sans serif cap i"},"mathspeak":{"default":"sans serif upper I"}},"key":"1D5A8"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital j","short":"sans serif cap j"},"mathspeak":{"default":"sans serif upper J"}},"key":"1D5A9"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital k","short":"sans serif cap k"},"mathspeak":{"default":"sans serif upper K"}},"key":"1D5AA"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital l","short":"sans serif cap l"},"mathspeak":{"default":"sans serif upper L"}},"key":"1D5AB"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital m","short":"sans serif cap m"},"mathspeak":{"default":"sans serif upper M"}},"key":"1D5AC"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital n","short":"sans serif cap n"},"mathspeak":{"default":"sans serif upper N"}},"key":"1D5AD"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital o","short":"sans serif cap o"},"mathspeak":{"default":"sans serif upper O"}},"key":"1D5AE"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital p","short":"sans serif cap p"},"mathspeak":{"default":"sans serif upper P"}},"key":"1D5AF"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital q","short":"sans serif cap q"},"mathspeak":{"default":"sans serif upper Q"}},"key":"1D5B0"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital r","short":"sans serif cap r"},"mathspeak":{"default":"sans serif upper R"}},"key":"1D5B1"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital s","short":"sans serif cap s"},"mathspeak":{"default":"sans serif upper S"}},"key":"1D5B2"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital t","short":"sans serif cap t"},"mathspeak":{"default":"sans serif upper T"}},"key":"1D5B3"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital u","short":"sans serif cap u"},"mathspeak":{"default":"sans serif upper U"}},"key":"1D5B4"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital v","short":"sans serif cap v"},"mathspeak":{"default":"sans serif upper V"}},"key":"1D5B5"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital w","short":"sans serif cap w"},"mathspeak":{"default":"sans serif upper W"}},"key":"1D5B6"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital x","short":"sans serif cap x"},"mathspeak":{"default":"sans serif upper X"}},"key":"1D5B7"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital y","short":"sans serif cap y"},"mathspeak":{"default":"sans serif upper Y"}},"key":"1D5B8"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital z","short":"sans serif cap z"},"mathspeak":{"default":"sans serif upper Z"}},"key":"1D5B9"},{"category":"Ll","mappings":{"default":{"default":"sans serif small a","short":"sans serif a"}},"key":"1D5BA"},{"category":"Ll","mappings":{"default":{"default":"sans serif small b","short":"sans serif b"}},"key":"1D5BB"},{"category":"Ll","mappings":{"default":{"default":"sans serif small c","short":"sans serif c"}},"key":"1D5BC"},{"category":"Ll","mappings":{"default":{"default":"sans serif small d","short":"sans serif d"}},"key":"1D5BD"},{"category":"Ll","mappings":{"default":{"default":"sans serif small e","short":"sans serif e"}},"key":"1D5BE"},{"category":"Ll","mappings":{"default":{"default":"sans serif small f","short":"sans serif f"}},"key":"1D5BF"},{"category":"Ll","mappings":{"default":{"default":"sans serif small g","short":"sans serif g"}},"key":"1D5C0"},{"category":"Ll","mappings":{"default":{"default":"sans serif small h","short":"sans serif h"}},"key":"1D5C1"},{"category":"Ll","mappings":{"default":{"default":"sans serif small i","short":"sans serif i"}},"key":"1D5C2"},{"category":"Ll","mappings":{"default":{"default":"sans serif small j","short":"sans serif j"}},"key":"1D5C3"},{"category":"Ll","mappings":{"default":{"default":"sans serif small k","short":"sans serif k"}},"key":"1D5C4"},{"category":"Ll","mappings":{"default":{"default":"sans serif small l","short":"sans serif l"}},"key":"1D5C5"},{"category":"Ll","mappings":{"default":{"default":"sans serif small m","short":"sans serif m"}},"key":"1D5C6"},{"category":"Ll","mappings":{"default":{"default":"sans serif small n","short":"sans serif n"}},"key":"1D5C7"},{"category":"Ll","mappings":{"default":{"default":"sans serif small o","short":"sans serif o"}},"key":"1D5C8"},{"category":"Ll","mappings":{"default":{"default":"sans serif small p","short":"sans serif p"}},"key":"1D5C9"},{"category":"Ll","mappings":{"default":{"default":"sans serif small q","short":"sans serif q"}},"key":"1D5CA"},{"category":"Ll","mappings":{"default":{"default":"sans serif small r","short":"sans serif r"}},"key":"1D5CB"},{"category":"Ll","mappings":{"default":{"default":"sans serif small s","short":"sans serif s"}},"key":"1D5CC"},{"category":"Ll","mappings":{"default":{"default":"sans serif small t","short":"sans serif t"}},"key":"1D5CD"},{"category":"Ll","mappings":{"default":{"default":"sans serif small u","short":"sans serif u"}},"key":"1D5CE"},{"category":"Ll","mappings":{"default":{"default":"sans serif small v","short":"sans serif v"}},"key":"1D5CF"},{"category":"Ll","mappings":{"default":{"default":"sans serif small w","short":"sans serif w"}},"key":"1D5D0"},{"category":"Ll","mappings":{"default":{"default":"sans serif small x","short":"sans serif x"}},"key":"1D5D1"},{"category":"Ll","mappings":{"default":{"default":"sans serif small y","short":"sans serif y"}},"key":"1D5D2"},{"category":"Ll","mappings":{"default":{"default":"sans serif small z","short":"sans serif z"}},"key":"1D5D3"}] diff --git a/assets/js/mathmaps/en/symbols/latin-mathfonts-script.js b/assets/js/mathmaps/en/symbols/latin-mathfonts-script.js new file mode 100644 index 0000000000000000000000000000000000000000..277aae7aaad9d6b68799e360b792749d63693708 --- /dev/null +++ b/assets/js/mathmaps/en/symbols/latin-mathfonts-script.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"Lu","mappings":{"default":{"default":"script capital a","short":"script cap a"},"mathspeak":{"default":"script upper A"}},"key":"1D49C"},{"category":"Lu","mappings":{"default":{"default":"script capital b","short":"script cap b"},"mathspeak":{"default":"script upper B"}},"key":"212C"},{"category":"Lu","mappings":{"default":{"default":"script capital c","short":"script cap c"},"mathspeak":{"default":"script upper C"}},"key":"1D49E"},{"category":"Lu","mappings":{"default":{"default":"script capital d","short":"script cap d"},"mathspeak":{"default":"script upper D"}},"key":"1D49F"},{"category":"Lu","mappings":{"default":{"default":"script capital e","short":"script cap e"},"mathspeak":{"default":"script upper E"}},"key":"2130"},{"category":"Lu","mappings":{"default":{"default":"script capital f","short":"script cap f"},"mathspeak":{"default":"script upper F"}},"key":"2131"},{"category":"Lu","mappings":{"default":{"default":"script capital g","short":"script cap g"},"mathspeak":{"default":"script upper G"}},"key":"1D4A2"},{"category":"Lu","mappings":{"default":{"default":"script capital h","short":"script cap h"},"mathspeak":{"default":"script upper H"}},"key":"210B"},{"category":"Lu","mappings":{"default":{"default":"script capital i","short":"script cap i"},"mathspeak":{"default":"script upper I"}},"key":"2110"},{"category":"Lu","mappings":{"default":{"default":"script capital j","short":"script cap j"},"mathspeak":{"default":"script upper J"}},"key":"1D4A5"},{"category":"Lu","mappings":{"default":{"default":"script capital k","short":"script cap k"},"mathspeak":{"default":"script upper K"}},"key":"1D4A6"},{"category":"Lu","mappings":{"default":{"default":"script capital l","short":"script cap l"},"mathspeak":{"default":"script upper L"}},"key":"2112"},{"category":"Lu","mappings":{"default":{"default":"script capital m","short":"script cap m"},"mathspeak":{"default":"script upper M"}},"key":"2133"},{"category":"Lu","mappings":{"default":{"default":"script capital n","short":"script cap n"},"mathspeak":{"default":"script upper N"}},"key":"1D4A9"},{"category":"Lu","mappings":{"default":{"default":"script capital o","short":"script cap o"},"mathspeak":{"default":"script upper O"}},"key":"1D4AA"},{"category":"Lu","mappings":{"default":{"default":"script capital p","short":"script cap p"},"mathspeak":{"default":"script upper P"}},"key":"1D4AB"},{"category":"Lu","mappings":{"default":{"default":"script capital q","short":"script cap q"},"mathspeak":{"default":"script upper Q"}},"key":"1D4AC"},{"category":"Lu","mappings":{"default":{"default":"script capital r","short":"script cap r"},"mathspeak":{"default":"script upper R"}},"key":"211B"},{"category":"Lu","mappings":{"default":{"default":"script capital s","short":"script cap s"},"mathspeak":{"default":"script upper S"}},"key":"1D4AE"},{"category":"Lu","mappings":{"default":{"default":"script capital t","short":"script cap t"},"mathspeak":{"default":"script upper T"}},"key":"1D4AF"},{"category":"Lu","mappings":{"default":{"default":"script capital u","short":"script cap u"},"mathspeak":{"default":"script upper U"}},"key":"1D4B0"},{"category":"Lu","mappings":{"default":{"default":"script capital v","short":"script cap v"},"mathspeak":{"default":"script upper V"}},"key":"1D4B1"},{"category":"Lu","mappings":{"default":{"default":"script capital w","short":"script cap w"},"mathspeak":{"default":"script upper W"}},"key":"1D4B2"},{"category":"Lu","mappings":{"default":{"default":"script capital x","short":"script cap x"},"mathspeak":{"default":"script upper X"}},"key":"1D4B3"},{"category":"Lu","mappings":{"default":{"default":"script capital y","short":"script cap y"},"mathspeak":{"default":"script upper Y"}},"key":"1D4B4"},{"category":"Lu","mappings":{"default":{"default":"script capital z","short":"script cap z"},"mathspeak":{"default":"script upper Z"}},"key":"1D4B5"},{"category":"Ll","mappings":{"default":{"default":"script small a","short":"script a"}},"key":"1D4B6"},{"category":"Ll","mappings":{"default":{"default":"script small b","short":"script b"}},"key":"1D4B7"},{"category":"Ll","mappings":{"default":{"default":"script small c","short":"script c"}},"key":"1D4B8"},{"category":"Ll","mappings":{"default":{"default":"script small d","short":"script d"}},"key":"1D4B9"},{"category":"Ll","mappings":{"default":{"default":"script small e","short":"script e"}},"key":"212F"},{"category":"Ll","mappings":{"default":{"default":"script small f","short":"script f"}},"key":"1D4BB"},{"category":"Ll","mappings":{"default":{"default":"script small g","short":"script g"}},"key":"210A"},{"category":"Ll","mappings":{"default":{"default":"script small h","short":"script h"}},"key":"1D4BD"},{"category":"Ll","mappings":{"default":{"default":"script small i","short":"script i"}},"key":"1D4BE"},{"category":"Ll","mappings":{"default":{"default":"script small j","short":"script j"}},"key":"1D4BF"},{"category":"Ll","mappings":{"default":{"default":"script small k","short":"script k"}},"key":"1D4C0"},{"category":"Ll","mappings":{"default":{"default":"script small l","short":"script l"}},"key":"1D4C1"},{"category":"Ll","mappings":{"default":{"default":"script small m","short":"script m"}},"key":"1D4C2"},{"category":"Ll","mappings":{"default":{"default":"script small n","short":"script n"}},"key":"1D4C3"},{"category":"Ll","mappings":{"default":{"default":"script small o","short":"script o"}},"key":"2134"},{"category":"Ll","mappings":{"default":{"default":"script small p","short":"script p"}},"key":"1D4C5"},{"category":"Ll","mappings":{"default":{"default":"script small q","short":"script q"}},"key":"1D4C6"},{"category":"Ll","mappings":{"default":{"default":"script small r","short":"script r"}},"key":"1D4C7"},{"category":"Ll","mappings":{"default":{"default":"script small s","short":"script s"}},"key":"1D4C8"},{"category":"Ll","mappings":{"default":{"default":"script small t","short":"script t"}},"key":"1D4C9"},{"category":"Ll","mappings":{"default":{"default":"script small u","short":"script u"}},"key":"1D4CA"},{"category":"Ll","mappings":{"default":{"default":"script small v","short":"script v"}},"key":"1D4CB"},{"category":"Ll","mappings":{"default":{"default":"script small w","short":"script w"}},"key":"1D4CC"},{"category":"Ll","mappings":{"default":{"default":"script small x","short":"script x"}},"key":"1D4CD"},{"category":"Ll","mappings":{"default":{"default":"script small y","short":"script y"}},"key":"1D4CE"},{"category":"Ll","mappings":{"default":{"default":"script small z","short":"script z"}},"key":"1D4CF"}] diff --git a/assets/js/mathmaps/en/symbols/latin-rest.js b/assets/js/mathmaps/en/symbols/latin-rest.js new file mode 100644 index 0000000000000000000000000000000000000000..a1f47f6a2c7ae615604352351dbd66df92688d0e --- /dev/null +++ b/assets/js/mathmaps/en/symbols/latin-rest.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"Mn","key":"0363","mappings":{"default":{"default":"combining latin small letter a","short":"combining a"}}},{"category":"Mn","key":"0364","mappings":{"default":{"default":"combining latin small letter e","short":"combining e"}}},{"category":"Mn","key":"0365","mappings":{"default":{"default":"combining latin small letter i","short":"combining i"}}},{"category":"Mn","key":"0366","mappings":{"default":{"default":"combining latin small letter o","short":"combining o"}}},{"category":"Mn","key":"0367","mappings":{"default":{"default":"combining latin small letter u","short":"combining u"}}},{"category":"Mn","key":"0368","mappings":{"default":{"default":"combining latin small letter c","short":"combining c"}}},{"category":"Mn","key":"0369","mappings":{"default":{"default":"combining latin small letter d","short":"combining d"}}},{"category":"Mn","key":"036A","mappings":{"default":{"default":"combining latin small letter h","short":"combining h"}}},{"category":"Mn","key":"036B","mappings":{"default":{"default":"combining latin small letter m","short":"combining m"}}},{"category":"Mn","key":"036C","mappings":{"default":{"default":"combining latin small letter r","short":"combining r"}}},{"category":"Mn","key":"036D","mappings":{"default":{"default":"combining latin small letter t","short":"combining t"}}},{"category":"Mn","key":"036E","mappings":{"default":{"default":"combining latin small letter v","short":"combining v"}}},{"category":"Mn","key":"036F","mappings":{"default":{"default":"combining latin small letter x","short":"combining x"}}},{"category":"Lm","key":"1D62","mappings":{"default":{"default":"latin subscript small letter i","short":"subscript i"}}},{"category":"Lm","key":"1D63","mappings":{"default":{"default":"latin subscript small letter r","short":"subscript r"}}},{"category":"Lm","key":"1D64","mappings":{"default":{"default":"latin subscript small letter u","short":"subscript u"}}},{"category":"Lm","key":"1D65","mappings":{"default":{"default":"latin subscript small letter v","short":"subscript v"}}},{"category":"Mn","key":"1DCA","mappings":{"default":{"default":"combining latin small letter r below","short":"combining r below"}}},{"category":"Mn","key":"1DD3","mappings":{"default":{"default":"combining latin small letter flattened open a above","short":"combining flattened open a above"}}},{"category":"Mn","key":"1DD4","mappings":{"default":{"default":"combining latin small letter ae","short":"combining ae"}}},{"category":"Mn","key":"1DD5","mappings":{"default":{"default":"combining latin small letter ao","short":"combining ao"}}},{"category":"Mn","key":"1DD6","mappings":{"default":{"default":"combining latin small letter av","short":"combining av"}}},{"category":"Mn","key":"1DD7","mappings":{"default":{"default":"combining latin small letter c cedilla","short":"combining c cedilla"}}},{"category":"Mn","key":"1DD8","mappings":{"default":{"default":"combining latin small letter insular d","short":"combining insular d"}}},{"category":"Mn","key":"1DD9","mappings":{"default":{"default":"combining latin small letter eth","short":"combining eth"}}},{"category":"Mn","key":"1DDA","mappings":{"default":{"default":"combining latin small letter g","short":"combining g"}}},{"category":"Mn","key":"1DDB","mappings":{"default":{"default":"combining latin letter small capital g","short":"combining small cap g"},"mathspeak":{"default":"combining small upper G"}}},{"category":"Mn","key":"1DDC","mappings":{"default":{"default":"combining latin small letter k","short":"combining k"}}},{"category":"Mn","key":"1DDD","mappings":{"default":{"default":"combining latin small letter l","short":"combining l"}}},{"category":"Mn","key":"1DDE","mappings":{"default":{"default":"combining latin letter small capital l","short":"combining small cap l"},"mathspeak":{"default":"combining small upper L"}}},{"category":"Mn","key":"1DDF","mappings":{"default":{"default":"combining latin letter small capital m","short":"combining small cap m"},"mathspeak":{"default":"combining small upper M"}}},{"category":"Mn","key":"1DE0","mappings":{"default":{"default":"combining latin small letter n","short":"combining n"}}},{"category":"Mn","key":"1DE1","mappings":{"default":{"default":"combining latin letter small capital n","short":"combining small cap n"},"mathspeak":{"default":"combining small upper N"}}},{"category":"Mn","key":"1DE2","mappings":{"default":{"default":"combining latin letter small capital r","short":"combining small cap r"},"mathspeak":{"default":"combining small upper R"}}},{"category":"Mn","key":"1DE3","mappings":{"default":{"default":"combining latin small letter r rotunda","short":"combining r rotunda"}}},{"category":"Mn","key":"1DE4","mappings":{"default":{"default":"combining latin small letter s","short":"combining s"}}},{"category":"Mn","key":"1DE5","mappings":{"default":{"default":"combining latin small letter long s","short":"combining long s"}}},{"category":"Mn","key":"1DE6","mappings":{"default":{"default":"combining latin small letter z","short":"combining z"}}},{"category":"Lm","key":"2071","mappings":{"default":{"default":"superscript latin small letter i","short":"superscript i"}}},{"category":"Lm","key":"207F","mappings":{"default":{"default":"superscript latin small letter n","short":"superscript n"}}},{"category":"Lm","key":"2090","mappings":{"default":{"default":"latin subscript small letter a","short":"subscript a"}}},{"category":"Lm","key":"2091","mappings":{"default":{"default":"latin subscript small letter e","short":"subscript e"}}},{"category":"Lm","key":"2092","mappings":{"default":{"default":"latin subscript small letter o","short":"subscript o"}}},{"category":"Lm","key":"2093","mappings":{"default":{"default":"latin subscript small letter x","short":"subscript x"}}},{"category":"Lm","key":"2094","mappings":{"default":{"default":"latin subscript small letter schwa","short":"subscript schwa"}}},{"category":"Lm","key":"2095","mappings":{"default":{"default":"latin subscript small letter h","short":"subscript h"}}},{"category":"Lm","key":"2096","mappings":{"default":{"default":"latin subscript small letter k","short":"subscript k"}}},{"category":"Lm","key":"2097","mappings":{"default":{"default":"latin subscript small letter l","short":"subscript l"}}},{"category":"Lm","key":"2098","mappings":{"default":{"default":"latin subscript small letter m","short":"subscript m"}}},{"category":"Lm","key":"2099","mappings":{"default":{"default":"latin subscript small letter n","short":"subscript n"}}},{"category":"Lm","key":"209A","mappings":{"default":{"default":"latin subscript small letter p","short":"subscript p"}}},{"category":"Lm","key":"209B","mappings":{"default":{"default":"latin subscript small letter s","short":"subscript s"}}},{"category":"Lm","key":"209C","mappings":{"default":{"default":"latin subscript small letter t","short":"subscript t"}}},{"category":"So","key":"249C","mappings":{"default":{"default":"parenthesized latin small letter a","short":"parenthesized a"}}},{"category":"So","key":"249D","mappings":{"default":{"default":"parenthesized latin small letter b","short":"parenthesized b"}}},{"category":"So","key":"249E","mappings":{"default":{"default":"parenthesized latin small letter c","short":"parenthesized c"}}},{"category":"So","key":"249F","mappings":{"default":{"default":"parenthesized latin small letter d","short":"parenthesized d"}}},{"category":"So","key":"24A0","mappings":{"default":{"default":"parenthesized latin small letter e","short":"parenthesized e"}}},{"category":"So","key":"24A1","mappings":{"default":{"default":"parenthesized latin small letter f","short":"parenthesized f"}}},{"category":"So","key":"24A2","mappings":{"default":{"default":"parenthesized latin small letter g","short":"parenthesized g"}}},{"category":"So","key":"24A3","mappings":{"default":{"default":"parenthesized latin small letter h","short":"parenthesized h"}}},{"category":"So","key":"24A4","mappings":{"default":{"default":"parenthesized latin small letter i","short":"parenthesized i"}}},{"category":"So","key":"24A5","mappings":{"default":{"default":"parenthesized latin small letter j","short":"parenthesized j"}}},{"category":"So","key":"24A6","mappings":{"default":{"default":"parenthesized latin small letter k","short":"parenthesized k"}}},{"category":"So","key":"24A7","mappings":{"default":{"default":"parenthesized latin small letter l","short":"parenthesized l"}}},{"category":"So","key":"24A8","mappings":{"default":{"default":"parenthesized latin small letter m","short":"parenthesized m"}}},{"category":"So","key":"24A9","mappings":{"default":{"default":"parenthesized latin small letter n","short":"parenthesized n"}}},{"category":"So","key":"24AA","mappings":{"default":{"default":"parenthesized latin small letter o","short":"parenthesized o"}}},{"category":"So","key":"24AB","mappings":{"default":{"default":"parenthesized latin small letter p","short":"parenthesized p"}}},{"category":"So","key":"24AC","mappings":{"default":{"default":"parenthesized latin small letter q","short":"parenthesized q"}}},{"category":"So","key":"24AD","mappings":{"default":{"default":"parenthesized latin small letter r","short":"parenthesized r"}}},{"category":"So","key":"24AE","mappings":{"default":{"default":"parenthesized latin small letter s","short":"parenthesized s"}}},{"category":"So","key":"24AF","mappings":{"default":{"default":"parenthesized latin small letter t","short":"parenthesized t"}}},{"category":"So","key":"24B0","mappings":{"default":{"default":"parenthesized latin small letter u","short":"parenthesized u"}}},{"category":"So","key":"24B1","mappings":{"default":{"default":"parenthesized latin small letter v","short":"parenthesized v"}}},{"category":"So","key":"24B2","mappings":{"default":{"default":"parenthesized latin small letter w","short":"parenthesized w"}}},{"category":"So","key":"24B3","mappings":{"default":{"default":"parenthesized latin small letter x","short":"parenthesized x"}}},{"category":"So","key":"24B4","mappings":{"default":{"default":"parenthesized latin small letter y","short":"parenthesized y"}}},{"category":"So","key":"24B5","mappings":{"default":{"default":"parenthesized latin small letter z","short":"parenthesized z"}}},{"category":"So","key":"24B6","mappings":{"default":{"default":"circled latin capital letter a","short":"circled cap a"},"mathspeak":{"default":"circled upper A"}}},{"category":"So","key":"24B7","mappings":{"default":{"default":"circled latin capital letter b","short":"circled cap b"},"mathspeak":{"default":"circled upper B"}}},{"category":"So","key":"24B8","mappings":{"default":{"default":"circled latin capital letter c","short":"circled cap c"},"mathspeak":{"default":"circled upper C"}}},{"category":"So","key":"24B9","mappings":{"default":{"default":"circled latin capital letter d","short":"circled cap d"},"mathspeak":{"default":"circled upper D"}}},{"category":"So","key":"24BA","mappings":{"default":{"default":"circled latin capital letter e","short":"circled cap e"},"mathspeak":{"default":"circled upper E"}}},{"category":"So","key":"24BB","mappings":{"default":{"default":"circled latin capital letter f","short":"circled cap f"},"mathspeak":{"default":"circled upper F"}}},{"category":"So","key":"24BC","mappings":{"default":{"default":"circled latin capital letter g","short":"circled cap g"},"mathspeak":{"default":"circled upper G"}}},{"category":"So","key":"24BD","mappings":{"default":{"default":"circled latin capital letter h","short":"circled cap h"},"mathspeak":{"default":"circled upper H"}}},{"category":"So","key":"24BE","mappings":{"default":{"default":"circled latin capital letter i","short":"circled cap i"},"mathspeak":{"default":"circled upper I"}}},{"category":"So","key":"24BF","mappings":{"default":{"default":"circled latin capital letter j","short":"circled cap j"},"mathspeak":{"default":"circled upper J"}}},{"category":"So","key":"24C0","mappings":{"default":{"default":"circled latin capital letter k","short":"circled cap k"},"mathspeak":{"default":"circled upper K"}}},{"category":"So","key":"24C1","mappings":{"default":{"default":"circled latin capital letter l","short":"circled cap l"},"mathspeak":{"default":"circled upper L"}}},{"category":"So","key":"24C2","mappings":{"default":{"default":"circled latin capital letter m","short":"circled cap m"},"mathspeak":{"default":"circled upper M"}}},{"category":"So","key":"24C3","mappings":{"default":{"default":"circled latin capital letter n","short":"circled cap n"},"mathspeak":{"default":"circled upper N"}}},{"category":"So","key":"24C4","mappings":{"default":{"default":"circled latin capital letter o","short":"circled cap o"},"mathspeak":{"default":"circled upper O"}}},{"category":"So","key":"24C5","mappings":{"default":{"default":"circled latin capital letter p","short":"circled cap p"},"mathspeak":{"default":"circled upper P"}}},{"category":"So","key":"24C6","mappings":{"default":{"default":"circled latin capital letter q","short":"circled cap q"},"mathspeak":{"default":"circled upper Q"}}},{"category":"So","key":"24C7","mappings":{"default":{"default":"circled latin capital letter r","short":"circled cap r"},"mathspeak":{"default":"circled upper R"}}},{"category":"So","key":"24C8","mappings":{"default":{"default":"circled latin capital letter s","short":"circled cap s"},"mathspeak":{"default":"circled upper S"}}},{"category":"So","key":"24C9","mappings":{"default":{"default":"circled latin capital letter t","short":"circled cap t"},"mathspeak":{"default":"circled upper T"}}},{"category":"So","key":"24CA","mappings":{"default":{"default":"circled latin capital letter u","short":"circled cap u"},"mathspeak":{"default":"circled upper U"}}},{"category":"So","key":"24CB","mappings":{"default":{"default":"circled latin capital letter v","short":"circled cap v"},"mathspeak":{"default":"circled upper V"}}},{"category":"So","key":"24CC","mappings":{"default":{"default":"circled latin capital letter w","short":"circled cap w"},"mathspeak":{"default":"circled upper W"}}},{"category":"So","key":"24CD","mappings":{"default":{"default":"circled latin capital letter x","short":"circled cap x"},"mathspeak":{"default":"circled upper X"}}},{"category":"So","key":"24CE","mappings":{"default":{"default":"circled latin capital letter y","short":"circled cap y"},"mathspeak":{"default":"circled upper Y"}}},{"category":"So","key":"24CF","mappings":{"default":{"default":"circled latin capital letter z","short":"circled cap z"},"mathspeak":{"default":"circled upper Z"}}},{"category":"So","key":"24D0","mappings":{"default":{"default":"circled latin small letter a","short":"circled a"}}},{"category":"So","key":"24D1","mappings":{"default":{"default":"circled latin small letter b","short":"circled b"}}},{"category":"So","key":"24D2","mappings":{"default":{"default":"circled latin small letter c","short":"circled c"}}},{"category":"So","key":"24D3","mappings":{"default":{"default":"circled latin small letter d","short":"circled d"}}},{"category":"So","key":"24D4","mappings":{"default":{"default":"circled latin small letter e","short":"circled e"}}},{"category":"So","key":"24D5","mappings":{"default":{"default":"circled latin small letter f","short":"circled f"}}},{"category":"So","key":"24D6","mappings":{"default":{"default":"circled latin small letter g","short":"circled g"}}},{"category":"So","key":"24D7","mappings":{"default":{"default":"circled latin small letter h","short":"circled h"}}},{"category":"So","key":"24D8","mappings":{"default":{"default":"circled latin small letter i","short":"circled i"}}},{"category":"So","key":"24D9","mappings":{"default":{"default":"circled latin small letter j","short":"circled j"}}},{"category":"So","key":"24DA","mappings":{"default":{"default":"circled latin small letter k","short":"circled k"}}},{"category":"So","key":"24DB","mappings":{"default":{"default":"circled latin small letter l","short":"circled l"}}},{"category":"So","key":"24DC","mappings":{"default":{"default":"circled latin small letter m","short":"circled m"}}},{"category":"So","key":"24DD","mappings":{"default":{"default":"circled latin small letter n","short":"circled n"}}},{"category":"So","key":"24DE","mappings":{"default":{"default":"circled latin small letter o","short":"circled o"}}},{"category":"So","key":"24DF","mappings":{"default":{"default":"circled latin small letter p","short":"circled p"}}},{"category":"So","key":"24E0","mappings":{"default":{"default":"circled latin small letter q","short":"circled q"}}},{"category":"So","key":"24E1","mappings":{"default":{"default":"circled latin small letter r","short":"circled r"}}},{"category":"So","key":"24E2","mappings":{"default":{"default":"circled latin small letter s","short":"circled s"}}},{"category":"So","key":"24E3","mappings":{"default":{"default":"circled latin small letter t","short":"circled t"}}},{"category":"So","key":"24E4","mappings":{"default":{"default":"circled latin small letter u","short":"circled u"}}},{"category":"So","key":"24E5","mappings":{"default":{"default":"circled latin small letter v","short":"circled v"}}},{"category":"So","key":"24E6","mappings":{"default":{"default":"circled latin small letter w","short":"circled w"}}},{"category":"So","key":"24E7","mappings":{"default":{"default":"circled latin small letter x","short":"circled x"}}},{"category":"So","key":"24E8","mappings":{"default":{"default":"circled latin small letter y","short":"circled y"}}},{"category":"So","key":"24E9","mappings":{"default":{"default":"circled latin small letter z","short":"circled z"}}},{"category":"Lm","key":"2C7C","mappings":{"default":{"default":"latin subscript small letter j","short":"subscript j"}}},{"category":"So","key":"1F110","mappings":{"default":{"default":"parenthesized latin capital letter a","short":"parenthesized cap a"},"mathspeak":{"default":"parenthesized upper A"}}},{"category":"So","key":"1F111","mappings":{"default":{"default":"parenthesized latin capital letter b","short":"parenthesized cap b"},"mathspeak":{"default":"parenthesized upper B"}}},{"category":"So","key":"1F112","mappings":{"default":{"default":"parenthesized latin capital letter c","short":"parenthesized cap c"},"mathspeak":{"default":"parenthesized upper C"}}},{"category":"So","key":"1F113","mappings":{"default":{"default":"parenthesized latin capital letter d","short":"parenthesized cap d"},"mathspeak":{"default":"parenthesized upper D"}}},{"category":"So","key":"1F114","mappings":{"default":{"default":"parenthesized latin capital letter e","short":"parenthesized cap e"},"mathspeak":{"default":"parenthesized upper E"}}},{"category":"So","key":"1F115","mappings":{"default":{"default":"parenthesized latin capital letter f","short":"parenthesized cap f"},"mathspeak":{"default":"parenthesized upper F"}}},{"category":"So","key":"1F116","mappings":{"default":{"default":"parenthesized latin capital letter g","short":"parenthesized cap g"},"mathspeak":{"default":"parenthesized upper G"}}},{"category":"So","key":"1F117","mappings":{"default":{"default":"parenthesized latin capital letter h","short":"parenthesized cap h"},"mathspeak":{"default":"parenthesized upper H"}}},{"category":"So","key":"1F118","mappings":{"default":{"default":"parenthesized latin capital letter i","short":"parenthesized cap i"},"mathspeak":{"default":"parenthesized upper I"}}},{"category":"So","key":"1F119","mappings":{"default":{"default":"parenthesized latin capital letter j","short":"parenthesized cap j"},"mathspeak":{"default":"parenthesized upper J"}}},{"category":"So","key":"1F11A","mappings":{"default":{"default":"parenthesized latin capital letter k","short":"parenthesized cap k"},"mathspeak":{"default":"parenthesized upper K"}}},{"category":"So","key":"1F11B","mappings":{"default":{"default":"parenthesized latin capital letter l","short":"parenthesized cap l"},"mathspeak":{"default":"parenthesized upper L"}}},{"category":"So","key":"1F11C","mappings":{"default":{"default":"parenthesized latin capital letter m","short":"parenthesized cap m"},"mathspeak":{"default":"parenthesized upper M"}}},{"category":"So","key":"1F11D","mappings":{"default":{"default":"parenthesized latin capital letter n","short":"parenthesized cap n"},"mathspeak":{"default":"parenthesized upper N"}}},{"category":"So","key":"1F11E","mappings":{"default":{"default":"parenthesized latin capital letter o","short":"parenthesized cap o"},"mathspeak":{"default":"parenthesized upper O"}}},{"category":"So","key":"1F11F","mappings":{"default":{"default":"parenthesized latin capital letter p","short":"parenthesized cap p"},"mathspeak":{"default":"parenthesized upper P"}}},{"category":"So","key":"1F120","mappings":{"default":{"default":"parenthesized latin capital letter q","short":"parenthesized cap q"},"mathspeak":{"default":"parenthesized upper Q"}}},{"category":"So","key":"1F121","mappings":{"default":{"default":"parenthesized latin capital letter r","short":"parenthesized cap r"},"mathspeak":{"default":"parenthesized upper R"}}},{"category":"So","key":"1F122","mappings":{"default":{"default":"parenthesized latin capital letter s","short":"parenthesized cap s"},"mathspeak":{"default":"parenthesized upper S"}}},{"category":"So","key":"1F123","mappings":{"default":{"default":"parenthesized latin capital letter t","short":"parenthesized cap t"},"mathspeak":{"default":"parenthesized upper T"}}},{"category":"So","key":"1F124","mappings":{"default":{"default":"parenthesized latin capital letter u","short":"parenthesized cap u"},"mathspeak":{"default":"parenthesized upper U"}}},{"category":"So","key":"1F125","mappings":{"default":{"default":"parenthesized latin capital letter v","short":"parenthesized cap v"},"mathspeak":{"default":"parenthesized upper V"}}},{"category":"So","key":"1F126","mappings":{"default":{"default":"parenthesized latin capital letter w","short":"parenthesized cap w"},"mathspeak":{"default":"parenthesized upper W"}}},{"category":"So","key":"1F127","mappings":{"default":{"default":"parenthesized latin capital letter x","short":"parenthesized cap x"},"mathspeak":{"default":"parenthesized upper X"}}},{"category":"So","key":"1F128","mappings":{"default":{"default":"parenthesized latin capital letter y","short":"parenthesized cap y"},"mathspeak":{"default":"parenthesized upper Y"}}},{"category":"So","key":"1F129","mappings":{"default":{"default":"parenthesized latin capital letter z","short":"parenthesized cap z"},"mathspeak":{"default":"parenthesized upper Z"}}},{"category":"So","key":"1F12A","mappings":{"default":{"default":"tortoise shell bracketed latin capital letter s","short":"tortoise shell bracketed cap s"},"mathspeak":{"default":"tortoise shell bracketed upper S"}}},{"category":"So","key":"1F12B","mappings":{"default":{"default":"circled italic latin capital letter c","short":"circled italic cap c"},"mathspeak":{"default":"circled italic upper C"}}},{"category":"So","key":"1F12C","mappings":{"default":{"default":"circled italic latin capital letter r","short":"circled italic cap r"},"mathspeak":{"default":"circled italic upper R"}}},{"category":"So","key":"1F130","mappings":{"default":{"default":"squared latin capital letter a","short":"squared cap a"},"mathspeak":{"default":"squared upper A"}}},{"category":"So","key":"1F131","mappings":{"default":{"default":"squared latin capital letter b","short":"squared cap b"},"mathspeak":{"default":"squared upper B"}}},{"category":"So","key":"1F132","mappings":{"default":{"default":"squared latin capital letter c","short":"squared cap c"},"mathspeak":{"default":"squared upper C"}}},{"category":"So","key":"1F133","mappings":{"default":{"default":"squared latin capital letter d","short":"squared cap d"},"mathspeak":{"default":"squared upper D"}}},{"category":"So","key":"1F134","mappings":{"default":{"default":"squared latin capital letter e","short":"squared cap e"},"mathspeak":{"default":"squared upper E"}}},{"category":"So","key":"1F135","mappings":{"default":{"default":"squared latin capital letter f","short":"squared cap f"},"mathspeak":{"default":"squared upper F"}}},{"category":"So","key":"1F136","mappings":{"default":{"default":"squared latin capital letter g","short":"squared cap g"},"mathspeak":{"default":"squared upper G"}}},{"category":"So","key":"1F137","mappings":{"default":{"default":"squared latin capital letter h","short":"squared cap h"},"mathspeak":{"default":"squared upper H"}}},{"category":"So","key":"1F138","mappings":{"default":{"default":"squared latin capital letter i","short":"squared cap i"},"mathspeak":{"default":"squared upper I"}}},{"category":"So","key":"1F139","mappings":{"default":{"default":"squared latin capital letter j","short":"squared cap j"},"mathspeak":{"default":"squared upper J"}}},{"category":"So","key":"1F13A","mappings":{"default":{"default":"squared latin capital letter k","short":"squared cap k"},"mathspeak":{"default":"squared upper K"}}},{"category":"So","key":"1F13B","mappings":{"default":{"default":"squared latin capital letter l","short":"squared cap l"},"mathspeak":{"default":"squared upper L"}}},{"category":"So","key":"1F13C","mappings":{"default":{"default":"squared latin capital letter m","short":"squared cap m"},"mathspeak":{"default":"squared upper M"}}},{"category":"So","key":"1F13D","mappings":{"default":{"default":"squared latin capital letter n","short":"squared cap n"},"mathspeak":{"default":"squared upper N"}}},{"category":"So","key":"1F13E","mappings":{"default":{"default":"squared latin capital letter o","short":"squared cap o"},"mathspeak":{"default":"squared upper O"}}},{"category":"So","key":"1F13F","mappings":{"default":{"default":"squared latin capital letter p","short":"squared cap p"},"mathspeak":{"default":"squared upper P"}}},{"category":"So","key":"1F140","mappings":{"default":{"default":"squared latin capital letter q","short":"squared cap q"},"mathspeak":{"default":"squared upper Q"}}},{"category":"So","key":"1F141","mappings":{"default":{"default":"squared latin capital letter r","short":"squared cap r"},"mathspeak":{"default":"squared upper R"}}},{"category":"So","key":"1F142","mappings":{"default":{"default":"squared latin capital letter s","short":"squared cap s"},"mathspeak":{"default":"squared upper S"}}},{"category":"So","key":"1F143","mappings":{"default":{"default":"squared latin capital letter t","short":"squared cap t"},"mathspeak":{"default":"squared upper T"}}},{"category":"So","key":"1F144","mappings":{"default":{"default":"squared latin capital letter u","short":"squared cap u"},"mathspeak":{"default":"squared upper U"}}},{"category":"So","key":"1F145","mappings":{"default":{"default":"squared latin capital letter v","short":"squared cap v"},"mathspeak":{"default":"squared upper V"}}},{"category":"So","key":"1F146","mappings":{"default":{"default":"squared latin capital letter w","short":"squared cap w"},"mathspeak":{"default":"squared upper W"}}},{"category":"So","key":"1F147","mappings":{"default":{"default":"squared latin capital letter x","short":"squared cap x"},"mathspeak":{"default":"squared upper X"}}},{"category":"So","key":"1F148","mappings":{"default":{"default":"squared latin capital letter y","short":"squared cap y"},"mathspeak":{"default":"squared upper Y"}}},{"category":"So","key":"1F149","mappings":{"default":{"default":"squared latin capital letter z","short":"squared cap z"},"mathspeak":{"default":"squared upper Z"}}},{"category":"So","key":"1F150","mappings":{"default":{"default":"negative circled latin capital letter a","short":"negative circled cap a"},"mathspeak":{"default":"negative circled upper A"}}},{"category":"So","key":"1F151","mappings":{"default":{"default":"negative circled latin capital letter b","short":"negative circled cap b"},"mathspeak":{"default":"negative circled upper B"}}},{"category":"So","key":"1F152","mappings":{"default":{"default":"negative circled latin capital letter c","short":"negative circled cap c"},"mathspeak":{"default":"negative circled upper C"}}},{"category":"So","key":"1F153","mappings":{"default":{"default":"negative circled latin capital letter d","short":"negative circled cap d"},"mathspeak":{"default":"negative circled upper D"}}},{"category":"So","key":"1F154","mappings":{"default":{"default":"negative circled latin capital letter e","short":"negative circled cap e"},"mathspeak":{"default":"negative circled upper E"}}},{"category":"So","key":"1F155","mappings":{"default":{"default":"negative circled latin capital letter f","short":"negative circled cap f"},"mathspeak":{"default":"negative circled upper F"}}},{"category":"So","key":"1F156","mappings":{"default":{"default":"negative circled latin capital letter g","short":"negative circled cap g"},"mathspeak":{"default":"negative circled upper G"}}},{"category":"So","key":"1F157","mappings":{"default":{"default":"negative circled latin capital letter h","short":"negative circled cap h"},"mathspeak":{"default":"negative circled upper H"}}},{"category":"So","key":"1F158","mappings":{"default":{"default":"negative circled latin capital letter i","short":"negative circled cap i"},"mathspeak":{"default":"negative circled upper I"}}},{"category":"So","key":"1F159","mappings":{"default":{"default":"negative circled latin capital letter j","short":"negative circled cap j"},"mathspeak":{"default":"negative circled upper J"}}},{"category":"So","key":"1F15A","mappings":{"default":{"default":"negative circled latin capital letter k","short":"negative circled cap k"},"mathspeak":{"default":"negative circled upper K"}}},{"category":"So","key":"1F15B","mappings":{"default":{"default":"negative circled latin capital letter l","short":"negative circled cap l"},"mathspeak":{"default":"negative circled upper L"}}},{"category":"So","key":"1F15C","mappings":{"default":{"default":"negative circled latin capital letter m","short":"negative circled cap m"},"mathspeak":{"default":"negative circled upper M"}}},{"category":"So","key":"1F15D","mappings":{"default":{"default":"negative circled latin capital letter n","short":"negative circled cap n"},"mathspeak":{"default":"negative circled upper N"}}},{"category":"So","key":"1F15E","mappings":{"default":{"default":"negative circled latin capital letter o","short":"negative circled cap o"},"mathspeak":{"default":"negative circled upper O"}}},{"category":"So","key":"1F15F","mappings":{"default":{"default":"negative circled latin capital letter p","short":"negative circled cap p"},"mathspeak":{"default":"negative circled upper P"}}},{"category":"So","key":"1F160","mappings":{"default":{"default":"negative circled latin capital letter q","short":"negative circled cap q"},"mathspeak":{"default":"negative circled upper Q"}}},{"category":"So","key":"1F161","mappings":{"default":{"default":"negative circled latin capital letter r","short":"negative circled cap r"},"mathspeak":{"default":"negative circled upper R"}}},{"category":"So","key":"1F162","mappings":{"default":{"default":"negative circled latin capital letter s","short":"negative circled cap s"},"mathspeak":{"default":"negative circled upper S"}}},{"category":"So","key":"1F163","mappings":{"default":{"default":"negative circled latin capital letter t","short":"negative circled cap t"},"mathspeak":{"default":"negative circled upper T"}}},{"category":"So","key":"1F164","mappings":{"default":{"default":"negative circled latin capital letter u","short":"negative circled cap u"},"mathspeak":{"default":"negative circled upper U"}}},{"category":"So","key":"1F165","mappings":{"default":{"default":"negative circled latin capital letter v","short":"negative circled cap v"},"mathspeak":{"default":"negative circled upper V"}}},{"category":"So","key":"1F166","mappings":{"default":{"default":"negative circled latin capital letter w","short":"negative circled cap w"},"mathspeak":{"default":"negative circled upper W"}}},{"category":"So","key":"1F167","mappings":{"default":{"default":"negative circled latin capital letter x","short":"negative circled cap x"},"mathspeak":{"default":"negative circled upper X"}}},{"category":"So","key":"1F168","mappings":{"default":{"default":"negative circled latin capital letter y","short":"negative circled cap y"},"mathspeak":{"default":"negative circled upper Y"}}},{"category":"So","key":"1F169","mappings":{"default":{"default":"negative circled latin capital letter z","short":"negative circled cap z"},"mathspeak":{"default":"negative circled upper Z"}}},{"category":"So","key":"1F170","mappings":{"default":{"default":"negative squared latin capital letter a","short":"negative squared cap a"},"mathspeak":{"default":"negative squared upper A"}}},{"category":"So","key":"1F171","mappings":{"default":{"default":"negative squared latin capital letter b","short":"negative squared cap b"},"mathspeak":{"default":"negative squared upper B"}}},{"category":"So","key":"1F172","mappings":{"default":{"default":"negative squared latin capital letter c","short":"negative squared cap c"},"mathspeak":{"default":"negative squared upper C"}}},{"category":"So","key":"1F173","mappings":{"default":{"default":"negative squared latin capital letter d","short":"negative squared cap d"},"mathspeak":{"default":"negative squared upper D"}}},{"category":"So","key":"1F174","mappings":{"default":{"default":"negative squared latin capital letter e","short":"negative squared cap e"},"mathspeak":{"default":"negative squared upper E"}}},{"category":"So","key":"1F175","mappings":{"default":{"default":"negative squared latin capital letter f","short":"negative squared cap f"},"mathspeak":{"default":"negative squared upper F"}}},{"category":"So","key":"1F176","mappings":{"default":{"default":"negative squared latin capital letter g","short":"negative squared cap g"},"mathspeak":{"default":"negative squared upper G"}}},{"category":"So","key":"1F177","mappings":{"default":{"default":"negative squared latin capital letter h","short":"negative squared cap h"},"mathspeak":{"default":"negative squared upper H"}}},{"category":"So","key":"1F178","mappings":{"default":{"default":"negative squared latin capital letter i","short":"negative squared cap i"},"mathspeak":{"default":"negative squared upper I"}}},{"category":"So","key":"1F179","mappings":{"default":{"default":"negative squared latin capital letter j","short":"negative squared cap j"},"mathspeak":{"default":"negative squared upper J"}}},{"category":"So","key":"1F17A","mappings":{"default":{"default":"negative squared latin capital letter k","short":"negative squared cap k"},"mathspeak":{"default":"negative squared upper K"}}},{"category":"So","key":"1F17B","mappings":{"default":{"default":"negative squared latin capital letter l","short":"negative squared cap l"},"mathspeak":{"default":"negative squared upper L"}}},{"category":"So","key":"1F17C","mappings":{"default":{"default":"negative squared latin capital letter m","short":"negative squared cap m"},"mathspeak":{"default":"negative squared upper M"}}},{"category":"So","key":"1F17D","mappings":{"default":{"default":"negative squared latin capital letter n","short":"negative squared cap n"},"mathspeak":{"default":"negative squared upper N"}}},{"category":"So","key":"1F17E","mappings":{"default":{"default":"negative squared latin capital letter o","short":"negative squared cap o"},"mathspeak":{"default":"negative squared upper O"}}},{"category":"So","key":"1F17F","mappings":{"default":{"default":"negative squared latin capital letter p","short":"negative squared cap p"},"mathspeak":{"default":"negative squared upper P"}}},{"category":"So","key":"1F180","mappings":{"default":{"default":"negative squared latin capital letter q","short":"negative squared cap q"},"mathspeak":{"default":"negative squared upper Q"}}},{"category":"So","key":"1F181","mappings":{"default":{"default":"negative squared latin capital letter r","short":"negative squared cap r"},"mathspeak":{"default":"negative squared upper R"}}},{"category":"So","key":"1F182","mappings":{"default":{"default":"negative squared latin capital letter s","short":"negative squared cap s"},"mathspeak":{"default":"negative squared upper S"}}},{"category":"So","key":"1F183","mappings":{"default":{"default":"negative squared latin capital letter t","short":"negative squared cap t"},"mathspeak":{"default":"negative squared upper T"}}},{"category":"So","key":"1F184","mappings":{"default":{"default":"negative squared latin capital letter u","short":"negative squared cap u"},"mathspeak":{"default":"negative squared upper U"}}},{"category":"So","key":"1F185","mappings":{"default":{"default":"negative squared latin capital letter v","short":"negative squared cap v"},"mathspeak":{"default":"negative squared upper V"}}},{"category":"So","key":"1F186","mappings":{"default":{"default":"negative squared latin capital letter w","short":"negative squared cap w"},"mathspeak":{"default":"negative squared upper W"}}},{"category":"So","key":"1F187","mappings":{"default":{"default":"negative squared latin capital letter x","short":"negative squared cap x"},"mathspeak":{"default":"negative squared upper X"}}},{"category":"So","key":"1F188","mappings":{"default":{"default":"negative squared latin capital letter y","short":"negative squared cap y"},"mathspeak":{"default":"negative squared upper Y"}}},{"category":"So","key":"1F189","mappings":{"default":{"default":"negative squared latin capital letter z","short":"negative squared cap z"},"mathspeak":{"default":"negative squared upper Z"}}},{"category":"So","key":"1F18A","mappings":{"default":{"default":"crossed negative squared latin capital letter p","short":"crossed negative squared cap p"},"mathspeak":{"default":"crossed negative squared upper P"}}}] diff --git a/assets/js/mathmaps/en/symbols/latin-upper-double-accent.js b/assets/js/mathmaps/en/symbols/latin-upper-double-accent.js new file mode 100644 index 0000000000000000000000000000000000000000..f145bd037cbe68b6d2ab3f2b1b2b33c2e2864a1e --- /dev/null +++ b/assets/js/mathmaps/en/symbols/latin-upper-double-accent.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"Lu","key":"01D5","mappings":{"default":{"default":"latin capital letter u with diaeresis and macron","alternative":"latin capital letter u double overdot overbar","short":"cap u double overdot overbar"},"mathspeak":{"default":"upper U double overdot overbar"}}},{"category":"Lu","key":"01D7","mappings":{"default":{"default":"latin capital letter u with diaeresis and acute","alternative":"latin capital letter u double overdot acute","short":"cap u double overdot acute"},"mathspeak":{"default":"upper U double overdot acute"}}},{"category":"Lu","key":"01D9","mappings":{"default":{"default":"latin capital letter u with diaeresis and caron","alternative":"latin capital letter u double overdot hacek","short":"cap u double overdot caron"},"mathspeak":{"default":"upper U double overdot caron"}}},{"category":"Lu","key":"01DB","mappings":{"default":{"default":"latin capital letter u with diaeresis and grave","alternative":"latin capital letter u double overdot grave","short":"cap u double overdot grave"},"mathspeak":{"default":"upper U double overdot grave"}}},{"category":"Lu","key":"01DE","mappings":{"default":{"default":"latin capital letter a with diaeresis and macron","alternative":"latin capital letter a double overdot overbar","short":"cap a double overdot overbar"},"mathspeak":{"default":"upper A double overdot overbar"}}},{"category":"Lu","key":"01E0","mappings":{"default":{"default":"latin capital letter a with dot above and macron","alternative":"latin capital letter a dot overbar","short":"cap a overdot overbar"},"mathspeak":{"default":"upper A overdot overbar"}}},{"category":"Lu","key":"01EC","mappings":{"default":{"default":"latin capital letter o with ogonek and macron","alternative":"latin capital letter o ogonek overbar","short":"cap o ogonek overbar"},"mathspeak":{"default":"upper O ogonek overbar"}}},{"category":"Lu","key":"01FA","mappings":{"default":{"default":"latin capital letter a with ring above and acute","alternative":"latin capital letter a ring acute","short":"cap a ring acute"},"mathspeak":{"default":"upper A ring acute"}}},{"category":"Lu","key":"022A","mappings":{"default":{"default":"latin capital letter o with diaeresis and macron","alternative":"latin capital letter o double overdot overbar","short":"cap o double overdot overbar"},"mathspeak":{"default":"upper O double overdot overbar"}}},{"category":"Lu","key":"022C","mappings":{"default":{"default":"latin capital letter o with tilde and macron","alternative":"latin capital letter o tilde overbar","short":"cap o tilde overbar"},"mathspeak":{"default":"upper O tilde overbar"}}},{"category":"Lu","key":"0230","mappings":{"default":{"default":"latin capital letter o with dot above and macron","alternative":"latin capital letter o overdot overbar","short":"cap o overdot overbar"},"mathspeak":{"default":"upper O overdot overbar"}}},{"category":"Lu","key":"1E08","mappings":{"default":{"default":"latin capital letter c with cedilla and acute","alternative":"latin capital letter c cedilla acute","short":"cap c cedilla acute"},"mathspeak":{"default":"upper C cedilla acute"}}},{"category":"Lu","key":"1E14","mappings":{"default":{"default":"latin capital letter e with macron and grave","alternative":"latin capital letter e overbar grave","short":"cap e overbar grave"},"mathspeak":{"default":"upper E overbar grave"}}},{"category":"Lu","key":"1E16","mappings":{"default":{"default":"latin capital letter e with macron and acute","alternative":"latin capital letter e overbar acute","short":"cap e overbar acute"},"mathspeak":{"default":"upper E overbar acute"}}},{"category":"Lu","key":"1E1C","mappings":{"default":{"default":"latin capital letter e with cedilla and breve","alternative":"latin capital letter e cedilla breve","short":"cap e cedilla breve"},"mathspeak":{"default":"upper E cedilla breve"}}},{"category":"Lu","key":"1E2E","mappings":{"default":{"default":"latin capital letter i with diaeresis and acute","alternative":"latin capital letter i double overdot acute","short":"cap i double overdot acute"},"mathspeak":{"default":"upper I double overdot acute"}}},{"category":"Lu","key":"1E38","mappings":{"default":{"default":"latin capital letter l with dot below and macron","alternative":"latin capital letter l underdot overbar","short":"cap l underdot overbar"},"mathspeak":{"default":"upper L underdot overbar"}}},{"category":"Lu","key":"1E4C","mappings":{"default":{"default":"latin capital letter o with tilde and acute","alternative":"latin capital letter o tilde acute","short":"cap o tilde acute"},"mathspeak":{"default":"upper O tilde acute"}}},{"category":"Lu","key":"1E4E","mappings":{"default":{"default":"latin capital letter o with tilde and diaeresis","alternative":"latin capital letter o tilde double overdot","short":"cap o tilde double overdot"},"mathspeak":{"default":"upper O tilde double overdot"}}},{"category":"Lu","key":"1E50","mappings":{"default":{"default":"latin capital letter o with macron and grave","alternative":"latin capital letter o overbar grave","short":"cap o overbar grave"},"mathspeak":{"default":"upper O overbar grave"}}},{"category":"Lu","key":"1E52","mappings":{"default":{"default":"latin capital letter o with macron and acute","alternative":"latin capital letter o overbar acute","short":"cap o overbar acute"},"mathspeak":{"default":"upper O overbar acute"}}},{"category":"Lu","key":"1E5C","mappings":{"default":{"default":"latin capital letter r with dot below and macron","alternative":"cap r underdot and overbar","short":"cap r overbar underdot"},"mathspeak":{"default":"upper R overbar underdot"}}},{"category":"Lu","key":"1E64","mappings":{"default":{"default":"latin capital letter s with acute dot above","alternative":"latin capital letter s acute overdot","short":"cap s acute overdot"},"mathspeak":{"default":"upper S acute overdot"}}},{"category":"Lu","key":"1E66","mappings":{"default":{"default":"latin capital letter s with caron and dot above","alternative":"latin capital letter s caron overdot","short":"cap s caron overdot"},"mathspeak":{"default":"upper S caron overdot"}}},{"category":"Lu","key":"1E68","mappings":{"default":{"default":"latin capital letter s with dot below and dot above","alternative":"latin capital letter s underdot overdot","short":"cap s underdot overdot"},"mathspeak":{"default":"upper S underdot overdot"}}},{"category":"Lu","key":"1E78","mappings":{"default":{"default":"latin capital letter u with tilde and acute","alternative":"latin capital letter u tilde acute","short":"cap u tilde acute"},"mathspeak":{"default":"upper U tilde acute"}}},{"category":"Lu","key":"1E7A","mappings":{"default":{"default":"latin capital letter u with macron and diaeresis","alternative":"latin capital letter u overbar double overdot","short":"cap u overbar double overdot"},"mathspeak":{"default":"upper U overbar double overdot"}}},{"category":"Lu","key":"1EA4","mappings":{"default":{"default":"latin capital letter a with circumflex and acute","alternative":"latin capital letter a hat acute","short":"cap a hat acute"},"mathspeak":{"default":"upper A hat acute"}}},{"category":"Lu","key":"1EA6","mappings":{"default":{"default":"latin capital letter a with circumflex and grave","alternative":"latin capital letter a hat grave","short":"cap a hat grave"},"mathspeak":{"default":"upper A hat grave"}}},{"category":"Lu","key":"1EA8","mappings":{"default":{"default":"latin capital letter a with circumflex and hook above","alternative":"latin capital letter a hat hook","short":"cap a hat hook"},"mathspeak":{"default":"upper A hat hook"}}},{"category":"Lu","key":"1EAA","mappings":{"default":{"default":"latin capital letter a with circumflex and tilde","alternative":"latin capital letter a hat tilde","short":"cap a hat tilde"},"mathspeak":{"default":"upper A hat tilde"}}},{"category":"Lu","key":"1EAC","mappings":{"default":{"default":"latin capital letter a with circumflex and dot below","alternative":"latin capital letter a hat underdot","short":"cap a hat underdot"},"mathspeak":{"default":"upper A hat underdot"}}},{"category":"Lu","key":"1EAE","mappings":{"default":{"default":"latin capital letter a with breve and acute","alternative":"latin capital letter a breve acute","short":"cap a breve acute"},"mathspeak":{"default":"upper A breve acute"}}},{"category":"Lu","key":"1EB0","mappings":{"default":{"default":"latin capital letter a with breve and grave","alternative":"latin capital letter a breve grave","short":"cap a breve grave"},"mathspeak":{"default":"upper A breve grave"}}},{"category":"Lu","key":"1EB2","mappings":{"default":{"default":"latin capital letter a with breve and hook above","alternative":"latin capital letter a breve hook","short":"cap a breve hook"},"mathspeak":{"default":"upper A breve hook"}}},{"category":"Lu","key":"1EB4","mappings":{"default":{"default":"latin capital letter a with breve and tilde","alternative":"latin capital letter a breve tilde","short":"cap a breve tilde"},"mathspeak":{"default":"upper A breve tilde"}}},{"category":"Lu","key":"1EB6","mappings":{"default":{"default":"latin capital letter a with breve and dot below","alternative":"latin capital letter a breve underdot","short":"cap a breve underdot"},"mathspeak":{"default":"upper A breve underdot"}}},{"category":"Lu","key":"1EBE","mappings":{"default":{"default":"latin capital letter e with circumflex and acute","alternative":"latin capital letter e hat acute","short":"cap e hat acute"},"mathspeak":{"default":"upper E hat acute"}}},{"category":"Lu","key":"1EC0","mappings":{"default":{"default":"latin capital letter e with circumflex and grave","alternative":"latin capital letter e hat grave","short":"cap e hat grave"},"mathspeak":{"default":"upper E hat grave"}}},{"category":"Lu","key":"1EC2","mappings":{"default":{"default":"latin capital letter e with circumflex and hook above","alternative":"latin capital letter e hat hook","short":"cap e hat hook"},"mathspeak":{"default":"upper E hat hook"}}},{"category":"Lu","key":"1EC4","mappings":{"default":{"default":"latin capital letter e with circumflex and tilde","alternative":"latin capital letter e hat tilde","short":"cap e hat tilde"},"mathspeak":{"default":"upper E hat tilde"}}},{"category":"Lu","key":"1EC6","mappings":{"default":{"default":"latin capital letter e with circumflex and dot below","alternative":"latin capital letter e hat underdot","short":"cap e hat underdot"},"mathspeak":{"default":"upper E hat underdot"}}},{"category":"Lu","key":"1ED0","mappings":{"default":{"default":"latin capital letter o with circumflex and acute","alternative":"latin capital letter o hat acute","short":"cap o hat acute"},"mathspeak":{"default":"upper O hat acute"}}},{"category":"Lu","key":"1ED2","mappings":{"default":{"default":"latin capital letter o with circumflex and grave","alternative":"latin capital letter o hat grave","short":"cap o hat grave"},"mathspeak":{"default":"upper O hat grave"}}},{"category":"Lu","key":"1ED4","mappings":{"default":{"default":"latin capital letter o with circumflex and hook above","alternative":"latin capital letter o hat hook","short":"cap o hat hook"},"mathspeak":{"default":"upper O hat hook"}}},{"category":"Lu","key":"1ED6","mappings":{"default":{"default":"latin capital letter o with circumflex and tilde","alternative":"latin capital letter o hat tilde","short":"cap o hat tilde"},"mathspeak":{"default":"upper O hat tilde"}}},{"category":"Lu","key":"1ED8","mappings":{"default":{"default":"latin capital letter o with circumflex and dot below","alternative":"latin capital letter o hat underdot","short":"cap o hat underdot"},"mathspeak":{"default":"upper O hat underdot"}}},{"category":"Lu","key":"1EDA","mappings":{"default":{"default":"latin capital letter o with horn and acute","alternative":"latin capital letter o acute prime","short":"cap o acute prime"},"mathspeak":{"default":"upper O acute prime"}}},{"category":"Lu","key":"1EDC","mappings":{"default":{"default":"latin capital letter o with horn and grave","alternative":"latin capital letter o grave prime","short":"cap o grave prime"},"mathspeak":{"default":"upper O grave prime"}}},{"category":"Lu","key":"1EDE","mappings":{"default":{"default":"latin capital letter o with horn and hook above","alternative":"latin capital letter o hook prime","short":"cap o hook prime"},"mathspeak":{"default":"upper O hook prime"}}},{"category":"Lu","key":"1EE0","mappings":{"default":{"default":"latin capital letter o with horn and tilde","alternative":"latin capital letter o tilde prime","short":"cap o tilde prime"},"mathspeak":{"default":"upper O tilde prime"}}},{"category":"Lu","key":"1EE2","mappings":{"default":{"default":"latin capital letter o with horn and dot below","alternative":"latin capital letter o underdot prime","short":"cap o underdot prime"},"mathspeak":{"default":"upper O underdot prime"}}},{"category":"Lu","key":"1EE8","mappings":{"default":{"default":"latin capital letter u with horn and acute","alternative":"latin capital letter u acute prime","short":"cap u acute prime"},"mathspeak":{"default":"upper U acute prime"}}},{"category":"Lu","key":"1EEA","mappings":{"default":{"default":"latin capital letter u with horn and grave","alternative":"latin capital letter u grave prime","short":"cap u grave prime"},"mathspeak":{"default":"upper U grave prime"}}},{"category":"Lu","key":"1EEC","mappings":{"default":{"default":"latin capital letter u with horn and hook above","alternative":"latin capital letter u hook prime","short":"cap u hook prime"},"mathspeak":{"default":"upper U hook prime"}}},{"category":"Lu","key":"1EEE","mappings":{"default":{"default":"latin capital letter u with horn and tilde","alternative":"latin capital letter u tilde prime","short":"cap u tilde prime"},"mathspeak":{"default":"upper U tilde prime"}}},{"category":"Lu","key":"1EF0","mappings":{"default":{"default":"latin capital letter u with horn and dot below","alternative":"latin capital letter u underdot prime","short":"cap u underdot prime"},"mathspeak":{"default":"upper U underdot prime"}}}] diff --git a/assets/js/mathmaps/en/symbols/latin-upper-normal.js b/assets/js/mathmaps/en/symbols/latin-upper-normal.js new file mode 100644 index 0000000000000000000000000000000000000000..d628a6addf1c7c1add3993b1fd0653c2f8dec0ac --- /dev/null +++ b/assets/js/mathmaps/en/symbols/latin-upper-normal.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"Lu","key":"0041","mappings":{"default":{"default":"latin capital letter a","short":"cap a"},"mathspeak":{"default":"upper A"}}},{"category":"Lu","key":"0042","mappings":{"default":{"default":"latin capital letter b","short":"cap b"},"mathspeak":{"default":"upper B"}}},{"category":"Lu","key":"0043","mappings":{"default":{"default":"latin capital letter c","short":"cap c"},"mathspeak":{"default":"upper C"}}},{"category":"Lu","key":"0044","mappings":{"default":{"default":"latin capital letter d","short":"cap d"},"mathspeak":{"default":"upper D"}}},{"category":"Lu","key":"0045","mappings":{"default":{"default":"latin capital letter e","short":"cap e"},"mathspeak":{"default":"upper E"}}},{"category":"Lu","key":"0046","mappings":{"default":{"default":"latin capital letter f","short":"cap f"},"mathspeak":{"default":"upper F"}}},{"category":"Lu","key":"0047","mappings":{"default":{"default":"latin capital letter g","short":"cap g"},"mathspeak":{"default":"upper G"}}},{"category":"Lu","key":"0048","mappings":{"default":{"default":"latin capital letter h","short":"cap h"},"mathspeak":{"default":"upper H"}}},{"category":"Lu","key":"0049","mappings":{"default":{"default":"latin capital letter i","short":"cap i"},"mathspeak":{"default":"upper I"}}},{"category":"Lu","key":"004A","mappings":{"default":{"default":"latin capital letter j","short":"cap j"},"mathspeak":{"default":"upper J"}}},{"category":"Lu","key":"004B","mappings":{"default":{"default":"latin capital letter k","short":"cap k"},"mathspeak":{"default":"upper K"}}},{"category":"Lu","key":"004C","mappings":{"default":{"default":"latin capital letter l","short":"cap l"},"mathspeak":{"default":"upper L"}}},{"category":"Lu","key":"004D","mappings":{"default":{"default":"latin capital letter m","short":"cap m"},"mathspeak":{"default":"upper M"}}},{"category":"Lu","key":"004E","mappings":{"default":{"default":"latin capital letter n","short":"cap n"},"mathspeak":{"default":"upper N"}}},{"category":"Lu","key":"004F","mappings":{"default":{"default":"latin capital letter o","short":"cap o"},"mathspeak":{"default":"upper O"}}},{"category":"Lu","key":"0050","mappings":{"default":{"default":"latin capital letter p","short":"cap p"},"mathspeak":{"default":"upper P"}}},{"category":"Lu","key":"0051","mappings":{"default":{"default":"latin capital letter q","short":"cap q"},"mathspeak":{"default":"upper Q"}}},{"category":"Lu","key":"0052","mappings":{"default":{"default":"latin capital letter r","short":"cap r"},"mathspeak":{"default":"upper R"}}},{"category":"Lu","key":"0053","mappings":{"default":{"default":"latin capital letter s","short":"cap s"},"mathspeak":{"default":"upper S"}}},{"category":"Lu","key":"0054","mappings":{"default":{"default":"latin capital letter t","short":"cap t"},"mathspeak":{"default":"upper T"}}},{"category":"Lu","key":"0055","mappings":{"default":{"default":"latin capital letter u","short":"cap u"},"mathspeak":{"default":"upper U"}}},{"category":"Lu","key":"0056","mappings":{"default":{"default":"latin capital letter v","short":"cap v"},"mathspeak":{"default":"upper V"}}},{"category":"Lu","key":"0057","mappings":{"default":{"default":"latin capital letter w","short":"cap w"},"mathspeak":{"default":"upper W"}}},{"category":"Lu","key":"0058","mappings":{"default":{"default":"latin capital letter x","short":"cap x"},"mathspeak":{"default":"upper X"}}},{"category":"Lu","key":"0059","mappings":{"default":{"default":"latin capital letter y","short":"cap y"},"mathspeak":{"default":"upper Y"}}},{"category":"Lu","key":"005A","mappings":{"default":{"default":"latin capital letter z","short":"cap z"},"mathspeak":{"default":"upper Z"}}},{"category":"Lu","key":"FF21","mappings":{"default":{"default":"fullwidth latin capital letter a","alternative":"fullwidth latin cap a","short":"cap a"},"mathspeak":{"default":"upper A"}}},{"category":"Lu","key":"FF22","mappings":{"default":{"default":"fullwidth latin capital letter b","alternative":"fullwidth latin cap b","short":"cap b"},"mathspeak":{"default":"upper B"}}},{"category":"Lu","key":"FF23","mappings":{"default":{"default":"fullwidth latin capital letter c","alternative":"fullwidth latin cap c","short":"cap c"},"mathspeak":{"default":"upper C"}}},{"category":"Lu","key":"FF24","mappings":{"default":{"default":"fullwidth latin capital letter d","alternative":"fullwidth latin cap d","short":"cap d"},"mathspeak":{"default":"upper D"}}},{"category":"Lu","key":"FF25","mappings":{"default":{"default":"fullwidth latin capital letter e","alternative":"fullwidth latin cap e","short":"cap e"},"mathspeak":{"default":"upper E"}}},{"category":"Lu","key":"FF26","mappings":{"default":{"default":"fullwidth latin capital letter f","alternative":"fullwidth latin cap f","short":"cap f"},"mathspeak":{"default":"upper F"}}},{"category":"Lu","key":"FF27","mappings":{"default":{"default":"fullwidth latin capital letter g","alternative":"fullwidth latin cap g","short":"cap g"},"mathspeak":{"default":"upper G"}}},{"category":"Lu","key":"FF28","mappings":{"default":{"default":"fullwidth latin capital letter h","alternative":"fullwidth latin cap h","short":"cap h"},"mathspeak":{"default":"upper H"}}},{"category":"Lu","key":"FF29","mappings":{"default":{"default":"fullwidth latin capital letter i","alternative":"fullwidth latin cap i","short":"cap i"},"mathspeak":{"default":"upper I"}}},{"category":"Lu","key":"FF2A","mappings":{"default":{"default":"fullwidth latin capital letter j","alternative":"fullwidth latin cap j","short":"cap j"},"mathspeak":{"default":"upper J"}}},{"category":"Lu","key":"FF2B","mappings":{"default":{"default":"fullwidth latin capital letter k","alternative":"fullwidth latin cap k","short":"cap k"},"mathspeak":{"default":"upper K"}}},{"category":"Lu","key":"FF2C","mappings":{"default":{"default":"fullwidth latin capital letter l","alternative":"fullwidth latin cap l","short":"cap l"},"mathspeak":{"default":"upper L"}}},{"category":"Lu","key":"FF2D","mappings":{"default":{"default":"fullwidth latin capital letter m","alternative":"fullwidth latin cap m","short":"cap m"},"mathspeak":{"default":"upper M"}}},{"category":"Lu","key":"FF2E","mappings":{"default":{"default":"fullwidth latin capital letter n","alternative":"fullwidth latin cap n","short":"cap n"},"mathspeak":{"default":"upper N"}}},{"category":"Lu","key":"FF2F","mappings":{"default":{"default":"fullwidth latin capital letter o","alternative":"fullwidth latin cap o","short":"cap o"},"mathspeak":{"default":"upper O"}}},{"category":"Lu","key":"FF30","mappings":{"default":{"default":"fullwidth latin capital letter p","alternative":"fullwidth latin cap p","short":"cap p"},"mathspeak":{"default":"upper P"}}},{"category":"Lu","key":"FF31","mappings":{"default":{"default":"fullwidth latin capital letter q","alternative":"fullwidth latin cap q","short":"cap q"},"mathspeak":{"default":"upper Q"}}},{"category":"Lu","key":"FF32","mappings":{"default":{"default":"fullwidth latin capital letter r","alternative":"fullwidth latin cap r","short":"cap r"},"mathspeak":{"default":"upper R"}}},{"category":"Lu","key":"FF33","mappings":{"default":{"default":"fullwidth latin capital letter s","alternative":"fullwidth latin cap s","short":"cap s"},"mathspeak":{"default":"upper S"}}},{"category":"Lu","key":"FF34","mappings":{"default":{"default":"fullwidth latin capital letter t","alternative":"fullwidth latin cap t","short":"cap t"},"mathspeak":{"default":"upper T"}}},{"category":"Lu","key":"FF35","mappings":{"default":{"default":"fullwidth latin capital letter u","alternative":"fullwidth latin cap u","short":"cap u"},"mathspeak":{"default":"upper U"}}},{"category":"Lu","key":"FF36","mappings":{"default":{"default":"fullwidth latin capital letter v","alternative":"fullwidth latin cap v","short":"cap v"},"mathspeak":{"default":"upper V"}}},{"category":"Lu","key":"FF37","mappings":{"default":{"default":"fullwidth latin capital letter w","alternative":"fullwidth latin cap w","short":"cap w"},"mathspeak":{"default":"upper W"}}},{"category":"Lu","key":"FF38","mappings":{"default":{"default":"fullwidth latin capital letter x","alternative":"fullwidth latin cap x","short":"cap x"},"mathspeak":{"default":"upper X"}}},{"category":"Lu","key":"FF39","mappings":{"default":{"default":"fullwidth latin capital letter y","alternative":"fullwidth latin cap y","short":"cap y"},"mathspeak":{"default":"upper Y"}}},{"category":"Lu","key":"FF3A","mappings":{"default":{"default":"fullwidth latin capital letter z","alternative":"fullwidth latin cap z","short":"cap z"},"mathspeak":{"default":"upper Z"}}}] diff --git a/assets/js/mathmaps/en/symbols/latin-upper-single-accent.js b/assets/js/mathmaps/en/symbols/latin-upper-single-accent.js new file mode 100644 index 0000000000000000000000000000000000000000..a9b587470f84e120d2daacbf99ef1f5412407bfd --- /dev/null +++ b/assets/js/mathmaps/en/symbols/latin-upper-single-accent.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"Lu","key":"00C0","mappings":{"default":{"default":"latin capital letter a with grave","alternative":"latin capital letter a grave","short":"cap a grave"},"mathspeak":{"default":"modifying above upper A with grave","brief":"mod above upper A with grave","sbrief":"mod above upper A with grave"}}},{"category":"Lu","key":"00C1","mappings":{"default":{"default":"latin capital letter a with acute","alternative":"latin capital letter a acute","short":"cap a acute"},"mathspeak":{"default":"modifying above upper A with acute","brief":"mod above upper A with acute","sbrief":"mod above upper A with acute"}}},{"category":"Lu","key":"00C2","mappings":{"default":{"default":"latin capital letter a with circumflex","alternative":"latin capital letter a hat","short":"cap a hat"},"mathspeak":{"default":"modifying above upper A with caret","brief":"mod above upper A with caret","sbrief":"mod above upper A with caret"}}},{"category":"Lu","key":"00C3","mappings":{"default":{"default":"latin capital letter a with tilde","alternative":"latin capital letter a tilde","short":"cap a tilde"},"mathspeak":{"default":"upper A overtilde","brief":"upper A overtilde","sbrief":"upper A overtilde"}}},{"category":"Lu","key":"00C4","mappings":{"default":{"default":"latin capital letter a with diaeresis","alternative":"latin capital letter a double overdot","short":"cap a double overdot"},"mathspeak":{"default":"modifying above upper A with double dot","brief":"mod above upper A with double dot","sbrief":"mod above upper A with double dot"}}},{"category":"Lu","key":"00C5","mappings":{"default":{"default":"latin capital letter a with ring above","alternative":"latin capital letter a ring","short":"cap a ring"},"mathspeak":{"default":"modifying above upper A with ring","brief":"mod above upper A with ring","sbrief":"mod above upper A with ring"}}},{"category":"Lu","key":"00C7","mappings":{"default":{"default":"latin capital letter c cedilla","alternative":"latin capital letter c cedilla","short":"cap c cedilla"},"mathspeak":{"default":"modifying above upper C with cedilla","brief":"mod above upper C with cedilla","sbrief":"mod above upper C with cedilla"}}},{"category":"Lu","key":"00C8","mappings":{"default":{"default":"latin capital letter e with grave","alternative":"latin capital letter e grave","short":"cap e grave"},"mathspeak":{"default":"modifying above upper E with grave","brief":"mod above upper E with grave","sbrief":"mod above upper E with grave"}}},{"category":"Lu","key":"00C9","mappings":{"default":{"default":"latin capital letter e with acute","alternative":"latin capital letter e acute","short":"cap e acute"},"mathspeak":{"default":"modifying above upper E with acute","brief":"mod above upper E with acute","sbrief":"mod above upper E with acute"}}},{"category":"Lu","key":"00CA","mappings":{"default":{"default":"latin capital letter e with circumflex","alternative":"latin capital letter e hat","short":"cap e hat"},"mathspeak":{"default":"modifying above upper E with caret","brief":"mod above upper E with caret","sbrief":"mod above upper E with caret"}}},{"category":"Lu","key":"00CB","mappings":{"default":{"default":"latin capital letter e with diaeresis","alternative":"latin capital letter e double overdot","short":"cap e double overdot"},"mathspeak":{"default":"modifying above upper E with double dot","brief":"mod above upper E with double dot","sbrief":"mod above upper E with double dot"}}},{"category":"Lu","key":"00CC","mappings":{"default":{"default":"latin capital letter i with grave","alternative":"latin capital letter i grave","short":"cap i grave"},"mathspeak":{"default":"modifying above upper I with grave","brief":"mod above upper I with grave","sbrief":"mod above upper I with grave"}}},{"category":"Lu","key":"00CD","mappings":{"default":{"default":"latin capital letter i with acute","alternative":"latin capital letter i acute","short":"cap i acute"},"mathspeak":{"default":"modifying above upper I with acute","brief":"mod above upper I with acute","sbrief":"mod above upper I with acute"}}},{"category":"Lu","key":"00CE","mappings":{"default":{"default":"latin capital letter i with circumflex","alternative":"latin capital letter i hat","short":"cap i hat"},"mathspeak":{"default":"modifying above upper I with caret","brief":"mod above upper I with caret","sbrief":"mod above upper I with caret"}}},{"category":"Lu","key":"00CF","mappings":{"default":{"default":"latin capital letter i with diaeresis","alternative":"latin capital letter i double overdot","short":"cap i double overdot"},"mathspeak":{"default":"modifying above upper I with double dot","brief":"mod above upper I with double dot","sbrief":"mod above upper I with double dot"}}},{"category":"Lu","key":"00D1","mappings":{"default":{"default":"latin capital letter n tilde","alternative":"latin capital letter n tilde","short":"cap n tilde"},"mathspeak":{"default":"upper N overtilde","brief":"upper N overtilde","sbrief":"upper N overtilde"}}},{"category":"Lu","key":"00D2","mappings":{"default":{"default":"latin capital letter o with grave","alternative":"latin capital letter o grave","short":"cap o grave"},"mathspeak":{"default":"modifying above upper O with grave","brief":"mod above upper O with grave","sbrief":"mod above upper O with grave"}}},{"category":"Lu","key":"00D3","mappings":{"default":{"default":"latin capital letter o with acute","alternative":"latin capital letter o acute","short":"cap o acute"},"mathspeak":{"default":"modifying above upper O with acute","brief":"mod above upper O with acute","sbrief":"mod above upper O with acute"}}},{"category":"Lu","key":"00D4","mappings":{"default":{"default":"latin capital letter o with circumflex","alternative":"latin capital letter o hat","short":"cap o hat"},"mathspeak":{"default":"modifying above upper O with caret","brief":"mod above upper O with caret","sbrief":"mod above upper O with caret"}}},{"category":"Lu","key":"00D5","mappings":{"default":{"default":"latin capital letter o with tilde","alternative":"latin capital letter o tilde","short":"cap o tilde"},"mathspeak":{"default":"upper O overtilde","brief":"upper O overtilde","sbrief":"upper O overtilde"}}},{"category":"Lu","key":"00D6","mappings":{"default":{"default":"latin capital letter o with diaeresis","alternative":"latin capital letter o double overdot","short":"cap o double overdot"},"mathspeak":{"default":"modifying above upper O with double dot","brief":"mod above upper O with double dot","sbrief":"mod above upper O with double dot"}}},{"category":"Lu","key":"00D9","mappings":{"default":{"default":"latin capital letter u with grave","alternative":"latin capital letter u grave","short":"cap u grave"},"mathspeak":{"default":"modifying above upper U with grave","brief":"mod above upper U with grave","sbrief":"mod above upper U with grave"}}},{"category":"Lu","key":"00DA","mappings":{"default":{"default":"latin capital letter u with acute","alternative":"latin capital letter u acute","short":"cap u acute"},"mathspeak":{"default":"modifying above upper U with acute","brief":"mod above upper U with acute","sbrief":"mod above upper U with acute"}}},{"category":"Lu","key":"00DB","mappings":{"default":{"default":"latin capital letter u with circumflex","alternative":"latin capital letter u hat","short":"cap u hat"},"mathspeak":{"default":"modifying above upper U with caret","brief":"mod above upper U with caret","sbrief":"mod above upper U with caret"}}},{"category":"Lu","key":"00DC","mappings":{"default":{"default":"latin capital letter u with diaeresis","alternative":"latin capital letter u double overdot","short":"cap u double overdot"},"mathspeak":{"default":"modifying above upper U with double dot","brief":"mod above upper U with double dot","sbrief":"mod above upper U with double dot"}}},{"category":"Lu","key":"00DD","mappings":{"default":{"default":"latin capital letter y with acute","alternative":"latin capital letter y acute","short":"cap y acute"},"mathspeak":{"default":"modifying above upper Y with acute","brief":"mod above upper Y with acute","sbrief":"mod above upper Y with acute"}}},{"category":"Lu","key":"0100","mappings":{"default":{"default":"latin capital letter a macron","alternative":"latin capital letter a overbar","short":"cap a overbar"},"mathspeak":{"default":"upper A overbar","brief":"upper A overbar","sbrief":"upper A overbar"}}},{"category":"Lu","key":"0102","mappings":{"default":{"default":"latin capital letter a with breve","alternative":"latin capital letter a breve","short":"cap a breve"},"mathspeak":{"default":"modifying above upper A with breve","brief":"mod above upper A with breve","sbrief":"mod above upper A with breve"}}},{"category":"Lu","key":"0104","mappings":{"default":{"default":"latin capital letter a with ogonek","alternative":"latin capital letter a ogonek","short":"cap a ogonek"},"mathspeak":{"default":"modifying above upper A with ogonek","brief":"mod above upper A with ogonek","sbrief":"mod above upper A with ogonek"}}},{"category":"Lu","key":"0106","mappings":{"default":{"default":"latin capital letter c with acute","alternative":"latin capital letter c acute","short":"cap c acute"},"mathspeak":{"default":"modifying above upper C with acute","brief":"mod above upper C with acute","sbrief":"mod above upper C with acute"}}},{"category":"Lu","key":"0108","mappings":{"default":{"default":"latin capital letter c with circumflex","alternative":"latin capital letter c hat","short":"cap c hat"},"mathspeak":{"default":"modifying above upper C with caret","brief":"mod above upper C with caret","sbrief":"mod above upper C with caret"}}},{"category":"Lu","key":"010A","mappings":{"default":{"default":"latin capital letter c with dot above","alternative":"latin capital letter c overdot","short":"cap c overdot"},"mathspeak":{"default":"modifying above upper C with dot","brief":"mod above upper C with dot","sbrief":"mod above upper C with dot"}}},{"category":"Lu","key":"010C","mappings":{"default":{"default":"latin capital letter c with caron","alternative":"latin capital letter c hacek","short":"cap c caron"},"mathspeak":{"default":"modifying above upper C with caron","brief":"mod above upper C with caron","sbrief":"mod above upper C with caron"}}},{"category":"Lu","key":"010E","mappings":{"default":{"default":"latin capital letter d with caron","alternative":"latin capital letter d hacek","short":"cap d caron"},"mathspeak":{"default":"modifying above upper D with caron","brief":"mod above upper D with caron","sbrief":"mod above upper D with caron"}}},{"category":"Lu","key":"0112","mappings":{"default":{"default":"latin capital letter e with macron","alternative":"latin capital letter e overbar","short":"cap e overbar"},"mathspeak":{"default":"upper E overbar","brief":"upper E overbar","sbrief":"upper E overbar"}}},{"category":"Lu","key":"0114","mappings":{"default":{"default":"latin capital letter e with breve","alternative":"latin capital letter e breve","short":"cap e breve"},"mathspeak":{"default":"modifying above upper E with breve","brief":"mod above upper E with breve","sbrief":"mod above upper E with breve"}}},{"category":"Lu","key":"0116","mappings":{"default":{"default":"latin capital letter e with dot above","alternative":"latin capital letter e overdot","short":"cap e overdot"},"mathspeak":{"default":"modifying above upper E with dot","brief":"mod above upper E with dot","sbrief":"mod above upper E with dot"}}},{"category":"Lu","key":"0118","mappings":{"default":{"default":"latin capital letter e with ogonek","alternative":"latin capital letter e ogonek","short":"cap e ogonek"},"mathspeak":{"default":"modifying above upper E with ogonek","brief":"mod above upper E with ogonek","sbrief":"mod above upper E with ogonek"}}},{"category":"Lu","key":"011A","mappings":{"default":{"default":"latin capital letter e with caron","alternative":"latin capital letter e hacek","short":"cap e caron"},"mathspeak":{"default":"modifying above upper E with caron","brief":"mod above upper E with caron","sbrief":"mod above upper E with caron"}}},{"category":"Lu","key":"011C","mappings":{"default":{"default":"latin capital letter g with circumflex","alternative":"latin capital letter g hat","short":"cap g hat"},"mathspeak":{"default":"modifying above upper G with caret","brief":"mod above upper G with caret","sbrief":"mod above upper G with caret"}}},{"category":"Lu","key":"011E","mappings":{"default":{"default":"latin capital letter g with breve","alternative":"latin capital letter g breve","short":"cap g breve"},"mathspeak":{"default":"modifying above upper G with breve","brief":"mod above upper G with breve","sbrief":"mod above upper G with breve"}}},{"category":"Lu","key":"0120","mappings":{"default":{"default":"latin capital letter g with dot above","alternative":"latin capital letter g overdot","short":"cap g overdot"},"mathspeak":{"default":"modifying above upper G with dot","brief":"mod above upper G with dot","sbrief":"mod above upper G with dot"}}},{"category":"Lu","key":"0122","mappings":{"default":{"default":"latin capital letter g with cedilla","alternative":"latin capital letter g cedilla","short":"cap g cedilla"},"mathspeak":{"default":"modifying above upper G with cedilla","brief":"mod above upper G with cedilla","sbrief":"mod above upper G with cedilla"}}},{"category":"Lu","key":"0124","mappings":{"default":{"default":"latin capital letter h with circumflex","alternative":"latin capital letter h hat","short":"cap h hat"},"mathspeak":{"default":"modifying above upper H with caret","brief":"mod above upper H with caret","sbrief":"mod above upper H with caret"}}},{"category":"Lu","key":"0128","mappings":{"default":{"default":"latin capital letter i with tilde","alternative":"latin capital letter i tilde","short":"cap i tilde"},"mathspeak":{"default":"upper I overtilde","brief":"upper I overtilde","sbrief":"upper I overtilde"}}},{"category":"Lu","key":"012A","mappings":{"default":{"default":"latin capital letter i with macron","alternative":"latin capital letter i overbar","short":"cap i overbar"},"mathspeak":{"default":"upper I overbar","brief":"upper I overbar","sbrief":"upper I overbar"}}},{"category":"Lu","key":"012C","mappings":{"default":{"default":"latin capital letter i with breve","alternative":"latin capital letter i breve","short":"cap i breve"},"mathspeak":{"default":"modifying above upper I with breve","brief":"mod above upper I with breve","sbrief":"mod above upper I with breve"}}},{"category":"Lu","key":"012E","mappings":{"default":{"default":"latin capital letter i with ogonek","alternative":"latin capital letter i ogonek","short":"cap i ogonek"},"mathspeak":{"default":"modifying above upper I with ogonek","brief":"mod above upper I with ogonek","sbrief":"mod above upper I with ogonek"}}},{"category":"Lu","key":"0130","mappings":{"default":{"default":"latin capital letter i with dot above","alternative":"latin capital letter i overdot","short":"cap i overdot"},"mathspeak":{"default":"modifying above upper I with dot","brief":"mod above upper I with dot","sbrief":"mod above upper I with dot"}}},{"category":"Lu","key":"0134","mappings":{"default":{"default":"latin capital letter j circumflex","alternative":"latin capital letter j hat","short":"cap j hat"},"mathspeak":{"default":"modifying above upper J with caret","brief":"mod above upper J with caret","sbrief":"mod above upper J with caret"}}},{"category":"Lu","key":"0136","mappings":{"default":{"default":"latin capital letter k with cedilla","alternative":"latin capital letter k cedilla","short":"cap k cedilla"},"mathspeak":{"default":"modifying above upper K with cedilla","brief":"mod above upper K with cedilla","sbrief":"mod above upper K with cedilla"}}},{"category":"Lu","key":"0139","mappings":{"default":{"default":"latin capital letter l with acute","alternative":"latin capital letter l acute","short":"cap l acute"},"mathspeak":{"default":"modifying above upper L with acute","brief":"mod above upper L with acute","sbrief":"mod above upper L with acute"}}},{"category":"Lu","key":"013B","mappings":{"default":{"default":"latin capital letter l with cedilla","alternative":"latin capital letter l cedilla","short":"cap l cedilla"},"mathspeak":{"default":"modifying above upper L with cedilla","brief":"mod above upper L with cedilla","sbrief":"mod above upper L with cedilla"}}},{"category":"Lu","key":"013D","mappings":{"default":{"default":"latin capital letter l with caron","alternative":"latin capital letter l hacek","short":"cap l caron"},"mathspeak":{"default":"modifying above upper L with caron","brief":"mod above upper L with caron","sbrief":"mod above upper L with caron"}}},{"category":"Lu","key":"013F","mappings":{"default":{"default":"latin capital letter l with middle dot","alternative":"latin capital letter l middle dot","short":"cap l middle dot"},"mathspeak":{"default":"modifying above upper L with middle dot","brief":"mod above upper L with middle dot","sbrief":"mod above upper L with middle dot"}}},{"category":"Lu","key":"0143","mappings":{"default":{"default":"latin capital letter n with acute","alternative":"latin capital letter n acute","short":"cap n acute"},"mathspeak":{"default":"modifying above upper N with acute","brief":"mod above upper N with acute","sbrief":"mod above upper N with acute"}}},{"category":"Lu","key":"0145","mappings":{"default":{"default":"latin capital letter n with cedilla","alternative":"latin capital letter n cedilla","short":"cap n cedilla"},"mathspeak":{"default":"modifying above upper N with cedilla","brief":"mod above upper N with cedilla","sbrief":"mod above upper N with cedilla"}}},{"category":"Lu","key":"0147","mappings":{"default":{"default":"latin capital letter n with caron","alternative":"latin capital letter n hacek","short":"cap n caron"},"mathspeak":{"default":"modifying above upper N with caron","brief":"mod above upper N with caron","sbrief":"mod above upper N with caron"}}},{"category":"Lu","key":"014C","mappings":{"default":{"default":"latin capital letter o macron","alternative":"latin capital letter o overbar","short":"cap o overbar"},"mathspeak":{"default":"upper O overbar","brief":"upper O overbar","sbrief":"upper O overbar"}}},{"category":"Lu","key":"014E","mappings":{"default":{"default":"latin capital letter o with breve","alternative":"latin capital letter o breve","short":"cap o breve"},"mathspeak":{"default":"modifying above upper O with breve","brief":"mod above upper O with breve","sbrief":"mod above upper O with breve"}}},{"category":"Lu","key":"0150","mappings":{"default":{"default":"latin capital letter o with double acute","alternative":"latin capital letter o double acute","short":"cap o double acute"},"mathspeak":{"default":"modifying above upper O with double acute","brief":"mod above upper O with double acute","sbrief":"mod above upper O with double acute"}}},{"category":"Lu","key":"0154","mappings":{"default":{"default":"latin capital letter r acute","alternative":"latin capital letter r acute","short":"cap r acute"},"mathspeak":{"default":"modifying above upper R with acute","brief":"mod above upper R with acute","sbrief":"mod above upper R with acute"}}},{"category":"Lu","key":"0156","mappings":{"default":{"default":"latin capital letter r with cedilla","alternative":"latin capital letter r cedilla","short":"cap r cedilla"},"mathspeak":{"default":"modifying above upper R with cedilla","brief":"mod above upper R with cedilla","sbrief":"mod above upper R with cedilla"}}},{"category":"Lu","key":"0158","mappings":{"default":{"default":"latin capital letter r with caron","alternative":"latin capital letter r hacek","short":"cap r caron"},"mathspeak":{"default":"modifying above upper R with caron","brief":"mod above upper R with caron","sbrief":"mod above upper R with caron"}}},{"category":"Lu","key":"015A","mappings":{"default":{"default":"latin capital letter s with acute","alternative":"latin capital letter s acute","short":"cap s acute"},"mathspeak":{"default":"modifying above upper S with acute","brief":"mod above upper S with acute","sbrief":"mod above upper S with acute"}}},{"category":"Lu","key":"015C","mappings":{"default":{"default":"latin capital letter s with circumflex","alternative":"latin capital letter s hat","short":"cap s hat"},"mathspeak":{"default":"modifying above upper S with caret","brief":"mod above upper S with caret","sbrief":"mod above upper S with caret"}}},{"category":"Lu","key":"015E","mappings":{"default":{"default":"latin capital letter s with cedilla","alternative":"latin capital letter s cedilla","short":"cap s cedilla"},"mathspeak":{"default":"modifying above upper S with cedilla","brief":"mod above upper S with cedilla","sbrief":"mod above upper S with cedilla"}}},{"category":"Lu","key":"0160","mappings":{"default":{"default":"latin capital letter s with caron","alternative":"latin capital letter s hacek","short":"cap s caron"},"mathspeak":{"default":"modifying above upper S with caron","brief":"mod above upper S with caron","sbrief":"mod above upper S with caron"}}},{"category":"Lu","key":"0162","mappings":{"default":{"default":"latin capital letter t with cedilla","alternative":"latin capital letter t cedilla","short":"cap t cedilla"},"mathspeak":{"default":"modifying above upper T with cedilla","brief":"mod above upper T with cedilla","sbrief":"mod above upper T with cedilla"}}},{"category":"Lu","key":"0164","mappings":{"default":{"default":"latin capital letter t with caron","alternative":"latin capital letter t hacek","short":"cap t caron"},"mathspeak":{"default":"modifying above upper T with caron","brief":"mod above upper T with caron","sbrief":"mod above upper T with caron"}}},{"category":"Lu","key":"0168","mappings":{"default":{"default":"latin capital letter u with tilde","alternative":"latin capital letter u tilde","short":"cap u tilde"},"mathspeak":{"default":"upper U overtilde","brief":"upper U overtilde","sbrief":"upper U overtilde"}}},{"category":"Lu","key":"016A","mappings":{"default":{"default":"latin capital letter u with macron","alternative":"latin capital letter u overbar","short":"cap u overbar"},"mathspeak":{"default":"upper U overbar","brief":"upper U overbar","sbrief":"upper U overbar"}}},{"category":"Lu","key":"016C","mappings":{"default":{"default":"latin capital letter u with breve","alternative":"latin capital letter u breve","short":"cap u breve"},"mathspeak":{"default":"modifying above upper U with breve","brief":"mod above upper U with breve","sbrief":"mod above upper U with breve"}}},{"category":"Lu","key":"016E","mappings":{"default":{"default":"latin capital letter u with ring above","alternative":"latin capital letter u ring","short":"cap u ring"},"mathspeak":{"default":"modifying above upper U with ring","brief":"mod above upper U with ring","sbrief":"mod above upper U with ring"}}},{"category":"Lu","key":"0170","mappings":{"default":{"default":"latin capital letter u with double acute","alternative":"latin capital letter u double acute","short":"cap u double acute"},"mathspeak":{"default":"modifying above upper U with double acute","brief":"mod above upper U with double acute","sbrief":"mod above upper U with double acute"}}},{"category":"Lu","key":"0172","mappings":{"default":{"default":"latin capital letter u with ogonek","alternative":"latin capital letter u ogonek","short":"cap u ogonek"},"mathspeak":{"default":"modifying above upper U with ogonek","brief":"mod above upper U with ogonek","sbrief":"mod above upper U with ogonek"}}},{"category":"Lu","key":"0174","mappings":{"default":{"default":"latin capital letter w with circumflex","alternative":"latin capital letter w hat","short":"cap w hat"},"mathspeak":{"default":"modifying above upper W with caret","brief":"mod above upper W with caret","sbrief":"mod above upper W with caret"}}},{"category":"Lu","key":"0176","mappings":{"default":{"default":"latin capital letter y with circumflex","alternative":"latin capital letter y hat","short":"cap y hat"},"mathspeak":{"default":"modifying above upper Y with caret","brief":"mod above upper Y with caret","sbrief":"mod above upper Y with caret"}}},{"category":"Lu","key":"0178","mappings":{"default":{"default":"latin capital letter y with diaeresis","alternative":"latin capital letter y double overdot","short":"cap y double overdot"},"mathspeak":{"default":"modifying above upper Y with double dot","brief":"mod above upper Y with double dot","sbrief":"mod above upper Y with double dot"}}},{"category":"Lu","key":"0179","mappings":{"default":{"default":"latin capital letter z with acute","alternative":"latin capital letter z acute","short":"cap z acute"},"mathspeak":{"default":"modifying above upper Z with acute","brief":"mod above upper Z with acute","sbrief":"mod above upper Z with acute"}}},{"category":"Lu","key":"017B","mappings":{"default":{"default":"latin capital letter z with dot above","alternative":"latin capital letter z overdot","short":"cap z overdot"},"mathspeak":{"default":"modifying above upper Z with dot","brief":"mod above upper Z with dot","sbrief":"mod above upper Z with dot"}}},{"category":"Lu","key":"017D","mappings":{"default":{"default":"latin capital letter z with caron","alternative":"latin capital letter z hacek","short":"cap z caron"},"mathspeak":{"default":"modifying above upper Z with caron","brief":"mod above upper Z with caron","sbrief":"mod above upper Z with caron"}}},{"category":"Lu","key":"01CD","mappings":{"default":{"default":"latin capital letter a with caron","alternative":"latin capital letter a hacek","short":"cap a caron"},"mathspeak":{"default":"modifying above upper A with caron","brief":"mod above upper A with caron","sbrief":"mod above upper A with caron"}}},{"category":"Lu","key":"01CF","mappings":{"default":{"default":"latin capital letter i with caron","alternative":"latin capital letter i hacek","short":"cap i caron"},"mathspeak":{"default":"modifying above upper I with caron","brief":"mod above upper I with caron","sbrief":"mod above upper I with caron"}}},{"category":"Lu","key":"01D1","mappings":{"default":{"default":"latin capital letter o with caron","alternative":"latin capital letter o hacek","short":"cap o caron"},"mathspeak":{"default":"modifying above upper O with caron","brief":"mod above upper O with caron","sbrief":"mod above upper O with caron"}}},{"category":"Lu","key":"01D3","mappings":{"default":{"default":"latin capital letter u with caron","alternative":"latin capital letter u hacek","short":"cap u caron"},"mathspeak":{"default":"modifying above upper U with caron","brief":"mod above upper U with caron","sbrief":"mod above upper U with caron"}}},{"category":"Lu","key":"01E6","mappings":{"default":{"default":"latin capital letter g with caron","alternative":"latin capital letter g hacek","short":"cap g caron"},"mathspeak":{"default":"modifying above upper G with caron","brief":"mod above upper G with caron","sbrief":"mod above upper G with caron"}}},{"category":"Lu","key":"01E8","mappings":{"default":{"default":"latin capital letter k with caron","alternative":"latin capital letter k hacek","short":"cap k caron"},"mathspeak":{"default":"modifying above upper K with caron","brief":"mod above upper K with caron","sbrief":"mod above upper K with caron"}}},{"category":"Lu","key":"01EA","mappings":{"default":{"default":"latin capital letter o with ogonek","alternative":"latin capital letter o ogonek","short":"cap o ogonek"},"mathspeak":{"default":"modifying above upper O with ogonek","brief":"mod above upper O with ogonek","sbrief":"mod above upper O with ogonek"}}},{"category":"Lu","key":"01F4","mappings":{"default":{"default":"latin capital letter g with acute","alternative":"latin capital letter g acute","short":"cap g acute"},"mathspeak":{"default":"modifying above upper G with acute","brief":"mod above upper G with acute","sbrief":"mod above upper G with acute"}}},{"category":"Lu","key":"01F8","mappings":{"default":{"default":"latin capital letter n with grave","alternative":"latin capital letter n grave","short":"cap n grave"},"mathspeak":{"default":"modifying above upper N with grave","brief":"mod above upper N with grave","sbrief":"mod above upper N with grave"}}},{"category":"Lu","key":"0200","mappings":{"default":{"default":"latin capital letter a with double grave","alternative":"latin capital letter a double grave","short":"cap a double grave"},"mathspeak":{"default":"modifying above upper A with double grave","brief":"mod above upper A with double grave","sbrief":"mod above upper A with double grave"}}},{"category":"Lu","key":"0202","mappings":{"default":{"default":"latin capital letter a with inverted breve","alternative":"latin capital letter a inverted breve","short":"cap a inverted breve"},"mathspeak":{"default":"modifying above upper A with inverted breve","brief":"mod above upper A with inverted breve","sbrief":"mod above upper A with inverted breve"}}},{"category":"Lu","key":"0204","mappings":{"default":{"default":"latin capital letter e with double grave","alternative":"latin capital letter e double grave","short":"cap e double grave"},"mathspeak":{"default":"modifying above upper E with double grave","brief":"mod above upper E with double grave","sbrief":"mod above upper E with double grave"}}},{"category":"Lu","key":"0206","mappings":{"default":{"default":"latin capital letter e with inverted breve","alternative":"latin capital letter e inverted breve","short":"cap e inverted breve"},"mathspeak":{"default":"modifying above upper E with inverted breve","brief":"mod above upper E with inverted breve","sbrief":"mod above upper E with inverted breve"}}},{"category":"Lu","key":"0208","mappings":{"default":{"default":"latin capital letter i with double grave","alternative":"latin capital letter i double grave","short":"cap i double grave"},"mathspeak":{"default":"modifying above upper I with double grave","brief":"mod above upper I with double grave","sbrief":"mod above upper I with double grave"}}},{"category":"Lu","key":"020A","mappings":{"default":{"default":"latin capital letter i with inverted breve","alternative":"latin capital letter i inverted breve","short":"cap i inverted breve"},"mathspeak":{"default":"modifying above upper I with inverted breve","brief":"mod above upper I with inverted breve","sbrief":"mod above upper I with inverted breve"}}},{"category":"Lu","key":"020C","mappings":{"default":{"default":"latin capital letter o with double grave","alternative":"latin capital letter o double grave","short":"cap o double grave"},"mathspeak":{"default":"modifying above upper O with double grave","brief":"mod above upper O with double grave","sbrief":"mod above upper O with double grave"}}},{"category":"Lu","key":"020E","mappings":{"default":{"default":"latin capital letter o with inverted breve","alternative":"latin capital letter o inverted breve","short":"cap o inverted breve"},"mathspeak":{"default":"modifying above upper O with inverted breve","brief":"mod above upper O with inverted breve","sbrief":"mod above upper O with inverted breve"}}},{"category":"Lu","key":"0210","mappings":{"default":{"default":"latin capital letter r with double grave","alternative":"latin capital letter r double grave","short":"cap r double grave"},"mathspeak":{"default":"modifying above upper R with double grave","brief":"mod above upper R with double grave","sbrief":"mod above upper R with double grave"}}},{"category":"Lu","key":"0212","mappings":{"default":{"default":"latin capital letter r with inverted breve","alternative":"latin capital letter r inverted breve","short":"cap r inverted breve"},"mathspeak":{"default":"modifying above upper R with inverted breve","brief":"mod above upper R with inverted breve","sbrief":"mod above upper R with inverted breve"}}},{"category":"Lu","key":"0214","mappings":{"default":{"default":"latin capital letter u with double grave","alternative":"latin capital letter u double grave","short":"cap u double grave"},"mathspeak":{"default":"modifying above upper U with double grave","brief":"mod above upper U with double grave","sbrief":"mod above upper U with double grave"}}},{"category":"Lu","key":"0216","mappings":{"default":{"default":"latin capital letter u with inverted breve","alternative":"latin capital letter u inverted breve","short":"cap u inverted breve"},"mathspeak":{"default":"modifying above upper U with inverted breve","brief":"mod above upper U with inverted breve","sbrief":"mod above upper U with inverted breve"}}},{"category":"Lu","key":"0218","mappings":{"default":{"default":"latin capital letter s with comma below","alternative":"latin capital letter s comma below","short":"cap s comma below"},"mathspeak":{"default":"modifying below upper S with comma below","brief":"mod below upper S with comma below","sbrief":"mod below upper S with comma below"}}},{"category":"Lu","key":"021A","mappings":{"default":{"default":"latin capital letter t with comma below","alternative":"latin capital letter t comma below","short":"cap t comma below"},"mathspeak":{"default":"modifying below upper T with comma below","brief":"mod below upper T with comma below","sbrief":"mod below upper T with comma below"}}},{"category":"Lu","key":"021E","mappings":{"default":{"default":"latin capital letter h caron","short":"cap h caron"},"mathspeak":{"default":"modifying above upper H with caron","brief":"mod above upper H with caron","sbrief":"mod above upper H with caron"}}},{"category":"Lu","key":"0226","mappings":{"default":{"default":"latin capital letter a with dot above","alternative":"latin capital letter a overdot","short":"cap a overdot"},"mathspeak":{"default":"modifying above upper A with dot","brief":"mod above upper A with dot","sbrief":"mod above upper A with dot"}}},{"category":"Lu","key":"0228","mappings":{"default":{"default":"latin capital letter e with cedilla","alternative":"latin capital letter e cedilla","short":"cap e cedilla"},"mathspeak":{"default":"modifying above upper E with cedilla","brief":"mod above upper E with cedilla","sbrief":"mod above upper E with cedilla"}}},{"category":"Lu","key":"022E","mappings":{"default":{"default":"latin capital letter o with dot above","alternative":"latin capital letter o overdot","short":"cap o overdot"},"mathspeak":{"default":"modifying above upper O with dot","brief":"mod above upper O with dot","sbrief":"mod above upper O with dot"}}},{"category":"Lu","key":"0232","mappings":{"default":{"default":"latin capital letter y with macron","alternative":"latin capital letter y overbar","short":"cap y overbar"},"mathspeak":{"default":"upper Y overbar","brief":"upper Y overbar","sbrief":"upper Y overbar"}}},{"category":"Lu","key":"1E00","mappings":{"default":{"default":"latin capital letter a with ring below","alternative":"latin capital letter a ring below","short":"cap a ring below"},"mathspeak":{"default":"modifying below upper A with ring below","brief":"mod below upper A with ring below","sbrief":"mod below upper A with ring below"}}},{"category":"Lu","key":"1E02","mappings":{"default":{"default":"latin capital letter b with dot above","alternative":"latin capital letter b overdot","short":"cap b overdot"},"mathspeak":{"default":"modifying above upper B with dot","brief":"mod above upper B with dot","sbrief":"mod above upper B with dot"}}},{"category":"Lu","key":"1E04","mappings":{"default":{"default":"latin capital letter b with dot below","alternative":"latin capital letter b underdot","short":"cap b underdot"},"mathspeak":{"default":"modifying below upper B with dot","brief":"mod below upper B with dot","sbrief":"mod below upper B with dot"}}},{"category":"Lu","key":"1E06","mappings":{"default":{"default":"latin capital letter b with line below","alternative":"latin capital letter b underbar","short":"cap b underbar"},"mathspeak":{"default":"upper B underbar","brief":"upper B underbar","sbrief":"upper B underbar"}}},{"category":"Lu","key":"1E0A","mappings":{"default":{"default":"latin capital letter d with dot above","alternative":"latin capital letter d overdot","short":"cap d overdot"},"mathspeak":{"default":"modifying above upper D with dot","brief":"mod above upper D with dot","sbrief":"mod above upper D with dot"}}},{"category":"Lu","key":"1E0C","mappings":{"default":{"default":"latin capital letter d with dot below","alternative":"latin capital letter d underdot","short":"cap d underdot"},"mathspeak":{"default":"modifying below upper D with dot","brief":"mod below upper D with dot","sbrief":"mod below upper D with dot"}}},{"category":"Lu","key":"1E0E","mappings":{"default":{"default":"latin capital letter d with line below","alternative":"latin capital letter d underbar","short":"cap d underbar"},"mathspeak":{"default":"upper D underbar","brief":"upper D underbar","sbrief":"upper D underbar"}}},{"category":"Lu","key":"1E10","mappings":{"default":{"default":"latin capital letter d with cedilla","alternative":"latin capital letter d cedilla","short":"cap d cedilla"},"mathspeak":{"default":"modifying above upper D with cedilla","brief":"mod above upper D with cedilla","sbrief":"mod above upper D with cedilla"}}},{"category":"Lu","key":"1E12","mappings":{"default":{"default":"latin capital letter d with circumflex below","alternative":"latin capital letter d underhat","short":"cap d underhat"},"mathspeak":{"default":"modifying below upper D with caret","brief":"mod below upper D with caret","sbrief":"mod below upper D with caret"}}},{"category":"Lu","key":"1E18","mappings":{"default":{"default":"latin capital letter e with circumflex below","alternative":"latin capital letter e underhat","short":"cap e underhat"},"mathspeak":{"default":"modifying below upper E with caret","brief":"mod below upper E with caret","sbrief":"mod below upper E with caret"}}},{"category":"Lu","key":"1E1A","mappings":{"default":{"default":"latin capital letter e with tilde below","alternative":"latin capital letter e tilde below","short":"cap e tilde below"},"mathspeak":{"default":"upper E undertilde","brief":"upper E undertilde","sbrief":"upper E undertilde"}}},{"category":"Lu","key":"1E1E","mappings":{"default":{"default":"latin capital letter f with dot above","alternative":"latin capital letter f overdot","short":"cap f overdot"},"mathspeak":{"default":"modifying above upper F with dot","brief":"mod above upper F with dot","sbrief":"mod above upper F with dot"}}},{"category":"Lu","key":"1E20","mappings":{"default":{"default":"latin capital letter g with macron","alternative":"latin capital letter g overbar","short":"cap g overbar"},"mathspeak":{"default":"upper G overbar","brief":"upper G overbar","sbrief":"upper G overbar"}}},{"category":"Lu","key":"1E22","mappings":{"default":{"default":"latin capital letter h with dot above","alternative":"latin capital letter h overdot","short":"cap h overdot"},"mathspeak":{"default":"modifying above upper H with dot","brief":"mod above upper H with dot","sbrief":"mod above upper H with dot"}}},{"category":"Lu","key":"1E24","mappings":{"default":{"default":"latin capital letter h with dot below","alternative":"latin capital letter h underdot","short":"cap h underdot"},"mathspeak":{"default":"modifying below upper H with dot","brief":"mod below upper H with dot","sbrief":"mod below upper H with dot"}}},{"category":"Lu","key":"1E26","mappings":{"default":{"default":"latin capital letter h with diaeresis","alternative":"latin capital letter h double overdot","short":"cap h double overdot"},"mathspeak":{"default":"modifying above upper H with double dot","brief":"mod above upper H with double dot","sbrief":"mod above upper H with double dot"}}},{"category":"Lu","key":"1E28","mappings":{"default":{"default":"latin capital letter h with cedilla","alternative":"latin capital letter h cedilla","short":"cap h cedilla"},"mathspeak":{"default":"modifying above upper H with cedilla","brief":"mod above upper H with cedilla","sbrief":"mod above upper H with cedilla"}}},{"category":"Lu","key":"1E2A","mappings":{"default":{"default":"latin capital letter h with breve below","alternative":"latin capital letter h breve below","short":"cap h breve below"},"mathspeak":{"default":"modifying below upper H with breve below","brief":"mod below upper H with breve below","sbrief":"mod below upper H with breve below"}}},{"category":"Lu","key":"1E2C","mappings":{"default":{"default":"latin capital letter i with tilde below","alternative":"latin capital letter i tilde below","short":"cap i tilde below"},"mathspeak":{"default":"upper I undertilde","brief":"upper I undertilde","sbrief":"upper I undertilde"}}},{"category":"Lu","key":"1E30","mappings":{"default":{"default":"latin capital letter k with acute","alternative":"latin capital letter k acute","short":"cap k acute"},"mathspeak":{"default":"modifying above upper K with acute","brief":"mod above upper K with acute","sbrief":"mod above upper K with acute"}}},{"category":"Lu","key":"1E32","mappings":{"default":{"default":"latin capital letter k with dot below","alternative":"latin capital letter k underdot","short":"cap k underdot"},"mathspeak":{"default":"modifying below upper K with dot","brief":"mod below upper K with dot","sbrief":"mod below upper K with dot"}}},{"category":"Lu","key":"1E34","mappings":{"default":{"default":"latin capital letter k with line below","alternative":"latin capital letter k underbar","short":"cap k underbar"},"mathspeak":{"default":"upper K underbar","brief":"upper K underbar","sbrief":"upper K underbar"}}},{"category":"Lu","key":"1E36","mappings":{"default":{"default":"latin capital letter l with dot below","alternative":"latin capital letter l underdot","short":"cap l underdot"},"mathspeak":{"default":"modifying below upper L with dot","brief":"mod below upper L with dot","sbrief":"mod below upper L with dot"}}},{"category":"Lu","key":"1E3A","mappings":{"default":{"default":"latin capital letter l with line below","alternative":"latin capital letter l underbar","short":"cap l underbar"},"mathspeak":{"default":"upper L underbar","brief":"upper L underbar","sbrief":"upper L underbar"}}},{"category":"Lu","key":"1E3C","mappings":{"default":{"default":"latin capital letter l with circumflex below","alternative":"latin capital letter l underhat","short":"cap l underhat"},"mathspeak":{"default":"modifying below upper L with caret","brief":"mod below upper L with caret","sbrief":"mod below upper L with caret"}}},{"category":"Lu","key":"1E3E","mappings":{"default":{"default":"latin capital letter m with acute","alternative":"latin capital letter m acute","short":"cap m acute"},"mathspeak":{"default":"modifying above upper M with acute","brief":"mod above upper M with acute","sbrief":"mod above upper M with acute"}}},{"category":"Lu","key":"1E40","mappings":{"default":{"default":"latin capital letter m with dot above","alternative":"latin capital letter m overdot","short":"cap m overdot"},"mathspeak":{"default":"modifying above upper M with dot","brief":"mod above upper M with dot","sbrief":"mod above upper M with dot"}}},{"category":"Lu","key":"1E42","mappings":{"default":{"default":"latin capital letter m with dot below","alternative":"latin capital letter m underdot","short":"cap m underdot"},"mathspeak":{"default":"modifying below upper M with dot","brief":"mod below upper M with dot","sbrief":"mod below upper M with dot"}}},{"category":"Lu","key":"1E44","mappings":{"default":{"default":"latin capital letter n with dot above","alternative":"latin capital letter n overdot","short":"cap n overdot"},"mathspeak":{"default":"modifying above upper N with dot","brief":"mod above upper N with dot","sbrief":"mod above upper N with dot"}}},{"category":"Lu","key":"1E46","mappings":{"default":{"default":"latin capital letter n with dot below","alternative":"latin capital letter n underdot","short":"cap n underdot"},"mathspeak":{"default":"modifying below upper N with dot","brief":"mod below upper N with dot","sbrief":"mod below upper N with dot"}}},{"category":"Lu","key":"1E48","mappings":{"default":{"default":"latin capital letter n with line below","alternative":"latin capital letter n underbar","short":"cap n underbar"},"mathspeak":{"default":"upper N underbar","brief":"upper N underbar","sbrief":"upper N underbar"}}},{"category":"Lu","key":"1E4A","mappings":{"default":{"default":"latin capital letter n with circumflex below","alternative":"latin capital letter n underhat","short":"cap n underhat"},"mathspeak":{"default":"modifying below upper N with caret","brief":"mod below upper N with caret","sbrief":"mod below upper N with caret"}}},{"category":"Lu","key":"1E54","mappings":{"default":{"default":"latin capital letter p with acute","alternative":"latin capital letter p acute","short":"cap p acute"},"mathspeak":{"default":"modifying above upper P with acute","brief":"mod above upper P with acute","sbrief":"mod above upper P with acute"}}},{"category":"Lu","key":"1E56","mappings":{"default":{"default":"latin capital letter p with dot above","alternative":"latin capital letter p overdot","short":"cap p overdot"},"mathspeak":{"default":"modifying above upper P with dot","brief":"mod above upper P with dot","sbrief":"mod above upper P with dot"}}},{"category":"Lu","key":"1E58","mappings":{"default":{"default":"latin capital letter r with dot above","alternative":"latin capital letter r overdot","short":"cap r overdot"},"mathspeak":{"default":"modifying above upper R with dot","brief":"mod above upper R with dot","sbrief":"mod above upper R with dot"}}},{"category":"Lu","key":"1E5A","mappings":{"default":{"default":"latin capital letter r with dot below","alternative":"latin capital letter r underdot","short":"cap r underdot"},"mathspeak":{"default":"modifying below upper R with dot","brief":"mod below upper R with dot","sbrief":"mod below upper R with dot"}}},{"category":"Lu","key":"1E5E","mappings":{"default":{"default":"latin capital letter r with line below","alternative":"latin capital letter r underbar","short":"cap r underbar"},"mathspeak":{"default":"upper R underbar","brief":"upper R underbar","sbrief":"upper R underbar"}}},{"category":"Lu","key":"1E60","mappings":{"default":{"default":"latin capital letter s with dot above","alternative":"latin capital letter s overdot","short":"cap s overdot"},"mathspeak":{"default":"modifying above upper S with dot","brief":"mod above upper S with dot","sbrief":"mod above upper S with dot"}}},{"category":"Lu","key":"1E62","mappings":{"default":{"default":"latin capital letter s with dot below","alternative":"latin capital letter s underdot","short":"cap s underdot"},"mathspeak":{"default":"modifying below upper S with dot","brief":"mod below upper S with dot","sbrief":"mod below upper S with dot"}}},{"category":"Lu","key":"1E6A","mappings":{"default":{"default":"latin capital letter t with dot above","alternative":"latin capital letter t overdot","short":"cap t overdot"},"mathspeak":{"default":"modifying above upper T with dot","brief":"mod above upper T with dot","sbrief":"mod above upper T with dot"}}},{"category":"Lu","key":"1E6C","mappings":{"default":{"default":"latin capital letter t with dot below","alternative":"latin capital letter t underdot","short":"cap t underdot"},"mathspeak":{"default":"modifying below upper T with dot","brief":"mod below upper T with dot","sbrief":"mod below upper T with dot"}}},{"category":"Lu","key":"1E6E","mappings":{"default":{"default":"latin capital letter t with line below","alternative":"latin capital letter t underbar","short":"cap t underbar"},"mathspeak":{"default":"upper T underbar","brief":"upper T underbar","sbrief":"upper T underbar"}}},{"category":"Lu","key":"1E70","mappings":{"default":{"default":"latin capital letter t with circumflex below","alternative":"latin capital letter t underhat","short":"cap t underhat"},"mathspeak":{"default":"modifying below upper T with caret","brief":"mod below upper T with caret","sbrief":"mod below upper T with caret"}}},{"category":"Lu","key":"1E72","mappings":{"default":{"default":"latin capital letter u with diaeresis below","alternative":"latin capital letter u double underdot","short":"cap u double underdot"},"mathspeak":{"default":"modifying below upper U with double dot","brief":"mod below upper U with double dot","sbrief":"mod below upper U with double dot"}}},{"category":"Lu","key":"1E74","mappings":{"default":{"default":"latin capital letter u with tilde below","alternative":"latin capital letter u tilde below","short":"cap u tilde below"},"mathspeak":{"default":"upper U undertilde","brief":"upper U undertilde","sbrief":"upper U undertilde"}}},{"category":"Lu","key":"1E76","mappings":{"default":{"default":"latin capital letter u with circumflex below","alternative":"latin capital letter u underhat","short":"cap u underhat"},"mathspeak":{"default":"modifying below upper U with caret","brief":"mod below upper U with caret","sbrief":"mod below upper U with caret"}}},{"category":"Lu","key":"1E7C","mappings":{"default":{"default":"latin capital letter v with tilde","alternative":"latin capital letter v tilde","short":"cap v tilde"},"mathspeak":{"default":"upper V overtilde","brief":"upper V overtilde","sbrief":"upper V overtilde"}}},{"category":"Lu","key":"1E7E","mappings":{"default":{"default":"latin capital letter v with dot below","alternative":"latin capital letter v underdot","short":"cap v underdot"},"mathspeak":{"default":"modifying below upper V with dot","brief":"mod below upper V with dot","sbrief":"mod below upper V with dot"}}},{"category":"Lu","key":"1E80","mappings":{"default":{"default":"latin capital letter w with grave","alternative":"latin capital letter w grave","short":"cap w grave"},"mathspeak":{"default":"modifying above upper W with grave","brief":"mod above upper W with grave","sbrief":"mod above upper W with grave"}}},{"category":"Lu","key":"1E82","mappings":{"default":{"default":"latin capital letter w with acute","alternative":"latin capital letter w acute","short":"cap w acute"},"mathspeak":{"default":"modifying above upper W with acute","brief":"mod above upper W with acute","sbrief":"mod above upper W with acute"}}},{"category":"Lu","key":"1E84","mappings":{"default":{"default":"latin capital letter w with diaeresis","alternative":"latin capital letter w double overdot","short":"cap w double overdot"},"mathspeak":{"default":"modifying above upper W with double dot","brief":"mod above upper W with double dot","sbrief":"mod above upper W with double dot"}}},{"category":"Lu","key":"1E86","mappings":{"default":{"default":"latin capital letter w with dot above","alternative":"latin capital letter w overdot","short":"cap w overdot"},"mathspeak":{"default":"modifying above upper W with dot","brief":"mod above upper W with dot","sbrief":"mod above upper W with dot"}}},{"category":"Lu","key":"1E88","mappings":{"default":{"default":"latin capital letter w with dot below","alternative":"latin capital letter w underdot","short":"cap w underdot"},"mathspeak":{"default":"modifying below upper W with dot","brief":"mod below upper W with dot","sbrief":"mod below upper W with dot"}}},{"category":"Lu","key":"1E8A","mappings":{"default":{"default":"latin capital letter x with dot above","alternative":"latin capital letter x overdot","short":"cap x overdot"},"mathspeak":{"default":"modifying above upper X with dot","brief":"mod above upper X with dot","sbrief":"mod above upper X with dot"}}},{"category":"Lu","key":"1E8C","mappings":{"default":{"default":"latin capital letter x with diaeresis","alternative":"latin capital letter x double overdot","short":"cap x double overdot"},"mathspeak":{"default":"modifying above upper X with double dot","brief":"mod above upper X with double dot","sbrief":"mod above upper X with double dot"}}},{"category":"Lu","key":"1E8E","mappings":{"default":{"default":"latin capital letter y with dot above","alternative":"latin capital letter y overdot","short":"cap y overdot"},"mathspeak":{"default":"modifying above upper Y with dot","brief":"mod above upper Y with dot","sbrief":"mod above upper Y with dot"}}},{"category":"Lu","key":"1E90","mappings":{"default":{"default":"latin capital letter z with circumflex","alternative":"latin capital letter z circumflex","short":"cap z circumflex"},"mathspeak":{"default":"modifying above upper Z with circumflex","brief":"mod above upper Z with circumflex","sbrief":"mod above upper Z with circumflex"}}},{"category":"Lu","key":"1E92","mappings":{"default":{"default":"latin capital letter z with dot below","alternative":"latin capital letter z underdot","short":"cap z underdot"},"mathspeak":{"default":"modifying below upper Z with dot","brief":"mod below upper Z with dot","sbrief":"mod below upper Z with dot"}}},{"category":"Lu","key":"1E94","mappings":{"default":{"default":"latin capital letter z with line below","alternative":"latin capital letter z underbar","short":"cap z underbar"},"mathspeak":{"default":"upper Z underbar","brief":"upper Z underbar","sbrief":"upper Z underbar"}}},{"category":"Lu","key":"1EA0","mappings":{"default":{"default":"latin capital letter with a dot below","alternative":"latin capital letter with a underdot","short":"cap a underdot"},"mathspeak":{"default":"modifying below upper A with dot","brief":"mod below upper A with dot","sbrief":"mod below upper A with dot"}}},{"category":"Lu","key":"1EA2","mappings":{"default":{"default":"latin capital letter a with hook above","alternative":"latin capital letter a hook","short":"cap a hook"},"mathspeak":{"default":"modifying above upper A with hook","brief":"mod above upper A with hook","sbrief":"mod above upper A with hook"}}},{"category":"Lu","key":"1EB8","mappings":{"default":{"default":"latin capital letter e with dot below","alternative":"latin capital letter e underdot","short":"cap e underdot"},"mathspeak":{"default":"modifying below upper E with dot","brief":"mod below upper E with dot","sbrief":"mod below upper E with dot"}}},{"category":"Lu","key":"1EBA","mappings":{"default":{"default":"latin capital letter e with hook above","alternative":"latin capital letter e hook","short":"cap e hook"},"mathspeak":{"default":"modifying above upper E with hook","brief":"mod above upper E with hook","sbrief":"mod above upper E with hook"}}},{"category":"Lu","key":"1EBC","mappings":{"default":{"default":"latin capital letter e with tilde","alternative":"latin capital letter e tilde","short":"cap e tilde"},"mathspeak":{"default":"upper E overtilde","brief":"upper E overtilde","sbrief":"upper E overtilde"}}},{"category":"Lu","key":"1EC8","mappings":{"default":{"default":"latin capital letter i with hook above","alternative":"latin capital letter i hook","short":"cap i hook"},"mathspeak":{"default":"modifying above upper I with hook","brief":"mod above upper I with hook","sbrief":"mod above upper I with hook"}}},{"category":"Lu","key":"1ECA","mappings":{"default":{"default":"latin capital letter i with dot below","alternative":"latin capital letter i underdot","short":"cap i underdot"},"mathspeak":{"default":"modifying below upper I with dot","brief":"mod below upper I with dot","sbrief":"mod below upper I with dot"}}},{"category":"Lu","key":"1ECC","mappings":{"default":{"default":"latin capital letter o with dot below","alternative":"latin capital letter o underdot","short":"cap o underdot"},"mathspeak":{"default":"modifying below upper O with dot","brief":"mod below upper O with dot","sbrief":"mod below upper O with dot"}}},{"category":"Lu","key":"1ECE","mappings":{"default":{"default":"latin capital letter o with hook above","alternative":"latin capital letter o hook","short":"cap o hook"},"mathspeak":{"default":"modifying above upper O with hook","brief":"mod above upper O with hook","sbrief":"mod above upper O with hook"}}},{"category":"Lu","key":"1EE4","mappings":{"default":{"default":"latin capital letter u with dot below","alternative":"latin capital letter u underdot","short":"cap u underdot"},"mathspeak":{"default":"modifying below upper U with dot","brief":"mod below upper U with dot","sbrief":"mod below upper U with dot"}}},{"category":"Lu","key":"1EE6","mappings":{"default":{"default":"latin capital letter u with hook above","alternative":"latin capital letter u hook","short":"cap u hook"},"mathspeak":{"default":"modifying above upper U with hook","brief":"mod above upper U with hook","sbrief":"mod above upper U with hook"}}},{"category":"Lu","key":"1EF2","mappings":{"default":{"default":"latin capital letter y with grave","alternative":"latin capital letter y grave","short":"cap y grave"},"mathspeak":{"default":"modifying above upper Y with grave","brief":"mod above upper Y with grave","sbrief":"mod above upper Y with grave"}}},{"category":"Lu","key":"1EF4","mappings":{"default":{"default":"latin capital letter y with dot below","alternative":"latin capital letter y underdot","short":"cap y underdot"},"mathspeak":{"default":"modifying below upper Y with dot","brief":"mod below upper Y with dot","sbrief":"mod below upper Y with dot"}}},{"category":"Lu","key":"1EF6","mappings":{"default":{"default":"latin capital letter y with hook above","alternative":"latin capital letter y hook","short":"cap y hook"},"mathspeak":{"default":"modifying above upper Y with hook","brief":"mod above upper Y with hook","sbrief":"mod above upper Y with hook"}}},{"category":"Lu","key":"1EF8","mappings":{"default":{"default":"latin capital letter y with tilde","alternative":"latin capital letter y tilde","short":"cap y tilde"},"mathspeak":{"default":"upper Y overtilde","brief":"upper Y overtilde","sbrief":"upper Y overtilde"}}}] diff --git a/assets/js/mathmaps/en/symbols/math_angles.js b/assets/js/mathmaps/en/symbols/math_angles.js new file mode 100644 index 0000000000000000000000000000000000000000..047454fe674b2ce50e4762a5b187a3ee6fa8bbf0 --- /dev/null +++ b/assets/js/mathmaps/en/symbols/math_angles.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"Sm","mappings":{"default":{"default":"right angle with arc"}},"key":"22BE"},{"category":"Sm","mappings":{"default":{"default":"right angle with downwards zigzag arrow"}},"key":"237C"},{"category":"Sm","mappings":{"default":{"default":"three dimensional angle"}},"key":"27C0"},{"category":"Sm","mappings":{"default":{"default":"measured angle opening left"}},"key":"299B"},{"category":"Sm","mappings":{"default":{"default":"right angle variant with square"}},"key":"299C"},{"category":"Sm","mappings":{"default":{"default":"measured right angle with dot"}},"key":"299D"},{"category":"Sm","mappings":{"default":{"default":"angle with s inside"}},"key":"299E"},{"category":"Sm","mappings":{"default":{"default":"acute angle"}},"key":"299F"},{"category":"Sm","mappings":{"default":{"default":"spherical angle opening left"}},"key":"29A0"},{"category":"Sm","mappings":{"default":{"default":"spherical angle opening up"}},"key":"29A1"},{"category":"Sm","mappings":{"default":{"default":"turned angle"}},"key":"29A2"},{"category":"Sm","mappings":{"default":{"default":"reversed angle"}},"key":"29A3"},{"category":"Sm","mappings":{"default":{"default":"angle with underbar"}},"key":"29A4"},{"category":"Sm","mappings":{"default":{"default":"reversed angle with underbar"}},"key":"29A5"},{"category":"Sm","mappings":{"default":{"default":"oblique angle opening up"}},"key":"29A6"},{"category":"Sm","mappings":{"default":{"default":"oblique angle opening down"}},"key":"29A7"},{"category":"Sm","mappings":{"default":{"default":"measured angle with open arm ending in arrow pointing up and right"}},"key":"29A8"},{"category":"Sm","mappings":{"default":{"default":"measured angle with open arm ending in arrow pointing up and left"}},"key":"29A9"},{"category":"Sm","mappings":{"default":{"default":"measured angle with open arm ending in arrow pointing down and right"}},"key":"29AA"},{"category":"Sm","mappings":{"default":{"default":"measured angle with open arm ending in arrow pointing down and left"}},"key":"29AB"},{"category":"Sm","mappings":{"default":{"default":"measured angle with open arm ending in arrow pointing right and up"}},"key":"29AC"},{"category":"Sm","mappings":{"default":{"default":"measured angle with open arm ending in arrow pointing left and up"}},"key":"29AD"},{"category":"Sm","mappings":{"default":{"default":"measured angle with open arm ending in arrow pointing right and down"}},"key":"29AE"},{"category":"Sm","mappings":{"default":{"default":"measured angle with open arm ending in arrow pointing left and down"}},"key":"29AF"}] diff --git a/assets/js/mathmaps/en/symbols/math_arrows.js b/assets/js/mathmaps/en/symbols/math_arrows.js new file mode 100644 index 0000000000000000000000000000000000000000..4199c9606d12a75b3d4b336557f7a703d218f1ad --- /dev/null +++ b/assets/js/mathmaps/en/symbols/math_arrows.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"Sm","mappings":{"default":{"default":"leftwards arrow","short":"left arrow"},"mathspeak":{"default":"left-arrow","sbrief":"L arrow"}},"key":"2190"},{"category":"Sm","mappings":{"default":{"default":"upwards arrow","short":"up arrow"},"mathspeak":{"default":"up-arrow","sbrief":"U arrow"}},"key":"2191"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow","short":"right arrow"},"mathspeak":{"default":"right-arrow","sbrief":"R arrow"}},"key":"2192"},{"category":"Sm","mappings":{"default":{"default":"downwards arrow","short":"down arrow"},"mathspeak":{"default":"down-arrow","sbrief":"D arrow"}},"key":"2193"},{"category":"Sm","mappings":{"default":{"default":"left right arrow"},"mathspeak":{"default":"left-right-arrow","sbrief":"L R arrow"}},"key":"2194"},{"category":"So","mappings":{"default":{"default":"up down arrow"},"mathspeak":{"default":"up down-arrow","sbrief":"U D arrow"}},"key":"2195"},{"category":"So","mappings":{"default":{"default":"north west arrow","short":"up left arrow"},"mathspeak":{"default":"up left-arrow","sbrief":"U L arrow"}},"key":"2196"},{"category":"So","mappings":{"default":{"default":"north east arrow","short":"up right arrow"},"mathspeak":{"default":"up right-arrow","sbrief":"U R arrow"}},"key":"2197"},{"category":"So","mappings":{"default":{"default":"south east arrow","short":"down right arrow"},"mathspeak":{"default":"down right-arrow","sbrief":"D R arrow"}},"key":"2198"},{"category":"So","mappings":{"default":{"default":"south west arrow","short":"down left arrow"},"mathspeak":{"default":"down left-arrow","sbrief":"D L arrow"}},"key":"2199"},{"category":"Sm","mappings":{"default":{"default":"leftwards arrow with stroke","short":"left arrow with stroke"},"mathspeak":{"default":"left-arrow with stroke","sbrief":"L arrow with stroke"}},"key":"219A"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow with stroke","short":"right arrow with stroke"},"mathspeak":{"default":"right-arrow with stroke","sbrief":"R arrow with stroke"}},"key":"219B"},{"category":"So","mappings":{"default":{"default":"leftwards wave arrow","short":"left wave arrow"},"mathspeak":{"sbrief":"L wave arrow"}},"key":"219C"},{"category":"So","mappings":{"default":{"default":"rightwards wave arrow","short":"right wave arrow"},"mathspeak":{"sbrief":"R wave arrow"}},"key":"219D"},{"category":"So","mappings":{"default":{"default":"leftwards two headed arrow","alternative":"left two headed arrow","short":"two headed left arrow"},"mathspeak":{"default":"two headed left-arrow","sbrief":"two headed L arrow"}},"key":"219E"},{"category":"So","mappings":{"default":{"default":"upwards two headed arrow","alternative":"up two headed arrow","short":"two headed up arrow"},"mathspeak":{"default":"two headed up-arrow","sbrief":"two headed U arrow"}},"key":"219F"},{"category":"Sm","mappings":{"default":{"default":"rightwards two headed arrow","alternative":"right two headed arrow","short":"two headed right arrow"},"mathspeak":{"default":"two headed right-arrow","sbrief":"two headed R arrow"}},"key":"21A0"},{"category":"So","mappings":{"default":{"default":"downwards two headed arrow","alternative":"down two headed arrow","short":"two headed down arrow"},"mathspeak":{"default":"two headed down-arrow","sbrief":"two headed D arrow"}},"key":"21A1"},{"category":"So","mappings":{"default":{"default":"leftwards arrow with tail","short":"left arrow with tail"},"mathspeak":{"default":"left-arrow with tail","sbrief":"L arrow with tail"}},"key":"21A2"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow with tail","short":"right arrow with tail"},"mathspeak":{"default":"right-arrow with tail","sbrief":"R arrow with tail"}},"key":"21A3"},{"category":"So","mappings":{"default":{"default":"leftwards arrow from bar","short":"left arrow from bar"},"mathspeak":{"default":"left-arrow from bar","sbrief":"L arrow from bar"}},"key":"21A4"},{"category":"So","mappings":{"default":{"default":"upwards arrow from bar","short":"up arrow from bar"},"mathspeak":{"default":"up-arrow from bar","sbrief":"U arrow from bar"}},"key":"21A5"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow from bar","short":"right arrow from bar"},"mathspeak":{"default":"right-arrow from bar","sbrief":"R arrow from bar"}},"key":"21A6"},{"category":"So","mappings":{"default":{"default":"downwards arrow from bar","short":"down arrow from bar"},"mathspeak":{"default":"down-arrow from bar","sbrief":"D arrow from bar"}},"key":"21A7"},{"category":"So","mappings":{"default":{"default":"up down arrow with base"},"mathspeak":{"default":"up down-arrow with base","sbrief":"U D arrow with base"}},"key":"21A8"},{"category":"So","mappings":{"default":{"default":"leftwards arrow with hook","short":"left arrow with hook"},"mathspeak":{"default":"left-arrow with hook","sbrief":"L arrow with hook"}},"key":"21A9"},{"category":"So","mappings":{"default":{"default":"rightwards arrow with hook","short":"right arrow with hook"},"mathspeak":{"default":"right-arrow with hook","sbrief":"R arrow with hook"}},"key":"21AA"},{"category":"So","mappings":{"default":{"default":"leftwards arrow with loop","short":"left arrow with loop"},"mathspeak":{"default":"left-arrow with loop","sbrief":"L arrow with loop"}},"key":"21AB"},{"category":"So","mappings":{"default":{"default":"rightwards arrow with loop","short":"right arrow with loop"},"mathspeak":{"default":"right-arrow with loop","sbrief":"R arrow with loop"}},"key":"21AC"},{"category":"So","mappings":{"default":{"default":"left right wave arrow"},"mathspeak":{"sbrief":"L R wave arrow"}},"key":"21AD"},{"category":"Sm","mappings":{"default":{"default":"left right arrow with stroke"},"mathspeak":{"default":"left-right-arrow with stroke","sbrief":"L R arrow with stroke"}},"key":"21AE"},{"category":"So","mappings":{"default":{"default":"downwards zigzag arrow","short":"down zigzag arrow"},"mathspeak":{"sbrief":"d zigzag arrow"}},"key":"21AF"},{"category":"So","mappings":{"default":{"default":"upwards arrow with tip leftwards","short":"up arrow with tip left"},"mathspeak":{"default":"up-arrow with tip left","sbrief":"U arrow with tip left"}},"key":"21B0"},{"category":"So","mappings":{"default":{"default":"upwards arrow with tip rightwards","short":"up arrow with tip right"},"mathspeak":{"default":"up-arrow with tip right","sbrief":"U arrow with tip right"}},"key":"21B1"},{"category":"So","mappings":{"default":{"default":"downwards arrow with tip leftwards","short":"down arrow with tip left"},"mathspeak":{"default":"down-arrow with tip left","sbrief":"D arrow with tip left"}},"key":"21B2"},{"category":"So","mappings":{"default":{"default":"downwards arrow with tip rightwards","short":"down arrow with tip right"},"mathspeak":{"default":"down-arrow with tip right","sbrief":"D arrow with tip right"}},"key":"21B3"},{"category":"So","mappings":{"default":{"default":"rightwards arrow with corner downwards","short":"right arrow with corner down"},"mathspeak":{"default":"right-arrow with corner down","sbrief":"R arrow with corner down"}},"key":"21B4"},{"category":"So","mappings":{"default":{"default":"downwards arrow with corner leftwards","short":"down arrow with corner left"},"mathspeak":{"default":"down-arrow with corner left","sbrief":"D arrow with corner left"}},"key":"21B5"},{"category":"So","mappings":{"default":{"default":"anticlockwise top semicircle arrow"}},"key":"21B6"},{"category":"So","mappings":{"default":{"default":"clockwise top semicircle arrow"}},"key":"21B7"},{"category":"So","mappings":{"default":{"default":"north west arrow to long bar","short":"up left arrow to long bar"},"mathspeak":{"default":"up left-arrow to long bar","sbrief":"U L arrow to long bar"}},"key":"21B8"},{"category":"So","mappings":{"default":{"default":"leftwards arrow to bar over rightwards arrow to bar","short":"left arrow to bar over right arrow to bar"},"mathspeak":{"default":"left-arrow to bar over right-arrow to bar","sbrief":"L arrow to bar over R arrow to bar"}},"key":"21B9"},{"category":"So","mappings":{"default":{"default":"anticlockwise open circle arrow"}},"key":"21BA"},{"category":"So","mappings":{"default":{"default":"clockwise open circle arrow"}},"key":"21BB"},{"category":"So","mappings":{"default":{"default":"rightwards arrow over leftwards arrow","short":"right arrow over left arrow"},"mathspeak":{"default":"right-arrow over left-arrow","sbrief":"R arrow over L arrow"}},"key":"21C4"},{"category":"So","mappings":{"default":{"default":"upwards arrow leftwards of downwards arrow","short":"up arrow left of down arrow"},"mathspeak":{"default":"up-arrow left of down-arrow","sbrief":"U arrow L of D arrow"}},"key":"21C5"},{"category":"So","mappings":{"default":{"default":"leftwards arrow over rightwards arrow","short":"left arrow over right arrow"},"mathspeak":{"default":"left-arrow over right-arrow","sbrief":"L arrow over R arrow"}},"key":"21C6"},{"category":"So","mappings":{"default":{"default":"leftwards paired arrows","short":"left paired arrows"},"mathspeak":{"sbrief":"L paired arrows"}},"key":"21C7"},{"category":"So","mappings":{"default":{"default":"upwards paired arrows","short":"up paired arrows"},"mathspeak":{"sbrief":"U paired arrows"}},"key":"21C8"},{"category":"So","mappings":{"default":{"default":"rightwards paired arrows","short":"right paired arrows"},"mathspeak":{"sbrief":"R paired arrows"}},"key":"21C9"},{"category":"So","mappings":{"default":{"default":"downwards paired arrows","short":"down paired arrows"},"mathspeak":{"sbrief":"D paired arrows"}},"key":"21CA"},{"category":"So","mappings":{"default":{"default":"leftwards double arrow with stroke","short":"left double arrow with stroke"},"mathspeak":{"sbrief":"L double arrow with stroke"}},"key":"21CD"},{"category":"Sm","mappings":{"default":{"default":"left right double arrow with stroke"},"mathspeak":{"sbrief":"L R double arrow with stroke"}},"key":"21CE"},{"category":"Sm","mappings":{"default":{"default":"rightwards double arrow with stroke","short":"right double arrow with stroke"},"mathspeak":{"sbrief":"R double arrow with stroke"}},"key":"21CF"},{"category":"So","mappings":{"default":{"default":"leftwards double arrow","short":"left double arrow"},"mathspeak":{"sbrief":"L double arrow"}},"key":"21D0"},{"category":"So","mappings":{"default":{"default":"upwards double arrow","short":"up double arrow"},"mathspeak":{"sbrief":"U double arrow"}},"key":"21D1"},{"category":"Sm","mappings":{"default":{"default":"rightwards double arrow","short":"right double arrow"},"mathspeak":{"sbrief":"R double arrow"}},"key":"21D2"},{"category":"So","mappings":{"default":{"default":"downwards double arrow","short":"down double arrow"},"mathspeak":{"sbrief":"d double arrow"}},"key":"21D3"},{"category":"Sm","mappings":{"default":{"default":"left right double arrow"},"mathspeak":{"sbrief":"L R double arrow"}},"key":"21D4"},{"category":"So","mappings":{"default":{"default":"up down double arrow"},"mathspeak":{"sbrief":"U d double arrow"}},"key":"21D5"},{"category":"So","mappings":{"default":{"default":"north west double arrow","short":"up left double arrow"},"mathspeak":{"sbrief":"U L double arrow"}},"key":"21D6"},{"category":"So","mappings":{"default":{"default":"north east double arrow","short":"up right double arrow"},"mathspeak":{"sbrief":"U R double arrow"}},"key":"21D7"},{"category":"So","mappings":{"default":{"default":"south east double arrow","short":"down right double arrow"},"mathspeak":{"sbrief":"d R double arrow"}},"key":"21D8"},{"category":"So","mappings":{"default":{"default":"south west double arrow","short":"down left double arrow"},"mathspeak":{"sbrief":"d L double arrow"}},"key":"21D9"},{"category":"So","mappings":{"default":{"default":"leftwards triple arrow","short":"left triple arrow"},"mathspeak":{"sbrief":"L triple arrow"}},"key":"21DA"},{"category":"So","mappings":{"default":{"default":"rightwards triple arrow","short":"right triple arrow"},"mathspeak":{"sbrief":"r triple arrow"}},"key":"21DB"},{"category":"So","mappings":{"default":{"default":"leftwards squiggle arrow","short":"left squiggle arrow"},"mathspeak":{"sbrief":"L squiggle arrow"}},"key":"21DC"},{"category":"So","mappings":{"default":{"default":"rightwards squiggle arrow","short":"right squiggle arrow"},"mathspeak":{"sbrief":"r squiggle arrow"}},"key":"21DD"},{"category":"So","mappings":{"default":{"default":"upwards arrow with double stroke","short":"up arrow with double stroke"},"mathspeak":{"default":"up-arrow with double stroke","sbrief":"U arrow with double stroke"}},"key":"21DE"},{"category":"So","mappings":{"default":{"default":"downwards arrow with double stroke","short":"down arrow with double stroke"},"mathspeak":{"default":"down-arrow with double stroke","sbrief":"D arrow with double stroke"}},"key":"21DF"},{"category":"So","mappings":{"default":{"default":"leftwards dasheD arrow","short":"left dasheD arrow"},"mathspeak":{"sbrief":"L dasheD arrow"}},"key":"21E0"},{"category":"So","mappings":{"default":{"default":"upwards dasheD arrow","short":"up dasheD arrow"},"mathspeak":{"sbrief":"U dasheD arrow"}},"key":"21E1"},{"category":"So","mappings":{"default":{"default":"rightwards dasheD arrow","short":"right dasheD arrow"},"mathspeak":{"sbrief":"r dasheD arrow"}},"key":"21E2"},{"category":"So","mappings":{"default":{"default":"downwards dasheD arrow","short":"down dasheD arrow"},"mathspeak":{"sbrief":"d dasheD arrow"}},"key":"21E3"},{"category":"So","mappings":{"default":{"default":"leftwards arrow to bar","short":"left arrow to bar"},"mathspeak":{"default":"left-arrow to bar","sbrief":"L arrow to bar"}},"key":"21E4"},{"category":"So","mappings":{"default":{"default":"rightwards arrow to bar","short":"right arrow to bar"},"mathspeak":{"default":"right-arrow to bar","sbrief":"R arrow to bar"}},"key":"21E5"},{"category":"So","mappings":{"default":{"default":"leftwards white arrow","short":"white left arrow"},"mathspeak":{"default":"white left-arrow","sbrief":"white L arrow"}},"key":"21E6"},{"category":"So","mappings":{"default":{"default":"upwards white arrow","short":"white up arrow"},"mathspeak":{"default":"white up-arrow","sbrief":"white U arrow"}},"key":"21E7"},{"category":"So","mappings":{"default":{"default":"rightwards white arrow","short":"white right arrow"},"mathspeak":{"default":"white right-arrow","sbrief":"white R arrow"}},"key":"21E8"},{"category":"So","mappings":{"default":{"default":"downwards white arrow","short":"white down arrow"},"mathspeak":{"default":"white down-arrow","sbrief":"white D arrow"}},"key":"21E9"},{"category":"So","mappings":{"default":{"default":"upwards white arrow from bar","short":"white up arrow from bar"},"mathspeak":{"default":"white up-arrow from bar","sbrief":"white U arrow from bar"}},"key":"21EA"},{"category":"So","mappings":{"default":{"default":"upwards white arrow on pedestal","alternative":"up white arrow on pedestal","short":"white up arrow on pedestal"},"mathspeak":{"default":"white up-arrow on pedestal","sbrief":"white U arrow on pedestal"}},"key":"21EB"},{"category":"So","mappings":{"default":{"default":"upwards white arrow on pedestal with horizontal bar","alternative":"up white arrow on pedestal with horizontal bar","short":"white up arrow on pedestal with horizontal bar"},"mathspeak":{"default":"white up-arrow on pedestal with horizontal bar","sbrief":"white U arrow on pedestal with horizontal bar"}},"key":"21EC"},{"category":"So","mappings":{"default":{"default":"upwards white arrow on pedestal with vertical bar","alternative":"up white arrow on pedestal with vertical bar","short":"white up arrow on pedestal with vertical bar"},"mathspeak":{"default":"white up-arrow on pedestal with vertical bar","sbrief":"white U arrow on pedestal with vertical bar"}},"key":"21ED"},{"category":"So","mappings":{"default":{"default":"upwards white double arrow","alternative":"up white double arrow","short":"white double up arrow"},"mathspeak":{"default":"white double up-arrow","sbrief":"white double U arrow"}},"key":"21EE"},{"category":"So","mappings":{"default":{"default":"upwards white double arrow on pedestal","alternative":"up white double arrow on pedestal","short":"white double up arrow on pedestal"},"mathspeak":{"default":"white double up-arrow on pedestal","sbrief":"white double U arrow on pedestal"}},"key":"21EF"},{"category":"So","mappings":{"default":{"default":"rightwards white arrow from wall","alternative":"right white arrow from wall","short":"white right arrow from wall"},"mathspeak":{"default":"white right-arrow from wall","sbrief":"white R arrow from wall"}},"key":"21F0"},{"category":"So","mappings":{"default":{"default":"north west arrow to corner"}},"key":"21F1"},{"category":"So","mappings":{"default":{"default":"south east arrow to corner"}},"key":"21F2"},{"category":"So","mappings":{"default":{"default":"up down white arrow"},"mathspeak":{"sbrief":"U d white arrow"}},"key":"21F3"},{"category":"Sm","mappings":{"default":{"default":"right arrow with small circle"},"mathspeak":{"default":"right-arrow with small circle","sbrief":"R arrow with small circle"}},"key":"21F4"},{"category":"Sm","mappings":{"default":{"default":"down arrow leftwards of upwards arrow","short":"down arrow left of up arrow"},"mathspeak":{"default":"down-arrow left of up-arrow","sbrief":"D arrow l of U arrow"}},"key":"21F5"},{"category":"Sm","mappings":{"default":{"default":"three rightwards arrows","short":"three right arrows"},"mathspeak":{"default":"three right-arrows","sbrief":"three R arrows"}},"key":"21F6"},{"category":"Sm","mappings":{"default":{"default":"leftwards arrow with vertical stroke","short":"left arrow with vertical stroke"},"mathspeak":{"default":"left-arrow with vertical stroke","sbrief":"L arrow with vertical stroke"}},"key":"21F7"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow with vertical stroke","short":"right arrow with vertical stroke"},"mathspeak":{"default":"right-arrow with vertical stroke","sbrief":"R arrow with vertical stroke"}},"key":"21F8"},{"category":"Sm","mappings":{"default":{"default":"left right arrow with vertical stroke"},"mathspeak":{"default":"left-right-arrow with vertical stroke","sbrief":"L R arrow with vertical stroke"}},"key":"21F9"},{"category":"Sm","mappings":{"default":{"default":"leftwards arrow with double vertical stroke","short":"left arrow with double vertical stroke"},"mathspeak":{"default":"left-arrow with double vertical stroke","sbrief":"L arrow with double vertical stroke"}},"key":"21FA"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow with double vertical stroke","short":"right arrow with double vertical stroke"},"mathspeak":{"default":"right-arrow with double vertical stroke","sbrief":"R arrow with double vertical stroke"}},"key":"21FB"},{"category":"Sm","mappings":{"default":{"default":"left right arrow with double vertical stroke"},"mathspeak":{"default":"left-right-arrow with double vertical stroke","sbrief":"L R arrow with double vertical stroke"}},"key":"21FC"},{"category":"Sm","mappings":{"default":{"default":"leftwards open headed arrow","short":"left open headed arrow"},"mathspeak":{"sbrief":"l open headed arrow"}},"key":"21FD"},{"category":"Sm","mappings":{"default":{"default":"rightwards open headed arrow","short":"right open headed arrow"},"mathspeak":{"sbrief":"r open headed arrow"}},"key":"21FE"},{"category":"Sm","mappings":{"default":{"default":"left right open headed arrow"},"mathspeak":{"sbrief":"L R open headed arrow"}},"key":"21FF"},{"category":"So","mappings":{"default":{"default":"electric arrow"}},"key":"2301"},{"category":"So","mappings":{"default":{"default":"up arrowhead"},"mathspeak":{"default":"up-arrowhead","sbrief":"U arrowhead"}},"key":"2303"},{"category":"So","mappings":{"default":{"default":"down arrowhead"},"mathspeak":{"default":"down-arrowhead","sbrief":"D arrowhead"}},"key":"2304"},{"category":"So","mappings":{"default":{"default":"up arrowhead between two horizontal bars","alternative":"enter key"},"mathspeak":{"default":"up-arrowhead between two horizontal bars","sbrief":"U arrowhead between two horizontal bars"}},"key":"2324"},{"category":"So","mappings":{"default":{"default":"broken circle with northwest arrow"}},"key":"238B"},{"category":"So","mappings":{"default":{"default":"heavy wide headed rightwards arrow","short":"heavy wide headed right arrow"},"mathspeak":{"default":"heavy wide headed right-arrow","sbrief":"heavy wide headed R arrow"}},"key":"2794"},{"category":"So","mappings":{"default":{"default":"heavy south east arrow","short":"heavy down right arrow"},"mathspeak":{"default":"heavy down right-arrow","sbrief":"heavy d R arrow"}},"key":"2798"},{"category":"So","mappings":{"default":{"default":"heavy rightwards arrow","short":"heavy right arrow"},"mathspeak":{"default":"heavy right-arrow","sbrief":"heavy R arrow"}},"key":"2799"},{"category":"So","mappings":{"default":{"default":"heavy north east arrow","short":"heavy up right arrow"},"mathspeak":{"default":"heavy up right-arrow","sbrief":"heavy U R arrow"}},"key":"279A"},{"category":"So","mappings":{"default":{"default":"drafting point rightwards arrow","short":"drafting point right arrow"},"mathspeak":{"default":"drafting point right-arrow","sbrief":"drafting point R arrow"}},"key":"279B"},{"category":"So","mappings":{"default":{"default":"heavy round tipped rightwards arrow","short":"heavy round tipped right arrow"},"mathspeak":{"default":"heavy round tipped right-arrow","sbrief":"heavy round tipped R arrow"}},"key":"279C"},{"category":"So","mappings":{"default":{"default":"triangle headed rightwards arrow","short":"triangle headed right arrow"},"mathspeak":{"default":"triangle headed right-arrow","sbrief":"triangle headed R arrow"}},"key":"279D"},{"category":"So","mappings":{"default":{"default":"heavy triangle headed rightwards arrow","short":"heavy triangle headed right arrow"},"mathspeak":{"default":"heavy triangle headed right-arrow","sbrief":"heavy triangle headed R arrow"}},"key":"279E"},{"category":"So","mappings":{"default":{"default":"dashed triangle headed rightwards arrow","short":"dashed triangle headed right arrow"},"mathspeak":{"default":"dashed triangle headed right-arrow","sbrief":"dashed triangle headed R arrow"}},"key":"279F"},{"category":"So","mappings":{"default":{"default":"heavy dashed triangle headed rightwards arrow","short":"heavy dashed triangle headed right arrow"},"mathspeak":{"default":"heavy dashed triangle headed right-arrow","sbrief":"heavy dashed triangle headed R arrow"}},"key":"27A0"},{"category":"So","mappings":{"default":{"default":"black rightwards arrow","short":"black right arrow"},"mathspeak":{"default":"black right-arrow","sbrief":"black R arrow"}},"key":"27A1"},{"category":"So","mappings":{"default":{"default":"three d top lighted rightwards arrowhead","short":"three d top lighted right arrowhead"},"mathspeak":{"default":"three d top lighted right-arrowhead","sbrief":"three d top lighted R arrowhead"}},"key":"27A2"},{"category":"So","mappings":{"default":{"default":"three d bottom lighted rightwards arrowhead","short":"three d bottom lighted right arrowhead"},"mathspeak":{"default":"three d bottom lighted right-arrowhead","sbrief":"three d bottom lighted R arrowhead"}},"key":"27A3"},{"category":"So","mappings":{"default":{"default":"black rightwards arrowhead","short":"black right arrowhead"},"mathspeak":{"default":"black right-arrowhead","sbrief":"black R arrowhead"}},"key":"27A4"},{"category":"So","mappings":{"default":{"default":"heavy black curved downwards and rightwards arrow","short":"heavy black curved down and right arrow"},"mathspeak":{"default":"heavy black curved down and right-arrow","sbrief":"heavy black curved d and R arrow"}},"key":"27A5"},{"category":"So","mappings":{"default":{"default":"heavy black curved upwards and rightwards arrow","short":"heavy black curved up and right arrow"},"mathspeak":{"default":"heavy black curved up and right-arrow","sbrief":"heavy black curved U and R arrow"}},"key":"27A6"},{"category":"So","mappings":{"default":{"default":"squat black rightwards arrow","short":"squat black right arrow"},"mathspeak":{"default":"squat black right-arrow","sbrief":"squat black R arrow"}},"key":"27A7"},{"category":"So","mappings":{"default":{"default":"heavy concave pointed black rightwards arrow","short":"heavy concave pointed black right arrow"},"mathspeak":{"default":"heavy concave pointed black right-arrow","sbrief":"heavy concave pointed black R arrow"}},"key":"27A8"},{"category":"So","mappings":{"default":{"default":"right shaded white rightwards arrow","short":"right shaded white right arrow"},"mathspeak":{"default":"right shaded white right-arrow","sbrief":"right shaded white R arrow"}},"key":"27A9"},{"category":"So","mappings":{"default":{"default":"left shaded white rightwards arrow","short":"left shaded white right arrow"},"mathspeak":{"default":"left shaded white right-arrow","sbrief":"left shaded white R arrow"}},"key":"27AA"},{"category":"So","mappings":{"default":{"default":"back tilted shadowed white rightwards arrow","short":"back tilted shadowed white right arrow"},"mathspeak":{"default":"back tilted shadowed white right-arrow","sbrief":"back tilted shadowed white R arrow"}},"key":"27AB"},{"category":"So","mappings":{"default":{"default":"front tilted shadowed white rightwards arrow","short":"front tilted shadowed white right arrow"},"mathspeak":{"default":"front tilted shadowed white right-arrow","sbrief":"front tilted shadowed white R arrow"}},"key":"27AC"},{"category":"So","mappings":{"default":{"default":"heavy lower right shadowed white rightwards arrow","short":"heavy lower right shadowed white right arrow"},"mathspeak":{"default":"heavy lower right shadowed white right-arrow","sbrief":"heavy lower right shadowed white R arrow"}},"key":"27AD"},{"category":"So","mappings":{"default":{"default":"heavy upper right shadowed white rightwards arrow","short":"heavy upper right shadowed white right arrow"},"mathspeak":{"default":"heavy upper right shadowed white right-arrow","sbrief":"heavy upper right shadowed white R arrow"}},"key":"27AE"},{"category":"So","mappings":{"default":{"default":"notched lower right shadowed white rightwards arrow","short":"notched lower right shadowed white right arrow"},"mathspeak":{"default":"notched lower right shadowed white right-arrow","sbrief":"notched lower right shadowed white R arrow"}},"key":"27AF"},{"category":"So","mappings":{"default":{"default":"notched upper right shadowed white rightwards arrow","short":"notched upper right shadowed white right arrow"},"mathspeak":{"default":"notched upper right shadowed white right-arrow","sbrief":"notched upper right shadowed white R arrow"}},"key":"27B1"},{"category":"So","mappings":{"default":{"default":"circled heavy white rightwards arrow","short":"circled heavy white right arrow"},"mathspeak":{"default":"circled heavy white right-arrow","sbrief":"circled heavy white R arrow"}},"key":"27B2"},{"category":"So","mappings":{"default":{"default":"white feathered rightwards arrow","short":"white feathered right arrow"},"mathspeak":{"default":"white feathered right-arrow","sbrief":"white feathered R arrow"}},"key":"27B3"},{"category":"So","mappings":{"default":{"default":"black feathered south east arrow","short":"black feathered down right arrow"},"mathspeak":{"default":"black feathered down right-arrow","sbrief":"black feathered d R arrow"}},"key":"27B4"},{"category":"So","mappings":{"default":{"default":"black feathered rightwards arrow","short":"black feathered right arrow"},"mathspeak":{"default":"black feathered right-arrow","sbrief":"black feathered R arrow"}},"key":"27B5"},{"category":"So","mappings":{"default":{"default":"black feathered north east arrow","short":"black feathered up right arrow"},"mathspeak":{"default":"black feathered up right-arrow","sbrief":"black feathered U R arrow"}},"key":"27B6"},{"category":"So","mappings":{"default":{"default":"heavy black feathered south east arrow","short":"heavy black feathered down right arrow"},"mathspeak":{"default":"heavy black feathered down right-arrow","sbrief":"heavy black feathered d R arrow"}},"key":"27B7"},{"category":"So","mappings":{"default":{"default":"heavy black feathered rightwards arrow","short":"heavy black feathered right arrow"},"mathspeak":{"default":"heavy black feathered right-arrow","sbrief":"heavy black feathered R arrow"}},"key":"27B8"},{"category":"So","mappings":{"default":{"default":"heavy black feathered north east arrow","short":"heavy black feathered up right arrow"},"mathspeak":{"default":"heavy black feathered up right-arrow","sbrief":"heavy black feathered U R arrow"}},"key":"27B9"},{"category":"So","mappings":{"default":{"default":"teardrop barbed rightwards arrow","short":"teardrop barbed right arrow"},"mathspeak":{"default":"teardrop barbed right-arrow","sbrief":"teardrop barbed R arrow"}},"key":"27BA"},{"category":"So","mappings":{"default":{"default":"heavy teardrop shanked rightwards arrow","short":"heavy teardrop shanked right arrow"},"mathspeak":{"default":"heavy teardrop shanked right-arrow","sbrief":"heavy teardrop shanked R arrow"}},"key":"27BB"},{"category":"So","mappings":{"default":{"default":"wedge tailed rightwards arrow","short":"wedge tailed right arrow"},"mathspeak":{"default":"wedge tailed right-arrow","sbrief":"wedge tailed R arrow"}},"key":"27BC"},{"category":"So","mappings":{"default":{"default":"heavy wedge tailed rightwards arrow","short":"heavy wedge tailed right arrow"},"mathspeak":{"default":"heavy wedge tailed right-arrow","sbrief":"heavy wedge tailed R arrow"}},"key":"27BD"},{"category":"So","mappings":{"default":{"default":"open outlined rightwards arrow","short":"open outlined right arrow"},"mathspeak":{"default":"open outlined right-arrow","sbrief":"open outlined R arrow"}},"key":"27BE"},{"category":"Sm","mappings":{"default":{"default":"upwards quadruple arrow","short":"up quadruple arrow"},"mathspeak":{"sbrief":"U quadruple arrow"}},"key":"27F0"},{"category":"Sm","mappings":{"default":{"default":"downwards quadruple arrow","short":"down quadruple arrow"},"mathspeak":{"sbrief":"d quadrule arrow"}},"key":"27F1"},{"category":"Sm","mappings":{"default":{"default":"anticlockwise gapped circle arrow"}},"key":"27F2"},{"category":"Sm","mappings":{"default":{"default":"clockwise gapped circle arrow"}},"key":"27F3"},{"category":"Sm","mappings":{"default":{"default":"right arrow with circled plus"},"mathspeak":{"default":"right-arrow with circled plus","sbrief":"R arrow with circled plus"}},"key":"27F4"},{"category":"Sm","mappings":{"default":{"default":"long leftwards arrow","short":"long left arrow"},"mathspeak":{"default":"long left-arrow","sbrief":"long L arrow"}},"key":"27F5"},{"category":"Sm","mappings":{"default":{"default":"long rightwards arrow","short":"long right arrow"},"mathspeak":{"default":"long right-arrow","sbrief":"long R arrow"}},"key":"27F6"},{"category":"Sm","mappings":{"default":{"default":"long left right arrow"},"mathspeak":{"default":"long left-right-arrow","sbrief":"long L R arrow"}},"key":"27F7"},{"category":"Sm","mappings":{"default":{"default":"long leftwards double arrow","short":"long left double arrow"},"mathspeak":{"sbrief":"long l double arrow"}},"key":"27F8"},{"category":"Sm","mappings":{"default":{"default":"long rightwards double arrow","short":"long right double arrow"},"mathspeak":{"sbrief":"long R double arrow"}},"key":"27F9"},{"category":"Sm","mappings":{"default":{"default":"long left right double arrow"},"mathspeak":{"sbrief":"long L R double arrow"}},"key":"27FA"},{"category":"Sm","mappings":{"default":{"default":"long leftwards arrow from bar","short":"long left arrow from bar"},"mathspeak":{"default":"long left-arrow from bar","sbrief":"long L arrow from bar"}},"key":"27FB"},{"category":"Sm","mappings":{"default":{"default":"long rightwards arrow from bar","short":"long right arrow from bar"},"mathspeak":{"default":"long right-arrow from bar","sbrief":"long R arrow from bar"}},"key":"27FC"},{"category":"Sm","mappings":{"default":{"default":"long leftwards double arrow from bar","short":"long left double arrow from bar"},"mathspeak":{"sbrief":"long l double arrow from bar"}},"key":"27FD"},{"category":"Sm","mappings":{"default":{"default":"long rightwards double arrow from bar","short":"long right double arrow from bar"},"mathspeak":{"sbrief":"long R double arrow from bar"}},"key":"27FE"},{"category":"Sm","mappings":{"default":{"default":"long rightwards squiggle arrow","short":"long right squiggle arrow"},"mathspeak":{"sbrief":"long r squiggle arrow"}},"key":"27FF"},{"category":"Sm","mappings":{"default":{"default":"rightwards two headed arrow with vertical stroke","alternative":"right two headed arrow with vertical stroke","short":"two headed right arrow with vertical stroke"},"mathspeak":{"default":"two headed right-arrow with vertical stroke","sbrief":"two headed R arrow with vertical stroke"}},"key":"2900"},{"category":"Sm","mappings":{"default":{"default":"rightwards two headed arrow with double vertical stroke","alternative":"right two headed arrow with double vertical stroke","short":"two headed right arrow with double vertical stroke"},"mathspeak":{"default":"two headed right-arrow with double vertical stroke","sbrief":"two headed R arrow with double vertical stroke"}},"key":"2901"},{"category":"Sm","mappings":{"default":{"default":"leftwards double arrow with vertical stroke","alternative":"left double arrow with vertical stroke","short":"double left arrow with vertical stroke"},"mathspeak":{"default":"double left-arrow with vertical stroke","sbrief":"double L arrow with vertical stroke"}},"key":"2902"},{"category":"Sm","mappings":{"default":{"default":"rightwards double arrow with vertical stroke","alternative":"right double arrow with vertical stroke","short":"double right arrow with vertical stroke"},"mathspeak":{"default":"double right-arrow with vertical stroke","sbrief":"double R arrow with vertical stroke"}},"key":"2903"},{"category":"Sm","mappings":{"default":{"default":"left right double arrow with vertical stroke","short":"double left right arrow with vertical stroke"},"mathspeak":{"default":"double left-right-arrow with vertical stroke","sbrief":"double L R arrow with vertical stroke"}},"key":"2904"},{"category":"Sm","mappings":{"default":{"default":"rightwards two headed arrow from bar","alternative":"right two headed arrow from bar","short":"two headed right arrow from bar"},"mathspeak":{"default":"two headed right-arrow from bar","sbrief":"two headed R arrow from bar"}},"key":"2905"},{"category":"Sm","mappings":{"default":{"default":"leftwards double arrow from bar","alternative":"left double arrow from bar","short":"double left arrow from bar"},"mathspeak":{"default":"double left-arrow from bar","sbrief":"double L arrow from bar"}},"key":"2906"},{"category":"Sm","mappings":{"default":{"default":"rightwards double arrow from bar","alternative":"right double arrow from bar","short":"double right arrow from bar"},"mathspeak":{"default":"double right-arrow from bar","sbrief":"double R arrow from bar"}},"key":"2907"},{"category":"Sm","mappings":{"default":{"default":"downwards arrow with horizontal stroke","alternative":"down arrow with horizontal stroke","short":"arrow down with horizontal stroke"}},"key":"2908"},{"category":"Sm","mappings":{"default":{"default":"upwards arrow with horizontal stroke","short":"up arrow with horizontal stroke"},"mathspeak":{"default":"up-arrow with horizontal stroke","sbrief":"U arrow with horizontal stroke"}},"key":"2909"},{"category":"Sm","mappings":{"default":{"default":"upwards triple arrow","short":"up triple arrow"},"mathspeak":{"sbrief":"U triple arrow"}},"key":"290A"},{"category":"Sm","mappings":{"default":{"default":"downwards triple arrow","short":"down triple arrow"},"mathspeak":{"sbrief":"d triple arrow"}},"key":"290B"},{"category":"Sm","mappings":{"default":{"default":"leftwards double dash arrow","short":"left double dash arrow"},"mathspeak":{"sbrief":"l double dash arrow"}},"key":"290C"},{"category":"Sm","mappings":{"default":{"default":"rightwards double dash arrow","short":"right double dash arrow"},"mathspeak":{"sbrief":"R double dash arrow"}},"key":"290D"},{"category":"Sm","mappings":{"default":{"default":"leftwards triple dash arrow","short":"left triple dash arrow"},"mathspeak":{"sbrief":"l triple dash arrow"}},"key":"290E"},{"category":"Sm","mappings":{"default":{"default":"rightwards triple dash arrow","short":"right triple dash arrow"},"mathspeak":{"sbrief":"r triple dash arrow"}},"key":"290F"},{"category":"Sm","mappings":{"default":{"default":"rightwards two headed triple dash arrow","short":"right two headed triple dash arrow"},"mathspeak":{"sbrief":"r two headed triple dash arrow"}},"key":"2910"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow with dotted stem","short":"right arrow with dotted stem"},"mathspeak":{"default":"right-arrow with dotted stem","sbrief":"R arrow with dotted stem"}},"key":"2911"},{"category":"Sm","mappings":{"default":{"default":"upwards arrow to bar","short":"up arrow to bar"},"mathspeak":{"default":"up-arrow to bar","sbrief":"U arrow to bar"}},"key":"2912"},{"category":"Sm","mappings":{"default":{"default":"downwards arrow to bar","short":"down arrow to bar"},"mathspeak":{"default":"down-arrow to bar","sbrief":"D arrow to bar"}},"key":"2913"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow with tail with vertical stroke","short":"right arrow with tail with vertical stroke"},"mathspeak":{"default":"right-arrow with tail with vertical stroke","sbrief":"R arrow with tail with vertical stroke"}},"key":"2914"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow with tail with double vertical stroke","short":"right arrow with tail with double vertical stroke"},"mathspeak":{"default":"right-arrow with tail with double vertical stroke","sbrief":"R arrow with tail with double vertical stroke"}},"key":"2915"},{"category":"Sm","mappings":{"default":{"default":"rightwards two headed arrow with tail","short":"right two headed arrow with tail"},"mathspeak":{"sbrief":"r two headed arrow with tail"}},"key":"2916"},{"category":"Sm","mappings":{"default":{"default":"rightwards two headed arrow with tail with vertical stroke","short":"right two headed arrow with tail with vertical stroke"},"mathspeak":{"sbrief":"r two headed arrow with tail with vertical stroke"}},"key":"2917"},{"category":"Sm","mappings":{"default":{"default":"rightwards two headed arrow with tail with double vertical stroke","short":"right two headed arrow with tail with double vertical stroke"},"mathspeak":{"sbrief":"r two headed arrow with tail with double vertical stroke"}},"key":"2918"},{"category":"Sm","mappings":{"default":{"default":"leftwards arrow tail","short":"left arrow tail"},"mathspeak":{"default":"left-arrow tail","sbrief":"L arrow tail"}},"key":"2919"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow tail","short":"right arrow tail"},"mathspeak":{"default":"right-arrow tail","sbrief":"R arrow tail"}},"key":"291A"},{"category":"Sm","mappings":{"default":{"default":"leftwards double arrow tail","short":"left double arrow tail"},"mathspeak":{"sbrief":"l double arrow tail"}},"key":"291B"},{"category":"Sm","mappings":{"default":{"default":"rightwards double arrow tail","short":"right double arrow tail"},"mathspeak":{"sbrief":"R double arrow tail"}},"key":"291C"},{"category":"Sm","mappings":{"default":{"default":"leftwards arrow to black diamond","short":"left arrow to black diamond"},"mathspeak":{"default":"left-arrow to black diamond","sbrief":"L arrow to black diamond"}},"key":"291D"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow to black diamond","short":"right arrow to black diamond"},"mathspeak":{"default":"right-arrow to black diamond","sbrief":"R arrow to black diamond"}},"key":"291E"},{"category":"Sm","mappings":{"default":{"default":"leftwards arrow from bar to black diamond","short":"left arrow from bar to black diamond"},"mathspeak":{"default":"left-arrow from bar to black diamond","sbrief":"L arrow from bar to black diamond"}},"key":"291F"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow from bar to black diamond","short":"right arrow from bar to black diamond"},"mathspeak":{"default":"right-arrow from bar to black diamond","sbrief":"R arrow from bar to black diamond"}},"key":"2920"},{"category":"Sm","mappings":{"default":{"default":"north west and south east arrow"}},"key":"2921"},{"category":"Sm","mappings":{"default":{"default":"north east and south west arrow"}},"key":"2922"},{"category":"Sm","mappings":{"default":{"default":"north west arrow with hook"}},"key":"2923"},{"category":"Sm","mappings":{"default":{"default":"north east arrow with hook"}},"key":"2924"},{"category":"Sm","mappings":{"default":{"default":"south east arrow with hook"}},"key":"2925"},{"category":"Sm","mappings":{"default":{"default":"south west arrow with hook"}},"key":"2926"},{"category":"Sm","mappings":{"default":{"default":"north west arrow and north east arrow"}},"key":"2927"},{"category":"Sm","mappings":{"default":{"default":"north east arrow and south east arrow"}},"key":"2928"},{"category":"Sm","mappings":{"default":{"default":"south east arrow and south west arrow"}},"key":"2929"},{"category":"Sm","mappings":{"default":{"default":"south west arrow and north west arrow"}},"key":"292A"},{"category":"Sm","mappings":{"default":{"default":"south east arrow crossing north east arrow"}},"key":"292D"},{"category":"Sm","mappings":{"default":{"default":"north east arrow crossing south east arrow"}},"key":"292E"},{"category":"Sm","mappings":{"default":{"default":"falling diagonal crossing north east arrow"}},"key":"292F"},{"category":"Sm","mappings":{"default":{"default":"rising diagonal crossing south east arrow"}},"key":"2930"},{"category":"Sm","mappings":{"default":{"default":"north east arrow crossing north west arrow"}},"key":"2931"},{"category":"Sm","mappings":{"default":{"default":"north west arrow crossing north east arrow"}},"key":"2932"},{"category":"Sm","mappings":{"default":{"default":"wave arrow pointing directly right"}},"key":"2933"},{"category":"Sm","mappings":{"default":{"default":"arrow pointing rightwards then curving upwards","short":"arrow pointing right then curving up"}},"key":"2934"},{"category":"Sm","mappings":{"default":{"default":"arrow pointing rightwards then curving downwards","short":"arrow pointing right then curving down"}},"key":"2935"},{"category":"Sm","mappings":{"default":{"default":"arrow pointing downwards then curving leftwards","short":"arrow pointing down then curving left"}},"key":"2936"},{"category":"Sm","mappings":{"default":{"default":"arrow pointing downwards then curving rightwards","short":"arrow pointing down then curving right"}},"key":"2937"},{"category":"Sm","mappings":{"default":{"default":"right side arc clockwise arrow"},"mathspeak":{"sbrief":"r side arc clockwise arrow"}},"key":"2938"},{"category":"Sm","mappings":{"default":{"default":"left side arc anticlockwise arrow"},"mathspeak":{"sbrief":"l side arc anticlockwise arrow"}},"key":"2939"},{"category":"Sm","mappings":{"default":{"default":"top arc anticlockwise arrow"}},"key":"293A"},{"category":"Sm","mappings":{"default":{"default":"bottom arc anticlockwise arrow"}},"key":"293B"},{"category":"Sm","mappings":{"default":{"default":"top arc clockwise arrow with minus"}},"key":"293C"},{"category":"Sm","mappings":{"default":{"default":"top arc anticlockwise arrow with plus"}},"key":"293D"},{"category":"Sm","mappings":{"default":{"default":"lower right semicircular clockwise arrow","short":"down right semicircular clockwise arrow"},"mathspeak":{"sbrief":"d r semicircular clockwise arrow"}},"key":"293E"},{"category":"Sm","mappings":{"default":{"default":"lower left semicircular anticlockwise arrow","short":"down left semicircular anticlockwise arrow"},"mathspeak":{"sbrief":"d l semicircular anticlockwise arrow"}},"key":"293F"},{"category":"Sm","mappings":{"default":{"default":"anticlockwise closed circle arrow"}},"key":"2940"},{"category":"Sm","mappings":{"default":{"default":"clockwise closed circle arrow"}},"key":"2941"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow above short leftwards arrow","short":"right arrow above short left arrow"},"mathspeak":{"default":"right-arrow above short left-arrow","sbrief":"R arrow above short L arrow"}},"key":"2942"},{"category":"Sm","mappings":{"default":{"default":"leftwards arrow above short rightwards arrow","short":"left arrow above short right arrow"},"mathspeak":{"default":"left-arrow above short right-arrow","sbrief":"L arrow above short R arrow"}},"key":"2943"},{"category":"Sm","mappings":{"default":{"default":"short rightwards arrow above leftwards arrow","short":"short right arrow above left arrow"},"mathspeak":{"default":"short right-arrow above left-arrow","sbrief":"short R arrow above L arrow"}},"key":"2944"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow with plus below","short":"right arrow with plus below"},"mathspeak":{"default":"right-arrow with plus below","sbrief":"R arrow with plus below"}},"key":"2945"},{"category":"Sm","mappings":{"default":{"default":"leftwards arrow with plus below","short":"left arrow with plus below"},"mathspeak":{"default":"left-arrow with plus below","sbrief":"L arrow with plus below"}},"key":"2946"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow through x","short":"right arrow through x"},"mathspeak":{"default":"right-arrow through x","sbrief":"R arrow through x"}},"key":"2947"},{"category":"Sm","mappings":{"default":{"default":"left right arrow through small circle"},"mathspeak":{"default":"left-right-arrow through small circle","sbrief":"L R arrow through small circle"}},"key":"2948"},{"category":"Sm","mappings":{"default":{"default":"upwards two headed arrow from small circle","short":"up two headed arrow from small circle"},"mathspeak":{"sbrief":"U two headed arrow from small circle"}},"key":"2949"},{"category":"Sm","mappings":{"default":{"default":"right double arrow with rounded head"},"mathspeak":{"sbrief":"R double arrow with rounded head"}},"key":"2970"},{"category":"Sm","mappings":{"default":{"default":"equals sign above rightwards arrow","short":"equals sign above right arrow"},"mathspeak":{"default":"equals sign above right-arrow","sbrief":"equals sign above R arrow"}},"key":"2971"},{"category":"Sm","mappings":{"default":{"default":"tilde operator above rightwards arrow","short":"tilde operator above right arrow"},"mathspeak":{"default":"tilde operator above right-arrow","sbrief":"tilde operator above R arrow"}},"key":"2972"},{"category":"Sm","mappings":{"default":{"default":"leftwards arrow above tilde operator","short":"left arrow above tilde operator"},"mathspeak":{"default":"left-arrow above tilde operator","sbrief":"L arrow above tilde operator"}},"key":"2973"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow above tilde operator","short":"right arrow above tilde operator"},"mathspeak":{"default":"right-arrow above tilde operator","sbrief":"R arrow above tilde operator"}},"key":"2974"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow above almost equals","short":"right arrow above almost equals"},"mathspeak":{"default":"right-arrow above almost equals","sbrief":"R arrow above almost equals"}},"key":"2975"},{"category":"Sm","mappings":{"default":{"default":"less than above leftwards arrow","short":"less than above left arrow"},"mathspeak":{"default":"less than above left-arrow","sbrief":"less than above L arrow"}},"key":"2976"},{"category":"Sm","mappings":{"default":{"default":"leftwards arrow through less than","short":"left arrow through less than"},"mathspeak":{"default":"left-arrow through less than","sbrief":"L arrow through less than"}},"key":"2977"},{"category":"Sm","mappings":{"default":{"default":"greater than above rightwards arrow","short":"greater than above right arrow"},"mathspeak":{"default":"greater than above right-arrow","sbrief":"greater than above R arrow"}},"key":"2978"},{"category":"Sm","mappings":{"default":{"default":"subset above rightwards arrow","short":"subset above right arrow"},"mathspeak":{"default":"subset above right-arrow","sbrief":"subset above R arrow"}},"key":"2979"},{"category":"Sm","mappings":{"default":{"default":"leftwards arrow through subset","short":"left arrow through subset"},"mathspeak":{"default":"left-arrow through subset","sbrief":"L arrow through subset"}},"key":"297A"},{"category":"Sm","mappings":{"default":{"default":"superset above leftwards arrow","short":"superset above left arrow"},"mathspeak":{"default":"superset above left-arrow","sbrief":"suerset above L arrow"}},"key":"297B"},{"category":"Sm","mappings":{"default":{"default":"empty set with right arrow above"},"mathspeak":{"default":"empty set with right-arrow above","sbrief":"empty set with R arrow above"}},"key":"29B3"},{"category":"Sm","mappings":{"default":{"default":"empty set with left arrow above"},"mathspeak":{"default":"empty set with left-arrow above","sbrief":"empty set with L arrow above"}},"key":"29B4"},{"category":"Sm","mappings":{"default":{"default":"up arrow through circle"},"mathspeak":{"default":"up-arrow through circle","sbrief":"U arrow through circle"}},"key":"29BD"},{"category":"Sm","mappings":{"default":{"default":"black diamond with down arrow"},"mathspeak":{"default":"black diamond with down-arrow","sbrief":"black diamond with D arrow"}},"key":"29EA"},{"category":"Sm","mappings":{"default":{"default":"white circle with down arrow"},"mathspeak":{"default":"white circle with down-arrow","sbrief":"white circle with D arrow"}},"key":"29EC"},{"category":"Sm","mappings":{"default":{"default":"black circle with down arrow"},"mathspeak":{"default":"black circle with down-arrow","sbrief":"black circle with D arrow"}},"key":"29ED"},{"category":"Sm","mappings":{"default":{"default":"integral with leftwards arrow with hook","short":"integral with left arrow with hook"},"mathspeak":{"default":"integral with left-arrow with hook","sbrief":"integral with L arrow with hook"}},"key":"2A17"},{"category":"So","mappings":{"default":{"default":"north east white arrow"}},"key":"2B00"},{"category":"So","mappings":{"default":{"default":"north west white arrow"}},"key":"2B01"},{"category":"So","mappings":{"default":{"default":"south east white arrow"}},"key":"2B02"},{"category":"So","mappings":{"default":{"default":"south west white arrow"}},"key":"2B03"},{"category":"So","mappings":{"default":{"default":"left right white arrow"},"mathspeak":{"sbrief":"L R white arrow"}},"key":"2B04"},{"category":"So","mappings":{"default":{"default":"leftwards black arrow","short":"left black arrow"},"mathspeak":{"sbrief":"L black arrow"}},"key":"2B05"},{"category":"So","mappings":{"default":{"default":"upwards black arrow","short":"up black arrow"},"mathspeak":{"sbrief":"U black arrow"}},"key":"2B06"},{"category":"So","mappings":{"default":{"default":"downwards black arrow","short":"down black arrow"},"mathspeak":{"sbrief":"D black arrow"}},"key":"2B07"},{"category":"So","mappings":{"default":{"default":"north east black arrow"}},"key":"2B08"},{"category":"So","mappings":{"default":{"default":"north west black arrow"}},"key":"2B09"},{"category":"So","mappings":{"default":{"default":"south east black arrow"}},"key":"2B0A"},{"category":"So","mappings":{"default":{"default":"south west black arrow"}},"key":"2B0B"},{"category":"So","mappings":{"default":{"default":"left right black arrow"},"mathspeak":{"sbrief":"L R black arrow"}},"key":"2B0C"},{"category":"So","mappings":{"default":{"default":"up down black arrow"},"mathspeak":{"sbrief":"U D black arrow"}},"key":"2B0D"},{"category":"So","mappings":{"default":{"default":"rightwards arrow with tip downwards","short":"right arrow with tip down"},"mathspeak":{"default":"right-arrow with tip down","sbrief":"R arrow with tip down"}},"key":"2B0E"},{"category":"So","mappings":{"default":{"default":"rightwards arrow with tip upwards","short":"right arrow with tip up"},"mathspeak":{"default":"right-arrow with tip up","sbrief":"R arrow with tip up"}},"key":"2B0F"},{"category":"So","mappings":{"default":{"default":"leftwards arrow with tip downwards","short":"left arrow with tip down"},"mathspeak":{"default":"left-arrow with tip down","sbrief":"L arrow with tip down"}},"key":"2B10"},{"category":"So","mappings":{"default":{"default":"leftwards arrow with tip upwards","short":"left arrow with tip up"},"mathspeak":{"default":"left-arrow with tip up","sbrief":"L arrow with tip up"}},"key":"2B11"},{"category":"Sm","mappings":{"default":{"default":"left arrow with small circle"},"mathspeak":{"default":"left-arrow with small circle","sbrief":"L arrow with small circle"}},"key":"2B30"},{"category":"Sm","mappings":{"default":{"default":"three leftwards arrows","short":"three left arrows"},"mathspeak":{"default":"three left-arrows","sbrief":"three L arrows"}},"key":"2B31"},{"category":"Sm","mappings":{"default":{"default":"left arrow with circled plus"},"mathspeak":{"default":"left-arrow with circled plus","sbrief":"L arrow with circled plus"}},"key":"2B32"},{"category":"Sm","mappings":{"default":{"default":"long leftwards squiggle arrow","short":"long left squiggle arrow"},"mathspeak":{"sbrief":"long l squiggle arrow"}},"key":"2B33"},{"category":"Sm","mappings":{"default":{"default":"leftwards two headed arrow with vertical stroke","short":"left two headed arrow with vertical stroke"},"mathspeak":{"sbrief":"l two headed arrow with vertical stroke"}},"key":"2B34"},{"category":"Sm","mappings":{"default":{"default":"leftwards two headed arrow with double vertical stroke","short":"left two headed arrow with double vertical stroke"},"mathspeak":{"sbrief":"l two headed arrow with double vertical stroke"}},"key":"2B35"},{"category":"Sm","mappings":{"default":{"default":"leftwards two headed arrow from bar","short":"left two headed arrow from bar"},"mathspeak":{"sbrief":"l two headed arrow from bar"}},"key":"2B36"},{"category":"Sm","mappings":{"default":{"default":"leftwards two headed triple dash arrow","short":"left two headed triple dash arrow"},"mathspeak":{"sbrief":"l two headed triple dash arrow"}},"key":"2B37"},{"category":"Sm","mappings":{"default":{"default":"leftwards arrow with dotted stem","short":"left arrow with dotted stem"},"mathspeak":{"default":"left-arrow with dotted stem","sbrief":"L arrow with dotted stem"}},"key":"2B38"},{"category":"Sm","mappings":{"default":{"default":"leftwards arrow with tail with vertical stroke","short":"left arrow with tail with vertical stroke"},"mathspeak":{"default":"left-arrow with tail with vertical stroke","sbrief":"L arrow with tail with vertical stroke"}},"key":"2B39"},{"category":"Sm","mappings":{"default":{"default":"leftwards arrow with tail with double vertical stroke","short":"left arrow with tail with double vertical stroke"},"mathspeak":{"default":"left-arrow with tail with double vertical stroke","sbrief":"L arrow with tail with double vertical stroke"}},"key":"2B3A"},{"category":"Sm","mappings":{"default":{"default":"leftwards two headed arrow with tail","short":"left two headed arrow with tail"},"mathspeak":{"sbrief":"l two headed arrow with tail"}},"key":"2B3B"},{"category":"Sm","mappings":{"default":{"default":"leftwards two headed arrow with tail with vertical stroke","short":"left two headed arrow with tail with vertical stroke"},"mathspeak":{"sbrief":"l two headed arrow with tail with vertical stroke"}},"key":"2B3C"},{"category":"Sm","mappings":{"default":{"default":"leftwards two headed arrow with tail with double vertical stroke","short":"left two headed arrow with tail with double vertical stroke"},"mathspeak":{"sbrief":"l two headed arrow with tail with double vertical stroke"}},"key":"2B3D"},{"category":"Sm","mappings":{"default":{"default":"leftwards arrow through x","short":"left arrow through x"},"mathspeak":{"default":"left-arrow through x","sbrief":"L arrow through x"}},"key":"2B3E"},{"category":"Sm","mappings":{"default":{"default":"wave arrow pointing directly left"}},"key":"2B3F"},{"category":"Sm","mappings":{"default":{"default":"equals sign above leftwards arrow","short":"equals sign above left arrow"},"mathspeak":{"default":"equals sign above left-arrow","sbrief":"equals sign above L arrow"}},"key":"2B40"},{"category":"Sm","mappings":{"default":{"default":"reverse tilde operator above leftwards arrow","short":"reverse tilde operator above left arrow"},"mathspeak":{"default":"reverse tilde operator above left-arrow","sbrief":"reverse tilde operator above L arrow"}},"key":"2B41"},{"category":"Sm","mappings":{"default":{"default":"leftwards arrow above reverse almost equals","short":"left arrow above reverse almost equals"},"mathspeak":{"default":"left-arrow above reverse almost equals","sbrief":"L arrow above reverse almost equals"}},"key":"2B42"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow through greater than","short":"right arrow through greater than"},"mathspeak":{"default":"right-arrow through greater than","sbrief":"R arrow through greater than"}},"key":"2B43"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow through superset","short":"right arrow through superset"},"mathspeak":{"default":"right-arrow through superset","sbrief":"R arrow through superset"}},"key":"2B44"},{"category":"So","mappings":{"default":{"default":"leftwards quadruple arrow","short":"left quadruple arrow"},"mathspeak":{"sbrief":"l quadrule arrow"}},"key":"2B45"},{"category":"So","mappings":{"default":{"default":"rightwards quadruple arrow","short":"right quadruple arrow"},"mathspeak":{"sbrief":"r quadrule arrow"}},"key":"2B46"},{"category":"Sm","mappings":{"default":{"default":"reverse tilde operator above rightwards arrow","short":"reverse tilde operator above right arrow"},"mathspeak":{"default":"reverse tilde operator above right-arrow","sbrief":"reverse tilde operator above R arrow"}},"key":"2B47"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow above reverse almost equals","short":"right arrow above reverse almost equals"},"mathspeak":{"default":"right-arrow above reverse almost equals","sbrief":"R arrow above reverse almost equals"}},"key":"2B48"},{"category":"Sm","mappings":{"default":{"default":"tilde operator above leftwards arrow","short":"tilde operator above left arrow"},"mathspeak":{"default":"tilde operator above left-arrow","sbrief":"tilde operator above L arrow"}},"key":"2B49"},{"category":"Sm","mappings":{"default":{"default":"leftwards arrow above almost equals","short":"left arrow above almost equals"},"mathspeak":{"default":"left-arrow above almost equals","sbrief":"L arrow above almost equals"}},"key":"2B4A"},{"category":"Sm","mappings":{"default":{"default":"leftwards arrow above reverse tilde operator","short":"left arrow above reverse tilde operator"},"mathspeak":{"default":"left-arrow above reverse tilde operator","sbrief":"L arrow above reverse tilde operator"}},"key":"2B4B"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow above reverse tilde operator","short":"right arrow above reverse tilde operator"},"mathspeak":{"default":"right-arrow above reverse tilde operator","sbrief":"R arrow above reverse tilde operator"}},"key":"2B4C"},{"category":"Sm","mappings":{"default":{"default":"halfwidth leftwards arrow","short":"halfwidth left arrow"},"mathspeak":{"default":"halfwidth left-arrow","sbrief":"halfwidth L arrow"}},"key":"FFE9"},{"category":"Sm","mappings":{"default":{"default":"halfwidth upwards arrow","short":"halfwidth up arrow"},"mathspeak":{"default":"halfwidth up-arrow","sbrief":"halfwidth U arrow"}},"key":"FFEA"},{"category":"Sm","mappings":{"default":{"default":"halfwidth rightwards arrow","short":"halfwidth right arrow"},"mathspeak":{"default":"halfwidth right-arrow","sbrief":"halfwidth R arrow"}},"key":"FFEB"},{"category":"Sm","mappings":{"default":{"default":"halfwidth downwards arrow","short":"halfwidth down arrow"},"mathspeak":{"default":"halfwidth down-arrow","sbrief":"halfwidth D arrow"}},"key":"FFEC"}] diff --git a/assets/js/mathmaps/en/symbols/math_characters.js b/assets/js/mathmaps/en/symbols/math_characters.js new file mode 100644 index 0000000000000000000000000000000000000000..29e8a5f5b083877911b5f3c33b307baddb8dab73 --- /dev/null +++ b/assets/js/mathmaps/en/symbols/math_characters.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"Ll","mappings":{"default":{"default":"script small l","short":"script l"}},"key":"2113"},{"category":"Sm","mappings":{"default":{"default":"script capital p","alternative":"script p","short":"script cap p"},"mathspeak":{"default":"script upper P"}},"key":"2118"},{"category":"Ll","mappings":{"default":{"default":"double struck small pi","short":"double struck pi"}},"key":"213C"},{"category":"Ll","mappings":{"default":{"default":"double struck small gamma","short":"double struck gamma"}},"key":"213D"},{"category":"Lu","mappings":{"default":{"default":"double struck capital gamma","short":"double struck cap gamma"},"mathspeak":{"default":"double struck upper Gamma"}},"key":"213E"},{"category":"Lu","mappings":{"default":{"default":"double struck capital pi","short":"double struck cap pi"},"mathspeak":{"default":"double struck upper Pi"}},"key":"213F"},{"category":"Sm","mappings":{"default":{"default":"double struck n ary summation"}},"key":"2140"},{"category":"Lu","mappings":{"default":{"default":"double struck italic capital d","short":"double struck italic cap d"},"mathspeak":{"default":"double struck italic upper D"}},"key":"2145"},{"category":"Ll","mappings":{"default":{"default":"double struck italic small d","short":"double struck italic d"}},"key":"2146"},{"category":"Ll","mappings":{"default":{"default":"double struck italic small e","short":"double struck italic e"}},"key":"2147"},{"category":"Ll","mappings":{"default":{"default":"double struck italic small i","short":"double struck italic i"}},"key":"2148"},{"category":"Ll","mappings":{"default":{"default":"double struck italic small j","short":"double struck italic j"}},"key":"2149"},{"category":"Ll","mappings":{"default":{"default":"italic small dotless i","short":"italic dotless i"}},"key":"1D6A4"},{"category":"Ll","mappings":{"default":{"default":"italic small dotless j","short":"italic dotless j"}},"key":"1D6A5"}] diff --git a/assets/js/mathmaps/en/symbols/math_delimiters.js b/assets/js/mathmaps/en/symbols/math_delimiters.js new file mode 100644 index 0000000000000000000000000000000000000000..37824eac6cf48e1ac98e1e790798dc5434f2cd6f --- /dev/null +++ b/assets/js/mathmaps/en/symbols/math_delimiters.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"Ps","mappings":{"default":{"default":"left parenthesis","alternative":"opening parenthesis"},"mathspeak":{"default":"left-parenthesis","brief":"left-p'ren","sbrief":"L p'ren"}},"key":"0028"},{"category":"Pe","mappings":{"default":{"default":"right parenthesis","alternative":"closing parenthesis"},"mathspeak":{"default":"right-parenthesis","brief":"right-p'ren","sbrief":"R p'ren"}},"key":"0029"},{"category":"Ps","mappings":{"default":{"default":"left square bracket","alternative":"opening square bracket"},"mathspeak":{"default":"left-bracket","brief":"left-brack","sbrief":"L brack"}},"key":"005B"},{"category":"Pe","mappings":{"default":{"default":"right square bracket","alternative":"closing square bracket"},"mathspeak":{"default":"right-bracket","brief":"right-brack","sbrief":"R brack"}},"key":"005D"},{"category":"Ps","mappings":{"default":{"default":"left curly bracket","alternative":"opening curly bracket"},"mathspeak":{"default":"left-brace","sbrief":"L brace"}},"key":"007B"},{"category":"Pe","mappings":{"default":{"default":"right curly bracket","alternative":"closing curly bracket"},"mathspeak":{"default":"right-brace","sbrief":"R brace"}},"key":"007D"},{"category":"Ps","mappings":{"default":{"default":"left square bracket with quill"},"mathspeak":{"default":"left-bracket with quill","brief":"left-brack with quill","sbrief":"L brack with quill"}},"key":"2045"},{"category":"Pe","mappings":{"default":{"default":"right square bracket with quill"},"mathspeak":{"default":"right-bracket with quill","brief":"right-brack with quill","sbrief":"R brack with quill"}},"key":"2046"},{"category":"Sm","mappings":{"default":{"default":"left ceiling"}},"key":"2308"},{"category":"Sm","mappings":{"default":{"default":"right ceiling"}},"key":"2309"},{"category":"Sm","mappings":{"default":{"default":"left floor"}},"key":"230A"},{"category":"Sm","mappings":{"default":{"default":"right floor"}},"key":"230B"},{"category":"So","mappings":{"default":{"default":"bottom right crop"}},"key":"230C"},{"category":"So","mappings":{"default":{"default":"bottom left crop"}},"key":"230D"},{"category":"So","mappings":{"default":{"default":"top right crop"}},"key":"230E"},{"category":"So","mappings":{"default":{"default":"top left crop"}},"key":"230F"},{"category":"So","mappings":{"default":{"default":"top left corner"}},"key":"231C"},{"category":"So","mappings":{"default":{"default":"top right corner"}},"key":"231D"},{"category":"So","mappings":{"default":{"default":"bottom left corner"}},"key":"231E"},{"category":"So","mappings":{"default":{"default":"bottom right corner"}},"key":"231F"},{"category":"Sm","mappings":{"default":{"default":"top half integral"}},"key":"2320"},{"category":"Sm","mappings":{"default":{"default":"bottom half integral"}},"key":"2321"},{"category":"Ps","mappings":{"default":{"default":"left pointing angle bracket","alternative":"bra"},"mathspeak":{"default":"left pointing angle"}},"key":"2329"},{"category":"Pe","mappings":{"default":{"default":"right pointing angle bracket","alternative":"ket"},"mathspeak":{"default":"right pointing angle"}},"key":"232A"},{"category":"Sm","mappings":{"default":{"default":"left parenthesis upper hook"},"mathspeak":{"default":"left-parenthesis upper hook","brief":"left-p'ren upper hook","sbrief":"L p'ren upper hook"}},"key":"239B"},{"category":"Sm","mappings":{"default":{"default":"left parenthesis extension"},"mathspeak":{"default":"left-parenthesis extension","brief":"left-p'ren extension","sbrief":"L p'ren extension"}},"key":"239C"},{"category":"Sm","mappings":{"default":{"default":"left parenthesis lower hook"},"mathspeak":{"default":"left-parenthesis lower hook","brief":"left-p'ren lower hook","sbrief":"L p'ren lower hook"}},"key":"239D"},{"category":"Sm","mappings":{"default":{"default":"right parenthesis upper hook"},"mathspeak":{"default":"right-parenthesis upper hook","brief":"right-p'ren upper hook","sbrief":"R p'ren upper hook"}},"key":"239E"},{"category":"Sm","mappings":{"default":{"default":"right parenthesis extension"},"mathspeak":{"default":"right-parenthesis extension","brief":"right-p'ren extension","sbrief":"R p'ren extension"}},"key":"239F"},{"category":"Sm","mappings":{"default":{"default":"right parenthesis lower hook"},"mathspeak":{"default":"right-parenthesis lower hook","brief":"right-p'ren lower hook","sbrief":"R p'ren lower hook"}},"key":"23A0"},{"category":"Sm","mappings":{"default":{"default":"left square bracket upper corner"},"mathspeak":{"default":"left-bracket upper corner","brief":"left-brack upper corner","sbrief":"L brack upper corner"}},"key":"23A1"},{"category":"Sm","mappings":{"default":{"default":"left square bracket extension"},"mathspeak":{"default":"left-bracket extension","brief":"left-brack extension","sbrief":"L brack extension"}},"key":"23A2"},{"category":"Sm","mappings":{"default":{"default":"left square bracket lower corner"},"mathspeak":{"default":"left-bracket lower corner","brief":"left-brack lower corner","sbrief":"L brack lower corner"}},"key":"23A3"},{"category":"Sm","mappings":{"default":{"default":"right square bracket upper corner"},"mathspeak":{"default":"right-bracket upper corner","brief":"right-brack upper corner","sbrief":"R brack upper corner"}},"key":"23A4"},{"category":"Sm","mappings":{"default":{"default":"right square bracket extension"},"mathspeak":{"default":"right-bracket extension","brief":"right-brack extension","sbrief":"R brack extension"}},"key":"23A5"},{"category":"Sm","mappings":{"default":{"default":"right square bracket lower corner"},"mathspeak":{"default":"right-bracket lower corner","brief":"right-brack lower corner","sbrief":"R brack lower corner"}},"key":"23A6"},{"category":"Sm","mappings":{"default":{"default":"left curly bracket upper hook"},"mathspeak":{"default":"left-brace upper hook","sbrief":"L brace upper hook"}},"key":"23A7"},{"category":"Sm","mappings":{"default":{"default":"left curly bracket middle piece"},"mathspeak":{"default":"left-brace middle piece","sbrief":"L brace middle piece"}},"key":"23A8"},{"category":"Sm","mappings":{"default":{"default":"left curly bracket lower hook"},"mathspeak":{"default":"left-brace lower hook","sbrief":"L brace lower hook"}},"key":"23A9"},{"category":"Sm","mappings":{"default":{"default":"curly bracket extension"},"mathspeak":{"default":"brace extension"}},"key":"23AA"},{"category":"Sm","mappings":{"default":{"default":"right curly bracket upper hook"},"mathspeak":{"default":"right-brace upper hook","sbrief":"R brace upper hook"}},"key":"23AB"},{"category":"Sm","mappings":{"default":{"default":"right curly bracket middle piece"},"mathspeak":{"default":"right-brace middle piece","sbrief":"R brace middle piece"}},"key":"23AC"},{"category":"Sm","mappings":{"default":{"default":"right curly bracket lower hook"},"mathspeak":{"default":"right-brace lower hook","sbrief":"R brace lower hook"}},"key":"23AD"},{"category":"Sm","mappings":{"default":{"default":"integral extension"}},"key":"23AE"},{"category":"Sm","mappings":{"default":{"default":"horizontal line extension"}},"key":"23AF"},{"category":"Sm","mappings":{"default":{"default":"upper left or lower right curly bracket section"},"mathspeak":{"default":"upper left or lower right-brace section"}},"key":"23B0"},{"category":"Sm","mappings":{"default":{"default":"upper right or lower left curly bracket section"},"mathspeak":{"default":"upper right or lower left-brace section"}},"key":"23B1"},{"category":"Sm","mappings":{"default":{"default":"summation top"}},"key":"23B2"},{"category":"Sm","mappings":{"default":{"default":"summation bottom"}},"key":"23B3"},{"category":"So","mappings":{"default":{"default":"top square bracket"},"mathspeak":{"default":"top-bracket","brief":"top-brack","sbrief":"T brack"}},"key":"23B4"},{"category":"So","mappings":{"default":{"default":"bottom square bracket"},"mathspeak":{"default":"bottom-bracket","brief":"bottom-brack","sbrief":"B brack"}},"key":"23B5"},{"category":"So","mappings":{"default":{"default":"bottom square bracket over top square bracket"},"mathspeak":{"default":"bottom-bracket over top-bracket","brief":"bottom-brack over top-brack","sbrief":"B brack over T brack"}},"key":"23B6"},{"category":"So","mappings":{"default":{"default":"radical symbol bottom"}},"key":"23B7"},{"category":"So","mappings":{"default":{"default":"left vertical box line"}},"key":"23B8"},{"category":"So","mappings":{"default":{"default":"right vertical box line"}},"key":"23B9"},{"category":"Sm","mappings":{"default":{"default":"top parenthesis"},"mathspeak":{"default":"top-parenthesis","brief":"top-p'ren","sbrief":"t p'ren"}},"key":"23DC"},{"category":"Sm","mappings":{"default":{"default":"bottom parenthesis"},"mathspeak":{"default":"bottom-parenthesis","brief":"bottom-p'ren","sbrief":"b p'ren"}},"key":"23DD"},{"category":"Sm","mappings":{"default":{"default":"top curly bracket"},"mathspeak":{"default":"top-brace","sbrief":"T brace"}},"key":"23DE"},{"category":"Sm","mappings":{"default":{"default":"bottom curly bracket"},"mathspeak":{"default":"bottom-brace","sbrief":"B brace"}},"key":"23DF"},{"category":"Sm","mappings":{"default":{"default":"top tortoise shell bracket"}},"key":"23E0"},{"category":"Sm","mappings":{"default":{"default":"bottom tortoise shell bracket"}},"key":"23E1"},{"category":"Ps","mappings":{"default":{"default":"medium left parenthesis ornament"},"mathspeak":{"default":"medium left-parenthesis ornament","brief":"medium left-p'ren ornament","sbrief":"medium L p'ren ornament"}},"key":"2768"},{"category":"Pe","mappings":{"default":{"default":"medium right parenthesis ornament"},"mathspeak":{"default":"medium right-parenthesis ornament","brief":"medium right-p'ren ornament","sbrief":"medium R p'ren ornament"}},"key":"2769"},{"category":"Ps","mappings":{"default":{"default":"medium flattened left parenthesis ornament"},"mathspeak":{"default":"medium flattened left-parenthesis ornament","brief":"medium flattened left-p'ren ornament","sbrief":"medium flattened L p'ren ornament"}},"key":"276A"},{"category":"Pe","mappings":{"default":{"default":"medium flattened right parenthesis ornament"},"mathspeak":{"default":"medium flattened right-parenthesis ornament","brief":"medium flattened right-p'ren ornament","sbrief":"medium flattened R p'ren ornament"}},"key":"276B"},{"category":"Ps","mappings":{"default":{"default":"medium left pointing angle bracket ornament"},"mathspeak":{"default":"medium left pointing angle ornament"}},"key":"276C"},{"category":"Pe","mappings":{"default":{"default":"medium right pointing angle bracket ornament"},"mathspeak":{"default":"medium right pointing angle ornament"}},"key":"276D"},{"category":"Ps","mappings":{"default":{"default":"heavy left pointing angle quotation mark ornament"}},"key":"276E"},{"category":"Pe","mappings":{"default":{"default":"heavy right pointing angle quotation mark ornament"}},"key":"276F"},{"category":"Ps","mappings":{"default":{"default":"heavy left pointing angle bracket ornament"},"mathspeak":{"default":"heavy left pointing angle ornament"}},"key":"2770"},{"category":"Pe","mappings":{"default":{"default":"heavy right pointing angle bracket ornament"},"mathspeak":{"default":"heavy right pointing angle ornament"}},"key":"2771"},{"category":"Ps","mappings":{"default":{"default":"light left tortoise shell bracket ornament"}},"key":"2772"},{"category":"Pe","mappings":{"default":{"default":"light right tortoise shell bracket ornament"}},"key":"2773"},{"category":"Ps","mappings":{"default":{"default":"medium left curly bracket ornament"},"mathspeak":{"default":"medium left-brace ornament","sbrief":"medium L brace ornament"}},"key":"2774"},{"category":"Pe","mappings":{"default":{"default":"medium right curly bracket ornament"},"mathspeak":{"default":"medium right-brace ornament","sbrief":"medium R brace ornament"}},"key":"2775"},{"category":"Ps","mappings":{"default":{"default":"left s shaped bag delimiter"}},"key":"27C5"},{"category":"Pe","mappings":{"default":{"default":"right s shaped bag delimiter"}},"key":"27C6"},{"category":"Ps","mappings":{"default":{"default":"mathematical left white square bracket"},"mathspeak":{"default":"mathematical left white bracket"}},"key":"27E6"},{"category":"Pe","mappings":{"default":{"default":"mathematical right white square bracket"},"mathspeak":{"default":"mathematical right white bracket"}},"key":"27E7"},{"category":"Ps","mappings":{"default":{"default":"mathematical left angle bracket"},"mathspeak":{"default":"mathematical left-angle","sbrief":"mathematical l angle"}},"key":"27E8"},{"category":"Pe","mappings":{"default":{"default":"mathematical right angle bracket"},"mathspeak":{"default":"mathematical right-angle","sbrief":"mathematical r angle"}},"key":"27E9"},{"category":"Ps","mappings":{"default":{"default":"mathematical left double angle bracket"},"mathspeak":{"default":"mathematical left double angle"}},"key":"27EA"},{"category":"Pe","mappings":{"default":{"default":"mathematical right double angle bracket"},"mathspeak":{"default":"mathematical right double angle"}},"key":"27EB"},{"category":"Ps","mappings":{"default":{"default":"mathematical left white tortoise shell bracket"}},"key":"27EC"},{"category":"Pe","mappings":{"default":{"default":"mathematical right white tortoise shell bracket"}},"key":"27ED"},{"category":"Ps","mappings":{"default":{"default":"mathematical left flattened parenthesis"},"mathspeak":{"default":"mathematical flattened left-parenthesis","brief":"mathematical flattened left-p'ren","sbrief":"mathematical flattened L p'ren"}},"key":"27EE"},{"category":"Pe","mappings":{"default":{"default":"mathematical right flattened parenthesis"},"mathspeak":{"default":"mathematical flattened right-parenthesis","brief":"mathematical flattened right-p'ren","sbrief":"mathematical flattened R p'ren"}},"key":"27EF"},{"category":"Ps","mappings":{"default":{"default":"left white curly bracket"},"mathspeak":{"default":"left white brace"}},"key":"2983"},{"category":"Pe","mappings":{"default":{"default":"right white curly bracket"},"mathspeak":{"default":"right white brace"}},"key":"2984"},{"category":"Ps","mappings":{"default":{"default":"left white parenthesis"},"mathspeak":{"default":"white left-parenthesis","brief":"white left-p'ren","sbrief":"white L p'ren"}},"key":"2985"},{"category":"Pe","mappings":{"default":{"default":"right white parenthesis"},"mathspeak":{"default":"white right-parenthesis","brief":"white right-p'ren","sbrief":"white R p'ren"}},"key":"2986"},{"category":"Ps","mappings":{"default":{"default":"z notation left image bracket"}},"key":"2987"},{"category":"Pe","mappings":{"default":{"default":"z notation right image bracket"}},"key":"2988"},{"category":"Ps","mappings":{"default":{"default":"z notation left binding bracket"}},"key":"2989"},{"category":"Pe","mappings":{"default":{"default":"z notation right binding bracket"}},"key":"298A"},{"category":"Ps","mappings":{"default":{"default":"left square bracket with underbar"},"mathspeak":{"default":"left-bracket with underbar","brief":"left-brack with underbar","sbrief":"L brack with underbar"}},"key":"298B"},{"category":"Pe","mappings":{"default":{"default":"right square bracket with underbar"},"mathspeak":{"default":"right-bracket with underbar","brief":"right-brack with underbar","sbrief":"R brack with underbar"}},"key":"298C"},{"category":"Ps","mappings":{"default":{"default":"left square bracket with tick in top corner"},"mathspeak":{"default":"left-bracket with tick in top corner","brief":"left-brack with tick in top corner","sbrief":"L brack with tick in top corner"}},"key":"298D"},{"category":"Pe","mappings":{"default":{"default":"right square bracket with tick in bottom corner"},"mathspeak":{"default":"right-bracket with tick in bottom corner","brief":"right-brack with tick in bottom corner","sbrief":"R brack with tick in bottom corner"}},"key":"298E"},{"category":"Ps","mappings":{"default":{"default":"left square bracket with tick in bottom corner"},"mathspeak":{"default":"left-bracket with tick in bottom corner","brief":"left-brack with tick in bottom corner","sbrief":"L brack with tick in bottom corner"}},"key":"298F"},{"category":"Pe","mappings":{"default":{"default":"right square bracket with tick in top corner"},"mathspeak":{"default":"right-bracket with tick in top corner","brief":"right-brack with tick in top corner","sbrief":"R brack with tick in top corner"}},"key":"2990"},{"category":"Ps","mappings":{"default":{"default":"left angle bracket with dot"},"mathspeak":{"default":"left-angle with dot","sbrief":"l angle with dot"}},"key":"2991"},{"category":"Pe","mappings":{"default":{"default":"right angle bracket with dot"},"mathspeak":{"default":"right-angle with dot","sbrief":"r angle with dot"}},"key":"2992"},{"category":"Ps","mappings":{"default":{"default":"left arc less than bracket"}},"key":"2993"},{"category":"Pe","mappings":{"default":{"default":"right arc greater than bracket"}},"key":"2994"},{"category":"Ps","mappings":{"default":{"default":"double left arc greater than bracket"}},"key":"2995"},{"category":"Pe","mappings":{"default":{"default":"double right arc less than bracket"}},"key":"2996"},{"category":"Ps","mappings":{"default":{"default":"left black tortoise shell bracket"}},"key":"2997"},{"category":"Pe","mappings":{"default":{"default":"right black tortoise shell bracket"}},"key":"2998"},{"category":"Ps","mappings":{"default":{"default":"left wiggly fence"}},"key":"29D8"},{"category":"Pe","mappings":{"default":{"default":"right wiggly fence"}},"key":"29D9"},{"category":"Ps","mappings":{"default":{"default":"left double wiggly fence"}},"key":"29DA"},{"category":"Pe","mappings":{"default":{"default":"right double wiggly fence"}},"key":"29DB"},{"category":"Ps","mappings":{"default":{"default":"left pointing curved angle bracket"},"mathspeak":{"default":"left pointing curved angle"}},"key":"29FC"},{"category":"Pe","mappings":{"default":{"default":"right pointing curved angle bracket"},"mathspeak":{"default":"right pointing curved angle"}},"key":"29FD"},{"category":"Ps","mappings":{"default":{"default":"top left half bracket"},"mathspeak":{"default":"top half left-bracket","brief":"top half left-brack","sbrief":"top half L brack"}},"key":"2E22"},{"category":"Pe","mappings":{"default":{"default":"top right half bracket"},"mathspeak":{"default":"top half right-bracket","brief":"top half right-brack","sbrief":"top half R brack"}},"key":"2E23"},{"category":"Ps","mappings":{"default":{"default":"bottom left half bracket"},"mathspeak":{"default":"bottom half left-bracket","brief":"bottom half left-brack","sbrief":"bottom half L brack"}},"key":"2E24"},{"category":"Pe","mappings":{"default":{"default":"bottom right half bracket"},"mathspeak":{"default":"bottom half right-bracket","brief":"bottom half right-brack","sbrief":"bottom half R brack"}},"key":"2E25"},{"category":"Ps","mappings":{"default":{"default":"left sideways U bracket"}},"key":"2E26"},{"category":"Pe","mappings":{"default":{"default":"right sideways U bracket"}},"key":"2E27"},{"category":"Ps","mappings":{"default":{"default":"left double parenthesis"},"mathspeak":{"default":"double left-parenthesis","brief":"double left-p'ren","sbrief":"double L p'ren"}},"key":"2E28"},{"category":"Pe","mappings":{"default":{"default":"right double parenthesis"},"mathspeak":{"default":"double right-parenthesis","brief":"double right-p'ren","sbrief":"double R p'ren"}},"key":"2E29"},{"category":"Ps","mappings":{"default":{"default":"left angle bracket","alternative":"opening angle bracket"},"mathspeak":{"default":"left-angle","sbrief":"l angle"}},"key":"3008"},{"category":"Pe","mappings":{"default":{"default":"right angle bracket","alternative":"closing angle bracket"},"mathspeak":{"default":"right-angle","sbrief":"r angle"}},"key":"3009"},{"category":"Ps","mappings":{"default":{"default":"left double angle bracket","alternative":"opening double angle bracket"},"mathspeak":{"default":"left double angle"}},"key":"300A"},{"category":"Pe","mappings":{"default":{"default":"right double angle bracket","alternative":"closing double angle bracket"},"mathspeak":{"default":"right double angle"}},"key":"300B"},{"category":"Ps","mappings":{"default":{"default":"left corner bracket","alternative":"opening corner bracket"}},"key":"300C"},{"category":"Pe","mappings":{"default":{"default":"right corner bracket","alternative":"closing corner bracket"}},"key":"300D"},{"category":"Ps","mappings":{"default":{"default":"left white corner bracket","alternative":"opening white corner bracket"}},"key":"300E"},{"category":"Pe","mappings":{"default":{"default":"right white corner bracket","alternative":"closing white corner bracket"}},"key":"300F"},{"category":"Ps","mappings":{"default":{"default":"left black lenticular bracket","alternative":"opening black lenticular bracket"}},"key":"3010"},{"category":"Pe","mappings":{"default":{"default":"right black lenticular bracket","alternative":"closing black lenticular bracket"}},"key":"3011"},{"category":"Ps","mappings":{"default":{"default":"left tortoise shell bracket","alternative":"opening tortoise shell bracket"}},"key":"3014"},{"category":"Pe","mappings":{"default":{"default":"right tortoise shell bracket","alternative":"closing tortoise shell bracket"}},"key":"3015"},{"category":"Ps","mappings":{"default":{"default":"left white lenticular bracket","alternative":"opening white lenticular bracket"}},"key":"3016"},{"category":"Pe","mappings":{"default":{"default":"right white lenticular bracket","alternative":"closing white lenticular bracket"}},"key":"3017"},{"category":"Ps","mappings":{"default":{"default":"left white tortoise shell bracket","alternative":"opening white tortoise shell bracket"}},"key":"3018"},{"category":"Pe","mappings":{"default":{"default":"right white tortoise shell bracket","alternative":"closing white tortoise shell bracket"}},"key":"3019"},{"category":"Ps","mappings":{"default":{"default":"left white square bracket","alternative":"opening white square bracket"},"mathspeak":{"default":"left white bracket"}},"key":"301A"},{"category":"Pe","mappings":{"default":{"default":"right white square bracket","alternative":"closing white square bracket"},"mathspeak":{"default":"right white bracket"}},"key":"301B"},{"category":"Ps","mappings":{"default":{"default":"reversed double prime quotation mark"}},"key":"301D"},{"category":"Pe","mappings":{"default":{"default":"double prime quotation mark"}},"key":"301E"},{"category":"Pe","mappings":{"default":{"default":"low double prime quotation mark"}},"key":"301F"},{"category":"Ps","mappings":{"default":{"default":"ornate left parenthesis"},"mathspeak":{"default":"ornate left-parenthesis","brief":"ornate left-p'ren","sbrief":"ornate L p'ren"}},"key":"FD3E"},{"category":"Pe","mappings":{"default":{"default":"ornate right parenthesis"},"mathspeak":{"default":"ornate right-parenthesis","brief":"ornate right-p'ren","sbrief":"ornate R p'ren"}},"key":"FD3F"},{"category":"Ps","mappings":{"default":{"default":"presentation form for vertical left white lenticular bracket"}},"key":"FE17"},{"category":"Pe","mappings":{"default":{"default":"presentation form for vertical right white lenticular brakcet"}},"key":"FE18"},{"category":"Ps","mappings":{"default":{"default":"presentation form for vertical left parenthesis","alternative":"glyph for vertical opening parenthesis"},"mathspeak":{"default":"presentation form for vertical left-parenthesis","brief":"presentation form for vertical left-p'ren","sbrief":"presentation form for vertical L p'ren"}},"key":"FE35"},{"category":"Pe","mappings":{"default":{"default":"presentation form for vertical right parenthesis","alternative":"glyph for vertical closing parenthesis"},"mathspeak":{"default":"presentation form for vertical right-parenthesis","brief":"presentation form for vertical right-p'ren","sbrief":"presentation form for vertical R p'ren"}},"key":"FE36"},{"category":"Ps","mappings":{"default":{"default":"presentation form for vertical left curly bracket","alternative":"glyph for vertical opening curly bracket"},"mathspeak":{"default":"presentation form for vertical left-brace","sbrief":"presentation form for vertical L brace"}},"key":"FE37"},{"category":"Pe","mappings":{"default":{"default":"presentation form for vertical right curly bracket","alternative":"glyph for vertical closing curly bracket"},"mathspeak":{"default":"presentation form for vertical right-brace","sbrief":"presentation form for vertical r brace"}},"key":"FE38"},{"category":"Ps","mappings":{"default":{"default":"presentation form for vertical left tortoise shell bracket","alternative":"glyph for vertical opening tortoise shell bracket"}},"key":"FE39"},{"category":"Pe","mappings":{"default":{"default":"presentation form for vertical right tortoise shell bracket","alternative":"glyph for vertical closing tortoise shell bracket"}},"key":"FE3A"},{"category":"Ps","mappings":{"default":{"default":"presentation form for vertical left black lenticular bracket","alternative":"glyph for vertical opening black lenticular bracket"}},"key":"FE3B"},{"category":"Pe","mappings":{"default":{"default":"presentation form for vertical right black lenticular bracket","alternative":"glyph for vertical closing black lenticular bracket"}},"key":"FE3C"},{"category":"Ps","mappings":{"default":{"default":"presentation form for vertical left double angle bracket","alternative":"glyph for vertical opening double angle bracket"},"mathspeak":{"default":"presentation form for vertical left double angle"}},"key":"FE3D"},{"category":"Pe","mappings":{"default":{"default":"presentation form for vertical right double angle bracket","alternative":"glyph for vertical closing double angle bracket"},"mathspeak":{"default":"presentation form for vertical right double angle"}},"key":"FE3E"},{"category":"Ps","mappings":{"default":{"default":"presentation form for vertical left angle bracket","alternative":"glyph for vertical opening angle bracket"},"mathspeak":{"default":"presentation form for vertical left-angle","sbrief":"presentation form for vertical l angle"}},"key":"FE3F"},{"category":"Pe","mappings":{"default":{"default":"presentation form for vertical right angle bracket","alternative":"glyph for vertical closing angle bracket"},"mathspeak":{"default":"presentation form for vertical right-angle","sbrief":"presentation form for vertical r angle"}},"key":"FE40"},{"category":"Ps","mappings":{"default":{"default":"presentation form for vertical left corner bracket","alternative":"glyph for vertical opening corner bracket"}},"key":"FE41"},{"category":"Pe","mappings":{"default":{"default":"presentation form for vertical right corner bracket","alternative":"glyph for vertical closing corner bracket"}},"key":"FE42"},{"category":"Ps","mappings":{"default":{"default":"presentation form for vertical left white corner bracket","alternative":"glyph for vertical opening white corner bracket"}},"key":"FE43"},{"category":"Pe","mappings":{"default":{"default":"presentation form for vertical right white corner bracket","alternative":"glyph for vertical closing white corner bracket"}},"key":"FE44"},{"category":"Ps","mappings":{"default":{"default":"presentation form for vertical left square bracket"},"mathspeak":{"default":"presentation form for vertical left-bracket","brief":"presentation form for vertical left-brack","sbrief":"presentation form for vertical L brack"}},"key":"FE47"},{"category":"Pe","mappings":{"default":{"default":"presentation form for vertical right square bracket"},"mathspeak":{"default":"presentation form for vertical right-bracket","brief":"presentation form for vertical right-brack","sbrief":"presentation form for vertical r brack"}},"key":"FE48"},{"category":"Ps","mappings":{"default":{"default":"small left parenthesis","alternative":"small opening parenthesis"},"mathspeak":{"default":"small left-parenthesis","brief":"small left-p'ren","sbrief":"small L p'ren"}},"key":"FE59"},{"category":"Pe","mappings":{"default":{"default":"small right parenthesis","alternative":"small closing parenthesis"},"mathspeak":{"default":"small right-parenthesis","brief":"small right-p'ren","sbrief":"small R p'ren"}},"key":"FE5A"},{"category":"Ps","mappings":{"default":{"default":"small left curly bracket","alternative":"small opening curly bracket"},"mathspeak":{"default":"small left-brace","sbrief":"small L brace"}},"key":"FE5B"},{"category":"Pe","mappings":{"default":{"default":"small right curly bracket","alternative":"small closing curly bracket"},"mathspeak":{"default":"small right-brace","sbrief":"small r brace"}},"key":"FE5C"},{"category":"Ps","mappings":{"default":{"default":"small left tortoise shell bracket","alternative":"small opening tortoise shell bracket"}},"key":"FE5D"},{"category":"Pe","mappings":{"default":{"default":"small right tortoise shell bracket","alternative":"small closing tortoise shell bracket"}},"key":"FE5E"},{"category":"Ps","mappings":{"default":{"default":"fullwidth left parenthesis","alternative":"fullwidth opening parenthesis"},"mathspeak":{"default":"fullwidth left-parenthesis","brief":"fullwidth left-p'ren","sbrief":"fullwidth L p'ren"}},"key":"FF08"},{"category":"Pe","mappings":{"default":{"default":"fullwidth right parenthesis","alternative":"fullwidth closing parenthesis"},"mathspeak":{"default":"fullwidth right-parenthesis","brief":"fullwidth right-p'ren","sbrief":"fullwidth R p'ren"}},"key":"FF09"},{"category":"Ps","mappings":{"default":{"default":"fullwidth left square bracket","alternative":"fullwidth opening square bracket"},"mathspeak":{"default":"fullwidth left-bracket","brief":"fullwidth left-brack","sbrief":"fullwidth L brack"}},"key":"FF3B"},{"category":"Pe","mappings":{"default":{"default":"fullwidth right square bracket","alternative":"fullwidth closing square bracket"},"mathspeak":{"default":"fullwidth right-bracket","brief":"fullwidth right-brack","sbrief":"fullwidth r brack"}},"key":"FF3D"},{"category":"Ps","mappings":{"default":{"default":"fullwidth left curly bracket","alternative":"fullwidth opening curly bracket"},"mathspeak":{"default":"fullwidth left-brace","sbrief":"fullwidth L brace"}},"key":"FF5B"},{"category":"Pe","mappings":{"default":{"default":"fullwidth right curly bracket","alternative":"fullwidth closing curly bracket"},"mathspeak":{"default":"fullwidth right-brace","sbrief":"fullwidth r brace"}},"key":"FF5D"},{"category":"Ps","mappings":{"default":{"default":"fullwidth white left parenthesis"},"mathspeak":{"default":"fullwidth white left-parenthesis","brief":"fullwidth white left-p'ren","sbrief":"fullwidth white L p'ren"}},"key":"FF5F"},{"category":"Pe","mappings":{"default":{"default":"fullwidth white right parenthesis"},"mathspeak":{"default":"fullwidth white right-parenthesis","brief":"fullwidth white right-p'ren","sbrief":"fullwidth white R p'ren"}},"key":"FF60"},{"category":"Ps","mappings":{"default":{"default":"halfwidth left corner bracket","alternative":"halfwidth opening corner bracket"}},"key":"FF62"},{"category":"Pe","mappings":{"default":{"default":"halfwidth right corner bracket","alternative":"halfwidth closing corner bracket"}},"key":"FF63"}] diff --git a/assets/js/mathmaps/en/symbols/math_digits.js b/assets/js/mathmaps/en/symbols/math_digits.js new file mode 100644 index 0000000000000000000000000000000000000000..771d54b66e934389a9762025aac7f47564e69551 --- /dev/null +++ b/assets/js/mathmaps/en/symbols/math_digits.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"Nd","mappings":{"default":{"default":"digit zero","short":"zero"},"mathspeak":{"default":"0"}},"key":"0030"},{"category":"Nd","mappings":{"default":{"default":"digit one","short":"one"},"mathspeak":{"default":"1"}},"key":"0031"},{"category":"Nd","mappings":{"default":{"default":"digit two","short":"two"},"mathspeak":{"default":"2"}},"key":"0032"},{"category":"Nd","mappings":{"default":{"default":"digit three","short":"three"},"mathspeak":{"default":"3"}},"key":"0033"},{"category":"Nd","mappings":{"default":{"default":"digit four","short":"four"},"mathspeak":{"default":"4"}},"key":"0034"},{"category":"Nd","mappings":{"default":{"default":"digit five","short":"five"},"mathspeak":{"default":"5"}},"key":"0035"},{"category":"Nd","mappings":{"default":{"default":"digit six","short":"six"},"mathspeak":{"default":"6"}},"key":"0036"},{"category":"Nd","mappings":{"default":{"default":"digit seven","short":"seven"},"mathspeak":{"default":"7"}},"key":"0037"},{"category":"Nd","mappings":{"default":{"default":"digit eight","short":"eight"},"mathspeak":{"default":"8"}},"key":"0038"},{"category":"Nd","mappings":{"default":{"default":"digit nine","short":"nine"},"mathspeak":{"default":"9"}},"key":"0039"},{"category":"No","mappings":{"default":{"default":"superscript digit two","alternative":"superscript two","short":"square"},"mathspeak":{"default":"9"}},"key":"00B2"},{"category":"No","mappings":{"default":{"default":"superscript digit three","alternative":"superscript three","short":"cube"}},"key":"00B3"},{"category":"No","mappings":{"default":{"default":"superscript digit one","alternative":"superscript one","short":"super one"}},"key":"00B9"},{"category":"No","mappings":{"default":{"default":"vulgar fraction one quarter","alternative":"fraction one quarter","short":"one quarter"}},"key":"00BC"},{"category":"No","mappings":{"default":{"default":"vulgar fraction one half","alternative":"fraction one half","short":"one half"}},"key":"00BD"},{"category":"No","mappings":{"default":{"default":"vulgar fraction three quarters","alternative":"fraction three quarters","short":"three quarters"}},"key":"00BE"},{"category":"No","mappings":{"default":{"default":"superscript zero","short":"super zero"}},"key":"2070"},{"category":"No","mappings":{"default":{"default":"superscript digit four","alternative":"superscript four","short":"super four"}},"key":"2074"},{"category":"No","mappings":{"default":{"default":"superscript digit five","alternative":"superscript five","short":"super five"}},"key":"2075"},{"category":"No","mappings":{"default":{"default":"superscript digit six","alternative":"superscript six","short":"super six"}},"key":"2076"},{"category":"No","mappings":{"default":{"default":"superscript digit seven","alternative":"superscript seven","short":"super seven"}},"key":"2077"},{"category":"No","mappings":{"default":{"default":"superscript digit eight","alternative":"superscript eight","short":"super eight"}},"key":"2078"},{"category":"No","mappings":{"default":{"default":"superscript digit nine","alternative":"superscript nine","short":"super nine"}},"key":"2079"},{"category":"No","mappings":{"default":{"default":"subscript digit zero","alternative":"subscript zero","short":"sub zero"}},"key":"2080"},{"category":"No","mappings":{"default":{"default":"subscript digit one","alternative":"subscript one","short":"sub one"}},"key":"2081"},{"category":"No","mappings":{"default":{"default":"subscript digit two","alternative":"subscript two","short":"sub two"}},"key":"2082"},{"category":"No","mappings":{"default":{"default":"subscript digit three","alternative":"subscript three","short":"sub three"}},"key":"2083"},{"category":"No","mappings":{"default":{"default":"subscript digit four","alternative":"subscript four","short":"sub four"}},"key":"2084"},{"category":"No","mappings":{"default":{"default":"subscript digit five","alternative":"subscript five","short":"sub five"}},"key":"2085"},{"category":"No","mappings":{"default":{"default":"subscript digit six","alternative":"subscript six","short":"sub six"}},"key":"2086"},{"category":"No","mappings":{"default":{"default":"subscript digit seven","alternative":"subscript seven","short":"sub seven"}},"key":"2087"},{"category":"No","mappings":{"default":{"default":"subscript digit eight","alternative":"subscript eight","short":"sub eight"}},"key":"2088"},{"category":"No","mappings":{"default":{"default":"subscript digit nine","alternative":"subscript nine","short":"sub nine"}},"key":"2089"},{"category":"No","mappings":{"default":{"default":"vulgar fraction one seventh","short":"one seventh"}},"key":"2150"},{"category":"No","mappings":{"default":{"default":"vulgar fraction one ninth","short":"one ninth"}},"key":"2151"},{"category":"No","mappings":{"default":{"default":"vulgar fraction one tenth","short":"one tenth"}},"key":"2152"},{"category":"No","mappings":{"default":{"default":"vulgar fraction one third","alternative":"fraction one third","short":"one third"}},"key":"2153"},{"category":"No","mappings":{"default":{"default":"vulgar fraction two thirds","alternative":"fraction two thirds","short":"two thirds"}},"key":"2154"},{"category":"No","mappings":{"default":{"default":"vulgar fraction one fifth","alternative":"fraction one fifth","short":"one fifth"}},"key":"2155"},{"category":"No","mappings":{"default":{"default":"vulgar fraction two fifths","alternative":"fraction two fifths","short":"two fifths"}},"key":"2156"},{"category":"No","mappings":{"default":{"default":"vulgar fraction three fifths","alternative":"fraction three fifths","short":"three fifths"}},"key":"2157"},{"category":"No","mappings":{"default":{"default":"vulgar fraction four fifths","alternative":"fraction four fifths","short":"four fifths"}},"key":"2158"},{"category":"No","mappings":{"default":{"default":"vulgar fraction one sixth","alternative":"fraction one sixth","short":"one sixth"}},"key":"2159"},{"category":"No","mappings":{"default":{"default":"vulgar fraction five sixths","alternative":"fraction five sixths","short":"five sixths"}},"key":"215A"},{"category":"No","mappings":{"default":{"default":"vulgar fraction one eighth","alternative":"fraction one eighth","short":"one eighth"}},"key":"215B"},{"category":"No","mappings":{"default":{"default":"vulgar fraction three eighths","alternative":"fraction three eighths","short":"three eighths"}},"key":"215C"},{"category":"No","mappings":{"default":{"default":"vulgar fraction five eighths","alternative":"fraction five eighths","short":"five eighths"}},"key":"215D"},{"category":"No","mappings":{"default":{"default":"vulgar fraction seven eighths","alternative":"fraction seven eighths","short":"seven eighths"}},"key":"215E"},{"category":"No","mappings":{"default":{"default":"fraction numerator one","short":"numerator one"}},"key":"215F"},{"category":"No","mappings":{"default":{"default":"vulgar fraction zero thirds","short":"zero thirds"}},"key":"2189"},{"category":"No","mappings":{"default":{"default":"circled digit one","short":"circled one"},"mathspeak":{"default":"circled 1"}},"key":"2460"},{"category":"No","mappings":{"default":{"default":"circled digit two","short":"circled two"},"mathspeak":{"default":"circled 2"}},"key":"2461"},{"category":"No","mappings":{"default":{"default":"circled digit three","short":"circled three"},"mathspeak":{"default":"circled 3"}},"key":"2462"},{"category":"No","mappings":{"default":{"default":"circled digit four","short":"circled four"},"mathspeak":{"default":"circled 4"}},"key":"2463"},{"category":"No","mappings":{"default":{"default":"circled digit five","short":"circled five"},"mathspeak":{"default":"circled 5"}},"key":"2464"},{"category":"No","mappings":{"default":{"default":"circled digit six","short":"circled six"},"mathspeak":{"default":"circled 6"}},"key":"2465"},{"category":"No","mappings":{"default":{"default":"circled digit seven","short":"circled seven"},"mathspeak":{"default":"circled 7"}},"key":"2466"},{"category":"No","mappings":{"default":{"default":"circled digit eight","short":"circled eight"},"mathspeak":{"default":"circled 8"}},"key":"2467"},{"category":"No","mappings":{"default":{"default":"circled digit nine","short":"circled nine"},"mathspeak":{"default":"circled 9"}},"key":"2468"},{"category":"No","mappings":{"default":{"default":"circled number ten","short":"circled ten"},"mathspeak":{"default":"circled 10"}},"key":"2469"},{"category":"No","mappings":{"default":{"default":"circled number eleven","short":"circled eleven"},"mathspeak":{"default":"circled 11"}},"key":"246A"},{"category":"No","mappings":{"default":{"default":"circled number twelve","short":"circled twelve"},"mathspeak":{"default":"circled 12"}},"key":"246B"},{"category":"No","mappings":{"default":{"default":"circled number thirteen","short":"circled thirteen"},"mathspeak":{"default":"circled 13"}},"key":"246C"},{"category":"No","mappings":{"default":{"default":"circled number fourteen","short":"circled fourteen"},"mathspeak":{"default":"circled 14"}},"key":"246D"},{"category":"No","mappings":{"default":{"default":"circled number fifteen","short":"circled fifteen"},"mathspeak":{"default":"circled 15"}},"key":"246E"},{"category":"No","mappings":{"default":{"default":"circled number sixteen","short":"circled sixteen"},"mathspeak":{"default":"circled 16"}},"key":"246F"},{"category":"No","mappings":{"default":{"default":"circled number seventeen","short":"circled seventeen"},"mathspeak":{"default":"circled 17"}},"key":"2470"},{"category":"No","mappings":{"default":{"default":"circled number eighteen","short":"circled eighteen"},"mathspeak":{"default":"circled 18"}},"key":"2471"},{"category":"No","mappings":{"default":{"default":"circled number nineteen","short":"circled nineteen"},"mathspeak":{"default":"circled 19"}},"key":"2472"},{"category":"No","mappings":{"default":{"default":"circled number twenty","short":"circled twenty"},"mathspeak":{"default":"circled 20"}},"key":"2473"},{"category":"No","mappings":{"default":{"default":"parenthesized digit one","short":"parenthesized one"},"mathspeak":{"default":"parenthesized 1"}},"key":"2474"},{"category":"No","mappings":{"default":{"default":"parenthesized digit two","short":"parenthesized two"},"mathspeak":{"default":"parenthesized 2"}},"key":"2475"},{"category":"No","mappings":{"default":{"default":"parenthesized digit three","short":"parenthesized three"},"mathspeak":{"default":"parenthesized 3"}},"key":"2476"},{"category":"No","mappings":{"default":{"default":"parenthesized digit four","short":"parenthesized four"},"mathspeak":{"default":"parenthesized 4"}},"key":"2477"},{"category":"No","mappings":{"default":{"default":"parenthesized digit five","short":"parenthesized five"},"mathspeak":{"default":"parenthesized 5"}},"key":"2478"},{"category":"No","mappings":{"default":{"default":"parenthesized digit six","short":"parenthesized six"},"mathspeak":{"default":"parenthesized 6"}},"key":"2479"},{"category":"No","mappings":{"default":{"default":"parenthesized digit seven","short":"parenthesized seven"},"mathspeak":{"default":"parenthesized 7"}},"key":"247A"},{"category":"No","mappings":{"default":{"default":"parenthesized digit eight","short":"parenthesized eight"},"mathspeak":{"default":"parenthesized 8"}},"key":"247B"},{"category":"No","mappings":{"default":{"default":"parenthesized digit nine","short":"parenthesized nine"},"mathspeak":{"default":"parenthesized 9"}},"key":"247C"},{"category":"No","mappings":{"default":{"default":"parenthesized number ten","short":"parenthesized ten"},"mathspeak":{"default":"parenthesized 10"}},"key":"247D"},{"category":"No","mappings":{"default":{"default":"parenthesized number eleven","short":"parenthesized eleven"},"mathspeak":{"default":"parenthesized 11"}},"key":"247E"},{"category":"No","mappings":{"default":{"default":"parenthesized number twelve","short":"parenthesized twelve"},"mathspeak":{"default":"parenthesized 12"}},"key":"247F"},{"category":"No","mappings":{"default":{"default":"parenthesized number thirteen","short":"parenthesized thirteen"},"mathspeak":{"default":"parenthesized 13"}},"key":"2480"},{"category":"No","mappings":{"default":{"default":"parenthesized number fourteen","short":"parenthesized fourteen"},"mathspeak":{"default":"parenthesized 14"}},"key":"2481"},{"category":"No","mappings":{"default":{"default":"parenthesized number fifteen","short":"parenthesized fifteen"},"mathspeak":{"default":"parenthesized 15"}},"key":"2482"},{"category":"No","mappings":{"default":{"default":"parenthesized number sixteen","short":"parenthesized sixteen"},"mathspeak":{"default":"parenthesized 16"}},"key":"2483"},{"category":"No","mappings":{"default":{"default":"parenthesized number seventeen","short":"parenthesized seventeen"},"mathspeak":{"default":"parenthesized 17"}},"key":"2484"},{"category":"No","mappings":{"default":{"default":"parenthesized number eighteen","short":"parenthesized eighteen"},"mathspeak":{"default":"parenthesized 18"}},"key":"2485"},{"category":"No","mappings":{"default":{"default":"parenthesized number nineteen","short":"parenthesized nineteen"},"mathspeak":{"default":"parenthesized 19"}},"key":"2486"},{"category":"No","mappings":{"default":{"default":"parenthesized number twenty","short":"parenthesized twenty"},"mathspeak":{"default":"parenthesized 20"}},"key":"2487"},{"category":"No","mappings":{"default":{"default":"digit one full stop","alternative":"digit one period","short":"one period"},"mathspeak":{"default":"1 period"}},"key":"2488"},{"category":"No","mappings":{"default":{"default":"digit two full stop","alternative":"digit two period","short":"two period"},"mathspeak":{"default":"2 period"}},"key":"2489"},{"category":"No","mappings":{"default":{"default":"digit three full stop","alternative":"digit three period","short":"three period"},"mathspeak":{"default":"3 period"}},"key":"248A"},{"category":"No","mappings":{"default":{"default":"digit four full stop","alternative":"digit four period","short":"four period"},"mathspeak":{"default":"4 period"}},"key":"248B"},{"category":"No","mappings":{"default":{"default":"digit five full stop","alternative":"digit five period","short":"five period"},"mathspeak":{"default":"5 period"}},"key":"248C"},{"category":"No","mappings":{"default":{"default":"digit six full stop","alternative":"digit six period","short":"six period"},"mathspeak":{"default":"6 period"}},"key":"248D"},{"category":"No","mappings":{"default":{"default":"digit seven full stop","alternative":"digit seven period","short":"seven period"},"mathspeak":{"default":"7 period"}},"key":"248E"},{"category":"No","mappings":{"default":{"default":"digit eight full stop","alternative":"digit eight period","short":"eight period"},"mathspeak":{"default":"8 period"}},"key":"248F"},{"category":"No","mappings":{"default":{"default":"digit nine full stop","alternative":"digit nine period","short":"nine period"},"mathspeak":{"default":"9 period"}},"key":"2490"},{"category":"No","mappings":{"default":{"default":"number ten full stop","alternative":"number ten period","short":"ten period"},"mathspeak":{"default":"10 period"}},"key":"2491"},{"category":"No","mappings":{"default":{"default":"number eleven full stop","alternative":"number eleven period","short":"eleven period"},"mathspeak":{"default":"11 period"}},"key":"2492"},{"category":"No","mappings":{"default":{"default":"number twelve full stop","alternative":"number twelve period","short":"twelve period"},"mathspeak":{"default":"12 period"}},"key":"2493"},{"category":"No","mappings":{"default":{"default":"number thirteen full stop","alternative":"number thirteen period","short":"thirteen period"},"mathspeak":{"default":"13 period"}},"key":"2494"},{"category":"No","mappings":{"default":{"default":"number fourteen full stop","alternative":"number fourteen period","short":"fourteen period"},"mathspeak":{"default":"14 period"}},"key":"2495"},{"category":"No","mappings":{"default":{"default":"number fifteen full stop","alternative":"number fifteen period","short":"fifteen period"},"mathspeak":{"default":"15 period"}},"key":"2496"},{"category":"No","mappings":{"default":{"default":"number sixteen full stop","alternative":"number sixteen period","short":"sixteen period"},"mathspeak":{"default":"16 period"}},"key":"2497"},{"category":"No","mappings":{"default":{"default":"number seventeen full stop","alternative":"number seventeen period","short":"seventeen period"},"mathspeak":{"default":"17 period"}},"key":"2498"},{"category":"No","mappings":{"default":{"default":"number eighteen full stop","alternative":"number eighteen period","short":"eighteen period"},"mathspeak":{"default":"18 period"}},"key":"2499"},{"category":"No","mappings":{"default":{"default":"number nineteen full stop","alternative":"number nineteen period","short":"nineteen period"},"mathspeak":{"default":"19 period"}},"key":"249A"},{"category":"No","mappings":{"default":{"default":"number twenty full stop","alternative":"number twenty period","short":"twenty period"},"mathspeak":{"default":"20 period"}},"key":"249B"},{"category":"No","mappings":{"default":{"default":"circled digit zero","short":"circled zero"},"mathspeak":{"default":"circled 0"}},"key":"24EA"},{"category":"No","mappings":{"default":{"default":"negative circled number eleven","short":"negative circled eleven"},"mathspeak":{"default":"negative circled 11"}},"key":"24EB"},{"category":"No","mappings":{"default":{"default":"negative circled number twelve","short":"negative circled twelve"},"mathspeak":{"default":"negative circled 12"}},"key":"24EC"},{"category":"No","mappings":{"default":{"default":"negative circled number thirteen","short":"negative circled thirteen"},"mathspeak":{"default":"negative circled 13"}},"key":"24ED"},{"category":"No","mappings":{"default":{"default":"negative circled number fourteen","short":"negative circled fourteen"},"mathspeak":{"default":"negative circled 14"}},"key":"24EE"},{"category":"No","mappings":{"default":{"default":"negative circled number fifteen","short":"negative circled fifteen"},"mathspeak":{"default":"negative circled 15"}},"key":"24EF"},{"category":"No","mappings":{"default":{"default":"negative circled number sixteen","short":"negative circled sixteen"},"mathspeak":{"default":"negative circled 16"}},"key":"24F0"},{"category":"No","mappings":{"default":{"default":"negative circled number seventeen","short":"negative circled seventeen"},"mathspeak":{"default":"negative circled 17"}},"key":"24F1"},{"category":"No","mappings":{"default":{"default":"negative circled number eighteen","short":"negative circled eighteen"},"mathspeak":{"default":"negative circled 18"}},"key":"24F2"},{"category":"No","mappings":{"default":{"default":"negative circled number nineteen","short":"negative circled nineteen"},"mathspeak":{"default":"negative circled 19"}},"key":"24F3"},{"category":"No","mappings":{"default":{"default":"negative circled number twenty","short":"negative circled twenty"},"mathspeak":{"default":"negative circled 20"}},"key":"24F4"},{"category":"No","mappings":{"default":{"default":"double circled digit one","short":"double circled one"},"mathspeak":{"default":"double circled 1"}},"key":"24F5"},{"category":"No","mappings":{"default":{"default":"double circled digit two","short":"double circled two"},"mathspeak":{"default":"double circled 2"}},"key":"24F6"},{"category":"No","mappings":{"default":{"default":"double circled digit three","short":"double circled three"},"mathspeak":{"default":"double circled 3"}},"key":"24F7"},{"category":"No","mappings":{"default":{"default":"double circled digit four","short":"double circled four"},"mathspeak":{"default":"double circled 4"}},"key":"24F8"},{"category":"No","mappings":{"default":{"default":"double circled digit five","short":"double circled five"},"mathspeak":{"default":"double circled 5"}},"key":"24F9"},{"category":"No","mappings":{"default":{"default":"double circled digit six","short":"double circled six"},"mathspeak":{"default":"double circled 6"}},"key":"24FA"},{"category":"No","mappings":{"default":{"default":"double circled digit seven","short":"double circled seven"},"mathspeak":{"default":"double circled 7"}},"key":"24FB"},{"category":"No","mappings":{"default":{"default":"double circled digit eight","short":"double circled eight"},"mathspeak":{"default":"double circled 8"}},"key":"24FC"},{"category":"No","mappings":{"default":{"default":"double circled digit nine","short":"double circled nine"},"mathspeak":{"default":"double circled 9"}},"key":"24FD"},{"category":"No","mappings":{"default":{"default":"double circled number ten","short":"double circled ten"},"mathspeak":{"default":"double circled 10"}},"key":"24FE"},{"category":"No","mappings":{"default":{"default":"negative circled digit zero","short":"negative circled zero"},"mathspeak":{"default":"negative circled 0"}},"key":"24FF"},{"category":"No","mappings":{"default":{"default":"dingbat negative circled digit one","alternative":"inverse circled digit one","short":"inverse circled one"},"mathspeak":{"default":"inverse circled 1"}},"key":"2776"},{"category":"No","mappings":{"default":{"default":"dingbat negative circled digit two","alternative":"inverse circled digit two","short":"inverse circled two"},"mathspeak":{"default":"inverse circled 2"}},"key":"2777"},{"category":"No","mappings":{"default":{"default":"dingbat negative circled digit three","alternative":"inverse circled digit three","short":"inverse circled three"},"mathspeak":{"default":"inverse circled 3"}},"key":"2778"},{"category":"No","mappings":{"default":{"default":"dingbat negative circled digit four","alternative":"inverse circled digit four","short":"inverse circled four"},"mathspeak":{"default":"inverse circled 4"}},"key":"2779"},{"category":"No","mappings":{"default":{"default":"dingbat negative circled digit five","alternative":"inverse circled digit five","short":"inverse circled five"},"mathspeak":{"default":"inverse circled 5"}},"key":"277A"},{"category":"No","mappings":{"default":{"default":"dingbat negative circled digit six","alternative":"inverse circled digit six","short":"inverse circled six"},"mathspeak":{"default":"inverse circled 6"}},"key":"277B"},{"category":"No","mappings":{"default":{"default":"dingbat negative circled digit seven","alternative":"inverse circled digit seven","short":"inverse circled seven"},"mathspeak":{"default":"inverse circled 7"}},"key":"277C"},{"category":"No","mappings":{"default":{"default":"dingbat negative circled digit eight","alternative":"inverse circled digit eight","short":"inverse circled eight"},"mathspeak":{"default":"inverse circled 8"}},"key":"277D"},{"category":"No","mappings":{"default":{"default":"dingbat negative circled digit nine","alternative":"inverse circled digit nine","short":"inverse circled nine"},"mathspeak":{"default":"inverse circled 9"}},"key":"277E"},{"category":"No","mappings":{"default":{"default":"dingbat negative circled number ten","alternative":"inverse circled number ten","short":"inverse circled ten"},"mathspeak":{"default":"inverse circled 10"}},"key":"277F"},{"category":"No","mappings":{"default":{"default":"dingbat circled sans serif digit one","alternative":"circled sans serif digit one","short":"circled one"}},"key":"2780"},{"category":"No","mappings":{"default":{"default":"dingbat circled sans serif digit two","alternative":"circled sans serif digit two","short":"circled two"}},"key":"2781"},{"category":"No","mappings":{"default":{"default":"dingbat circled sans serif digit three","alternative":"circled sans serif digit three","short":"circled three"}},"key":"2782"},{"category":"No","mappings":{"default":{"default":"dingbat circled sans serif digit four","alternative":"circled sans serif digit four","short":"circled four"}},"key":"2783"},{"category":"No","mappings":{"default":{"default":"dingbat circled sans serif digit five","alternative":"circled sans serif digit five","short":"circled five"}},"key":"2784"},{"category":"No","mappings":{"default":{"default":"dingbat circled sans serif digit six","alternative":"circled sans serif digit six","short":"circled six"}},"key":"2785"},{"category":"No","mappings":{"default":{"default":"dingbat circled sans serif digit seven","alternative":"circled sans serif digit seven","short":"circled seven"}},"key":"2786"},{"category":"No","mappings":{"default":{"default":"dingbat circled sans serif digit eight","alternative":"circled sans serif digit eight","short":"circled eight"}},"key":"2787"},{"category":"No","mappings":{"default":{"default":"dingbat circled sans serif digit nine","alternative":"circled sans serif digit nine","short":"circled nine"}},"key":"2788"},{"category":"No","mappings":{"default":{"default":"dingbat circled sans serif number ten","alternative":"circled sans serif number ten","short":"circled ten"}},"key":"2789"},{"category":"No","mappings":{"default":{"default":"dingbat negative circled sans serif digit one","alternative":"inverse circled sans serif digit one","short":"inverse circled one"},"mathspeak":{"default":"inverse circled 1"}},"key":"278A"},{"category":"No","mappings":{"default":{"default":"dingbat negative circled sans serif digit two","alternative":"inverse circled sans serif digit two","short":"inverse circled two"},"mathspeak":{"default":"inverse circled 2"}},"key":"278B"},{"category":"No","mappings":{"default":{"default":"dingbat negative circled sans serif digit three","alternative":"inverse circled sans serif digit three","short":"inverse circled three"},"mathspeak":{"default":"inverse circled 3"}},"key":"278C"},{"category":"No","mappings":{"default":{"default":"dingbat negative circled sans serif digit four","alternative":"inverse circled sans serif digit four","short":"inverse circled four"},"mathspeak":{"default":"inverse circled 4"}},"key":"278D"},{"category":"No","mappings":{"default":{"default":"dingbat negative circled sans serif digit five","alternative":"inverse circled sans serif digit five","short":"inverse circled five"},"mathspeak":{"default":"inverse circled 5"}},"key":"278E"},{"category":"No","mappings":{"default":{"default":"dingbat negative circled sans serif digit six","alternative":"inverse circled sans serif digit six","short":"inverse circled six"},"mathspeak":{"default":"inverse circled 6"}},"key":"278F"},{"category":"No","mappings":{"default":{"default":"dingbat negative circled sans serif digit seven","alternative":"inverse circled sans serif digit seven","short":"inverse circled seven"},"mathspeak":{"default":"inverse circled 7"}},"key":"2790"},{"category":"No","mappings":{"default":{"default":"dingbat negative circled sans serif digit eight","alternative":"inverse circled sans serif digit eight","short":"inverse circled eight"},"mathspeak":{"default":"inverse circled 8"}},"key":"2791"},{"category":"No","mappings":{"default":{"default":"dingbat negative circled sans serif digit nine","alternative":"inverse circled sans serif digit nine","short":"inverse circled nine"},"mathspeak":{"default":"inverse circled 9"}},"key":"2792"},{"category":"No","mappings":{"default":{"default":"dingbat negative circled sans serif number ten","alternative":"inverse circled sans serif number ten","short":"inverse circled ten"},"mathspeak":{"default":"inverse circled 10"}},"key":"2793"},{"category":"No","mappings":{"default":{"default":"circled number ten on black square","short":"circled ten on black square"}},"key":"3248"},{"category":"No","mappings":{"default":{"default":"circled number twenty on black square","short":"circled twenty on black square"}},"key":"3249"},{"category":"No","mappings":{"default":{"default":"circled number thirty on black square","short":"circled thirty on black square"}},"key":"324A"},{"category":"No","mappings":{"default":{"default":"circled number forty on black square","short":"circled forty on black square"}},"key":"324B"},{"category":"No","mappings":{"default":{"default":"circled number fifty on black square","short":"circled fifty on black square"}},"key":"324C"},{"category":"No","mappings":{"default":{"default":"circled number sixty on black square","short":"circled sixty on black square"}},"key":"324D"},{"category":"No","mappings":{"default":{"default":"circled number seventy on black square","short":"circled seventy on black square"}},"key":"324E"},{"category":"No","mappings":{"default":{"default":"circled number eighty on black square","short":"circled eighty on black square"}},"key":"324F"},{"category":"No","mappings":{"default":{"default":"circled number twenty one","short":"circled twenty one"}},"key":"3251"},{"category":"No","mappings":{"default":{"default":"circled number twenty two","short":"circled twenty two"}},"key":"3252"},{"category":"No","mappings":{"default":{"default":"circled number twenty three","short":"circled twenty three"}},"key":"3253"},{"category":"No","mappings":{"default":{"default":"circled number twenty four","short":"circled twenty four"}},"key":"3254"},{"category":"No","mappings":{"default":{"default":"circled number twenty five","short":"circled twenty five"}},"key":"3255"},{"category":"No","mappings":{"default":{"default":"circled number twenty six","short":"circled twenty six"}},"key":"3256"},{"category":"No","mappings":{"default":{"default":"circled number twenty seven","short":"circled twenty seven"}},"key":"3257"},{"category":"No","mappings":{"default":{"default":"circled number twenty eight","short":"circled twenty eight"}},"key":"3258"},{"category":"No","mappings":{"default":{"default":"circled number twenty nine","short":"circled twenty nine"}},"key":"3259"},{"category":"No","mappings":{"default":{"default":"circled number thirty","short":"circled thirty"}},"key":"325A"},{"category":"No","mappings":{"default":{"default":"circled number thirty one","short":"circled thirty one"}},"key":"325B"},{"category":"No","mappings":{"default":{"default":"circled number thirty two","short":"circled thirty two"}},"key":"325C"},{"category":"No","mappings":{"default":{"default":"circled number thirty three","short":"circled thirty three"}},"key":"325D"},{"category":"No","mappings":{"default":{"default":"circled number thirty four","short":"circled thirty four"}},"key":"325E"},{"category":"No","mappings":{"default":{"default":"circled number thirty five","short":"circled thirty five"}},"key":"325F"},{"category":"No","mappings":{"default":{"default":"circled number thirty six","short":"circled thirty six"}},"key":"32B1"},{"category":"No","mappings":{"default":{"default":"circled number thirty seven","short":"circled thirty seven"}},"key":"32B2"},{"category":"No","mappings":{"default":{"default":"circled number thirty eight","short":"circled thirty eight"}},"key":"32B3"},{"category":"No","mappings":{"default":{"default":"circled number thirty nine","short":"circled thirty nine"}},"key":"32B4"},{"category":"No","mappings":{"default":{"default":"circled number forty","short":"circled forty"}},"key":"32B5"},{"category":"No","mappings":{"default":{"default":"circled number forty one","short":"circled forty one"}},"key":"32B6"},{"category":"No","mappings":{"default":{"default":"circled number forty two","short":"circled forty two"}},"key":"32B7"},{"category":"No","mappings":{"default":{"default":"circled number forty three","short":"circled forty three"}},"key":"32B8"},{"category":"No","mappings":{"default":{"default":"circled number forty four","short":"circled forty four"}},"key":"32B9"},{"category":"No","mappings":{"default":{"default":"circled number forty five","short":"circled forty five"}},"key":"32BA"},{"category":"No","mappings":{"default":{"default":"circled number forty six","short":"circled forty six"}},"key":"32BB"},{"category":"No","mappings":{"default":{"default":"circled number forty seven","short":"circled forty seven"}},"key":"32BC"},{"category":"No","mappings":{"default":{"default":"circled number forty eight","short":"circled forty eight"}},"key":"32BD"},{"category":"No","mappings":{"default":{"default":"circled number forty nine","short":"circled forty nine"}},"key":"32BE"},{"category":"No","mappings":{"default":{"default":"circled number fifty","short":"circled fifty"}},"key":"32BF"},{"category":"Nd","mappings":{"default":{"default":"fullwidth digit zero","short":"zero"},"mathspeak":{"default":"0"}},"key":"FF10"},{"category":"Nd","mappings":{"default":{"default":"fullwidth digit one","short":"one"},"mathspeak":{"default":"1"}},"key":"FF11"},{"category":"Nd","mappings":{"default":{"default":"fullwidth digit two","short":"two"},"mathspeak":{"default":"2"}},"key":"FF12"},{"category":"Nd","mappings":{"default":{"default":"fullwidth digit three","short":"three"},"mathspeak":{"default":"3"}},"key":"FF13"},{"category":"Nd","mappings":{"default":{"default":"fullwidth digit four","short":"four"},"mathspeak":{"default":"4"}},"key":"FF14"},{"category":"Nd","mappings":{"default":{"default":"fullwidth digit five","short":"five"},"mathspeak":{"default":"5"}},"key":"FF15"},{"category":"Nd","mappings":{"default":{"default":"fullwidth digit six","short":"six"},"mathspeak":{"default":"6"}},"key":"FF16"},{"category":"Nd","mappings":{"default":{"default":"fullwidth digit seven","short":"seven"},"mathspeak":{"default":"7"}},"key":"FF17"},{"category":"Nd","mappings":{"default":{"default":"fullwidth digit eight","short":"eight"},"mathspeak":{"default":"8"}},"key":"FF18"},{"category":"Nd","mappings":{"default":{"default":"fullwidth digit nine","short":"nine"},"mathspeak":{"default":"9"}},"key":"FF19"},{"category":"Nd","mappings":{"default":{"default":"mathematical bold digit zero","alternative":"bold digit zero","short":"bold zero"},"mathspeak":{"default":"bold 0"}},"key":"1D7CE"},{"category":"Nd","mappings":{"default":{"default":"mathematical bold digit one","alternative":"bold digit one","short":"bold one"},"mathspeak":{"default":"bold 1"}},"key":"1D7CF"},{"category":"Nd","mappings":{"default":{"default":"mathematical bold digit two","alternative":"bold digit two","short":"bold two"},"mathspeak":{"default":"bold 2"}},"key":"1D7D0"},{"category":"Nd","mappings":{"default":{"default":"mathematical bold digit three","alternative":"bold digit three","short":"bold three"},"mathspeak":{"default":"bold 3"}},"key":"1D7D1"},{"category":"Nd","mappings":{"default":{"default":"mathematical bold digit four","alternative":"bold digit four","short":"bold four"},"mathspeak":{"default":"bold 4"}},"key":"1D7D2"},{"category":"Nd","mappings":{"default":{"default":"mathematical bold digit five","alternative":"bold digit five","short":"bold five"},"mathspeak":{"default":"bold 5"}},"key":"1D7D3"},{"category":"Nd","mappings":{"default":{"default":"mathematical bold digit six","alternative":"bold digit six","short":"bold six"},"mathspeak":{"default":"bold 6"}},"key":"1D7D4"},{"category":"Nd","mappings":{"default":{"default":"mathematical bold digit seven","alternative":"bold digit seven","short":"bold seven"},"mathspeak":{"default":"bold 7"}},"key":"1D7D5"},{"category":"Nd","mappings":{"default":{"default":"mathematical bold digit eight","alternative":"bold digit eight","short":"bold eight"},"mathspeak":{"default":"bold 8"}},"key":"1D7D6"},{"category":"Nd","mappings":{"default":{"default":"mathematical bold digit nine","alternative":"bold digit nine","short":"bold nine"},"mathspeak":{"default":"bold 9"}},"key":"1D7D7"},{"category":"Nd","mappings":{"default":{"default":"mathematical double struck digit zero","alternative":"double struck zero","short":"blackboard zero"},"mathspeak":{"default":"blackboard 0"}},"key":"1D7D8"},{"category":"Nd","mappings":{"default":{"default":"mathematical double struck digit one","alternative":"double struck one","short":"blackboard one"},"mathspeak":{"default":"blackboard 1"}},"key":"1D7D9"},{"category":"Nd","mappings":{"default":{"default":"mathematical double struck digit two","alternative":"double struck two","short":"blackboard two"},"mathspeak":{"default":"blackboard 2"}},"key":"1D7DA"},{"category":"Nd","mappings":{"default":{"default":"mathematical double struck digit three","alternative":"double struck three","short":"blackboard three"},"mathspeak":{"default":"blackboard 3"}},"key":"1D7DB"},{"category":"Nd","mappings":{"default":{"default":"mathematical double struck digit four","alternative":"double struck four","short":"blackboard four"},"mathspeak":{"default":"blackboard 4"}},"key":"1D7DC"},{"category":"Nd","mappings":{"default":{"default":"mathematical double struck digit five","alternative":"double struck five","short":"blackboard five"},"mathspeak":{"default":"blackboard 5"}},"key":"1D7DD"},{"category":"Nd","mappings":{"default":{"default":"mathematical double struck digit six","alternative":"double struck six","short":"blackboard six"},"mathspeak":{"default":"blackboard 6"}},"key":"1D7DE"},{"category":"Nd","mappings":{"default":{"default":"mathematical double struck digit seven","alternative":"double struck seven","short":"blackboard seven"},"mathspeak":{"default":"blackboard 7"}},"key":"1D7DF"},{"category":"Nd","mappings":{"default":{"default":"mathematical double struck digit eight","alternative":"double struck eight","short":"blackboard eight"},"mathspeak":{"default":"blackboard 8"}},"key":"1D7E0"},{"category":"Nd","mappings":{"default":{"default":"mathematical double struck digit nine","alternative":"double struck nine","short":"blackboard nine"},"mathspeak":{"default":"blackboard 9"}},"key":"1D7E1"},{"category":"Nd","mappings":{"default":{"default":"mathematical sans serif digit zero","alternative":"sans serif digit zero","short":"sans serif zero"},"mathspeak":{"default":"sans serif 0"}},"key":"1D7E2"},{"category":"Nd","mappings":{"default":{"default":"mathematical sans serif digit one","alternative":"sans serif digit one","short":"sans serif one"},"mathspeak":{"default":"sans serif 1"}},"key":"1D7E3"},{"category":"Nd","mappings":{"default":{"default":"mathematical sans serif digit two","alternative":"sans serif digit two","short":"sans serif two"},"mathspeak":{"default":"sans serif 2"}},"key":"1D7E4"},{"category":"Nd","mappings":{"default":{"default":"mathematical sans serif digit three","alternative":"sans serif digit three","short":"sans serif three"},"mathspeak":{"default":"sans serif 3"}},"key":"1D7E5"},{"category":"Nd","mappings":{"default":{"default":"mathematical sans serif digit four","alternative":"sans serif digit four","short":"sans serif four"},"mathspeak":{"default":"sans serif 4"}},"key":"1D7E6"},{"category":"Nd","mappings":{"default":{"default":"mathematical sans serif digit five","alternative":"sans serif digit five","short":"sans serif five"},"mathspeak":{"default":"sans serif 5"}},"key":"1D7E7"},{"category":"Nd","mappings":{"default":{"default":"mathematical sans serif digit six","alternative":"sans serif digit six","short":"sans serif six"},"mathspeak":{"default":"sans serif 6"}},"key":"1D7E8"},{"category":"Nd","mappings":{"default":{"default":"mathematical sans serif digit seven","alternative":"sans serif digit seven","short":"sans serif seven"},"mathspeak":{"default":"sans serif 7"}},"key":"1D7E9"},{"category":"Nd","mappings":{"default":{"default":"mathematical sans serif digit eight","alternative":"sans serif digit eight","short":"sans serif eight"},"mathspeak":{"default":"sans serif 8"}},"key":"1D7EA"},{"category":"Nd","mappings":{"default":{"default":"mathematical sans serif digit nine","alternative":"sans serif digit nine","short":"sans serif nine"},"mathspeak":{"default":"sans serif 9"}},"key":"1D7EB"},{"category":"Nd","mappings":{"default":{"default":"mathematical sans serif bold digit zero","alternative":"sans serif bold digit zero","short":"sans serif bold zero"},"mathspeak":{"default":"sans serif bold 0"}},"key":"1D7EC"},{"category":"Nd","mappings":{"default":{"default":"mathematical sans serif bold digit one","alternative":"sans serif bold digit one","short":"sans serif bold one"},"mathspeak":{"default":"sans serif bold 1"}},"key":"1D7ED"},{"category":"Nd","mappings":{"default":{"default":"mathematical sans serif bold digit two","alternative":"sans serif bold digit two","short":"sans serif bold two"},"mathspeak":{"default":"sans serif bold 2"}},"key":"1D7EE"},{"category":"Nd","mappings":{"default":{"default":"mathematical sans serif bold digit three","alternative":"sans serif bold digit three","short":"sans serif bold three"},"mathspeak":{"default":"sans serif bold 3"}},"key":"1D7EF"},{"category":"Nd","mappings":{"default":{"default":"mathematical sans serif bold digit four","alternative":"sans serif bold digit four","short":"sans serif bold four"},"mathspeak":{"default":"sans serif bold 4"}},"key":"1D7F0"},{"category":"Nd","mappings":{"default":{"default":"mathematical sans serif bold digit five","alternative":"sans serif bold digit five","short":"sans serif bold five"},"mathspeak":{"default":"sans serif bold 5"}},"key":"1D7F1"},{"category":"Nd","mappings":{"default":{"default":"mathematical sans serif bold digit six","alternative":"sans serif bold digit six","short":"sans serif bold six"},"mathspeak":{"default":"sans serif bold 6"}},"key":"1D7F2"},{"category":"Nd","mappings":{"default":{"default":"mathematical sans serif bold digit seven","alternative":"sans serif bold digit seven","short":"sans serif bold seven"},"mathspeak":{"default":"sans serif bold 7"}},"key":"1D7F3"},{"category":"Nd","mappings":{"default":{"default":"mathematical sans serif bold digit eight","alternative":"sans serif bold digit eight","short":"sans serif bold eight"},"mathspeak":{"default":"sans serif bold 8"}},"key":"1D7F4"},{"category":"Nd","mappings":{"default":{"default":"mathematical sans serif bold digit nine","alternative":"sans serif bold digit nine","short":"sans serif bold nine"},"mathspeak":{"default":"sans serif bold 9"}},"key":"1D7F5"},{"category":"Nd","mappings":{"default":{"default":"mathematical monospace digit zero","alternative":"monospace zero","short":"thin zero"},"mathspeak":{"default":"monospace 0"}},"key":"1D7F6"},{"category":"Nd","mappings":{"default":{"default":"mathematical monospace digit one","alternative":"monospace one","short":"thin one"},"mathspeak":{"default":"monospace 1"}},"key":"1D7F7"},{"category":"Nd","mappings":{"default":{"default":"mathematical monospace digit two","alternative":"monospace two","short":"thin two"},"mathspeak":{"default":"monospace 2"}},"key":"1D7F8"},{"category":"Nd","mappings":{"default":{"default":"mathematical monospace digit three","alternative":"monospace three","short":"thin three"},"mathspeak":{"default":"monospace 3"}},"key":"1D7F9"},{"category":"Nd","mappings":{"default":{"default":"mathematical monospace digit four","alternative":"monospace four","short":"thin four"},"mathspeak":{"default":"monospace 4"}},"key":"1D7FA"},{"category":"Nd","mappings":{"default":{"default":"mathematical monospace digit five","alternative":"monospace five","short":"thin five"},"mathspeak":{"default":"monospace 5"}},"key":"1D7FB"},{"category":"Nd","mappings":{"default":{"default":"mathematical monospace digit six","alternative":"monospace six","short":"thin six"},"mathspeak":{"default":"monospace 6"}},"key":"1D7FC"},{"category":"Nd","mappings":{"default":{"default":"mathematical monospace digit seven","alternative":"monospace seven","short":"thin seven"},"mathspeak":{"default":"monospace 7"}},"key":"1D7FD"},{"category":"Nd","mappings":{"default":{"default":"mathematical monospace digit eight","alternative":"monospace eight","short":"thin eight"},"mathspeak":{"default":"monospace 8"}},"key":"1D7FE"},{"category":"Nd","mappings":{"default":{"default":"mathematical monospace digit nine","alternative":"monospace nine","short":"thin nine"},"mathspeak":{"default":"monospace 9"}},"key":"1D7FF"},{"category":"No","mappings":{"default":{"default":"digit zero full stop","short":"zero period"},"mathspeak":{"default":"0 period"}},"key":"1F100"},{"category":"No","mappings":{"default":{"default":"digit zero comma","short":"zero comma"},"mathspeak":{"default":"0 comma"}},"key":"1F101"},{"category":"No","mappings":{"default":{"default":"digit one comma","short":"one comma"},"mathspeak":{"default":"1 comma"}},"key":"1F102"},{"category":"No","mappings":{"default":{"default":"digit two comma","short":"two comma"},"mathspeak":{"default":"2 comma"}},"key":"1F103"},{"category":"No","mappings":{"default":{"default":"digit three comma","short":"three comma"},"mathspeak":{"default":"3 comma"}},"key":"1F104"},{"category":"No","mappings":{"default":{"default":"digit four comma","short":"four comma"},"mathspeak":{"default":"4 comma"}},"key":"1F105"},{"category":"No","mappings":{"default":{"default":"digit five comma","short":"five comma"},"mathspeak":{"default":"5 comma"}},"key":"1F106"},{"category":"No","mappings":{"default":{"default":"digit six comma","short":"six comma"},"mathspeak":{"default":"6 comma"}},"key":"1F107"},{"category":"No","mappings":{"default":{"default":"digit seven comma","short":"seven comma"},"mathspeak":{"default":"7 comma"}},"key":"1F108"},{"category":"No","mappings":{"default":{"default":"digit eight comma","short":"eight comma"},"mathspeak":{"default":"8 comma"}},"key":"1F109"},{"category":"No","mappings":{"default":{"default":"digit nine comma","short":"nine comma"},"mathspeak":{"default":"9 comma"}},"key":"1F10A"}] diff --git a/assets/js/mathmaps/en/symbols/math_geometry.js b/assets/js/mathmaps/en/symbols/math_geometry.js new file mode 100644 index 0000000000000000000000000000000000000000..80f77bf6c068f63aeae54b9737c29b4e687ee648 --- /dev/null +++ b/assets/js/mathmaps/en/symbols/math_geometry.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"So","mappings":{"default":{"default":"box drawings light horizontal","alternative":"forms light horizontal"}},"key":"2500"},{"category":"So","mappings":{"default":{"default":"box drawings heavy horizontal","alternative":"forms heavy horizontal"}},"key":"2501"},{"category":"So","mappings":{"default":{"default":"box drawings light vertical","alternative":"forms light vertical"}},"key":"2502"},{"category":"So","mappings":{"default":{"default":"box drawings heavy vertical","alternative":"forms heavy vertical"}},"key":"2503"},{"category":"So","mappings":{"default":{"default":"box drawings light triple dash horizontal","alternative":"forms light triple dash horizontal"}},"key":"2504"},{"category":"So","mappings":{"default":{"default":"box drawings heavy triple dash horizontal","alternative":"forms heavy triple dash horizontal"}},"key":"2505"},{"category":"So","mappings":{"default":{"default":"box drawings light triple dash vertical","alternative":"forms light triple dash vertical"}},"key":"2506"},{"category":"So","mappings":{"default":{"default":"box drawings heavy triple dash vertical","alternative":"forms heavy triple dash vertical"}},"key":"2507"},{"category":"So","mappings":{"default":{"default":"box drawings light quadruple dash horizontal","alternative":"forms light quadruple dash horizontal"}},"key":"2508"},{"category":"So","mappings":{"default":{"default":"box drawings heavy quadruple dash horizontal","alternative":"forms heavy quadruple dash horizontal"}},"key":"2509"},{"category":"So","mappings":{"default":{"default":"box drawings light quadruple dash vertical","alternative":"forms light quadruple dash vertical"}},"key":"250A"},{"category":"So","mappings":{"default":{"default":"box drawings heavy quadruple dash vertical","alternative":"forms heavy quadruple dash vertical"}},"key":"250B"},{"category":"So","mappings":{"default":{"default":"box drawings light down and right","alternative":"forms light down and right"}},"key":"250C"},{"category":"So","mappings":{"default":{"default":"box drawings down light and right heavy","alternative":"forms down light and right heavy"}},"key":"250D"},{"category":"So","mappings":{"default":{"default":"box drawings down heavy and right light","alternative":"forms down heavy and right light"}},"key":"250E"},{"category":"So","mappings":{"default":{"default":"box drawings heavy down and right","alternative":"forms heavy down and right"}},"key":"250F"},{"category":"So","mappings":{"default":{"default":"box drawings light down and left","alternative":"forms light down and left"}},"key":"2510"},{"category":"So","mappings":{"default":{"default":"box drawings down light and left heavy","alternative":"forms down light and left heavy"}},"key":"2511"},{"category":"So","mappings":{"default":{"default":"box drawings down heavy and left light","alternative":"forms down heavy and left light"}},"key":"2512"},{"category":"So","mappings":{"default":{"default":"box drawings heavy down and left","alternative":"forms heavy down and left"}},"key":"2513"},{"category":"So","mappings":{"default":{"default":"box drawings light up and right","alternative":"forms light up and right"}},"key":"2514"},{"category":"So","mappings":{"default":{"default":"box drawings up light and right heavy","alternative":"forms up light and right heavy"}},"key":"2515"},{"category":"So","mappings":{"default":{"default":"box drawings up heavy and right light","alternative":"forms up heavy and right light"}},"key":"2516"},{"category":"So","mappings":{"default":{"default":"box drawings heavy up and right","alternative":"forms heavy up and right"}},"key":"2517"},{"category":"So","mappings":{"default":{"default":"box drawings light up and left","alternative":"forms light up and left"}},"key":"2518"},{"category":"So","mappings":{"default":{"default":"box drawings up light and left heavy","alternative":"forms up light and left heavy"}},"key":"2519"},{"category":"So","mappings":{"default":{"default":"box drawings up heavy and left light","alternative":"forms up heavy and left light"}},"key":"251A"},{"category":"So","mappings":{"default":{"default":"box drawings heavy up and left","alternative":"forms heavy up and left"}},"key":"251B"},{"category":"So","mappings":{"default":{"default":"box drawings light vertical and right","alternative":"forms light vertical and right"}},"key":"251C"},{"category":"So","mappings":{"default":{"default":"box drawings vertical light and right heavy","alternative":"forms vertical light and right heavy"}},"key":"251D"},{"category":"So","mappings":{"default":{"default":"box drawings up heavy and right down light","alternative":"forms up heavy and right down light"}},"key":"251E"},{"category":"So","mappings":{"default":{"default":"box drawings down heavy and right up light","alternative":"forms down heavy and right up light"}},"key":"251F"},{"category":"So","mappings":{"default":{"default":"box drawings vertical heavy and right light","alternative":"forms vertical heavy and right light"}},"key":"2520"},{"category":"So","mappings":{"default":{"default":"box drawings down light and right up heavy","alternative":"forms down light and right up heavy"}},"key":"2521"},{"category":"So","mappings":{"default":{"default":"box drawings up light and right down heavy","alternative":"forms up light and right down heavy"}},"key":"2522"},{"category":"So","mappings":{"default":{"default":"box drawings heavy vertical and right","alternative":"forms heavy vertical and right"}},"key":"2523"},{"category":"So","mappings":{"default":{"default":"box drawings light vertical and left","alternative":"forms light vertical and left"}},"key":"2524"},{"category":"So","mappings":{"default":{"default":"box drawings vertical light and left heavy","alternative":"forms vertical light and left heavy"}},"key":"2525"},{"category":"So","mappings":{"default":{"default":"box drawings up heavy and left down light","alternative":"forms up heavy and left down light"}},"key":"2526"},{"category":"So","mappings":{"default":{"default":"box drawings down heavy and left up light","alternative":"forms down heavy and left up light"}},"key":"2527"},{"category":"So","mappings":{"default":{"default":"box drawings vertical heavy and left light","alternative":"forms vertical heavy and left light"}},"key":"2528"},{"category":"So","mappings":{"default":{"default":"box drawings down light and left up heavy","alternative":"forms down light and left up heavy"}},"key":"2529"},{"category":"So","mappings":{"default":{"default":"box drawings up light and left down heavy","alternative":"forms up light and left down heavy"}},"key":"252A"},{"category":"So","mappings":{"default":{"default":"box drawings heavy vertical and left","alternative":"forms heavy vertical and left"}},"key":"252B"},{"category":"So","mappings":{"default":{"default":"box drawings light down and horizontal","alternative":"forms light down and horizontal"}},"key":"252C"},{"category":"So","mappings":{"default":{"default":"box drawings left heavy and right down light","alternative":"forms left heavy and right down light"}},"key":"252D"},{"category":"So","mappings":{"default":{"default":"box drawings right heavy and left down light","alternative":"forms right heavy and left down light"}},"key":"252E"},{"category":"So","mappings":{"default":{"default":"box drawings down light and horizontal heavy","alternative":"forms down light and horizontal heavy"}},"key":"252F"},{"category":"So","mappings":{"default":{"default":"box drawings down heavy and horizontal light","alternative":"forms down heavy and horizontal light"}},"key":"2530"},{"category":"So","mappings":{"default":{"default":"box drawings right light and left down heavy","alternative":"forms right light and left down heavy"}},"key":"2531"},{"category":"So","mappings":{"default":{"default":"box drawings left light and right down heavy","alternative":"forms left light and right down heavy"}},"key":"2532"},{"category":"So","mappings":{"default":{"default":"box drawings heavy down and horizontal","alternative":"forms heavy down and horizontal"}},"key":"2533"},{"category":"So","mappings":{"default":{"default":"box drawings light up and horizontal","alternative":"forms light up and horizontal"}},"key":"2534"},{"category":"So","mappings":{"default":{"default":"box drawings left heavy and right up light","alternative":"forms left heavy and right up light"}},"key":"2535"},{"category":"So","mappings":{"default":{"default":"box drawings right heavy and left up light","alternative":"forms right heavy and left up light"}},"key":"2536"},{"category":"So","mappings":{"default":{"default":"box drawings up light and horizontal heavy","alternative":"forms up light and horizontal heavy"}},"key":"2537"},{"category":"So","mappings":{"default":{"default":"box drawings up heavy and horizontal light","alternative":"forms up heavy and horizontal light"}},"key":"2538"},{"category":"So","mappings":{"default":{"default":"box drawings right light and left up heavy","alternative":"forms right light and left up heavy"}},"key":"2539"},{"category":"So","mappings":{"default":{"default":"box drawings left light and right up heavy","alternative":"forms left light and right up heavy"}},"key":"253A"},{"category":"So","mappings":{"default":{"default":"box drawings heavy up and horizontal","alternative":"forms heavy up and horizontal"}},"key":"253B"},{"category":"So","mappings":{"default":{"default":"box drawings light vertical and horizontal","alternative":"forms light vertical and horizontal"}},"key":"253C"},{"category":"So","mappings":{"default":{"default":"box drawings left heavy and right vertical light","alternative":"forms left heavy and right vertical light"}},"key":"253D"},{"category":"So","mappings":{"default":{"default":"box drawings right heavy and left vertical light","alternative":"forms right heavy and left vertical light"}},"key":"253E"},{"category":"So","mappings":{"default":{"default":"box drawings vertical light and horizontal heavy","alternative":"forms vertical light and horizontal heavy"}},"key":"253F"},{"category":"So","mappings":{"default":{"default":"box drawings up heavy and down horizontal light","alternative":"forms up heavy and down horizontal light"}},"key":"2540"},{"category":"So","mappings":{"default":{"default":"box drawings down heavy and up horizontal light","alternative":"forms down heavy and up horizontal light"}},"key":"2541"},{"category":"So","mappings":{"default":{"default":"box drawings vertical heavy and horizontal light","alternative":"forms vertical heavy and horizontal light"}},"key":"2542"},{"category":"So","mappings":{"default":{"default":"box drawings left up heavy and right down light","alternative":"forms left up heavy and right down light"}},"key":"2543"},{"category":"So","mappings":{"default":{"default":"box drawings right up heavy and left down light","alternative":"forms right up heavy and left down light"}},"key":"2544"},{"category":"So","mappings":{"default":{"default":"box drawings left down heavy and right up light","alternative":"forms left down heavy and right up light"}},"key":"2545"},{"category":"So","mappings":{"default":{"default":"box drawings right down heavy and left up light","alternative":"forms right down heavy and left up light"}},"key":"2546"},{"category":"So","mappings":{"default":{"default":"box drawings down light and up horizontal heavy","alternative":"forms down light and up horizontal heavy"}},"key":"2547"},{"category":"So","mappings":{"default":{"default":"box drawings up light and down horizontal heavy","alternative":"forms up light and down horizontal heavy"}},"key":"2548"},{"category":"So","mappings":{"default":{"default":"box drawings right light and left vertical heavy","alternative":"forms right light and left vertical heavy"}},"key":"2549"},{"category":"So","mappings":{"default":{"default":"box drawings left light and right vertical heavy","alternative":"forms left light and right vertical heavy"}},"key":"254A"},{"category":"So","mappings":{"default":{"default":"box drawings heavy vertical and horizontal","alternative":"forms heavy vertical and horizontal"}},"key":"254B"},{"category":"So","mappings":{"default":{"default":"box drawings light double dash horizontal","alternative":"forms light double dash horizontal"}},"key":"254C"},{"category":"So","mappings":{"default":{"default":"box drawings heavy double dash horizontal","alternative":"forms heavy double dash horizontal"}},"key":"254D"},{"category":"So","mappings":{"default":{"default":"box drawings light double dash vertical","alternative":"forms light double dash vertical"}},"key":"254E"},{"category":"So","mappings":{"default":{"default":"box drawings heavy double dash vertical","alternative":"forms heavy double dash vertical"}},"key":"254F"},{"category":"So","mappings":{"default":{"default":"box drawings double horizontal","alternative":"forms double horizontal"}},"key":"2550"},{"category":"So","mappings":{"default":{"default":"box drawings double vertical","alternative":"forms double vertical"}},"key":"2551"},{"category":"So","mappings":{"default":{"default":"box drawings down single and right double","alternative":"forms down single and right double"}},"key":"2552"},{"category":"So","mappings":{"default":{"default":"box drawings down double and right single","alternative":"forms down double and right single"}},"key":"2553"},{"category":"So","mappings":{"default":{"default":"box drawings double down and right","alternative":"forms double down and right"}},"key":"2554"},{"category":"So","mappings":{"default":{"default":"box drawings down single and left double","alternative":"forms down single and left double"}},"key":"2555"},{"category":"So","mappings":{"default":{"default":"box drawings down double and left single","alternative":"forms down double and left single"}},"key":"2556"},{"category":"So","mappings":{"default":{"default":"box drawings double down and left","alternative":"forms double down and left"}},"key":"2557"},{"category":"So","mappings":{"default":{"default":"box drawings up single and right double","alternative":"forms up single and right double"}},"key":"2558"},{"category":"So","mappings":{"default":{"default":"box drawings up double and right single","alternative":"forms up double and right single"}},"key":"2559"},{"category":"So","mappings":{"default":{"default":"box drawings double up and right","alternative":"forms double up and right"}},"key":"255A"},{"category":"So","mappings":{"default":{"default":"box drawings up single and left double","alternative":"forms up single and left double"}},"key":"255B"},{"category":"So","mappings":{"default":{"default":"box drawings up double and left single","alternative":"forms up double and left single"}},"key":"255C"},{"category":"So","mappings":{"default":{"default":"box drawings double up and left","alternative":"forms double up and left"}},"key":"255D"},{"category":"So","mappings":{"default":{"default":"box drawings vertical single and right double","alternative":"forms vertical single and right double"}},"key":"255E"},{"category":"So","mappings":{"default":{"default":"box drawings vertical double and right single","alternative":"forms vertical double and right single"}},"key":"255F"},{"category":"So","mappings":{"default":{"default":"box drawings double vertical and right","alternative":"forms double vertical and right"}},"key":"2560"},{"category":"So","mappings":{"default":{"default":"box drawings vertical single and left double","alternative":"forms vertical single and left double"}},"key":"2561"},{"category":"So","mappings":{"default":{"default":"box drawings vertical double and left single","alternative":"forms vertical double and left single"}},"key":"2562"},{"category":"So","mappings":{"default":{"default":"box drawings double vertical and left","alternative":"forms double vertical and left"}},"key":"2563"},{"category":"So","mappings":{"default":{"default":"box drawings down single and horizontal double","alternative":"forms down single and horizontal double"}},"key":"2564"},{"category":"So","mappings":{"default":{"default":"box drawings down double and horizontal single","alternative":"forms down double and horizontal single"}},"key":"2565"},{"category":"So","mappings":{"default":{"default":"box drawings double down and horizontal","alternative":"forms double down and horizontal"}},"key":"2566"},{"category":"So","mappings":{"default":{"default":"box drawings up single and horizontal double","alternative":"forms up single and horizontal double"}},"key":"2567"},{"category":"So","mappings":{"default":{"default":"box drawings up double and horizontal single","alternative":"forms up double and horizontal single"}},"key":"2568"},{"category":"So","mappings":{"default":{"default":"box drawings double up and horizontal","alternative":"forms double up and horizontal"}},"key":"2569"},{"category":"So","mappings":{"default":{"default":"box drawings vertical single and horizontal double","alternative":"forms vertical single and horizontal double"}},"key":"256A"},{"category":"So","mappings":{"default":{"default":"box drawings vertical double and horizontal single","alternative":"forms vertical double and horizontal single"}},"key":"256B"},{"category":"So","mappings":{"default":{"default":"box drawings double vertical and horizontal","alternative":"forms double vertical and horizontal"}},"key":"256C"},{"category":"So","mappings":{"default":{"default":"box drawings light arc down and right","alternative":"forms light arc down and right"}},"key":"256D"},{"category":"So","mappings":{"default":{"default":"box drawings light arc down and left","alternative":"forms light arc down and left"}},"key":"256E"},{"category":"So","mappings":{"default":{"default":"box drawings light arc up and left","alternative":"forms light arc up and left"}},"key":"256F"},{"category":"So","mappings":{"default":{"default":"box drawings light arc up and right","alternative":"forms light arc up and right"}},"key":"2570"},{"category":"So","mappings":{"default":{"default":"box drawings light diagonal upper right to lower left","alternative":"forms light diagonal upper right to lower left"}},"key":"2571"},{"category":"So","mappings":{"default":{"default":"box drawings light diagonal upper left to lower right","alternative":"forms light diagonal upper left to lower right"}},"key":"2572"},{"category":"So","mappings":{"default":{"default":"box drawings light diagonal cross","alternative":"forms light diagonal cross"}},"key":"2573"},{"category":"So","mappings":{"default":{"default":"box drawings light left","alternative":"forms light left"}},"key":"2574"},{"category":"So","mappings":{"default":{"default":"box drawings light up","alternative":"forms light up"}},"key":"2575"},{"category":"So","mappings":{"default":{"default":"box drawings light right","alternative":"forms light right"}},"key":"2576"},{"category":"So","mappings":{"default":{"default":"box drawings light down","alternative":"forms light down"}},"key":"2577"},{"category":"So","mappings":{"default":{"default":"box drawings heavy left","alternative":"forms heavy left"}},"key":"2578"},{"category":"So","mappings":{"default":{"default":"box drawings heavy up","alternative":"forms heavy up"}},"key":"2579"},{"category":"So","mappings":{"default":{"default":"box drawings heavy right","alternative":"forms heavy right"}},"key":"257A"},{"category":"So","mappings":{"default":{"default":"box drawings heavy down","alternative":"forms heavy down"}},"key":"257B"},{"category":"So","mappings":{"default":{"default":"box drawings light left and heavy right","alternative":"forms light left and heavy right"}},"key":"257C"},{"category":"So","mappings":{"default":{"default":"box drawings light up and heavy down","alternative":"forms light up and heavy down"}},"key":"257D"},{"category":"So","mappings":{"default":{"default":"box drawings heavy left and light right","alternative":"forms heavy left and light right"}},"key":"257E"},{"category":"So","mappings":{"default":{"default":"box drawings heavy up and light down","alternative":"forms heavy up and light down"}},"key":"257F"},{"category":"So","mappings":{"default":{"default":"upper half block"}},"key":"2580"},{"category":"So","mappings":{"default":{"default":"lower one eighth block"}},"key":"2581"},{"category":"So","mappings":{"default":{"default":"lower one quarter block"}},"key":"2582"},{"category":"So","mappings":{"default":{"default":"lower three eighths block"}},"key":"2583"},{"category":"So","mappings":{"default":{"default":"lower half block"}},"key":"2584"},{"category":"So","mappings":{"default":{"default":"lower five eighths block"}},"key":"2585"},{"category":"So","mappings":{"default":{"default":"lower three quarters block","alternative":"lower three quarter block"}},"key":"2586"},{"category":"So","mappings":{"default":{"default":"lower seven eighths block"}},"key":"2587"},{"category":"So","mappings":{"default":{"default":"full block"}},"key":"2588"},{"category":"So","mappings":{"default":{"default":"left seven eighths block"}},"key":"2589"},{"category":"So","mappings":{"default":{"default":"left three quarters block","alternative":"left three quarter block"}},"key":"258A"},{"category":"So","mappings":{"default":{"default":"left five eighths block"}},"key":"258B"},{"category":"So","mappings":{"default":{"default":"left half block"}},"key":"258C"},{"category":"So","mappings":{"default":{"default":"left three eighths block"}},"key":"258D"},{"category":"So","mappings":{"default":{"default":"left one quarter block"}},"key":"258E"},{"category":"So","mappings":{"default":{"default":"left one eighth block"}},"key":"258F"},{"category":"So","mappings":{"default":{"default":"right half block"}},"key":"2590"},{"category":"So","mappings":{"default":{"default":"light shade"}},"key":"2591"},{"category":"So","mappings":{"default":{"default":"medium shade"}},"key":"2592"},{"category":"So","mappings":{"default":{"default":"dark shade"}},"key":"2593"},{"category":"So","mappings":{"default":{"default":"upper one eighth block"}},"key":"2594"},{"category":"So","mappings":{"default":{"default":"right one eighth block"}},"key":"2595"},{"category":"So","mappings":{"default":{"default":"quadrant lower left"}},"key":"2596"},{"category":"So","mappings":{"default":{"default":"quadrant lower right"}},"key":"2597"},{"category":"So","mappings":{"default":{"default":"quadrant upper left"}},"key":"2598"},{"category":"So","mappings":{"default":{"default":"quadrant upper left and lower left and lower right"}},"key":"2599"},{"category":"So","mappings":{"default":{"default":"quadrant upper left and lower right"}},"key":"259A"},{"category":"So","mappings":{"default":{"default":"quadrant upper left and upper right and lower left"}},"key":"259B"},{"category":"So","mappings":{"default":{"default":"quadrant upper left and upper right and lower right"}},"key":"259C"},{"category":"So","mappings":{"default":{"default":"quadrant upper right"}},"key":"259D"},{"category":"So","mappings":{"default":{"default":"quadrant upper right and lower left"}},"key":"259E"},{"category":"So","mappings":{"default":{"default":"quadrant upper right and lower left and lower right"}},"key":"259F"},{"category":"So","mappings":{"default":{"default":"black square"}},"key":"25A0"},{"category":"So","mappings":{"default":{"default":"white square"}},"key":"25A1"},{"category":"So","mappings":{"default":{"default":"white square with rounded corners"}},"key":"25A2"},{"category":"So","mappings":{"default":{"default":"white square containing black small square"}},"key":"25A3"},{"category":"So","mappings":{"default":{"default":"square with horizontal fill"}},"key":"25A4"},{"category":"So","mappings":{"default":{"default":"square with vertical fill"}},"key":"25A5"},{"category":"So","mappings":{"default":{"default":"square with orthogonal crosshatch fill"}},"key":"25A6"},{"category":"So","mappings":{"default":{"default":"square with upper left to lower right fill"}},"key":"25A7"},{"category":"So","mappings":{"default":{"default":"square with upper right to lower left fill"}},"key":"25A8"},{"category":"So","mappings":{"default":{"default":"square with diagonal crosshatch fill"}},"key":"25A9"},{"category":"So","mappings":{"default":{"default":"black small square"}},"key":"25AA"},{"category":"So","mappings":{"default":{"default":"white small square"}},"key":"25AB"},{"category":"So","mappings":{"default":{"default":"black rectangle"}},"key":"25AC"},{"category":"So","mappings":{"default":{"default":"white rectangle"}},"key":"25AD"},{"category":"So","mappings":{"default":{"default":"black vertical rectangle"}},"key":"25AE"},{"category":"So","mappings":{"default":{"default":"white vertical rectangle"}},"key":"25AF"},{"category":"So","mappings":{"default":{"default":"black parallelogram"}},"key":"25B0"},{"category":"So","mappings":{"default":{"default":"white parallelogram"}},"key":"25B1"},{"category":"So","mappings":{"default":{"default":"black up pointing triangle","alternative":"black up pointing triangle"}},"key":"25B2"},{"category":"So","mappings":{"default":{"default":"white up pointing triangle","alternative":"white up pointing triangle"}},"key":"25B3"},{"category":"So","mappings":{"default":{"default":"black up pointing small triangle","alternative":"black up pointing small triangle"}},"key":"25B4"},{"category":"So","mappings":{"default":{"default":"white up pointing small triangle","alternative":"white up pointing small triangle"}},"key":"25B5"},{"category":"So","mappings":{"default":{"default":"black right pointing triangle","alternative":"black right pointing triangle"}},"key":"25B6"},{"category":"Sm","mappings":{"default":{"default":"white right pointing triangle","alternative":"white right pointing triangle"}},"key":"25B7"},{"category":"So","mappings":{"default":{"default":"black right pointing small triangle","alternative":"black right pointing small triangle"}},"key":"25B8"},{"category":"So","mappings":{"default":{"default":"white right pointing small triangle","alternative":"white right pointing small triangle"}},"key":"25B9"},{"category":"So","mappings":{"default":{"default":"black right pointing pointer","alternative":"black right pointing pointer"}},"key":"25BA"},{"category":"So","mappings":{"default":{"default":"white right pointing pointer","alternative":"white right pointing pointer"}},"key":"25BB"},{"category":"So","mappings":{"default":{"default":"black down pointing triangle","alternative":"black down pointing triangle"}},"key":"25BC"},{"category":"So","mappings":{"default":{"default":"white down pointing triangle","alternative":"white down pointing triangle"}},"key":"25BD"},{"category":"So","mappings":{"default":{"default":"black down pointing small triangle","alternative":"black down pointing small triangle"}},"key":"25BE"},{"category":"So","mappings":{"default":{"default":"white down pointing small triangle","alternative":"white down pointing small triangle"}},"key":"25BF"},{"category":"So","mappings":{"default":{"default":"black left pointing triangle","alternative":"black left pointing triangle"}},"key":"25C0"},{"category":"Sm","mappings":{"default":{"default":"white left pointing triangle","alternative":"white left pointing triangle"}},"key":"25C1"},{"category":"So","mappings":{"default":{"default":"black left pointing small triangle","alternative":"black left pointing small triangle"}},"key":"25C2"},{"category":"So","mappings":{"default":{"default":"white left pointing small triangle","alternative":"white left pointing small triangle"}},"key":"25C3"},{"category":"So","mappings":{"default":{"default":"black left pointing pointer","alternative":"black left pointing pointer"}},"key":"25C4"},{"category":"So","mappings":{"default":{"default":"white left pointing pointer","alternative":"white left pointing pointer"}},"key":"25C5"},{"category":"So","mappings":{"default":{"default":"black diamond"}},"key":"25C6"},{"category":"So","mappings":{"default":{"default":"white diamond"}},"key":"25C7"},{"category":"So","mappings":{"default":{"default":"white diamond containing black small diamond"}},"key":"25C8"},{"category":"So","mappings":{"default":{"default":"fisheye"}},"key":"25C9"},{"category":"So","mappings":{"default":{"default":"lozenge"}},"key":"25CA"},{"category":"So","mappings":{"default":{"default":"white circle"}},"key":"25CB"},{"category":"So","mappings":{"default":{"default":"dotted circle"}},"key":"25CC"},{"category":"So","mappings":{"default":{"default":"circle with vertical fill"}},"key":"25CD"},{"category":"So","mappings":{"default":{"default":"bullseye"}},"key":"25CE"},{"category":"So","mappings":{"default":{"default":"black circle"}},"key":"25CF"},{"category":"So","mappings":{"default":{"default":"circle with left half black"}},"key":"25D0"},{"category":"So","mappings":{"default":{"default":"circle with right half black"}},"key":"25D1"},{"category":"So","mappings":{"default":{"default":"circle with lower half black"}},"key":"25D2"},{"category":"So","mappings":{"default":{"default":"circle with upper half black"}},"key":"25D3"},{"category":"So","mappings":{"default":{"default":"circle with upper right quadrant black"}},"key":"25D4"},{"category":"So","mappings":{"default":{"default":"circle with all but upper left quadrant black"}},"key":"25D5"},{"category":"So","mappings":{"default":{"default":"left half black circle"}},"key":"25D6"},{"category":"So","mappings":{"default":{"default":"right half black circle"}},"key":"25D7"},{"category":"So","mappings":{"default":{"default":"inverse bullet"}},"key":"25D8"},{"category":"So","mappings":{"default":{"default":"inverse white circle"}},"key":"25D9"},{"category":"So","mappings":{"default":{"default":"upper half inverse white circle"}},"key":"25DA"},{"category":"So","mappings":{"default":{"default":"lower half inverse white circle"}},"key":"25DB"},{"category":"So","mappings":{"default":{"default":"upper left quadrant circular arc"}},"key":"25DC"},{"category":"So","mappings":{"default":{"default":"upper right quadrant circular arc"}},"key":"25DD"},{"category":"So","mappings":{"default":{"default":"lower right quadrant circular arc"}},"key":"25DE"},{"category":"So","mappings":{"default":{"default":"lower left quadrant circular arc"}},"key":"25DF"},{"category":"So","mappings":{"default":{"default":"upper half circle"}},"key":"25E0"},{"category":"So","mappings":{"default":{"default":"lower half circle"}},"key":"25E1"},{"category":"So","mappings":{"default":{"default":"black lower right triangle"}},"key":"25E2"},{"category":"So","mappings":{"default":{"default":"black lower left triangle"}},"key":"25E3"},{"category":"So","mappings":{"default":{"default":"black upper left triangle"}},"key":"25E4"},{"category":"So","mappings":{"default":{"default":"black upper right triangle"}},"key":"25E5"},{"category":"So","mappings":{"default":{"default":"white bullet"}},"key":"25E6"},{"category":"So","mappings":{"default":{"default":"square with left half black"}},"key":"25E7"},{"category":"So","mappings":{"default":{"default":"square with right half black"}},"key":"25E8"},{"category":"So","mappings":{"default":{"default":"square with upper left diagonal half black"}},"key":"25E9"},{"category":"So","mappings":{"default":{"default":"square with lower right diagonal half black"}},"key":"25EA"},{"category":"So","mappings":{"default":{"default":"white square with vertical bisecting line"}},"key":"25EB"},{"category":"So","mappings":{"default":{"default":"white up pointing triangle with dot","alternative":"white up pointing triangle with dot"}},"key":"25EC"},{"category":"So","mappings":{"default":{"default":"up pointing triangle with left half black","alternative":"up pointing triangle with left half black"}},"key":"25ED"},{"category":"So","mappings":{"default":{"default":"up pointing triangle with right half black","alternative":"up pointing triangle with right half black"}},"key":"25EE"},{"category":"So","mappings":{"default":{"default":"large circle"}},"key":"25EF"},{"category":"So","mappings":{"default":{"default":"white square with upper left quadrant"}},"key":"25F0"},{"category":"So","mappings":{"default":{"default":"white square with lower left quadrant"}},"key":"25F1"},{"category":"So","mappings":{"default":{"default":"white square with lower right quadrant"}},"key":"25F2"},{"category":"So","mappings":{"default":{"default":"white square with upper right quadrant"}},"key":"25F3"},{"category":"So","mappings":{"default":{"default":"white circle with upper left quadrant"}},"key":"25F4"},{"category":"So","mappings":{"default":{"default":"white circle with lower left quadrant"}},"key":"25F5"},{"category":"So","mappings":{"default":{"default":"white circle with lower right quadrant"}},"key":"25F6"},{"category":"So","mappings":{"default":{"default":"white circle with upper right quadrant"}},"key":"25F7"},{"category":"Sm","mappings":{"default":{"default":"upper left triangle"}},"key":"25F8"},{"category":"Sm","mappings":{"default":{"default":"upper right triangle"}},"key":"25F9"},{"category":"Sm","mappings":{"default":{"default":"lower left triangle"}},"key":"25FA"},{"category":"Sm","mappings":{"default":{"default":"white medium square"}},"key":"25FB"},{"category":"Sm","mappings":{"default":{"default":"black medium square"}},"key":"25FC"},{"category":"Sm","mappings":{"default":{"default":"white medium small square"}},"key":"25FD"},{"category":"Sm","mappings":{"default":{"default":"black medium small square"}},"key":"25FE"},{"category":"Sm","mappings":{"default":{"default":"lower right triangle"}},"key":"25FF"},{"category":"So","mappings":{"default":{"default":"square with top half black"}},"key":"2B12"},{"category":"So","mappings":{"default":{"default":"square with bottom half black"}},"key":"2B13"},{"category":"So","mappings":{"default":{"default":"square with upper right diagonal half black"}},"key":"2B14"},{"category":"So","mappings":{"default":{"default":"square with lower left diagonal half black"}},"key":"2B15"},{"category":"So","mappings":{"default":{"default":"diamond with left half black"}},"key":"2B16"},{"category":"So","mappings":{"default":{"default":"diamond with right half black"}},"key":"2B17"},{"category":"So","mappings":{"default":{"default":"diamond with top half black"}},"key":"2B18"},{"category":"So","mappings":{"default":{"default":"diamond with bottom half black"}},"key":"2B19"},{"category":"So","mappings":{"default":{"default":"dotted square"}},"key":"2B1A"},{"category":"So","mappings":{"default":{"default":"black large square"}},"key":"2B1B"},{"category":"So","mappings":{"default":{"default":"white large square"}},"key":"2B1C"},{"category":"So","mappings":{"default":{"default":"black very small square"}},"key":"2B1D"},{"category":"So","mappings":{"default":{"default":"white very small square"}},"key":"2B1E"},{"category":"So","mappings":{"default":{"default":"black pentagon"}},"key":"2B1F"},{"category":"So","mappings":{"default":{"default":"white pentagon"}},"key":"2B20"},{"category":"So","mappings":{"default":{"default":"white hexagon"}},"key":"2B21"},{"category":"So","mappings":{"default":{"default":"black hexagon"}},"key":"2B22"},{"category":"So","mappings":{"default":{"default":"horizontal black hexagon"}},"key":"2B23"},{"category":"So","mappings":{"default":{"default":"black large circle"}},"key":"2B24"},{"category":"So","mappings":{"default":{"default":"black medium diamond"}},"key":"2B25"},{"category":"So","mappings":{"default":{"default":"white medium diamond"}},"key":"2B26"},{"category":"So","mappings":{"default":{"default":"black medium lozenge"}},"key":"2B27"},{"category":"So","mappings":{"default":{"default":"white medium lozenge"}},"key":"2B28"},{"category":"So","mappings":{"default":{"default":"black small diamond"}},"key":"2B29"},{"category":"So","mappings":{"default":{"default":"black small lozenge"}},"key":"2B2A"},{"category":"So","mappings":{"default":{"default":"white small lozenge"}},"key":"2B2B"},{"category":"So","mappings":{"default":{"default":"black horizontal ellipse"}},"key":"2B2C"},{"category":"So","mappings":{"default":{"default":"white horizontal ellipse"}},"key":"2B2D"},{"category":"So","mappings":{"default":{"default":"black vertical ellipse"}},"key":"2B2E"},{"category":"So","mappings":{"default":{"default":"white vertical ellipse"}},"key":"2B2F"},{"category":"So","mappings":{"default":{"default":"white medium star"}},"key":"2B50"},{"category":"So","mappings":{"default":{"default":"black small star"}},"key":"2B51"},{"category":"So","mappings":{"default":{"default":"white small star"}},"key":"2B52"},{"category":"So","mappings":{"default":{"default":"black right pointing pentagon"}},"key":"2B53"},{"category":"So","mappings":{"default":{"default":"white right pointing pentagon"}},"key":"2B54"},{"category":"So","mappings":{"default":{"default":"heavy large circle"}},"key":"2B55"},{"category":"So","mappings":{"default":{"default":"heavy oval with oval inside"}},"key":"2B56"},{"category":"So","mappings":{"default":{"default":"heavy circle with circle inside"}},"key":"2B57"},{"category":"So","mappings":{"default":{"default":"heavy circle"}},"key":"2B58"},{"category":"So","mappings":{"default":{"default":"heavy circled saltire"}},"key":"2B59"}] diff --git a/assets/js/mathmaps/en/symbols/math_harpoons.js b/assets/js/mathmaps/en/symbols/math_harpoons.js new file mode 100644 index 0000000000000000000000000000000000000000..f74813a0d801669e8cf9bfe0c740d9031dfc45a1 --- /dev/null +++ b/assets/js/mathmaps/en/symbols/math_harpoons.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"So","mappings":{"default":{"default":"leftwards harpoon with barb upwards","short":"left harpoon with barb up"}},"key":"21BC"},{"category":"So","mappings":{"default":{"default":"leftwards harpoon with barb downwards","short":"left harpoon with barb down"}},"key":"21BD"},{"category":"So","mappings":{"default":{"default":"upwards harpoon with barb rightwards","short":"up harpoon with barb right"}},"key":"21BE"},{"category":"So","mappings":{"default":{"default":"upwards harpoon with barb leftwards","short":"up harpoon with barb left"}},"key":"21BF"},{"category":"So","mappings":{"default":{"default":"rightwards harpoon with barb upwards","short":"right harpoon with barb up"}},"key":"21C0"},{"category":"So","mappings":{"default":{"default":"rightwards harpoon with barb downwards","short":"right harpoon with barb down"}},"key":"21C1"},{"category":"So","mappings":{"default":{"default":"downwards harpoon with barb rightwards","short":"down harpoon with barb right"}},"key":"21C2"},{"category":"So","mappings":{"default":{"default":"downwards harpoon with barb leftwards","short":"down harpoon with barb left"}},"key":"21C3"},{"category":"So","mappings":{"default":{"default":"leftwards harpoon over rightwards harpoon","short":"left harpoon over right harpoon"}},"key":"21CB"},{"category":"So","mappings":{"default":{"default":"rightwards harpoon over leftwards harpoon","short":"right harpoon over left harpoon"}},"key":"21CC"},{"category":"Sm","mappings":{"default":{"default":"left barb up right barb down harpoon"}},"key":"294A"},{"category":"Sm","mappings":{"default":{"default":"left barb down right barb up harpoon"}},"key":"294B"},{"category":"Sm","mappings":{"default":{"default":"up barb right down barb left harpoon"}},"key":"294C"},{"category":"Sm","mappings":{"default":{"default":"up barb left down barb right harpoon"}},"key":"294D"},{"category":"Sm","mappings":{"default":{"default":"left barb up right barb up harpoon"}},"key":"294E"},{"category":"Sm","mappings":{"default":{"default":"up barb right down barb right harpoon"}},"key":"294F"},{"category":"Sm","mappings":{"default":{"default":"left barb down right barb down harpoon"}},"key":"2950"},{"category":"Sm","mappings":{"default":{"default":"up barb left down barb left harpoon"}},"key":"2951"},{"category":"Sm","mappings":{"default":{"default":"leftwards harpoon with barb up to bar","short":"left harpoon with barb up to bar"}},"key":"2952"},{"category":"Sm","mappings":{"default":{"default":"rightwards harpoon with barb up to bar","short":"right harpoon with barb up to bar"}},"key":"2953"},{"category":"Sm","mappings":{"default":{"default":"upwards harpoon with barb right to bar","short":"up harpoon with barb right to bar"}},"key":"2954"},{"category":"Sm","mappings":{"default":{"default":"downwards harpoon with barb right to bar","short":"down harpoon with barb right to bar"}},"key":"2955"},{"category":"Sm","mappings":{"default":{"default":"leftwards harpoon with barb down to bar","short":"left harpoon with barb down to bar"}},"key":"2956"},{"category":"Sm","mappings":{"default":{"default":"rightwards harpoon with barb down to bar","short":"right harpoon with barb down to bar"}},"key":"2957"},{"category":"Sm","mappings":{"default":{"default":"upwards harpoon with barb left to bar","short":"up harpoon with barb left to bar"}},"key":"2958"},{"category":"Sm","mappings":{"default":{"default":"downwards harpoon with barb left to bar","short":"down harpoon with barb left to bar"}},"key":"2959"},{"category":"Sm","mappings":{"default":{"default":"leftwards harpoon with barb up from bar","short":"left harpoon with barb up from bar"}},"key":"295A"},{"category":"Sm","mappings":{"default":{"default":"rightwards harpoon with barb up from bar","short":"right harpoon with barb up from bar"}},"key":"295B"},{"category":"Sm","mappings":{"default":{"default":"upwards harpoon with barb right from bar","short":"up harpoon with barb right from bar"}},"key":"295C"},{"category":"Sm","mappings":{"default":{"default":"downwards harpoon with barb right from bar","short":"down harpoon with barb right from bar"}},"key":"295D"},{"category":"Sm","mappings":{"default":{"default":"leftwards harpoon with barb down from bar","short":"left harpoon with barb down from bar"}},"key":"295E"},{"category":"Sm","mappings":{"default":{"default":"rightwards harpoon with barb down from bar","short":"right harpoon with barb down from bar"}},"key":"295F"},{"category":"Sm","mappings":{"default":{"default":"upwards harpoon with barb left from bar","short":"up harpoon with barb left from bar"}},"key":"2960"},{"category":"Sm","mappings":{"default":{"default":"downwards harpoon with barb left from bar","short":"down harpoon with barb left from bar"}},"key":"2961"},{"category":"Sm","mappings":{"default":{"default":"leftwards harpoon with barb up above leftwards harpoon with barb down","short":"left harpoon with barb up above left harpoon with barb down"}},"key":"2962"},{"category":"Sm","mappings":{"default":{"default":"upwards harpoon with barb left beside upwards harpoon with barb right","short":"up harpoon with barb left beside up harpoon with barb right"}},"key":"2963"},{"category":"Sm","mappings":{"default":{"default":"rightwards harpoon with barb up above rightwards harpoon with barb down","short":"right harpoon with barb up above right harpoon with barb down"}},"key":"2964"},{"category":"Sm","mappings":{"default":{"default":"downwards harpoon with barb left beside downwards harpoon with barb right","short":"down harpoon with barb left beside down harpoon with barb right"}},"key":"2965"},{"category":"Sm","mappings":{"default":{"default":"leftwards harpoon with barb up above rightwards harpoon with barb up","short":"left harpoon with barb up above right harpoon with barb up"}},"key":"2966"},{"category":"Sm","mappings":{"default":{"default":"leftwards harpoon with barb down above rightwards harpoon with barb down","short":"left harpoon with barb down above right harpoon with barb down"}},"key":"2967"},{"category":"Sm","mappings":{"default":{"default":"rightwards harpoon with barb up above leftwards harpoon with barb up","short":"right harpoon with barb up above left harpoon with barb up"}},"key":"2968"},{"category":"Sm","mappings":{"default":{"default":"rightwards harpoon with barb down above leftwards harpoon with barb down","short":"right harpoon with barb down above left harpoon with barb down"}},"key":"2969"},{"category":"Sm","mappings":{"default":{"default":"leftwards harpoon with barb up above long dash","short":"left harpoon with barb up above long dash"}},"key":"296A"},{"category":"Sm","mappings":{"default":{"default":"leftwards harpoon with barb down below long dash","short":"left harpoon with barb down below long dash"}},"key":"296B"},{"category":"Sm","mappings":{"default":{"default":"rightwards harpoon with barb up above long dash","short":"right harpoon with barb up above long dash"}},"key":"296C"},{"category":"Sm","mappings":{"default":{"default":"rightwards harpoon with barb down below long dash","short":"right harpoon with barb down below long dash"}},"key":"296D"},{"category":"Sm","mappings":{"default":{"default":"upwards harpoon with barb left beside downwards harpoon with barb right","short":"up harpoon with barb left beside down harpoon with barb right"}},"key":"296E"},{"category":"Sm","mappings":{"default":{"default":"downwards harpoon with barb left beside upwards harpoon with barb right","short":"down harpoon with barb left beside up harpoon with barb right"}},"key":"296F"},{"category":"Sm","mappings":{"default":{"default":"left fish tail"}},"key":"297C"},{"category":"Sm","mappings":{"default":{"default":"right fish tail"}},"key":"297D"},{"category":"Sm","mappings":{"default":{"default":"up fish tail"}},"key":"297E"},{"category":"Sm","mappings":{"default":{"default":"down fish tail"}},"key":"297F"}] diff --git a/assets/js/mathmaps/en/symbols/math_non_characters.js b/assets/js/mathmaps/en/symbols/math_non_characters.js new file mode 100644 index 0000000000000000000000000000000000000000..fa64c5f718910f7aead5b18c49e0d32481fcb3eb --- /dev/null +++ b/assets/js/mathmaps/en/symbols/math_non_characters.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small h over two time greek letter pi","alternative":"italic small h over two pi","short":"italic h over two pi"},"physics":{"default":"planck constant over two pi","alternative":"planck constant over 2 pi"}},"key":"210F"},{"category":"So","mappings":{"default":{"default":"l b bar symbol","short":"l b bar"}},"key":"2114"},{"category":"So","mappings":{"default":{"default":"numero sign","alternative":"numero","short":"numero"}},"key":"2116"},{"category":"So","mappings":{"default":{"default":"sound recording copyright"}},"key":"2117"},{"category":"So","mappings":{"default":{"default":"prescription take"}},"key":"211E"},{"category":"So","mappings":{"default":{"default":"response"}},"key":"211F"},{"category":"So","mappings":{"default":{"default":"service mark"}},"key":"2120"},{"category":"So","mappings":{"default":{"default":"telephone sign","alternative":"t e l symbol"}},"key":"2121"},{"category":"So","mappings":{"default":{"default":"trade mark sign","alternative":"trademark","short":"trade mark"}},"key":"2122"},{"category":"So","mappings":{"default":{"default":"versicle"}},"key":"2123"},{"category":"So","mappings":{"default":{"default":"ounce sign","alternative":"ounce","short":"ounce"}},"key":"2125"},{"category":"Lu","mappings":{"default":{"default":"ohm sign","alternative":"ohm","short":"ohm"}},"key":"2126"},{"category":"So","mappings":{"default":{"default":"inverted ohm sign","alternative":"mho","short":"inverted ohm"}},"key":"2127"},{"category":"Lu","mappings":{"default":{"default":"kelvin sign","alternative":"degrees kelvin","short":"kelvin"}},"key":"212A"},{"category":"Lu","mappings":{"default":{"default":"angstrom sign","alternative":"angstrom unit","short":"angstrom"}},"key":"212B"},{"category":"So","mappings":{"default":{"default":"estimated symbol","short":"estimated"}},"key":"212E"},{"category":"Lu","mappings":{"default":{"default":"turned capital f","alternative":"turned f","short":"turned cap f"},"mathspeak":{"default":"turned upper F"}},"key":"2132"},{"category":"Ll","mappings":{"default":{"default":"information source"}},"key":"2139"},{"category":"So","mappings":{"default":{"default":"rotated capital q","short":"rotated cap q"},"mathspeak":{"default":"rotated upper Q"}},"key":"213A"},{"category":"So","mappings":{"default":{"default":"facsimile sign"}},"key":"213B"},{"category":"Sm","mappings":{"default":{"default":"turned sans serif capital g","short":"turned sans serif cap g"},"mathspeak":{"default":"turned sans serif upper G"}},"key":"2141"},{"category":"Sm","mappings":{"default":{"default":"turned sans serif capital l","short":"turned sans serif cap l"},"mathspeak":{"default":"turned sans serif upper L"}},"key":"2142"},{"category":"Sm","mappings":{"default":{"default":"reversed sans serif capital l","short":"reversed sans serif cap l"},"mathspeak":{"default":"reversed sans serif upper L"}},"key":"2143"},{"category":"Sm","mappings":{"default":{"default":"turned sans serif capital y","short":"turned sans serif cap y"},"mathspeak":{"default":"turned sans serif upper Y"}},"key":"2144"}] diff --git a/assets/js/mathmaps/en/symbols/math_symbols.js b/assets/js/mathmaps/en/symbols/math_symbols.js new file mode 100644 index 0000000000000000000000000000000000000000..b52ead27af291888269af6b7a7c359d818a089da --- /dev/null +++ b/assets/js/mathmaps/en/symbols/math_symbols.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"Po","mappings":{"default":{"default":"factorial operator","alternative":"exclamation mark","short":"factorial"},"mathspeak":{"default":"exclamation-mark"}},"key":"0021"},{"category":"Po","mappings":{"default":{"default":"quotation mark"},"mathspeak":{"default":"quotation-mark"}},"key":"0022"},{"category":"Po","mappings":{"default":{"default":"number sign","alternative":"hash","short":"number"},"mathspeak":{"default":"number-sign","brief":"num-sign","sbrief":"num-sign"}},"key":"0023"},{"category":"Sc","mappings":{"default":{"default":"dollar sign","short":"dollar"},"mathspeak":{"default":"dollar-sign"}},"key":"0024"},{"category":"Po","mappings":{"default":{"default":"percent sign","short":"percent"},"mathspeak":{"default":"percent-sign"}},"key":"0025"},{"category":"Po","mappings":{"default":{"default":"ampersand"}},"key":"0026"},{"category":"Po","mappings":{"default":{"default":"apostrophe","alternative":"apostrophe quote"},"mathspeak":{"default":"prime"}},"key":"0027"},{"category":"Po","mappings":{"default":{"default":"asterisk"}},"key":"002A"},{"category":"Sm","mappings":{"default":{"default":"plus sign","short":"plus"}},"key":"002B"},{"category":"Po","mappings":{"default":{"default":"comma"}},"key":"002C"},{"category":"Pd","mappings":{"default":{"default":"hyphen minus","short":"minus"},"mathspeak":{"default":"hyphen"}},"key":"002D"},{"category":"Po","mappings":{"default":{"default":"full stop","alternative":"period"},"mathspeak":{"default":"period"}},"key":"002E"},{"category":"Po","mappings":{"default":{"default":"solidus","alternative":"slash"},"mathspeak":{"default":"slash"},"emacspeak":{"default":"slash"}},"key":"002F"},{"category":"Po","mappings":{"default":{"default":"colon"}},"key":"003A"},{"category":"Po","mappings":{"default":{"default":"semicolon"}},"key":"003B"},{"category":"Sm","mappings":{"default":{"default":"less than sign","short":"less than"},"mathspeak":{"default":"less-than"}},"key":"003C"},{"category":"Sm","mappings":{"default":{"default":"equals sign","short":"equals"}},"key":"003D"},{"category":"Sm","mappings":{"default":{"default":"greater than sign","short":"greater than"},"mathspeak":{"default":"greater-than"}},"key":"003E"},{"category":"Po","mappings":{"default":{"default":"question mark"},"mathspeak":{"default":"question-mark"}},"key":"003F"},{"category":"Po","mappings":{"default":{"default":"commercial at","short":"at"},"mathspeak":{"default":"commercial-at"}},"key":"0040"},{"category":"Po","mappings":{"default":{"default":"reverse solidus","alternative":"backslash"},"mathspeak":{"default":"reverse-solidus"}},"key":"005C"},{"category":"Sk","mappings":{"default":{"default":"circumflex accent","alternative":"spacing circumflex","short":"hat"},"mathspeak":{"default":"caret"}},"key":"005E"},{"category":"Pc","mappings":{"default":{"default":"low line","alternative":"spacing underscore"},"mathspeak":{"default":"bar"}},"key":"005F"},{"category":"Sk","mappings":{"default":{"default":"grave accent","alternative":"spacing grave","short":"grave"},"mathspeak":{"default":"grave"}},"key":"0060"},{"category":"Sm","mappings":{"default":{"default":"vertical line","alternative":"vertical bar"},"mathspeak":{"default":"vertical-bar"}},"key":"007C"},{"category":"Sm","mappings":{"default":{"default":"tilde"}},"key":"007E"},{"category":"Po","mappings":{"default":{"default":"inverted exclamation mark"},"mathspeak":{"default":"inverted-exclamation-mark"}},"key":"00A1"},{"category":"Sc","mappings":{"default":{"default":"cent sign","short":"cent"},"mathspeak":{"default":"cent-sign"}},"key":"00A2"},{"category":"Sc","mappings":{"default":{"default":"pound sign","short":"pound"},"mathspeak":{"default":"pound-sign"}},"key":"00A3"},{"category":"Sc","mappings":{"default":{"default":"currency sign","short":"currency"},"mathspeak":{"default":"currency-sign"}},"key":"00A4"},{"category":"Sc","mappings":{"default":{"default":"yen sign","short":"yen"},"mathspeak":{"default":"yen-sign"}},"key":"00A5"},{"category":"So","mappings":{"default":{"default":"broken bar","alternative":"broken vertical bar"},"mathspeak":{"default":"broken-vertical-bar"}},"key":"00A6"},{"category":"Po","mappings":{"default":{"default":"section sign","short":"section"},"mathspeak":{"default":"section-sign"}},"key":"00A7"},{"category":"Sk","mappings":{"default":{"default":"diaeresis","alternative":"spacing diaeresis","short":"double dot"},"mathspeak":{"default":"two-dots"}},"key":"00A8"},{"category":"So","mappings":{"default":{"default":"copyright sign","short":"copyright"},"mathspeak":{"default":"copyright-sign"}},"key":"00A9"},{"category":"Lo","mappings":{"default":{"default":"feminine ordinal indicator"},"mathspeak":{"default":"feminine-ordinal-indicator"}},"key":"00AA"},{"category":"Pi","mappings":{"default":{"default":"left pointing double angle quotation mark","alternative":"left pointing guillemet"},"mathspeak":{"default":"left-pointing-guillemet"}},"key":"00AB"},{"category":"Sm","mappings":{"default":{"default":"not sign","short":"not"},"mathspeak":{"default":"not-sign"}},"key":"00AC"},{"category":"So","mappings":{"default":{"default":"registered sign","alternative":"registered trade mark sign","short":"registered"},"mathspeak":{"default":"registered-trade-mark-sign"}},"key":"00AE"},{"category":"Sk","mappings":{"default":{"default":"macron","alternative":"spacing macron"},"mathspeak":{"default":"bar"}},"key":"00AF"},{"category":"So","mappings":{"default":{"default":"degree sign","short":"degree"},"mathspeak":{"default":"degree"}},"key":"00B0"},{"category":"Sm","mappings":{"default":{"default":"plus minus sign","alternative":"plus or minus sign","short":"plus minus"},"mathspeak":{"default":"plus-or-minus"}},"key":"00B1"},{"category":"Sk","mappings":{"default":{"default":"acute accent","alternative":"spacing acute","short":"acute"},"mathspeak":{"default":"acute"}},"key":"00B4"},{"category":"Ll","mappings":{"default":{"default":"micro sign","short":"micro"},"mathspeak":{"default":"micro-sign"}},"key":"00B5"},{"category":"Po","mappings":{"default":{"default":"pilcrow sign","alternative":"paragraph sign","short":"pilcrow"},"mathspeak":{"default":"paragraph-sign"}},"key":"00B6"},{"category":"Po","mappings":{"default":{"default":"middle dot"},"mathspeak":{"default":"dot"}},"key":"00B7"},{"category":"Sk","mappings":{"default":{"default":"cedilla","alternative":"spacing cedilla"},"mathspeak":{"default":"cedilla"}},"key":"00B8"},{"category":"Lo","mappings":{"default":{"default":"masculine ordinal indicator"},"mathspeak":{"default":"masculine-ordinal-indicator"}},"key":"00BA"},{"category":"Pf","mappings":{"default":{"default":"right pointing double angle quotation mark","alternative":"right pointing guillemet"},"mathspeak":{"default":"right-pointing-guillemet"}},"key":"00BB"},{"category":"Po","mappings":{"default":{"default":"inverted question mark"},"mathspeak":{"default":"inverted-question-mark"}},"key":"00BF"},{"category":"Sm","mappings":{"default":{"default":"multiplication sign","short":"multiplication"},"mathspeak":{"default":"times"}},"key":"00D7"},{"category":"Sm","mappings":{"default":{"default":"division sign","short":"division"},"mathspeak":{"default":"division-sign"}},"key":"00F7"},{"category":"Sk","mappings":{"default":{"default":"breve","alternative":"spacing breve"},"mathspeak":{"default":"breve"}},"key":"02D8"},{"category":"Sk","mappings":{"default":{"default":"dot above","alternative":"spacing dot above"},"mathspeak":{"default":"dot"}},"key":"02D9"},{"category":"Sk","mappings":{"default":{"default":"ring above","alternative":"spacing ring above"},"mathspeak":{"default":"ring-above"}},"key":"02DA"},{"category":"Sk","mappings":{"default":{"default":"ogonek","alternative":"spacing ogonek"},"mathspeak":{"default":"ogonek"}},"key":"02DB"},{"category":"Sk","mappings":{"default":{"default":"small tilde","alternative":"spacing tilde"},"mathspeak":{"default":"tilde"}},"key":"02DC"},{"category":"Sk","mappings":{"default":{"default":"double acute accent","alternative":"spacing double acute"},"mathspeak":{"default":"double-acute"}},"key":"02DD"},{"category":"Pd","mappings":{"default":{"default":"hyphen"}},"key":"2010"},{"category":"Pd","mappings":{"default":{"default":"non breaking hyphen"},"mathspeak":{"default":"non-breaking-hyphen"}},"key":"2011"},{"category":"Pd","mappings":{"default":{"default":"figure dash"},"mathspeak":{"default":"figure-dash"}},"key":"2012"},{"category":"Pd","mappings":{"default":{"default":"en dash"},"mathspeak":{"default":"en-dash"}},"key":"2013"},{"category":"Pd","mappings":{"default":{"default":"em dash"},"mathspeak":{"default":"em-dash"}},"key":"2014"},{"category":"Pd","mappings":{"default":{"default":"horizontal bar","alternative":"quotation dash"},"mathspeak":{"default":"quotation-dash"}},"key":"2015"},{"category":"Po","mappings":{"default":{"default":"double vertical line","alternative":"double vertical bar"},"mathspeak":{"default":"double-vertical-bar"}},"key":"2016"},{"category":"Po","mappings":{"default":{"default":"double low line","alternative":"spacing double underscore"},"mathspeak":{"default":"double-underscore"}},"key":"2017"},{"category":"Pi","mappings":{"default":{"default":"left single quotation mark","alternative":"single turned comma quotation mark"},"mathspeak":{"default":"single-turned-comma-quotation-mark"}},"key":"2018"},{"category":"Pf","mappings":{"default":{"default":"right single quotation mark","alternative":"single comma quotation mark"},"mathspeak":{"default":"single-comma-quotation-mark"}},"key":"2019"},{"category":"Ps","mappings":{"default":{"default":"single low 9 quotation mark","alternative":"low single comma quotation mark"},"mathspeak":{"default":"low-single-comma-quotation-mark"}},"key":"201A"},{"category":"Pi","mappings":{"default":{"default":"single high reversed 9 quotation mark","alternative":"single reversed comma quotation mark"},"mathspeak":{"default":"single-reversed-comma-quotation-mark"}},"key":"201B"},{"category":"Pi","mappings":{"default":{"default":"left double quotation mark","alternative":"double turned comma quotation mark"},"mathspeak":{"default":"double-turned-comma-quotation-mark"}},"key":"201C"},{"category":"Pf","mappings":{"default":{"default":"right double quotation mark","alternative":"double comma quotation mark"},"mathspeak":{"default":"double-comma-quotation-mark"}},"key":"201D"},{"category":"Ps","mappings":{"default":{"default":"double low 9 quotation mark","alternative":"low double comma quotation mark"},"mathspeak":{"default":"low-double-comma-quotation-mark"}},"key":"201E"},{"category":"Pi","mappings":{"default":{"default":"double high reversed 9 quotation mark","alternative":"double reversed comma quotation mark"},"mathspeak":{"default":"double-reversed-comma-quotation-mark"}},"key":"201F"},{"category":"Po","mappings":{"default":{"default":"dagger"}},"key":"2020"},{"category":"Po","mappings":{"default":{"default":"double dagger"},"mathspeak":{"default":"double-dagger"}},"key":"2021"},{"category":"Po","mappings":{"default":{"default":"bullet"}},"key":"2022"},{"category":"Po","mappings":{"default":{"default":"triangular bullet"},"mathspeak":{"default":"triangular-bullet"}},"key":"2023"},{"category":"Po","mappings":{"default":{"default":"one dot leader"},"mathspeak":{"default":"one-dot-leader"}},"key":"2024"},{"category":"Po","mappings":{"default":{"default":"two dot leader"},"mathspeak":{"default":"two-dot-leader"}},"key":"2025"},{"category":"Po","mappings":{"default":{"default":"horizontal ellipsis"},"mathspeak":{"default":"ellipsis"}},"key":"2026"},{"category":"Po","mappings":{"default":{"default":"hyphenation point"},"mathspeak":{"default":"hyphenation-point"}},"key":"2027"},{"category":"Po","mappings":{"default":{"default":"per mille sign","short":"per mille"},"mathspeak":{"default":"per-mille"}},"key":"2030"},{"category":"Po","mappings":{"default":{"default":"per ten thousand sign","short":"per ten thousand"},"mathspeak":{"default":"per-ten-thousand"}},"key":"2031"},{"category":"Po","mappings":{"default":{"default":"prime"}},"key":"2032"},{"category":"Po","mappings":{"default":{"default":"double prime"},"mathspeak":{"default":"double-prime"}},"key":"2033"},{"category":"Po","mappings":{"default":{"default":"triple prime"},"mathspeak":{"default":"triple-prime"}},"key":"2034"},{"category":"Po","mappings":{"default":{"default":"reversed prime"},"mathspeak":{"default":"reversed-prime"}},"key":"2035"},{"category":"Po","mappings":{"default":{"default":"reversed double prime"},"mathspeak":{"default":"reversed-double-prime"}},"key":"2036"},{"category":"Po","mappings":{"default":{"default":"reversed triple prime"},"mathspeak":{"default":"reversed-triple-prime"}},"key":"2037"},{"category":"Po","mappings":{"default":{"default":"caret"}},"key":"2038"},{"category":"Pi","mappings":{"default":{"default":"single left pointing angle quotation mark","alternative":"left pointing single guillemet"},"mathspeak":{"default":"left-pointing-single-guillemet"}},"key":"2039"},{"category":"Pf","mappings":{"default":{"default":"single right pointing angle quotation mark","alternative":"right pointing single guillemet"},"mathspeak":{"default":"right-pointing-single-guillemet"}},"key":"203A"},{"category":"Po","mappings":{"default":{"default":"reference mark"},"mathspeak":{"default":"reference-mark"}},"key":"203B"},{"category":"Po","mappings":{"default":{"default":"double exclamation mark"},"mathspeak":{"default":"double-exclamation-mark"}},"key":"203C"},{"category":"Po","mappings":{"default":{"default":"interrobang"}},"key":"203D"},{"category":"Po","mappings":{"default":{"default":"overline","alternative":"spacing overscore"},"mathspeak":{"default":"bar"}},"key":"203E"},{"category":"Pc","mappings":{"default":{"default":"undertie"}},"key":"203F"},{"category":"Pc","mappings":{"default":{"default":"character tie"},"mathspeak":{"default":"character-tie"}},"key":"2040"},{"category":"Po","mappings":{"default":{"default":"caret insertion point"},"mathspeak":{"default":"caret-insertion-point"}},"key":"2041"},{"category":"Po","mappings":{"default":{"default":"asterism"}},"key":"2042"},{"category":"Po","mappings":{"default":{"default":"hyphen bullet"},"mathspeak":{"default":"hyphen-bullet"}},"key":"2043"},{"category":"Sm","mappings":{"default":{"default":"fraction slash"},"mathspeak":{"default":"fraction-slash"}},"key":"2044"},{"category":"Po","mappings":{"default":{"default":"double question mark"},"mathspeak":{"default":"double-question-mark"}},"key":"2047"},{"category":"Po","mappings":{"default":{"default":"question exclamation mark"},"mathspeak":{"default":"question-exclamation-mark"}},"key":"2048"},{"category":"Po","mappings":{"default":{"default":"exclamation question mark"},"mathspeak":{"default":"exclamation-question-mark"}},"key":"2049"},{"category":"Po","mappings":{"default":{"default":"reversed pilcrow sign","short":"reversed pilcrow"},"mathspeak":{"default":"reversed-pilcrow"}},"key":"204B"},{"category":"Po","mappings":{"default":{"default":"black leftwards bullet"},"mathspeak":{"default":"black-leftwards-bullet"}},"key":"204C"},{"category":"Po","mappings":{"default":{"default":"black rightwards bullet"},"mathspeak":{"default":"black-rightwards-bullet"}},"key":"204D"},{"category":"Po","mappings":{"default":{"default":"low asterisk"},"mathspeak":{"default":"low-asterisk"}},"key":"204E"},{"category":"Po","mappings":{"default":{"default":"reversed semicolon"},"mathspeak":{"default":"reversed-semicolon"}},"key":"204F"},{"category":"Po","mappings":{"default":{"default":"close up"},"mathspeak":{"default":"close-up"}},"key":"2050"},{"category":"Po","mappings":{"default":{"default":"two asterisks aligned vertically"},"mathspeak":{"default":"two-asterisks-aligned-vertically"}},"key":"2051"},{"category":"Sm","mappings":{"default":{"default":"commercial minus sign","short":"commercial minus"},"mathspeak":{"default":"commercial-minus"}},"key":"2052"},{"category":"Po","mappings":{"default":{"default":"swung dash"},"mathspeak":{"default":"swung-dash"}},"key":"2053"},{"category":"Pc","mappings":{"default":{"default":"inverted undertie"},"mathspeak":{"default":"inverted-undertie"}},"key":"2054"},{"category":"Po","mappings":{"default":{"default":"flower punctuation mark"},"mathspeak":{"default":"flower-punctuation-mark"}},"key":"2055"},{"category":"Po","mappings":{"default":{"default":"three dot punctuation"},"mathspeak":{"default":"three-dot-punctuation"}},"key":"2056"},{"category":"Po","mappings":{"default":{"default":"quadruple prime"},"mathspeak":{"default":"quadruple-prime"}},"key":"2057"},{"category":"Po","mappings":{"default":{"default":"four dot punctuation"},"mathspeak":{"default":"four-dot-punctuation"}},"key":"2058"},{"category":"Po","mappings":{"default":{"default":"five dot punctuation"},"mathspeak":{"default":"five-dot-punctuation"}},"key":"2059"},{"category":"Po","mappings":{"default":{"default":"two dot punctuation"},"mathspeak":{"default":"two-dot-punctuation"}},"key":"205A"},{"category":"Po","mappings":{"default":{"default":"four dot mark"},"mathspeak":{"default":"four-dot-mark"}},"key":"205B"},{"category":"Po","mappings":{"default":{"default":"dotted cross"},"mathspeak":{"default":"dotted-cross"}},"key":"205C"},{"category":"Po","mappings":{"default":{"default":"tricolon"}},"key":"205D"},{"category":"Po","mappings":{"default":{"default":"vertical four dots"},"mathspeak":{"default":"vertical-four-dots"}},"key":"205E"},{"category":"Sm","mappings":{"default":{"default":"superscript plus sign","short":"superscript plus"},"mathspeak":{"default":"superscript-plus"}},"key":"207A"},{"category":"Sm","mappings":{"default":{"default":"superscript minus","alternative":"superscript hyphen minus"},"mathspeak":{"default":"superscript-hyphen-minus"}},"key":"207B"},{"category":"Sm","mappings":{"default":{"default":"superscript equals sign","short":"superscript equals"},"mathspeak":{"default":"superscript-equals"}},"key":"207C"},{"category":"Ps","mappings":{"default":{"default":"superscript left parenthesis","alternative":"superscript opening parenthesis"},"mathspeak":{"default":"superscript-opening-parenthesis"}},"key":"207D"},{"category":"Pe","mappings":{"default":{"default":"superscript right parenthesis","alternative":"superscript closing parenthesis"},"mathspeak":{"default":"superscript-closing-parenthesis"}},"key":"207E"},{"category":"Sm","mappings":{"default":{"default":"subscript plus sign","short":"subscript plus"},"mathspeak":{"default":"subscript-plus"}},"key":"208A"},{"category":"Sm","mappings":{"default":{"default":"subscript minus","alternative":"subscript hyphen minus"},"mathspeak":{"default":"subscript-hyphen-minus"}},"key":"208B"},{"category":"Sm","mappings":{"default":{"default":"subscript equals sign","short":"subscript equals"},"mathspeak":{"default":"subscript-equals"}},"key":"208C"},{"category":"Ps","mappings":{"default":{"default":"subscript left parenthesis","alternative":"subscript opening parenthesis"},"mathspeak":{"default":"subscript-opening-parenthesis"}},"key":"208D"},{"category":"Pe","mappings":{"default":{"default":"subscript right parenthesis","alternative":"subscript closing parenthesis"},"mathspeak":{"default":"subscript-closing-parenthesis"}},"key":"208E"},{"category":"So","mappings":{"default":{"default":"property line"},"mathspeak":{"default":"property-line"}},"key":"214A"},{"category":"Sm","mappings":{"default":{"default":"turned ampersand"},"mathspeak":{"default":"turned-ampersand"}},"key":"214B"},{"category":"So","mappings":{"default":{"default":"per sign","short":"per"},"mathspeak":{"default":"per-sign"}},"key":"214C"},{"category":"So","mappings":{"default":{"default":"aktieselskab"}},"key":"214D"},{"category":"Ll","mappings":{"default":{"default":"turned small f"},"mathspeak":{"default":"turned-small-f"}},"key":"214E"},{"category":"Sm","mappings":{"default":{"default":"for all"},"mathspeak":{"default":"for-all"}},"key":"2200"},{"category":"Sm","mappings":{"default":{"default":"complement"}},"key":"2201"},{"category":"Sm","mappings":{"default":{"default":"partial differential"},"mathspeak":{"default":"partial-differential"}},"key":"2202"},{"category":"Sm","mappings":{"default":{"default":"there exists"},"mathspeak":{"default":"there-exists"}},"key":"2203"},{"category":"Sm","mappings":{"default":{"default":"there does not exist"},"mathspeak":{"default":"there-does-not-exist"}},"key":"2204"},{"category":"Sm","mappings":{"default":{"default":"empty set"},"mathspeak":{"default":"empty-set"}},"key":"2205"},{"category":"Sm","mappings":{"default":{"default":"increment"}},"key":"2206"},{"category":"Sm","mappings":{"default":{"default":"nabla"}},"key":"2207"},{"category":"Sm","mappings":{"default":{"default":"element of"},"mathspeak":{"default":"element-of"}},"key":"2208"},{"category":"Sm","mappings":{"default":{"default":"not an element of"},"mathspeak":{"default":"not-an-element-of"}},"key":"2209"},{"category":"Sm","mappings":{"default":{"default":"small element of"},"mathspeak":{"default":"small-element-of"}},"key":"220A"},{"category":"Sm","mappings":{"default":{"default":"contains as member"},"mathspeak":{"default":"contains-as-member"}},"key":"220B"},{"category":"Sm","mappings":{"default":{"default":"does not contain as member"},"mathspeak":{"default":"does-not-contain-as-member"}},"key":"220C"},{"category":"Sm","mappings":{"default":{"default":"small contains as member"},"mathspeak":{"default":"small-contains-as-member"}},"key":"220D"},{"category":"Sm","mappings":{"default":{"default":"end of proof"},"mathspeak":{"default":"end-of-proof"}},"key":"220E"},{"category":"Sm","mappings":{"default":{"default":"n ary product"},"mathspeak":{"default":"product"}},"key":"220F"},{"category":"Sm","mappings":{"default":{"default":"n ary coproduct"},"mathspeak":{"default":"coproduct"}},"key":"2210"},{"category":"Sm","mappings":{"default":{"default":"n ary summation"},"mathspeak":{"default":"sigma-summation"}},"key":"2211"},{"category":"Sm","mappings":{"default":{"default":"minus sign","short":"minus"}},"key":"2212"},{"category":"Sm","mappings":{"default":{"default":"minus or plus sign","short":"minus or plus"},"mathspeak":{"default":"minus-or-plus"}},"key":"2213"},{"category":"Sm","mappings":{"default":{"default":"dot plus"},"mathspeak":{"default":"dot-plus"}},"key":"2214"},{"category":"Sm","mappings":{"default":{"default":"division slash"},"mathspeak":{"default":"division-slash"}},"key":"2215"},{"category":"Sm","mappings":{"default":{"default":"set minus"},"mathspeak":{"default":"set-minus"}},"key":"2216"},{"category":"Sm","mappings":{"default":{"default":"asterisk operator"},"mathspeak":{"default":"asterisk"}},"key":"2217"},{"category":"Sm","mappings":{"default":{"default":"ring operator"},"mathspeak":{"default":"ring"}},"key":"2218"},{"category":"Sm","mappings":{"default":{"default":"bullet operator"},"mathspeak":{"default":"bullet"}},"key":"2219"},{"category":"Sm","mappings":{"default":{"default":"square root"},"mathspeak":{"default":"square-root"}},"key":"221A"},{"category":"Sm","mappings":{"default":{"default":"cube root"},"mathspeak":{"default":"cube-root"}},"key":"221B"},{"category":"Sm","mappings":{"default":{"default":"fourth root"},"mathspeak":{"default":"fourth-root"}},"key":"221C"},{"category":"Sm","mappings":{"default":{"default":"proportional to"},"mathspeak":{"default":"proportional-to"}},"key":"221D"},{"category":"Sm","mappings":{"default":{"default":"infinity"}},"key":"221E"},{"category":"Sm","mappings":{"default":{"default":"right angle"},"mathspeak":{"default":"right-angle"}},"key":"221F"},{"category":"Sm","mappings":{"default":{"default":"angle"}},"key":"2220"},{"category":"Sm","mappings":{"default":{"default":"measured angle"},"mathspeak":{"default":"measured-angle"}},"key":"2221"},{"category":"Sm","mappings":{"default":{"default":"spherical angle"},"mathspeak":{"default":"spherical-angle"}},"key":"2222"},{"category":"Sm","mappings":{"default":{"default":"divides","short":"bar"}},"key":"2223"},{"category":"Sm","mappings":{"default":{"default":"does not divide"},"mathspeak":{"default":"does-not-divide"}},"key":"2224"},{"category":"Sm","mappings":{"default":{"default":"parallel to"},"mathspeak":{"default":"parallel-to"}},"key":"2225"},{"category":"Sm","mappings":{"default":{"default":"not parallel to"},"mathspeak":{"default":"not-parallel-to"}},"key":"2226"},{"category":"Sm","mappings":{"default":{"default":"logical and"},"mathspeak":{"default":"logical-and"}},"key":"2227"},{"category":"Sm","mappings":{"default":{"default":"logical or"},"mathspeak":{"default":"logical-or"}},"key":"2228"},{"category":"Sm","mappings":{"default":{"default":"intersection"}},"key":"2229"},{"category":"Sm","mappings":{"default":{"default":"union"}},"key":"222A"},{"category":"Sm","mappings":{"default":{"default":"integral"}},"key":"222B"},{"category":"Sm","mappings":{"default":{"default":"double integral"},"mathspeak":{"default":"double-integral"}},"key":"222C"},{"category":"Sm","mappings":{"default":{"default":"triple integral"},"mathspeak":{"default":"triple-integral"}},"key":"222D"},{"category":"Sm","mappings":{"default":{"default":"contour integral"},"mathspeak":{"default":"contour-integral"}},"key":"222E"},{"category":"Sm","mappings":{"default":{"default":"surface integral"},"mathspeak":{"default":"surface-integral"}},"key":"222F"},{"category":"Sm","mappings":{"default":{"default":"volume integral"},"mathspeak":{"default":"volume-integral"}},"key":"2230"},{"category":"Sm","mappings":{"default":{"default":"clockwise integral"},"mathspeak":{"default":"clockwise-integral"}},"key":"2231"},{"category":"Sm","mappings":{"default":{"default":"clockwise contour integral"},"mathspeak":{"default":"clockwise-contour-integral"}},"key":"2232"},{"category":"Sm","mappings":{"default":{"default":"anticlockwise contour integral"},"mathspeak":{"default":"anticlockwise-contour-integral"}},"key":"2233"},{"category":"Sm","mappings":{"default":{"default":"therefore"}},"key":"2234"},{"category":"Sm","mappings":{"default":{"default":"because"}},"key":"2235"},{"category":"Sm","mappings":{"default":{"default":"ratio"}},"key":"2236"},{"category":"Sm","mappings":{"default":{"default":"proportion"}},"key":"2237"},{"category":"Sm","mappings":{"default":{"default":"dot minus"},"mathspeak":{"default":"dot-minus"}},"key":"2238"},{"category":"Sm","mappings":{"default":{"default":"excess"}},"key":"2239"},{"category":"Sm","mappings":{"default":{"default":"geometric proportion"},"mathspeak":{"default":"geometric-proportion"}},"key":"223A"},{"category":"Sm","mappings":{"default":{"default":"homothetic"}},"key":"223B"},{"category":"Sm","mappings":{"default":{"default":"tilde operator"},"mathspeak":{"default":"tilde"}},"key":"223C"},{"category":"Sm","mappings":{"default":{"default":"reversed tilde"},"mathspeak":{"default":"reversed-tilde"}},"key":"223D"},{"category":"Sm","mappings":{"default":{"default":"inverted lazy s"},"mathspeak":{"default":"inverted-lazy-s"}},"key":"223E"},{"category":"Sm","mappings":{"default":{"default":"sine wave"},"mathspeak":{"default":"sine-wave"}},"key":"223F"},{"category":"Sm","mappings":{"default":{"default":"wreath product"},"mathspeak":{"default":"wreath-product"}},"key":"2240"},{"category":"Sm","mappings":{"default":{"default":"not tilde"},"mathspeak":{"default":"not-tilde"}},"key":"2241"},{"category":"Sm","mappings":{"default":{"default":"minus tilde"},"mathspeak":{"default":"minus-tilde"}},"key":"2242"},{"category":"Sm","mappings":{"default":{"default":"asymptotically equals"},"mathspeak":{"default":"asymptotically-equals"}},"key":"2243"},{"category":"Sm","mappings":{"default":{"default":"not asymptotically equals"},"mathspeak":{"default":"not-asymptotically-equals"}},"key":"2244"},{"category":"Sm","mappings":{"default":{"default":"approximately equals"},"mathspeak":{"default":"approximately-equals"}},"key":"2245"},{"category":"Sm","mappings":{"default":{"default":"approximately but not actually equals"},"mathspeak":{"default":"approximately-but-not-actually-equals"}},"key":"2246"},{"category":"Sm","mappings":{"default":{"default":"neither approximately nor actually equals"},"mathspeak":{"default":"neither-approximately-nor-actually-equals"}},"key":"2247"},{"category":"Sm","mappings":{"default":{"default":"almost equals"},"mathspeak":{"default":"almost-equals"}},"key":"2248"},{"category":"Sm","mappings":{"default":{"default":"not almost equals"},"mathspeak":{"default":"not-almost-equals"}},"key":"2249"},{"category":"Sm","mappings":{"default":{"default":"almost equal or equals"},"mathspeak":{"default":"almost-equal-or-equal-to"}},"key":"224A"},{"category":"Sm","mappings":{"default":{"default":"triple tilde"},"mathspeak":{"default":"triple-tilde"}},"key":"224B"},{"category":"Sm","mappings":{"default":{"default":"all equals"},"mathspeak":{"default":"all-equals"}},"key":"224C"},{"category":"Sm","mappings":{"default":{"default":"equivalent to"},"mathspeak":{"default":"equivalent-to"}},"key":"224D"},{"category":"Sm","mappings":{"default":{"default":"geometrically equivalent to"},"mathspeak":{"default":"geometrically-equivalent-to"}},"key":"224E"},{"category":"Sm","mappings":{"default":{"default":"difference between"},"mathspeak":{"default":"difference-between"}},"key":"224F"},{"category":"Sm","mappings":{"default":{"default":"approaches the limit"},"mathspeak":{"default":"approaches-the-limit"}},"key":"2250"},{"category":"Sm","mappings":{"default":{"default":"geometrically equals"},"mathspeak":{"default":"geometrically-equals"}},"key":"2251"},{"category":"Sm","mappings":{"default":{"default":"approximately equals or the image of"},"mathspeak":{"default":"approximately-equals-or-the-image-of"}},"key":"2252"},{"category":"Sm","mappings":{"default":{"default":"image of or approximately equals"},"mathspeak":{"default":"image-of-or-approximately-equals"}},"key":"2253"},{"category":"Sm","mappings":{"default":{"default":"colon equals","alternative":"colon equal"},"mathspeak":{"default":"colon-equal"}},"key":"2254"},{"category":"Sm","mappings":{"default":{"default":"equals colon","alternative":"equal colon"},"mathspeak":{"default":"equal-colon"}},"key":"2255"},{"category":"Sm","mappings":{"default":{"default":"ring in equals"},"mathspeak":{"default":"ring-in-equals"}},"key":"2256"},{"category":"Sm","mappings":{"default":{"default":"ring equals"},"mathspeak":{"default":"ring-equals"}},"key":"2257"},{"category":"Sm","mappings":{"default":{"default":"corresponds to"},"mathspeak":{"default":"corresponds-to"}},"key":"2258"},{"category":"Sm","mappings":{"default":{"default":"estimates"}},"key":"2259"},{"category":"Sm","mappings":{"default":{"default":"equiangular to"},"mathspeak":{"default":"equiangular-to"}},"key":"225A"},{"category":"Sm","mappings":{"default":{"default":"star equals"},"mathspeak":{"default":"star-equals"}},"key":"225B"},{"category":"Sm","mappings":{"default":{"default":"delta equals"},"mathspeak":{"default":"delta-equals"}},"key":"225C"},{"category":"Sm","mappings":{"default":{"default":"equals by definition"},"mathspeak":{"default":"equals-by-definition"}},"key":"225D"},{"category":"Sm","mappings":{"default":{"default":"measured by"},"mathspeak":{"default":"measured-by"}},"key":"225E"},{"category":"Sm","mappings":{"default":{"default":"questioned equals"},"mathspeak":{"default":"questioned-equals"}},"key":"225F"},{"category":"Sm","mappings":{"default":{"default":"not equals"},"mathspeak":{"default":"not-equals"}},"key":"2260"},{"category":"Sm","mappings":{"default":{"default":"identical to"},"mathspeak":{"default":"identical-to"}},"key":"2261"},{"category":"Sm","mappings":{"default":{"default":"not identical to"},"mathspeak":{"default":"not-identical-to"}},"key":"2262"},{"category":"Sm","mappings":{"default":{"default":"strictly equivalent to"},"mathspeak":{"default":"strictly-equivalent-to"}},"key":"2263"},{"category":"Sm","mappings":{"default":{"default":"less than or equals","alternative":"less than or equals"},"mathspeak":{"default":"less-than-or-equal-to"}},"key":"2264"},{"category":"Sm","mappings":{"default":{"default":"greater than or equals","alternative":"greater than or equals"},"mathspeak":{"default":"greater-than-or-equal-to"}},"key":"2265"},{"category":"Sm","mappings":{"default":{"default":"less than over equals","alternative":"less than over equals"},"mathspeak":{"default":"less-than-over-equals"}},"key":"2266"},{"category":"Sm","mappings":{"default":{"default":"greater than over equals","alternative":"greater than over equals"},"mathspeak":{"default":"greater-than-over-equals"}},"key":"2267"},{"category":"Sm","mappings":{"default":{"default":"less than but not equals","alternative":"less than but not equals"},"mathspeak":{"default":"less-than-but-not-equals"}},"key":"2268"},{"category":"Sm","mappings":{"default":{"default":"greater than but not equals","alternative":"greater than but not equals"},"mathspeak":{"default":"greater-than-but-not-equals"}},"key":"2269"},{"category":"Sm","mappings":{"default":{"default":"much less than","alternative":"much less than"},"mathspeak":{"default":"much-less-than"}},"key":"226A"},{"category":"Sm","mappings":{"default":{"default":"much greater than","alternative":"much greater than"},"mathspeak":{"default":"much-greater-than"}},"key":"226B"},{"category":"Sm","mappings":{"default":{"default":"between"}},"key":"226C"},{"category":"Sm","mappings":{"default":{"default":"not equivalent to"},"mathspeak":{"default":"not-equivalent-to"}},"key":"226D"},{"category":"Sm","mappings":{"default":{"default":"not less than","alternative":"not less than"},"mathspeak":{"default":"not-less-than"}},"key":"226E"},{"category":"Sm","mappings":{"default":{"default":"not greater than","alternative":"not greater than"},"mathspeak":{"default":"not-greater-than"}},"key":"226F"},{"category":"Sm","mappings":{"default":{"default":"neither less than nor equals","alternative":"neither less than nor equals"},"mathspeak":{"default":"neither-less-than-nor-equal-to"}},"key":"2270"},{"category":"Sm","mappings":{"default":{"default":"neither greater than nor equals","alternative":"neither greater than nor equals"},"mathspeak":{"default":"neither-greater-than-nor-equal-to"}},"key":"2271"},{"category":"Sm","mappings":{"default":{"default":"less than or equivalent to","alternative":"less than or equivalent to"},"mathspeak":{"default":"less-than-or-equivalent-to"}},"key":"2272"},{"category":"Sm","mappings":{"default":{"default":"greater than or equivalent to","alternative":"greater than or equivalent to"},"mathspeak":{"default":"greater-than-or-equivalent-to"}},"key":"2273"},{"category":"Sm","mappings":{"default":{"default":"neither less than nor equivalent to","alternative":"neither less than nor equivalent to"},"mathspeak":{"default":"neither-less-than-nor-equivalent-to"}},"key":"2274"},{"category":"Sm","mappings":{"default":{"default":"neither greater than nor equivalent to","alternative":"neither greater than nor equivalent to"},"mathspeak":{"default":"neither-greater-than-nor-equivalent-to"}},"key":"2275"},{"category":"Sm","mappings":{"default":{"default":"less than or greater than","alternative":"less than or greater than"},"mathspeak":{"default":"less-than-or-greater-than"}},"key":"2276"},{"category":"Sm","mappings":{"default":{"default":"greater than or less than","alternative":"greater than or less than"},"mathspeak":{"default":"greater-than-or-less-than"}},"key":"2277"},{"category":"Sm","mappings":{"default":{"default":"neither less than nor greater than","alternative":"neither less than nor greater than"},"mathspeak":{"default":"neither-less-than-nor-greater-than"}},"key":"2278"},{"category":"Sm","mappings":{"default":{"default":"neither greater than nor less than","alternative":"neither greater than nor less than"},"mathspeak":{"default":"neither-greater-than-nor-less-than"}},"key":"2279"},{"category":"Sm","mappings":{"default":{"default":"precedes"}},"key":"227A"},{"category":"Sm","mappings":{"default":{"default":"succeeds"}},"key":"227B"},{"category":"Sm","mappings":{"default":{"default":"precedes or equals"},"mathspeak":{"default":"precedes-or-equal-to"}},"key":"227C"},{"category":"Sm","mappings":{"default":{"default":"succeeds or equals"},"mathspeak":{"default":"succeeds-or-equal-to"}},"key":"227D"},{"category":"Sm","mappings":{"default":{"default":"precedes or equivalent to"},"mathspeak":{"default":"precedes-or-equivalent-to"}},"key":"227E"},{"category":"Sm","mappings":{"default":{"default":"succeeds or equivalent to"},"mathspeak":{"default":"succeeds-or-equivalent-to"}},"key":"227F"},{"category":"Sm","mappings":{"default":{"default":"does not precede"},"mathspeak":{"default":"does-not-precede"}},"key":"2280"},{"category":"Sm","mappings":{"default":{"default":"does not succeed"},"mathspeak":{"default":"does-not-succeed"}},"key":"2281"},{"category":"Sm","mappings":{"default":{"default":"subset of"},"mathspeak":{"default":"subset-of"}},"key":"2282"},{"category":"Sm","mappings":{"default":{"default":"superset of"},"mathspeak":{"default":"superset-of"}},"key":"2283"},{"category":"Sm","mappings":{"default":{"default":"not a subset of"},"mathspeak":{"default":"not-a-subset-of"}},"key":"2284"},{"category":"Sm","mappings":{"default":{"default":"not a superset of"},"mathspeak":{"default":"not-a-superset-of"}},"key":"2285"},{"category":"Sm","mappings":{"default":{"default":"subset of or equals"},"mathspeak":{"default":"subset-of-or-equal-to"}},"key":"2286"},{"category":"Sm","mappings":{"default":{"default":"superset of or equals"},"mathspeak":{"default":"superset-of-or-equal-to"}},"key":"2287"},{"category":"Sm","mappings":{"default":{"default":"neither a subset of nor equals"},"mathspeak":{"default":"neither-a-subset-of-nor-equal-to"}},"key":"2288"},{"category":"Sm","mappings":{"default":{"default":"neither a superset of nor equals"},"mathspeak":{"default":"neither-a-superset-of-nor-equal-to"}},"key":"2289"},{"category":"Sm","mappings":{"default":{"default":"subset of with not equals","alternative":"subset of or not equals","short":"subset of or not equals"},"mathspeak":{"default":"subset-of-or-not-equals"}},"key":"228A"},{"category":"Sm","mappings":{"default":{"default":"superset of with not equals","alternative":"superset of or not equals","short":"superset of or not equals"},"mathspeak":{"default":"superset-of-or-not-equals"}},"key":"228B"},{"category":"Sm","mappings":{"default":{"default":"multiset"}},"key":"228C"},{"category":"Sm","mappings":{"default":{"default":"multiset multiplication"},"mathspeak":{"default":"multiset-multiplication"}},"key":"228D"},{"category":"Sm","mappings":{"default":{"default":"multiset union"},"mathspeak":{"default":"multiset-union"}},"key":"228E"},{"category":"Sm","mappings":{"default":{"default":"square image of"},"mathspeak":{"default":"square-image-of"}},"key":"228F"},{"category":"Sm","mappings":{"default":{"default":"square original of"},"mathspeak":{"default":"square-original-of"}},"key":"2290"},{"category":"Sm","mappings":{"default":{"default":"square image of or equals"},"mathspeak":{"default":"square-image-of-or-equal-to"}},"key":"2291"},{"category":"Sm","mappings":{"default":{"default":"square original of or equals"},"mathspeak":{"default":"square-original-of-or-equal-to"}},"key":"2292"},{"category":"Sm","mappings":{"default":{"default":"square cap"},"mathspeak":{"default":"square-cap"}},"key":"2293"},{"category":"Sm","mappings":{"default":{"default":"square cup"},"mathspeak":{"default":"square-cup"}},"key":"2294"},{"category":"Sm","mappings":{"default":{"default":"circled plus"},"mathspeak":{"default":"circled-plus"}},"key":"2295"},{"category":"Sm","mappings":{"default":{"default":"circled minus"},"mathspeak":{"default":"circled-minus"}},"key":"2296"},{"category":"Sm","mappings":{"default":{"default":"circled times"},"mathspeak":{"default":"circled-times"}},"key":"2297"},{"category":"Sm","mappings":{"default":{"default":"circled division slash"},"mathspeak":{"default":"circled-division-slash"}},"key":"2298"},{"category":"Sm","mappings":{"default":{"default":"circled dot operator"},"mathspeak":{"default":"circled-dot"}},"key":"2299"},{"category":"Sm","mappings":{"default":{"default":"circled ring operator"},"mathspeak":{"default":"circled-ring"}},"key":"229A"},{"category":"Sm","mappings":{"default":{"default":"circled asterisk operator"},"mathspeak":{"default":"circled-asterisk"}},"key":"229B"},{"category":"Sm","mappings":{"default":{"default":"circled equals"},"mathspeak":{"default":"circled-equals"}},"key":"229C"},{"category":"Sm","mappings":{"default":{"default":"circled dash"},"mathspeak":{"default":"circled-dash"}},"key":"229D"},{"category":"Sm","mappings":{"default":{"default":"squared plus"},"mathspeak":{"default":"squared-plus"}},"key":"229E"},{"category":"Sm","mappings":{"default":{"default":"squared minus"},"mathspeak":{"default":"squared-minus"}},"key":"229F"},{"category":"Sm","mappings":{"default":{"default":"squared times"},"mathspeak":{"default":"squared-times"}},"key":"22A0"},{"category":"Sm","mappings":{"default":{"default":"squared dot operator"},"mathspeak":{"default":"squared-dot"}},"key":"22A1"},{"category":"Sm","mappings":{"default":{"default":"right tack"},"mathspeak":{"default":"right-tack"}},"key":"22A2"},{"category":"Sm","mappings":{"default":{"default":"left tack"},"mathspeak":{"default":"left-tack"}},"key":"22A3"},{"category":"Sm","mappings":{"default":{"default":"down tack"},"mathspeak":{"default":"down-tack"}},"key":"22A4"},{"category":"Sm","mappings":{"default":{"default":"up tack"},"mathspeak":{"default":"up-tack"}},"key":"22A5"},{"category":"Sm","mappings":{"default":{"default":"assertion"}},"key":"22A6"},{"category":"Sm","mappings":{"default":{"default":"models"}},"key":"22A7"},{"category":"Sm","mappings":{"default":{"default":"true"}},"key":"22A8"},{"category":"Sm","mappings":{"default":{"default":"forces"}},"key":"22A9"},{"category":"Sm","mappings":{"default":{"default":"triple vertical bar right turnstile"},"mathspeak":{"default":"triple-vertical-bar-right-turnstile"}},"key":"22AA"},{"category":"Sm","mappings":{"default":{"default":"double vertical bar double right turnstile"},"mathspeak":{"default":"double-vertical-bar-double-right-turnstile"}},"key":"22AB"},{"category":"Sm","mappings":{"default":{"default":"does not prove"},"mathspeak":{"default":"does-not-prove"}},"key":"22AC"},{"category":"Sm","mappings":{"default":{"default":"not true"},"mathspeak":{"default":"not-true"}},"key":"22AD"},{"category":"Sm","mappings":{"default":{"default":"does not force"},"mathspeak":{"default":"does-not-force"}},"key":"22AE"},{"category":"Sm","mappings":{"default":{"default":"negated double vertical bar double right turnstile"},"mathspeak":{"default":"negated-double-vertical-bar-double-right-turnstile"}},"key":"22AF"},{"category":"Sm","mappings":{"default":{"default":"precedes under relation"},"mathspeak":{"default":"precedes-under-relation"}},"key":"22B0"},{"category":"Sm","mappings":{"default":{"default":"succeeds under relation"},"mathspeak":{"default":"succeeds-under-relation"}},"key":"22B1"},{"category":"Sm","mappings":{"default":{"default":"normal subgroup of"},"mathspeak":{"default":"normal-subgroup-of"}},"key":"22B2"},{"category":"Sm","mappings":{"default":{"default":"contains as normal subgroup"},"mathspeak":{"default":"contains-as-normal-subgroup"}},"key":"22B3"},{"category":"Sm","mappings":{"default":{"default":"normal subgroup of or equals"},"mathspeak":{"default":"normal-subgroup-of-or-equal-to"}},"key":"22B4"},{"category":"Sm","mappings":{"default":{"default":"contains as normal subgroup or equals"},"mathspeak":{"default":"contains-as-normal-subgroup-or-equal-to"}},"key":"22B5"},{"category":"Sm","mappings":{"default":{"default":"original of"},"mathspeak":{"default":"original-of"}},"key":"22B6"},{"category":"Sm","mappings":{"default":{"default":"image of"},"mathspeak":{"default":"image-of"}},"key":"22B7"},{"category":"Sm","mappings":{"default":{"default":"multimap"}},"key":"22B8"},{"category":"Sm","mappings":{"default":{"default":"hermitian conjugate matrix"},"mathspeak":{"default":"hermitian-conjugate-matrix"}},"key":"22B9"},{"category":"Sm","mappings":{"default":{"default":"intercalate"}},"key":"22BA"},{"category":"Sm","mappings":{"default":{"default":"xor"}},"key":"22BB"},{"category":"Sm","mappings":{"default":{"default":"nand"}},"key":"22BC"},{"category":"Sm","mappings":{"default":{"default":"nor"}},"key":"22BD"},{"category":"Sm","mappings":{"default":{"default":"right triangle"},"mathspeak":{"default":"right-triangle"}},"key":"22BF"},{"category":"Sm","mappings":{"default":{"default":"n ary logical and"},"mathspeak":{"default":"logical-and"}},"key":"22C0"},{"category":"Sm","mappings":{"default":{"default":"n ary logical or"},"mathspeak":{"default":"logical-or"}},"key":"22C1"},{"category":"Sm","mappings":{"default":{"default":"n ary intersection"},"mathspeak":{"default":"intersection"}},"key":"22C2"},{"category":"Sm","mappings":{"default":{"default":"n ary union"},"mathspeak":{"default":"union"}},"key":"22C3"},{"category":"Sm","mappings":{"default":{"default":"diamond operator"},"mathspeak":{"default":"diamond"}},"key":"22C4"},{"category":"Sm","mappings":{"default":{"default":"dot operator"},"mathspeak":{"default":"dot"}},"key":"22C5"},{"category":"Sm","mappings":{"default":{"default":"star operator"},"mathspeak":{"default":"star"}},"key":"22C6"},{"category":"Sm","mappings":{"default":{"default":"division times"},"mathspeak":{"default":"division-times"}},"key":"22C7"},{"category":"Sm","mappings":{"default":{"default":"bowtie"}},"key":"22C8"},{"category":"Sm","mappings":{"default":{"default":"left normal factor semidirect product"},"mathspeak":{"default":"left-normal-factor-semidirect-product"}},"key":"22C9"},{"category":"Sm","mappings":{"default":{"default":"right normal factor semidirect product"},"mathspeak":{"default":"right-normal-factor-semidirect-product"}},"key":"22CA"},{"category":"Sm","mappings":{"default":{"default":"left semidirect product"},"mathspeak":{"default":"left-semidirect-product"}},"key":"22CB"},{"category":"Sm","mappings":{"default":{"default":"right semidirect product"},"mathspeak":{"default":"right-semidirect-product"}},"key":"22CC"},{"category":"Sm","mappings":{"default":{"default":"reversed tilde equals"},"mathspeak":{"default":"reversed-tilde-equals"}},"key":"22CD"},{"category":"Sm","mappings":{"default":{"default":"curly logical or"},"mathspeak":{"default":"curly-logical-or"}},"key":"22CE"},{"category":"Sm","mappings":{"default":{"default":"curly logical and"},"mathspeak":{"default":"curly-logical-and"}},"key":"22CF"},{"category":"Sm","mappings":{"default":{"default":"double subset"},"mathspeak":{"default":"double-subset"}},"key":"22D0"},{"category":"Sm","mappings":{"default":{"default":"double superset"},"mathspeak":{"default":"double-superset"}},"key":"22D1"},{"category":"Sm","mappings":{"default":{"default":"double intersection"},"mathspeak":{"default":"double-intersection"}},"key":"22D2"},{"category":"Sm","mappings":{"default":{"default":"double union"},"mathspeak":{"default":"double-union"}},"key":"22D3"},{"category":"Sm","mappings":{"default":{"default":"pitchfork"}},"key":"22D4"},{"category":"Sm","mappings":{"default":{"default":"equal and parallel to"},"mathspeak":{"default":"equal-and-parallel-to"}},"key":"22D5"},{"category":"Sm","mappings":{"default":{"default":"less than with dot","alternative":"less than with dot","short":"less than dot"},"mathspeak":{"default":"less-than-dot"}},"key":"22D6"},{"category":"Sm","mappings":{"default":{"default":"greater than with dot","alternative":"greater than with dot","short":"greater than dot"},"mathspeak":{"default":"greater-than-dot"}},"key":"22D7"},{"category":"Sm","mappings":{"default":{"default":"very much less than","alternative":"very much less than"},"mathspeak":{"default":"very-much-less-than"}},"key":"22D8"},{"category":"Sm","mappings":{"default":{"default":"very much greater than","alternative":"very much greater than"},"mathspeak":{"default":"very-much-greater-than"}},"key":"22D9"},{"category":"Sm","mappings":{"default":{"default":"less than equals or greater than","alternative":"less than equals or greater than"},"mathspeak":{"default":"less-than-equals-or-greater-than"}},"key":"22DA"},{"category":"Sm","mappings":{"default":{"default":"greater than equals or less than","alternative":"greater than equals or less than"},"mathspeak":{"default":"greater-than-equals-or-less-than"}},"key":"22DB"},{"category":"Sm","mappings":{"default":{"default":"equals or less than","alternative":"equals or less than"},"mathspeak":{"default":"equals-or-less-than"}},"key":"22DC"},{"category":"Sm","mappings":{"default":{"default":"equals or greater than","alternative":"equals or greater than"},"mathspeak":{"default":"equals-or-greater-than"}},"key":"22DD"},{"category":"Sm","mappings":{"default":{"default":"equals or precedes"},"mathspeak":{"default":"equals-or-precedes"}},"key":"22DE"},{"category":"Sm","mappings":{"default":{"default":"equals or succeeds"},"mathspeak":{"default":"equals-or-succeeds"}},"key":"22DF"},{"category":"Sm","mappings":{"default":{"default":"does not precede or equal"},"mathspeak":{"default":"does-not-precede-or-equal"}},"key":"22E0"},{"category":"Sm","mappings":{"default":{"default":"does not succeed or equal"},"mathspeak":{"default":"does-not-succeed-or-equal"}},"key":"22E1"},{"category":"Sm","mappings":{"default":{"default":"not square image of or equals"},"mathspeak":{"default":"not-square-image-of-or-equal-to"}},"key":"22E2"},{"category":"Sm","mappings":{"default":{"default":"not square original of or equals"},"mathspeak":{"default":"not-square-original-of-or-equal-to"}},"key":"22E3"},{"category":"Sm","mappings":{"default":{"default":"square image of or not equals"},"mathspeak":{"default":"square-image-of-or-not-equals"}},"key":"22E4"},{"category":"Sm","mappings":{"default":{"default":"square original of or not equals"},"mathspeak":{"default":"square-original-of-or-not-equals"}},"key":"22E5"},{"category":"Sm","mappings":{"default":{"default":"less than but not equivalent to","alternative":"less than but not equivalent to"},"mathspeak":{"default":"less-than-but-not-equivalent-to"}},"key":"22E6"},{"category":"Sm","mappings":{"default":{"default":"greater than but not equivalent to","alternative":"greater than but not equivalent to"},"mathspeak":{"default":"greater-than-but-not-equivalent-to"}},"key":"22E7"},{"category":"Sm","mappings":{"default":{"default":"precedes but not equivalent to"},"mathspeak":{"default":"precedes-but-not-equivalent-to"}},"key":"22E8"},{"category":"Sm","mappings":{"default":{"default":"succeeds but not equivalent to"},"mathspeak":{"default":"succeeds-but-not-equivalent-to"}},"key":"22E9"},{"category":"Sm","mappings":{"default":{"default":"not normal subgroup of"},"mathspeak":{"default":"not-normal-subgroup-of"}},"key":"22EA"},{"category":"Sm","mappings":{"default":{"default":"does not contain as normal subgroup"},"mathspeak":{"default":"does-not-contain-as-normal-subgroup"}},"key":"22EB"},{"category":"Sm","mappings":{"default":{"default":"not normal subgroup of or equals"},"mathspeak":{"default":"not-normal-subgroup-of-or-equal-to"}},"key":"22EC"},{"category":"Sm","mappings":{"default":{"default":"does not contain as normal subgroup or equal"},"mathspeak":{"default":"does-not-contain-as-normal-subgroup-or-equal"}},"key":"22ED"},{"category":"Sm","mappings":{"default":{"default":"vertical ellipsis"},"mathspeak":{"default":"vertical-ellipsis"}},"key":"22EE"},{"category":"Sm","mappings":{"default":{"default":"midline horizontal ellipsis"},"mathspeak":{"default":"midline-horizontal-ellipsis"}},"key":"22EF"},{"category":"Sm","mappings":{"default":{"default":"up right diagonal ellipsis"},"mathspeak":{"default":"up-right-diagonal-ellipsis"}},"key":"22F0"},{"category":"Sm","mappings":{"default":{"default":"down right diagonal ellipsis"},"mathspeak":{"default":"down-right-diagonal-ellipsis"}},"key":"22F1"},{"category":"Sm","mappings":{"default":{"default":"element of with long horizontal stroke"},"mathspeak":{"default":"element-of-with-long-horizontal-stroke"}},"key":"22F2"},{"category":"Sm","mappings":{"default":{"default":"element of with vertical bar at end of horizontal stroke"},"mathspeak":{"default":"element-of-with-vertical-bar-at-end-of-horizontal-stroke"}},"key":"22F3"},{"category":"Sm","mappings":{"default":{"default":"small element of with vertical bar at end of horizontal stroke"},"mathspeak":{"default":"small-element-of-with-vertical-bar-at-end-of-horizontal-stroke"}},"key":"22F4"},{"category":"Sm","mappings":{"default":{"default":"element of with dot above"},"mathspeak":{"default":"element-of-with-dot-above"}},"key":"22F5"},{"category":"Sm","mappings":{"default":{"default":"element of with overbar"},"mathspeak":{"default":"element-of-with-overbar"}},"key":"22F6"},{"category":"Sm","mappings":{"default":{"default":"small element of with overbar"},"mathspeak":{"default":"small-element-of-with-overbar"}},"key":"22F7"},{"category":"Sm","mappings":{"default":{"default":"element of with underbar"},"mathspeak":{"default":"element-of-with-underbar"}},"key":"22F8"},{"category":"Sm","mappings":{"default":{"default":"element of with two horizontal strokes"},"mathspeak":{"default":"element-of-with-two-horizontal-strokes"}},"key":"22F9"},{"category":"Sm","mappings":{"default":{"default":"contains with long horizontal stroke"},"mathspeak":{"default":"contains-with-long-horizontal-stroke"}},"key":"22FA"},{"category":"Sm","mappings":{"default":{"default":"contains with vertical bar at end of horizontal stroke"},"mathspeak":{"default":"contains-with-vertical-bar-at-end-of-horizontal-stroke"}},"key":"22FB"},{"category":"Sm","mappings":{"default":{"default":"small contains with vertical bar at end of horizontal stroke"},"mathspeak":{"default":"small-contains-with-vertical-bar-at-end-of-horizontal-stroke"}},"key":"22FC"},{"category":"Sm","mappings":{"default":{"default":"contains with overbar"},"mathspeak":{"default":"contains-with-overbar"}},"key":"22FD"},{"category":"Sm","mappings":{"default":{"default":"small contains with overbar"},"mathspeak":{"default":"small-contains-with-overbar"}},"key":"22FE"},{"category":"Sm","mappings":{"default":{"default":"z notation bag membership"},"mathspeak":{"default":"z-notation-bag-membership"}},"key":"22FF"},{"category":"So","mappings":{"default":{"default":"diameter sign","short":"diameter"},"mathspeak":{"default":"diameter-sign"}},"key":"2300"},{"category":"So","mappings":{"default":{"default":"house"}},"key":"2302"},{"category":"So","mappings":{"default":{"default":"projective"}},"key":"2305"},{"category":"So","mappings":{"default":{"default":"perspective"}},"key":"2306"},{"category":"So","mappings":{"default":{"default":"wavy line"},"mathspeak":{"default":"wavy-line"}},"key":"2307"},{"category":"So","mappings":{"default":{"default":"reversed not sign","short":"reversed not"},"mathspeak":{"default":"reversed-not"}},"key":"2310"},{"category":"So","mappings":{"default":{"default":"square lozenge"},"mathspeak":{"default":"square-lozenge"}},"key":"2311"},{"category":"So","mappings":{"default":{"default":"arc"}},"key":"2312"},{"category":"So","mappings":{"default":{"default":"segment"}},"key":"2313"},{"category":"So","mappings":{"default":{"default":"sector"}},"key":"2314"},{"category":"So","mappings":{"default":{"default":"heavy plus sign","alternative":"heavy plus","short":"bold plus"},"mathspeak":{"default":"bold-plus"}},"key":"2795"},{"category":"So","mappings":{"default":{"default":"heavy minus sign","alternative":"heavy minus","short":"bold minus"},"mathspeak":{"default":"bold-minus"}},"key":"2796"},{"category":"So","mappings":{"default":{"default":"heavy division sign","alternative":"heavy division","short":"bold division"},"mathspeak":{"default":"bold-division"}},"key":"2797"},{"category":"So","mappings":{"default":{"default":"curly loop"},"mathspeak":{"default":"curly-loop"}},"key":"27B0"},{"category":"So","mappings":{"default":{"default":"double curly loop"},"mathspeak":{"default":"double-curly-loop"}},"key":"27BF"},{"category":"Sm","mappings":{"default":{"default":"white triangle containing small white triangle"},"mathspeak":{"default":"white-triangle-containing-small-white-triangle"}},"key":"27C1"},{"category":"Sm","mappings":{"default":{"default":"perpendicular"}},"key":"27C2"},{"category":"Sm","mappings":{"default":{"default":"open subset"},"mathspeak":{"default":"open-subset"}},"key":"27C3"},{"category":"Sm","mappings":{"default":{"default":"open superset"},"mathspeak":{"default":"open-superset"}},"key":"27C4"},{"category":"Sm","mappings":{"default":{"default":"or with dot inside"},"mathspeak":{"default":"or-with-dot-inside"}},"key":"27C7"},{"category":"Sm","mappings":{"default":{"default":"reverse solidus preceding subset"},"mathspeak":{"default":"reverse-solidus-preceding-subset"}},"key":"27C8"},{"category":"Sm","mappings":{"default":{"default":"superset preceding solidus"},"mathspeak":{"default":"superset-preceding-solidus"}},"key":"27C9"},{"category":"Sm","mappings":{"default":{"default":"vertical bar with horizontal stroke"},"mathspeak":{"default":"vertical-bar-with-horizontal-stroke"}},"key":"27CA"},{"category":"Sm","mappings":{"default":{"default":"mathematical rising diagonal"},"mathspeak":{"default":"mathematical-rising-diagonal"}},"key":"27CB"},{"category":"Sm","mappings":{"default":{"default":"long division"},"mathspeak":{"default":"long-division"}},"key":"27CC"},{"category":"Sm","mappings":{"default":{"default":"mathematical falling diagonal"},"mathspeak":{"default":"mathematical-falling-diagonal"}},"key":"27CD"},{"category":"Sm","mappings":{"default":{"default":"squared logical and"},"mathspeak":{"default":"squared-logical-and"}},"key":"27CE"},{"category":"Sm","mappings":{"default":{"default":"squared logical or"},"mathspeak":{"default":"squared-logical-or"}},"key":"27CF"},{"category":"Sm","mappings":{"default":{"default":"white diamond with centered dot"},"mathspeak":{"default":"white-diamond-with-centered-dot"}},"key":"27D0"},{"category":"Sm","mappings":{"default":{"default":"and with dot"},"mathspeak":{"default":"and-with-dot"}},"key":"27D1"},{"category":"Sm","mappings":{"default":{"default":"element of opening upwards"},"mathspeak":{"default":"element-of-opening-upwards"}},"key":"27D2"},{"category":"Sm","mappings":{"default":{"default":"lower right corner with dot"},"mathspeak":{"default":"lower-right-corner-with-dot"}},"key":"27D3"},{"category":"Sm","mappings":{"default":{"default":"upper left corner with dot"},"mathspeak":{"default":"upper-left-corner-with-dot"}},"key":"27D4"},{"category":"Sm","mappings":{"default":{"default":"left outer join"},"mathspeak":{"default":"left-outer-join"}},"key":"27D5"},{"category":"Sm","mappings":{"default":{"default":"right outer join"},"mathspeak":{"default":"right-outer-join"}},"key":"27D6"},{"category":"Sm","mappings":{"default":{"default":"full outer join"},"mathspeak":{"default":"full-outer-join"}},"key":"27D7"},{"category":"Sm","mappings":{"default":{"default":"large up tack"},"mathspeak":{"default":"large-up-tack"}},"key":"27D8"},{"category":"Sm","mappings":{"default":{"default":"large down tack"},"mathspeak":{"default":"large-down-tack"}},"key":"27D9"},{"category":"Sm","mappings":{"default":{"default":"left and right double turnstile"},"mathspeak":{"default":"left-and-right-double-turnstile"}},"key":"27DA"},{"category":"Sm","mappings":{"default":{"default":"left and right tack"},"mathspeak":{"default":"left-and-right-tack"}},"key":"27DB"},{"category":"Sm","mappings":{"default":{"default":"left multimap"},"mathspeak":{"default":"left-multimap"}},"key":"27DC"},{"category":"Sm","mappings":{"default":{"default":"long right tack"},"mathspeak":{"default":"long-right-tack"}},"key":"27DD"},{"category":"Sm","mappings":{"default":{"default":"long left tack"},"mathspeak":{"default":"long-left-tack"}},"key":"27DE"},{"category":"Sm","mappings":{"default":{"default":"up tack with circle above"},"mathspeak":{"default":"up-tack-with-circle-above"}},"key":"27DF"},{"category":"Sm","mappings":{"default":{"default":"lozenge divided by horizontal rule"},"mathspeak":{"default":"lozenge-divided-by-horizontal-rule"}},"key":"27E0"},{"category":"Sm","mappings":{"default":{"default":"white concave sided diamond"},"mathspeak":{"default":"white-concave-sided-diamond"}},"key":"27E1"},{"category":"Sm","mappings":{"default":{"default":"white concave sided diamond with leftwards tick"},"mathspeak":{"default":"white-concave-sided-diamond-with-leftwards-tick"}},"key":"27E2"},{"category":"Sm","mappings":{"default":{"default":"white concave sided diamond with rightwards tick"},"mathspeak":{"default":"white-concave-sided-diamond-with-rightwards-tick"}},"key":"27E3"},{"category":"Sm","mappings":{"default":{"default":"white square with leftwards tick"},"mathspeak":{"default":"white-square-with-leftwards-tick"}},"key":"27E4"},{"category":"Sm","mappings":{"default":{"default":"white square with rightwards tick"},"mathspeak":{"default":"white-square-with-rightwards-tick"}},"key":"27E5"},{"category":"Sm","mappings":{"default":{"default":"rising diagonal crossing falling diagonal"},"mathspeak":{"default":"rising-diagonal-crossing-falling-diagonal"}},"key":"292B"},{"category":"Sm","mappings":{"default":{"default":"falling diagonal crossing rising diagonal"},"mathspeak":{"default":"falling-diagonal-crossing-rising-diagonal"}},"key":"292C"},{"category":"Sm","mappings":{"default":{"default":"triple vertical bar delimiter"},"mathspeak":{"default":"triple-vertical-bar-delimiter"}},"key":"2980"},{"category":"Sm","mappings":{"default":{"default":"z notation spot"},"mathspeak":{"default":"z-notation-spot"}},"key":"2981"},{"category":"Sm","mappings":{"default":{"default":"z notation type colon"},"mathspeak":{"default":"z-notation-type-colon"}},"key":"2982"},{"category":"Sm","mappings":{"default":{"default":"dotted fence"},"mathspeak":{"default":"dotted-fence"}},"key":"2999"},{"category":"Sm","mappings":{"default":{"default":"vertical zigzag line"},"mathspeak":{"default":"vertical-zigzag-line"}},"key":"299A"},{"category":"Sm","mappings":{"default":{"default":"reversed empty set"},"mathspeak":{"default":"reversed-empty-set"}},"key":"29B0"},{"category":"Sm","mappings":{"default":{"default":"empty set with overbar"},"mathspeak":{"default":"empty-set-with-overbar"}},"key":"29B1"},{"category":"Sm","mappings":{"default":{"default":"empty set with small circle above"},"mathspeak":{"default":"empty-set-with-small-circle-above"}},"key":"29B2"},{"category":"Sm","mappings":{"default":{"default":"circle with horizontal bar"},"mathspeak":{"default":"circle-with-horizontal-bar"}},"key":"29B5"},{"category":"Sm","mappings":{"default":{"default":"circled vertical bar"},"mathspeak":{"default":"circled-vertical-bar"}},"key":"29B6"},{"category":"Sm","mappings":{"default":{"default":"circled parallel"},"mathspeak":{"default":"circled-parallel"}},"key":"29B7"},{"category":"Sm","mappings":{"default":{"default":"circled reverse solidus"},"mathspeak":{"default":"circled-reverse-solidus"}},"key":"29B8"},{"category":"Sm","mappings":{"default":{"default":"circled perpendicular"},"mathspeak":{"default":"circled-perpendicular"}},"key":"29B9"},{"category":"Sm","mappings":{"default":{"default":"circle divided by horizontal bar and top half divided by vertical bar"},"mathspeak":{"default":"circle-divided-by-horizontal-bar-and-top-half-divided-by-vertical-bar"}},"key":"29BA"},{"category":"Sm","mappings":{"default":{"default":"circle with superimposed x"},"mathspeak":{"default":"circle-with-superimposed-x"}},"key":"29BB"},{"category":"Sm","mappings":{"default":{"default":"circled anticlockwise rotated division sign","short":"circled anticlockwise rotated division"},"mathspeak":{"default":"circled-anticlockwise-rotated-division"}},"key":"29BC"},{"category":"Sm","mappings":{"default":{"default":"circled white bullet"},"mathspeak":{"default":"circled-white-bullet"}},"key":"29BE"},{"category":"Sm","mappings":{"default":{"default":"circled bullet"},"mathspeak":{"default":"circled-bullet"}},"key":"29BF"},{"category":"Sm","mappings":{"default":{"default":"circled less than"},"mathspeak":{"default":"circled-less-than"}},"key":"29C0"},{"category":"Sm","mappings":{"default":{"default":"circled greater than"},"mathspeak":{"default":"circled-greater-than"}},"key":"29C1"},{"category":"Sm","mappings":{"default":{"default":"circle with small circle to the right"},"mathspeak":{"default":"circle-with-small-circle-to-the-right"}},"key":"29C2"},{"category":"Sm","mappings":{"default":{"default":"circle with two horizontal strokes to the right"},"mathspeak":{"default":"circle-with-two-horizontal-strokes-to-the-right"}},"key":"29C3"},{"category":"Sm","mappings":{"default":{"default":"squared rising diagonal slash"},"mathspeak":{"default":"squared-rising-diagonal-slash"}},"key":"29C4"},{"category":"Sm","mappings":{"default":{"default":"squared falling diagonal slash"},"mathspeak":{"default":"squared-falling-diagonal-slash"}},"key":"29C5"},{"category":"Sm","mappings":{"default":{"default":"squared asterisk"},"mathspeak":{"default":"squared-asterisk"}},"key":"29C6"},{"category":"Sm","mappings":{"default":{"default":"squared small circle"},"mathspeak":{"default":"squared-small-circle"}},"key":"29C7"},{"category":"Sm","mappings":{"default":{"default":"squared square"},"mathspeak":{"default":"squared-square"}},"key":"29C8"},{"category":"Sm","mappings":{"default":{"default":"two joined squares"},"mathspeak":{"default":"two-joined-squares"}},"key":"29C9"},{"category":"Sm","mappings":{"default":{"default":"triangle with dot above"},"mathspeak":{"default":"triangle-with-dot-above"}},"key":"29CA"},{"category":"Sm","mappings":{"default":{"default":"triangle with underbar"},"mathspeak":{"default":"triangle-with-underbar"}},"key":"29CB"},{"category":"Sm","mappings":{"default":{"default":"s in triangle"},"mathspeak":{"default":"s-in-triangle"}},"key":"29CC"},{"category":"Sm","mappings":{"default":{"default":"triangle with serifs at bottom"},"mathspeak":{"default":"triangle-with-serifs-at-bottom"}},"key":"29CD"},{"category":"Sm","mappings":{"default":{"default":"right triangle above left triangle"},"mathspeak":{"default":"right-triangle-above-left-triangle"}},"key":"29CE"},{"category":"Sm","mappings":{"default":{"default":"left triangle beside vertical bar"},"mathspeak":{"default":"left-triangle-beside-vertical-bar"}},"key":"29CF"},{"category":"Sm","mappings":{"default":{"default":"vertical bar beside right triangle"},"mathspeak":{"default":"vertical-bar-beside-right-triangle"}},"key":"29D0"},{"category":"Sm","mappings":{"default":{"default":"bowtie with left half black"},"mathspeak":{"default":"bowtie-with-left-half-black"}},"key":"29D1"},{"category":"Sm","mappings":{"default":{"default":"bowtie with right half black"},"mathspeak":{"default":"bowtie-with-right-half-black"}},"key":"29D2"},{"category":"Sm","mappings":{"default":{"default":"black bowtie"},"mathspeak":{"default":"black-bowtie"}},"key":"29D3"},{"category":"Sm","mappings":{"default":{"default":"times with left half black"},"mathspeak":{"default":"times-with-left-half-black"}},"key":"29D4"},{"category":"Sm","mappings":{"default":{"default":"times with right half black"},"mathspeak":{"default":"times-with-right-half-black"}},"key":"29D5"},{"category":"Sm","mappings":{"default":{"default":"white hourglass"},"mathspeak":{"default":"white-hourglass"}},"key":"29D6"},{"category":"Sm","mappings":{"default":{"default":"black hourglass"},"mathspeak":{"default":"black-hourglass"}},"key":"29D7"},{"category":"Sm","mappings":{"default":{"default":"incomplete infinity"},"mathspeak":{"default":"incomplete-infinity"}},"key":"29DC"},{"category":"Sm","mappings":{"default":{"default":"tie over infinity"},"mathspeak":{"default":"tie-over-infinity"}},"key":"29DD"},{"category":"Sm","mappings":{"default":{"default":"infinity negated with vertical bar"},"mathspeak":{"default":"infinity-negated-with-vertical-bar"}},"key":"29DE"},{"category":"Sm","mappings":{"default":{"default":"double ended multimap"},"mathspeak":{"default":"double-ended-multimap"}},"key":"29DF"},{"category":"Sm","mappings":{"default":{"default":"square with contoured outline"},"mathspeak":{"default":"square-with-contoured-outline"}},"key":"29E0"},{"category":"Sm","mappings":{"default":{"default":"increases as"},"mathspeak":{"default":"increases-as"}},"key":"29E1"},{"category":"Sm","mappings":{"default":{"default":"shuffle product"},"mathspeak":{"default":"shuffle-product"}},"key":"29E2"},{"category":"Sm","mappings":{"default":{"default":"equals sign and slanted parallel"},"mathspeak":{"default":"equals-and-slanted-parallel"}},"key":"29E3"},{"category":"Sm","mappings":{"default":{"default":"equals sign and slanted parallel with tilde above"},"mathspeak":{"default":"equals-and-slanted-parallel-with-tilde-above"}},"key":"29E4"},{"category":"Sm","mappings":{"default":{"default":"identical to and slanted parallel"},"mathspeak":{"default":"identical-to-and-slanted-parallel"}},"key":"29E5"},{"category":"Sm","mappings":{"default":{"default":"gleich stark"},"mathspeak":{"default":"gleich-stark"}},"key":"29E6"},{"category":"Sm","mappings":{"default":{"default":"thermodynamic"}},"key":"29E7"},{"category":"Sm","mappings":{"default":{"default":"down pointing triangle with left half black"},"mathspeak":{"default":"down-pointing-triangle-with-left-half-black"}},"key":"29E8"},{"category":"Sm","mappings":{"default":{"default":"down pointing triangle with right half black"},"mathspeak":{"default":"down-pointing-triangle-with-right-half-black"}},"key":"29E9"},{"category":"Sm","mappings":{"default":{"default":"black lozenge"},"mathspeak":{"default":"black-lozenge"}},"key":"29EB"},{"category":"Sm","mappings":{"default":{"default":"error barred white square"},"mathspeak":{"default":"error-barred-white-square"}},"key":"29EE"},{"category":"Sm","mappings":{"default":{"default":"error barred black square"},"mathspeak":{"default":"error-barred-black-square"}},"key":"29EF"},{"category":"Sm","mappings":{"default":{"default":"error barred white diamond"},"mathspeak":{"default":"error-barred-white-diamond"}},"key":"29F0"},{"category":"Sm","mappings":{"default":{"default":"error barred black diamond"},"mathspeak":{"default":"error-barred-black-diamond"}},"key":"29F1"},{"category":"Sm","mappings":{"default":{"default":"error barred white circle"},"mathspeak":{"default":"error-barred-white-circle"}},"key":"29F2"},{"category":"Sm","mappings":{"default":{"default":"error barred black circle"},"mathspeak":{"default":"error-barred-black-circle"}},"key":"29F3"},{"category":"Sm","mappings":{"default":{"default":"rule delayed"},"mathspeak":{"default":"rule-delayed"}},"key":"29F4"},{"category":"Sm","mappings":{"default":{"default":"reverse solidus operator"},"mathspeak":{"default":"reverse-solidus"}},"key":"29F5"},{"category":"Sm","mappings":{"default":{"default":"solidus with overbar"},"mathspeak":{"default":"solidus-with-overbar"}},"key":"29F6"},{"category":"Sm","mappings":{"default":{"default":"reverse solidus with horizontal stroke"},"mathspeak":{"default":"reverse-solidus-with-horizontal-stroke"}},"key":"29F7"},{"category":"Sm","mappings":{"default":{"default":"big solidus"},"mathspeak":{"default":"solidus"}},"key":"29F8"},{"category":"Sm","mappings":{"default":{"default":"big reverse solidus"},"mathspeak":{"default":"reverse-solidus"}},"key":"29F9"},{"category":"Sm","mappings":{"default":{"default":"double plus"},"mathspeak":{"default":"double-plus"}},"key":"29FA"},{"category":"Sm","mappings":{"default":{"default":"triple plus"},"mathspeak":{"default":"triple-plus"}},"key":"29FB"},{"category":"Sm","mappings":{"default":{"default":"tiny"}},"key":"29FE"},{"category":"Sm","mappings":{"default":{"default":"miny"}},"key":"29FF"},{"category":"Sm","mappings":{"default":{"default":"n ary circled dot operator"},"mathspeak":{"default":"circled-dot"}},"key":"2A00"},{"category":"Sm","mappings":{"default":{"default":"n ary circled plus operator"},"mathspeak":{"default":"circled-plus"}},"key":"2A01"},{"category":"Sm","mappings":{"default":{"default":"n ary circled times operator"},"mathspeak":{"default":"circled-times"}},"key":"2A02"},{"category":"Sm","mappings":{"default":{"default":"n ary union operator with dot"},"mathspeak":{"default":"union-with-dot"}},"key":"2A03"},{"category":"Sm","mappings":{"default":{"default":"n ary union operator with plus"},"mathspeak":{"default":"union-with-plus"}},"key":"2A04"},{"category":"Sm","mappings":{"default":{"default":"n ary square intersection operator"},"mathspeak":{"default":"square-intersection"}},"key":"2A05"},{"category":"Sm","mappings":{"default":{"default":"n ary square union operator"},"mathspeak":{"default":"square-union"}},"key":"2A06"},{"category":"Sm","mappings":{"default":{"default":"two logical and operator"},"mathspeak":{"default":"two-logical-and"}},"key":"2A07"},{"category":"Sm","mappings":{"default":{"default":"two logical or operator"},"mathspeak":{"default":"two-logical-or"}},"key":"2A08"},{"category":"Sm","mappings":{"default":{"default":"n ary times operator"},"mathspeak":{"default":"times"}},"key":"2A09"},{"category":"Sm","mappings":{"default":{"default":"modulo two sum"},"mathspeak":{"default":"modulo-two-sum"}},"key":"2A0A"},{"category":"Sm","mappings":{"default":{"default":"summation with integral"},"mathspeak":{"default":"summation-with-integral"}},"key":"2A0B"},{"category":"Sm","mappings":{"default":{"default":"quadruple integral operator"},"mathspeak":{"default":"quadruple-integral"}},"key":"2A0C"},{"category":"Sm","mappings":{"default":{"default":"finite part integral"},"mathspeak":{"default":"finite-part-integral"}},"key":"2A0D"},{"category":"Sm","mappings":{"default":{"default":"integral with double stroke"},"mathspeak":{"default":"integral-with-double-stroke"}},"key":"2A0E"},{"category":"Sm","mappings":{"default":{"default":"integral average with slash"},"mathspeak":{"default":"integral-average-with-slash"}},"key":"2A0F"},{"category":"Sm","mappings":{"default":{"default":"circulation function"},"mathspeak":{"default":"circulation-function"}},"key":"2A10"},{"category":"Sm","mappings":{"default":{"default":"anticlockwise integration"},"mathspeak":{"default":"anticlockwise-integration"}},"key":"2A11"},{"category":"Sm","mappings":{"default":{"default":"line integration with rectangular path around pole"},"mathspeak":{"default":"line-integration-with-rectangular-path-around-pole"}},"key":"2A12"},{"category":"Sm","mappings":{"default":{"default":"line integration with semicircular path around pole"},"mathspeak":{"default":"line-integration-with-semicircular-path-around-pole"}},"key":"2A13"},{"category":"Sm","mappings":{"default":{"default":"line integration not including the pole"},"mathspeak":{"default":"line-integration-not-including-the-pole"}},"key":"2A14"},{"category":"Sm","mappings":{"default":{"default":"integral around a point operator"},"mathspeak":{"default":"integral-around-a-point"}},"key":"2A15"},{"category":"Sm","mappings":{"default":{"default":"quaternion integral operator"},"mathspeak":{"default":"quaternion-integral"}},"key":"2A16"},{"category":"Sm","mappings":{"default":{"default":"integral with times sign","short":"integral with times"},"mathspeak":{"default":"integral-with-times"}},"key":"2A18"},{"category":"Sm","mappings":{"default":{"default":"integral with intersection"},"mathspeak":{"default":"integral-with-intersection"}},"key":"2A19"},{"category":"Sm","mappings":{"default":{"default":"integral with union"},"mathspeak":{"default":"integral-with-union"}},"key":"2A1A"},{"category":"Sm","mappings":{"default":{"default":"integral with overbar"},"mathspeak":{"default":"integral-with-overbar"}},"key":"2A1B"},{"category":"Sm","mappings":{"default":{"default":"integral with underbar"},"mathspeak":{"default":"integral-with-underbar"}},"key":"2A1C"},{"category":"Sm","mappings":{"default":{"default":"join"}},"key":"2A1D"},{"category":"Sm","mappings":{"default":{"default":"large left triangle operator"},"mathspeak":{"default":"large-left-triangle"}},"key":"2A1E"},{"category":"Sm","mappings":{"default":{"default":"z notation schema composition"},"mathspeak":{"default":"z-notation-schema-composition"}},"key":"2A1F"},{"category":"Sm","mappings":{"default":{"default":"z notation schema piping"},"mathspeak":{"default":"z-notation-schema-piping"}},"key":"2A20"},{"category":"Sm","mappings":{"default":{"default":"z notation schema projection"},"mathspeak":{"default":"z-notation-schema-projection"}},"key":"2A21"},{"category":"Sm","mappings":{"default":{"default":"plus sign with small circle above","short":"plus with circle above"},"mathspeak":{"default":"plus-with-circle-above"}},"key":"2A22"},{"category":"Sm","mappings":{"default":{"default":"plus sign with circumflex accent above","short":"plus hat"},"mathspeak":{"default":"plus-hat"}},"key":"2A23"},{"category":"Sm","mappings":{"default":{"default":"plus sign with tilde above","short":"plus tilde"},"mathspeak":{"default":"plus-tilde"}},"key":"2A24"},{"category":"Sm","mappings":{"default":{"default":"plus sign with dot below","short":"plus underdot"},"mathspeak":{"default":"plus-underdot"}},"key":"2A25"},{"category":"Sm","mappings":{"default":{"default":"plus sign with tilde below"},"mathspeak":{"default":"plus-sign-with-tilde-below"}},"key":"2A26"},{"category":"Sm","mappings":{"default":{"default":"plus sign with subscript two"},"mathspeak":{"default":"plus-sign-with-subscript-two"}},"key":"2A27"},{"category":"Sm","mappings":{"default":{"default":"plus sign with black triangle"},"mathspeak":{"default":"plus-sign-with-black-triangle"}},"key":"2A28"},{"category":"Sm","mappings":{"default":{"default":"minus sign with comma above"},"mathspeak":{"default":"minus-sign-with-comma-above"}},"key":"2A29"},{"category":"Sm","mappings":{"default":{"default":"minus sign with dot below"},"mathspeak":{"default":"minus-sign-with-dot-below"}},"key":"2A2A"},{"category":"Sm","mappings":{"default":{"default":"minus sign with falling dots"},"mathspeak":{"default":"minus-sign-with-falling-dots"}},"key":"2A2B"},{"category":"Sm","mappings":{"default":{"default":"minus sign with rising dots"},"mathspeak":{"default":"minus-sign-with-rising-dots"}},"key":"2A2C"},{"category":"Sm","mappings":{"default":{"default":"plus sign in left half circle"},"mathspeak":{"default":"plus-sign-in-left-half-circle"}},"key":"2A2D"},{"category":"Sm","mappings":{"default":{"default":"plus sign in right half circle"},"mathspeak":{"default":"plus-sign-in-right-half-circle"}},"key":"2A2E"},{"category":"Sm","mappings":{"default":{"default":"vector or cross product"},"mathspeak":{"default":"vector-or-cross-product"}},"key":"2A2F"},{"category":"Sm","mappings":{"default":{"default":"multiplication sign with dot above"},"mathspeak":{"default":"multiplication-sign-with-dot-above"}},"key":"2A30"},{"category":"Sm","mappings":{"default":{"default":"multiplication sign with underbar"},"mathspeak":{"default":"multiplication-sign-with-underbar"}},"key":"2A31"},{"category":"Sm","mappings":{"default":{"default":"semidirect product with bottom closed"},"mathspeak":{"default":"semidirect-product-with-bottom-closed"}},"key":"2A32"},{"category":"Sm","mappings":{"default":{"default":"smash product"},"mathspeak":{"default":"smash-product"}},"key":"2A33"},{"category":"Sm","mappings":{"default":{"default":"multiplication sign in left half circle"},"mathspeak":{"default":"multiplication-sign-in-left-half-circle"}},"key":"2A34"},{"category":"Sm","mappings":{"default":{"default":"multiplication sign in right half circle"},"mathspeak":{"default":"multiplication-sign-in-right-half-circle"}},"key":"2A35"},{"category":"Sm","mappings":{"default":{"default":"circled multiplication sign with circumflex accent"},"mathspeak":{"default":"circled-multiplication-sign-with-circumflex-accent"}},"key":"2A36"},{"category":"Sm","mappings":{"default":{"default":"multiplication sign in double circle"},"mathspeak":{"default":"multiplication-sign-in-double-circle"}},"key":"2A37"},{"category":"Sm","mappings":{"default":{"default":"circled division sign","short":"circled division"},"mathspeak":{"default":"circled-division"}},"key":"2A38"},{"category":"Sm","mappings":{"default":{"default":"plus sign in triangle"},"mathspeak":{"default":"plus-sign-in-triangle"}},"key":"2A39"},{"category":"Sm","mappings":{"default":{"default":"minus sign in triangle"},"mathspeak":{"default":"minus-sign-in-triangle"}},"key":"2A3A"},{"category":"Sm","mappings":{"default":{"default":"multiplication sign in triangle"},"mathspeak":{"default":"multiplication-sign-in-triangle"}},"key":"2A3B"},{"category":"Sm","mappings":{"default":{"default":"interior product"},"mathspeak":{"default":"interior-product"}},"key":"2A3C"},{"category":"Sm","mappings":{"default":{"default":"righthand interior product"},"mathspeak":{"default":"righthand-interior-product"}},"key":"2A3D"},{"category":"Sm","mappings":{"default":{"default":"z notation relational composition"},"mathspeak":{"default":"z-notation-relational-composition"}},"key":"2A3E"},{"category":"Sm","mappings":{"default":{"default":"amalgamation or coproduct"},"mathspeak":{"default":"amalgamation-or-coproduct"}},"key":"2A3F"},{"category":"Sm","mappings":{"default":{"default":"intersection with dot"},"mathspeak":{"default":"intersection-with-dot"}},"key":"2A40"},{"category":"Sm","mappings":{"default":{"default":"union with minus sign","short":"union with minus"},"mathspeak":{"default":"union-with-minus"}},"key":"2A41"},{"category":"Sm","mappings":{"default":{"default":"union with overbar"},"mathspeak":{"default":"union-with-overbar"}},"key":"2A42"},{"category":"Sm","mappings":{"default":{"default":"intersection with overbar"},"mathspeak":{"default":"intersection-with-overbar"}},"key":"2A43"},{"category":"Sm","mappings":{"default":{"default":"intersection with logical and"},"mathspeak":{"default":"intersection-with-logical-and"}},"key":"2A44"},{"category":"Sm","mappings":{"default":{"default":"union with logical or"},"mathspeak":{"default":"union-with-logical-or"}},"key":"2A45"},{"category":"Sm","mappings":{"default":{"default":"union above intersection"},"mathspeak":{"default":"union-above-intersection"}},"key":"2A46"},{"category":"Sm","mappings":{"default":{"default":"intersection above union"},"mathspeak":{"default":"intersection-above-union"}},"key":"2A47"},{"category":"Sm","mappings":{"default":{"default":"union above bar above intersection"},"mathspeak":{"default":"union-above-bar-above-intersection"}},"key":"2A48"},{"category":"Sm","mappings":{"default":{"default":"intersection above bar above union"},"mathspeak":{"default":"intersection-above-bar-above-union"}},"key":"2A49"},{"category":"Sm","mappings":{"default":{"default":"union beside and joined with union"},"mathspeak":{"default":"union-beside-and-joined-with-union"}},"key":"2A4A"},{"category":"Sm","mappings":{"default":{"default":"intersection beside and joined with intersection"},"mathspeak":{"default":"intersection-beside-and-joined-with-intersection"}},"key":"2A4B"},{"category":"Sm","mappings":{"default":{"default":"closed union with serifs"},"mathspeak":{"default":"closed-union-with-serifs"}},"key":"2A4C"},{"category":"Sm","mappings":{"default":{"default":"closed intersection with serifs"},"mathspeak":{"default":"closed-intersection-with-serifs"}},"key":"2A4D"},{"category":"Sm","mappings":{"default":{"default":"double square intersection"},"mathspeak":{"default":"double-square-intersection"}},"key":"2A4E"},{"category":"Sm","mappings":{"default":{"default":"double square union"},"mathspeak":{"default":"double-square-union"}},"key":"2A4F"},{"category":"Sm","mappings":{"default":{"default":"closed union with serifs and smash product"},"mathspeak":{"default":"closed-union-with-serifs-and-smash-product"}},"key":"2A50"},{"category":"Sm","mappings":{"default":{"default":"logical and with dot above"},"mathspeak":{"default":"logical-and-with-dot-above"}},"key":"2A51"},{"category":"Sm","mappings":{"default":{"default":"logical or with dot above"},"mathspeak":{"default":"logical-or-with-dot-above"}},"key":"2A52"},{"category":"Sm","mappings":{"default":{"default":"double logical and"},"mathspeak":{"default":"double-logical-and"}},"key":"2A53"},{"category":"Sm","mappings":{"default":{"default":"double logical or"},"mathspeak":{"default":"double-logical-or"}},"key":"2A54"},{"category":"Sm","mappings":{"default":{"default":"two intersecting logical and"},"mathspeak":{"default":"two-intersecting-logical-and"}},"key":"2A55"},{"category":"Sm","mappings":{"default":{"default":"two intersecting logical or"},"mathspeak":{"default":"two-intersecting-logical-or"}},"key":"2A56"},{"category":"Sm","mappings":{"default":{"default":"sloping large or"},"mathspeak":{"default":"sloping-large-or"}},"key":"2A57"},{"category":"Sm","mappings":{"default":{"default":"sloping large and"},"mathspeak":{"default":"sloping-large-and"}},"key":"2A58"},{"category":"Sm","mappings":{"default":{"default":"logical or overlapping logical and"},"mathspeak":{"default":"logical-or-overlapping-logical-and"}},"key":"2A59"},{"category":"Sm","mappings":{"default":{"default":"logical and with middle stem"},"mathspeak":{"default":"logical-and-with-middle-stem"}},"key":"2A5A"},{"category":"Sm","mappings":{"default":{"default":"logical or with middle stem"},"mathspeak":{"default":"logical-or-with-middle-stem"}},"key":"2A5B"},{"category":"Sm","mappings":{"default":{"default":"logical and with horizontal dash"},"mathspeak":{"default":"logical-and-with-horizontal-dash"}},"key":"2A5C"},{"category":"Sm","mappings":{"default":{"default":"logical or with horizontal dash"},"mathspeak":{"default":"logical-or-with-horizontal-dash"}},"key":"2A5D"},{"category":"Sm","mappings":{"default":{"default":"logical and with double overbar"},"mathspeak":{"default":"logical-and-with-double-overbar"}},"key":"2A5E"},{"category":"Sm","mappings":{"default":{"default":"logical and with underbar"},"mathspeak":{"default":"logical-and-with-underbar"}},"key":"2A5F"},{"category":"Sm","mappings":{"default":{"default":"logical and with double underbar"},"mathspeak":{"default":"logical-and-with-double-underbar"}},"key":"2A60"},{"category":"Sm","mappings":{"default":{"default":"small vee with underbar"},"mathspeak":{"default":"small-vee-with-underbar"}},"key":"2A61"},{"category":"Sm","mappings":{"default":{"default":"logical or with double overbar"},"mathspeak":{"default":"logical-or-with-double-overbar"}},"key":"2A62"},{"category":"Sm","mappings":{"default":{"default":"logical or with double underbar"},"mathspeak":{"default":"logical-or-with-double-underbar"}},"key":"2A63"},{"category":"Sm","mappings":{"default":{"default":"z notation domain antirestriction"},"mathspeak":{"default":"z-notation-domain-antirestriction"}},"key":"2A64"},{"category":"Sm","mappings":{"default":{"default":"z notation range antirestriction"},"mathspeak":{"default":"z-notation-range-antirestriction"}},"key":"2A65"},{"category":"Sm","mappings":{"default":{"default":"equals sign with dot below"},"mathspeak":{"default":"equals-with-dot-below"}},"key":"2A66"},{"category":"Sm","mappings":{"default":{"default":"identical with dot above"},"mathspeak":{"default":"identical-with-dot-above"}},"key":"2A67"},{"category":"Sm","mappings":{"default":{"default":"triple horizontal bar with double vertical stroke"},"mathspeak":{"default":"triple-horizontal-bar-with-double-vertical-stroke"}},"key":"2A68"},{"category":"Sm","mappings":{"default":{"default":"triple horizontal bar with triple vertical stroke"},"mathspeak":{"default":"triple-horizontal-bar-with-triple-vertical-stroke"}},"key":"2A69"},{"category":"Sm","mappings":{"default":{"default":"tilde operator with dot above"},"mathspeak":{"default":"tilde-with-dot-above"}},"key":"2A6A"},{"category":"Sm","mappings":{"default":{"default":"tilde operator with rising dots"},"mathspeak":{"default":"tilde-with-rising-dots"}},"key":"2A6B"},{"category":"Sm","mappings":{"default":{"default":"similar minus similar"},"mathspeak":{"default":"similar-minus-similar"}},"key":"2A6C"},{"category":"Sm","mappings":{"default":{"default":"congruent with dot above"},"mathspeak":{"default":"congruent-with-dot-above"}},"key":"2A6D"},{"category":"Sm","mappings":{"default":{"default":"equals with asterisk"},"mathspeak":{"default":"equals-with-asterisk"}},"key":"2A6E"},{"category":"Sm","mappings":{"default":{"default":"almost equals with circumflex accent","short":"almost equal hat"},"mathspeak":{"default":"almost-equal-hat"}},"key":"2A6F"},{"category":"Sm","mappings":{"default":{"default":"approximately equal or equals"},"mathspeak":{"default":"approximately-equal-or-equal-to"}},"key":"2A70"},{"category":"Sm","mappings":{"default":{"default":"equals sign above plus sign","short":"equals above plus"},"mathspeak":{"default":"equals-above-plus"}},"key":"2A71"},{"category":"Sm","mappings":{"default":{"default":"plus sign above equals sign","short":"plus above equals"},"mathspeak":{"default":"plus-above-equals"}},"key":"2A72"},{"category":"Sm","mappings":{"default":{"default":"equals sign above tilde operator","short":"equals above tilde operator"},"mathspeak":{"default":"equals-above-tilde"}},"key":"2A73"},{"category":"Sm","mappings":{"default":{"default":"double colon equal"},"mathspeak":{"default":"double-colon-equal"}},"key":"2A74"},{"category":"Sm","mappings":{"default":{"default":"two consecutive equals signs","short":"two consecutive equals"},"mathspeak":{"default":"two-consecutive-equals"}},"key":"2A75"},{"category":"Sm","mappings":{"default":{"default":"three consecutive equals signs","short":"three consecutive equals"},"mathspeak":{"default":"three-consecutive-equals"}},"key":"2A76"},{"category":"Sm","mappings":{"default":{"default":"equals sign with two dots above and two dots below"},"mathspeak":{"default":"equals-with-two-dots-above-and-two-dots-below"}},"key":"2A77"},{"category":"Sm","mappings":{"default":{"default":"equivalent with four dots above"},"mathspeak":{"default":"equivalent-with-four-dots-above"}},"key":"2A78"},{"category":"Sm","mappings":{"default":{"default":"less than with circle inside"},"mathspeak":{"default":"less-than-with-circle-inside"}},"key":"2A79"},{"category":"Sm","mappings":{"default":{"default":"greater than with circle inside"},"mathspeak":{"default":"greater-than-with-circle-inside"}},"key":"2A7A"},{"category":"Sm","mappings":{"default":{"default":"less than with question mark above"},"mathspeak":{"default":"less-than-with-question-mark-above"}},"key":"2A7B"},{"category":"Sm","mappings":{"default":{"default":"greater than with question mark above"},"mathspeak":{"default":"greater-than-with-question-mark-above"}},"key":"2A7C"},{"category":"Sm","mappings":{"default":{"default":"less than or slanted equals"},"mathspeak":{"default":"less-than-or-slanted-equals"}},"key":"2A7D"},{"category":"Sm","mappings":{"default":{"default":"greater than or slanted equals"},"mathspeak":{"default":"greater-than-or-slanted-equals"}},"key":"2A7E"},{"category":"Sm","mappings":{"default":{"default":"less than or slanted equals with dot inside"},"mathspeak":{"default":"less-than-or-slanted-equals-with-dot-inside"}},"key":"2A7F"},{"category":"Sm","mappings":{"default":{"default":"greater than or slanted equals with dot inside"},"mathspeak":{"default":"greater-than-or-slanted-equals-with-dot-inside"}},"key":"2A80"},{"category":"Sm","mappings":{"default":{"default":"less than or slanted equals with dot above"},"mathspeak":{"default":"less-than-or-slanted-equals-with-dot-above"}},"key":"2A81"},{"category":"Sm","mappings":{"default":{"default":"greater than or slanted equals with dot above"},"mathspeak":{"default":"greater-than-or-slanted-equals-with-dot-above"}},"key":"2A82"},{"category":"Sm","mappings":{"default":{"default":"less than or slanted equals with dot above right"},"mathspeak":{"default":"less-than-or-slanted-equals-with-dot-above-right"}},"key":"2A83"},{"category":"Sm","mappings":{"default":{"default":"greater than or slanted equals with dot above left"},"mathspeak":{"default":"greater-than-or-slanted-equals-with-dot-above-left"}},"key":"2A84"},{"category":"Sm","mappings":{"default":{"default":"less than or approximate"},"mathspeak":{"default":"less-than-or-approximate"}},"key":"2A85"},{"category":"Sm","mappings":{"default":{"default":"greater than or approximate"},"mathspeak":{"default":"greater-than-or-approximate"}},"key":"2A86"},{"category":"Sm","mappings":{"default":{"default":"less than and single line not equals"},"mathspeak":{"default":"less-than-and-single-line-not-equals"}},"key":"2A87"},{"category":"Sm","mappings":{"default":{"default":"greater than and single line not equals"},"mathspeak":{"default":"greater-than-and-single-line-not-equals"}},"key":"2A88"},{"category":"Sm","mappings":{"default":{"default":"less than and not approximate"},"mathspeak":{"default":"less-than-and-not-approximate"}},"key":"2A89"},{"category":"Sm","mappings":{"default":{"default":"greater than and not approximate"},"mathspeak":{"default":"greater-than-and-not-approximate"}},"key":"2A8A"},{"category":"Sm","mappings":{"default":{"default":"less than above double line equal above greater than"},"mathspeak":{"default":"less-than-above-double-line-equal-above-greater-than"}},"key":"2A8B"},{"category":"Sm","mappings":{"default":{"default":"greater than above double line equal above less than"},"mathspeak":{"default":"greater-than-above-double-line-equal-above-less-than"}},"key":"2A8C"},{"category":"Sm","mappings":{"default":{"default":"less than above similar or equal"},"mathspeak":{"default":"less-than-above-similar-or-equal"}},"key":"2A8D"},{"category":"Sm","mappings":{"default":{"default":"greater than above similar or equal"},"mathspeak":{"default":"greater-than-above-similar-or-equal"}},"key":"2A8E"},{"category":"Sm","mappings":{"default":{"default":"less than above similar above greater than"},"mathspeak":{"default":"less-than-above-similar-above-greater-than"}},"key":"2A8F"},{"category":"Sm","mappings":{"default":{"default":"greater than above similar above less than"},"mathspeak":{"default":"greater-than-above-similar-above-less-than"}},"key":"2A90"},{"category":"Sm","mappings":{"default":{"default":"less than above greater than above double line equal"},"mathspeak":{"default":"less-than-above-greater-than-above-double-line-equal"}},"key":"2A91"},{"category":"Sm","mappings":{"default":{"default":"greater than above less than above double line equal"},"mathspeak":{"default":"greater-than-above-less-than-above-double-line-equal"}},"key":"2A92"},{"category":"Sm","mappings":{"default":{"default":"less than above slanted equal above greater than above slanted equal"},"mathspeak":{"default":"less-than-above-slanted-equal-above-greater-than-above-slanted-equal"}},"key":"2A93"},{"category":"Sm","mappings":{"default":{"default":"greater than above slanted equal above less than above slanted equal"},"mathspeak":{"default":"greater-than-above-slanted-equal-above-less-than-above-slanted-equal"}},"key":"2A94"},{"category":"Sm","mappings":{"default":{"default":"slanted equals or less than"},"mathspeak":{"default":"slanted-equals-or-less-than"}},"key":"2A95"},{"category":"Sm","mappings":{"default":{"default":"slanted equals or greater than"},"mathspeak":{"default":"slanted-equals-or-greater-than"}},"key":"2A96"},{"category":"Sm","mappings":{"default":{"default":"slanted equals or less than with dot inside"},"mathspeak":{"default":"slanted-equals-or-less-than-with-dot-inside"}},"key":"2A97"},{"category":"Sm","mappings":{"default":{"default":"slanted equals or greater than with dot inside"},"mathspeak":{"default":"slanted-equals-or-greater-than-with-dot-inside"}},"key":"2A98"},{"category":"Sm","mappings":{"default":{"default":"double line equals or less than"},"mathspeak":{"default":"double-line-equals-or-less-than"}},"key":"2A99"},{"category":"Sm","mappings":{"default":{"default":"double line equals or greater than"},"mathspeak":{"default":"double-line-equals-or-greater-than"}},"key":"2A9A"},{"category":"Sm","mappings":{"default":{"default":"double line slanted equals or less than"},"mathspeak":{"default":"double-line-slanted-equals-or-less-than"}},"key":"2A9B"},{"category":"Sm","mappings":{"default":{"default":"double line slanted equals or greater than"},"mathspeak":{"default":"double-line-slanted-equals-or-greater-than"}},"key":"2A9C"},{"category":"Sm","mappings":{"default":{"default":"similar or less than"},"mathspeak":{"default":"similar-or-less-than"}},"key":"2A9D"},{"category":"Sm","mappings":{"default":{"default":"similar or greater than"},"mathspeak":{"default":"similar-or-greater-than"}},"key":"2A9E"},{"category":"Sm","mappings":{"default":{"default":"similar above less than above equals sign"},"mathspeak":{"default":"similar-above-less-than-above-equals"}},"key":"2A9F"},{"category":"Sm","mappings":{"default":{"default":"similar above greater than above equals sign"},"mathspeak":{"default":"similar-above-greater-than-above-equals"}},"key":"2AA0"},{"category":"Sm","mappings":{"default":{"default":"double nested less than"},"mathspeak":{"default":"double-nested-less-than"}},"key":"2AA1"},{"category":"Sm","mappings":{"default":{"default":"double nested greater than"},"mathspeak":{"default":"double-nested-greater-than"}},"key":"2AA2"},{"category":"Sm","mappings":{"default":{"default":"double nested less than with underbar"},"mathspeak":{"default":"double-nested-less-than-with-underbar"}},"key":"2AA3"},{"category":"Sm","mappings":{"default":{"default":"greater than overlapping less than"},"mathspeak":{"default":"greater-than-overlapping-less-than"}},"key":"2AA4"},{"category":"Sm","mappings":{"default":{"default":"greater than beside less than"},"mathspeak":{"default":"greater-than-beside-less-than"}},"key":"2AA5"},{"category":"Sm","mappings":{"default":{"default":"less than closed by curve"},"mathspeak":{"default":"less-than-closed-by-curve"}},"key":"2AA6"},{"category":"Sm","mappings":{"default":{"default":"greater than closed by curve"},"mathspeak":{"default":"greater-than-closed-by-curve"}},"key":"2AA7"},{"category":"Sm","mappings":{"default":{"default":"less than closed by curve above slanted equal"},"mathspeak":{"default":"less-than-closed-by-curve-above-slanted-equal"}},"key":"2AA8"},{"category":"Sm","mappings":{"default":{"default":"greater than closed by curve above slanted equal"},"mathspeak":{"default":"greater-than-closed-by-curve-above-slanted-equal"}},"key":"2AA9"},{"category":"Sm","mappings":{"default":{"default":"smaller than"},"mathspeak":{"default":"smaller-than"}},"key":"2AAA"},{"category":"Sm","mappings":{"default":{"default":"larger than"},"mathspeak":{"default":"larger-than"}},"key":"2AAB"},{"category":"Sm","mappings":{"default":{"default":"smaller than or equals"},"mathspeak":{"default":"smaller-than-or-equal-to"}},"key":"2AAC"},{"category":"Sm","mappings":{"default":{"default":"larger than or equals"},"mathspeak":{"default":"larger-than-or-equal-to"}},"key":"2AAD"},{"category":"Sm","mappings":{"default":{"default":"equals sign with bumpy above"},"mathspeak":{"default":"equals-with-bumpy-above"}},"key":"2AAE"},{"category":"Sm","mappings":{"default":{"default":"precedes above single line equals sign"},"mathspeak":{"default":"precedes-above-single-line-equals"}},"key":"2AAF"},{"category":"Sm","mappings":{"default":{"default":"succeeds above single line equals sign"},"mathspeak":{"default":"succeeds-above-single-line-equals"}},"key":"2AB0"},{"category":"Sm","mappings":{"default":{"default":"precedes above single line not equals"},"mathspeak":{"default":"precedes-above-single-line-not-equals"}},"key":"2AB1"},{"category":"Sm","mappings":{"default":{"default":"succeeds above single line not equals"},"mathspeak":{"default":"succeeds-above-single-line-not-equals"}},"key":"2AB2"},{"category":"Sm","mappings":{"default":{"default":"precedes above equals sign"},"mathspeak":{"default":"precedes-above-equals"}},"key":"2AB3"},{"category":"Sm","mappings":{"default":{"default":"succeeds above equals sign"},"mathspeak":{"default":"succeeds-above-equals"}},"key":"2AB4"},{"category":"Sm","mappings":{"default":{"default":"precedes above not equals"},"mathspeak":{"default":"precedes-above-not-equals"}},"key":"2AB5"},{"category":"Sm","mappings":{"default":{"default":"succeeds above not equals"},"mathspeak":{"default":"succeeds-above-not-equals"}},"key":"2AB6"},{"category":"Sm","mappings":{"default":{"default":"precedes above almost equals"},"mathspeak":{"default":"precedes-above-almost-equals"}},"key":"2AB7"},{"category":"Sm","mappings":{"default":{"default":"succeeds above almost equals"},"mathspeak":{"default":"succeeds-above-almost-equals"}},"key":"2AB8"},{"category":"Sm","mappings":{"default":{"default":"precedes above not almost equals"},"mathspeak":{"default":"precedes-above-not-almost-equals"}},"key":"2AB9"},{"category":"Sm","mappings":{"default":{"default":"succeeds above not almost equals"},"mathspeak":{"default":"succeeds-above-not-almost-equals"}},"key":"2ABA"},{"category":"Sm","mappings":{"default":{"default":"double precedes"},"mathspeak":{"default":"double-precedes"}},"key":"2ABB"},{"category":"Sm","mappings":{"default":{"default":"double succeeds"},"mathspeak":{"default":"double-succeeds"}},"key":"2ABC"},{"category":"Sm","mappings":{"default":{"default":"subset with dot"},"mathspeak":{"default":"subset-with-dot"}},"key":"2ABD"},{"category":"Sm","mappings":{"default":{"default":"superset with dot"},"mathspeak":{"default":"superset-with-dot"}},"key":"2ABE"},{"category":"Sm","mappings":{"default":{"default":"subset with plus sign below"},"mathspeak":{"default":"subset-with-plus-sign-below"}},"key":"2ABF"},{"category":"Sm","mappings":{"default":{"default":"superset with plus sign below"},"mathspeak":{"default":"superset-with-plus-sign-below"}},"key":"2AC0"},{"category":"Sm","mappings":{"default":{"default":"subset with multiplication sign below"},"mathspeak":{"default":"subset-with-multiplication-sign-below"}},"key":"2AC1"},{"category":"Sm","mappings":{"default":{"default":"superset with multiplication sign below"},"mathspeak":{"default":"superset-with-multiplication-sign-below"}},"key":"2AC2"},{"category":"Sm","mappings":{"default":{"default":"subset of or equals with dot above"},"mathspeak":{"default":"subset-of-or-equal-to-with-dot-above"}},"key":"2AC3"},{"category":"Sm","mappings":{"default":{"default":"superset of or equals with dot above"},"mathspeak":{"default":"superset-of-or-equal-to-with-dot-above"}},"key":"2AC4"},{"category":"Sm","mappings":{"default":{"default":"subset of above equals sign"},"mathspeak":{"default":"subset-of-above-equals"}},"key":"2AC5"},{"category":"Sm","mappings":{"default":{"default":"superset of above equals sign"},"mathspeak":{"default":"superset-of-above-equals"}},"key":"2AC6"},{"category":"Sm","mappings":{"default":{"default":"subset of above tilde operator"},"mathspeak":{"default":"subset-of-above-tilde"}},"key":"2AC7"},{"category":"Sm","mappings":{"default":{"default":"superset of above tilde operator"},"mathspeak":{"default":"superset-of-above-tilde"}},"key":"2AC8"},{"category":"Sm","mappings":{"default":{"default":"subset of above almost equals"},"mathspeak":{"default":"subset-of-above-almost-equals"}},"key":"2AC9"},{"category":"Sm","mappings":{"default":{"default":"superset of above almost equals"},"mathspeak":{"default":"superset-of-above-almost-equals"}},"key":"2ACA"},{"category":"Sm","mappings":{"default":{"default":"subset of above not equals"},"mathspeak":{"default":"subset-of-above-not-equals"}},"key":"2ACB"},{"category":"Sm","mappings":{"default":{"default":"superset of above not equals"},"mathspeak":{"default":"superset-of-above-not-equals"}},"key":"2ACC"},{"category":"Sm","mappings":{"default":{"default":"square left open box operator"},"mathspeak":{"default":"square-left-open-box"}},"key":"2ACD"},{"category":"Sm","mappings":{"default":{"default":"square right open box operator"},"mathspeak":{"default":"square-right-open-box"}},"key":"2ACE"},{"category":"Sm","mappings":{"default":{"default":"closed subset"},"mathspeak":{"default":"closed-subset"}},"key":"2ACF"},{"category":"Sm","mappings":{"default":{"default":"closed superset"},"mathspeak":{"default":"closed-superset"}},"key":"2AD0"},{"category":"Sm","mappings":{"default":{"default":"closed subset or equals"},"mathspeak":{"default":"closed-subset-or-equal-to"}},"key":"2AD1"},{"category":"Sm","mappings":{"default":{"default":"closed superset or equals"},"mathspeak":{"default":"closed-superset-or-equal-to"}},"key":"2AD2"},{"category":"Sm","mappings":{"default":{"default":"subset above superset"},"mathspeak":{"default":"subset-above-superset"}},"key":"2AD3"},{"category":"Sm","mappings":{"default":{"default":"superset above subset"},"mathspeak":{"default":"superset-above-subset"}},"key":"2AD4"},{"category":"Sm","mappings":{"default":{"default":"subset above subset"},"mathspeak":{"default":"subset-above-subset"}},"key":"2AD5"},{"category":"Sm","mappings":{"default":{"default":"superset above superset"},"mathspeak":{"default":"superset-above-superset"}},"key":"2AD6"},{"category":"Sm","mappings":{"default":{"default":"superset beside subset"},"mathspeak":{"default":"superset-beside-subset"}},"key":"2AD7"},{"category":"Sm","mappings":{"default":{"default":"superset beside and joined by dash with subset"},"mathspeak":{"default":"superset-beside-and-joined-by-dash-with-subset"}},"key":"2AD8"},{"category":"Sm","mappings":{"default":{"default":"element of opening downwards"},"mathspeak":{"default":"element-of-opening-downwards"}},"key":"2AD9"},{"category":"Sm","mappings":{"default":{"default":"pitchfork with tee top"},"mathspeak":{"default":"pitchfork-with-tee-top"}},"key":"2ADA"},{"category":"Sm","mappings":{"default":{"default":"transversal intersection"},"mathspeak":{"default":"transversal-intersection"}},"key":"2ADB"},{"category":"Sm","mappings":{"default":{"default":"forking"}},"key":"2ADC"},{"category":"Sm","mappings":{"default":{"default":"nonforking"}},"key":"2ADD"},{"category":"Sm","mappings":{"default":{"default":"short left tack"},"mathspeak":{"default":"short-left-tack"}},"key":"2ADE"},{"category":"Sm","mappings":{"default":{"default":"short down tack"},"mathspeak":{"default":"short-down-tack"}},"key":"2ADF"},{"category":"Sm","mappings":{"default":{"default":"short up tack"},"mathspeak":{"default":"short-up-tack"}},"key":"2AE0"},{"category":"Sm","mappings":{"default":{"default":"perpendicular with s"},"mathspeak":{"default":"perpendicular-with-s"}},"key":"2AE1"},{"category":"Sm","mappings":{"default":{"default":"vertical bar triple right turnstile"},"mathspeak":{"default":"vertical-bar-triple-right-turnstile"}},"key":"2AE2"},{"category":"Sm","mappings":{"default":{"default":"double vertical bar left turnstile"},"mathspeak":{"default":"double-vertical-bar-left-turnstile"}},"key":"2AE3"},{"category":"Sm","mappings":{"default":{"default":"vertical bar double left turnstile"},"mathspeak":{"default":"vertical-bar-double-left-turnstile"}},"key":"2AE4"},{"category":"Sm","mappings":{"default":{"default":"double vertical bar double left turnstile"},"mathspeak":{"default":"double-vertical-bar-double-left-turnstile"}},"key":"2AE5"},{"category":"Sm","mappings":{"default":{"default":"long dash from left member of double vertical"},"mathspeak":{"default":"long-dash-from-left-member-of-double-vertical"}},"key":"2AE6"},{"category":"Sm","mappings":{"default":{"default":"short down tack with overbar"},"mathspeak":{"default":"short-down-tack-with-overbar"}},"key":"2AE7"},{"category":"Sm","mappings":{"default":{"default":"short up tack with underbar"},"mathspeak":{"default":"short-up-tack-with-underbar"}},"key":"2AE8"},{"category":"Sm","mappings":{"default":{"default":"short up tack above short down tack"},"mathspeak":{"default":"short-up-tack-above-short-down-tack"}},"key":"2AE9"},{"category":"Sm","mappings":{"default":{"default":"double down tack"},"mathspeak":{"default":"double-down-tack"}},"key":"2AEA"},{"category":"Sm","mappings":{"default":{"default":"double up tack"},"mathspeak":{"default":"double-up-tack"}},"key":"2AEB"},{"category":"Sm","mappings":{"default":{"default":"double stroke not sign"},"mathspeak":{"default":"double-stroke-not-sign"}},"key":"2AEC"},{"category":"Sm","mappings":{"default":{"default":"reversed double stroke not sign"},"mathspeak":{"default":"reversed-double-stroke-not-sign"}},"key":"2AED"},{"category":"Sm","mappings":{"default":{"default":"does not divide with reversed negation slash"},"mathspeak":{"default":"does-not-divide-with-reversed-negation-slash"}},"key":"2AEE"},{"category":"Sm","mappings":{"default":{"default":"vertical line with circle above"},"mathspeak":{"default":"vertical-line-with-circle-above"}},"key":"2AEF"},{"category":"Sm","mappings":{"default":{"default":"vertical line with circle below"},"mathspeak":{"default":"vertical-line-with-circle-below"}},"key":"2AF0"},{"category":"Sm","mappings":{"default":{"default":"down tack with circle below"},"mathspeak":{"default":"down-tack-with-circle-below"}},"key":"2AF1"},{"category":"Sm","mappings":{"default":{"default":"parallel with horizontal stroke"},"mathspeak":{"default":"parallel-with-horizontal-stroke"}},"key":"2AF2"},{"category":"Sm","mappings":{"default":{"default":"parallel with tilde operator"},"mathspeak":{"default":"parallel-with-tilde"}},"key":"2AF3"},{"category":"Sm","mappings":{"default":{"default":"triple vertical bar binary relation"},"mathspeak":{"default":"triple-vertical-bar-binary-relation"}},"key":"2AF4"},{"category":"Sm","mappings":{"default":{"default":"triple vertical bar with horizontal stroke"},"mathspeak":{"default":"triple-vertical-bar-with-horizontal-stroke"}},"key":"2AF5"},{"category":"Sm","mappings":{"default":{"default":"triple colon operator"},"mathspeak":{"default":"triple-colon"}},"key":"2AF6"},{"category":"Sm","mappings":{"default":{"default":"triple nested less than"},"mathspeak":{"default":"triple-nested-less-than"}},"key":"2AF7"},{"category":"Sm","mappings":{"default":{"default":"triple nested greater than"},"mathspeak":{"default":"triple-nested-greater-than"}},"key":"2AF8"},{"category":"Sm","mappings":{"default":{"default":"double line slanted less than or equals"},"mathspeak":{"default":"double-line-slanted-less-than-or-equal-to"}},"key":"2AF9"},{"category":"Sm","mappings":{"default":{"default":"double line slanted greater than or equals"},"mathspeak":{"default":"double-line-slanted-greater-than-or-equal-to"}},"key":"2AFA"},{"category":"Sm","mappings":{"default":{"default":"triple solidus binary relation"},"mathspeak":{"default":"triple-solidus-binary-relation"}},"key":"2AFB"},{"category":"Sm","mappings":{"default":{"default":"large triple vertical bar operator"},"mathspeak":{"default":"large-triple-vertical-bar"}},"key":"2AFC"},{"category":"Sm","mappings":{"default":{"default":"double solidus operator"},"mathspeak":{"default":"double-solidus"}},"key":"2AFD"},{"category":"Sm","mappings":{"default":{"default":"white vertical bar"},"mathspeak":{"default":"white-vertical-bar"}},"key":"2AFE"},{"category":"Sm","mappings":{"default":{"default":"n ary white vertical bar"},"mathspeak":{"default":"white-vertical-bar"}},"key":"2AFF"},{"category":"Pd","mappings":{"default":{"default":"wave dash"},"mathspeak":{"default":"wave-dash"}},"key":"301C"},{"category":"Po","mappings":{"default":{"default":"presentation form for vertical comma"},"mathspeak":{"default":"presentation-form-for-vertical-comma"}},"key":"FE10"},{"category":"Po","mappings":{"default":{"default":"presentation form for vertical colon"},"mathspeak":{"default":"presentation-form-for-vertical-colon"}},"key":"FE13"},{"category":"Po","mappings":{"default":{"default":"presentation form for vertical semicolon"},"mathspeak":{"default":"presentation-form-for-vertical-semicolon"}},"key":"FE14"},{"category":"Po","mappings":{"default":{"default":"presentation form for vertical exclamation mark"},"mathspeak":{"default":"presentation-form-for-vertical-exclamation-mark"}},"key":"FE15"},{"category":"Po","mappings":{"default":{"default":"presentation form for vertical question mark"},"mathspeak":{"default":"presentation-form-for-vertical-question-mark"}},"key":"FE16"},{"category":"Po","mappings":{"default":{"default":"presentation form for vertical horizontal ellipsis"},"mathspeak":{"default":"presentation-form-for-vertical-horizontal-ellipsis"}},"key":"FE19"},{"category":"Po","mappings":{"default":{"default":"presentation form for vertical two dot leader","alternative":"glyph for vertical two dot leader"},"mathspeak":{"default":"glyph-for-vertical-two-dot-leader"}},"key":"FE30"},{"category":"Pd","mappings":{"default":{"default":"presentation form for vertical em dash","alternative":"glyph for vertical em dash"},"mathspeak":{"default":"glyph-for-vertical-em-dash"}},"key":"FE31"},{"category":"Pd","mappings":{"default":{"default":"presentation form for vertical en dash","alternative":"glyph for vertical en dash"},"mathspeak":{"default":"glyph-for-vertical-en-dash"}},"key":"FE32"},{"category":"Pc","mappings":{"default":{"default":"presentation form for vertical low line","alternative":"glyph for vertical spacing underscore"},"mathspeak":{"default":"glyph-for-vertical-underscore"}},"key":"FE33"},{"category":"Pc","mappings":{"default":{"default":"presentation form for vertical wavy low line","alternative":"glyph for vertical spacing wavy underscore"},"mathspeak":{"default":"glyph-for-vertical-wavy-underscore"}},"key":"FE34"},{"category":"Po","mappings":{"default":{"default":"sesame dot"},"mathspeak":{"default":"sesame-dot"}},"key":"FE45"},{"category":"Po","mappings":{"default":{"default":"white sesame dot"},"mathspeak":{"default":"white-sesame-dot"}},"key":"FE46"},{"category":"Po","mappings":{"default":{"default":"dashed overline","alternative":"spacing dashed overscore"},"mathspeak":{"default":"dashed-overscore"}},"key":"FE49"},{"category":"Po","mappings":{"default":{"default":"centerline overline","alternative":"spacing centerline overscore"},"mathspeak":{"default":"centerline-overscore"}},"key":"FE4A"},{"category":"Po","mappings":{"default":{"default":"wavy overline","alternative":"spacing wavy overscore"},"mathspeak":{"default":"wavy-overscore"}},"key":"FE4B"},{"category":"Po","mappings":{"default":{"default":"double wavy overline","alternative":"spacing double wavy overscore"},"mathspeak":{"default":"double-wavy-overscore"}},"key":"FE4C"},{"category":"Pc","mappings":{"default":{"default":"dashed low line","alternative":"spacing dashed underscore"},"mathspeak":{"default":"dashed-underscore"}},"key":"FE4D"},{"category":"Pc","mappings":{"default":{"default":"centerline low line","alternative":"spacing centerline underscore"},"mathspeak":{"default":"centerline-underscore"}},"key":"FE4E"},{"category":"Pc","mappings":{"default":{"default":"wavy low line","alternative":"spacing wavy underscore"},"mathspeak":{"default":"wavy-underscore"}},"key":"FE4F"},{"category":"Po","mappings":{"default":{"default":"small comma"},"mathspeak":{"default":"small-comma"}},"key":"FE50"},{"category":"Po","mappings":{"default":{"default":"small full stop","alternative":"small period"},"mathspeak":{"default":"small-period"}},"key":"FE52"},{"category":"Po","mappings":{"default":{"default":"small semicolon"},"mathspeak":{"default":"small-semicolon"}},"key":"FE54"},{"category":"Po","mappings":{"default":{"default":"small colon"},"mathspeak":{"default":"small-colon"}},"key":"FE55"},{"category":"Po","mappings":{"default":{"default":"small question mark"},"mathspeak":{"default":"small-question-mark"}},"key":"FE56"},{"category":"Po","mappings":{"default":{"default":"small exclamation mark"},"mathspeak":{"default":"small-exclamation-mark"}},"key":"FE57"},{"category":"Pd","mappings":{"default":{"default":"small em dash"},"mathspeak":{"default":"small-em-dash"}},"key":"FE58"},{"category":"Po","mappings":{"default":{"default":"small number sign"},"mathspeak":{"default":"small-number-sign"}},"key":"FE5F"},{"category":"Po","mappings":{"default":{"default":"small ampersand"},"mathspeak":{"default":"small-ampersand"}},"key":"FE60"},{"category":"Po","mappings":{"default":{"default":"small asterisk"},"mathspeak":{"default":"small-asterisk"}},"key":"FE61"},{"category":"Sm","mappings":{"default":{"default":"small plus sign"},"mathspeak":{"default":"small-plus-sign"}},"key":"FE62"},{"category":"Pd","mappings":{"default":{"default":"small hyphen minus"},"mathspeak":{"default":"small-hyphen-minus"}},"key":"FE63"},{"category":"Sm","mappings":{"default":{"default":"small less than sign"},"mathspeak":{"default":"small-less-than-sign"}},"key":"FE64"},{"category":"Sm","mappings":{"default":{"default":"small greater than sign"},"mathspeak":{"default":"small-greater-than-sign"}},"key":"FE65"},{"category":"Sm","mappings":{"default":{"default":"small equals sign"},"mathspeak":{"default":"small-equals"}},"key":"FE66"},{"category":"Po","mappings":{"default":{"default":"small reverse solidus","alternative":"small backslash"},"mathspeak":{"default":"small-backslash"}},"key":"FE68"},{"category":"Sc","mappings":{"default":{"default":"small dollar sign"},"mathspeak":{"default":"small-dollar-sign"}},"key":"FE69"},{"category":"Po","mappings":{"default":{"default":"small percent sign"},"mathspeak":{"default":"small-percent-sign"}},"key":"FE6A"},{"category":"Po","mappings":{"default":{"default":"small commercial at"},"mathspeak":{"default":"small-commercial-at"}},"key":"FE6B"},{"category":"Po","mappings":{"default":{"default":"fullwidth exclamation mark"},"mathspeak":{"default":"exclamation-mark"}},"key":"FF01"},{"category":"Po","mappings":{"default":{"default":"fullwidth quotation mark"},"mathspeak":{"default":"quotation-mark"}},"key":"FF02"},{"category":"Po","mappings":{"default":{"default":"fullwidth number sign"},"mathspeak":{"default":"number-sign"}},"key":"FF03"},{"category":"Sc","mappings":{"default":{"default":"fullwidth dollar sign"},"mathspeak":{"default":"dollar-sign"}},"key":"FF04"},{"category":"Po","mappings":{"default":{"default":"fullwidth percent sign"},"mathspeak":{"default":"percent-sign"}},"key":"FF05"},{"category":"Po","mappings":{"default":{"default":"fullwidth ampersand"},"mathspeak":{"default":"ampersand"}},"key":"FF06"},{"category":"Po","mappings":{"default":{"default":"fullwidth apostrophe"},"mathspeak":{"default":"apostrophe"}},"key":"FF07"},{"category":"Po","mappings":{"default":{"default":"fullwidth asterisk"},"mathspeak":{"default":"asterisk"}},"key":"FF0A"},{"category":"Sm","mappings":{"default":{"default":"fullwidth plus sign"},"mathspeak":{"default":"plus-sign"}},"key":"FF0B"},{"category":"Po","mappings":{"default":{"default":"fullwidth comma"},"mathspeak":{"default":"comma"}},"key":"FF0C"},{"category":"Pd","mappings":{"default":{"default":"fullwidth hyphen minus"},"mathspeak":{"default":"hyphen-minus"}},"key":"FF0D"},{"category":"Po","mappings":{"default":{"default":"fullwidth full stop","alternative":"fullwidth period"},"mathspeak":{"default":"period"}},"key":"FF0E"},{"category":"Po","mappings":{"default":{"default":"fullwidth solidus","alternative":"fullwidth slash"},"mathspeak":{"default":"slash"}},"key":"FF0F"},{"category":"Po","mappings":{"default":{"default":"fullwidth colon"},"mathspeak":{"default":"colon"}},"key":"FF1A"},{"category":"Po","mappings":{"default":{"default":"fullwidth semicolon"},"mathspeak":{"default":"semicolon"}},"key":"FF1B"},{"category":"Sm","mappings":{"default":{"default":"fullwidth less than sign"},"mathspeak":{"default":"less-than-sign"}},"key":"FF1C"},{"category":"Sm","mappings":{"default":{"default":"fullwidth equals sign"},"mathspeak":{"default":"equals"}},"key":"FF1D"},{"category":"Sm","mappings":{"default":{"default":"fullwidth greater than sign"},"mathspeak":{"default":"greater-than-sign"}},"key":"FF1E"},{"category":"Po","mappings":{"default":{"default":"fullwidth question mark"},"mathspeak":{"default":"question-mark"}},"key":"FF1F"},{"category":"Po","mappings":{"default":{"default":"fullwidth commercial at"},"mathspeak":{"default":"commercial-at"}},"key":"FF20"},{"category":"Po","mappings":{"default":{"default":"fullwidth reverse solidus","alternative":"fullwidth backslash"},"mathspeak":{"default":"backslash"}},"key":"FF3C"},{"category":"Sk","mappings":{"default":{"default":"fullwidth circumflex accent","alternative":"fullwidth spacing circumflex"},"mathspeak":{"default":"caret"}},"key":"FF3E"},{"category":"Pc","mappings":{"default":{"default":"fullwidth low line","alternative":"fullwidth spacing underscore"},"mathspeak":{"default":"bar"}},"key":"FF3F"},{"category":"Sk","mappings":{"default":{"default":"fullwidth grave accent","alternative":"fullwidth spacing grave"},"mathspeak":{"default":"grave"}},"key":"FF40"},{"category":"Sm","mappings":{"default":{"default":"fullwidth vertical line","alternative":"fullwidth vertical bar"},"mathspeak":{"default":"vertical-bar"}},"key":"FF5C"},{"category":"Sm","mappings":{"default":{"default":"fullwidth tilde","alternative":"fullwidth spacing tilde"},"mathspeak":{"default":"tilde"}},"key":"FF5E"},{"category":"Sc","mappings":{"default":{"default":"fullwidth cent sign"},"mathspeak":{"default":"cent-sign"}},"key":"FFE0"},{"category":"Sc","mappings":{"default":{"default":"fullwidth pound sign"},"mathspeak":{"default":"pound-sign"}},"key":"FFE1"},{"category":"Sm","mappings":{"default":{"default":"fullwidth not sign"},"mathspeak":{"default":"not-sign"}},"key":"FFE2"},{"category":"Sk","mappings":{"default":{"default":"fullwidth macron","alternative":"fullwidth spacing macron"},"mathspeak":{"default":"bar"}},"key":"FFE3"},{"category":"So","mappings":{"default":{"default":"fullwidth broken bar","alternative":"fullwidth broken vertical bar"},"mathspeak":{"default":"broken-vertical-bar"}},"key":"FFE4"},{"category":"Sc","mappings":{"default":{"default":"fullwidth yen sign"},"mathspeak":{"default":"yen-sign"}},"key":"FFE5"},{"category":"Sc","mappings":{"default":{"default":"fullwidth won sign"},"mathspeak":{"default":"won-sign"}},"key":"FFE6"},{"category":"So","mappings":{"default":{"default":"halfwidth forms light vertical"},"mathspeak":{"default":"halfwidth-forms-light-vertical"}},"key":"FFE8"},{"category":"So","mappings":{"default":{"default":"halfwidth black square"},"mathspeak":{"default":"halfwidth-black-square"}},"key":"FFED"},{"category":"So","mappings":{"default":{"default":"halfwidth white circle"},"mathspeak":{"default":"halfwidth-white-circle"}},"key":"FFEE"}] diff --git a/assets/js/mathmaps/en/symbols/math_whitespace.js b/assets/js/mathmaps/en/symbols/math_whitespace.js new file mode 100644 index 0000000000000000000000000000000000000000..3bdfe4aa0bd00a05a8c572169225bef638d455f0 --- /dev/null +++ b/assets/js/mathmaps/en/symbols/math_whitespace.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"Zs","mappings":{"default":{"default":"space"}},"key":"0020"},{"category":"Zs","mappings":{"default":{"default":"no break space","alternative":"non breaking space"}},"key":"00A0"},{"category":"Cf","mappings":{"default":{"default":"soft hyphen"}},"key":"00AD"},{"category":"Zs","mappings":{"default":{"default":"en quad"}},"key":"2000"},{"category":"Zs","mappings":{"default":{"default":"em quad"}},"key":"2001"},{"category":"Zs","mappings":{"default":{"default":"en space"}},"key":"2002"},{"category":"Zs","mappings":{"default":{"default":"em space"}},"key":"2003"},{"category":"Zs","mappings":{"default":{"default":"three per em space"}},"key":"2004"},{"category":"Zs","mappings":{"default":{"default":"four per em space"}},"key":"2005"},{"category":"Zs","mappings":{"default":{"default":"six per em space"}},"key":"2006"},{"category":"Zs","mappings":{"default":{"default":"figure space"}},"key":"2007"},{"category":"Zs","mappings":{"default":{"default":"punctuation space"}},"key":"2008"},{"category":"Zs","mappings":{"default":{"default":"thin space"}},"key":"2009"},{"category":"Zs","mappings":{"default":{"default":"hair space"}},"key":"200A"},{"category":"Cf","mappings":{"default":{"default":"zero width space"}},"key":"200B"},{"category":"Cf","mappings":{"default":{"default":"zero width non joiner"}},"key":"200C"},{"category":"Cf","mappings":{"default":{"default":"zero width joiner"}},"key":"200D"},{"category":"Cf","mappings":{"default":{"default":"left to right mark"}},"key":"200E"},{"category":"Cf","mappings":{"default":{"default":"right to left mark"}},"key":"200F"},{"category":"Zl","mappings":{"default":{"default":"line separator"}},"key":"2028"},{"category":"Zp","mappings":{"default":{"default":"paragraph separator"}},"key":"2029"},{"category":"Cf","mappings":{"default":{"default":"left to right embedding"}},"key":"202A"},{"category":"Cf","mappings":{"default":{"default":"right to left embedding"}},"key":"202B"},{"category":"Cf","mappings":{"default":{"default":"pop directional formatting"}},"key":"202C"},{"category":"Cf","mappings":{"default":{"default":"left to right override"}},"key":"202D"},{"category":"Cf","mappings":{"default":{"default":"right to left override"}},"key":"202E"},{"category":"Zs","mappings":{"default":{"default":"narrow no break space"}},"key":"202F"},{"category":"Zs","mappings":{"default":{"default":"medium mathematical space"}},"key":"205F"},{"category":"Cf","mappings":{"default":{"default":"word joiner"}},"key":"2060"},{"category":"Cf","mappings":{"default":{"default":"function application","short":"of"}},"key":"2061"},{"category":"Cf","mappings":{"default":{"default":"invisible times","short":"times"}},"key":"2062"},{"category":"Cf","mappings":{"default":{"default":"invisible separator","short":"separator"}},"key":"2063"},{"category":"Cf","mappings":{"default":{"default":"invisible plus","short":"plus"}},"key":"2064"},{"category":"Cf","mappings":{"default":{"default":"inhibit symmetric swapping"}},"key":"206A"},{"category":"Cf","mappings":{"default":{"default":"activate symmetric swapping"}},"key":"206B"},{"category":"Cf","mappings":{"default":{"default":"national digit shapes"}},"key":"206E"},{"category":"Cf","mappings":{"default":{"default":"nominal digit shapes"}},"key":"206F"},{"category":"Cf","mappings":{"default":{"default":"zero width no break space","alternative":"byte order mark"}},"key":"FEFF"},{"category":"Cf","mappings":{"default":{"default":"interlinear annotation anchor"}},"key":"FFF9"},{"category":"Cf","mappings":{"default":{"default":"interlinear annotation separator"}},"key":"FFFA"},{"category":"Cf","mappings":{"default":{"default":"interlinear annotation terminator"}},"key":"FFFB"}] diff --git a/assets/js/mathmaps/en/symbols/other_stars.js b/assets/js/mathmaps/en/symbols/other_stars.js new file mode 100644 index 0000000000000000000000000000000000000000..ba5d0a41375640d7f0e8b1b20a8da8e0a0f32a14 --- /dev/null +++ b/assets/js/mathmaps/en/symbols/other_stars.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"So","mappings":{"default":{"default":"decimal exponent symbol"}},"key":"23E8"},{"category":"So","mappings":{"default":{"default":"black star"}},"key":"2605"},{"category":"So","mappings":{"default":{"default":"white star"}},"key":"2606"},{"category":"So","mappings":{"default":{"default":"medium white circle","short":"white circle"}},"key":"26AA"},{"category":"So","mappings":{"default":{"default":"medium black circle","short":"black circle"}},"key":"26AB"},{"category":"So","mappings":{"default":{"default":"white heavy check mark","short":"white check"}},"key":"2705"},{"category":"So","mappings":{"default":{"default":"check mark","short":"check"}},"key":"2713"},{"category":"So","mappings":{"default":{"default":"heavy check mark","short":"heavy check"}},"key":"2714"},{"category":"So","mappings":{"default":{"default":"multiplication x"}},"key":"2715"},{"category":"So","mappings":{"default":{"default":"heavy multiplication x"}},"key":"2716"},{"category":"So","mappings":{"default":{"default":"ballot x"}},"key":"2717"},{"category":"So","mappings":{"default":{"default":"heavy ballot x"}},"key":"2718"},{"category":"So","mappings":{"default":{"default":"open center cross"}},"key":"271B"},{"category":"So","mappings":{"default":{"default":"heavy open center cross"}},"key":"271C"},{"category":"So","mappings":{"default":{"default":"maltese cross"}},"key":"2720"},{"category":"So","mappings":{"default":{"default":"star of david"}},"key":"2721"},{"category":"So","mappings":{"default":{"default":"four teardrop spoked asterisk"}},"key":"2722"},{"category":"So","mappings":{"default":{"default":"four balloon spoked asterisk"}},"key":"2723"},{"category":"So","mappings":{"default":{"default":"heavy four balloon spoked asterisk"}},"key":"2724"},{"category":"So","mappings":{"default":{"default":"four club spoked asterisk"}},"key":"2725"},{"category":"So","mappings":{"default":{"default":"black four pointed star"}},"key":"2726"},{"category":"So","mappings":{"default":{"default":"white four pointed star"}},"key":"2727"},{"category":"So","mappings":{"default":{"default":"sparkles"}},"key":"2728"},{"category":"So","mappings":{"default":{"default":"stress outlined white star"}},"key":"2729"},{"category":"So","mappings":{"default":{"default":"circled white star"}},"key":"272A"},{"category":"So","mappings":{"default":{"default":"open center black star"}},"key":"272B"},{"category":"So","mappings":{"default":{"default":"black center white star"}},"key":"272C"},{"category":"So","mappings":{"default":{"default":"outlined black star"}},"key":"272D"},{"category":"So","mappings":{"default":{"default":"heavy outlined black star"}},"key":"272E"},{"category":"So","mappings":{"default":{"default":"pinwheel star"}},"key":"272F"},{"category":"So","mappings":{"default":{"default":"shadowed white star"}},"key":"2730"},{"category":"So","mappings":{"default":{"default":"heavy asterisk"}},"key":"2731"},{"category":"So","mappings":{"default":{"default":"open center asterisk"}},"key":"2732"},{"category":"So","mappings":{"default":{"default":"eight spoked asterisk"}},"key":"2733"},{"category":"So","mappings":{"default":{"default":"eight pointed black star"}},"key":"2734"},{"category":"So","mappings":{"default":{"default":"eight pointed pinwheel star"}},"key":"2735"},{"category":"So","mappings":{"default":{"default":"six pointed black star"}},"key":"2736"},{"category":"So","mappings":{"default":{"default":"twelve pointed black star"}},"key":"2739"},{"category":"So","mappings":{"default":{"default":"sixteen pointed asterisk"}},"key":"273A"},{"category":"So","mappings":{"default":{"default":"teardrop spoked asterisk"}},"key":"273B"},{"category":"So","mappings":{"default":{"default":"open center teardrop spoked asterisk"}},"key":"273C"},{"category":"So","mappings":{"default":{"default":"heavy teardrop spoked asterisk"}},"key":"273D"},{"category":"So","mappings":{"default":{"default":"six petalled black and white florette"}},"key":"273E"},{"category":"So","mappings":{"default":{"default":"black florette"}},"key":"273F"},{"category":"So","mappings":{"default":{"default":"white florette"}},"key":"2740"},{"category":"So","mappings":{"default":{"default":"eight petalled outlined black florette"}},"key":"2741"},{"category":"So","mappings":{"default":{"default":"circled open center eight pointed star"}},"key":"2742"},{"category":"So","mappings":{"default":{"default":"heavy teardrop spoked pinwheel asterisk"}},"key":"2743"},{"category":"So","mappings":{"default":{"default":"snowflake"}},"key":"2744"},{"category":"So","mappings":{"default":{"default":"tight trifoliate snowflake"}},"key":"2745"},{"category":"So","mappings":{"default":{"default":"heavy chevron snowflake"}},"key":"2746"},{"category":"So","mappings":{"default":{"default":"sparkle"}},"key":"2747"},{"category":"So","mappings":{"default":{"default":"heavy sparkle"}},"key":"2748"},{"category":"So","mappings":{"default":{"default":"balloon spoked asterisk"}},"key":"2749"},{"category":"So","mappings":{"default":{"default":"eight teardrop spoked propeller asterisk"}},"key":"274A"},{"category":"So","mappings":{"default":{"default":"heavy eight teardrop spoked propeller asterisk"}},"key":"274B"},{"category":"So","mappings":{"default":{"default":"cross mark"}},"key":"274C"},{"category":"So","mappings":{"default":{"default":"shadowed white circle"}},"key":"274D"}] diff --git a/assets/js/mathmaps/en/units/energy.js b/assets/js/mathmaps/en/units/energy.js new file mode 100644 index 0000000000000000000000000000000000000000..412da6b38beeb95b1fe410db8957984ccbb7979b --- /dev/null +++ b/assets/js/mathmaps/en/units/energy.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"energy","mappings":{"default":{"default":"watts"}},"key":"W","names":["W","w"]},{"category":"energy","mappings":{"default":{"default":"kilowatts"}},"key":"kW","names":["kw","kW"]},{"category":"energy","mappings":{"default":{"default":"milliwatts"}},"key":"mW","names":["mw","mW"]},{"category":"energy","mappings":{"default":{"default":"kilowatt hours"}},"key":"kwh","names":["kwh","kWh"]},{"category":"energy","mappings":{"default":{"default":"joules"}},"key":"J","names":["J"]},{"category":"energy","mappings":{"default":{"default":"Newton"}},"key":"N","names":["N"]},{"category":"energy","mappings":{"default":{"default":"amperes"}},"key":"A","names":["A"]},{"category":"energy","mappings":{"default":{"default":"volts"}},"key":"V","names":["V"]},{"category":"energy","mappings":{"default":{"default":"microohm"}},"key":"µΩ","names":["µΩ"]},{"category":"energy","mappings":{"default":{"default":"milliohm"}},"key":"mΩ","names":["mΩ"]},{"category":"energy","mappings":{"default":{"default":"ohm"}},"key":"Ω","names":["Ω","Ohm"]},{"category":"energy","mappings":{"default":{"default":"kilohm"}},"key":"kΩ","names":["kΩ","KΩ"]},{"category":"energy","mappings":{"default":{"default":"ohm"}},"key":"Ω","names":["Ω"]},{"category":"energy","mappings":{"default":{"default":"megaohm"}},"key":"MΩ","names":["MΩ"]},{"category":"energy","mappings":{"default":{"default":"gigaohm"}},"key":"GΩ","names":["GΩ"]}] diff --git a/assets/js/mathmaps/en/units/length.js b/assets/js/mathmaps/en/units/length.js new file mode 100644 index 0000000000000000000000000000000000000000..b1081024f8e4acce194d76b5d3dfd0636fa077cd --- /dev/null +++ b/assets/js/mathmaps/en/units/length.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"Length","mappings":{"default":{"default":"millimeters"}},"key":"mm","names":["mm"]},{"category":"Length","mappings":{"default":{"default":"centimeters"}},"key":"cm","names":["cm"]},{"category":"Length","mappings":{"default":{"default":"meters"}},"key":"m","names":["m"]},{"category":"Length","mappings":{"default":{"default":"kilometers"}},"key":"km","names":["km"]},{"category":"Length","mappings":{"default":{"default":"feet"}},"key":"ft","names":["ft","ft."]},{"category":"Length","mappings":{"default":{"default":"inches"}},"key":"in","names":["in","in."]},{"category":"Length","mappings":{"default":{"default":"miles"}},"key":"mi","names":["mi","mi."]},{"category":"Length","mappings":{"default":{"default":"yards"}},"key":"yd","names":["yd","yd."]},{"category":"","mappings":{"default":{"default":"nautical miles"}},"key":"n.m.","names":["n.m."]}] diff --git a/assets/js/mathmaps/en/units/memory.js b/assets/js/mathmaps/en/units/memory.js new file mode 100644 index 0000000000000000000000000000000000000000..1fa748cd0d84ee9ff91606a8c9590ba6f51f85fd --- /dev/null +++ b/assets/js/mathmaps/en/units/memory.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"","mappings":{"default":{"default":"bits"}},"key":"b","names":["b"]},{"category":"","mappings":{"default":{"default":"bytes"}},"key":"B","names":["B"]},{"category":"","mappings":{"default":{"default":"kilobytes"}},"key":"KB","names":["KB"]},{"category":"","mappings":{"default":{"default":"megabytes"}},"key":"MB","names":["MB"]},{"category":"","mappings":{"default":{"default":"gigabytes"}},"key":"GB","names":["GB"]},{"category":"","mappings":{"default":{"default":"terabytes"}},"key":"TB","names":["TB"]}] diff --git a/assets/js/mathmaps/en/units/other.js b/assets/js/mathmaps/en/units/other.js new file mode 100644 index 0000000000000000000000000000000000000000..1822756e3fe308a64d60457c0ec55da6429d586c --- /dev/null +++ b/assets/js/mathmaps/en/units/other.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"","mappings":{"default":{"default":"dozen"}},"key":"doz","names":["doz","doz.","dz","dz."]},{"category":"","mappings":{"default":{"default":"square"}},"key":"sq","names":["sq","sq."]},{"category":"","mappings":{"default":{"default":"hectare"}},"key":"ha","names":["ha"]}] diff --git a/assets/js/mathmaps/en/units/speed.js b/assets/js/mathmaps/en/units/speed.js new file mode 100644 index 0000000000000000000000000000000000000000..30d2f71a6d0ca00ead6d5dc3deda82ca4a388d2f --- /dev/null +++ b/assets/js/mathmaps/en/units/speed.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"","mappings":{"default":{"default":"knot"}},"key":"kt","names":["kt","kt."]},{"category":"","mappings":{"default":{"default":"miles per hour"}},"key":"mph","names":["mph"]},{"category":"","mappings":{"default":{"default":"revolutions per minute"}},"key":"rpm","names":["rpm"]},{"category":"","mappings":{"default":{"default":"kilometers per hour"}},"key":"kmh","names":["kmh"]}] diff --git a/assets/js/mathmaps/en/units/temperature.js b/assets/js/mathmaps/en/units/temperature.js new file mode 100644 index 0000000000000000000000000000000000000000..24aca140959b02af9d0a9f852c4f62523475d2ef --- /dev/null +++ b/assets/js/mathmaps/en/units/temperature.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"","mappings":{"default":{"default":"Fahrenheit"}},"key":"F","names":["F","F.","°F"]},{"category":"","mappings":{"default":{"default":"Celsius","alternative":"Centigrade"}},"key":"C","names":["C","°C"]},{"category":"","mappings":{"default":{"default":"Kelvin"}},"key":"K","names":["K","°K"]}] diff --git a/assets/js/mathmaps/en/units/time.js b/assets/js/mathmaps/en/units/time.js new file mode 100644 index 0000000000000000000000000000000000000000..3eed73c7596fe1e5c615629d109ae9c2febf288d --- /dev/null +++ b/assets/js/mathmaps/en/units/time.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"time","mappings":{"default":{"default":"nanoseconds"}},"key":"ns","names":["ns"]},{"category":"time","mappings":{"default":{"default":"microseconds"}},"key":"µs","names":["µs"]},{"category":"time","mappings":{"default":{"default":"milliseconds"}},"key":"ms","names":["ms"]},{"category":"time","mappings":{"default":{"default":"seconds"}},"key":"s","names":["s"]},{"category":"time","mappings":{"default":{"default":"minutes"}},"key":"min","names":["min"]},{"category":"time","mappings":{"default":{"default":"hours"}},"key":"h","names":["h","hr"]}] diff --git a/assets/js/mathmaps/en/units/volume.js b/assets/js/mathmaps/en/units/volume.js new file mode 100644 index 0000000000000000000000000000000000000000..842eb005a5b1cba5066051230b77f43b19d43212 --- /dev/null +++ b/assets/js/mathmaps/en/units/volume.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"volume","mappings":{"default":{"default":"barrels"}},"key":"bbl","names":["bbl.","bbl"]},{"category":"volume","mappings":{"default":{"default":"cubics"}},"key":"cu","names":["cu","cu."]},{"category":"volume","mappings":{"default":{"default":"fluid ounces"}},"key":"fl. oz.","names":["fl. oz."]},{"category":"volume","mappings":{"default":{"default":"gallons"}},"key":"gal","names":["gal","gal."]},{"category":"volume","mappings":{"default":{"default":"pints"}},"key":"pt","names":["pt","pt."]},{"category":"volume","mappings":{"default":{"default":"quarts"}},"key":"qt","names":["qt","qt."]},{"category":"volume","mappings":{"default":{"default":"tablespoons"}},"key":"tbsp","names":["tbsp","tbsp."]},{"category":"volume","mappings":{"default":{"default":"teaspoons"}},"key":"tsp","names":["tsp","tsp."]},{"category":"volume","mappings":{"default":{"default":"cubic centimeters"}},"key":"cc","names":["cc"]},{"category":"volume","mappings":{"default":{"default":"kiloliters"}},"key":"kl","names":["kl"]},{"category":"volume","mappings":{"default":{"default":"liters"}},"key":"l","names":["l"]},{"category":"volume","mappings":{"default":{"default":"milliliters"}},"key":"ml","names":["ml"]}] diff --git a/assets/js/mathmaps/en/units/weight.js b/assets/js/mathmaps/en/units/weight.js new file mode 100644 index 0000000000000000000000000000000000000000..5eb7af23af370e8d84b6f0eda353d4babfc2ac5d --- /dev/null +++ b/assets/js/mathmaps/en/units/weight.js @@ -0,0 +1 @@ +[{"locale":"en"},{"category":"","mappings":{"default":{"default":"pounds"}},"key":"lb","names":["lb","lb."]},{"category":"","mappings":{"default":{"default":"long tons"}},"key":"LT","names":["LT","L.T."]},{"category":"","mappings":{"default":{"default":"ounces"}},"key":"oz","names":["oz","oz."]},{"key":"µg","names":["µg","mcg"],"mappings":{"default":{"default":"micrograms"}}},{"category":"","mappings":{"default":{"default":"grams"}},"key":"gr","names":["g","gr"]},{"category":"","mappings":{"default":{"default":"kilograms"}},"key":"kg","names":["kg"]},{"category":"","mappings":{"default":{"default":"micrograms"}},"key":"mcg","names":["mg","µg"]},{"category":"","mappings":{"default":{"default":"milligrams"}},"key":"mg","names":["mg"]},{"category":"","mappings":{"default":{"default":"tons"}},"key":"t","names":["t","T"]}] diff --git a/assets/js/mathmaps/es/functions/algebra.js b/assets/js/mathmaps/es/functions/algebra.js new file mode 100644 index 0000000000000000000000000000000000000000..96cfc372a263164b656399d009ee2b9bb25ab23c --- /dev/null +++ b/assets/js/mathmaps/es/functions/algebra.js @@ -0,0 +1 @@ +[{"locale":"es"},{"key":"deg","names":["deg"],"mappings":{"default":{"default":"grados"}},"category":"Algebra"},{"key":"det","names":["det"],"mappings":{"default":{"default":"determinante"}},"category":"Algebra"},{"key":"dim","names":["dim"],"mappings":{"default":{"default":"dimensión"}},"category":"Algebra"},{"key":"hom","names":["hom","Hom"],"mappings":{"default":{"default":"homomorfismo"}},"category":"Algebra"},{"key":"ker","names":["ker"],"mappings":{"default":{"default":"kernel"}},"category":"Algebra"},{"key":"Tr","names":["Tr","tr"],"mappings":{"default":{"default":"traza"}},"category":"Algebra"}] diff --git a/assets/js/mathmaps/es/functions/elementary.js b/assets/js/mathmaps/es/functions/elementary.js new file mode 100644 index 0000000000000000000000000000000000000000..30c0978e88434a8cc5f1c67af816b8c0bc3f7e2b --- /dev/null +++ b/assets/js/mathmaps/es/functions/elementary.js @@ -0,0 +1 @@ +[{"locale":"es"},{"key":"log","names":["log"],"mappings":{"default":{"default":"logaritmo"}},"category":"Logarithm"},{"key":"ln","names":["ln"],"mappings":{"default":{"default":"logaritmo neperiano"}},"category":"Logarithm"},{"key":"lg","names":["lg"],"mappings":{"default":{"default":"logaritmo base 10"}},"category":"Logarithm"},{"key":"exp","names":["exp","expt"],"mappings":{"default":{"default":"exponente"}},"category":"Elementary"},{"key":"gcd","names":["gcd"],"mappings":{"default":{"default":"MCD"}},"category":"Elementary"},{"key":"lcm","names":["lcm"],"mappings":{"default":{"default":"mcm"}},"category":"Elementary"},{"key":"arg","names":["arg"],"mappings":{"default":{"default":"argumento"}},"category":"Complex"},{"key":"im","names":["im"],"mappings":{"default":{"default":"parte imaginaria"}},"category":"Complex"},{"key":"re","names":["re"],"mappings":{"default":{"default":"residuo"}},"category":"Complex"},{"key":"inf","names":["inf"],"mappings":{"default":{"default":"extremo inferior"}},"category":"Limits"},{"key":"lim","names":["lim"],"mappings":{"default":{"default":"lÃmite"}},"category":"Limits"},{"key":"max","names":["max"],"mappings":{"default":{"default":"máximo"}},"category":"Limits"},{"key":"min","names":["min"],"mappings":{"default":{"default":"mÃnimo"}},"category":"Limits"},{"key":"sup","names":["sup"],"mappings":{"default":{"default":"superior"}},"category":"Limits"},{"key":"lim inf","names":["lim inf","liminf"],"mappings":{"default":{"default":"lÃmite inferior"}},"category":"Limits"},{"key":"lim sup","names":["lim sup","limsup"],"mappings":{"default":{"default":"lÃmite superior"}},"category":"Limits"},{"key":"injlim","names":["injlim","inj lim"],"mappings":{"default":{"default":"lÃmite directo"}},"category":"Limits"},{"key":"projlim","names":["projlim","proj lim"],"mappings":{"default":{"default":"lÃmite inverso"}},"category":"Limits"},{"key":"mod","names":["mod"],"mappings":{"default":{"default":"módulo"}},"category":"Elementary"},{"key":"Pr","names":["Pr"],"mappings":{"default":{"default":"probabilidad"}},"category":"Probability"}] diff --git a/assets/js/mathmaps/es/functions/hyperbolic.js b/assets/js/mathmaps/es/functions/hyperbolic.js new file mode 100644 index 0000000000000000000000000000000000000000..eaac560c21b0daab272bf3bbcc87a12993d2b4bc --- /dev/null +++ b/assets/js/mathmaps/es/functions/hyperbolic.js @@ -0,0 +1 @@ +[{"locale":"es"},{"key":"cosh","names":["cosh"],"mappings":{"default":{"default":"coseno hiperbólico"}},"category":"Hyperbolic"},{"key":"coth","names":["coth"],"mappings":{"default":{"default":"cotangente hiperbólica"}},"category":"Hyperbolic"},{"key":"csch","names":["csch"],"mappings":{"default":{"default":"cosecante hiperbólica"}},"category":"Hyperbolic"},{"key":"sech","names":["sech"],"mappings":{"default":{"default":"secante hiperbólica"}},"category":"Hyperbolic"},{"key":"sinh","names":["sinh"],"mappings":{"default":{"default":"seno hiperbólico"}},"category":"Hyperbolic"},{"key":"tanh","names":["tanh"],"mappings":{"default":{"default":"tangente hiperbólica"}},"category":"Hyperbolic"},{"key":"arcosh","names":["arcosh","arccosh"],"mappings":{"default":{"default":"area coseno hiperbólico"}},"category":"Area"},{"key":"arcoth","names":["arcoth","arccoth"],"mappings":{"default":{"default":"area cotangente hiperbólica"}},"category":"Area"},{"key":"arcsch","names":["arcsch","arccsch"],"mappings":{"default":{"default":"area cosecante hiperbólica"}},"category":"Area"},{"key":"arsech","names":["arsech","arcsech"],"mappings":{"default":{"default":"area secante hiperbólica"}},"category":"Area"},{"key":"arsinh","names":["arsinh","arcsinh"],"mappings":{"default":{"default":"area seno hiperbólico"}},"category":"Area"},{"key":"artanh","names":["artanh","arctanh"],"mappings":{"default":{"default":"area tangente hiperbólica"}},"category":"Area"}] diff --git a/assets/js/mathmaps/es/functions/trigonometry.js b/assets/js/mathmaps/es/functions/trigonometry.js new file mode 100644 index 0000000000000000000000000000000000000000..0d7550d76b2b4c8e24cc431607e6d420a064b83e --- /dev/null +++ b/assets/js/mathmaps/es/functions/trigonometry.js @@ -0,0 +1 @@ +[{"locale":"es"},{"key":"cos","names":["cos","cosine"],"mappings":{"default":{"default":"coseno"}},"category":"Trigonometric"},{"key":"cot","names":["cot"],"mappings":{"default":{"default":"cotangente"}},"category":"Trigonometric"},{"key":"csc","names":["csc"],"mappings":{"default":{"default":"cosecante"}},"category":"Trigonometric"},{"key":"sec","names":["sec"],"mappings":{"default":{"default":"secant"}},"category":"Trigonometric"},{"key":"sin","names":["sin","sine","sen"],"mappings":{"default":{"default":"seno"}},"category":"Trigonometric"},{"key":"tan","names":["tan"],"mappings":{"default":{"default":"tangente"}},"category":"Trigonometric"},{"key":"arccos","names":["arccos"],"mappings":{"default":{"default":"arco coseno"}},"category":"Cyclometric"},{"key":"arccot","names":["arccot"],"mappings":{"default":{"default":"arco cotangente"}},"category":"Cyclometric"},{"key":"arccsc","names":["arccsc"],"mappings":{"default":{"default":"arco cosecante"}},"category":"Cyclometric"},{"key":"arcsec","names":["arcsec"],"mappings":{"default":{"default":"arco secante"}},"category":"Cyclometric"},{"key":"arcsin","names":["arcsin"],"mappings":{"default":{"default":"arco seno"}},"category":"Cyclometric"},{"key":"arctan","names":["arctan"],"mappings":{"default":{"default":"arco tangente"}},"category":"Cyclometric"}] diff --git a/assets/js/mathmaps/es/symbols/greek-capital.js b/assets/js/mathmaps/es/symbols/greek-capital.js new file mode 100644 index 0000000000000000000000000000000000000000..dc41c695ef5206940fa3aba250854d38a770627e --- /dev/null +++ b/assets/js/mathmaps/es/symbols/greek-capital.js @@ -0,0 +1 @@ +[{"locale":"es"},{"key":"0391","mappings":{"default":{"default":"mayúscula Alfa"}},"category":"Lu"},{"key":"0392","mappings":{"default":{"default":"mayúscula Beta"}},"category":"Lu"},{"key":"0393","mappings":{"default":{"default":"mayúscula Gamma"}},"category":"Lu"},{"key":"0394","mappings":{"default":{"default":"mayúscula Delta"}},"category":"Lu"},{"key":"0395","mappings":{"default":{"default":"mayúscula Épsilon"}},"category":"Lu"},{"key":"0396","mappings":{"default":{"default":"mayúscula Zeta"}},"category":"Lu"},{"key":"0397","mappings":{"default":{"default":"mayúscula Eta"}},"category":"Lu"},{"key":"0398","mappings":{"default":{"default":"mayúscula Theta"}},"category":"Lu"},{"key":"0399","mappings":{"default":{"default":"mayúscula Iota"}},"category":"Lu"},{"key":"039A","mappings":{"default":{"default":"mayúscula Kappa"}},"category":"Lu"},{"key":"039B","mappings":{"default":{"default":"mayúscula Lambda"}},"category":"Lu"},{"key":"039C","mappings":{"default":{"default":"mayúscula Mi"}},"category":"Lu"},{"key":"039D","mappings":{"default":{"default":"mayúscula Ni"}},"category":"Lu"},{"key":"039E","mappings":{"default":{"default":"mayúscula Xi"}},"category":"Lu"},{"key":"039F","mappings":{"default":{"default":"mayúscula Ómicron"}},"category":"Lu"},{"key":"03A0","mappings":{"default":{"default":"mayúscula Pi"}},"category":"Lu"},{"key":"03A1","mappings":{"default":{"default":"mayúscula Rho"}},"category":"Lu"},{"key":"03A3","mappings":{"default":{"default":"mayúscula Sigma"}},"category":"Lu"},{"key":"03A4","mappings":{"default":{"default":"mayúscula Tau"}},"category":"Lu"},{"key":"03A5","mappings":{"default":{"default":"mayúscula Ãpsilon"}},"category":"Lu"},{"key":"03A6","mappings":{"default":{"default":"mayúscula Phi"}},"category":"Lu"},{"key":"03A7","mappings":{"default":{"default":"mayúscula Ji"}},"category":"Lu"},{"key":"03A8","mappings":{"default":{"default":"mayúscula Psi"}},"category":"Lu"},{"key":"03A9","mappings":{"default":{"default":"mayúscula Omega"}},"category":"Lu"}] diff --git a/assets/js/mathmaps/es/symbols/greek-mathfonts-bold.js b/assets/js/mathmaps/es/symbols/greek-mathfonts-bold.js new file mode 100644 index 0000000000000000000000000000000000000000..ce70461d816d177a956a4ecdc6f2638b7bf17a62 --- /dev/null +++ b/assets/js/mathmaps/es/symbols/greek-mathfonts-bold.js @@ -0,0 +1 @@ +[{"locale":"es"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Alfa"}},"key":"1D6A8"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Beta"}},"key":"1D6A9"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Gamma"}},"key":"1D6AA"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Delta"}},"key":"1D6AB"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Épsilon"}},"key":"1D6AC"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Zeta"}},"key":"1D6AD"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Eta"}},"key":"1D6AE"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Theta"}},"key":"1D6AF"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Iota"}},"key":"1D6B0"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Kappa"}},"key":"1D6B1"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Lambda"}},"key":"1D6B2"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Mi"}},"key":"1D6B3"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Ni"}},"key":"1D6B4"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Xi"}},"key":"1D6B5"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Ómicron"}},"key":"1D6B6"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Pi"}},"key":"1D6B7"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Rho"}},"key":"1D6B8"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Sigma"}},"key":"1D6BA"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Tau"}},"key":"1D6BB"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Ãpsilon"}},"key":"1D6BC"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Phi"}},"key":"1D6BD"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Ji"}},"key":"1D6BE"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Psi"}},"key":"1D6BF"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Omega"}},"key":"1D6C0"},{"category":"Ll","mappings":{"default":{"default":"negrita alfa"}},"key":"1D6C2"},{"category":"Ll","mappings":{"default":{"default":"negrita beta"}},"key":"1D6C3"},{"category":"Ll","mappings":{"default":{"default":"negrita gamma"}},"key":"1D6C4"},{"category":"Ll","mappings":{"default":{"default":"negrita delta"}},"key":"1D6C5"},{"category":"Ll","mappings":{"default":{"default":"negrita épsilon"}},"key":"1D6C6"},{"category":"Ll","mappings":{"default":{"default":"negrita zeta"}},"key":"1D6C7"},{"category":"Ll","mappings":{"default":{"default":"negrita eta"}},"key":"1D6C8"},{"category":"Ll","mappings":{"default":{"default":"negrita theta"}},"key":"1D6C9"},{"category":"Ll","mappings":{"default":{"default":"negrita iota"}},"key":"1D6CA"},{"category":"Ll","mappings":{"default":{"default":"negrita kappa"}},"key":"1D6CB"},{"category":"Ll","mappings":{"default":{"default":"negrita lambda"}},"key":"1D6CC"},{"category":"Ll","mappings":{"default":{"default":"negrita mi"}},"key":"1D6CD"},{"category":"Ll","mappings":{"default":{"default":"negrita ni"}},"key":"1D6CE"},{"category":"Ll","mappings":{"default":{"default":"negrita xi"}},"key":"1D6CF"},{"category":"Ll","mappings":{"default":{"default":"negrita ómicron"}},"key":"1D6D0"},{"category":"Ll","mappings":{"default":{"default":"negrita pi"}},"key":"1D6D1"},{"category":"Ll","mappings":{"default":{"default":"negrita rho"}},"key":"1D6D2"},{"category":"Ll","mappings":{"default":{"default":"negrita final sigma"}},"key":"1D6D3"},{"category":"Ll","mappings":{"default":{"default":"negrita sigma"}},"key":"1D6D4"},{"category":"Ll","mappings":{"default":{"default":"negrita tau"}},"key":"1D6D5"},{"category":"Ll","mappings":{"default":{"default":"negrita Ãpsilon"}},"key":"1D6D6"},{"category":"Ll","mappings":{"default":{"default":"negrita phi"}},"key":"1D6D7"},{"category":"Ll","mappings":{"default":{"default":"negrita ji"}},"key":"1D6D8"},{"category":"Ll","mappings":{"default":{"default":"negrita psi"}},"key":"1D6D9"},{"category":"Ll","mappings":{"default":{"default":"negrita omega"}},"key":"1D6DA"}] diff --git a/assets/js/mathmaps/es/symbols/greek-mathfonts-italic.js b/assets/js/mathmaps/es/symbols/greek-mathfonts-italic.js new file mode 100644 index 0000000000000000000000000000000000000000..d788acc304241de84cbef09091253ca456d4962e --- /dev/null +++ b/assets/js/mathmaps/es/symbols/greek-mathfonts-italic.js @@ -0,0 +1 @@ +[{"locale":"es"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Alfa"}},"key":"1D6E2"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Beta"}},"key":"1D6E3"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Gamma"}},"key":"1D6E4"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Delta"}},"key":"1D6E5"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Épsilon"}},"key":"1D6E6"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Zeta"}},"key":"1D6E7"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Eta"}},"key":"1D6E8"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Theta"}},"key":"1D6E9"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Iota"}},"key":"1D6EA"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Kappa"}},"key":"1D6EB"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Lambda"}},"key":"1D6EC"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Mi"}},"key":"1D6ED"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Ni"}},"key":"1D6EE"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Xi"}},"key":"1D6EF"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Ómicron"}},"key":"1D6F0"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Pi"}},"key":"1D6F1"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Rho"}},"key":"1D6F2"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Sigma"}},"key":"1D6F4"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Tau"}},"key":"1D6F5"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Ãpsilon"}},"key":"1D6F6"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Phi"}},"key":"1D6F7"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Ji"}},"key":"1D6F8"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Psi"}},"key":"1D6F9"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Omega"}},"key":"1D6FA"},{"category":"Ll","mappings":{"default":{"default":"cursiva alfa"}},"key":"1D6FC"},{"category":"Ll","mappings":{"default":{"default":"cursiva beta"}},"key":"1D6FD"},{"category":"Ll","mappings":{"default":{"default":"cursiva gamma"}},"key":"1D6FE"},{"category":"Ll","mappings":{"default":{"default":"cursiva delta"}},"key":"1D6FF"},{"category":"Ll","mappings":{"default":{"default":"cursiva épsilon"}},"key":"1D700"},{"category":"Ll","mappings":{"default":{"default":"cursiva zeta"}},"key":"1D701"},{"category":"Ll","mappings":{"default":{"default":"cursiva eta"}},"key":"1D702"},{"category":"Ll","mappings":{"default":{"default":"cursiva theta"}},"key":"1D703"},{"category":"Ll","mappings":{"default":{"default":"cursiva iota"}},"key":"1D704"},{"category":"Ll","mappings":{"default":{"default":"cursiva kappa"}},"key":"1D705"},{"category":"Ll","mappings":{"default":{"default":"cursiva lambda"}},"key":"1D706"},{"category":"Ll","mappings":{"default":{"default":"cursiva mi"}},"key":"1D707"},{"category":"Ll","mappings":{"default":{"default":"cursiva ni"}},"key":"1D708"},{"category":"Ll","mappings":{"default":{"default":"cursiva xi"}},"key":"1D709"},{"category":"Ll","mappings":{"default":{"default":"cursiva ómicron"}},"key":"1D70A"},{"category":"Ll","mappings":{"default":{"default":"cursiva pi"}},"key":"1D70B"},{"category":"Ll","mappings":{"default":{"default":"cursiva rho"}},"key":"1D70C"},{"category":"Ll","mappings":{"default":{"default":"cursiva final sigma"}},"key":"1D70D"},{"category":"Ll","mappings":{"default":{"default":"cursiva sigma"}},"key":"1D70E"},{"category":"Ll","mappings":{"default":{"default":"cursiva tau"}},"key":"1D70F"},{"category":"Ll","mappings":{"default":{"default":"cursiva Ãpsilon"}},"key":"1D710"},{"category":"Ll","mappings":{"default":{"default":"cursiva phi"}},"key":"1D711"},{"category":"Ll","mappings":{"default":{"default":"cursiva ji"}},"key":"1D712"},{"category":"Ll","mappings":{"default":{"default":"cursiva psi"}},"key":"1D713"},{"category":"Ll","mappings":{"default":{"default":"cursiva omega"}},"key":"1D714"}] diff --git a/assets/js/mathmaps/es/symbols/greek-mathfonts-sans-serif-bold.js b/assets/js/mathmaps/es/symbols/greek-mathfonts-sans-serif-bold.js new file mode 100644 index 0000000000000000000000000000000000000000..cb8602989dd524725b435eb55ac86cf7d4434f49 --- /dev/null +++ b/assets/js/mathmaps/es/symbols/greek-mathfonts-sans-serif-bold.js @@ -0,0 +1 @@ +[{"locale":"es"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Alfa"}},"key":"1D756"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Beta"}},"key":"1D757"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Gamma"}},"key":"1D758"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Delta"}},"key":"1D759"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Épsilon"}},"key":"1D75A"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Zeta"}},"key":"1D75B"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Eta"}},"key":"1D75C"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Theta"}},"key":"1D75D"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Iota"}},"key":"1D75E"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Kappa"}},"key":"1D75F"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Lambda"}},"key":"1D760"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Mi"}},"key":"1D761"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Ni"}},"key":"1D762"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Xi"}},"key":"1D763"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Ómicron"}},"key":"1D764"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Pi"}},"key":"1D765"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Rho"}},"key":"1D766"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Sigma"}},"key":"1D768"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Tau"}},"key":"1D769"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Ãpsilon"}},"key":"1D76A"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Phi"}},"key":"1D76B"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Ji"}},"key":"1D76C"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Psi"}},"key":"1D76D"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Omega"}},"key":"1D76E"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita alfa"}},"key":"1D770"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita beta"}},"key":"1D771"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita gamma"}},"key":"1D772"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita delta"}},"key":"1D773"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita épsilon"}},"key":"1D774"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita zeta"}},"key":"1D775"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita eta"}},"key":"1D776"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita theta"}},"key":"1D777"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita iota"}},"key":"1D778"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita kappa"}},"key":"1D779"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita lambda"}},"key":"1D77A"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita mi"}},"key":"1D77B"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita ni"}},"key":"1D77C"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita xi"}},"key":"1D77D"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita ómicron"}},"key":"1D77E"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita pi"}},"key":"1D77F"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita rho"}},"key":"1D780"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita final sigma"}},"key":"1D781"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita sigma"}},"key":"1D782"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita tau"}},"key":"1D783"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita Ãpsilon"}},"key":"1D784"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita phi"}},"key":"1D785"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita ji"}},"key":"1D786"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita psi"}},"key":"1D787"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita omega"}},"key":"1D788"}] diff --git a/assets/js/mathmaps/es/symbols/greek-scripts.js b/assets/js/mathmaps/es/symbols/greek-scripts.js new file mode 100644 index 0000000000000000000000000000000000000000..d7eee0e1b7c00689a03b72532d684065ffcd8cc0 --- /dev/null +++ b/assets/js/mathmaps/es/symbols/greek-scripts.js @@ -0,0 +1 @@ +[{"locale":"es"}] diff --git a/assets/js/mathmaps/es/symbols/greek-small.js b/assets/js/mathmaps/es/symbols/greek-small.js new file mode 100644 index 0000000000000000000000000000000000000000..df532758b3217a4c2cc6b711b3174a97bde50001 --- /dev/null +++ b/assets/js/mathmaps/es/symbols/greek-small.js @@ -0,0 +1 @@ +[{"locale":"es"},{"key":"03B1","mappings":{"default":{"default":"alfa"}},"category":"Ll"},{"key":"03B2","mappings":{"default":{"default":"beta"}},"category":"Ll"},{"key":"03B3","mappings":{"default":{"default":"gamma"}},"category":"Ll"},{"key":"03B4","mappings":{"default":{"default":"delta"}},"category":"Ll"},{"key":"03B5","mappings":{"default":{"default":"épsilon"}},"category":"Ll"},{"key":"03B6","mappings":{"default":{"default":"zeta"}},"category":"Ll"},{"key":"03B7","mappings":{"default":{"default":"eta"}},"category":"Ll"},{"key":"03B8","mappings":{"default":{"default":"theta"}},"category":"Ll"},{"key":"03B9","mappings":{"default":{"default":"iota"}},"category":"Ll"},{"key":"03BA","mappings":{"default":{"default":"kappa"}},"category":"Ll"},{"key":"03BB","mappings":{"default":{"default":"lambda"}},"category":"Ll"},{"key":"03BC","mappings":{"default":{"default":"mi"}},"category":"Ll"},{"key":"03BD","mappings":{"default":{"default":"ni"}},"category":"Ll"},{"key":"03BE","mappings":{"default":{"default":"xi"}},"category":"Ll"},{"key":"03BF","mappings":{"default":{"default":"ómicron"}},"category":"Ll"},{"key":"03C0","mappings":{"default":{"default":"pi"}},"category":"Ll"},{"key":"03C1","mappings":{"default":{"default":"rho"}},"category":"Ll"},{"key":"03C2","mappings":{"default":{"default":"sigma final"}},"category":"Ll"},{"key":"03C3","mappings":{"default":{"default":"sigma"}},"category":"Ll"},{"key":"03C4","mappings":{"default":{"default":"tau"}},"category":"Ll"},{"key":"03C5","mappings":{"default":{"default":"Ãpsilon"}},"category":"Ll"},{"key":"03C6","mappings":{"default":{"default":"phi"}},"category":"Ll"},{"key":"03C7","mappings":{"default":{"default":"ji"}},"category":"Ll"},{"key":"03C8","mappings":{"default":{"default":"psi"}},"category":"Ll"},{"key":"03C9","mappings":{"default":{"default":"omega"}},"category":"Ll"}] diff --git a/assets/js/mathmaps/es/symbols/greek-symbols.js b/assets/js/mathmaps/es/symbols/greek-symbols.js new file mode 100644 index 0000000000000000000000000000000000000000..f8c9a2095e32713e58405a3a1fa5bb085f6499cc --- /dev/null +++ b/assets/js/mathmaps/es/symbols/greek-symbols.js @@ -0,0 +1 @@ +[{"locale":"es"},{"key":"03D0","mappings":{"default":{"default":"sÃmbolo beta"}},"category":"Ll"},{"key":"03D1","mappings":{"default":{"default":"variante de theta"}},"category":"Ll"},{"key":"03D5","mappings":{"default":{"default":"phi recta"}},"category":"Ll"},{"key":"03D6","mappings":{"default":{"default":"pi","defaultMP":"variante de pi"}},"category":"Ll"},{"key":"03D7","mappings":{"default":{"default":"sÃmbolo kai griego"}},"category":"Ll"},{"key":"03F0","mappings":{"default":{"default":"kappa","defaultMP":"variante de kappa"}},"category":"Ll"},{"key":"03F1","mappings":{"default":{"default":"rho","defaultMP":"variante de rho"}},"category":"Ll"},{"key":"03F5","mappings":{"default":{"default":"épsilon","defaultMP":"variante de épsilon"}},"category":"Ll"},{"key":"03F6","mappings":{"default":{"default":"épsilon invertido"}},"category":"Sm"},{"key":"03F4","mappings":{"default":{"default":"mayúscula variante de Theta"}},"category":"Lu"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula variante de Theta"}},"key":"1D6B9"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula variante de Theta"}},"key":"1D6F3"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula variante de Theta"}},"key":"1D767"}] diff --git a/assets/js/mathmaps/es/symbols/hebrew_letters.js b/assets/js/mathmaps/es/symbols/hebrew_letters.js new file mode 100644 index 0000000000000000000000000000000000000000..6961fb1e5fceb1663f3d8efde34e9970f08f67ae --- /dev/null +++ b/assets/js/mathmaps/es/symbols/hebrew_letters.js @@ -0,0 +1 @@ +[{"locale":"es"},{"key":"2135","mappings":{"default":{"default":"alef"}},"category":"Lo"},{"key":"2136","mappings":{"default":{"default":"bet"}},"category":"Lo"},{"key":"2137","mappings":{"default":{"default":"guÃmel"}},"category":"Lo"},{"key":"2138","mappings":{"default":{"default":"dálet"}},"category":"Lo"}] diff --git a/assets/js/mathmaps/es/symbols/latin-lower-double-accent.js b/assets/js/mathmaps/es/symbols/latin-lower-double-accent.js new file mode 100644 index 0000000000000000000000000000000000000000..06f94ba14fd816ef576474a1efee4e47cffbf883 --- /dev/null +++ b/assets/js/mathmaps/es/symbols/latin-lower-double-accent.js @@ -0,0 +1 @@ +[{"locale":"es"},{"key":"1E09","mappings":{"default":{"default":"c con cedilla y agudo"}},"category":"Ll"},{"key":"1E15","mappings":{"default":{"default":"e con macrón y grave"}},"category":"Ll"},{"key":"1E17","mappings":{"default":{"default":"e con macrón y agudo"}},"category":"Ll"},{"key":"1E1D","mappings":{"default":{"default":"e con cedilla y breve"}},"category":"Ll"},{"key":"1E2F","mappings":{"default":{"default":"i con diéresis y agudo"}},"category":"Ll"},{"key":"1E39","mappings":{"default":{"default":"l con punto debajo y macrón"}},"category":"Ll"},{"key":"1E4D","mappings":{"default":{"default":"o con tilde y acute"}},"category":"Ll"},{"key":"1E4F","mappings":{"default":{"default":"o con tilde y diéresis"}},"category":"Ll"},{"key":"1E51","mappings":{"default":{"default":"o con macrón y grave"}},"category":"Ll"},{"key":"1E53","mappings":{"default":{"default":"o con macrón y agudo"}},"category":"Ll"},{"key":"1E5D","mappings":{"default":{"default":"r con punto debajo y macrón"}},"category":"Ll"},{"key":"1E65","mappings":{"default":{"default":"s con agudo y punto arriba"}},"category":"Ll"},{"key":"1E67","mappings":{"default":{"default":"s con carón y punto arriba"}},"category":"Ll"},{"key":"1E69","mappings":{"default":{"default":"s con punto debajo y punto arriba"}},"category":"Ll"},{"key":"1E79","mappings":{"default":{"default":"u con tilde y agudo"}},"category":"Ll"},{"key":"1E7B","mappings":{"default":{"default":"u con macrón y diéresis"}},"category":"Ll"},{"key":"1EA5","mappings":{"default":{"default":"a con acento circunflejo y agudo"}},"category":"Ll"},{"key":"1EA7","mappings":{"default":{"default":"a con acento circunflejo y grave"}},"category":"Ll"},{"key":"1EA9","mappings":{"default":{"default":"a con acento circunflejo y gancho arriba"}},"category":"Ll"},{"key":"1EAB","mappings":{"default":{"default":"a con acento circunflejo y tilde"}},"category":"Ll"},{"key":"1EAD","mappings":{"default":{"default":"a con acento circunflejo y punto debajo"}},"category":"Ll"},{"key":"1EAF","mappings":{"default":{"default":"a con breve y agudo"}},"category":"Ll"},{"key":"1EB1","mappings":{"default":{"default":"a con breve y grave"}},"category":"Ll"},{"key":"1EB3","mappings":{"default":{"default":"a con breve y gancho arriba"}},"category":"Ll"},{"key":"1EB5","mappings":{"default":{"default":"a con breve y tilde"}},"category":"Ll"},{"key":"1EB7","mappings":{"default":{"default":"a con breve y punto debajo"}},"category":"Ll"},{"key":"1EBF","mappings":{"default":{"default":"e con acento circunflejo y agudo"}},"category":"Ll"},{"key":"1EC1","mappings":{"default":{"default":"e con acento circunflejo y grave"}},"category":"Ll"},{"key":"1EC3","mappings":{"default":{"default":"e con acento circunflejo y gancho arriba"}},"category":"Ll"},{"key":"1EC5","mappings":{"default":{"default":"e con acento circunflejo y tilde"}},"category":"Ll"},{"key":"1EC7","mappings":{"default":{"default":"e con acento circunflejo y punto debajo"}},"category":"Ll"},{"key":"1ED1","mappings":{"default":{"default":"o con acento circunflejo y agudo"}},"category":"Ll"},{"key":"1ED3","mappings":{"default":{"default":"o con acento circunflejo y grave"}},"category":"Ll"},{"key":"1ED5","mappings":{"default":{"default":"o con acento circunflejo y gancho arriba"}},"category":"Ll"},{"key":"1ED7","mappings":{"default":{"default":"o con acento circunflejo y tilde"}},"category":"Ll"},{"key":"1ED9","mappings":{"default":{"default":"o con acento circunflejo y punto debajo"}},"category":"Ll"},{"key":"1EDB","mappings":{"default":{"default":"o with horn and acute"}},"category":"Ll"},{"key":"1EDD","mappings":{"default":{"default":"o with horn and grave"}},"category":"Ll"},{"key":"1EDF","mappings":{"default":{"default":"o with horn and hook above"}},"category":"Ll"},{"key":"1EE1","mappings":{"default":{"default":"o with horn and tilde"}},"category":"Ll"},{"key":"1EE3","mappings":{"default":{"default":"o con cuerno y punto debajo"}},"category":"Ll"},{"key":"1EE9","mappings":{"default":{"default":"u con cuerno y agudo"}},"category":"Ll"},{"key":"1EEB","mappings":{"default":{"default":"u con cuerno y grave"}},"category":"Ll"},{"key":"1EED","mappings":{"default":{"default":"u con cuerno y gancho arriba"}},"category":"Ll"},{"key":"1EEF","mappings":{"default":{"default":"u con cuerno y tilde"}},"category":"Ll"},{"key":"1EF1","mappings":{"default":{"default":"u con cuerno y punto debajo"}},"category":"Ll"}] diff --git a/assets/js/mathmaps/es/symbols/latin-lower-normal.js b/assets/js/mathmaps/es/symbols/latin-lower-normal.js new file mode 100644 index 0000000000000000000000000000000000000000..e9d632e18ba99bb8406ca340bcf4546da6e84a23 --- /dev/null +++ b/assets/js/mathmaps/es/symbols/latin-lower-normal.js @@ -0,0 +1 @@ +[{"locale":"es"},{"key":"0061","mappings":{"default":{"default":"a"}},"category":"Ll"},{"key":"0062","mappings":{"default":{"default":"b"}},"category":"Ll"},{"key":"0063","mappings":{"default":{"default":"c"}},"category":"Ll"},{"key":"0064","mappings":{"default":{"default":"d"}},"category":"Ll"},{"key":"0065","mappings":{"default":{"default":"e"}},"category":"Ll"},{"key":"0066","mappings":{"default":{"default":"f"}},"category":"Ll"},{"key":"0067","mappings":{"default":{"default":"g"}},"category":"Ll"},{"key":"0068","mappings":{"default":{"default":"h"}},"category":"Ll"},{"key":"0069","mappings":{"default":{"default":"i"}},"category":"Ll"},{"key":"006A","mappings":{"default":{"default":"j"}},"category":"Ll"},{"key":"006B","mappings":{"default":{"default":"k"}},"category":"Ll"},{"key":"006C","mappings":{"default":{"default":"l"}},"category":"Ll"},{"key":"006D","mappings":{"default":{"default":"m"}},"category":"Ll"},{"key":"006E","mappings":{"default":{"default":"n"}},"category":"Ll"},{"key":"006F","mappings":{"default":{"default":"o"}},"category":"Ll"},{"key":"0070","mappings":{"default":{"default":"p"}},"category":"Ll"},{"key":"0071","mappings":{"default":{"default":"q"}},"category":"Ll"},{"key":"0072","mappings":{"default":{"default":"r"}},"category":"Ll"},{"key":"0073","mappings":{"default":{"default":"s"}},"category":"Ll"},{"key":"0074","mappings":{"default":{"default":"t"}},"category":"Ll"},{"key":"0075","mappings":{"default":{"default":"u"}},"category":"Ll"},{"key":"0076","mappings":{"default":{"default":"v"}},"category":"Ll"},{"key":"0077","mappings":{"default":{"default":"w"}},"category":"Ll"},{"key":"0078","mappings":{"default":{"default":"x"}},"category":"Ll"},{"key":"0079","mappings":{"default":{"default":"y","defaultMP":"ye"}},"category":"Ll"},{"key":"007A","mappings":{"default":{"default":"z"}},"category":"Ll"}] diff --git a/assets/js/mathmaps/es/symbols/latin-lower-phonetic.js b/assets/js/mathmaps/es/symbols/latin-lower-phonetic.js new file mode 100644 index 0000000000000000000000000000000000000000..0deaaf7da628ddd8c8b872349f5f8f1555a9503c --- /dev/null +++ b/assets/js/mathmaps/es/symbols/latin-lower-phonetic.js @@ -0,0 +1 @@ +[{"locale":"es"},{"key":"00F8","mappings":{"default":{"default":"o barrada"}},"category":"Ll"},{"key":"0111","mappings":{"default":{"default":"d con barra"}},"category":"Ll"},{"key":"0127","mappings":{"default":{"default":"h con guión"}},"category":"Ll"},{"key":"0142","mappings":{"default":{"default":"l con guión"}},"category":"Ll"},{"key":"0167","mappings":{"default":{"default":"t con guión"}},"category":"Ll"},{"key":"019B","mappings":{"default":{"default":"lambda tachada"}},"category":"Ll"},{"key":"1E9B","mappings":{"default":{"default":"s larga con punto arriba"}},"category":"Ll"},{"key":"0138","mappings":{"default":{"default":"kra"}},"category":"Ll"},{"key":"0192","mappings":{"default":{"default":"f con gancho"}},"category":"Ll"},{"key":"019A","mappings":{"default":{"default":"l con barra"}},"category":"Ll"},{"key":"025B","mappings":{"default":{"default":"e abierta"}},"category":"Ll"},{"key":"0149","mappings":{"default":{"default":"n precedida por apóstrofe"}},"category":"Ll"},{"key":"014B","mappings":{"default":{"default":"eng"}},"category":"Ll"}] diff --git a/assets/js/mathmaps/es/symbols/latin-lower-single-accent.js b/assets/js/mathmaps/es/symbols/latin-lower-single-accent.js new file mode 100644 index 0000000000000000000000000000000000000000..7d48b036770e8ffef5807870696c056ea5a65945 --- /dev/null +++ b/assets/js/mathmaps/es/symbols/latin-lower-single-accent.js @@ -0,0 +1 @@ +[{"locale":"es"},{"key":"00E0","mappings":{"default":{"default":"a grave"}},"category":"Ll"},{"key":"00E1","mappings":{"default":{"default":"a aguda"}},"category":"Ll"},{"key":"00E2","mappings":{"default":{"default":"a acento circunflejo"}},"category":"Ll"},{"key":"00E3","mappings":{"default":{"default":"a con tilde"}},"category":"Ll"},{"key":"00E4","mappings":{"default":{"default":"a diéresis"}},"category":"Ll"},{"key":"00E5","mappings":{"default":{"default":"a con anillo"}},"category":"Ll"},{"key":"00E7","mappings":{"default":{"default":"c cedilla"}},"category":"Ll"},{"key":"00E8","mappings":{"default":{"default":"e grave"}},"category":"Ll"},{"key":"00E9","mappings":{"default":{"default":"e aguda"}},"category":"Ll"},{"key":"00EA","mappings":{"default":{"default":"e acento circunflejo"}},"category":"Ll"},{"key":"00EB","mappings":{"default":{"default":"e diéresis"}},"category":"Ll"},{"key":"00EC","mappings":{"default":{"default":"i grave"}},"category":"Ll"},{"key":"00ED","mappings":{"default":{"default":"i aguda"}},"category":"Ll"},{"key":"00EE","mappings":{"default":{"default":"i acento circunflejo"}},"category":"Ll"},{"key":"00EF","mappings":{"default":{"default":"i diéresis"}},"category":"Ll"},{"key":"00F1","mappings":{"default":{"default":"eñe"}},"category":"Ll"},{"key":"00F2","mappings":{"default":{"default":"o grave"}},"category":"Ll"},{"key":"00F3","mappings":{"default":{"default":"o aguda"}},"category":"Ll"},{"key":"00F4","mappings":{"default":{"default":"o acento circunflejo"}},"category":"Ll"},{"key":"00F5","mappings":{"default":{"default":"o con tilde"}},"category":"Ll"},{"key":"00F6","mappings":{"default":{"default":"o diéresis"}},"category":"Ll"},{"key":"00F9","mappings":{"default":{"default":"u grave"}},"category":"Ll"},{"key":"00FA","mappings":{"default":{"default":"u aguda"}},"category":"Ll"},{"key":"00FB","mappings":{"default":{"default":"u acento circunflejo"}},"category":"Ll"},{"key":"00FC","mappings":{"default":{"default":"u diéresis"}},"category":"Ll"},{"key":"00FD","mappings":{"default":{"default":"Y aguda","defaultMP":"ye aguda"}},"category":"Ll"},{"key":"00FF","mappings":{"default":{"default":"y diéresis","defaultMP":"ye diéresis"}},"category":"Ll"},{"key":"0101","mappings":{"default":{"default":"a barra"}},"category":"Ll"},{"key":"0103","mappings":{"default":{"default":"a con breve"}},"category":"Ll"},{"key":"0105","mappings":{"default":{"default":"a con ogonek"}},"category":"Ll"},{"key":"0107","mappings":{"default":{"default":"c con agudo"}},"category":"Ll"},{"key":"0109","mappings":{"default":{"default":"c con acento circunflejo"}},"category":"Ll"},{"key":"010B","mappings":{"default":{"default":"c con punto arriba"}},"category":"Ll"},{"key":"010D","mappings":{"default":{"default":"c con carón"}},"category":"Ll"},{"key":"010F","mappings":{"default":{"default":"d con carón"}},"category":"Ll"},{"key":"0113","mappings":{"default":{"default":"e barra"}},"category":"Ll"},{"key":"0117","mappings":{"default":{"default":"e con punto arriba"}},"category":"Ll"},{"key":"0119","mappings":{"default":{"default":"e con ogonek"}},"category":"Ll"},{"key":"011B","mappings":{"default":{"default":"e con carón"}},"category":"Ll"},{"key":"011D","mappings":{"default":{"default":"g con acento circunflejo"}},"category":"Ll"},{"key":"011F","mappings":{"default":{"default":"g con breve"}},"category":"Ll"},{"key":"0121","mappings":{"default":{"default":"g con punto arriba"}},"category":"Ll"},{"key":"0125","mappings":{"default":{"default":"h con acento circunflejo"}},"category":"Ll"},{"key":"0129","mappings":{"default":{"default":"i con tilde"}},"category":"Ll"},{"key":"012B","mappings":{"default":{"default":"i barra"}},"category":"Ll"},{"key":"012F","mappings":{"default":{"default":"i con ogonek"}},"category":"Ll"},{"key":"0131","mappings":{"default":{"default":"i sin punto"}},"category":"Ll"},{"key":"0135","mappings":{"default":{"default":"j con acento circunflejo"}},"category":"Ll"},{"key":"0137","mappings":{"default":{"default":"k con cedilla"}},"category":"Ll"},{"key":"013A","mappings":{"default":{"default":"l con agudo"}},"category":"Ll"},{"key":"013C","mappings":{"default":{"default":"l con cedilla"}},"category":"Ll"},{"key":"013E","mappings":{"default":{"default":"l con carón"}},"category":"Ll"},{"key":"0140","mappings":{"default":{"default":"l con punto mediano"}},"category":"Ll"},{"key":"0144","mappings":{"default":{"default":"n con agudo"}},"category":"Ll"},{"key":"0146","mappings":{"default":{"default":"n con cedilla"}},"category":"Ll"},{"key":"0148","mappings":{"default":{"default":"n con carón"}},"category":"Ll"},{"key":"014D","mappings":{"default":{"default":"o barra"}},"category":"Ll"},{"key":"0151","mappings":{"default":{"default":"o con doble acento agudo"}},"category":"Ll"},{"key":"0155","mappings":{"default":{"default":"r con agudo"}},"category":"Ll"},{"key":"0157","mappings":{"default":{"default":"r con cedilla"}},"category":"Ll"},{"key":"0159","mappings":{"default":{"default":"r con carón"}},"category":"Ll"},{"key":"015B","mappings":{"default":{"default":"s con agudo"}},"category":"Ll"},{"key":"015D","mappings":{"default":{"default":"s con acento circunflejo"}},"category":"Ll"},{"key":"015F","mappings":{"default":{"default":"s con cedilla"}},"category":"Ll"},{"key":"0161","mappings":{"default":{"default":"s con carón"}},"category":"Ll"},{"key":"0163","mappings":{"default":{"default":"t con cedilla"}},"category":"Ll"},{"key":"0165","mappings":{"default":{"default":"t con carón"}},"category":"Ll"},{"key":"0169","mappings":{"default":{"default":"u con tilde"}},"category":"Ll"},{"key":"016B","mappings":{"default":{"default":"u barra"}},"category":"Ll"},{"key":"016D","mappings":{"default":{"default":"u con breve"}},"category":"Ll"},{"key":"016F","mappings":{"default":{"default":"u con anillo arriba"}},"category":"Ll"},{"key":"0171","mappings":{"default":{"default":"u con doble acento agudo"}},"category":"Ll"},{"key":"0173","mappings":{"default":{"default":"u con ogonek"}},"category":"Ll"},{"key":"0175","mappings":{"default":{"default":"w con circunflejo"}},"category":"Ll"},{"key":"0177","mappings":{"default":{"default":"y con circunflejo"}},"category":"Ll"},{"key":"017A","mappings":{"default":{"default":"z con agudo"}},"category":"Ll"},{"key":"017C","mappings":{"default":{"default":"z con punto"}},"category":"Ll"},{"key":"017E","mappings":{"default":{"default":"z con carón"}},"category":"Ll"},{"key":"01F5","mappings":{"default":{"default":"g con agudo"}},"category":"Ll"},{"key":"1E01","mappings":{"default":{"default":"a con anillo debajo"}},"category":"Ll"},{"key":"1E03","mappings":{"default":{"default":"b con punto arriba"}},"category":"Ll"},{"key":"1E05","mappings":{"default":{"default":"b con punto debajo"}},"category":"Ll"},{"key":"1E07","mappings":{"default":{"default":"b con lÃnea debajo"}},"category":"Ll"},{"key":"1E0B","mappings":{"default":{"default":"d con punto arriba"}},"category":"Ll"},{"key":"1E0D","mappings":{"default":{"default":"d con punto debajo"}},"category":"Ll"},{"key":"1E0F","mappings":{"default":{"default":"d con lÃnea debajo"}},"category":"Ll"},{"key":"1E11","mappings":{"default":{"default":"d con cedilla"}},"category":"Ll"},{"key":"1E13","mappings":{"default":{"default":"d con acento circunflejo debajo"}},"category":"Ll"},{"key":"1E19","mappings":{"default":{"default":"e con acento circunflejo debajo"}},"category":"Ll"},{"key":"1E1B","mappings":{"default":{"default":"e con tilde debajo"}},"category":"Ll"},{"key":"1E1F","mappings":{"default":{"default":"f con punto arriba"}},"category":"Ll"},{"key":"1E21","mappings":{"default":{"default":"g con macrón"}},"category":"Ll"},{"key":"1E23","mappings":{"default":{"default":"h con punto arriba"}},"category":"Ll"},{"key":"1E25","mappings":{"default":{"default":"h con punto debajo"}},"category":"Ll"},{"key":"1E27","mappings":{"default":{"default":"h con diéresis"}},"category":"Ll"},{"key":"1E29","mappings":{"default":{"default":"h con cedilla"}},"category":"Ll"},{"key":"1E2B","mappings":{"default":{"default":"h con breve debajo"}},"category":"Ll"},{"key":"1E2D","mappings":{"default":{"default":"i con tilde debajo"}},"category":"Ll"},{"key":"1E31","mappings":{"default":{"default":"k con agudo"}},"category":"Ll"},{"key":"1E33","mappings":{"default":{"default":"k con punto debajo"}},"category":"Ll"},{"key":"1E35","mappings":{"default":{"default":"k con lÃnea debajo"}},"category":"Ll"},{"key":"1E37","mappings":{"default":{"default":"l con punto debajo"}},"category":"Ll"},{"key":"1E3B","mappings":{"default":{"default":"l con lÃnea debajo"}},"category":"Ll"},{"key":"1E3D","mappings":{"default":{"default":"l con acento circunflejo debajo"}},"category":"Ll"},{"key":"1E3F","mappings":{"default":{"default":"m con agudo"}},"category":"Ll"},{"key":"1E41","mappings":{"default":{"default":"m con punto arriba"}},"category":"Ll"},{"key":"1E43","mappings":{"default":{"default":"m con punto debajo"}},"category":"Ll"},{"key":"1E45","mappings":{"default":{"default":"n con punto arriba"}},"category":"Ll"},{"key":"1E47","mappings":{"default":{"default":"n con punto debajo"}},"category":"Ll"},{"key":"1E49","mappings":{"default":{"default":"n con lÃnea debajo"}},"category":"Ll"},{"key":"1E4B","mappings":{"default":{"default":"n con acento circunflejo debajo"}},"category":"Ll"},{"key":"1E55","mappings":{"default":{"default":"p con agudo"}},"category":"Ll"},{"key":"1E57","mappings":{"default":{"default":"p con punto arriba"}},"category":"Ll"},{"key":"1E59","mappings":{"default":{"default":"r con punto arriba"}},"category":"Ll"},{"key":"1E5B","mappings":{"default":{"default":"r con punto debajo"}},"category":"Ll"},{"key":"1E5F","mappings":{"default":{"default":"r con lÃnea debajo"}},"category":"Ll"},{"key":"1E61","mappings":{"default":{"default":"s con punto arriba"}},"category":"Ll"},{"key":"1E63","mappings":{"default":{"default":"s con punto debajo"}},"category":"Ll"},{"key":"1E6B","mappings":{"default":{"default":"t con punto arriba"}},"category":"Ll"},{"key":"1E6D","mappings":{"default":{"default":"t con punto debajo"}},"category":"Ll"},{"key":"1E6F","mappings":{"default":{"default":"t con lÃnea debajo"}},"category":"Ll"},{"key":"1E71","mappings":{"default":{"default":"t con acento circunflejo debajo"}},"category":"Ll"},{"key":"1E73","mappings":{"default":{"default":"u con diéresis debajo"}},"category":"Ll"},{"key":"1E75","mappings":{"default":{"default":"u con tilde debajo"}},"category":"Ll"},{"key":"1E77","mappings":{"default":{"default":"u con acento circunflejo debajo"}},"category":"Ll"},{"key":"1E7D","mappings":{"default":{"default":"v con tilde"}},"category":"Ll"},{"key":"1E7F","mappings":{"default":{"default":"v con punto debajo"}},"category":"Ll"},{"key":"1E81","mappings":{"default":{"default":"w con grave"}},"category":"Ll"},{"key":"1E83","mappings":{"default":{"default":"w con agudo"}},"category":"Ll"},{"key":"1E85","mappings":{"default":{"default":"w con diéresis"}},"category":"Ll"},{"key":"1E87","mappings":{"default":{"default":"w con punto arriba"}},"category":"Ll"},{"key":"1E89","mappings":{"default":{"default":"w con punto debajo"}},"category":"Ll"},{"key":"1E8B","mappings":{"default":{"default":"x con punto arriba"}},"category":"Ll"},{"key":"1E8D","mappings":{"default":{"default":"x con diéresis"}},"category":"Ll"},{"key":"1E8F","mappings":{"default":{"default":"y con punto arriba"}},"category":"Ll"},{"key":"1E91","mappings":{"default":{"default":"z con acento circunflejo"}},"category":"Ll"},{"key":"1E93","mappings":{"default":{"default":"z con punto debajo"}},"category":"Ll"},{"key":"1E95","mappings":{"default":{"default":"z con lÃnea debajo"}},"category":"Ll"},{"key":"1E96","mappings":{"default":{"default":"h con lÃnea debajo"}},"category":"Ll"},{"key":"1E97","mappings":{"default":{"default":"t con diéresis"}},"category":"Ll"},{"key":"1E98","mappings":{"default":{"default":"w con anillo arriba"}},"category":"Ll"},{"key":"1E99","mappings":{"default":{"default":"y con anillo arriba"}},"category":"Ll"},{"key":"1E9A","mappings":{"default":{"default":"a con medio derecho de anillo"}},"category":"Ll"},{"key":"1EA1","mappings":{"default":{"default":"a con punto debajo"}},"category":"Ll"},{"key":"1EA3","mappings":{"default":{"default":"a con gancho arriba"}},"category":"Ll"},{"key":"1EB9","mappings":{"default":{"default":"e con punto debajo"}},"category":"Ll"},{"key":"1EBB","mappings":{"default":{"default":"e con gancho arriba"}},"category":"Ll"},{"key":"1EBD","mappings":{"default":{"default":"e con tilde"}},"category":"Ll"},{"key":"1EC9","mappings":{"default":{"default":"i con gancho arriba"}},"category":"Ll"},{"key":"1ECB","mappings":{"default":{"default":"i con punto debajo"}},"category":"Ll"},{"key":"1ECD","mappings":{"default":{"default":"o con punto debajo"}},"category":"Ll"},{"key":"1ECF","mappings":{"default":{"default":"o con gancho arriba"}},"category":"Ll"},{"key":"1EE5","mappings":{"default":{"default":"u con punto debajo"}},"category":"Ll"},{"key":"1EE7","mappings":{"default":{"default":"u con gancho arriba"}},"category":"Ll"},{"key":"1EF3","mappings":{"default":{"default":"y con grave"}},"category":"Ll"},{"key":"1EF5","mappings":{"default":{"default":"y con punto debajo"}},"category":"Ll"},{"key":"1EF7","mappings":{"default":{"default":"y con gancho arriba"}},"category":"Ll"},{"key":"1EF9","mappings":{"default":{"default":"y con tilde"}},"category":"Ll"}] diff --git a/assets/js/mathmaps/es/symbols/latin-mathfonts-bold-fraktur.js b/assets/js/mathmaps/es/symbols/latin-mathfonts-bold-fraktur.js new file mode 100644 index 0000000000000000000000000000000000000000..918e9dfd1d970378678973d38158855454a7d350 --- /dev/null +++ b/assets/js/mathmaps/es/symbols/latin-mathfonts-bold-fraktur.js @@ -0,0 +1 @@ +[{"locale":"es"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula A"}},"key":"1D56C"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula B"}},"key":"1D56D"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula C"}},"key":"1D56E"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula D"}},"key":"1D56F"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula E"}},"key":"1D570"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula F"}},"key":"1D571"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula G"}},"key":"1D572"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula H"}},"key":"1D573"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula I"}},"key":"1D574"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula J"}},"key":"1D575"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula K"}},"key":"1D576"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula L"}},"key":"1D577"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula M"}},"key":"1D578"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula N"}},"key":"1D579"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula O"}},"key":"1D57A"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula P"}},"key":"1D57B"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula Q"}},"key":"1D57C"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula R"}},"key":"1D57D"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula S"}},"key":"1D57E"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula T"}},"key":"1D57F"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula U"}},"key":"1D580"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula V"}},"key":"1D581"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula W"}},"key":"1D582"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula X"}},"key":"1D583"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula Y"}},"key":"1D584"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula Z"}},"key":"1D585"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur a"}},"key":"1D586"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur b"}},"key":"1D587"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur c"}},"key":"1D588"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur d"}},"key":"1D589"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur e"}},"key":"1D58A"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur f"}},"key":"1D58B"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur g"}},"key":"1D58C"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur h"}},"key":"1D58D"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur i"}},"key":"1D58E"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur j"}},"key":"1D58F"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur k"}},"key":"1D590"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur l"}},"key":"1D591"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur m"}},"key":"1D592"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur n"}},"key":"1D593"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur o"}},"key":"1D594"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur p"}},"key":"1D595"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur q"}},"key":"1D596"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur r"}},"key":"1D597"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur s"}},"key":"1D598"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur t"}},"key":"1D599"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur u"}},"key":"1D59A"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur v"}},"key":"1D59B"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur w"}},"key":"1D59C"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur x"}},"key":"1D59D"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur y"}},"key":"1D59E"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur z"}},"key":"1D59F"}] diff --git a/assets/js/mathmaps/es/symbols/latin-mathfonts-bold-script.js b/assets/js/mathmaps/es/symbols/latin-mathfonts-bold-script.js new file mode 100644 index 0000000000000000000000000000000000000000..f3d18cfc8ca1cc0180e5ef468176f0444678aed4 --- /dev/null +++ b/assets/js/mathmaps/es/symbols/latin-mathfonts-bold-script.js @@ -0,0 +1 @@ +[{"locale":"es"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula A"}},"key":"1D4D0"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula B"}},"key":"1D4D1"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula C"}},"key":"1D4D2"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula D"}},"key":"1D4D3"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula E"}},"key":"1D4D4"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula F"}},"key":"1D4D5"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula G"}},"key":"1D4D6"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula H"}},"key":"1D4D7"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula I"}},"key":"1D4D8"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula J"}},"key":"1D4D9"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula K"}},"key":"1D4DA"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula L"}},"key":"1D4DB"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula M"}},"key":"1D4DC"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula N"}},"key":"1D4DD"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula O"}},"key":"1D4DE"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula P"}},"key":"1D4DF"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula Q"}},"key":"1D4E0"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula R"}},"key":"1D4E1"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula S"}},"key":"1D4E2"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula T"}},"key":"1D4E3"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula U"}},"key":"1D4E4"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula V"}},"key":"1D4E5"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula W"}},"key":"1D4E6"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula X"}},"key":"1D4E7"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula Y"}},"key":"1D4E8"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula Z"}},"key":"1D4E9"},{"category":"Ll","mappings":{"default":{"default":"negrita script a"}},"key":"1D4EA"},{"category":"Ll","mappings":{"default":{"default":"negrita script b"}},"key":"1D4EB"},{"category":"Ll","mappings":{"default":{"default":"negrita script c"}},"key":"1D4EC"},{"category":"Ll","mappings":{"default":{"default":"negrita script d"}},"key":"1D4ED"},{"category":"Ll","mappings":{"default":{"default":"negrita script e"}},"key":"1D4EE"},{"category":"Ll","mappings":{"default":{"default":"negrita script f"}},"key":"1D4EF"},{"category":"Ll","mappings":{"default":{"default":"negrita script g"}},"key":"1D4F0"},{"category":"Ll","mappings":{"default":{"default":"negrita script h"}},"key":"1D4F1"},{"category":"Ll","mappings":{"default":{"default":"negrita script i"}},"key":"1D4F2"},{"category":"Ll","mappings":{"default":{"default":"negrita script j"}},"key":"1D4F3"},{"category":"Ll","mappings":{"default":{"default":"negrita script k"}},"key":"1D4F4"},{"category":"Ll","mappings":{"default":{"default":"negrita script l"}},"key":"1D4F5"},{"category":"Ll","mappings":{"default":{"default":"negrita script m"}},"key":"1D4F6"},{"category":"Ll","mappings":{"default":{"default":"negrita script n"}},"key":"1D4F7"},{"category":"Ll","mappings":{"default":{"default":"negrita script o"}},"key":"1D4F8"},{"category":"Ll","mappings":{"default":{"default":"negrita script p"}},"key":"1D4F9"},{"category":"Ll","mappings":{"default":{"default":"negrita script q"}},"key":"1D4FA"},{"category":"Ll","mappings":{"default":{"default":"negrita script r"}},"key":"1D4FB"},{"category":"Ll","mappings":{"default":{"default":"negrita script s"}},"key":"1D4FC"},{"category":"Ll","mappings":{"default":{"default":"negrita script t"}},"key":"1D4FD"},{"category":"Ll","mappings":{"default":{"default":"negrita script u"}},"key":"1D4FE"},{"category":"Ll","mappings":{"default":{"default":"negrita script v"}},"key":"1D4FF"},{"category":"Ll","mappings":{"default":{"default":"negrita script w"}},"key":"1D500"},{"category":"Ll","mappings":{"default":{"default":"negrita script x"}},"key":"1D501"},{"category":"Ll","mappings":{"default":{"default":"negrita script y"}},"key":"1D502"},{"category":"Ll","mappings":{"default":{"default":"negrita script z"}},"key":"1D503"}] diff --git a/assets/js/mathmaps/es/symbols/latin-mathfonts-bold.js b/assets/js/mathmaps/es/symbols/latin-mathfonts-bold.js new file mode 100644 index 0000000000000000000000000000000000000000..a3a3da38f83ead0dbc0e96cc65bc34d25883853b --- /dev/null +++ b/assets/js/mathmaps/es/symbols/latin-mathfonts-bold.js @@ -0,0 +1 @@ +[{"locale":"es"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula A"}},"key":"1D400"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula B"}},"key":"1D401"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula C"}},"key":"1D402"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula D"}},"key":"1D403"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula E"}},"key":"1D404"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula F"}},"key":"1D405"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula G"}},"key":"1D406"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula H"}},"key":"1D407"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula I"}},"key":"1D408"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula J"}},"key":"1D409"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula K"}},"key":"1D40A"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula L"}},"key":"1D40B"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula M"}},"key":"1D40C"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula N"}},"key":"1D40D"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula O"}},"key":"1D40E"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula P"}},"key":"1D40F"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Q"}},"key":"1D410"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula R"}},"key":"1D411"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula S"}},"key":"1D412"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula T"}},"key":"1D413"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula U"}},"key":"1D414"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula V"}},"key":"1D415"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula W"}},"key":"1D416"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula X"}},"key":"1D417"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Y"}},"key":"1D418"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Z"}},"key":"1D419"},{"category":"Ll","mappings":{"default":{"default":"negrita a"}},"key":"1D41A"},{"category":"Ll","mappings":{"default":{"default":"negrita b"}},"key":"1D41B"},{"category":"Ll","mappings":{"default":{"default":"negrita c"}},"key":"1D41C"},{"category":"Ll","mappings":{"default":{"default":"negrita d"}},"key":"1D41D"},{"category":"Ll","mappings":{"default":{"default":"negrita e"}},"key":"1D41E"},{"category":"Ll","mappings":{"default":{"default":"negrita f"}},"key":"1D41F"},{"category":"Ll","mappings":{"default":{"default":"negrita g"}},"key":"1D420"},{"category":"Ll","mappings":{"default":{"default":"negrita h"}},"key":"1D421"},{"category":"Ll","mappings":{"default":{"default":"negrita i"}},"key":"1D422"},{"category":"Ll","mappings":{"default":{"default":"negrita j"}},"key":"1D423"},{"category":"Ll","mappings":{"default":{"default":"negrita k"}},"key":"1D424"},{"category":"Ll","mappings":{"default":{"default":"negrita l"}},"key":"1D425"},{"category":"Ll","mappings":{"default":{"default":"negrita m"}},"key":"1D426"},{"category":"Ll","mappings":{"default":{"default":"negrita n"}},"key":"1D427"},{"category":"Ll","mappings":{"default":{"default":"negrita o"}},"key":"1D428"},{"category":"Ll","mappings":{"default":{"default":"negrita p"}},"key":"1D429"},{"category":"Ll","mappings":{"default":{"default":"negrita q"}},"key":"1D42A"},{"category":"Ll","mappings":{"default":{"default":"negrita r"}},"key":"1D42B"},{"category":"Ll","mappings":{"default":{"default":"negrita s"}},"key":"1D42C"},{"category":"Ll","mappings":{"default":{"default":"negrita t"}},"key":"1D42D"},{"category":"Ll","mappings":{"default":{"default":"negrita u"}},"key":"1D42E"},{"category":"Ll","mappings":{"default":{"default":"negrita v"}},"key":"1D42F"},{"category":"Ll","mappings":{"default":{"default":"negrita w"}},"key":"1D430"},{"category":"Ll","mappings":{"default":{"default":"negrita x"}},"key":"1D431"},{"category":"Ll","mappings":{"default":{"default":"negrita y"}},"key":"1D432"},{"category":"Ll","mappings":{"default":{"default":"negrita z"}},"key":"1D433"}] diff --git a/assets/js/mathmaps/es/symbols/latin-mathfonts-double-struck.js b/assets/js/mathmaps/es/symbols/latin-mathfonts-double-struck.js new file mode 100644 index 0000000000000000000000000000000000000000..74f9e090d6b3ace6d453e0225b871072298cec71 --- /dev/null +++ b/assets/js/mathmaps/es/symbols/latin-mathfonts-double-struck.js @@ -0,0 +1 @@ +[{"locale":"es"},{"category":"Lu","mappings":{"default":{"default":"negrita de pizarra mayúscula A"}},"key":"1D538"},{"category":"Lu","mappings":{"default":{"default":"negrita de pizarra mayúscula B"}},"key":"1D539"},{"key":"2102","mappings":{"default":{"default":"negrita de pizarra mayúscula C"}},"category":"Lu"},{"category":"Lu","mappings":{"default":{"default":"negrita de pizarra mayúscula D"}},"key":"1D53B"},{"category":"Lu","mappings":{"default":{"default":"negrita de pizarra mayúscula E"}},"key":"1D53C"},{"category":"Lu","mappings":{"default":{"default":"negrita de pizarra mayúscula F"}},"key":"1D53D"},{"category":"Lu","mappings":{"default":{"default":"negrita de pizarra mayúscula G"}},"key":"1D53E"},{"key":"210D","mappings":{"default":{"default":"negrita de pizarra mayúscula H"}},"category":"Lu"},{"category":"Lu","mappings":{"default":{"default":"negrita de pizarra mayúscula I"}},"key":"1D540"},{"category":"Lu","mappings":{"default":{"default":"negrita de pizarra mayúscula J"}},"key":"1D541"},{"category":"Lu","mappings":{"default":{"default":"negrita de pizarra mayúscula K"}},"key":"1D542"},{"category":"Lu","mappings":{"default":{"default":"negrita de pizarra mayúscula L"}},"key":"1D543"},{"category":"Lu","mappings":{"default":{"default":"negrita de pizarra mayúscula M"}},"key":"1D544"},{"key":"2115","mappings":{"default":{"default":"negrita de pizarra mayúscula N"}},"category":"Lu"},{"category":"Lu","mappings":{"default":{"default":"negrita de pizarra mayúscula O"}},"key":"1D546"},{"key":"2119","mappings":{"default":{"default":"negrita de pizarra mayúscula P"}},"category":"Lu"},{"key":"211A","mappings":{"default":{"default":"negrita de pizarra mayúscula Q"}},"category":"Lu"},{"key":"211D","mappings":{"default":{"default":"negrita de pizarra mayúscula R","defaultMP":"R mayúscula negrita"}},"category":"Lu"},{"category":"Lu","mappings":{"default":{"default":"negrita de pizarra mayúscula S"}},"key":"1D54A"},{"category":"Lu","mappings":{"default":{"default":"negrita de pizarra mayúscula T"}},"key":"1D54B"},{"category":"Lu","mappings":{"default":{"default":"negrita de pizarra mayúscula U"}},"key":"1D54C"},{"category":"Lu","mappings":{"default":{"default":"negrita de pizarra mayúscula V"}},"key":"1D54D"},{"category":"Lu","mappings":{"default":{"default":"negrita de pizarra mayúscula W"}},"key":"1D54E"},{"category":"Lu","mappings":{"default":{"default":"negrita de pizarra mayúscula X"}},"key":"1D54F"},{"category":"Lu","mappings":{"default":{"default":"negrita de pizarra mayúscula Y"}},"key":"1D550"},{"key":"2124","mappings":{"default":{"default":"negrita de pizarra mayúscula Z"}},"category":"Lu"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra a"}},"key":"1D552"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra b"}},"key":"1D553"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra c"}},"key":"1D554"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra d"}},"key":"1D555"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra e"}},"key":"1D556"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra f"}},"key":"1D557"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra g"}},"key":"1D558"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra h"}},"key":"1D559"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra i"}},"key":"1D55A"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra j"}},"key":"1D55B"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra k"}},"key":"1D55C"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra l"}},"key":"1D55D"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra m"}},"key":"1D55E"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra n"}},"key":"1D55F"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra o"}},"key":"1D560"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra p"}},"key":"1D561"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra q"}},"key":"1D562"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra r"}},"key":"1D563"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra s"}},"key":"1D564"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra t"}},"key":"1D565"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra u"}},"key":"1D566"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra v"}},"key":"1D567"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra w"}},"key":"1D568"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra x"}},"key":"1D569"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra y"}},"key":"1D56A"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra z"}},"key":"1D56B"}] diff --git a/assets/js/mathmaps/es/symbols/latin-mathfonts-fraktur.js b/assets/js/mathmaps/es/symbols/latin-mathfonts-fraktur.js new file mode 100644 index 0000000000000000000000000000000000000000..a1d821e74c67207df2afb7da7377e6154cd7c0a8 --- /dev/null +++ b/assets/js/mathmaps/es/symbols/latin-mathfonts-fraktur.js @@ -0,0 +1 @@ +[{"locale":"es"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula A"}},"key":"1D504"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula B"}},"key":"1D505"},{"key":"212D","mappings":{"default":{"default":"Fraktur mayúscula C"}},"category":"Lu"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula D"}},"key":"1D507"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula E"}},"key":"1D508"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula F"}},"key":"1D509"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula G"}},"key":"1D50A"},{"key":"210C","mappings":{"default":{"default":"Fraktur mayúscula H"}},"category":"Lu"},{"key":"2111","mappings":{"default":{"default":"Fraktur mayúscula I"}},"category":"Lu"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula J"}},"key":"1D50D"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula K"}},"key":"1D50E"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula L"}},"key":"1D50F"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula M"}},"key":"1D510"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula N"}},"key":"1D511"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula O"}},"key":"1D512"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula P"}},"key":"1D513"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula Q"}},"key":"1D514"},{"key":"211C","mappings":{"default":{"default":"Fraktur mayúscula R"}},"category":"Lu"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula S"}},"key":"1D516"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula T"}},"key":"1D517"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula U"}},"key":"1D518"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula V"}},"key":"1D519"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula W"}},"key":"1D51A"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula X"}},"key":"1D51B"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula Y"}},"key":"1D51C"},{"key":"2128","mappings":{"default":{"default":"Fraktur mayúscula Z"}},"category":"Lu"},{"category":"Ll","mappings":{"default":{"default":"Fraktur a"}},"key":"1D51E"},{"category":"Ll","mappings":{"default":{"default":"Fraktur b"}},"key":"1D51F"},{"category":"Ll","mappings":{"default":{"default":"Fraktur c"}},"key":"1D520"},{"category":"Ll","mappings":{"default":{"default":"Fraktur d"}},"key":"1D521"},{"category":"Ll","mappings":{"default":{"default":"Fraktur e"}},"key":"1D522"},{"category":"Ll","mappings":{"default":{"default":"Fraktur f"}},"key":"1D523"},{"category":"Ll","mappings":{"default":{"default":"Fraktur g"}},"key":"1D524"},{"category":"Ll","mappings":{"default":{"default":"Fraktur h"}},"key":"1D525"},{"category":"Ll","mappings":{"default":{"default":"Fraktur i"}},"key":"1D526"},{"category":"Ll","mappings":{"default":{"default":"Fraktur j"}},"key":"1D527"},{"category":"Ll","mappings":{"default":{"default":"Fraktur k"}},"key":"1D528"},{"category":"Ll","mappings":{"default":{"default":"Fraktur l"}},"key":"1D529"},{"category":"Ll","mappings":{"default":{"default":"Fraktur m"}},"key":"1D52A"},{"category":"Ll","mappings":{"default":{"default":"Fraktur n"}},"key":"1D52B"},{"category":"Ll","mappings":{"default":{"default":"Fraktur o"}},"key":"1D52C"},{"category":"Ll","mappings":{"default":{"default":"Fraktur p"}},"key":"1D52D"},{"category":"Ll","mappings":{"default":{"default":"Fraktur q"}},"key":"1D52E"},{"category":"Ll","mappings":{"default":{"default":"Fraktur r"}},"key":"1D52F"},{"category":"Ll","mappings":{"default":{"default":"Fraktur s"}},"key":"1D530"},{"category":"Ll","mappings":{"default":{"default":"Fraktur t"}},"key":"1D531"},{"category":"Ll","mappings":{"default":{"default":"Fraktur u"}},"key":"1D532"},{"category":"Ll","mappings":{"default":{"default":"Fraktur v"}},"key":"1D533"},{"category":"Ll","mappings":{"default":{"default":"Fraktur w"}},"key":"1D534"},{"category":"Ll","mappings":{"default":{"default":"Fraktur x"}},"key":"1D535"},{"category":"Ll","mappings":{"default":{"default":"Fraktur y"}},"key":"1D536"},{"category":"Ll","mappings":{"default":{"default":"Fraktur z"}},"key":"1D537"}] diff --git a/assets/js/mathmaps/es/symbols/latin-mathfonts-italic.js b/assets/js/mathmaps/es/symbols/latin-mathfonts-italic.js new file mode 100644 index 0000000000000000000000000000000000000000..a483114fdd1cce7d978f99ae4717e8c6ef7ed9a7 --- /dev/null +++ b/assets/js/mathmaps/es/symbols/latin-mathfonts-italic.js @@ -0,0 +1 @@ +[{"locale":"es"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula A"}},"key":"1D434"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula B"}},"key":"1D435"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula C"}},"key":"1D436"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula D"}},"key":"1D437"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula E"}},"key":"1D438"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula F"}},"key":"1D439"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula G"}},"key":"1D43A"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula H"}},"key":"1D43B"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula I"}},"key":"1D43C"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula J"}},"key":"1D43D"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula K"}},"key":"1D43E"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula L"}},"key":"1D43F"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula M"}},"key":"1D440"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula N"}},"key":"1D441"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula O"}},"key":"1D442"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula P"}},"key":"1D443"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Q"}},"key":"1D444"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula R"}},"key":"1D445"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula S"}},"key":"1D446"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula T"}},"key":"1D447"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula U"}},"key":"1D448"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula V"}},"key":"1D449"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula W"}},"key":"1D44A"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula X"}},"key":"1D44B"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Y"}},"key":"1D44C"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Z"}},"key":"1D44D"},{"category":"Ll","mappings":{"default":{"default":"cursiva a"}},"key":"1D44E"},{"category":"Ll","mappings":{"default":{"default":"cursiva b"}},"key":"1D44F"},{"category":"Ll","mappings":{"default":{"default":"cursiva c"}},"key":"1D450"},{"category":"Ll","mappings":{"default":{"default":"cursiva d"}},"key":"1D451"},{"category":"Ll","mappings":{"default":{"default":"cursiva e"}},"key":"1D452"},{"category":"Ll","mappings":{"default":{"default":"cursiva f"}},"key":"1D453"},{"category":"Ll","mappings":{"default":{"default":"cursiva g"}},"key":"1D454"},{"key":"210E","mappings":{"default":{"default":"constante de Planck"}},"category":"Ll"},{"category":"Ll","mappings":{"default":{"default":"cursiva i"}},"key":"1D456"},{"category":"Ll","mappings":{"default":{"default":"cursiva j"}},"key":"1D457"},{"category":"Ll","mappings":{"default":{"default":"cursiva k"}},"key":"1D458"},{"category":"Ll","mappings":{"default":{"default":"cursiva l"}},"key":"1D459"},{"category":"Ll","mappings":{"default":{"default":"cursiva m"}},"key":"1D45A"},{"category":"Ll","mappings":{"default":{"default":"cursiva n"}},"key":"1D45B"},{"category":"Ll","mappings":{"default":{"default":"cursiva o"}},"key":"1D45C"},{"category":"Ll","mappings":{"default":{"default":"cursiva p"}},"key":"1D45D"},{"category":"Ll","mappings":{"default":{"default":"cursiva q"}},"key":"1D45E"},{"category":"Ll","mappings":{"default":{"default":"cursiva r"}},"key":"1D45F"},{"category":"Ll","mappings":{"default":{"default":"cursiva s"}},"key":"1D460"},{"category":"Ll","mappings":{"default":{"default":"cursiva t"}},"key":"1D461"},{"category":"Ll","mappings":{"default":{"default":"cursiva u"}},"key":"1D462"},{"category":"Ll","mappings":{"default":{"default":"cursiva v"}},"key":"1D463"},{"category":"Ll","mappings":{"default":{"default":"cursiva w"}},"key":"1D464"},{"category":"Ll","mappings":{"default":{"default":"cursiva x"}},"key":"1D465"},{"category":"Ll","mappings":{"default":{"default":"cursiva y"}},"key":"1D466"},{"category":"Ll","mappings":{"default":{"default":"cursiva z"}},"key":"1D467"}] diff --git a/assets/js/mathmaps/es/symbols/latin-mathfonts-monospace.js b/assets/js/mathmaps/es/symbols/latin-mathfonts-monospace.js new file mode 100644 index 0000000000000000000000000000000000000000..c0c63a0dbf860cffb455f8f22616c503e7e68e83 --- /dev/null +++ b/assets/js/mathmaps/es/symbols/latin-mathfonts-monospace.js @@ -0,0 +1 @@ +[{"locale":"es"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula A"}},"key":"1D670"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula B"}},"key":"1D671"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula C"}},"key":"1D672"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula D"}},"key":"1D673"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula E"}},"key":"1D674"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula F"}},"key":"1D675"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula G"}},"key":"1D676"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula H"}},"key":"1D677"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula I"}},"key":"1D678"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula J"}},"key":"1D679"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula K"}},"key":"1D67A"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula L"}},"key":"1D67B"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula M"}},"key":"1D67C"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula N"}},"key":"1D67D"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula O"}},"key":"1D67E"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula P"}},"key":"1D67F"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula Q"}},"key":"1D680"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula R"}},"key":"1D681"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula S"}},"key":"1D682"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula T"}},"key":"1D683"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula U"}},"key":"1D684"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula V"}},"key":"1D685"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula W"}},"key":"1D686"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula X"}},"key":"1D687"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula Y"}},"key":"1D688"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula Z"}},"key":"1D689"},{"category":"Ll","mappings":{"default":{"default":"monoespacio a"}},"key":"1D68A"},{"category":"Ll","mappings":{"default":{"default":"monoespacio b"}},"key":"1D68B"},{"category":"Ll","mappings":{"default":{"default":"monoespacio c"}},"key":"1D68C"},{"category":"Ll","mappings":{"default":{"default":"monoespacio d"}},"key":"1D68D"},{"category":"Ll","mappings":{"default":{"default":"monoespacio e"}},"key":"1D68E"},{"category":"Ll","mappings":{"default":{"default":"monoespacio f"}},"key":"1D68F"},{"category":"Ll","mappings":{"default":{"default":"monoespacio g"}},"key":"1D690"},{"category":"Ll","mappings":{"default":{"default":"monoespacio h"}},"key":"1D691"},{"category":"Ll","mappings":{"default":{"default":"monoespacio i"}},"key":"1D692"},{"category":"Ll","mappings":{"default":{"default":"monoespacio j"}},"key":"1D693"},{"category":"Ll","mappings":{"default":{"default":"monoespacio k"}},"key":"1D694"},{"category":"Ll","mappings":{"default":{"default":"monoespacio l"}},"key":"1D695"},{"category":"Ll","mappings":{"default":{"default":"monoespacio m"}},"key":"1D696"},{"category":"Ll","mappings":{"default":{"default":"monoespacio n"}},"key":"1D697"},{"category":"Ll","mappings":{"default":{"default":"monoespacio o"}},"key":"1D698"},{"category":"Ll","mappings":{"default":{"default":"monoespacio p"}},"key":"1D699"},{"category":"Ll","mappings":{"default":{"default":"monoespacio q"}},"key":"1D69A"},{"category":"Ll","mappings":{"default":{"default":"monoespacio r"}},"key":"1D69B"},{"category":"Ll","mappings":{"default":{"default":"monoespacio s"}},"key":"1D69C"},{"category":"Ll","mappings":{"default":{"default":"monoespacio t"}},"key":"1D69D"},{"category":"Ll","mappings":{"default":{"default":"monoespacio u"}},"key":"1D69E"},{"category":"Ll","mappings":{"default":{"default":"monoespacio v"}},"key":"1D69F"},{"category":"Ll","mappings":{"default":{"default":"monoespacio w"}},"key":"1D6A0"},{"category":"Ll","mappings":{"default":{"default":"monoespacio x"}},"key":"1D6A1"},{"category":"Ll","mappings":{"default":{"default":"monoespacio y"}},"key":"1D6A2"},{"category":"Ll","mappings":{"default":{"default":"monoespacio z"}},"key":"1D6A3"}] diff --git a/assets/js/mathmaps/es/symbols/latin-mathfonts-sans-serif-bold.js b/assets/js/mathmaps/es/symbols/latin-mathfonts-sans-serif-bold.js new file mode 100644 index 0000000000000000000000000000000000000000..63dfc12ae697956464d042303e4f103f389ef111 --- /dev/null +++ b/assets/js/mathmaps/es/symbols/latin-mathfonts-sans-serif-bold.js @@ -0,0 +1 @@ +[{"locale":"es"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula A"}},"key":"1D5D4"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula B"}},"key":"1D5D5"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula C"}},"key":"1D5D6"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula D"}},"key":"1D5D7"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula E"}},"key":"1D5D8"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula F"}},"key":"1D5D9"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula G"}},"key":"1D5DA"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula H"}},"key":"1D5DB"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula I"}},"key":"1D5DC"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula J"}},"key":"1D5DD"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula K"}},"key":"1D5DE"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula L"}},"key":"1D5DF"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula M"}},"key":"1D5E0"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula N"}},"key":"1D5E1"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula O"}},"key":"1D5E2"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula P"}},"key":"1D5E3"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Q"}},"key":"1D5E4"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula R"}},"key":"1D5E5"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula S"}},"key":"1D5E6"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula T"}},"key":"1D5E7"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula U"}},"key":"1D5E8"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula V"}},"key":"1D5E9"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula W"}},"key":"1D5EA"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula X"}},"key":"1D5EB"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Y"}},"key":"1D5EC"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Z"}},"key":"1D5ED"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita a"}},"key":"1D5EE"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita b"}},"key":"1D5EF"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita c"}},"key":"1D5F0"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita d"}},"key":"1D5F1"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita e"}},"key":"1D5F2"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita f"}},"key":"1D5F3"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita g"}},"key":"1D5F4"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita h"}},"key":"1D5F5"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita i"}},"key":"1D5F6"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita j"}},"key":"1D5F7"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita k"}},"key":"1D5F8"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita l"}},"key":"1D5F9"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita m"}},"key":"1D5FA"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita n"}},"key":"1D5FB"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita o"}},"key":"1D5FC"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita p"}},"key":"1D5FD"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita q"}},"key":"1D5FE"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita r"}},"key":"1D5FF"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita s"}},"key":"1D600"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita t"}},"key":"1D601"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita u"}},"key":"1D602"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita v"}},"key":"1D603"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita w"}},"key":"1D604"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita x"}},"key":"1D605"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita y"}},"key":"1D606"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita z"}},"key":"1D607"}] diff --git a/assets/js/mathmaps/es/symbols/latin-mathfonts-sans-serif-italic.js b/assets/js/mathmaps/es/symbols/latin-mathfonts-sans-serif-italic.js new file mode 100644 index 0000000000000000000000000000000000000000..3177f27cde42e5d957f84d354eb47eb9b0518dc8 --- /dev/null +++ b/assets/js/mathmaps/es/symbols/latin-mathfonts-sans-serif-italic.js @@ -0,0 +1 @@ +[{"locale":"es"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula A"}},"key":"1D608"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula B"}},"key":"1D609"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula C"}},"key":"1D60A"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula D"}},"key":"1D60B"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula E"}},"key":"1D60C"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula F"}},"key":"1D60D"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula G"}},"key":"1D60E"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula H"}},"key":"1D60F"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula I"}},"key":"1D610"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula J"}},"key":"1D611"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula K"}},"key":"1D612"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula L"}},"key":"1D613"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula M"}},"key":"1D614"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula N"}},"key":"1D615"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula O"}},"key":"1D616"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula P"}},"key":"1D617"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula Q"}},"key":"1D618"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula R"}},"key":"1D619"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula S"}},"key":"1D61A"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula T"}},"key":"1D61B"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula U"}},"key":"1D61C"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula V"}},"key":"1D61D"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula W"}},"key":"1D61E"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula X"}},"key":"1D61F"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula Y"}},"key":"1D620"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula Z"}},"key":"1D621"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva a"}},"key":"1D622"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva b"}},"key":"1D623"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva c"}},"key":"1D624"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva d"}},"key":"1D625"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva e"}},"key":"1D626"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva f"}},"key":"1D627"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva g"}},"key":"1D628"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva h"}},"key":"1D629"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva i"}},"key":"1D62A"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva j"}},"key":"1D62B"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva k"}},"key":"1D62C"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva l"}},"key":"1D62D"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva m"}},"key":"1D62E"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva n"}},"key":"1D62F"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva o"}},"key":"1D630"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva p"}},"key":"1D631"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva q"}},"key":"1D632"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva r"}},"key":"1D633"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva s"}},"key":"1D634"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva t"}},"key":"1D635"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva u"}},"key":"1D636"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva v"}},"key":"1D637"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva w"}},"key":"1D638"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva x"}},"key":"1D639"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva y"}},"key":"1D63A"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva z"}},"key":"1D63B"}] diff --git a/assets/js/mathmaps/es/symbols/latin-mathfonts-sans-serif.js b/assets/js/mathmaps/es/symbols/latin-mathfonts-sans-serif.js new file mode 100644 index 0000000000000000000000000000000000000000..cf133edd43259b5b070ae7dac49aa68d9b896e9f --- /dev/null +++ b/assets/js/mathmaps/es/symbols/latin-mathfonts-sans-serif.js @@ -0,0 +1 @@ +[{"locale":"es"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula A"}},"key":"1D5A0"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula B"}},"key":"1D5A1"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula C"}},"key":"1D5A2"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula D"}},"key":"1D5A3"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula E"}},"key":"1D5A4"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula F"}},"key":"1D5A5"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula G"}},"key":"1D5A6"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula H"}},"key":"1D5A7"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula I"}},"key":"1D5A8"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula J"}},"key":"1D5A9"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula K"}},"key":"1D5AA"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula L"}},"key":"1D5AB"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula M"}},"key":"1D5AC"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula N"}},"key":"1D5AD"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula O"}},"key":"1D5AE"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula P"}},"key":"1D5AF"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula Q"}},"key":"1D5B0"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula R"}},"key":"1D5B1"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula S"}},"key":"1D5B2"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula T"}},"key":"1D5B3"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula U"}},"key":"1D5B4"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula V"}},"key":"1D5B5"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula W"}},"key":"1D5B6"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula X"}},"key":"1D5B7"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula Y"}},"key":"1D5B8"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula Z"}},"key":"1D5B9"},{"category":"Ll","mappings":{"default":{"default":"sans-serif a"}},"key":"1D5BA"},{"category":"Ll","mappings":{"default":{"default":"sans-serif b"}},"key":"1D5BB"},{"category":"Ll","mappings":{"default":{"default":"sans-serif c"}},"key":"1D5BC"},{"category":"Ll","mappings":{"default":{"default":"sans-serif d"}},"key":"1D5BD"},{"category":"Ll","mappings":{"default":{"default":"sans-serif e"}},"key":"1D5BE"},{"category":"Ll","mappings":{"default":{"default":"sans-serif f"}},"key":"1D5BF"},{"category":"Ll","mappings":{"default":{"default":"sans-serif g"}},"key":"1D5C0"},{"category":"Ll","mappings":{"default":{"default":"sans-serif h"}},"key":"1D5C1"},{"category":"Ll","mappings":{"default":{"default":"sans-serif i"}},"key":"1D5C2"},{"category":"Ll","mappings":{"default":{"default":"sans-serif j"}},"key":"1D5C3"},{"category":"Ll","mappings":{"default":{"default":"sans-serif k"}},"key":"1D5C4"},{"category":"Ll","mappings":{"default":{"default":"sans-serif l"}},"key":"1D5C5"},{"category":"Ll","mappings":{"default":{"default":"sans-serif m"}},"key":"1D5C6"},{"category":"Ll","mappings":{"default":{"default":"sans-serif n"}},"key":"1D5C7"},{"category":"Ll","mappings":{"default":{"default":"sans-serif o"}},"key":"1D5C8"},{"category":"Ll","mappings":{"default":{"default":"sans-serif p"}},"key":"1D5C9"},{"category":"Ll","mappings":{"default":{"default":"sans-serif q"}},"key":"1D5CA"},{"category":"Ll","mappings":{"default":{"default":"sans-serif r"}},"key":"1D5CB"},{"category":"Ll","mappings":{"default":{"default":"sans-serif s"}},"key":"1D5CC"},{"category":"Ll","mappings":{"default":{"default":"sans-serif t"}},"key":"1D5CD"},{"category":"Ll","mappings":{"default":{"default":"sans-serif u"}},"key":"1D5CE"},{"category":"Ll","mappings":{"default":{"default":"sans-serif v"}},"key":"1D5CF"},{"category":"Ll","mappings":{"default":{"default":"sans-serif w"}},"key":"1D5D0"},{"category":"Ll","mappings":{"default":{"default":"sans-serif x"}},"key":"1D5D1"},{"category":"Ll","mappings":{"default":{"default":"sans-serif y"}},"key":"1D5D2"},{"category":"Ll","mappings":{"default":{"default":"sans-serif z"}},"key":"1D5D3"}] diff --git a/assets/js/mathmaps/es/symbols/latin-mathfonts-script.js b/assets/js/mathmaps/es/symbols/latin-mathfonts-script.js new file mode 100644 index 0000000000000000000000000000000000000000..8a40a97dab17f93cde378c5623bc93f18a0d57e5 --- /dev/null +++ b/assets/js/mathmaps/es/symbols/latin-mathfonts-script.js @@ -0,0 +1 @@ +[{"locale":"es"},{"category":"Lu","mappings":{"default":{"default":"script mayúscula A"}},"key":"1D49C"},{"key":"212C","mappings":{"default":{"default":"script mayúscula B"}},"category":"Lu"},{"category":"Lu","mappings":{"default":{"default":"script mayúscula C"}},"key":"1D49E"},{"category":"Lu","mappings":{"default":{"default":"script mayúscula D"}},"key":"1D49F"},{"key":"2130","mappings":{"default":{"default":"script mayúscula E"}},"category":"Lu"},{"key":"2131","mappings":{"default":{"default":"script mayúscula F"}},"category":"Lu"},{"category":"Lu","mappings":{"default":{"default":"script mayúscula G"}},"key":"1D4A2"},{"key":"210B","mappings":{"default":{"default":"script mayúscula H"}},"category":"Lu"},{"key":"2110","mappings":{"default":{"default":"script mayúscula I"}},"category":"Lu"},{"category":"Lu","mappings":{"default":{"default":"script mayúscula J"}},"key":"1D4A5"},{"category":"Lu","mappings":{"default":{"default":"script mayúscula K"}},"key":"1D4A6"},{"key":"2112","mappings":{"default":{"default":"script mayúscula L"}},"category":"Lu"},{"key":"2133","mappings":{"default":{"default":"script mayúscula M"}},"category":"Lu"},{"category":"Lu","mappings":{"default":{"default":"script mayúscula N"}},"key":"1D4A9"},{"category":"Lu","mappings":{"default":{"default":"script mayúscula O"}},"key":"1D4AA"},{"category":"Lu","mappings":{"default":{"default":"script mayúscula P"}},"key":"1D4AB"},{"category":"Lu","mappings":{"default":{"default":"script mayúscula Q"}},"key":"1D4AC"},{"key":"211B","mappings":{"default":{"default":"script mayúscula R"}},"category":"Lu"},{"category":"Lu","mappings":{"default":{"default":"script mayúscula S"}},"key":"1D4AE"},{"category":"Lu","mappings":{"default":{"default":"script mayúscula T"}},"key":"1D4AF"},{"category":"Lu","mappings":{"default":{"default":"script mayúscula U"}},"key":"1D4B0"},{"category":"Lu","mappings":{"default":{"default":"script mayúscula V"}},"key":"1D4B1"},{"category":"Lu","mappings":{"default":{"default":"script mayúscula W"}},"key":"1D4B2"},{"category":"Lu","mappings":{"default":{"default":"script mayúscula X"}},"key":"1D4B3"},{"category":"Lu","mappings":{"default":{"default":"script mayúscula Y"}},"key":"1D4B4"},{"category":"Lu","mappings":{"default":{"default":"script mayúscula Z"}},"key":"1D4B5"},{"category":"Ll","mappings":{"default":{"default":"script a"}},"key":"1D4B6"},{"category":"Ll","mappings":{"default":{"default":"script b"}},"key":"1D4B7"},{"category":"Ll","mappings":{"default":{"default":"script c"}},"key":"1D4B8"},{"category":"Ll","mappings":{"default":{"default":"script d"}},"key":"1D4B9"},{"key":"212F","mappings":{"default":{"default":"script e"}},"category":"Ll"},{"category":"Ll","mappings":{"default":{"default":"script f"}},"key":"1D4BB"},{"key":"210A","mappings":{"default":{"default":"script g"}},"category":"Ll"},{"category":"Ll","mappings":{"default":{"default":"script h"}},"key":"1D4BD"},{"category":"Ll","mappings":{"default":{"default":"script i"}},"key":"1D4BE"},{"category":"Ll","mappings":{"default":{"default":"script j"}},"key":"1D4BF"},{"category":"Ll","mappings":{"default":{"default":"script k"}},"key":"1D4C0"},{"category":"Ll","mappings":{"default":{"default":"script l"}},"key":"1D4C1"},{"category":"Ll","mappings":{"default":{"default":"script m"}},"key":"1D4C2"},{"category":"Ll","mappings":{"default":{"default":"script n"}},"key":"1D4C3"},{"key":"2134","mappings":{"default":{"default":"script o"}},"category":"Ll"},{"category":"Ll","mappings":{"default":{"default":"script p"}},"key":"1D4C5"},{"category":"Ll","mappings":{"default":{"default":"script q"}},"key":"1D4C6"},{"category":"Ll","mappings":{"default":{"default":"script r"}},"key":"1D4C7"},{"category":"Ll","mappings":{"default":{"default":"script s"}},"key":"1D4C8"},{"category":"Ll","mappings":{"default":{"default":"script t"}},"key":"1D4C9"},{"category":"Ll","mappings":{"default":{"default":"script u"}},"key":"1D4CA"},{"category":"Ll","mappings":{"default":{"default":"script v"}},"key":"1D4CB"},{"category":"Ll","mappings":{"default":{"default":"script w"}},"key":"1D4CC"},{"category":"Ll","mappings":{"default":{"default":"script x"}},"key":"1D4CD"},{"category":"Ll","mappings":{"default":{"default":"script y"}},"key":"1D4CE"},{"category":"Ll","mappings":{"default":{"default":"script z"}},"key":"1D4CF"}] diff --git a/assets/js/mathmaps/es/symbols/latin-rest.js b/assets/js/mathmaps/es/symbols/latin-rest.js new file mode 100644 index 0000000000000000000000000000000000000000..e740a8010f91909eb42edffd1587cfc1a7f9316a --- /dev/null +++ b/assets/js/mathmaps/es/symbols/latin-rest.js @@ -0,0 +1 @@ +[{"locale":"es"},{"key":"24C8","mappings":{"default":{"default":"S en cÃrculo"}},"category":"So"}] diff --git a/assets/js/mathmaps/es/symbols/latin-upper-double-accent.js b/assets/js/mathmaps/es/symbols/latin-upper-double-accent.js new file mode 100644 index 0000000000000000000000000000000000000000..1092644d86a3bbd39463639163fb4ed72b063f83 --- /dev/null +++ b/assets/js/mathmaps/es/symbols/latin-upper-double-accent.js @@ -0,0 +1 @@ +[{"locale":"es"},{"key":"1E08","mappings":{"default":{"default":"mayúscula C con cedilla y agudo"}},"category":"Lu"},{"key":"1E14","mappings":{"default":{"default":"mayúscula E con macrón y grave"}},"category":"Lu"},{"key":"1E16","mappings":{"default":{"default":"mayúscula E con macrón y agudo"}},"category":"Lu"},{"key":"1E1C","mappings":{"default":{"default":"mayúscula E with cedilla and breve"}},"category":"Lu"},{"key":"1E2E","mappings":{"default":{"default":"mayúscula I con diéresis y agudo"}},"category":"Lu"},{"key":"1E38","mappings":{"default":{"default":"mayúscula L con punto debajo y macrón"}},"category":"Lu"},{"key":"1E4C","mappings":{"default":{"default":"mayúscula O con tilde y acute"}},"category":"Lu"},{"key":"1E4E","mappings":{"default":{"default":"mayúscula O con tilde y diéresis"}},"category":"Lu"},{"key":"1E50","mappings":{"default":{"default":"mayúscula O con macrón y grave"}},"category":"Lu"},{"key":"1E52","mappings":{"default":{"default":"mayúscula O con macrón y agudo"}},"category":"Lu"},{"key":"1E5C","mappings":{"default":{"default":"mayúscula R con punto debajo y macrón"}},"category":"Lu"},{"key":"1E64","mappings":{"default":{"default":"mayúscula S con agudo y punto arriba"}},"category":"Lu"},{"key":"1E66","mappings":{"default":{"default":"mayúscula S con carón y punto arriba"}},"category":"Lu"},{"key":"1E68","mappings":{"default":{"default":"mayúscula S con punto debajo y punto arriba"}},"category":"Lu"},{"key":"1E78","mappings":{"default":{"default":"mayúscula U con tilde y agudo"}},"category":"Lu"},{"key":"1E7A","mappings":{"default":{"default":"mayúscula U con macrón y diéresis"}},"category":"Lu"},{"key":"1EA4","mappings":{"default":{"default":"mayúscula A con acento circunflejo y agudo"}},"category":"Lu"},{"key":"1EA6","mappings":{"default":{"default":"mayúscula A con acento circunflejo y grave"}},"category":"Lu"},{"key":"1EA8","mappings":{"default":{"default":"mayúscula A con acento circunflejo y gancho arriba"}},"category":"Lu"},{"key":"1EAA","mappings":{"default":{"default":"mayúscula A con acento circunflejo y tilde"}},"category":"Lu"},{"key":"1EAC","mappings":{"default":{"default":"mayúscula A con acento circunflejo y punto debajo"}},"category":"Lu"},{"key":"1EAE","mappings":{"default":{"default":"mayúscula A con breve y agudo"}},"category":"Lu"},{"key":"1EB0","mappings":{"default":{"default":"mayúscula A con breve y grave"}},"category":"Lu"},{"key":"1EB2","mappings":{"default":{"default":"mayúscula A con breve y gancho arriba"}},"category":"Lu"},{"key":"1EB4","mappings":{"default":{"default":"mayúscula A con breve y tilde"}},"category":"Lu"},{"key":"1EB6","mappings":{"default":{"default":"mayúscula A con breve y punto debajo"}},"category":"Lu"},{"key":"1EBE","mappings":{"default":{"default":"mayúscula E con acento circunflejo y agudo"}},"category":"Lu"},{"key":"1EC0","mappings":{"default":{"default":"mayúscula E con acento circunflejo y grave"}},"category":"Lu"},{"key":"1EC2","mappings":{"default":{"default":"mayúscula E con acento circunflejo y gancho arriba"}},"category":"Lu"},{"key":"1EC4","mappings":{"default":{"default":"mayúscula E con acento circunflejo y tilde"}},"category":"Lu"},{"key":"1EC6","mappings":{"default":{"default":"mayúscula E con acento circunflejo y punto debajo"}},"category":"Lu"},{"key":"1ED0","mappings":{"default":{"default":"mayúscula O con acento circunflejo y agudo"}},"category":"Lu"},{"key":"1ED2","mappings":{"default":{"default":"mayúscula O con acento circunflejo y grave"}},"category":"Lu"},{"key":"1ED4","mappings":{"default":{"default":"mayúscula O con acento circunflejo y gancho arriba"}},"category":"Lu"},{"key":"1ED6","mappings":{"default":{"default":"mayúscula O con acento circunflejo y tilde"}},"category":"Lu"},{"key":"1ED8","mappings":{"default":{"default":"mayúscula O con acento circunflejo y punto debajo"}},"category":"Lu"},{"key":"1EDA","mappings":{"default":{"default":"mayúscula O with horn and acute"}},"category":"Lu"},{"key":"1EDC","mappings":{"default":{"default":"mayúscula O with horn and grave"}},"category":"Lu"},{"key":"1EDE","mappings":{"default":{"default":"mayúscula O with horn and hook above"}},"category":"Lu"},{"key":"1EE0","mappings":{"default":{"default":"mayúscula O with horn and tilde"}},"category":"Lu"},{"key":"1EE2","mappings":{"default":{"default":"mayúscula O con cuerno y punto debajo"}},"category":"Lu"},{"key":"1EE8","mappings":{"default":{"default":"mayúscula U con cuerno y agudo"}},"category":"Lu"},{"key":"1EEA","mappings":{"default":{"default":"mayúscula U con cuerno y grave"}},"category":"Lu"},{"key":"1EEC","mappings":{"default":{"default":"mayúscula U con cuerno y gancho arriba"}},"category":"Lu"},{"key":"1EEE","mappings":{"default":{"default":"mayúscula U con cuerno y tilde"}},"category":"Lu"},{"key":"1EF0","mappings":{"default":{"default":"mayúscula U con cuerno y punto debajo"}},"category":"Lu"}] diff --git a/assets/js/mathmaps/es/symbols/latin-upper-normal.js b/assets/js/mathmaps/es/symbols/latin-upper-normal.js new file mode 100644 index 0000000000000000000000000000000000000000..0a07dce6d6c4c7a28cc946701cc19559eaaa1e21 --- /dev/null +++ b/assets/js/mathmaps/es/symbols/latin-upper-normal.js @@ -0,0 +1 @@ +[{"locale":"es"},{"key":"0041","mappings":{"default":{"default":"mayúscula A"}},"category":"Lu"},{"key":"0042","mappings":{"default":{"default":"mayúscula B"}},"category":"Lu"},{"key":"0043","mappings":{"default":{"default":"mayúscula C"}},"category":"Lu"},{"key":"0044","mappings":{"default":{"default":"mayúscula D"}},"category":"Lu"},{"key":"0045","mappings":{"default":{"default":"mayúscula E"}},"category":"Lu"},{"key":"0046","mappings":{"default":{"default":"mayúscula F"}},"category":"Lu"},{"key":"0047","mappings":{"default":{"default":"mayúscula G"}},"category":"Lu"},{"key":"0048","mappings":{"default":{"default":"mayúscula H"}},"category":"Lu"},{"key":"0049","mappings":{"default":{"default":"mayúscula I"}},"category":"Lu"},{"key":"004A","mappings":{"default":{"default":"mayúscula J"}},"category":"Lu"},{"key":"004B","mappings":{"default":{"default":"mayúscula K"}},"category":"Lu"},{"key":"004C","mappings":{"default":{"default":"mayúscula L"}},"category":"Lu"},{"key":"004D","mappings":{"default":{"default":"mayúscula M"}},"category":"Lu"},{"key":"004E","mappings":{"default":{"default":"mayúscula N"}},"category":"Lu"},{"key":"004F","mappings":{"default":{"default":"mayúscula O"}},"category":"Lu"},{"key":"0050","mappings":{"default":{"default":"mayúscula P"}},"category":"Lu"},{"key":"0051","mappings":{"default":{"default":"mayúscula Q"}},"category":"Lu"},{"key":"0052","mappings":{"default":{"default":"mayúscula R"}},"category":"Lu"},{"key":"0053","mappings":{"default":{"default":"mayúscula S"}},"category":"Lu"},{"key":"0054","mappings":{"default":{"default":"mayúscula T"}},"category":"Lu"},{"key":"0055","mappings":{"default":{"default":"mayúscula U"}},"category":"Lu"},{"key":"0056","mappings":{"default":{"default":"mayúscula V"}},"category":"Lu"},{"key":"0057","mappings":{"default":{"default":"mayúscula W"}},"category":"Lu"},{"key":"0058","mappings":{"default":{"default":"mayúscula X"}},"category":"Lu"},{"key":"0059","mappings":{"default":{"default":"mayúscula Y","defaultMP":"Ye"}},"category":"Lu"},{"key":"005A","mappings":{"default":{"default":"mayúscula Z"}},"category":"Lu"}] diff --git a/assets/js/mathmaps/es/symbols/latin-upper-single-accent.js b/assets/js/mathmaps/es/symbols/latin-upper-single-accent.js new file mode 100644 index 0000000000000000000000000000000000000000..29780922dadd9a27ae4ad637b396ce87430d595e --- /dev/null +++ b/assets/js/mathmaps/es/symbols/latin-upper-single-accent.js @@ -0,0 +1 @@ +[{"locale":"es"},{"key":"00C0","mappings":{"default":{"default":"mayúscula A grave"}},"category":"Lu"},{"key":"00C1","mappings":{"default":{"default":"mayúscula A aguda"}},"category":"Lu"},{"key":"00C2","mappings":{"default":{"default":"mayúscula A acento circunflejo"}},"category":"Lu"},{"key":"00C3","mappings":{"default":{"default":"mayúscula A con tilde"}},"category":"Lu"},{"key":"00C4","mappings":{"default":{"default":"mayúscula A diéresis"}},"category":"Lu"},{"key":"00C5","mappings":{"default":{"default":"mayúscula A con anillo"}},"category":"Lu"},{"key":"00C7","mappings":{"default":{"default":"mayúscula C cedilla"}},"category":"Lu"},{"key":"00C8","mappings":{"default":{"default":"mayúscula E grave"}},"category":"Lu"},{"key":"00C9","mappings":{"default":{"default":"mayúscula E aguda"}},"category":"Lu"},{"key":"00CA","mappings":{"default":{"default":"mayúscula E acento circunflejo"}},"category":"Lu"},{"key":"00CB","mappings":{"default":{"default":"mayúscula E diéresis"}},"category":"Lu"},{"key":"00CC","mappings":{"default":{"default":"mayúscula I grave"}},"category":"Lu"},{"key":"00CD","mappings":{"default":{"default":"mayúscula I aguda"}},"category":"Lu"},{"key":"00CE","mappings":{"default":{"default":"mayúscula I acento circumflejo"}},"category":"Lu"},{"key":"00CF","mappings":{"default":{"default":"mayúscula I diéresis"}},"category":"Lu"},{"key":"00D1","mappings":{"default":{"default":"mayúscula Ñ"}},"category":"Lu"},{"key":"00D2","mappings":{"default":{"default":"mayúscula O grave"}},"category":"Lu"},{"key":"00D3","mappings":{"default":{"default":"mayúscula O aguda"}},"category":"Lu"},{"key":"00D4","mappings":{"default":{"default":"mayúscula O acento circunflejo"}},"category":"Lu"},{"key":"00D5","mappings":{"default":{"default":"mayúscula O con tilde"}},"category":"Lu"},{"key":"00D6","mappings":{"default":{"default":"mayúscula O diéresis"}},"category":"Lu"},{"key":"00D9","mappings":{"default":{"default":"mayúscula U grave"}},"category":"Lu"},{"key":"00DA","mappings":{"default":{"default":"mayúscula U aguda"}},"category":"Lu"},{"key":"00DB","mappings":{"default":{"default":"mayúscula U acento circunflejo"}},"category":"Lu"},{"key":"00DC","mappings":{"default":{"default":"mayúscula U diéresis"}},"category":"Lu"},{"key":"00DD","mappings":{"default":{"default":"mayúscula Y aguda"}},"category":"Lu"},{"key":"0100","mappings":{"default":{"default":"mayúscula A barra"}},"category":"Lu"},{"key":"0102","mappings":{"default":{"default":"mayúscula A con breve"}},"category":"Lu"},{"key":"0104","mappings":{"default":{"default":"mayúscula A con ogonek"}},"category":"Lu"},{"key":"0106","mappings":{"default":{"default":"mayúscula C con agudo"}},"category":"Lu"},{"key":"0108","mappings":{"default":{"default":"mayúscula C con acento circunflejo"}},"category":"Lu"},{"key":"010A","mappings":{"default":{"default":"mayúscula C con punto arriba"}},"category":"Lu"},{"key":"010C","mappings":{"default":{"default":"mayúscula C con carón"}},"category":"Lu"},{"key":"010E","mappings":{"default":{"default":"mayúscula D con carón"}},"category":"Lu"},{"key":"0112","mappings":{"default":{"default":"mayúscula E barra"}},"category":"Lu"},{"key":"0116","mappings":{"default":{"default":"mayúscula E con punto arriba"}},"category":"Lu"},{"key":"0118","mappings":{"default":{"default":"mayúscula E con ogonek"}},"category":"Lu"},{"key":"011A","mappings":{"default":{"default":"mayúscula E con carón"}},"category":"Lu"},{"key":"011C","mappings":{"default":{"default":"mayúscula G con acento circunflejo"}},"category":"Lu"},{"key":"011E","mappings":{"default":{"default":"mayúscula G con breve"}},"category":"Lu"},{"key":"0120","mappings":{"default":{"default":"mayúscula G con punto arriba"}},"category":"Lu"},{"key":"0122","mappings":{"default":{"default":"mayúscula G con cedilla"}},"category":"Lu"},{"key":"0124","mappings":{"default":{"default":"mayúscula H con acento circunflejo"}},"category":"Lu"},{"key":"0128","mappings":{"default":{"default":"mayúscula I con tilde"}},"category":"Lu"},{"key":"012A","mappings":{"default":{"default":"mayúscula I barra"}},"category":"Lu"},{"key":"012E","mappings":{"default":{"default":"mayúscula I con ogonek"}},"category":"Lu"},{"key":"0130","mappings":{"default":{"default":"mayúscula I con punto arriba"}},"category":"Lu"},{"key":"0134","mappings":{"default":{"default":"mayúscula J con acento circunflejo"}},"category":"Lu"},{"key":"0136","mappings":{"default":{"default":"mayúscula K con cedilla"}},"category":"Lu"},{"key":"0139","mappings":{"default":{"default":"mayúscula L con agudo"}},"category":"Lu"},{"key":"013B","mappings":{"default":{"default":"mayúscula L con cedilla"}},"category":"Lu"},{"key":"013D","mappings":{"default":{"default":"mayúscula L con carón"}},"category":"Lu"},{"key":"013F","mappings":{"default":{"default":"mayúscula L con punto mediano"}},"category":"Lu"},{"key":"0143","mappings":{"default":{"default":"mayúscula N con agudo"}},"category":"Lu"},{"key":"0145","mappings":{"default":{"default":"mayúscula N con cedilla"}},"category":"Lu"},{"key":"0147","mappings":{"default":{"default":"mayúscula n con carón"}},"category":"Lu"},{"key":"014C","mappings":{"default":{"default":"mayúscula O barra"}},"category":"Lu"},{"key":"0150","mappings":{"default":{"default":"mayúscula O con doble acento agudo "}},"category":"Lu"},{"key":"0154","mappings":{"default":{"default":"mayúscula R con agudo"}},"category":"Lu"},{"key":"0156","mappings":{"default":{"default":"mayúscula R con cedilla"}},"category":"Lu"},{"key":"0158","mappings":{"default":{"default":"mayúscula R con carón"}},"category":"Lu"},{"key":"015A","mappings":{"default":{"default":"mayúscula S con agudo"}},"category":"Lu"},{"key":"015C","mappings":{"default":{"default":"mayúscula S con acento circunflejo"}},"category":"Lu"},{"key":"015E","mappings":{"default":{"default":"mayúscula S con cedilla"}},"category":"Lu"},{"key":"0160","mappings":{"default":{"default":"mayúscula S con carón"}},"category":"Lu"},{"key":"0162","mappings":{"default":{"default":"mayúscula T con cedilla"}},"category":"Lu"},{"key":"0164","mappings":{"default":{"default":"mayúscula T con carón"}},"category":"Lu"},{"key":"0168","mappings":{"default":{"default":"mayúscula U con tilde"}},"category":"Lu"},{"key":"016A","mappings":{"default":{"default":"mayúscula U barra"}},"category":"Lu"},{"key":"016C","mappings":{"default":{"default":"mayúscula U con breve"}},"category":"Lu"},{"key":"016E","mappings":{"default":{"default":"mayúscula U con anillo arriba"}},"category":"Lu"},{"key":"0170","mappings":{"default":{"default":"mayúscula U con doble acento agudo"}},"category":"Lu"},{"key":"0172","mappings":{"default":{"default":"mayúscula U con ogonek"}},"category":"Lu"},{"key":"0174","mappings":{"default":{"default":"mayúscula W con acento circunflejo"}},"category":"Lu"},{"key":"0176","mappings":{"default":{"default":"mayúscula Y con circunflejo"}},"category":"Lu"},{"key":"0178","mappings":{"default":{"default":"mayúscula Y diéresis"}},"category":"Lu"},{"key":"0179","mappings":{"default":{"default":"mayúscula Z con agudo"}},"category":"Lu"},{"key":"017B","mappings":{"default":{"default":"mayúscula Z con punto"}},"category":"Lu"},{"key":"017D","mappings":{"default":{"default":"mayúscula Z con carón"}},"category":"Lu"},{"key":"1E00","mappings":{"default":{"default":"mayúscula A con anillo debajo"}},"category":"Lu"},{"key":"1E02","mappings":{"default":{"default":"mayúscula B con punto arriba"}},"category":"Lu"},{"key":"1E04","mappings":{"default":{"default":"mayúscula B con punto debajo"}},"category":"Lu"},{"key":"1E06","mappings":{"default":{"default":"mayúscula B con lÃnea debajo"}},"category":"Lu"},{"key":"1E0A","mappings":{"default":{"default":"mayúscula D con punto arriba"}},"category":"Lu"},{"key":"1E0C","mappings":{"default":{"default":"mayúscula D con punto debajo"}},"category":"Lu"},{"key":"1E0E","mappings":{"default":{"default":"mayúscula D con lÃnea debajo"}},"category":"Lu"},{"key":"1E10","mappings":{"default":{"default":"mayúscula D con cedilla"}},"category":"Lu"},{"key":"1E12","mappings":{"default":{"default":"mayúscula D con acento circunflejo debajo"}},"category":"Lu"},{"key":"1E18","mappings":{"default":{"default":"mayúscula E con acento circunflejo debajo"}},"category":"Lu"},{"key":"1E1A","mappings":{"default":{"default":"mayúscula E con tilde debajo"}},"category":"Lu"},{"key":"1E1E","mappings":{"default":{"default":"mayúscula F con punto arriba"}},"category":"Lu"},{"key":"1E20","mappings":{"default":{"default":"mayúscula G con macrón"}},"category":"Lu"},{"key":"1E22","mappings":{"default":{"default":"mayúscula H con punto arriba"}},"category":"Lu"},{"key":"1E24","mappings":{"default":{"default":"mayúscula H con punto debajo"}},"category":"Lu"},{"key":"1E26","mappings":{"default":{"default":"mayúscula H con diéresis"}},"category":"Lu"},{"key":"1E28","mappings":{"default":{"default":"mayúscula H con cedilla"}},"category":"Lu"},{"key":"1E2A","mappings":{"default":{"default":"mayúscula H con breve debajo"}},"category":"Lu"},{"key":"1E2C","mappings":{"default":{"default":"mayúscula I con tilde debajo"}},"category":"Lu"},{"key":"1E30","mappings":{"default":{"default":"mayúscula K con agudo"}},"category":"Lu"},{"key":"1E32","mappings":{"default":{"default":"mayúscula K con punto debajo"}},"category":"Lu"},{"key":"1E34","mappings":{"default":{"default":"mayúscula K con lÃnea debajo"}},"category":"Lu"},{"key":"1E36","mappings":{"default":{"default":"mayúscula L con punto debajo"}},"category":"Lu"},{"key":"1E3A","mappings":{"default":{"default":"mayúscula L con lÃnea debajo"}},"category":"Lu"},{"key":"1E3C","mappings":{"default":{"default":"mayúscula L con acento circunflejo debajo"}},"category":"Lu"},{"key":"1E3E","mappings":{"default":{"default":"mayúscula M con agudo"}},"category":"Lu"},{"key":"1E40","mappings":{"default":{"default":"mayúscula M con punto arriba"}},"category":"Lu"},{"key":"1E42","mappings":{"default":{"default":"mayúscula M con punto debajo"}},"category":"Lu"},{"key":"1E44","mappings":{"default":{"default":"mayúscula N con punto arriba"}},"category":"Lu"},{"key":"1E46","mappings":{"default":{"default":"mayúscula N con punto debajo"}},"category":"Lu"},{"key":"1E48","mappings":{"default":{"default":"mayúscula N con lÃnea debajo"}},"category":"Lu"},{"key":"1E4A","mappings":{"default":{"default":"mayúscula N con acento circunflejo debajo"}},"category":"Lu"},{"key":"1E54","mappings":{"default":{"default":"mayúscula P con agudo"}},"category":"Lu"},{"key":"1E56","mappings":{"default":{"default":"mayúscula P con punto arriba"}},"category":"Lu"},{"key":"1E58","mappings":{"default":{"default":"mayúscula R con punto arriba"}},"category":"Lu"},{"key":"1E5A","mappings":{"default":{"default":"mayúscula R con punto debajo"}},"category":"Lu"},{"key":"1E5E","mappings":{"default":{"default":"mayúscula R con lÃnea debajo"}},"category":"Lu"},{"key":"1E60","mappings":{"default":{"default":"mayúscula S con punto arriba"}},"category":"Lu"},{"key":"1E62","mappings":{"default":{"default":"mayúscula S con punto debajo"}},"category":"Lu"},{"key":"1E6A","mappings":{"default":{"default":"mayúscula T con punto arriba"}},"category":"Lu"},{"key":"1E6C","mappings":{"default":{"default":"mayúscula T con punto debajo"}},"category":"Lu"},{"key":"1E6E","mappings":{"default":{"default":"mayúscula T con lÃnea debajo"}},"category":"Lu"},{"key":"1E70","mappings":{"default":{"default":"mayúscula T con acento circunflejo debajo"}},"category":"Lu"},{"key":"1E72","mappings":{"default":{"default":"mayúscula U con diéresis debajo"}},"category":"Lu"},{"key":"1E74","mappings":{"default":{"default":"mayúscula U con tilde debajo"}},"category":"Lu"},{"key":"1E76","mappings":{"default":{"default":"mayúscula U con acento circunflejo debajo"}},"category":"Lu"},{"key":"1E7C","mappings":{"default":{"default":"mayúscula V con tilde"}},"category":"Lu"},{"key":"1E7E","mappings":{"default":{"default":"mayúscula V con punto debajo"}},"category":"Lu"},{"key":"1E80","mappings":{"default":{"default":"mayúscula W con grave"}},"category":"Lu"},{"key":"1E82","mappings":{"default":{"default":"mayúscula W con agudo"}},"category":"Lu"},{"key":"1E84","mappings":{"default":{"default":"mayúscula W con diéresis"}},"category":"Lu"},{"key":"1E86","mappings":{"default":{"default":"mayúscula W con punto arriba"}},"category":"Lu"},{"key":"1E88","mappings":{"default":{"default":"mayúscula W con punto debajo"}},"category":"Lu"},{"key":"1E8A","mappings":{"default":{"default":"mayúscula X con punto arriba"}},"category":"Lu"},{"key":"1E8C","mappings":{"default":{"default":"mayúscula X con diéresis"}},"category":"Lu"},{"key":"1E8E","mappings":{"default":{"default":"mayúscula Y con punto arriba"}},"category":"Lu"},{"key":"1E90","mappings":{"default":{"default":"mayúscula Z con acento circunflejo"}},"category":"Lu"},{"key":"1E92","mappings":{"default":{"default":"mayúscula Z con punto debajo"}},"category":"Lu"},{"key":"1E94","mappings":{"default":{"default":"mayúscula Z with line below"}},"category":"Lu"},{"key":"1EA0","mappings":{"default":{"default":"mayúscula A con punto debajo"}},"category":"Lu"},{"key":"1EA2","mappings":{"default":{"default":"mayúscula A con gancho arriba"}},"category":"Lu"},{"key":"1EB8","mappings":{"default":{"default":"mayúscula E con punto debajo"}},"category":"Lu"},{"key":"1EBA","mappings":{"default":{"default":"mayúscula E con gancho arriba"}},"category":"Lu"},{"key":"1EBC","mappings":{"default":{"default":"mayúscula E con tilde"}},"category":"Lu"},{"key":"1EC8","mappings":{"default":{"default":"mayúscula I con gancho arriba"}},"category":"Lu"},{"key":"1ECA","mappings":{"default":{"default":"mayúscula I con punto debajo"}},"category":"Lu"},{"key":"1ECC","mappings":{"default":{"default":"mayúscula O con punto debajo"}},"category":"Lu"},{"key":"1ECE","mappings":{"default":{"default":"mayúscula O con gancho arriba"}},"category":"Lu"},{"key":"1EE4","mappings":{"default":{"default":"mayúscula U con punto debajo"}},"category":"Lu"},{"key":"1EE6","mappings":{"default":{"default":"mayúscula U con gancho arriba"}},"category":"Lu"},{"key":"1EF2","mappings":{"default":{"default":"mayúscula Y con grave"}},"category":"Lu"},{"key":"1EF4","mappings":{"default":{"default":"mayúscula Y con punto debajo"}},"category":"Lu"},{"key":"1EF6","mappings":{"default":{"default":"mayúscula Y con gancho arriba"}},"category":"Lu"},{"key":"1EF8","mappings":{"default":{"default":"mayúscula Y con tilde"}},"category":"Lu"}] diff --git a/assets/js/mathmaps/es/symbols/math_angles.js b/assets/js/mathmaps/es/symbols/math_angles.js new file mode 100644 index 0000000000000000000000000000000000000000..985759328cae86a86e54d48a8cdd6e2ae526c0ad --- /dev/null +++ b/assets/js/mathmaps/es/symbols/math_angles.js @@ -0,0 +1 @@ +[{"locale":"es"},{"key":"22BE","mappings":{"default":{"default":"ángulo recto con arco"}},"category":"Sm"},{"key":"237C","mappings":{"default":{"default":"ángulo recto con flecha zigzag hacia abajo"}},"category":"Sm"},{"key":"27C0","mappings":{"default":{"default":"ángulo sólido"}},"category":"Sm"},{"key":"299D","mappings":{"default":{"default":"ángulo recto medido con punto"}},"category":"Sm"},{"key":"29A4","mappings":{"default":{"default":"ángulo con barra inferior"}},"category":"Sm"},{"key":"29A5","mappings":{"default":{"default":"ángulo inverso con barra inferior"}},"category":"Sm"},{"key":"29A6","mappings":{"default":{"default":"ángulo oblicuo hacia arriba"}},"category":"Sm"},{"key":"29A7","mappings":{"default":{"default":"ángulo oblicuo hacia abajo"}},"category":"Sm"},{"key":"29A8","mappings":{"default":{"default":"measured angle with open arm ending in arrow pointing up and to the right"}},"category":"Sm"},{"key":"29A9","mappings":{"default":{"default":"measured angle with open arm ending in arrow pointing up and to the left"}},"category":"Sm"},{"key":"29AA","mappings":{"default":{"default":"measured angle with open arm ending in arrow pointing down and to the right"}},"category":"Sm"},{"key":"29AB","mappings":{"default":{"default":"measured angle with open arm ending in arrow pointing down and to the left"}},"category":"Sm"},{"key":"29AC","mappings":{"default":{"default":"measured angle with open arm ending in arrow pointing right and up"}},"category":"Sm"},{"key":"29AD","mappings":{"default":{"default":"measured angle with open arm ending in arrow pointing left and up"}},"category":"Sm"},{"key":"29AE","mappings":{"default":{"default":"measured angle with open arm ending in arrow pointing right and down"}},"category":"Sm"},{"key":"29AF","mappings":{"default":{"default":"measured angle with open arm ending in arrow pointing left and down"}},"category":"Sm"}] diff --git a/assets/js/mathmaps/es/symbols/math_arrows.js b/assets/js/mathmaps/es/symbols/math_arrows.js new file mode 100644 index 0000000000000000000000000000000000000000..81a75c27ce3ced75fb4b916364e4942074f4974e --- /dev/null +++ b/assets/js/mathmaps/es/symbols/math_arrows.js @@ -0,0 +1 @@ +[{"locale":"es"},{"key":"2190","mappings":{"default":{"default":"flecha izquierda"}},"category":"Sm"},{"key":"2191","mappings":{"default":{"default":"flecha arriba"}},"category":"Sm"},{"key":"2192","mappings":{"default":{"default":"flecha derecha","defaultMP":"flecha"}},"category":"Sm"},{"key":"2193","mappings":{"default":{"default":"flecha abajo"}},"category":"Sm"},{"key":"2194","mappings":{"default":{"default":"flecha izquierda y derecha"}},"category":"Sm"},{"key":"2195","mappings":{"default":{"default":"flecha arriba y abajo"}},"category":"So"},{"key":"2196","mappings":{"default":{"default":"flecha a noroeste"}},"category":"So"},{"key":"2197","mappings":{"default":{"default":"flecha a nordeste"}},"category":"So"},{"key":"2198","mappings":{"default":{"default":"flecha a sureste"}},"category":"So"},{"key":"2199","mappings":{"default":{"default":"flecha a suroeste"}},"category":"So"},{"key":"219A","mappings":{"default":{"default":"flecha izquierda tachada"}},"category":"Sm"},{"key":"219B","mappings":{"default":{"default":"flecha tachada"}},"category":"Sm"},{"key":"219C","mappings":{"default":{"default":"flecha ondulada izquierda"}},"category":"So"},{"key":"219D","mappings":{"default":{"default":"flecha ondulada"}},"category":"So"},{"key":"219E","mappings":{"default":{"default":"flecha izquierda con doble punta"}},"category":"So"},{"key":"219F","mappings":{"default":{"default":"flecha con doble punta hacia arriba"}},"category":"So"},{"key":"21A0","mappings":{"default":{"default":"flecha derechaa con doble punta"}},"category":"Sm"},{"key":"21A1","mappings":{"default":{"default":"flecha con doble punta hacia abajo"}},"category":"So"},{"key":"21A2","mappings":{"default":{"default":"flecha izquierda con cola"}},"category":"So"},{"key":"21A3","mappings":{"default":{"default":"flecha derecha con cola"}},"category":"Sm"},{"key":"21A4","mappings":{"default":{"default":"flecha izquierda de barra"}},"category":"So"},{"key":"21A5","mappings":{"default":{"default":"barra con flecha"}},"category":"So"},{"key":"21A6","mappings":{"default":{"default":"flecha derecha de barra"}},"category":"Sm"},{"key":"21A7","mappings":{"default":{"default":"flecha con barra"}},"category":"So"},{"key":"21A8","mappings":{"default":{"default":"flecha arriba y abajo con base"}},"category":"So"},{"key":"21A9","mappings":{"default":{"default":"flecha izquierda con gancho"}},"category":"So"},{"key":"21AA","mappings":{"default":{"default":"flecha con gancho"}},"category":"So"},{"key":"21AB","mappings":{"default":{"default":"flecha izquierda con lazo"}},"category":"So"},{"key":"21AC","mappings":{"default":{"default":"flecha con lazo"}},"category":"So"},{"key":"21AD","mappings":{"default":{"default":"flecha ondulada izquierda y derecha"}},"category":"So"},{"key":"21AE","mappings":{"default":{"default":"flecha izquierda y derecha tachada"}},"category":"Sm"},{"key":"21AF","mappings":{"default":{"default":"flecha zigzag abajo"}},"category":"So"},{"key":"21B0","mappings":{"default":{"default":"flecha arriba con punta izquierda"}},"category":"So"},{"key":"21B1","mappings":{"default":{"default":"flecha arriba con punta derecha"}},"category":"So"},{"key":"21B2","mappings":{"default":{"default":"flecha abajo con punta izquierda"}},"category":"So"},{"key":"21B3","mappings":{"default":{"default":"flecha abajo con punta derecha"}},"category":"So"},{"key":"21B4","mappings":{"default":{"default":"flecha derecha desde esquina inferior"}},"category":"So"},{"key":"21B5","mappings":{"default":{"default":"flecha hacia abajo desde esquina izquierda"}},"category":"So"},{"key":"21B6","mappings":{"default":{"default":"flecha semicircular superior en sentido antihorario"}},"category":"So"},{"key":"21B7","mappings":{"default":{"default":"flecha semicircular superior en sentido horario"}},"category":"So"},{"key":"21B8","mappings":{"default":{"default":"flecha noroeste a barra larga"}},"category":"So"},{"key":"21B9","mappings":{"default":{"default":"flecha izquierda a barra arriba de flecha derecha a barra"}},"category":"So"},{"key":"21BA","mappings":{"default":{"default":"flecha circular abierta en sentido antihorario"}},"category":"So"},{"key":"21BB","mappings":{"default":{"default":"flecha circular abierta en sentido horario"}},"category":"So"},{"key":"21C4","mappings":{"default":{"default":"flecha derecha arriba de flecha izquierda"}},"category":"So"},{"key":"21C5","mappings":{"default":{"default":"flecha arriba a la izquierda de flecha abajo"}},"category":"So"},{"key":"21C6","mappings":{"default":{"default":"flecha izquierda arriba de flecha derecha"}},"category":"So"},{"key":"21C7","mappings":{"default":{"default":"dos flechas hacia la izquierda"}},"category":"So"},{"key":"21C8","mappings":{"default":{"default":"dos flechas hacia arriba"}},"category":"So"},{"key":"21C9","mappings":{"default":{"default":"dos flechas"}},"category":"So"},{"key":"21CA","mappings":{"default":{"default":"dos flechas hacia abajo"}},"category":"So"},{"key":"21CD","mappings":{"default":{"default":"flecha doble izquierda tachada"}},"category":"So"},{"key":"21CE","mappings":{"default":{"default":"flecha doble izquierda y derecha tachada"}},"category":"Sm"},{"key":"21CF","mappings":{"default":{"default":"flecha doble tachada"}},"category":"Sm"},{"key":"21D0","mappings":{"default":{"default":"flecha doble hacia la izquierda"}},"category":"So"},{"key":"21D1","mappings":{"default":{"default":"flecha doble hacia arriba"}},"category":"So"},{"key":"21D2","mappings":{"default":{"default":"flecha doble"}},"category":"Sm"},{"key":"21D3","mappings":{"default":{"default":"flecha doble hacia abajo"}},"category":"So"},{"key":"21D4","mappings":{"default":{"default":"flecha doble izquierda-derecha"}},"category":"Sm"},{"key":"21D5","mappings":{"default":{"default":"flecha doble vertical"}},"category":"So"},{"key":"21D6","mappings":{"default":{"default":"flecha doble hacia noroeste"}},"category":"So"},{"key":"21D7","mappings":{"default":{"default":"flecha doble hacia nordeste"}},"category":"So"},{"key":"21D8","mappings":{"default":{"default":"flecha doble hacia sudeste"}},"category":"So"},{"key":"21D9","mappings":{"default":{"default":"flecha doble hacia sudoeste"}},"category":"So"},{"key":"21DA","mappings":{"default":{"default":"flecha triple izquierda"}},"category":"So"},{"key":"21DB","mappings":{"default":{"default":"flecha triple"}},"category":"So"},{"key":"21DC","mappings":{"default":{"default":"flecha ondulada izquierda"}},"category":"So"},{"key":"21DD","mappings":{"default":{"default":"flecha ondulada"}},"category":"So"},{"key":"21DE","mappings":{"default":{"default":"flecha hacia arriba con doble tachado"}},"category":"So"},{"key":"21DF","mappings":{"default":{"default":"flecha hacia abajo con doble tachado"}},"category":"So"},{"key":"21E0","mappings":{"default":{"default":"flecha de puntos hacia la izquierda"}},"category":"So"},{"key":"21E1","mappings":{"default":{"default":"flecha de puntos hacia arriba"}},"category":"So"},{"key":"21E2","mappings":{"default":{"default":"flecha de puntos"}},"category":"So"},{"key":"21E3","mappings":{"default":{"default":"flecha de puntos hacia abajo"}},"category":"So"},{"key":"21E4","mappings":{"default":{"default":"flecha izquierda a barra"}},"category":"So"},{"key":"21E5","mappings":{"default":{"default":"flecha derecha a barra"}},"category":"So"},{"key":"21E6","mappings":{"default":{"default":"flecha vacÃa hacia la izquierda"}},"category":"So"},{"key":"21E7","mappings":{"default":{"default":"flecha vacÃa hacia arriba"}},"category":"So"},{"key":"21E8","mappings":{"default":{"default":"flecha vacÃa"}},"category":"So"},{"key":"21E9","mappings":{"default":{"default":"flecha vacÃa hacia abajo"}},"category":"So"},{"key":"21EA","mappings":{"default":{"default":"flecha vacÃa hacia arriba desde barra"}},"category":"So"},{"key":"21F5","mappings":{"default":{"default":"upwards arrow to the right of downwards arrow"}},"category":"Sm"},{"key":"21FD","mappings":{"default":{"default":"flecha izquierda con punta vacÃa"}},"category":"Sm"},{"key":"21FE","mappings":{"default":{"default":"flecha izquierda con punta vacÃa"}},"category":"Sm"},{"key":"21FF","mappings":{"default":{"default":"flecha izquierda derecha con punta vacÃa"}},"category":"Sm"},{"key":"27F0","mappings":{"default":{"default":"flecha cuádruple hacia arriba"}},"category":"Sm"},{"key":"27F1","mappings":{"default":{"default":"flecha cuádruple hacia abajo"}},"category":"Sm"},{"key":"27F2","mappings":{"default":{"default":"flecha hacia la izquierda desde cÃrculo"}},"category":"Sm"},{"key":"27F3","mappings":{"default":{"default":"flecha hacia la derecha desde cÃrculo"}},"category":"Sm"},{"key":"27F4","mappings":{"default":{"default":"flecha con más en cÃrculo"}},"category":"Sm"},{"key":"27F5","mappings":{"default":{"default":"flecha larga hacia la izquierda"}},"category":"Sm"},{"key":"27F6","mappings":{"default":{"default":"flecha larga"}},"category":"Sm"},{"key":"27F7","mappings":{"default":{"default":"flecha larga hacia izquierda y derecha"}},"category":"Sm"},{"key":"27F8","mappings":{"default":{"default":"doble flecha larga hacia la izquierda"}},"category":"Sm"},{"key":"27F9","mappings":{"default":{"default":"doble flecha larga"}},"category":"Sm"},{"key":"27FA","mappings":{"default":{"default":"doble flecha larga hacia izquierda y derecha"}},"category":"Sm"},{"key":"27FB","mappings":{"default":{"default":"flecha larga hacia la izquierda, desde barra"}},"category":"Sm"},{"key":"27FC","mappings":{"default":{"default":"flecha larga desde barra"}},"category":"Sm"},{"key":"27FD","mappings":{"default":{"default":"doble flecha larga hacia la izquierda desde barra"}},"category":"Sm"},{"key":"27FE","mappings":{"default":{"default":"doble flecha larga desde barra"}},"category":"Sm"},{"key":"27FF","mappings":{"default":{"default":"flecha larga en zigzag"}},"category":"Sm"},{"key":"2905","mappings":{"default":{"default":"rightwards two headed arrow from bar"}},"category":"Sm"},{"key":"290C","mappings":{"default":{"default":"leftwards double dash arrow"}},"category":"Sm"},{"key":"290D","mappings":{"default":{"default":"rightwards double dash arrow"}},"category":"Sm"},{"key":"290E","mappings":{"default":{"default":"leftwards triple dash arrow"}},"category":"Sm"},{"key":"290F","mappings":{"default":{"default":"rightwards triple dash arrow"}},"category":"Sm"},{"key":"2910","mappings":{"default":{"default":"rightwards two headed triple dash arrow"}},"category":"Sm"},{"key":"2911","mappings":{"default":{"default":"rightwards arrow with dotted stem"}},"category":"Sm"},{"key":"2912","mappings":{"default":{"default":"upwards arrow to bar"}},"category":"Sm"},{"key":"2913","mappings":{"default":{"default":"downwards arrow to bar"}},"category":"Sm"},{"key":"2916","mappings":{"default":{"default":"rightwards two headed arrow with tail"}},"category":"Sm"},{"key":"2919","mappings":{"default":{"default":"cola de flecha hacia la izquierda"}},"category":"Sm"},{"key":"291B","mappings":{"default":{"default":"cola de doble flecha hacia la izquierda"}},"category":"Sm"},{"key":"291C","mappings":{"default":{"default":"cola de doble flecha hacia la derecha"}},"category":"Sm"},{"key":"291D","mappings":{"default":{"default":"flecha hacia diamante relleno a la izquierda"}},"category":"Sm"},{"key":"291E","mappings":{"default":{"default":"flecha hacia diamante a la derecha"}},"category":"Sm"},{"key":"291F","mappings":{"default":{"default":"flecha desde barra hacia diamante a la izquierda"}},"category":"Sm"},{"key":"2920","mappings":{"default":{"default":"flecha desde barra hacia diamante a la derecha"}},"category":"Sm"},{"key":"2923","mappings":{"default":{"default":"flecha a noroeste con garfio"}},"category":"Sm"},{"key":"2924","mappings":{"default":{"default":"flecha a nordeste con garfio"}},"category":"Sm"},{"key":"2925","mappings":{"default":{"default":"flecha a sureste con garfio"}},"category":"Sm"},{"key":"2926","mappings":{"default":{"default":"flecha a suroeste con garfio"}},"category":"Sm"},{"key":"2927","mappings":{"default":{"default":"flechas a noroeste y nordeste"}},"category":"Sm"},{"key":"2928","mappings":{"default":{"default":"flechas a nordeste y sudeste"}},"category":"Sm"},{"key":"2929","mappings":{"default":{"default":"flechas a suddeste y sudoeste"}},"category":"Sm"},{"key":"292A","mappings":{"default":{"default":"flechas a sudoeste y noroeste"}},"category":"Sm"},{"key":"2933","mappings":{"default":{"default":"flecha ondulada"}},"category":"Sm"},{"key":"2935","mappings":{"default":{"default":"flecha hacia la derecha que gira hacia abajo"}},"category":"Sm"},{"key":"2936","mappings":{"default":{"default":"flecha hacia abajo que gira hacia la izquierda"}},"category":"Sm"},{"key":"2937","mappings":{"default":{"default":"flecha hacia abajo que gira hacia la derecha"}},"category":"Sm"},{"key":"2938","mappings":{"default":{"default":"flecha semicircular a la derecha en sentido horario"}},"category":"Sm"},{"key":"2939","mappings":{"default":{"default":"flecha semicircular a la izquierda en sentido antihorario"}},"category":"Sm"},{"key":"293C","mappings":{"default":{"default":"giro negativo"}},"category":"Sm"},{"key":"293D","mappings":{"default":{"default":"giro positivo"}},"category":"Sm"},{"key":"2945","mappings":{"default":{"default":"flecha con más suscrito"}},"category":"Sm"},{"key":"2948","mappings":{"default":{"default":"flecha hacia la izquierda a través de cÃrculo"}},"category":"Sm"},{"key":"2949","mappings":{"default":{"default":"dos cabezas de flecha hacia arriba desde cÃrculo"}},"category":"Sm"},{"key":"2970","mappings":{"default":{"default":"round implies"}},"category":"Sm"},{"key":"2971","mappings":{"default":{"default":"flecha con igual"}},"category":"Sm"},{"key":"2972","mappings":{"default":{"default":"flecha con tilde"}},"category":"Sm"},{"key":"2973","mappings":{"default":{"default":"tilde con flecha hacia la izquierda"}},"category":"Sm"},{"key":"2974","mappings":{"default":{"default":"tilde con flecha"}},"category":"Sm"},{"key":"2975","mappings":{"default":{"default":"flecha con casi igual a"}},"category":"Sm"},{"key":"2976","mappings":{"default":{"default":"flecha hacia la izquierda con menor que"}},"category":"Sm"},{"key":"2978","mappings":{"default":{"default":"flecha con mayor que"}},"category":"Sm"},{"key":"2979","mappings":{"default":{"default":"flecha hacia la izquierda con incluido"}},"category":"Sm"},{"key":"297B","mappings":{"default":{"default":"flecha hacia la izquierda con contiene"}},"category":"Sm"},{"key":"29B3","mappings":{"default":{"default":"conjunto vacÃo con flecha"}},"category":"Sm"},{"key":"29B4","mappings":{"default":{"default":"conjunto vacÃo con flecha inversa"}},"category":"Sm"},{"key":"2A17","mappings":{"default":{"default":"integral con flecha hacia la izquierda con garfio"}},"category":"Sm"}] diff --git a/assets/js/mathmaps/es/symbols/math_characters.js b/assets/js/mathmaps/es/symbols/math_characters.js new file mode 100644 index 0000000000000000000000000000000000000000..18c6357007ea664bfc13915215254cdec6a7b159 --- /dev/null +++ b/assets/js/mathmaps/es/symbols/math_characters.js @@ -0,0 +1 @@ +[{"locale":"es"},{"key":"2113","mappings":{"default":{"default":"script l"}},"category":"Ll"},{"key":"2118","mappings":{"default":{"default":"p de weierstrass"}},"category":"Sm"},{"key":"2145","mappings":{"default":{"default":"mayúscula D"}},"category":"Lu"},{"key":"2146","mappings":{"default":{"default":"d"}},"category":"Ll"},{"key":"2147","mappings":{"default":{"default":"e"}},"category":"Ll"},{"key":"2148","mappings":{"default":{"default":"i"}},"category":"Ll"},{"category":"Ll","mappings":{"default":{"default":"cursiva dotless i"}},"key":"1D6A4"},{"category":"Ll","mappings":{"default":{"default":"cursiva dotless j"}},"key":"1D6A5"}] diff --git a/assets/js/mathmaps/es/symbols/math_delimiters.js b/assets/js/mathmaps/es/symbols/math_delimiters.js new file mode 100644 index 0000000000000000000000000000000000000000..6294d37d52e5207cd4de5f73dbec9e96e7156b5f --- /dev/null +++ b/assets/js/mathmaps/es/symbols/math_delimiters.js @@ -0,0 +1 @@ +[{"locale":"es"},{"key":"0028","mappings":{"default":{"default":"paréntesis izquierdo","defaultMP":"paréntesis"}},"category":"Ps"},{"key":"0029","mappings":{"default":{"default":"paréntesis derecho","defaultMP":"cierra paréntesis"}},"category":"Pe"},{"key":"005B","mappings":{"default":{"default":"corchete izquierdo","defaultMP":"abre corchetes"}},"category":"Ps"},{"key":"005D","mappings":{"default":{"default":"corchete derecho","defaultMP":"cierra corchetes"}},"category":"Pe"},{"key":"007B","mappings":{"default":{"default":"llave izquierda","defaultMP":"abre llaves"}},"category":"Ps"},{"key":"007D","mappings":{"default":{"default":"llaves derecha","defaultMP":"cierra llaves"}},"category":"Pe"},{"key":"2308","mappings":{"default":{"default":"esquina superior izquierda"}},"category":"Sm"},{"key":"2309","mappings":{"default":{"default":"esquina superior derecha"}},"category":"Sm"},{"key":"230A","mappings":{"default":{"default":"esquina inferior izquierda"}},"category":"Sm"},{"key":"230B","mappings":{"default":{"default":"esquina inferior derecha"}},"category":"Sm"},{"key":"230C","mappings":{"default":{"default":"corte inferior derecho"}},"category":"So"},{"key":"230D","mappings":{"default":{"default":"corte inferior izquierdo"}},"category":"So"},{"key":"230E","mappings":{"default":{"default":"corte superior derecho "}},"category":"So"},{"key":"230F","mappings":{"default":{"default":"corte superior izquierdo"}},"category":"So"},{"key":"231C","mappings":{"default":{"default":"ángulo superior izquierdo"}},"category":"So"},{"key":"231D","mappings":{"default":{"default":"ángulo superior derecho"}},"category":"So"},{"key":"231E","mappings":{"default":{"default":"ángulo inferior izquierdo"}},"category":"So"},{"key":"231F","mappings":{"default":{"default":"ángulo inferior derecho"}},"category":"So"},{"key":"2320","mappings":{"default":{"default":"mitad superior de integral"}},"category":"Sm"},{"key":"2321","mappings":{"default":{"default":"mitad inferior de integral"}},"category":"Sm"},{"key":"2329","mappings":{"default":{"default":"paréntesis angular izquierdo"}},"category":"Ps"},{"key":"232A","mappings":{"default":{"default":"paréntesis angular derecho"}},"category":"Pe"},{"key":"23B0","mappings":{"default":{"default":"izquierda arriba o derecho debajo sección llave"}},"category":"Sm"},{"key":"23B1","mappings":{"default":{"default":"derecha arriba o izquierdo debajo sección llave"}},"category":"Sm"},{"key":"23B4","mappings":{"default":{"default":"corchete superior"}},"category":"So"},{"key":"23B5","mappings":{"default":{"default":"corchete inferior"}},"category":"So"},{"key":"23DC","mappings":{"default":{"default":"paréntesis superior"}},"category":"Sm"},{"key":"23DD","mappings":{"default":{"default":"paréntesis inferior"}},"category":"Sm"},{"key":"23DE","mappings":{"default":{"default":"corchete rizado superior"}},"category":"Sm"},{"key":"23DF","mappings":{"default":{"default":"corchete rizado inferior"}},"category":"Sm"},{"key":"23E0","mappings":{"default":{"default":"corchete superior en tortuga"}},"category":"Sm"},{"key":"23E1","mappings":{"default":{"default":"corchete inferior en tortuga"}},"category":"Sm"},{"key":"27C5","mappings":{"default":{"default":"sÃmbolo delimitador izquierdo de bolsa de s-formó"}},"category":"Ps"},{"key":"27C6","mappings":{"default":{"default":"sÃmbolo delimitador derecho de bolsa de s-formó"}},"category":"Pe"},{"key":"27E6","mappings":{"default":{"default":"corchete vacÃo izquierdo"}},"category":"Ps"},{"key":"27E7","mappings":{"default":{"default":"corchete vacÃo derecho"}},"category":"Pe"},{"key":"27E8","mappings":{"default":{"default":"corchete agudo izquierdo"}},"category":"Ps"},{"key":"27E9","mappings":{"default":{"default":"corchete agudo derecho"}},"category":"Pe"},{"key":"27EA","mappings":{"default":{"default":"doble corchete agudo izquierdo"}},"category":"Ps"},{"key":"27EB","mappings":{"default":{"default":"doble corchete agudo derecho"}},"category":"Pe"},{"key":"27EC","mappings":{"default":{"default":"corchete de tortuga vacÃo izquierdo"}},"category":"Ps"},{"key":"27ED","mappings":{"default":{"default":"corchete de tortuga vacÃo derecho "}},"category":"Pe"},{"key":"27EE","mappings":{"default":{"default":"paréntesis plano izquierdo"}},"category":"Ps"},{"key":"27EF","mappings":{"default":{"default":"paréntesis plano derecho"}},"category":"Pe"},{"key":"2985","mappings":{"default":{"default":"left white paren"}},"category":"Ps"},{"key":"2986","mappings":{"default":{"default":"right white paren"}},"category":"Pe"},{"key":"2989","mappings":{"default":{"default":"z notation left binding bracket"}},"category":"Ps"},{"key":"298A","mappings":{"default":{"default":"z notation right binding bracket"}},"category":"Pe"},{"key":"298B","mappings":{"default":{"default":"left bracket with underbar"}},"category":"Ps"},{"key":"298C","mappings":{"default":{"default":"right bracket with underbar"}},"category":"Pe"},{"key":"298D","mappings":{"default":{"default":"left bracket with tick in top corner"}},"category":"Ps"},{"key":"298E","mappings":{"default":{"default":"right bracket with tick in bottom corner"}},"category":"Pe"},{"key":"298F","mappings":{"default":{"default":"left bracket with tick in bottom corner"}},"category":"Ps"},{"key":"2990","mappings":{"default":{"default":"right bracket with tick in top corner"}},"category":"Pe"},{"key":"2991","mappings":{"default":{"default":"left angle bracket with dot"}},"category":"Ps"},{"key":"2992","mappings":{"default":{"default":"right angle bracket with dot"}},"category":"Pe"},{"key":"2993","mappings":{"default":{"default":"left arc less than bracket"}},"category":"Ps"},{"key":"2994","mappings":{"default":{"default":"right arc greater than bracket"}},"category":"Pe"},{"key":"2995","mappings":{"default":{"default":"double left arc greater than bracket"}},"category":"Ps"},{"key":"2996","mappings":{"default":{"default":"double right arc less than bracket"}},"category":"Pe"},{"key":"29DA","mappings":{"default":{"default":"left double wiggly fence"}},"category":"Ps"},{"key":"29DB","mappings":{"default":{"default":"right double wiggly fence"}},"category":"Pe"},{"key":"300A","mappings":{"default":{"default":"paréntesis angular doble"}},"category":"Ps"},{"key":"300B","mappings":{"default":{"default":"paréntesis angular doble derecho","defaultMP":"cierra paréntesis angular doble"}},"category":"Pe"},{"key":"3014","mappings":{"default":{"default":"left tortoise shell bracket"}},"category":"Ps"},{"key":"3015","mappings":{"default":{"default":"right tortoise shell bracket"}},"category":"Pe"},{"key":"301A","mappings":{"default":{"default":"corchete vacÃo"}},"category":"Ps"},{"key":"301B","mappings":{"default":{"default":"corchete vacÃo derecho","defaultMP":"cierra corchete vacÃo"}},"category":"Pe"},{"key":"301E","mappings":{"default":{"default":"segunda"}},"category":"Pe"},{"key":"FE35","mappings":{"default":{"default":"paréntesis superior"}},"category":"Ps"},{"key":"FE36","mappings":{"default":{"default":"paréntesis inferior"}},"category":"Pe"},{"key":"FE37","mappings":{"default":{"default":"llave superior"}},"category":"Ps"},{"key":"FE38","mappings":{"default":{"default":"llave inferior"}},"category":"Pe"},{"key":"FE3F","mappings":{"default":{"default":"paréntesis angular superior"}},"category":"Ps"},{"key":"FE40","mappings":{"default":{"default":"paréntesis angular inferior"}},"category":"Pe"}] diff --git a/assets/js/mathmaps/es/symbols/math_digits.js b/assets/js/mathmaps/es/symbols/math_digits.js new file mode 100644 index 0000000000000000000000000000000000000000..ce619b0e6d79253ff2ebeeaf5f293f6b2163b073 --- /dev/null +++ b/assets/js/mathmaps/es/symbols/math_digits.js @@ -0,0 +1 @@ +[{"locale":"es"},{"key":"00B2","mappings":{"default":{"default":"super 2"}},"category":"No"},{"key":"00B3","mappings":{"default":{"default":"super 3"}},"category":"No"},{"key":"00B9","mappings":{"default":{"default":"super 1"}},"category":"No"},{"key":"00BC","mappings":{"default":{"default":"un cuarto"}},"category":"No"},{"key":"00BD","mappings":{"default":{"default":"un medio"}},"category":"No"},{"key":"00BE","mappings":{"default":{"default":"tres cuartos"}},"category":"No"},{"key":"2153","mappings":{"default":{"default":"un tercio"}},"category":"No"},{"key":"2154","mappings":{"default":{"default":"dos tercios"}},"category":"No"},{"key":"2155","mappings":{"default":{"default":"un quinto"}},"category":"No"},{"key":"2156","mappings":{"default":{"default":"dos quintos"}},"category":"No"},{"key":"2157","mappings":{"default":{"default":"tres quintos"}},"category":"No"},{"key":"2158","mappings":{"default":{"default":"cuatro quintos"}},"category":"No"},{"key":"2159","mappings":{"default":{"default":"un sexto"}},"category":"No"},{"key":"215A","mappings":{"default":{"default":"cinco sextos"}},"category":"No"},{"key":"215B","mappings":{"default":{"default":"un octavo"}},"category":"No"},{"key":"215C","mappings":{"default":{"default":"tres octavos"}},"category":"No"},{"key":"215D","mappings":{"default":{"default":"cinco octavos"}},"category":"No"},{"key":"215E","mappings":{"default":{"default":"siete octavos"}},"category":"No"},{"category":"Nd","mappings":{"default":{"default":"negrita 0"}},"key":"1D7CE"},{"category":"Nd","mappings":{"default":{"default":"negrita 1"}},"key":"1D7CF"},{"category":"Nd","mappings":{"default":{"default":"negrita 2"}},"key":"1D7D0"},{"category":"Nd","mappings":{"default":{"default":"negrita 3"}},"key":"1D7D1"},{"category":"Nd","mappings":{"default":{"default":"negrita 4"}},"key":"1D7D2"},{"category":"Nd","mappings":{"default":{"default":"negrita 5"}},"key":"1D7D3"},{"category":"Nd","mappings":{"default":{"default":"negrita 6"}},"key":"1D7D4"},{"category":"Nd","mappings":{"default":{"default":"negrita 7"}},"key":"1D7D5"},{"category":"Nd","mappings":{"default":{"default":"negrita 8"}},"key":"1D7D6"},{"category":"Nd","mappings":{"default":{"default":"negrita 9"}},"key":"1D7D7"},{"category":"Nd","mappings":{"default":{"default":"negrita de pizarra 0"}},"key":"1D7D8"},{"category":"Nd","mappings":{"default":{"default":"negrita de pizarra 1"}},"key":"1D7D9"},{"category":"Nd","mappings":{"default":{"default":"negrita de pizarra 2"}},"key":"1D7DA"},{"category":"Nd","mappings":{"default":{"default":"negrita de pizarra 3"}},"key":"1D7DB"},{"category":"Nd","mappings":{"default":{"default":"negrita de pizarra 4"}},"key":"1D7DC"},{"category":"Nd","mappings":{"default":{"default":"negrita de pizarra 5"}},"key":"1D7DD"},{"category":"Nd","mappings":{"default":{"default":"negrita de pizarra 6"}},"key":"1D7DE"},{"category":"Nd","mappings":{"default":{"default":"negrita de pizarra 7"}},"key":"1D7DF"},{"category":"Nd","mappings":{"default":{"default":"negrita de pizarra 8"}},"key":"1D7E0"},{"category":"Nd","mappings":{"default":{"default":"negrita de pizarra 9"}},"key":"1D7E1"},{"category":"Nd","mappings":{"default":{"default":"sans-serif 0"}},"key":"1D7E2"},{"category":"Nd","mappings":{"default":{"default":"sans-serif 1"}},"key":"1D7E3"},{"category":"Nd","mappings":{"default":{"default":"sans-serif 2"}},"key":"1D7E4"},{"category":"Nd","mappings":{"default":{"default":"sans-serif 3"}},"key":"1D7E5"},{"category":"Nd","mappings":{"default":{"default":"sans-serif 4"}},"key":"1D7E6"},{"category":"Nd","mappings":{"default":{"default":"sans-serif 5"}},"key":"1D7E7"},{"category":"Nd","mappings":{"default":{"default":"sans-serif 6"}},"key":"1D7E8"},{"category":"Nd","mappings":{"default":{"default":"sans-serif 7"}},"key":"1D7E9"},{"category":"Nd","mappings":{"default":{"default":"sans-serif 8"}},"key":"1D7EA"},{"category":"Nd","mappings":{"default":{"default":"sans-serif 9"}},"key":"1D7EB"},{"category":"Nd","mappings":{"default":{"default":"sans-serif negrita 0"}},"key":"1D7EC"},{"category":"Nd","mappings":{"default":{"default":"sans-serif negrita 1"}},"key":"1D7ED"},{"category":"Nd","mappings":{"default":{"default":"sans-serif negrita 2"}},"key":"1D7EE"},{"category":"Nd","mappings":{"default":{"default":"sans-serif negrita 3"}},"key":"1D7EF"},{"category":"Nd","mappings":{"default":{"default":"sans-serif negrita 4"}},"key":"1D7F0"},{"category":"Nd","mappings":{"default":{"default":"sans-serif negrita 5"}},"key":"1D7F1"},{"category":"Nd","mappings":{"default":{"default":"sans-serif negrita 6"}},"key":"1D7F2"},{"category":"Nd","mappings":{"default":{"default":"sans-serif negrita 7"}},"key":"1D7F3"},{"category":"Nd","mappings":{"default":{"default":"sans-serif negrita 8"}},"key":"1D7F4"},{"category":"Nd","mappings":{"default":{"default":"sans-serif negrita 9"}},"key":"1D7F5"},{"category":"Nd","mappings":{"default":{"default":"monoespacio 0"}},"key":"1D7F6"},{"category":"Nd","mappings":{"default":{"default":"monoespacio 1"}},"key":"1D7F7"},{"category":"Nd","mappings":{"default":{"default":"monoespacio 2"}},"key":"1D7F8"},{"category":"Nd","mappings":{"default":{"default":"monoespacio 3"}},"key":"1D7F9"},{"category":"Nd","mappings":{"default":{"default":"monoespacio 4"}},"key":"1D7FA"},{"category":"Nd","mappings":{"default":{"default":"monoespacio 5"}},"key":"1D7FB"},{"category":"Nd","mappings":{"default":{"default":"monoespacio 6"}},"key":"1D7FC"},{"category":"Nd","mappings":{"default":{"default":"monoespacio 7"}},"key":"1D7FD"},{"category":"Nd","mappings":{"default":{"default":"monoespacio 8"}},"key":"1D7FE"},{"category":"Nd","mappings":{"default":{"default":"monoespacio 9"}},"key":"1D7FF"},{"category":"No","mappings":{"default":{"default":"0 punto"}},"key":"1F100"},{"category":"No","mappings":{"default":{"default":"0 coma"}},"key":"1F101"},{"category":"No","mappings":{"default":{"default":"1 coma"}},"key":"1F102"},{"category":"No","mappings":{"default":{"default":"2 coma"}},"key":"1F103"},{"category":"No","mappings":{"default":{"default":"3 coma"}},"key":"1F104"},{"category":"No","mappings":{"default":{"default":"4 coma"}},"key":"1F105"},{"category":"No","mappings":{"default":{"default":"5 coma"}},"key":"1F106"},{"category":"No","mappings":{"default":{"default":"6 coma"}},"key":"1F107"},{"category":"No","mappings":{"default":{"default":"7 coma"}},"key":"1F108"},{"category":"No","mappings":{"default":{"default":"8 coma"}},"key":"1F109"},{"category":"No","mappings":{"default":{"default":"9 coma"}},"key":"1F10A"}] diff --git a/assets/js/mathmaps/es/symbols/math_geometry.js b/assets/js/mathmaps/es/symbols/math_geometry.js new file mode 100644 index 0000000000000000000000000000000000000000..9c39f275fec932fd20d79357fb4c39d18e91f9cf --- /dev/null +++ b/assets/js/mathmaps/es/symbols/math_geometry.js @@ -0,0 +1 @@ +[{"locale":"es"},{"key":"2500","mappings":{"default":{"default":"delimitador horizontal"}},"category":"So"},{"key":"2502","mappings":{"default":{"default":"delimitador vertical"}},"category":"So"},{"key":"250C","mappings":{"default":{"default":"esquina inferior derecha"}},"category":"So"},{"key":"2510","mappings":{"default":{"default":"esquina inferior izquierda"}},"category":"So"},{"key":"2514","mappings":{"default":{"default":"esquina superior derecha"}},"category":"So"},{"key":"2518","mappings":{"default":{"default":"esquina superior izquierda"}},"category":"So"},{"key":"251C","mappings":{"default":{"default":"delimitador izquierdo y separador horizontal"}},"category":"So"},{"key":"2524","mappings":{"default":{"default":"delimitador derecho y separador horizontal"}},"category":"So"},{"key":"252C","mappings":{"default":{"default":"delimitador superior y separador vertical"}},"category":"So"},{"key":"2534","mappings":{"default":{"default":"delimitador inferior y separador vertical"}},"category":"So"},{"key":"253C","mappings":{"default":{"default":"cruce de separadores sencillos"}},"category":"So"},{"key":"2550","mappings":{"default":{"default":"delimitador horizontal doble"}},"category":"So"},{"key":"2551","mappings":{"default":{"default":"delimitador vertical doble"}},"category":"So"},{"key":"2552","mappings":{"default":{"default":"esquina inferior derecha, vertical doble"}},"category":"So"},{"key":"2553","mappings":{"default":{"default":"esquina inferior derecha, horizontal doble"}},"category":"So"},{"key":"2554","mappings":{"default":{"default":"esquina inferior derecha doble"}},"category":"So"},{"key":"2555","mappings":{"default":{"default":"esquina inferior izquierda, vertical doble"}},"category":"So"},{"key":"2556","mappings":{"default":{"default":"esquina inferior izquierda, horizontal doble"}},"category":"So"},{"key":"2557","mappings":{"default":{"default":"esquina inferior izquierda doble"}},"category":"So"},{"key":"2558","mappings":{"default":{"default":"esquina superior derecha, vertical doble"}},"category":"So"},{"key":"2559","mappings":{"default":{"default":"esquina superior derecha, horizontal doble"}},"category":"So"},{"key":"255A","mappings":{"default":{"default":"esquina superior derecha doble"}},"category":"So"},{"key":"255B","mappings":{"default":{"default":"esquina superior izquierda, vertical doble"}},"category":"So"},{"key":"255C","mappings":{"default":{"default":"esquina superior izquierda, horizontal doble"}},"category":"So"},{"key":"255D","mappings":{"default":{"default":"esquina superior izquierda doble"}},"category":"So"},{"key":"255E","mappings":{"default":{"default":"delimitador izquierdo con separador doble"}},"category":"So"},{"key":"255F","mappings":{"default":{"default":"delimitador izquierdo doble con separador horizontal"}},"category":"So"},{"key":"2560","mappings":{"default":{"default":"delimitador izquierdo y separador horizontal dobles"}},"category":"So"},{"key":"2561","mappings":{"default":{"default":"delimitador derecho con separador doble"}},"category":"So"},{"key":"2562","mappings":{"default":{"default":"delimitador derecho doble con separador horizontal"}},"category":"So"},{"key":"2563","mappings":{"default":{"default":"delimitador derecho y separador horizontal dobles"}},"category":"So"},{"key":"2564","mappings":{"default":{"default":"delimitador superior doble con separador vertical"}},"category":"So"},{"key":"2565","mappings":{"default":{"default":"delimitador superior con separador vertical doble"}},"category":"So"},{"key":"2566","mappings":{"default":{"default":"delimitador superior y separador vertical dobles"}},"category":"So"},{"key":"2567","mappings":{"default":{"default":"delimitador inferior doble con separador vertical"}},"category":"So"},{"key":"2568","mappings":{"default":{"default":"delimitador inferior con separador vertical doble"}},"category":"So"},{"key":"2569","mappings":{"default":{"default":"delimitador inferior y separador vertical dobles"}},"category":"So"},{"key":"256A","mappings":{"default":{"default":"cruce de separadores, vertical sencillo y horizontal doble"}},"category":"So"},{"key":"256B","mappings":{"default":{"default":"cruce de separadores, vertical doble y horizontal sencillo"}},"category":"So"},{"key":"256C","mappings":{"default":{"default":"cruce de separadores dobles"}},"category":"So"},{"key":"2580","mappings":{"default":{"default":"bloque mitad superior"}},"category":"So"},{"key":"2584","mappings":{"default":{"default":"bloque mitad inferior"}},"category":"So"},{"key":"2588","mappings":{"default":{"default":"bloque"}},"category":"So"},{"key":"2591","mappings":{"default":{"default":"sombra ligera"}},"category":"So"},{"key":"2592","mappings":{"default":{"default":"sombra media"}},"category":"So"},{"key":"2593","mappings":{"default":{"default":"sombra intensa"}},"category":"So"},{"key":"25A0","mappings":{"default":{"default":"cuadrado relleno"}},"category":"So"},{"key":"25A1","mappings":{"default":{"default":"cuadrado"}},"category":"So"},{"key":"25AA","mappings":{"default":{"default":"cuadrado relleno"}},"category":"So"},{"key":"25AB","mappings":{"default":{"default":"cuadrado"}},"category":"So"},{"key":"25AD","mappings":{"default":{"default":"rectángulo"}},"category":"So"},{"key":"25AE","mappings":{"default":{"default":"rectángulo relleno vertical"}},"category":"So"},{"key":"25AF","mappings":{"default":{"default":"rectángulo vertical"}},"category":"So"},{"key":"25B1","mappings":{"default":{"default":"paralelogramo"}},"category":"So"},{"key":"25B2","mappings":{"default":{"default":"triángulo relleno"}},"category":"So"},{"key":"25B3","mappings":{"default":{"default":"triángulo"}},"category":"So"},{"key":"25B4","mappings":{"default":{"default":"triángulo relleno"}},"category":"So"},{"key":"25B5","mappings":{"default":{"default":"triángulo"}},"category":"So"},{"key":"25B6","mappings":{"default":{"default":"triángulo relleno señala derecha"}},"category":"So"},{"key":"25B7","mappings":{"default":{"default":"triángulo señala derecha"}},"category":"Sm"},{"key":"25B8","mappings":{"default":{"default":"triángulo relleno señala derecha"}},"category":"So"},{"key":"25B9","mappings":{"default":{"default":"triángulo señala derecha"}},"category":"So"},{"key":"25BC","mappings":{"default":{"default":"triángulo relleno señala abajo"}},"category":"So"},{"key":"25BD","mappings":{"default":{"default":"triángulo señala abajo"}},"category":"So"},{"key":"25BE","mappings":{"default":{"default":"triángulo relleno señala abajo"}},"category":"So"},{"key":"25BF","mappings":{"default":{"default":"triángulo señala abajo"}},"category":"So"},{"key":"25C0","mappings":{"default":{"default":"triángulo relleno señala izquierda"}},"category":"So"},{"key":"25C1","mappings":{"default":{"default":"triángulo señala izquierda"}},"category":"Sm"},{"key":"25C2","mappings":{"default":{"default":"triángulo relleno señala izquierda"}},"category":"So"},{"key":"25C3","mappings":{"default":{"default":"triángulo señala izquierda"}},"category":"So"},{"key":"25C4","mappings":{"default":{"default":"puntero relleno señala izquierda"}},"category":"So"},{"key":"25C5","mappings":{"default":{"default":"puntero señala izquierda"}},"category":"So"},{"key":"25C6","mappings":{"default":{"default":"diamante relleno"}},"category":"So"},{"key":"25C7","mappings":{"default":{"default":"diamante"}},"category":"So"},{"key":"25C8","mappings":{"default":{"default":"diamante vacÃo contiene diamante relleno"}},"category":"So"},{"key":"25C9","mappings":{"default":{"default":"ojo de pez"}},"category":"So"},{"key":"25CA","mappings":{"default":{"default":"rombo"}},"category":"So"},{"key":"25CB","mappings":{"default":{"default":"cÃrculo vacÃo"}},"category":"So"},{"key":"25CC","mappings":{"default":{"default":"cÃrculo punteado"}},"category":"So"},{"key":"25CD","mappings":{"default":{"default":"cÃrculo con relleno vertical"}},"category":"So"},{"key":"25CE","mappings":{"default":{"default":"blanco"}},"category":"So"},{"key":"25CF","mappings":{"default":{"default":"cÃrculo relleno"}},"category":"So"},{"key":"25D0","mappings":{"default":{"default":"cÃrculo con mitad izquierda rellena"}},"category":"So"},{"key":"25D1","mappings":{"default":{"default":"cÃrculo con mitad derecha rellena"}},"category":"So"},{"key":"25D2","mappings":{"default":{"default":"cÃrculo con mitad inferior rellena"}},"category":"So"},{"key":"25D3","mappings":{"default":{"default":"cÃrculo con mitad superior rellena"}},"category":"So"},{"key":"25D4","mappings":{"default":{"default":"cÃrculo con cuadrante superior derecho relleno"}},"category":"So"},{"key":"25D5","mappings":{"default":{"default":"cÃrculo con cuadrante superior izquierdo relleno"}},"category":"So"},{"key":"25D6","mappings":{"default":{"default":"semicÃrculo izquierdo relleno"}},"category":"So"},{"key":"25D7","mappings":{"default":{"default":"semicÃrculo derecho relleno"}},"category":"So"},{"key":"25D8","mappings":{"default":{"default":"bullet inversa"}},"category":"So"},{"key":"25D9","mappings":{"default":{"default":"cÃrculo vacÃo inverso"}},"category":"So"},{"key":"25DA","mappings":{"default":{"default":"semicÃrculo superior vacÃo inverso"}},"category":"So"},{"key":"25DB","mappings":{"default":{"default":"semicÃrculo superior vacÃo inverso"}},"category":"So"},{"key":"25DC","mappings":{"default":{"default":"arco superior izquierda"}},"category":"So"},{"key":"25DD","mappings":{"default":{"default":"arco superior derecha"}},"category":"So"},{"key":"25DE","mappings":{"default":{"default":"arco inferior derecha"}},"category":"So"},{"key":"25DF","mappings":{"default":{"default":"arco inferior izquierda"}},"category":"So"},{"key":"25E0","mappings":{"default":{"default":"semicÃrculo superior"}},"category":"So"},{"key":"25E1","mappings":{"default":{"default":"semicÃrculo inferior"}},"category":"So"},{"key":"25E2","mappings":{"default":{"default":"triángulo inferior derecha relleno"}},"category":"So"},{"key":"25E3","mappings":{"default":{"default":"triángulo inferior izquierda relleno"}},"category":"So"},{"key":"25E4","mappings":{"default":{"default":"triángulo superior izquierda relleno"}},"category":"So"},{"key":"25E5","mappings":{"default":{"default":"triángulo superior derecha relleno"}},"category":"So"},{"key":"25E6","mappings":{"default":{"default":"composición"}},"category":"So"},{"key":"25E7","mappings":{"default":{"default":"cuadrado con mitad izquierda rellena"}},"category":"So"},{"key":"25E8","mappings":{"default":{"default":"cuadrado con mitad derecha rellena"}},"category":"So"},{"key":"25E9","mappings":{"default":{"default":"cuadrado con mitad superior izquierda rellena"}},"category":"So"},{"key":"25EA","mappings":{"default":{"default":"cuadrado con mitad inferior derecha rellena"}},"category":"So"},{"key":"25EB","mappings":{"default":{"default":"cuadrado con bisectriz"}},"category":"So"},{"key":"25EC","mappings":{"default":{"default":"triángulo vacÃo con punto"}},"category":"So"},{"key":"25ED","mappings":{"default":{"default":"triángulo apuntando arriba con mitad izquierda rellena"}},"category":"So"},{"key":"25EE","mappings":{"default":{"default":"triángulo apuntando arriba con mitad derecha rellena"}},"category":"So"},{"key":"25EF","mappings":{"default":{"default":"cÃrculo grande"}},"category":"So"},{"key":"25F8","mappings":{"default":{"default":"triángulo superior izquierda"}},"category":"Sm"},{"key":"25F9","mappings":{"default":{"default":"triángulo superior derecha"}},"category":"Sm"},{"key":"25FA","mappings":{"default":{"default":"triángulo inferior izquierda"}},"category":"Sm"},{"key":"25FB","mappings":{"default":{"default":"cuadrado mediano vacÃo"}},"category":"Sm"},{"key":"25FC","mappings":{"default":{"default":"cuadrado mediano relleno"}},"category":"Sm"},{"key":"25FD","mappings":{"default":{"default":"cuadrado mediano vacÃo"}},"category":"Sm"},{"key":"25FE","mappings":{"default":{"default":"cuadrado mediano relleno"}},"category":"Sm"},{"key":"25FF","mappings":{"default":{"default":"triángulo inferior derecha"}},"category":"Sm"},{"key":"2B50","mappings":{"default":{"default":"estrella media vacÃa"}},"category":"So"},{"key":"2B51","mappings":{"default":{"default":"estrella pequeña rellena"}},"category":"So"},{"key":"2B52","mappings":{"default":{"default":"estrella pequeña vacÃa"}},"category":"So"}] diff --git a/assets/js/mathmaps/es/symbols/math_harpoons.js b/assets/js/mathmaps/es/symbols/math_harpoons.js new file mode 100644 index 0000000000000000000000000000000000000000..89c27eab8ade0307f66d1b11c24221e0a4ad4777 --- /dev/null +++ b/assets/js/mathmaps/es/symbols/math_harpoons.js @@ -0,0 +1 @@ +[{"locale":"es"},{"key":"21BC","mappings":{"default":{"default":"flecha izquierda con arpón arriba"}},"category":"So"},{"key":"21BD","mappings":{"default":{"default":"flecha izquierda con arpón debajo"}},"category":"So"},{"key":"21BE","mappings":{"default":{"default":"flecha arriba con arpón derecho"}},"category":"So"},{"key":"21BF","mappings":{"default":{"default":"flecha arriba con arpón izquierdo"}},"category":"So"},{"key":"21C0","mappings":{"default":{"default":"flecha derecha con arpón arriba"}},"category":"So"},{"key":"21C1","mappings":{"default":{"default":"flecha derecha con arpón debajo"}},"category":"So"},{"key":"21C2","mappings":{"default":{"default":"flecha abajo con arpón derecho"}},"category":"So"},{"key":"21C3","mappings":{"default":{"default":"flecha abajo con arpón izquierdo"}},"category":"So"},{"key":"21CB","mappings":{"default":{"default":"arpón izquierdo arriba de arpón derecho"}},"category":"So"},{"key":"21CC","mappings":{"default":{"default":"arpón derecho arriba de arpón izquierdo"}},"category":"So"},{"key":"294A","mappings":{"default":{"default":"left barb up right barb down harpoon"}},"category":"Sm"},{"key":"294B","mappings":{"default":{"default":"left barb down right barb up harpoon"}},"category":"Sm"},{"key":"294E","mappings":{"default":{"default":"left barb up right barb up harpoon"}},"category":"Sm"},{"key":"294F","mappings":{"default":{"default":"arpón a la derecha hacia arriba y abajo"}},"category":"Sm"},{"key":"2950","mappings":{"default":{"default":"left barb down right barb down harpoon"}},"category":"Sm"},{"key":"2951","mappings":{"default":{"default":"arpón a la izquierda hacia arriba y abajo"}},"category":"Sm"},{"key":"2952","mappings":{"default":{"default":"leftwards harpoon to bar with barb upwards"}},"category":"Sm"},{"key":"2953","mappings":{"default":{"default":"rightwards harpoon to bar with barb upwards"}},"category":"Sm"},{"key":"2954","mappings":{"default":{"default":"upwards harpoon to bar with barb rightwards"}},"category":"Sm"},{"key":"2955","mappings":{"default":{"default":"downwards harpoon to bar with barb rightwards"}},"category":"Sm"},{"key":"2956","mappings":{"default":{"default":"leftwards harpoon to bar with barb downwards"}},"category":"Sm"},{"key":"2957","mappings":{"default":{"default":"rightwards harpoon to bar with barb downwards"}},"category":"Sm"},{"key":"2958","mappings":{"default":{"default":"upwards harpoon to bar with barb leftwards"}},"category":"Sm"},{"key":"2959","mappings":{"default":{"default":"downwards harpoon to bar with barb leftwards"}},"category":"Sm"},{"key":"295A","mappings":{"default":{"default":"leftwards harpoon from bar with barb upwards"}},"category":"Sm"},{"key":"295B","mappings":{"default":{"default":"rightwards harpoon from bar with barb upwards"}},"category":"Sm"},{"key":"295C","mappings":{"default":{"default":"upwards harpoon from bar with barb rightwards"}},"category":"Sm"},{"key":"295D","mappings":{"default":{"default":"downwards harpoon from bar with barb rightwards"}},"category":"Sm"},{"key":"295E","mappings":{"default":{"default":"leftwards harpoon from bar with barb downwards"}},"category":"Sm"},{"key":"295F","mappings":{"default":{"default":"rightwards harpoon from bar with barb downwards"}},"category":"Sm"},{"key":"2960","mappings":{"default":{"default":"upwards harpoon from bar with barb leftwards"}},"category":"Sm"},{"key":"2961","mappings":{"default":{"default":"downwards harpoon from bar with barb leftwards"}},"category":"Sm"},{"key":"2962","mappings":{"default":{"default":"leftwards harpoon with barb up above leftwards harpoon with barb down"}},"category":"Sm"},{"key":"2963","mappings":{"default":{"default":"upwards harpoon with barb left beside upwards harpoon with barb right"}},"category":"Sm"},{"key":"2964","mappings":{"default":{"default":"rightwards harpoon with barb up above rightwards harpoon with barb down"}},"category":"Sm"},{"key":"2965","mappings":{"default":{"default":"downwards harpoon with barb left beside downwards harpoon with barb right"}},"category":"Sm"},{"key":"2966","mappings":{"default":{"default":"leftwards harpoon with barb up above rightwards harpoon with barb up"}},"category":"Sm"},{"key":"2967","mappings":{"default":{"default":"leftwards harpoon with barb down above rightwards harpoon with barb down"}},"category":"Sm"},{"key":"2968","mappings":{"default":{"default":"rightwards harpoon with barb up above leftwards harpoon with barb up"}},"category":"Sm"},{"key":"2969","mappings":{"default":{"default":"rightwards harpoon with barb down above leftwards harpoon with barb down"}},"category":"Sm"},{"key":"296A","mappings":{"default":{"default":"barra con arpón hacia la izquierda"}},"category":"Sm"},{"key":"296B","mappings":{"default":{"default":"arpón hacia la izquierda con barra"}},"category":"Sm"},{"key":"296C","mappings":{"default":{"default":"barra con arpón hacia la derecha"}},"category":"Sm"},{"key":"296D","mappings":{"default":{"default":"arpón hacia la derecha con barra"}},"category":"Sm"},{"key":"296E","mappings":{"default":{"default":"upwards harpoon to the left of downwards harpoon"}},"category":"Sm"},{"key":"296F","mappings":{"default":{"default":"upwards harpoon to the right of downwards harpoon"}},"category":"Sm"},{"key":"297C","mappings":{"default":{"default":"left fish tail"}},"category":"Sm"},{"key":"297D","mappings":{"default":{"default":"right fish tail"}},"category":"Sm"},{"key":"297E","mappings":{"default":{"default":"barra con doble gancho"}},"category":"Sm"},{"key":"297F","mappings":{"default":{"default":"down fish tail"}},"category":"Sm"}] diff --git a/assets/js/mathmaps/es/symbols/math_non_characters.js b/assets/js/mathmaps/es/symbols/math_non_characters.js new file mode 100644 index 0000000000000000000000000000000000000000..78d2cf01ac5d7d903beb7cf0a1b5717bc44e0e34 --- /dev/null +++ b/assets/js/mathmaps/es/symbols/math_non_characters.js @@ -0,0 +1 @@ +[{"locale":"es"},{"key":"210F","mappings":{"default":{"default":"h barra"}},"category":"Ll"},{"key":"2116","mappings":{"default":{"default":"signo de número"}},"category":"So"},{"key":"2117","mappings":{"default":{"default":"derechos de autor de sonido"}},"category":"So"},{"key":"211E","mappings":{"default":{"default":"receta"}},"category":"So"},{"key":"2122","mappings":{"default":{"default":"registrado"}},"category":"So"},{"key":"2125","mappings":{"default":{"default":"onza"}},"category":"So"},{"key":"2126","mappings":{"default":{"default":"ohmio"}},"category":"Lu"},{"key":"2127","mappings":{"default":{"default":"ohmio invertido"}},"category":"So"},{"key":"212A","mappings":{"default":{"default":"grados kelvin"}},"category":"Lu"},{"key":"212B","mappings":{"default":{"default":"angstrom"}},"category":"Lu"},{"key":"2132","mappings":{"default":{"default":"mayúscula F invertida"}},"category":"Lu"}] diff --git a/assets/js/mathmaps/es/symbols/math_symbols.js b/assets/js/mathmaps/es/symbols/math_symbols.js new file mode 100644 index 0000000000000000000000000000000000000000..47a7095680702722507a2ccc1f6cbfdde98e7a33 --- /dev/null +++ b/assets/js/mathmaps/es/symbols/math_symbols.js @@ -0,0 +1 @@ +[{"locale":"es"},{"key":"0021","mappings":{"default":{"default":"factorial"}},"category":"Po"},{"key":"0022","mappings":{"default":{"default":"comillas"}},"category":"Po"},{"key":"0023","mappings":{"default":{"default":"almuhadilla","defaultMP":"signo de número"}},"category":"Po"},{"key":"0024","mappings":{"default":{"default":"dólar"}},"category":"Sc"},{"key":"0025","mappings":{"default":{"default":"porciento"}},"category":"Po"},{"key":"0026","mappings":{"default":{"default":"ampersand"}},"category":"Po"},{"key":"0027","mappings":{"default":{"default":"prima","defaultMP":"apóstrofo"}},"category":"Po"},{"key":"002A","mappings":{"default":{"default":"por"}},"category":"Po"},{"key":"002B","mappings":{"default":{"default":"más"}},"category":"Sm"},{"key":"002C","mappings":{"default":{"default":"coma"}},"category":"Po"},{"key":"002D","mappings":{"default":{"default":"menos"}},"category":"Pd"},{"key":"002E","mappings":{"default":{"default":"punto"}},"category":"Po"},{"key":"002F","mappings":{"default":{"default":"barra oblicua"}},"category":"Po"},{"key":"003A","mappings":{"default":{"default":"dos puntos"}},"category":"Po"},{"key":"003B","mappings":{"default":{"default":"punto y coma"}},"category":"Po"},{"key":"003C","mappings":{"default":{"default":"menor que"}},"category":"Sm"},{"key":"003D","mappings":{"default":{"default":"igual"}},"category":"Sm"},{"key":"003E","mappings":{"default":{"default":"mayor que"}},"category":"Sm"},{"key":"003F","mappings":{"default":{"default":"interrogación derecho","defaultMP":"cierra interrogación"}},"category":"Po"},{"key":"0040","mappings":{"default":{"default":"arroba"}},"category":"Po"},{"key":"005C","mappings":{"default":{"default":"barra inversa"}},"category":"Po"},{"key":"005E","mappings":{"default":{"default":"circunflejo"}},"category":"Sk"},{"key":"005F","mappings":{"default":{"default":"subrayado"}},"category":"Pc"},{"key":"0060","mappings":{"default":{"default":"acento grave"}},"category":"Sk"},{"key":"007C","mappings":{"default":{"default":"barra vertical"}},"category":"Sm"},{"key":"007E","mappings":{"default":{"default":"tilde"}},"category":"Sm"},{"key":"00A1","mappings":{"default":{"default":"admiración izquierdo","defaultMP":"abre admiración"}},"category":"Po"},{"key":"00A2","mappings":{"default":{"default":"centavo"}},"category":"Sc"},{"key":"00A3","mappings":{"default":{"default":"libra esterlina"}},"category":"Sc"},{"key":"00A4","mappings":{"default":{"default":"moneda"}},"category":"Sc"},{"key":"00A5","mappings":{"default":{"default":"yen"}},"category":"Sc"},{"key":"00A6","mappings":{"default":{"default":"barra vertical partida"}},"category":"So"},{"key":"00A7","mappings":{"default":{"default":"sección"}},"category":"Po"},{"key":"00A8","mappings":{"default":{"default":"diéresis"}},"category":"Sk"},{"key":"00A9","mappings":{"default":{"default":"copyright"}},"category":"So"},{"key":"00AA","mappings":{"default":{"default":"ordinal femenino"}},"category":"Lo"},{"key":"00AB","mappings":{"default":{"default":"comillas angulares izquierda","defaultMP":"abre comillas angulares"}},"category":"Pi"},{"key":"00AC","mappings":{"default":{"default":"negación"}},"category":"Sm"},{"key":"00AE","mappings":{"default":{"default":"registrado"}},"category":"So"},{"key":"00AF","mappings":{"default":{"default":"barra"}},"category":"Sk"},{"key":"00B0","mappings":{"default":{"default":"grado"}},"category":"So"},{"key":"00B1","mappings":{"default":{"default":"más menos"}},"category":"Sm"},{"key":"00B4","mappings":{"default":{"default":"acento agudo"}},"category":"Sk"},{"key":"00B5","mappings":{"default":{"default":"micro"}},"category":"Ll"},{"key":"00B6","mappings":{"default":{"default":"párrafo"}},"category":"Po"},{"key":"00B7","mappings":{"default":{"default":"punto medio"}},"category":"Po"},{"key":"00B8","mappings":{"default":{"default":"cedilla"}},"category":"Sk"},{"key":"00BA","mappings":{"default":{"default":"ordinal masculino"}},"category":"Lo"},{"key":"00BB","mappings":{"default":{"default":"comillas angulares derecha","defaultMP":"cierra comillas angulares"}},"category":"Pf"},{"key":"00BF","mappings":{"default":{"default":"interrogación izquierdo","defaultMP":"abre interrogación"}},"category":"Po"},{"key":"00D7","mappings":{"default":{"default":"por"}},"category":"Sm"},{"key":"00F7","mappings":{"default":{"default":"dividido"}},"category":"Sm"},{"key":"02D8","mappings":{"default":{"default":"breve"}},"category":"Sk"},{"key":"02D9","mappings":{"default":{"default":"punto en superescrito"}},"category":"Sk"},{"key":"02DA","mappings":{"default":{"default":"anillo en superescrito"}},"category":"Sk"},{"key":"02DB","mappings":{"default":{"default":"ogonek"}},"category":"Sk"},{"key":"02DC","mappings":{"default":{"default":"tilde"}},"category":"Sk"},{"key":"02DD","mappings":{"default":{"default":"doble acento agudo"}},"category":"Sk"},{"key":"2010","mappings":{"default":{"default":"menos"}},"category":"Pd"},{"key":"2013","mappings":{"default":{"default":"en raya"}},"category":"Pd"},{"key":"2014","mappings":{"default":{"default":"em raya"}},"category":"Pd"},{"key":"2015","mappings":{"default":{"default":"barra horizontal"}},"category":"Pd"},{"key":"2016","mappings":{"default":{"default":"doble barra vertical"}},"category":"Po"},{"key":"2018","mappings":{"default":{"default":"comilla izquierda"}},"category":"Pi"},{"key":"2019","mappings":{"default":{"default":"comilla derecha"}},"category":"Pf"},{"key":"201A","mappings":{"default":{"default":"comilla bajo 9"}},"category":"Ps"},{"key":"201C","mappings":{"default":{"default":"doble comilla"}},"category":"Pi"},{"key":"201D","mappings":{"default":{"default":"doble comilla derecha"}},"category":"Pf"},{"key":"201E","mappings":{"default":{"default":"doble comilla bajo 9"}},"category":"Ps"},{"key":"2020","mappings":{"default":{"default":"daga"}},"category":"Po"},{"key":"2021","mappings":{"default":{"default":"doble daga"}},"category":"Po"},{"key":"2022","mappings":{"default":{"default":"bala"}},"category":"Po"},{"key":"2025","mappings":{"default":{"default":"dos puntos lÃder"}},"category":"Po"},{"key":"2026","mappings":{"default":{"default":"puntos suspensivos"}},"category":"Po"},{"key":"2030","mappings":{"default":{"default":"tanto por millar"}},"category":"Po"},{"key":"2031","mappings":{"default":{"default":"tanto por diez mil"}},"category":"Po"},{"key":"2032","mappings":{"default":{"default":"prima"}},"category":"Po"},{"key":"2033","mappings":{"default":{"default":"segunda"}},"category":"Po"},{"key":"2034","mappings":{"default":{"default":"tercera"}},"category":"Po"},{"key":"2035","mappings":{"default":{"default":"acento grave"}},"category":"Po"},{"key":"2036","mappings":{"default":{"default":"doble acento grave"}},"category":"Po"},{"key":"2039","mappings":{"default":{"default":"comillas izquierda","defaultMP":"abre comillas"}},"category":"Pi"},{"key":"203A","mappings":{"default":{"default":"comillas derecha","defaultMP":"cierra comillas"}},"category":"Pf"},{"key":"203E","mappings":{"default":{"default":"barra superior"}},"category":"Po"},{"key":"2040","mappings":{"default":{"default":"ligadura"}},"category":"Pc"},{"key":"2041","mappings":{"default":{"default":"punto de inserción"}},"category":"Po"},{"key":"2043","mappings":{"default":{"default":"guión bala"}},"category":"Po"},{"key":"2044","mappings":{"default":{"default":"barra de fracción"}},"category":"Sm"},{"key":"204F","mappings":{"default":{"default":"punto y coma invertido"}},"category":"Po"},{"key":"2050","mappings":{"default":{"default":"cierre superior"}},"category":"Po"},{"key":"2057","mappings":{"default":{"default":"cuarta"}},"category":"Po"},{"key":"2200","mappings":{"default":{"default":"para todo"}},"category":"Sm"},{"key":"2201","mappings":{"default":{"default":"complementario"}},"category":"Sm"},{"key":"2202","mappings":{"default":{"default":"derivada parcial"}},"category":"Sm"},{"key":"2203","mappings":{"default":{"default":"existe"}},"category":"Sm"},{"key":"2204","mappings":{"default":{"default":"no existe"}},"category":"Sm"},{"key":"2205","mappings":{"default":{"default":"conjunto vacÃo"}},"category":"Sm"},{"key":"2206","mappings":{"default":{"default":"incremento"}},"category":"Sm"},{"key":"2207","mappings":{"default":{"default":"gradiente"}},"category":"Sm"},{"key":"2208","mappings":{"default":{"default":"perteneciente a"}},"category":"Sm"},{"key":"2209","mappings":{"default":{"default":"no perteneciente a"}},"category":"Sm"},{"key":"220A","mappings":{"default":{"default":"perteneciente a"}},"category":"Sm"},{"key":"220B","mappings":{"default":{"default":"comprende a"}},"category":"Sm"},{"key":"220C","mappings":{"default":{"default":"no comprende a"}},"category":"Sm"},{"key":"220D","mappings":{"default":{"default":"comprende a"}},"category":"Sm"},{"key":"220E","mappings":{"default":{"default":"fin de demostración"}},"category":"Sm"},{"key":"220F","mappings":{"default":{"default":"producto"}},"category":"Sm"},{"key":"2210","mappings":{"default":{"default":"coproducto"}},"category":"Sm"},{"key":"2211","mappings":{"default":{"default":"sumatorio"}},"category":"Sm"},{"key":"2212","mappings":{"default":{"default":"menos"}},"category":"Sm"},{"key":"2213","mappings":{"default":{"default":"menos más"}},"category":"Sm"},{"key":"2214","mappings":{"default":{"default":"punto más"}},"category":"Sm"},{"key":"2215","mappings":{"default":{"default":"barra de división"}},"category":"Sm"},{"key":"2216","mappings":{"default":{"default":"menos"}},"category":"Sm"},{"key":"2217","mappings":{"default":{"default":"asterisco"}},"category":"Sm"},{"key":"2218","mappings":{"default":{"default":"composición"}},"category":"Sm"},{"key":"2219","mappings":{"default":{"default":"bala"}},"category":"Sm"},{"key":"221A","mappings":{"default":{"default":"raÃz"}},"category":"Sm"},{"key":"221B","mappings":{"default":{"default":"raÃz cúbica"}},"category":"Sm"},{"key":"221C","mappings":{"default":{"default":"raÃz cuarta"}},"category":"Sm"},{"key":"221D","mappings":{"default":{"default":"proporcional a"}},"category":"Sm"},{"key":"221E","mappings":{"default":{"default":"infinito"}},"category":"Sm"},{"key":"221F","mappings":{"default":{"default":"ángulo recto"}},"category":"Sm"},{"key":"2220","mappings":{"default":{"default":"ángulo"}},"category":"Sm"},{"key":"2221","mappings":{"default":{"default":"ángulo medido"}},"category":"Sm"},{"key":"2222","mappings":{"default":{"default":"ángulo esférico"}},"category":"Sm"},{"key":"2223","mappings":{"default":{"default":"divide a"}},"category":"Sm"},{"key":"2224","mappings":{"default":{"default":"no divide a"}},"category":"Sm"},{"key":"2225","mappings":{"default":{"default":"paralela a"}},"category":"Sm"},{"key":"2226","mappings":{"default":{"default":"no paralela a"}},"category":"Sm"},{"key":"2227","mappings":{"default":{"default":"y"}},"category":"Sm"},{"key":"2228","mappings":{"default":{"default":"o"}},"category":"Sm"},{"key":"2229","mappings":{"default":{"default":"intersección"}},"category":"Sm"},{"key":"222A","mappings":{"default":{"default":"unión"}},"category":"Sm"},{"key":"222B","mappings":{"default":{"default":"integral"}},"category":"Sm"},{"key":"222C","mappings":{"default":{"default":"integral doble"}},"category":"Sm"},{"key":"222D","mappings":{"default":{"default":"integral triple"}},"category":"Sm"},{"key":"222E","mappings":{"default":{"default":"integral de contorno"}},"category":"Sm"},{"key":"222F","mappings":{"default":{"default":"integral de superficie"}},"category":"Sm"},{"key":"2230","mappings":{"default":{"default":"integral de volumen"}},"category":"Sm"},{"key":"2231","mappings":{"default":{"default":"integral de contorno en sentido horario"}},"category":"Sm"},{"key":"2232","mappings":{"default":{"default":"integral de contorno en sentido horario"}},"category":"Sm"},{"key":"2233","mappings":{"default":{"default":"integral de contorno en sentido antihorario"}},"category":"Sm"},{"key":"2234","mappings":{"default":{"default":"por lo tanto"}},"category":"Sm"},{"key":"2235","mappings":{"default":{"default":"porque"}},"category":"Sm"},{"key":"2236","mappings":{"default":{"default":"razón"}},"category":"Sm"},{"key":"2237","mappings":{"default":{"default":"proporción"}},"category":"Sm"},{"key":"2238","mappings":{"default":{"default":"punto menos"}},"category":"Sm"},{"key":"2239","mappings":{"default":{"default":"exceso"}},"category":"Sm"},{"key":"223A","mappings":{"default":{"default":"proporción geométrica"}},"category":"Sm"},{"key":"223B","mappings":{"default":{"default":"homotecia"}},"category":"Sm"},{"key":"223C","mappings":{"default":{"default":"tilde"}},"category":"Sm"},{"key":"223D","mappings":{"default":{"default":"tilde invertido"}},"category":"Sm"},{"key":"223E","mappings":{"default":{"default":"s horizontal invertida"}},"category":"Sm"},{"key":"223F","mappings":{"default":{"default":"sinusoide"}},"category":"Sm"},{"key":"2240","mappings":{"default":{"default":"producto de guirnalda"}},"category":"Sm"},{"key":"2241","mappings":{"default":{"default":"no tilde"}},"category":"Sm"},{"key":"2242","mappings":{"default":{"default":"menos tilde"}},"category":"Sm"},{"key":"2243","mappings":{"default":{"default":"asintóticamente igual a"}},"category":"Sm"},{"key":"2244","mappings":{"default":{"default":"no asintóticamente igual a"}},"category":"Sm"},{"key":"2245","mappings":{"default":{"default":"aproximadamente igual a"}},"category":"Sm"},{"key":"2246","mappings":{"default":{"default":"aproximado pero no igual a"}},"category":"Sm"},{"key":"2247","mappings":{"default":{"default":"no aproximado a"}},"category":"Sm"},{"key":"2248","mappings":{"default":{"default":"aproximado","defaultMP":"casi igual a"}},"category":"Sm"},{"key":"2249","mappings":{"default":{"default":"no es casi igual a"}},"category":"Sm"},{"key":"224A","mappings":{"default":{"default":"igual o casi igual a"}},"category":"Sm"},{"key":"224B","mappings":{"default":{"default":"triple tilde"}},"category":"Sm"},{"key":"224C","mappings":{"default":{"default":"todo igual a"}},"category":"Sm"},{"key":"224D","mappings":{"default":{"default":"equivalente a"}},"category":"Sm"},{"key":"224E","mappings":{"default":{"default":"geométricamente equivalente a"}},"category":"Sm"},{"key":"224F","mappings":{"default":{"default":"diferencia entre"}},"category":"Sm"},{"key":"2250","mappings":{"default":{"default":"se acerca al lÃmite"}},"category":"Sm"},{"key":"2251","mappings":{"default":{"default":"geométricamente igual a"}},"category":"Sm"},{"key":"2252","mappings":{"default":{"default":"aproximadamente igual a o imagen de"}},"category":"Sm"},{"key":"2253","mappings":{"default":{"default":"imagen de o aproximadamente igual a"}},"category":"Sm"},{"key":"2254","mappings":{"default":{"default":"dos puntos igual"}},"category":"Sm"},{"key":"2255","mappings":{"default":{"default":"igual dos puntos"}},"category":"Sm"},{"key":"2256","mappings":{"default":{"default":"igual incluyendo anillo"}},"category":"Sm"},{"key":"2257","mappings":{"default":{"default":"igual anillo a"}},"category":"Sm"},{"key":"2258","mappings":{"default":{"default":"corresponde a"}},"category":"Sm"},{"key":"2259","mappings":{"default":{"default":"estima a"}},"category":"Sm"},{"key":"225A","mappings":{"default":{"default":"equiangular con"}},"category":"Sm"},{"key":"225B","mappings":{"default":{"default":"igual con estrella"}},"category":"Sm"},{"key":"225C","mappings":{"default":{"default":"igual con delta"}},"category":"Sm"},{"key":"225D","mappings":{"default":{"default":"igual por definición a"}},"category":"Sm"},{"key":"225E","mappings":{"default":{"default":"medido por"}},"category":"Sm"},{"key":"225F","mappings":{"default":{"default":"igual con interrogante"}},"category":"Sm"},{"key":"2260","mappings":{"default":{"default":"no es igual a","defaultMP":"distinto de"}},"category":"Sm"},{"key":"2261","mappings":{"default":{"default":"idéntico a"}},"category":"Sm"},{"key":"2262","mappings":{"default":{"default":"no es idéntico a"}},"category":"Sm"},{"key":"2263","mappings":{"default":{"default":"estrictamente equivalente a"}},"category":"Sm"},{"key":"2264","mappings":{"default":{"default":"menor o igual que"}},"category":"Sm"},{"key":"2265","mappings":{"default":{"default":"mayor o igual que"}},"category":"Sm"},{"key":"2266","mappings":{"default":{"default":"menor o igual que"}},"category":"Sm"},{"key":"2267","mappings":{"default":{"default":"mayor o igual que"}},"category":"Sm"},{"key":"2268","mappings":{"default":{"default":"estrictamente menor que"}},"category":"Sm"},{"key":"2269","mappings":{"default":{"default":"estrictamente mayor que"}},"category":"Sm"},{"key":"226A","mappings":{"default":{"default":"mucho menor que"}},"category":"Sm"},{"key":"226B","mappings":{"default":{"default":"mucho mayor que"}},"category":"Sm"},{"key":"226C","mappings":{"default":{"default":"entre"}},"category":"Sm"},{"key":"226D","mappings":{"default":{"default":"no equivalente a"}},"category":"Sm"},{"key":"226E","mappings":{"default":{"default":"no menor que"}},"category":"Sm"},{"key":"226F","mappings":{"default":{"default":"no mayor que"}},"category":"Sm"},{"key":"2270","mappings":{"default":{"default":"no menor ni igual a"}},"category":"Sm"},{"key":"2271","mappings":{"default":{"default":"no mayor ni igual a"}},"category":"Sm"},{"key":"2272","mappings":{"default":{"default":"menor o equivalente a"}},"category":"Sm"},{"key":"2273","mappings":{"default":{"default":"mayor o equivalente a"}},"category":"Sm"},{"key":"2274","mappings":{"default":{"default":"no menor ni equivalente a"}},"category":"Sm"},{"key":"2275","mappings":{"default":{"default":"no mayor ni equivalente a"}},"category":"Sm"},{"key":"2276","mappings":{"default":{"default":"menor o mayor que"}},"category":"Sm"},{"key":"2277","mappings":{"default":{"default":"mayor o menor que"}},"category":"Sm"},{"key":"2278","mappings":{"default":{"default":"no menor ni mayor que"}},"category":"Sm"},{"key":"2279","mappings":{"default":{"default":"no mayor ni menor que"}},"category":"Sm"},{"key":"227A","mappings":{"default":{"default":"precede a"}},"category":"Sm"},{"key":"227B","mappings":{"default":{"default":"sigue a"}},"category":"Sm"},{"key":"227C","mappings":{"default":{"default":"precede o es igual a"}},"category":"Sm"},{"key":"227D","mappings":{"default":{"default":"sigue o es igual a"}},"category":"Sm"},{"key":"227E","mappings":{"default":{"default":"precede o es equivalente a"}},"category":"Sm"},{"key":"227F","mappings":{"default":{"default":"sigue o es equivalente a"}},"category":"Sm"},{"key":"2280","mappings":{"default":{"default":"no precede a"}},"category":"Sm"},{"key":"2281","mappings":{"default":{"default":"no sigue a"}},"category":"Sm"},{"key":"2282","mappings":{"default":{"default":"incluido en"}},"category":"Sm"},{"key":"2283","mappings":{"default":{"default":"contiene a"}},"category":"Sm"},{"key":"2284","mappings":{"default":{"default":"no incluido en"}},"category":"Sm"},{"key":"2285","mappings":{"default":{"default":"no contiene a"}},"category":"Sm"},{"key":"2286","mappings":{"default":{"default":"incluido o igual a"}},"category":"Sm"},{"key":"2287","mappings":{"default":{"default":"contiene o es igual a"}},"category":"Sm"},{"key":"2288","mappings":{"default":{"default":"no incluido ni igual a"}},"category":"Sm"},{"key":"2289","mappings":{"default":{"default":"no contiene ni es igual a"}},"category":"Sm"},{"key":"228A","mappings":{"default":{"default":"incluido estrictamente en"}},"category":"Sm"},{"key":"228B","mappings":{"default":{"default":"contiene estrictamente a"}},"category":"Sm"},{"key":"228C","mappings":{"default":{"default":"familia de conjuntos"}},"category":"Sm"},{"key":"228D","mappings":{"default":{"default":"producto de familia de conjuntos"}},"category":"Sm"},{"key":"228E","mappings":{"default":{"default":"unión de familia de conjuntos"}},"category":"Sm"},{"key":"228F","mappings":{"default":{"default":"imagen cuadrada de"}},"category":"Sm"},{"key":"2290","mappings":{"default":{"default":"original cuadrado de"}},"category":"Sm"},{"key":"2291","mappings":{"default":{"default":"imagen cuadrada de o igual a"}},"category":"Sm"},{"key":"2292","mappings":{"default":{"default":"original cuadrado de o igual a"}},"category":"Sm"},{"key":"2293","mappings":{"default":{"default":"intersección cuadrada"}},"category":"Sm"},{"key":"2294","mappings":{"default":{"default":"unión cuadrada"}},"category":"Sm"},{"key":"2295","mappings":{"default":{"default":"más en cÃrculo"}},"category":"Sm"},{"key":"2296","mappings":{"default":{"default":"menos en cÃrculo"}},"category":"Sm"},{"key":"2297","mappings":{"default":{"default":"por en cÃrculo"}},"category":"Sm"},{"key":"2298","mappings":{"default":{"default":"barra en cÃrculo"}},"category":"Sm"},{"key":"2299","mappings":{"default":{"default":"punto en cÃrculo"}},"category":"Sm"},{"key":"229A","mappings":{"default":{"default":"anillo en cÃrculo"}},"category":"Sm"},{"key":"229B","mappings":{"default":{"default":"asterisco en cÃrculo"}},"category":"Sm"},{"key":"229C","mappings":{"default":{"default":"igual en cÃrculo"}},"category":"Sm"},{"key":"229D","mappings":{"default":{"default":"menos en cÃrculo"}},"category":"Sm"},{"key":"229E","mappings":{"default":{"default":"más en cuadrado"}},"category":"Sm"},{"key":"229F","mappings":{"default":{"default":"menos en cuadrado"}},"category":"Sm"},{"key":"22A0","mappings":{"default":{"default":"veces en cuadrado"}},"category":"Sm"},{"key":"22A1","mappings":{"default":{"default":"punto en cuadrado"}},"category":"Sm"},{"key":"22A2","mappings":{"default":{"default":"t horizontal hacia la izquierda"}},"category":"Sm"},{"key":"22A3","mappings":{"default":{"default":"t horizontal hacia la derecha"}},"category":"Sm"},{"key":"22A4","mappings":{"default":{"default":"perpendicular"}},"category":"Sm"},{"key":"22A5","mappings":{"default":{"default":"perpendicular invertida"}},"category":"Sm"},{"key":"22A6","mappings":{"default":{"default":"afirmación"}},"category":"Sm"},{"key":"22A7","mappings":{"default":{"default":"modela"}},"category":"Sm"},{"key":"22A8","mappings":{"default":{"default":"verdadero"}},"category":"Sm"},{"key":"22A9","mappings":{"default":{"default":"obliga"}},"category":"Sm"},{"key":"22AA","mappings":{"default":{"default":"triple barra vertical torniquete derecho"}},"category":"Sm"},{"key":"22AB","mappings":{"default":{"default":"doble barra vertical doble torniquete derecho"}},"category":"Sm"},{"key":"22AC","mappings":{"default":{"default":"no prueba"}},"category":"Sm"},{"key":"22AD","mappings":{"default":{"default":"falso"}},"category":"Sm"},{"key":"22AE","mappings":{"default":{"default":"no obliga"}},"category":"Sm"},{"key":"22AF","mappings":{"default":{"default":"doble barra vertical doble torniquete derecho negada"}},"category":"Sm"},{"key":"22B0","mappings":{"default":{"default":"precede respecto de"}},"category":"Sm"},{"key":"22B1","mappings":{"default":{"default":"sigue respecto de"}},"category":"Sm"},{"key":"22B2","mappings":{"default":{"default":"subgrupo normal de"}},"category":"Sm"},{"key":"22B3","mappings":{"default":{"default":"contiene como subgrupo normal a"}},"category":"Sm"},{"key":"22B4","mappings":{"default":{"default":"subgrupo normal o es igual a"}},"category":"Sm"},{"key":"22B5","mappings":{"default":{"default":"contiene como subgrupo normal o es igual a"}},"category":"Sm"},{"key":"22B6","mappings":{"default":{"default":"original de"}},"category":"Sm"},{"key":"22B7","mappings":{"default":{"default":"imagen de"}},"category":"Sm"},{"key":"22B8","mappings":{"default":{"default":"multifunción"}},"category":"Sm"},{"key":"22B9","mappings":{"default":{"default":"matriz hermitiana conjugada"}},"category":"Sm"},{"key":"22BA","mappings":{"default":{"default":"interpola"}},"category":"Sm"},{"key":"22BB","mappings":{"default":{"default":"o excluyente"}},"category":"Sm"},{"key":"22BC","mappings":{"default":{"default":"no y"}},"category":"Sm"},{"key":"22BD","mappings":{"default":{"default":"no o"}},"category":"Sm"},{"key":"22BF","mappings":{"default":{"default":"triángulo rectángulo"}},"category":"Sm"},{"key":"22C0","mappings":{"default":{"default":"y"}},"category":"Sm"},{"key":"22C1","mappings":{"default":{"default":"o"}},"category":"Sm"},{"key":"22C2","mappings":{"default":{"default":"intersección"}},"category":"Sm"},{"key":"22C3","mappings":{"default":{"default":"unión"}},"category":"Sm"},{"key":"22C4","mappings":{"default":{"default":"operador diamante"}},"category":"Sm"},{"key":"22C5","mappings":{"default":{"default":"punto"}},"category":"Sm"},{"key":"22C6","mappings":{"default":{"default":"estrella"}},"category":"Sm"},{"key":"22C7","mappings":{"default":{"default":"dividido por"}},"category":"Sm"},{"key":"22C8","mappings":{"default":{"default":"moño"}},"category":"Sm"},{"key":"22C9","mappings":{"default":{"default":"factor normal izquierdo producto semidirecto"}},"category":"Sm"},{"key":"22CA","mappings":{"default":{"default":"factor normal derecho producto semidirecto"}},"category":"Sm"},{"key":"22CB","mappings":{"default":{"default":"producto semidirecto izquierdo"}},"category":"Sm"},{"key":"22CC","mappings":{"default":{"default":"producto semidirecto derecho"}},"category":"Sm"},{"key":"22CD","mappings":{"default":{"default":"tilde invertida igual a"}},"category":"Sm"},{"key":"22CE","mappings":{"default":{"default":"o rizada"}},"category":"Sm"},{"key":"22CF","mappings":{"default":{"default":"y rizada"}},"category":"Sm"},{"key":"22D0","mappings":{"default":{"default":"doble incluido"}},"category":"Sm"},{"key":"22D1","mappings":{"default":{"default":"doble contiene"}},"category":"Sm"},{"key":"22D2","mappings":{"default":{"default":"doble intersección"}},"category":"Sm"},{"key":"22D3","mappings":{"default":{"default":"doble unión"}},"category":"Sm"},{"key":"22D4","mappings":{"default":{"default":"bieldo"}},"category":"Sm"},{"key":"22D5","mappings":{"default":{"default":"paralela o igual a"}},"category":"Sm"},{"key":"22D6","mappings":{"default":{"default":"menor que con punto"}},"category":"Sm"},{"key":"22D7","mappings":{"default":{"default":"mayor que con punto"}},"category":"Sm"},{"key":"22D8","mappings":{"default":{"default":"mucho menor que"}},"category":"Sm"},{"key":"22D9","mappings":{"default":{"default":"mucho mayor que"}},"category":"Sm"},{"key":"22DA","mappings":{"default":{"default":"menor igual o mayor que"}},"category":"Sm"},{"key":"22DB","mappings":{"default":{"default":"mayor igual o menor que"}},"category":"Sm"},{"key":"22DC","mappings":{"default":{"default":"menor o igual que"}},"category":"Sm"},{"key":"22DD","mappings":{"default":{"default":"mayor o igual que"}},"category":"Sm"},{"key":"22DE","mappings":{"default":{"default":"precede o es igual a"}},"category":"Sm"},{"key":"22DF","mappings":{"default":{"default":"sigue o es igual a"}},"category":"Sm"},{"key":"22E0","mappings":{"default":{"default":"no precede ni es igual a"}},"category":"Sm"},{"key":"22E1","mappings":{"default":{"default":"no sigue ni es igual a"}},"category":"Sm"},{"key":"22E2","mappings":{"default":{"default":"no es imagen cuadrada ni igual a"}},"category":"Sm"},{"key":"22E3","mappings":{"default":{"default":"no es original cuadrada ni igual a"}},"category":"Sm"},{"key":"22E4","mappings":{"default":{"default":"imagen cuadrada estricta"}},"category":"Sm"},{"key":"22E5","mappings":{"default":{"default":"original cuadrada estricta"}},"category":"Sm"},{"key":"22E6","mappings":{"default":{"default":"menor que no equivalente a"}},"category":"Sm"},{"key":"22E7","mappings":{"default":{"default":"mayor que no equivalente a"}},"category":"Sm"},{"key":"22E8","mappings":{"default":{"default":"precede no equivalente a"}},"category":"Sm"},{"key":"22E9","mappings":{"default":{"default":"sigue no equivalente a"}},"category":"Sm"},{"key":"22EA","mappings":{"default":{"default":"no subgrupo normal de"}},"category":"Sm"},{"key":"22EB","mappings":{"default":{"default":"no contiene como subgrupo normal a"}},"category":"Sm"},{"key":"22EC","mappings":{"default":{"default":"no es subgrupo normal ni igual a"}},"category":"Sm"},{"key":"22ED","mappings":{"default":{"default":"no contiene como subgrupo normal ni es igual a"}},"category":"Sm"},{"key":"22EE","mappings":{"default":{"default":"puntos suspensivos verticales"}},"category":"Sm"},{"key":"22EF","mappings":{"default":{"default":"puntos suspensivos altos"}},"category":"Sm"},{"key":"22F0","mappings":{"default":{"default":"puntos suspensivos diagonales subiendo"}},"category":"Sm"},{"key":"22F1","mappings":{"default":{"default":"puntos suspensivos diagonales bajando"}},"category":"Sm"},{"key":"22F2","mappings":{"default":{"default":"pertenece con trazo horizontal"}},"category":"Sm"},{"key":"22F3","mappings":{"default":{"default":"pertenece con barra vertical al fin de raya horizontal"}},"category":"Sm"},{"key":"22F4","mappings":{"default":{"default":"pertenece en pequeño con trazo vertical"}},"category":"Sm"},{"key":"22F5","mappings":{"default":{"default":"pertenece con punto arriba"}},"category":"Sm"},{"key":"22F6","mappings":{"default":{"default":"pertenece con barra arriba"}},"category":"Sm"},{"key":"22F7","mappings":{"default":{"default":"perteneciente subrayado"}},"category":"Sm"},{"key":"22F8","mappings":{"default":{"default":"perteneciente subrayado"}},"category":"Sm"},{"key":"22F9","mappings":{"default":{"default":"pertenece con dos trazos horizontales"}},"category":"Sm"},{"key":"22FA","mappings":{"default":{"default":"contiene o es igual a"}},"category":"Sm"},{"key":"22FB","mappings":{"default":{"default":"contiene con marca"}},"category":"Sm"},{"key":"22FC","mappings":{"default":{"default":"contiene con marca"}},"category":"Sm"},{"key":"22FD","mappings":{"default":{"default":"contiene con barra"}},"category":"Sm"},{"key":"22FE","mappings":{"default":{"default":"perteneciente con barra"}},"category":"Sm"},{"key":"22FF","mappings":{"default":{"default":"z anotación asociación de bolsa"}},"category":"Sm"},{"key":"2300","mappings":{"default":{"default":"diámetro"}},"category":"So"},{"key":"2302","mappings":{"default":{"default":"casa"}},"category":"So"},{"key":"2305","mappings":{"default":{"default":"en proyectividad con"}},"category":"So"},{"key":"2306","mappings":{"default":{"default":"en perspectividad con"}},"category":"So"},{"key":"2310","mappings":{"default":{"default":"no invertido"}},"category":"So"},{"key":"2312","mappings":{"default":{"default":"arco"}},"category":"So"},{"key":"2313","mappings":{"default":{"default":"segmento"}},"category":"So"},{"key":"27C1","mappings":{"default":{"default":"triángulo encerrando triángulo"}},"category":"Sm"},{"key":"27C2","mappings":{"default":{"default":"perpendicular"}},"category":"Sm"},{"key":"27C3","mappings":{"default":{"default":"incluido en"}},"category":"Sm"},{"key":"27C4","mappings":{"default":{"default":"contiene a"}},"category":"Sm"},{"key":"27C7","mappings":{"default":{"default":"punto en cÃrculo"}},"category":"Sm"},{"key":"27C8","mappings":{"default":{"default":"atrás tajo antes de subconjunto"}},"category":"Sm"},{"key":"27C9","mappings":{"default":{"default":"sobreconjunto antes de tajo"}},"category":"Sm"},{"key":"27CA","mappings":{"default":{"default":"barra vertical con golpe horizontal"}},"category":"Sm"},{"key":"27CC","mappings":{"default":{"default":"división larga"}},"category":"Sm"},{"key":"27D1","mappings":{"default":{"default":"y con punto interior"}},"category":"Sm"},{"key":"27D2","mappings":{"default":{"default":"elemento de apertura hacia arriba"}},"category":"Sm"},{"key":"27D3","mappings":{"default":{"default":"ángulo inferior derecho con punto"}},"category":"Sm"},{"key":"27D4","mappings":{"default":{"default":"ángulo inferior izquierdo con punto"}},"category":"Sm"},{"key":"27D5","mappings":{"default":{"default":"izquierdo exterior une"}},"category":"Sm"},{"key":"27D6","mappings":{"default":{"default":"derecho exterior une"}},"category":"Sm"},{"key":"27D7","mappings":{"default":{"default":"lleno exterior une"}},"category":"Sm"},{"key":"27D8","mappings":{"default":{"default":"perpendicular inversa"}},"category":"Sm"},{"key":"27D9","mappings":{"default":{"default":"perpendicular"}},"category":"Sm"},{"key":"27DA","mappings":{"default":{"default":"izquierdo y derecho doble torniquete"}},"category":"Sm"},{"key":"27DB","mappings":{"default":{"default":"doble T horizontal"}},"category":"Sm"},{"key":"27DC","mappings":{"default":{"default":"multifunción por la izquierda"}},"category":"Sm"},{"key":"27DD","mappings":{"default":{"default":"T horizontal derecha larga"}},"category":"Sm"},{"key":"27DE","mappings":{"default":{"default":"T horizontal izquierda larga"}},"category":"Sm"},{"key":"27DF","mappings":{"default":{"default":"perpendicular inversa con cÃrculo arriba"}},"category":"Sm"},{"key":"27E0","mappings":{"default":{"default":"pastilla dividida por regla horizontal"}},"category":"Sm"},{"key":"27E1","mappings":{"default":{"default":"diamante cóncavo vacÃo"}},"category":"Sm"},{"key":"27E2","mappings":{"default":{"default":"diamante cóncavo con tictac hacia izquierda"}},"category":"Sm"},{"key":"27E3","mappings":{"default":{"default":"diamante cóncavo con tictac hacia derecha"}},"category":"Sm"},{"key":"27E4","mappings":{"default":{"default":"cuadrado con tictac hacia izquierda"}},"category":"Sm"},{"key":"27E5","mappings":{"default":{"default":"cuadrado con tictac hacia derecha"}},"category":"Sm"},{"key":"299A","mappings":{"default":{"default":"zigzag en vertical"}},"category":"Sm"},{"key":"29B0","mappings":{"default":{"default":"conjunto vacÃo invertido"}},"category":"Sm"},{"key":"29B1","mappings":{"default":{"default":"conjunto vacÃo con barra"}},"category":"Sm"},{"key":"29B2","mappings":{"default":{"default":"conjunto vacÃo con cÃrculo"}},"category":"Sm"},{"key":"29B5","mappings":{"default":{"default":"cÃrculo con barra"}},"category":"Sm"},{"key":"29B6","mappings":{"default":{"default":"barra en cÃrculo"}},"category":"Sm"},{"key":"29B7","mappings":{"default":{"default":"paralelas en cÃrculo"}},"category":"Sm"},{"key":"29B9","mappings":{"default":{"default":"perpendicular en cÃrculo"}},"category":"Sm"},{"key":"29BB","mappings":{"default":{"default":"x superimpresa en cÃrculo"}},"category":"Sm"},{"key":"29BC","mappings":{"default":{"default":"circled anticlockwise rotated division"}},"category":"Sm"},{"key":"29BE","mappings":{"default":{"default":"bullet vacÃa en cÃrculo"}},"category":"Sm"},{"key":"29BF","mappings":{"default":{"default":"bullet en cÃrculo"}},"category":"Sm"},{"key":"29C0","mappings":{"default":{"default":"menor que en cÃrculo"}},"category":"Sm"},{"key":"29C1","mappings":{"default":{"default":"mayor que en cÃrculo"}},"category":"Sm"},{"key":"29C2","mappings":{"default":{"default":"cÃrculo con cÃrculo a la derecha"}},"category":"Sm"},{"key":"29C3","mappings":{"default":{"default":"circle with two horizontal strokes to the right"}},"category":"Sm"},{"key":"29C4","mappings":{"default":{"default":"cuadrado con diagonal ascendente"}},"category":"Sm"},{"key":"29C5","mappings":{"default":{"default":"cuadrado con diagonal descendente"}},"category":"Sm"},{"key":"29C9","mappings":{"default":{"default":"dos cuadrados unidos"}},"category":"Sm"},{"key":"29CD","mappings":{"default":{"default":"triangle with serifs at bottom"}},"category":"Sm"},{"key":"29CE","mappings":{"default":{"default":"triángulo hacia la derecha sobre triángulo hacia la izquierda"}},"category":"Sm"},{"key":"29CF","mappings":{"default":{"default":"subgrupo normal o igual a"}},"category":"Sm"},{"key":"29D0","mappings":{"default":{"default":"contiene como subgrupo normal o es igual a"}},"category":"Sm"},{"key":"29DC","mappings":{"default":{"default":"infinito incompleto"}},"category":"Sm"},{"key":"29DE","mappings":{"default":{"default":"no infinito"}},"category":"Sm"},{"key":"29E3","mappings":{"default":{"default":"igual tachado doble "}},"category":"Sm"},{"key":"29E4","mappings":{"default":{"default":"igual con tilde, con doble tachado"}},"category":"Sm"},{"key":"29E5","mappings":{"default":{"default":"idéntico a con doble tachado"}},"category":"Sm"},{"key":"29EB","mappings":{"default":{"default":"rombo relleno"}},"category":"Sm"},{"key":"29F4","mappings":{"default":{"default":"rule delayed"}},"category":"Sm"},{"key":"29F6","mappings":{"default":{"default":"solidus with overbar"}},"category":"Sm"},{"key":"2A0C","mappings":{"default":{"default":"operador integral cuádruple"}},"category":"Sm"},{"key":"2A0D","mappings":{"default":{"default":"finite part integral"}},"category":"Sm"},{"key":"2A10","mappings":{"default":{"default":"circulation function"}},"category":"Sm"},{"key":"2A11","mappings":{"default":{"default":"integral en sentido antihorario"}},"category":"Sm"},{"key":"2A12","mappings":{"default":{"default":"integral lineal para rectángulo en polo"}},"category":"Sm"},{"key":"2A13","mappings":{"default":{"default":"integral lineal para semicÃrculo en polo"}},"category":"Sm"},{"key":"2A14","mappings":{"default":{"default":"integral lineal excluyendo el polo"}},"category":"Sm"},{"key":"2A15","mappings":{"default":{"default":"integral en torno de un punto operador"}},"category":"Sm"},{"key":"2A16","mappings":{"default":{"default":"operador integral para cuaterniones"}},"category":"Sm"},{"key":"2A22","mappings":{"default":{"default":"más con cÃrculo"}},"category":"Sm"},{"key":"2A23","mappings":{"default":{"default":"más con ángulo"}},"category":"Sm"},{"key":"2A24","mappings":{"default":{"default":"tilde con más suscrito"}},"category":"Sm"},{"key":"2A25","mappings":{"default":{"default":"más con punto inferior"}},"category":"Sm"},{"key":"2A26","mappings":{"default":{"default":"tilde con más"}},"category":"Sm"},{"key":"2A27","mappings":{"default":{"default":"más con 2 suscrito"}},"category":"Sm"},{"key":"2A29","mappings":{"default":{"default":"menos con coma"}},"category":"Sm"},{"key":"2A2A","mappings":{"default":{"default":"menos con punto inferior"}},"category":"Sm"},{"key":"2A2D","mappings":{"default":{"default":"más en semicÃrculo izquierdo"}},"category":"Sm"},{"key":"2A2E","mappings":{"default":{"default":"más en semicÃrculo derecho"}},"category":"Sm"},{"key":"2A2F","mappings":{"default":{"default":"producto vectorial"}},"category":"Sm"},{"key":"2A30","mappings":{"default":{"default":"por con punto"}},"category":"Sm"},{"key":"2A31","mappings":{"default":{"default":"por con subrayado"}},"category":"Sm"},{"key":"2A33","mappings":{"default":{"default":"smash product"}},"category":"Sm"},{"key":"2A34","mappings":{"default":{"default":"por en semicÃrculo izquierdo"}},"category":"Sm"},{"key":"2A35","mappings":{"default":{"default":"por en semicÃrculo derecho"}},"category":"Sm"},{"key":"2A36","mappings":{"default":{"default":"por en cÃrculo con ángulo"}},"category":"Sm"},{"key":"2A37","mappings":{"default":{"default":"por en anillo"}},"category":"Sm"},{"key":"2A38","mappings":{"default":{"default":"división en cÃrculo"}},"category":"Sm"},{"key":"2A39","mappings":{"default":{"default":"más en triángulo"}},"category":"Sm"},{"key":"2A3A","mappings":{"default":{"default":"menos en triángulo"}},"category":"Sm"},{"key":"2A3B","mappings":{"default":{"default":"por en triángulo"}},"category":"Sm"},{"key":"2A3C","mappings":{"default":{"default":"producto interior"}},"category":"Sm"},{"key":"2A3F","mappings":{"default":{"default":"coproducto"}},"category":"Sm"},{"key":"2A40","mappings":{"default":{"default":"intersección con punto"}},"category":"Sm"},{"key":"2A42","mappings":{"default":{"default":"unión con barra"}},"category":"Sm"},{"key":"2A43","mappings":{"default":{"default":"intersección con barra"}},"category":"Sm"},{"key":"2A44","mappings":{"default":{"default":"intersección con and"}},"category":"Sm"},{"key":"2A45","mappings":{"default":{"default":"unión con or"}},"category":"Sm"},{"key":"2A46","mappings":{"default":{"default":"unión sobre intersección"}},"category":"Sm"},{"key":"2A47","mappings":{"default":{"default":"intersección sobre unión"}},"category":"Sm"},{"key":"2A48","mappings":{"default":{"default":"unión sobre barra, sobre intersección"}},"category":"Sm"},{"key":"2A49","mappings":{"default":{"default":"intersección sobre barra, sobre unión "}},"category":"Sm"},{"key":"2A4A","mappings":{"default":{"default":"unión y unión"}},"category":"Sm"},{"key":"2A4B","mappings":{"default":{"default":"intersección e intersección"}},"category":"Sm"},{"key":"2A4C","mappings":{"default":{"default":"unión cerrada"}},"category":"Sm"},{"key":"2A4D","mappings":{"default":{"default":"intersección cerrada"}},"category":"Sm"},{"key":"2A50","mappings":{"default":{"default":"unión cerrada con por"}},"category":"Sm"},{"key":"2A53","mappings":{"default":{"default":"y"}},"category":"Sm"},{"key":"2A54","mappings":{"default":{"default":"o"}},"category":"Sm"},{"key":"2A55","mappings":{"default":{"default":"two intersecting logical and"}},"category":"Sm"},{"key":"2A56","mappings":{"default":{"default":"two intersecting logical or"}},"category":"Sm"},{"key":"2A57","mappings":{"default":{"default":"sloping large or"}},"category":"Sm"},{"key":"2A58","mappings":{"default":{"default":"sloping large and"}},"category":"Sm"},{"key":"2A5A","mappings":{"default":{"default":"logical and with middle stem"}},"category":"Sm"},{"key":"2A5B","mappings":{"default":{"default":"logical or with middle stem"}},"category":"Sm"},{"key":"2A5C","mappings":{"default":{"default":"logical and with horizontal dash"}},"category":"Sm"},{"key":"2A5D","mappings":{"default":{"default":"logical or with horizontal dash"}},"category":"Sm"},{"key":"2A5F","mappings":{"default":{"default":"logical and with underbar"}},"category":"Sm"},{"key":"2A66","mappings":{"default":{"default":"igual con punto suscrito"}},"category":"Sm"},{"key":"2A6A","mappings":{"default":{"default":"tilde con punto"}},"category":"Sm"},{"key":"2A6D","mappings":{"default":{"default":"congruente con punto"}},"category":"Sm"},{"key":"2A6F","mappings":{"default":{"default":"casi igual con ángulo"}},"category":"Sm"},{"key":"2A71","mappings":{"default":{"default":"igual con más suscrito"}},"category":"Sm"},{"key":"2A72","mappings":{"default":{"default":"igual con más"}},"category":"Sm"},{"key":"2A73","mappings":{"default":{"default":"igual con operador tilde"}},"category":"Sm"},{"key":"2A74","mappings":{"default":{"default":"igual con dos puntos"}},"category":"Sm"},{"key":"2A75","mappings":{"default":{"default":"igual doble"}},"category":"Sm"},{"key":"2A77","mappings":{"default":{"default":"igual entre cuatro puntos"}},"category":"Sm"},{"key":"2A78","mappings":{"default":{"default":"equivalente con cuatro puntos"}},"category":"Sm"},{"key":"2A79","mappings":{"default":{"default":"menor que con cÃrculo interior"}},"category":"Sm"},{"key":"2A7A","mappings":{"default":{"default":"mayor que con cÃrculo interior"}},"category":"Sm"},{"key":"2A7B","mappings":{"default":{"default":"menor que con interrogante"}},"category":"Sm"},{"key":"2A7C","mappings":{"default":{"default":"mayor que con interrogante"}},"category":"Sm"},{"key":"2A7D","mappings":{"default":{"default":"estrictamente menor que"}},"category":"Sm"},{"key":"2A7E","mappings":{"default":{"default":"estrictamente mayor que"}},"category":"Sm"},{"key":"2A7F","mappings":{"default":{"default":"estrictamente menor que con punto interior"}},"category":"Sm"},{"key":"2A80","mappings":{"default":{"default":"estrictamente mayor que con punto interior"}},"category":"Sm"},{"key":"2A81","mappings":{"default":{"default":"estrictamente menor que con punto"}},"category":"Sm"},{"key":"2A82","mappings":{"default":{"default":"estrictamente mayor que con punto"}},"category":"Sm"},{"key":"2A83","mappings":{"default":{"default":"estrictamente menor que con punto"}},"category":"Sm"},{"key":"2A84","mappings":{"default":{"default":"estrictamente mayor que con punto"}},"category":"Sm"},{"key":"2A89","mappings":{"default":{"default":"menor que, pero no aproximado a"}},"category":"Sm"},{"key":"2A8A","mappings":{"default":{"default":"mayor que, pero no aproximado a"}},"category":"Sm"},{"key":"2A8D","mappings":{"default":{"default":"menor, similar o igual a"}},"category":"Sm"},{"key":"2A8E","mappings":{"default":{"default":"mayor, similar o igual a"}},"category":"Sm"},{"key":"2A8F","mappings":{"default":{"default":"menor, similar o mayor que"}},"category":"Sm"},{"key":"2A90","mappings":{"default":{"default":"mayor, similar o menor que"}},"category":"Sm"},{"key":"2A91","mappings":{"default":{"default":"menor, mayor o igual a"}},"category":"Sm"},{"key":"2A92","mappings":{"default":{"default":"mayor, menor o igual a"}},"category":"Sm"},{"key":"2A93","mappings":{"default":{"default":"estrictamente menor o mayor que"}},"category":"Sm"},{"key":"2A94","mappings":{"default":{"default":"estrictamente mayor o menor que"}},"category":"Sm"},{"key":"2A97","mappings":{"default":{"default":"estrictamente menor que con punto interior"}},"category":"Sm"},{"key":"2A98","mappings":{"default":{"default":"estrictamente mayor que con punto interior"}},"category":"Sm"},{"key":"2A99","mappings":{"default":{"default":"menor o igual a"}},"category":"Sm"},{"key":"2A9A","mappings":{"default":{"default":"mayor o igual a"}},"category":"Sm"},{"key":"2A9D","mappings":{"default":{"default":"equivalente o menor que"}},"category":"Sm"},{"key":"2A9E","mappings":{"default":{"default":"mayor o similar a"}},"category":"Sm"},{"key":"2A9F","mappings":{"default":{"default":"similar, menor o igual a"}},"category":"Sm"},{"key":"2AA0","mappings":{"default":{"default":"similar, mayor o igual a"}},"category":"Sm"},{"key":"2AA1","mappings":{"default":{"default":"mucho menor que"}},"category":"Sm"},{"key":"2AA2","mappings":{"default":{"default":"mucho mayor que"}},"category":"Sm"},{"key":"2AA4","mappings":{"default":{"default":"menor que, mayor que"}},"category":"Sm"},{"key":"2AA5","mappings":{"default":{"default":"mayor o menor que"}},"category":"Sm"},{"key":"2AA6","mappings":{"default":{"default":"menor que cerrado con curva"}},"category":"Sm"},{"key":"2AA7","mappings":{"default":{"default":"mayor que cerrado con curva"}},"category":"Sm"},{"key":"2AA8","mappings":{"default":{"default":"estrictamente menor que cerrado con curva"}},"category":"Sm"},{"key":"2AA9","mappings":{"default":{"default":"estrictamente mayor que cerrado con curva"}},"category":"Sm"},{"key":"2AAA","mappings":{"default":{"default":"más reducido que"}},"category":"Sm"},{"key":"2AAB","mappings":{"default":{"default":"más amplio que"}},"category":"Sm"},{"key":"2AAC","mappings":{"default":{"default":"más reducido o igual a"}},"category":"Sm"},{"key":"2AAD","mappings":{"default":{"default":"más amplio o igual a"}},"category":"Sm"},{"key":"2AAE","mappings":{"default":{"default":"diferencia entre"}},"category":"Sm"},{"key":"2AAF","mappings":{"default":{"default":"precede o es igual a"}},"category":"Sm"},{"key":"2AB5","mappings":{"default":{"default":"precede estrictamente a"}},"category":"Sm"},{"key":"2AB6","mappings":{"default":{"default":"sigue estrictamente a"}},"category":"Sm"},{"key":"2ABB","mappings":{"default":{"default":"precede mucho antes"}},"category":"Sm"},{"key":"2ABC","mappings":{"default":{"default":"sigue mucho después"}},"category":"Sm"},{"key":"2ABD","mappings":{"default":{"default":"subrelación de"}},"category":"Sm"},{"key":"2ABE","mappings":{"default":{"default":"contiene como subrelación a"}},"category":"Sm"},{"key":"2ABF","mappings":{"default":{"default":"incluido con más suscrito"}},"category":"Sm"},{"key":"2AC0","mappings":{"default":{"default":"contiene con más suscrito"}},"category":"Sm"},{"key":"2AC1","mappings":{"default":{"default":"incluido con por suscrito"}},"category":"Sm"},{"key":"2AC2","mappings":{"default":{"default":"contiene con por suscrito"}},"category":"Sm"},{"key":"2AC3","mappings":{"default":{"default":"incluido con punto o es igual a"}},"category":"Sm"},{"key":"2AC4","mappings":{"default":{"default":"contiene con punto o es igual a"}},"category":"Sm"},{"key":"2AC7","mappings":{"default":{"default":"incluido aproximadamente en"}},"category":"Sm"},{"key":"2AC8","mappings":{"default":{"default":"contiene aproximadamente a"}},"category":"Sm"},{"key":"2ACF","mappings":{"default":{"default":"incluido con cierre en"}},"category":"Sm"},{"key":"2AD0","mappings":{"default":{"default":"contiene al cierre del subconjunto"}},"category":"Sm"},{"key":"2AD1","mappings":{"default":{"default":"incluido el cierre o es igual a"}},"category":"Sm"},{"key":"2AD2","mappings":{"default":{"default":"contiene al cierre del subconjunto o es igual a"}},"category":"Sm"},{"key":"2AD3","mappings":{"default":{"default":"está incluido o contiene a"}},"category":"Sm"},{"key":"2AD4","mappings":{"default":{"default":"contiene o está incluido en"}},"category":"Sm"},{"key":"2AD5","mappings":{"default":{"default":"incluido doblemente en"}},"category":"Sm"},{"key":"2AD6","mappings":{"default":{"default":"contiene doblemente a"}},"category":"Sm"},{"key":"2AD7","mappings":{"default":{"default":"contiene o está incluido en"}},"category":"Sm"},{"key":"2AD8","mappings":{"default":{"default":"contiene o está incluido en"}},"category":"Sm"},{"key":"2AD9","mappings":{"default":{"default":"perteneciente dirigido hacia abajo"}},"category":"Sm"},{"key":"2ADA","mappings":{"default":{"default":"pitchfork with tee top"}},"category":"Sm"},{"key":"2ADB","mappings":{"default":{"default":"transversal intersection"}},"category":"Sm"},{"key":"2AE4","mappings":{"default":{"default":"double left turnstile vertical bar"}},"category":"Sm"},{"key":"2AE6","mappings":{"default":{"default":"long dash from left member of double vertical"}},"category":"Sm"},{"key":"2AE7","mappings":{"default":{"default":"short down tack with overbar"}},"category":"Sm"},{"key":"2AE8","mappings":{"default":{"default":"barra con perpendicular"}},"category":"Sm"},{"key":"2AE9","mappings":{"default":{"default":"short up tack above short down tack"}},"category":"Sm"},{"key":"2AEB","mappings":{"default":{"default":"double up tack"}},"category":"Sm"},{"key":"2AEC","mappings":{"default":{"default":"double stroke not sign"}},"category":"Sm"},{"key":"2AED","mappings":{"default":{"default":"reversed double stroke not sign"}},"category":"Sm"},{"key":"2AEE","mappings":{"default":{"default":"does not divide with reversed negation slash"}},"category":"Sm"},{"key":"2AEF","mappings":{"default":{"default":"barra vertical con cÃrculo"}},"category":"Sm"},{"key":"2AF0","mappings":{"default":{"default":"barra con cÃrculo inferior"}},"category":"Sm"},{"key":"2AF1","mappings":{"default":{"default":"down tack with circle below"}},"category":"Sm"},{"key":"2AF2","mappings":{"default":{"default":"paralela con marca"}},"category":"Sm"},{"key":"2AF3","mappings":{"default":{"default":"paralela con tilde"}},"category":"Sm"},{"key":"FE68","mappings":{"default":{"default":"división entera"}},"category":"Po"},{"key":"FF5C","mappings":{"default":{"default":"barra vertical"}},"category":"Sm"}] diff --git a/assets/js/mathmaps/es/symbols/math_whitespace.js b/assets/js/mathmaps/es/symbols/math_whitespace.js new file mode 100644 index 0000000000000000000000000000000000000000..d0a84b548c6e7dce27dcb3206b50005ba517914e --- /dev/null +++ b/assets/js/mathmaps/es/symbols/math_whitespace.js @@ -0,0 +1 @@ +[{"locale":"es"},{"key":"00A0","mappings":{"default":{"default":" "}},"category":"Zs"},{"key":"00AD","mappings":{"default":{"default":"guión corto"}},"category":"Cf"},{"key":"2002","mappings":{"default":{"default":""}},"category":"Zs"},{"key":"2003","mappings":{"default":{"default":""}},"category":"Zs"},{"key":"2004","mappings":{"default":{"default":""}},"category":"Zs"},{"key":"2005","mappings":{"default":{"default":""}},"category":"Zs"},{"key":"2007","mappings":{"default":{"default":""}},"category":"Zs"},{"key":"2008","mappings":{"default":{"default":""}},"category":"Zs"},{"key":"2009","mappings":{"default":{"default":""}},"category":"Zs"},{"key":"200A","mappings":{"default":{"default":""}},"category":"Zs"},{"key":"200B","mappings":{"default":{"default":""}},"category":"Cf"},{"key":"200C","mappings":{"default":{"default":"ancho de cero no ensamblador"}},"category":"Cf"},{"key":"200D","mappings":{"default":{"default":"ancho de cero ensamblador"}},"category":"Cf"},{"key":"200E","mappings":{"default":{"default":"marca de izquierda a derecha"}},"category":"Cf"},{"key":"200F","mappings":{"default":{"default":"marca de derecha a izquierda"}},"category":"Cf"},{"key":"205F","mappings":{"default":{"default":""}},"category":"Zs"},{"key":"2060","mappings":{"default":{"default":""}},"category":"Cf"},{"key":"2061","mappings":{"default":{"default":"de"}},"category":"Cf"},{"key":"2062","mappings":{"default":{"default":"por"}},"category":"Cf"},{"key":"2063","mappings":{"default":{"default":"coma"}},"category":"Cf"},{"key":"2064","mappings":{"default":{"default":"más"}},"category":"Cf"},{"key":"FEFF","mappings":{"default":{"default":""}},"category":"Cf"}] diff --git a/assets/js/mathmaps/es/symbols/other_stars.js b/assets/js/mathmaps/es/symbols/other_stars.js new file mode 100644 index 0000000000000000000000000000000000000000..ef2db11225e1f0e6e04938a82463be43894ac55b --- /dev/null +++ b/assets/js/mathmaps/es/symbols/other_stars.js @@ -0,0 +1 @@ +[{"locale":"es"},{"key":"2605","mappings":{"default":{"default":"estrella rellena"}},"category":"So"},{"key":"2606","mappings":{"default":{"default":"estrella vacÃa"}},"category":"So"},{"key":"2713","mappings":{"default":{"default":"check mark"}},"category":"So"},{"key":"2717","mappings":{"default":{"default":"ballot x"}},"category":"So"},{"key":"2720","mappings":{"default":{"default":"cruz de Malta"}},"category":"So"},{"key":"2736","mappings":{"default":{"default":"estrella rellena de seis puntas"}},"category":"So"},{"key":"273D","mappings":{"default":{"default":"heavy teardrop spoked asterisk"}},"category":"So"}] diff --git a/assets/js/mathmaps/es/units/energy.js b/assets/js/mathmaps/es/units/energy.js new file mode 100644 index 0000000000000000000000000000000000000000..b48322e4651db3c0f3ef85cdbf2c64b237376ef4 --- /dev/null +++ b/assets/js/mathmaps/es/units/energy.js @@ -0,0 +1 @@ +[{"locale":"es"},{"key":"W","names":["W","w"],"mappings":{"default":{"default":"watt"}},"category":"energy"},{"key":"kW","names":["kw","kW"],"mappings":{"default":{"default":"kilowatt"}},"category":"energy"},{"key":"mW","names":["mw","mW"],"mappings":{"default":{"default":"miliwatt"}},"category":"energy"},{"key":"kwh","names":["kwh","kWh"],"mappings":{"default":{"default":"kilowatt hora"}},"category":"energy"},{"key":"J","names":["J"],"mappings":{"default":{"default":"Joules"}},"category":"energy"},{"key":"N","names":["N"],"mappings":{"default":{"default":"Newton"}},"category":"energy"},{"key":"A","names":["A"],"mappings":{"default":{"default":"Ampere"}},"category":"energy"},{"key":"V","names":["V"],"mappings":{"default":{"default":"Voltio"}},"category":"energy"},{"key":"µΩ","names":["µΩ"],"mappings":{"default":{"default":"microohmio"}},"category":"energy"},{"key":"mΩ","names":["mΩ"],"mappings":{"default":{"default":"miliohmio"}},"category":"energy"},{"key":"Ω","names":["Ω","Ohm"],"mappings":{"default":{"default":"ohmio"}},"category":"energy"},{"key":"kΩ","names":["kΩ","KΩ"],"mappings":{"default":{"default":"kiloohmio"}},"category":"energy"},{"key":"MΩ","names":["MΩ"],"mappings":{"default":{"default":"megaohmio"}},"category":"energy"},{"key":"GΩ","names":["GΩ"],"mappings":{"default":{"default":"gigaohmio"}},"category":"energy"}] diff --git a/assets/js/mathmaps/es/units/length.js b/assets/js/mathmaps/es/units/length.js new file mode 100644 index 0000000000000000000000000000000000000000..50ed29f34d1b9e0cafd5fa1d9ae748bc0d76eb1b --- /dev/null +++ b/assets/js/mathmaps/es/units/length.js @@ -0,0 +1 @@ +[{"locale":"es"},{"key":"mm","names":["mm"],"mappings":{"default":{"default":"milÃmetro"}},"category":"Length"},{"key":"cm","names":["cm"],"mappings":{"default":{"default":"centÃmetro"}},"category":"Length"},{"key":"m","names":["m"],"mappings":{"default":{"default":"metro"}},"category":"Length"},{"key":"km","names":["km"],"mappings":{"default":{"default":"kilómetro"}},"category":"Length"},{"key":"ft","names":["ft","ft."],"mappings":{"default":{"default":"pies"}},"category":"Length"},{"key":"in","names":["in","in."],"mappings":{"default":{"default":"pulgada"}},"category":"Length"},{"key":"mi","names":["mi","mi."],"mappings":{"default":{"default":"milla"}},"category":"Length"},{"key":"yd","names":["yd","yd."],"mappings":{"default":{"default":"yarda"}},"category":"Length"},{"key":"n.m.","names":["n.m."],"mappings":{"default":{"default":"millas náuticas"}}}] diff --git a/assets/js/mathmaps/es/units/memory.js b/assets/js/mathmaps/es/units/memory.js new file mode 100644 index 0000000000000000000000000000000000000000..3c6546d4a6aaa9fe4868a8881ffb77875da04cd0 --- /dev/null +++ b/assets/js/mathmaps/es/units/memory.js @@ -0,0 +1 @@ +[{"locale":"es"},{"key":"b","names":["b"],"mappings":{"default":{"default":"bit"}}},{"key":"B","names":["B"],"mappings":{"default":{"default":"byte"}}},{"key":"KB","names":["KB"],"mappings":{"default":{"default":"kilobyte"}}},{"key":"MB","names":["MB"],"mappings":{"default":{"default":"megabyte"}}},{"key":"GB","names":["GB"],"mappings":{"default":{"default":"gigabyte"}}},{"key":"TB","names":["TB"],"mappings":{"default":{"default":"terabyte"}}}] diff --git a/assets/js/mathmaps/es/units/other.js b/assets/js/mathmaps/es/units/other.js new file mode 100644 index 0000000000000000000000000000000000000000..39efb2ed4ef9196cb296f2d1566834b702adac12 --- /dev/null +++ b/assets/js/mathmaps/es/units/other.js @@ -0,0 +1 @@ +[{"locale":"es"},{"key":"doz","names":["doz","doz.","dz","dz."],"mappings":{"default":{"default":"docena"}}},{"key":"sq","names":["sq","sq."],"mappings":{"default":{"default":"al cuadrado"}}},{"key":"ha","names":["ha"],"mappings":{"default":{"default":"hectarea"}}}] diff --git a/assets/js/mathmaps/es/units/speed.js b/assets/js/mathmaps/es/units/speed.js new file mode 100644 index 0000000000000000000000000000000000000000..d129924e8918d83e354c541757dcd9c7568ed714 --- /dev/null +++ b/assets/js/mathmaps/es/units/speed.js @@ -0,0 +1 @@ +[{"locale":"es"},{"key":"kt","names":["kt","kt."],"mappings":{"default":{"default":"nudo"}}},{"key":"mph","names":["mph"],"mappings":{"default":{"default":"millas por hora"}}},{"key":"rpm","names":["rpm"],"mappings":{"default":{"default":"revoluciones por minuto"}}},{"key":"kmh","names":["kmh"],"mappings":{"default":{"default":"kilómetros por hora"}}}] diff --git a/assets/js/mathmaps/es/units/temperature.js b/assets/js/mathmaps/es/units/temperature.js new file mode 100644 index 0000000000000000000000000000000000000000..a9d81c73d7ae3d5b5eded39da717c8edcbd4b513 --- /dev/null +++ b/assets/js/mathmaps/es/units/temperature.js @@ -0,0 +1 @@ +[{"locale":"es"},{"key":"F","names":["F","F.","°F"],"mappings":{"default":{"default":"Fahrenheit"}}},{"key":"C","names":["C","°C"],"mappings":{"default":{"default":"centÃgrados"}}},{"key":"K","names":["K","°K"],"mappings":{"default":{"default":"Kelvin"}}}] diff --git a/assets/js/mathmaps/es/units/time.js b/assets/js/mathmaps/es/units/time.js new file mode 100644 index 0000000000000000000000000000000000000000..2cc4ead9c6fbd4c7b1d90d3c643760667513d5e4 --- /dev/null +++ b/assets/js/mathmaps/es/units/time.js @@ -0,0 +1 @@ +[{"locale":"es"},{"key":"ns","names":["ns"],"mappings":{"default":{"default":"nanosegundos"}},"category":"time"},{"key":"µs","names":["µs"],"mappings":{"default":{"default":"microsegundos"}},"category":"time"},{"key":"ms","names":["ms"],"mappings":{"default":{"default":"milisegundos"}},"category":"time"},{"key":"s","names":["s"],"mappings":{"default":{"default":"segundos"}},"category":"time"},{"key":"min","names":["min"],"mappings":{"default":{"default":"minutos"}},"category":"time"},{"key":"h","names":["h","hr"],"mappings":{"default":{"default":"hora"}},"category":"time"}] diff --git a/assets/js/mathmaps/es/units/volume.js b/assets/js/mathmaps/es/units/volume.js new file mode 100644 index 0000000000000000000000000000000000000000..138fb9dba0cf1c6da74bcc19104507de1518859e --- /dev/null +++ b/assets/js/mathmaps/es/units/volume.js @@ -0,0 +1 @@ +[{"locale":"es"},{"key":"bbl","names":["bbl.","bbl"],"mappings":{"default":{"default":"barrile"}},"category":"volume"},{"key":"cu","names":["cu","cu."],"mappings":{"default":{"default":"cúbico"}},"category":"volume"},{"key":"fl. oz.","names":["fl. oz."],"mappings":{"default":{"default":"onzas lÃquidas"}},"category":"volume"},{"key":"gal","names":["gal","gal."],"mappings":{"default":{"default":"galone"}},"category":"volume"},{"key":"pt","names":["pt","pt."],"mappings":{"default":{"default":"pinta"}},"category":"volume"},{"key":"qt","names":["qt","qt."],"mappings":{"default":{"default":"quart"}},"category":"volume"},{"key":"tbsp","names":["tbsp","tbsp."],"mappings":{"default":{"default":"cuchara"}},"category":"volume"},{"key":"tsp","names":["tsp","tsp."],"mappings":{"default":{"default":"cucharilla"}},"category":"volume"},{"key":"cc","names":["cc"],"mappings":{"default":{"default":"centÃmetros cúbicos"}},"category":"volume"},{"key":"kl","names":["kl"],"mappings":{"default":{"default":"kilolitro"}},"category":"volume"},{"key":"l","names":["l"],"mappings":{"default":{"default":"litro"}},"category":"volume"},{"key":"ml","names":["ml"],"mappings":{"default":{"default":"mililitro"}},"category":"volume"}] diff --git a/assets/js/mathmaps/es/units/weight.js b/assets/js/mathmaps/es/units/weight.js new file mode 100644 index 0000000000000000000000000000000000000000..6048fcf3c5db757e497c8303a0863db218504e84 --- /dev/null +++ b/assets/js/mathmaps/es/units/weight.js @@ -0,0 +1 @@ +[{"locale":"es"},{"key":"lb","names":["lb","lb."],"mappings":{"default":{"default":"libra"}}},{"key":"LT","names":["LT","L.T."],"mappings":{"default":{"default":"libras imperiales"}}},{"key":"oz","names":["oz","oz."],"mappings":{"default":{"default":"onza"}}},{"key":"µg","names":["µg","mcg"],"mappings":{"default":{"default":"microgramo"}}},{"key":"gr","names":["g","gr"],"mappings":{"default":{"default":"gramo"}}},{"key":"kg","names":["kg"],"mappings":{"default":{"default":"kilogramo"}}},{"key":"mg","names":["mg"],"mappings":{"default":{"default":"miligramo"}}},{"key":"t","names":["t","T"],"mappings":{"default":{"default":"tonelada"}}}] diff --git a/assets/js/mathmaps/mathmaps_ie.js b/assets/js/mathmaps/mathmaps_ie.js new file mode 100644 index 0000000000000000000000000000000000000000..76c374818c87bbe31b1251e0ad57785889e17baf --- /dev/null +++ b/assets/js/mathmaps/mathmaps_ie.js @@ -0,0 +1,308 @@ +sre.BrowserUtil.mapsForIE = { +"en/algebra.js": +[{"locale":"en"},{"category":"Algebra","mappings":{"default":{"default":"degree"}},"key":"deg","names":["deg"]},{"category":"Algebra","mappings":{"default":{"default":"determinant","short":"det"}},"key":"det","names":["det"]},{"category":"Algebra","mappings":{"default":{"default":"dimension"}},"key":"dim","names":["dim"]},{"category":"Algebra","mappings":{"default":{"default":"homomorphism","short":"hom"}},"key":"hom","names":["hom","Hom"]},{"category":"Algebra","mappings":{"default":{"default":"kernel"}},"key":"ker","names":["ker"]},{"category":"Algebra","mappings":{"default":{"default":"trace"}},"key":"Tr","names":["Tr","tr"]}] +, +"en/elementary.js": +[{"locale":"en"},{"category":"Elementary","mappings":{"default":{"default":"logarithm","alternative":"logarithm function","short":"log"}},"key":"log","names":["log"]},{"category":"Elementary","mappings":{"default":{"default":"natural logarithm","alternative":"natural logarithm function","short":"natural log"},"mathspeak":{"default":"ln"}},"key":"ln","names":["ln"]},{"category":"Elementary","mappings":{"default":{"default":"logarithm base 10","short":"log base 10"}},"key":"lg","names":["lg"]},{"category":"Elementary","mappings":{"default":{"default":"exponential","alternative":"exponential function","short":"exp"}},"key":"exp","names":["exp","expt"]},{"category":"Elementary","mappings":{"default":{"default":"greatest common divisor","short":"gcd"}},"key":"gcd","names":["gcd"]},{"category":"Elementary","mappings":{"default":{"default":"least common multiple","short":"lcm"}},"key":"lcm","names":["lcm"]},{"category":"Complex","mappings":{"default":{"default":"argument","short":"arg"}},"key":"arg","names":["arg"]},{"category":"Complex","mappings":{"default":{"default":"imaginary part","short":"imaginary"},"mathspeak":{"default":"im"}},"key":"im","names":["im"]},{"category":"Complex","mappings":{"default":{"default":"real part","short":"real"},"mathspeak":{"default":"re"}},"key":"re","names":["re"]},{"category":"Limits","mappings":{"default":{"default":"infimum","short":"inf"}},"key":"inf","names":["inf"]},{"category":"Limits","mappings":{"default":{"default":"limit","short":"lim"},"mathspeak":{"default":"limit"}},"key":"lim","names":["lim"]},{"category":"Limits","mappings":{"default":{"default":"infimum default","alternative":"inferior limit","short":"liminf"}},"key":"liminf","names":["lim inf","liminf"]},{"category":"Limits","mappings":{"default":{"default":"supremum limit","alternative":"superior limit","short":"limsup"}},"key":"limsup","names":["lim sup","limsup"]},{"category":"Limits","mappings":{"default":{"default":"maximum","short":"max"}},"key":"max","names":["max"]},{"category":"Limits","mappings":{"default":{"default":"minimum","short":"min"}},"key":"min","names":["min"]},{"category":"Limits","mappings":{"default":{"default":"supremum","short":"sup"}},"key":"sup","names":["sup"]},{"category":"Limits","mappings":{"default":{"default":"injective limit","alternative":"direct limit","short":"colimit"}},"key":"injlim","names":["injlim","inj lim"]},{"category":"Limits","mappings":{"default":{"default":"projective limit","alternative":"inverse limit","short":"limit"}},"key":"projlim","names":["projlim","proj lim"]},{"category":"Elementary","mappings":{"default":{"default":"modulo","short":"mod"}},"key":"mod","names":["mod"]},{"category":"Probability","mappings":{"default":{"default":"probability"}},"key":"Pr","names":["Pr"]}] +, +"en/hyperbolic.js": +[{"locale":"en"},{"category":"Hyperbolic","mappings":{"default":{"default":"hyperbolic cosine function","short":"hyperbolic cosine"}},"key":"cosh","names":["cosh"]},{"category":"Hyperbolic","mappings":{"default":{"default":"hyperbolic cotangent function","short":"hyperbolic cotangent"}},"key":"coth","names":["coth"]},{"category":"Hyperbolic","mappings":{"default":{"default":"hyperbolic cosecant function","short":"hyperbolic cosecant"}},"key":"csch","names":["csch"]},{"category":"Hyperbolic","mappings":{"default":{"default":"hyperbolic secant function","short":"hyperbolic secant"}},"key":"sech","names":["sech"]},{"category":"Hyperbolic","mappings":{"default":{"default":"hyperbolic sine function","short":"hyperbolic sine"}},"key":"sinh","names":["sinh"]},{"category":"Hyperbolic","mappings":{"default":{"default":"hyperbolic tangent function","short":"hyperbolic tangent"}},"key":"tanh","names":["tanh"]},{"category":"Area","mappings":{"default":{"default":"inverse hyperbolic cosine function","alternative":"area hyperbolic cosine function","short":"area hyperbolic cosine"}},"key":"arcosh","names":["arcosh","arccosh"]},{"category":"Area","mappings":{"default":{"default":"inverse hyperbolic cotangent function","alternative":"area hyperbolic cotangent function","short":"area hyperbolic cotangent"}},"key":"arcoth","names":["arcoth","arccoth"]},{"category":"Area","mappings":{"default":{"default":"inverse hyperbolic cosecant function","alternative":"area hyperbolic cosecant function","short":"area hyperbolic cosecant"}},"key":"arcsch","names":["arcsch","arccsch"]},{"category":"Area","mappings":{"default":{"default":"inverse hyperbolic secant function","alternative":"area hyperbolic secant function","short":"area hyperbolic secant"}},"key":"arsech","names":["arsech","arcsech"]},{"category":"Area","mappings":{"default":{"default":"inverse hyperbolic sine function","alternative":"area hyperbolic sine function","short":"area hyperbolic sine"}},"key":"arsinh","names":["arsinh","arcsinh"]},{"category":"Area","mappings":{"default":{"default":"inverse hyperbolic tangent function","alternative":"area hyperbolic tangent function","short":"area hyperbolic tangent"}},"key":"artanh","names":["artanh","arctanh"]}] +, +"en/trigonometry.js": +[{"locale":"en"},{"category":"Trigonometric","mappings":{"default":{"default":"cosine function","short":"cosine"}},"key":"cos","names":["cos","cosine"]},{"category":"Trigonometric","mappings":{"default":{"default":"cotangent function","short":"cotangent"}},"key":"cot","names":["cot"]},{"category":"Trigonometric","mappings":{"default":{"default":"cosecant function","short":"cosecant"}},"key":"csc","names":["csc"]},{"category":"Trigonometric","mappings":{"default":{"default":"secant function","short":"secant"}},"key":"sec","names":["sec"]},{"category":"Trigonometric","mappings":{"default":{"default":"sine function","alternative":"sine function","short":"sine"}},"key":"sin","names":["sin","sine"]},{"category":"Trigonometric","mappings":{"default":{"default":"tangent function","short":"tangent"}},"key":"tan","names":["tan"]},{"category":"Cyclometric","mappings":{"default":{"default":"inverse cosine function","alternative":"arc cosine function","short":"arc cosine"}},"key":"arccos","names":["arccos"]},{"category":"Cyclometric","mappings":{"default":{"default":"inverse cotangent function","alternative":"arc cotangent function","short":"arc cotangent"}},"key":"arccot","names":["arccot"]},{"category":"Cyclometric","mappings":{"default":{"default":"inverse cosecant function","alternative":"arc cosecant function","short":"arc cosecant"}},"key":"arccsc","names":["arccsc"]},{"category":"Cyclometric","mappings":{"default":{"default":"inverse secant function","alternative":"arc secant function","short":"arc secant"}},"key":"arcsec","names":["arcsec"]},{"category":"Cyclometric","mappings":{"default":{"default":"inverse sine function","alternative":"arc sine function","short":"arc sine"}},"key":"arcsin","names":["arcsin"]},{"category":"Cyclometric","mappings":{"default":{"default":"inverse tangent function","alternative":"arc tangent function","short":"arc tangent"}},"key":"arctan","names":["arctan"]}] +, +"en/greek-capital.js": +[{"locale":"en"},{"category":"Lu","key":"0391","mappings":{"default":{"default":"greek capital letter alpha","short":"cap alpha"},"mathspeak":{"default":"upper Alpha"}}},{"category":"Lu","key":"0392","mappings":{"default":{"default":"greek capital letter beta","short":"cap beta"},"mathspeak":{"default":"upper Beta"}}},{"category":"Lu","key":"0393","mappings":{"default":{"default":"greek capital letter gamma","short":"cap gamma"},"mathspeak":{"default":"upper Gamma"}}},{"category":"Lu","key":"0394","mappings":{"default":{"default":"greek capital letter delta","short":"cap delta"},"mathspeak":{"default":"upper Delta"}}},{"category":"Lu","key":"0395","mappings":{"default":{"default":"greek capital letter epsilon","short":"cap epsilon"},"mathspeak":{"default":"upper Epsilon"}}},{"category":"Lu","key":"0396","mappings":{"default":{"default":"greek capital letter zeta","short":"cap zeta"},"mathspeak":{"default":"upper Zeta"}}},{"category":"Lu","key":"0397","mappings":{"default":{"default":"greek capital letter eta","short":"cap eta"},"mathspeak":{"default":"upper Eta"}}},{"category":"Lu","key":"0398","mappings":{"default":{"default":"greek capital letter theta","short":"cap theta"},"mathspeak":{"default":"upper Theta"}}},{"category":"Lu","key":"0399","mappings":{"default":{"default":"greek capital letter iota","short":"cap iota"},"mathspeak":{"default":"upper Iota"}}},{"category":"Lu","key":"039A","mappings":{"default":{"default":"greek capital letter kappa","short":"cap kappa"},"mathspeak":{"default":"upper Kappa"}}},{"category":"Lu","key":"039B","mappings":{"default":{"default":"greek capital letter lamda","alternative":"greek capital letter lambda","short":"cap lamda"},"mathspeak":{"default":"upper Lamda"}}},{"category":"Lu","key":"039C","mappings":{"default":{"default":"greek capital letter mu","short":"cap mu"},"mathspeak":{"default":"upper Mu"}}},{"category":"Lu","key":"039D","mappings":{"default":{"default":"greek capital letter nu","short":"cap nu"},"mathspeak":{"default":"upper Nu"}}},{"category":"Lu","key":"039E","mappings":{"default":{"default":"greek capital letter xi","short":"cap xi"},"mathspeak":{"default":"upper Xi"}}},{"category":"Lu","key":"039F","mappings":{"default":{"default":"greek capital letter omicron","short":"cap omicron"},"mathspeak":{"default":"upper Omicron"}}},{"category":"Lu","key":"03A0","mappings":{"default":{"default":"greek capital letter pi","short":"cap pi"},"mathspeak":{"default":"upper Pi"}}},{"category":"Lu","key":"03A1","mappings":{"default":{"default":"greek capital letter rho","short":"cap rho"},"mathspeak":{"default":"upper Rho"}}},{"category":"Lu","key":"03A3","mappings":{"default":{"default":"greek capital letter sigma","short":"cap sigma"},"mathspeak":{"default":"upper Sigma"}}},{"category":"Lu","key":"03A4","mappings":{"default":{"default":"greek capital letter tau","short":"cap tau"},"mathspeak":{"default":"upper Tau"}}},{"category":"Lu","key":"03A5","mappings":{"default":{"default":"greek capital letter upsilon","short":"cap upsilon"},"mathspeak":{"default":"upper Upsilon"}}},{"category":"Lu","key":"03A6","mappings":{"default":{"default":"greek capital letter phi","short":"cap phi"},"mathspeak":{"default":"upper Phi"}}},{"category":"Lu","key":"03A7","mappings":{"default":{"default":"greek capital letter chi","short":"cap chi"},"mathspeak":{"default":"upper Chi"}}},{"category":"Lu","key":"03A8","mappings":{"default":{"default":"greek capital letter psi","short":"cap psi"},"mathspeak":{"default":"upper Psi"}}},{"category":"Lu","key":"03A9","mappings":{"default":{"default":"greek capital letter omega","short":"cap omega"},"mathspeak":{"default":"upper Omega"}}}] +, +"en/greek-mathfonts-bold.js": +[{"locale":"en"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital alpha","alternative":"bold capital alpha","short":"bold cap alpha"},"mathspeak":{"default":"bold upper Alpha"}},"key":"1D6A8"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital beta","alternative":"bold capital beta","short":"bold cap beta"},"mathspeak":{"default":"bold upper Beta"}},"key":"1D6A9"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital gamma","alternative":"bold capital gamma","short":"bold cap gamma"},"mathspeak":{"default":"bold upper Gamma"}},"key":"1D6AA"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital delta","alternative":"bold capital delta","short":"bold cap delta"},"mathspeak":{"default":"bold upper Delta"}},"key":"1D6AB"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital epsilon","alternative":"bold capital epsilon","short":"bold cap epsilon"},"mathspeak":{"default":"bold upper Epsilon"}},"key":"1D6AC"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital zeta","alternative":"bold capital zeta","short":"bold cap zeta"},"mathspeak":{"default":"bold upper Zeta"}},"key":"1D6AD"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital eta","alternative":"bold capital eta","short":"bold cap eta"},"mathspeak":{"default":"bold upper Eta"}},"key":"1D6AE"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital theta","alternative":"bold capital theta","short":"bold cap theta"},"mathspeak":{"default":"bold upper Theta"}},"key":"1D6AF"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital iota","alternative":"bold capital iota","short":"bold cap iota"},"mathspeak":{"default":"bold upper Iota"}},"key":"1D6B0"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital kappa","alternative":"bold capital kappa","short":"bold cap kappa"},"mathspeak":{"default":"bold upper Kappa"}},"key":"1D6B1"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital lamda","alternative":"bold capital lamda","short":"bold cap lamda"},"mathspeak":{"default":"bold upper Lamda"}},"key":"1D6B2"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital mu","alternative":"bold capital mu","short":"bold cap mu"},"mathspeak":{"default":"bold upper Mu"}},"key":"1D6B3"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital nu","alternative":"bold capital nu","short":"bold cap nu"},"mathspeak":{"default":"bold upper Nu"}},"key":"1D6B4"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital xi","alternative":"bold capital xi","short":"bold cap xi"},"mathspeak":{"default":"bold upper Xi"}},"key":"1D6B5"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital omicron","alternative":"bold capital omicron","short":"bold cap omicron"},"mathspeak":{"default":"bold upper Omicron"}},"key":"1D6B6"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital pi","alternative":"bold capital pi","short":"bold cap pi"},"mathspeak":{"default":"bold upper Pi"}},"key":"1D6B7"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital rho","alternative":"bold capital rho","short":"bold cap rho"},"mathspeak":{"default":"bold upper Rho"}},"key":"1D6B8"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital sigma","alternative":"bold capital sigma","short":"bold cap sigma"},"mathspeak":{"default":"bold upper Sigma"}},"key":"1D6BA"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital tau","alternative":"bold capital tau","short":"bold cap tau"},"mathspeak":{"default":"bold upper Tau"}},"key":"1D6BB"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital upsilon","alternative":"bold capital upsilon","short":"bold cap upsilon"},"mathspeak":{"default":"bold upper Upsilon"}},"key":"1D6BC"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital phi","alternative":"bold capital phi","short":"bold cap phi"},"mathspeak":{"default":"bold upper Phi"}},"key":"1D6BD"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital chi","alternative":"bold capital chi","short":"bold cap chi"},"mathspeak":{"default":"bold upper Chi"}},"key":"1D6BE"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital psi","alternative":"bold capital psi","short":"bold cap psi"},"mathspeak":{"default":"bold upper Psi"}},"key":"1D6BF"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital omega","alternative":"bold capital omega","short":"bold cap omega"},"mathspeak":{"default":"bold upper Omega"}},"key":"1D6C0"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small alpha","alternative":"bold small alpha","short":"bold alpha"}},"key":"1D6C2"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small beta","alternative":"bold small beta","short":"bold beta"}},"key":"1D6C3"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small gamma","alternative":"bold small gamma","short":"bold gamma"}},"key":"1D6C4"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small delta","alternative":"bold small delta","short":"bold delta"}},"key":"1D6C5"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small epsilon","alternative":"bold small epsilon","short":"bold epsilon"}},"key":"1D6C6"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small zeta","alternative":"bold small zeta","short":"bold zeta"}},"key":"1D6C7"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small eta","alternative":"bold small eta","short":"bold eta"}},"key":"1D6C8"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small theta","alternative":"bold small theta","short":"bold theta"}},"key":"1D6C9"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small iota","alternative":"bold small iota","short":"bold iota"}},"key":"1D6CA"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small kappa","alternative":"bold small kappa","short":"bold kappa"}},"key":"1D6CB"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small lamda","alternative":"bold small lamda","short":"bold lamda"}},"key":"1D6CC"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small mu","alternative":"bold small mu","short":"bold mu"}},"key":"1D6CD"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small nu","alternative":"bold small nu","short":"bold nu"}},"key":"1D6CE"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small xi","alternative":"bold small xi","short":"bold xi"}},"key":"1D6CF"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small omicron","alternative":"bold small omicron","short":"bold omicron"}},"key":"1D6D0"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small pi","alternative":"bold small pi","short":"bold pi"}},"key":"1D6D1"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small rho","alternative":"bold small rho","short":"bold rho"}},"key":"1D6D2"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small final sigma","alternative":"bold small final sigma","short":"bold final sigma"}},"key":"1D6D3"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small sigma","alternative":"bold small sigma","short":"bold sigma"}},"key":"1D6D4"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small tau","alternative":"bold small tau","short":"bold tau"}},"key":"1D6D5"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small upsilon","alternative":"bold small upsilon","short":"bold upsilon"}},"key":"1D6D6"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small phi","alternative":"bold small phi","short":"bold phi"}},"key":"1D6D7"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small chi","alternative":"bold small chi","short":"bold chi"}},"key":"1D6D8"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small psi","alternative":"bold small psi","short":"bold psi"}},"key":"1D6D9"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small omega","alternative":"bold small omega","short":"bold omega"}},"key":"1D6DA"}] +, +"en/greek-mathfonts-italic.js": +[{"locale":"en"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital alpha","alternative":"italic capital alpha","short":"italic cap alpha"},"mathspeak":{"default":"italic upper Alpha"}},"key":"1D6E2"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital beta","alternative":"italic capital beta","short":"italic cap beta"},"mathspeak":{"default":"italic upper Beta"}},"key":"1D6E3"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital gamma","alternative":"italic capital gamma","short":"italic cap gamma"},"mathspeak":{"default":"italic upper Gamma"}},"key":"1D6E4"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital delta","alternative":"italic capital delta","short":"italic cap delta"},"mathspeak":{"default":"italic upper Delta"}},"key":"1D6E5"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital epsilon","alternative":"italic capital epsilon","short":"italic cap epsilon"},"mathspeak":{"default":"italic upper Epsilon"}},"key":"1D6E6"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital zeta","alternative":"italic capital zeta","short":"italic cap zeta"},"mathspeak":{"default":"italic upper Zeta"}},"key":"1D6E7"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital eta","alternative":"italic capital eta","short":"italic cap eta"},"mathspeak":{"default":"italic upper Eta"}},"key":"1D6E8"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital theta","alternative":"italic capital theta","short":"italic cap theta"},"mathspeak":{"default":"italic upper Theta"}},"key":"1D6E9"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital iota","alternative":"italic capital iota","short":"italic cap iota"},"mathspeak":{"default":"italic upper Iota"}},"key":"1D6EA"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital kappa","alternative":"italic capital kappa","short":"italic cap kappa"},"mathspeak":{"default":"italic upper Kappa"}},"key":"1D6EB"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital lamda","alternative":"italic capital lamda","short":"italic cap lamda"},"mathspeak":{"default":"italic upper Lamda"}},"key":"1D6EC"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital mu","alternative":"italic capital mu","short":"italic cap mu"},"mathspeak":{"default":"italic upper Mu"}},"key":"1D6ED"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital nu","alternative":"italic capital nu","short":"italic cap nu"},"mathspeak":{"default":"italic upper Nu"}},"key":"1D6EE"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital xi","alternative":"italic capital xi","short":"italic cap xi"},"mathspeak":{"default":"italic upper Xi"}},"key":"1D6EF"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital omicron","alternative":"italic capital omicron","short":"italic cap omicron"},"mathspeak":{"default":"italic upper Omicron"}},"key":"1D6F0"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital pi","alternative":"italic capital pi","short":"italic cap pi"},"mathspeak":{"default":"italic upper Pi"}},"key":"1D6F1"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital rho","alternative":"italic capital rho","short":"italic cap rho"},"mathspeak":{"default":"italic upper Rho"}},"key":"1D6F2"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital sigma","alternative":"italic capital sigma","short":"italic cap sigma"},"mathspeak":{"default":"italic upper Sigma"}},"key":"1D6F4"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital tau","alternative":"italic capital tau","short":"italic cap tau"},"mathspeak":{"default":"italic upper Tau"}},"key":"1D6F5"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital upsilon","alternative":"italic capital upsilon","short":"italic cap upsilon"},"mathspeak":{"default":"italic upper Upsilon"}},"key":"1D6F6"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital phi","alternative":"italic capital phi","short":"italic cap phi"},"mathspeak":{"default":"italic upper Phi"}},"key":"1D6F7"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital chi","alternative":"italic capital chi","short":"italic cap chi"},"mathspeak":{"default":"italic upper Chi"}},"key":"1D6F8"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital psi","alternative":"italic capital psi","short":"italic cap psi"},"mathspeak":{"default":"italic upper Psi"}},"key":"1D6F9"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital omega","alternative":"italic capital omega","short":"italic cap omega"},"mathspeak":{"default":"italic upper Omega"}},"key":"1D6FA"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small alpha","alternative":"italic small alpha","short":"italic alpha"}},"key":"1D6FC"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small beta","alternative":"italic small beta","short":"italic beta"}},"key":"1D6FD"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small gamma","alternative":"italic small gamma","short":"italic gamma"}},"key":"1D6FE"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small delta","alternative":"italic small delta","short":"italic delta"}},"key":"1D6FF"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small epsilon","alternative":"italic small epsilon","short":"italic epsilon"}},"key":"1D700"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small zeta","alternative":"italic small zeta","short":"italic zeta"}},"key":"1D701"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small eta","alternative":"italic small eta","short":"italic eta"}},"key":"1D702"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small theta","alternative":"italic small theta","short":"italic theta"}},"key":"1D703"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small iota","alternative":"italic small iota","short":"italic iota"}},"key":"1D704"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small kappa","alternative":"italic small kappa","short":"italic kappa"}},"key":"1D705"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small lamda","alternative":"italic small lamda","short":"italic lamda"}},"key":"1D706"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small mu","alternative":"italic small mu","short":"italic mu"}},"key":"1D707"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small nu","alternative":"italic small nu","short":"italic nu"}},"key":"1D708"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small xi","alternative":"italic small xi","short":"italic xi"}},"key":"1D709"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small omicron","alternative":"italic small omicron","short":"italic omicron"}},"key":"1D70A"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small pi","alternative":"italic small pi","short":"italic pi"}},"key":"1D70B"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small rho","alternative":"italic small rho","short":"italic rho"}},"key":"1D70C"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small final sigma","alternative":"italic small final sigma","short":"italic final sigma"}},"key":"1D70D"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small sigma","alternative":"italic small sigma","short":"italic sigma"}},"key":"1D70E"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small tau","alternative":"italic small tau","short":"italic tau"}},"key":"1D70F"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small upsilon","alternative":"italic small upsilon","short":"italic upsilon"}},"key":"1D710"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small phi","alternative":"italic small phi","short":"italic phi"}},"key":"1D711"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small chi","alternative":"italic small chi","short":"italic chi"}},"key":"1D712"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small psi","alternative":"italic small psi","short":"italic psi"}},"key":"1D713"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small omega","alternative":"italic small omega","short":"italic omega"}},"key":"1D714"}] +, +"en/greek-mathfonts-sans-serif-bold.js": +[{"locale":"en"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital alpha","alternative":"sans serif bold capital alpha","short":"sans serif bold cap alpha"},"mathspeak":{"default":"sans serif bold upper Alpha"}},"key":"1D756"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital beta","alternative":"sans serif bold capital beta","short":"sans serif bold cap beta"},"mathspeak":{"default":"sans serif bold upper Beta"}},"key":"1D757"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital gamma","alternative":"sans serif bold capital gamma","short":"sans serif bold cap gamma"},"mathspeak":{"default":"sans serif bold upper Gamma"}},"key":"1D758"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital delta","alternative":"sans serif bold capital delta","short":"sans serif bold cap delta"},"mathspeak":{"default":"sans serif bold upper Delta"}},"key":"1D759"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital epsilon","alternative":"sans serif bold capital epsilon","short":"sans serif bold cap epsilon"},"mathspeak":{"default":"sans serif bold upper Epsilon"}},"key":"1D75A"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital zeta","alternative":"sans serif bold capital zeta","short":"sans serif bold cap zeta"},"mathspeak":{"default":"sans serif bold upper Zeta"}},"key":"1D75B"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital eta","alternative":"sans serif bold capital eta","short":"sans serif bold cap eta"},"mathspeak":{"default":"sans serif bold upper Eta"}},"key":"1D75C"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital theta","alternative":"sans serif bold capital theta","short":"sans serif bold cap theta"},"mathspeak":{"default":"sans serif bold upper Theta"}},"key":"1D75D"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital iota","alternative":"sans serif bold capital iota","short":"sans serif bold cap iota"},"mathspeak":{"default":"sans serif bold upper Iota"}},"key":"1D75E"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital kappa","alternative":"sans serif bold capital kappa","short":"sans serif bold cap kappa"},"mathspeak":{"default":"sans serif bold upper Kappa"}},"key":"1D75F"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital lamda","alternative":"sans serif bold capital lamda","short":"sans serif bold cap lamda"},"mathspeak":{"default":"sans serif bold upper Lamda"}},"key":"1D760"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital mu","alternative":"sans serif bold capital mu","short":"sans serif bold cap mu"},"mathspeak":{"default":"sans serif bold upper Mu"}},"key":"1D761"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital nu","alternative":"sans serif bold capital nu","short":"sans serif bold cap nu"},"mathspeak":{"default":"sans serif bold upper Nu"}},"key":"1D762"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital xi","alternative":"sans serif bold capital xi","short":"sans serif bold cap xi"},"mathspeak":{"default":"sans serif bold upper Xi"}},"key":"1D763"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital omicron","alternative":"sans serif bold capital omicron","short":"sans serif bold cap omicron"},"mathspeak":{"default":"sans serif bold upper Omicron"}},"key":"1D764"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital pi","alternative":"sans serif bold capital pi","short":"sans serif bold cap pi"},"mathspeak":{"default":"sans serif bold upper Pi"}},"key":"1D765"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital rho","alternative":"sans serif bold capital rho","short":"sans serif bold cap rho"},"mathspeak":{"default":"sans serif bold upper Rho"}},"key":"1D766"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital sigma","alternative":"sans serif bold capital sigma","short":"sans serif bold cap sigma"},"mathspeak":{"default":"sans serif bold upper Sigma"}},"key":"1D768"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital tau","alternative":"sans serif bold capital tau","short":"sans serif bold cap tau"},"mathspeak":{"default":"sans serif bold upper Tau"}},"key":"1D769"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital upsilon","alternative":"sans serif bold capital upsilon","short":"sans serif bold cap upsilon"},"mathspeak":{"default":"sans serif bold upper Upsilon"}},"key":"1D76A"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital phi","alternative":"sans serif bold capital phi","short":"sans serif bold cap phi"},"mathspeak":{"default":"sans serif bold upper Phi"}},"key":"1D76B"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital chi","alternative":"sans serif bold capital chi","short":"sans serif bold cap chi"},"mathspeak":{"default":"sans serif bold upper Chi"}},"key":"1D76C"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital psi","alternative":"sans serif bold capital psi","short":"sans serif bold cap psi"},"mathspeak":{"default":"sans serif bold upper Psi"}},"key":"1D76D"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital omega","alternative":"sans serif bold capital omega","short":"sans serif bold cap omega"},"mathspeak":{"default":"sans serif bold upper Omega"}},"key":"1D76E"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small alpha","alternative":"sans serif bold small alpha","short":"sans serif bold alpha"}},"key":"1D770"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small beta","alternative":"sans serif bold small beta","short":"sans serif bold beta"}},"key":"1D771"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small gamma","alternative":"sans serif bold small gamma","short":"sans serif bold gamma"}},"key":"1D772"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small delta","alternative":"sans serif bold small delta","short":"sans serif bold delta"}},"key":"1D773"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small epsilon","alternative":"sans serif bold small epsilon","short":"sans serif bold epsilon"}},"key":"1D774"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small zeta","alternative":"sans serif bold small zeta","short":"sans serif bold zeta"}},"key":"1D775"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small eta","alternative":"sans serif bold small eta","short":"sans serif bold eta"}},"key":"1D776"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small theta","alternative":"sans serif bold small theta","short":"sans serif bold theta"}},"key":"1D777"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small iota","alternative":"sans serif bold small iota","short":"sans serif bold iota"}},"key":"1D778"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small kappa","alternative":"sans serif bold small kappa","short":"sans serif bold kappa"}},"key":"1D779"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small lamda","alternative":"sans serif bold small lamda","short":"sans serif bold lamda"}},"key":"1D77A"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small mu","alternative":"sans serif bold small mu","short":"sans serif bold mu"}},"key":"1D77B"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small nu","alternative":"sans serif bold small nu","short":"sans serif bold nu"}},"key":"1D77C"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small xi","alternative":"sans serif bold small xi","short":"sans serif bold xi"}},"key":"1D77D"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small omicron","alternative":"sans serif bold small omicron","short":"sans serif bold omicron"}},"key":"1D77E"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small pi","alternative":"sans serif bold small pi","short":"sans serif bold pi"}},"key":"1D77F"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small rho","alternative":"sans serif bold small rho","short":"sans serif bold rho"}},"key":"1D780"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small final sigma","alternative":"sans serif bold small final sigma","short":"sans serif bold final sigma"}},"key":"1D781"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small sigma","alternative":"sans serif bold small sigma","short":"sans serif bold sigma"}},"key":"1D782"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small tau","alternative":"sans serif bold small tau","short":"sans serif bold tau"}},"key":"1D783"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small upsilon","alternative":"sans serif bold small upsilon","short":"sans serif bold upsilon"}},"key":"1D784"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small phi","alternative":"sans serif bold small phi","short":"sans serif bold phi"}},"key":"1D785"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small chi","alternative":"sans serif bold small chi","short":"sans serif bold chi"}},"key":"1D786"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small psi","alternative":"sans serif bold small psi","short":"sans serif bold psi"}},"key":"1D787"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold small omega","alternative":"sans serif bold small omega","short":"sans serif bold omega"}},"key":"1D788"}] +, +"en/greek-scripts.js": +[{"locale":"en"},{"category":"Ll","key":"1D26","mappings":{"default":{"default":"greek letter small capital gamma","alternative":"greek letter gamma","short":"small cap gamma"},"mathspeak":{"default":"small upper Gamma"}}},{"category":"Ll","key":"1D27","mappings":{"default":{"default":"greek letter small capital lamda","alternative":"greek letter lamda","short":"small cap lamda"},"mathspeak":{"default":"small upper Lamda"}}},{"category":"Ll","key":"1D28","mappings":{"default":{"default":"greek letter small capital pi","alternative":"greek letter pi","short":"small cap pi"},"mathspeak":{"default":"small upper Pi"}}},{"category":"Ll","key":"1D29","mappings":{"default":{"default":"greek letter small capital rho","alternative":"greek letter rho","short":"small cap rho"},"mathspeak":{"default":"small upper Rho"}}},{"category":"Ll","key":"1D2A","mappings":{"default":{"default":"greek letter small capital psi","alternative":"greek letter psi","short":"small cap psi"},"mathspeak":{"default":"small upper Psi"}}},{"category":"Lm","key":"1D5E","mappings":{"default":{"default":"modifier letter small greek gamma","alternative":"greek letter superscript gamma","short":"superscript gamma"}}},{"category":"Lm","key":"1D60","mappings":{"default":{"default":"modifier letter small greek phi","alternative":"greek letter superscript phi","short":"superscript phi"}}},{"category":"Lm","key":"1D66","mappings":{"default":{"default":"greek subscript small letter beta","short":"subscript beta"}}},{"category":"Lm","key":"1D67","mappings":{"default":{"default":"greek subscript small letter gamma","alternative":"greek letter gamma","short":"subscript gamma"}}},{"category":"Lm","key":"1D68","mappings":{"default":{"default":"greek subscript small letter rho","alternative":"greek letter rho","short":"subscript rho"}}},{"category":"Lm","key":"1D69","mappings":{"default":{"default":"greek subscript small letter phi","alternative":"greek letter phi","short":"subscript phi"}}},{"category":"Lm","key":"1D6A","mappings":{"default":{"default":"greek subscript small letter chi","alternative":"greek letter chi","short":"subscript chi"}}}] +, +"en/greek-small.js": +[{"locale":"en"},{"category":"Ll","key":"03B1","mappings":{"default":{"default":"greek small letter alpha","short":"alpha"}}},{"category":"Ll","key":"03B2","mappings":{"default":{"default":"greek small letter beta","short":"beta"}}},{"category":"Ll","key":"03B3","mappings":{"default":{"default":"greek small letter gamma","short":"gamma"}}},{"category":"Ll","key":"03B4","mappings":{"default":{"default":"greek small letter delta","short":"delta"}}},{"category":"Ll","key":"03B5","mappings":{"default":{"default":"greek small letter epsilon","short":"epsilon"}}},{"category":"Ll","key":"03B6","mappings":{"default":{"default":"greek small letter zeta","short":"zeta"}}},{"category":"Ll","key":"03B7","mappings":{"default":{"default":"greek small letter eta","short":"eta"}}},{"category":"Ll","key":"03B8","mappings":{"default":{"default":"greek small letter theta","short":"theta"}}},{"category":"Ll","key":"03B9","mappings":{"default":{"default":"greek small letter iota","short":"iota"}}},{"category":"Ll","key":"03BA","mappings":{"default":{"default":"greek small letter kappa","short":"kappa"}}},{"category":"Ll","key":"03BB","mappings":{"default":{"default":"greek small letter lamda","alternative":"greek small letter lambda","short":"lamda"}}},{"category":"Ll","key":"03BC","mappings":{"default":{"default":"greek small letter mu","short":"mu"}}},{"category":"Ll","key":"03BD","mappings":{"default":{"default":"greek small letter nu","short":"nu"}}},{"category":"Ll","key":"03BE","mappings":{"default":{"default":"greek small letter xi","short":"xi"}}},{"category":"Ll","key":"03BF","mappings":{"default":{"default":"greek small letter omicron","short":"omicron"}}},{"category":"Ll","key":"03C0","mappings":{"default":{"default":"greek small letter pi","short":"pi"}}},{"category":"Ll","key":"03C1","mappings":{"default":{"default":"greek small letter rho","short":"rho"}}},{"category":"Ll","key":"03C2","mappings":{"default":{"default":"greek small letter final sigma","short":"final sigma"}}},{"category":"Ll","key":"03C3","mappings":{"default":{"default":"greek small letter sigma","short":"sigma"}}},{"category":"Ll","key":"03C4","mappings":{"default":{"default":"greek small letter tau","short":"tau"}}},{"category":"Ll","key":"03C5","mappings":{"default":{"default":"greek small letter upsilon","short":"upsilon"}}},{"category":"Ll","key":"03C6","mappings":{"default":{"default":"greek small letter phi","short":"phi"}}},{"category":"Ll","key":"03C7","mappings":{"default":{"default":"greek small letter chi","short":"chi"}}},{"category":"Ll","key":"03C8","mappings":{"default":{"default":"greek small letter psi","short":"psi"}}},{"category":"Ll","key":"03C9","mappings":{"default":{"default":"greek small letter omega","short":"omega"}}}] +, +"en/greek-symbols.js": +[{"locale":"en"},{"category":"Ll","mappings":{"default":{"default":"greek beta symbol","alternative":"greek small letter curled beta","short":"beta"}},"key":"03D0"},{"category":"Ll","mappings":{"default":{"default":"greek theta symbol","alternative":"greek small letter script theta","short":"theta"}},"key":"03D1"},{"category":"Ll","mappings":{"default":{"default":"greek phi symbol","alternative":"greek small letter script phi","short":"phi"}},"key":"03D5"},{"category":"Ll","mappings":{"default":{"default":"greek pi symbol","alternative":"greek small letter omega pi","short":"pi"}},"key":"03D6"},{"category":"Ll","mappings":{"default":{"default":"greek kai symbol","short":"kai"}},"key":"03D7"},{"category":"Ll","mappings":{"default":{"default":"greek kappa symbol","alternative":"greek small letter script kappa","short":"kappa"}},"key":"03F0"},{"category":"Ll","mappings":{"default":{"default":"greek rho symbol","alternative":"greek small letter tailed rho","short":"rho"}},"key":"03F1"},{"category":"Ll","mappings":{"default":{"default":"greek lunate epsilon symbol","short":"epsilon"}},"key":"03F5"},{"category":"Sm","mappings":{"default":{"default":"greek reversed lunate epsilon symbol","short":"reversed epsilon"}},"key":"03F6"},{"category":"Lu","mappings":{"default":{"default":"greek capital theta symbol","short":"cap theta"},"mathspeak":{"default":"upper Theta"}},"key":"03F4"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital theta symbol","alternative":"bold capital theta","short":"bold cap theta"},"mathspeak":{"default":"bold upper Theta"}},"key":"1D6B9"},{"category":"Lu","mappings":{"default":{"default":"mathematical italic capital theta symbol","alternative":"italic capital theta","short":"italic cap theta"},"mathspeak":{"default":"italic upper Theta"}},"key":"1D6F3"},{"category":"Lu","mappings":{"default":{"default":"mathematical sans serif bold capital theta symbol","alternative":"sans serif bold capital theta","short":"sans serif bold cap theta"},"mathspeak":{"default":"sans serif bold upper Theta"}},"key":"1D767"},{"category":"Sm","mappings":{"default":{"default":"mathematical bold nabla","alternative":"bold nabla"}},"key":"1D6C1"},{"category":"Sm","mappings":{"default":{"default":"mathematical bold partial differential","alternative":"bold partial differential","short":"bold partial differential"}},"key":"1D6DB"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold epsilon symbol","alternative":"bold epsilon","short":"bold epsilon"}},"key":"1D6DC"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold theta symbol","alternative":"bold theta","short":"bold theta"}},"key":"1D6DD"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold kappa symbol","alternative":"bold kappa","short":"bold kappa"}},"key":"1D6DE"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold phi symbol","alternative":"bold phi","short":"bold phi"}},"key":"1D6DF"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold rho symbol","alternative":"bold rho","short":"bold rho"}},"key":"1D6E0"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold pi symbol","alternative":"bold pi","short":"bold pi"}},"key":"1D6E1"},{"category":"Sm","mappings":{"default":{"default":"mathematical italic nabla","alternative":"italic nabla","short":"italic nabla"}},"key":"1D6FB"},{"category":"Sm","mappings":{"default":{"default":"mathematical italic partial differential","alternative":"italic partial differential","short":"italic partial differential"}},"key":"1D715"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic epsilon symbol","alternative":"italic epsilon","short":"italic epsilon"}},"key":"1D716"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic theta symbol","alternative":"italic theta","short":"italic theta"}},"key":"1D717"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic kappa symbol","alternative":"italic kappa","short":"italic kappa"}},"key":"1D718"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic phi symbol","alternative":"italic phi","short":"italic phi"}},"key":"1D719"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic rho symbol","alternative":"italic rho","short":"italic rho"}},"key":"1D71A"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic pi symbol","alternative":"italic pi","short":"italic pi"}},"key":"1D71B"},{"category":"Sm","mappings":{"default":{"default":"mathematical sans serif bold nabla","alternative":"sans serif bold nabla","short":"sans serif bold nabla"}},"key":"1D76F"},{"category":"Sm","mappings":{"default":{"default":"mathematical sans serif bold partial differential","alternative":"sans serif bold partial differential","short":"sans serif bold partial differential"}},"key":"1D789"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold epsilon symbol","alternative":"sans serif bold epsilon","short":"sans serif bold epsilon"}},"key":"1D78A"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold theta symbol","alternative":"sans serif bold theta","short":"sans serif bold theta"}},"key":"1D78B"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold kappa symbol","alternative":"sans serif bold kappa","short":"sans serif bold kappa"}},"key":"1D78C"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold phi symbol","alternative":"sans serif bold phi","short":"sans serif bold phi"}},"key":"1D78D"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold rho symbol","alternative":"sans serif bold rho","short":"sans serif bold rho"}},"key":"1D78E"},{"category":"Ll","mappings":{"default":{"default":"mathematical sans serif bold pi symbol","alternative":"sans serif bold pi","short":"sans serif bold pi"}},"key":"1D78F"},{"category":"Lu","mappings":{"default":{"default":"mathematical bold capital digamma","alternative":"bold capital digamma","short":"bold cap digamma"},"mathspeak":{"default":"bold upper Digamma"}},"key":"1D7CA"},{"category":"Ll","mappings":{"default":{"default":"mathematical bold small digamma","alternative":"bold small digamma","short":"bold digamma"}},"key":"1D7CB"}] +, +"en/hebrew_letters.js": +[{"locale":"en"},{"category":"Lo","mappings":{"default":{"default":"alef symbol","alternative":"first transfinite cardinal","short":"alef"}},"key":"2135"},{"category":"Lo","mappings":{"default":{"default":"bet symbol","alternative":"second transfinite cardinal","short":"bet"}},"key":"2136"},{"category":"Lo","mappings":{"default":{"default":"gimel symbol","alternative":"third transfinite cardinal","short":"gimel"}},"key":"2137"},{"category":"Lo","mappings":{"default":{"default":"dalet symbol","alternative":"fourth transfinite cardinal","short":"dalet"}},"key":"2138"}] +, +"en/latin-lower-double-accent.js": +[{"locale":"en"},{"category":"Ll","key":"01D6","mappings":{"default":{"default":"latin small letter u with diaeresis and macron","alternative":"latin small letter u double overdot overbar","short":"u double overdot overbar"}}},{"category":"Ll","key":"01D8","mappings":{"default":{"default":"latin small letter u with diaeresis and acute","alternative":"latin small letter u double overdot acute","short":"u double overdot acute"}}},{"category":"Ll","key":"01DA","mappings":{"default":{"default":"latin small letter u with diaeresis and caron","alternative":"latin small letter u double overdot hacek","short":"u double overdot caron"}}},{"category":"Ll","key":"01DC","mappings":{"default":{"default":"latin small letter u with diaeresis and grave","alternative":"latin small letter u double overdot grave","short":"u double overdot grave"}}},{"category":"Ll","key":"01DF","mappings":{"default":{"default":"latin small letter a with diaeresis and macron","alternative":"latin small letter a double overdot overbar","short":"a double overdot overbar"}}},{"category":"Ll","key":"01E1","mappings":{"default":{"default":"latin small letter a with dot above and macron","alternative":"latin small letter a dot overbar","short":"a overdot overbar"}}},{"category":"Ll","key":"01ED","mappings":{"default":{"default":"latin small letter o with ogonek and macron","alternative":"latin small letter o ogonek overbar","short":"o ogonek overbar"}}},{"category":"Ll","key":"01FB","mappings":{"default":{"default":"latin small letter a with ring above and acute","alternative":"latin small letter a ring above acute","short":"a ring above acute"}}},{"category":"Ll","key":"022B","mappings":{"default":{"default":"latin small letter o with diaeresis and macron","alternative":"latin small letter o double overdot overbar","short":"o double overdot overbar"}}},{"category":"Ll","key":"022D","mappings":{"default":{"default":"latin small letter o with tilde and macron","alternative":"latin small letter o tilde overbar","short":"o tilde overbar"}}},{"category":"Ll","key":"0231","mappings":{"default":{"default":"latin small letter o with dot above and macron","alternative":"latin small letter o overdot overbar","short":"o overdot overbar"}}},{"category":"Ll","key":"1E09","mappings":{"default":{"default":"latin small letter c with cedilla and acute","alternative":"latin small letter c cedilla acute","short":"c cedilla acute"}}},{"category":"Ll","key":"1E15","mappings":{"default":{"default":"latin small letter e with macron and grave","alternative":"latin small letter e overbar grave","short":"e overbar grave"}}},{"category":"Ll","key":"1E17","mappings":{"default":{"default":"latin small letter e with macron and acute","alternative":"latin small letter e overbar acute","short":"e overbar acute"}}},{"category":"Ll","key":"1E1D","mappings":{"default":{"default":"latin small letter e with cedilla and breve","alternative":"latin small letter e cedilla breve","short":"e cedilla breve"}}},{"category":"Ll","key":"1E2F","mappings":{"default":{"default":"latin small letter i with diaeresis and acute","alternative":"latin small letter i double overdot acute","short":"i double overdot acute"}}},{"category":"Ll","key":"1E39","mappings":{"default":{"default":"latin small letter l with dot below and macron","alternative":"latin small letter l underdot overbar","short":"l underdot overbar"}}},{"category":"Ll","key":"1E4D","mappings":{"default":{"default":"latin small letter o with tilde and acute","alternative":"latin small letter o tilde acute","short":"o tilde acute"}}},{"category":"Ll","key":"1E4F","mappings":{"default":{"default":"latin small letter o with tilde and diaeresis","alternative":"latin small letter o tilde double overdot","short":"o tilde double overdot"}}},{"category":"Ll","key":"1E51","mappings":{"default":{"default":"latin small letter o with macron and grave","alternative":"latin small letter o overbar grave","short":"o overbar grave"}}},{"category":"Ll","key":"1E53","mappings":{"default":{"default":"latin small letter o with macron and acute","alternative":"latin small letter o overbar acute","short":"o overbar acute"}}},{"category":"Ll","key":"1E5D","mappings":{"default":{"default":"latin small letter r with dot below and macron","alternative":"latin small letter r underdot overbar","short":"r underdot overbar"}}},{"category":"Ll","key":"1E65","mappings":{"default":{"default":"latin small letter s with acute and dot above","alternative":"latin small letter s acute overdot","short":"s acute overdot"}}},{"category":"Ll","key":"1E67","mappings":{"default":{"default":"latin small letter s with caron and dot above","alternative":"latin small letter s caron overdot","short":"s caron overdot"}}},{"category":"Ll","key":"1E69","mappings":{"default":{"default":"latin small letter s with dot below and dot above","alternative":"latin small letter s underdot overdot","short":"s underdot overdot"}}},{"category":"Ll","key":"1E79","mappings":{"default":{"default":"latin small letter u with tilde and acute","alternative":"latin small letter u tilde acute","short":"u tilde acute"}}},{"category":"Ll","key":"1E7B","mappings":{"default":{"default":"latin small letter u with macron and diaeresis","alternative":"latin small letter u overbar double overdot","short":"u overbar double overdot"}}},{"category":"Ll","key":"1EA5","mappings":{"default":{"default":"latin small letter a with circumflex and acute","alternative":"latin small letter a hat acute","short":"a hat acute"}}},{"category":"Ll","key":"1EA7","mappings":{"default":{"default":"latin small letter a with circumflex and grave","alternative":"latin small letter a hat grave","short":"a hat grave"}}},{"category":"Ll","key":"1EA9","mappings":{"default":{"default":"latin small letter a with circumflex and hook above","alternative":"latin small letter a hat hook above","short":"a hat hook above"}}},{"category":"Ll","key":"1EAB","mappings":{"default":{"default":"latin small letter a with circumflex and tilde","alternative":"latin small letter a hat tilde","short":"a hat tilde"}}},{"category":"Ll","key":"1EAD","mappings":{"default":{"default":"latin small letter a with circumflex and dot below","alternative":"latin small letter a hat underdot","short":"a hat underdot"}}},{"category":"Ll","key":"1EAF","mappings":{"default":{"default":"latin small letter a with breve and acute","alternative":"latin small letter a breve acute","short":"a breve acute"}}},{"category":"Ll","key":"1EB1","mappings":{"default":{"default":"latin small letter a with breve and grave","alternative":"latin small letter a breve grave","short":"a breve grave"}}},{"category":"Ll","key":"1EB3","mappings":{"default":{"default":"latin small letter a with breve and hook above","alternative":"latin small letter a breve hook above","short":"a breve hook above"}}},{"category":"Ll","key":"1EB5","mappings":{"default":{"default":"latin small letter a with breve and tilde","alternative":"latin small letter a breve tilde","short":"a breve tilde"}}},{"category":"Ll","key":"1EB7","mappings":{"default":{"default":"latin small letter a with breve and dot below","alternative":"latin small letter a breve underdot","short":"a breve underdot"}}},{"category":"Ll","key":"1EBF","mappings":{"default":{"default":"latin small letter e with circumflex and acute","alternative":"latin small letter e hat acute","short":"e hat acute"}}},{"category":"Ll","key":"1EC1","mappings":{"default":{"default":"latin small letter e with circumflex and grave","alternative":"latin small letter e hat grave","short":"e hat grave"}}},{"category":"Ll","key":"1EC3","mappings":{"default":{"default":"latin small letter e with circumflex and hook above","alternative":"latin small letter e hat hook above","short":"e hat hook above"}}},{"category":"Ll","key":"1EC5","mappings":{"default":{"default":"latin small letter e with circumflex and tilde","alternative":"latin small letter e hat tilde","short":"e hat tilde"}}},{"category":"Ll","key":"1EC7","mappings":{"default":{"default":"latin small letter e with circumflex and dot below","alternative":"latin small letter e hat underdot","short":"e hat underdot"}}},{"category":"Ll","key":"1ED1","mappings":{"default":{"default":"latin small letter o with circumflex and acute","alternative":"latin small letter o hat acute","short":"o hat acute"}}},{"category":"Ll","key":"1ED3","mappings":{"default":{"default":"latin small letter o with circumflex and grave","alternative":"latin small letter o hat grave","short":"o hat grave"}}},{"category":"Ll","key":"1ED5","mappings":{"default":{"default":"latin small letter o with circumflex and hook above","alternative":"latin small letter o hat hook above","short":"o hat hook above"}}},{"category":"Ll","key":"1ED7","mappings":{"default":{"default":"latin small letter o with circumflex and tilde","alternative":"latin small letter o hat tilde","short":"o hat tilde"}}},{"category":"Ll","key":"1ED9","mappings":{"default":{"default":"latin small letter o with circumflex and dot below","alternative":"latin small letter o hat underdot","short":"o hat underdot"}}},{"category":"Ll","key":"1EDB","mappings":{"default":{"default":"latin small letter o with horn and acute","alternative":"latin small letter o acute prime","short":"o acute prime"}}},{"category":"Ll","key":"1EDD","mappings":{"default":{"default":"latin small letter o with horn and grave","alternative":"latin small letter o grave prime","short":"o grave prime"}}},{"category":"Ll","key":"1EDF","mappings":{"default":{"default":"latin small letter o with horn and hook above","alternative":"latin small letter o hook above prime","short":"o hook above prime"}}},{"category":"Ll","key":"1EE1","mappings":{"default":{"default":"latin small letter o with horn and tilde","alternative":"latin small letter o tilde prime","short":"o tilde prime"}}},{"category":"Ll","key":"1EE3","mappings":{"default":{"default":"latin small letter o with horn and dot below","alternative":"latin small letter o underdot prime","short":"o underdot prime"}}},{"category":"Ll","key":"1EE9","mappings":{"default":{"default":"latin small letter u with horn and acute","alternative":"latin small letter u acute prime","short":"u acute prime"}}},{"category":"Ll","key":"1EEB","mappings":{"default":{"default":"latin small letter u with horn and grave","alternative":"latin small letter u grave prime","short":"u grave prime"}}},{"category":"Ll","key":"1EED","mappings":{"default":{"default":"latin small letter u with horn and hook above","alternative":"latin small letter u hook above prime","short":"u hook above prime"}}},{"category":"Ll","key":"1EEF","mappings":{"default":{"default":"latin small letter u with horn and tilde","alternative":"latin small letter u tilde prime","short":"u tilde prime"}}},{"category":"Ll","key":"1EF1","mappings":{"default":{"default":"latin small letter u with horn and dot below","alternative":"latin small letter u underdot prime","short":"u underdot prime"}}}] +, +"en/latin-lower-normal.js": +[{"locale":"en"},{"category":"Ll","key":"0061","mappings":{"default":{"default":"latin small letter a","short":"a"}}},{"category":"Ll","key":"0062","mappings":{"default":{"default":"latin small letter b","short":"b"}}},{"category":"Ll","key":"0063","mappings":{"default":{"default":"latin small letter c","short":"c"}}},{"category":"Ll","key":"0064","mappings":{"default":{"default":"latin small letter d","short":"d"}}},{"category":"Ll","key":"0065","mappings":{"default":{"default":"latin small letter e","short":"e"}}},{"category":"Ll","key":"0066","mappings":{"default":{"default":"latin small letter f","short":"f"}}},{"category":"Ll","key":"0067","mappings":{"default":{"default":"latin small letter g","short":"g"}}},{"category":"Ll","key":"0068","mappings":{"default":{"default":"latin small letter h","short":"h"}}},{"category":"Ll","key":"0069","mappings":{"default":{"default":"latin small letter i","short":"i"}}},{"category":"Ll","key":"006A","mappings":{"default":{"default":"latin small letter j","short":"j"}}},{"category":"Ll","key":"006B","mappings":{"default":{"default":"latin small letter k","short":"k"}}},{"category":"Ll","key":"006C","mappings":{"default":{"default":"latin small letter l","short":"l"}}},{"category":"Ll","key":"006D","mappings":{"default":{"default":"latin small letter m","short":"m"}}},{"category":"Ll","key":"006E","mappings":{"default":{"default":"latin small letter n","short":"n"}}},{"category":"Ll","key":"006F","mappings":{"default":{"default":"latin small letter o","short":"o"}}},{"category":"Ll","key":"0070","mappings":{"default":{"default":"latin small letter p","short":"p"}}},{"category":"Ll","key":"0071","mappings":{"default":{"default":"latin small letter q","short":"q"}}},{"category":"Ll","key":"0072","mappings":{"default":{"default":"latin small letter r","short":"r"}}},{"category":"Ll","key":"0073","mappings":{"default":{"default":"latin small letter s","short":"s"}}},{"category":"Ll","key":"0074","mappings":{"default":{"default":"latin small letter t","short":"t"}}},{"category":"Ll","key":"0075","mappings":{"default":{"default":"latin small letter u","short":"u"}}},{"category":"Ll","key":"0076","mappings":{"default":{"default":"latin small letter v","short":"v"}}},{"category":"Ll","key":"0077","mappings":{"default":{"default":"latin small letter w","short":"w"}}},{"category":"Ll","key":"0078","mappings":{"default":{"default":"latin small letter x","short":"x"}}},{"category":"Ll","key":"0079","mappings":{"default":{"default":"latin small letter y","short":"y"}}},{"category":"Ll","key":"007A","mappings":{"default":{"default":"latin small letter z","short":"z"}}},{"category":"Ll","key":"FF41","mappings":{"default":{"default":"fullwidth latin small letter a","short":"a"}}},{"category":"Ll","key":"FF42","mappings":{"default":{"default":"fullwidth latin small letter b","short":"b"}}},{"category":"Ll","key":"FF43","mappings":{"default":{"default":"fullwidth latin small letter c","short":"c"}}},{"category":"Ll","key":"FF44","mappings":{"default":{"default":"fullwidth latin small letter d","short":"d"}}},{"category":"Ll","key":"FF45","mappings":{"default":{"default":"fullwidth latin small letter e","short":"e"}}},{"category":"Ll","key":"FF46","mappings":{"default":{"default":"fullwidth latin small letter f","short":"f"}}},{"category":"Ll","key":"FF47","mappings":{"default":{"default":"fullwidth latin small letter g","short":"g"}}},{"category":"Ll","key":"FF48","mappings":{"default":{"default":"fullwidth latin small letter h","short":"h"}}},{"category":"Ll","key":"FF49","mappings":{"default":{"default":"fullwidth latin small letter i","short":"i"}}},{"category":"Ll","key":"FF4A","mappings":{"default":{"default":"fullwidth latin small letter j","short":"j"}}},{"category":"Ll","key":"FF4B","mappings":{"default":{"default":"fullwidth latin small letter k","short":"k"}}},{"category":"Ll","key":"FF4C","mappings":{"default":{"default":"fullwidth latin small letter l","short":"l"}}},{"category":"Ll","key":"FF4D","mappings":{"default":{"default":"fullwidth latin small letter m","short":"m"}}},{"category":"Ll","key":"FF4E","mappings":{"default":{"default":"fullwidth latin small letter n","short":"n"}}},{"category":"Ll","key":"FF4F","mappings":{"default":{"default":"fullwidth latin small letter o","short":"o"}}},{"category":"Ll","key":"FF50","mappings":{"default":{"default":"fullwidth latin small letter p","short":"p"}}},{"category":"Ll","key":"FF51","mappings":{"default":{"default":"fullwidth latin small letter q","short":"q"}}},{"category":"Ll","key":"FF52","mappings":{"default":{"default":"fullwidth latin small letter r","short":"r"}}},{"category":"Ll","key":"FF53","mappings":{"default":{"default":"fullwidth latin small letter s","short":"s"}}},{"category":"Ll","key":"FF54","mappings":{"default":{"default":"fullwidth latin small letter t","short":"t"}}},{"category":"Ll","key":"FF55","mappings":{"default":{"default":"fullwidth latin small letter u","short":"u"}}},{"category":"Ll","key":"FF56","mappings":{"default":{"default":"fullwidth latin small letter v","short":"v"}}},{"category":"Ll","key":"FF57","mappings":{"default":{"default":"fullwidth latin small letter w","short":"w"}}},{"category":"Ll","key":"FF58","mappings":{"default":{"default":"fullwidth latin small letter x","short":"x"}}},{"category":"Ll","key":"FF59","mappings":{"default":{"default":"fullwidth latin small letter y","short":"y"}}},{"category":"Ll","key":"FF5A","mappings":{"default":{"default":"fullwidth latin small letter z","short":"z"}}}] +, +"en/latin-lower-phonetic.js": +[{"locale":"en"},{"category":"Ll","key":"00F8","mappings":{"default":{"default":"latin small letter o with stroke","alternative":"latin small letter o slash","short":"o with stroke"}}},{"category":"Ll","key":"0111","mappings":{"default":{"default":"latin small letter d with stroke","alternative":"latin small letter d bar","short":"d with stroke"}}},{"category":"Ll","key":"0127","mappings":{"default":{"default":"latin small letter h with stroke","alternative":"latin small letter h bar","short":"h with stroke"}}},{"category":"Ll","key":"0142","mappings":{"default":{"default":"latin small letter l with stroke","alternative":"latin small letter l slash","short":"l with stroke"}}},{"category":"Ll","key":"0167","mappings":{"default":{"default":"latin small letter t with stroke","alternative":"latin small letter t bar","short":"t with stroke"}}},{"category":"Ll","key":"0180","mappings":{"default":{"default":"latin small letter b with stroke","alternative":"latin small letter b bar","short":"b with stroke"}}},{"category":"Ll","key":"019B","mappings":{"default":{"default":"latin small letter lambda with stroke","alternative":"latin small letter barred lambda","short":"lambda with stroke"}}},{"category":"Ll","key":"01B6","mappings":{"default":{"default":"latin small letter z with stroke","alternative":"latin small letter z bar","short":"z with stroke"}}},{"category":"Ll","key":"01BE","mappings":{"default":{"default":"latin letter inverted glottal stop with stroke","alternative":"latin letter inverted glottal stop bar","short":"latin letter inverted glottal stop with stroke"}}},{"category":"Ll","key":"01E5","mappings":{"default":{"default":"latin small letter g with stroke","alternative":"latin small letter g bar","short":"g with stroke"}}},{"category":"Ll","key":"01FF","mappings":{"default":{"default":"latin small letter o with stroke and acute","short":"o with stroke and acute"}}},{"category":"Ll","key":"023C","mappings":{"default":{"default":"latin small letter c with stroke","short":"c with stroke"}}},{"category":"Ll","key":"0247","mappings":{"default":{"default":"latin small letter e with stroke","short":"e with stroke"}}},{"category":"Ll","key":"0249","mappings":{"default":{"default":"latin small letter j with stroke","short":"j with stroke"}}},{"category":"Ll","key":"024D","mappings":{"default":{"default":"latin small letter r with stroke","short":"r with stroke"}}},{"category":"Ll","key":"024F","mappings":{"default":{"default":"latin small letter y with stroke","short":"y with stroke"}}},{"category":"Ll","key":"025F","mappings":{"default":{"default":"latin small letter dotless j with stroke","alternative":"latin small letter dotless j bar","short":"dotless j with stroke"}}},{"category":"Ll","key":"0268","mappings":{"default":{"default":"latin small letter i with stroke","alternative":"latin small letter barred i","short":"i with stroke"}}},{"category":"Ll","key":"0284","mappings":{"default":{"default":"latin small letter dotless j with stroke and hook","alternative":"latin small letter dotless j bar hook","short":"dotless j with stroke and hook"}}},{"category":"Ll","key":"02A1","mappings":{"default":{"default":"latin letter glottal stop with stroke","alternative":"latin letter glottal stop bar","short":"latin letter glottal stop with stroke"}}},{"category":"Ll","key":"02A2","mappings":{"default":{"default":"latin letter reversed glottal stop with stroke","alternative":"latin letter reversed glottal stop bar","short":"latin letter reversed glottal stop with stroke"}}},{"category":"Ll","key":"1D13","mappings":{"default":{"default":"latin small letter sideways o with stroke","short":"sideways o with stroke"}}},{"category":"Ll","key":"1D7C","mappings":{"default":{"default":"latin small letter iota with stroke","short":"iota with stroke"}}},{"category":"Ll","key":"1D7D","mappings":{"default":{"default":"latin small letter p with stroke","short":"p with stroke"}}},{"category":"Ll","key":"1D7F","mappings":{"default":{"default":"latin small letter upsilon with stroke","short":"upsilon with stroke"}}},{"category":"Ll","key":"1E9C","mappings":{"default":{"default":"latin small letter long s with diagonal stroke","short":"long s with diagonal stroke"}}},{"category":"Ll","key":"1E9D","mappings":{"default":{"default":"latin small letter long s with high stroke","short":"long s with high stroke"}}},{"category":"Ll","key":"018D","mappings":{"default":{"default":"latin small letter turned delta","short":"turned delta"}}},{"category":"Ll","key":"1E9B","mappings":{"default":{"default":"latin small letter long s with dot above","short":"long s with dot above"}}},{"category":"Ll","key":"1E9F","mappings":{"default":{"default":"latin small letter delta","short":"delta"}}},{"category":"Ll","key":"0138","mappings":{"default":{"default":"latin small letter kra","short":"kra"}}},{"category":"Ll","key":"017F","mappings":{"default":{"default":"latin small letter long s","short":"long s"}}},{"category":"Ll","key":"0183","mappings":{"default":{"default":"latin small letter b with topbar","alternative":"latin small letter b topbar","short":"b with topbar"}}},{"category":"Ll","key":"0185","mappings":{"default":{"default":"latin small letter tone six","short":"tone six"}}},{"category":"Ll","key":"0188","mappings":{"default":{"default":"latin small letter c with hook","alternative":"latin small letter c hook","short":"c with hook"}}},{"category":"Ll","key":"018C","mappings":{"default":{"default":"latin small letter d with topbar","alternative":"latin small letter d topbar","short":"d with topbar"}}},{"category":"Ll","key":"0192","mappings":{"default":{"default":"latin small letter f with hook","alternative":"latin small letter script f","short":"f with hook"}}},{"category":"Ll","key":"0195","mappings":{"default":{"default":"latin small letter hv","alternative":"latin small letter h v","short":"hv"}}},{"category":"Ll","key":"0199","mappings":{"default":{"default":"latin small letter k with hook","alternative":"latin small letter k hook","short":"k with hook"}}},{"category":"Ll","key":"019A","mappings":{"default":{"default":"latin small letter l with bar","alternative":"latin small letter barred l","short":"l with bar"}}},{"category":"Ll","key":"019E","mappings":{"default":{"default":"latin small letter n with long right leg","short":"n with long right leg"}}},{"category":"Ll","key":"01A1","mappings":{"default":{"default":"latin small letter o with horn","alternative":"latin small letter o horn","short":"o with horn"}}},{"category":"Ll","key":"01A3","mappings":{"default":{"default":"latin small letter oi","alternative":"latin small letter o i","short":"oi"}}},{"category":"Ll","key":"01A5","mappings":{"default":{"default":"latin small letter p with hook","alternative":"latin small letter p hook","short":"p with hook"}}},{"category":"Ll","key":"01A8","mappings":{"default":{"default":"latin small letter tone two","short":"tone two"}}},{"category":"Ll","key":"01AA","mappings":{"default":{"default":"latin letter reversed esh loop","short":"latin letter reversed esh loop"}}},{"category":"Ll","key":"01AB","mappings":{"default":{"default":"latin small letter t with palatal hook","alternative":"latin small letter t palatal hook","short":"t with palatal hook"}}},{"category":"Ll","key":"01AD","mappings":{"default":{"default":"latin small letter t with hook","alternative":"latin small letter t hook","short":"t with hook"}}},{"category":"Ll","key":"01B0","mappings":{"default":{"default":"latin small letter u with horn","alternative":"latin small letter u horn","short":"u with horn"}}},{"category":"Ll","key":"01B4","mappings":{"default":{"default":"latin small letter y with hook","alternative":"latin small letter y hook","short":"y with hook"}}},{"category":"Ll","key":"01B9","mappings":{"default":{"default":"latin small letter ezh reversed","alternative":"latin small letter reversed yogh","short":"ezh reversed"}}},{"category":"Ll","key":"01BA","mappings":{"default":{"default":"latin small letter ezh with tail","alternative":"latin small letter yogh with tail","short":"ezh with tail"}}},{"category":"Ll","key":"01BD","mappings":{"default":{"default":"latin small letter tone five","short":"tone five"}}},{"category":"Ll","key":"01BF","mappings":{"default":{"default":"latin letter wynn","short":"latin letter wynn"}}},{"category":"Ll","key":"01C6","mappings":{"default":{"default":"latin small letter dz with caron","alternative":"latin small letter d z hacek","short":"dz with caron"}}},{"category":"Ll","key":"01C9","mappings":{"default":{"default":"latin small letter lj","alternative":"latin small letter l j","short":"lj"}}},{"category":"Ll","key":"01CC","mappings":{"default":{"default":"latin small letter nj","alternative":"latin small letter n j","short":"nj"}}},{"category":"Ll","key":"01E3","mappings":{"default":{"default":"latin small letter ae with macron","alternative":"latin small letter a e macron","short":"ae with macron"}}},{"category":"Ll","key":"01EF","mappings":{"default":{"default":"latin small letter ezh with caron","alternative":"latin small letter yogh hacek","short":"ezh with caron"}}},{"category":"Ll","key":"01F3","mappings":{"default":{"default":"latin small letter dz","short":"dz"}}},{"category":"Ll","key":"021D","mappings":{"default":{"default":"latin small letter yogh","short":"yogh"}}},{"category":"Ll","key":"026E","mappings":{"default":{"default":"latin small letter lezh","alternative":"latin small letter l yogh","short":"lezh"}}},{"category":"Ll","key":"0292","mappings":{"default":{"default":"latin small letter ezh","alternative":"latin small letter yogh","short":"ezh"}}},{"category":"Ll","key":"0293","mappings":{"default":{"default":"latin small letter ezh with curl","alternative":"latin small letter yogh curl","short":"ezh with curl"}}},{"category":"Ll","key":"02A4","mappings":{"default":{"default":"latin small letter dezh digraph","alternative":"latin small letter d yogh","short":"dezh digraph"}}},{"category":"Ll","key":"01DD","mappings":{"default":{"default":"latin small letter turned e","short":"turned e"}}},{"category":"Ll","key":"01FD","mappings":{"default":{"default":"latin small letter ae with acute","short":"ae with acute"}}},{"category":"Ll","key":"021D","mappings":{"default":{"default":"latin small letter yogh","short":"yogh"}}},{"category":"Ll","key":"0221","mappings":{"default":{"default":"latin small letter d with curl","short":"d with curl"}}},{"category":"Ll","key":"0223","mappings":{"default":{"default":"latin small letter ou","short":"ou"}}},{"category":"Ll","key":"0225","mappings":{"default":{"default":"latin small letter z with hook","short":"z with hook"}}},{"category":"Ll","key":"0234","mappings":{"default":{"default":"latin small letter l with curl","short":"l with curl"}}},{"category":"Ll","key":"0235","mappings":{"default":{"default":"latin small letter n with curl","short":"n with curl"}}},{"category":"Ll","key":"0236","mappings":{"default":{"default":"latin small letter t with curl","short":"t with curl"}}},{"category":"Ll","key":"0238","mappings":{"default":{"default":"latin small letter db digraph","short":"db digraph"}}},{"category":"Ll","key":"0239","mappings":{"default":{"default":"latin small letter qp digraph","short":"qp digraph"}}},{"category":"Ll","key":"023F","mappings":{"default":{"default":"latin small letter s with swash tail","short":"s with swash tail"}}},{"category":"Ll","key":"0240","mappings":{"default":{"default":"latin small letter z with swash tail","short":"z with swash tail"}}},{"category":"Ll","key":"0242","mappings":{"default":{"default":"latin small letter glottal stop","short":"glottal stop"}}},{"category":"Ll","key":"024B","mappings":{"default":{"default":"latin small letter q with hook tail","short":"q with hook tail"}}},{"category":"Ll","key":"0250","mappings":{"default":{"default":"latin small letter turned a","short":"turned a"}}},{"category":"Ll","key":"0251","mappings":{"default":{"default":"latin small letter alpha","alternative":"latin small letter script a","short":"alpha"}}},{"category":"Ll","key":"0252","mappings":{"default":{"default":"latin small letter turned alpha","alternative":"latin small letter turned script a","short":"turned alpha"}}},{"category":"Ll","key":"0253","mappings":{"default":{"default":"latin small letter b with hook","alternative":"latin small letter b hook","short":"b with hook"}}},{"category":"Ll","key":"0254","mappings":{"default":{"default":"latin small letter open o","short":"open o"}}},{"category":"Ll","key":"0255","mappings":{"default":{"default":"latin small letter c with curl","alternative":"latin small letter c curl","short":"c with curl"}}},{"category":"Ll","key":"0256","mappings":{"default":{"default":"latin small letter d with tail","alternative":"latin small letter d retroflex hook","short":"d with tail"}}},{"category":"Ll","key":"0257","mappings":{"default":{"default":"latin small letter d with hook","alternative":"latin small letter d hook","short":"d with hook"}}},{"category":"Ll","key":"0258","mappings":{"default":{"default":"latin small letter reversed e","short":"reversed e"}}},{"category":"Ll","key":"0259","mappings":{"default":{"default":"latin small letter schwa","short":"schwa"}}},{"category":"Ll","key":"025A","mappings":{"default":{"default":"latin small letter schwa with hook","alternative":"latin small letter schwa hook","short":"schwa with hook"}}},{"category":"Ll","key":"025B","mappings":{"default":{"default":"latin small letter open e","alternative":"latin small letter epsilon","short":"open e"}}},{"category":"Ll","key":"025C","mappings":{"default":{"default":"latin small letter reversed open e","alternative":"latin small letter reversed epsilon","short":"reversed open e"}}},{"category":"Ll","key":"025D","mappings":{"default":{"default":"latin small letter reversed open e with hook","alternative":"latin small letter reversed epsilon hook","short":"reversed open e with hook"}}},{"category":"Ll","key":"025E","mappings":{"default":{"default":"latin small letter closed reversed open e","alternative":"latin small letter closed reversed epsilon","short":"closed reversed open e"}}},{"category":"Ll","key":"0260","mappings":{"default":{"default":"latin small letter g with hook","alternative":"latin small letter g hook","short":"g with hook"}}},{"category":"Ll","key":"0261","mappings":{"default":{"default":"latin small letter script g","short":"script g"}}},{"category":"Ll","key":"0263","mappings":{"default":{"default":"latin small letter gamma","short":"gamma"}}},{"category":"Ll","key":"0264","mappings":{"default":{"default":"latin small letter rams horn","alternative":"latin small letter baby gamma","short":"rams horn"}}},{"category":"Ll","key":"0265","mappings":{"default":{"default":"latin small letter turned h","short":"turned h"}}},{"category":"Ll","key":"0266","mappings":{"default":{"default":"latin small letter h with hook","alternative":"latin small letter h hook","short":"h with hook"}}},{"category":"Ll","key":"0267","mappings":{"default":{"default":"latin small letter heng with hook","alternative":"latin small letter heng hook","short":"heng with hook"}}},{"category":"Ll","key":"0269","mappings":{"default":{"default":"latin small letter iota","short":"iota"}}},{"category":"Ll","key":"026B","mappings":{"default":{"default":"latin small letter l with middle tilde","short":"l with middle tilde"}}},{"category":"Ll","key":"026C","mappings":{"default":{"default":"latin small letter l with belt","alternative":"latin small letter l belt","short":"l with belt"}}},{"category":"Ll","key":"026D","mappings":{"default":{"default":"latin small letter l with retroflex hook","alternative":"latin small letter l retroflex hook","short":"l with retroflex hook"}}},{"category":"Ll","key":"026E","mappings":{"default":{"default":"latin small letter lezh","alternative":"latin small letter l yogh","short":"lezh"}}},{"category":"Ll","key":"026F","mappings":{"default":{"default":"latin small letter turned m","short":"turned m"}}},{"category":"Ll","key":"0270","mappings":{"default":{"default":"latin small letter turned m with long leg","short":"turned m with long leg"}}},{"category":"Ll","key":"0271","mappings":{"default":{"default":"latin small letter m with hook","alternative":"latin small letter m hook","short":"m with hook"}}},{"category":"Ll","key":"0272","mappings":{"default":{"default":"latin small letter n with left hook","alternative":"latin small letter n hook","short":"n with left hook"}}},{"category":"Ll","key":"0273","mappings":{"default":{"default":"latin small letter n with retroflex hook","alternative":"latin small letter n retroflex hook","short":"n with retroflex hook"}}},{"category":"Ll","key":"0275","mappings":{"default":{"default":"latin small letter barred o","short":"barred o"}}},{"category":"Ll","key":"0277","mappings":{"default":{"default":"latin small letter closed omega","short":"closed omega"}}},{"category":"Ll","key":"0278","mappings":{"default":{"default":"latin small letter phi","short":"phi"}}},{"category":"Ll","key":"0279","mappings":{"default":{"default":"latin small letter turned r","short":"turned r"}}},{"category":"Ll","key":"027A","mappings":{"default":{"default":"latin small letter turned r with long leg","short":"turned r with long leg"}}},{"category":"Ll","key":"027B","mappings":{"default":{"default":"latin small letter turned r with hook","alternative":"latin small letter turned r hook","short":"turned r with hook"}}},{"category":"Ll","key":"027C","mappings":{"default":{"default":"latin small letter r with long leg","short":"r with long leg"}}},{"category":"Ll","key":"027D","mappings":{"default":{"default":"latin small letter r with tail","alternative":"latin small letter r hook","short":"r with tail"}}},{"category":"Ll","key":"027E","mappings":{"default":{"default":"latin small letter r with fishhook","alternative":"latin small letter fishhook r","short":"r with fishhook"}}},{"category":"Ll","key":"027F","mappings":{"default":{"default":"latin small letter reversed r with fishhook","alternative":"latin small letter reversed fishhook r","short":"reversed r with fishhook"}}},{"category":"Ll","key":"0282","mappings":{"default":{"default":"latin small letter s with hook","alternative":"latin small letter s hook","short":"s with hook"}}},{"category":"Ll","key":"0283","mappings":{"default":{"default":"latin small letter esh","short":"esh"}}},{"category":"Ll","key":"0285","mappings":{"default":{"default":"latin small letter squat reversed esh","short":"squat reversed esh"}}},{"category":"Ll","key":"0286","mappings":{"default":{"default":"latin small letter esh with curl","alternative":"latin small letter esh curl","short":"esh with curl"}}},{"category":"Ll","key":"0287","mappings":{"default":{"default":"latin small letter turned t","short":"turned t"}}},{"category":"Ll","key":"0288","mappings":{"default":{"default":"latin small letter t with retroflex hook","alternative":"latin small letter t retroflex hook","short":"t with retroflex hook"}}},{"category":"Ll","key":"0289","mappings":{"default":{"default":"latin small letter u bar","short":"u bar"}}},{"category":"Ll","key":"028A","mappings":{"default":{"default":"latin small letter upsilon","short":"upsilon"}}},{"category":"Ll","key":"028B","mappings":{"default":{"default":"latin small letter v with hook","alternative":"latin small letter script v","short":"v with hook"}}},{"category":"Ll","key":"028C","mappings":{"default":{"default":"latin small letter turned v","short":"turned v"}}},{"category":"Ll","key":"028D","mappings":{"default":{"default":"latin small letter turned w","short":"turned w"}}},{"category":"Ll","key":"028E","mappings":{"default":{"default":"latin small letter turned y","short":"turned y"}}},{"category":"Ll","key":"0290","mappings":{"default":{"default":"latin small letter z with retroflex hook","alternative":"latin small letter z retroflex hook","short":"z with retroflex hook"}}},{"category":"Ll","key":"0291","mappings":{"default":{"default":"latin small letter z with curl","alternative":"latin small letter z curl","short":"z with curl"}}},{"category":"Ll","key":"0292","mappings":{"default":{"default":"latin small letter ezh","alternative":"latin small letter yogh","short":"ezh"}}},{"category":"Ll","key":"0293","mappings":{"default":{"default":"latin small letter ezh with curl","alternative":"latin small letter yogh curl","short":"ezh with curl"}}},{"category":"Ll","key":"0295","mappings":{"default":{"default":"latin letter pharyngeal voiced fricative","alternative":"latin letter reversed glottal stop","short":"latin letter pharyngeal voiced fricative"}}},{"category":"Ll","key":"0296","mappings":{"default":{"default":"latin letter inverted glottal stop","short":"latin letter inverted glottal stop"}}},{"category":"Ll","key":"0297","mappings":{"default":{"default":"latin letter stretched c","short":"latin letter stretched c"}}},{"category":"Ll","key":"0298","mappings":{"default":{"default":"latin letter bilabial click","alternative":"latin letter bullseye","short":"latin letter bilabial click"}}},{"category":"Ll","key":"029A","mappings":{"default":{"default":"latin small letter closed open e","alternative":"latin small letter closed epsilon","short":"closed open e"}}},{"category":"Ll","key":"029E","mappings":{"default":{"default":"latin small letter turned k","short":"turned k"}}},{"category":"Ll","key":"02A0","mappings":{"default":{"default":"latin small letter q with hook","alternative":"latin small letter q hook","short":"q with hook"}}},{"category":"Ll","key":"02A3","mappings":{"default":{"default":"latin small letter dz digraph","alternative":"latin small letter d z","short":"dz digraph"}}},{"category":"Ll","key":"02A4","mappings":{"default":{"default":"latin small letter dezh digraph","alternative":"latin small letter d yogh","short":"dezh digraph"}}},{"category":"Ll","key":"02A5","mappings":{"default":{"default":"latin small letter dz digraph with curl","alternative":"latin small letter d z curl","short":"dz digraph with curl"}}},{"category":"Ll","key":"02A6","mappings":{"default":{"default":"latin small letter ts digraph","alternative":"latin small letter t s","short":"ts digraph"}}},{"category":"Ll","key":"02A7","mappings":{"default":{"default":"latin small letter tesh digraph","alternative":"latin small letter t esh","short":"tesh digraph"}}},{"category":"Ll","key":"02A8","mappings":{"default":{"default":"latin small letter tc digraph with curl","alternative":"latin small letter t c curl","short":"tc digraph with curl"}}},{"category":"Ll","key":"02A9","mappings":{"default":{"default":"latin small letter feng digraph","short":"feng digraph"}}},{"category":"Ll","key":"02AA","mappings":{"default":{"default":"latin small letter ls digraph","short":"ls digraph"}}},{"category":"Ll","key":"02AB","mappings":{"default":{"default":"latin small letter lz digraph","short":"lz digraph"}}},{"category":"Ll","key":"02AC","mappings":{"default":{"default":"latin letter bilabial percussive","short":"latin letter bilabial percussive"}}},{"category":"Ll","key":"02AD","mappings":{"default":{"default":"latin letter bidental percussive","short":"latin letter bidental percussive"}}},{"category":"Ll","key":"02AE","mappings":{"default":{"default":"latin small letter turned h with fishhook","short":"turned h with fishhook"}}},{"category":"Ll","key":"02AF","mappings":{"default":{"default":"latin small letter turned h with fishhook and tail","short":"turned h with fishhook and tail"}}},{"category":"Ll","key":"1D02","mappings":{"default":{"default":"latin small letter turned ae","short":"turned ae"}}},{"category":"Ll","key":"1D08","mappings":{"default":{"default":"latin small letter turned open e","short":"turned open e"}}},{"category":"Ll","key":"1D09","mappings":{"default":{"default":"latin small letter turned i","short":"turned i"}}},{"category":"Ll","key":"1D11","mappings":{"default":{"default":"latin small letter sideways o","short":"sideways o"}}},{"category":"Ll","key":"1D12","mappings":{"default":{"default":"latin small letter sideways open o","short":"sideways open o"}}},{"category":"Ll","key":"1D14","mappings":{"default":{"default":"latin small letter turned oe","short":"turned oe"}}},{"category":"Ll","key":"1D16","mappings":{"default":{"default":"latin small letter top half o","short":"top half o"}}},{"category":"Ll","key":"1D17","mappings":{"default":{"default":"latin small letter bottom half o","short":"bottom half o"}}},{"category":"Ll","key":"1D1D","mappings":{"default":{"default":"latin small letter sideways u","short":"sideways u"}}},{"category":"Ll","key":"1D1E","mappings":{"default":{"default":"latin small letter sideways diaeresized u","short":"sideways diaeresized u"}}},{"category":"Ll","key":"1D1F","mappings":{"default":{"default":"latin small letter sideways turned m","short":"sideways turned m"}}},{"category":"Ll","key":"1D24","mappings":{"default":{"default":"latin letter voiced laryngeal spirant","short":"latin letter voiced laryngeal spirant"}}},{"category":"Ll","key":"1D25","mappings":{"default":{"default":"latin letter ain","short":"latin letter ain"}}},{"category":"Ll","key":"1D6B","mappings":{"default":{"default":"latin small letter ue","short":"ue"}}},{"category":"Ll","key":"1D6C","mappings":{"default":{"default":"latin small letter b with middle tilde","short":"b with middle tilde"}}},{"category":"Ll","key":"1D6D","mappings":{"default":{"default":"latin small letter d with middle tilde","short":"d with middle tilde"}}},{"category":"Ll","key":"1D6E","mappings":{"default":{"default":"latin small letter f with middle tilde","short":"f with middle tilde"}}},{"category":"Ll","key":"1D6F","mappings":{"default":{"default":"latin small letter m with middle tilde","short":"m with middle tilde"}}},{"category":"Ll","key":"1D70","mappings":{"default":{"default":"latin small letter n with middle tilde","short":"n with middle tilde"}}},{"category":"Ll","key":"1D71","mappings":{"default":{"default":"latin small letter p with middle tilde","short":"p with middle tilde"}}},{"category":"Ll","key":"1D72","mappings":{"default":{"default":"latin small letter r with middle tilde","short":"r with middle tilde"}}},{"category":"Ll","key":"1D73","mappings":{"default":{"default":"latin small letter r with fishhook and middle tilde","short":"r with fishhook and middle tilde"}}},{"category":"Ll","key":"1D74","mappings":{"default":{"default":"latin small letter s with middle tilde","short":"s with middle tilde"}}},{"category":"Ll","key":"1D75","mappings":{"default":{"default":"latin small letter t with middle tilde","short":"t with middle tilde"}}},{"category":"Ll","key":"1D76","mappings":{"default":{"default":"latin small letter z with middle tilde","short":"z with middle tilde"}}},{"category":"Ll","key":"1D77","mappings":{"default":{"default":"latin small letter turned g","short":"turned g"}}},{"category":"Ll","key":"1D79","mappings":{"default":{"default":"latin small letter insular g","short":"insular g"}}},{"category":"Ll","key":"1D7A","mappings":{"default":{"default":"latin small letter th with strikethrough","short":"th with strikethrough"}}},{"category":"Ll","key":"1D80","mappings":{"default":{"default":"latin small letter b with palatal hook","short":"b with palatal hook"}}},{"category":"Ll","key":"1D81","mappings":{"default":{"default":"latin small letter d with palatal hook","short":"d with palatal hook"}}},{"category":"Ll","key":"1D82","mappings":{"default":{"default":"latin small letter f with palatal hook","short":"f with palatal hook"}}},{"category":"Ll","key":"1D83","mappings":{"default":{"default":"latin small letter g with palatal hook","short":"g with palatal hook"}}},{"category":"Ll","key":"1D84","mappings":{"default":{"default":"latin small letter k with palatal hook","short":"k with palatal hook"}}},{"category":"Ll","key":"1D85","mappings":{"default":{"default":"latin small letter l with palatal hook","short":"l with palatal hook"}}},{"category":"Ll","key":"1D86","mappings":{"default":{"default":"latin small letter m with palatal hook","short":"m with palatal hook"}}},{"category":"Ll","key":"1D87","mappings":{"default":{"default":"latin small letter n with palatal hook","short":"n with palatal hook"}}},{"category":"Ll","key":"1D88","mappings":{"default":{"default":"latin small letter p with palatal hook","short":"p with palatal hook"}}},{"category":"Ll","key":"1D89","mappings":{"default":{"default":"latin small letter r with palatal hook","short":"r with palatal hook"}}},{"category":"Ll","key":"1D8A","mappings":{"default":{"default":"latin small letter s with palatal hook","short":"s with palatal hook"}}},{"category":"Ll","key":"1D8B","mappings":{"default":{"default":"latin small letter esh with palatal hook","short":"esh with palatal hook"}}},{"category":"Ll","key":"1D8C","mappings":{"default":{"default":"latin small letter v with palatal hook","short":"v with palatal hook"}}},{"category":"Ll","key":"1D8D","mappings":{"default":{"default":"latin small letter x with palatal hook","short":"x with palatal hook"}}},{"category":"Ll","key":"1D8E","mappings":{"default":{"default":"latin small letter z with palatal hook","short":"z with palatal hook"}}},{"category":"Ll","key":"1D8F","mappings":{"default":{"default":"latin small letter a with retroflex hook","short":"a with retroflex hook"}}},{"category":"Ll","key":"1D90","mappings":{"default":{"default":"latin small letter alpha with retroflex hook","short":"alpha with retroflex hook"}}},{"category":"Ll","key":"1D91","mappings":{"default":{"default":"latin small letter d with hook and tail","short":"d with hook and tail"}}},{"category":"Ll","key":"1D92","mappings":{"default":{"default":"latin small letter e with retroflex hook","short":"e with retroflex hook"}}},{"category":"Ll","key":"1D93","mappings":{"default":{"default":"latin small letter open e with retroflex hook","short":"open e with retroflex hook"}}},{"category":"Ll","key":"1D94","mappings":{"default":{"default":"latin small letter reversed open e with retroflex hook","short":"reversed open e with retroflex hook"}}},{"category":"Ll","key":"1D95","mappings":{"default":{"default":"latin small letter schwa with retroflex hook","short":"schwa with retroflex hook"}}},{"category":"Ll","key":"1D96","mappings":{"default":{"default":"latin small letter i with retroflex hook","short":"i with retroflex hook"}}},{"category":"Ll","key":"1D97","mappings":{"default":{"default":"latin small letter open o with retroflex hook","short":"open o with retroflex hook"}}},{"category":"Ll","key":"1D98","mappings":{"default":{"default":"latin small letter esh with retroflex hook","short":"esh with retroflex hook"}}},{"category":"Ll","key":"1D99","mappings":{"default":{"default":"latin small letter u with retroflex hook","short":"u with retroflex hook"}}},{"category":"Ll","key":"1D9A","mappings":{"default":{"default":"latin small letter ezh with retroflex hook","short":"ezh with retroflex hook"}}},{"category":"Ll","key":"0149","mappings":{"default":{"default":"latin small letter n preceded by apostrophe","alternative":"latin small letter apostrophe n","short":"n preceded by apostrophe"}}},{"category":"Ll","key":"014B","mappings":{"default":{"default":"latin small letter eng","short":"eng"}}}] +, +"en/latin-lower-single-accent.js": +[{"locale":"en"},{"category":"Ll","key":"00E0","mappings":{"default":{"default":"latin small letter a with grave","alternative":"latin small letter a grave","short":"a grave"},"mathspeak":{"default":"modifying above a with grave","brief":"mod above a with grave","sbrief":"mod above a with grave"}}},{"category":"Ll","key":"00E1","mappings":{"default":{"default":"latin small letter a with acute","alternative":"latin small letter a acute","short":"a acute"},"mathspeak":{"default":"modifying above a with acute","brief":"mod above a with acute","sbrief":"mod above a with acute"}}},{"category":"Ll","key":"00E2","mappings":{"default":{"default":"latin small letter a with circumflex","alternative":"latin small letter a hat","short":"a hat"},"mathspeak":{"default":"modifying above a with caret","brief":"mod above a with caret","sbrief":"mod above a with caret"}}},{"category":"Ll","key":"00E3","mappings":{"default":{"default":"latin small letter a with tilde","alternative":"latin small letter a tilde","short":"a tilde"},"mathspeak":{"default":"a overtilde","brief":"a overtilde","sbrief":"a overtilde"}}},{"category":"Ll","key":"00E4","mappings":{"default":{"default":"latin small letter a with diaeresis","alternative":"latin small letter a double overdot","short":"a double overdot"},"mathspeak":{"default":"modifying above a with double dot","brief":"mod above a with double dot","sbrief":"mod above a with double dot"}}},{"category":"Ll","key":"00E5","mappings":{"default":{"default":"latin small letter a with ring above","alternative":"latin small letter a ring","short":"a ring"},"mathspeak":{"default":"modifying above a with ring","brief":"mod above a with ring","sbrief":"mod above a with ring"}}},{"category":"Ll","key":"00E7","mappings":{"default":{"default":"latin small letter c with cedilla","alternative":"latin small letter c cedilla","short":"c cedilla"},"mathspeak":{"default":"modifying above c with cedilla","brief":"mod above c with cedilla","sbrief":"mod above c with cedilla"}}},{"category":"Ll","key":"00E8","mappings":{"default":{"default":"latin small letter e with grave","alternative":"latin small letter e grave","short":"e grave"},"mathspeak":{"default":"modifying above e with grave","brief":"mod above e with grave","sbrief":"mod above e with grave"}}},{"category":"Ll","key":"00E9","mappings":{"default":{"default":"latin small letter e with acute","alternative":"latin small letter e acute","short":"e acute"},"mathspeak":{"default":"modifying above e with acute","brief":"mod above e with acute","sbrief":"mod above e with acute"}}},{"category":"Ll","key":"00EA","mappings":{"default":{"default":"latin small letter e with circumflex","alternative":"latin small letter e hat","short":"e hat"},"mathspeak":{"default":"modifying above e with caret","brief":"mod above e with caret","sbrief":"mod above e with caret"}}},{"category":"Ll","key":"00EB","mappings":{"default":{"default":"latin small letter e with diaeresis","alternative":"latin small letter e double overdot","short":"e double overdot"},"mathspeak":{"default":"modifying above e with double dot","brief":"mod above e with double dot","sbrief":"mod above e with double dot"}}},{"category":"Ll","key":"00EC","mappings":{"default":{"default":"latin small letter i with grave","alternative":"latin small letter i grave","short":"i grave"},"mathspeak":{"default":"modifying above i with grave","brief":"mod above i with grave","sbrief":"mod above i with grave"}}},{"category":"Ll","key":"00ED","mappings":{"default":{"default":"latin small letter i with acute","alternative":"latin small letter i acute","short":"i acute"},"mathspeak":{"default":"modifying above i with acute","brief":"mod above i with acute","sbrief":"mod above i with acute"}}},{"category":"Ll","key":"00EE","mappings":{"default":{"default":"latin small letter i with circumflex","alternative":"latin small letter i hat","short":"i hat"},"mathspeak":{"default":"modifying above i with caret","brief":"mod above i with caret","sbrief":"mod above i with caret"}}},{"category":"Ll","key":"00EF","mappings":{"default":{"default":"latin small letter i with diaeresis","alternative":"latin small letter i double overdot","short":"i double overdot"},"mathspeak":{"default":"modifying above i with double dot","brief":"mod above i with double dot","sbrief":"mod above i with double dot"}}},{"category":"Ll","key":"00F1","mappings":{"default":{"default":"latin small letter n with tilde","alternative":"latin small letter n tilde","short":"n tilde"},"mathspeak":{"default":"n overtilde","brief":"n overtilde","sbrief":"n overtilde"}}},{"category":"Ll","key":"00F2","mappings":{"default":{"default":"latin small letter o with grave","alternative":"latin small letter o grave","short":"o grave"},"mathspeak":{"default":"modifying above o with grave","brief":"mod above o with grave","sbrief":"mod above o with grave"}}},{"category":"Ll","key":"00F3","mappings":{"default":{"default":"latin small letter o with acute","alternative":"latin small letter o acute","short":"o acute"},"mathspeak":{"default":"modifying above o with acute","brief":"mod above o with acute","sbrief":"mod above o with acute"}}},{"category":"Ll","key":"00F4","mappings":{"default":{"default":"latin small letter o with circumflex","alternative":"latin small letter o hat","short":"o hat"},"mathspeak":{"default":"modifying above o with caret","brief":"mod above o with caret","sbrief":"mod above o with caret"}}},{"category":"Ll","key":"00F5","mappings":{"default":{"default":"latin small letter o with tilde","alternative":"latin small letter o tilde","short":"o tilde"},"mathspeak":{"default":"o overtilde","brief":"o overtilde","sbrief":"o overtilde"}}},{"category":"Ll","key":"00F6","mappings":{"default":{"default":"latin small letter o with diaeresis","alternative":"latin small letter o double overdot","short":"o double overdot"},"mathspeak":{"default":"modifying above o with double dot","brief":"mod above o with double dot","sbrief":"mod above o with double dot"}}},{"category":"Ll","key":"00F9","mappings":{"default":{"default":"latin small letter u with grave","alternative":"latin small letter u grave","short":"u grave"},"mathspeak":{"default":"modifying above u with grave","brief":"mod above u with grave","sbrief":"mod above u with grave"}}},{"category":"Ll","key":"00FA","mappings":{"default":{"default":"latin small letter u with acute","alternative":"latin small letter u acute","short":"u acute"},"mathspeak":{"default":"modifying above u with acute","brief":"mod above u with acute","sbrief":"mod above u with acute"}}},{"category":"Ll","key":"00FB","mappings":{"default":{"default":"latin small letter u with circumflex","alternative":"latin small letter u hat","short":"u hat"},"mathspeak":{"default":"modifying above u with caret","brief":"mod above u with caret","sbrief":"mod above u with caret"}}},{"category":"Ll","key":"00FC","mappings":{"default":{"default":"latin small letter u with diaeresis","alternative":"latin small letter u double overdot","short":"u double overdot"},"mathspeak":{"default":"modifying above u with double dot","brief":"mod above u with double dot","sbrief":"mod above u with double dot"}}},{"category":"Ll","key":"00FD","mappings":{"default":{"default":"latin small letter y with acute","alternative":"latin small letter y acute","short":"y acute"},"mathspeak":{"default":"modifying above y with acute","brief":"mod above y with acute","sbrief":"mod above y with acute"}}},{"category":"Ll","key":"00FF","mappings":{"default":{"default":"latin small letter y with diaeresis","alternative":"latin small letter y double overdot","short":"y double overdot"},"mathspeak":{"default":"modifying above y with double dot","brief":"mod above y with double dot","sbrief":"mod above y with double dot"}}},{"category":"Ll","key":"0101","mappings":{"default":{"default":"latin small letter a with macron","alternative":"latin small letter a overbar","short":"a overbar"},"mathspeak":{"default":"a overbar","brief":"a overbar","sbrief":"a overbar"}}},{"category":"Ll","key":"0103","mappings":{"default":{"default":"latin small letter a with breve","alternative":"latin small letter a breve","short":"a breve"},"mathspeak":{"default":"modifying above a with breve","brief":"mod above a with breve","sbrief":"mod above a with breve"}}},{"category":"Ll","key":"0105","mappings":{"default":{"default":"latin small letter a with ogonek","alternative":"latin small letter a ogonek","short":"a ogonek"},"mathspeak":{"default":"modifying above a with ogonek","brief":"mod above a with ogonek","sbrief":"mod above a with ogonek"}}},{"category":"Ll","key":"0107","mappings":{"default":{"default":"latin small letter c with acute","alternative":"latin small letter c acute","short":"c acute"},"mathspeak":{"default":"modifying above c with acute","brief":"mod above c with acute","sbrief":"mod above c with acute"}}},{"category":"Ll","key":"0109","mappings":{"default":{"default":"latin small letter c with circumflex","alternative":"latin small letter c hat","short":"c hat"},"mathspeak":{"default":"modifying above c with caret","brief":"mod above c with caret","sbrief":"mod above c with caret"}}},{"category":"Ll","key":"010B","mappings":{"default":{"default":"latin small letter c with dot above","alternative":"latin small letter c dot","short":"c overdot"},"mathspeak":{"default":"modifying above c with dot","brief":"mod above c with dot","sbrief":"mod above c with dot"}}},{"category":"Ll","key":"010D","mappings":{"default":{"default":"latin small letter c with caron","alternative":"latin small letter c hacek","short":"c caron"},"mathspeak":{"default":"modifying above c with caron","brief":"mod above c with caron","sbrief":"mod above c with caron"}}},{"category":"Ll","key":"010F","mappings":{"default":{"default":"latin small letter d with caron","alternative":"latin small letter d hacek","short":"d caron"},"mathspeak":{"default":"modifying above d with caron","brief":"mod above d with caron","sbrief":"mod above d with caron"}}},{"category":"Ll","key":"0113","mappings":{"default":{"default":"latin small letter e with macron","alternative":"latin small letter e overbar","short":"e overbar"},"mathspeak":{"default":"e overbar","brief":"e overbar","sbrief":"e overbar"}}},{"category":"Ll","key":"0115","mappings":{"default":{"default":"latin small letter e with breve","alternative":"latin small letter e breve","short":"e breve"},"mathspeak":{"default":"modifying above e with breve","brief":"mod above e with breve","sbrief":"mod above e with breve"}}},{"category":"Ll","key":"0117","mappings":{"default":{"default":"latin small letter e with dot above","alternative":"latin small letter e dot","short":"e overdot"},"mathspeak":{"default":"modifying above e with dot","brief":"mod above e with dot","sbrief":"mod above e with dot"}}},{"category":"Ll","key":"0119","mappings":{"default":{"default":"latin small letter e with ogonek","alternative":"latin small letter e ogonek","short":"e ogonek"},"mathspeak":{"default":"modifying above e with ogonek","brief":"mod above e with ogonek","sbrief":"mod above e with ogonek"}}},{"category":"Ll","key":"011B","mappings":{"default":{"default":"latin small letter e with caron","alternative":"latin small letter e hacek","short":"e caron"},"mathspeak":{"default":"modifying above e with caron","brief":"mod above e with caron","sbrief":"mod above e with caron"}}},{"category":"Ll","key":"011D","mappings":{"default":{"default":"latin small letter g with circumflex","alternative":"latin small letter g hat","short":"g hat"},"mathspeak":{"default":"modifying above g with caret","brief":"mod above g with caret","sbrief":"mod above g with caret"}}},{"category":"Ll","key":"011F","mappings":{"default":{"default":"latin small letter g with breve","alternative":"latin small letter g breve","short":"g breve"},"mathspeak":{"default":"modifying above g with breve","brief":"mod above g with breve","sbrief":"mod above g with breve"}}},{"category":"Ll","key":"0121","mappings":{"default":{"default":"latin small letter g with dot above","alternative":"latin small letter g dot","short":"g overdot"},"mathspeak":{"default":"modifying above g with dot","brief":"mod above g with dot","sbrief":"mod above g with dot"}}},{"category":"Ll","key":"0123","mappings":{"default":{"default":"latin small letter g with cedilla","alternative":"latin small letter g cedilla","short":"g cedilla"},"mathspeak":{"default":"modifying above g with cedilla","brief":"mod above g with cedilla","sbrief":"mod above g with cedilla"}}},{"category":"Ll","key":"0125","mappings":{"default":{"default":"latin small letter h with circumflex","alternative":"latin small letter h hat","short":"h hat"},"mathspeak":{"default":"modifying above h with caret","brief":"mod above h with caret","sbrief":"mod above h with caret"}}},{"category":"Ll","key":"0129","mappings":{"default":{"default":"latin small letter i with tilde","alternative":"latin small letter i tilde","short":"i tilde"},"mathspeak":{"default":"i overtilde","brief":"i overtilde","sbrief":"i overtilde"}}},{"category":"Ll","key":"012B","mappings":{"default":{"default":"latin small letter i with macron","alternative":"latin small letter i overbar","short":"i overbar"},"mathspeak":{"default":"i overbar","brief":"i overbar","sbrief":"i overbar"}}},{"category":"Ll","key":"012D","mappings":{"default":{"default":"latin small letter i with breve","alternative":"latin small letter i breve","short":"i breve"},"mathspeak":{"default":"modifying above i with breve","brief":"mod above i with breve","sbrief":"mod above i with breve"}}},{"category":"Ll","key":"012F","mappings":{"default":{"default":"latin small letter i with ogonek","alternative":"latin small letter i ogonek","short":"i ogonek"},"mathspeak":{"default":"modifying above i with ogonek","brief":"mod above i with ogonek","sbrief":"mod above i with ogonek"}}},{"category":"Ll","key":"0131","mappings":{"default":{"default":"latin small letter dotless i","alternative":"latin small letter dotless i","short":"dotless i"},"mathspeak":{"default":"modifying above d with tless i","brief":"mod above d with tless i","sbrief":"mod above d with tless i"}}},{"category":"Ll","key":"0135","mappings":{"default":{"default":"latin small letter j circumflex","alternative":"latin small letter j hat","short":"j hat"},"mathspeak":{"default":"modifying above j with caret","brief":"mod above j with caret","sbrief":"mod above j with caret"}}},{"category":"Ll","key":"0137","mappings":{"default":{"default":"latin small letter k with cedilla","alternative":"latin small letter k cedilla","short":"k cedilla"},"mathspeak":{"default":"modifying above k with cedilla","brief":"mod above k with cedilla","sbrief":"mod above k with cedilla"}}},{"category":"Ll","key":"013A","mappings":{"default":{"default":"latin small letter l with acute","alternative":"latin small letter l acute","short":"l acute"},"mathspeak":{"default":"modifying above l with acute","brief":"mod above l with acute","sbrief":"mod above l with acute"}}},{"category":"Ll","key":"013C","mappings":{"default":{"default":"latin small letter l with cedilla","alternative":"latin small letter l cedilla","short":"l cedilla"},"mathspeak":{"default":"modifying above l with cedilla","brief":"mod above l with cedilla","sbrief":"mod above l with cedilla"}}},{"category":"Ll","key":"013E","mappings":{"default":{"default":"latin small letter l with caron","alternative":"latin small letter l hacek","short":"l caron"},"mathspeak":{"default":"modifying above l with caron","brief":"mod above l with caron","sbrief":"mod above l with caron"}}},{"category":"Ll","key":"0140","mappings":{"default":{"default":"latin small letter l with middle dot","alternative":"latin small letter l middle dot","short":"l middle dot"},"mathspeak":{"default":"modifying above l with middle dot","brief":"mod above l with middle dot","sbrief":"mod above l with middle dot"}}},{"category":"Ll","key":"0144","mappings":{"default":{"default":"latin small letter n with acute","alternative":"latin small letter n acute","short":"n acute"},"mathspeak":{"default":"modifying above n with acute","brief":"mod above n with acute","sbrief":"mod above n with acute"}}},{"category":"Ll","key":"0146","mappings":{"default":{"default":"latin small letter n with cedilla","alternative":"latin small letter n cedilla","short":"n cedilla"},"mathspeak":{"default":"modifying above n with cedilla","brief":"mod above n with cedilla","sbrief":"mod above n with cedilla"}}},{"category":"Ll","key":"0148","mappings":{"default":{"default":"latin small letter n with caron","alternative":"latin small letter n hacek","short":"n caron"},"mathspeak":{"default":"modifying above n with caron","brief":"mod above n with caron","sbrief":"mod above n with caron"}}},{"category":"Ll","key":"014D","mappings":{"default":{"default":"latin small letter o macron","alternative":"latin small letter o overbar","short":"o overbar"},"mathspeak":{"default":"o overbar","brief":"o overbar","sbrief":"o overbar"}}},{"category":"Ll","key":"014F","mappings":{"default":{"default":"latin small letter o with breve","alternative":"latin small letter o breve","short":"o breve"},"mathspeak":{"default":"modifying above o with breve","brief":"mod above o with breve","sbrief":"mod above o with breve"}}},{"category":"Ll","key":"0151","mappings":{"default":{"default":"latin small letter o with double acute","alternative":"latin small letter o double acute","short":"o double acute"},"mathspeak":{"default":"modifying above o with double acute","brief":"mod above o with double acute","sbrief":"mod above o with double acute"}}},{"category":"Ll","key":"0155","mappings":{"default":{"default":"latin small letter r with acute","alternative":"latin small letter r acute","short":"r acute"},"mathspeak":{"default":"modifying above r with acute","brief":"mod above r with acute","sbrief":"mod above r with acute"}}},{"category":"Ll","key":"0157","mappings":{"default":{"default":"latin small letter r with cedilla","alternative":"latin small letter r cedilla","short":"r cedilla"},"mathspeak":{"default":"modifying above r with cedilla","brief":"mod above r with cedilla","sbrief":"mod above r with cedilla"}}},{"category":"Ll","key":"0159","mappings":{"default":{"default":"latin small letter r with caron","alternative":"latin small letter r hacek","short":"r caron"},"mathspeak":{"default":"modifying above r with caron","brief":"mod above r with caron","sbrief":"mod above r with caron"}}},{"category":"Ll","key":"015B","mappings":{"default":{"default":"latin small letter s with acute","alternative":"latin small letter s acute","short":"s acute"},"mathspeak":{"default":"modifying above s with acute","brief":"mod above s with acute","sbrief":"mod above s with acute"}}},{"category":"Ll","key":"015D","mappings":{"default":{"default":"latin small letter s with circumflex","alternative":"latin small letter s hat","short":"s hat"},"mathspeak":{"default":"modifying above s with caret","brief":"mod above s with caret","sbrief":"mod above s with caret"}}},{"category":"Ll","key":"015F","mappings":{"default":{"default":"latin small letter s with cedilla","alternative":"latin small letter s cedilla","short":"s cedilla"},"mathspeak":{"default":"modifying above s with cedilla","brief":"mod above s with cedilla","sbrief":"mod above s with cedilla"}}},{"category":"Ll","key":"0161","mappings":{"default":{"default":"latin small letter s with caron","alternative":"latin small letter s hacek","short":"s caron"},"mathspeak":{"default":"modifying above s with caron","brief":"mod above s with caron","sbrief":"mod above s with caron"}}},{"category":"Ll","key":"0163","mappings":{"default":{"default":"latin small letter t with cedilla","alternative":"latin small letter t cedilla","short":"t cedilla"},"mathspeak":{"default":"modifying above t with cedilla","brief":"mod above t with cedilla","sbrief":"mod above t with cedilla"}}},{"category":"Ll","key":"0165","mappings":{"default":{"default":"latin small letter t with caron","alternative":"latin small letter t hacek","short":"t caron"},"mathspeak":{"default":"modifying above t with caron","brief":"mod above t with caron","sbrief":"mod above t with caron"}}},{"category":"Ll","key":"0169","mappings":{"default":{"default":"latin small letter u with tilde","alternative":"latin small letter u tilde","short":"u tilde"},"mathspeak":{"default":"u overtilde","brief":"u overtilde","sbrief":"u overtilde"}}},{"category":"Ll","key":"016B","mappings":{"default":{"default":"latin small letter u with macron","alternative":"latin small letter u overbar","short":"u overbar"},"mathspeak":{"default":"u overbar","brief":"u overbar","sbrief":"u overbar"}}},{"category":"Ll","key":"016D","mappings":{"default":{"default":"latin small letter u with breve","alternative":"latin small letter u breve","short":"u breve"},"mathspeak":{"default":"modifying above u with breve","brief":"mod above u with breve","sbrief":"mod above u with breve"}}},{"category":"Ll","key":"016F","mappings":{"default":{"default":"latin small letter u with ring above","alternative":"latin small letter u ring","short":"u ring"},"mathspeak":{"default":"modifying above u with ring","brief":"mod above u with ring","sbrief":"mod above u with ring"}}},{"category":"Ll","key":"0171","mappings":{"default":{"default":"latin small letter u with double acute","alternative":"latin small letter u double acute","short":"u double acute"},"mathspeak":{"default":"modifying above u with double acute","brief":"mod above u with double acute","sbrief":"mod above u with double acute"}}},{"category":"Ll","key":"0173","mappings":{"default":{"default":"latin small letter u with ogonek","alternative":"latin small letter u ogonek","short":"u ogonek"},"mathspeak":{"default":"modifying above u with ogonek","brief":"mod above u with ogonek","sbrief":"mod above u with ogonek"}}},{"category":"Ll","key":"0175","mappings":{"default":{"default":"latin small letter w with circumflex","alternative":"latin small letter w hat","short":"w hat"},"mathspeak":{"default":"modifying above w with caret","brief":"mod above w with caret","sbrief":"mod above w with caret"}}},{"category":"Ll","key":"0177","mappings":{"default":{"default":"latin small letter y with circumflex","alternative":"latin small letter y hat","short":"y hat"},"mathspeak":{"default":"modifying above y with caret","brief":"mod above y with caret","sbrief":"mod above y with caret"}}},{"category":"Ll","key":"017A","mappings":{"default":{"default":"latin small letter z with acute","alternative":"latin small letter z acute","short":"z acute"},"mathspeak":{"default":"modifying above z with acute","brief":"mod above z with acute","sbrief":"mod above z with acute"}}},{"category":"Ll","key":"017C","mappings":{"default":{"default":"latin small letter z with dot above","alternative":"latin small letter z dot","short":"z overdot"},"mathspeak":{"default":"modifying above z with dot","brief":"mod above z with dot","sbrief":"mod above z with dot"}}},{"category":"Ll","key":"017E","mappings":{"default":{"default":"latin small letter z with caron","alternative":"latin small letter z hacek","short":"z caron"},"mathspeak":{"default":"modifying above z with caron","brief":"mod above z with caron","sbrief":"mod above z with caron"}}},{"category":"Ll","key":"01CE","mappings":{"default":{"default":"latin small letter a with caron","alternative":"latin small letter a hacek","short":"a caron"},"mathspeak":{"default":"modifying above a with caron","brief":"mod above a with caron","sbrief":"mod above a with caron"}}},{"category":"Ll","key":"01D0","mappings":{"default":{"default":"latin small letter i with caron","alternative":"latin small letter i hacek","short":"i caron"},"mathspeak":{"default":"modifying above i with caron","brief":"mod above i with caron","sbrief":"mod above i with caron"}}},{"category":"Ll","key":"01D2","mappings":{"default":{"default":"latin small letter o with caron","alternative":"latin small letter o hacek","short":"o caron"},"mathspeak":{"default":"modifying above o with caron","brief":"mod above o with caron","sbrief":"mod above o with caron"}}},{"category":"Ll","key":"01D4","mappings":{"default":{"default":"latin small letter u with caron","alternative":"latin small letter u hacek","short":"u caron"},"mathspeak":{"default":"modifying above u with caron","brief":"mod above u with caron","sbrief":"mod above u with caron"}}},{"category":"Ll","key":"01E7","mappings":{"default":{"default":"latin small letter g with caron","alternative":"latin small letter g hacek","short":"g caron"},"mathspeak":{"default":"modifying above g with caron","brief":"mod above g with caron","sbrief":"mod above g with caron"}}},{"category":"Ll","key":"01E9","mappings":{"default":{"default":"latin small letter k with caron","alternative":"latin small letter k hacek","short":"k caron"},"mathspeak":{"default":"modifying above k with caron","brief":"mod above k with caron","sbrief":"mod above k with caron"}}},{"category":"Ll","key":"01EB","mappings":{"default":{"default":"latin small letter o with ogonek","alternative":"latin small letter o ogonek","short":"o ogonek"},"mathspeak":{"default":"modifying above o with ogonek","brief":"mod above o with ogonek","sbrief":"mod above o with ogonek"}}},{"category":"Ll","key":"01F0","mappings":{"default":{"default":"latin small letter j with caron","alternative":"latin small letter j hacek","short":"j caron"},"mathspeak":{"default":"modifying above j with caron","brief":"mod above j with caron","sbrief":"mod above j with caron"}}},{"category":"Ll","key":"01F5","mappings":{"default":{"default":"latin small letter g with acute","alternative":"latin small letter g acute","short":"g acute"},"mathspeak":{"default":"modifying above g with acute","brief":"mod above g with acute","sbrief":"mod above g with acute"}}},{"category":"Ll","key":"01F9","mappings":{"default":{"default":"latin small letter n with grave","alternative":"latin small letter n grave","short":"n grave"},"mathspeak":{"default":"modifying above n with grave","brief":"mod above n with grave","sbrief":"mod above n with grave"}}},{"category":"Ll","key":"0201","mappings":{"default":{"default":"latin small letter a with double grave","alternative":"latin small letter a double grave","short":"a double grave"},"mathspeak":{"default":"modifying above a with double grave","brief":"mod above a with double grave","sbrief":"mod above a with double grave"}}},{"category":"Ll","key":"0203","mappings":{"default":{"default":"latin small letter a with inverted breve","alternative":"latin small letter a inverted breve","short":"a inverted breve"},"mathspeak":{"default":"modifying above a with inverted breve","brief":"mod above a with inverted breve","sbrief":"mod above a with inverted breve"}}},{"category":"Ll","key":"0205","mappings":{"default":{"default":"latin small letter e with double grave","alternative":"latin small letter e double grave","short":"e double grave"},"mathspeak":{"default":"modifying above e with double grave","brief":"mod above e with double grave","sbrief":"mod above e with double grave"}}},{"category":"Ll","key":"0207","mappings":{"default":{"default":"latin small letter e with inverted breve","alternative":"latin small letter e inverted breve","short":"e inverted breve"},"mathspeak":{"default":"modifying above e with inverted breve","brief":"mod above e with inverted breve","sbrief":"mod above e with inverted breve"}}},{"category":"Ll","key":"0209","mappings":{"default":{"default":"latin small letter i with double grave","alternative":"latin small letter i double grave","short":"i double grave"},"mathspeak":{"default":"modifying above i with double grave","brief":"mod above i with double grave","sbrief":"mod above i with double grave"}}},{"category":"Ll","key":"020B","mappings":{"default":{"default":"latin small letter i with inverted breve","alternative":"latin small letter i inverted breve","short":"i inverted breve"},"mathspeak":{"default":"modifying above i with inverted breve","brief":"mod above i with inverted breve","sbrief":"mod above i with inverted breve"}}},{"category":"Ll","key":"020D","mappings":{"default":{"default":"latin small letter o with double grave","alternative":"latin small letter o double grave","short":"o double grave"},"mathspeak":{"default":"modifying above o with double grave","brief":"mod above o with double grave","sbrief":"mod above o with double grave"}}},{"category":"Ll","key":"020F","mappings":{"default":{"default":"latin small letter o with inverted breve","alternative":"latin small letter o inverted breve","short":"o inverted breve"},"mathspeak":{"default":"modifying above o with inverted breve","brief":"mod above o with inverted breve","sbrief":"mod above o with inverted breve"}}},{"category":"Ll","key":"0211","mappings":{"default":{"default":"latin small letter r with double grave","alternative":"latin small letter r double grave","short":"r double grave"},"mathspeak":{"default":"modifying above r with double grave","brief":"mod above r with double grave","sbrief":"mod above r with double grave"}}},{"category":"Ll","key":"0213","mappings":{"default":{"default":"latin small letter r with inverted breve","alternative":"latin small letter r inverted breve","short":"r inverted breve"},"mathspeak":{"default":"modifying above r with inverted breve","brief":"mod above r with inverted breve","sbrief":"mod above r with inverted breve"}}},{"category":"Ll","key":"0215","mappings":{"default":{"default":"latin small letter u with double grave","alternative":"latin small letter u double grave","short":"u double grave"},"mathspeak":{"default":"modifying above u with double grave","brief":"mod above u with double grave","sbrief":"mod above u with double grave"}}},{"category":"Ll","key":"0217","mappings":{"default":{"default":"latin small letter u with inverted breve","alternative":"latin small letter u inverted breve","short":"u inverted breve"},"mathspeak":{"default":"modifying above u with inverted breve","brief":"mod above u with inverted breve","sbrief":"mod above u with inverted breve"}}},{"category":"Ll","key":"0219","mappings":{"default":{"default":"latin small letter s with comma below","alternative":"latin small letter s comma below","short":"s comma below"},"mathspeak":{"default":"modifying below s with comma below","brief":"mod below s with comma below","sbrief":"mod below s with comma below"}}},{"category":"Ll","key":"021B","mappings":{"default":{"default":"latin small letter t with comma below","alternative":"latin small letter t comma below","short":"t comma below"},"mathspeak":{"default":"modifying below t with comma below","brief":"mod below t with comma below","sbrief":"mod below t with comma below"}}},{"category":"Ll","key":"021F","mappings":{"default":{"default":"latin small letter h with caron","alternative":"latin small letter h caron","short":"h caron"},"mathspeak":{"default":"modifying above h with caron","brief":"mod above h with caron","sbrief":"mod above h with caron"}}},{"category":"Ll","key":"0227","mappings":{"default":{"default":"latin small letter a with dot above","alternative":"latin small letter a overdot","short":"a overdot"},"mathspeak":{"default":"modifying above a with dot","brief":"mod above a with dot","sbrief":"mod above a with dot"}}},{"category":"Ll","key":"0229","mappings":{"default":{"default":"latin small letter e with cedilla","alternative":"latin small letter e cedilla","short":"e cedilla"},"mathspeak":{"default":"modifying above e with cedilla","brief":"mod above e with cedilla","sbrief":"mod above e with cedilla"}}},{"category":"Ll","key":"022F","mappings":{"default":{"default":"latin small letter o with dot above","alternative":"latin small letter o overdot","short":"o overdot"},"mathspeak":{"default":"modifying above o with dot","brief":"mod above o with dot","sbrief":"mod above o with dot"}}},{"category":"Ll","key":"0233","mappings":{"default":{"default":"latin small letter y with macron","alternative":"latin small letter y overbar","short":"y overbar"},"mathspeak":{"default":"y overbar","brief":"y overbar","sbrief":"y overbar"}}},{"category":"Ll","key":"0237","mappings":{"default":{"default":"latin small letter dotless j","alternative":"latin small letter dotless j","short":"dotless j"},"mathspeak":{"default":"modifying above d with tless j","brief":"mod above d with tless j","sbrief":"mod above d with tless j"}}},{"category":"Ll","key":"1E01","mappings":{"default":{"default":"latin small letter a ring below","alternative":"latin small letter a ring below","short":"a ring below"},"mathspeak":{"default":"modifying below a with ring below","brief":"mod below a with ring below","sbrief":"mod below a with ring below"}}},{"category":"Ll","key":"1E03","mappings":{"default":{"default":"latin small letter b with dot above","alternative":"latin small letter b overdot","short":"b overdot"},"mathspeak":{"default":"modifying above b with dot","brief":"mod above b with dot","sbrief":"mod above b with dot"}}},{"category":"Ll","key":"1E05","mappings":{"default":{"default":"latin small letter b with dot below","alternative":"latin small letter b underdot","short":"b underdot"},"mathspeak":{"default":"modifying below b with dot","brief":"mod below b with dot","sbrief":"mod below b with dot"}}},{"category":"Ll","key":"1E07","mappings":{"default":{"default":"latin small letter b with line below","alternative":"latin small letter b underbar","short":"b underbar"},"mathspeak":{"default":"b underbar","brief":"b underbar","sbrief":"b underbar"}}},{"category":"Ll","key":"1E0B","mappings":{"default":{"default":"latin small letter d with dot above","alternative":"latin small letter d overdot","short":"d overdot"},"mathspeak":{"default":"modifying above d with dot","brief":"mod above d with dot","sbrief":"mod above d with dot"}}},{"category":"Ll","key":"1E0D","mappings":{"default":{"default":"latin small letter d with dot below","alternative":"latin small letter d underdot","short":"d underdot"},"mathspeak":{"default":"modifying below d with dot","brief":"mod below d with dot","sbrief":"mod below d with dot"}}},{"category":"Ll","key":"1E0F","mappings":{"default":{"default":"latin small letter d with line below","alternative":"latin small letter d underbar","short":"d underbar"},"mathspeak":{"default":"d underbar","brief":"d underbar","sbrief":"d underbar"}}},{"category":"Ll","key":"1E11","mappings":{"default":{"default":"latin small letter d with cedilla","alternative":"latin small letter d cedilla","short":"d cedilla"},"mathspeak":{"default":"modifying above d with cedilla","brief":"mod above d with cedilla","sbrief":"mod above d with cedilla"}}},{"category":"Ll","key":"1E13","mappings":{"default":{"default":"latin small letter d with circumflex below","alternative":"latin small letter d underhat","short":"d underhat"},"mathspeak":{"default":"modifying below d with caret","brief":"mod below d with caret","sbrief":"mod below d with caret"}}},{"category":"Ll","key":"1E19","mappings":{"default":{"default":"latin small letter e with circumflex below","alternative":"latin small letter e underhat","short":"e underhat"},"mathspeak":{"default":"modifying below e with caret","brief":"mod below e with caret","sbrief":"mod below e with caret"}}},{"category":"Ll","key":"1E1B","mappings":{"default":{"default":"latin small letter e with tilde below","alternative":"latin small letter e tilde below","short":"e tilde below"},"mathspeak":{"default":"e undertilde","brief":"e undertilde","sbrief":"e undertilde"}}},{"category":"Ll","key":"1E1F","mappings":{"default":{"default":"latin small letter f with dot above","alternative":"latin small letter f overdot","short":"f overdot"},"mathspeak":{"default":"modifying above f with dot","brief":"mod above f with dot","sbrief":"mod above f with dot"}}},{"category":"Ll","key":"1E21","mappings":{"default":{"default":"latin small letter g with macron","alternative":"latin small letter g overbar","short":"g overbar"},"mathspeak":{"default":"g overbar","brief":"g overbar","sbrief":"g overbar"}}},{"category":"Ll","key":"1E23","mappings":{"default":{"default":"latin small letter h with dot above","alternative":"latin small letter h overdot","short":"h overdot"},"mathspeak":{"default":"modifying above h with dot","brief":"mod above h with dot","sbrief":"mod above h with dot"}}},{"category":"Ll","key":"1E25","mappings":{"default":{"default":"latin small letter h with dot below","alternative":"latin small letter h underdot","short":"h underdot"},"mathspeak":{"default":"modifying below h with dot","brief":"mod below h with dot","sbrief":"mod below h with dot"}}},{"category":"Ll","key":"1E27","mappings":{"default":{"default":"latin small letter h with diaeresis","alternative":"latin small letter h double overdot","short":"h double overdot"},"mathspeak":{"default":"modifying above h with double dot","brief":"mod above h with double dot","sbrief":"mod above h with double dot"}}},{"category":"Ll","key":"1E29","mappings":{"default":{"default":"latin small letter h with cedilla","alternative":"latin small letter h cedilla","short":"h cedilla"},"mathspeak":{"default":"modifying above h with cedilla","brief":"mod above h with cedilla","sbrief":"mod above h with cedilla"}}},{"category":"Ll","key":"1E2B","mappings":{"default":{"default":"latin small letter h with breve below","alternative":"latin small letter h breve below","short":"h breve below"},"mathspeak":{"default":"modifying below h with breve below","brief":"mod below h with breve below","sbrief":"mod below h with breve below"}}},{"category":"Ll","key":"1E2D","mappings":{"default":{"default":"latin small letter i with tilde below","alternative":"latin small letter i tilde below","short":"i tilde below"},"mathspeak":{"default":"i undertilde","brief":"i undertilde","sbrief":"i undertilde"}}},{"category":"Ll","key":"1E31","mappings":{"default":{"default":"latin small letter k with acute","alternative":"latin small letter k acute","short":"k acute"},"mathspeak":{"default":"modifying above k with acute","brief":"mod above k with acute","sbrief":"mod above k with acute"}}},{"category":"Ll","key":"1E33","mappings":{"default":{"default":"latin small letter k with dot below","alternative":"latin small letter k underdot","short":"k underdot"},"mathspeak":{"default":"modifying below k with dot","brief":"mod below k with dot","sbrief":"mod below k with dot"}}},{"category":"Ll","key":"1E35","mappings":{"default":{"default":"latin small letter k with line below","alternative":"latin small letter k underbar","short":"k underbar"},"mathspeak":{"default":"k underbar","brief":"k underbar","sbrief":"k underbar"}}},{"category":"Ll","key":"1E37","mappings":{"default":{"default":"latin small letter l with dot below","alternative":"latin small letter l underdot","short":"l underdot"},"mathspeak":{"default":"modifying below l with dot","brief":"mod below l with dot","sbrief":"mod below l with dot"}}},{"category":"Ll","key":"1E3B","mappings":{"default":{"default":"latin small letter l with line below","alternative":"latin small letter l underbar","short":"l underbar"},"mathspeak":{"default":"l underbar","brief":"l underbar","sbrief":"l underbar"}}},{"category":"Ll","key":"1E3D","mappings":{"default":{"default":"latin small letter l with circumflex below","alternative":"latin small letter l underhat","short":"l underhat"},"mathspeak":{"default":"modifying below l with caret","brief":"mod below l with caret","sbrief":"mod below l with caret"}}},{"category":"Ll","key":"1E3F","mappings":{"default":{"default":"latin small letter m with acute","alternative":"latin small letter m acute","short":"m acute"},"mathspeak":{"default":"modifying above m with acute","brief":"mod above m with acute","sbrief":"mod above m with acute"}}},{"category":"Ll","key":"1E41","mappings":{"default":{"default":"latin small letter m with dot above","alternative":"latin small letter m overdot","short":"m overdot"},"mathspeak":{"default":"modifying above m with dot","brief":"mod above m with dot","sbrief":"mod above m with dot"}}},{"category":"Ll","key":"1E43","mappings":{"default":{"default":"latin small letter m with dot below","alternative":"latin small letter m underdot","short":"m underdot"},"mathspeak":{"default":"modifying below m with dot","brief":"mod below m with dot","sbrief":"mod below m with dot"}}},{"category":"Ll","key":"1E45","mappings":{"default":{"default":"latin small letter n with dot above","alternative":"latin small letter n overdot","short":"n overdot"},"mathspeak":{"default":"modifying above n with dot","brief":"mod above n with dot","sbrief":"mod above n with dot"}}},{"category":"Ll","key":"1E47","mappings":{"default":{"default":"latin small letter n with dot below","alternative":"latin small letter n underdot","short":"n underdot"},"mathspeak":{"default":"modifying below n with dot","brief":"mod below n with dot","sbrief":"mod below n with dot"}}},{"category":"Ll","key":"1E49","mappings":{"default":{"default":"latin small letter n with line below","alternative":"latin small letter n underbar","short":"n underbar"},"mathspeak":{"default":"n underbar","brief":"n underbar","sbrief":"n underbar"}}},{"category":"Ll","key":"1E4B","mappings":{"default":{"default":"latin small letter n with circumflex below","alternative":"latin small letter n underhat","short":"n underhat"},"mathspeak":{"default":"modifying below n with caret","brief":"mod below n with caret","sbrief":"mod below n with caret"}}},{"category":"Ll","key":"1E55","mappings":{"default":{"default":"latin small letter p with acute","alternative":"latin small letter p acute","short":"p acute"},"mathspeak":{"default":"modifying above p with acute","brief":"mod above p with acute","sbrief":"mod above p with acute"}}},{"category":"Ll","key":"1E57","mappings":{"default":{"default":"latin small letter p with dot above","alternative":"latin small letter p overdot","short":"p overdot"},"mathspeak":{"default":"modifying above p with dot","brief":"mod above p with dot","sbrief":"mod above p with dot"}}},{"category":"Ll","key":"1E59","mappings":{"default":{"default":"latin small letter r with dot above","alternative":"latin small letter r overdot","short":"r overdot"},"mathspeak":{"default":"modifying above r with dot","brief":"mod above r with dot","sbrief":"mod above r with dot"}}},{"category":"Ll","key":"1E5B","mappings":{"default":{"default":"latin small letter r with dot below","alternative":"latin small letter r underdot","short":"r underdot"},"mathspeak":{"default":"modifying below r with dot","brief":"mod below r with dot","sbrief":"mod below r with dot"}}},{"category":"Ll","key":"1E5F","mappings":{"default":{"default":"latin small letter r with line below","alternative":"latin small letter r underbar","short":"r underbar"},"mathspeak":{"default":"r underbar","brief":"r underbar","sbrief":"r underbar"}}},{"category":"Ll","key":"1E61","mappings":{"default":{"default":"latin small letter s with dot above","alternative":"latin small letter s overdot","short":"s overdot"},"mathspeak":{"default":"modifying above s with dot","brief":"mod above s with dot","sbrief":"mod above s with dot"}}},{"category":"Ll","key":"1E63","mappings":{"default":{"default":"latin small letter s with dot below","alternative":"latin small letter s underdot","short":"s underdot"},"mathspeak":{"default":"modifying below s with dot","brief":"mod below s with dot","sbrief":"mod below s with dot"}}},{"category":"Ll","key":"1E6B","mappings":{"default":{"default":"latin small letter t with dot above","alternative":"latin small letter t overdot","short":"t overdot"},"mathspeak":{"default":"modifying above t with dot","brief":"mod above t with dot","sbrief":"mod above t with dot"}}},{"category":"Ll","key":"1E6D","mappings":{"default":{"default":"latin small letter t with dot below","alternative":"latin small letter t underdot","short":"t underdot"},"mathspeak":{"default":"modifying below t with dot","brief":"mod below t with dot","sbrief":"mod below t with dot"}}},{"category":"Ll","key":"1E6F","mappings":{"default":{"default":"latin small letter t with line below","alternative":"latin small letter t underbar","short":"t underbar"},"mathspeak":{"default":"t underbar","brief":"t underbar","sbrief":"t underbar"}}},{"category":"Ll","key":"1E71","mappings":{"default":{"default":"latin small letter t with circumflex below","alternative":"latin small letter t underhat","short":"t underhat"},"mathspeak":{"default":"modifying below t with caret","brief":"mod below t with caret","sbrief":"mod below t with caret"}}},{"category":"Ll","key":"1E73","mappings":{"default":{"default":"latin small letter u with diaeresis below","alternative":"latin small letter u double underdot","short":"u double underdot"},"mathspeak":{"default":"modifying below u with double dot","brief":"mod below u with double dot","sbrief":"mod below u with double dot"}}},{"category":"Ll","key":"1E75","mappings":{"default":{"default":"latin small letter u with tilde below","alternative":"latin small letter u tilde below","short":"u tilde below"},"mathspeak":{"default":"u undertilde","brief":"u undertilde","sbrief":"u undertilde"}}},{"category":"Ll","key":"1E77","mappings":{"default":{"default":"latin small letter u with circumflex below","alternative":"latin small letter u underhat","short":"u underhat"},"mathspeak":{"default":"modifying below u with caret","brief":"mod below u with caret","sbrief":"mod below u with caret"}}},{"category":"Ll","key":"1E7D","mappings":{"default":{"default":"latin small letter v with tilde","alternative":"latin small letter v tilde","short":"v tilde"},"mathspeak":{"default":"v overtilde","brief":"v overtilde","sbrief":"v overtilde"}}},{"category":"Ll","key":"1E7F","mappings":{"default":{"default":"latin small letter v with dot below","alternative":"latin small letter v underdot","short":"v underdot"},"mathspeak":{"default":"modifying below v with dot","brief":"mod below v with dot","sbrief":"mod below v with dot"}}},{"category":"Ll","key":"1E81","mappings":{"default":{"default":"latin small letter w with grave","alternative":"latin small letter w grave","short":"w grave"},"mathspeak":{"default":"modifying above w with grave","brief":"mod above w with grave","sbrief":"mod above w with grave"}}},{"category":"Ll","key":"1E83","mappings":{"default":{"default":"latin small letter w with acute","alternative":"latin small letter w acute","short":"w acute"},"mathspeak":{"default":"modifying above w with acute","brief":"mod above w with acute","sbrief":"mod above w with acute"}}},{"category":"Ll","key":"1E85","mappings":{"default":{"default":"latin small letter w with diaeresis","alternative":"latin small letter w double overdot","short":"w double overdot"},"mathspeak":{"default":"modifying above w with double dot","brief":"mod above w with double dot","sbrief":"mod above w with double dot"}}},{"category":"Ll","key":"1E87","mappings":{"default":{"default":"latin small letter w with dot above","alternative":"latin small letter w overdot","short":"w overdot"},"mathspeak":{"default":"modifying above w with dot","brief":"mod above w with dot","sbrief":"mod above w with dot"}}},{"category":"Ll","key":"1E89","mappings":{"default":{"default":"latin small letter w with dot below","alternative":"latin small letter w underdot","short":"w underdot"},"mathspeak":{"default":"modifying below w with dot","brief":"mod below w with dot","sbrief":"mod below w with dot"}}},{"category":"Ll","key":"1E8B","mappings":{"default":{"default":"latin small letter x with dot above","alternative":"latin small letter x overdot","short":"x overdot"},"mathspeak":{"default":"modifying above x with dot","brief":"mod above x with dot","sbrief":"mod above x with dot"}}},{"category":"Ll","key":"1E8D","mappings":{"default":{"default":"latin small letter x with diaeresis","alternative":"latin small letter x double overdot","short":"x double overdot"},"mathspeak":{"default":"modifying above x with double dot","brief":"mod above x with double dot","sbrief":"mod above x with double dot"}}},{"category":"Ll","key":"1E8F","mappings":{"default":{"default":"latin small letter y with dot above","alternative":"latin small letter y overdot","short":"y overdot"},"mathspeak":{"default":"modifying above y with dot","brief":"mod above y with dot","sbrief":"mod above y with dot"}}},{"category":"Ll","key":"1E91","mappings":{"default":{"default":"latin small letter z with circumflex","alternative":"latin small letter z hat","short":"z hat"},"mathspeak":{"default":"modifying above z with caret","brief":"mod above z with caret","sbrief":"mod above z with caret"}}},{"category":"Ll","key":"1E93","mappings":{"default":{"default":"latin small letter z with dot below","alternative":"latin small letter z underdot","short":"z underdot"},"mathspeak":{"default":"modifying below z with dot","brief":"mod below z with dot","sbrief":"mod below z with dot"}}},{"category":"Ll","key":"1E95","mappings":{"default":{"default":"latin small letter z with line below","alternative":"latin small letter z underbar","short":"z underbar"},"mathspeak":{"default":"z underbar","brief":"z underbar","sbrief":"z underbar"}}},{"category":"Ll","key":"1E96","mappings":{"default":{"default":"latin small letter h with line below","alternative":"latin small letter h underbar","short":"h underbar"},"mathspeak":{"default":"h underbar","brief":"h underbar","sbrief":"h underbar"}}},{"category":"Ll","key":"1E97","mappings":{"default":{"default":"latin small letter t with diaeresis","alternative":"latin small letter t double overdot","short":"t double overdot"},"mathspeak":{"default":"modifying above t with double dot","brief":"mod above t with double dot","sbrief":"mod above t with double dot"}}},{"category":"Ll","key":"1E98","mappings":{"default":{"default":"latin small letter w with ring above","alternative":"latin small letter w ring","short":"w ring"},"mathspeak":{"default":"modifying above w with ring","brief":"mod above w with ring","sbrief":"mod above w with ring"}}},{"category":"Ll","key":"1E99","mappings":{"default":{"default":"latin small letter y with ring above","alternative":"latin small letter y ring","short":"y ring"},"mathspeak":{"default":"modifying above y with ring","brief":"mod above y with ring","sbrief":"mod above y with ring"}}},{"category":"Ll","key":"1E9A","mappings":{"default":{"default":"latin small letter a with right half ring","alternative":"latin small letter a right half ring","short":"a right half ring"},"mathspeak":{"default":"modifying above a with right half ring","brief":"mod above a with right half ring","sbrief":"mod above a with right half ring"}}},{"category":"Ll","key":"1EA1","mappings":{"default":{"default":"latin small letter a with dot below","alternative":"latin small letter a underdot","short":"a underdot"},"mathspeak":{"default":"modifying below a with dot","brief":"mod below a with dot","sbrief":"mod below a with dot"}}},{"category":"Ll","key":"1EA3","mappings":{"default":{"default":"latin small letter a with hook above","alternative":"latin small letter a hook","short":"a hook"},"mathspeak":{"default":"modifying above a with hook","brief":"mod above a with hook","sbrief":"mod above a with hook"}}},{"category":"Ll","key":"1EB9","mappings":{"default":{"default":"latin small letter e with dot below","alternative":"latin small letter e underdot","short":"e underdot"},"mathspeak":{"default":"modifying below e with dot","brief":"mod below e with dot","sbrief":"mod below e with dot"}}},{"category":"Ll","key":"1EBB","mappings":{"default":{"default":"latin small letter e with hook above","alternative":"latin small letter e hook","short":"e hook"},"mathspeak":{"default":"modifying above e with hook","brief":"mod above e with hook","sbrief":"mod above e with hook"}}},{"category":"Ll","key":"1EBD","mappings":{"default":{"default":"latin small letter e with tilde","alternative":"latin small letter e tilde","short":"e tilde"},"mathspeak":{"default":"e overtilde","brief":"e overtilde","sbrief":"e overtilde"}}},{"category":"Ll","key":"1EC9","mappings":{"default":{"default":"latin small letter i with hook above","alternative":"latin small letter i hook","short":"i hook"},"mathspeak":{"default":"modifying above i with hook","brief":"mod above i with hook","sbrief":"mod above i with hook"}}},{"category":"Ll","key":"1ECB","mappings":{"default":{"default":"latin small letter i with dot below","alternative":"latin small letter i underdot","short":"i underdot"},"mathspeak":{"default":"modifying below i with dot","brief":"mod below i with dot","sbrief":"mod below i with dot"}}},{"category":"Ll","key":"1ECD","mappings":{"default":{"default":"latin small letter o with dot below","alternative":"latin small letter o underdot","short":"o underdot"},"mathspeak":{"default":"modifying below o with dot","brief":"mod below o with dot","sbrief":"mod below o with dot"}}},{"category":"Ll","key":"1ECF","mappings":{"default":{"default":"latin small letter o with hook above","alternative":"latin small letter o hook","short":"o hook"},"mathspeak":{"default":"modifying above o with hook","brief":"mod above o with hook","sbrief":"mod above o with hook"}}},{"category":"Ll","key":"1EE5","mappings":{"default":{"default":"latin small letter u with dot below","alternative":"latin small letter u underdot","short":"u underdot"},"mathspeak":{"default":"modifying below u with dot","brief":"mod below u with dot","sbrief":"mod below u with dot"}}},{"category":"Ll","key":"1EE7","mappings":{"default":{"default":"latin small letter u with hook above","alternative":"latin small letter u hook","short":"u hook"},"mathspeak":{"default":"modifying above u with hook","brief":"mod above u with hook","sbrief":"mod above u with hook"}}},{"category":"Ll","key":"1EF3","mappings":{"default":{"default":"latin small letter y with grave","alternative":"latin small letter y grave","short":"y grave"},"mathspeak":{"default":"modifying above y with grave","brief":"mod above y with grave","sbrief":"mod above y with grave"}}},{"category":"Ll","key":"1EF5","mappings":{"default":{"default":"latin small letter y with dot below","alternative":"latin small letter y underdot","short":"y underdot"},"mathspeak":{"default":"modifying below y with dot","brief":"mod below y with dot","sbrief":"mod below y with dot"}}},{"category":"Ll","key":"1EF7","mappings":{"default":{"default":"latin small letter y with hook above","alternative":"latin small letter y hook","short":"y hook"},"mathspeak":{"default":"modifying above y with hook","brief":"mod above y with hook","sbrief":"mod above y with hook"}}},{"category":"Ll","key":"1EF9","mappings":{"default":{"default":"latin small letter y with tilde","alternative":"latin small letter y tilde","short":"y tilde"},"mathspeak":{"default":"y overtilde","brief":"y overtilde","sbrief":"y overtilde"}}}] +, +"en/latin-mathfonts-bold-fraktur.js": +[{"locale":"en"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital a","short":"bold fraktur cap a"},"mathspeak":{"default":"bold fraktur upper A"}},"key":"1D56C"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital b","short":"bold fraktur cap b"},"mathspeak":{"default":"bold fraktur upper B"}},"key":"1D56D"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital c","short":"bold fraktur cap c"},"mathspeak":{"default":"bold fraktur upper C"}},"key":"1D56E"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital d","short":"bold fraktur cap d"},"mathspeak":{"default":"bold fraktur upper D"}},"key":"1D56F"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital e","short":"bold fraktur cap e"},"mathspeak":{"default":"bold fraktur upper E"}},"key":"1D570"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital f","short":"bold fraktur cap f"},"mathspeak":{"default":"bold fraktur upper F"}},"key":"1D571"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital g","short":"bold fraktur cap g"},"mathspeak":{"default":"bold fraktur upper G"}},"key":"1D572"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital h","short":"bold fraktur cap h"},"mathspeak":{"default":"bold fraktur upper H"}},"key":"1D573"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital i","short":"bold fraktur cap i"},"mathspeak":{"default":"bold fraktur upper I"}},"key":"1D574"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital j","short":"bold fraktur cap j"},"mathspeak":{"default":"bold fraktur upper J"}},"key":"1D575"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital k","short":"bold fraktur cap k"},"mathspeak":{"default":"bold fraktur upper K"}},"key":"1D576"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital l","short":"bold fraktur cap l"},"mathspeak":{"default":"bold fraktur upper L"}},"key":"1D577"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital m","short":"bold fraktur cap m"},"mathspeak":{"default":"bold fraktur upper M"}},"key":"1D578"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital n","short":"bold fraktur cap n"},"mathspeak":{"default":"bold fraktur upper N"}},"key":"1D579"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital o","short":"bold fraktur cap o"},"mathspeak":{"default":"bold fraktur upper O"}},"key":"1D57A"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital p","short":"bold fraktur cap p"},"mathspeak":{"default":"bold fraktur upper P"}},"key":"1D57B"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital q","short":"bold fraktur cap q"},"mathspeak":{"default":"bold fraktur upper Q"}},"key":"1D57C"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital r","short":"bold fraktur cap r"},"mathspeak":{"default":"bold fraktur upper R"}},"key":"1D57D"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital s","short":"bold fraktur cap s"},"mathspeak":{"default":"bold fraktur upper S"}},"key":"1D57E"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital t","short":"bold fraktur cap t"},"mathspeak":{"default":"bold fraktur upper T"}},"key":"1D57F"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital u","short":"bold fraktur cap u"},"mathspeak":{"default":"bold fraktur upper U"}},"key":"1D580"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital v","short":"bold fraktur cap v"},"mathspeak":{"default":"bold fraktur upper V"}},"key":"1D581"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital w","short":"bold fraktur cap w"},"mathspeak":{"default":"bold fraktur upper W"}},"key":"1D582"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital x","short":"bold fraktur cap x"},"mathspeak":{"default":"bold fraktur upper X"}},"key":"1D583"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital y","short":"bold fraktur cap y"},"mathspeak":{"default":"bold fraktur upper Y"}},"key":"1D584"},{"category":"Lu","mappings":{"default":{"default":"bold fraktur capital z","short":"bold fraktur cap z"},"mathspeak":{"default":"bold fraktur upper Z"}},"key":"1D585"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small a","short":"bold fraktur a"}},"key":"1D586"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small b","short":"bold fraktur b"}},"key":"1D587"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small c","short":"bold fraktur c"}},"key":"1D588"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small d","short":"bold fraktur d"}},"key":"1D589"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small e","short":"bold fraktur e"}},"key":"1D58A"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small f","short":"bold fraktur f"}},"key":"1D58B"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small g","short":"bold fraktur g"}},"key":"1D58C"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small h","short":"bold fraktur h"}},"key":"1D58D"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small i","short":"bold fraktur i"}},"key":"1D58E"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small j","short":"bold fraktur j"}},"key":"1D58F"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small k","short":"bold fraktur k"}},"key":"1D590"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small l","short":"bold fraktur l"}},"key":"1D591"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small m","short":"bold fraktur m"}},"key":"1D592"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small n","short":"bold fraktur n"}},"key":"1D593"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small o","short":"bold fraktur o"}},"key":"1D594"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small p","short":"bold fraktur p"}},"key":"1D595"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small q","short":"bold fraktur q"}},"key":"1D596"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small r","short":"bold fraktur r"}},"key":"1D597"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small s","short":"bold fraktur s"}},"key":"1D598"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small t","short":"bold fraktur t"}},"key":"1D599"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small u","short":"bold fraktur u"}},"key":"1D59A"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small v","short":"bold fraktur v"}},"key":"1D59B"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small w","short":"bold fraktur w"}},"key":"1D59C"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small x","short":"bold fraktur x"}},"key":"1D59D"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small y","short":"bold fraktur y"}},"key":"1D59E"},{"category":"Ll","mappings":{"default":{"default":"bold fraktur small z","short":"bold fraktur z"}},"key":"1D59F"}] +, +"en/latin-mathfonts-bold-script.js": +[{"locale":"en"},{"category":"Lu","mappings":{"default":{"default":"bold script capital a","short":"bold script cap a"},"mathspeak":{"default":"bold script upper A"}},"key":"1D4D0"},{"category":"Lu","mappings":{"default":{"default":"bold script capital b","short":"bold script cap b"},"mathspeak":{"default":"bold script upper B"}},"key":"1D4D1"},{"category":"Lu","mappings":{"default":{"default":"bold script capital c","short":"bold script cap c"},"mathspeak":{"default":"bold script upper C"}},"key":"1D4D2"},{"category":"Lu","mappings":{"default":{"default":"bold script capital d","short":"bold script cap d"},"mathspeak":{"default":"bold script upper D"}},"key":"1D4D3"},{"category":"Lu","mappings":{"default":{"default":"bold script capital e","short":"bold script cap e"},"mathspeak":{"default":"bold script upper E"}},"key":"1D4D4"},{"category":"Lu","mappings":{"default":{"default":"bold script capital f","short":"bold script cap f"},"mathspeak":{"default":"bold script upper F"}},"key":"1D4D5"},{"category":"Lu","mappings":{"default":{"default":"bold script capital g","short":"bold script cap g"},"mathspeak":{"default":"bold script upper G"}},"key":"1D4D6"},{"category":"Lu","mappings":{"default":{"default":"bold script capital h","short":"bold script cap h"},"mathspeak":{"default":"bold script upper H"}},"key":"1D4D7"},{"category":"Lu","mappings":{"default":{"default":"bold script capital i","short":"bold script cap i"},"mathspeak":{"default":"bold script upper I"}},"key":"1D4D8"},{"category":"Lu","mappings":{"default":{"default":"bold script capital j","short":"bold script cap j"},"mathspeak":{"default":"bold script upper J"}},"key":"1D4D9"},{"category":"Lu","mappings":{"default":{"default":"bold script capital k","short":"bold script cap k"},"mathspeak":{"default":"bold script upper K"}},"key":"1D4DA"},{"category":"Lu","mappings":{"default":{"default":"bold script capital l","short":"bold script cap l"},"mathspeak":{"default":"bold script upper L"}},"key":"1D4DB"},{"category":"Lu","mappings":{"default":{"default":"bold script capital m","short":"bold script cap m"},"mathspeak":{"default":"bold script upper M"}},"key":"1D4DC"},{"category":"Lu","mappings":{"default":{"default":"bold script capital n","short":"bold script cap n"},"mathspeak":{"default":"bold script upper N"}},"key":"1D4DD"},{"category":"Lu","mappings":{"default":{"default":"bold script capital o","short":"bold script cap o"},"mathspeak":{"default":"bold script upper O"}},"key":"1D4DE"},{"category":"Lu","mappings":{"default":{"default":"bold script capital p","short":"bold script cap p"},"mathspeak":{"default":"bold script upper P"}},"key":"1D4DF"},{"category":"Lu","mappings":{"default":{"default":"bold script capital q","short":"bold script cap q"},"mathspeak":{"default":"bold script upper Q"}},"key":"1D4E0"},{"category":"Lu","mappings":{"default":{"default":"bold script capital r","short":"bold script cap r"},"mathspeak":{"default":"bold script upper R"}},"key":"1D4E1"},{"category":"Lu","mappings":{"default":{"default":"bold script capital s","short":"bold script cap s"},"mathspeak":{"default":"bold script upper S"}},"key":"1D4E2"},{"category":"Lu","mappings":{"default":{"default":"bold script capital t","short":"bold script cap t"},"mathspeak":{"default":"bold script upper T"}},"key":"1D4E3"},{"category":"Lu","mappings":{"default":{"default":"bold script capital u","short":"bold script cap u"},"mathspeak":{"default":"bold script upper U"}},"key":"1D4E4"},{"category":"Lu","mappings":{"default":{"default":"bold script capital v","short":"bold script cap v"},"mathspeak":{"default":"bold script upper V"}},"key":"1D4E5"},{"category":"Lu","mappings":{"default":{"default":"bold script capital w","short":"bold script cap w"},"mathspeak":{"default":"bold script upper W"}},"key":"1D4E6"},{"category":"Lu","mappings":{"default":{"default":"bold script capital x","short":"bold script cap x"},"mathspeak":{"default":"bold script upper X"}},"key":"1D4E7"},{"category":"Lu","mappings":{"default":{"default":"bold script capital y","short":"bold script cap y"},"mathspeak":{"default":"bold script upper Y"}},"key":"1D4E8"},{"category":"Lu","mappings":{"default":{"default":"bold script capital z","short":"bold script cap z"},"mathspeak":{"default":"bold script upper Z"}},"key":"1D4E9"},{"category":"Ll","mappings":{"default":{"default":"bold script small a","short":"bold script a"}},"key":"1D4EA"},{"category":"Ll","mappings":{"default":{"default":"bold script small b","short":"bold script b"}},"key":"1D4EB"},{"category":"Ll","mappings":{"default":{"default":"bold script small c","short":"bold script c"}},"key":"1D4EC"},{"category":"Ll","mappings":{"default":{"default":"bold script small d","short":"bold script d"}},"key":"1D4ED"},{"category":"Ll","mappings":{"default":{"default":"bold script small e","short":"bold script e"}},"key":"1D4EE"},{"category":"Ll","mappings":{"default":{"default":"bold script small f","short":"bold script f"}},"key":"1D4EF"},{"category":"Ll","mappings":{"default":{"default":"bold script small g","short":"bold script g"}},"key":"1D4F0"},{"category":"Ll","mappings":{"default":{"default":"bold script small h","short":"bold script h"}},"key":"1D4F1"},{"category":"Ll","mappings":{"default":{"default":"bold script small i","short":"bold script i"}},"key":"1D4F2"},{"category":"Ll","mappings":{"default":{"default":"bold script small j","short":"bold script j"}},"key":"1D4F3"},{"category":"Ll","mappings":{"default":{"default":"bold script small k","short":"bold script k"}},"key":"1D4F4"},{"category":"Ll","mappings":{"default":{"default":"bold script small l","short":"bold script l"}},"key":"1D4F5"},{"category":"Ll","mappings":{"default":{"default":"bold script small m","short":"bold script m"}},"key":"1D4F6"},{"category":"Ll","mappings":{"default":{"default":"bold script small n","short":"bold script n"}},"key":"1D4F7"},{"category":"Ll","mappings":{"default":{"default":"bold script small o","short":"bold script o"}},"key":"1D4F8"},{"category":"Ll","mappings":{"default":{"default":"bold script small p","short":"bold script p"}},"key":"1D4F9"},{"category":"Ll","mappings":{"default":{"default":"bold script small q","short":"bold script q"}},"key":"1D4FA"},{"category":"Ll","mappings":{"default":{"default":"bold script small r","short":"bold script r"}},"key":"1D4FB"},{"category":"Ll","mappings":{"default":{"default":"bold script small s","short":"bold script s"}},"key":"1D4FC"},{"category":"Ll","mappings":{"default":{"default":"bold script small t","short":"bold script t"}},"key":"1D4FD"},{"category":"Ll","mappings":{"default":{"default":"bold script small u","short":"bold script u"}},"key":"1D4FE"},{"category":"Ll","mappings":{"default":{"default":"bold script small v","short":"bold script v"}},"key":"1D4FF"},{"category":"Ll","mappings":{"default":{"default":"bold script small w","short":"bold script w"}},"key":"1D500"},{"category":"Ll","mappings":{"default":{"default":"bold script small x","short":"bold script x"}},"key":"1D501"},{"category":"Ll","mappings":{"default":{"default":"bold script small y","short":"bold script y"}},"key":"1D502"},{"category":"Ll","mappings":{"default":{"default":"bold script small z","short":"bold script z"}},"key":"1D503"}] +, +"en/latin-mathfonts-bold.js": +[{"locale":"en"},{"category":"Lu","mappings":{"default":{"default":"bold capital a","short":"bold cap a"},"mathspeak":{"default":"bold upper A"}},"key":"1D400"},{"category":"Lu","mappings":{"default":{"default":"bold capital b","short":"bold cap b"},"mathspeak":{"default":"bold upper B"}},"key":"1D401"},{"category":"Lu","mappings":{"default":{"default":"bold capital c","short":"bold cap c"},"mathspeak":{"default":"bold upper C"}},"key":"1D402"},{"category":"Lu","mappings":{"default":{"default":"bold capital d","short":"bold cap d"},"mathspeak":{"default":"bold upper D"}},"key":"1D403"},{"category":"Lu","mappings":{"default":{"default":"bold capital e","short":"bold cap e"},"mathspeak":{"default":"bold upper E"}},"key":"1D404"},{"category":"Lu","mappings":{"default":{"default":"bold capital f","short":"bold cap f"},"mathspeak":{"default":"bold upper F"}},"key":"1D405"},{"category":"Lu","mappings":{"default":{"default":"bold capital g","short":"bold cap g"},"mathspeak":{"default":"bold upper G"}},"key":"1D406"},{"category":"Lu","mappings":{"default":{"default":"bold capital h","short":"bold cap h"},"mathspeak":{"default":"bold upper H"}},"key":"1D407"},{"category":"Lu","mappings":{"default":{"default":"bold capital i","short":"bold cap i"},"mathspeak":{"default":"bold upper I"}},"key":"1D408"},{"category":"Lu","mappings":{"default":{"default":"bold capital j","short":"bold cap j"},"mathspeak":{"default":"bold upper J"}},"key":"1D409"},{"category":"Lu","mappings":{"default":{"default":"bold capital k","short":"bold cap k"},"mathspeak":{"default":"bold upper K"}},"key":"1D40A"},{"category":"Lu","mappings":{"default":{"default":"bold capital l","short":"bold cap l"},"mathspeak":{"default":"bold upper L"}},"key":"1D40B"},{"category":"Lu","mappings":{"default":{"default":"bold capital m","short":"bold cap m"},"mathspeak":{"default":"bold upper M"}},"key":"1D40C"},{"category":"Lu","mappings":{"default":{"default":"bold capital n","short":"bold cap n"},"mathspeak":{"default":"bold upper N"}},"key":"1D40D"},{"category":"Lu","mappings":{"default":{"default":"bold capital o","short":"bold cap o"},"mathspeak":{"default":"bold upper O"}},"key":"1D40E"},{"category":"Lu","mappings":{"default":{"default":"bold capital p","short":"bold cap p"},"mathspeak":{"default":"bold upper P"}},"key":"1D40F"},{"category":"Lu","mappings":{"default":{"default":"bold capital q","short":"bold cap q"},"mathspeak":{"default":"bold upper Q"}},"key":"1D410"},{"category":"Lu","mappings":{"default":{"default":"bold capital r","short":"bold cap r"},"mathspeak":{"default":"bold upper R"}},"key":"1D411"},{"category":"Lu","mappings":{"default":{"default":"bold capital s","short":"bold cap s"},"mathspeak":{"default":"bold upper S"}},"key":"1D412"},{"category":"Lu","mappings":{"default":{"default":"bold capital t","short":"bold cap t"},"mathspeak":{"default":"bold upper T"}},"key":"1D413"},{"category":"Lu","mappings":{"default":{"default":"bold capital u","short":"bold cap u"},"mathspeak":{"default":"bold upper U"}},"key":"1D414"},{"category":"Lu","mappings":{"default":{"default":"bold capital v","short":"bold cap v"},"mathspeak":{"default":"bold upper V"}},"key":"1D415"},{"category":"Lu","mappings":{"default":{"default":"bold capital w","short":"bold cap w"},"mathspeak":{"default":"bold upper W"}},"key":"1D416"},{"category":"Lu","mappings":{"default":{"default":"bold capital x","short":"bold cap x"},"mathspeak":{"default":"bold upper X"}},"key":"1D417"},{"category":"Lu","mappings":{"default":{"default":"bold capital y","short":"bold cap y"},"mathspeak":{"default":"bold upper Y"}},"key":"1D418"},{"category":"Lu","mappings":{"default":{"default":"bold capital z","short":"bold cap z"},"mathspeak":{"default":"bold upper Z"}},"key":"1D419"},{"category":"Ll","mappings":{"default":{"default":"bold small a","short":"bold a"}},"key":"1D41A"},{"category":"Ll","mappings":{"default":{"default":"bold small b","short":"bold b"}},"key":"1D41B"},{"category":"Ll","mappings":{"default":{"default":"bold small c","short":"bold c"}},"key":"1D41C"},{"category":"Ll","mappings":{"default":{"default":"bold small d","short":"bold d"}},"key":"1D41D"},{"category":"Ll","mappings":{"default":{"default":"bold small e","short":"bold e"}},"key":"1D41E"},{"category":"Ll","mappings":{"default":{"default":"bold small f","short":"bold f"}},"key":"1D41F"},{"category":"Ll","mappings":{"default":{"default":"bold small g","short":"bold g"}},"key":"1D420"},{"category":"Ll","mappings":{"default":{"default":"bold small h","short":"bold h"}},"key":"1D421"},{"category":"Ll","mappings":{"default":{"default":"bold small i","short":"bold i"}},"key":"1D422"},{"category":"Ll","mappings":{"default":{"default":"bold small j","short":"bold j"}},"key":"1D423"},{"category":"Ll","mappings":{"default":{"default":"bold small k","short":"bold k"}},"key":"1D424"},{"category":"Ll","mappings":{"default":{"default":"bold small l","short":"bold l"}},"key":"1D425"},{"category":"Ll","mappings":{"default":{"default":"bold small m","short":"bold m"}},"key":"1D426"},{"category":"Ll","mappings":{"default":{"default":"bold small n","short":"bold n"}},"key":"1D427"},{"category":"Ll","mappings":{"default":{"default":"bold small o","short":"bold o"}},"key":"1D428"},{"category":"Ll","mappings":{"default":{"default":"bold small p","short":"bold p"}},"key":"1D429"},{"category":"Ll","mappings":{"default":{"default":"bold small q","short":"bold q"}},"key":"1D42A"},{"category":"Ll","mappings":{"default":{"default":"bold small r","short":"bold r"}},"key":"1D42B"},{"category":"Ll","mappings":{"default":{"default":"bold small s","short":"bold s"}},"key":"1D42C"},{"category":"Ll","mappings":{"default":{"default":"bold small t","short":"bold t"}},"key":"1D42D"},{"category":"Ll","mappings":{"default":{"default":"bold small u","short":"bold u"}},"key":"1D42E"},{"category":"Ll","mappings":{"default":{"default":"bold small v","short":"bold v"}},"key":"1D42F"},{"category":"Ll","mappings":{"default":{"default":"bold small w","short":"bold w"}},"key":"1D430"},{"category":"Ll","mappings":{"default":{"default":"bold small x","short":"bold x"}},"key":"1D431"},{"category":"Ll","mappings":{"default":{"default":"bold small y","short":"bold y"}},"key":"1D432"},{"category":"Ll","mappings":{"default":{"default":"bold small z","short":"bold z"}},"key":"1D433"}] +, +"en/latin-mathfonts-double-struck.js": +[{"locale":"en"},{"category":"Lu","mappings":{"default":{"default":"double struck capital a","short":"double struck cap a"},"mathspeak":{"default":"double struck upper A"}},"key":"1D538"},{"category":"Lu","mappings":{"default":{"default":"double struck capital b","short":"double struck cap b"},"mathspeak":{"default":"double struck upper B"}},"key":"1D539"},{"category":"Lu","mappings":{"default":{"default":"double struck capital c","short":"double struck cap c"},"mathspeak":{"default":"double struck upper C"}},"key":"2102"},{"category":"Lu","mappings":{"default":{"default":"double struck capital d","short":"double struck cap d"},"mathspeak":{"default":"double struck upper D"}},"key":"1D53B"},{"category":"Lu","mappings":{"default":{"default":"double struck capital e","short":"double struck cap e"},"mathspeak":{"default":"double struck upper E"}},"key":"1D53C"},{"category":"Lu","mappings":{"default":{"default":"double struck capital f","short":"double struck cap f"},"mathspeak":{"default":"double struck upper F"}},"key":"1D53D"},{"category":"Lu","mappings":{"default":{"default":"double struck capital g","short":"double struck cap g"},"mathspeak":{"default":"double struck upper G"}},"key":"1D53E"},{"category":"Lu","mappings":{"default":{"default":"double struck capital h","short":"double struck cap h"},"mathspeak":{"default":"double struck upper H"}},"key":"210D"},{"category":"Lu","mappings":{"default":{"default":"double struck capital i","short":"double struck cap i"},"mathspeak":{"default":"double struck upper I"}},"key":"1D540"},{"category":"Lu","mappings":{"default":{"default":"double struck capital j","short":"double struck cap j"},"mathspeak":{"default":"double struck upper J"}},"key":"1D541"},{"category":"Lu","mappings":{"default":{"default":"double struck capital k","short":"double struck cap k"},"mathspeak":{"default":"double struck upper K"}},"key":"1D542"},{"category":"Lu","mappings":{"default":{"default":"double struck capital l","short":"double struck cap l"},"mathspeak":{"default":"double struck upper L"}},"key":"1D543"},{"category":"Lu","mappings":{"default":{"default":"double struck capital m","short":"double struck cap m"},"mathspeak":{"default":"double struck upper M"}},"key":"1D544"},{"category":"Lu","mappings":{"default":{"default":"double struck capital n","short":"double struck cap n"},"mathspeak":{"default":"double struck upper N"}},"key":"2115"},{"category":"Lu","mappings":{"default":{"default":"double struck capital o","short":"double struck cap o"},"mathspeak":{"default":"double struck upper O"}},"key":"1D546"},{"category":"Lu","mappings":{"default":{"default":"double struck capital p","short":"double struck cap p"},"mathspeak":{"default":"double struck upper P"}},"key":"2119"},{"category":"Lu","mappings":{"default":{"default":"double struck capital q","short":"double struck cap q"},"mathspeak":{"default":"double struck upper Q"}},"key":"211A"},{"category":"Lu","mappings":{"default":{"default":"double struck capital r","short":"double struck cap r"},"mathspeak":{"default":"double struck upper R"}},"key":"211D"},{"category":"Lu","mappings":{"default":{"default":"double struck capital s","short":"double struck cap s"},"mathspeak":{"default":"double struck upper S"}},"key":"1D54A"},{"category":"Lu","mappings":{"default":{"default":"double struck capital t","short":"double struck cap t"},"mathspeak":{"default":"double struck upper T"}},"key":"1D54B"},{"category":"Lu","mappings":{"default":{"default":"double struck capital u","short":"double struck cap u"},"mathspeak":{"default":"double struck upper U"}},"key":"1D54C"},{"category":"Lu","mappings":{"default":{"default":"double struck capital v","short":"double struck cap v"},"mathspeak":{"default":"double struck upper V"}},"key":"1D54D"},{"category":"Lu","mappings":{"default":{"default":"double struck capital w","short":"double struck cap w"},"mathspeak":{"default":"double struck upper W"}},"key":"1D54E"},{"category":"Lu","mappings":{"default":{"default":"double struck capital x","short":"double struck cap x"},"mathspeak":{"default":"double struck upper X"}},"key":"1D54F"},{"category":"Lu","mappings":{"default":{"default":"double struck capital y","short":"double struck cap y"},"mathspeak":{"default":"double struck upper Y"}},"key":"1D550"},{"category":"Lu","mappings":{"default":{"default":"double struck capital z","short":"double struck cap z"},"mathspeak":{"default":"double struck upper Z"}},"key":"2124"},{"category":"Ll","mappings":{"default":{"default":"double struck small a","short":"double struck a"}},"key":"1D552"},{"category":"Ll","mappings":{"default":{"default":"double struck small b","short":"double struck b"}},"key":"1D553"},{"category":"Ll","mappings":{"default":{"default":"double struck small c","short":"double struck c"}},"key":"1D554"},{"category":"Ll","mappings":{"default":{"default":"double struck small d","short":"double struck d"}},"key":"1D555"},{"category":"Ll","mappings":{"default":{"default":"double struck small e","short":"double struck e"}},"key":"1D556"},{"category":"Ll","mappings":{"default":{"default":"double struck small f","short":"double struck f"}},"key":"1D557"},{"category":"Ll","mappings":{"default":{"default":"double struck small g","short":"double struck g"}},"key":"1D558"},{"category":"Ll","mappings":{"default":{"default":"double struck small h","short":"double struck h"}},"key":"1D559"},{"category":"Ll","mappings":{"default":{"default":"double struck small i","short":"double struck i"}},"key":"1D55A"},{"category":"Ll","mappings":{"default":{"default":"double struck small j","short":"double struck j"}},"key":"1D55B"},{"category":"Ll","mappings":{"default":{"default":"double struck small k","short":"double struck k"}},"key":"1D55C"},{"category":"Ll","mappings":{"default":{"default":"double struck small l","short":"double struck l"}},"key":"1D55D"},{"category":"Ll","mappings":{"default":{"default":"double struck small m","short":"double struck m"}},"key":"1D55E"},{"category":"Ll","mappings":{"default":{"default":"double struck small n","short":"double struck n"}},"key":"1D55F"},{"category":"Ll","mappings":{"default":{"default":"double struck small o","short":"double struck o"}},"key":"1D560"},{"category":"Ll","mappings":{"default":{"default":"double struck small p","short":"double struck p"}},"key":"1D561"},{"category":"Ll","mappings":{"default":{"default":"double struck small q","short":"double struck q"}},"key":"1D562"},{"category":"Ll","mappings":{"default":{"default":"double struck small r","short":"double struck r"}},"key":"1D563"},{"category":"Ll","mappings":{"default":{"default":"double struck small s","short":"double struck s"}},"key":"1D564"},{"category":"Ll","mappings":{"default":{"default":"double struck small t","short":"double struck t"}},"key":"1D565"},{"category":"Ll","mappings":{"default":{"default":"double struck small u","short":"double struck u"}},"key":"1D566"},{"category":"Ll","mappings":{"default":{"default":"double struck small v","short":"double struck v"}},"key":"1D567"},{"category":"Ll","mappings":{"default":{"default":"double struck small w","short":"double struck w"}},"key":"1D568"},{"category":"Ll","mappings":{"default":{"default":"double struck small x","short":"double struck x"}},"key":"1D569"},{"category":"Ll","mappings":{"default":{"default":"double struck small y","short":"double struck y"}},"key":"1D56A"},{"category":"Ll","mappings":{"default":{"default":"double struck small z","short":"double struck z"}},"key":"1D56B"}] +, +"en/latin-mathfonts-fraktur.js": +[{"locale":"en"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital a","short":"fraktur cap a"},"mathspeak":{"default":"fraktur upper A"}},"key":"1D504"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital b","short":"fraktur cap b"},"mathspeak":{"default":"fraktur upper B"}},"key":"1D505"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital c","short":"fraktur cap c"},"mathspeak":{"default":"fraktur upper C"}},"key":"212D"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital d","short":"fraktur cap d"},"mathspeak":{"default":"fraktur upper D"}},"key":"1D507"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital e","short":"fraktur cap e"},"mathspeak":{"default":"fraktur upper E"}},"key":"1D508"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital f","short":"fraktur cap f"},"mathspeak":{"default":"fraktur upper F"}},"key":"1D509"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital g","short":"fraktur cap g"},"mathspeak":{"default":"fraktur upper G"}},"key":"1D50A"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital h","short":"fraktur cap h"},"mathspeak":{"default":"fraktur upper H"}},"key":"210C"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital i","short":"fraktur cap i"},"mathspeak":{"default":"fraktur upper I"}},"key":"2111"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital j","short":"fraktur cap j"},"mathspeak":{"default":"fraktur upper J"}},"key":"1D50D"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital k","short":"fraktur cap k"},"mathspeak":{"default":"fraktur upper K"}},"key":"1D50E"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital l","short":"fraktur cap l"},"mathspeak":{"default":"fraktur upper L"}},"key":"1D50F"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital m","short":"fraktur cap m"},"mathspeak":{"default":"fraktur upper M"}},"key":"1D510"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital n","short":"fraktur cap n"},"mathspeak":{"default":"fraktur upper N"}},"key":"1D511"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital o","short":"fraktur cap o"},"mathspeak":{"default":"fraktur upper O"}},"key":"1D512"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital p","short":"fraktur cap p"},"mathspeak":{"default":"fraktur upper P"}},"key":"1D513"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital q","short":"fraktur cap q"},"mathspeak":{"default":"fraktur upper Q"}},"key":"1D514"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital r","short":"fraktur cap r"},"mathspeak":{"default":"fraktur upper R"}},"key":"211C"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital s","short":"fraktur cap s"},"mathspeak":{"default":"fraktur upper S"}},"key":"1D516"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital t","short":"fraktur cap t"},"mathspeak":{"default":"fraktur upper T"}},"key":"1D517"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital u","short":"fraktur cap u"},"mathspeak":{"default":"fraktur upper U"}},"key":"1D518"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital v","short":"fraktur cap v"},"mathspeak":{"default":"fraktur upper V"}},"key":"1D519"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital w","short":"fraktur cap w"},"mathspeak":{"default":"fraktur upper W"}},"key":"1D51A"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital x","short":"fraktur cap x"},"mathspeak":{"default":"fraktur upper X"}},"key":"1D51B"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital y","short":"fraktur cap y"},"mathspeak":{"default":"fraktur upper Y"}},"key":"1D51C"},{"category":"Lu","mappings":{"default":{"default":"fraktur capital z","short":"fraktur cap z"},"mathspeak":{"default":"fraktur upper Z"}},"key":"2128"},{"category":"Ll","mappings":{"default":{"default":"fraktur small a","short":"fraktur a"}},"key":"1D51E"},{"category":"Ll","mappings":{"default":{"default":"fraktur small b","short":"fraktur b"}},"key":"1D51F"},{"category":"Ll","mappings":{"default":{"default":"fraktur small c","short":"fraktur c"}},"key":"1D520"},{"category":"Ll","mappings":{"default":{"default":"fraktur small d","short":"fraktur d"}},"key":"1D521"},{"category":"Ll","mappings":{"default":{"default":"fraktur small e","short":"fraktur e"}},"key":"1D522"},{"category":"Ll","mappings":{"default":{"default":"fraktur small f","short":"fraktur f"}},"key":"1D523"},{"category":"Ll","mappings":{"default":{"default":"fraktur small g","short":"fraktur g"}},"key":"1D524"},{"category":"Ll","mappings":{"default":{"default":"fraktur small h","short":"fraktur h"}},"key":"1D525"},{"category":"Ll","mappings":{"default":{"default":"fraktur small i","short":"fraktur i"}},"key":"1D526"},{"category":"Ll","mappings":{"default":{"default":"fraktur small j","short":"fraktur j"}},"key":"1D527"},{"category":"Ll","mappings":{"default":{"default":"fraktur small k","short":"fraktur k"}},"key":"1D528"},{"category":"Ll","mappings":{"default":{"default":"fraktur small l","short":"fraktur l"}},"key":"1D529"},{"category":"Ll","mappings":{"default":{"default":"fraktur small m","short":"fraktur m"}},"key":"1D52A"},{"category":"Ll","mappings":{"default":{"default":"fraktur small n","short":"fraktur n"}},"key":"1D52B"},{"category":"Ll","mappings":{"default":{"default":"fraktur small o","short":"fraktur o"}},"key":"1D52C"},{"category":"Ll","mappings":{"default":{"default":"fraktur small p","short":"fraktur p"}},"key":"1D52D"},{"category":"Ll","mappings":{"default":{"default":"fraktur small q","short":"fraktur q"}},"key":"1D52E"},{"category":"Ll","mappings":{"default":{"default":"fraktur small r","short":"fraktur r"}},"key":"1D52F"},{"category":"Ll","mappings":{"default":{"default":"fraktur small s","short":"fraktur s"}},"key":"1D530"},{"category":"Ll","mappings":{"default":{"default":"fraktur small t","short":"fraktur t"}},"key":"1D531"},{"category":"Ll","mappings":{"default":{"default":"fraktur small u","short":"fraktur u"}},"key":"1D532"},{"category":"Ll","mappings":{"default":{"default":"fraktur small v","short":"fraktur v"}},"key":"1D533"},{"category":"Ll","mappings":{"default":{"default":"fraktur small w","short":"fraktur w"}},"key":"1D534"},{"category":"Ll","mappings":{"default":{"default":"fraktur small x","short":"fraktur x"}},"key":"1D535"},{"category":"Ll","mappings":{"default":{"default":"fraktur small y","short":"fraktur y"}},"key":"1D536"},{"category":"Ll","mappings":{"default":{"default":"fraktur small z","short":"fraktur z"}},"key":"1D537"}] +, +"en/latin-mathfonts-italic.js": +[{"locale":"en"},{"category":"Lu","mappings":{"default":{"default":"italic capital a","short":"italic cap a"},"mathspeak":{"default":"italic upper A"}},"key":"1D434"},{"category":"Lu","mappings":{"default":{"default":"italic capital b","short":"italic cap b"},"mathspeak":{"default":"italic upper B"}},"key":"1D435"},{"category":"Lu","mappings":{"default":{"default":"italic capital c","short":"italic cap c"},"mathspeak":{"default":"italic upper C"}},"key":"1D436"},{"category":"Lu","mappings":{"default":{"default":"italic capital d","short":"italic cap d"},"mathspeak":{"default":"italic upper D"}},"key":"1D437"},{"category":"Lu","mappings":{"default":{"default":"italic capital e","short":"italic cap e"},"mathspeak":{"default":"italic upper E"}},"key":"1D438"},{"category":"Lu","mappings":{"default":{"default":"italic capital f","short":"italic cap f"},"mathspeak":{"default":"italic upper F"}},"key":"1D439"},{"category":"Lu","mappings":{"default":{"default":"italic capital g","short":"italic cap g"},"mathspeak":{"default":"italic upper G"}},"key":"1D43A"},{"category":"Lu","mappings":{"default":{"default":"italic capital h","short":"italic cap h"},"mathspeak":{"default":"italic upper H"}},"key":"1D43B"},{"category":"Lu","mappings":{"default":{"default":"italic capital i","short":"italic cap i"},"mathspeak":{"default":"italic upper I"}},"key":"1D43C"},{"category":"Lu","mappings":{"default":{"default":"italic capital j","short":"italic cap j"},"mathspeak":{"default":"italic upper J"}},"key":"1D43D"},{"category":"Lu","mappings":{"default":{"default":"italic capital k","short":"italic cap k"},"mathspeak":{"default":"italic upper K"}},"key":"1D43E"},{"category":"Lu","mappings":{"default":{"default":"italic capital l","short":"italic cap l"},"mathspeak":{"default":"italic upper L"}},"key":"1D43F"},{"category":"Lu","mappings":{"default":{"default":"italic capital m","short":"italic cap m"},"mathspeak":{"default":"italic upper M"}},"key":"1D440"},{"category":"Lu","mappings":{"default":{"default":"italic capital n","short":"italic cap n"},"mathspeak":{"default":"italic upper N"}},"key":"1D441"},{"category":"Lu","mappings":{"default":{"default":"italic capital o","short":"italic cap o"},"mathspeak":{"default":"italic upper O"}},"key":"1D442"},{"category":"Lu","mappings":{"default":{"default":"italic capital p","short":"italic cap p"},"mathspeak":{"default":"italic upper P"}},"key":"1D443"},{"category":"Lu","mappings":{"default":{"default":"italic capital q","short":"italic cap q"},"mathspeak":{"default":"italic upper Q"}},"key":"1D444"},{"category":"Lu","mappings":{"default":{"default":"italic capital r","short":"italic cap r"},"mathspeak":{"default":"italic upper R"}},"key":"1D445"},{"category":"Lu","mappings":{"default":{"default":"italic capital s","short":"italic cap s"},"mathspeak":{"default":"italic upper S"}},"key":"1D446"},{"category":"Lu","mappings":{"default":{"default":"italic capital t","short":"italic cap t"},"mathspeak":{"default":"italic upper T"}},"key":"1D447"},{"category":"Lu","mappings":{"default":{"default":"italic capital u","short":"italic cap u"},"mathspeak":{"default":"italic upper U"}},"key":"1D448"},{"category":"Lu","mappings":{"default":{"default":"italic capital v","short":"italic cap v"},"mathspeak":{"default":"italic upper V"}},"key":"1D449"},{"category":"Lu","mappings":{"default":{"default":"italic capital w","short":"italic cap w"},"mathspeak":{"default":"italic upper W"}},"key":"1D44A"},{"category":"Lu","mappings":{"default":{"default":"italic capital x","short":"italic cap x"},"mathspeak":{"default":"italic upper X"}},"key":"1D44B"},{"category":"Lu","mappings":{"default":{"default":"italic capital y","short":"italic cap y"},"mathspeak":{"default":"italic upper Y"}},"key":"1D44C"},{"category":"Lu","mappings":{"default":{"default":"italic capital z","short":"italic cap z"},"mathspeak":{"default":"italic upper Z"}},"key":"1D44D"},{"category":"Ll","mappings":{"default":{"default":"italic small a","short":"italic a"}},"key":"1D44E"},{"category":"Ll","mappings":{"default":{"default":"italic small b","short":"italic b"}},"key":"1D44F"},{"category":"Ll","mappings":{"default":{"default":"italic small c","short":"italic c"}},"key":"1D450"},{"category":"Ll","mappings":{"default":{"default":"italic small d","short":"italic d"}},"key":"1D451"},{"category":"Ll","mappings":{"default":{"default":"italic small e","short":"italic e"}},"key":"1D452"},{"category":"Ll","mappings":{"default":{"default":"italic small f","short":"italic f"}},"key":"1D453"},{"category":"Ll","mappings":{"default":{"default":"italic small g","short":"italic g"}},"key":"1D454"},{"category":"Ll","mappings":{"default":{"default":"italic small h","short":"italic h"},"physics":{"default":"planck constant"}},"key":"210E"},{"category":"Ll","mappings":{"default":{"default":"italic small i","short":"italic i"}},"key":"1D456"},{"category":"Ll","mappings":{"default":{"default":"italic small j","short":"italic j"}},"key":"1D457"},{"category":"Ll","mappings":{"default":{"default":"italic small k","short":"italic k"}},"key":"1D458"},{"category":"Ll","mappings":{"default":{"default":"italic small l","short":"italic l"}},"key":"1D459"},{"category":"Ll","mappings":{"default":{"default":"italic small m","short":"italic m"}},"key":"1D45A"},{"category":"Ll","mappings":{"default":{"default":"italic small n","short":"italic n"}},"key":"1D45B"},{"category":"Ll","mappings":{"default":{"default":"italic small o","short":"italic o"}},"key":"1D45C"},{"category":"Ll","mappings":{"default":{"default":"italic small p","short":"italic p"}},"key":"1D45D"},{"category":"Ll","mappings":{"default":{"default":"italic small q","short":"italic q"}},"key":"1D45E"},{"category":"Ll","mappings":{"default":{"default":"italic small r","short":"italic r"}},"key":"1D45F"},{"category":"Ll","mappings":{"default":{"default":"italic small s","short":"italic s"}},"key":"1D460"},{"category":"Ll","mappings":{"default":{"default":"italic small t","short":"italic t"}},"key":"1D461"},{"category":"Ll","mappings":{"default":{"default":"italic small u","short":"italic u"}},"key":"1D462"},{"category":"Ll","mappings":{"default":{"default":"italic small v","short":"italic v"}},"key":"1D463"},{"category":"Ll","mappings":{"default":{"default":"italic small w","short":"italic w"}},"key":"1D464"},{"category":"Ll","mappings":{"default":{"default":"italic small x","short":"italic x"}},"key":"1D465"},{"category":"Ll","mappings":{"default":{"default":"italic small y","short":"italic y"}},"key":"1D466"},{"category":"Ll","mappings":{"default":{"default":"italic small z","short":"italic z"}},"key":"1D467"}] +, +"en/latin-mathfonts-monospace.js": +[{"locale":"en"},{"category":"Lu","mappings":{"default":{"default":"monospace capital a","short":"monospace cap a"},"mathspeak":{"default":"monospace upper A"}},"key":"1D670"},{"category":"Lu","mappings":{"default":{"default":"monospace capital b","short":"monospace cap b"},"mathspeak":{"default":"monospace upper B"}},"key":"1D671"},{"category":"Lu","mappings":{"default":{"default":"monospace capital c","short":"monospace cap c"},"mathspeak":{"default":"monospace upper C"}},"key":"1D672"},{"category":"Lu","mappings":{"default":{"default":"monospace capital d","short":"monospace cap d"},"mathspeak":{"default":"monospace upper D"}},"key":"1D673"},{"category":"Lu","mappings":{"default":{"default":"monospace capital e","short":"monospace cap e"},"mathspeak":{"default":"monospace upper E"}},"key":"1D674"},{"category":"Lu","mappings":{"default":{"default":"monospace capital f","short":"monospace cap f"},"mathspeak":{"default":"monospace upper F"}},"key":"1D675"},{"category":"Lu","mappings":{"default":{"default":"monospace capital g","short":"monospace cap g"},"mathspeak":{"default":"monospace upper G"}},"key":"1D676"},{"category":"Lu","mappings":{"default":{"default":"monospace capital h","short":"monospace cap h"},"mathspeak":{"default":"monospace upper H"}},"key":"1D677"},{"category":"Lu","mappings":{"default":{"default":"monospace capital i","short":"monospace cap i"},"mathspeak":{"default":"monospace upper I"}},"key":"1D678"},{"category":"Lu","mappings":{"default":{"default":"monospace capital j","short":"monospace cap j"},"mathspeak":{"default":"monospace upper J"}},"key":"1D679"},{"category":"Lu","mappings":{"default":{"default":"monospace capital k","short":"monospace cap k"},"mathspeak":{"default":"monospace upper K"}},"key":"1D67A"},{"category":"Lu","mappings":{"default":{"default":"monospace capital l","short":"monospace cap l"},"mathspeak":{"default":"monospace upper L"}},"key":"1D67B"},{"category":"Lu","mappings":{"default":{"default":"monospace capital m","short":"monospace cap m"},"mathspeak":{"default":"monospace upper M"}},"key":"1D67C"},{"category":"Lu","mappings":{"default":{"default":"monospace capital n","short":"monospace cap n"},"mathspeak":{"default":"monospace upper N"}},"key":"1D67D"},{"category":"Lu","mappings":{"default":{"default":"monospace capital o","short":"monospace cap o"},"mathspeak":{"default":"monospace upper O"}},"key":"1D67E"},{"category":"Lu","mappings":{"default":{"default":"monospace capital p","short":"monospace cap p"},"mathspeak":{"default":"monospace upper P"}},"key":"1D67F"},{"category":"Lu","mappings":{"default":{"default":"monospace capital q","short":"monospace cap q"},"mathspeak":{"default":"monospace upper Q"}},"key":"1D680"},{"category":"Lu","mappings":{"default":{"default":"monospace capital r","short":"monospace cap r"},"mathspeak":{"default":"monospace upper R"}},"key":"1D681"},{"category":"Lu","mappings":{"default":{"default":"monospace capital s","short":"monospace cap s"},"mathspeak":{"default":"monospace upper S"}},"key":"1D682"},{"category":"Lu","mappings":{"default":{"default":"monospace capital t","short":"monospace cap t"},"mathspeak":{"default":"monospace upper T"}},"key":"1D683"},{"category":"Lu","mappings":{"default":{"default":"monospace capital u","short":"monospace cap u"},"mathspeak":{"default":"monospace upper U"}},"key":"1D684"},{"category":"Lu","mappings":{"default":{"default":"monospace capital v","short":"monospace cap v"},"mathspeak":{"default":"monospace upper V"}},"key":"1D685"},{"category":"Lu","mappings":{"default":{"default":"monospace capital w","short":"monospace cap w"},"mathspeak":{"default":"monospace upper W"}},"key":"1D686"},{"category":"Lu","mappings":{"default":{"default":"monospace capital x","short":"monospace cap x"},"mathspeak":{"default":"monospace upper X"}},"key":"1D687"},{"category":"Lu","mappings":{"default":{"default":"monospace capital y","short":"monospace cap y"},"mathspeak":{"default":"monospace upper Y"}},"key":"1D688"},{"category":"Lu","mappings":{"default":{"default":"monospace capital z","short":"monospace cap z"},"mathspeak":{"default":"monospace upper Z"}},"key":"1D689"},{"category":"Ll","mappings":{"default":{"default":"monospace small a","short":"monospace a"}},"key":"1D68A"},{"category":"Ll","mappings":{"default":{"default":"monospace small b","short":"monospace b"}},"key":"1D68B"},{"category":"Ll","mappings":{"default":{"default":"monospace small c","short":"monospace c"}},"key":"1D68C"},{"category":"Ll","mappings":{"default":{"default":"monospace small d","short":"monospace d"}},"key":"1D68D"},{"category":"Ll","mappings":{"default":{"default":"monospace small e","short":"monospace e"}},"key":"1D68E"},{"category":"Ll","mappings":{"default":{"default":"monospace small f","short":"monospace f"}},"key":"1D68F"},{"category":"Ll","mappings":{"default":{"default":"monospace small g","short":"monospace g"}},"key":"1D690"},{"category":"Ll","mappings":{"default":{"default":"monospace small h","short":"monospace h"}},"key":"1D691"},{"category":"Ll","mappings":{"default":{"default":"monospace small i","short":"monospace i"}},"key":"1D692"},{"category":"Ll","mappings":{"default":{"default":"monospace small j","short":"monospace j"}},"key":"1D693"},{"category":"Ll","mappings":{"default":{"default":"monospace small k","short":"monospace k"}},"key":"1D694"},{"category":"Ll","mappings":{"default":{"default":"monospace small l","short":"monospace l"}},"key":"1D695"},{"category":"Ll","mappings":{"default":{"default":"monospace small m","short":"monospace m"}},"key":"1D696"},{"category":"Ll","mappings":{"default":{"default":"monospace small n","short":"monospace n"}},"key":"1D697"},{"category":"Ll","mappings":{"default":{"default":"monospace small o","short":"monospace o"}},"key":"1D698"},{"category":"Ll","mappings":{"default":{"default":"monospace small p","short":"monospace p"}},"key":"1D699"},{"category":"Ll","mappings":{"default":{"default":"monospace small q","short":"monospace q"}},"key":"1D69A"},{"category":"Ll","mappings":{"default":{"default":"monospace small r","short":"monospace r"}},"key":"1D69B"},{"category":"Ll","mappings":{"default":{"default":"monospace small s","short":"monospace s"}},"key":"1D69C"},{"category":"Ll","mappings":{"default":{"default":"monospace small t","short":"monospace t"}},"key":"1D69D"},{"category":"Ll","mappings":{"default":{"default":"monospace small u","short":"monospace u"}},"key":"1D69E"},{"category":"Ll","mappings":{"default":{"default":"monospace small v","short":"monospace v"}},"key":"1D69F"},{"category":"Ll","mappings":{"default":{"default":"monospace small w","short":"monospace w"}},"key":"1D6A0"},{"category":"Ll","mappings":{"default":{"default":"monospace small x","short":"monospace x"}},"key":"1D6A1"},{"category":"Ll","mappings":{"default":{"default":"monospace small y","short":"monospace y"}},"key":"1D6A2"},{"category":"Ll","mappings":{"default":{"default":"monospace small z","short":"monospace z"}},"key":"1D6A3"}] +, +"en/latin-mathfonts-sans-serif-bold.js": +[{"locale":"en"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital a","short":"sans serif bold cap a"},"mathspeak":{"default":"sans serif bold upper A"}},"key":"1D5D4"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital b","short":"sans serif bold cap b"},"mathspeak":{"default":"sans serif bold upper B"}},"key":"1D5D5"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital c","short":"sans serif bold cap c"},"mathspeak":{"default":"sans serif bold upper C"}},"key":"1D5D6"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital d","short":"sans serif bold cap d"},"mathspeak":{"default":"sans serif bold upper D"}},"key":"1D5D7"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital e","short":"sans serif bold cap e"},"mathspeak":{"default":"sans serif bold upper E"}},"key":"1D5D8"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital f","short":"sans serif bold cap f"},"mathspeak":{"default":"sans serif bold upper F"}},"key":"1D5D9"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital g","short":"sans serif bold cap g"},"mathspeak":{"default":"sans serif bold upper G"}},"key":"1D5DA"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital h","short":"sans serif bold cap h"},"mathspeak":{"default":"sans serif bold upper H"}},"key":"1D5DB"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital i","short":"sans serif bold cap i"},"mathspeak":{"default":"sans serif bold upper I"}},"key":"1D5DC"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital j","short":"sans serif bold cap j"},"mathspeak":{"default":"sans serif bold upper J"}},"key":"1D5DD"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital k","short":"sans serif bold cap k"},"mathspeak":{"default":"sans serif bold upper K"}},"key":"1D5DE"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital l","short":"sans serif bold cap l"},"mathspeak":{"default":"sans serif bold upper L"}},"key":"1D5DF"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital m","short":"sans serif bold cap m"},"mathspeak":{"default":"sans serif bold upper M"}},"key":"1D5E0"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital n","short":"sans serif bold cap n"},"mathspeak":{"default":"sans serif bold upper N"}},"key":"1D5E1"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital o","short":"sans serif bold cap o"},"mathspeak":{"default":"sans serif bold upper O"}},"key":"1D5E2"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital p","short":"sans serif bold cap p"},"mathspeak":{"default":"sans serif bold upper P"}},"key":"1D5E3"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital q","short":"sans serif bold cap q"},"mathspeak":{"default":"sans serif bold upper Q"}},"key":"1D5E4"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital r","short":"sans serif bold cap r"},"mathspeak":{"default":"sans serif bold upper R"}},"key":"1D5E5"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital s","short":"sans serif bold cap s"},"mathspeak":{"default":"sans serif bold upper S"}},"key":"1D5E6"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital t","short":"sans serif bold cap t"},"mathspeak":{"default":"sans serif bold upper T"}},"key":"1D5E7"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital u","short":"sans serif bold cap u"},"mathspeak":{"default":"sans serif bold upper U"}},"key":"1D5E8"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital v","short":"sans serif bold cap v"},"mathspeak":{"default":"sans serif bold upper V"}},"key":"1D5E9"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital w","short":"sans serif bold cap w"},"mathspeak":{"default":"sans serif bold upper W"}},"key":"1D5EA"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital x","short":"sans serif bold cap x"},"mathspeak":{"default":"sans serif bold upper X"}},"key":"1D5EB"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital y","short":"sans serif bold cap y"},"mathspeak":{"default":"sans serif bold upper Y"}},"key":"1D5EC"},{"category":"Lu","mappings":{"default":{"default":"sans serif bold capital z","short":"sans serif bold cap z"},"mathspeak":{"default":"sans serif bold upper Z"}},"key":"1D5ED"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small a","short":"sans serif bold a"}},"key":"1D5EE"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small b","short":"sans serif bold b"}},"key":"1D5EF"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small c","short":"sans serif bold c"}},"key":"1D5F0"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small d","short":"sans serif bold d"}},"key":"1D5F1"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small e","short":"sans serif bold e"}},"key":"1D5F2"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small f","short":"sans serif bold f"}},"key":"1D5F3"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small g","short":"sans serif bold g"}},"key":"1D5F4"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small h","short":"sans serif bold h"}},"key":"1D5F5"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small i","short":"sans serif bold i"}},"key":"1D5F6"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small j","short":"sans serif bold j"}},"key":"1D5F7"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small k","short":"sans serif bold k"}},"key":"1D5F8"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small l","short":"sans serif bold l"}},"key":"1D5F9"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small m","short":"sans serif bold m"}},"key":"1D5FA"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small n","short":"sans serif bold n"}},"key":"1D5FB"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small o","short":"sans serif bold o"}},"key":"1D5FC"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small p","short":"sans serif bold p"}},"key":"1D5FD"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small q","short":"sans serif bold q"}},"key":"1D5FE"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small r","short":"sans serif bold r"}},"key":"1D5FF"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small s","short":"sans serif bold s"}},"key":"1D600"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small t","short":"sans serif bold t"}},"key":"1D601"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small u","short":"sans serif bold u"}},"key":"1D602"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small v","short":"sans serif bold v"}},"key":"1D603"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small w","short":"sans serif bold w"}},"key":"1D604"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small x","short":"sans serif bold x"}},"key":"1D605"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small y","short":"sans serif bold y"}},"key":"1D606"},{"category":"Ll","mappings":{"default":{"default":"sans serif bold small z","short":"sans serif bold z"}},"key":"1D607"}] +, +"en/latin-mathfonts-sans-serif-italic.js": +[{"locale":"en"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital a","short":"sans serif italic cap a"},"mathspeak":{"default":"sans serif italic upper A"}},"key":"1D608"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital b","short":"sans serif italic cap b"},"mathspeak":{"default":"sans serif italic upper B"}},"key":"1D609"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital c","short":"sans serif italic cap c"},"mathspeak":{"default":"sans serif italic upper C"}},"key":"1D60A"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital d","short":"sans serif italic cap d"},"mathspeak":{"default":"sans serif italic upper D"}},"key":"1D60B"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital e","short":"sans serif italic cap e"},"mathspeak":{"default":"sans serif italic upper E"}},"key":"1D60C"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital f","short":"sans serif italic cap f"},"mathspeak":{"default":"sans serif italic upper F"}},"key":"1D60D"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital g","short":"sans serif italic cap g"},"mathspeak":{"default":"sans serif italic upper G"}},"key":"1D60E"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital h","short":"sans serif italic cap h"},"mathspeak":{"default":"sans serif italic upper H"}},"key":"1D60F"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital i","short":"sans serif italic cap i"},"mathspeak":{"default":"sans serif italic upper I"}},"key":"1D610"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital j","short":"sans serif italic cap j"},"mathspeak":{"default":"sans serif italic upper J"}},"key":"1D611"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital k","short":"sans serif italic cap k"},"mathspeak":{"default":"sans serif italic upper K"}},"key":"1D612"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital l","short":"sans serif italic cap l"},"mathspeak":{"default":"sans serif italic upper L"}},"key":"1D613"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital m","short":"sans serif italic cap m"},"mathspeak":{"default":"sans serif italic upper M"}},"key":"1D614"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital n","short":"sans serif italic cap n"},"mathspeak":{"default":"sans serif italic upper N"}},"key":"1D615"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital o","short":"sans serif italic cap o"},"mathspeak":{"default":"sans serif italic upper O"}},"key":"1D616"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital p","short":"sans serif italic cap p"},"mathspeak":{"default":"sans serif italic upper P"}},"key":"1D617"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital q","short":"sans serif italic cap q"},"mathspeak":{"default":"sans serif italic upper Q"}},"key":"1D618"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital r","short":"sans serif italic cap r"},"mathspeak":{"default":"sans serif italic upper R"}},"key":"1D619"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital s","short":"sans serif italic cap s"},"mathspeak":{"default":"sans serif italic upper S"}},"key":"1D61A"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital t","short":"sans serif italic cap t"},"mathspeak":{"default":"sans serif italic upper T"}},"key":"1D61B"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital u","short":"sans serif italic cap u"},"mathspeak":{"default":"sans serif italic upper U"}},"key":"1D61C"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital v","short":"sans serif italic cap v"},"mathspeak":{"default":"sans serif italic upper V"}},"key":"1D61D"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital w","short":"sans serif italic cap w"},"mathspeak":{"default":"sans serif italic upper W"}},"key":"1D61E"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital x","short":"sans serif italic cap x"},"mathspeak":{"default":"sans serif italic upper X"}},"key":"1D61F"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital y","short":"sans serif italic cap y"},"mathspeak":{"default":"sans serif italic upper Y"}},"key":"1D620"},{"category":"Lu","mappings":{"default":{"default":"sans serif italic capital z","short":"sans serif italic cap z"},"mathspeak":{"default":"sans serif italic upper Z"}},"key":"1D621"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small a","short":"sans serif italic a"}},"key":"1D622"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small b","short":"sans serif italic b"}},"key":"1D623"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small c","short":"sans serif italic c"}},"key":"1D624"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small d","short":"sans serif italic d"}},"key":"1D625"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small e","short":"sans serif italic e"}},"key":"1D626"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small f","short":"sans serif italic f"}},"key":"1D627"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small g","short":"sans serif italic g"}},"key":"1D628"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small h","short":"sans serif italic h"}},"key":"1D629"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small i","short":"sans serif italic i"}},"key":"1D62A"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small j","short":"sans serif italic j"}},"key":"1D62B"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small k","short":"sans serif italic k"}},"key":"1D62C"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small l","short":"sans serif italic l"}},"key":"1D62D"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small m","short":"sans serif italic m"}},"key":"1D62E"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small n","short":"sans serif italic n"}},"key":"1D62F"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small o","short":"sans serif italic o"}},"key":"1D630"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small p","short":"sans serif italic p"}},"key":"1D631"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small q","short":"sans serif italic q"}},"key":"1D632"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small r","short":"sans serif italic r"}},"key":"1D633"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small s","short":"sans serif italic s"}},"key":"1D634"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small t","short":"sans serif italic t"}},"key":"1D635"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small u","short":"sans serif italic u"}},"key":"1D636"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small v","short":"sans serif italic v"}},"key":"1D637"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small w","short":"sans serif italic w"}},"key":"1D638"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small x","short":"sans serif italic x"}},"key":"1D639"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small y","short":"sans serif italic y"}},"key":"1D63A"},{"category":"Ll","mappings":{"default":{"default":"sans serif italic small z","short":"sans serif italic z"}},"key":"1D63B"}] +, +"en/latin-mathfonts-sans-serif.js": +[{"locale":"en"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital a","short":"sans serif cap a"},"mathspeak":{"default":"sans serif upper A"}},"key":"1D5A0"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital b","short":"sans serif cap b"},"mathspeak":{"default":"sans serif upper B"}},"key":"1D5A1"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital c","short":"sans serif cap c"},"mathspeak":{"default":"sans serif upper C"}},"key":"1D5A2"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital d","short":"sans serif cap d"},"mathspeak":{"default":"sans serif upper D"}},"key":"1D5A3"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital e","short":"sans serif cap e"},"mathspeak":{"default":"sans serif upper E"}},"key":"1D5A4"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital f","short":"sans serif cap f"},"mathspeak":{"default":"sans serif upper F"}},"key":"1D5A5"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital g","short":"sans serif cap g"},"mathspeak":{"default":"sans serif upper G"}},"key":"1D5A6"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital h","short":"sans serif cap h"},"mathspeak":{"default":"sans serif upper H"}},"key":"1D5A7"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital i","short":"sans serif cap i"},"mathspeak":{"default":"sans serif upper I"}},"key":"1D5A8"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital j","short":"sans serif cap j"},"mathspeak":{"default":"sans serif upper J"}},"key":"1D5A9"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital k","short":"sans serif cap k"},"mathspeak":{"default":"sans serif upper K"}},"key":"1D5AA"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital l","short":"sans serif cap l"},"mathspeak":{"default":"sans serif upper L"}},"key":"1D5AB"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital m","short":"sans serif cap m"},"mathspeak":{"default":"sans serif upper M"}},"key":"1D5AC"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital n","short":"sans serif cap n"},"mathspeak":{"default":"sans serif upper N"}},"key":"1D5AD"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital o","short":"sans serif cap o"},"mathspeak":{"default":"sans serif upper O"}},"key":"1D5AE"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital p","short":"sans serif cap p"},"mathspeak":{"default":"sans serif upper P"}},"key":"1D5AF"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital q","short":"sans serif cap q"},"mathspeak":{"default":"sans serif upper Q"}},"key":"1D5B0"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital r","short":"sans serif cap r"},"mathspeak":{"default":"sans serif upper R"}},"key":"1D5B1"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital s","short":"sans serif cap s"},"mathspeak":{"default":"sans serif upper S"}},"key":"1D5B2"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital t","short":"sans serif cap t"},"mathspeak":{"default":"sans serif upper T"}},"key":"1D5B3"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital u","short":"sans serif cap u"},"mathspeak":{"default":"sans serif upper U"}},"key":"1D5B4"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital v","short":"sans serif cap v"},"mathspeak":{"default":"sans serif upper V"}},"key":"1D5B5"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital w","short":"sans serif cap w"},"mathspeak":{"default":"sans serif upper W"}},"key":"1D5B6"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital x","short":"sans serif cap x"},"mathspeak":{"default":"sans serif upper X"}},"key":"1D5B7"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital y","short":"sans serif cap y"},"mathspeak":{"default":"sans serif upper Y"}},"key":"1D5B8"},{"category":"Lu","mappings":{"default":{"default":"sans serif capital z","short":"sans serif cap z"},"mathspeak":{"default":"sans serif upper Z"}},"key":"1D5B9"},{"category":"Ll","mappings":{"default":{"default":"sans serif small a","short":"sans serif a"}},"key":"1D5BA"},{"category":"Ll","mappings":{"default":{"default":"sans serif small b","short":"sans serif b"}},"key":"1D5BB"},{"category":"Ll","mappings":{"default":{"default":"sans serif small c","short":"sans serif c"}},"key":"1D5BC"},{"category":"Ll","mappings":{"default":{"default":"sans serif small d","short":"sans serif d"}},"key":"1D5BD"},{"category":"Ll","mappings":{"default":{"default":"sans serif small e","short":"sans serif e"}},"key":"1D5BE"},{"category":"Ll","mappings":{"default":{"default":"sans serif small f","short":"sans serif f"}},"key":"1D5BF"},{"category":"Ll","mappings":{"default":{"default":"sans serif small g","short":"sans serif g"}},"key":"1D5C0"},{"category":"Ll","mappings":{"default":{"default":"sans serif small h","short":"sans serif h"}},"key":"1D5C1"},{"category":"Ll","mappings":{"default":{"default":"sans serif small i","short":"sans serif i"}},"key":"1D5C2"},{"category":"Ll","mappings":{"default":{"default":"sans serif small j","short":"sans serif j"}},"key":"1D5C3"},{"category":"Ll","mappings":{"default":{"default":"sans serif small k","short":"sans serif k"}},"key":"1D5C4"},{"category":"Ll","mappings":{"default":{"default":"sans serif small l","short":"sans serif l"}},"key":"1D5C5"},{"category":"Ll","mappings":{"default":{"default":"sans serif small m","short":"sans serif m"}},"key":"1D5C6"},{"category":"Ll","mappings":{"default":{"default":"sans serif small n","short":"sans serif n"}},"key":"1D5C7"},{"category":"Ll","mappings":{"default":{"default":"sans serif small o","short":"sans serif o"}},"key":"1D5C8"},{"category":"Ll","mappings":{"default":{"default":"sans serif small p","short":"sans serif p"}},"key":"1D5C9"},{"category":"Ll","mappings":{"default":{"default":"sans serif small q","short":"sans serif q"}},"key":"1D5CA"},{"category":"Ll","mappings":{"default":{"default":"sans serif small r","short":"sans serif r"}},"key":"1D5CB"},{"category":"Ll","mappings":{"default":{"default":"sans serif small s","short":"sans serif s"}},"key":"1D5CC"},{"category":"Ll","mappings":{"default":{"default":"sans serif small t","short":"sans serif t"}},"key":"1D5CD"},{"category":"Ll","mappings":{"default":{"default":"sans serif small u","short":"sans serif u"}},"key":"1D5CE"},{"category":"Ll","mappings":{"default":{"default":"sans serif small v","short":"sans serif v"}},"key":"1D5CF"},{"category":"Ll","mappings":{"default":{"default":"sans serif small w","short":"sans serif w"}},"key":"1D5D0"},{"category":"Ll","mappings":{"default":{"default":"sans serif small x","short":"sans serif x"}},"key":"1D5D1"},{"category":"Ll","mappings":{"default":{"default":"sans serif small y","short":"sans serif y"}},"key":"1D5D2"},{"category":"Ll","mappings":{"default":{"default":"sans serif small z","short":"sans serif z"}},"key":"1D5D3"}] +, +"en/latin-mathfonts-script.js": +[{"locale":"en"},{"category":"Lu","mappings":{"default":{"default":"script capital a","short":"script cap a"},"mathspeak":{"default":"script upper A"}},"key":"1D49C"},{"category":"Lu","mappings":{"default":{"default":"script capital b","short":"script cap b"},"mathspeak":{"default":"script upper B"}},"key":"212C"},{"category":"Lu","mappings":{"default":{"default":"script capital c","short":"script cap c"},"mathspeak":{"default":"script upper C"}},"key":"1D49E"},{"category":"Lu","mappings":{"default":{"default":"script capital d","short":"script cap d"},"mathspeak":{"default":"script upper D"}},"key":"1D49F"},{"category":"Lu","mappings":{"default":{"default":"script capital e","short":"script cap e"},"mathspeak":{"default":"script upper E"}},"key":"2130"},{"category":"Lu","mappings":{"default":{"default":"script capital f","short":"script cap f"},"mathspeak":{"default":"script upper F"}},"key":"2131"},{"category":"Lu","mappings":{"default":{"default":"script capital g","short":"script cap g"},"mathspeak":{"default":"script upper G"}},"key":"1D4A2"},{"category":"Lu","mappings":{"default":{"default":"script capital h","short":"script cap h"},"mathspeak":{"default":"script upper H"}},"key":"210B"},{"category":"Lu","mappings":{"default":{"default":"script capital i","short":"script cap i"},"mathspeak":{"default":"script upper I"}},"key":"2110"},{"category":"Lu","mappings":{"default":{"default":"script capital j","short":"script cap j"},"mathspeak":{"default":"script upper J"}},"key":"1D4A5"},{"category":"Lu","mappings":{"default":{"default":"script capital k","short":"script cap k"},"mathspeak":{"default":"script upper K"}},"key":"1D4A6"},{"category":"Lu","mappings":{"default":{"default":"script capital l","short":"script cap l"},"mathspeak":{"default":"script upper L"}},"key":"2112"},{"category":"Lu","mappings":{"default":{"default":"script capital m","short":"script cap m"},"mathspeak":{"default":"script upper M"}},"key":"2133"},{"category":"Lu","mappings":{"default":{"default":"script capital n","short":"script cap n"},"mathspeak":{"default":"script upper N"}},"key":"1D4A9"},{"category":"Lu","mappings":{"default":{"default":"script capital o","short":"script cap o"},"mathspeak":{"default":"script upper O"}},"key":"1D4AA"},{"category":"Lu","mappings":{"default":{"default":"script capital p","short":"script cap p"},"mathspeak":{"default":"script upper P"}},"key":"1D4AB"},{"category":"Lu","mappings":{"default":{"default":"script capital q","short":"script cap q"},"mathspeak":{"default":"script upper Q"}},"key":"1D4AC"},{"category":"Lu","mappings":{"default":{"default":"script capital r","short":"script cap r"},"mathspeak":{"default":"script upper R"}},"key":"211B"},{"category":"Lu","mappings":{"default":{"default":"script capital s","short":"script cap s"},"mathspeak":{"default":"script upper S"}},"key":"1D4AE"},{"category":"Lu","mappings":{"default":{"default":"script capital t","short":"script cap t"},"mathspeak":{"default":"script upper T"}},"key":"1D4AF"},{"category":"Lu","mappings":{"default":{"default":"script capital u","short":"script cap u"},"mathspeak":{"default":"script upper U"}},"key":"1D4B0"},{"category":"Lu","mappings":{"default":{"default":"script capital v","short":"script cap v"},"mathspeak":{"default":"script upper V"}},"key":"1D4B1"},{"category":"Lu","mappings":{"default":{"default":"script capital w","short":"script cap w"},"mathspeak":{"default":"script upper W"}},"key":"1D4B2"},{"category":"Lu","mappings":{"default":{"default":"script capital x","short":"script cap x"},"mathspeak":{"default":"script upper X"}},"key":"1D4B3"},{"category":"Lu","mappings":{"default":{"default":"script capital y","short":"script cap y"},"mathspeak":{"default":"script upper Y"}},"key":"1D4B4"},{"category":"Lu","mappings":{"default":{"default":"script capital z","short":"script cap z"},"mathspeak":{"default":"script upper Z"}},"key":"1D4B5"},{"category":"Ll","mappings":{"default":{"default":"script small a","short":"script a"}},"key":"1D4B6"},{"category":"Ll","mappings":{"default":{"default":"script small b","short":"script b"}},"key":"1D4B7"},{"category":"Ll","mappings":{"default":{"default":"script small c","short":"script c"}},"key":"1D4B8"},{"category":"Ll","mappings":{"default":{"default":"script small d","short":"script d"}},"key":"1D4B9"},{"category":"Ll","mappings":{"default":{"default":"script small e","short":"script e"}},"key":"212F"},{"category":"Ll","mappings":{"default":{"default":"script small f","short":"script f"}},"key":"1D4BB"},{"category":"Ll","mappings":{"default":{"default":"script small g","short":"script g"}},"key":"210A"},{"category":"Ll","mappings":{"default":{"default":"script small h","short":"script h"}},"key":"1D4BD"},{"category":"Ll","mappings":{"default":{"default":"script small i","short":"script i"}},"key":"1D4BE"},{"category":"Ll","mappings":{"default":{"default":"script small j","short":"script j"}},"key":"1D4BF"},{"category":"Ll","mappings":{"default":{"default":"script small k","short":"script k"}},"key":"1D4C0"},{"category":"Ll","mappings":{"default":{"default":"script small l","short":"script l"}},"key":"1D4C1"},{"category":"Ll","mappings":{"default":{"default":"script small m","short":"script m"}},"key":"1D4C2"},{"category":"Ll","mappings":{"default":{"default":"script small n","short":"script n"}},"key":"1D4C3"},{"category":"Ll","mappings":{"default":{"default":"script small o","short":"script o"}},"key":"2134"},{"category":"Ll","mappings":{"default":{"default":"script small p","short":"script p"}},"key":"1D4C5"},{"category":"Ll","mappings":{"default":{"default":"script small q","short":"script q"}},"key":"1D4C6"},{"category":"Ll","mappings":{"default":{"default":"script small r","short":"script r"}},"key":"1D4C7"},{"category":"Ll","mappings":{"default":{"default":"script small s","short":"script s"}},"key":"1D4C8"},{"category":"Ll","mappings":{"default":{"default":"script small t","short":"script t"}},"key":"1D4C9"},{"category":"Ll","mappings":{"default":{"default":"script small u","short":"script u"}},"key":"1D4CA"},{"category":"Ll","mappings":{"default":{"default":"script small v","short":"script v"}},"key":"1D4CB"},{"category":"Ll","mappings":{"default":{"default":"script small w","short":"script w"}},"key":"1D4CC"},{"category":"Ll","mappings":{"default":{"default":"script small x","short":"script x"}},"key":"1D4CD"},{"category":"Ll","mappings":{"default":{"default":"script small y","short":"script y"}},"key":"1D4CE"},{"category":"Ll","mappings":{"default":{"default":"script small z","short":"script z"}},"key":"1D4CF"}] +, +"en/latin-rest.js": +[{"locale":"en"},{"category":"Mn","key":"0363","mappings":{"default":{"default":"combining latin small letter a","short":"combining a"}}},{"category":"Mn","key":"0364","mappings":{"default":{"default":"combining latin small letter e","short":"combining e"}}},{"category":"Mn","key":"0365","mappings":{"default":{"default":"combining latin small letter i","short":"combining i"}}},{"category":"Mn","key":"0366","mappings":{"default":{"default":"combining latin small letter o","short":"combining o"}}},{"category":"Mn","key":"0367","mappings":{"default":{"default":"combining latin small letter u","short":"combining u"}}},{"category":"Mn","key":"0368","mappings":{"default":{"default":"combining latin small letter c","short":"combining c"}}},{"category":"Mn","key":"0369","mappings":{"default":{"default":"combining latin small letter d","short":"combining d"}}},{"category":"Mn","key":"036A","mappings":{"default":{"default":"combining latin small letter h","short":"combining h"}}},{"category":"Mn","key":"036B","mappings":{"default":{"default":"combining latin small letter m","short":"combining m"}}},{"category":"Mn","key":"036C","mappings":{"default":{"default":"combining latin small letter r","short":"combining r"}}},{"category":"Mn","key":"036D","mappings":{"default":{"default":"combining latin small letter t","short":"combining t"}}},{"category":"Mn","key":"036E","mappings":{"default":{"default":"combining latin small letter v","short":"combining v"}}},{"category":"Mn","key":"036F","mappings":{"default":{"default":"combining latin small letter x","short":"combining x"}}},{"category":"Lm","key":"1D62","mappings":{"default":{"default":"latin subscript small letter i","short":"subscript i"}}},{"category":"Lm","key":"1D63","mappings":{"default":{"default":"latin subscript small letter r","short":"subscript r"}}},{"category":"Lm","key":"1D64","mappings":{"default":{"default":"latin subscript small letter u","short":"subscript u"}}},{"category":"Lm","key":"1D65","mappings":{"default":{"default":"latin subscript small letter v","short":"subscript v"}}},{"category":"Mn","key":"1DCA","mappings":{"default":{"default":"combining latin small letter r below","short":"combining r below"}}},{"category":"Mn","key":"1DD3","mappings":{"default":{"default":"combining latin small letter flattened open a above","short":"combining flattened open a above"}}},{"category":"Mn","key":"1DD4","mappings":{"default":{"default":"combining latin small letter ae","short":"combining ae"}}},{"category":"Mn","key":"1DD5","mappings":{"default":{"default":"combining latin small letter ao","short":"combining ao"}}},{"category":"Mn","key":"1DD6","mappings":{"default":{"default":"combining latin small letter av","short":"combining av"}}},{"category":"Mn","key":"1DD7","mappings":{"default":{"default":"combining latin small letter c cedilla","short":"combining c cedilla"}}},{"category":"Mn","key":"1DD8","mappings":{"default":{"default":"combining latin small letter insular d","short":"combining insular d"}}},{"category":"Mn","key":"1DD9","mappings":{"default":{"default":"combining latin small letter eth","short":"combining eth"}}},{"category":"Mn","key":"1DDA","mappings":{"default":{"default":"combining latin small letter g","short":"combining g"}}},{"category":"Mn","key":"1DDB","mappings":{"default":{"default":"combining latin letter small capital g","short":"combining small cap g"},"mathspeak":{"default":"combining small upper G"}}},{"category":"Mn","key":"1DDC","mappings":{"default":{"default":"combining latin small letter k","short":"combining k"}}},{"category":"Mn","key":"1DDD","mappings":{"default":{"default":"combining latin small letter l","short":"combining l"}}},{"category":"Mn","key":"1DDE","mappings":{"default":{"default":"combining latin letter small capital l","short":"combining small cap l"},"mathspeak":{"default":"combining small upper L"}}},{"category":"Mn","key":"1DDF","mappings":{"default":{"default":"combining latin letter small capital m","short":"combining small cap m"},"mathspeak":{"default":"combining small upper M"}}},{"category":"Mn","key":"1DE0","mappings":{"default":{"default":"combining latin small letter n","short":"combining n"}}},{"category":"Mn","key":"1DE1","mappings":{"default":{"default":"combining latin letter small capital n","short":"combining small cap n"},"mathspeak":{"default":"combining small upper N"}}},{"category":"Mn","key":"1DE2","mappings":{"default":{"default":"combining latin letter small capital r","short":"combining small cap r"},"mathspeak":{"default":"combining small upper R"}}},{"category":"Mn","key":"1DE3","mappings":{"default":{"default":"combining latin small letter r rotunda","short":"combining r rotunda"}}},{"category":"Mn","key":"1DE4","mappings":{"default":{"default":"combining latin small letter s","short":"combining s"}}},{"category":"Mn","key":"1DE5","mappings":{"default":{"default":"combining latin small letter long s","short":"combining long s"}}},{"category":"Mn","key":"1DE6","mappings":{"default":{"default":"combining latin small letter z","short":"combining z"}}},{"category":"Lm","key":"2071","mappings":{"default":{"default":"superscript latin small letter i","short":"superscript i"}}},{"category":"Lm","key":"207F","mappings":{"default":{"default":"superscript latin small letter n","short":"superscript n"}}},{"category":"Lm","key":"2090","mappings":{"default":{"default":"latin subscript small letter a","short":"subscript a"}}},{"category":"Lm","key":"2091","mappings":{"default":{"default":"latin subscript small letter e","short":"subscript e"}}},{"category":"Lm","key":"2092","mappings":{"default":{"default":"latin subscript small letter o","short":"subscript o"}}},{"category":"Lm","key":"2093","mappings":{"default":{"default":"latin subscript small letter x","short":"subscript x"}}},{"category":"Lm","key":"2094","mappings":{"default":{"default":"latin subscript small letter schwa","short":"subscript schwa"}}},{"category":"Lm","key":"2095","mappings":{"default":{"default":"latin subscript small letter h","short":"subscript h"}}},{"category":"Lm","key":"2096","mappings":{"default":{"default":"latin subscript small letter k","short":"subscript k"}}},{"category":"Lm","key":"2097","mappings":{"default":{"default":"latin subscript small letter l","short":"subscript l"}}},{"category":"Lm","key":"2098","mappings":{"default":{"default":"latin subscript small letter m","short":"subscript m"}}},{"category":"Lm","key":"2099","mappings":{"default":{"default":"latin subscript small letter n","short":"subscript n"}}},{"category":"Lm","key":"209A","mappings":{"default":{"default":"latin subscript small letter p","short":"subscript p"}}},{"category":"Lm","key":"209B","mappings":{"default":{"default":"latin subscript small letter s","short":"subscript s"}}},{"category":"Lm","key":"209C","mappings":{"default":{"default":"latin subscript small letter t","short":"subscript t"}}},{"category":"So","key":"249C","mappings":{"default":{"default":"parenthesized latin small letter a","short":"parenthesized a"}}},{"category":"So","key":"249D","mappings":{"default":{"default":"parenthesized latin small letter b","short":"parenthesized b"}}},{"category":"So","key":"249E","mappings":{"default":{"default":"parenthesized latin small letter c","short":"parenthesized c"}}},{"category":"So","key":"249F","mappings":{"default":{"default":"parenthesized latin small letter d","short":"parenthesized d"}}},{"category":"So","key":"24A0","mappings":{"default":{"default":"parenthesized latin small letter e","short":"parenthesized e"}}},{"category":"So","key":"24A1","mappings":{"default":{"default":"parenthesized latin small letter f","short":"parenthesized f"}}},{"category":"So","key":"24A2","mappings":{"default":{"default":"parenthesized latin small letter g","short":"parenthesized g"}}},{"category":"So","key":"24A3","mappings":{"default":{"default":"parenthesized latin small letter h","short":"parenthesized h"}}},{"category":"So","key":"24A4","mappings":{"default":{"default":"parenthesized latin small letter i","short":"parenthesized i"}}},{"category":"So","key":"24A5","mappings":{"default":{"default":"parenthesized latin small letter j","short":"parenthesized j"}}},{"category":"So","key":"24A6","mappings":{"default":{"default":"parenthesized latin small letter k","short":"parenthesized k"}}},{"category":"So","key":"24A7","mappings":{"default":{"default":"parenthesized latin small letter l","short":"parenthesized l"}}},{"category":"So","key":"24A8","mappings":{"default":{"default":"parenthesized latin small letter m","short":"parenthesized m"}}},{"category":"So","key":"24A9","mappings":{"default":{"default":"parenthesized latin small letter n","short":"parenthesized n"}}},{"category":"So","key":"24AA","mappings":{"default":{"default":"parenthesized latin small letter o","short":"parenthesized o"}}},{"category":"So","key":"24AB","mappings":{"default":{"default":"parenthesized latin small letter p","short":"parenthesized p"}}},{"category":"So","key":"24AC","mappings":{"default":{"default":"parenthesized latin small letter q","short":"parenthesized q"}}},{"category":"So","key":"24AD","mappings":{"default":{"default":"parenthesized latin small letter r","short":"parenthesized r"}}},{"category":"So","key":"24AE","mappings":{"default":{"default":"parenthesized latin small letter s","short":"parenthesized s"}}},{"category":"So","key":"24AF","mappings":{"default":{"default":"parenthesized latin small letter t","short":"parenthesized t"}}},{"category":"So","key":"24B0","mappings":{"default":{"default":"parenthesized latin small letter u","short":"parenthesized u"}}},{"category":"So","key":"24B1","mappings":{"default":{"default":"parenthesized latin small letter v","short":"parenthesized v"}}},{"category":"So","key":"24B2","mappings":{"default":{"default":"parenthesized latin small letter w","short":"parenthesized w"}}},{"category":"So","key":"24B3","mappings":{"default":{"default":"parenthesized latin small letter x","short":"parenthesized x"}}},{"category":"So","key":"24B4","mappings":{"default":{"default":"parenthesized latin small letter y","short":"parenthesized y"}}},{"category":"So","key":"24B5","mappings":{"default":{"default":"parenthesized latin small letter z","short":"parenthesized z"}}},{"category":"So","key":"24B6","mappings":{"default":{"default":"circled latin capital letter a","short":"circled cap a"},"mathspeak":{"default":"circled upper A"}}},{"category":"So","key":"24B7","mappings":{"default":{"default":"circled latin capital letter b","short":"circled cap b"},"mathspeak":{"default":"circled upper B"}}},{"category":"So","key":"24B8","mappings":{"default":{"default":"circled latin capital letter c","short":"circled cap c"},"mathspeak":{"default":"circled upper C"}}},{"category":"So","key":"24B9","mappings":{"default":{"default":"circled latin capital letter d","short":"circled cap d"},"mathspeak":{"default":"circled upper D"}}},{"category":"So","key":"24BA","mappings":{"default":{"default":"circled latin capital letter e","short":"circled cap e"},"mathspeak":{"default":"circled upper E"}}},{"category":"So","key":"24BB","mappings":{"default":{"default":"circled latin capital letter f","short":"circled cap f"},"mathspeak":{"default":"circled upper F"}}},{"category":"So","key":"24BC","mappings":{"default":{"default":"circled latin capital letter g","short":"circled cap g"},"mathspeak":{"default":"circled upper G"}}},{"category":"So","key":"24BD","mappings":{"default":{"default":"circled latin capital letter h","short":"circled cap h"},"mathspeak":{"default":"circled upper H"}}},{"category":"So","key":"24BE","mappings":{"default":{"default":"circled latin capital letter i","short":"circled cap i"},"mathspeak":{"default":"circled upper I"}}},{"category":"So","key":"24BF","mappings":{"default":{"default":"circled latin capital letter j","short":"circled cap j"},"mathspeak":{"default":"circled upper J"}}},{"category":"So","key":"24C0","mappings":{"default":{"default":"circled latin capital letter k","short":"circled cap k"},"mathspeak":{"default":"circled upper K"}}},{"category":"So","key":"24C1","mappings":{"default":{"default":"circled latin capital letter l","short":"circled cap l"},"mathspeak":{"default":"circled upper L"}}},{"category":"So","key":"24C2","mappings":{"default":{"default":"circled latin capital letter m","short":"circled cap m"},"mathspeak":{"default":"circled upper M"}}},{"category":"So","key":"24C3","mappings":{"default":{"default":"circled latin capital letter n","short":"circled cap n"},"mathspeak":{"default":"circled upper N"}}},{"category":"So","key":"24C4","mappings":{"default":{"default":"circled latin capital letter o","short":"circled cap o"},"mathspeak":{"default":"circled upper O"}}},{"category":"So","key":"24C5","mappings":{"default":{"default":"circled latin capital letter p","short":"circled cap p"},"mathspeak":{"default":"circled upper P"}}},{"category":"So","key":"24C6","mappings":{"default":{"default":"circled latin capital letter q","short":"circled cap q"},"mathspeak":{"default":"circled upper Q"}}},{"category":"So","key":"24C7","mappings":{"default":{"default":"circled latin capital letter r","short":"circled cap r"},"mathspeak":{"default":"circled upper R"}}},{"category":"So","key":"24C8","mappings":{"default":{"default":"circled latin capital letter s","short":"circled cap s"},"mathspeak":{"default":"circled upper S"}}},{"category":"So","key":"24C9","mappings":{"default":{"default":"circled latin capital letter t","short":"circled cap t"},"mathspeak":{"default":"circled upper T"}}},{"category":"So","key":"24CA","mappings":{"default":{"default":"circled latin capital letter u","short":"circled cap u"},"mathspeak":{"default":"circled upper U"}}},{"category":"So","key":"24CB","mappings":{"default":{"default":"circled latin capital letter v","short":"circled cap v"},"mathspeak":{"default":"circled upper V"}}},{"category":"So","key":"24CC","mappings":{"default":{"default":"circled latin capital letter w","short":"circled cap w"},"mathspeak":{"default":"circled upper W"}}},{"category":"So","key":"24CD","mappings":{"default":{"default":"circled latin capital letter x","short":"circled cap x"},"mathspeak":{"default":"circled upper X"}}},{"category":"So","key":"24CE","mappings":{"default":{"default":"circled latin capital letter y","short":"circled cap y"},"mathspeak":{"default":"circled upper Y"}}},{"category":"So","key":"24CF","mappings":{"default":{"default":"circled latin capital letter z","short":"circled cap z"},"mathspeak":{"default":"circled upper Z"}}},{"category":"So","key":"24D0","mappings":{"default":{"default":"circled latin small letter a","short":"circled a"}}},{"category":"So","key":"24D1","mappings":{"default":{"default":"circled latin small letter b","short":"circled b"}}},{"category":"So","key":"24D2","mappings":{"default":{"default":"circled latin small letter c","short":"circled c"}}},{"category":"So","key":"24D3","mappings":{"default":{"default":"circled latin small letter d","short":"circled d"}}},{"category":"So","key":"24D4","mappings":{"default":{"default":"circled latin small letter e","short":"circled e"}}},{"category":"So","key":"24D5","mappings":{"default":{"default":"circled latin small letter f","short":"circled f"}}},{"category":"So","key":"24D6","mappings":{"default":{"default":"circled latin small letter g","short":"circled g"}}},{"category":"So","key":"24D7","mappings":{"default":{"default":"circled latin small letter h","short":"circled h"}}},{"category":"So","key":"24D8","mappings":{"default":{"default":"circled latin small letter i","short":"circled i"}}},{"category":"So","key":"24D9","mappings":{"default":{"default":"circled latin small letter j","short":"circled j"}}},{"category":"So","key":"24DA","mappings":{"default":{"default":"circled latin small letter k","short":"circled k"}}},{"category":"So","key":"24DB","mappings":{"default":{"default":"circled latin small letter l","short":"circled l"}}},{"category":"So","key":"24DC","mappings":{"default":{"default":"circled latin small letter m","short":"circled m"}}},{"category":"So","key":"24DD","mappings":{"default":{"default":"circled latin small letter n","short":"circled n"}}},{"category":"So","key":"24DE","mappings":{"default":{"default":"circled latin small letter o","short":"circled o"}}},{"category":"So","key":"24DF","mappings":{"default":{"default":"circled latin small letter p","short":"circled p"}}},{"category":"So","key":"24E0","mappings":{"default":{"default":"circled latin small letter q","short":"circled q"}}},{"category":"So","key":"24E1","mappings":{"default":{"default":"circled latin small letter r","short":"circled r"}}},{"category":"So","key":"24E2","mappings":{"default":{"default":"circled latin small letter s","short":"circled s"}}},{"category":"So","key":"24E3","mappings":{"default":{"default":"circled latin small letter t","short":"circled t"}}},{"category":"So","key":"24E4","mappings":{"default":{"default":"circled latin small letter u","short":"circled u"}}},{"category":"So","key":"24E5","mappings":{"default":{"default":"circled latin small letter v","short":"circled v"}}},{"category":"So","key":"24E6","mappings":{"default":{"default":"circled latin small letter w","short":"circled w"}}},{"category":"So","key":"24E7","mappings":{"default":{"default":"circled latin small letter x","short":"circled x"}}},{"category":"So","key":"24E8","mappings":{"default":{"default":"circled latin small letter y","short":"circled y"}}},{"category":"So","key":"24E9","mappings":{"default":{"default":"circled latin small letter z","short":"circled z"}}},{"category":"Lm","key":"2C7C","mappings":{"default":{"default":"latin subscript small letter j","short":"subscript j"}}},{"category":"So","key":"1F110","mappings":{"default":{"default":"parenthesized latin capital letter a","short":"parenthesized cap a"},"mathspeak":{"default":"parenthesized upper A"}}},{"category":"So","key":"1F111","mappings":{"default":{"default":"parenthesized latin capital letter b","short":"parenthesized cap b"},"mathspeak":{"default":"parenthesized upper B"}}},{"category":"So","key":"1F112","mappings":{"default":{"default":"parenthesized latin capital letter c","short":"parenthesized cap c"},"mathspeak":{"default":"parenthesized upper C"}}},{"category":"So","key":"1F113","mappings":{"default":{"default":"parenthesized latin capital letter d","short":"parenthesized cap d"},"mathspeak":{"default":"parenthesized upper D"}}},{"category":"So","key":"1F114","mappings":{"default":{"default":"parenthesized latin capital letter e","short":"parenthesized cap e"},"mathspeak":{"default":"parenthesized upper E"}}},{"category":"So","key":"1F115","mappings":{"default":{"default":"parenthesized latin capital letter f","short":"parenthesized cap f"},"mathspeak":{"default":"parenthesized upper F"}}},{"category":"So","key":"1F116","mappings":{"default":{"default":"parenthesized latin capital letter g","short":"parenthesized cap g"},"mathspeak":{"default":"parenthesized upper G"}}},{"category":"So","key":"1F117","mappings":{"default":{"default":"parenthesized latin capital letter h","short":"parenthesized cap h"},"mathspeak":{"default":"parenthesized upper H"}}},{"category":"So","key":"1F118","mappings":{"default":{"default":"parenthesized latin capital letter i","short":"parenthesized cap i"},"mathspeak":{"default":"parenthesized upper I"}}},{"category":"So","key":"1F119","mappings":{"default":{"default":"parenthesized latin capital letter j","short":"parenthesized cap j"},"mathspeak":{"default":"parenthesized upper J"}}},{"category":"So","key":"1F11A","mappings":{"default":{"default":"parenthesized latin capital letter k","short":"parenthesized cap k"},"mathspeak":{"default":"parenthesized upper K"}}},{"category":"So","key":"1F11B","mappings":{"default":{"default":"parenthesized latin capital letter l","short":"parenthesized cap l"},"mathspeak":{"default":"parenthesized upper L"}}},{"category":"So","key":"1F11C","mappings":{"default":{"default":"parenthesized latin capital letter m","short":"parenthesized cap m"},"mathspeak":{"default":"parenthesized upper M"}}},{"category":"So","key":"1F11D","mappings":{"default":{"default":"parenthesized latin capital letter n","short":"parenthesized cap n"},"mathspeak":{"default":"parenthesized upper N"}}},{"category":"So","key":"1F11E","mappings":{"default":{"default":"parenthesized latin capital letter o","short":"parenthesized cap o"},"mathspeak":{"default":"parenthesized upper O"}}},{"category":"So","key":"1F11F","mappings":{"default":{"default":"parenthesized latin capital letter p","short":"parenthesized cap p"},"mathspeak":{"default":"parenthesized upper P"}}},{"category":"So","key":"1F120","mappings":{"default":{"default":"parenthesized latin capital letter q","short":"parenthesized cap q"},"mathspeak":{"default":"parenthesized upper Q"}}},{"category":"So","key":"1F121","mappings":{"default":{"default":"parenthesized latin capital letter r","short":"parenthesized cap r"},"mathspeak":{"default":"parenthesized upper R"}}},{"category":"So","key":"1F122","mappings":{"default":{"default":"parenthesized latin capital letter s","short":"parenthesized cap s"},"mathspeak":{"default":"parenthesized upper S"}}},{"category":"So","key":"1F123","mappings":{"default":{"default":"parenthesized latin capital letter t","short":"parenthesized cap t"},"mathspeak":{"default":"parenthesized upper T"}}},{"category":"So","key":"1F124","mappings":{"default":{"default":"parenthesized latin capital letter u","short":"parenthesized cap u"},"mathspeak":{"default":"parenthesized upper U"}}},{"category":"So","key":"1F125","mappings":{"default":{"default":"parenthesized latin capital letter v","short":"parenthesized cap v"},"mathspeak":{"default":"parenthesized upper V"}}},{"category":"So","key":"1F126","mappings":{"default":{"default":"parenthesized latin capital letter w","short":"parenthesized cap w"},"mathspeak":{"default":"parenthesized upper W"}}},{"category":"So","key":"1F127","mappings":{"default":{"default":"parenthesized latin capital letter x","short":"parenthesized cap x"},"mathspeak":{"default":"parenthesized upper X"}}},{"category":"So","key":"1F128","mappings":{"default":{"default":"parenthesized latin capital letter y","short":"parenthesized cap y"},"mathspeak":{"default":"parenthesized upper Y"}}},{"category":"So","key":"1F129","mappings":{"default":{"default":"parenthesized latin capital letter z","short":"parenthesized cap z"},"mathspeak":{"default":"parenthesized upper Z"}}},{"category":"So","key":"1F12A","mappings":{"default":{"default":"tortoise shell bracketed latin capital letter s","short":"tortoise shell bracketed cap s"},"mathspeak":{"default":"tortoise shell bracketed upper S"}}},{"category":"So","key":"1F12B","mappings":{"default":{"default":"circled italic latin capital letter c","short":"circled italic cap c"},"mathspeak":{"default":"circled italic upper C"}}},{"category":"So","key":"1F12C","mappings":{"default":{"default":"circled italic latin capital letter r","short":"circled italic cap r"},"mathspeak":{"default":"circled italic upper R"}}},{"category":"So","key":"1F130","mappings":{"default":{"default":"squared latin capital letter a","short":"squared cap a"},"mathspeak":{"default":"squared upper A"}}},{"category":"So","key":"1F131","mappings":{"default":{"default":"squared latin capital letter b","short":"squared cap b"},"mathspeak":{"default":"squared upper B"}}},{"category":"So","key":"1F132","mappings":{"default":{"default":"squared latin capital letter c","short":"squared cap c"},"mathspeak":{"default":"squared upper C"}}},{"category":"So","key":"1F133","mappings":{"default":{"default":"squared latin capital letter d","short":"squared cap d"},"mathspeak":{"default":"squared upper D"}}},{"category":"So","key":"1F134","mappings":{"default":{"default":"squared latin capital letter e","short":"squared cap e"},"mathspeak":{"default":"squared upper E"}}},{"category":"So","key":"1F135","mappings":{"default":{"default":"squared latin capital letter f","short":"squared cap f"},"mathspeak":{"default":"squared upper F"}}},{"category":"So","key":"1F136","mappings":{"default":{"default":"squared latin capital letter g","short":"squared cap g"},"mathspeak":{"default":"squared upper G"}}},{"category":"So","key":"1F137","mappings":{"default":{"default":"squared latin capital letter h","short":"squared cap h"},"mathspeak":{"default":"squared upper H"}}},{"category":"So","key":"1F138","mappings":{"default":{"default":"squared latin capital letter i","short":"squared cap i"},"mathspeak":{"default":"squared upper I"}}},{"category":"So","key":"1F139","mappings":{"default":{"default":"squared latin capital letter j","short":"squared cap j"},"mathspeak":{"default":"squared upper J"}}},{"category":"So","key":"1F13A","mappings":{"default":{"default":"squared latin capital letter k","short":"squared cap k"},"mathspeak":{"default":"squared upper K"}}},{"category":"So","key":"1F13B","mappings":{"default":{"default":"squared latin capital letter l","short":"squared cap l"},"mathspeak":{"default":"squared upper L"}}},{"category":"So","key":"1F13C","mappings":{"default":{"default":"squared latin capital letter m","short":"squared cap m"},"mathspeak":{"default":"squared upper M"}}},{"category":"So","key":"1F13D","mappings":{"default":{"default":"squared latin capital letter n","short":"squared cap n"},"mathspeak":{"default":"squared upper N"}}},{"category":"So","key":"1F13E","mappings":{"default":{"default":"squared latin capital letter o","short":"squared cap o"},"mathspeak":{"default":"squared upper O"}}},{"category":"So","key":"1F13F","mappings":{"default":{"default":"squared latin capital letter p","short":"squared cap p"},"mathspeak":{"default":"squared upper P"}}},{"category":"So","key":"1F140","mappings":{"default":{"default":"squared latin capital letter q","short":"squared cap q"},"mathspeak":{"default":"squared upper Q"}}},{"category":"So","key":"1F141","mappings":{"default":{"default":"squared latin capital letter r","short":"squared cap r"},"mathspeak":{"default":"squared upper R"}}},{"category":"So","key":"1F142","mappings":{"default":{"default":"squared latin capital letter s","short":"squared cap s"},"mathspeak":{"default":"squared upper S"}}},{"category":"So","key":"1F143","mappings":{"default":{"default":"squared latin capital letter t","short":"squared cap t"},"mathspeak":{"default":"squared upper T"}}},{"category":"So","key":"1F144","mappings":{"default":{"default":"squared latin capital letter u","short":"squared cap u"},"mathspeak":{"default":"squared upper U"}}},{"category":"So","key":"1F145","mappings":{"default":{"default":"squared latin capital letter v","short":"squared cap v"},"mathspeak":{"default":"squared upper V"}}},{"category":"So","key":"1F146","mappings":{"default":{"default":"squared latin capital letter w","short":"squared cap w"},"mathspeak":{"default":"squared upper W"}}},{"category":"So","key":"1F147","mappings":{"default":{"default":"squared latin capital letter x","short":"squared cap x"},"mathspeak":{"default":"squared upper X"}}},{"category":"So","key":"1F148","mappings":{"default":{"default":"squared latin capital letter y","short":"squared cap y"},"mathspeak":{"default":"squared upper Y"}}},{"category":"So","key":"1F149","mappings":{"default":{"default":"squared latin capital letter z","short":"squared cap z"},"mathspeak":{"default":"squared upper Z"}}},{"category":"So","key":"1F150","mappings":{"default":{"default":"negative circled latin capital letter a","short":"negative circled cap a"},"mathspeak":{"default":"negative circled upper A"}}},{"category":"So","key":"1F151","mappings":{"default":{"default":"negative circled latin capital letter b","short":"negative circled cap b"},"mathspeak":{"default":"negative circled upper B"}}},{"category":"So","key":"1F152","mappings":{"default":{"default":"negative circled latin capital letter c","short":"negative circled cap c"},"mathspeak":{"default":"negative circled upper C"}}},{"category":"So","key":"1F153","mappings":{"default":{"default":"negative circled latin capital letter d","short":"negative circled cap d"},"mathspeak":{"default":"negative circled upper D"}}},{"category":"So","key":"1F154","mappings":{"default":{"default":"negative circled latin capital letter e","short":"negative circled cap e"},"mathspeak":{"default":"negative circled upper E"}}},{"category":"So","key":"1F155","mappings":{"default":{"default":"negative circled latin capital letter f","short":"negative circled cap f"},"mathspeak":{"default":"negative circled upper F"}}},{"category":"So","key":"1F156","mappings":{"default":{"default":"negative circled latin capital letter g","short":"negative circled cap g"},"mathspeak":{"default":"negative circled upper G"}}},{"category":"So","key":"1F157","mappings":{"default":{"default":"negative circled latin capital letter h","short":"negative circled cap h"},"mathspeak":{"default":"negative circled upper H"}}},{"category":"So","key":"1F158","mappings":{"default":{"default":"negative circled latin capital letter i","short":"negative circled cap i"},"mathspeak":{"default":"negative circled upper I"}}},{"category":"So","key":"1F159","mappings":{"default":{"default":"negative circled latin capital letter j","short":"negative circled cap j"},"mathspeak":{"default":"negative circled upper J"}}},{"category":"So","key":"1F15A","mappings":{"default":{"default":"negative circled latin capital letter k","short":"negative circled cap k"},"mathspeak":{"default":"negative circled upper K"}}},{"category":"So","key":"1F15B","mappings":{"default":{"default":"negative circled latin capital letter l","short":"negative circled cap l"},"mathspeak":{"default":"negative circled upper L"}}},{"category":"So","key":"1F15C","mappings":{"default":{"default":"negative circled latin capital letter m","short":"negative circled cap m"},"mathspeak":{"default":"negative circled upper M"}}},{"category":"So","key":"1F15D","mappings":{"default":{"default":"negative circled latin capital letter n","short":"negative circled cap n"},"mathspeak":{"default":"negative circled upper N"}}},{"category":"So","key":"1F15E","mappings":{"default":{"default":"negative circled latin capital letter o","short":"negative circled cap o"},"mathspeak":{"default":"negative circled upper O"}}},{"category":"So","key":"1F15F","mappings":{"default":{"default":"negative circled latin capital letter p","short":"negative circled cap p"},"mathspeak":{"default":"negative circled upper P"}}},{"category":"So","key":"1F160","mappings":{"default":{"default":"negative circled latin capital letter q","short":"negative circled cap q"},"mathspeak":{"default":"negative circled upper Q"}}},{"category":"So","key":"1F161","mappings":{"default":{"default":"negative circled latin capital letter r","short":"negative circled cap r"},"mathspeak":{"default":"negative circled upper R"}}},{"category":"So","key":"1F162","mappings":{"default":{"default":"negative circled latin capital letter s","short":"negative circled cap s"},"mathspeak":{"default":"negative circled upper S"}}},{"category":"So","key":"1F163","mappings":{"default":{"default":"negative circled latin capital letter t","short":"negative circled cap t"},"mathspeak":{"default":"negative circled upper T"}}},{"category":"So","key":"1F164","mappings":{"default":{"default":"negative circled latin capital letter u","short":"negative circled cap u"},"mathspeak":{"default":"negative circled upper U"}}},{"category":"So","key":"1F165","mappings":{"default":{"default":"negative circled latin capital letter v","short":"negative circled cap v"},"mathspeak":{"default":"negative circled upper V"}}},{"category":"So","key":"1F166","mappings":{"default":{"default":"negative circled latin capital letter w","short":"negative circled cap w"},"mathspeak":{"default":"negative circled upper W"}}},{"category":"So","key":"1F167","mappings":{"default":{"default":"negative circled latin capital letter x","short":"negative circled cap x"},"mathspeak":{"default":"negative circled upper X"}}},{"category":"So","key":"1F168","mappings":{"default":{"default":"negative circled latin capital letter y","short":"negative circled cap y"},"mathspeak":{"default":"negative circled upper Y"}}},{"category":"So","key":"1F169","mappings":{"default":{"default":"negative circled latin capital letter z","short":"negative circled cap z"},"mathspeak":{"default":"negative circled upper Z"}}},{"category":"So","key":"1F170","mappings":{"default":{"default":"negative squared latin capital letter a","short":"negative squared cap a"},"mathspeak":{"default":"negative squared upper A"}}},{"category":"So","key":"1F171","mappings":{"default":{"default":"negative squared latin capital letter b","short":"negative squared cap b"},"mathspeak":{"default":"negative squared upper B"}}},{"category":"So","key":"1F172","mappings":{"default":{"default":"negative squared latin capital letter c","short":"negative squared cap c"},"mathspeak":{"default":"negative squared upper C"}}},{"category":"So","key":"1F173","mappings":{"default":{"default":"negative squared latin capital letter d","short":"negative squared cap d"},"mathspeak":{"default":"negative squared upper D"}}},{"category":"So","key":"1F174","mappings":{"default":{"default":"negative squared latin capital letter e","short":"negative squared cap e"},"mathspeak":{"default":"negative squared upper E"}}},{"category":"So","key":"1F175","mappings":{"default":{"default":"negative squared latin capital letter f","short":"negative squared cap f"},"mathspeak":{"default":"negative squared upper F"}}},{"category":"So","key":"1F176","mappings":{"default":{"default":"negative squared latin capital letter g","short":"negative squared cap g"},"mathspeak":{"default":"negative squared upper G"}}},{"category":"So","key":"1F177","mappings":{"default":{"default":"negative squared latin capital letter h","short":"negative squared cap h"},"mathspeak":{"default":"negative squared upper H"}}},{"category":"So","key":"1F178","mappings":{"default":{"default":"negative squared latin capital letter i","short":"negative squared cap i"},"mathspeak":{"default":"negative squared upper I"}}},{"category":"So","key":"1F179","mappings":{"default":{"default":"negative squared latin capital letter j","short":"negative squared cap j"},"mathspeak":{"default":"negative squared upper J"}}},{"category":"So","key":"1F17A","mappings":{"default":{"default":"negative squared latin capital letter k","short":"negative squared cap k"},"mathspeak":{"default":"negative squared upper K"}}},{"category":"So","key":"1F17B","mappings":{"default":{"default":"negative squared latin capital letter l","short":"negative squared cap l"},"mathspeak":{"default":"negative squared upper L"}}},{"category":"So","key":"1F17C","mappings":{"default":{"default":"negative squared latin capital letter m","short":"negative squared cap m"},"mathspeak":{"default":"negative squared upper M"}}},{"category":"So","key":"1F17D","mappings":{"default":{"default":"negative squared latin capital letter n","short":"negative squared cap n"},"mathspeak":{"default":"negative squared upper N"}}},{"category":"So","key":"1F17E","mappings":{"default":{"default":"negative squared latin capital letter o","short":"negative squared cap o"},"mathspeak":{"default":"negative squared upper O"}}},{"category":"So","key":"1F17F","mappings":{"default":{"default":"negative squared latin capital letter p","short":"negative squared cap p"},"mathspeak":{"default":"negative squared upper P"}}},{"category":"So","key":"1F180","mappings":{"default":{"default":"negative squared latin capital letter q","short":"negative squared cap q"},"mathspeak":{"default":"negative squared upper Q"}}},{"category":"So","key":"1F181","mappings":{"default":{"default":"negative squared latin capital letter r","short":"negative squared cap r"},"mathspeak":{"default":"negative squared upper R"}}},{"category":"So","key":"1F182","mappings":{"default":{"default":"negative squared latin capital letter s","short":"negative squared cap s"},"mathspeak":{"default":"negative squared upper S"}}},{"category":"So","key":"1F183","mappings":{"default":{"default":"negative squared latin capital letter t","short":"negative squared cap t"},"mathspeak":{"default":"negative squared upper T"}}},{"category":"So","key":"1F184","mappings":{"default":{"default":"negative squared latin capital letter u","short":"negative squared cap u"},"mathspeak":{"default":"negative squared upper U"}}},{"category":"So","key":"1F185","mappings":{"default":{"default":"negative squared latin capital letter v","short":"negative squared cap v"},"mathspeak":{"default":"negative squared upper V"}}},{"category":"So","key":"1F186","mappings":{"default":{"default":"negative squared latin capital letter w","short":"negative squared cap w"},"mathspeak":{"default":"negative squared upper W"}}},{"category":"So","key":"1F187","mappings":{"default":{"default":"negative squared latin capital letter x","short":"negative squared cap x"},"mathspeak":{"default":"negative squared upper X"}}},{"category":"So","key":"1F188","mappings":{"default":{"default":"negative squared latin capital letter y","short":"negative squared cap y"},"mathspeak":{"default":"negative squared upper Y"}}},{"category":"So","key":"1F189","mappings":{"default":{"default":"negative squared latin capital letter z","short":"negative squared cap z"},"mathspeak":{"default":"negative squared upper Z"}}},{"category":"So","key":"1F18A","mappings":{"default":{"default":"crossed negative squared latin capital letter p","short":"crossed negative squared cap p"},"mathspeak":{"default":"crossed negative squared upper P"}}}] +, +"en/latin-upper-double-accent.js": +[{"locale":"en"},{"category":"Lu","key":"01D5","mappings":{"default":{"default":"latin capital letter u with diaeresis and macron","alternative":"latin capital letter u double overdot overbar","short":"cap u double overdot overbar"},"mathspeak":{"default":"upper U double overdot overbar"}}},{"category":"Lu","key":"01D7","mappings":{"default":{"default":"latin capital letter u with diaeresis and acute","alternative":"latin capital letter u double overdot acute","short":"cap u double overdot acute"},"mathspeak":{"default":"upper U double overdot acute"}}},{"category":"Lu","key":"01D9","mappings":{"default":{"default":"latin capital letter u with diaeresis and caron","alternative":"latin capital letter u double overdot hacek","short":"cap u double overdot caron"},"mathspeak":{"default":"upper U double overdot caron"}}},{"category":"Lu","key":"01DB","mappings":{"default":{"default":"latin capital letter u with diaeresis and grave","alternative":"latin capital letter u double overdot grave","short":"cap u double overdot grave"},"mathspeak":{"default":"upper U double overdot grave"}}},{"category":"Lu","key":"01DE","mappings":{"default":{"default":"latin capital letter a with diaeresis and macron","alternative":"latin capital letter a double overdot overbar","short":"cap a double overdot overbar"},"mathspeak":{"default":"upper A double overdot overbar"}}},{"category":"Lu","key":"01E0","mappings":{"default":{"default":"latin capital letter a with dot above and macron","alternative":"latin capital letter a dot overbar","short":"cap a overdot overbar"},"mathspeak":{"default":"upper A overdot overbar"}}},{"category":"Lu","key":"01EC","mappings":{"default":{"default":"latin capital letter o with ogonek and macron","alternative":"latin capital letter o ogonek overbar","short":"cap o ogonek overbar"},"mathspeak":{"default":"upper O ogonek overbar"}}},{"category":"Lu","key":"01FA","mappings":{"default":{"default":"latin capital letter a with ring above and acute","alternative":"latin capital letter a ring acute","short":"cap a ring acute"},"mathspeak":{"default":"upper A ring acute"}}},{"category":"Lu","key":"022A","mappings":{"default":{"default":"latin capital letter o with diaeresis and macron","alternative":"latin capital letter o double overdot overbar","short":"cap o double overdot overbar"},"mathspeak":{"default":"upper O double overdot overbar"}}},{"category":"Lu","key":"022C","mappings":{"default":{"default":"latin capital letter o with tilde and macron","alternative":"latin capital letter o tilde overbar","short":"cap o tilde overbar"},"mathspeak":{"default":"upper O tilde overbar"}}},{"category":"Lu","key":"0230","mappings":{"default":{"default":"latin capital letter o with dot above and macron","alternative":"latin capital letter o overdot overbar","short":"cap o overdot overbar"},"mathspeak":{"default":"upper O overdot overbar"}}},{"category":"Lu","key":"1E08","mappings":{"default":{"default":"latin capital letter c with cedilla and acute","alternative":"latin capital letter c cedilla acute","short":"cap c cedilla acute"},"mathspeak":{"default":"upper C cedilla acute"}}},{"category":"Lu","key":"1E14","mappings":{"default":{"default":"latin capital letter e with macron and grave","alternative":"latin capital letter e overbar grave","short":"cap e overbar grave"},"mathspeak":{"default":"upper E overbar grave"}}},{"category":"Lu","key":"1E16","mappings":{"default":{"default":"latin capital letter e with macron and acute","alternative":"latin capital letter e overbar acute","short":"cap e overbar acute"},"mathspeak":{"default":"upper E overbar acute"}}},{"category":"Lu","key":"1E1C","mappings":{"default":{"default":"latin capital letter e with cedilla and breve","alternative":"latin capital letter e cedilla breve","short":"cap e cedilla breve"},"mathspeak":{"default":"upper E cedilla breve"}}},{"category":"Lu","key":"1E2E","mappings":{"default":{"default":"latin capital letter i with diaeresis and acute","alternative":"latin capital letter i double overdot acute","short":"cap i double overdot acute"},"mathspeak":{"default":"upper I double overdot acute"}}},{"category":"Lu","key":"1E38","mappings":{"default":{"default":"latin capital letter l with dot below and macron","alternative":"latin capital letter l underdot overbar","short":"cap l underdot overbar"},"mathspeak":{"default":"upper L underdot overbar"}}},{"category":"Lu","key":"1E4C","mappings":{"default":{"default":"latin capital letter o with tilde and acute","alternative":"latin capital letter o tilde acute","short":"cap o tilde acute"},"mathspeak":{"default":"upper O tilde acute"}}},{"category":"Lu","key":"1E4E","mappings":{"default":{"default":"latin capital letter o with tilde and diaeresis","alternative":"latin capital letter o tilde double overdot","short":"cap o tilde double overdot"},"mathspeak":{"default":"upper O tilde double overdot"}}},{"category":"Lu","key":"1E50","mappings":{"default":{"default":"latin capital letter o with macron and grave","alternative":"latin capital letter o overbar grave","short":"cap o overbar grave"},"mathspeak":{"default":"upper O overbar grave"}}},{"category":"Lu","key":"1E52","mappings":{"default":{"default":"latin capital letter o with macron and acute","alternative":"latin capital letter o overbar acute","short":"cap o overbar acute"},"mathspeak":{"default":"upper O overbar acute"}}},{"category":"Lu","key":"1E5C","mappings":{"default":{"default":"latin capital letter r with dot below and macron","alternative":"cap r underdot and overbar","short":"cap r overbar underdot"},"mathspeak":{"default":"upper R overbar underdot"}}},{"category":"Lu","key":"1E64","mappings":{"default":{"default":"latin capital letter s with acute dot above","alternative":"latin capital letter s acute overdot","short":"cap s acute overdot"},"mathspeak":{"default":"upper S acute overdot"}}},{"category":"Lu","key":"1E66","mappings":{"default":{"default":"latin capital letter s with caron and dot above","alternative":"latin capital letter s caron overdot","short":"cap s caron overdot"},"mathspeak":{"default":"upper S caron overdot"}}},{"category":"Lu","key":"1E68","mappings":{"default":{"default":"latin capital letter s with dot below and dot above","alternative":"latin capital letter s underdot overdot","short":"cap s underdot overdot"},"mathspeak":{"default":"upper S underdot overdot"}}},{"category":"Lu","key":"1E78","mappings":{"default":{"default":"latin capital letter u with tilde and acute","alternative":"latin capital letter u tilde acute","short":"cap u tilde acute"},"mathspeak":{"default":"upper U tilde acute"}}},{"category":"Lu","key":"1E7A","mappings":{"default":{"default":"latin capital letter u with macron and diaeresis","alternative":"latin capital letter u overbar double overdot","short":"cap u overbar double overdot"},"mathspeak":{"default":"upper U overbar double overdot"}}},{"category":"Lu","key":"1EA4","mappings":{"default":{"default":"latin capital letter a with circumflex and acute","alternative":"latin capital letter a hat acute","short":"cap a hat acute"},"mathspeak":{"default":"upper A hat acute"}}},{"category":"Lu","key":"1EA6","mappings":{"default":{"default":"latin capital letter a with circumflex and grave","alternative":"latin capital letter a hat grave","short":"cap a hat grave"},"mathspeak":{"default":"upper A hat grave"}}},{"category":"Lu","key":"1EA8","mappings":{"default":{"default":"latin capital letter a with circumflex and hook above","alternative":"latin capital letter a hat hook","short":"cap a hat hook"},"mathspeak":{"default":"upper A hat hook"}}},{"category":"Lu","key":"1EAA","mappings":{"default":{"default":"latin capital letter a with circumflex and tilde","alternative":"latin capital letter a hat tilde","short":"cap a hat tilde"},"mathspeak":{"default":"upper A hat tilde"}}},{"category":"Lu","key":"1EAC","mappings":{"default":{"default":"latin capital letter a with circumflex and dot below","alternative":"latin capital letter a hat underdot","short":"cap a hat underdot"},"mathspeak":{"default":"upper A hat underdot"}}},{"category":"Lu","key":"1EAE","mappings":{"default":{"default":"latin capital letter a with breve and acute","alternative":"latin capital letter a breve acute","short":"cap a breve acute"},"mathspeak":{"default":"upper A breve acute"}}},{"category":"Lu","key":"1EB0","mappings":{"default":{"default":"latin capital letter a with breve and grave","alternative":"latin capital letter a breve grave","short":"cap a breve grave"},"mathspeak":{"default":"upper A breve grave"}}},{"category":"Lu","key":"1EB2","mappings":{"default":{"default":"latin capital letter a with breve and hook above","alternative":"latin capital letter a breve hook","short":"cap a breve hook"},"mathspeak":{"default":"upper A breve hook"}}},{"category":"Lu","key":"1EB4","mappings":{"default":{"default":"latin capital letter a with breve and tilde","alternative":"latin capital letter a breve tilde","short":"cap a breve tilde"},"mathspeak":{"default":"upper A breve tilde"}}},{"category":"Lu","key":"1EB6","mappings":{"default":{"default":"latin capital letter a with breve and dot below","alternative":"latin capital letter a breve underdot","short":"cap a breve underdot"},"mathspeak":{"default":"upper A breve underdot"}}},{"category":"Lu","key":"1EBE","mappings":{"default":{"default":"latin capital letter e with circumflex and acute","alternative":"latin capital letter e hat acute","short":"cap e hat acute"},"mathspeak":{"default":"upper E hat acute"}}},{"category":"Lu","key":"1EC0","mappings":{"default":{"default":"latin capital letter e with circumflex and grave","alternative":"latin capital letter e hat grave","short":"cap e hat grave"},"mathspeak":{"default":"upper E hat grave"}}},{"category":"Lu","key":"1EC2","mappings":{"default":{"default":"latin capital letter e with circumflex and hook above","alternative":"latin capital letter e hat hook","short":"cap e hat hook"},"mathspeak":{"default":"upper E hat hook"}}},{"category":"Lu","key":"1EC4","mappings":{"default":{"default":"latin capital letter e with circumflex and tilde","alternative":"latin capital letter e hat tilde","short":"cap e hat tilde"},"mathspeak":{"default":"upper E hat tilde"}}},{"category":"Lu","key":"1EC6","mappings":{"default":{"default":"latin capital letter e with circumflex and dot below","alternative":"latin capital letter e hat underdot","short":"cap e hat underdot"},"mathspeak":{"default":"upper E hat underdot"}}},{"category":"Lu","key":"1ED0","mappings":{"default":{"default":"latin capital letter o with circumflex and acute","alternative":"latin capital letter o hat acute","short":"cap o hat acute"},"mathspeak":{"default":"upper O hat acute"}}},{"category":"Lu","key":"1ED2","mappings":{"default":{"default":"latin capital letter o with circumflex and grave","alternative":"latin capital letter o hat grave","short":"cap o hat grave"},"mathspeak":{"default":"upper O hat grave"}}},{"category":"Lu","key":"1ED4","mappings":{"default":{"default":"latin capital letter o with circumflex and hook above","alternative":"latin capital letter o hat hook","short":"cap o hat hook"},"mathspeak":{"default":"upper O hat hook"}}},{"category":"Lu","key":"1ED6","mappings":{"default":{"default":"latin capital letter o with circumflex and tilde","alternative":"latin capital letter o hat tilde","short":"cap o hat tilde"},"mathspeak":{"default":"upper O hat tilde"}}},{"category":"Lu","key":"1ED8","mappings":{"default":{"default":"latin capital letter o with circumflex and dot below","alternative":"latin capital letter o hat underdot","short":"cap o hat underdot"},"mathspeak":{"default":"upper O hat underdot"}}},{"category":"Lu","key":"1EDA","mappings":{"default":{"default":"latin capital letter o with horn and acute","alternative":"latin capital letter o acute prime","short":"cap o acute prime"},"mathspeak":{"default":"upper O acute prime"}}},{"category":"Lu","key":"1EDC","mappings":{"default":{"default":"latin capital letter o with horn and grave","alternative":"latin capital letter o grave prime","short":"cap o grave prime"},"mathspeak":{"default":"upper O grave prime"}}},{"category":"Lu","key":"1EDE","mappings":{"default":{"default":"latin capital letter o with horn and hook above","alternative":"latin capital letter o hook prime","short":"cap o hook prime"},"mathspeak":{"default":"upper O hook prime"}}},{"category":"Lu","key":"1EE0","mappings":{"default":{"default":"latin capital letter o with horn and tilde","alternative":"latin capital letter o tilde prime","short":"cap o tilde prime"},"mathspeak":{"default":"upper O tilde prime"}}},{"category":"Lu","key":"1EE2","mappings":{"default":{"default":"latin capital letter o with horn and dot below","alternative":"latin capital letter o underdot prime","short":"cap o underdot prime"},"mathspeak":{"default":"upper O underdot prime"}}},{"category":"Lu","key":"1EE8","mappings":{"default":{"default":"latin capital letter u with horn and acute","alternative":"latin capital letter u acute prime","short":"cap u acute prime"},"mathspeak":{"default":"upper U acute prime"}}},{"category":"Lu","key":"1EEA","mappings":{"default":{"default":"latin capital letter u with horn and grave","alternative":"latin capital letter u grave prime","short":"cap u grave prime"},"mathspeak":{"default":"upper U grave prime"}}},{"category":"Lu","key":"1EEC","mappings":{"default":{"default":"latin capital letter u with horn and hook above","alternative":"latin capital letter u hook prime","short":"cap u hook prime"},"mathspeak":{"default":"upper U hook prime"}}},{"category":"Lu","key":"1EEE","mappings":{"default":{"default":"latin capital letter u with horn and tilde","alternative":"latin capital letter u tilde prime","short":"cap u tilde prime"},"mathspeak":{"default":"upper U tilde prime"}}},{"category":"Lu","key":"1EF0","mappings":{"default":{"default":"latin capital letter u with horn and dot below","alternative":"latin capital letter u underdot prime","short":"cap u underdot prime"},"mathspeak":{"default":"upper U underdot prime"}}}] +, +"en/latin-upper-normal.js": +[{"locale":"en"},{"category":"Lu","key":"0041","mappings":{"default":{"default":"latin capital letter a","short":"cap a"},"mathspeak":{"default":"upper A"}}},{"category":"Lu","key":"0042","mappings":{"default":{"default":"latin capital letter b","short":"cap b"},"mathspeak":{"default":"upper B"}}},{"category":"Lu","key":"0043","mappings":{"default":{"default":"latin capital letter c","short":"cap c"},"mathspeak":{"default":"upper C"}}},{"category":"Lu","key":"0044","mappings":{"default":{"default":"latin capital letter d","short":"cap d"},"mathspeak":{"default":"upper D"}}},{"category":"Lu","key":"0045","mappings":{"default":{"default":"latin capital letter e","short":"cap e"},"mathspeak":{"default":"upper E"}}},{"category":"Lu","key":"0046","mappings":{"default":{"default":"latin capital letter f","short":"cap f"},"mathspeak":{"default":"upper F"}}},{"category":"Lu","key":"0047","mappings":{"default":{"default":"latin capital letter g","short":"cap g"},"mathspeak":{"default":"upper G"}}},{"category":"Lu","key":"0048","mappings":{"default":{"default":"latin capital letter h","short":"cap h"},"mathspeak":{"default":"upper H"}}},{"category":"Lu","key":"0049","mappings":{"default":{"default":"latin capital letter i","short":"cap i"},"mathspeak":{"default":"upper I"}}},{"category":"Lu","key":"004A","mappings":{"default":{"default":"latin capital letter j","short":"cap j"},"mathspeak":{"default":"upper J"}}},{"category":"Lu","key":"004B","mappings":{"default":{"default":"latin capital letter k","short":"cap k"},"mathspeak":{"default":"upper K"}}},{"category":"Lu","key":"004C","mappings":{"default":{"default":"latin capital letter l","short":"cap l"},"mathspeak":{"default":"upper L"}}},{"category":"Lu","key":"004D","mappings":{"default":{"default":"latin capital letter m","short":"cap m"},"mathspeak":{"default":"upper M"}}},{"category":"Lu","key":"004E","mappings":{"default":{"default":"latin capital letter n","short":"cap n"},"mathspeak":{"default":"upper N"}}},{"category":"Lu","key":"004F","mappings":{"default":{"default":"latin capital letter o","short":"cap o"},"mathspeak":{"default":"upper O"}}},{"category":"Lu","key":"0050","mappings":{"default":{"default":"latin capital letter p","short":"cap p"},"mathspeak":{"default":"upper P"}}},{"category":"Lu","key":"0051","mappings":{"default":{"default":"latin capital letter q","short":"cap q"},"mathspeak":{"default":"upper Q"}}},{"category":"Lu","key":"0052","mappings":{"default":{"default":"latin capital letter r","short":"cap r"},"mathspeak":{"default":"upper R"}}},{"category":"Lu","key":"0053","mappings":{"default":{"default":"latin capital letter s","short":"cap s"},"mathspeak":{"default":"upper S"}}},{"category":"Lu","key":"0054","mappings":{"default":{"default":"latin capital letter t","short":"cap t"},"mathspeak":{"default":"upper T"}}},{"category":"Lu","key":"0055","mappings":{"default":{"default":"latin capital letter u","short":"cap u"},"mathspeak":{"default":"upper U"}}},{"category":"Lu","key":"0056","mappings":{"default":{"default":"latin capital letter v","short":"cap v"},"mathspeak":{"default":"upper V"}}},{"category":"Lu","key":"0057","mappings":{"default":{"default":"latin capital letter w","short":"cap w"},"mathspeak":{"default":"upper W"}}},{"category":"Lu","key":"0058","mappings":{"default":{"default":"latin capital letter x","short":"cap x"},"mathspeak":{"default":"upper X"}}},{"category":"Lu","key":"0059","mappings":{"default":{"default":"latin capital letter y","short":"cap y"},"mathspeak":{"default":"upper Y"}}},{"category":"Lu","key":"005A","mappings":{"default":{"default":"latin capital letter z","short":"cap z"},"mathspeak":{"default":"upper Z"}}},{"category":"Lu","key":"FF21","mappings":{"default":{"default":"fullwidth latin capital letter a","alternative":"fullwidth latin cap a","short":"cap a"},"mathspeak":{"default":"upper A"}}},{"category":"Lu","key":"FF22","mappings":{"default":{"default":"fullwidth latin capital letter b","alternative":"fullwidth latin cap b","short":"cap b"},"mathspeak":{"default":"upper B"}}},{"category":"Lu","key":"FF23","mappings":{"default":{"default":"fullwidth latin capital letter c","alternative":"fullwidth latin cap c","short":"cap c"},"mathspeak":{"default":"upper C"}}},{"category":"Lu","key":"FF24","mappings":{"default":{"default":"fullwidth latin capital letter d","alternative":"fullwidth latin cap d","short":"cap d"},"mathspeak":{"default":"upper D"}}},{"category":"Lu","key":"FF25","mappings":{"default":{"default":"fullwidth latin capital letter e","alternative":"fullwidth latin cap e","short":"cap e"},"mathspeak":{"default":"upper E"}}},{"category":"Lu","key":"FF26","mappings":{"default":{"default":"fullwidth latin capital letter f","alternative":"fullwidth latin cap f","short":"cap f"},"mathspeak":{"default":"upper F"}}},{"category":"Lu","key":"FF27","mappings":{"default":{"default":"fullwidth latin capital letter g","alternative":"fullwidth latin cap g","short":"cap g"},"mathspeak":{"default":"upper G"}}},{"category":"Lu","key":"FF28","mappings":{"default":{"default":"fullwidth latin capital letter h","alternative":"fullwidth latin cap h","short":"cap h"},"mathspeak":{"default":"upper H"}}},{"category":"Lu","key":"FF29","mappings":{"default":{"default":"fullwidth latin capital letter i","alternative":"fullwidth latin cap i","short":"cap i"},"mathspeak":{"default":"upper I"}}},{"category":"Lu","key":"FF2A","mappings":{"default":{"default":"fullwidth latin capital letter j","alternative":"fullwidth latin cap j","short":"cap j"},"mathspeak":{"default":"upper J"}}},{"category":"Lu","key":"FF2B","mappings":{"default":{"default":"fullwidth latin capital letter k","alternative":"fullwidth latin cap k","short":"cap k"},"mathspeak":{"default":"upper K"}}},{"category":"Lu","key":"FF2C","mappings":{"default":{"default":"fullwidth latin capital letter l","alternative":"fullwidth latin cap l","short":"cap l"},"mathspeak":{"default":"upper L"}}},{"category":"Lu","key":"FF2D","mappings":{"default":{"default":"fullwidth latin capital letter m","alternative":"fullwidth latin cap m","short":"cap m"},"mathspeak":{"default":"upper M"}}},{"category":"Lu","key":"FF2E","mappings":{"default":{"default":"fullwidth latin capital letter n","alternative":"fullwidth latin cap n","short":"cap n"},"mathspeak":{"default":"upper N"}}},{"category":"Lu","key":"FF2F","mappings":{"default":{"default":"fullwidth latin capital letter o","alternative":"fullwidth latin cap o","short":"cap o"},"mathspeak":{"default":"upper O"}}},{"category":"Lu","key":"FF30","mappings":{"default":{"default":"fullwidth latin capital letter p","alternative":"fullwidth latin cap p","short":"cap p"},"mathspeak":{"default":"upper P"}}},{"category":"Lu","key":"FF31","mappings":{"default":{"default":"fullwidth latin capital letter q","alternative":"fullwidth latin cap q","short":"cap q"},"mathspeak":{"default":"upper Q"}}},{"category":"Lu","key":"FF32","mappings":{"default":{"default":"fullwidth latin capital letter r","alternative":"fullwidth latin cap r","short":"cap r"},"mathspeak":{"default":"upper R"}}},{"category":"Lu","key":"FF33","mappings":{"default":{"default":"fullwidth latin capital letter s","alternative":"fullwidth latin cap s","short":"cap s"},"mathspeak":{"default":"upper S"}}},{"category":"Lu","key":"FF34","mappings":{"default":{"default":"fullwidth latin capital letter t","alternative":"fullwidth latin cap t","short":"cap t"},"mathspeak":{"default":"upper T"}}},{"category":"Lu","key":"FF35","mappings":{"default":{"default":"fullwidth latin capital letter u","alternative":"fullwidth latin cap u","short":"cap u"},"mathspeak":{"default":"upper U"}}},{"category":"Lu","key":"FF36","mappings":{"default":{"default":"fullwidth latin capital letter v","alternative":"fullwidth latin cap v","short":"cap v"},"mathspeak":{"default":"upper V"}}},{"category":"Lu","key":"FF37","mappings":{"default":{"default":"fullwidth latin capital letter w","alternative":"fullwidth latin cap w","short":"cap w"},"mathspeak":{"default":"upper W"}}},{"category":"Lu","key":"FF38","mappings":{"default":{"default":"fullwidth latin capital letter x","alternative":"fullwidth latin cap x","short":"cap x"},"mathspeak":{"default":"upper X"}}},{"category":"Lu","key":"FF39","mappings":{"default":{"default":"fullwidth latin capital letter y","alternative":"fullwidth latin cap y","short":"cap y"},"mathspeak":{"default":"upper Y"}}},{"category":"Lu","key":"FF3A","mappings":{"default":{"default":"fullwidth latin capital letter z","alternative":"fullwidth latin cap z","short":"cap z"},"mathspeak":{"default":"upper Z"}}}] +, +"en/latin-upper-single-accent.js": +[{"locale":"en"},{"category":"Lu","key":"00C0","mappings":{"default":{"default":"latin capital letter a with grave","alternative":"latin capital letter a grave","short":"cap a grave"},"mathspeak":{"default":"modifying above upper A with grave","brief":"mod above upper A with grave","sbrief":"mod above upper A with grave"}}},{"category":"Lu","key":"00C1","mappings":{"default":{"default":"latin capital letter a with acute","alternative":"latin capital letter a acute","short":"cap a acute"},"mathspeak":{"default":"modifying above upper A with acute","brief":"mod above upper A with acute","sbrief":"mod above upper A with acute"}}},{"category":"Lu","key":"00C2","mappings":{"default":{"default":"latin capital letter a with circumflex","alternative":"latin capital letter a hat","short":"cap a hat"},"mathspeak":{"default":"modifying above upper A with caret","brief":"mod above upper A with caret","sbrief":"mod above upper A with caret"}}},{"category":"Lu","key":"00C3","mappings":{"default":{"default":"latin capital letter a with tilde","alternative":"latin capital letter a tilde","short":"cap a tilde"},"mathspeak":{"default":"upper A overtilde","brief":"upper A overtilde","sbrief":"upper A overtilde"}}},{"category":"Lu","key":"00C4","mappings":{"default":{"default":"latin capital letter a with diaeresis","alternative":"latin capital letter a double overdot","short":"cap a double overdot"},"mathspeak":{"default":"modifying above upper A with double dot","brief":"mod above upper A with double dot","sbrief":"mod above upper A with double dot"}}},{"category":"Lu","key":"00C5","mappings":{"default":{"default":"latin capital letter a with ring above","alternative":"latin capital letter a ring","short":"cap a ring"},"mathspeak":{"default":"modifying above upper A with ring","brief":"mod above upper A with ring","sbrief":"mod above upper A with ring"}}},{"category":"Lu","key":"00C7","mappings":{"default":{"default":"latin capital letter c cedilla","alternative":"latin capital letter c cedilla","short":"cap c cedilla"},"mathspeak":{"default":"modifying above upper C with cedilla","brief":"mod above upper C with cedilla","sbrief":"mod above upper C with cedilla"}}},{"category":"Lu","key":"00C8","mappings":{"default":{"default":"latin capital letter e with grave","alternative":"latin capital letter e grave","short":"cap e grave"},"mathspeak":{"default":"modifying above upper E with grave","brief":"mod above upper E with grave","sbrief":"mod above upper E with grave"}}},{"category":"Lu","key":"00C9","mappings":{"default":{"default":"latin capital letter e with acute","alternative":"latin capital letter e acute","short":"cap e acute"},"mathspeak":{"default":"modifying above upper E with acute","brief":"mod above upper E with acute","sbrief":"mod above upper E with acute"}}},{"category":"Lu","key":"00CA","mappings":{"default":{"default":"latin capital letter e with circumflex","alternative":"latin capital letter e hat","short":"cap e hat"},"mathspeak":{"default":"modifying above upper E with caret","brief":"mod above upper E with caret","sbrief":"mod above upper E with caret"}}},{"category":"Lu","key":"00CB","mappings":{"default":{"default":"latin capital letter e with diaeresis","alternative":"latin capital letter e double overdot","short":"cap e double overdot"},"mathspeak":{"default":"modifying above upper E with double dot","brief":"mod above upper E with double dot","sbrief":"mod above upper E with double dot"}}},{"category":"Lu","key":"00CC","mappings":{"default":{"default":"latin capital letter i with grave","alternative":"latin capital letter i grave","short":"cap i grave"},"mathspeak":{"default":"modifying above upper I with grave","brief":"mod above upper I with grave","sbrief":"mod above upper I with grave"}}},{"category":"Lu","key":"00CD","mappings":{"default":{"default":"latin capital letter i with acute","alternative":"latin capital letter i acute","short":"cap i acute"},"mathspeak":{"default":"modifying above upper I with acute","brief":"mod above upper I with acute","sbrief":"mod above upper I with acute"}}},{"category":"Lu","key":"00CE","mappings":{"default":{"default":"latin capital letter i with circumflex","alternative":"latin capital letter i hat","short":"cap i hat"},"mathspeak":{"default":"modifying above upper I with caret","brief":"mod above upper I with caret","sbrief":"mod above upper I with caret"}}},{"category":"Lu","key":"00CF","mappings":{"default":{"default":"latin capital letter i with diaeresis","alternative":"latin capital letter i double overdot","short":"cap i double overdot"},"mathspeak":{"default":"modifying above upper I with double dot","brief":"mod above upper I with double dot","sbrief":"mod above upper I with double dot"}}},{"category":"Lu","key":"00D1","mappings":{"default":{"default":"latin capital letter n tilde","alternative":"latin capital letter n tilde","short":"cap n tilde"},"mathspeak":{"default":"upper N overtilde","brief":"upper N overtilde","sbrief":"upper N overtilde"}}},{"category":"Lu","key":"00D2","mappings":{"default":{"default":"latin capital letter o with grave","alternative":"latin capital letter o grave","short":"cap o grave"},"mathspeak":{"default":"modifying above upper O with grave","brief":"mod above upper O with grave","sbrief":"mod above upper O with grave"}}},{"category":"Lu","key":"00D3","mappings":{"default":{"default":"latin capital letter o with acute","alternative":"latin capital letter o acute","short":"cap o acute"},"mathspeak":{"default":"modifying above upper O with acute","brief":"mod above upper O with acute","sbrief":"mod above upper O with acute"}}},{"category":"Lu","key":"00D4","mappings":{"default":{"default":"latin capital letter o with circumflex","alternative":"latin capital letter o hat","short":"cap o hat"},"mathspeak":{"default":"modifying above upper O with caret","brief":"mod above upper O with caret","sbrief":"mod above upper O with caret"}}},{"category":"Lu","key":"00D5","mappings":{"default":{"default":"latin capital letter o with tilde","alternative":"latin capital letter o tilde","short":"cap o tilde"},"mathspeak":{"default":"upper O overtilde","brief":"upper O overtilde","sbrief":"upper O overtilde"}}},{"category":"Lu","key":"00D6","mappings":{"default":{"default":"latin capital letter o with diaeresis","alternative":"latin capital letter o double overdot","short":"cap o double overdot"},"mathspeak":{"default":"modifying above upper O with double dot","brief":"mod above upper O with double dot","sbrief":"mod above upper O with double dot"}}},{"category":"Lu","key":"00D9","mappings":{"default":{"default":"latin capital letter u with grave","alternative":"latin capital letter u grave","short":"cap u grave"},"mathspeak":{"default":"modifying above upper U with grave","brief":"mod above upper U with grave","sbrief":"mod above upper U with grave"}}},{"category":"Lu","key":"00DA","mappings":{"default":{"default":"latin capital letter u with acute","alternative":"latin capital letter u acute","short":"cap u acute"},"mathspeak":{"default":"modifying above upper U with acute","brief":"mod above upper U with acute","sbrief":"mod above upper U with acute"}}},{"category":"Lu","key":"00DB","mappings":{"default":{"default":"latin capital letter u with circumflex","alternative":"latin capital letter u hat","short":"cap u hat"},"mathspeak":{"default":"modifying above upper U with caret","brief":"mod above upper U with caret","sbrief":"mod above upper U with caret"}}},{"category":"Lu","key":"00DC","mappings":{"default":{"default":"latin capital letter u with diaeresis","alternative":"latin capital letter u double overdot","short":"cap u double overdot"},"mathspeak":{"default":"modifying above upper U with double dot","brief":"mod above upper U with double dot","sbrief":"mod above upper U with double dot"}}},{"category":"Lu","key":"00DD","mappings":{"default":{"default":"latin capital letter y with acute","alternative":"latin capital letter y acute","short":"cap y acute"},"mathspeak":{"default":"modifying above upper Y with acute","brief":"mod above upper Y with acute","sbrief":"mod above upper Y with acute"}}},{"category":"Lu","key":"0100","mappings":{"default":{"default":"latin capital letter a macron","alternative":"latin capital letter a overbar","short":"cap a overbar"},"mathspeak":{"default":"upper A overbar","brief":"upper A overbar","sbrief":"upper A overbar"}}},{"category":"Lu","key":"0102","mappings":{"default":{"default":"latin capital letter a with breve","alternative":"latin capital letter a breve","short":"cap a breve"},"mathspeak":{"default":"modifying above upper A with breve","brief":"mod above upper A with breve","sbrief":"mod above upper A with breve"}}},{"category":"Lu","key":"0104","mappings":{"default":{"default":"latin capital letter a with ogonek","alternative":"latin capital letter a ogonek","short":"cap a ogonek"},"mathspeak":{"default":"modifying above upper A with ogonek","brief":"mod above upper A with ogonek","sbrief":"mod above upper A with ogonek"}}},{"category":"Lu","key":"0106","mappings":{"default":{"default":"latin capital letter c with acute","alternative":"latin capital letter c acute","short":"cap c acute"},"mathspeak":{"default":"modifying above upper C with acute","brief":"mod above upper C with acute","sbrief":"mod above upper C with acute"}}},{"category":"Lu","key":"0108","mappings":{"default":{"default":"latin capital letter c with circumflex","alternative":"latin capital letter c hat","short":"cap c hat"},"mathspeak":{"default":"modifying above upper C with caret","brief":"mod above upper C with caret","sbrief":"mod above upper C with caret"}}},{"category":"Lu","key":"010A","mappings":{"default":{"default":"latin capital letter c with dot above","alternative":"latin capital letter c overdot","short":"cap c overdot"},"mathspeak":{"default":"modifying above upper C with dot","brief":"mod above upper C with dot","sbrief":"mod above upper C with dot"}}},{"category":"Lu","key":"010C","mappings":{"default":{"default":"latin capital letter c with caron","alternative":"latin capital letter c hacek","short":"cap c caron"},"mathspeak":{"default":"modifying above upper C with caron","brief":"mod above upper C with caron","sbrief":"mod above upper C with caron"}}},{"category":"Lu","key":"010E","mappings":{"default":{"default":"latin capital letter d with caron","alternative":"latin capital letter d hacek","short":"cap d caron"},"mathspeak":{"default":"modifying above upper D with caron","brief":"mod above upper D with caron","sbrief":"mod above upper D with caron"}}},{"category":"Lu","key":"0112","mappings":{"default":{"default":"latin capital letter e with macron","alternative":"latin capital letter e overbar","short":"cap e overbar"},"mathspeak":{"default":"upper E overbar","brief":"upper E overbar","sbrief":"upper E overbar"}}},{"category":"Lu","key":"0114","mappings":{"default":{"default":"latin capital letter e with breve","alternative":"latin capital letter e breve","short":"cap e breve"},"mathspeak":{"default":"modifying above upper E with breve","brief":"mod above upper E with breve","sbrief":"mod above upper E with breve"}}},{"category":"Lu","key":"0116","mappings":{"default":{"default":"latin capital letter e with dot above","alternative":"latin capital letter e overdot","short":"cap e overdot"},"mathspeak":{"default":"modifying above upper E with dot","brief":"mod above upper E with dot","sbrief":"mod above upper E with dot"}}},{"category":"Lu","key":"0118","mappings":{"default":{"default":"latin capital letter e with ogonek","alternative":"latin capital letter e ogonek","short":"cap e ogonek"},"mathspeak":{"default":"modifying above upper E with ogonek","brief":"mod above upper E with ogonek","sbrief":"mod above upper E with ogonek"}}},{"category":"Lu","key":"011A","mappings":{"default":{"default":"latin capital letter e with caron","alternative":"latin capital letter e hacek","short":"cap e caron"},"mathspeak":{"default":"modifying above upper E with caron","brief":"mod above upper E with caron","sbrief":"mod above upper E with caron"}}},{"category":"Lu","key":"011C","mappings":{"default":{"default":"latin capital letter g with circumflex","alternative":"latin capital letter g hat","short":"cap g hat"},"mathspeak":{"default":"modifying above upper G with caret","brief":"mod above upper G with caret","sbrief":"mod above upper G with caret"}}},{"category":"Lu","key":"011E","mappings":{"default":{"default":"latin capital letter g with breve","alternative":"latin capital letter g breve","short":"cap g breve"},"mathspeak":{"default":"modifying above upper G with breve","brief":"mod above upper G with breve","sbrief":"mod above upper G with breve"}}},{"category":"Lu","key":"0120","mappings":{"default":{"default":"latin capital letter g with dot above","alternative":"latin capital letter g overdot","short":"cap g overdot"},"mathspeak":{"default":"modifying above upper G with dot","brief":"mod above upper G with dot","sbrief":"mod above upper G with dot"}}},{"category":"Lu","key":"0122","mappings":{"default":{"default":"latin capital letter g with cedilla","alternative":"latin capital letter g cedilla","short":"cap g cedilla"},"mathspeak":{"default":"modifying above upper G with cedilla","brief":"mod above upper G with cedilla","sbrief":"mod above upper G with cedilla"}}},{"category":"Lu","key":"0124","mappings":{"default":{"default":"latin capital letter h with circumflex","alternative":"latin capital letter h hat","short":"cap h hat"},"mathspeak":{"default":"modifying above upper H with caret","brief":"mod above upper H with caret","sbrief":"mod above upper H with caret"}}},{"category":"Lu","key":"0128","mappings":{"default":{"default":"latin capital letter i with tilde","alternative":"latin capital letter i tilde","short":"cap i tilde"},"mathspeak":{"default":"upper I overtilde","brief":"upper I overtilde","sbrief":"upper I overtilde"}}},{"category":"Lu","key":"012A","mappings":{"default":{"default":"latin capital letter i with macron","alternative":"latin capital letter i overbar","short":"cap i overbar"},"mathspeak":{"default":"upper I overbar","brief":"upper I overbar","sbrief":"upper I overbar"}}},{"category":"Lu","key":"012C","mappings":{"default":{"default":"latin capital letter i with breve","alternative":"latin capital letter i breve","short":"cap i breve"},"mathspeak":{"default":"modifying above upper I with breve","brief":"mod above upper I with breve","sbrief":"mod above upper I with breve"}}},{"category":"Lu","key":"012E","mappings":{"default":{"default":"latin capital letter i with ogonek","alternative":"latin capital letter i ogonek","short":"cap i ogonek"},"mathspeak":{"default":"modifying above upper I with ogonek","brief":"mod above upper I with ogonek","sbrief":"mod above upper I with ogonek"}}},{"category":"Lu","key":"0130","mappings":{"default":{"default":"latin capital letter i with dot above","alternative":"latin capital letter i overdot","short":"cap i overdot"},"mathspeak":{"default":"modifying above upper I with dot","brief":"mod above upper I with dot","sbrief":"mod above upper I with dot"}}},{"category":"Lu","key":"0134","mappings":{"default":{"default":"latin capital letter j circumflex","alternative":"latin capital letter j hat","short":"cap j hat"},"mathspeak":{"default":"modifying above upper J with caret","brief":"mod above upper J with caret","sbrief":"mod above upper J with caret"}}},{"category":"Lu","key":"0136","mappings":{"default":{"default":"latin capital letter k with cedilla","alternative":"latin capital letter k cedilla","short":"cap k cedilla"},"mathspeak":{"default":"modifying above upper K with cedilla","brief":"mod above upper K with cedilla","sbrief":"mod above upper K with cedilla"}}},{"category":"Lu","key":"0139","mappings":{"default":{"default":"latin capital letter l with acute","alternative":"latin capital letter l acute","short":"cap l acute"},"mathspeak":{"default":"modifying above upper L with acute","brief":"mod above upper L with acute","sbrief":"mod above upper L with acute"}}},{"category":"Lu","key":"013B","mappings":{"default":{"default":"latin capital letter l with cedilla","alternative":"latin capital letter l cedilla","short":"cap l cedilla"},"mathspeak":{"default":"modifying above upper L with cedilla","brief":"mod above upper L with cedilla","sbrief":"mod above upper L with cedilla"}}},{"category":"Lu","key":"013D","mappings":{"default":{"default":"latin capital letter l with caron","alternative":"latin capital letter l hacek","short":"cap l caron"},"mathspeak":{"default":"modifying above upper L with caron","brief":"mod above upper L with caron","sbrief":"mod above upper L with caron"}}},{"category":"Lu","key":"013F","mappings":{"default":{"default":"latin capital letter l with middle dot","alternative":"latin capital letter l middle dot","short":"cap l middle dot"},"mathspeak":{"default":"modifying above upper L with middle dot","brief":"mod above upper L with middle dot","sbrief":"mod above upper L with middle dot"}}},{"category":"Lu","key":"0143","mappings":{"default":{"default":"latin capital letter n with acute","alternative":"latin capital letter n acute","short":"cap n acute"},"mathspeak":{"default":"modifying above upper N with acute","brief":"mod above upper N with acute","sbrief":"mod above upper N with acute"}}},{"category":"Lu","key":"0145","mappings":{"default":{"default":"latin capital letter n with cedilla","alternative":"latin capital letter n cedilla","short":"cap n cedilla"},"mathspeak":{"default":"modifying above upper N with cedilla","brief":"mod above upper N with cedilla","sbrief":"mod above upper N with cedilla"}}},{"category":"Lu","key":"0147","mappings":{"default":{"default":"latin capital letter n with caron","alternative":"latin capital letter n hacek","short":"cap n caron"},"mathspeak":{"default":"modifying above upper N with caron","brief":"mod above upper N with caron","sbrief":"mod above upper N with caron"}}},{"category":"Lu","key":"014C","mappings":{"default":{"default":"latin capital letter o macron","alternative":"latin capital letter o overbar","short":"cap o overbar"},"mathspeak":{"default":"upper O overbar","brief":"upper O overbar","sbrief":"upper O overbar"}}},{"category":"Lu","key":"014E","mappings":{"default":{"default":"latin capital letter o with breve","alternative":"latin capital letter o breve","short":"cap o breve"},"mathspeak":{"default":"modifying above upper O with breve","brief":"mod above upper O with breve","sbrief":"mod above upper O with breve"}}},{"category":"Lu","key":"0150","mappings":{"default":{"default":"latin capital letter o with double acute","alternative":"latin capital letter o double acute","short":"cap o double acute"},"mathspeak":{"default":"modifying above upper O with double acute","brief":"mod above upper O with double acute","sbrief":"mod above upper O with double acute"}}},{"category":"Lu","key":"0154","mappings":{"default":{"default":"latin capital letter r acute","alternative":"latin capital letter r acute","short":"cap r acute"},"mathspeak":{"default":"modifying above upper R with acute","brief":"mod above upper R with acute","sbrief":"mod above upper R with acute"}}},{"category":"Lu","key":"0156","mappings":{"default":{"default":"latin capital letter r with cedilla","alternative":"latin capital letter r cedilla","short":"cap r cedilla"},"mathspeak":{"default":"modifying above upper R with cedilla","brief":"mod above upper R with cedilla","sbrief":"mod above upper R with cedilla"}}},{"category":"Lu","key":"0158","mappings":{"default":{"default":"latin capital letter r with caron","alternative":"latin capital letter r hacek","short":"cap r caron"},"mathspeak":{"default":"modifying above upper R with caron","brief":"mod above upper R with caron","sbrief":"mod above upper R with caron"}}},{"category":"Lu","key":"015A","mappings":{"default":{"default":"latin capital letter s with acute","alternative":"latin capital letter s acute","short":"cap s acute"},"mathspeak":{"default":"modifying above upper S with acute","brief":"mod above upper S with acute","sbrief":"mod above upper S with acute"}}},{"category":"Lu","key":"015C","mappings":{"default":{"default":"latin capital letter s with circumflex","alternative":"latin capital letter s hat","short":"cap s hat"},"mathspeak":{"default":"modifying above upper S with caret","brief":"mod above upper S with caret","sbrief":"mod above upper S with caret"}}},{"category":"Lu","key":"015E","mappings":{"default":{"default":"latin capital letter s with cedilla","alternative":"latin capital letter s cedilla","short":"cap s cedilla"},"mathspeak":{"default":"modifying above upper S with cedilla","brief":"mod above upper S with cedilla","sbrief":"mod above upper S with cedilla"}}},{"category":"Lu","key":"0160","mappings":{"default":{"default":"latin capital letter s with caron","alternative":"latin capital letter s hacek","short":"cap s caron"},"mathspeak":{"default":"modifying above upper S with caron","brief":"mod above upper S with caron","sbrief":"mod above upper S with caron"}}},{"category":"Lu","key":"0162","mappings":{"default":{"default":"latin capital letter t with cedilla","alternative":"latin capital letter t cedilla","short":"cap t cedilla"},"mathspeak":{"default":"modifying above upper T with cedilla","brief":"mod above upper T with cedilla","sbrief":"mod above upper T with cedilla"}}},{"category":"Lu","key":"0164","mappings":{"default":{"default":"latin capital letter t with caron","alternative":"latin capital letter t hacek","short":"cap t caron"},"mathspeak":{"default":"modifying above upper T with caron","brief":"mod above upper T with caron","sbrief":"mod above upper T with caron"}}},{"category":"Lu","key":"0168","mappings":{"default":{"default":"latin capital letter u with tilde","alternative":"latin capital letter u tilde","short":"cap u tilde"},"mathspeak":{"default":"upper U overtilde","brief":"upper U overtilde","sbrief":"upper U overtilde"}}},{"category":"Lu","key":"016A","mappings":{"default":{"default":"latin capital letter u with macron","alternative":"latin capital letter u overbar","short":"cap u overbar"},"mathspeak":{"default":"upper U overbar","brief":"upper U overbar","sbrief":"upper U overbar"}}},{"category":"Lu","key":"016C","mappings":{"default":{"default":"latin capital letter u with breve","alternative":"latin capital letter u breve","short":"cap u breve"},"mathspeak":{"default":"modifying above upper U with breve","brief":"mod above upper U with breve","sbrief":"mod above upper U with breve"}}},{"category":"Lu","key":"016E","mappings":{"default":{"default":"latin capital letter u with ring above","alternative":"latin capital letter u ring","short":"cap u ring"},"mathspeak":{"default":"modifying above upper U with ring","brief":"mod above upper U with ring","sbrief":"mod above upper U with ring"}}},{"category":"Lu","key":"0170","mappings":{"default":{"default":"latin capital letter u with double acute","alternative":"latin capital letter u double acute","short":"cap u double acute"},"mathspeak":{"default":"modifying above upper U with double acute","brief":"mod above upper U with double acute","sbrief":"mod above upper U with double acute"}}},{"category":"Lu","key":"0172","mappings":{"default":{"default":"latin capital letter u with ogonek","alternative":"latin capital letter u ogonek","short":"cap u ogonek"},"mathspeak":{"default":"modifying above upper U with ogonek","brief":"mod above upper U with ogonek","sbrief":"mod above upper U with ogonek"}}},{"category":"Lu","key":"0174","mappings":{"default":{"default":"latin capital letter w with circumflex","alternative":"latin capital letter w hat","short":"cap w hat"},"mathspeak":{"default":"modifying above upper W with caret","brief":"mod above upper W with caret","sbrief":"mod above upper W with caret"}}},{"category":"Lu","key":"0176","mappings":{"default":{"default":"latin capital letter y with circumflex","alternative":"latin capital letter y hat","short":"cap y hat"},"mathspeak":{"default":"modifying above upper Y with caret","brief":"mod above upper Y with caret","sbrief":"mod above upper Y with caret"}}},{"category":"Lu","key":"0178","mappings":{"default":{"default":"latin capital letter y with diaeresis","alternative":"latin capital letter y double overdot","short":"cap y double overdot"},"mathspeak":{"default":"modifying above upper Y with double dot","brief":"mod above upper Y with double dot","sbrief":"mod above upper Y with double dot"}}},{"category":"Lu","key":"0179","mappings":{"default":{"default":"latin capital letter z with acute","alternative":"latin capital letter z acute","short":"cap z acute"},"mathspeak":{"default":"modifying above upper Z with acute","brief":"mod above upper Z with acute","sbrief":"mod above upper Z with acute"}}},{"category":"Lu","key":"017B","mappings":{"default":{"default":"latin capital letter z with dot above","alternative":"latin capital letter z overdot","short":"cap z overdot"},"mathspeak":{"default":"modifying above upper Z with dot","brief":"mod above upper Z with dot","sbrief":"mod above upper Z with dot"}}},{"category":"Lu","key":"017D","mappings":{"default":{"default":"latin capital letter z with caron","alternative":"latin capital letter z hacek","short":"cap z caron"},"mathspeak":{"default":"modifying above upper Z with caron","brief":"mod above upper Z with caron","sbrief":"mod above upper Z with caron"}}},{"category":"Lu","key":"01CD","mappings":{"default":{"default":"latin capital letter a with caron","alternative":"latin capital letter a hacek","short":"cap a caron"},"mathspeak":{"default":"modifying above upper A with caron","brief":"mod above upper A with caron","sbrief":"mod above upper A with caron"}}},{"category":"Lu","key":"01CF","mappings":{"default":{"default":"latin capital letter i with caron","alternative":"latin capital letter i hacek","short":"cap i caron"},"mathspeak":{"default":"modifying above upper I with caron","brief":"mod above upper I with caron","sbrief":"mod above upper I with caron"}}},{"category":"Lu","key":"01D1","mappings":{"default":{"default":"latin capital letter o with caron","alternative":"latin capital letter o hacek","short":"cap o caron"},"mathspeak":{"default":"modifying above upper O with caron","brief":"mod above upper O with caron","sbrief":"mod above upper O with caron"}}},{"category":"Lu","key":"01D3","mappings":{"default":{"default":"latin capital letter u with caron","alternative":"latin capital letter u hacek","short":"cap u caron"},"mathspeak":{"default":"modifying above upper U with caron","brief":"mod above upper U with caron","sbrief":"mod above upper U with caron"}}},{"category":"Lu","key":"01E6","mappings":{"default":{"default":"latin capital letter g with caron","alternative":"latin capital letter g hacek","short":"cap g caron"},"mathspeak":{"default":"modifying above upper G with caron","brief":"mod above upper G with caron","sbrief":"mod above upper G with caron"}}},{"category":"Lu","key":"01E8","mappings":{"default":{"default":"latin capital letter k with caron","alternative":"latin capital letter k hacek","short":"cap k caron"},"mathspeak":{"default":"modifying above upper K with caron","brief":"mod above upper K with caron","sbrief":"mod above upper K with caron"}}},{"category":"Lu","key":"01EA","mappings":{"default":{"default":"latin capital letter o with ogonek","alternative":"latin capital letter o ogonek","short":"cap o ogonek"},"mathspeak":{"default":"modifying above upper O with ogonek","brief":"mod above upper O with ogonek","sbrief":"mod above upper O with ogonek"}}},{"category":"Lu","key":"01F4","mappings":{"default":{"default":"latin capital letter g with acute","alternative":"latin capital letter g acute","short":"cap g acute"},"mathspeak":{"default":"modifying above upper G with acute","brief":"mod above upper G with acute","sbrief":"mod above upper G with acute"}}},{"category":"Lu","key":"01F8","mappings":{"default":{"default":"latin capital letter n with grave","alternative":"latin capital letter n grave","short":"cap n grave"},"mathspeak":{"default":"modifying above upper N with grave","brief":"mod above upper N with grave","sbrief":"mod above upper N with grave"}}},{"category":"Lu","key":"0200","mappings":{"default":{"default":"latin capital letter a with double grave","alternative":"latin capital letter a double grave","short":"cap a double grave"},"mathspeak":{"default":"modifying above upper A with double grave","brief":"mod above upper A with double grave","sbrief":"mod above upper A with double grave"}}},{"category":"Lu","key":"0202","mappings":{"default":{"default":"latin capital letter a with inverted breve","alternative":"latin capital letter a inverted breve","short":"cap a inverted breve"},"mathspeak":{"default":"modifying above upper A with inverted breve","brief":"mod above upper A with inverted breve","sbrief":"mod above upper A with inverted breve"}}},{"category":"Lu","key":"0204","mappings":{"default":{"default":"latin capital letter e with double grave","alternative":"latin capital letter e double grave","short":"cap e double grave"},"mathspeak":{"default":"modifying above upper E with double grave","brief":"mod above upper E with double grave","sbrief":"mod above upper E with double grave"}}},{"category":"Lu","key":"0206","mappings":{"default":{"default":"latin capital letter e with inverted breve","alternative":"latin capital letter e inverted breve","short":"cap e inverted breve"},"mathspeak":{"default":"modifying above upper E with inverted breve","brief":"mod above upper E with inverted breve","sbrief":"mod above upper E with inverted breve"}}},{"category":"Lu","key":"0208","mappings":{"default":{"default":"latin capital letter i with double grave","alternative":"latin capital letter i double grave","short":"cap i double grave"},"mathspeak":{"default":"modifying above upper I with double grave","brief":"mod above upper I with double grave","sbrief":"mod above upper I with double grave"}}},{"category":"Lu","key":"020A","mappings":{"default":{"default":"latin capital letter i with inverted breve","alternative":"latin capital letter i inverted breve","short":"cap i inverted breve"},"mathspeak":{"default":"modifying above upper I with inverted breve","brief":"mod above upper I with inverted breve","sbrief":"mod above upper I with inverted breve"}}},{"category":"Lu","key":"020C","mappings":{"default":{"default":"latin capital letter o with double grave","alternative":"latin capital letter o double grave","short":"cap o double grave"},"mathspeak":{"default":"modifying above upper O with double grave","brief":"mod above upper O with double grave","sbrief":"mod above upper O with double grave"}}},{"category":"Lu","key":"020E","mappings":{"default":{"default":"latin capital letter o with inverted breve","alternative":"latin capital letter o inverted breve","short":"cap o inverted breve"},"mathspeak":{"default":"modifying above upper O with inverted breve","brief":"mod above upper O with inverted breve","sbrief":"mod above upper O with inverted breve"}}},{"category":"Lu","key":"0210","mappings":{"default":{"default":"latin capital letter r with double grave","alternative":"latin capital letter r double grave","short":"cap r double grave"},"mathspeak":{"default":"modifying above upper R with double grave","brief":"mod above upper R with double grave","sbrief":"mod above upper R with double grave"}}},{"category":"Lu","key":"0212","mappings":{"default":{"default":"latin capital letter r with inverted breve","alternative":"latin capital letter r inverted breve","short":"cap r inverted breve"},"mathspeak":{"default":"modifying above upper R with inverted breve","brief":"mod above upper R with inverted breve","sbrief":"mod above upper R with inverted breve"}}},{"category":"Lu","key":"0214","mappings":{"default":{"default":"latin capital letter u with double grave","alternative":"latin capital letter u double grave","short":"cap u double grave"},"mathspeak":{"default":"modifying above upper U with double grave","brief":"mod above upper U with double grave","sbrief":"mod above upper U with double grave"}}},{"category":"Lu","key":"0216","mappings":{"default":{"default":"latin capital letter u with inverted breve","alternative":"latin capital letter u inverted breve","short":"cap u inverted breve"},"mathspeak":{"default":"modifying above upper U with inverted breve","brief":"mod above upper U with inverted breve","sbrief":"mod above upper U with inverted breve"}}},{"category":"Lu","key":"0218","mappings":{"default":{"default":"latin capital letter s with comma below","alternative":"latin capital letter s comma below","short":"cap s comma below"},"mathspeak":{"default":"modifying below upper S with comma below","brief":"mod below upper S with comma below","sbrief":"mod below upper S with comma below"}}},{"category":"Lu","key":"021A","mappings":{"default":{"default":"latin capital letter t with comma below","alternative":"latin capital letter t comma below","short":"cap t comma below"},"mathspeak":{"default":"modifying below upper T with comma below","brief":"mod below upper T with comma below","sbrief":"mod below upper T with comma below"}}},{"category":"Lu","key":"021E","mappings":{"default":{"default":"latin capital letter h caron","short":"cap h caron"},"mathspeak":{"default":"modifying above upper H with caron","brief":"mod above upper H with caron","sbrief":"mod above upper H with caron"}}},{"category":"Lu","key":"0226","mappings":{"default":{"default":"latin capital letter a with dot above","alternative":"latin capital letter a overdot","short":"cap a overdot"},"mathspeak":{"default":"modifying above upper A with dot","brief":"mod above upper A with dot","sbrief":"mod above upper A with dot"}}},{"category":"Lu","key":"0228","mappings":{"default":{"default":"latin capital letter e with cedilla","alternative":"latin capital letter e cedilla","short":"cap e cedilla"},"mathspeak":{"default":"modifying above upper E with cedilla","brief":"mod above upper E with cedilla","sbrief":"mod above upper E with cedilla"}}},{"category":"Lu","key":"022E","mappings":{"default":{"default":"latin capital letter o with dot above","alternative":"latin capital letter o overdot","short":"cap o overdot"},"mathspeak":{"default":"modifying above upper O with dot","brief":"mod above upper O with dot","sbrief":"mod above upper O with dot"}}},{"category":"Lu","key":"0232","mappings":{"default":{"default":"latin capital letter y with macron","alternative":"latin capital letter y overbar","short":"cap y overbar"},"mathspeak":{"default":"upper Y overbar","brief":"upper Y overbar","sbrief":"upper Y overbar"}}},{"category":"Lu","key":"1E00","mappings":{"default":{"default":"latin capital letter a with ring below","alternative":"latin capital letter a ring below","short":"cap a ring below"},"mathspeak":{"default":"modifying below upper A with ring below","brief":"mod below upper A with ring below","sbrief":"mod below upper A with ring below"}}},{"category":"Lu","key":"1E02","mappings":{"default":{"default":"latin capital letter b with dot above","alternative":"latin capital letter b overdot","short":"cap b overdot"},"mathspeak":{"default":"modifying above upper B with dot","brief":"mod above upper B with dot","sbrief":"mod above upper B with dot"}}},{"category":"Lu","key":"1E04","mappings":{"default":{"default":"latin capital letter b with dot below","alternative":"latin capital letter b underdot","short":"cap b underdot"},"mathspeak":{"default":"modifying below upper B with dot","brief":"mod below upper B with dot","sbrief":"mod below upper B with dot"}}},{"category":"Lu","key":"1E06","mappings":{"default":{"default":"latin capital letter b with line below","alternative":"latin capital letter b underbar","short":"cap b underbar"},"mathspeak":{"default":"upper B underbar","brief":"upper B underbar","sbrief":"upper B underbar"}}},{"category":"Lu","key":"1E0A","mappings":{"default":{"default":"latin capital letter d with dot above","alternative":"latin capital letter d overdot","short":"cap d overdot"},"mathspeak":{"default":"modifying above upper D with dot","brief":"mod above upper D with dot","sbrief":"mod above upper D with dot"}}},{"category":"Lu","key":"1E0C","mappings":{"default":{"default":"latin capital letter d with dot below","alternative":"latin capital letter d underdot","short":"cap d underdot"},"mathspeak":{"default":"modifying below upper D with dot","brief":"mod below upper D with dot","sbrief":"mod below upper D with dot"}}},{"category":"Lu","key":"1E0E","mappings":{"default":{"default":"latin capital letter d with line below","alternative":"latin capital letter d underbar","short":"cap d underbar"},"mathspeak":{"default":"upper D underbar","brief":"upper D underbar","sbrief":"upper D underbar"}}},{"category":"Lu","key":"1E10","mappings":{"default":{"default":"latin capital letter d with cedilla","alternative":"latin capital letter d cedilla","short":"cap d cedilla"},"mathspeak":{"default":"modifying above upper D with cedilla","brief":"mod above upper D with cedilla","sbrief":"mod above upper D with cedilla"}}},{"category":"Lu","key":"1E12","mappings":{"default":{"default":"latin capital letter d with circumflex below","alternative":"latin capital letter d underhat","short":"cap d underhat"},"mathspeak":{"default":"modifying below upper D with caret","brief":"mod below upper D with caret","sbrief":"mod below upper D with caret"}}},{"category":"Lu","key":"1E18","mappings":{"default":{"default":"latin capital letter e with circumflex below","alternative":"latin capital letter e underhat","short":"cap e underhat"},"mathspeak":{"default":"modifying below upper E with caret","brief":"mod below upper E with caret","sbrief":"mod below upper E with caret"}}},{"category":"Lu","key":"1E1A","mappings":{"default":{"default":"latin capital letter e with tilde below","alternative":"latin capital letter e tilde below","short":"cap e tilde below"},"mathspeak":{"default":"upper E undertilde","brief":"upper E undertilde","sbrief":"upper E undertilde"}}},{"category":"Lu","key":"1E1E","mappings":{"default":{"default":"latin capital letter f with dot above","alternative":"latin capital letter f overdot","short":"cap f overdot"},"mathspeak":{"default":"modifying above upper F with dot","brief":"mod above upper F with dot","sbrief":"mod above upper F with dot"}}},{"category":"Lu","key":"1E20","mappings":{"default":{"default":"latin capital letter g with macron","alternative":"latin capital letter g overbar","short":"cap g overbar"},"mathspeak":{"default":"upper G overbar","brief":"upper G overbar","sbrief":"upper G overbar"}}},{"category":"Lu","key":"1E22","mappings":{"default":{"default":"latin capital letter h with dot above","alternative":"latin capital letter h overdot","short":"cap h overdot"},"mathspeak":{"default":"modifying above upper H with dot","brief":"mod above upper H with dot","sbrief":"mod above upper H with dot"}}},{"category":"Lu","key":"1E24","mappings":{"default":{"default":"latin capital letter h with dot below","alternative":"latin capital letter h underdot","short":"cap h underdot"},"mathspeak":{"default":"modifying below upper H with dot","brief":"mod below upper H with dot","sbrief":"mod below upper H with dot"}}},{"category":"Lu","key":"1E26","mappings":{"default":{"default":"latin capital letter h with diaeresis","alternative":"latin capital letter h double overdot","short":"cap h double overdot"},"mathspeak":{"default":"modifying above upper H with double dot","brief":"mod above upper H with double dot","sbrief":"mod above upper H with double dot"}}},{"category":"Lu","key":"1E28","mappings":{"default":{"default":"latin capital letter h with cedilla","alternative":"latin capital letter h cedilla","short":"cap h cedilla"},"mathspeak":{"default":"modifying above upper H with cedilla","brief":"mod above upper H with cedilla","sbrief":"mod above upper H with cedilla"}}},{"category":"Lu","key":"1E2A","mappings":{"default":{"default":"latin capital letter h with breve below","alternative":"latin capital letter h breve below","short":"cap h breve below"},"mathspeak":{"default":"modifying below upper H with breve below","brief":"mod below upper H with breve below","sbrief":"mod below upper H with breve below"}}},{"category":"Lu","key":"1E2C","mappings":{"default":{"default":"latin capital letter i with tilde below","alternative":"latin capital letter i tilde below","short":"cap i tilde below"},"mathspeak":{"default":"upper I undertilde","brief":"upper I undertilde","sbrief":"upper I undertilde"}}},{"category":"Lu","key":"1E30","mappings":{"default":{"default":"latin capital letter k with acute","alternative":"latin capital letter k acute","short":"cap k acute"},"mathspeak":{"default":"modifying above upper K with acute","brief":"mod above upper K with acute","sbrief":"mod above upper K with acute"}}},{"category":"Lu","key":"1E32","mappings":{"default":{"default":"latin capital letter k with dot below","alternative":"latin capital letter k underdot","short":"cap k underdot"},"mathspeak":{"default":"modifying below upper K with dot","brief":"mod below upper K with dot","sbrief":"mod below upper K with dot"}}},{"category":"Lu","key":"1E34","mappings":{"default":{"default":"latin capital letter k with line below","alternative":"latin capital letter k underbar","short":"cap k underbar"},"mathspeak":{"default":"upper K underbar","brief":"upper K underbar","sbrief":"upper K underbar"}}},{"category":"Lu","key":"1E36","mappings":{"default":{"default":"latin capital letter l with dot below","alternative":"latin capital letter l underdot","short":"cap l underdot"},"mathspeak":{"default":"modifying below upper L with dot","brief":"mod below upper L with dot","sbrief":"mod below upper L with dot"}}},{"category":"Lu","key":"1E3A","mappings":{"default":{"default":"latin capital letter l with line below","alternative":"latin capital letter l underbar","short":"cap l underbar"},"mathspeak":{"default":"upper L underbar","brief":"upper L underbar","sbrief":"upper L underbar"}}},{"category":"Lu","key":"1E3C","mappings":{"default":{"default":"latin capital letter l with circumflex below","alternative":"latin capital letter l underhat","short":"cap l underhat"},"mathspeak":{"default":"modifying below upper L with caret","brief":"mod below upper L with caret","sbrief":"mod below upper L with caret"}}},{"category":"Lu","key":"1E3E","mappings":{"default":{"default":"latin capital letter m with acute","alternative":"latin capital letter m acute","short":"cap m acute"},"mathspeak":{"default":"modifying above upper M with acute","brief":"mod above upper M with acute","sbrief":"mod above upper M with acute"}}},{"category":"Lu","key":"1E40","mappings":{"default":{"default":"latin capital letter m with dot above","alternative":"latin capital letter m overdot","short":"cap m overdot"},"mathspeak":{"default":"modifying above upper M with dot","brief":"mod above upper M with dot","sbrief":"mod above upper M with dot"}}},{"category":"Lu","key":"1E42","mappings":{"default":{"default":"latin capital letter m with dot below","alternative":"latin capital letter m underdot","short":"cap m underdot"},"mathspeak":{"default":"modifying below upper M with dot","brief":"mod below upper M with dot","sbrief":"mod below upper M with dot"}}},{"category":"Lu","key":"1E44","mappings":{"default":{"default":"latin capital letter n with dot above","alternative":"latin capital letter n overdot","short":"cap n overdot"},"mathspeak":{"default":"modifying above upper N with dot","brief":"mod above upper N with dot","sbrief":"mod above upper N with dot"}}},{"category":"Lu","key":"1E46","mappings":{"default":{"default":"latin capital letter n with dot below","alternative":"latin capital letter n underdot","short":"cap n underdot"},"mathspeak":{"default":"modifying below upper N with dot","brief":"mod below upper N with dot","sbrief":"mod below upper N with dot"}}},{"category":"Lu","key":"1E48","mappings":{"default":{"default":"latin capital letter n with line below","alternative":"latin capital letter n underbar","short":"cap n underbar"},"mathspeak":{"default":"upper N underbar","brief":"upper N underbar","sbrief":"upper N underbar"}}},{"category":"Lu","key":"1E4A","mappings":{"default":{"default":"latin capital letter n with circumflex below","alternative":"latin capital letter n underhat","short":"cap n underhat"},"mathspeak":{"default":"modifying below upper N with caret","brief":"mod below upper N with caret","sbrief":"mod below upper N with caret"}}},{"category":"Lu","key":"1E54","mappings":{"default":{"default":"latin capital letter p with acute","alternative":"latin capital letter p acute","short":"cap p acute"},"mathspeak":{"default":"modifying above upper P with acute","brief":"mod above upper P with acute","sbrief":"mod above upper P with acute"}}},{"category":"Lu","key":"1E56","mappings":{"default":{"default":"latin capital letter p with dot above","alternative":"latin capital letter p overdot","short":"cap p overdot"},"mathspeak":{"default":"modifying above upper P with dot","brief":"mod above upper P with dot","sbrief":"mod above upper P with dot"}}},{"category":"Lu","key":"1E58","mappings":{"default":{"default":"latin capital letter r with dot above","alternative":"latin capital letter r overdot","short":"cap r overdot"},"mathspeak":{"default":"modifying above upper R with dot","brief":"mod above upper R with dot","sbrief":"mod above upper R with dot"}}},{"category":"Lu","key":"1E5A","mappings":{"default":{"default":"latin capital letter r with dot below","alternative":"latin capital letter r underdot","short":"cap r underdot"},"mathspeak":{"default":"modifying below upper R with dot","brief":"mod below upper R with dot","sbrief":"mod below upper R with dot"}}},{"category":"Lu","key":"1E5E","mappings":{"default":{"default":"latin capital letter r with line below","alternative":"latin capital letter r underbar","short":"cap r underbar"},"mathspeak":{"default":"upper R underbar","brief":"upper R underbar","sbrief":"upper R underbar"}}},{"category":"Lu","key":"1E60","mappings":{"default":{"default":"latin capital letter s with dot above","alternative":"latin capital letter s overdot","short":"cap s overdot"},"mathspeak":{"default":"modifying above upper S with dot","brief":"mod above upper S with dot","sbrief":"mod above upper S with dot"}}},{"category":"Lu","key":"1E62","mappings":{"default":{"default":"latin capital letter s with dot below","alternative":"latin capital letter s underdot","short":"cap s underdot"},"mathspeak":{"default":"modifying below upper S with dot","brief":"mod below upper S with dot","sbrief":"mod below upper S with dot"}}},{"category":"Lu","key":"1E6A","mappings":{"default":{"default":"latin capital letter t with dot above","alternative":"latin capital letter t overdot","short":"cap t overdot"},"mathspeak":{"default":"modifying above upper T with dot","brief":"mod above upper T with dot","sbrief":"mod above upper T with dot"}}},{"category":"Lu","key":"1E6C","mappings":{"default":{"default":"latin capital letter t with dot below","alternative":"latin capital letter t underdot","short":"cap t underdot"},"mathspeak":{"default":"modifying below upper T with dot","brief":"mod below upper T with dot","sbrief":"mod below upper T with dot"}}},{"category":"Lu","key":"1E6E","mappings":{"default":{"default":"latin capital letter t with line below","alternative":"latin capital letter t underbar","short":"cap t underbar"},"mathspeak":{"default":"upper T underbar","brief":"upper T underbar","sbrief":"upper T underbar"}}},{"category":"Lu","key":"1E70","mappings":{"default":{"default":"latin capital letter t with circumflex below","alternative":"latin capital letter t underhat","short":"cap t underhat"},"mathspeak":{"default":"modifying below upper T with caret","brief":"mod below upper T with caret","sbrief":"mod below upper T with caret"}}},{"category":"Lu","key":"1E72","mappings":{"default":{"default":"latin capital letter u with diaeresis below","alternative":"latin capital letter u double underdot","short":"cap u double underdot"},"mathspeak":{"default":"modifying below upper U with double dot","brief":"mod below upper U with double dot","sbrief":"mod below upper U with double dot"}}},{"category":"Lu","key":"1E74","mappings":{"default":{"default":"latin capital letter u with tilde below","alternative":"latin capital letter u tilde below","short":"cap u tilde below"},"mathspeak":{"default":"upper U undertilde","brief":"upper U undertilde","sbrief":"upper U undertilde"}}},{"category":"Lu","key":"1E76","mappings":{"default":{"default":"latin capital letter u with circumflex below","alternative":"latin capital letter u underhat","short":"cap u underhat"},"mathspeak":{"default":"modifying below upper U with caret","brief":"mod below upper U with caret","sbrief":"mod below upper U with caret"}}},{"category":"Lu","key":"1E7C","mappings":{"default":{"default":"latin capital letter v with tilde","alternative":"latin capital letter v tilde","short":"cap v tilde"},"mathspeak":{"default":"upper V overtilde","brief":"upper V overtilde","sbrief":"upper V overtilde"}}},{"category":"Lu","key":"1E7E","mappings":{"default":{"default":"latin capital letter v with dot below","alternative":"latin capital letter v underdot","short":"cap v underdot"},"mathspeak":{"default":"modifying below upper V with dot","brief":"mod below upper V with dot","sbrief":"mod below upper V with dot"}}},{"category":"Lu","key":"1E80","mappings":{"default":{"default":"latin capital letter w with grave","alternative":"latin capital letter w grave","short":"cap w grave"},"mathspeak":{"default":"modifying above upper W with grave","brief":"mod above upper W with grave","sbrief":"mod above upper W with grave"}}},{"category":"Lu","key":"1E82","mappings":{"default":{"default":"latin capital letter w with acute","alternative":"latin capital letter w acute","short":"cap w acute"},"mathspeak":{"default":"modifying above upper W with acute","brief":"mod above upper W with acute","sbrief":"mod above upper W with acute"}}},{"category":"Lu","key":"1E84","mappings":{"default":{"default":"latin capital letter w with diaeresis","alternative":"latin capital letter w double overdot","short":"cap w double overdot"},"mathspeak":{"default":"modifying above upper W with double dot","brief":"mod above upper W with double dot","sbrief":"mod above upper W with double dot"}}},{"category":"Lu","key":"1E86","mappings":{"default":{"default":"latin capital letter w with dot above","alternative":"latin capital letter w overdot","short":"cap w overdot"},"mathspeak":{"default":"modifying above upper W with dot","brief":"mod above upper W with dot","sbrief":"mod above upper W with dot"}}},{"category":"Lu","key":"1E88","mappings":{"default":{"default":"latin capital letter w with dot below","alternative":"latin capital letter w underdot","short":"cap w underdot"},"mathspeak":{"default":"modifying below upper W with dot","brief":"mod below upper W with dot","sbrief":"mod below upper W with dot"}}},{"category":"Lu","key":"1E8A","mappings":{"default":{"default":"latin capital letter x with dot above","alternative":"latin capital letter x overdot","short":"cap x overdot"},"mathspeak":{"default":"modifying above upper X with dot","brief":"mod above upper X with dot","sbrief":"mod above upper X with dot"}}},{"category":"Lu","key":"1E8C","mappings":{"default":{"default":"latin capital letter x with diaeresis","alternative":"latin capital letter x double overdot","short":"cap x double overdot"},"mathspeak":{"default":"modifying above upper X with double dot","brief":"mod above upper X with double dot","sbrief":"mod above upper X with double dot"}}},{"category":"Lu","key":"1E8E","mappings":{"default":{"default":"latin capital letter y with dot above","alternative":"latin capital letter y overdot","short":"cap y overdot"},"mathspeak":{"default":"modifying above upper Y with dot","brief":"mod above upper Y with dot","sbrief":"mod above upper Y with dot"}}},{"category":"Lu","key":"1E90","mappings":{"default":{"default":"latin capital letter z with circumflex","alternative":"latin capital letter z circumflex","short":"cap z circumflex"},"mathspeak":{"default":"modifying above upper Z with circumflex","brief":"mod above upper Z with circumflex","sbrief":"mod above upper Z with circumflex"}}},{"category":"Lu","key":"1E92","mappings":{"default":{"default":"latin capital letter z with dot below","alternative":"latin capital letter z underdot","short":"cap z underdot"},"mathspeak":{"default":"modifying below upper Z with dot","brief":"mod below upper Z with dot","sbrief":"mod below upper Z with dot"}}},{"category":"Lu","key":"1E94","mappings":{"default":{"default":"latin capital letter z with line below","alternative":"latin capital letter z underbar","short":"cap z underbar"},"mathspeak":{"default":"upper Z underbar","brief":"upper Z underbar","sbrief":"upper Z underbar"}}},{"category":"Lu","key":"1EA0","mappings":{"default":{"default":"latin capital letter with a dot below","alternative":"latin capital letter with a underdot","short":"cap a underdot"},"mathspeak":{"default":"modifying below upper A with dot","brief":"mod below upper A with dot","sbrief":"mod below upper A with dot"}}},{"category":"Lu","key":"1EA2","mappings":{"default":{"default":"latin capital letter a with hook above","alternative":"latin capital letter a hook","short":"cap a hook"},"mathspeak":{"default":"modifying above upper A with hook","brief":"mod above upper A with hook","sbrief":"mod above upper A with hook"}}},{"category":"Lu","key":"1EB8","mappings":{"default":{"default":"latin capital letter e with dot below","alternative":"latin capital letter e underdot","short":"cap e underdot"},"mathspeak":{"default":"modifying below upper E with dot","brief":"mod below upper E with dot","sbrief":"mod below upper E with dot"}}},{"category":"Lu","key":"1EBA","mappings":{"default":{"default":"latin capital letter e with hook above","alternative":"latin capital letter e hook","short":"cap e hook"},"mathspeak":{"default":"modifying above upper E with hook","brief":"mod above upper E with hook","sbrief":"mod above upper E with hook"}}},{"category":"Lu","key":"1EBC","mappings":{"default":{"default":"latin capital letter e with tilde","alternative":"latin capital letter e tilde","short":"cap e tilde"},"mathspeak":{"default":"upper E overtilde","brief":"upper E overtilde","sbrief":"upper E overtilde"}}},{"category":"Lu","key":"1EC8","mappings":{"default":{"default":"latin capital letter i with hook above","alternative":"latin capital letter i hook","short":"cap i hook"},"mathspeak":{"default":"modifying above upper I with hook","brief":"mod above upper I with hook","sbrief":"mod above upper I with hook"}}},{"category":"Lu","key":"1ECA","mappings":{"default":{"default":"latin capital letter i with dot below","alternative":"latin capital letter i underdot","short":"cap i underdot"},"mathspeak":{"default":"modifying below upper I with dot","brief":"mod below upper I with dot","sbrief":"mod below upper I with dot"}}},{"category":"Lu","key":"1ECC","mappings":{"default":{"default":"latin capital letter o with dot below","alternative":"latin capital letter o underdot","short":"cap o underdot"},"mathspeak":{"default":"modifying below upper O with dot","brief":"mod below upper O with dot","sbrief":"mod below upper O with dot"}}},{"category":"Lu","key":"1ECE","mappings":{"default":{"default":"latin capital letter o with hook above","alternative":"latin capital letter o hook","short":"cap o hook"},"mathspeak":{"default":"modifying above upper O with hook","brief":"mod above upper O with hook","sbrief":"mod above upper O with hook"}}},{"category":"Lu","key":"1EE4","mappings":{"default":{"default":"latin capital letter u with dot below","alternative":"latin capital letter u underdot","short":"cap u underdot"},"mathspeak":{"default":"modifying below upper U with dot","brief":"mod below upper U with dot","sbrief":"mod below upper U with dot"}}},{"category":"Lu","key":"1EE6","mappings":{"default":{"default":"latin capital letter u with hook above","alternative":"latin capital letter u hook","short":"cap u hook"},"mathspeak":{"default":"modifying above upper U with hook","brief":"mod above upper U with hook","sbrief":"mod above upper U with hook"}}},{"category":"Lu","key":"1EF2","mappings":{"default":{"default":"latin capital letter y with grave","alternative":"latin capital letter y grave","short":"cap y grave"},"mathspeak":{"default":"modifying above upper Y with grave","brief":"mod above upper Y with grave","sbrief":"mod above upper Y with grave"}}},{"category":"Lu","key":"1EF4","mappings":{"default":{"default":"latin capital letter y with dot below","alternative":"latin capital letter y underdot","short":"cap y underdot"},"mathspeak":{"default":"modifying below upper Y with dot","brief":"mod below upper Y with dot","sbrief":"mod below upper Y with dot"}}},{"category":"Lu","key":"1EF6","mappings":{"default":{"default":"latin capital letter y with hook above","alternative":"latin capital letter y hook","short":"cap y hook"},"mathspeak":{"default":"modifying above upper Y with hook","brief":"mod above upper Y with hook","sbrief":"mod above upper Y with hook"}}},{"category":"Lu","key":"1EF8","mappings":{"default":{"default":"latin capital letter y with tilde","alternative":"latin capital letter y tilde","short":"cap y tilde"},"mathspeak":{"default":"upper Y overtilde","brief":"upper Y overtilde","sbrief":"upper Y overtilde"}}}] +, +"en/math_angles.js": +[{"locale":"en"},{"category":"Sm","mappings":{"default":{"default":"right angle with arc"}},"key":"22BE"},{"category":"Sm","mappings":{"default":{"default":"right angle with downwards zigzag arrow"}},"key":"237C"},{"category":"Sm","mappings":{"default":{"default":"three dimensional angle"}},"key":"27C0"},{"category":"Sm","mappings":{"default":{"default":"measured angle opening left"}},"key":"299B"},{"category":"Sm","mappings":{"default":{"default":"right angle variant with square"}},"key":"299C"},{"category":"Sm","mappings":{"default":{"default":"measured right angle with dot"}},"key":"299D"},{"category":"Sm","mappings":{"default":{"default":"angle with s inside"}},"key":"299E"},{"category":"Sm","mappings":{"default":{"default":"acute angle"}},"key":"299F"},{"category":"Sm","mappings":{"default":{"default":"spherical angle opening left"}},"key":"29A0"},{"category":"Sm","mappings":{"default":{"default":"spherical angle opening up"}},"key":"29A1"},{"category":"Sm","mappings":{"default":{"default":"turned angle"}},"key":"29A2"},{"category":"Sm","mappings":{"default":{"default":"reversed angle"}},"key":"29A3"},{"category":"Sm","mappings":{"default":{"default":"angle with underbar"}},"key":"29A4"},{"category":"Sm","mappings":{"default":{"default":"reversed angle with underbar"}},"key":"29A5"},{"category":"Sm","mappings":{"default":{"default":"oblique angle opening up"}},"key":"29A6"},{"category":"Sm","mappings":{"default":{"default":"oblique angle opening down"}},"key":"29A7"},{"category":"Sm","mappings":{"default":{"default":"measured angle with open arm ending in arrow pointing up and right"}},"key":"29A8"},{"category":"Sm","mappings":{"default":{"default":"measured angle with open arm ending in arrow pointing up and left"}},"key":"29A9"},{"category":"Sm","mappings":{"default":{"default":"measured angle with open arm ending in arrow pointing down and right"}},"key":"29AA"},{"category":"Sm","mappings":{"default":{"default":"measured angle with open arm ending in arrow pointing down and left"}},"key":"29AB"},{"category":"Sm","mappings":{"default":{"default":"measured angle with open arm ending in arrow pointing right and up"}},"key":"29AC"},{"category":"Sm","mappings":{"default":{"default":"measured angle with open arm ending in arrow pointing left and up"}},"key":"29AD"},{"category":"Sm","mappings":{"default":{"default":"measured angle with open arm ending in arrow pointing right and down"}},"key":"29AE"},{"category":"Sm","mappings":{"default":{"default":"measured angle with open arm ending in arrow pointing left and down"}},"key":"29AF"}] +, +"en/math_arrows.js": +[{"locale":"en"},{"category":"Sm","mappings":{"default":{"default":"leftwards arrow","short":"left arrow"},"mathspeak":{"default":"left-arrow","sbrief":"L arrow"}},"key":"2190"},{"category":"Sm","mappings":{"default":{"default":"upwards arrow","short":"up arrow"},"mathspeak":{"default":"up-arrow","sbrief":"U arrow"}},"key":"2191"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow","short":"right arrow"},"mathspeak":{"default":"right-arrow","sbrief":"R arrow"}},"key":"2192"},{"category":"Sm","mappings":{"default":{"default":"downwards arrow","short":"down arrow"},"mathspeak":{"default":"down-arrow","sbrief":"D arrow"}},"key":"2193"},{"category":"Sm","mappings":{"default":{"default":"left right arrow"},"mathspeak":{"default":"left-right-arrow","sbrief":"L R arrow"}},"key":"2194"},{"category":"So","mappings":{"default":{"default":"up down arrow"},"mathspeak":{"default":"up down-arrow","sbrief":"U D arrow"}},"key":"2195"},{"category":"So","mappings":{"default":{"default":"north west arrow","short":"up left arrow"},"mathspeak":{"default":"up left-arrow","sbrief":"U L arrow"}},"key":"2196"},{"category":"So","mappings":{"default":{"default":"north east arrow","short":"up right arrow"},"mathspeak":{"default":"up right-arrow","sbrief":"U R arrow"}},"key":"2197"},{"category":"So","mappings":{"default":{"default":"south east arrow","short":"down right arrow"},"mathspeak":{"default":"down right-arrow","sbrief":"D R arrow"}},"key":"2198"},{"category":"So","mappings":{"default":{"default":"south west arrow","short":"down left arrow"},"mathspeak":{"default":"down left-arrow","sbrief":"D L arrow"}},"key":"2199"},{"category":"Sm","mappings":{"default":{"default":"leftwards arrow with stroke","short":"left arrow with stroke"},"mathspeak":{"default":"left-arrow with stroke","sbrief":"L arrow with stroke"}},"key":"219A"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow with stroke","short":"right arrow with stroke"},"mathspeak":{"default":"right-arrow with stroke","sbrief":"R arrow with stroke"}},"key":"219B"},{"category":"So","mappings":{"default":{"default":"leftwards wave arrow","short":"left wave arrow"},"mathspeak":{"sbrief":"L wave arrow"}},"key":"219C"},{"category":"So","mappings":{"default":{"default":"rightwards wave arrow","short":"right wave arrow"},"mathspeak":{"sbrief":"R wave arrow"}},"key":"219D"},{"category":"So","mappings":{"default":{"default":"leftwards two headed arrow","alternative":"left two headed arrow","short":"two headed left arrow"},"mathspeak":{"default":"two headed left-arrow","sbrief":"two headed L arrow"}},"key":"219E"},{"category":"So","mappings":{"default":{"default":"upwards two headed arrow","alternative":"up two headed arrow","short":"two headed up arrow"},"mathspeak":{"default":"two headed up-arrow","sbrief":"two headed U arrow"}},"key":"219F"},{"category":"Sm","mappings":{"default":{"default":"rightwards two headed arrow","alternative":"right two headed arrow","short":"two headed right arrow"},"mathspeak":{"default":"two headed right-arrow","sbrief":"two headed R arrow"}},"key":"21A0"},{"category":"So","mappings":{"default":{"default":"downwards two headed arrow","alternative":"down two headed arrow","short":"two headed down arrow"},"mathspeak":{"default":"two headed down-arrow","sbrief":"two headed D arrow"}},"key":"21A1"},{"category":"So","mappings":{"default":{"default":"leftwards arrow with tail","short":"left arrow with tail"},"mathspeak":{"default":"left-arrow with tail","sbrief":"L arrow with tail"}},"key":"21A2"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow with tail","short":"right arrow with tail"},"mathspeak":{"default":"right-arrow with tail","sbrief":"R arrow with tail"}},"key":"21A3"},{"category":"So","mappings":{"default":{"default":"leftwards arrow from bar","short":"left arrow from bar"},"mathspeak":{"default":"left-arrow from bar","sbrief":"L arrow from bar"}},"key":"21A4"},{"category":"So","mappings":{"default":{"default":"upwards arrow from bar","short":"up arrow from bar"},"mathspeak":{"default":"up-arrow from bar","sbrief":"U arrow from bar"}},"key":"21A5"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow from bar","short":"right arrow from bar"},"mathspeak":{"default":"right-arrow from bar","sbrief":"R arrow from bar"}},"key":"21A6"},{"category":"So","mappings":{"default":{"default":"downwards arrow from bar","short":"down arrow from bar"},"mathspeak":{"default":"down-arrow from bar","sbrief":"D arrow from bar"}},"key":"21A7"},{"category":"So","mappings":{"default":{"default":"up down arrow with base"},"mathspeak":{"default":"up down-arrow with base","sbrief":"U D arrow with base"}},"key":"21A8"},{"category":"So","mappings":{"default":{"default":"leftwards arrow with hook","short":"left arrow with hook"},"mathspeak":{"default":"left-arrow with hook","sbrief":"L arrow with hook"}},"key":"21A9"},{"category":"So","mappings":{"default":{"default":"rightwards arrow with hook","short":"right arrow with hook"},"mathspeak":{"default":"right-arrow with hook","sbrief":"R arrow with hook"}},"key":"21AA"},{"category":"So","mappings":{"default":{"default":"leftwards arrow with loop","short":"left arrow with loop"},"mathspeak":{"default":"left-arrow with loop","sbrief":"L arrow with loop"}},"key":"21AB"},{"category":"So","mappings":{"default":{"default":"rightwards arrow with loop","short":"right arrow with loop"},"mathspeak":{"default":"right-arrow with loop","sbrief":"R arrow with loop"}},"key":"21AC"},{"category":"So","mappings":{"default":{"default":"left right wave arrow"},"mathspeak":{"sbrief":"L R wave arrow"}},"key":"21AD"},{"category":"Sm","mappings":{"default":{"default":"left right arrow with stroke"},"mathspeak":{"default":"left-right-arrow with stroke","sbrief":"L R arrow with stroke"}},"key":"21AE"},{"category":"So","mappings":{"default":{"default":"downwards zigzag arrow","short":"down zigzag arrow"},"mathspeak":{"sbrief":"d zigzag arrow"}},"key":"21AF"},{"category":"So","mappings":{"default":{"default":"upwards arrow with tip leftwards","short":"up arrow with tip left"},"mathspeak":{"default":"up-arrow with tip left","sbrief":"U arrow with tip left"}},"key":"21B0"},{"category":"So","mappings":{"default":{"default":"upwards arrow with tip rightwards","short":"up arrow with tip right"},"mathspeak":{"default":"up-arrow with tip right","sbrief":"U arrow with tip right"}},"key":"21B1"},{"category":"So","mappings":{"default":{"default":"downwards arrow with tip leftwards","short":"down arrow with tip left"},"mathspeak":{"default":"down-arrow with tip left","sbrief":"D arrow with tip left"}},"key":"21B2"},{"category":"So","mappings":{"default":{"default":"downwards arrow with tip rightwards","short":"down arrow with tip right"},"mathspeak":{"default":"down-arrow with tip right","sbrief":"D arrow with tip right"}},"key":"21B3"},{"category":"So","mappings":{"default":{"default":"rightwards arrow with corner downwards","short":"right arrow with corner down"},"mathspeak":{"default":"right-arrow with corner down","sbrief":"R arrow with corner down"}},"key":"21B4"},{"category":"So","mappings":{"default":{"default":"downwards arrow with corner leftwards","short":"down arrow with corner left"},"mathspeak":{"default":"down-arrow with corner left","sbrief":"D arrow with corner left"}},"key":"21B5"},{"category":"So","mappings":{"default":{"default":"anticlockwise top semicircle arrow"}},"key":"21B6"},{"category":"So","mappings":{"default":{"default":"clockwise top semicircle arrow"}},"key":"21B7"},{"category":"So","mappings":{"default":{"default":"north west arrow to long bar","short":"up left arrow to long bar"},"mathspeak":{"default":"up left-arrow to long bar","sbrief":"U L arrow to long bar"}},"key":"21B8"},{"category":"So","mappings":{"default":{"default":"leftwards arrow to bar over rightwards arrow to bar","short":"left arrow to bar over right arrow to bar"},"mathspeak":{"default":"left-arrow to bar over right-arrow to bar","sbrief":"L arrow to bar over R arrow to bar"}},"key":"21B9"},{"category":"So","mappings":{"default":{"default":"anticlockwise open circle arrow"}},"key":"21BA"},{"category":"So","mappings":{"default":{"default":"clockwise open circle arrow"}},"key":"21BB"},{"category":"So","mappings":{"default":{"default":"rightwards arrow over leftwards arrow","short":"right arrow over left arrow"},"mathspeak":{"default":"right-arrow over left-arrow","sbrief":"R arrow over L arrow"}},"key":"21C4"},{"category":"So","mappings":{"default":{"default":"upwards arrow leftwards of downwards arrow","short":"up arrow left of down arrow"},"mathspeak":{"default":"up-arrow left of down-arrow","sbrief":"U arrow L of D arrow"}},"key":"21C5"},{"category":"So","mappings":{"default":{"default":"leftwards arrow over rightwards arrow","short":"left arrow over right arrow"},"mathspeak":{"default":"left-arrow over right-arrow","sbrief":"L arrow over R arrow"}},"key":"21C6"},{"category":"So","mappings":{"default":{"default":"leftwards paired arrows","short":"left paired arrows"},"mathspeak":{"sbrief":"L paired arrows"}},"key":"21C7"},{"category":"So","mappings":{"default":{"default":"upwards paired arrows","short":"up paired arrows"},"mathspeak":{"sbrief":"U paired arrows"}},"key":"21C8"},{"category":"So","mappings":{"default":{"default":"rightwards paired arrows","short":"right paired arrows"},"mathspeak":{"sbrief":"R paired arrows"}},"key":"21C9"},{"category":"So","mappings":{"default":{"default":"downwards paired arrows","short":"down paired arrows"},"mathspeak":{"sbrief":"D paired arrows"}},"key":"21CA"},{"category":"So","mappings":{"default":{"default":"leftwards double arrow with stroke","short":"left double arrow with stroke"},"mathspeak":{"sbrief":"L double arrow with stroke"}},"key":"21CD"},{"category":"Sm","mappings":{"default":{"default":"left right double arrow with stroke"},"mathspeak":{"sbrief":"L R double arrow with stroke"}},"key":"21CE"},{"category":"Sm","mappings":{"default":{"default":"rightwards double arrow with stroke","short":"right double arrow with stroke"},"mathspeak":{"sbrief":"R double arrow with stroke"}},"key":"21CF"},{"category":"So","mappings":{"default":{"default":"leftwards double arrow","short":"left double arrow"},"mathspeak":{"sbrief":"L double arrow"}},"key":"21D0"},{"category":"So","mappings":{"default":{"default":"upwards double arrow","short":"up double arrow"},"mathspeak":{"sbrief":"U double arrow"}},"key":"21D1"},{"category":"Sm","mappings":{"default":{"default":"rightwards double arrow","short":"right double arrow"},"mathspeak":{"sbrief":"R double arrow"}},"key":"21D2"},{"category":"So","mappings":{"default":{"default":"downwards double arrow","short":"down double arrow"},"mathspeak":{"sbrief":"d double arrow"}},"key":"21D3"},{"category":"Sm","mappings":{"default":{"default":"left right double arrow"},"mathspeak":{"sbrief":"L R double arrow"}},"key":"21D4"},{"category":"So","mappings":{"default":{"default":"up down double arrow"},"mathspeak":{"sbrief":"U d double arrow"}},"key":"21D5"},{"category":"So","mappings":{"default":{"default":"north west double arrow","short":"up left double arrow"},"mathspeak":{"sbrief":"U L double arrow"}},"key":"21D6"},{"category":"So","mappings":{"default":{"default":"north east double arrow","short":"up right double arrow"},"mathspeak":{"sbrief":"U R double arrow"}},"key":"21D7"},{"category":"So","mappings":{"default":{"default":"south east double arrow","short":"down right double arrow"},"mathspeak":{"sbrief":"d R double arrow"}},"key":"21D8"},{"category":"So","mappings":{"default":{"default":"south west double arrow","short":"down left double arrow"},"mathspeak":{"sbrief":"d L double arrow"}},"key":"21D9"},{"category":"So","mappings":{"default":{"default":"leftwards triple arrow","short":"left triple arrow"},"mathspeak":{"sbrief":"L triple arrow"}},"key":"21DA"},{"category":"So","mappings":{"default":{"default":"rightwards triple arrow","short":"right triple arrow"},"mathspeak":{"sbrief":"r triple arrow"}},"key":"21DB"},{"category":"So","mappings":{"default":{"default":"leftwards squiggle arrow","short":"left squiggle arrow"},"mathspeak":{"sbrief":"L squiggle arrow"}},"key":"21DC"},{"category":"So","mappings":{"default":{"default":"rightwards squiggle arrow","short":"right squiggle arrow"},"mathspeak":{"sbrief":"r squiggle arrow"}},"key":"21DD"},{"category":"So","mappings":{"default":{"default":"upwards arrow with double stroke","short":"up arrow with double stroke"},"mathspeak":{"default":"up-arrow with double stroke","sbrief":"U arrow with double stroke"}},"key":"21DE"},{"category":"So","mappings":{"default":{"default":"downwards arrow with double stroke","short":"down arrow with double stroke"},"mathspeak":{"default":"down-arrow with double stroke","sbrief":"D arrow with double stroke"}},"key":"21DF"},{"category":"So","mappings":{"default":{"default":"leftwards dasheD arrow","short":"left dasheD arrow"},"mathspeak":{"sbrief":"L dasheD arrow"}},"key":"21E0"},{"category":"So","mappings":{"default":{"default":"upwards dasheD arrow","short":"up dasheD arrow"},"mathspeak":{"sbrief":"U dasheD arrow"}},"key":"21E1"},{"category":"So","mappings":{"default":{"default":"rightwards dasheD arrow","short":"right dasheD arrow"},"mathspeak":{"sbrief":"r dasheD arrow"}},"key":"21E2"},{"category":"So","mappings":{"default":{"default":"downwards dasheD arrow","short":"down dasheD arrow"},"mathspeak":{"sbrief":"d dasheD arrow"}},"key":"21E3"},{"category":"So","mappings":{"default":{"default":"leftwards arrow to bar","short":"left arrow to bar"},"mathspeak":{"default":"left-arrow to bar","sbrief":"L arrow to bar"}},"key":"21E4"},{"category":"So","mappings":{"default":{"default":"rightwards arrow to bar","short":"right arrow to bar"},"mathspeak":{"default":"right-arrow to bar","sbrief":"R arrow to bar"}},"key":"21E5"},{"category":"So","mappings":{"default":{"default":"leftwards white arrow","short":"white left arrow"},"mathspeak":{"default":"white left-arrow","sbrief":"white L arrow"}},"key":"21E6"},{"category":"So","mappings":{"default":{"default":"upwards white arrow","short":"white up arrow"},"mathspeak":{"default":"white up-arrow","sbrief":"white U arrow"}},"key":"21E7"},{"category":"So","mappings":{"default":{"default":"rightwards white arrow","short":"white right arrow"},"mathspeak":{"default":"white right-arrow","sbrief":"white R arrow"}},"key":"21E8"},{"category":"So","mappings":{"default":{"default":"downwards white arrow","short":"white down arrow"},"mathspeak":{"default":"white down-arrow","sbrief":"white D arrow"}},"key":"21E9"},{"category":"So","mappings":{"default":{"default":"upwards white arrow from bar","short":"white up arrow from bar"},"mathspeak":{"default":"white up-arrow from bar","sbrief":"white U arrow from bar"}},"key":"21EA"},{"category":"So","mappings":{"default":{"default":"upwards white arrow on pedestal","alternative":"up white arrow on pedestal","short":"white up arrow on pedestal"},"mathspeak":{"default":"white up-arrow on pedestal","sbrief":"white U arrow on pedestal"}},"key":"21EB"},{"category":"So","mappings":{"default":{"default":"upwards white arrow on pedestal with horizontal bar","alternative":"up white arrow on pedestal with horizontal bar","short":"white up arrow on pedestal with horizontal bar"},"mathspeak":{"default":"white up-arrow on pedestal with horizontal bar","sbrief":"white U arrow on pedestal with horizontal bar"}},"key":"21EC"},{"category":"So","mappings":{"default":{"default":"upwards white arrow on pedestal with vertical bar","alternative":"up white arrow on pedestal with vertical bar","short":"white up arrow on pedestal with vertical bar"},"mathspeak":{"default":"white up-arrow on pedestal with vertical bar","sbrief":"white U arrow on pedestal with vertical bar"}},"key":"21ED"},{"category":"So","mappings":{"default":{"default":"upwards white double arrow","alternative":"up white double arrow","short":"white double up arrow"},"mathspeak":{"default":"white double up-arrow","sbrief":"white double U arrow"}},"key":"21EE"},{"category":"So","mappings":{"default":{"default":"upwards white double arrow on pedestal","alternative":"up white double arrow on pedestal","short":"white double up arrow on pedestal"},"mathspeak":{"default":"white double up-arrow on pedestal","sbrief":"white double U arrow on pedestal"}},"key":"21EF"},{"category":"So","mappings":{"default":{"default":"rightwards white arrow from wall","alternative":"right white arrow from wall","short":"white right arrow from wall"},"mathspeak":{"default":"white right-arrow from wall","sbrief":"white R arrow from wall"}},"key":"21F0"},{"category":"So","mappings":{"default":{"default":"north west arrow to corner"}},"key":"21F1"},{"category":"So","mappings":{"default":{"default":"south east arrow to corner"}},"key":"21F2"},{"category":"So","mappings":{"default":{"default":"up down white arrow"},"mathspeak":{"sbrief":"U d white arrow"}},"key":"21F3"},{"category":"Sm","mappings":{"default":{"default":"right arrow with small circle"},"mathspeak":{"default":"right-arrow with small circle","sbrief":"R arrow with small circle"}},"key":"21F4"},{"category":"Sm","mappings":{"default":{"default":"down arrow leftwards of upwards arrow","short":"down arrow left of up arrow"},"mathspeak":{"default":"down-arrow left of up-arrow","sbrief":"D arrow l of U arrow"}},"key":"21F5"},{"category":"Sm","mappings":{"default":{"default":"three rightwards arrows","short":"three right arrows"},"mathspeak":{"default":"three right-arrows","sbrief":"three R arrows"}},"key":"21F6"},{"category":"Sm","mappings":{"default":{"default":"leftwards arrow with vertical stroke","short":"left arrow with vertical stroke"},"mathspeak":{"default":"left-arrow with vertical stroke","sbrief":"L arrow with vertical stroke"}},"key":"21F7"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow with vertical stroke","short":"right arrow with vertical stroke"},"mathspeak":{"default":"right-arrow with vertical stroke","sbrief":"R arrow with vertical stroke"}},"key":"21F8"},{"category":"Sm","mappings":{"default":{"default":"left right arrow with vertical stroke"},"mathspeak":{"default":"left-right-arrow with vertical stroke","sbrief":"L R arrow with vertical stroke"}},"key":"21F9"},{"category":"Sm","mappings":{"default":{"default":"leftwards arrow with double vertical stroke","short":"left arrow with double vertical stroke"},"mathspeak":{"default":"left-arrow with double vertical stroke","sbrief":"L arrow with double vertical stroke"}},"key":"21FA"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow with double vertical stroke","short":"right arrow with double vertical stroke"},"mathspeak":{"default":"right-arrow with double vertical stroke","sbrief":"R arrow with double vertical stroke"}},"key":"21FB"},{"category":"Sm","mappings":{"default":{"default":"left right arrow with double vertical stroke"},"mathspeak":{"default":"left-right-arrow with double vertical stroke","sbrief":"L R arrow with double vertical stroke"}},"key":"21FC"},{"category":"Sm","mappings":{"default":{"default":"leftwards open headed arrow","short":"left open headed arrow"},"mathspeak":{"sbrief":"l open headed arrow"}},"key":"21FD"},{"category":"Sm","mappings":{"default":{"default":"rightwards open headed arrow","short":"right open headed arrow"},"mathspeak":{"sbrief":"r open headed arrow"}},"key":"21FE"},{"category":"Sm","mappings":{"default":{"default":"left right open headed arrow"},"mathspeak":{"sbrief":"L R open headed arrow"}},"key":"21FF"},{"category":"So","mappings":{"default":{"default":"electric arrow"}},"key":"2301"},{"category":"So","mappings":{"default":{"default":"up arrowhead"},"mathspeak":{"default":"up-arrowhead","sbrief":"U arrowhead"}},"key":"2303"},{"category":"So","mappings":{"default":{"default":"down arrowhead"},"mathspeak":{"default":"down-arrowhead","sbrief":"D arrowhead"}},"key":"2304"},{"category":"So","mappings":{"default":{"default":"up arrowhead between two horizontal bars","alternative":"enter key"},"mathspeak":{"default":"up-arrowhead between two horizontal bars","sbrief":"U arrowhead between two horizontal bars"}},"key":"2324"},{"category":"So","mappings":{"default":{"default":"broken circle with northwest arrow"}},"key":"238B"},{"category":"So","mappings":{"default":{"default":"heavy wide headed rightwards arrow","short":"heavy wide headed right arrow"},"mathspeak":{"default":"heavy wide headed right-arrow","sbrief":"heavy wide headed R arrow"}},"key":"2794"},{"category":"So","mappings":{"default":{"default":"heavy south east arrow","short":"heavy down right arrow"},"mathspeak":{"default":"heavy down right-arrow","sbrief":"heavy d R arrow"}},"key":"2798"},{"category":"So","mappings":{"default":{"default":"heavy rightwards arrow","short":"heavy right arrow"},"mathspeak":{"default":"heavy right-arrow","sbrief":"heavy R arrow"}},"key":"2799"},{"category":"So","mappings":{"default":{"default":"heavy north east arrow","short":"heavy up right arrow"},"mathspeak":{"default":"heavy up right-arrow","sbrief":"heavy U R arrow"}},"key":"279A"},{"category":"So","mappings":{"default":{"default":"drafting point rightwards arrow","short":"drafting point right arrow"},"mathspeak":{"default":"drafting point right-arrow","sbrief":"drafting point R arrow"}},"key":"279B"},{"category":"So","mappings":{"default":{"default":"heavy round tipped rightwards arrow","short":"heavy round tipped right arrow"},"mathspeak":{"default":"heavy round tipped right-arrow","sbrief":"heavy round tipped R arrow"}},"key":"279C"},{"category":"So","mappings":{"default":{"default":"triangle headed rightwards arrow","short":"triangle headed right arrow"},"mathspeak":{"default":"triangle headed right-arrow","sbrief":"triangle headed R arrow"}},"key":"279D"},{"category":"So","mappings":{"default":{"default":"heavy triangle headed rightwards arrow","short":"heavy triangle headed right arrow"},"mathspeak":{"default":"heavy triangle headed right-arrow","sbrief":"heavy triangle headed R arrow"}},"key":"279E"},{"category":"So","mappings":{"default":{"default":"dashed triangle headed rightwards arrow","short":"dashed triangle headed right arrow"},"mathspeak":{"default":"dashed triangle headed right-arrow","sbrief":"dashed triangle headed R arrow"}},"key":"279F"},{"category":"So","mappings":{"default":{"default":"heavy dashed triangle headed rightwards arrow","short":"heavy dashed triangle headed right arrow"},"mathspeak":{"default":"heavy dashed triangle headed right-arrow","sbrief":"heavy dashed triangle headed R arrow"}},"key":"27A0"},{"category":"So","mappings":{"default":{"default":"black rightwards arrow","short":"black right arrow"},"mathspeak":{"default":"black right-arrow","sbrief":"black R arrow"}},"key":"27A1"},{"category":"So","mappings":{"default":{"default":"three d top lighted rightwards arrowhead","short":"three d top lighted right arrowhead"},"mathspeak":{"default":"three d top lighted right-arrowhead","sbrief":"three d top lighted R arrowhead"}},"key":"27A2"},{"category":"So","mappings":{"default":{"default":"three d bottom lighted rightwards arrowhead","short":"three d bottom lighted right arrowhead"},"mathspeak":{"default":"three d bottom lighted right-arrowhead","sbrief":"three d bottom lighted R arrowhead"}},"key":"27A3"},{"category":"So","mappings":{"default":{"default":"black rightwards arrowhead","short":"black right arrowhead"},"mathspeak":{"default":"black right-arrowhead","sbrief":"black R arrowhead"}},"key":"27A4"},{"category":"So","mappings":{"default":{"default":"heavy black curved downwards and rightwards arrow","short":"heavy black curved down and right arrow"},"mathspeak":{"default":"heavy black curved down and right-arrow","sbrief":"heavy black curved d and R arrow"}},"key":"27A5"},{"category":"So","mappings":{"default":{"default":"heavy black curved upwards and rightwards arrow","short":"heavy black curved up and right arrow"},"mathspeak":{"default":"heavy black curved up and right-arrow","sbrief":"heavy black curved U and R arrow"}},"key":"27A6"},{"category":"So","mappings":{"default":{"default":"squat black rightwards arrow","short":"squat black right arrow"},"mathspeak":{"default":"squat black right-arrow","sbrief":"squat black R arrow"}},"key":"27A7"},{"category":"So","mappings":{"default":{"default":"heavy concave pointed black rightwards arrow","short":"heavy concave pointed black right arrow"},"mathspeak":{"default":"heavy concave pointed black right-arrow","sbrief":"heavy concave pointed black R arrow"}},"key":"27A8"},{"category":"So","mappings":{"default":{"default":"right shaded white rightwards arrow","short":"right shaded white right arrow"},"mathspeak":{"default":"right shaded white right-arrow","sbrief":"right shaded white R arrow"}},"key":"27A9"},{"category":"So","mappings":{"default":{"default":"left shaded white rightwards arrow","short":"left shaded white right arrow"},"mathspeak":{"default":"left shaded white right-arrow","sbrief":"left shaded white R arrow"}},"key":"27AA"},{"category":"So","mappings":{"default":{"default":"back tilted shadowed white rightwards arrow","short":"back tilted shadowed white right arrow"},"mathspeak":{"default":"back tilted shadowed white right-arrow","sbrief":"back tilted shadowed white R arrow"}},"key":"27AB"},{"category":"So","mappings":{"default":{"default":"front tilted shadowed white rightwards arrow","short":"front tilted shadowed white right arrow"},"mathspeak":{"default":"front tilted shadowed white right-arrow","sbrief":"front tilted shadowed white R arrow"}},"key":"27AC"},{"category":"So","mappings":{"default":{"default":"heavy lower right shadowed white rightwards arrow","short":"heavy lower right shadowed white right arrow"},"mathspeak":{"default":"heavy lower right shadowed white right-arrow","sbrief":"heavy lower right shadowed white R arrow"}},"key":"27AD"},{"category":"So","mappings":{"default":{"default":"heavy upper right shadowed white rightwards arrow","short":"heavy upper right shadowed white right arrow"},"mathspeak":{"default":"heavy upper right shadowed white right-arrow","sbrief":"heavy upper right shadowed white R arrow"}},"key":"27AE"},{"category":"So","mappings":{"default":{"default":"notched lower right shadowed white rightwards arrow","short":"notched lower right shadowed white right arrow"},"mathspeak":{"default":"notched lower right shadowed white right-arrow","sbrief":"notched lower right shadowed white R arrow"}},"key":"27AF"},{"category":"So","mappings":{"default":{"default":"notched upper right shadowed white rightwards arrow","short":"notched upper right shadowed white right arrow"},"mathspeak":{"default":"notched upper right shadowed white right-arrow","sbrief":"notched upper right shadowed white R arrow"}},"key":"27B1"},{"category":"So","mappings":{"default":{"default":"circled heavy white rightwards arrow","short":"circled heavy white right arrow"},"mathspeak":{"default":"circled heavy white right-arrow","sbrief":"circled heavy white R arrow"}},"key":"27B2"},{"category":"So","mappings":{"default":{"default":"white feathered rightwards arrow","short":"white feathered right arrow"},"mathspeak":{"default":"white feathered right-arrow","sbrief":"white feathered R arrow"}},"key":"27B3"},{"category":"So","mappings":{"default":{"default":"black feathered south east arrow","short":"black feathered down right arrow"},"mathspeak":{"default":"black feathered down right-arrow","sbrief":"black feathered d R arrow"}},"key":"27B4"},{"category":"So","mappings":{"default":{"default":"black feathered rightwards arrow","short":"black feathered right arrow"},"mathspeak":{"default":"black feathered right-arrow","sbrief":"black feathered R arrow"}},"key":"27B5"},{"category":"So","mappings":{"default":{"default":"black feathered north east arrow","short":"black feathered up right arrow"},"mathspeak":{"default":"black feathered up right-arrow","sbrief":"black feathered U R arrow"}},"key":"27B6"},{"category":"So","mappings":{"default":{"default":"heavy black feathered south east arrow","short":"heavy black feathered down right arrow"},"mathspeak":{"default":"heavy black feathered down right-arrow","sbrief":"heavy black feathered d R arrow"}},"key":"27B7"},{"category":"So","mappings":{"default":{"default":"heavy black feathered rightwards arrow","short":"heavy black feathered right arrow"},"mathspeak":{"default":"heavy black feathered right-arrow","sbrief":"heavy black feathered R arrow"}},"key":"27B8"},{"category":"So","mappings":{"default":{"default":"heavy black feathered north east arrow","short":"heavy black feathered up right arrow"},"mathspeak":{"default":"heavy black feathered up right-arrow","sbrief":"heavy black feathered U R arrow"}},"key":"27B9"},{"category":"So","mappings":{"default":{"default":"teardrop barbed rightwards arrow","short":"teardrop barbed right arrow"},"mathspeak":{"default":"teardrop barbed right-arrow","sbrief":"teardrop barbed R arrow"}},"key":"27BA"},{"category":"So","mappings":{"default":{"default":"heavy teardrop shanked rightwards arrow","short":"heavy teardrop shanked right arrow"},"mathspeak":{"default":"heavy teardrop shanked right-arrow","sbrief":"heavy teardrop shanked R arrow"}},"key":"27BB"},{"category":"So","mappings":{"default":{"default":"wedge tailed rightwards arrow","short":"wedge tailed right arrow"},"mathspeak":{"default":"wedge tailed right-arrow","sbrief":"wedge tailed R arrow"}},"key":"27BC"},{"category":"So","mappings":{"default":{"default":"heavy wedge tailed rightwards arrow","short":"heavy wedge tailed right arrow"},"mathspeak":{"default":"heavy wedge tailed right-arrow","sbrief":"heavy wedge tailed R arrow"}},"key":"27BD"},{"category":"So","mappings":{"default":{"default":"open outlined rightwards arrow","short":"open outlined right arrow"},"mathspeak":{"default":"open outlined right-arrow","sbrief":"open outlined R arrow"}},"key":"27BE"},{"category":"Sm","mappings":{"default":{"default":"upwards quadruple arrow","short":"up quadruple arrow"},"mathspeak":{"sbrief":"U quadruple arrow"}},"key":"27F0"},{"category":"Sm","mappings":{"default":{"default":"downwards quadruple arrow","short":"down quadruple arrow"},"mathspeak":{"sbrief":"d quadrule arrow"}},"key":"27F1"},{"category":"Sm","mappings":{"default":{"default":"anticlockwise gapped circle arrow"}},"key":"27F2"},{"category":"Sm","mappings":{"default":{"default":"clockwise gapped circle arrow"}},"key":"27F3"},{"category":"Sm","mappings":{"default":{"default":"right arrow with circled plus"},"mathspeak":{"default":"right-arrow with circled plus","sbrief":"R arrow with circled plus"}},"key":"27F4"},{"category":"Sm","mappings":{"default":{"default":"long leftwards arrow","short":"long left arrow"},"mathspeak":{"default":"long left-arrow","sbrief":"long L arrow"}},"key":"27F5"},{"category":"Sm","mappings":{"default":{"default":"long rightwards arrow","short":"long right arrow"},"mathspeak":{"default":"long right-arrow","sbrief":"long R arrow"}},"key":"27F6"},{"category":"Sm","mappings":{"default":{"default":"long left right arrow"},"mathspeak":{"default":"long left-right-arrow","sbrief":"long L R arrow"}},"key":"27F7"},{"category":"Sm","mappings":{"default":{"default":"long leftwards double arrow","short":"long left double arrow"},"mathspeak":{"sbrief":"long l double arrow"}},"key":"27F8"},{"category":"Sm","mappings":{"default":{"default":"long rightwards double arrow","short":"long right double arrow"},"mathspeak":{"sbrief":"long R double arrow"}},"key":"27F9"},{"category":"Sm","mappings":{"default":{"default":"long left right double arrow"},"mathspeak":{"sbrief":"long L R double arrow"}},"key":"27FA"},{"category":"Sm","mappings":{"default":{"default":"long leftwards arrow from bar","short":"long left arrow from bar"},"mathspeak":{"default":"long left-arrow from bar","sbrief":"long L arrow from bar"}},"key":"27FB"},{"category":"Sm","mappings":{"default":{"default":"long rightwards arrow from bar","short":"long right arrow from bar"},"mathspeak":{"default":"long right-arrow from bar","sbrief":"long R arrow from bar"}},"key":"27FC"},{"category":"Sm","mappings":{"default":{"default":"long leftwards double arrow from bar","short":"long left double arrow from bar"},"mathspeak":{"sbrief":"long l double arrow from bar"}},"key":"27FD"},{"category":"Sm","mappings":{"default":{"default":"long rightwards double arrow from bar","short":"long right double arrow from bar"},"mathspeak":{"sbrief":"long R double arrow from bar"}},"key":"27FE"},{"category":"Sm","mappings":{"default":{"default":"long rightwards squiggle arrow","short":"long right squiggle arrow"},"mathspeak":{"sbrief":"long r squiggle arrow"}},"key":"27FF"},{"category":"Sm","mappings":{"default":{"default":"rightwards two headed arrow with vertical stroke","alternative":"right two headed arrow with vertical stroke","short":"two headed right arrow with vertical stroke"},"mathspeak":{"default":"two headed right-arrow with vertical stroke","sbrief":"two headed R arrow with vertical stroke"}},"key":"2900"},{"category":"Sm","mappings":{"default":{"default":"rightwards two headed arrow with double vertical stroke","alternative":"right two headed arrow with double vertical stroke","short":"two headed right arrow with double vertical stroke"},"mathspeak":{"default":"two headed right-arrow with double vertical stroke","sbrief":"two headed R arrow with double vertical stroke"}},"key":"2901"},{"category":"Sm","mappings":{"default":{"default":"leftwards double arrow with vertical stroke","alternative":"left double arrow with vertical stroke","short":"double left arrow with vertical stroke"},"mathspeak":{"default":"double left-arrow with vertical stroke","sbrief":"double L arrow with vertical stroke"}},"key":"2902"},{"category":"Sm","mappings":{"default":{"default":"rightwards double arrow with vertical stroke","alternative":"right double arrow with vertical stroke","short":"double right arrow with vertical stroke"},"mathspeak":{"default":"double right-arrow with vertical stroke","sbrief":"double R arrow with vertical stroke"}},"key":"2903"},{"category":"Sm","mappings":{"default":{"default":"left right double arrow with vertical stroke","short":"double left right arrow with vertical stroke"},"mathspeak":{"default":"double left-right-arrow with vertical stroke","sbrief":"double L R arrow with vertical stroke"}},"key":"2904"},{"category":"Sm","mappings":{"default":{"default":"rightwards two headed arrow from bar","alternative":"right two headed arrow from bar","short":"two headed right arrow from bar"},"mathspeak":{"default":"two headed right-arrow from bar","sbrief":"two headed R arrow from bar"}},"key":"2905"},{"category":"Sm","mappings":{"default":{"default":"leftwards double arrow from bar","alternative":"left double arrow from bar","short":"double left arrow from bar"},"mathspeak":{"default":"double left-arrow from bar","sbrief":"double L arrow from bar"}},"key":"2906"},{"category":"Sm","mappings":{"default":{"default":"rightwards double arrow from bar","alternative":"right double arrow from bar","short":"double right arrow from bar"},"mathspeak":{"default":"double right-arrow from bar","sbrief":"double R arrow from bar"}},"key":"2907"},{"category":"Sm","mappings":{"default":{"default":"downwards arrow with horizontal stroke","alternative":"down arrow with horizontal stroke","short":"arrow down with horizontal stroke"}},"key":"2908"},{"category":"Sm","mappings":{"default":{"default":"upwards arrow with horizontal stroke","short":"up arrow with horizontal stroke"},"mathspeak":{"default":"up-arrow with horizontal stroke","sbrief":"U arrow with horizontal stroke"}},"key":"2909"},{"category":"Sm","mappings":{"default":{"default":"upwards triple arrow","short":"up triple arrow"},"mathspeak":{"sbrief":"U triple arrow"}},"key":"290A"},{"category":"Sm","mappings":{"default":{"default":"downwards triple arrow","short":"down triple arrow"},"mathspeak":{"sbrief":"d triple arrow"}},"key":"290B"},{"category":"Sm","mappings":{"default":{"default":"leftwards double dash arrow","short":"left double dash arrow"},"mathspeak":{"sbrief":"l double dash arrow"}},"key":"290C"},{"category":"Sm","mappings":{"default":{"default":"rightwards double dash arrow","short":"right double dash arrow"},"mathspeak":{"sbrief":"R double dash arrow"}},"key":"290D"},{"category":"Sm","mappings":{"default":{"default":"leftwards triple dash arrow","short":"left triple dash arrow"},"mathspeak":{"sbrief":"l triple dash arrow"}},"key":"290E"},{"category":"Sm","mappings":{"default":{"default":"rightwards triple dash arrow","short":"right triple dash arrow"},"mathspeak":{"sbrief":"r triple dash arrow"}},"key":"290F"},{"category":"Sm","mappings":{"default":{"default":"rightwards two headed triple dash arrow","short":"right two headed triple dash arrow"},"mathspeak":{"sbrief":"r two headed triple dash arrow"}},"key":"2910"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow with dotted stem","short":"right arrow with dotted stem"},"mathspeak":{"default":"right-arrow with dotted stem","sbrief":"R arrow with dotted stem"}},"key":"2911"},{"category":"Sm","mappings":{"default":{"default":"upwards arrow to bar","short":"up arrow to bar"},"mathspeak":{"default":"up-arrow to bar","sbrief":"U arrow to bar"}},"key":"2912"},{"category":"Sm","mappings":{"default":{"default":"downwards arrow to bar","short":"down arrow to bar"},"mathspeak":{"default":"down-arrow to bar","sbrief":"D arrow to bar"}},"key":"2913"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow with tail with vertical stroke","short":"right arrow with tail with vertical stroke"},"mathspeak":{"default":"right-arrow with tail with vertical stroke","sbrief":"R arrow with tail with vertical stroke"}},"key":"2914"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow with tail with double vertical stroke","short":"right arrow with tail with double vertical stroke"},"mathspeak":{"default":"right-arrow with tail with double vertical stroke","sbrief":"R arrow with tail with double vertical stroke"}},"key":"2915"},{"category":"Sm","mappings":{"default":{"default":"rightwards two headed arrow with tail","short":"right two headed arrow with tail"},"mathspeak":{"sbrief":"r two headed arrow with tail"}},"key":"2916"},{"category":"Sm","mappings":{"default":{"default":"rightwards two headed arrow with tail with vertical stroke","short":"right two headed arrow with tail with vertical stroke"},"mathspeak":{"sbrief":"r two headed arrow with tail with vertical stroke"}},"key":"2917"},{"category":"Sm","mappings":{"default":{"default":"rightwards two headed arrow with tail with double vertical stroke","short":"right two headed arrow with tail with double vertical stroke"},"mathspeak":{"sbrief":"r two headed arrow with tail with double vertical stroke"}},"key":"2918"},{"category":"Sm","mappings":{"default":{"default":"leftwards arrow tail","short":"left arrow tail"},"mathspeak":{"default":"left-arrow tail","sbrief":"L arrow tail"}},"key":"2919"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow tail","short":"right arrow tail"},"mathspeak":{"default":"right-arrow tail","sbrief":"R arrow tail"}},"key":"291A"},{"category":"Sm","mappings":{"default":{"default":"leftwards double arrow tail","short":"left double arrow tail"},"mathspeak":{"sbrief":"l double arrow tail"}},"key":"291B"},{"category":"Sm","mappings":{"default":{"default":"rightwards double arrow tail","short":"right double arrow tail"},"mathspeak":{"sbrief":"R double arrow tail"}},"key":"291C"},{"category":"Sm","mappings":{"default":{"default":"leftwards arrow to black diamond","short":"left arrow to black diamond"},"mathspeak":{"default":"left-arrow to black diamond","sbrief":"L arrow to black diamond"}},"key":"291D"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow to black diamond","short":"right arrow to black diamond"},"mathspeak":{"default":"right-arrow to black diamond","sbrief":"R arrow to black diamond"}},"key":"291E"},{"category":"Sm","mappings":{"default":{"default":"leftwards arrow from bar to black diamond","short":"left arrow from bar to black diamond"},"mathspeak":{"default":"left-arrow from bar to black diamond","sbrief":"L arrow from bar to black diamond"}},"key":"291F"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow from bar to black diamond","short":"right arrow from bar to black diamond"},"mathspeak":{"default":"right-arrow from bar to black diamond","sbrief":"R arrow from bar to black diamond"}},"key":"2920"},{"category":"Sm","mappings":{"default":{"default":"north west and south east arrow"}},"key":"2921"},{"category":"Sm","mappings":{"default":{"default":"north east and south west arrow"}},"key":"2922"},{"category":"Sm","mappings":{"default":{"default":"north west arrow with hook"}},"key":"2923"},{"category":"Sm","mappings":{"default":{"default":"north east arrow with hook"}},"key":"2924"},{"category":"Sm","mappings":{"default":{"default":"south east arrow with hook"}},"key":"2925"},{"category":"Sm","mappings":{"default":{"default":"south west arrow with hook"}},"key":"2926"},{"category":"Sm","mappings":{"default":{"default":"north west arrow and north east arrow"}},"key":"2927"},{"category":"Sm","mappings":{"default":{"default":"north east arrow and south east arrow"}},"key":"2928"},{"category":"Sm","mappings":{"default":{"default":"south east arrow and south west arrow"}},"key":"2929"},{"category":"Sm","mappings":{"default":{"default":"south west arrow and north west arrow"}},"key":"292A"},{"category":"Sm","mappings":{"default":{"default":"south east arrow crossing north east arrow"}},"key":"292D"},{"category":"Sm","mappings":{"default":{"default":"north east arrow crossing south east arrow"}},"key":"292E"},{"category":"Sm","mappings":{"default":{"default":"falling diagonal crossing north east arrow"}},"key":"292F"},{"category":"Sm","mappings":{"default":{"default":"rising diagonal crossing south east arrow"}},"key":"2930"},{"category":"Sm","mappings":{"default":{"default":"north east arrow crossing north west arrow"}},"key":"2931"},{"category":"Sm","mappings":{"default":{"default":"north west arrow crossing north east arrow"}},"key":"2932"},{"category":"Sm","mappings":{"default":{"default":"wave arrow pointing directly right"}},"key":"2933"},{"category":"Sm","mappings":{"default":{"default":"arrow pointing rightwards then curving upwards","short":"arrow pointing right then curving up"}},"key":"2934"},{"category":"Sm","mappings":{"default":{"default":"arrow pointing rightwards then curving downwards","short":"arrow pointing right then curving down"}},"key":"2935"},{"category":"Sm","mappings":{"default":{"default":"arrow pointing downwards then curving leftwards","short":"arrow pointing down then curving left"}},"key":"2936"},{"category":"Sm","mappings":{"default":{"default":"arrow pointing downwards then curving rightwards","short":"arrow pointing down then curving right"}},"key":"2937"},{"category":"Sm","mappings":{"default":{"default":"right side arc clockwise arrow"},"mathspeak":{"sbrief":"r side arc clockwise arrow"}},"key":"2938"},{"category":"Sm","mappings":{"default":{"default":"left side arc anticlockwise arrow"},"mathspeak":{"sbrief":"l side arc anticlockwise arrow"}},"key":"2939"},{"category":"Sm","mappings":{"default":{"default":"top arc anticlockwise arrow"}},"key":"293A"},{"category":"Sm","mappings":{"default":{"default":"bottom arc anticlockwise arrow"}},"key":"293B"},{"category":"Sm","mappings":{"default":{"default":"top arc clockwise arrow with minus"}},"key":"293C"},{"category":"Sm","mappings":{"default":{"default":"top arc anticlockwise arrow with plus"}},"key":"293D"},{"category":"Sm","mappings":{"default":{"default":"lower right semicircular clockwise arrow","short":"down right semicircular clockwise arrow"},"mathspeak":{"sbrief":"d r semicircular clockwise arrow"}},"key":"293E"},{"category":"Sm","mappings":{"default":{"default":"lower left semicircular anticlockwise arrow","short":"down left semicircular anticlockwise arrow"},"mathspeak":{"sbrief":"d l semicircular anticlockwise arrow"}},"key":"293F"},{"category":"Sm","mappings":{"default":{"default":"anticlockwise closed circle arrow"}},"key":"2940"},{"category":"Sm","mappings":{"default":{"default":"clockwise closed circle arrow"}},"key":"2941"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow above short leftwards arrow","short":"right arrow above short left arrow"},"mathspeak":{"default":"right-arrow above short left-arrow","sbrief":"R arrow above short L arrow"}},"key":"2942"},{"category":"Sm","mappings":{"default":{"default":"leftwards arrow above short rightwards arrow","short":"left arrow above short right arrow"},"mathspeak":{"default":"left-arrow above short right-arrow","sbrief":"L arrow above short R arrow"}},"key":"2943"},{"category":"Sm","mappings":{"default":{"default":"short rightwards arrow above leftwards arrow","short":"short right arrow above left arrow"},"mathspeak":{"default":"short right-arrow above left-arrow","sbrief":"short R arrow above L arrow"}},"key":"2944"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow with plus below","short":"right arrow with plus below"},"mathspeak":{"default":"right-arrow with plus below","sbrief":"R arrow with plus below"}},"key":"2945"},{"category":"Sm","mappings":{"default":{"default":"leftwards arrow with plus below","short":"left arrow with plus below"},"mathspeak":{"default":"left-arrow with plus below","sbrief":"L arrow with plus below"}},"key":"2946"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow through x","short":"right arrow through x"},"mathspeak":{"default":"right-arrow through x","sbrief":"R arrow through x"}},"key":"2947"},{"category":"Sm","mappings":{"default":{"default":"left right arrow through small circle"},"mathspeak":{"default":"left-right-arrow through small circle","sbrief":"L R arrow through small circle"}},"key":"2948"},{"category":"Sm","mappings":{"default":{"default":"upwards two headed arrow from small circle","short":"up two headed arrow from small circle"},"mathspeak":{"sbrief":"U two headed arrow from small circle"}},"key":"2949"},{"category":"Sm","mappings":{"default":{"default":"right double arrow with rounded head"},"mathspeak":{"sbrief":"R double arrow with rounded head"}},"key":"2970"},{"category":"Sm","mappings":{"default":{"default":"equals sign above rightwards arrow","short":"equals sign above right arrow"},"mathspeak":{"default":"equals sign above right-arrow","sbrief":"equals sign above R arrow"}},"key":"2971"},{"category":"Sm","mappings":{"default":{"default":"tilde operator above rightwards arrow","short":"tilde operator above right arrow"},"mathspeak":{"default":"tilde operator above right-arrow","sbrief":"tilde operator above R arrow"}},"key":"2972"},{"category":"Sm","mappings":{"default":{"default":"leftwards arrow above tilde operator","short":"left arrow above tilde operator"},"mathspeak":{"default":"left-arrow above tilde operator","sbrief":"L arrow above tilde operator"}},"key":"2973"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow above tilde operator","short":"right arrow above tilde operator"},"mathspeak":{"default":"right-arrow above tilde operator","sbrief":"R arrow above tilde operator"}},"key":"2974"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow above almost equals","short":"right arrow above almost equals"},"mathspeak":{"default":"right-arrow above almost equals","sbrief":"R arrow above almost equals"}},"key":"2975"},{"category":"Sm","mappings":{"default":{"default":"less than above leftwards arrow","short":"less than above left arrow"},"mathspeak":{"default":"less than above left-arrow","sbrief":"less than above L arrow"}},"key":"2976"},{"category":"Sm","mappings":{"default":{"default":"leftwards arrow through less than","short":"left arrow through less than"},"mathspeak":{"default":"left-arrow through less than","sbrief":"L arrow through less than"}},"key":"2977"},{"category":"Sm","mappings":{"default":{"default":"greater than above rightwards arrow","short":"greater than above right arrow"},"mathspeak":{"default":"greater than above right-arrow","sbrief":"greater than above R arrow"}},"key":"2978"},{"category":"Sm","mappings":{"default":{"default":"subset above rightwards arrow","short":"subset above right arrow"},"mathspeak":{"default":"subset above right-arrow","sbrief":"subset above R arrow"}},"key":"2979"},{"category":"Sm","mappings":{"default":{"default":"leftwards arrow through subset","short":"left arrow through subset"},"mathspeak":{"default":"left-arrow through subset","sbrief":"L arrow through subset"}},"key":"297A"},{"category":"Sm","mappings":{"default":{"default":"superset above leftwards arrow","short":"superset above left arrow"},"mathspeak":{"default":"superset above left-arrow","sbrief":"suerset above L arrow"}},"key":"297B"},{"category":"Sm","mappings":{"default":{"default":"empty set with right arrow above"},"mathspeak":{"default":"empty set with right-arrow above","sbrief":"empty set with R arrow above"}},"key":"29B3"},{"category":"Sm","mappings":{"default":{"default":"empty set with left arrow above"},"mathspeak":{"default":"empty set with left-arrow above","sbrief":"empty set with L arrow above"}},"key":"29B4"},{"category":"Sm","mappings":{"default":{"default":"up arrow through circle"},"mathspeak":{"default":"up-arrow through circle","sbrief":"U arrow through circle"}},"key":"29BD"},{"category":"Sm","mappings":{"default":{"default":"black diamond with down arrow"},"mathspeak":{"default":"black diamond with down-arrow","sbrief":"black diamond with D arrow"}},"key":"29EA"},{"category":"Sm","mappings":{"default":{"default":"white circle with down arrow"},"mathspeak":{"default":"white circle with down-arrow","sbrief":"white circle with D arrow"}},"key":"29EC"},{"category":"Sm","mappings":{"default":{"default":"black circle with down arrow"},"mathspeak":{"default":"black circle with down-arrow","sbrief":"black circle with D arrow"}},"key":"29ED"},{"category":"Sm","mappings":{"default":{"default":"integral with leftwards arrow with hook","short":"integral with left arrow with hook"},"mathspeak":{"default":"integral with left-arrow with hook","sbrief":"integral with L arrow with hook"}},"key":"2A17"},{"category":"So","mappings":{"default":{"default":"north east white arrow"}},"key":"2B00"},{"category":"So","mappings":{"default":{"default":"north west white arrow"}},"key":"2B01"},{"category":"So","mappings":{"default":{"default":"south east white arrow"}},"key":"2B02"},{"category":"So","mappings":{"default":{"default":"south west white arrow"}},"key":"2B03"},{"category":"So","mappings":{"default":{"default":"left right white arrow"},"mathspeak":{"sbrief":"L R white arrow"}},"key":"2B04"},{"category":"So","mappings":{"default":{"default":"leftwards black arrow","short":"left black arrow"},"mathspeak":{"sbrief":"L black arrow"}},"key":"2B05"},{"category":"So","mappings":{"default":{"default":"upwards black arrow","short":"up black arrow"},"mathspeak":{"sbrief":"U black arrow"}},"key":"2B06"},{"category":"So","mappings":{"default":{"default":"downwards black arrow","short":"down black arrow"},"mathspeak":{"sbrief":"D black arrow"}},"key":"2B07"},{"category":"So","mappings":{"default":{"default":"north east black arrow"}},"key":"2B08"},{"category":"So","mappings":{"default":{"default":"north west black arrow"}},"key":"2B09"},{"category":"So","mappings":{"default":{"default":"south east black arrow"}},"key":"2B0A"},{"category":"So","mappings":{"default":{"default":"south west black arrow"}},"key":"2B0B"},{"category":"So","mappings":{"default":{"default":"left right black arrow"},"mathspeak":{"sbrief":"L R black arrow"}},"key":"2B0C"},{"category":"So","mappings":{"default":{"default":"up down black arrow"},"mathspeak":{"sbrief":"U D black arrow"}},"key":"2B0D"},{"category":"So","mappings":{"default":{"default":"rightwards arrow with tip downwards","short":"right arrow with tip down"},"mathspeak":{"default":"right-arrow with tip down","sbrief":"R arrow with tip down"}},"key":"2B0E"},{"category":"So","mappings":{"default":{"default":"rightwards arrow with tip upwards","short":"right arrow with tip up"},"mathspeak":{"default":"right-arrow with tip up","sbrief":"R arrow with tip up"}},"key":"2B0F"},{"category":"So","mappings":{"default":{"default":"leftwards arrow with tip downwards","short":"left arrow with tip down"},"mathspeak":{"default":"left-arrow with tip down","sbrief":"L arrow with tip down"}},"key":"2B10"},{"category":"So","mappings":{"default":{"default":"leftwards arrow with tip upwards","short":"left arrow with tip up"},"mathspeak":{"default":"left-arrow with tip up","sbrief":"L arrow with tip up"}},"key":"2B11"},{"category":"Sm","mappings":{"default":{"default":"left arrow with small circle"},"mathspeak":{"default":"left-arrow with small circle","sbrief":"L arrow with small circle"}},"key":"2B30"},{"category":"Sm","mappings":{"default":{"default":"three leftwards arrows","short":"three left arrows"},"mathspeak":{"default":"three left-arrows","sbrief":"three L arrows"}},"key":"2B31"},{"category":"Sm","mappings":{"default":{"default":"left arrow with circled plus"},"mathspeak":{"default":"left-arrow with circled plus","sbrief":"L arrow with circled plus"}},"key":"2B32"},{"category":"Sm","mappings":{"default":{"default":"long leftwards squiggle arrow","short":"long left squiggle arrow"},"mathspeak":{"sbrief":"long l squiggle arrow"}},"key":"2B33"},{"category":"Sm","mappings":{"default":{"default":"leftwards two headed arrow with vertical stroke","short":"left two headed arrow with vertical stroke"},"mathspeak":{"sbrief":"l two headed arrow with vertical stroke"}},"key":"2B34"},{"category":"Sm","mappings":{"default":{"default":"leftwards two headed arrow with double vertical stroke","short":"left two headed arrow with double vertical stroke"},"mathspeak":{"sbrief":"l two headed arrow with double vertical stroke"}},"key":"2B35"},{"category":"Sm","mappings":{"default":{"default":"leftwards two headed arrow from bar","short":"left two headed arrow from bar"},"mathspeak":{"sbrief":"l two headed arrow from bar"}},"key":"2B36"},{"category":"Sm","mappings":{"default":{"default":"leftwards two headed triple dash arrow","short":"left two headed triple dash arrow"},"mathspeak":{"sbrief":"l two headed triple dash arrow"}},"key":"2B37"},{"category":"Sm","mappings":{"default":{"default":"leftwards arrow with dotted stem","short":"left arrow with dotted stem"},"mathspeak":{"default":"left-arrow with dotted stem","sbrief":"L arrow with dotted stem"}},"key":"2B38"},{"category":"Sm","mappings":{"default":{"default":"leftwards arrow with tail with vertical stroke","short":"left arrow with tail with vertical stroke"},"mathspeak":{"default":"left-arrow with tail with vertical stroke","sbrief":"L arrow with tail with vertical stroke"}},"key":"2B39"},{"category":"Sm","mappings":{"default":{"default":"leftwards arrow with tail with double vertical stroke","short":"left arrow with tail with double vertical stroke"},"mathspeak":{"default":"left-arrow with tail with double vertical stroke","sbrief":"L arrow with tail with double vertical stroke"}},"key":"2B3A"},{"category":"Sm","mappings":{"default":{"default":"leftwards two headed arrow with tail","short":"left two headed arrow with tail"},"mathspeak":{"sbrief":"l two headed arrow with tail"}},"key":"2B3B"},{"category":"Sm","mappings":{"default":{"default":"leftwards two headed arrow with tail with vertical stroke","short":"left two headed arrow with tail with vertical stroke"},"mathspeak":{"sbrief":"l two headed arrow with tail with vertical stroke"}},"key":"2B3C"},{"category":"Sm","mappings":{"default":{"default":"leftwards two headed arrow with tail with double vertical stroke","short":"left two headed arrow with tail with double vertical stroke"},"mathspeak":{"sbrief":"l two headed arrow with tail with double vertical stroke"}},"key":"2B3D"},{"category":"Sm","mappings":{"default":{"default":"leftwards arrow through x","short":"left arrow through x"},"mathspeak":{"default":"left-arrow through x","sbrief":"L arrow through x"}},"key":"2B3E"},{"category":"Sm","mappings":{"default":{"default":"wave arrow pointing directly left"}},"key":"2B3F"},{"category":"Sm","mappings":{"default":{"default":"equals sign above leftwards arrow","short":"equals sign above left arrow"},"mathspeak":{"default":"equals sign above left-arrow","sbrief":"equals sign above L arrow"}},"key":"2B40"},{"category":"Sm","mappings":{"default":{"default":"reverse tilde operator above leftwards arrow","short":"reverse tilde operator above left arrow"},"mathspeak":{"default":"reverse tilde operator above left-arrow","sbrief":"reverse tilde operator above L arrow"}},"key":"2B41"},{"category":"Sm","mappings":{"default":{"default":"leftwards arrow above reverse almost equals","short":"left arrow above reverse almost equals"},"mathspeak":{"default":"left-arrow above reverse almost equals","sbrief":"L arrow above reverse almost equals"}},"key":"2B42"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow through greater than","short":"right arrow through greater than"},"mathspeak":{"default":"right-arrow through greater than","sbrief":"R arrow through greater than"}},"key":"2B43"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow through superset","short":"right arrow through superset"},"mathspeak":{"default":"right-arrow through superset","sbrief":"R arrow through superset"}},"key":"2B44"},{"category":"So","mappings":{"default":{"default":"leftwards quadruple arrow","short":"left quadruple arrow"},"mathspeak":{"sbrief":"l quadrule arrow"}},"key":"2B45"},{"category":"So","mappings":{"default":{"default":"rightwards quadruple arrow","short":"right quadruple arrow"},"mathspeak":{"sbrief":"r quadrule arrow"}},"key":"2B46"},{"category":"Sm","mappings":{"default":{"default":"reverse tilde operator above rightwards arrow","short":"reverse tilde operator above right arrow"},"mathspeak":{"default":"reverse tilde operator above right-arrow","sbrief":"reverse tilde operator above R arrow"}},"key":"2B47"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow above reverse almost equals","short":"right arrow above reverse almost equals"},"mathspeak":{"default":"right-arrow above reverse almost equals","sbrief":"R arrow above reverse almost equals"}},"key":"2B48"},{"category":"Sm","mappings":{"default":{"default":"tilde operator above leftwards arrow","short":"tilde operator above left arrow"},"mathspeak":{"default":"tilde operator above left-arrow","sbrief":"tilde operator above L arrow"}},"key":"2B49"},{"category":"Sm","mappings":{"default":{"default":"leftwards arrow above almost equals","short":"left arrow above almost equals"},"mathspeak":{"default":"left-arrow above almost equals","sbrief":"L arrow above almost equals"}},"key":"2B4A"},{"category":"Sm","mappings":{"default":{"default":"leftwards arrow above reverse tilde operator","short":"left arrow above reverse tilde operator"},"mathspeak":{"default":"left-arrow above reverse tilde operator","sbrief":"L arrow above reverse tilde operator"}},"key":"2B4B"},{"category":"Sm","mappings":{"default":{"default":"rightwards arrow above reverse tilde operator","short":"right arrow above reverse tilde operator"},"mathspeak":{"default":"right-arrow above reverse tilde operator","sbrief":"R arrow above reverse tilde operator"}},"key":"2B4C"},{"category":"Sm","mappings":{"default":{"default":"halfwidth leftwards arrow","short":"halfwidth left arrow"},"mathspeak":{"default":"halfwidth left-arrow","sbrief":"halfwidth L arrow"}},"key":"FFE9"},{"category":"Sm","mappings":{"default":{"default":"halfwidth upwards arrow","short":"halfwidth up arrow"},"mathspeak":{"default":"halfwidth up-arrow","sbrief":"halfwidth U arrow"}},"key":"FFEA"},{"category":"Sm","mappings":{"default":{"default":"halfwidth rightwards arrow","short":"halfwidth right arrow"},"mathspeak":{"default":"halfwidth right-arrow","sbrief":"halfwidth R arrow"}},"key":"FFEB"},{"category":"Sm","mappings":{"default":{"default":"halfwidth downwards arrow","short":"halfwidth down arrow"},"mathspeak":{"default":"halfwidth down-arrow","sbrief":"halfwidth D arrow"}},"key":"FFEC"}] +, +"en/math_characters.js": +[{"locale":"en"},{"category":"Ll","mappings":{"default":{"default":"script small l","short":"script l"}},"key":"2113"},{"category":"Sm","mappings":{"default":{"default":"script capital p","alternative":"script p","short":"script cap p"},"mathspeak":{"default":"script upper P"}},"key":"2118"},{"category":"Ll","mappings":{"default":{"default":"double struck small pi","short":"double struck pi"}},"key":"213C"},{"category":"Ll","mappings":{"default":{"default":"double struck small gamma","short":"double struck gamma"}},"key":"213D"},{"category":"Lu","mappings":{"default":{"default":"double struck capital gamma","short":"double struck cap gamma"},"mathspeak":{"default":"double struck upper Gamma"}},"key":"213E"},{"category":"Lu","mappings":{"default":{"default":"double struck capital pi","short":"double struck cap pi"},"mathspeak":{"default":"double struck upper Pi"}},"key":"213F"},{"category":"Sm","mappings":{"default":{"default":"double struck n ary summation"}},"key":"2140"},{"category":"Lu","mappings":{"default":{"default":"double struck italic capital d","short":"double struck italic cap d"},"mathspeak":{"default":"double struck italic upper D"}},"key":"2145"},{"category":"Ll","mappings":{"default":{"default":"double struck italic small d","short":"double struck italic d"}},"key":"2146"},{"category":"Ll","mappings":{"default":{"default":"double struck italic small e","short":"double struck italic e"}},"key":"2147"},{"category":"Ll","mappings":{"default":{"default":"double struck italic small i","short":"double struck italic i"}},"key":"2148"},{"category":"Ll","mappings":{"default":{"default":"double struck italic small j","short":"double struck italic j"}},"key":"2149"},{"category":"Ll","mappings":{"default":{"default":"italic small dotless i","short":"italic dotless i"}},"key":"1D6A4"},{"category":"Ll","mappings":{"default":{"default":"italic small dotless j","short":"italic dotless j"}},"key":"1D6A5"}] +, +"en/math_delimiters.js": +[{"locale":"en"},{"category":"Ps","mappings":{"default":{"default":"left parenthesis","alternative":"opening parenthesis"},"mathspeak":{"default":"left-parenthesis","brief":"left-p'ren","sbrief":"L p'ren"}},"key":"0028"},{"category":"Pe","mappings":{"default":{"default":"right parenthesis","alternative":"closing parenthesis"},"mathspeak":{"default":"right-parenthesis","brief":"right-p'ren","sbrief":"R p'ren"}},"key":"0029"},{"category":"Ps","mappings":{"default":{"default":"left square bracket","alternative":"opening square bracket"},"mathspeak":{"default":"left-bracket","brief":"left-brack","sbrief":"L brack"}},"key":"005B"},{"category":"Pe","mappings":{"default":{"default":"right square bracket","alternative":"closing square bracket"},"mathspeak":{"default":"right-bracket","brief":"right-brack","sbrief":"R brack"}},"key":"005D"},{"category":"Ps","mappings":{"default":{"default":"left curly bracket","alternative":"opening curly bracket"},"mathspeak":{"default":"left-brace","sbrief":"L brace"}},"key":"007B"},{"category":"Pe","mappings":{"default":{"default":"right curly bracket","alternative":"closing curly bracket"},"mathspeak":{"default":"right-brace","sbrief":"R brace"}},"key":"007D"},{"category":"Ps","mappings":{"default":{"default":"left square bracket with quill"},"mathspeak":{"default":"left-bracket with quill","brief":"left-brack with quill","sbrief":"L brack with quill"}},"key":"2045"},{"category":"Pe","mappings":{"default":{"default":"right square bracket with quill"},"mathspeak":{"default":"right-bracket with quill","brief":"right-brack with quill","sbrief":"R brack with quill"}},"key":"2046"},{"category":"Sm","mappings":{"default":{"default":"left ceiling"}},"key":"2308"},{"category":"Sm","mappings":{"default":{"default":"right ceiling"}},"key":"2309"},{"category":"Sm","mappings":{"default":{"default":"left floor"}},"key":"230A"},{"category":"Sm","mappings":{"default":{"default":"right floor"}},"key":"230B"},{"category":"So","mappings":{"default":{"default":"bottom right crop"}},"key":"230C"},{"category":"So","mappings":{"default":{"default":"bottom left crop"}},"key":"230D"},{"category":"So","mappings":{"default":{"default":"top right crop"}},"key":"230E"},{"category":"So","mappings":{"default":{"default":"top left crop"}},"key":"230F"},{"category":"So","mappings":{"default":{"default":"top left corner"}},"key":"231C"},{"category":"So","mappings":{"default":{"default":"top right corner"}},"key":"231D"},{"category":"So","mappings":{"default":{"default":"bottom left corner"}},"key":"231E"},{"category":"So","mappings":{"default":{"default":"bottom right corner"}},"key":"231F"},{"category":"Sm","mappings":{"default":{"default":"top half integral"}},"key":"2320"},{"category":"Sm","mappings":{"default":{"default":"bottom half integral"}},"key":"2321"},{"category":"Ps","mappings":{"default":{"default":"left pointing angle bracket","alternative":"bra"},"mathspeak":{"default":"left pointing angle"}},"key":"2329"},{"category":"Pe","mappings":{"default":{"default":"right pointing angle bracket","alternative":"ket"},"mathspeak":{"default":"right pointing angle"}},"key":"232A"},{"category":"Sm","mappings":{"default":{"default":"left parenthesis upper hook"},"mathspeak":{"default":"left-parenthesis upper hook","brief":"left-p'ren upper hook","sbrief":"L p'ren upper hook"}},"key":"239B"},{"category":"Sm","mappings":{"default":{"default":"left parenthesis extension"},"mathspeak":{"default":"left-parenthesis extension","brief":"left-p'ren extension","sbrief":"L p'ren extension"}},"key":"239C"},{"category":"Sm","mappings":{"default":{"default":"left parenthesis lower hook"},"mathspeak":{"default":"left-parenthesis lower hook","brief":"left-p'ren lower hook","sbrief":"L p'ren lower hook"}},"key":"239D"},{"category":"Sm","mappings":{"default":{"default":"right parenthesis upper hook"},"mathspeak":{"default":"right-parenthesis upper hook","brief":"right-p'ren upper hook","sbrief":"R p'ren upper hook"}},"key":"239E"},{"category":"Sm","mappings":{"default":{"default":"right parenthesis extension"},"mathspeak":{"default":"right-parenthesis extension","brief":"right-p'ren extension","sbrief":"R p'ren extension"}},"key":"239F"},{"category":"Sm","mappings":{"default":{"default":"right parenthesis lower hook"},"mathspeak":{"default":"right-parenthesis lower hook","brief":"right-p'ren lower hook","sbrief":"R p'ren lower hook"}},"key":"23A0"},{"category":"Sm","mappings":{"default":{"default":"left square bracket upper corner"},"mathspeak":{"default":"left-bracket upper corner","brief":"left-brack upper corner","sbrief":"L brack upper corner"}},"key":"23A1"},{"category":"Sm","mappings":{"default":{"default":"left square bracket extension"},"mathspeak":{"default":"left-bracket extension","brief":"left-brack extension","sbrief":"L brack extension"}},"key":"23A2"},{"category":"Sm","mappings":{"default":{"default":"left square bracket lower corner"},"mathspeak":{"default":"left-bracket lower corner","brief":"left-brack lower corner","sbrief":"L brack lower corner"}},"key":"23A3"},{"category":"Sm","mappings":{"default":{"default":"right square bracket upper corner"},"mathspeak":{"default":"right-bracket upper corner","brief":"right-brack upper corner","sbrief":"R brack upper corner"}},"key":"23A4"},{"category":"Sm","mappings":{"default":{"default":"right square bracket extension"},"mathspeak":{"default":"right-bracket extension","brief":"right-brack extension","sbrief":"R brack extension"}},"key":"23A5"},{"category":"Sm","mappings":{"default":{"default":"right square bracket lower corner"},"mathspeak":{"default":"right-bracket lower corner","brief":"right-brack lower corner","sbrief":"R brack lower corner"}},"key":"23A6"},{"category":"Sm","mappings":{"default":{"default":"left curly bracket upper hook"},"mathspeak":{"default":"left-brace upper hook","sbrief":"L brace upper hook"}},"key":"23A7"},{"category":"Sm","mappings":{"default":{"default":"left curly bracket middle piece"},"mathspeak":{"default":"left-brace middle piece","sbrief":"L brace middle piece"}},"key":"23A8"},{"category":"Sm","mappings":{"default":{"default":"left curly bracket lower hook"},"mathspeak":{"default":"left-brace lower hook","sbrief":"L brace lower hook"}},"key":"23A9"},{"category":"Sm","mappings":{"default":{"default":"curly bracket extension"},"mathspeak":{"default":"brace extension"}},"key":"23AA"},{"category":"Sm","mappings":{"default":{"default":"right curly bracket upper hook"},"mathspeak":{"default":"right-brace upper hook","sbrief":"R brace upper hook"}},"key":"23AB"},{"category":"Sm","mappings":{"default":{"default":"right curly bracket middle piece"},"mathspeak":{"default":"right-brace middle piece","sbrief":"R brace middle piece"}},"key":"23AC"},{"category":"Sm","mappings":{"default":{"default":"right curly bracket lower hook"},"mathspeak":{"default":"right-brace lower hook","sbrief":"R brace lower hook"}},"key":"23AD"},{"category":"Sm","mappings":{"default":{"default":"integral extension"}},"key":"23AE"},{"category":"Sm","mappings":{"default":{"default":"horizontal line extension"}},"key":"23AF"},{"category":"Sm","mappings":{"default":{"default":"upper left or lower right curly bracket section"},"mathspeak":{"default":"upper left or lower right-brace section"}},"key":"23B0"},{"category":"Sm","mappings":{"default":{"default":"upper right or lower left curly bracket section"},"mathspeak":{"default":"upper right or lower left-brace section"}},"key":"23B1"},{"category":"Sm","mappings":{"default":{"default":"summation top"}},"key":"23B2"},{"category":"Sm","mappings":{"default":{"default":"summation bottom"}},"key":"23B3"},{"category":"So","mappings":{"default":{"default":"top square bracket"},"mathspeak":{"default":"top-bracket","brief":"top-brack","sbrief":"T brack"}},"key":"23B4"},{"category":"So","mappings":{"default":{"default":"bottom square bracket"},"mathspeak":{"default":"bottom-bracket","brief":"bottom-brack","sbrief":"B brack"}},"key":"23B5"},{"category":"So","mappings":{"default":{"default":"bottom square bracket over top square bracket"},"mathspeak":{"default":"bottom-bracket over top-bracket","brief":"bottom-brack over top-brack","sbrief":"B brack over T brack"}},"key":"23B6"},{"category":"So","mappings":{"default":{"default":"radical symbol bottom"}},"key":"23B7"},{"category":"So","mappings":{"default":{"default":"left vertical box line"}},"key":"23B8"},{"category":"So","mappings":{"default":{"default":"right vertical box line"}},"key":"23B9"},{"category":"Sm","mappings":{"default":{"default":"top parenthesis"},"mathspeak":{"default":"top-parenthesis","brief":"top-p'ren","sbrief":"t p'ren"}},"key":"23DC"},{"category":"Sm","mappings":{"default":{"default":"bottom parenthesis"},"mathspeak":{"default":"bottom-parenthesis","brief":"bottom-p'ren","sbrief":"b p'ren"}},"key":"23DD"},{"category":"Sm","mappings":{"default":{"default":"top curly bracket"},"mathspeak":{"default":"top-brace","sbrief":"T brace"}},"key":"23DE"},{"category":"Sm","mappings":{"default":{"default":"bottom curly bracket"},"mathspeak":{"default":"bottom-brace","sbrief":"B brace"}},"key":"23DF"},{"category":"Sm","mappings":{"default":{"default":"top tortoise shell bracket"}},"key":"23E0"},{"category":"Sm","mappings":{"default":{"default":"bottom tortoise shell bracket"}},"key":"23E1"},{"category":"Ps","mappings":{"default":{"default":"medium left parenthesis ornament"},"mathspeak":{"default":"medium left-parenthesis ornament","brief":"medium left-p'ren ornament","sbrief":"medium L p'ren ornament"}},"key":"2768"},{"category":"Pe","mappings":{"default":{"default":"medium right parenthesis ornament"},"mathspeak":{"default":"medium right-parenthesis ornament","brief":"medium right-p'ren ornament","sbrief":"medium R p'ren ornament"}},"key":"2769"},{"category":"Ps","mappings":{"default":{"default":"medium flattened left parenthesis ornament"},"mathspeak":{"default":"medium flattened left-parenthesis ornament","brief":"medium flattened left-p'ren ornament","sbrief":"medium flattened L p'ren ornament"}},"key":"276A"},{"category":"Pe","mappings":{"default":{"default":"medium flattened right parenthesis ornament"},"mathspeak":{"default":"medium flattened right-parenthesis ornament","brief":"medium flattened right-p'ren ornament","sbrief":"medium flattened R p'ren ornament"}},"key":"276B"},{"category":"Ps","mappings":{"default":{"default":"medium left pointing angle bracket ornament"},"mathspeak":{"default":"medium left pointing angle ornament"}},"key":"276C"},{"category":"Pe","mappings":{"default":{"default":"medium right pointing angle bracket ornament"},"mathspeak":{"default":"medium right pointing angle ornament"}},"key":"276D"},{"category":"Ps","mappings":{"default":{"default":"heavy left pointing angle quotation mark ornament"}},"key":"276E"},{"category":"Pe","mappings":{"default":{"default":"heavy right pointing angle quotation mark ornament"}},"key":"276F"},{"category":"Ps","mappings":{"default":{"default":"heavy left pointing angle bracket ornament"},"mathspeak":{"default":"heavy left pointing angle ornament"}},"key":"2770"},{"category":"Pe","mappings":{"default":{"default":"heavy right pointing angle bracket ornament"},"mathspeak":{"default":"heavy right pointing angle ornament"}},"key":"2771"},{"category":"Ps","mappings":{"default":{"default":"light left tortoise shell bracket ornament"}},"key":"2772"},{"category":"Pe","mappings":{"default":{"default":"light right tortoise shell bracket ornament"}},"key":"2773"},{"category":"Ps","mappings":{"default":{"default":"medium left curly bracket ornament"},"mathspeak":{"default":"medium left-brace ornament","sbrief":"medium L brace ornament"}},"key":"2774"},{"category":"Pe","mappings":{"default":{"default":"medium right curly bracket ornament"},"mathspeak":{"default":"medium right-brace ornament","sbrief":"medium R brace ornament"}},"key":"2775"},{"category":"Ps","mappings":{"default":{"default":"left s shaped bag delimiter"}},"key":"27C5"},{"category":"Pe","mappings":{"default":{"default":"right s shaped bag delimiter"}},"key":"27C6"},{"category":"Ps","mappings":{"default":{"default":"mathematical left white square bracket"},"mathspeak":{"default":"mathematical left white bracket"}},"key":"27E6"},{"category":"Pe","mappings":{"default":{"default":"mathematical right white square bracket"},"mathspeak":{"default":"mathematical right white bracket"}},"key":"27E7"},{"category":"Ps","mappings":{"default":{"default":"mathematical left angle bracket"},"mathspeak":{"default":"mathematical left-angle","sbrief":"mathematical l angle"}},"key":"27E8"},{"category":"Pe","mappings":{"default":{"default":"mathematical right angle bracket"},"mathspeak":{"default":"mathematical right-angle","sbrief":"mathematical r angle"}},"key":"27E9"},{"category":"Ps","mappings":{"default":{"default":"mathematical left double angle bracket"},"mathspeak":{"default":"mathematical left double angle"}},"key":"27EA"},{"category":"Pe","mappings":{"default":{"default":"mathematical right double angle bracket"},"mathspeak":{"default":"mathematical right double angle"}},"key":"27EB"},{"category":"Ps","mappings":{"default":{"default":"mathematical left white tortoise shell bracket"}},"key":"27EC"},{"category":"Pe","mappings":{"default":{"default":"mathematical right white tortoise shell bracket"}},"key":"27ED"},{"category":"Ps","mappings":{"default":{"default":"mathematical left flattened parenthesis"},"mathspeak":{"default":"mathematical flattened left-parenthesis","brief":"mathematical flattened left-p'ren","sbrief":"mathematical flattened L p'ren"}},"key":"27EE"},{"category":"Pe","mappings":{"default":{"default":"mathematical right flattened parenthesis"},"mathspeak":{"default":"mathematical flattened right-parenthesis","brief":"mathematical flattened right-p'ren","sbrief":"mathematical flattened R p'ren"}},"key":"27EF"},{"category":"Ps","mappings":{"default":{"default":"left white curly bracket"},"mathspeak":{"default":"left white brace"}},"key":"2983"},{"category":"Pe","mappings":{"default":{"default":"right white curly bracket"},"mathspeak":{"default":"right white brace"}},"key":"2984"},{"category":"Ps","mappings":{"default":{"default":"left white parenthesis"},"mathspeak":{"default":"white left-parenthesis","brief":"white left-p'ren","sbrief":"white L p'ren"}},"key":"2985"},{"category":"Pe","mappings":{"default":{"default":"right white parenthesis"},"mathspeak":{"default":"white right-parenthesis","brief":"white right-p'ren","sbrief":"white R p'ren"}},"key":"2986"},{"category":"Ps","mappings":{"default":{"default":"z notation left image bracket"}},"key":"2987"},{"category":"Pe","mappings":{"default":{"default":"z notation right image bracket"}},"key":"2988"},{"category":"Ps","mappings":{"default":{"default":"z notation left binding bracket"}},"key":"2989"},{"category":"Pe","mappings":{"default":{"default":"z notation right binding bracket"}},"key":"298A"},{"category":"Ps","mappings":{"default":{"default":"left square bracket with underbar"},"mathspeak":{"default":"left-bracket with underbar","brief":"left-brack with underbar","sbrief":"L brack with underbar"}},"key":"298B"},{"category":"Pe","mappings":{"default":{"default":"right square bracket with underbar"},"mathspeak":{"default":"right-bracket with underbar","brief":"right-brack with underbar","sbrief":"R brack with underbar"}},"key":"298C"},{"category":"Ps","mappings":{"default":{"default":"left square bracket with tick in top corner"},"mathspeak":{"default":"left-bracket with tick in top corner","brief":"left-brack with tick in top corner","sbrief":"L brack with tick in top corner"}},"key":"298D"},{"category":"Pe","mappings":{"default":{"default":"right square bracket with tick in bottom corner"},"mathspeak":{"default":"right-bracket with tick in bottom corner","brief":"right-brack with tick in bottom corner","sbrief":"R brack with tick in bottom corner"}},"key":"298E"},{"category":"Ps","mappings":{"default":{"default":"left square bracket with tick in bottom corner"},"mathspeak":{"default":"left-bracket with tick in bottom corner","brief":"left-brack with tick in bottom corner","sbrief":"L brack with tick in bottom corner"}},"key":"298F"},{"category":"Pe","mappings":{"default":{"default":"right square bracket with tick in top corner"},"mathspeak":{"default":"right-bracket with tick in top corner","brief":"right-brack with tick in top corner","sbrief":"R brack with tick in top corner"}},"key":"2990"},{"category":"Ps","mappings":{"default":{"default":"left angle bracket with dot"},"mathspeak":{"default":"left-angle with dot","sbrief":"l angle with dot"}},"key":"2991"},{"category":"Pe","mappings":{"default":{"default":"right angle bracket with dot"},"mathspeak":{"default":"right-angle with dot","sbrief":"r angle with dot"}},"key":"2992"},{"category":"Ps","mappings":{"default":{"default":"left arc less than bracket"}},"key":"2993"},{"category":"Pe","mappings":{"default":{"default":"right arc greater than bracket"}},"key":"2994"},{"category":"Ps","mappings":{"default":{"default":"double left arc greater than bracket"}},"key":"2995"},{"category":"Pe","mappings":{"default":{"default":"double right arc less than bracket"}},"key":"2996"},{"category":"Ps","mappings":{"default":{"default":"left black tortoise shell bracket"}},"key":"2997"},{"category":"Pe","mappings":{"default":{"default":"right black tortoise shell bracket"}},"key":"2998"},{"category":"Ps","mappings":{"default":{"default":"left wiggly fence"}},"key":"29D8"},{"category":"Pe","mappings":{"default":{"default":"right wiggly fence"}},"key":"29D9"},{"category":"Ps","mappings":{"default":{"default":"left double wiggly fence"}},"key":"29DA"},{"category":"Pe","mappings":{"default":{"default":"right double wiggly fence"}},"key":"29DB"},{"category":"Ps","mappings":{"default":{"default":"left pointing curved angle bracket"},"mathspeak":{"default":"left pointing curved angle"}},"key":"29FC"},{"category":"Pe","mappings":{"default":{"default":"right pointing curved angle bracket"},"mathspeak":{"default":"right pointing curved angle"}},"key":"29FD"},{"category":"Ps","mappings":{"default":{"default":"top left half bracket"},"mathspeak":{"default":"top half left-bracket","brief":"top half left-brack","sbrief":"top half L brack"}},"key":"2E22"},{"category":"Pe","mappings":{"default":{"default":"top right half bracket"},"mathspeak":{"default":"top half right-bracket","brief":"top half right-brack","sbrief":"top half R brack"}},"key":"2E23"},{"category":"Ps","mappings":{"default":{"default":"bottom left half bracket"},"mathspeak":{"default":"bottom half left-bracket","brief":"bottom half left-brack","sbrief":"bottom half L brack"}},"key":"2E24"},{"category":"Pe","mappings":{"default":{"default":"bottom right half bracket"},"mathspeak":{"default":"bottom half right-bracket","brief":"bottom half right-brack","sbrief":"bottom half R brack"}},"key":"2E25"},{"category":"Ps","mappings":{"default":{"default":"left sideways U bracket"}},"key":"2E26"},{"category":"Pe","mappings":{"default":{"default":"right sideways U bracket"}},"key":"2E27"},{"category":"Ps","mappings":{"default":{"default":"left double parenthesis"},"mathspeak":{"default":"double left-parenthesis","brief":"double left-p'ren","sbrief":"double L p'ren"}},"key":"2E28"},{"category":"Pe","mappings":{"default":{"default":"right double parenthesis"},"mathspeak":{"default":"double right-parenthesis","brief":"double right-p'ren","sbrief":"double R p'ren"}},"key":"2E29"},{"category":"Ps","mappings":{"default":{"default":"left angle bracket","alternative":"opening angle bracket"},"mathspeak":{"default":"left-angle","sbrief":"l angle"}},"key":"3008"},{"category":"Pe","mappings":{"default":{"default":"right angle bracket","alternative":"closing angle bracket"},"mathspeak":{"default":"right-angle","sbrief":"r angle"}},"key":"3009"},{"category":"Ps","mappings":{"default":{"default":"left double angle bracket","alternative":"opening double angle bracket"},"mathspeak":{"default":"left double angle"}},"key":"300A"},{"category":"Pe","mappings":{"default":{"default":"right double angle bracket","alternative":"closing double angle bracket"},"mathspeak":{"default":"right double angle"}},"key":"300B"},{"category":"Ps","mappings":{"default":{"default":"left corner bracket","alternative":"opening corner bracket"}},"key":"300C"},{"category":"Pe","mappings":{"default":{"default":"right corner bracket","alternative":"closing corner bracket"}},"key":"300D"},{"category":"Ps","mappings":{"default":{"default":"left white corner bracket","alternative":"opening white corner bracket"}},"key":"300E"},{"category":"Pe","mappings":{"default":{"default":"right white corner bracket","alternative":"closing white corner bracket"}},"key":"300F"},{"category":"Ps","mappings":{"default":{"default":"left black lenticular bracket","alternative":"opening black lenticular bracket"}},"key":"3010"},{"category":"Pe","mappings":{"default":{"default":"right black lenticular bracket","alternative":"closing black lenticular bracket"}},"key":"3011"},{"category":"Ps","mappings":{"default":{"default":"left tortoise shell bracket","alternative":"opening tortoise shell bracket"}},"key":"3014"},{"category":"Pe","mappings":{"default":{"default":"right tortoise shell bracket","alternative":"closing tortoise shell bracket"}},"key":"3015"},{"category":"Ps","mappings":{"default":{"default":"left white lenticular bracket","alternative":"opening white lenticular bracket"}},"key":"3016"},{"category":"Pe","mappings":{"default":{"default":"right white lenticular bracket","alternative":"closing white lenticular bracket"}},"key":"3017"},{"category":"Ps","mappings":{"default":{"default":"left white tortoise shell bracket","alternative":"opening white tortoise shell bracket"}},"key":"3018"},{"category":"Pe","mappings":{"default":{"default":"right white tortoise shell bracket","alternative":"closing white tortoise shell bracket"}},"key":"3019"},{"category":"Ps","mappings":{"default":{"default":"left white square bracket","alternative":"opening white square bracket"},"mathspeak":{"default":"left white bracket"}},"key":"301A"},{"category":"Pe","mappings":{"default":{"default":"right white square bracket","alternative":"closing white square bracket"},"mathspeak":{"default":"right white bracket"}},"key":"301B"},{"category":"Ps","mappings":{"default":{"default":"reversed double prime quotation mark"}},"key":"301D"},{"category":"Pe","mappings":{"default":{"default":"double prime quotation mark"}},"key":"301E"},{"category":"Pe","mappings":{"default":{"default":"low double prime quotation mark"}},"key":"301F"},{"category":"Ps","mappings":{"default":{"default":"ornate left parenthesis"},"mathspeak":{"default":"ornate left-parenthesis","brief":"ornate left-p'ren","sbrief":"ornate L p'ren"}},"key":"FD3E"},{"category":"Pe","mappings":{"default":{"default":"ornate right parenthesis"},"mathspeak":{"default":"ornate right-parenthesis","brief":"ornate right-p'ren","sbrief":"ornate R p'ren"}},"key":"FD3F"},{"category":"Ps","mappings":{"default":{"default":"presentation form for vertical left white lenticular bracket"}},"key":"FE17"},{"category":"Pe","mappings":{"default":{"default":"presentation form for vertical right white lenticular brakcet"}},"key":"FE18"},{"category":"Ps","mappings":{"default":{"default":"presentation form for vertical left parenthesis","alternative":"glyph for vertical opening parenthesis"},"mathspeak":{"default":"presentation form for vertical left-parenthesis","brief":"presentation form for vertical left-p'ren","sbrief":"presentation form for vertical L p'ren"}},"key":"FE35"},{"category":"Pe","mappings":{"default":{"default":"presentation form for vertical right parenthesis","alternative":"glyph for vertical closing parenthesis"},"mathspeak":{"default":"presentation form for vertical right-parenthesis","brief":"presentation form for vertical right-p'ren","sbrief":"presentation form for vertical R p'ren"}},"key":"FE36"},{"category":"Ps","mappings":{"default":{"default":"presentation form for vertical left curly bracket","alternative":"glyph for vertical opening curly bracket"},"mathspeak":{"default":"presentation form for vertical left-brace","sbrief":"presentation form for vertical L brace"}},"key":"FE37"},{"category":"Pe","mappings":{"default":{"default":"presentation form for vertical right curly bracket","alternative":"glyph for vertical closing curly bracket"},"mathspeak":{"default":"presentation form for vertical right-brace","sbrief":"presentation form for vertical r brace"}},"key":"FE38"},{"category":"Ps","mappings":{"default":{"default":"presentation form for vertical left tortoise shell bracket","alternative":"glyph for vertical opening tortoise shell bracket"}},"key":"FE39"},{"category":"Pe","mappings":{"default":{"default":"presentation form for vertical right tortoise shell bracket","alternative":"glyph for vertical closing tortoise shell bracket"}},"key":"FE3A"},{"category":"Ps","mappings":{"default":{"default":"presentation form for vertical left black lenticular bracket","alternative":"glyph for vertical opening black lenticular bracket"}},"key":"FE3B"},{"category":"Pe","mappings":{"default":{"default":"presentation form for vertical right black lenticular bracket","alternative":"glyph for vertical closing black lenticular bracket"}},"key":"FE3C"},{"category":"Ps","mappings":{"default":{"default":"presentation form for vertical left double angle bracket","alternative":"glyph for vertical opening double angle bracket"},"mathspeak":{"default":"presentation form for vertical left double angle"}},"key":"FE3D"},{"category":"Pe","mappings":{"default":{"default":"presentation form for vertical right double angle bracket","alternative":"glyph for vertical closing double angle bracket"},"mathspeak":{"default":"presentation form for vertical right double angle"}},"key":"FE3E"},{"category":"Ps","mappings":{"default":{"default":"presentation form for vertical left angle bracket","alternative":"glyph for vertical opening angle bracket"},"mathspeak":{"default":"presentation form for vertical left-angle","sbrief":"presentation form for vertical l angle"}},"key":"FE3F"},{"category":"Pe","mappings":{"default":{"default":"presentation form for vertical right angle bracket","alternative":"glyph for vertical closing angle bracket"},"mathspeak":{"default":"presentation form for vertical right-angle","sbrief":"presentation form for vertical r angle"}},"key":"FE40"},{"category":"Ps","mappings":{"default":{"default":"presentation form for vertical left corner bracket","alternative":"glyph for vertical opening corner bracket"}},"key":"FE41"},{"category":"Pe","mappings":{"default":{"default":"presentation form for vertical right corner bracket","alternative":"glyph for vertical closing corner bracket"}},"key":"FE42"},{"category":"Ps","mappings":{"default":{"default":"presentation form for vertical left white corner bracket","alternative":"glyph for vertical opening white corner bracket"}},"key":"FE43"},{"category":"Pe","mappings":{"default":{"default":"presentation form for vertical right white corner bracket","alternative":"glyph for vertical closing white corner bracket"}},"key":"FE44"},{"category":"Ps","mappings":{"default":{"default":"presentation form for vertical left square bracket"},"mathspeak":{"default":"presentation form for vertical left-bracket","brief":"presentation form for vertical left-brack","sbrief":"presentation form for vertical L brack"}},"key":"FE47"},{"category":"Pe","mappings":{"default":{"default":"presentation form for vertical right square bracket"},"mathspeak":{"default":"presentation form for vertical right-bracket","brief":"presentation form for vertical right-brack","sbrief":"presentation form for vertical r brack"}},"key":"FE48"},{"category":"Ps","mappings":{"default":{"default":"small left parenthesis","alternative":"small opening parenthesis"},"mathspeak":{"default":"small left-parenthesis","brief":"small left-p'ren","sbrief":"small L p'ren"}},"key":"FE59"},{"category":"Pe","mappings":{"default":{"default":"small right parenthesis","alternative":"small closing parenthesis"},"mathspeak":{"default":"small right-parenthesis","brief":"small right-p'ren","sbrief":"small R p'ren"}},"key":"FE5A"},{"category":"Ps","mappings":{"default":{"default":"small left curly bracket","alternative":"small opening curly bracket"},"mathspeak":{"default":"small left-brace","sbrief":"small L brace"}},"key":"FE5B"},{"category":"Pe","mappings":{"default":{"default":"small right curly bracket","alternative":"small closing curly bracket"},"mathspeak":{"default":"small right-brace","sbrief":"small r brace"}},"key":"FE5C"},{"category":"Ps","mappings":{"default":{"default":"small left tortoise shell bracket","alternative":"small opening tortoise shell bracket"}},"key":"FE5D"},{"category":"Pe","mappings":{"default":{"default":"small right tortoise shell bracket","alternative":"small closing tortoise shell bracket"}},"key":"FE5E"},{"category":"Ps","mappings":{"default":{"default":"fullwidth left parenthesis","alternative":"fullwidth opening parenthesis"},"mathspeak":{"default":"fullwidth left-parenthesis","brief":"fullwidth left-p'ren","sbrief":"fullwidth L p'ren"}},"key":"FF08"},{"category":"Pe","mappings":{"default":{"default":"fullwidth right parenthesis","alternative":"fullwidth closing parenthesis"},"mathspeak":{"default":"fullwidth right-parenthesis","brief":"fullwidth right-p'ren","sbrief":"fullwidth R p'ren"}},"key":"FF09"},{"category":"Ps","mappings":{"default":{"default":"fullwidth left square bracket","alternative":"fullwidth opening square bracket"},"mathspeak":{"default":"fullwidth left-bracket","brief":"fullwidth left-brack","sbrief":"fullwidth L brack"}},"key":"FF3B"},{"category":"Pe","mappings":{"default":{"default":"fullwidth right square bracket","alternative":"fullwidth closing square bracket"},"mathspeak":{"default":"fullwidth right-bracket","brief":"fullwidth right-brack","sbrief":"fullwidth r brack"}},"key":"FF3D"},{"category":"Ps","mappings":{"default":{"default":"fullwidth left curly bracket","alternative":"fullwidth opening curly bracket"},"mathspeak":{"default":"fullwidth left-brace","sbrief":"fullwidth L brace"}},"key":"FF5B"},{"category":"Pe","mappings":{"default":{"default":"fullwidth right curly bracket","alternative":"fullwidth closing curly bracket"},"mathspeak":{"default":"fullwidth right-brace","sbrief":"fullwidth r brace"}},"key":"FF5D"},{"category":"Ps","mappings":{"default":{"default":"fullwidth white left parenthesis"},"mathspeak":{"default":"fullwidth white left-parenthesis","brief":"fullwidth white left-p'ren","sbrief":"fullwidth white L p'ren"}},"key":"FF5F"},{"category":"Pe","mappings":{"default":{"default":"fullwidth white right parenthesis"},"mathspeak":{"default":"fullwidth white right-parenthesis","brief":"fullwidth white right-p'ren","sbrief":"fullwidth white R p'ren"}},"key":"FF60"},{"category":"Ps","mappings":{"default":{"default":"halfwidth left corner bracket","alternative":"halfwidth opening corner bracket"}},"key":"FF62"},{"category":"Pe","mappings":{"default":{"default":"halfwidth right corner bracket","alternative":"halfwidth closing corner bracket"}},"key":"FF63"}] +, +"en/math_digits.js": +[{"locale":"en"},{"category":"Nd","mappings":{"default":{"default":"digit zero","short":"zero"},"mathspeak":{"default":"0"}},"key":"0030"},{"category":"Nd","mappings":{"default":{"default":"digit one","short":"one"},"mathspeak":{"default":"1"}},"key":"0031"},{"category":"Nd","mappings":{"default":{"default":"digit two","short":"two"},"mathspeak":{"default":"2"}},"key":"0032"},{"category":"Nd","mappings":{"default":{"default":"digit three","short":"three"},"mathspeak":{"default":"3"}},"key":"0033"},{"category":"Nd","mappings":{"default":{"default":"digit four","short":"four"},"mathspeak":{"default":"4"}},"key":"0034"},{"category":"Nd","mappings":{"default":{"default":"digit five","short":"five"},"mathspeak":{"default":"5"}},"key":"0035"},{"category":"Nd","mappings":{"default":{"default":"digit six","short":"six"},"mathspeak":{"default":"6"}},"key":"0036"},{"category":"Nd","mappings":{"default":{"default":"digit seven","short":"seven"},"mathspeak":{"default":"7"}},"key":"0037"},{"category":"Nd","mappings":{"default":{"default":"digit eight","short":"eight"},"mathspeak":{"default":"8"}},"key":"0038"},{"category":"Nd","mappings":{"default":{"default":"digit nine","short":"nine"},"mathspeak":{"default":"9"}},"key":"0039"},{"category":"No","mappings":{"default":{"default":"superscript digit two","alternative":"superscript two","short":"square"},"mathspeak":{"default":"9"}},"key":"00B2"},{"category":"No","mappings":{"default":{"default":"superscript digit three","alternative":"superscript three","short":"cube"}},"key":"00B3"},{"category":"No","mappings":{"default":{"default":"superscript digit one","alternative":"superscript one","short":"super one"}},"key":"00B9"},{"category":"No","mappings":{"default":{"default":"vulgar fraction one quarter","alternative":"fraction one quarter","short":"one quarter"}},"key":"00BC"},{"category":"No","mappings":{"default":{"default":"vulgar fraction one half","alternative":"fraction one half","short":"one half"}},"key":"00BD"},{"category":"No","mappings":{"default":{"default":"vulgar fraction three quarters","alternative":"fraction three quarters","short":"three quarters"}},"key":"00BE"},{"category":"No","mappings":{"default":{"default":"superscript zero","short":"super zero"}},"key":"2070"},{"category":"No","mappings":{"default":{"default":"superscript digit four","alternative":"superscript four","short":"super four"}},"key":"2074"},{"category":"No","mappings":{"default":{"default":"superscript digit five","alternative":"superscript five","short":"super five"}},"key":"2075"},{"category":"No","mappings":{"default":{"default":"superscript digit six","alternative":"superscript six","short":"super six"}},"key":"2076"},{"category":"No","mappings":{"default":{"default":"superscript digit seven","alternative":"superscript seven","short":"super seven"}},"key":"2077"},{"category":"No","mappings":{"default":{"default":"superscript digit eight","alternative":"superscript eight","short":"super eight"}},"key":"2078"},{"category":"No","mappings":{"default":{"default":"superscript digit nine","alternative":"superscript nine","short":"super nine"}},"key":"2079"},{"category":"No","mappings":{"default":{"default":"subscript digit zero","alternative":"subscript zero","short":"sub zero"}},"key":"2080"},{"category":"No","mappings":{"default":{"default":"subscript digit one","alternative":"subscript one","short":"sub one"}},"key":"2081"},{"category":"No","mappings":{"default":{"default":"subscript digit two","alternative":"subscript two","short":"sub two"}},"key":"2082"},{"category":"No","mappings":{"default":{"default":"subscript digit three","alternative":"subscript three","short":"sub three"}},"key":"2083"},{"category":"No","mappings":{"default":{"default":"subscript digit four","alternative":"subscript four","short":"sub four"}},"key":"2084"},{"category":"No","mappings":{"default":{"default":"subscript digit five","alternative":"subscript five","short":"sub five"}},"key":"2085"},{"category":"No","mappings":{"default":{"default":"subscript digit six","alternative":"subscript six","short":"sub six"}},"key":"2086"},{"category":"No","mappings":{"default":{"default":"subscript digit seven","alternative":"subscript seven","short":"sub seven"}},"key":"2087"},{"category":"No","mappings":{"default":{"default":"subscript digit eight","alternative":"subscript eight","short":"sub eight"}},"key":"2088"},{"category":"No","mappings":{"default":{"default":"subscript digit nine","alternative":"subscript nine","short":"sub nine"}},"key":"2089"},{"category":"No","mappings":{"default":{"default":"vulgar fraction one seventh","short":"one seventh"}},"key":"2150"},{"category":"No","mappings":{"default":{"default":"vulgar fraction one ninth","short":"one ninth"}},"key":"2151"},{"category":"No","mappings":{"default":{"default":"vulgar fraction one tenth","short":"one tenth"}},"key":"2152"},{"category":"No","mappings":{"default":{"default":"vulgar fraction one third","alternative":"fraction one third","short":"one third"}},"key":"2153"},{"category":"No","mappings":{"default":{"default":"vulgar fraction two thirds","alternative":"fraction two thirds","short":"two thirds"}},"key":"2154"},{"category":"No","mappings":{"default":{"default":"vulgar fraction one fifth","alternative":"fraction one fifth","short":"one fifth"}},"key":"2155"},{"category":"No","mappings":{"default":{"default":"vulgar fraction two fifths","alternative":"fraction two fifths","short":"two fifths"}},"key":"2156"},{"category":"No","mappings":{"default":{"default":"vulgar fraction three fifths","alternative":"fraction three fifths","short":"three fifths"}},"key":"2157"},{"category":"No","mappings":{"default":{"default":"vulgar fraction four fifths","alternative":"fraction four fifths","short":"four fifths"}},"key":"2158"},{"category":"No","mappings":{"default":{"default":"vulgar fraction one sixth","alternative":"fraction one sixth","short":"one sixth"}},"key":"2159"},{"category":"No","mappings":{"default":{"default":"vulgar fraction five sixths","alternative":"fraction five sixths","short":"five sixths"}},"key":"215A"},{"category":"No","mappings":{"default":{"default":"vulgar fraction one eighth","alternative":"fraction one eighth","short":"one eighth"}},"key":"215B"},{"category":"No","mappings":{"default":{"default":"vulgar fraction three eighths","alternative":"fraction three eighths","short":"three eighths"}},"key":"215C"},{"category":"No","mappings":{"default":{"default":"vulgar fraction five eighths","alternative":"fraction five eighths","short":"five eighths"}},"key":"215D"},{"category":"No","mappings":{"default":{"default":"vulgar fraction seven eighths","alternative":"fraction seven eighths","short":"seven eighths"}},"key":"215E"},{"category":"No","mappings":{"default":{"default":"fraction numerator one","short":"numerator one"}},"key":"215F"},{"category":"No","mappings":{"default":{"default":"vulgar fraction zero thirds","short":"zero thirds"}},"key":"2189"},{"category":"No","mappings":{"default":{"default":"circled digit one","short":"circled one"},"mathspeak":{"default":"circled 1"}},"key":"2460"},{"category":"No","mappings":{"default":{"default":"circled digit two","short":"circled two"},"mathspeak":{"default":"circled 2"}},"key":"2461"},{"category":"No","mappings":{"default":{"default":"circled digit three","short":"circled three"},"mathspeak":{"default":"circled 3"}},"key":"2462"},{"category":"No","mappings":{"default":{"default":"circled digit four","short":"circled four"},"mathspeak":{"default":"circled 4"}},"key":"2463"},{"category":"No","mappings":{"default":{"default":"circled digit five","short":"circled five"},"mathspeak":{"default":"circled 5"}},"key":"2464"},{"category":"No","mappings":{"default":{"default":"circled digit six","short":"circled six"},"mathspeak":{"default":"circled 6"}},"key":"2465"},{"category":"No","mappings":{"default":{"default":"circled digit seven","short":"circled seven"},"mathspeak":{"default":"circled 7"}},"key":"2466"},{"category":"No","mappings":{"default":{"default":"circled digit eight","short":"circled eight"},"mathspeak":{"default":"circled 8"}},"key":"2467"},{"category":"No","mappings":{"default":{"default":"circled digit nine","short":"circled nine"},"mathspeak":{"default":"circled 9"}},"key":"2468"},{"category":"No","mappings":{"default":{"default":"circled number ten","short":"circled ten"},"mathspeak":{"default":"circled 10"}},"key":"2469"},{"category":"No","mappings":{"default":{"default":"circled number eleven","short":"circled eleven"},"mathspeak":{"default":"circled 11"}},"key":"246A"},{"category":"No","mappings":{"default":{"default":"circled number twelve","short":"circled twelve"},"mathspeak":{"default":"circled 12"}},"key":"246B"},{"category":"No","mappings":{"default":{"default":"circled number thirteen","short":"circled thirteen"},"mathspeak":{"default":"circled 13"}},"key":"246C"},{"category":"No","mappings":{"default":{"default":"circled number fourteen","short":"circled fourteen"},"mathspeak":{"default":"circled 14"}},"key":"246D"},{"category":"No","mappings":{"default":{"default":"circled number fifteen","short":"circled fifteen"},"mathspeak":{"default":"circled 15"}},"key":"246E"},{"category":"No","mappings":{"default":{"default":"circled number sixteen","short":"circled sixteen"},"mathspeak":{"default":"circled 16"}},"key":"246F"},{"category":"No","mappings":{"default":{"default":"circled number seventeen","short":"circled seventeen"},"mathspeak":{"default":"circled 17"}},"key":"2470"},{"category":"No","mappings":{"default":{"default":"circled number eighteen","short":"circled eighteen"},"mathspeak":{"default":"circled 18"}},"key":"2471"},{"category":"No","mappings":{"default":{"default":"circled number nineteen","short":"circled nineteen"},"mathspeak":{"default":"circled 19"}},"key":"2472"},{"category":"No","mappings":{"default":{"default":"circled number twenty","short":"circled twenty"},"mathspeak":{"default":"circled 20"}},"key":"2473"},{"category":"No","mappings":{"default":{"default":"parenthesized digit one","short":"parenthesized one"},"mathspeak":{"default":"parenthesized 1"}},"key":"2474"},{"category":"No","mappings":{"default":{"default":"parenthesized digit two","short":"parenthesized two"},"mathspeak":{"default":"parenthesized 2"}},"key":"2475"},{"category":"No","mappings":{"default":{"default":"parenthesized digit three","short":"parenthesized three"},"mathspeak":{"default":"parenthesized 3"}},"key":"2476"},{"category":"No","mappings":{"default":{"default":"parenthesized digit four","short":"parenthesized four"},"mathspeak":{"default":"parenthesized 4"}},"key":"2477"},{"category":"No","mappings":{"default":{"default":"parenthesized digit five","short":"parenthesized five"},"mathspeak":{"default":"parenthesized 5"}},"key":"2478"},{"category":"No","mappings":{"default":{"default":"parenthesized digit six","short":"parenthesized six"},"mathspeak":{"default":"parenthesized 6"}},"key":"2479"},{"category":"No","mappings":{"default":{"default":"parenthesized digit seven","short":"parenthesized seven"},"mathspeak":{"default":"parenthesized 7"}},"key":"247A"},{"category":"No","mappings":{"default":{"default":"parenthesized digit eight","short":"parenthesized eight"},"mathspeak":{"default":"parenthesized 8"}},"key":"247B"},{"category":"No","mappings":{"default":{"default":"parenthesized digit nine","short":"parenthesized nine"},"mathspeak":{"default":"parenthesized 9"}},"key":"247C"},{"category":"No","mappings":{"default":{"default":"parenthesized number ten","short":"parenthesized ten"},"mathspeak":{"default":"parenthesized 10"}},"key":"247D"},{"category":"No","mappings":{"default":{"default":"parenthesized number eleven","short":"parenthesized eleven"},"mathspeak":{"default":"parenthesized 11"}},"key":"247E"},{"category":"No","mappings":{"default":{"default":"parenthesized number twelve","short":"parenthesized twelve"},"mathspeak":{"default":"parenthesized 12"}},"key":"247F"},{"category":"No","mappings":{"default":{"default":"parenthesized number thirteen","short":"parenthesized thirteen"},"mathspeak":{"default":"parenthesized 13"}},"key":"2480"},{"category":"No","mappings":{"default":{"default":"parenthesized number fourteen","short":"parenthesized fourteen"},"mathspeak":{"default":"parenthesized 14"}},"key":"2481"},{"category":"No","mappings":{"default":{"default":"parenthesized number fifteen","short":"parenthesized fifteen"},"mathspeak":{"default":"parenthesized 15"}},"key":"2482"},{"category":"No","mappings":{"default":{"default":"parenthesized number sixteen","short":"parenthesized sixteen"},"mathspeak":{"default":"parenthesized 16"}},"key":"2483"},{"category":"No","mappings":{"default":{"default":"parenthesized number seventeen","short":"parenthesized seventeen"},"mathspeak":{"default":"parenthesized 17"}},"key":"2484"},{"category":"No","mappings":{"default":{"default":"parenthesized number eighteen","short":"parenthesized eighteen"},"mathspeak":{"default":"parenthesized 18"}},"key":"2485"},{"category":"No","mappings":{"default":{"default":"parenthesized number nineteen","short":"parenthesized nineteen"},"mathspeak":{"default":"parenthesized 19"}},"key":"2486"},{"category":"No","mappings":{"default":{"default":"parenthesized number twenty","short":"parenthesized twenty"},"mathspeak":{"default":"parenthesized 20"}},"key":"2487"},{"category":"No","mappings":{"default":{"default":"digit one full stop","alternative":"digit one period","short":"one period"},"mathspeak":{"default":"1 period"}},"key":"2488"},{"category":"No","mappings":{"default":{"default":"digit two full stop","alternative":"digit two period","short":"two period"},"mathspeak":{"default":"2 period"}},"key":"2489"},{"category":"No","mappings":{"default":{"default":"digit three full stop","alternative":"digit three period","short":"three period"},"mathspeak":{"default":"3 period"}},"key":"248A"},{"category":"No","mappings":{"default":{"default":"digit four full stop","alternative":"digit four period","short":"four period"},"mathspeak":{"default":"4 period"}},"key":"248B"},{"category":"No","mappings":{"default":{"default":"digit five full stop","alternative":"digit five period","short":"five period"},"mathspeak":{"default":"5 period"}},"key":"248C"},{"category":"No","mappings":{"default":{"default":"digit six full stop","alternative":"digit six period","short":"six period"},"mathspeak":{"default":"6 period"}},"key":"248D"},{"category":"No","mappings":{"default":{"default":"digit seven full stop","alternative":"digit seven period","short":"seven period"},"mathspeak":{"default":"7 period"}},"key":"248E"},{"category":"No","mappings":{"default":{"default":"digit eight full stop","alternative":"digit eight period","short":"eight period"},"mathspeak":{"default":"8 period"}},"key":"248F"},{"category":"No","mappings":{"default":{"default":"digit nine full stop","alternative":"digit nine period","short":"nine period"},"mathspeak":{"default":"9 period"}},"key":"2490"},{"category":"No","mappings":{"default":{"default":"number ten full stop","alternative":"number ten period","short":"ten period"},"mathspeak":{"default":"10 period"}},"key":"2491"},{"category":"No","mappings":{"default":{"default":"number eleven full stop","alternative":"number eleven period","short":"eleven period"},"mathspeak":{"default":"11 period"}},"key":"2492"},{"category":"No","mappings":{"default":{"default":"number twelve full stop","alternative":"number twelve period","short":"twelve period"},"mathspeak":{"default":"12 period"}},"key":"2493"},{"category":"No","mappings":{"default":{"default":"number thirteen full stop","alternative":"number thirteen period","short":"thirteen period"},"mathspeak":{"default":"13 period"}},"key":"2494"},{"category":"No","mappings":{"default":{"default":"number fourteen full stop","alternative":"number fourteen period","short":"fourteen period"},"mathspeak":{"default":"14 period"}},"key":"2495"},{"category":"No","mappings":{"default":{"default":"number fifteen full stop","alternative":"number fifteen period","short":"fifteen period"},"mathspeak":{"default":"15 period"}},"key":"2496"},{"category":"No","mappings":{"default":{"default":"number sixteen full stop","alternative":"number sixteen period","short":"sixteen period"},"mathspeak":{"default":"16 period"}},"key":"2497"},{"category":"No","mappings":{"default":{"default":"number seventeen full stop","alternative":"number seventeen period","short":"seventeen period"},"mathspeak":{"default":"17 period"}},"key":"2498"},{"category":"No","mappings":{"default":{"default":"number eighteen full stop","alternative":"number eighteen period","short":"eighteen period"},"mathspeak":{"default":"18 period"}},"key":"2499"},{"category":"No","mappings":{"default":{"default":"number nineteen full stop","alternative":"number nineteen period","short":"nineteen period"},"mathspeak":{"default":"19 period"}},"key":"249A"},{"category":"No","mappings":{"default":{"default":"number twenty full stop","alternative":"number twenty period","short":"twenty period"},"mathspeak":{"default":"20 period"}},"key":"249B"},{"category":"No","mappings":{"default":{"default":"circled digit zero","short":"circled zero"},"mathspeak":{"default":"circled 0"}},"key":"24EA"},{"category":"No","mappings":{"default":{"default":"negative circled number eleven","short":"negative circled eleven"},"mathspeak":{"default":"negative circled 11"}},"key":"24EB"},{"category":"No","mappings":{"default":{"default":"negative circled number twelve","short":"negative circled twelve"},"mathspeak":{"default":"negative circled 12"}},"key":"24EC"},{"category":"No","mappings":{"default":{"default":"negative circled number thirteen","short":"negative circled thirteen"},"mathspeak":{"default":"negative circled 13"}},"key":"24ED"},{"category":"No","mappings":{"default":{"default":"negative circled number fourteen","short":"negative circled fourteen"},"mathspeak":{"default":"negative circled 14"}},"key":"24EE"},{"category":"No","mappings":{"default":{"default":"negative circled number fifteen","short":"negative circled fifteen"},"mathspeak":{"default":"negative circled 15"}},"key":"24EF"},{"category":"No","mappings":{"default":{"default":"negative circled number sixteen","short":"negative circled sixteen"},"mathspeak":{"default":"negative circled 16"}},"key":"24F0"},{"category":"No","mappings":{"default":{"default":"negative circled number seventeen","short":"negative circled seventeen"},"mathspeak":{"default":"negative circled 17"}},"key":"24F1"},{"category":"No","mappings":{"default":{"default":"negative circled number eighteen","short":"negative circled eighteen"},"mathspeak":{"default":"negative circled 18"}},"key":"24F2"},{"category":"No","mappings":{"default":{"default":"negative circled number nineteen","short":"negative circled nineteen"},"mathspeak":{"default":"negative circled 19"}},"key":"24F3"},{"category":"No","mappings":{"default":{"default":"negative circled number twenty","short":"negative circled twenty"},"mathspeak":{"default":"negative circled 20"}},"key":"24F4"},{"category":"No","mappings":{"default":{"default":"double circled digit one","short":"double circled one"},"mathspeak":{"default":"double circled 1"}},"key":"24F5"},{"category":"No","mappings":{"default":{"default":"double circled digit two","short":"double circled two"},"mathspeak":{"default":"double circled 2"}},"key":"24F6"},{"category":"No","mappings":{"default":{"default":"double circled digit three","short":"double circled three"},"mathspeak":{"default":"double circled 3"}},"key":"24F7"},{"category":"No","mappings":{"default":{"default":"double circled digit four","short":"double circled four"},"mathspeak":{"default":"double circled 4"}},"key":"24F8"},{"category":"No","mappings":{"default":{"default":"double circled digit five","short":"double circled five"},"mathspeak":{"default":"double circled 5"}},"key":"24F9"},{"category":"No","mappings":{"default":{"default":"double circled digit six","short":"double circled six"},"mathspeak":{"default":"double circled 6"}},"key":"24FA"},{"category":"No","mappings":{"default":{"default":"double circled digit seven","short":"double circled seven"},"mathspeak":{"default":"double circled 7"}},"key":"24FB"},{"category":"No","mappings":{"default":{"default":"double circled digit eight","short":"double circled eight"},"mathspeak":{"default":"double circled 8"}},"key":"24FC"},{"category":"No","mappings":{"default":{"default":"double circled digit nine","short":"double circled nine"},"mathspeak":{"default":"double circled 9"}},"key":"24FD"},{"category":"No","mappings":{"default":{"default":"double circled number ten","short":"double circled ten"},"mathspeak":{"default":"double circled 10"}},"key":"24FE"},{"category":"No","mappings":{"default":{"default":"negative circled digit zero","short":"negative circled zero"},"mathspeak":{"default":"negative circled 0"}},"key":"24FF"},{"category":"No","mappings":{"default":{"default":"dingbat negative circled digit one","alternative":"inverse circled digit one","short":"inverse circled one"},"mathspeak":{"default":"inverse circled 1"}},"key":"2776"},{"category":"No","mappings":{"default":{"default":"dingbat negative circled digit two","alternative":"inverse circled digit two","short":"inverse circled two"},"mathspeak":{"default":"inverse circled 2"}},"key":"2777"},{"category":"No","mappings":{"default":{"default":"dingbat negative circled digit three","alternative":"inverse circled digit three","short":"inverse circled three"},"mathspeak":{"default":"inverse circled 3"}},"key":"2778"},{"category":"No","mappings":{"default":{"default":"dingbat negative circled digit four","alternative":"inverse circled digit four","short":"inverse circled four"},"mathspeak":{"default":"inverse circled 4"}},"key":"2779"},{"category":"No","mappings":{"default":{"default":"dingbat negative circled digit five","alternative":"inverse circled digit five","short":"inverse circled five"},"mathspeak":{"default":"inverse circled 5"}},"key":"277A"},{"category":"No","mappings":{"default":{"default":"dingbat negative circled digit six","alternative":"inverse circled digit six","short":"inverse circled six"},"mathspeak":{"default":"inverse circled 6"}},"key":"277B"},{"category":"No","mappings":{"default":{"default":"dingbat negative circled digit seven","alternative":"inverse circled digit seven","short":"inverse circled seven"},"mathspeak":{"default":"inverse circled 7"}},"key":"277C"},{"category":"No","mappings":{"default":{"default":"dingbat negative circled digit eight","alternative":"inverse circled digit eight","short":"inverse circled eight"},"mathspeak":{"default":"inverse circled 8"}},"key":"277D"},{"category":"No","mappings":{"default":{"default":"dingbat negative circled digit nine","alternative":"inverse circled digit nine","short":"inverse circled nine"},"mathspeak":{"default":"inverse circled 9"}},"key":"277E"},{"category":"No","mappings":{"default":{"default":"dingbat negative circled number ten","alternative":"inverse circled number ten","short":"inverse circled ten"},"mathspeak":{"default":"inverse circled 10"}},"key":"277F"},{"category":"No","mappings":{"default":{"default":"dingbat circled sans serif digit one","alternative":"circled sans serif digit one","short":"circled one"}},"key":"2780"},{"category":"No","mappings":{"default":{"default":"dingbat circled sans serif digit two","alternative":"circled sans serif digit two","short":"circled two"}},"key":"2781"},{"category":"No","mappings":{"default":{"default":"dingbat circled sans serif digit three","alternative":"circled sans serif digit three","short":"circled three"}},"key":"2782"},{"category":"No","mappings":{"default":{"default":"dingbat circled sans serif digit four","alternative":"circled sans serif digit four","short":"circled four"}},"key":"2783"},{"category":"No","mappings":{"default":{"default":"dingbat circled sans serif digit five","alternative":"circled sans serif digit five","short":"circled five"}},"key":"2784"},{"category":"No","mappings":{"default":{"default":"dingbat circled sans serif digit six","alternative":"circled sans serif digit six","short":"circled six"}},"key":"2785"},{"category":"No","mappings":{"default":{"default":"dingbat circled sans serif digit seven","alternative":"circled sans serif digit seven","short":"circled seven"}},"key":"2786"},{"category":"No","mappings":{"default":{"default":"dingbat circled sans serif digit eight","alternative":"circled sans serif digit eight","short":"circled eight"}},"key":"2787"},{"category":"No","mappings":{"default":{"default":"dingbat circled sans serif digit nine","alternative":"circled sans serif digit nine","short":"circled nine"}},"key":"2788"},{"category":"No","mappings":{"default":{"default":"dingbat circled sans serif number ten","alternative":"circled sans serif number ten","short":"circled ten"}},"key":"2789"},{"category":"No","mappings":{"default":{"default":"dingbat negative circled sans serif digit one","alternative":"inverse circled sans serif digit one","short":"inverse circled one"},"mathspeak":{"default":"inverse circled 1"}},"key":"278A"},{"category":"No","mappings":{"default":{"default":"dingbat negative circled sans serif digit two","alternative":"inverse circled sans serif digit two","short":"inverse circled two"},"mathspeak":{"default":"inverse circled 2"}},"key":"278B"},{"category":"No","mappings":{"default":{"default":"dingbat negative circled sans serif digit three","alternative":"inverse circled sans serif digit three","short":"inverse circled three"},"mathspeak":{"default":"inverse circled 3"}},"key":"278C"},{"category":"No","mappings":{"default":{"default":"dingbat negative circled sans serif digit four","alternative":"inverse circled sans serif digit four","short":"inverse circled four"},"mathspeak":{"default":"inverse circled 4"}},"key":"278D"},{"category":"No","mappings":{"default":{"default":"dingbat negative circled sans serif digit five","alternative":"inverse circled sans serif digit five","short":"inverse circled five"},"mathspeak":{"default":"inverse circled 5"}},"key":"278E"},{"category":"No","mappings":{"default":{"default":"dingbat negative circled sans serif digit six","alternative":"inverse circled sans serif digit six","short":"inverse circled six"},"mathspeak":{"default":"inverse circled 6"}},"key":"278F"},{"category":"No","mappings":{"default":{"default":"dingbat negative circled sans serif digit seven","alternative":"inverse circled sans serif digit seven","short":"inverse circled seven"},"mathspeak":{"default":"inverse circled 7"}},"key":"2790"},{"category":"No","mappings":{"default":{"default":"dingbat negative circled sans serif digit eight","alternative":"inverse circled sans serif digit eight","short":"inverse circled eight"},"mathspeak":{"default":"inverse circled 8"}},"key":"2791"},{"category":"No","mappings":{"default":{"default":"dingbat negative circled sans serif digit nine","alternative":"inverse circled sans serif digit nine","short":"inverse circled nine"},"mathspeak":{"default":"inverse circled 9"}},"key":"2792"},{"category":"No","mappings":{"default":{"default":"dingbat negative circled sans serif number ten","alternative":"inverse circled sans serif number ten","short":"inverse circled ten"},"mathspeak":{"default":"inverse circled 10"}},"key":"2793"},{"category":"No","mappings":{"default":{"default":"circled number ten on black square","short":"circled ten on black square"}},"key":"3248"},{"category":"No","mappings":{"default":{"default":"circled number twenty on black square","short":"circled twenty on black square"}},"key":"3249"},{"category":"No","mappings":{"default":{"default":"circled number thirty on black square","short":"circled thirty on black square"}},"key":"324A"},{"category":"No","mappings":{"default":{"default":"circled number forty on black square","short":"circled forty on black square"}},"key":"324B"},{"category":"No","mappings":{"default":{"default":"circled number fifty on black square","short":"circled fifty on black square"}},"key":"324C"},{"category":"No","mappings":{"default":{"default":"circled number sixty on black square","short":"circled sixty on black square"}},"key":"324D"},{"category":"No","mappings":{"default":{"default":"circled number seventy on black square","short":"circled seventy on black square"}},"key":"324E"},{"category":"No","mappings":{"default":{"default":"circled number eighty on black square","short":"circled eighty on black square"}},"key":"324F"},{"category":"No","mappings":{"default":{"default":"circled number twenty one","short":"circled twenty one"}},"key":"3251"},{"category":"No","mappings":{"default":{"default":"circled number twenty two","short":"circled twenty two"}},"key":"3252"},{"category":"No","mappings":{"default":{"default":"circled number twenty three","short":"circled twenty three"}},"key":"3253"},{"category":"No","mappings":{"default":{"default":"circled number twenty four","short":"circled twenty four"}},"key":"3254"},{"category":"No","mappings":{"default":{"default":"circled number twenty five","short":"circled twenty five"}},"key":"3255"},{"category":"No","mappings":{"default":{"default":"circled number twenty six","short":"circled twenty six"}},"key":"3256"},{"category":"No","mappings":{"default":{"default":"circled number twenty seven","short":"circled twenty seven"}},"key":"3257"},{"category":"No","mappings":{"default":{"default":"circled number twenty eight","short":"circled twenty eight"}},"key":"3258"},{"category":"No","mappings":{"default":{"default":"circled number twenty nine","short":"circled twenty nine"}},"key":"3259"},{"category":"No","mappings":{"default":{"default":"circled number thirty","short":"circled thirty"}},"key":"325A"},{"category":"No","mappings":{"default":{"default":"circled number thirty one","short":"circled thirty one"}},"key":"325B"},{"category":"No","mappings":{"default":{"default":"circled number thirty two","short":"circled thirty two"}},"key":"325C"},{"category":"No","mappings":{"default":{"default":"circled number thirty three","short":"circled thirty three"}},"key":"325D"},{"category":"No","mappings":{"default":{"default":"circled number thirty four","short":"circled thirty four"}},"key":"325E"},{"category":"No","mappings":{"default":{"default":"circled number thirty five","short":"circled thirty five"}},"key":"325F"},{"category":"No","mappings":{"default":{"default":"circled number thirty six","short":"circled thirty six"}},"key":"32B1"},{"category":"No","mappings":{"default":{"default":"circled number thirty seven","short":"circled thirty seven"}},"key":"32B2"},{"category":"No","mappings":{"default":{"default":"circled number thirty eight","short":"circled thirty eight"}},"key":"32B3"},{"category":"No","mappings":{"default":{"default":"circled number thirty nine","short":"circled thirty nine"}},"key":"32B4"},{"category":"No","mappings":{"default":{"default":"circled number forty","short":"circled forty"}},"key":"32B5"},{"category":"No","mappings":{"default":{"default":"circled number forty one","short":"circled forty one"}},"key":"32B6"},{"category":"No","mappings":{"default":{"default":"circled number forty two","short":"circled forty two"}},"key":"32B7"},{"category":"No","mappings":{"default":{"default":"circled number forty three","short":"circled forty three"}},"key":"32B8"},{"category":"No","mappings":{"default":{"default":"circled number forty four","short":"circled forty four"}},"key":"32B9"},{"category":"No","mappings":{"default":{"default":"circled number forty five","short":"circled forty five"}},"key":"32BA"},{"category":"No","mappings":{"default":{"default":"circled number forty six","short":"circled forty six"}},"key":"32BB"},{"category":"No","mappings":{"default":{"default":"circled number forty seven","short":"circled forty seven"}},"key":"32BC"},{"category":"No","mappings":{"default":{"default":"circled number forty eight","short":"circled forty eight"}},"key":"32BD"},{"category":"No","mappings":{"default":{"default":"circled number forty nine","short":"circled forty nine"}},"key":"32BE"},{"category":"No","mappings":{"default":{"default":"circled number fifty","short":"circled fifty"}},"key":"32BF"},{"category":"Nd","mappings":{"default":{"default":"fullwidth digit zero","short":"zero"},"mathspeak":{"default":"0"}},"key":"FF10"},{"category":"Nd","mappings":{"default":{"default":"fullwidth digit one","short":"one"},"mathspeak":{"default":"1"}},"key":"FF11"},{"category":"Nd","mappings":{"default":{"default":"fullwidth digit two","short":"two"},"mathspeak":{"default":"2"}},"key":"FF12"},{"category":"Nd","mappings":{"default":{"default":"fullwidth digit three","short":"three"},"mathspeak":{"default":"3"}},"key":"FF13"},{"category":"Nd","mappings":{"default":{"default":"fullwidth digit four","short":"four"},"mathspeak":{"default":"4"}},"key":"FF14"},{"category":"Nd","mappings":{"default":{"default":"fullwidth digit five","short":"five"},"mathspeak":{"default":"5"}},"key":"FF15"},{"category":"Nd","mappings":{"default":{"default":"fullwidth digit six","short":"six"},"mathspeak":{"default":"6"}},"key":"FF16"},{"category":"Nd","mappings":{"default":{"default":"fullwidth digit seven","short":"seven"},"mathspeak":{"default":"7"}},"key":"FF17"},{"category":"Nd","mappings":{"default":{"default":"fullwidth digit eight","short":"eight"},"mathspeak":{"default":"8"}},"key":"FF18"},{"category":"Nd","mappings":{"default":{"default":"fullwidth digit nine","short":"nine"},"mathspeak":{"default":"9"}},"key":"FF19"},{"category":"Nd","mappings":{"default":{"default":"mathematical bold digit zero","alternative":"bold digit zero","short":"bold zero"},"mathspeak":{"default":"bold 0"}},"key":"1D7CE"},{"category":"Nd","mappings":{"default":{"default":"mathematical bold digit one","alternative":"bold digit one","short":"bold one"},"mathspeak":{"default":"bold 1"}},"key":"1D7CF"},{"category":"Nd","mappings":{"default":{"default":"mathematical bold digit two","alternative":"bold digit two","short":"bold two"},"mathspeak":{"default":"bold 2"}},"key":"1D7D0"},{"category":"Nd","mappings":{"default":{"default":"mathematical bold digit three","alternative":"bold digit three","short":"bold three"},"mathspeak":{"default":"bold 3"}},"key":"1D7D1"},{"category":"Nd","mappings":{"default":{"default":"mathematical bold digit four","alternative":"bold digit four","short":"bold four"},"mathspeak":{"default":"bold 4"}},"key":"1D7D2"},{"category":"Nd","mappings":{"default":{"default":"mathematical bold digit five","alternative":"bold digit five","short":"bold five"},"mathspeak":{"default":"bold 5"}},"key":"1D7D3"},{"category":"Nd","mappings":{"default":{"default":"mathematical bold digit six","alternative":"bold digit six","short":"bold six"},"mathspeak":{"default":"bold 6"}},"key":"1D7D4"},{"category":"Nd","mappings":{"default":{"default":"mathematical bold digit seven","alternative":"bold digit seven","short":"bold seven"},"mathspeak":{"default":"bold 7"}},"key":"1D7D5"},{"category":"Nd","mappings":{"default":{"default":"mathematical bold digit eight","alternative":"bold digit eight","short":"bold eight"},"mathspeak":{"default":"bold 8"}},"key":"1D7D6"},{"category":"Nd","mappings":{"default":{"default":"mathematical bold digit nine","alternative":"bold digit nine","short":"bold nine"},"mathspeak":{"default":"bold 9"}},"key":"1D7D7"},{"category":"Nd","mappings":{"default":{"default":"mathematical double struck digit zero","alternative":"double struck zero","short":"blackboard zero"},"mathspeak":{"default":"blackboard 0"}},"key":"1D7D8"},{"category":"Nd","mappings":{"default":{"default":"mathematical double struck digit one","alternative":"double struck one","short":"blackboard one"},"mathspeak":{"default":"blackboard 1"}},"key":"1D7D9"},{"category":"Nd","mappings":{"default":{"default":"mathematical double struck digit two","alternative":"double struck two","short":"blackboard two"},"mathspeak":{"default":"blackboard 2"}},"key":"1D7DA"},{"category":"Nd","mappings":{"default":{"default":"mathematical double struck digit three","alternative":"double struck three","short":"blackboard three"},"mathspeak":{"default":"blackboard 3"}},"key":"1D7DB"},{"category":"Nd","mappings":{"default":{"default":"mathematical double struck digit four","alternative":"double struck four","short":"blackboard four"},"mathspeak":{"default":"blackboard 4"}},"key":"1D7DC"},{"category":"Nd","mappings":{"default":{"default":"mathematical double struck digit five","alternative":"double struck five","short":"blackboard five"},"mathspeak":{"default":"blackboard 5"}},"key":"1D7DD"},{"category":"Nd","mappings":{"default":{"default":"mathematical double struck digit six","alternative":"double struck six","short":"blackboard six"},"mathspeak":{"default":"blackboard 6"}},"key":"1D7DE"},{"category":"Nd","mappings":{"default":{"default":"mathematical double struck digit seven","alternative":"double struck seven","short":"blackboard seven"},"mathspeak":{"default":"blackboard 7"}},"key":"1D7DF"},{"category":"Nd","mappings":{"default":{"default":"mathematical double struck digit eight","alternative":"double struck eight","short":"blackboard eight"},"mathspeak":{"default":"blackboard 8"}},"key":"1D7E0"},{"category":"Nd","mappings":{"default":{"default":"mathematical double struck digit nine","alternative":"double struck nine","short":"blackboard nine"},"mathspeak":{"default":"blackboard 9"}},"key":"1D7E1"},{"category":"Nd","mappings":{"default":{"default":"mathematical sans serif digit zero","alternative":"sans serif digit zero","short":"sans serif zero"},"mathspeak":{"default":"sans serif 0"}},"key":"1D7E2"},{"category":"Nd","mappings":{"default":{"default":"mathematical sans serif digit one","alternative":"sans serif digit one","short":"sans serif one"},"mathspeak":{"default":"sans serif 1"}},"key":"1D7E3"},{"category":"Nd","mappings":{"default":{"default":"mathematical sans serif digit two","alternative":"sans serif digit two","short":"sans serif two"},"mathspeak":{"default":"sans serif 2"}},"key":"1D7E4"},{"category":"Nd","mappings":{"default":{"default":"mathematical sans serif digit three","alternative":"sans serif digit three","short":"sans serif three"},"mathspeak":{"default":"sans serif 3"}},"key":"1D7E5"},{"category":"Nd","mappings":{"default":{"default":"mathematical sans serif digit four","alternative":"sans serif digit four","short":"sans serif four"},"mathspeak":{"default":"sans serif 4"}},"key":"1D7E6"},{"category":"Nd","mappings":{"default":{"default":"mathematical sans serif digit five","alternative":"sans serif digit five","short":"sans serif five"},"mathspeak":{"default":"sans serif 5"}},"key":"1D7E7"},{"category":"Nd","mappings":{"default":{"default":"mathematical sans serif digit six","alternative":"sans serif digit six","short":"sans serif six"},"mathspeak":{"default":"sans serif 6"}},"key":"1D7E8"},{"category":"Nd","mappings":{"default":{"default":"mathematical sans serif digit seven","alternative":"sans serif digit seven","short":"sans serif seven"},"mathspeak":{"default":"sans serif 7"}},"key":"1D7E9"},{"category":"Nd","mappings":{"default":{"default":"mathematical sans serif digit eight","alternative":"sans serif digit eight","short":"sans serif eight"},"mathspeak":{"default":"sans serif 8"}},"key":"1D7EA"},{"category":"Nd","mappings":{"default":{"default":"mathematical sans serif digit nine","alternative":"sans serif digit nine","short":"sans serif nine"},"mathspeak":{"default":"sans serif 9"}},"key":"1D7EB"},{"category":"Nd","mappings":{"default":{"default":"mathematical sans serif bold digit zero","alternative":"sans serif bold digit zero","short":"sans serif bold zero"},"mathspeak":{"default":"sans serif bold 0"}},"key":"1D7EC"},{"category":"Nd","mappings":{"default":{"default":"mathematical sans serif bold digit one","alternative":"sans serif bold digit one","short":"sans serif bold one"},"mathspeak":{"default":"sans serif bold 1"}},"key":"1D7ED"},{"category":"Nd","mappings":{"default":{"default":"mathematical sans serif bold digit two","alternative":"sans serif bold digit two","short":"sans serif bold two"},"mathspeak":{"default":"sans serif bold 2"}},"key":"1D7EE"},{"category":"Nd","mappings":{"default":{"default":"mathematical sans serif bold digit three","alternative":"sans serif bold digit three","short":"sans serif bold three"},"mathspeak":{"default":"sans serif bold 3"}},"key":"1D7EF"},{"category":"Nd","mappings":{"default":{"default":"mathematical sans serif bold digit four","alternative":"sans serif bold digit four","short":"sans serif bold four"},"mathspeak":{"default":"sans serif bold 4"}},"key":"1D7F0"},{"category":"Nd","mappings":{"default":{"default":"mathematical sans serif bold digit five","alternative":"sans serif bold digit five","short":"sans serif bold five"},"mathspeak":{"default":"sans serif bold 5"}},"key":"1D7F1"},{"category":"Nd","mappings":{"default":{"default":"mathematical sans serif bold digit six","alternative":"sans serif bold digit six","short":"sans serif bold six"},"mathspeak":{"default":"sans serif bold 6"}},"key":"1D7F2"},{"category":"Nd","mappings":{"default":{"default":"mathematical sans serif bold digit seven","alternative":"sans serif bold digit seven","short":"sans serif bold seven"},"mathspeak":{"default":"sans serif bold 7"}},"key":"1D7F3"},{"category":"Nd","mappings":{"default":{"default":"mathematical sans serif bold digit eight","alternative":"sans serif bold digit eight","short":"sans serif bold eight"},"mathspeak":{"default":"sans serif bold 8"}},"key":"1D7F4"},{"category":"Nd","mappings":{"default":{"default":"mathematical sans serif bold digit nine","alternative":"sans serif bold digit nine","short":"sans serif bold nine"},"mathspeak":{"default":"sans serif bold 9"}},"key":"1D7F5"},{"category":"Nd","mappings":{"default":{"default":"mathematical monospace digit zero","alternative":"monospace zero","short":"thin zero"},"mathspeak":{"default":"monospace 0"}},"key":"1D7F6"},{"category":"Nd","mappings":{"default":{"default":"mathematical monospace digit one","alternative":"monospace one","short":"thin one"},"mathspeak":{"default":"monospace 1"}},"key":"1D7F7"},{"category":"Nd","mappings":{"default":{"default":"mathematical monospace digit two","alternative":"monospace two","short":"thin two"},"mathspeak":{"default":"monospace 2"}},"key":"1D7F8"},{"category":"Nd","mappings":{"default":{"default":"mathematical monospace digit three","alternative":"monospace three","short":"thin three"},"mathspeak":{"default":"monospace 3"}},"key":"1D7F9"},{"category":"Nd","mappings":{"default":{"default":"mathematical monospace digit four","alternative":"monospace four","short":"thin four"},"mathspeak":{"default":"monospace 4"}},"key":"1D7FA"},{"category":"Nd","mappings":{"default":{"default":"mathematical monospace digit five","alternative":"monospace five","short":"thin five"},"mathspeak":{"default":"monospace 5"}},"key":"1D7FB"},{"category":"Nd","mappings":{"default":{"default":"mathematical monospace digit six","alternative":"monospace six","short":"thin six"},"mathspeak":{"default":"monospace 6"}},"key":"1D7FC"},{"category":"Nd","mappings":{"default":{"default":"mathematical monospace digit seven","alternative":"monospace seven","short":"thin seven"},"mathspeak":{"default":"monospace 7"}},"key":"1D7FD"},{"category":"Nd","mappings":{"default":{"default":"mathematical monospace digit eight","alternative":"monospace eight","short":"thin eight"},"mathspeak":{"default":"monospace 8"}},"key":"1D7FE"},{"category":"Nd","mappings":{"default":{"default":"mathematical monospace digit nine","alternative":"monospace nine","short":"thin nine"},"mathspeak":{"default":"monospace 9"}},"key":"1D7FF"},{"category":"No","mappings":{"default":{"default":"digit zero full stop","short":"zero period"},"mathspeak":{"default":"0 period"}},"key":"1F100"},{"category":"No","mappings":{"default":{"default":"digit zero comma","short":"zero comma"},"mathspeak":{"default":"0 comma"}},"key":"1F101"},{"category":"No","mappings":{"default":{"default":"digit one comma","short":"one comma"},"mathspeak":{"default":"1 comma"}},"key":"1F102"},{"category":"No","mappings":{"default":{"default":"digit two comma","short":"two comma"},"mathspeak":{"default":"2 comma"}},"key":"1F103"},{"category":"No","mappings":{"default":{"default":"digit three comma","short":"three comma"},"mathspeak":{"default":"3 comma"}},"key":"1F104"},{"category":"No","mappings":{"default":{"default":"digit four comma","short":"four comma"},"mathspeak":{"default":"4 comma"}},"key":"1F105"},{"category":"No","mappings":{"default":{"default":"digit five comma","short":"five comma"},"mathspeak":{"default":"5 comma"}},"key":"1F106"},{"category":"No","mappings":{"default":{"default":"digit six comma","short":"six comma"},"mathspeak":{"default":"6 comma"}},"key":"1F107"},{"category":"No","mappings":{"default":{"default":"digit seven comma","short":"seven comma"},"mathspeak":{"default":"7 comma"}},"key":"1F108"},{"category":"No","mappings":{"default":{"default":"digit eight comma","short":"eight comma"},"mathspeak":{"default":"8 comma"}},"key":"1F109"},{"category":"No","mappings":{"default":{"default":"digit nine comma","short":"nine comma"},"mathspeak":{"default":"9 comma"}},"key":"1F10A"}] +, +"en/math_geometry.js": +[{"locale":"en"},{"category":"So","mappings":{"default":{"default":"box drawings light horizontal","alternative":"forms light horizontal"}},"key":"2500"},{"category":"So","mappings":{"default":{"default":"box drawings heavy horizontal","alternative":"forms heavy horizontal"}},"key":"2501"},{"category":"So","mappings":{"default":{"default":"box drawings light vertical","alternative":"forms light vertical"}},"key":"2502"},{"category":"So","mappings":{"default":{"default":"box drawings heavy vertical","alternative":"forms heavy vertical"}},"key":"2503"},{"category":"So","mappings":{"default":{"default":"box drawings light triple dash horizontal","alternative":"forms light triple dash horizontal"}},"key":"2504"},{"category":"So","mappings":{"default":{"default":"box drawings heavy triple dash horizontal","alternative":"forms heavy triple dash horizontal"}},"key":"2505"},{"category":"So","mappings":{"default":{"default":"box drawings light triple dash vertical","alternative":"forms light triple dash vertical"}},"key":"2506"},{"category":"So","mappings":{"default":{"default":"box drawings heavy triple dash vertical","alternative":"forms heavy triple dash vertical"}},"key":"2507"},{"category":"So","mappings":{"default":{"default":"box drawings light quadruple dash horizontal","alternative":"forms light quadruple dash horizontal"}},"key":"2508"},{"category":"So","mappings":{"default":{"default":"box drawings heavy quadruple dash horizontal","alternative":"forms heavy quadruple dash horizontal"}},"key":"2509"},{"category":"So","mappings":{"default":{"default":"box drawings light quadruple dash vertical","alternative":"forms light quadruple dash vertical"}},"key":"250A"},{"category":"So","mappings":{"default":{"default":"box drawings heavy quadruple dash vertical","alternative":"forms heavy quadruple dash vertical"}},"key":"250B"},{"category":"So","mappings":{"default":{"default":"box drawings light down and right","alternative":"forms light down and right"}},"key":"250C"},{"category":"So","mappings":{"default":{"default":"box drawings down light and right heavy","alternative":"forms down light and right heavy"}},"key":"250D"},{"category":"So","mappings":{"default":{"default":"box drawings down heavy and right light","alternative":"forms down heavy and right light"}},"key":"250E"},{"category":"So","mappings":{"default":{"default":"box drawings heavy down and right","alternative":"forms heavy down and right"}},"key":"250F"},{"category":"So","mappings":{"default":{"default":"box drawings light down and left","alternative":"forms light down and left"}},"key":"2510"},{"category":"So","mappings":{"default":{"default":"box drawings down light and left heavy","alternative":"forms down light and left heavy"}},"key":"2511"},{"category":"So","mappings":{"default":{"default":"box drawings down heavy and left light","alternative":"forms down heavy and left light"}},"key":"2512"},{"category":"So","mappings":{"default":{"default":"box drawings heavy down and left","alternative":"forms heavy down and left"}},"key":"2513"},{"category":"So","mappings":{"default":{"default":"box drawings light up and right","alternative":"forms light up and right"}},"key":"2514"},{"category":"So","mappings":{"default":{"default":"box drawings up light and right heavy","alternative":"forms up light and right heavy"}},"key":"2515"},{"category":"So","mappings":{"default":{"default":"box drawings up heavy and right light","alternative":"forms up heavy and right light"}},"key":"2516"},{"category":"So","mappings":{"default":{"default":"box drawings heavy up and right","alternative":"forms heavy up and right"}},"key":"2517"},{"category":"So","mappings":{"default":{"default":"box drawings light up and left","alternative":"forms light up and left"}},"key":"2518"},{"category":"So","mappings":{"default":{"default":"box drawings up light and left heavy","alternative":"forms up light and left heavy"}},"key":"2519"},{"category":"So","mappings":{"default":{"default":"box drawings up heavy and left light","alternative":"forms up heavy and left light"}},"key":"251A"},{"category":"So","mappings":{"default":{"default":"box drawings heavy up and left","alternative":"forms heavy up and left"}},"key":"251B"},{"category":"So","mappings":{"default":{"default":"box drawings light vertical and right","alternative":"forms light vertical and right"}},"key":"251C"},{"category":"So","mappings":{"default":{"default":"box drawings vertical light and right heavy","alternative":"forms vertical light and right heavy"}},"key":"251D"},{"category":"So","mappings":{"default":{"default":"box drawings up heavy and right down light","alternative":"forms up heavy and right down light"}},"key":"251E"},{"category":"So","mappings":{"default":{"default":"box drawings down heavy and right up light","alternative":"forms down heavy and right up light"}},"key":"251F"},{"category":"So","mappings":{"default":{"default":"box drawings vertical heavy and right light","alternative":"forms vertical heavy and right light"}},"key":"2520"},{"category":"So","mappings":{"default":{"default":"box drawings down light and right up heavy","alternative":"forms down light and right up heavy"}},"key":"2521"},{"category":"So","mappings":{"default":{"default":"box drawings up light and right down heavy","alternative":"forms up light and right down heavy"}},"key":"2522"},{"category":"So","mappings":{"default":{"default":"box drawings heavy vertical and right","alternative":"forms heavy vertical and right"}},"key":"2523"},{"category":"So","mappings":{"default":{"default":"box drawings light vertical and left","alternative":"forms light vertical and left"}},"key":"2524"},{"category":"So","mappings":{"default":{"default":"box drawings vertical light and left heavy","alternative":"forms vertical light and left heavy"}},"key":"2525"},{"category":"So","mappings":{"default":{"default":"box drawings up heavy and left down light","alternative":"forms up heavy and left down light"}},"key":"2526"},{"category":"So","mappings":{"default":{"default":"box drawings down heavy and left up light","alternative":"forms down heavy and left up light"}},"key":"2527"},{"category":"So","mappings":{"default":{"default":"box drawings vertical heavy and left light","alternative":"forms vertical heavy and left light"}},"key":"2528"},{"category":"So","mappings":{"default":{"default":"box drawings down light and left up heavy","alternative":"forms down light and left up heavy"}},"key":"2529"},{"category":"So","mappings":{"default":{"default":"box drawings up light and left down heavy","alternative":"forms up light and left down heavy"}},"key":"252A"},{"category":"So","mappings":{"default":{"default":"box drawings heavy vertical and left","alternative":"forms heavy vertical and left"}},"key":"252B"},{"category":"So","mappings":{"default":{"default":"box drawings light down and horizontal","alternative":"forms light down and horizontal"}},"key":"252C"},{"category":"So","mappings":{"default":{"default":"box drawings left heavy and right down light","alternative":"forms left heavy and right down light"}},"key":"252D"},{"category":"So","mappings":{"default":{"default":"box drawings right heavy and left down light","alternative":"forms right heavy and left down light"}},"key":"252E"},{"category":"So","mappings":{"default":{"default":"box drawings down light and horizontal heavy","alternative":"forms down light and horizontal heavy"}},"key":"252F"},{"category":"So","mappings":{"default":{"default":"box drawings down heavy and horizontal light","alternative":"forms down heavy and horizontal light"}},"key":"2530"},{"category":"So","mappings":{"default":{"default":"box drawings right light and left down heavy","alternative":"forms right light and left down heavy"}},"key":"2531"},{"category":"So","mappings":{"default":{"default":"box drawings left light and right down heavy","alternative":"forms left light and right down heavy"}},"key":"2532"},{"category":"So","mappings":{"default":{"default":"box drawings heavy down and horizontal","alternative":"forms heavy down and horizontal"}},"key":"2533"},{"category":"So","mappings":{"default":{"default":"box drawings light up and horizontal","alternative":"forms light up and horizontal"}},"key":"2534"},{"category":"So","mappings":{"default":{"default":"box drawings left heavy and right up light","alternative":"forms left heavy and right up light"}},"key":"2535"},{"category":"So","mappings":{"default":{"default":"box drawings right heavy and left up light","alternative":"forms right heavy and left up light"}},"key":"2536"},{"category":"So","mappings":{"default":{"default":"box drawings up light and horizontal heavy","alternative":"forms up light and horizontal heavy"}},"key":"2537"},{"category":"So","mappings":{"default":{"default":"box drawings up heavy and horizontal light","alternative":"forms up heavy and horizontal light"}},"key":"2538"},{"category":"So","mappings":{"default":{"default":"box drawings right light and left up heavy","alternative":"forms right light and left up heavy"}},"key":"2539"},{"category":"So","mappings":{"default":{"default":"box drawings left light and right up heavy","alternative":"forms left light and right up heavy"}},"key":"253A"},{"category":"So","mappings":{"default":{"default":"box drawings heavy up and horizontal","alternative":"forms heavy up and horizontal"}},"key":"253B"},{"category":"So","mappings":{"default":{"default":"box drawings light vertical and horizontal","alternative":"forms light vertical and horizontal"}},"key":"253C"},{"category":"So","mappings":{"default":{"default":"box drawings left heavy and right vertical light","alternative":"forms left heavy and right vertical light"}},"key":"253D"},{"category":"So","mappings":{"default":{"default":"box drawings right heavy and left vertical light","alternative":"forms right heavy and left vertical light"}},"key":"253E"},{"category":"So","mappings":{"default":{"default":"box drawings vertical light and horizontal heavy","alternative":"forms vertical light and horizontal heavy"}},"key":"253F"},{"category":"So","mappings":{"default":{"default":"box drawings up heavy and down horizontal light","alternative":"forms up heavy and down horizontal light"}},"key":"2540"},{"category":"So","mappings":{"default":{"default":"box drawings down heavy and up horizontal light","alternative":"forms down heavy and up horizontal light"}},"key":"2541"},{"category":"So","mappings":{"default":{"default":"box drawings vertical heavy and horizontal light","alternative":"forms vertical heavy and horizontal light"}},"key":"2542"},{"category":"So","mappings":{"default":{"default":"box drawings left up heavy and right down light","alternative":"forms left up heavy and right down light"}},"key":"2543"},{"category":"So","mappings":{"default":{"default":"box drawings right up heavy and left down light","alternative":"forms right up heavy and left down light"}},"key":"2544"},{"category":"So","mappings":{"default":{"default":"box drawings left down heavy and right up light","alternative":"forms left down heavy and right up light"}},"key":"2545"},{"category":"So","mappings":{"default":{"default":"box drawings right down heavy and left up light","alternative":"forms right down heavy and left up light"}},"key":"2546"},{"category":"So","mappings":{"default":{"default":"box drawings down light and up horizontal heavy","alternative":"forms down light and up horizontal heavy"}},"key":"2547"},{"category":"So","mappings":{"default":{"default":"box drawings up light and down horizontal heavy","alternative":"forms up light and down horizontal heavy"}},"key":"2548"},{"category":"So","mappings":{"default":{"default":"box drawings right light and left vertical heavy","alternative":"forms right light and left vertical heavy"}},"key":"2549"},{"category":"So","mappings":{"default":{"default":"box drawings left light and right vertical heavy","alternative":"forms left light and right vertical heavy"}},"key":"254A"},{"category":"So","mappings":{"default":{"default":"box drawings heavy vertical and horizontal","alternative":"forms heavy vertical and horizontal"}},"key":"254B"},{"category":"So","mappings":{"default":{"default":"box drawings light double dash horizontal","alternative":"forms light double dash horizontal"}},"key":"254C"},{"category":"So","mappings":{"default":{"default":"box drawings heavy double dash horizontal","alternative":"forms heavy double dash horizontal"}},"key":"254D"},{"category":"So","mappings":{"default":{"default":"box drawings light double dash vertical","alternative":"forms light double dash vertical"}},"key":"254E"},{"category":"So","mappings":{"default":{"default":"box drawings heavy double dash vertical","alternative":"forms heavy double dash vertical"}},"key":"254F"},{"category":"So","mappings":{"default":{"default":"box drawings double horizontal","alternative":"forms double horizontal"}},"key":"2550"},{"category":"So","mappings":{"default":{"default":"box drawings double vertical","alternative":"forms double vertical"}},"key":"2551"},{"category":"So","mappings":{"default":{"default":"box drawings down single and right double","alternative":"forms down single and right double"}},"key":"2552"},{"category":"So","mappings":{"default":{"default":"box drawings down double and right single","alternative":"forms down double and right single"}},"key":"2553"},{"category":"So","mappings":{"default":{"default":"box drawings double down and right","alternative":"forms double down and right"}},"key":"2554"},{"category":"So","mappings":{"default":{"default":"box drawings down single and left double","alternative":"forms down single and left double"}},"key":"2555"},{"category":"So","mappings":{"default":{"default":"box drawings down double and left single","alternative":"forms down double and left single"}},"key":"2556"},{"category":"So","mappings":{"default":{"default":"box drawings double down and left","alternative":"forms double down and left"}},"key":"2557"},{"category":"So","mappings":{"default":{"default":"box drawings up single and right double","alternative":"forms up single and right double"}},"key":"2558"},{"category":"So","mappings":{"default":{"default":"box drawings up double and right single","alternative":"forms up double and right single"}},"key":"2559"},{"category":"So","mappings":{"default":{"default":"box drawings double up and right","alternative":"forms double up and right"}},"key":"255A"},{"category":"So","mappings":{"default":{"default":"box drawings up single and left double","alternative":"forms up single and left double"}},"key":"255B"},{"category":"So","mappings":{"default":{"default":"box drawings up double and left single","alternative":"forms up double and left single"}},"key":"255C"},{"category":"So","mappings":{"default":{"default":"box drawings double up and left","alternative":"forms double up and left"}},"key":"255D"},{"category":"So","mappings":{"default":{"default":"box drawings vertical single and right double","alternative":"forms vertical single and right double"}},"key":"255E"},{"category":"So","mappings":{"default":{"default":"box drawings vertical double and right single","alternative":"forms vertical double and right single"}},"key":"255F"},{"category":"So","mappings":{"default":{"default":"box drawings double vertical and right","alternative":"forms double vertical and right"}},"key":"2560"},{"category":"So","mappings":{"default":{"default":"box drawings vertical single and left double","alternative":"forms vertical single and left double"}},"key":"2561"},{"category":"So","mappings":{"default":{"default":"box drawings vertical double and left single","alternative":"forms vertical double and left single"}},"key":"2562"},{"category":"So","mappings":{"default":{"default":"box drawings double vertical and left","alternative":"forms double vertical and left"}},"key":"2563"},{"category":"So","mappings":{"default":{"default":"box drawings down single and horizontal double","alternative":"forms down single and horizontal double"}},"key":"2564"},{"category":"So","mappings":{"default":{"default":"box drawings down double and horizontal single","alternative":"forms down double and horizontal single"}},"key":"2565"},{"category":"So","mappings":{"default":{"default":"box drawings double down and horizontal","alternative":"forms double down and horizontal"}},"key":"2566"},{"category":"So","mappings":{"default":{"default":"box drawings up single and horizontal double","alternative":"forms up single and horizontal double"}},"key":"2567"},{"category":"So","mappings":{"default":{"default":"box drawings up double and horizontal single","alternative":"forms up double and horizontal single"}},"key":"2568"},{"category":"So","mappings":{"default":{"default":"box drawings double up and horizontal","alternative":"forms double up and horizontal"}},"key":"2569"},{"category":"So","mappings":{"default":{"default":"box drawings vertical single and horizontal double","alternative":"forms vertical single and horizontal double"}},"key":"256A"},{"category":"So","mappings":{"default":{"default":"box drawings vertical double and horizontal single","alternative":"forms vertical double and horizontal single"}},"key":"256B"},{"category":"So","mappings":{"default":{"default":"box drawings double vertical and horizontal","alternative":"forms double vertical and horizontal"}},"key":"256C"},{"category":"So","mappings":{"default":{"default":"box drawings light arc down and right","alternative":"forms light arc down and right"}},"key":"256D"},{"category":"So","mappings":{"default":{"default":"box drawings light arc down and left","alternative":"forms light arc down and left"}},"key":"256E"},{"category":"So","mappings":{"default":{"default":"box drawings light arc up and left","alternative":"forms light arc up and left"}},"key":"256F"},{"category":"So","mappings":{"default":{"default":"box drawings light arc up and right","alternative":"forms light arc up and right"}},"key":"2570"},{"category":"So","mappings":{"default":{"default":"box drawings light diagonal upper right to lower left","alternative":"forms light diagonal upper right to lower left"}},"key":"2571"},{"category":"So","mappings":{"default":{"default":"box drawings light diagonal upper left to lower right","alternative":"forms light diagonal upper left to lower right"}},"key":"2572"},{"category":"So","mappings":{"default":{"default":"box drawings light diagonal cross","alternative":"forms light diagonal cross"}},"key":"2573"},{"category":"So","mappings":{"default":{"default":"box drawings light left","alternative":"forms light left"}},"key":"2574"},{"category":"So","mappings":{"default":{"default":"box drawings light up","alternative":"forms light up"}},"key":"2575"},{"category":"So","mappings":{"default":{"default":"box drawings light right","alternative":"forms light right"}},"key":"2576"},{"category":"So","mappings":{"default":{"default":"box drawings light down","alternative":"forms light down"}},"key":"2577"},{"category":"So","mappings":{"default":{"default":"box drawings heavy left","alternative":"forms heavy left"}},"key":"2578"},{"category":"So","mappings":{"default":{"default":"box drawings heavy up","alternative":"forms heavy up"}},"key":"2579"},{"category":"So","mappings":{"default":{"default":"box drawings heavy right","alternative":"forms heavy right"}},"key":"257A"},{"category":"So","mappings":{"default":{"default":"box drawings heavy down","alternative":"forms heavy down"}},"key":"257B"},{"category":"So","mappings":{"default":{"default":"box drawings light left and heavy right","alternative":"forms light left and heavy right"}},"key":"257C"},{"category":"So","mappings":{"default":{"default":"box drawings light up and heavy down","alternative":"forms light up and heavy down"}},"key":"257D"},{"category":"So","mappings":{"default":{"default":"box drawings heavy left and light right","alternative":"forms heavy left and light right"}},"key":"257E"},{"category":"So","mappings":{"default":{"default":"box drawings heavy up and light down","alternative":"forms heavy up and light down"}},"key":"257F"},{"category":"So","mappings":{"default":{"default":"upper half block"}},"key":"2580"},{"category":"So","mappings":{"default":{"default":"lower one eighth block"}},"key":"2581"},{"category":"So","mappings":{"default":{"default":"lower one quarter block"}},"key":"2582"},{"category":"So","mappings":{"default":{"default":"lower three eighths block"}},"key":"2583"},{"category":"So","mappings":{"default":{"default":"lower half block"}},"key":"2584"},{"category":"So","mappings":{"default":{"default":"lower five eighths block"}},"key":"2585"},{"category":"So","mappings":{"default":{"default":"lower three quarters block","alternative":"lower three quarter block"}},"key":"2586"},{"category":"So","mappings":{"default":{"default":"lower seven eighths block"}},"key":"2587"},{"category":"So","mappings":{"default":{"default":"full block"}},"key":"2588"},{"category":"So","mappings":{"default":{"default":"left seven eighths block"}},"key":"2589"},{"category":"So","mappings":{"default":{"default":"left three quarters block","alternative":"left three quarter block"}},"key":"258A"},{"category":"So","mappings":{"default":{"default":"left five eighths block"}},"key":"258B"},{"category":"So","mappings":{"default":{"default":"left half block"}},"key":"258C"},{"category":"So","mappings":{"default":{"default":"left three eighths block"}},"key":"258D"},{"category":"So","mappings":{"default":{"default":"left one quarter block"}},"key":"258E"},{"category":"So","mappings":{"default":{"default":"left one eighth block"}},"key":"258F"},{"category":"So","mappings":{"default":{"default":"right half block"}},"key":"2590"},{"category":"So","mappings":{"default":{"default":"light shade"}},"key":"2591"},{"category":"So","mappings":{"default":{"default":"medium shade"}},"key":"2592"},{"category":"So","mappings":{"default":{"default":"dark shade"}},"key":"2593"},{"category":"So","mappings":{"default":{"default":"upper one eighth block"}},"key":"2594"},{"category":"So","mappings":{"default":{"default":"right one eighth block"}},"key":"2595"},{"category":"So","mappings":{"default":{"default":"quadrant lower left"}},"key":"2596"},{"category":"So","mappings":{"default":{"default":"quadrant lower right"}},"key":"2597"},{"category":"So","mappings":{"default":{"default":"quadrant upper left"}},"key":"2598"},{"category":"So","mappings":{"default":{"default":"quadrant upper left and lower left and lower right"}},"key":"2599"},{"category":"So","mappings":{"default":{"default":"quadrant upper left and lower right"}},"key":"259A"},{"category":"So","mappings":{"default":{"default":"quadrant upper left and upper right and lower left"}},"key":"259B"},{"category":"So","mappings":{"default":{"default":"quadrant upper left and upper right and lower right"}},"key":"259C"},{"category":"So","mappings":{"default":{"default":"quadrant upper right"}},"key":"259D"},{"category":"So","mappings":{"default":{"default":"quadrant upper right and lower left"}},"key":"259E"},{"category":"So","mappings":{"default":{"default":"quadrant upper right and lower left and lower right"}},"key":"259F"},{"category":"So","mappings":{"default":{"default":"black square"}},"key":"25A0"},{"category":"So","mappings":{"default":{"default":"white square"}},"key":"25A1"},{"category":"So","mappings":{"default":{"default":"white square with rounded corners"}},"key":"25A2"},{"category":"So","mappings":{"default":{"default":"white square containing black small square"}},"key":"25A3"},{"category":"So","mappings":{"default":{"default":"square with horizontal fill"}},"key":"25A4"},{"category":"So","mappings":{"default":{"default":"square with vertical fill"}},"key":"25A5"},{"category":"So","mappings":{"default":{"default":"square with orthogonal crosshatch fill"}},"key":"25A6"},{"category":"So","mappings":{"default":{"default":"square with upper left to lower right fill"}},"key":"25A7"},{"category":"So","mappings":{"default":{"default":"square with upper right to lower left fill"}},"key":"25A8"},{"category":"So","mappings":{"default":{"default":"square with diagonal crosshatch fill"}},"key":"25A9"},{"category":"So","mappings":{"default":{"default":"black small square"}},"key":"25AA"},{"category":"So","mappings":{"default":{"default":"white small square"}},"key":"25AB"},{"category":"So","mappings":{"default":{"default":"black rectangle"}},"key":"25AC"},{"category":"So","mappings":{"default":{"default":"white rectangle"}},"key":"25AD"},{"category":"So","mappings":{"default":{"default":"black vertical rectangle"}},"key":"25AE"},{"category":"So","mappings":{"default":{"default":"white vertical rectangle"}},"key":"25AF"},{"category":"So","mappings":{"default":{"default":"black parallelogram"}},"key":"25B0"},{"category":"So","mappings":{"default":{"default":"white parallelogram"}},"key":"25B1"},{"category":"So","mappings":{"default":{"default":"black up pointing triangle","alternative":"black up pointing triangle"}},"key":"25B2"},{"category":"So","mappings":{"default":{"default":"white up pointing triangle","alternative":"white up pointing triangle"}},"key":"25B3"},{"category":"So","mappings":{"default":{"default":"black up pointing small triangle","alternative":"black up pointing small triangle"}},"key":"25B4"},{"category":"So","mappings":{"default":{"default":"white up pointing small triangle","alternative":"white up pointing small triangle"}},"key":"25B5"},{"category":"So","mappings":{"default":{"default":"black right pointing triangle","alternative":"black right pointing triangle"}},"key":"25B6"},{"category":"Sm","mappings":{"default":{"default":"white right pointing triangle","alternative":"white right pointing triangle"}},"key":"25B7"},{"category":"So","mappings":{"default":{"default":"black right pointing small triangle","alternative":"black right pointing small triangle"}},"key":"25B8"},{"category":"So","mappings":{"default":{"default":"white right pointing small triangle","alternative":"white right pointing small triangle"}},"key":"25B9"},{"category":"So","mappings":{"default":{"default":"black right pointing pointer","alternative":"black right pointing pointer"}},"key":"25BA"},{"category":"So","mappings":{"default":{"default":"white right pointing pointer","alternative":"white right pointing pointer"}},"key":"25BB"},{"category":"So","mappings":{"default":{"default":"black down pointing triangle","alternative":"black down pointing triangle"}},"key":"25BC"},{"category":"So","mappings":{"default":{"default":"white down pointing triangle","alternative":"white down pointing triangle"}},"key":"25BD"},{"category":"So","mappings":{"default":{"default":"black down pointing small triangle","alternative":"black down pointing small triangle"}},"key":"25BE"},{"category":"So","mappings":{"default":{"default":"white down pointing small triangle","alternative":"white down pointing small triangle"}},"key":"25BF"},{"category":"So","mappings":{"default":{"default":"black left pointing triangle","alternative":"black left pointing triangle"}},"key":"25C0"},{"category":"Sm","mappings":{"default":{"default":"white left pointing triangle","alternative":"white left pointing triangle"}},"key":"25C1"},{"category":"So","mappings":{"default":{"default":"black left pointing small triangle","alternative":"black left pointing small triangle"}},"key":"25C2"},{"category":"So","mappings":{"default":{"default":"white left pointing small triangle","alternative":"white left pointing small triangle"}},"key":"25C3"},{"category":"So","mappings":{"default":{"default":"black left pointing pointer","alternative":"black left pointing pointer"}},"key":"25C4"},{"category":"So","mappings":{"default":{"default":"white left pointing pointer","alternative":"white left pointing pointer"}},"key":"25C5"},{"category":"So","mappings":{"default":{"default":"black diamond"}},"key":"25C6"},{"category":"So","mappings":{"default":{"default":"white diamond"}},"key":"25C7"},{"category":"So","mappings":{"default":{"default":"white diamond containing black small diamond"}},"key":"25C8"},{"category":"So","mappings":{"default":{"default":"fisheye"}},"key":"25C9"},{"category":"So","mappings":{"default":{"default":"lozenge"}},"key":"25CA"},{"category":"So","mappings":{"default":{"default":"white circle"}},"key":"25CB"},{"category":"So","mappings":{"default":{"default":"dotted circle"}},"key":"25CC"},{"category":"So","mappings":{"default":{"default":"circle with vertical fill"}},"key":"25CD"},{"category":"So","mappings":{"default":{"default":"bullseye"}},"key":"25CE"},{"category":"So","mappings":{"default":{"default":"black circle"}},"key":"25CF"},{"category":"So","mappings":{"default":{"default":"circle with left half black"}},"key":"25D0"},{"category":"So","mappings":{"default":{"default":"circle with right half black"}},"key":"25D1"},{"category":"So","mappings":{"default":{"default":"circle with lower half black"}},"key":"25D2"},{"category":"So","mappings":{"default":{"default":"circle with upper half black"}},"key":"25D3"},{"category":"So","mappings":{"default":{"default":"circle with upper right quadrant black"}},"key":"25D4"},{"category":"So","mappings":{"default":{"default":"circle with all but upper left quadrant black"}},"key":"25D5"},{"category":"So","mappings":{"default":{"default":"left half black circle"}},"key":"25D6"},{"category":"So","mappings":{"default":{"default":"right half black circle"}},"key":"25D7"},{"category":"So","mappings":{"default":{"default":"inverse bullet"}},"key":"25D8"},{"category":"So","mappings":{"default":{"default":"inverse white circle"}},"key":"25D9"},{"category":"So","mappings":{"default":{"default":"upper half inverse white circle"}},"key":"25DA"},{"category":"So","mappings":{"default":{"default":"lower half inverse white circle"}},"key":"25DB"},{"category":"So","mappings":{"default":{"default":"upper left quadrant circular arc"}},"key":"25DC"},{"category":"So","mappings":{"default":{"default":"upper right quadrant circular arc"}},"key":"25DD"},{"category":"So","mappings":{"default":{"default":"lower right quadrant circular arc"}},"key":"25DE"},{"category":"So","mappings":{"default":{"default":"lower left quadrant circular arc"}},"key":"25DF"},{"category":"So","mappings":{"default":{"default":"upper half circle"}},"key":"25E0"},{"category":"So","mappings":{"default":{"default":"lower half circle"}},"key":"25E1"},{"category":"So","mappings":{"default":{"default":"black lower right triangle"}},"key":"25E2"},{"category":"So","mappings":{"default":{"default":"black lower left triangle"}},"key":"25E3"},{"category":"So","mappings":{"default":{"default":"black upper left triangle"}},"key":"25E4"},{"category":"So","mappings":{"default":{"default":"black upper right triangle"}},"key":"25E5"},{"category":"So","mappings":{"default":{"default":"white bullet"}},"key":"25E6"},{"category":"So","mappings":{"default":{"default":"square with left half black"}},"key":"25E7"},{"category":"So","mappings":{"default":{"default":"square with right half black"}},"key":"25E8"},{"category":"So","mappings":{"default":{"default":"square with upper left diagonal half black"}},"key":"25E9"},{"category":"So","mappings":{"default":{"default":"square with lower right diagonal half black"}},"key":"25EA"},{"category":"So","mappings":{"default":{"default":"white square with vertical bisecting line"}},"key":"25EB"},{"category":"So","mappings":{"default":{"default":"white up pointing triangle with dot","alternative":"white up pointing triangle with dot"}},"key":"25EC"},{"category":"So","mappings":{"default":{"default":"up pointing triangle with left half black","alternative":"up pointing triangle with left half black"}},"key":"25ED"},{"category":"So","mappings":{"default":{"default":"up pointing triangle with right half black","alternative":"up pointing triangle with right half black"}},"key":"25EE"},{"category":"So","mappings":{"default":{"default":"large circle"}},"key":"25EF"},{"category":"So","mappings":{"default":{"default":"white square with upper left quadrant"}},"key":"25F0"},{"category":"So","mappings":{"default":{"default":"white square with lower left quadrant"}},"key":"25F1"},{"category":"So","mappings":{"default":{"default":"white square with lower right quadrant"}},"key":"25F2"},{"category":"So","mappings":{"default":{"default":"white square with upper right quadrant"}},"key":"25F3"},{"category":"So","mappings":{"default":{"default":"white circle with upper left quadrant"}},"key":"25F4"},{"category":"So","mappings":{"default":{"default":"white circle with lower left quadrant"}},"key":"25F5"},{"category":"So","mappings":{"default":{"default":"white circle with lower right quadrant"}},"key":"25F6"},{"category":"So","mappings":{"default":{"default":"white circle with upper right quadrant"}},"key":"25F7"},{"category":"Sm","mappings":{"default":{"default":"upper left triangle"}},"key":"25F8"},{"category":"Sm","mappings":{"default":{"default":"upper right triangle"}},"key":"25F9"},{"category":"Sm","mappings":{"default":{"default":"lower left triangle"}},"key":"25FA"},{"category":"Sm","mappings":{"default":{"default":"white medium square"}},"key":"25FB"},{"category":"Sm","mappings":{"default":{"default":"black medium square"}},"key":"25FC"},{"category":"Sm","mappings":{"default":{"default":"white medium small square"}},"key":"25FD"},{"category":"Sm","mappings":{"default":{"default":"black medium small square"}},"key":"25FE"},{"category":"Sm","mappings":{"default":{"default":"lower right triangle"}},"key":"25FF"},{"category":"So","mappings":{"default":{"default":"square with top half black"}},"key":"2B12"},{"category":"So","mappings":{"default":{"default":"square with bottom half black"}},"key":"2B13"},{"category":"So","mappings":{"default":{"default":"square with upper right diagonal half black"}},"key":"2B14"},{"category":"So","mappings":{"default":{"default":"square with lower left diagonal half black"}},"key":"2B15"},{"category":"So","mappings":{"default":{"default":"diamond with left half black"}},"key":"2B16"},{"category":"So","mappings":{"default":{"default":"diamond with right half black"}},"key":"2B17"},{"category":"So","mappings":{"default":{"default":"diamond with top half black"}},"key":"2B18"},{"category":"So","mappings":{"default":{"default":"diamond with bottom half black"}},"key":"2B19"},{"category":"So","mappings":{"default":{"default":"dotted square"}},"key":"2B1A"},{"category":"So","mappings":{"default":{"default":"black large square"}},"key":"2B1B"},{"category":"So","mappings":{"default":{"default":"white large square"}},"key":"2B1C"},{"category":"So","mappings":{"default":{"default":"black very small square"}},"key":"2B1D"},{"category":"So","mappings":{"default":{"default":"white very small square"}},"key":"2B1E"},{"category":"So","mappings":{"default":{"default":"black pentagon"}},"key":"2B1F"},{"category":"So","mappings":{"default":{"default":"white pentagon"}},"key":"2B20"},{"category":"So","mappings":{"default":{"default":"white hexagon"}},"key":"2B21"},{"category":"So","mappings":{"default":{"default":"black hexagon"}},"key":"2B22"},{"category":"So","mappings":{"default":{"default":"horizontal black hexagon"}},"key":"2B23"},{"category":"So","mappings":{"default":{"default":"black large circle"}},"key":"2B24"},{"category":"So","mappings":{"default":{"default":"black medium diamond"}},"key":"2B25"},{"category":"So","mappings":{"default":{"default":"white medium diamond"}},"key":"2B26"},{"category":"So","mappings":{"default":{"default":"black medium lozenge"}},"key":"2B27"},{"category":"So","mappings":{"default":{"default":"white medium lozenge"}},"key":"2B28"},{"category":"So","mappings":{"default":{"default":"black small diamond"}},"key":"2B29"},{"category":"So","mappings":{"default":{"default":"black small lozenge"}},"key":"2B2A"},{"category":"So","mappings":{"default":{"default":"white small lozenge"}},"key":"2B2B"},{"category":"So","mappings":{"default":{"default":"black horizontal ellipse"}},"key":"2B2C"},{"category":"So","mappings":{"default":{"default":"white horizontal ellipse"}},"key":"2B2D"},{"category":"So","mappings":{"default":{"default":"black vertical ellipse"}},"key":"2B2E"},{"category":"So","mappings":{"default":{"default":"white vertical ellipse"}},"key":"2B2F"},{"category":"So","mappings":{"default":{"default":"white medium star"}},"key":"2B50"},{"category":"So","mappings":{"default":{"default":"black small star"}},"key":"2B51"},{"category":"So","mappings":{"default":{"default":"white small star"}},"key":"2B52"},{"category":"So","mappings":{"default":{"default":"black right pointing pentagon"}},"key":"2B53"},{"category":"So","mappings":{"default":{"default":"white right pointing pentagon"}},"key":"2B54"},{"category":"So","mappings":{"default":{"default":"heavy large circle"}},"key":"2B55"},{"category":"So","mappings":{"default":{"default":"heavy oval with oval inside"}},"key":"2B56"},{"category":"So","mappings":{"default":{"default":"heavy circle with circle inside"}},"key":"2B57"},{"category":"So","mappings":{"default":{"default":"heavy circle"}},"key":"2B58"},{"category":"So","mappings":{"default":{"default":"heavy circled saltire"}},"key":"2B59"}] +, +"en/math_harpoons.js": +[{"locale":"en"},{"category":"So","mappings":{"default":{"default":"leftwards harpoon with barb upwards","short":"left harpoon with barb up"}},"key":"21BC"},{"category":"So","mappings":{"default":{"default":"leftwards harpoon with barb downwards","short":"left harpoon with barb down"}},"key":"21BD"},{"category":"So","mappings":{"default":{"default":"upwards harpoon with barb rightwards","short":"up harpoon with barb right"}},"key":"21BE"},{"category":"So","mappings":{"default":{"default":"upwards harpoon with barb leftwards","short":"up harpoon with barb left"}},"key":"21BF"},{"category":"So","mappings":{"default":{"default":"rightwards harpoon with barb upwards","short":"right harpoon with barb up"}},"key":"21C0"},{"category":"So","mappings":{"default":{"default":"rightwards harpoon with barb downwards","short":"right harpoon with barb down"}},"key":"21C1"},{"category":"So","mappings":{"default":{"default":"downwards harpoon with barb rightwards","short":"down harpoon with barb right"}},"key":"21C2"},{"category":"So","mappings":{"default":{"default":"downwards harpoon with barb leftwards","short":"down harpoon with barb left"}},"key":"21C3"},{"category":"So","mappings":{"default":{"default":"leftwards harpoon over rightwards harpoon","short":"left harpoon over right harpoon"}},"key":"21CB"},{"category":"So","mappings":{"default":{"default":"rightwards harpoon over leftwards harpoon","short":"right harpoon over left harpoon"}},"key":"21CC"},{"category":"Sm","mappings":{"default":{"default":"left barb up right barb down harpoon"}},"key":"294A"},{"category":"Sm","mappings":{"default":{"default":"left barb down right barb up harpoon"}},"key":"294B"},{"category":"Sm","mappings":{"default":{"default":"up barb right down barb left harpoon"}},"key":"294C"},{"category":"Sm","mappings":{"default":{"default":"up barb left down barb right harpoon"}},"key":"294D"},{"category":"Sm","mappings":{"default":{"default":"left barb up right barb up harpoon"}},"key":"294E"},{"category":"Sm","mappings":{"default":{"default":"up barb right down barb right harpoon"}},"key":"294F"},{"category":"Sm","mappings":{"default":{"default":"left barb down right barb down harpoon"}},"key":"2950"},{"category":"Sm","mappings":{"default":{"default":"up barb left down barb left harpoon"}},"key":"2951"},{"category":"Sm","mappings":{"default":{"default":"leftwards harpoon with barb up to bar","short":"left harpoon with barb up to bar"}},"key":"2952"},{"category":"Sm","mappings":{"default":{"default":"rightwards harpoon with barb up to bar","short":"right harpoon with barb up to bar"}},"key":"2953"},{"category":"Sm","mappings":{"default":{"default":"upwards harpoon with barb right to bar","short":"up harpoon with barb right to bar"}},"key":"2954"},{"category":"Sm","mappings":{"default":{"default":"downwards harpoon with barb right to bar","short":"down harpoon with barb right to bar"}},"key":"2955"},{"category":"Sm","mappings":{"default":{"default":"leftwards harpoon with barb down to bar","short":"left harpoon with barb down to bar"}},"key":"2956"},{"category":"Sm","mappings":{"default":{"default":"rightwards harpoon with barb down to bar","short":"right harpoon with barb down to bar"}},"key":"2957"},{"category":"Sm","mappings":{"default":{"default":"upwards harpoon with barb left to bar","short":"up harpoon with barb left to bar"}},"key":"2958"},{"category":"Sm","mappings":{"default":{"default":"downwards harpoon with barb left to bar","short":"down harpoon with barb left to bar"}},"key":"2959"},{"category":"Sm","mappings":{"default":{"default":"leftwards harpoon with barb up from bar","short":"left harpoon with barb up from bar"}},"key":"295A"},{"category":"Sm","mappings":{"default":{"default":"rightwards harpoon with barb up from bar","short":"right harpoon with barb up from bar"}},"key":"295B"},{"category":"Sm","mappings":{"default":{"default":"upwards harpoon with barb right from bar","short":"up harpoon with barb right from bar"}},"key":"295C"},{"category":"Sm","mappings":{"default":{"default":"downwards harpoon with barb right from bar","short":"down harpoon with barb right from bar"}},"key":"295D"},{"category":"Sm","mappings":{"default":{"default":"leftwards harpoon with barb down from bar","short":"left harpoon with barb down from bar"}},"key":"295E"},{"category":"Sm","mappings":{"default":{"default":"rightwards harpoon with barb down from bar","short":"right harpoon with barb down from bar"}},"key":"295F"},{"category":"Sm","mappings":{"default":{"default":"upwards harpoon with barb left from bar","short":"up harpoon with barb left from bar"}},"key":"2960"},{"category":"Sm","mappings":{"default":{"default":"downwards harpoon with barb left from bar","short":"down harpoon with barb left from bar"}},"key":"2961"},{"category":"Sm","mappings":{"default":{"default":"leftwards harpoon with barb up above leftwards harpoon with barb down","short":"left harpoon with barb up above left harpoon with barb down"}},"key":"2962"},{"category":"Sm","mappings":{"default":{"default":"upwards harpoon with barb left beside upwards harpoon with barb right","short":"up harpoon with barb left beside up harpoon with barb right"}},"key":"2963"},{"category":"Sm","mappings":{"default":{"default":"rightwards harpoon with barb up above rightwards harpoon with barb down","short":"right harpoon with barb up above right harpoon with barb down"}},"key":"2964"},{"category":"Sm","mappings":{"default":{"default":"downwards harpoon with barb left beside downwards harpoon with barb right","short":"down harpoon with barb left beside down harpoon with barb right"}},"key":"2965"},{"category":"Sm","mappings":{"default":{"default":"leftwards harpoon with barb up above rightwards harpoon with barb up","short":"left harpoon with barb up above right harpoon with barb up"}},"key":"2966"},{"category":"Sm","mappings":{"default":{"default":"leftwards harpoon with barb down above rightwards harpoon with barb down","short":"left harpoon with barb down above right harpoon with barb down"}},"key":"2967"},{"category":"Sm","mappings":{"default":{"default":"rightwards harpoon with barb up above leftwards harpoon with barb up","short":"right harpoon with barb up above left harpoon with barb up"}},"key":"2968"},{"category":"Sm","mappings":{"default":{"default":"rightwards harpoon with barb down above leftwards harpoon with barb down","short":"right harpoon with barb down above left harpoon with barb down"}},"key":"2969"},{"category":"Sm","mappings":{"default":{"default":"leftwards harpoon with barb up above long dash","short":"left harpoon with barb up above long dash"}},"key":"296A"},{"category":"Sm","mappings":{"default":{"default":"leftwards harpoon with barb down below long dash","short":"left harpoon with barb down below long dash"}},"key":"296B"},{"category":"Sm","mappings":{"default":{"default":"rightwards harpoon with barb up above long dash","short":"right harpoon with barb up above long dash"}},"key":"296C"},{"category":"Sm","mappings":{"default":{"default":"rightwards harpoon with barb down below long dash","short":"right harpoon with barb down below long dash"}},"key":"296D"},{"category":"Sm","mappings":{"default":{"default":"upwards harpoon with barb left beside downwards harpoon with barb right","short":"up harpoon with barb left beside down harpoon with barb right"}},"key":"296E"},{"category":"Sm","mappings":{"default":{"default":"downwards harpoon with barb left beside upwards harpoon with barb right","short":"down harpoon with barb left beside up harpoon with barb right"}},"key":"296F"},{"category":"Sm","mappings":{"default":{"default":"left fish tail"}},"key":"297C"},{"category":"Sm","mappings":{"default":{"default":"right fish tail"}},"key":"297D"},{"category":"Sm","mappings":{"default":{"default":"up fish tail"}},"key":"297E"},{"category":"Sm","mappings":{"default":{"default":"down fish tail"}},"key":"297F"}] +, +"en/math_non_characters.js": +[{"locale":"en"},{"category":"Ll","mappings":{"default":{"default":"mathematical italic small h over two time greek letter pi","alternative":"italic small h over two pi","short":"italic h over two pi"},"physics":{"default":"planck constant over two pi","alternative":"planck constant over 2 pi"}},"key":"210F"},{"category":"So","mappings":{"default":{"default":"l b bar symbol","short":"l b bar"}},"key":"2114"},{"category":"So","mappings":{"default":{"default":"numero sign","alternative":"numero","short":"numero"}},"key":"2116"},{"category":"So","mappings":{"default":{"default":"sound recording copyright"}},"key":"2117"},{"category":"So","mappings":{"default":{"default":"prescription take"}},"key":"211E"},{"category":"So","mappings":{"default":{"default":"response"}},"key":"211F"},{"category":"So","mappings":{"default":{"default":"service mark"}},"key":"2120"},{"category":"So","mappings":{"default":{"default":"telephone sign","alternative":"t e l symbol"}},"key":"2121"},{"category":"So","mappings":{"default":{"default":"trade mark sign","alternative":"trademark","short":"trade mark"}},"key":"2122"},{"category":"So","mappings":{"default":{"default":"versicle"}},"key":"2123"},{"category":"So","mappings":{"default":{"default":"ounce sign","alternative":"ounce","short":"ounce"}},"key":"2125"},{"category":"Lu","mappings":{"default":{"default":"ohm sign","alternative":"ohm","short":"ohm"}},"key":"2126"},{"category":"So","mappings":{"default":{"default":"inverted ohm sign","alternative":"mho","short":"inverted ohm"}},"key":"2127"},{"category":"Lu","mappings":{"default":{"default":"kelvin sign","alternative":"degrees kelvin","short":"kelvin"}},"key":"212A"},{"category":"Lu","mappings":{"default":{"default":"angstrom sign","alternative":"angstrom unit","short":"angstrom"}},"key":"212B"},{"category":"So","mappings":{"default":{"default":"estimated symbol","short":"estimated"}},"key":"212E"},{"category":"Lu","mappings":{"default":{"default":"turned capital f","alternative":"turned f","short":"turned cap f"},"mathspeak":{"default":"turned upper F"}},"key":"2132"},{"category":"Ll","mappings":{"default":{"default":"information source"}},"key":"2139"},{"category":"So","mappings":{"default":{"default":"rotated capital q","short":"rotated cap q"},"mathspeak":{"default":"rotated upper Q"}},"key":"213A"},{"category":"So","mappings":{"default":{"default":"facsimile sign"}},"key":"213B"},{"category":"Sm","mappings":{"default":{"default":"turned sans serif capital g","short":"turned sans serif cap g"},"mathspeak":{"default":"turned sans serif upper G"}},"key":"2141"},{"category":"Sm","mappings":{"default":{"default":"turned sans serif capital l","short":"turned sans serif cap l"},"mathspeak":{"default":"turned sans serif upper L"}},"key":"2142"},{"category":"Sm","mappings":{"default":{"default":"reversed sans serif capital l","short":"reversed sans serif cap l"},"mathspeak":{"default":"reversed sans serif upper L"}},"key":"2143"},{"category":"Sm","mappings":{"default":{"default":"turned sans serif capital y","short":"turned sans serif cap y"},"mathspeak":{"default":"turned sans serif upper Y"}},"key":"2144"}] +, +"en/math_symbols.js": +[{"locale":"en"},{"category":"Po","mappings":{"default":{"default":"factorial operator","alternative":"exclamation mark","short":"factorial"},"mathspeak":{"default":"exclamation-mark"}},"key":"0021"},{"category":"Po","mappings":{"default":{"default":"quotation mark"},"mathspeak":{"default":"quotation-mark"}},"key":"0022"},{"category":"Po","mappings":{"default":{"default":"number sign","alternative":"hash","short":"number"},"mathspeak":{"default":"number-sign","brief":"num-sign","sbrief":"num-sign"}},"key":"0023"},{"category":"Sc","mappings":{"default":{"default":"dollar sign","short":"dollar"},"mathspeak":{"default":"dollar-sign"}},"key":"0024"},{"category":"Po","mappings":{"default":{"default":"percent sign","short":"percent"},"mathspeak":{"default":"percent-sign"}},"key":"0025"},{"category":"Po","mappings":{"default":{"default":"ampersand"}},"key":"0026"},{"category":"Po","mappings":{"default":{"default":"apostrophe","alternative":"apostrophe quote"},"mathspeak":{"default":"prime"}},"key":"0027"},{"category":"Po","mappings":{"default":{"default":"asterisk"}},"key":"002A"},{"category":"Sm","mappings":{"default":{"default":"plus sign","short":"plus"}},"key":"002B"},{"category":"Po","mappings":{"default":{"default":"comma"}},"key":"002C"},{"category":"Pd","mappings":{"default":{"default":"hyphen minus","short":"minus"},"mathspeak":{"default":"hyphen"}},"key":"002D"},{"category":"Po","mappings":{"default":{"default":"full stop","alternative":"period"},"mathspeak":{"default":"period"}},"key":"002E"},{"category":"Po","mappings":{"default":{"default":"solidus","alternative":"slash"},"mathspeak":{"default":"slash"},"emacspeak":{"default":"slash"}},"key":"002F"},{"category":"Po","mappings":{"default":{"default":"colon"}},"key":"003A"},{"category":"Po","mappings":{"default":{"default":"semicolon"}},"key":"003B"},{"category":"Sm","mappings":{"default":{"default":"less than sign","short":"less than"},"mathspeak":{"default":"less-than"}},"key":"003C"},{"category":"Sm","mappings":{"default":{"default":"equals sign","short":"equals"}},"key":"003D"},{"category":"Sm","mappings":{"default":{"default":"greater than sign","short":"greater than"},"mathspeak":{"default":"greater-than"}},"key":"003E"},{"category":"Po","mappings":{"default":{"default":"question mark"},"mathspeak":{"default":"question-mark"}},"key":"003F"},{"category":"Po","mappings":{"default":{"default":"commercial at","short":"at"},"mathspeak":{"default":"commercial-at"}},"key":"0040"},{"category":"Po","mappings":{"default":{"default":"reverse solidus","alternative":"backslash"},"mathspeak":{"default":"reverse-solidus"}},"key":"005C"},{"category":"Sk","mappings":{"default":{"default":"circumflex accent","alternative":"spacing circumflex","short":"hat"},"mathspeak":{"default":"caret"}},"key":"005E"},{"category":"Pc","mappings":{"default":{"default":"low line","alternative":"spacing underscore"},"mathspeak":{"default":"bar"}},"key":"005F"},{"category":"Sk","mappings":{"default":{"default":"grave accent","alternative":"spacing grave","short":"grave"},"mathspeak":{"default":"grave"}},"key":"0060"},{"category":"Sm","mappings":{"default":{"default":"vertical line","alternative":"vertical bar"},"mathspeak":{"default":"vertical-bar"}},"key":"007C"},{"category":"Sm","mappings":{"default":{"default":"tilde"}},"key":"007E"},{"category":"Po","mappings":{"default":{"default":"inverted exclamation mark"},"mathspeak":{"default":"inverted-exclamation-mark"}},"key":"00A1"},{"category":"Sc","mappings":{"default":{"default":"cent sign","short":"cent"},"mathspeak":{"default":"cent-sign"}},"key":"00A2"},{"category":"Sc","mappings":{"default":{"default":"pound sign","short":"pound"},"mathspeak":{"default":"pound-sign"}},"key":"00A3"},{"category":"Sc","mappings":{"default":{"default":"currency sign","short":"currency"},"mathspeak":{"default":"currency-sign"}},"key":"00A4"},{"category":"Sc","mappings":{"default":{"default":"yen sign","short":"yen"},"mathspeak":{"default":"yen-sign"}},"key":"00A5"},{"category":"So","mappings":{"default":{"default":"broken bar","alternative":"broken vertical bar"},"mathspeak":{"default":"broken-vertical-bar"}},"key":"00A6"},{"category":"Po","mappings":{"default":{"default":"section sign","short":"section"},"mathspeak":{"default":"section-sign"}},"key":"00A7"},{"category":"Sk","mappings":{"default":{"default":"diaeresis","alternative":"spacing diaeresis","short":"double dot"},"mathspeak":{"default":"two-dots"}},"key":"00A8"},{"category":"So","mappings":{"default":{"default":"copyright sign","short":"copyright"},"mathspeak":{"default":"copyright-sign"}},"key":"00A9"},{"category":"Lo","mappings":{"default":{"default":"feminine ordinal indicator"},"mathspeak":{"default":"feminine-ordinal-indicator"}},"key":"00AA"},{"category":"Pi","mappings":{"default":{"default":"left pointing double angle quotation mark","alternative":"left pointing guillemet"},"mathspeak":{"default":"left-pointing-guillemet"}},"key":"00AB"},{"category":"Sm","mappings":{"default":{"default":"not sign","short":"not"},"mathspeak":{"default":"not-sign"}},"key":"00AC"},{"category":"So","mappings":{"default":{"default":"registered sign","alternative":"registered trade mark sign","short":"registered"},"mathspeak":{"default":"registered-trade-mark-sign"}},"key":"00AE"},{"category":"Sk","mappings":{"default":{"default":"macron","alternative":"spacing macron"},"mathspeak":{"default":"bar"}},"key":"00AF"},{"category":"So","mappings":{"default":{"default":"degree sign","short":"degree"},"mathspeak":{"default":"degree"}},"key":"00B0"},{"category":"Sm","mappings":{"default":{"default":"plus minus sign","alternative":"plus or minus sign","short":"plus minus"},"mathspeak":{"default":"plus-or-minus"}},"key":"00B1"},{"category":"Sk","mappings":{"default":{"default":"acute accent","alternative":"spacing acute","short":"acute"},"mathspeak":{"default":"acute"}},"key":"00B4"},{"category":"Ll","mappings":{"default":{"default":"micro sign","short":"micro"},"mathspeak":{"default":"micro-sign"}},"key":"00B5"},{"category":"Po","mappings":{"default":{"default":"pilcrow sign","alternative":"paragraph sign","short":"pilcrow"},"mathspeak":{"default":"paragraph-sign"}},"key":"00B6"},{"category":"Po","mappings":{"default":{"default":"middle dot"},"mathspeak":{"default":"dot"}},"key":"00B7"},{"category":"Sk","mappings":{"default":{"default":"cedilla","alternative":"spacing cedilla"},"mathspeak":{"default":"cedilla"}},"key":"00B8"},{"category":"Lo","mappings":{"default":{"default":"masculine ordinal indicator"},"mathspeak":{"default":"masculine-ordinal-indicator"}},"key":"00BA"},{"category":"Pf","mappings":{"default":{"default":"right pointing double angle quotation mark","alternative":"right pointing guillemet"},"mathspeak":{"default":"right-pointing-guillemet"}},"key":"00BB"},{"category":"Po","mappings":{"default":{"default":"inverted question mark"},"mathspeak":{"default":"inverted-question-mark"}},"key":"00BF"},{"category":"Sm","mappings":{"default":{"default":"multiplication sign","short":"multiplication"},"mathspeak":{"default":"times"}},"key":"00D7"},{"category":"Sm","mappings":{"default":{"default":"division sign","short":"division"},"mathspeak":{"default":"division-sign"}},"key":"00F7"},{"category":"Sk","mappings":{"default":{"default":"breve","alternative":"spacing breve"},"mathspeak":{"default":"breve"}},"key":"02D8"},{"category":"Sk","mappings":{"default":{"default":"dot above","alternative":"spacing dot above"},"mathspeak":{"default":"dot"}},"key":"02D9"},{"category":"Sk","mappings":{"default":{"default":"ring above","alternative":"spacing ring above"},"mathspeak":{"default":"ring-above"}},"key":"02DA"},{"category":"Sk","mappings":{"default":{"default":"ogonek","alternative":"spacing ogonek"},"mathspeak":{"default":"ogonek"}},"key":"02DB"},{"category":"Sk","mappings":{"default":{"default":"small tilde","alternative":"spacing tilde"},"mathspeak":{"default":"tilde"}},"key":"02DC"},{"category":"Sk","mappings":{"default":{"default":"double acute accent","alternative":"spacing double acute"},"mathspeak":{"default":"double-acute"}},"key":"02DD"},{"category":"Pd","mappings":{"default":{"default":"hyphen"}},"key":"2010"},{"category":"Pd","mappings":{"default":{"default":"non breaking hyphen"},"mathspeak":{"default":"non-breaking-hyphen"}},"key":"2011"},{"category":"Pd","mappings":{"default":{"default":"figure dash"},"mathspeak":{"default":"figure-dash"}},"key":"2012"},{"category":"Pd","mappings":{"default":{"default":"en dash"},"mathspeak":{"default":"en-dash"}},"key":"2013"},{"category":"Pd","mappings":{"default":{"default":"em dash"},"mathspeak":{"default":"em-dash"}},"key":"2014"},{"category":"Pd","mappings":{"default":{"default":"horizontal bar","alternative":"quotation dash"},"mathspeak":{"default":"quotation-dash"}},"key":"2015"},{"category":"Po","mappings":{"default":{"default":"double vertical line","alternative":"double vertical bar"},"mathspeak":{"default":"double-vertical-bar"}},"key":"2016"},{"category":"Po","mappings":{"default":{"default":"double low line","alternative":"spacing double underscore"},"mathspeak":{"default":"double-underscore"}},"key":"2017"},{"category":"Pi","mappings":{"default":{"default":"left single quotation mark","alternative":"single turned comma quotation mark"},"mathspeak":{"default":"single-turned-comma-quotation-mark"}},"key":"2018"},{"category":"Pf","mappings":{"default":{"default":"right single quotation mark","alternative":"single comma quotation mark"},"mathspeak":{"default":"single-comma-quotation-mark"}},"key":"2019"},{"category":"Ps","mappings":{"default":{"default":"single low 9 quotation mark","alternative":"low single comma quotation mark"},"mathspeak":{"default":"low-single-comma-quotation-mark"}},"key":"201A"},{"category":"Pi","mappings":{"default":{"default":"single high reversed 9 quotation mark","alternative":"single reversed comma quotation mark"},"mathspeak":{"default":"single-reversed-comma-quotation-mark"}},"key":"201B"},{"category":"Pi","mappings":{"default":{"default":"left double quotation mark","alternative":"double turned comma quotation mark"},"mathspeak":{"default":"double-turned-comma-quotation-mark"}},"key":"201C"},{"category":"Pf","mappings":{"default":{"default":"right double quotation mark","alternative":"double comma quotation mark"},"mathspeak":{"default":"double-comma-quotation-mark"}},"key":"201D"},{"category":"Ps","mappings":{"default":{"default":"double low 9 quotation mark","alternative":"low double comma quotation mark"},"mathspeak":{"default":"low-double-comma-quotation-mark"}},"key":"201E"},{"category":"Pi","mappings":{"default":{"default":"double high reversed 9 quotation mark","alternative":"double reversed comma quotation mark"},"mathspeak":{"default":"double-reversed-comma-quotation-mark"}},"key":"201F"},{"category":"Po","mappings":{"default":{"default":"dagger"}},"key":"2020"},{"category":"Po","mappings":{"default":{"default":"double dagger"},"mathspeak":{"default":"double-dagger"}},"key":"2021"},{"category":"Po","mappings":{"default":{"default":"bullet"}},"key":"2022"},{"category":"Po","mappings":{"default":{"default":"triangular bullet"},"mathspeak":{"default":"triangular-bullet"}},"key":"2023"},{"category":"Po","mappings":{"default":{"default":"one dot leader"},"mathspeak":{"default":"one-dot-leader"}},"key":"2024"},{"category":"Po","mappings":{"default":{"default":"two dot leader"},"mathspeak":{"default":"two-dot-leader"}},"key":"2025"},{"category":"Po","mappings":{"default":{"default":"horizontal ellipsis"},"mathspeak":{"default":"ellipsis"}},"key":"2026"},{"category":"Po","mappings":{"default":{"default":"hyphenation point"},"mathspeak":{"default":"hyphenation-point"}},"key":"2027"},{"category":"Po","mappings":{"default":{"default":"per mille sign","short":"per mille"},"mathspeak":{"default":"per-mille"}},"key":"2030"},{"category":"Po","mappings":{"default":{"default":"per ten thousand sign","short":"per ten thousand"},"mathspeak":{"default":"per-ten-thousand"}},"key":"2031"},{"category":"Po","mappings":{"default":{"default":"prime"}},"key":"2032"},{"category":"Po","mappings":{"default":{"default":"double prime"},"mathspeak":{"default":"double-prime"}},"key":"2033"},{"category":"Po","mappings":{"default":{"default":"triple prime"},"mathspeak":{"default":"triple-prime"}},"key":"2034"},{"category":"Po","mappings":{"default":{"default":"reversed prime"},"mathspeak":{"default":"reversed-prime"}},"key":"2035"},{"category":"Po","mappings":{"default":{"default":"reversed double prime"},"mathspeak":{"default":"reversed-double-prime"}},"key":"2036"},{"category":"Po","mappings":{"default":{"default":"reversed triple prime"},"mathspeak":{"default":"reversed-triple-prime"}},"key":"2037"},{"category":"Po","mappings":{"default":{"default":"caret"}},"key":"2038"},{"category":"Pi","mappings":{"default":{"default":"single left pointing angle quotation mark","alternative":"left pointing single guillemet"},"mathspeak":{"default":"left-pointing-single-guillemet"}},"key":"2039"},{"category":"Pf","mappings":{"default":{"default":"single right pointing angle quotation mark","alternative":"right pointing single guillemet"},"mathspeak":{"default":"right-pointing-single-guillemet"}},"key":"203A"},{"category":"Po","mappings":{"default":{"default":"reference mark"},"mathspeak":{"default":"reference-mark"}},"key":"203B"},{"category":"Po","mappings":{"default":{"default":"double exclamation mark"},"mathspeak":{"default":"double-exclamation-mark"}},"key":"203C"},{"category":"Po","mappings":{"default":{"default":"interrobang"}},"key":"203D"},{"category":"Po","mappings":{"default":{"default":"overline","alternative":"spacing overscore"},"mathspeak":{"default":"bar"}},"key":"203E"},{"category":"Pc","mappings":{"default":{"default":"undertie"}},"key":"203F"},{"category":"Pc","mappings":{"default":{"default":"character tie"},"mathspeak":{"default":"character-tie"}},"key":"2040"},{"category":"Po","mappings":{"default":{"default":"caret insertion point"},"mathspeak":{"default":"caret-insertion-point"}},"key":"2041"},{"category":"Po","mappings":{"default":{"default":"asterism"}},"key":"2042"},{"category":"Po","mappings":{"default":{"default":"hyphen bullet"},"mathspeak":{"default":"hyphen-bullet"}},"key":"2043"},{"category":"Sm","mappings":{"default":{"default":"fraction slash"},"mathspeak":{"default":"fraction-slash"}},"key":"2044"},{"category":"Po","mappings":{"default":{"default":"double question mark"},"mathspeak":{"default":"double-question-mark"}},"key":"2047"},{"category":"Po","mappings":{"default":{"default":"question exclamation mark"},"mathspeak":{"default":"question-exclamation-mark"}},"key":"2048"},{"category":"Po","mappings":{"default":{"default":"exclamation question mark"},"mathspeak":{"default":"exclamation-question-mark"}},"key":"2049"},{"category":"Po","mappings":{"default":{"default":"reversed pilcrow sign","short":"reversed pilcrow"},"mathspeak":{"default":"reversed-pilcrow"}},"key":"204B"},{"category":"Po","mappings":{"default":{"default":"black leftwards bullet"},"mathspeak":{"default":"black-leftwards-bullet"}},"key":"204C"},{"category":"Po","mappings":{"default":{"default":"black rightwards bullet"},"mathspeak":{"default":"black-rightwards-bullet"}},"key":"204D"},{"category":"Po","mappings":{"default":{"default":"low asterisk"},"mathspeak":{"default":"low-asterisk"}},"key":"204E"},{"category":"Po","mappings":{"default":{"default":"reversed semicolon"},"mathspeak":{"default":"reversed-semicolon"}},"key":"204F"},{"category":"Po","mappings":{"default":{"default":"close up"},"mathspeak":{"default":"close-up"}},"key":"2050"},{"category":"Po","mappings":{"default":{"default":"two asterisks aligned vertically"},"mathspeak":{"default":"two-asterisks-aligned-vertically"}},"key":"2051"},{"category":"Sm","mappings":{"default":{"default":"commercial minus sign","short":"commercial minus"},"mathspeak":{"default":"commercial-minus"}},"key":"2052"},{"category":"Po","mappings":{"default":{"default":"swung dash"},"mathspeak":{"default":"swung-dash"}},"key":"2053"},{"category":"Pc","mappings":{"default":{"default":"inverted undertie"},"mathspeak":{"default":"inverted-undertie"}},"key":"2054"},{"category":"Po","mappings":{"default":{"default":"flower punctuation mark"},"mathspeak":{"default":"flower-punctuation-mark"}},"key":"2055"},{"category":"Po","mappings":{"default":{"default":"three dot punctuation"},"mathspeak":{"default":"three-dot-punctuation"}},"key":"2056"},{"category":"Po","mappings":{"default":{"default":"quadruple prime"},"mathspeak":{"default":"quadruple-prime"}},"key":"2057"},{"category":"Po","mappings":{"default":{"default":"four dot punctuation"},"mathspeak":{"default":"four-dot-punctuation"}},"key":"2058"},{"category":"Po","mappings":{"default":{"default":"five dot punctuation"},"mathspeak":{"default":"five-dot-punctuation"}},"key":"2059"},{"category":"Po","mappings":{"default":{"default":"two dot punctuation"},"mathspeak":{"default":"two-dot-punctuation"}},"key":"205A"},{"category":"Po","mappings":{"default":{"default":"four dot mark"},"mathspeak":{"default":"four-dot-mark"}},"key":"205B"},{"category":"Po","mappings":{"default":{"default":"dotted cross"},"mathspeak":{"default":"dotted-cross"}},"key":"205C"},{"category":"Po","mappings":{"default":{"default":"tricolon"}},"key":"205D"},{"category":"Po","mappings":{"default":{"default":"vertical four dots"},"mathspeak":{"default":"vertical-four-dots"}},"key":"205E"},{"category":"Sm","mappings":{"default":{"default":"superscript plus sign","short":"superscript plus"},"mathspeak":{"default":"superscript-plus"}},"key":"207A"},{"category":"Sm","mappings":{"default":{"default":"superscript minus","alternative":"superscript hyphen minus"},"mathspeak":{"default":"superscript-hyphen-minus"}},"key":"207B"},{"category":"Sm","mappings":{"default":{"default":"superscript equals sign","short":"superscript equals"},"mathspeak":{"default":"superscript-equals"}},"key":"207C"},{"category":"Ps","mappings":{"default":{"default":"superscript left parenthesis","alternative":"superscript opening parenthesis"},"mathspeak":{"default":"superscript-opening-parenthesis"}},"key":"207D"},{"category":"Pe","mappings":{"default":{"default":"superscript right parenthesis","alternative":"superscript closing parenthesis"},"mathspeak":{"default":"superscript-closing-parenthesis"}},"key":"207E"},{"category":"Sm","mappings":{"default":{"default":"subscript plus sign","short":"subscript plus"},"mathspeak":{"default":"subscript-plus"}},"key":"208A"},{"category":"Sm","mappings":{"default":{"default":"subscript minus","alternative":"subscript hyphen minus"},"mathspeak":{"default":"subscript-hyphen-minus"}},"key":"208B"},{"category":"Sm","mappings":{"default":{"default":"subscript equals sign","short":"subscript equals"},"mathspeak":{"default":"subscript-equals"}},"key":"208C"},{"category":"Ps","mappings":{"default":{"default":"subscript left parenthesis","alternative":"subscript opening parenthesis"},"mathspeak":{"default":"subscript-opening-parenthesis"}},"key":"208D"},{"category":"Pe","mappings":{"default":{"default":"subscript right parenthesis","alternative":"subscript closing parenthesis"},"mathspeak":{"default":"subscript-closing-parenthesis"}},"key":"208E"},{"category":"So","mappings":{"default":{"default":"property line"},"mathspeak":{"default":"property-line"}},"key":"214A"},{"category":"Sm","mappings":{"default":{"default":"turned ampersand"},"mathspeak":{"default":"turned-ampersand"}},"key":"214B"},{"category":"So","mappings":{"default":{"default":"per sign","short":"per"},"mathspeak":{"default":"per-sign"}},"key":"214C"},{"category":"So","mappings":{"default":{"default":"aktieselskab"}},"key":"214D"},{"category":"Ll","mappings":{"default":{"default":"turned small f"},"mathspeak":{"default":"turned-small-f"}},"key":"214E"},{"category":"Sm","mappings":{"default":{"default":"for all"},"mathspeak":{"default":"for-all"}},"key":"2200"},{"category":"Sm","mappings":{"default":{"default":"complement"}},"key":"2201"},{"category":"Sm","mappings":{"default":{"default":"partial differential"},"mathspeak":{"default":"partial-differential"}},"key":"2202"},{"category":"Sm","mappings":{"default":{"default":"there exists"},"mathspeak":{"default":"there-exists"}},"key":"2203"},{"category":"Sm","mappings":{"default":{"default":"there does not exist"},"mathspeak":{"default":"there-does-not-exist"}},"key":"2204"},{"category":"Sm","mappings":{"default":{"default":"empty set"},"mathspeak":{"default":"empty-set"}},"key":"2205"},{"category":"Sm","mappings":{"default":{"default":"increment"}},"key":"2206"},{"category":"Sm","mappings":{"default":{"default":"nabla"}},"key":"2207"},{"category":"Sm","mappings":{"default":{"default":"element of"},"mathspeak":{"default":"element-of"}},"key":"2208"},{"category":"Sm","mappings":{"default":{"default":"not an element of"},"mathspeak":{"default":"not-an-element-of"}},"key":"2209"},{"category":"Sm","mappings":{"default":{"default":"small element of"},"mathspeak":{"default":"small-element-of"}},"key":"220A"},{"category":"Sm","mappings":{"default":{"default":"contains as member"},"mathspeak":{"default":"contains-as-member"}},"key":"220B"},{"category":"Sm","mappings":{"default":{"default":"does not contain as member"},"mathspeak":{"default":"does-not-contain-as-member"}},"key":"220C"},{"category":"Sm","mappings":{"default":{"default":"small contains as member"},"mathspeak":{"default":"small-contains-as-member"}},"key":"220D"},{"category":"Sm","mappings":{"default":{"default":"end of proof"},"mathspeak":{"default":"end-of-proof"}},"key":"220E"},{"category":"Sm","mappings":{"default":{"default":"n ary product"},"mathspeak":{"default":"product"}},"key":"220F"},{"category":"Sm","mappings":{"default":{"default":"n ary coproduct"},"mathspeak":{"default":"coproduct"}},"key":"2210"},{"category":"Sm","mappings":{"default":{"default":"n ary summation"},"mathspeak":{"default":"sigma-summation"}},"key":"2211"},{"category":"Sm","mappings":{"default":{"default":"minus sign","short":"minus"}},"key":"2212"},{"category":"Sm","mappings":{"default":{"default":"minus or plus sign","short":"minus or plus"},"mathspeak":{"default":"minus-or-plus"}},"key":"2213"},{"category":"Sm","mappings":{"default":{"default":"dot plus"},"mathspeak":{"default":"dot-plus"}},"key":"2214"},{"category":"Sm","mappings":{"default":{"default":"division slash"},"mathspeak":{"default":"division-slash"}},"key":"2215"},{"category":"Sm","mappings":{"default":{"default":"set minus"},"mathspeak":{"default":"set-minus"}},"key":"2216"},{"category":"Sm","mappings":{"default":{"default":"asterisk operator"},"mathspeak":{"default":"asterisk"}},"key":"2217"},{"category":"Sm","mappings":{"default":{"default":"ring operator"},"mathspeak":{"default":"ring"}},"key":"2218"},{"category":"Sm","mappings":{"default":{"default":"bullet operator"},"mathspeak":{"default":"bullet"}},"key":"2219"},{"category":"Sm","mappings":{"default":{"default":"square root"},"mathspeak":{"default":"square-root"}},"key":"221A"},{"category":"Sm","mappings":{"default":{"default":"cube root"},"mathspeak":{"default":"cube-root"}},"key":"221B"},{"category":"Sm","mappings":{"default":{"default":"fourth root"},"mathspeak":{"default":"fourth-root"}},"key":"221C"},{"category":"Sm","mappings":{"default":{"default":"proportional to"},"mathspeak":{"default":"proportional-to"}},"key":"221D"},{"category":"Sm","mappings":{"default":{"default":"infinity"}},"key":"221E"},{"category":"Sm","mappings":{"default":{"default":"right angle"},"mathspeak":{"default":"right-angle"}},"key":"221F"},{"category":"Sm","mappings":{"default":{"default":"angle"}},"key":"2220"},{"category":"Sm","mappings":{"default":{"default":"measured angle"},"mathspeak":{"default":"measured-angle"}},"key":"2221"},{"category":"Sm","mappings":{"default":{"default":"spherical angle"},"mathspeak":{"default":"spherical-angle"}},"key":"2222"},{"category":"Sm","mappings":{"default":{"default":"divides","short":"bar"}},"key":"2223"},{"category":"Sm","mappings":{"default":{"default":"does not divide"},"mathspeak":{"default":"does-not-divide"}},"key":"2224"},{"category":"Sm","mappings":{"default":{"default":"parallel to"},"mathspeak":{"default":"parallel-to"}},"key":"2225"},{"category":"Sm","mappings":{"default":{"default":"not parallel to"},"mathspeak":{"default":"not-parallel-to"}},"key":"2226"},{"category":"Sm","mappings":{"default":{"default":"logical and"},"mathspeak":{"default":"logical-and"}},"key":"2227"},{"category":"Sm","mappings":{"default":{"default":"logical or"},"mathspeak":{"default":"logical-or"}},"key":"2228"},{"category":"Sm","mappings":{"default":{"default":"intersection"}},"key":"2229"},{"category":"Sm","mappings":{"default":{"default":"union"}},"key":"222A"},{"category":"Sm","mappings":{"default":{"default":"integral"}},"key":"222B"},{"category":"Sm","mappings":{"default":{"default":"double integral"},"mathspeak":{"default":"double-integral"}},"key":"222C"},{"category":"Sm","mappings":{"default":{"default":"triple integral"},"mathspeak":{"default":"triple-integral"}},"key":"222D"},{"category":"Sm","mappings":{"default":{"default":"contour integral"},"mathspeak":{"default":"contour-integral"}},"key":"222E"},{"category":"Sm","mappings":{"default":{"default":"surface integral"},"mathspeak":{"default":"surface-integral"}},"key":"222F"},{"category":"Sm","mappings":{"default":{"default":"volume integral"},"mathspeak":{"default":"volume-integral"}},"key":"2230"},{"category":"Sm","mappings":{"default":{"default":"clockwise integral"},"mathspeak":{"default":"clockwise-integral"}},"key":"2231"},{"category":"Sm","mappings":{"default":{"default":"clockwise contour integral"},"mathspeak":{"default":"clockwise-contour-integral"}},"key":"2232"},{"category":"Sm","mappings":{"default":{"default":"anticlockwise contour integral"},"mathspeak":{"default":"anticlockwise-contour-integral"}},"key":"2233"},{"category":"Sm","mappings":{"default":{"default":"therefore"}},"key":"2234"},{"category":"Sm","mappings":{"default":{"default":"because"}},"key":"2235"},{"category":"Sm","mappings":{"default":{"default":"ratio"}},"key":"2236"},{"category":"Sm","mappings":{"default":{"default":"proportion"}},"key":"2237"},{"category":"Sm","mappings":{"default":{"default":"dot minus"},"mathspeak":{"default":"dot-minus"}},"key":"2238"},{"category":"Sm","mappings":{"default":{"default":"excess"}},"key":"2239"},{"category":"Sm","mappings":{"default":{"default":"geometric proportion"},"mathspeak":{"default":"geometric-proportion"}},"key":"223A"},{"category":"Sm","mappings":{"default":{"default":"homothetic"}},"key":"223B"},{"category":"Sm","mappings":{"default":{"default":"tilde operator"},"mathspeak":{"default":"tilde"}},"key":"223C"},{"category":"Sm","mappings":{"default":{"default":"reversed tilde"},"mathspeak":{"default":"reversed-tilde"}},"key":"223D"},{"category":"Sm","mappings":{"default":{"default":"inverted lazy s"},"mathspeak":{"default":"inverted-lazy-s"}},"key":"223E"},{"category":"Sm","mappings":{"default":{"default":"sine wave"},"mathspeak":{"default":"sine-wave"}},"key":"223F"},{"category":"Sm","mappings":{"default":{"default":"wreath product"},"mathspeak":{"default":"wreath-product"}},"key":"2240"},{"category":"Sm","mappings":{"default":{"default":"not tilde"},"mathspeak":{"default":"not-tilde"}},"key":"2241"},{"category":"Sm","mappings":{"default":{"default":"minus tilde"},"mathspeak":{"default":"minus-tilde"}},"key":"2242"},{"category":"Sm","mappings":{"default":{"default":"asymptotically equals"},"mathspeak":{"default":"asymptotically-equals"}},"key":"2243"},{"category":"Sm","mappings":{"default":{"default":"not asymptotically equals"},"mathspeak":{"default":"not-asymptotically-equals"}},"key":"2244"},{"category":"Sm","mappings":{"default":{"default":"approximately equals"},"mathspeak":{"default":"approximately-equals"}},"key":"2245"},{"category":"Sm","mappings":{"default":{"default":"approximately but not actually equals"},"mathspeak":{"default":"approximately-but-not-actually-equals"}},"key":"2246"},{"category":"Sm","mappings":{"default":{"default":"neither approximately nor actually equals"},"mathspeak":{"default":"neither-approximately-nor-actually-equals"}},"key":"2247"},{"category":"Sm","mappings":{"default":{"default":"almost equals"},"mathspeak":{"default":"almost-equals"}},"key":"2248"},{"category":"Sm","mappings":{"default":{"default":"not almost equals"},"mathspeak":{"default":"not-almost-equals"}},"key":"2249"},{"category":"Sm","mappings":{"default":{"default":"almost equal or equals"},"mathspeak":{"default":"almost-equal-or-equal-to"}},"key":"224A"},{"category":"Sm","mappings":{"default":{"default":"triple tilde"},"mathspeak":{"default":"triple-tilde"}},"key":"224B"},{"category":"Sm","mappings":{"default":{"default":"all equals"},"mathspeak":{"default":"all-equals"}},"key":"224C"},{"category":"Sm","mappings":{"default":{"default":"equivalent to"},"mathspeak":{"default":"equivalent-to"}},"key":"224D"},{"category":"Sm","mappings":{"default":{"default":"geometrically equivalent to"},"mathspeak":{"default":"geometrically-equivalent-to"}},"key":"224E"},{"category":"Sm","mappings":{"default":{"default":"difference between"},"mathspeak":{"default":"difference-between"}},"key":"224F"},{"category":"Sm","mappings":{"default":{"default":"approaches the limit"},"mathspeak":{"default":"approaches-the-limit"}},"key":"2250"},{"category":"Sm","mappings":{"default":{"default":"geometrically equals"},"mathspeak":{"default":"geometrically-equals"}},"key":"2251"},{"category":"Sm","mappings":{"default":{"default":"approximately equals or the image of"},"mathspeak":{"default":"approximately-equals-or-the-image-of"}},"key":"2252"},{"category":"Sm","mappings":{"default":{"default":"image of or approximately equals"},"mathspeak":{"default":"image-of-or-approximately-equals"}},"key":"2253"},{"category":"Sm","mappings":{"default":{"default":"colon equals","alternative":"colon equal"},"mathspeak":{"default":"colon-equal"}},"key":"2254"},{"category":"Sm","mappings":{"default":{"default":"equals colon","alternative":"equal colon"},"mathspeak":{"default":"equal-colon"}},"key":"2255"},{"category":"Sm","mappings":{"default":{"default":"ring in equals"},"mathspeak":{"default":"ring-in-equals"}},"key":"2256"},{"category":"Sm","mappings":{"default":{"default":"ring equals"},"mathspeak":{"default":"ring-equals"}},"key":"2257"},{"category":"Sm","mappings":{"default":{"default":"corresponds to"},"mathspeak":{"default":"corresponds-to"}},"key":"2258"},{"category":"Sm","mappings":{"default":{"default":"estimates"}},"key":"2259"},{"category":"Sm","mappings":{"default":{"default":"equiangular to"},"mathspeak":{"default":"equiangular-to"}},"key":"225A"},{"category":"Sm","mappings":{"default":{"default":"star equals"},"mathspeak":{"default":"star-equals"}},"key":"225B"},{"category":"Sm","mappings":{"default":{"default":"delta equals"},"mathspeak":{"default":"delta-equals"}},"key":"225C"},{"category":"Sm","mappings":{"default":{"default":"equals by definition"},"mathspeak":{"default":"equals-by-definition"}},"key":"225D"},{"category":"Sm","mappings":{"default":{"default":"measured by"},"mathspeak":{"default":"measured-by"}},"key":"225E"},{"category":"Sm","mappings":{"default":{"default":"questioned equals"},"mathspeak":{"default":"questioned-equals"}},"key":"225F"},{"category":"Sm","mappings":{"default":{"default":"not equals"},"mathspeak":{"default":"not-equals"}},"key":"2260"},{"category":"Sm","mappings":{"default":{"default":"identical to"},"mathspeak":{"default":"identical-to"}},"key":"2261"},{"category":"Sm","mappings":{"default":{"default":"not identical to"},"mathspeak":{"default":"not-identical-to"}},"key":"2262"},{"category":"Sm","mappings":{"default":{"default":"strictly equivalent to"},"mathspeak":{"default":"strictly-equivalent-to"}},"key":"2263"},{"category":"Sm","mappings":{"default":{"default":"less than or equals","alternative":"less than or equals"},"mathspeak":{"default":"less-than-or-equal-to"}},"key":"2264"},{"category":"Sm","mappings":{"default":{"default":"greater than or equals","alternative":"greater than or equals"},"mathspeak":{"default":"greater-than-or-equal-to"}},"key":"2265"},{"category":"Sm","mappings":{"default":{"default":"less than over equals","alternative":"less than over equals"},"mathspeak":{"default":"less-than-over-equals"}},"key":"2266"},{"category":"Sm","mappings":{"default":{"default":"greater than over equals","alternative":"greater than over equals"},"mathspeak":{"default":"greater-than-over-equals"}},"key":"2267"},{"category":"Sm","mappings":{"default":{"default":"less than but not equals","alternative":"less than but not equals"},"mathspeak":{"default":"less-than-but-not-equals"}},"key":"2268"},{"category":"Sm","mappings":{"default":{"default":"greater than but not equals","alternative":"greater than but not equals"},"mathspeak":{"default":"greater-than-but-not-equals"}},"key":"2269"},{"category":"Sm","mappings":{"default":{"default":"much less than","alternative":"much less than"},"mathspeak":{"default":"much-less-than"}},"key":"226A"},{"category":"Sm","mappings":{"default":{"default":"much greater than","alternative":"much greater than"},"mathspeak":{"default":"much-greater-than"}},"key":"226B"},{"category":"Sm","mappings":{"default":{"default":"between"}},"key":"226C"},{"category":"Sm","mappings":{"default":{"default":"not equivalent to"},"mathspeak":{"default":"not-equivalent-to"}},"key":"226D"},{"category":"Sm","mappings":{"default":{"default":"not less than","alternative":"not less than"},"mathspeak":{"default":"not-less-than"}},"key":"226E"},{"category":"Sm","mappings":{"default":{"default":"not greater than","alternative":"not greater than"},"mathspeak":{"default":"not-greater-than"}},"key":"226F"},{"category":"Sm","mappings":{"default":{"default":"neither less than nor equals","alternative":"neither less than nor equals"},"mathspeak":{"default":"neither-less-than-nor-equal-to"}},"key":"2270"},{"category":"Sm","mappings":{"default":{"default":"neither greater than nor equals","alternative":"neither greater than nor equals"},"mathspeak":{"default":"neither-greater-than-nor-equal-to"}},"key":"2271"},{"category":"Sm","mappings":{"default":{"default":"less than or equivalent to","alternative":"less than or equivalent to"},"mathspeak":{"default":"less-than-or-equivalent-to"}},"key":"2272"},{"category":"Sm","mappings":{"default":{"default":"greater than or equivalent to","alternative":"greater than or equivalent to"},"mathspeak":{"default":"greater-than-or-equivalent-to"}},"key":"2273"},{"category":"Sm","mappings":{"default":{"default":"neither less than nor equivalent to","alternative":"neither less than nor equivalent to"},"mathspeak":{"default":"neither-less-than-nor-equivalent-to"}},"key":"2274"},{"category":"Sm","mappings":{"default":{"default":"neither greater than nor equivalent to","alternative":"neither greater than nor equivalent to"},"mathspeak":{"default":"neither-greater-than-nor-equivalent-to"}},"key":"2275"},{"category":"Sm","mappings":{"default":{"default":"less than or greater than","alternative":"less than or greater than"},"mathspeak":{"default":"less-than-or-greater-than"}},"key":"2276"},{"category":"Sm","mappings":{"default":{"default":"greater than or less than","alternative":"greater than or less than"},"mathspeak":{"default":"greater-than-or-less-than"}},"key":"2277"},{"category":"Sm","mappings":{"default":{"default":"neither less than nor greater than","alternative":"neither less than nor greater than"},"mathspeak":{"default":"neither-less-than-nor-greater-than"}},"key":"2278"},{"category":"Sm","mappings":{"default":{"default":"neither greater than nor less than","alternative":"neither greater than nor less than"},"mathspeak":{"default":"neither-greater-than-nor-less-than"}},"key":"2279"},{"category":"Sm","mappings":{"default":{"default":"precedes"}},"key":"227A"},{"category":"Sm","mappings":{"default":{"default":"succeeds"}},"key":"227B"},{"category":"Sm","mappings":{"default":{"default":"precedes or equals"},"mathspeak":{"default":"precedes-or-equal-to"}},"key":"227C"},{"category":"Sm","mappings":{"default":{"default":"succeeds or equals"},"mathspeak":{"default":"succeeds-or-equal-to"}},"key":"227D"},{"category":"Sm","mappings":{"default":{"default":"precedes or equivalent to"},"mathspeak":{"default":"precedes-or-equivalent-to"}},"key":"227E"},{"category":"Sm","mappings":{"default":{"default":"succeeds or equivalent to"},"mathspeak":{"default":"succeeds-or-equivalent-to"}},"key":"227F"},{"category":"Sm","mappings":{"default":{"default":"does not precede"},"mathspeak":{"default":"does-not-precede"}},"key":"2280"},{"category":"Sm","mappings":{"default":{"default":"does not succeed"},"mathspeak":{"default":"does-not-succeed"}},"key":"2281"},{"category":"Sm","mappings":{"default":{"default":"subset of"},"mathspeak":{"default":"subset-of"}},"key":"2282"},{"category":"Sm","mappings":{"default":{"default":"superset of"},"mathspeak":{"default":"superset-of"}},"key":"2283"},{"category":"Sm","mappings":{"default":{"default":"not a subset of"},"mathspeak":{"default":"not-a-subset-of"}},"key":"2284"},{"category":"Sm","mappings":{"default":{"default":"not a superset of"},"mathspeak":{"default":"not-a-superset-of"}},"key":"2285"},{"category":"Sm","mappings":{"default":{"default":"subset of or equals"},"mathspeak":{"default":"subset-of-or-equal-to"}},"key":"2286"},{"category":"Sm","mappings":{"default":{"default":"superset of or equals"},"mathspeak":{"default":"superset-of-or-equal-to"}},"key":"2287"},{"category":"Sm","mappings":{"default":{"default":"neither a subset of nor equals"},"mathspeak":{"default":"neither-a-subset-of-nor-equal-to"}},"key":"2288"},{"category":"Sm","mappings":{"default":{"default":"neither a superset of nor equals"},"mathspeak":{"default":"neither-a-superset-of-nor-equal-to"}},"key":"2289"},{"category":"Sm","mappings":{"default":{"default":"subset of with not equals","alternative":"subset of or not equals","short":"subset of or not equals"},"mathspeak":{"default":"subset-of-or-not-equals"}},"key":"228A"},{"category":"Sm","mappings":{"default":{"default":"superset of with not equals","alternative":"superset of or not equals","short":"superset of or not equals"},"mathspeak":{"default":"superset-of-or-not-equals"}},"key":"228B"},{"category":"Sm","mappings":{"default":{"default":"multiset"}},"key":"228C"},{"category":"Sm","mappings":{"default":{"default":"multiset multiplication"},"mathspeak":{"default":"multiset-multiplication"}},"key":"228D"},{"category":"Sm","mappings":{"default":{"default":"multiset union"},"mathspeak":{"default":"multiset-union"}},"key":"228E"},{"category":"Sm","mappings":{"default":{"default":"square image of"},"mathspeak":{"default":"square-image-of"}},"key":"228F"},{"category":"Sm","mappings":{"default":{"default":"square original of"},"mathspeak":{"default":"square-original-of"}},"key":"2290"},{"category":"Sm","mappings":{"default":{"default":"square image of or equals"},"mathspeak":{"default":"square-image-of-or-equal-to"}},"key":"2291"},{"category":"Sm","mappings":{"default":{"default":"square original of or equals"},"mathspeak":{"default":"square-original-of-or-equal-to"}},"key":"2292"},{"category":"Sm","mappings":{"default":{"default":"square cap"},"mathspeak":{"default":"square-cap"}},"key":"2293"},{"category":"Sm","mappings":{"default":{"default":"square cup"},"mathspeak":{"default":"square-cup"}},"key":"2294"},{"category":"Sm","mappings":{"default":{"default":"circled plus"},"mathspeak":{"default":"circled-plus"}},"key":"2295"},{"category":"Sm","mappings":{"default":{"default":"circled minus"},"mathspeak":{"default":"circled-minus"}},"key":"2296"},{"category":"Sm","mappings":{"default":{"default":"circled times"},"mathspeak":{"default":"circled-times"}},"key":"2297"},{"category":"Sm","mappings":{"default":{"default":"circled division slash"},"mathspeak":{"default":"circled-division-slash"}},"key":"2298"},{"category":"Sm","mappings":{"default":{"default":"circled dot operator"},"mathspeak":{"default":"circled-dot"}},"key":"2299"},{"category":"Sm","mappings":{"default":{"default":"circled ring operator"},"mathspeak":{"default":"circled-ring"}},"key":"229A"},{"category":"Sm","mappings":{"default":{"default":"circled asterisk operator"},"mathspeak":{"default":"circled-asterisk"}},"key":"229B"},{"category":"Sm","mappings":{"default":{"default":"circled equals"},"mathspeak":{"default":"circled-equals"}},"key":"229C"},{"category":"Sm","mappings":{"default":{"default":"circled dash"},"mathspeak":{"default":"circled-dash"}},"key":"229D"},{"category":"Sm","mappings":{"default":{"default":"squared plus"},"mathspeak":{"default":"squared-plus"}},"key":"229E"},{"category":"Sm","mappings":{"default":{"default":"squared minus"},"mathspeak":{"default":"squared-minus"}},"key":"229F"},{"category":"Sm","mappings":{"default":{"default":"squared times"},"mathspeak":{"default":"squared-times"}},"key":"22A0"},{"category":"Sm","mappings":{"default":{"default":"squared dot operator"},"mathspeak":{"default":"squared-dot"}},"key":"22A1"},{"category":"Sm","mappings":{"default":{"default":"right tack"},"mathspeak":{"default":"right-tack"}},"key":"22A2"},{"category":"Sm","mappings":{"default":{"default":"left tack"},"mathspeak":{"default":"left-tack"}},"key":"22A3"},{"category":"Sm","mappings":{"default":{"default":"down tack"},"mathspeak":{"default":"down-tack"}},"key":"22A4"},{"category":"Sm","mappings":{"default":{"default":"up tack"},"mathspeak":{"default":"up-tack"}},"key":"22A5"},{"category":"Sm","mappings":{"default":{"default":"assertion"}},"key":"22A6"},{"category":"Sm","mappings":{"default":{"default":"models"}},"key":"22A7"},{"category":"Sm","mappings":{"default":{"default":"true"}},"key":"22A8"},{"category":"Sm","mappings":{"default":{"default":"forces"}},"key":"22A9"},{"category":"Sm","mappings":{"default":{"default":"triple vertical bar right turnstile"},"mathspeak":{"default":"triple-vertical-bar-right-turnstile"}},"key":"22AA"},{"category":"Sm","mappings":{"default":{"default":"double vertical bar double right turnstile"},"mathspeak":{"default":"double-vertical-bar-double-right-turnstile"}},"key":"22AB"},{"category":"Sm","mappings":{"default":{"default":"does not prove"},"mathspeak":{"default":"does-not-prove"}},"key":"22AC"},{"category":"Sm","mappings":{"default":{"default":"not true"},"mathspeak":{"default":"not-true"}},"key":"22AD"},{"category":"Sm","mappings":{"default":{"default":"does not force"},"mathspeak":{"default":"does-not-force"}},"key":"22AE"},{"category":"Sm","mappings":{"default":{"default":"negated double vertical bar double right turnstile"},"mathspeak":{"default":"negated-double-vertical-bar-double-right-turnstile"}},"key":"22AF"},{"category":"Sm","mappings":{"default":{"default":"precedes under relation"},"mathspeak":{"default":"precedes-under-relation"}},"key":"22B0"},{"category":"Sm","mappings":{"default":{"default":"succeeds under relation"},"mathspeak":{"default":"succeeds-under-relation"}},"key":"22B1"},{"category":"Sm","mappings":{"default":{"default":"normal subgroup of"},"mathspeak":{"default":"normal-subgroup-of"}},"key":"22B2"},{"category":"Sm","mappings":{"default":{"default":"contains as normal subgroup"},"mathspeak":{"default":"contains-as-normal-subgroup"}},"key":"22B3"},{"category":"Sm","mappings":{"default":{"default":"normal subgroup of or equals"},"mathspeak":{"default":"normal-subgroup-of-or-equal-to"}},"key":"22B4"},{"category":"Sm","mappings":{"default":{"default":"contains as normal subgroup or equals"},"mathspeak":{"default":"contains-as-normal-subgroup-or-equal-to"}},"key":"22B5"},{"category":"Sm","mappings":{"default":{"default":"original of"},"mathspeak":{"default":"original-of"}},"key":"22B6"},{"category":"Sm","mappings":{"default":{"default":"image of"},"mathspeak":{"default":"image-of"}},"key":"22B7"},{"category":"Sm","mappings":{"default":{"default":"multimap"}},"key":"22B8"},{"category":"Sm","mappings":{"default":{"default":"hermitian conjugate matrix"},"mathspeak":{"default":"hermitian-conjugate-matrix"}},"key":"22B9"},{"category":"Sm","mappings":{"default":{"default":"intercalate"}},"key":"22BA"},{"category":"Sm","mappings":{"default":{"default":"xor"}},"key":"22BB"},{"category":"Sm","mappings":{"default":{"default":"nand"}},"key":"22BC"},{"category":"Sm","mappings":{"default":{"default":"nor"}},"key":"22BD"},{"category":"Sm","mappings":{"default":{"default":"right triangle"},"mathspeak":{"default":"right-triangle"}},"key":"22BF"},{"category":"Sm","mappings":{"default":{"default":"n ary logical and"},"mathspeak":{"default":"logical-and"}},"key":"22C0"},{"category":"Sm","mappings":{"default":{"default":"n ary logical or"},"mathspeak":{"default":"logical-or"}},"key":"22C1"},{"category":"Sm","mappings":{"default":{"default":"n ary intersection"},"mathspeak":{"default":"intersection"}},"key":"22C2"},{"category":"Sm","mappings":{"default":{"default":"n ary union"},"mathspeak":{"default":"union"}},"key":"22C3"},{"category":"Sm","mappings":{"default":{"default":"diamond operator"},"mathspeak":{"default":"diamond"}},"key":"22C4"},{"category":"Sm","mappings":{"default":{"default":"dot operator"},"mathspeak":{"default":"dot"}},"key":"22C5"},{"category":"Sm","mappings":{"default":{"default":"star operator"},"mathspeak":{"default":"star"}},"key":"22C6"},{"category":"Sm","mappings":{"default":{"default":"division times"},"mathspeak":{"default":"division-times"}},"key":"22C7"},{"category":"Sm","mappings":{"default":{"default":"bowtie"}},"key":"22C8"},{"category":"Sm","mappings":{"default":{"default":"left normal factor semidirect product"},"mathspeak":{"default":"left-normal-factor-semidirect-product"}},"key":"22C9"},{"category":"Sm","mappings":{"default":{"default":"right normal factor semidirect product"},"mathspeak":{"default":"right-normal-factor-semidirect-product"}},"key":"22CA"},{"category":"Sm","mappings":{"default":{"default":"left semidirect product"},"mathspeak":{"default":"left-semidirect-product"}},"key":"22CB"},{"category":"Sm","mappings":{"default":{"default":"right semidirect product"},"mathspeak":{"default":"right-semidirect-product"}},"key":"22CC"},{"category":"Sm","mappings":{"default":{"default":"reversed tilde equals"},"mathspeak":{"default":"reversed-tilde-equals"}},"key":"22CD"},{"category":"Sm","mappings":{"default":{"default":"curly logical or"},"mathspeak":{"default":"curly-logical-or"}},"key":"22CE"},{"category":"Sm","mappings":{"default":{"default":"curly logical and"},"mathspeak":{"default":"curly-logical-and"}},"key":"22CF"},{"category":"Sm","mappings":{"default":{"default":"double subset"},"mathspeak":{"default":"double-subset"}},"key":"22D0"},{"category":"Sm","mappings":{"default":{"default":"double superset"},"mathspeak":{"default":"double-superset"}},"key":"22D1"},{"category":"Sm","mappings":{"default":{"default":"double intersection"},"mathspeak":{"default":"double-intersection"}},"key":"22D2"},{"category":"Sm","mappings":{"default":{"default":"double union"},"mathspeak":{"default":"double-union"}},"key":"22D3"},{"category":"Sm","mappings":{"default":{"default":"pitchfork"}},"key":"22D4"},{"category":"Sm","mappings":{"default":{"default":"equal and parallel to"},"mathspeak":{"default":"equal-and-parallel-to"}},"key":"22D5"},{"category":"Sm","mappings":{"default":{"default":"less than with dot","alternative":"less than with dot","short":"less than dot"},"mathspeak":{"default":"less-than-dot"}},"key":"22D6"},{"category":"Sm","mappings":{"default":{"default":"greater than with dot","alternative":"greater than with dot","short":"greater than dot"},"mathspeak":{"default":"greater-than-dot"}},"key":"22D7"},{"category":"Sm","mappings":{"default":{"default":"very much less than","alternative":"very much less than"},"mathspeak":{"default":"very-much-less-than"}},"key":"22D8"},{"category":"Sm","mappings":{"default":{"default":"very much greater than","alternative":"very much greater than"},"mathspeak":{"default":"very-much-greater-than"}},"key":"22D9"},{"category":"Sm","mappings":{"default":{"default":"less than equals or greater than","alternative":"less than equals or greater than"},"mathspeak":{"default":"less-than-equals-or-greater-than"}},"key":"22DA"},{"category":"Sm","mappings":{"default":{"default":"greater than equals or less than","alternative":"greater than equals or less than"},"mathspeak":{"default":"greater-than-equals-or-less-than"}},"key":"22DB"},{"category":"Sm","mappings":{"default":{"default":"equals or less than","alternative":"equals or less than"},"mathspeak":{"default":"equals-or-less-than"}},"key":"22DC"},{"category":"Sm","mappings":{"default":{"default":"equals or greater than","alternative":"equals or greater than"},"mathspeak":{"default":"equals-or-greater-than"}},"key":"22DD"},{"category":"Sm","mappings":{"default":{"default":"equals or precedes"},"mathspeak":{"default":"equals-or-precedes"}},"key":"22DE"},{"category":"Sm","mappings":{"default":{"default":"equals or succeeds"},"mathspeak":{"default":"equals-or-succeeds"}},"key":"22DF"},{"category":"Sm","mappings":{"default":{"default":"does not precede or equal"},"mathspeak":{"default":"does-not-precede-or-equal"}},"key":"22E0"},{"category":"Sm","mappings":{"default":{"default":"does not succeed or equal"},"mathspeak":{"default":"does-not-succeed-or-equal"}},"key":"22E1"},{"category":"Sm","mappings":{"default":{"default":"not square image of or equals"},"mathspeak":{"default":"not-square-image-of-or-equal-to"}},"key":"22E2"},{"category":"Sm","mappings":{"default":{"default":"not square original of or equals"},"mathspeak":{"default":"not-square-original-of-or-equal-to"}},"key":"22E3"},{"category":"Sm","mappings":{"default":{"default":"square image of or not equals"},"mathspeak":{"default":"square-image-of-or-not-equals"}},"key":"22E4"},{"category":"Sm","mappings":{"default":{"default":"square original of or not equals"},"mathspeak":{"default":"square-original-of-or-not-equals"}},"key":"22E5"},{"category":"Sm","mappings":{"default":{"default":"less than but not equivalent to","alternative":"less than but not equivalent to"},"mathspeak":{"default":"less-than-but-not-equivalent-to"}},"key":"22E6"},{"category":"Sm","mappings":{"default":{"default":"greater than but not equivalent to","alternative":"greater than but not equivalent to"},"mathspeak":{"default":"greater-than-but-not-equivalent-to"}},"key":"22E7"},{"category":"Sm","mappings":{"default":{"default":"precedes but not equivalent to"},"mathspeak":{"default":"precedes-but-not-equivalent-to"}},"key":"22E8"},{"category":"Sm","mappings":{"default":{"default":"succeeds but not equivalent to"},"mathspeak":{"default":"succeeds-but-not-equivalent-to"}},"key":"22E9"},{"category":"Sm","mappings":{"default":{"default":"not normal subgroup of"},"mathspeak":{"default":"not-normal-subgroup-of"}},"key":"22EA"},{"category":"Sm","mappings":{"default":{"default":"does not contain as normal subgroup"},"mathspeak":{"default":"does-not-contain-as-normal-subgroup"}},"key":"22EB"},{"category":"Sm","mappings":{"default":{"default":"not normal subgroup of or equals"},"mathspeak":{"default":"not-normal-subgroup-of-or-equal-to"}},"key":"22EC"},{"category":"Sm","mappings":{"default":{"default":"does not contain as normal subgroup or equal"},"mathspeak":{"default":"does-not-contain-as-normal-subgroup-or-equal"}},"key":"22ED"},{"category":"Sm","mappings":{"default":{"default":"vertical ellipsis"},"mathspeak":{"default":"vertical-ellipsis"}},"key":"22EE"},{"category":"Sm","mappings":{"default":{"default":"midline horizontal ellipsis"},"mathspeak":{"default":"midline-horizontal-ellipsis"}},"key":"22EF"},{"category":"Sm","mappings":{"default":{"default":"up right diagonal ellipsis"},"mathspeak":{"default":"up-right-diagonal-ellipsis"}},"key":"22F0"},{"category":"Sm","mappings":{"default":{"default":"down right diagonal ellipsis"},"mathspeak":{"default":"down-right-diagonal-ellipsis"}},"key":"22F1"},{"category":"Sm","mappings":{"default":{"default":"element of with long horizontal stroke"},"mathspeak":{"default":"element-of-with-long-horizontal-stroke"}},"key":"22F2"},{"category":"Sm","mappings":{"default":{"default":"element of with vertical bar at end of horizontal stroke"},"mathspeak":{"default":"element-of-with-vertical-bar-at-end-of-horizontal-stroke"}},"key":"22F3"},{"category":"Sm","mappings":{"default":{"default":"small element of with vertical bar at end of horizontal stroke"},"mathspeak":{"default":"small-element-of-with-vertical-bar-at-end-of-horizontal-stroke"}},"key":"22F4"},{"category":"Sm","mappings":{"default":{"default":"element of with dot above"},"mathspeak":{"default":"element-of-with-dot-above"}},"key":"22F5"},{"category":"Sm","mappings":{"default":{"default":"element of with overbar"},"mathspeak":{"default":"element-of-with-overbar"}},"key":"22F6"},{"category":"Sm","mappings":{"default":{"default":"small element of with overbar"},"mathspeak":{"default":"small-element-of-with-overbar"}},"key":"22F7"},{"category":"Sm","mappings":{"default":{"default":"element of with underbar"},"mathspeak":{"default":"element-of-with-underbar"}},"key":"22F8"},{"category":"Sm","mappings":{"default":{"default":"element of with two horizontal strokes"},"mathspeak":{"default":"element-of-with-two-horizontal-strokes"}},"key":"22F9"},{"category":"Sm","mappings":{"default":{"default":"contains with long horizontal stroke"},"mathspeak":{"default":"contains-with-long-horizontal-stroke"}},"key":"22FA"},{"category":"Sm","mappings":{"default":{"default":"contains with vertical bar at end of horizontal stroke"},"mathspeak":{"default":"contains-with-vertical-bar-at-end-of-horizontal-stroke"}},"key":"22FB"},{"category":"Sm","mappings":{"default":{"default":"small contains with vertical bar at end of horizontal stroke"},"mathspeak":{"default":"small-contains-with-vertical-bar-at-end-of-horizontal-stroke"}},"key":"22FC"},{"category":"Sm","mappings":{"default":{"default":"contains with overbar"},"mathspeak":{"default":"contains-with-overbar"}},"key":"22FD"},{"category":"Sm","mappings":{"default":{"default":"small contains with overbar"},"mathspeak":{"default":"small-contains-with-overbar"}},"key":"22FE"},{"category":"Sm","mappings":{"default":{"default":"z notation bag membership"},"mathspeak":{"default":"z-notation-bag-membership"}},"key":"22FF"},{"category":"So","mappings":{"default":{"default":"diameter sign","short":"diameter"},"mathspeak":{"default":"diameter-sign"}},"key":"2300"},{"category":"So","mappings":{"default":{"default":"house"}},"key":"2302"},{"category":"So","mappings":{"default":{"default":"projective"}},"key":"2305"},{"category":"So","mappings":{"default":{"default":"perspective"}},"key":"2306"},{"category":"So","mappings":{"default":{"default":"wavy line"},"mathspeak":{"default":"wavy-line"}},"key":"2307"},{"category":"So","mappings":{"default":{"default":"reversed not sign","short":"reversed not"},"mathspeak":{"default":"reversed-not"}},"key":"2310"},{"category":"So","mappings":{"default":{"default":"square lozenge"},"mathspeak":{"default":"square-lozenge"}},"key":"2311"},{"category":"So","mappings":{"default":{"default":"arc"}},"key":"2312"},{"category":"So","mappings":{"default":{"default":"segment"}},"key":"2313"},{"category":"So","mappings":{"default":{"default":"sector"}},"key":"2314"},{"category":"So","mappings":{"default":{"default":"heavy plus sign","alternative":"heavy plus","short":"bold plus"},"mathspeak":{"default":"bold-plus"}},"key":"2795"},{"category":"So","mappings":{"default":{"default":"heavy minus sign","alternative":"heavy minus","short":"bold minus"},"mathspeak":{"default":"bold-minus"}},"key":"2796"},{"category":"So","mappings":{"default":{"default":"heavy division sign","alternative":"heavy division","short":"bold division"},"mathspeak":{"default":"bold-division"}},"key":"2797"},{"category":"So","mappings":{"default":{"default":"curly loop"},"mathspeak":{"default":"curly-loop"}},"key":"27B0"},{"category":"So","mappings":{"default":{"default":"double curly loop"},"mathspeak":{"default":"double-curly-loop"}},"key":"27BF"},{"category":"Sm","mappings":{"default":{"default":"white triangle containing small white triangle"},"mathspeak":{"default":"white-triangle-containing-small-white-triangle"}},"key":"27C1"},{"category":"Sm","mappings":{"default":{"default":"perpendicular"}},"key":"27C2"},{"category":"Sm","mappings":{"default":{"default":"open subset"},"mathspeak":{"default":"open-subset"}},"key":"27C3"},{"category":"Sm","mappings":{"default":{"default":"open superset"},"mathspeak":{"default":"open-superset"}},"key":"27C4"},{"category":"Sm","mappings":{"default":{"default":"or with dot inside"},"mathspeak":{"default":"or-with-dot-inside"}},"key":"27C7"},{"category":"Sm","mappings":{"default":{"default":"reverse solidus preceding subset"},"mathspeak":{"default":"reverse-solidus-preceding-subset"}},"key":"27C8"},{"category":"Sm","mappings":{"default":{"default":"superset preceding solidus"},"mathspeak":{"default":"superset-preceding-solidus"}},"key":"27C9"},{"category":"Sm","mappings":{"default":{"default":"vertical bar with horizontal stroke"},"mathspeak":{"default":"vertical-bar-with-horizontal-stroke"}},"key":"27CA"},{"category":"Sm","mappings":{"default":{"default":"mathematical rising diagonal"},"mathspeak":{"default":"mathematical-rising-diagonal"}},"key":"27CB"},{"category":"Sm","mappings":{"default":{"default":"long division"},"mathspeak":{"default":"long-division"}},"key":"27CC"},{"category":"Sm","mappings":{"default":{"default":"mathematical falling diagonal"},"mathspeak":{"default":"mathematical-falling-diagonal"}},"key":"27CD"},{"category":"Sm","mappings":{"default":{"default":"squared logical and"},"mathspeak":{"default":"squared-logical-and"}},"key":"27CE"},{"category":"Sm","mappings":{"default":{"default":"squared logical or"},"mathspeak":{"default":"squared-logical-or"}},"key":"27CF"},{"category":"Sm","mappings":{"default":{"default":"white diamond with centered dot"},"mathspeak":{"default":"white-diamond-with-centered-dot"}},"key":"27D0"},{"category":"Sm","mappings":{"default":{"default":"and with dot"},"mathspeak":{"default":"and-with-dot"}},"key":"27D1"},{"category":"Sm","mappings":{"default":{"default":"element of opening upwards"},"mathspeak":{"default":"element-of-opening-upwards"}},"key":"27D2"},{"category":"Sm","mappings":{"default":{"default":"lower right corner with dot"},"mathspeak":{"default":"lower-right-corner-with-dot"}},"key":"27D3"},{"category":"Sm","mappings":{"default":{"default":"upper left corner with dot"},"mathspeak":{"default":"upper-left-corner-with-dot"}},"key":"27D4"},{"category":"Sm","mappings":{"default":{"default":"left outer join"},"mathspeak":{"default":"left-outer-join"}},"key":"27D5"},{"category":"Sm","mappings":{"default":{"default":"right outer join"},"mathspeak":{"default":"right-outer-join"}},"key":"27D6"},{"category":"Sm","mappings":{"default":{"default":"full outer join"},"mathspeak":{"default":"full-outer-join"}},"key":"27D7"},{"category":"Sm","mappings":{"default":{"default":"large up tack"},"mathspeak":{"default":"large-up-tack"}},"key":"27D8"},{"category":"Sm","mappings":{"default":{"default":"large down tack"},"mathspeak":{"default":"large-down-tack"}},"key":"27D9"},{"category":"Sm","mappings":{"default":{"default":"left and right double turnstile"},"mathspeak":{"default":"left-and-right-double-turnstile"}},"key":"27DA"},{"category":"Sm","mappings":{"default":{"default":"left and right tack"},"mathspeak":{"default":"left-and-right-tack"}},"key":"27DB"},{"category":"Sm","mappings":{"default":{"default":"left multimap"},"mathspeak":{"default":"left-multimap"}},"key":"27DC"},{"category":"Sm","mappings":{"default":{"default":"long right tack"},"mathspeak":{"default":"long-right-tack"}},"key":"27DD"},{"category":"Sm","mappings":{"default":{"default":"long left tack"},"mathspeak":{"default":"long-left-tack"}},"key":"27DE"},{"category":"Sm","mappings":{"default":{"default":"up tack with circle above"},"mathspeak":{"default":"up-tack-with-circle-above"}},"key":"27DF"},{"category":"Sm","mappings":{"default":{"default":"lozenge divided by horizontal rule"},"mathspeak":{"default":"lozenge-divided-by-horizontal-rule"}},"key":"27E0"},{"category":"Sm","mappings":{"default":{"default":"white concave sided diamond"},"mathspeak":{"default":"white-concave-sided-diamond"}},"key":"27E1"},{"category":"Sm","mappings":{"default":{"default":"white concave sided diamond with leftwards tick"},"mathspeak":{"default":"white-concave-sided-diamond-with-leftwards-tick"}},"key":"27E2"},{"category":"Sm","mappings":{"default":{"default":"white concave sided diamond with rightwards tick"},"mathspeak":{"default":"white-concave-sided-diamond-with-rightwards-tick"}},"key":"27E3"},{"category":"Sm","mappings":{"default":{"default":"white square with leftwards tick"},"mathspeak":{"default":"white-square-with-leftwards-tick"}},"key":"27E4"},{"category":"Sm","mappings":{"default":{"default":"white square with rightwards tick"},"mathspeak":{"default":"white-square-with-rightwards-tick"}},"key":"27E5"},{"category":"Sm","mappings":{"default":{"default":"rising diagonal crossing falling diagonal"},"mathspeak":{"default":"rising-diagonal-crossing-falling-diagonal"}},"key":"292B"},{"category":"Sm","mappings":{"default":{"default":"falling diagonal crossing rising diagonal"},"mathspeak":{"default":"falling-diagonal-crossing-rising-diagonal"}},"key":"292C"},{"category":"Sm","mappings":{"default":{"default":"triple vertical bar delimiter"},"mathspeak":{"default":"triple-vertical-bar-delimiter"}},"key":"2980"},{"category":"Sm","mappings":{"default":{"default":"z notation spot"},"mathspeak":{"default":"z-notation-spot"}},"key":"2981"},{"category":"Sm","mappings":{"default":{"default":"z notation type colon"},"mathspeak":{"default":"z-notation-type-colon"}},"key":"2982"},{"category":"Sm","mappings":{"default":{"default":"dotted fence"},"mathspeak":{"default":"dotted-fence"}},"key":"2999"},{"category":"Sm","mappings":{"default":{"default":"vertical zigzag line"},"mathspeak":{"default":"vertical-zigzag-line"}},"key":"299A"},{"category":"Sm","mappings":{"default":{"default":"reversed empty set"},"mathspeak":{"default":"reversed-empty-set"}},"key":"29B0"},{"category":"Sm","mappings":{"default":{"default":"empty set with overbar"},"mathspeak":{"default":"empty-set-with-overbar"}},"key":"29B1"},{"category":"Sm","mappings":{"default":{"default":"empty set with small circle above"},"mathspeak":{"default":"empty-set-with-small-circle-above"}},"key":"29B2"},{"category":"Sm","mappings":{"default":{"default":"circle with horizontal bar"},"mathspeak":{"default":"circle-with-horizontal-bar"}},"key":"29B5"},{"category":"Sm","mappings":{"default":{"default":"circled vertical bar"},"mathspeak":{"default":"circled-vertical-bar"}},"key":"29B6"},{"category":"Sm","mappings":{"default":{"default":"circled parallel"},"mathspeak":{"default":"circled-parallel"}},"key":"29B7"},{"category":"Sm","mappings":{"default":{"default":"circled reverse solidus"},"mathspeak":{"default":"circled-reverse-solidus"}},"key":"29B8"},{"category":"Sm","mappings":{"default":{"default":"circled perpendicular"},"mathspeak":{"default":"circled-perpendicular"}},"key":"29B9"},{"category":"Sm","mappings":{"default":{"default":"circle divided by horizontal bar and top half divided by vertical bar"},"mathspeak":{"default":"circle-divided-by-horizontal-bar-and-top-half-divided-by-vertical-bar"}},"key":"29BA"},{"category":"Sm","mappings":{"default":{"default":"circle with superimposed x"},"mathspeak":{"default":"circle-with-superimposed-x"}},"key":"29BB"},{"category":"Sm","mappings":{"default":{"default":"circled anticlockwise rotated division sign","short":"circled anticlockwise rotated division"},"mathspeak":{"default":"circled-anticlockwise-rotated-division"}},"key":"29BC"},{"category":"Sm","mappings":{"default":{"default":"circled white bullet"},"mathspeak":{"default":"circled-white-bullet"}},"key":"29BE"},{"category":"Sm","mappings":{"default":{"default":"circled bullet"},"mathspeak":{"default":"circled-bullet"}},"key":"29BF"},{"category":"Sm","mappings":{"default":{"default":"circled less than"},"mathspeak":{"default":"circled-less-than"}},"key":"29C0"},{"category":"Sm","mappings":{"default":{"default":"circled greater than"},"mathspeak":{"default":"circled-greater-than"}},"key":"29C1"},{"category":"Sm","mappings":{"default":{"default":"circle with small circle to the right"},"mathspeak":{"default":"circle-with-small-circle-to-the-right"}},"key":"29C2"},{"category":"Sm","mappings":{"default":{"default":"circle with two horizontal strokes to the right"},"mathspeak":{"default":"circle-with-two-horizontal-strokes-to-the-right"}},"key":"29C3"},{"category":"Sm","mappings":{"default":{"default":"squared rising diagonal slash"},"mathspeak":{"default":"squared-rising-diagonal-slash"}},"key":"29C4"},{"category":"Sm","mappings":{"default":{"default":"squared falling diagonal slash"},"mathspeak":{"default":"squared-falling-diagonal-slash"}},"key":"29C5"},{"category":"Sm","mappings":{"default":{"default":"squared asterisk"},"mathspeak":{"default":"squared-asterisk"}},"key":"29C6"},{"category":"Sm","mappings":{"default":{"default":"squared small circle"},"mathspeak":{"default":"squared-small-circle"}},"key":"29C7"},{"category":"Sm","mappings":{"default":{"default":"squared square"},"mathspeak":{"default":"squared-square"}},"key":"29C8"},{"category":"Sm","mappings":{"default":{"default":"two joined squares"},"mathspeak":{"default":"two-joined-squares"}},"key":"29C9"},{"category":"Sm","mappings":{"default":{"default":"triangle with dot above"},"mathspeak":{"default":"triangle-with-dot-above"}},"key":"29CA"},{"category":"Sm","mappings":{"default":{"default":"triangle with underbar"},"mathspeak":{"default":"triangle-with-underbar"}},"key":"29CB"},{"category":"Sm","mappings":{"default":{"default":"s in triangle"},"mathspeak":{"default":"s-in-triangle"}},"key":"29CC"},{"category":"Sm","mappings":{"default":{"default":"triangle with serifs at bottom"},"mathspeak":{"default":"triangle-with-serifs-at-bottom"}},"key":"29CD"},{"category":"Sm","mappings":{"default":{"default":"right triangle above left triangle"},"mathspeak":{"default":"right-triangle-above-left-triangle"}},"key":"29CE"},{"category":"Sm","mappings":{"default":{"default":"left triangle beside vertical bar"},"mathspeak":{"default":"left-triangle-beside-vertical-bar"}},"key":"29CF"},{"category":"Sm","mappings":{"default":{"default":"vertical bar beside right triangle"},"mathspeak":{"default":"vertical-bar-beside-right-triangle"}},"key":"29D0"},{"category":"Sm","mappings":{"default":{"default":"bowtie with left half black"},"mathspeak":{"default":"bowtie-with-left-half-black"}},"key":"29D1"},{"category":"Sm","mappings":{"default":{"default":"bowtie with right half black"},"mathspeak":{"default":"bowtie-with-right-half-black"}},"key":"29D2"},{"category":"Sm","mappings":{"default":{"default":"black bowtie"},"mathspeak":{"default":"black-bowtie"}},"key":"29D3"},{"category":"Sm","mappings":{"default":{"default":"times with left half black"},"mathspeak":{"default":"times-with-left-half-black"}},"key":"29D4"},{"category":"Sm","mappings":{"default":{"default":"times with right half black"},"mathspeak":{"default":"times-with-right-half-black"}},"key":"29D5"},{"category":"Sm","mappings":{"default":{"default":"white hourglass"},"mathspeak":{"default":"white-hourglass"}},"key":"29D6"},{"category":"Sm","mappings":{"default":{"default":"black hourglass"},"mathspeak":{"default":"black-hourglass"}},"key":"29D7"},{"category":"Sm","mappings":{"default":{"default":"incomplete infinity"},"mathspeak":{"default":"incomplete-infinity"}},"key":"29DC"},{"category":"Sm","mappings":{"default":{"default":"tie over infinity"},"mathspeak":{"default":"tie-over-infinity"}},"key":"29DD"},{"category":"Sm","mappings":{"default":{"default":"infinity negated with vertical bar"},"mathspeak":{"default":"infinity-negated-with-vertical-bar"}},"key":"29DE"},{"category":"Sm","mappings":{"default":{"default":"double ended multimap"},"mathspeak":{"default":"double-ended-multimap"}},"key":"29DF"},{"category":"Sm","mappings":{"default":{"default":"square with contoured outline"},"mathspeak":{"default":"square-with-contoured-outline"}},"key":"29E0"},{"category":"Sm","mappings":{"default":{"default":"increases as"},"mathspeak":{"default":"increases-as"}},"key":"29E1"},{"category":"Sm","mappings":{"default":{"default":"shuffle product"},"mathspeak":{"default":"shuffle-product"}},"key":"29E2"},{"category":"Sm","mappings":{"default":{"default":"equals sign and slanted parallel"},"mathspeak":{"default":"equals-and-slanted-parallel"}},"key":"29E3"},{"category":"Sm","mappings":{"default":{"default":"equals sign and slanted parallel with tilde above"},"mathspeak":{"default":"equals-and-slanted-parallel-with-tilde-above"}},"key":"29E4"},{"category":"Sm","mappings":{"default":{"default":"identical to and slanted parallel"},"mathspeak":{"default":"identical-to-and-slanted-parallel"}},"key":"29E5"},{"category":"Sm","mappings":{"default":{"default":"gleich stark"},"mathspeak":{"default":"gleich-stark"}},"key":"29E6"},{"category":"Sm","mappings":{"default":{"default":"thermodynamic"}},"key":"29E7"},{"category":"Sm","mappings":{"default":{"default":"down pointing triangle with left half black"},"mathspeak":{"default":"down-pointing-triangle-with-left-half-black"}},"key":"29E8"},{"category":"Sm","mappings":{"default":{"default":"down pointing triangle with right half black"},"mathspeak":{"default":"down-pointing-triangle-with-right-half-black"}},"key":"29E9"},{"category":"Sm","mappings":{"default":{"default":"black lozenge"},"mathspeak":{"default":"black-lozenge"}},"key":"29EB"},{"category":"Sm","mappings":{"default":{"default":"error barred white square"},"mathspeak":{"default":"error-barred-white-square"}},"key":"29EE"},{"category":"Sm","mappings":{"default":{"default":"error barred black square"},"mathspeak":{"default":"error-barred-black-square"}},"key":"29EF"},{"category":"Sm","mappings":{"default":{"default":"error barred white diamond"},"mathspeak":{"default":"error-barred-white-diamond"}},"key":"29F0"},{"category":"Sm","mappings":{"default":{"default":"error barred black diamond"},"mathspeak":{"default":"error-barred-black-diamond"}},"key":"29F1"},{"category":"Sm","mappings":{"default":{"default":"error barred white circle"},"mathspeak":{"default":"error-barred-white-circle"}},"key":"29F2"},{"category":"Sm","mappings":{"default":{"default":"error barred black circle"},"mathspeak":{"default":"error-barred-black-circle"}},"key":"29F3"},{"category":"Sm","mappings":{"default":{"default":"rule delayed"},"mathspeak":{"default":"rule-delayed"}},"key":"29F4"},{"category":"Sm","mappings":{"default":{"default":"reverse solidus operator"},"mathspeak":{"default":"reverse-solidus"}},"key":"29F5"},{"category":"Sm","mappings":{"default":{"default":"solidus with overbar"},"mathspeak":{"default":"solidus-with-overbar"}},"key":"29F6"},{"category":"Sm","mappings":{"default":{"default":"reverse solidus with horizontal stroke"},"mathspeak":{"default":"reverse-solidus-with-horizontal-stroke"}},"key":"29F7"},{"category":"Sm","mappings":{"default":{"default":"big solidus"},"mathspeak":{"default":"solidus"}},"key":"29F8"},{"category":"Sm","mappings":{"default":{"default":"big reverse solidus"},"mathspeak":{"default":"reverse-solidus"}},"key":"29F9"},{"category":"Sm","mappings":{"default":{"default":"double plus"},"mathspeak":{"default":"double-plus"}},"key":"29FA"},{"category":"Sm","mappings":{"default":{"default":"triple plus"},"mathspeak":{"default":"triple-plus"}},"key":"29FB"},{"category":"Sm","mappings":{"default":{"default":"tiny"}},"key":"29FE"},{"category":"Sm","mappings":{"default":{"default":"miny"}},"key":"29FF"},{"category":"Sm","mappings":{"default":{"default":"n ary circled dot operator"},"mathspeak":{"default":"circled-dot"}},"key":"2A00"},{"category":"Sm","mappings":{"default":{"default":"n ary circled plus operator"},"mathspeak":{"default":"circled-plus"}},"key":"2A01"},{"category":"Sm","mappings":{"default":{"default":"n ary circled times operator"},"mathspeak":{"default":"circled-times"}},"key":"2A02"},{"category":"Sm","mappings":{"default":{"default":"n ary union operator with dot"},"mathspeak":{"default":"union-with-dot"}},"key":"2A03"},{"category":"Sm","mappings":{"default":{"default":"n ary union operator with plus"},"mathspeak":{"default":"union-with-plus"}},"key":"2A04"},{"category":"Sm","mappings":{"default":{"default":"n ary square intersection operator"},"mathspeak":{"default":"square-intersection"}},"key":"2A05"},{"category":"Sm","mappings":{"default":{"default":"n ary square union operator"},"mathspeak":{"default":"square-union"}},"key":"2A06"},{"category":"Sm","mappings":{"default":{"default":"two logical and operator"},"mathspeak":{"default":"two-logical-and"}},"key":"2A07"},{"category":"Sm","mappings":{"default":{"default":"two logical or operator"},"mathspeak":{"default":"two-logical-or"}},"key":"2A08"},{"category":"Sm","mappings":{"default":{"default":"n ary times operator"},"mathspeak":{"default":"times"}},"key":"2A09"},{"category":"Sm","mappings":{"default":{"default":"modulo two sum"},"mathspeak":{"default":"modulo-two-sum"}},"key":"2A0A"},{"category":"Sm","mappings":{"default":{"default":"summation with integral"},"mathspeak":{"default":"summation-with-integral"}},"key":"2A0B"},{"category":"Sm","mappings":{"default":{"default":"quadruple integral operator"},"mathspeak":{"default":"quadruple-integral"}},"key":"2A0C"},{"category":"Sm","mappings":{"default":{"default":"finite part integral"},"mathspeak":{"default":"finite-part-integral"}},"key":"2A0D"},{"category":"Sm","mappings":{"default":{"default":"integral with double stroke"},"mathspeak":{"default":"integral-with-double-stroke"}},"key":"2A0E"},{"category":"Sm","mappings":{"default":{"default":"integral average with slash"},"mathspeak":{"default":"integral-average-with-slash"}},"key":"2A0F"},{"category":"Sm","mappings":{"default":{"default":"circulation function"},"mathspeak":{"default":"circulation-function"}},"key":"2A10"},{"category":"Sm","mappings":{"default":{"default":"anticlockwise integration"},"mathspeak":{"default":"anticlockwise-integration"}},"key":"2A11"},{"category":"Sm","mappings":{"default":{"default":"line integration with rectangular path around pole"},"mathspeak":{"default":"line-integration-with-rectangular-path-around-pole"}},"key":"2A12"},{"category":"Sm","mappings":{"default":{"default":"line integration with semicircular path around pole"},"mathspeak":{"default":"line-integration-with-semicircular-path-around-pole"}},"key":"2A13"},{"category":"Sm","mappings":{"default":{"default":"line integration not including the pole"},"mathspeak":{"default":"line-integration-not-including-the-pole"}},"key":"2A14"},{"category":"Sm","mappings":{"default":{"default":"integral around a point operator"},"mathspeak":{"default":"integral-around-a-point"}},"key":"2A15"},{"category":"Sm","mappings":{"default":{"default":"quaternion integral operator"},"mathspeak":{"default":"quaternion-integral"}},"key":"2A16"},{"category":"Sm","mappings":{"default":{"default":"integral with times sign","short":"integral with times"},"mathspeak":{"default":"integral-with-times"}},"key":"2A18"},{"category":"Sm","mappings":{"default":{"default":"integral with intersection"},"mathspeak":{"default":"integral-with-intersection"}},"key":"2A19"},{"category":"Sm","mappings":{"default":{"default":"integral with union"},"mathspeak":{"default":"integral-with-union"}},"key":"2A1A"},{"category":"Sm","mappings":{"default":{"default":"integral with overbar"},"mathspeak":{"default":"integral-with-overbar"}},"key":"2A1B"},{"category":"Sm","mappings":{"default":{"default":"integral with underbar"},"mathspeak":{"default":"integral-with-underbar"}},"key":"2A1C"},{"category":"Sm","mappings":{"default":{"default":"join"}},"key":"2A1D"},{"category":"Sm","mappings":{"default":{"default":"large left triangle operator"},"mathspeak":{"default":"large-left-triangle"}},"key":"2A1E"},{"category":"Sm","mappings":{"default":{"default":"z notation schema composition"},"mathspeak":{"default":"z-notation-schema-composition"}},"key":"2A1F"},{"category":"Sm","mappings":{"default":{"default":"z notation schema piping"},"mathspeak":{"default":"z-notation-schema-piping"}},"key":"2A20"},{"category":"Sm","mappings":{"default":{"default":"z notation schema projection"},"mathspeak":{"default":"z-notation-schema-projection"}},"key":"2A21"},{"category":"Sm","mappings":{"default":{"default":"plus sign with small circle above","short":"plus with circle above"},"mathspeak":{"default":"plus-with-circle-above"}},"key":"2A22"},{"category":"Sm","mappings":{"default":{"default":"plus sign with circumflex accent above","short":"plus hat"},"mathspeak":{"default":"plus-hat"}},"key":"2A23"},{"category":"Sm","mappings":{"default":{"default":"plus sign with tilde above","short":"plus tilde"},"mathspeak":{"default":"plus-tilde"}},"key":"2A24"},{"category":"Sm","mappings":{"default":{"default":"plus sign with dot below","short":"plus underdot"},"mathspeak":{"default":"plus-underdot"}},"key":"2A25"},{"category":"Sm","mappings":{"default":{"default":"plus sign with tilde below"},"mathspeak":{"default":"plus-sign-with-tilde-below"}},"key":"2A26"},{"category":"Sm","mappings":{"default":{"default":"plus sign with subscript two"},"mathspeak":{"default":"plus-sign-with-subscript-two"}},"key":"2A27"},{"category":"Sm","mappings":{"default":{"default":"plus sign with black triangle"},"mathspeak":{"default":"plus-sign-with-black-triangle"}},"key":"2A28"},{"category":"Sm","mappings":{"default":{"default":"minus sign with comma above"},"mathspeak":{"default":"minus-sign-with-comma-above"}},"key":"2A29"},{"category":"Sm","mappings":{"default":{"default":"minus sign with dot below"},"mathspeak":{"default":"minus-sign-with-dot-below"}},"key":"2A2A"},{"category":"Sm","mappings":{"default":{"default":"minus sign with falling dots"},"mathspeak":{"default":"minus-sign-with-falling-dots"}},"key":"2A2B"},{"category":"Sm","mappings":{"default":{"default":"minus sign with rising dots"},"mathspeak":{"default":"minus-sign-with-rising-dots"}},"key":"2A2C"},{"category":"Sm","mappings":{"default":{"default":"plus sign in left half circle"},"mathspeak":{"default":"plus-sign-in-left-half-circle"}},"key":"2A2D"},{"category":"Sm","mappings":{"default":{"default":"plus sign in right half circle"},"mathspeak":{"default":"plus-sign-in-right-half-circle"}},"key":"2A2E"},{"category":"Sm","mappings":{"default":{"default":"vector or cross product"},"mathspeak":{"default":"vector-or-cross-product"}},"key":"2A2F"},{"category":"Sm","mappings":{"default":{"default":"multiplication sign with dot above"},"mathspeak":{"default":"multiplication-sign-with-dot-above"}},"key":"2A30"},{"category":"Sm","mappings":{"default":{"default":"multiplication sign with underbar"},"mathspeak":{"default":"multiplication-sign-with-underbar"}},"key":"2A31"},{"category":"Sm","mappings":{"default":{"default":"semidirect product with bottom closed"},"mathspeak":{"default":"semidirect-product-with-bottom-closed"}},"key":"2A32"},{"category":"Sm","mappings":{"default":{"default":"smash product"},"mathspeak":{"default":"smash-product"}},"key":"2A33"},{"category":"Sm","mappings":{"default":{"default":"multiplication sign in left half circle"},"mathspeak":{"default":"multiplication-sign-in-left-half-circle"}},"key":"2A34"},{"category":"Sm","mappings":{"default":{"default":"multiplication sign in right half circle"},"mathspeak":{"default":"multiplication-sign-in-right-half-circle"}},"key":"2A35"},{"category":"Sm","mappings":{"default":{"default":"circled multiplication sign with circumflex accent"},"mathspeak":{"default":"circled-multiplication-sign-with-circumflex-accent"}},"key":"2A36"},{"category":"Sm","mappings":{"default":{"default":"multiplication sign in double circle"},"mathspeak":{"default":"multiplication-sign-in-double-circle"}},"key":"2A37"},{"category":"Sm","mappings":{"default":{"default":"circled division sign","short":"circled division"},"mathspeak":{"default":"circled-division"}},"key":"2A38"},{"category":"Sm","mappings":{"default":{"default":"plus sign in triangle"},"mathspeak":{"default":"plus-sign-in-triangle"}},"key":"2A39"},{"category":"Sm","mappings":{"default":{"default":"minus sign in triangle"},"mathspeak":{"default":"minus-sign-in-triangle"}},"key":"2A3A"},{"category":"Sm","mappings":{"default":{"default":"multiplication sign in triangle"},"mathspeak":{"default":"multiplication-sign-in-triangle"}},"key":"2A3B"},{"category":"Sm","mappings":{"default":{"default":"interior product"},"mathspeak":{"default":"interior-product"}},"key":"2A3C"},{"category":"Sm","mappings":{"default":{"default":"righthand interior product"},"mathspeak":{"default":"righthand-interior-product"}},"key":"2A3D"},{"category":"Sm","mappings":{"default":{"default":"z notation relational composition"},"mathspeak":{"default":"z-notation-relational-composition"}},"key":"2A3E"},{"category":"Sm","mappings":{"default":{"default":"amalgamation or coproduct"},"mathspeak":{"default":"amalgamation-or-coproduct"}},"key":"2A3F"},{"category":"Sm","mappings":{"default":{"default":"intersection with dot"},"mathspeak":{"default":"intersection-with-dot"}},"key":"2A40"},{"category":"Sm","mappings":{"default":{"default":"union with minus sign","short":"union with minus"},"mathspeak":{"default":"union-with-minus"}},"key":"2A41"},{"category":"Sm","mappings":{"default":{"default":"union with overbar"},"mathspeak":{"default":"union-with-overbar"}},"key":"2A42"},{"category":"Sm","mappings":{"default":{"default":"intersection with overbar"},"mathspeak":{"default":"intersection-with-overbar"}},"key":"2A43"},{"category":"Sm","mappings":{"default":{"default":"intersection with logical and"},"mathspeak":{"default":"intersection-with-logical-and"}},"key":"2A44"},{"category":"Sm","mappings":{"default":{"default":"union with logical or"},"mathspeak":{"default":"union-with-logical-or"}},"key":"2A45"},{"category":"Sm","mappings":{"default":{"default":"union above intersection"},"mathspeak":{"default":"union-above-intersection"}},"key":"2A46"},{"category":"Sm","mappings":{"default":{"default":"intersection above union"},"mathspeak":{"default":"intersection-above-union"}},"key":"2A47"},{"category":"Sm","mappings":{"default":{"default":"union above bar above intersection"},"mathspeak":{"default":"union-above-bar-above-intersection"}},"key":"2A48"},{"category":"Sm","mappings":{"default":{"default":"intersection above bar above union"},"mathspeak":{"default":"intersection-above-bar-above-union"}},"key":"2A49"},{"category":"Sm","mappings":{"default":{"default":"union beside and joined with union"},"mathspeak":{"default":"union-beside-and-joined-with-union"}},"key":"2A4A"},{"category":"Sm","mappings":{"default":{"default":"intersection beside and joined with intersection"},"mathspeak":{"default":"intersection-beside-and-joined-with-intersection"}},"key":"2A4B"},{"category":"Sm","mappings":{"default":{"default":"closed union with serifs"},"mathspeak":{"default":"closed-union-with-serifs"}},"key":"2A4C"},{"category":"Sm","mappings":{"default":{"default":"closed intersection with serifs"},"mathspeak":{"default":"closed-intersection-with-serifs"}},"key":"2A4D"},{"category":"Sm","mappings":{"default":{"default":"double square intersection"},"mathspeak":{"default":"double-square-intersection"}},"key":"2A4E"},{"category":"Sm","mappings":{"default":{"default":"double square union"},"mathspeak":{"default":"double-square-union"}},"key":"2A4F"},{"category":"Sm","mappings":{"default":{"default":"closed union with serifs and smash product"},"mathspeak":{"default":"closed-union-with-serifs-and-smash-product"}},"key":"2A50"},{"category":"Sm","mappings":{"default":{"default":"logical and with dot above"},"mathspeak":{"default":"logical-and-with-dot-above"}},"key":"2A51"},{"category":"Sm","mappings":{"default":{"default":"logical or with dot above"},"mathspeak":{"default":"logical-or-with-dot-above"}},"key":"2A52"},{"category":"Sm","mappings":{"default":{"default":"double logical and"},"mathspeak":{"default":"double-logical-and"}},"key":"2A53"},{"category":"Sm","mappings":{"default":{"default":"double logical or"},"mathspeak":{"default":"double-logical-or"}},"key":"2A54"},{"category":"Sm","mappings":{"default":{"default":"two intersecting logical and"},"mathspeak":{"default":"two-intersecting-logical-and"}},"key":"2A55"},{"category":"Sm","mappings":{"default":{"default":"two intersecting logical or"},"mathspeak":{"default":"two-intersecting-logical-or"}},"key":"2A56"},{"category":"Sm","mappings":{"default":{"default":"sloping large or"},"mathspeak":{"default":"sloping-large-or"}},"key":"2A57"},{"category":"Sm","mappings":{"default":{"default":"sloping large and"},"mathspeak":{"default":"sloping-large-and"}},"key":"2A58"},{"category":"Sm","mappings":{"default":{"default":"logical or overlapping logical and"},"mathspeak":{"default":"logical-or-overlapping-logical-and"}},"key":"2A59"},{"category":"Sm","mappings":{"default":{"default":"logical and with middle stem"},"mathspeak":{"default":"logical-and-with-middle-stem"}},"key":"2A5A"},{"category":"Sm","mappings":{"default":{"default":"logical or with middle stem"},"mathspeak":{"default":"logical-or-with-middle-stem"}},"key":"2A5B"},{"category":"Sm","mappings":{"default":{"default":"logical and with horizontal dash"},"mathspeak":{"default":"logical-and-with-horizontal-dash"}},"key":"2A5C"},{"category":"Sm","mappings":{"default":{"default":"logical or with horizontal dash"},"mathspeak":{"default":"logical-or-with-horizontal-dash"}},"key":"2A5D"},{"category":"Sm","mappings":{"default":{"default":"logical and with double overbar"},"mathspeak":{"default":"logical-and-with-double-overbar"}},"key":"2A5E"},{"category":"Sm","mappings":{"default":{"default":"logical and with underbar"},"mathspeak":{"default":"logical-and-with-underbar"}},"key":"2A5F"},{"category":"Sm","mappings":{"default":{"default":"logical and with double underbar"},"mathspeak":{"default":"logical-and-with-double-underbar"}},"key":"2A60"},{"category":"Sm","mappings":{"default":{"default":"small vee with underbar"},"mathspeak":{"default":"small-vee-with-underbar"}},"key":"2A61"},{"category":"Sm","mappings":{"default":{"default":"logical or with double overbar"},"mathspeak":{"default":"logical-or-with-double-overbar"}},"key":"2A62"},{"category":"Sm","mappings":{"default":{"default":"logical or with double underbar"},"mathspeak":{"default":"logical-or-with-double-underbar"}},"key":"2A63"},{"category":"Sm","mappings":{"default":{"default":"z notation domain antirestriction"},"mathspeak":{"default":"z-notation-domain-antirestriction"}},"key":"2A64"},{"category":"Sm","mappings":{"default":{"default":"z notation range antirestriction"},"mathspeak":{"default":"z-notation-range-antirestriction"}},"key":"2A65"},{"category":"Sm","mappings":{"default":{"default":"equals sign with dot below"},"mathspeak":{"default":"equals-with-dot-below"}},"key":"2A66"},{"category":"Sm","mappings":{"default":{"default":"identical with dot above"},"mathspeak":{"default":"identical-with-dot-above"}},"key":"2A67"},{"category":"Sm","mappings":{"default":{"default":"triple horizontal bar with double vertical stroke"},"mathspeak":{"default":"triple-horizontal-bar-with-double-vertical-stroke"}},"key":"2A68"},{"category":"Sm","mappings":{"default":{"default":"triple horizontal bar with triple vertical stroke"},"mathspeak":{"default":"triple-horizontal-bar-with-triple-vertical-stroke"}},"key":"2A69"},{"category":"Sm","mappings":{"default":{"default":"tilde operator with dot above"},"mathspeak":{"default":"tilde-with-dot-above"}},"key":"2A6A"},{"category":"Sm","mappings":{"default":{"default":"tilde operator with rising dots"},"mathspeak":{"default":"tilde-with-rising-dots"}},"key":"2A6B"},{"category":"Sm","mappings":{"default":{"default":"similar minus similar"},"mathspeak":{"default":"similar-minus-similar"}},"key":"2A6C"},{"category":"Sm","mappings":{"default":{"default":"congruent with dot above"},"mathspeak":{"default":"congruent-with-dot-above"}},"key":"2A6D"},{"category":"Sm","mappings":{"default":{"default":"equals with asterisk"},"mathspeak":{"default":"equals-with-asterisk"}},"key":"2A6E"},{"category":"Sm","mappings":{"default":{"default":"almost equals with circumflex accent","short":"almost equal hat"},"mathspeak":{"default":"almost-equal-hat"}},"key":"2A6F"},{"category":"Sm","mappings":{"default":{"default":"approximately equal or equals"},"mathspeak":{"default":"approximately-equal-or-equal-to"}},"key":"2A70"},{"category":"Sm","mappings":{"default":{"default":"equals sign above plus sign","short":"equals above plus"},"mathspeak":{"default":"equals-above-plus"}},"key":"2A71"},{"category":"Sm","mappings":{"default":{"default":"plus sign above equals sign","short":"plus above equals"},"mathspeak":{"default":"plus-above-equals"}},"key":"2A72"},{"category":"Sm","mappings":{"default":{"default":"equals sign above tilde operator","short":"equals above tilde operator"},"mathspeak":{"default":"equals-above-tilde"}},"key":"2A73"},{"category":"Sm","mappings":{"default":{"default":"double colon equal"},"mathspeak":{"default":"double-colon-equal"}},"key":"2A74"},{"category":"Sm","mappings":{"default":{"default":"two consecutive equals signs","short":"two consecutive equals"},"mathspeak":{"default":"two-consecutive-equals"}},"key":"2A75"},{"category":"Sm","mappings":{"default":{"default":"three consecutive equals signs","short":"three consecutive equals"},"mathspeak":{"default":"three-consecutive-equals"}},"key":"2A76"},{"category":"Sm","mappings":{"default":{"default":"equals sign with two dots above and two dots below"},"mathspeak":{"default":"equals-with-two-dots-above-and-two-dots-below"}},"key":"2A77"},{"category":"Sm","mappings":{"default":{"default":"equivalent with four dots above"},"mathspeak":{"default":"equivalent-with-four-dots-above"}},"key":"2A78"},{"category":"Sm","mappings":{"default":{"default":"less than with circle inside"},"mathspeak":{"default":"less-than-with-circle-inside"}},"key":"2A79"},{"category":"Sm","mappings":{"default":{"default":"greater than with circle inside"},"mathspeak":{"default":"greater-than-with-circle-inside"}},"key":"2A7A"},{"category":"Sm","mappings":{"default":{"default":"less than with question mark above"},"mathspeak":{"default":"less-than-with-question-mark-above"}},"key":"2A7B"},{"category":"Sm","mappings":{"default":{"default":"greater than with question mark above"},"mathspeak":{"default":"greater-than-with-question-mark-above"}},"key":"2A7C"},{"category":"Sm","mappings":{"default":{"default":"less than or slanted equals"},"mathspeak":{"default":"less-than-or-slanted-equals"}},"key":"2A7D"},{"category":"Sm","mappings":{"default":{"default":"greater than or slanted equals"},"mathspeak":{"default":"greater-than-or-slanted-equals"}},"key":"2A7E"},{"category":"Sm","mappings":{"default":{"default":"less than or slanted equals with dot inside"},"mathspeak":{"default":"less-than-or-slanted-equals-with-dot-inside"}},"key":"2A7F"},{"category":"Sm","mappings":{"default":{"default":"greater than or slanted equals with dot inside"},"mathspeak":{"default":"greater-than-or-slanted-equals-with-dot-inside"}},"key":"2A80"},{"category":"Sm","mappings":{"default":{"default":"less than or slanted equals with dot above"},"mathspeak":{"default":"less-than-or-slanted-equals-with-dot-above"}},"key":"2A81"},{"category":"Sm","mappings":{"default":{"default":"greater than or slanted equals with dot above"},"mathspeak":{"default":"greater-than-or-slanted-equals-with-dot-above"}},"key":"2A82"},{"category":"Sm","mappings":{"default":{"default":"less than or slanted equals with dot above right"},"mathspeak":{"default":"less-than-or-slanted-equals-with-dot-above-right"}},"key":"2A83"},{"category":"Sm","mappings":{"default":{"default":"greater than or slanted equals with dot above left"},"mathspeak":{"default":"greater-than-or-slanted-equals-with-dot-above-left"}},"key":"2A84"},{"category":"Sm","mappings":{"default":{"default":"less than or approximate"},"mathspeak":{"default":"less-than-or-approximate"}},"key":"2A85"},{"category":"Sm","mappings":{"default":{"default":"greater than or approximate"},"mathspeak":{"default":"greater-than-or-approximate"}},"key":"2A86"},{"category":"Sm","mappings":{"default":{"default":"less than and single line not equals"},"mathspeak":{"default":"less-than-and-single-line-not-equals"}},"key":"2A87"},{"category":"Sm","mappings":{"default":{"default":"greater than and single line not equals"},"mathspeak":{"default":"greater-than-and-single-line-not-equals"}},"key":"2A88"},{"category":"Sm","mappings":{"default":{"default":"less than and not approximate"},"mathspeak":{"default":"less-than-and-not-approximate"}},"key":"2A89"},{"category":"Sm","mappings":{"default":{"default":"greater than and not approximate"},"mathspeak":{"default":"greater-than-and-not-approximate"}},"key":"2A8A"},{"category":"Sm","mappings":{"default":{"default":"less than above double line equal above greater than"},"mathspeak":{"default":"less-than-above-double-line-equal-above-greater-than"}},"key":"2A8B"},{"category":"Sm","mappings":{"default":{"default":"greater than above double line equal above less than"},"mathspeak":{"default":"greater-than-above-double-line-equal-above-less-than"}},"key":"2A8C"},{"category":"Sm","mappings":{"default":{"default":"less than above similar or equal"},"mathspeak":{"default":"less-than-above-similar-or-equal"}},"key":"2A8D"},{"category":"Sm","mappings":{"default":{"default":"greater than above similar or equal"},"mathspeak":{"default":"greater-than-above-similar-or-equal"}},"key":"2A8E"},{"category":"Sm","mappings":{"default":{"default":"less than above similar above greater than"},"mathspeak":{"default":"less-than-above-similar-above-greater-than"}},"key":"2A8F"},{"category":"Sm","mappings":{"default":{"default":"greater than above similar above less than"},"mathspeak":{"default":"greater-than-above-similar-above-less-than"}},"key":"2A90"},{"category":"Sm","mappings":{"default":{"default":"less than above greater than above double line equal"},"mathspeak":{"default":"less-than-above-greater-than-above-double-line-equal"}},"key":"2A91"},{"category":"Sm","mappings":{"default":{"default":"greater than above less than above double line equal"},"mathspeak":{"default":"greater-than-above-less-than-above-double-line-equal"}},"key":"2A92"},{"category":"Sm","mappings":{"default":{"default":"less than above slanted equal above greater than above slanted equal"},"mathspeak":{"default":"less-than-above-slanted-equal-above-greater-than-above-slanted-equal"}},"key":"2A93"},{"category":"Sm","mappings":{"default":{"default":"greater than above slanted equal above less than above slanted equal"},"mathspeak":{"default":"greater-than-above-slanted-equal-above-less-than-above-slanted-equal"}},"key":"2A94"},{"category":"Sm","mappings":{"default":{"default":"slanted equals or less than"},"mathspeak":{"default":"slanted-equals-or-less-than"}},"key":"2A95"},{"category":"Sm","mappings":{"default":{"default":"slanted equals or greater than"},"mathspeak":{"default":"slanted-equals-or-greater-than"}},"key":"2A96"},{"category":"Sm","mappings":{"default":{"default":"slanted equals or less than with dot inside"},"mathspeak":{"default":"slanted-equals-or-less-than-with-dot-inside"}},"key":"2A97"},{"category":"Sm","mappings":{"default":{"default":"slanted equals or greater than with dot inside"},"mathspeak":{"default":"slanted-equals-or-greater-than-with-dot-inside"}},"key":"2A98"},{"category":"Sm","mappings":{"default":{"default":"double line equals or less than"},"mathspeak":{"default":"double-line-equals-or-less-than"}},"key":"2A99"},{"category":"Sm","mappings":{"default":{"default":"double line equals or greater than"},"mathspeak":{"default":"double-line-equals-or-greater-than"}},"key":"2A9A"},{"category":"Sm","mappings":{"default":{"default":"double line slanted equals or less than"},"mathspeak":{"default":"double-line-slanted-equals-or-less-than"}},"key":"2A9B"},{"category":"Sm","mappings":{"default":{"default":"double line slanted equals or greater than"},"mathspeak":{"default":"double-line-slanted-equals-or-greater-than"}},"key":"2A9C"},{"category":"Sm","mappings":{"default":{"default":"similar or less than"},"mathspeak":{"default":"similar-or-less-than"}},"key":"2A9D"},{"category":"Sm","mappings":{"default":{"default":"similar or greater than"},"mathspeak":{"default":"similar-or-greater-than"}},"key":"2A9E"},{"category":"Sm","mappings":{"default":{"default":"similar above less than above equals sign"},"mathspeak":{"default":"similar-above-less-than-above-equals"}},"key":"2A9F"},{"category":"Sm","mappings":{"default":{"default":"similar above greater than above equals sign"},"mathspeak":{"default":"similar-above-greater-than-above-equals"}},"key":"2AA0"},{"category":"Sm","mappings":{"default":{"default":"double nested less than"},"mathspeak":{"default":"double-nested-less-than"}},"key":"2AA1"},{"category":"Sm","mappings":{"default":{"default":"double nested greater than"},"mathspeak":{"default":"double-nested-greater-than"}},"key":"2AA2"},{"category":"Sm","mappings":{"default":{"default":"double nested less than with underbar"},"mathspeak":{"default":"double-nested-less-than-with-underbar"}},"key":"2AA3"},{"category":"Sm","mappings":{"default":{"default":"greater than overlapping less than"},"mathspeak":{"default":"greater-than-overlapping-less-than"}},"key":"2AA4"},{"category":"Sm","mappings":{"default":{"default":"greater than beside less than"},"mathspeak":{"default":"greater-than-beside-less-than"}},"key":"2AA5"},{"category":"Sm","mappings":{"default":{"default":"less than closed by curve"},"mathspeak":{"default":"less-than-closed-by-curve"}},"key":"2AA6"},{"category":"Sm","mappings":{"default":{"default":"greater than closed by curve"},"mathspeak":{"default":"greater-than-closed-by-curve"}},"key":"2AA7"},{"category":"Sm","mappings":{"default":{"default":"less than closed by curve above slanted equal"},"mathspeak":{"default":"less-than-closed-by-curve-above-slanted-equal"}},"key":"2AA8"},{"category":"Sm","mappings":{"default":{"default":"greater than closed by curve above slanted equal"},"mathspeak":{"default":"greater-than-closed-by-curve-above-slanted-equal"}},"key":"2AA9"},{"category":"Sm","mappings":{"default":{"default":"smaller than"},"mathspeak":{"default":"smaller-than"}},"key":"2AAA"},{"category":"Sm","mappings":{"default":{"default":"larger than"},"mathspeak":{"default":"larger-than"}},"key":"2AAB"},{"category":"Sm","mappings":{"default":{"default":"smaller than or equals"},"mathspeak":{"default":"smaller-than-or-equal-to"}},"key":"2AAC"},{"category":"Sm","mappings":{"default":{"default":"larger than or equals"},"mathspeak":{"default":"larger-than-or-equal-to"}},"key":"2AAD"},{"category":"Sm","mappings":{"default":{"default":"equals sign with bumpy above"},"mathspeak":{"default":"equals-with-bumpy-above"}},"key":"2AAE"},{"category":"Sm","mappings":{"default":{"default":"precedes above single line equals sign"},"mathspeak":{"default":"precedes-above-single-line-equals"}},"key":"2AAF"},{"category":"Sm","mappings":{"default":{"default":"succeeds above single line equals sign"},"mathspeak":{"default":"succeeds-above-single-line-equals"}},"key":"2AB0"},{"category":"Sm","mappings":{"default":{"default":"precedes above single line not equals"},"mathspeak":{"default":"precedes-above-single-line-not-equals"}},"key":"2AB1"},{"category":"Sm","mappings":{"default":{"default":"succeeds above single line not equals"},"mathspeak":{"default":"succeeds-above-single-line-not-equals"}},"key":"2AB2"},{"category":"Sm","mappings":{"default":{"default":"precedes above equals sign"},"mathspeak":{"default":"precedes-above-equals"}},"key":"2AB3"},{"category":"Sm","mappings":{"default":{"default":"succeeds above equals sign"},"mathspeak":{"default":"succeeds-above-equals"}},"key":"2AB4"},{"category":"Sm","mappings":{"default":{"default":"precedes above not equals"},"mathspeak":{"default":"precedes-above-not-equals"}},"key":"2AB5"},{"category":"Sm","mappings":{"default":{"default":"succeeds above not equals"},"mathspeak":{"default":"succeeds-above-not-equals"}},"key":"2AB6"},{"category":"Sm","mappings":{"default":{"default":"precedes above almost equals"},"mathspeak":{"default":"precedes-above-almost-equals"}},"key":"2AB7"},{"category":"Sm","mappings":{"default":{"default":"succeeds above almost equals"},"mathspeak":{"default":"succeeds-above-almost-equals"}},"key":"2AB8"},{"category":"Sm","mappings":{"default":{"default":"precedes above not almost equals"},"mathspeak":{"default":"precedes-above-not-almost-equals"}},"key":"2AB9"},{"category":"Sm","mappings":{"default":{"default":"succeeds above not almost equals"},"mathspeak":{"default":"succeeds-above-not-almost-equals"}},"key":"2ABA"},{"category":"Sm","mappings":{"default":{"default":"double precedes"},"mathspeak":{"default":"double-precedes"}},"key":"2ABB"},{"category":"Sm","mappings":{"default":{"default":"double succeeds"},"mathspeak":{"default":"double-succeeds"}},"key":"2ABC"},{"category":"Sm","mappings":{"default":{"default":"subset with dot"},"mathspeak":{"default":"subset-with-dot"}},"key":"2ABD"},{"category":"Sm","mappings":{"default":{"default":"superset with dot"},"mathspeak":{"default":"superset-with-dot"}},"key":"2ABE"},{"category":"Sm","mappings":{"default":{"default":"subset with plus sign below"},"mathspeak":{"default":"subset-with-plus-sign-below"}},"key":"2ABF"},{"category":"Sm","mappings":{"default":{"default":"superset with plus sign below"},"mathspeak":{"default":"superset-with-plus-sign-below"}},"key":"2AC0"},{"category":"Sm","mappings":{"default":{"default":"subset with multiplication sign below"},"mathspeak":{"default":"subset-with-multiplication-sign-below"}},"key":"2AC1"},{"category":"Sm","mappings":{"default":{"default":"superset with multiplication sign below"},"mathspeak":{"default":"superset-with-multiplication-sign-below"}},"key":"2AC2"},{"category":"Sm","mappings":{"default":{"default":"subset of or equals with dot above"},"mathspeak":{"default":"subset-of-or-equal-to-with-dot-above"}},"key":"2AC3"},{"category":"Sm","mappings":{"default":{"default":"superset of or equals with dot above"},"mathspeak":{"default":"superset-of-or-equal-to-with-dot-above"}},"key":"2AC4"},{"category":"Sm","mappings":{"default":{"default":"subset of above equals sign"},"mathspeak":{"default":"subset-of-above-equals"}},"key":"2AC5"},{"category":"Sm","mappings":{"default":{"default":"superset of above equals sign"},"mathspeak":{"default":"superset-of-above-equals"}},"key":"2AC6"},{"category":"Sm","mappings":{"default":{"default":"subset of above tilde operator"},"mathspeak":{"default":"subset-of-above-tilde"}},"key":"2AC7"},{"category":"Sm","mappings":{"default":{"default":"superset of above tilde operator"},"mathspeak":{"default":"superset-of-above-tilde"}},"key":"2AC8"},{"category":"Sm","mappings":{"default":{"default":"subset of above almost equals"},"mathspeak":{"default":"subset-of-above-almost-equals"}},"key":"2AC9"},{"category":"Sm","mappings":{"default":{"default":"superset of above almost equals"},"mathspeak":{"default":"superset-of-above-almost-equals"}},"key":"2ACA"},{"category":"Sm","mappings":{"default":{"default":"subset of above not equals"},"mathspeak":{"default":"subset-of-above-not-equals"}},"key":"2ACB"},{"category":"Sm","mappings":{"default":{"default":"superset of above not equals"},"mathspeak":{"default":"superset-of-above-not-equals"}},"key":"2ACC"},{"category":"Sm","mappings":{"default":{"default":"square left open box operator"},"mathspeak":{"default":"square-left-open-box"}},"key":"2ACD"},{"category":"Sm","mappings":{"default":{"default":"square right open box operator"},"mathspeak":{"default":"square-right-open-box"}},"key":"2ACE"},{"category":"Sm","mappings":{"default":{"default":"closed subset"},"mathspeak":{"default":"closed-subset"}},"key":"2ACF"},{"category":"Sm","mappings":{"default":{"default":"closed superset"},"mathspeak":{"default":"closed-superset"}},"key":"2AD0"},{"category":"Sm","mappings":{"default":{"default":"closed subset or equals"},"mathspeak":{"default":"closed-subset-or-equal-to"}},"key":"2AD1"},{"category":"Sm","mappings":{"default":{"default":"closed superset or equals"},"mathspeak":{"default":"closed-superset-or-equal-to"}},"key":"2AD2"},{"category":"Sm","mappings":{"default":{"default":"subset above superset"},"mathspeak":{"default":"subset-above-superset"}},"key":"2AD3"},{"category":"Sm","mappings":{"default":{"default":"superset above subset"},"mathspeak":{"default":"superset-above-subset"}},"key":"2AD4"},{"category":"Sm","mappings":{"default":{"default":"subset above subset"},"mathspeak":{"default":"subset-above-subset"}},"key":"2AD5"},{"category":"Sm","mappings":{"default":{"default":"superset above superset"},"mathspeak":{"default":"superset-above-superset"}},"key":"2AD6"},{"category":"Sm","mappings":{"default":{"default":"superset beside subset"},"mathspeak":{"default":"superset-beside-subset"}},"key":"2AD7"},{"category":"Sm","mappings":{"default":{"default":"superset beside and joined by dash with subset"},"mathspeak":{"default":"superset-beside-and-joined-by-dash-with-subset"}},"key":"2AD8"},{"category":"Sm","mappings":{"default":{"default":"element of opening downwards"},"mathspeak":{"default":"element-of-opening-downwards"}},"key":"2AD9"},{"category":"Sm","mappings":{"default":{"default":"pitchfork with tee top"},"mathspeak":{"default":"pitchfork-with-tee-top"}},"key":"2ADA"},{"category":"Sm","mappings":{"default":{"default":"transversal intersection"},"mathspeak":{"default":"transversal-intersection"}},"key":"2ADB"},{"category":"Sm","mappings":{"default":{"default":"forking"}},"key":"2ADC"},{"category":"Sm","mappings":{"default":{"default":"nonforking"}},"key":"2ADD"},{"category":"Sm","mappings":{"default":{"default":"short left tack"},"mathspeak":{"default":"short-left-tack"}},"key":"2ADE"},{"category":"Sm","mappings":{"default":{"default":"short down tack"},"mathspeak":{"default":"short-down-tack"}},"key":"2ADF"},{"category":"Sm","mappings":{"default":{"default":"short up tack"},"mathspeak":{"default":"short-up-tack"}},"key":"2AE0"},{"category":"Sm","mappings":{"default":{"default":"perpendicular with s"},"mathspeak":{"default":"perpendicular-with-s"}},"key":"2AE1"},{"category":"Sm","mappings":{"default":{"default":"vertical bar triple right turnstile"},"mathspeak":{"default":"vertical-bar-triple-right-turnstile"}},"key":"2AE2"},{"category":"Sm","mappings":{"default":{"default":"double vertical bar left turnstile"},"mathspeak":{"default":"double-vertical-bar-left-turnstile"}},"key":"2AE3"},{"category":"Sm","mappings":{"default":{"default":"vertical bar double left turnstile"},"mathspeak":{"default":"vertical-bar-double-left-turnstile"}},"key":"2AE4"},{"category":"Sm","mappings":{"default":{"default":"double vertical bar double left turnstile"},"mathspeak":{"default":"double-vertical-bar-double-left-turnstile"}},"key":"2AE5"},{"category":"Sm","mappings":{"default":{"default":"long dash from left member of double vertical"},"mathspeak":{"default":"long-dash-from-left-member-of-double-vertical"}},"key":"2AE6"},{"category":"Sm","mappings":{"default":{"default":"short down tack with overbar"},"mathspeak":{"default":"short-down-tack-with-overbar"}},"key":"2AE7"},{"category":"Sm","mappings":{"default":{"default":"short up tack with underbar"},"mathspeak":{"default":"short-up-tack-with-underbar"}},"key":"2AE8"},{"category":"Sm","mappings":{"default":{"default":"short up tack above short down tack"},"mathspeak":{"default":"short-up-tack-above-short-down-tack"}},"key":"2AE9"},{"category":"Sm","mappings":{"default":{"default":"double down tack"},"mathspeak":{"default":"double-down-tack"}},"key":"2AEA"},{"category":"Sm","mappings":{"default":{"default":"double up tack"},"mathspeak":{"default":"double-up-tack"}},"key":"2AEB"},{"category":"Sm","mappings":{"default":{"default":"double stroke not sign"},"mathspeak":{"default":"double-stroke-not-sign"}},"key":"2AEC"},{"category":"Sm","mappings":{"default":{"default":"reversed double stroke not sign"},"mathspeak":{"default":"reversed-double-stroke-not-sign"}},"key":"2AED"},{"category":"Sm","mappings":{"default":{"default":"does not divide with reversed negation slash"},"mathspeak":{"default":"does-not-divide-with-reversed-negation-slash"}},"key":"2AEE"},{"category":"Sm","mappings":{"default":{"default":"vertical line with circle above"},"mathspeak":{"default":"vertical-line-with-circle-above"}},"key":"2AEF"},{"category":"Sm","mappings":{"default":{"default":"vertical line with circle below"},"mathspeak":{"default":"vertical-line-with-circle-below"}},"key":"2AF0"},{"category":"Sm","mappings":{"default":{"default":"down tack with circle below"},"mathspeak":{"default":"down-tack-with-circle-below"}},"key":"2AF1"},{"category":"Sm","mappings":{"default":{"default":"parallel with horizontal stroke"},"mathspeak":{"default":"parallel-with-horizontal-stroke"}},"key":"2AF2"},{"category":"Sm","mappings":{"default":{"default":"parallel with tilde operator"},"mathspeak":{"default":"parallel-with-tilde"}},"key":"2AF3"},{"category":"Sm","mappings":{"default":{"default":"triple vertical bar binary relation"},"mathspeak":{"default":"triple-vertical-bar-binary-relation"}},"key":"2AF4"},{"category":"Sm","mappings":{"default":{"default":"triple vertical bar with horizontal stroke"},"mathspeak":{"default":"triple-vertical-bar-with-horizontal-stroke"}},"key":"2AF5"},{"category":"Sm","mappings":{"default":{"default":"triple colon operator"},"mathspeak":{"default":"triple-colon"}},"key":"2AF6"},{"category":"Sm","mappings":{"default":{"default":"triple nested less than"},"mathspeak":{"default":"triple-nested-less-than"}},"key":"2AF7"},{"category":"Sm","mappings":{"default":{"default":"triple nested greater than"},"mathspeak":{"default":"triple-nested-greater-than"}},"key":"2AF8"},{"category":"Sm","mappings":{"default":{"default":"double line slanted less than or equals"},"mathspeak":{"default":"double-line-slanted-less-than-or-equal-to"}},"key":"2AF9"},{"category":"Sm","mappings":{"default":{"default":"double line slanted greater than or equals"},"mathspeak":{"default":"double-line-slanted-greater-than-or-equal-to"}},"key":"2AFA"},{"category":"Sm","mappings":{"default":{"default":"triple solidus binary relation"},"mathspeak":{"default":"triple-solidus-binary-relation"}},"key":"2AFB"},{"category":"Sm","mappings":{"default":{"default":"large triple vertical bar operator"},"mathspeak":{"default":"large-triple-vertical-bar"}},"key":"2AFC"},{"category":"Sm","mappings":{"default":{"default":"double solidus operator"},"mathspeak":{"default":"double-solidus"}},"key":"2AFD"},{"category":"Sm","mappings":{"default":{"default":"white vertical bar"},"mathspeak":{"default":"white-vertical-bar"}},"key":"2AFE"},{"category":"Sm","mappings":{"default":{"default":"n ary white vertical bar"},"mathspeak":{"default":"white-vertical-bar"}},"key":"2AFF"},{"category":"Pd","mappings":{"default":{"default":"wave dash"},"mathspeak":{"default":"wave-dash"}},"key":"301C"},{"category":"Po","mappings":{"default":{"default":"presentation form for vertical comma"},"mathspeak":{"default":"presentation-form-for-vertical-comma"}},"key":"FE10"},{"category":"Po","mappings":{"default":{"default":"presentation form for vertical colon"},"mathspeak":{"default":"presentation-form-for-vertical-colon"}},"key":"FE13"},{"category":"Po","mappings":{"default":{"default":"presentation form for vertical semicolon"},"mathspeak":{"default":"presentation-form-for-vertical-semicolon"}},"key":"FE14"},{"category":"Po","mappings":{"default":{"default":"presentation form for vertical exclamation mark"},"mathspeak":{"default":"presentation-form-for-vertical-exclamation-mark"}},"key":"FE15"},{"category":"Po","mappings":{"default":{"default":"presentation form for vertical question mark"},"mathspeak":{"default":"presentation-form-for-vertical-question-mark"}},"key":"FE16"},{"category":"Po","mappings":{"default":{"default":"presentation form for vertical horizontal ellipsis"},"mathspeak":{"default":"presentation-form-for-vertical-horizontal-ellipsis"}},"key":"FE19"},{"category":"Po","mappings":{"default":{"default":"presentation form for vertical two dot leader","alternative":"glyph for vertical two dot leader"},"mathspeak":{"default":"glyph-for-vertical-two-dot-leader"}},"key":"FE30"},{"category":"Pd","mappings":{"default":{"default":"presentation form for vertical em dash","alternative":"glyph for vertical em dash"},"mathspeak":{"default":"glyph-for-vertical-em-dash"}},"key":"FE31"},{"category":"Pd","mappings":{"default":{"default":"presentation form for vertical en dash","alternative":"glyph for vertical en dash"},"mathspeak":{"default":"glyph-for-vertical-en-dash"}},"key":"FE32"},{"category":"Pc","mappings":{"default":{"default":"presentation form for vertical low line","alternative":"glyph for vertical spacing underscore"},"mathspeak":{"default":"glyph-for-vertical-underscore"}},"key":"FE33"},{"category":"Pc","mappings":{"default":{"default":"presentation form for vertical wavy low line","alternative":"glyph for vertical spacing wavy underscore"},"mathspeak":{"default":"glyph-for-vertical-wavy-underscore"}},"key":"FE34"},{"category":"Po","mappings":{"default":{"default":"sesame dot"},"mathspeak":{"default":"sesame-dot"}},"key":"FE45"},{"category":"Po","mappings":{"default":{"default":"white sesame dot"},"mathspeak":{"default":"white-sesame-dot"}},"key":"FE46"},{"category":"Po","mappings":{"default":{"default":"dashed overline","alternative":"spacing dashed overscore"},"mathspeak":{"default":"dashed-overscore"}},"key":"FE49"},{"category":"Po","mappings":{"default":{"default":"centerline overline","alternative":"spacing centerline overscore"},"mathspeak":{"default":"centerline-overscore"}},"key":"FE4A"},{"category":"Po","mappings":{"default":{"default":"wavy overline","alternative":"spacing wavy overscore"},"mathspeak":{"default":"wavy-overscore"}},"key":"FE4B"},{"category":"Po","mappings":{"default":{"default":"double wavy overline","alternative":"spacing double wavy overscore"},"mathspeak":{"default":"double-wavy-overscore"}},"key":"FE4C"},{"category":"Pc","mappings":{"default":{"default":"dashed low line","alternative":"spacing dashed underscore"},"mathspeak":{"default":"dashed-underscore"}},"key":"FE4D"},{"category":"Pc","mappings":{"default":{"default":"centerline low line","alternative":"spacing centerline underscore"},"mathspeak":{"default":"centerline-underscore"}},"key":"FE4E"},{"category":"Pc","mappings":{"default":{"default":"wavy low line","alternative":"spacing wavy underscore"},"mathspeak":{"default":"wavy-underscore"}},"key":"FE4F"},{"category":"Po","mappings":{"default":{"default":"small comma"},"mathspeak":{"default":"small-comma"}},"key":"FE50"},{"category":"Po","mappings":{"default":{"default":"small full stop","alternative":"small period"},"mathspeak":{"default":"small-period"}},"key":"FE52"},{"category":"Po","mappings":{"default":{"default":"small semicolon"},"mathspeak":{"default":"small-semicolon"}},"key":"FE54"},{"category":"Po","mappings":{"default":{"default":"small colon"},"mathspeak":{"default":"small-colon"}},"key":"FE55"},{"category":"Po","mappings":{"default":{"default":"small question mark"},"mathspeak":{"default":"small-question-mark"}},"key":"FE56"},{"category":"Po","mappings":{"default":{"default":"small exclamation mark"},"mathspeak":{"default":"small-exclamation-mark"}},"key":"FE57"},{"category":"Pd","mappings":{"default":{"default":"small em dash"},"mathspeak":{"default":"small-em-dash"}},"key":"FE58"},{"category":"Po","mappings":{"default":{"default":"small number sign"},"mathspeak":{"default":"small-number-sign"}},"key":"FE5F"},{"category":"Po","mappings":{"default":{"default":"small ampersand"},"mathspeak":{"default":"small-ampersand"}},"key":"FE60"},{"category":"Po","mappings":{"default":{"default":"small asterisk"},"mathspeak":{"default":"small-asterisk"}},"key":"FE61"},{"category":"Sm","mappings":{"default":{"default":"small plus sign"},"mathspeak":{"default":"small-plus-sign"}},"key":"FE62"},{"category":"Pd","mappings":{"default":{"default":"small hyphen minus"},"mathspeak":{"default":"small-hyphen-minus"}},"key":"FE63"},{"category":"Sm","mappings":{"default":{"default":"small less than sign"},"mathspeak":{"default":"small-less-than-sign"}},"key":"FE64"},{"category":"Sm","mappings":{"default":{"default":"small greater than sign"},"mathspeak":{"default":"small-greater-than-sign"}},"key":"FE65"},{"category":"Sm","mappings":{"default":{"default":"small equals sign"},"mathspeak":{"default":"small-equals"}},"key":"FE66"},{"category":"Po","mappings":{"default":{"default":"small reverse solidus","alternative":"small backslash"},"mathspeak":{"default":"small-backslash"}},"key":"FE68"},{"category":"Sc","mappings":{"default":{"default":"small dollar sign"},"mathspeak":{"default":"small-dollar-sign"}},"key":"FE69"},{"category":"Po","mappings":{"default":{"default":"small percent sign"},"mathspeak":{"default":"small-percent-sign"}},"key":"FE6A"},{"category":"Po","mappings":{"default":{"default":"small commercial at"},"mathspeak":{"default":"small-commercial-at"}},"key":"FE6B"},{"category":"Po","mappings":{"default":{"default":"fullwidth exclamation mark"},"mathspeak":{"default":"exclamation-mark"}},"key":"FF01"},{"category":"Po","mappings":{"default":{"default":"fullwidth quotation mark"},"mathspeak":{"default":"quotation-mark"}},"key":"FF02"},{"category":"Po","mappings":{"default":{"default":"fullwidth number sign"},"mathspeak":{"default":"number-sign"}},"key":"FF03"},{"category":"Sc","mappings":{"default":{"default":"fullwidth dollar sign"},"mathspeak":{"default":"dollar-sign"}},"key":"FF04"},{"category":"Po","mappings":{"default":{"default":"fullwidth percent sign"},"mathspeak":{"default":"percent-sign"}},"key":"FF05"},{"category":"Po","mappings":{"default":{"default":"fullwidth ampersand"},"mathspeak":{"default":"ampersand"}},"key":"FF06"},{"category":"Po","mappings":{"default":{"default":"fullwidth apostrophe"},"mathspeak":{"default":"apostrophe"}},"key":"FF07"},{"category":"Po","mappings":{"default":{"default":"fullwidth asterisk"},"mathspeak":{"default":"asterisk"}},"key":"FF0A"},{"category":"Sm","mappings":{"default":{"default":"fullwidth plus sign"},"mathspeak":{"default":"plus-sign"}},"key":"FF0B"},{"category":"Po","mappings":{"default":{"default":"fullwidth comma"},"mathspeak":{"default":"comma"}},"key":"FF0C"},{"category":"Pd","mappings":{"default":{"default":"fullwidth hyphen minus"},"mathspeak":{"default":"hyphen-minus"}},"key":"FF0D"},{"category":"Po","mappings":{"default":{"default":"fullwidth full stop","alternative":"fullwidth period"},"mathspeak":{"default":"period"}},"key":"FF0E"},{"category":"Po","mappings":{"default":{"default":"fullwidth solidus","alternative":"fullwidth slash"},"mathspeak":{"default":"slash"}},"key":"FF0F"},{"category":"Po","mappings":{"default":{"default":"fullwidth colon"},"mathspeak":{"default":"colon"}},"key":"FF1A"},{"category":"Po","mappings":{"default":{"default":"fullwidth semicolon"},"mathspeak":{"default":"semicolon"}},"key":"FF1B"},{"category":"Sm","mappings":{"default":{"default":"fullwidth less than sign"},"mathspeak":{"default":"less-than-sign"}},"key":"FF1C"},{"category":"Sm","mappings":{"default":{"default":"fullwidth equals sign"},"mathspeak":{"default":"equals"}},"key":"FF1D"},{"category":"Sm","mappings":{"default":{"default":"fullwidth greater than sign"},"mathspeak":{"default":"greater-than-sign"}},"key":"FF1E"},{"category":"Po","mappings":{"default":{"default":"fullwidth question mark"},"mathspeak":{"default":"question-mark"}},"key":"FF1F"},{"category":"Po","mappings":{"default":{"default":"fullwidth commercial at"},"mathspeak":{"default":"commercial-at"}},"key":"FF20"},{"category":"Po","mappings":{"default":{"default":"fullwidth reverse solidus","alternative":"fullwidth backslash"},"mathspeak":{"default":"backslash"}},"key":"FF3C"},{"category":"Sk","mappings":{"default":{"default":"fullwidth circumflex accent","alternative":"fullwidth spacing circumflex"},"mathspeak":{"default":"caret"}},"key":"FF3E"},{"category":"Pc","mappings":{"default":{"default":"fullwidth low line","alternative":"fullwidth spacing underscore"},"mathspeak":{"default":"bar"}},"key":"FF3F"},{"category":"Sk","mappings":{"default":{"default":"fullwidth grave accent","alternative":"fullwidth spacing grave"},"mathspeak":{"default":"grave"}},"key":"FF40"},{"category":"Sm","mappings":{"default":{"default":"fullwidth vertical line","alternative":"fullwidth vertical bar"},"mathspeak":{"default":"vertical-bar"}},"key":"FF5C"},{"category":"Sm","mappings":{"default":{"default":"fullwidth tilde","alternative":"fullwidth spacing tilde"},"mathspeak":{"default":"tilde"}},"key":"FF5E"},{"category":"Sc","mappings":{"default":{"default":"fullwidth cent sign"},"mathspeak":{"default":"cent-sign"}},"key":"FFE0"},{"category":"Sc","mappings":{"default":{"default":"fullwidth pound sign"},"mathspeak":{"default":"pound-sign"}},"key":"FFE1"},{"category":"Sm","mappings":{"default":{"default":"fullwidth not sign"},"mathspeak":{"default":"not-sign"}},"key":"FFE2"},{"category":"Sk","mappings":{"default":{"default":"fullwidth macron","alternative":"fullwidth spacing macron"},"mathspeak":{"default":"bar"}},"key":"FFE3"},{"category":"So","mappings":{"default":{"default":"fullwidth broken bar","alternative":"fullwidth broken vertical bar"},"mathspeak":{"default":"broken-vertical-bar"}},"key":"FFE4"},{"category":"Sc","mappings":{"default":{"default":"fullwidth yen sign"},"mathspeak":{"default":"yen-sign"}},"key":"FFE5"},{"category":"Sc","mappings":{"default":{"default":"fullwidth won sign"},"mathspeak":{"default":"won-sign"}},"key":"FFE6"},{"category":"So","mappings":{"default":{"default":"halfwidth forms light vertical"},"mathspeak":{"default":"halfwidth-forms-light-vertical"}},"key":"FFE8"},{"category":"So","mappings":{"default":{"default":"halfwidth black square"},"mathspeak":{"default":"halfwidth-black-square"}},"key":"FFED"},{"category":"So","mappings":{"default":{"default":"halfwidth white circle"},"mathspeak":{"default":"halfwidth-white-circle"}},"key":"FFEE"}] +, +"en/math_whitespace.js": +[{"locale":"en"},{"category":"Zs","mappings":{"default":{"default":"space"}},"key":"0020"},{"category":"Zs","mappings":{"default":{"default":"no break space","alternative":"non breaking space"}},"key":"00A0"},{"category":"Cf","mappings":{"default":{"default":"soft hyphen"}},"key":"00AD"},{"category":"Zs","mappings":{"default":{"default":"en quad"}},"key":"2000"},{"category":"Zs","mappings":{"default":{"default":"em quad"}},"key":"2001"},{"category":"Zs","mappings":{"default":{"default":"en space"}},"key":"2002"},{"category":"Zs","mappings":{"default":{"default":"em space"}},"key":"2003"},{"category":"Zs","mappings":{"default":{"default":"three per em space"}},"key":"2004"},{"category":"Zs","mappings":{"default":{"default":"four per em space"}},"key":"2005"},{"category":"Zs","mappings":{"default":{"default":"six per em space"}},"key":"2006"},{"category":"Zs","mappings":{"default":{"default":"figure space"}},"key":"2007"},{"category":"Zs","mappings":{"default":{"default":"punctuation space"}},"key":"2008"},{"category":"Zs","mappings":{"default":{"default":"thin space"}},"key":"2009"},{"category":"Zs","mappings":{"default":{"default":"hair space"}},"key":"200A"},{"category":"Cf","mappings":{"default":{"default":"zero width space"}},"key":"200B"},{"category":"Cf","mappings":{"default":{"default":"zero width non joiner"}},"key":"200C"},{"category":"Cf","mappings":{"default":{"default":"zero width joiner"}},"key":"200D"},{"category":"Cf","mappings":{"default":{"default":"left to right mark"}},"key":"200E"},{"category":"Cf","mappings":{"default":{"default":"right to left mark"}},"key":"200F"},{"category":"Zl","mappings":{"default":{"default":"line separator"}},"key":"2028"},{"category":"Zp","mappings":{"default":{"default":"paragraph separator"}},"key":"2029"},{"category":"Cf","mappings":{"default":{"default":"left to right embedding"}},"key":"202A"},{"category":"Cf","mappings":{"default":{"default":"right to left embedding"}},"key":"202B"},{"category":"Cf","mappings":{"default":{"default":"pop directional formatting"}},"key":"202C"},{"category":"Cf","mappings":{"default":{"default":"left to right override"}},"key":"202D"},{"category":"Cf","mappings":{"default":{"default":"right to left override"}},"key":"202E"},{"category":"Zs","mappings":{"default":{"default":"narrow no break space"}},"key":"202F"},{"category":"Zs","mappings":{"default":{"default":"medium mathematical space"}},"key":"205F"},{"category":"Cf","mappings":{"default":{"default":"word joiner"}},"key":"2060"},{"category":"Cf","mappings":{"default":{"default":"function application","short":"of"}},"key":"2061"},{"category":"Cf","mappings":{"default":{"default":"invisible times","short":"times"}},"key":"2062"},{"category":"Cf","mappings":{"default":{"default":"invisible separator","short":"separator"}},"key":"2063"},{"category":"Cf","mappings":{"default":{"default":"invisible plus","short":"plus"}},"key":"2064"},{"category":"Cf","mappings":{"default":{"default":"inhibit symmetric swapping"}},"key":"206A"},{"category":"Cf","mappings":{"default":{"default":"activate symmetric swapping"}},"key":"206B"},{"category":"Cf","mappings":{"default":{"default":"national digit shapes"}},"key":"206E"},{"category":"Cf","mappings":{"default":{"default":"nominal digit shapes"}},"key":"206F"},{"category":"Cf","mappings":{"default":{"default":"zero width no break space","alternative":"byte order mark"}},"key":"FEFF"},{"category":"Cf","mappings":{"default":{"default":"interlinear annotation anchor"}},"key":"FFF9"},{"category":"Cf","mappings":{"default":{"default":"interlinear annotation separator"}},"key":"FFFA"},{"category":"Cf","mappings":{"default":{"default":"interlinear annotation terminator"}},"key":"FFFB"}] +, +"en/other_stars.js": +[{"locale":"en"},{"category":"So","mappings":{"default":{"default":"decimal exponent symbol"}},"key":"23E8"},{"category":"So","mappings":{"default":{"default":"black star"}},"key":"2605"},{"category":"So","mappings":{"default":{"default":"white star"}},"key":"2606"},{"category":"So","mappings":{"default":{"default":"medium white circle","short":"white circle"}},"key":"26AA"},{"category":"So","mappings":{"default":{"default":"medium black circle","short":"black circle"}},"key":"26AB"},{"category":"So","mappings":{"default":{"default":"white heavy check mark","short":"white check"}},"key":"2705"},{"category":"So","mappings":{"default":{"default":"check mark","short":"check"}},"key":"2713"},{"category":"So","mappings":{"default":{"default":"heavy check mark","short":"heavy check"}},"key":"2714"},{"category":"So","mappings":{"default":{"default":"multiplication x"}},"key":"2715"},{"category":"So","mappings":{"default":{"default":"heavy multiplication x"}},"key":"2716"},{"category":"So","mappings":{"default":{"default":"ballot x"}},"key":"2717"},{"category":"So","mappings":{"default":{"default":"heavy ballot x"}},"key":"2718"},{"category":"So","mappings":{"default":{"default":"open center cross"}},"key":"271B"},{"category":"So","mappings":{"default":{"default":"heavy open center cross"}},"key":"271C"},{"category":"So","mappings":{"default":{"default":"maltese cross"}},"key":"2720"},{"category":"So","mappings":{"default":{"default":"star of david"}},"key":"2721"},{"category":"So","mappings":{"default":{"default":"four teardrop spoked asterisk"}},"key":"2722"},{"category":"So","mappings":{"default":{"default":"four balloon spoked asterisk"}},"key":"2723"},{"category":"So","mappings":{"default":{"default":"heavy four balloon spoked asterisk"}},"key":"2724"},{"category":"So","mappings":{"default":{"default":"four club spoked asterisk"}},"key":"2725"},{"category":"So","mappings":{"default":{"default":"black four pointed star"}},"key":"2726"},{"category":"So","mappings":{"default":{"default":"white four pointed star"}},"key":"2727"},{"category":"So","mappings":{"default":{"default":"sparkles"}},"key":"2728"},{"category":"So","mappings":{"default":{"default":"stress outlined white star"}},"key":"2729"},{"category":"So","mappings":{"default":{"default":"circled white star"}},"key":"272A"},{"category":"So","mappings":{"default":{"default":"open center black star"}},"key":"272B"},{"category":"So","mappings":{"default":{"default":"black center white star"}},"key":"272C"},{"category":"So","mappings":{"default":{"default":"outlined black star"}},"key":"272D"},{"category":"So","mappings":{"default":{"default":"heavy outlined black star"}},"key":"272E"},{"category":"So","mappings":{"default":{"default":"pinwheel star"}},"key":"272F"},{"category":"So","mappings":{"default":{"default":"shadowed white star"}},"key":"2730"},{"category":"So","mappings":{"default":{"default":"heavy asterisk"}},"key":"2731"},{"category":"So","mappings":{"default":{"default":"open center asterisk"}},"key":"2732"},{"category":"So","mappings":{"default":{"default":"eight spoked asterisk"}},"key":"2733"},{"category":"So","mappings":{"default":{"default":"eight pointed black star"}},"key":"2734"},{"category":"So","mappings":{"default":{"default":"eight pointed pinwheel star"}},"key":"2735"},{"category":"So","mappings":{"default":{"default":"six pointed black star"}},"key":"2736"},{"category":"So","mappings":{"default":{"default":"twelve pointed black star"}},"key":"2739"},{"category":"So","mappings":{"default":{"default":"sixteen pointed asterisk"}},"key":"273A"},{"category":"So","mappings":{"default":{"default":"teardrop spoked asterisk"}},"key":"273B"},{"category":"So","mappings":{"default":{"default":"open center teardrop spoked asterisk"}},"key":"273C"},{"category":"So","mappings":{"default":{"default":"heavy teardrop spoked asterisk"}},"key":"273D"},{"category":"So","mappings":{"default":{"default":"six petalled black and white florette"}},"key":"273E"},{"category":"So","mappings":{"default":{"default":"black florette"}},"key":"273F"},{"category":"So","mappings":{"default":{"default":"white florette"}},"key":"2740"},{"category":"So","mappings":{"default":{"default":"eight petalled outlined black florette"}},"key":"2741"},{"category":"So","mappings":{"default":{"default":"circled open center eight pointed star"}},"key":"2742"},{"category":"So","mappings":{"default":{"default":"heavy teardrop spoked pinwheel asterisk"}},"key":"2743"},{"category":"So","mappings":{"default":{"default":"snowflake"}},"key":"2744"},{"category":"So","mappings":{"default":{"default":"tight trifoliate snowflake"}},"key":"2745"},{"category":"So","mappings":{"default":{"default":"heavy chevron snowflake"}},"key":"2746"},{"category":"So","mappings":{"default":{"default":"sparkle"}},"key":"2747"},{"category":"So","mappings":{"default":{"default":"heavy sparkle"}},"key":"2748"},{"category":"So","mappings":{"default":{"default":"balloon spoked asterisk"}},"key":"2749"},{"category":"So","mappings":{"default":{"default":"eight teardrop spoked propeller asterisk"}},"key":"274A"},{"category":"So","mappings":{"default":{"default":"heavy eight teardrop spoked propeller asterisk"}},"key":"274B"},{"category":"So","mappings":{"default":{"default":"cross mark"}},"key":"274C"},{"category":"So","mappings":{"default":{"default":"shadowed white circle"}},"key":"274D"}] +, +"en/energy.js": +[{"locale":"en"},{"category":"energy","mappings":{"default":{"default":"watts"}},"key":"W","names":["W","w"]},{"category":"energy","mappings":{"default":{"default":"kilowatts"}},"key":"kW","names":["kw","kW"]},{"category":"energy","mappings":{"default":{"default":"milliwatts"}},"key":"mW","names":["mw","mW"]},{"category":"energy","mappings":{"default":{"default":"kilowatt hours"}},"key":"kwh","names":["kwh","kWh"]},{"category":"energy","mappings":{"default":{"default":"joules"}},"key":"J","names":["J"]},{"category":"energy","mappings":{"default":{"default":"Newton"}},"key":"N","names":["N"]},{"category":"energy","mappings":{"default":{"default":"amperes"}},"key":"A","names":["A"]},{"category":"energy","mappings":{"default":{"default":"volts"}},"key":"V","names":["V"]},{"category":"energy","mappings":{"default":{"default":"microohm"}},"key":"µΩ","names":["µΩ"]},{"category":"energy","mappings":{"default":{"default":"milliohm"}},"key":"mΩ","names":["mΩ"]},{"category":"energy","mappings":{"default":{"default":"ohm"}},"key":"Ω","names":["Ω","Ohm"]},{"category":"energy","mappings":{"default":{"default":"kilohm"}},"key":"kΩ","names":["kΩ","KΩ"]},{"category":"energy","mappings":{"default":{"default":"ohm"}},"key":"Ω","names":["Ω"]},{"category":"energy","mappings":{"default":{"default":"megaohm"}},"key":"MΩ","names":["MΩ"]},{"category":"energy","mappings":{"default":{"default":"gigaohm"}},"key":"GΩ","names":["GΩ"]}] +, +"en/length.js": +[{"locale":"en"},{"category":"Length","mappings":{"default":{"default":"millimeters"}},"key":"mm","names":["mm"]},{"category":"Length","mappings":{"default":{"default":"centimeters"}},"key":"cm","names":["cm"]},{"category":"Length","mappings":{"default":{"default":"meters"}},"key":"m","names":["m"]},{"category":"Length","mappings":{"default":{"default":"kilometers"}},"key":"km","names":["km"]},{"category":"Length","mappings":{"default":{"default":"feet"}},"key":"ft","names":["ft","ft."]},{"category":"Length","mappings":{"default":{"default":"inches"}},"key":"in","names":["in","in."]},{"category":"Length","mappings":{"default":{"default":"miles"}},"key":"mi","names":["mi","mi."]},{"category":"Length","mappings":{"default":{"default":"yards"}},"key":"yd","names":["yd","yd."]},{"category":"","mappings":{"default":{"default":"nautical miles"}},"key":"n.m.","names":["n.m."]}] +, +"en/memory.js": +[{"locale":"en"},{"category":"","mappings":{"default":{"default":"bits"}},"key":"b","names":["b"]},{"category":"","mappings":{"default":{"default":"bytes"}},"key":"B","names":["B"]},{"category":"","mappings":{"default":{"default":"kilobytes"}},"key":"KB","names":["KB"]},{"category":"","mappings":{"default":{"default":"megabytes"}},"key":"MB","names":["MB"]},{"category":"","mappings":{"default":{"default":"gigabytes"}},"key":"GB","names":["GB"]},{"category":"","mappings":{"default":{"default":"terabytes"}},"key":"TB","names":["TB"]}] +, +"en/other.js": +[{"locale":"en"},{"category":"","mappings":{"default":{"default":"dozen"}},"key":"doz","names":["doz","doz.","dz","dz."]},{"category":"","mappings":{"default":{"default":"square"}},"key":"sq","names":["sq","sq."]},{"category":"","mappings":{"default":{"default":"hectare"}},"key":"ha","names":["ha"]}] +, +"en/speed.js": +[{"locale":"en"},{"category":"","mappings":{"default":{"default":"knot"}},"key":"kt","names":["kt","kt."]},{"category":"","mappings":{"default":{"default":"miles per hour"}},"key":"mph","names":["mph"]},{"category":"","mappings":{"default":{"default":"revolutions per minute"}},"key":"rpm","names":["rpm"]},{"category":"","mappings":{"default":{"default":"kilometers per hour"}},"key":"kmh","names":["kmh"]}] +, +"en/temperature.js": +[{"locale":"en"},{"category":"","mappings":{"default":{"default":"Fahrenheit"}},"key":"F","names":["F","F.","°F"]},{"category":"","mappings":{"default":{"default":"Celsius","alternative":"Centigrade"}},"key":"C","names":["C","°C"]},{"category":"","mappings":{"default":{"default":"Kelvin"}},"key":"K","names":["K","°K"]}] +, +"en/time.js": +[{"locale":"en"},{"category":"time","mappings":{"default":{"default":"nanoseconds"}},"key":"ns","names":["ns"]},{"category":"time","mappings":{"default":{"default":"microseconds"}},"key":"µs","names":["µs"]},{"category":"time","mappings":{"default":{"default":"milliseconds"}},"key":"ms","names":["ms"]},{"category":"time","mappings":{"default":{"default":"seconds"}},"key":"s","names":["s"]},{"category":"time","mappings":{"default":{"default":"minutes"}},"key":"min","names":["min"]},{"category":"time","mappings":{"default":{"default":"hours"}},"key":"h","names":["h","hr"]}] +, +"en/volume.js": +[{"locale":"en"},{"category":"volume","mappings":{"default":{"default":"barrels"}},"key":"bbl","names":["bbl.","bbl"]},{"category":"volume","mappings":{"default":{"default":"cubics"}},"key":"cu","names":["cu","cu."]},{"category":"volume","mappings":{"default":{"default":"fluid ounces"}},"key":"fl. oz.","names":["fl. oz."]},{"category":"volume","mappings":{"default":{"default":"gallons"}},"key":"gal","names":["gal","gal."]},{"category":"volume","mappings":{"default":{"default":"pints"}},"key":"pt","names":["pt","pt."]},{"category":"volume","mappings":{"default":{"default":"quarts"}},"key":"qt","names":["qt","qt."]},{"category":"volume","mappings":{"default":{"default":"tablespoons"}},"key":"tbsp","names":["tbsp","tbsp."]},{"category":"volume","mappings":{"default":{"default":"teaspoons"}},"key":"tsp","names":["tsp","tsp."]},{"category":"volume","mappings":{"default":{"default":"cubic centimeters"}},"key":"cc","names":["cc"]},{"category":"volume","mappings":{"default":{"default":"kiloliters"}},"key":"kl","names":["kl"]},{"category":"volume","mappings":{"default":{"default":"liters"}},"key":"l","names":["l"]},{"category":"volume","mappings":{"default":{"default":"milliliters"}},"key":"ml","names":["ml"]}] +, +"en/weight.js": +[{"locale":"en"},{"category":"","mappings":{"default":{"default":"pounds"}},"key":"lb","names":["lb","lb."]},{"category":"","mappings":{"default":{"default":"long tons"}},"key":"LT","names":["LT","L.T."]},{"category":"","mappings":{"default":{"default":"ounces"}},"key":"oz","names":["oz","oz."]},{"key":"µg","names":["µg","mcg"],"mappings":{"default":{"default":"micrograms"}}},{"category":"","mappings":{"default":{"default":"grams"}},"key":"gr","names":["g","gr"]},{"category":"","mappings":{"default":{"default":"kilograms"}},"key":"kg","names":["kg"]},{"category":"","mappings":{"default":{"default":"micrograms"}},"key":"mcg","names":["mg","µg"]},{"category":"","mappings":{"default":{"default":"milligrams"}},"key":"mg","names":["mg"]},{"category":"","mappings":{"default":{"default":"tons"}},"key":"t","names":["t","T"]}] +, +"es/algebra.js": +[{"locale":"es"},{"key":"deg","names":["deg"],"mappings":{"default":{"default":"grados"}},"category":"Algebra"},{"key":"det","names":["det"],"mappings":{"default":{"default":"determinante"}},"category":"Algebra"},{"key":"dim","names":["dim"],"mappings":{"default":{"default":"dimensión"}},"category":"Algebra"},{"key":"hom","names":["hom","Hom"],"mappings":{"default":{"default":"homomorfismo"}},"category":"Algebra"},{"key":"ker","names":["ker"],"mappings":{"default":{"default":"kernel"}},"category":"Algebra"},{"key":"Tr","names":["Tr","tr"],"mappings":{"default":{"default":"traza"}},"category":"Algebra"}] +, +"es/elementary.js": +[{"locale":"es"},{"key":"log","names":["log"],"mappings":{"default":{"default":"logaritmo"}},"category":"Logarithm"},{"key":"ln","names":["ln"],"mappings":{"default":{"default":"logaritmo neperiano"}},"category":"Logarithm"},{"key":"lg","names":["lg"],"mappings":{"default":{"default":"logaritmo base 10"}},"category":"Logarithm"},{"key":"exp","names":["exp","expt"],"mappings":{"default":{"default":"exponente"}},"category":"Elementary"},{"key":"gcd","names":["gcd"],"mappings":{"default":{"default":"MCD"}},"category":"Elementary"},{"key":"lcm","names":["lcm"],"mappings":{"default":{"default":"mcm"}},"category":"Elementary"},{"key":"arg","names":["arg"],"mappings":{"default":{"default":"argumento"}},"category":"Complex"},{"key":"im","names":["im"],"mappings":{"default":{"default":"parte imaginaria"}},"category":"Complex"},{"key":"re","names":["re"],"mappings":{"default":{"default":"residuo"}},"category":"Complex"},{"key":"inf","names":["inf"],"mappings":{"default":{"default":"extremo inferior"}},"category":"Limits"},{"key":"lim","names":["lim"],"mappings":{"default":{"default":"lÃmite"}},"category":"Limits"},{"key":"max","names":["max"],"mappings":{"default":{"default":"máximo"}},"category":"Limits"},{"key":"min","names":["min"],"mappings":{"default":{"default":"mÃnimo"}},"category":"Limits"},{"key":"sup","names":["sup"],"mappings":{"default":{"default":"superior"}},"category":"Limits"},{"key":"lim inf","names":["lim inf","liminf"],"mappings":{"default":{"default":"lÃmite inferior"}},"category":"Limits"},{"key":"lim sup","names":["lim sup","limsup"],"mappings":{"default":{"default":"lÃmite superior"}},"category":"Limits"},{"key":"injlim","names":["injlim","inj lim"],"mappings":{"default":{"default":"lÃmite directo"}},"category":"Limits"},{"key":"projlim","names":["projlim","proj lim"],"mappings":{"default":{"default":"lÃmite inverso"}},"category":"Limits"},{"key":"mod","names":["mod"],"mappings":{"default":{"default":"módulo"}},"category":"Elementary"},{"key":"Pr","names":["Pr"],"mappings":{"default":{"default":"probabilidad"}},"category":"Probability"}] +, +"es/hyperbolic.js": +[{"locale":"es"},{"key":"cosh","names":["cosh"],"mappings":{"default":{"default":"coseno hiperbólico"}},"category":"Hyperbolic"},{"key":"coth","names":["coth"],"mappings":{"default":{"default":"cotangente hiperbólica"}},"category":"Hyperbolic"},{"key":"csch","names":["csch"],"mappings":{"default":{"default":"cosecante hiperbólica"}},"category":"Hyperbolic"},{"key":"sech","names":["sech"],"mappings":{"default":{"default":"secante hiperbólica"}},"category":"Hyperbolic"},{"key":"sinh","names":["sinh"],"mappings":{"default":{"default":"seno hiperbólico"}},"category":"Hyperbolic"},{"key":"tanh","names":["tanh"],"mappings":{"default":{"default":"tangente hiperbólica"}},"category":"Hyperbolic"},{"key":"arcosh","names":["arcosh","arccosh"],"mappings":{"default":{"default":"area coseno hiperbólico"}},"category":"Area"},{"key":"arcoth","names":["arcoth","arccoth"],"mappings":{"default":{"default":"area cotangente hiperbólica"}},"category":"Area"},{"key":"arcsch","names":["arcsch","arccsch"],"mappings":{"default":{"default":"area cosecante hiperbólica"}},"category":"Area"},{"key":"arsech","names":["arsech","arcsech"],"mappings":{"default":{"default":"area secante hiperbólica"}},"category":"Area"},{"key":"arsinh","names":["arsinh","arcsinh"],"mappings":{"default":{"default":"area seno hiperbólico"}},"category":"Area"},{"key":"artanh","names":["artanh","arctanh"],"mappings":{"default":{"default":"area tangente hiperbólica"}},"category":"Area"}] +, +"es/trigonometry.js": +[{"locale":"es"},{"key":"cos","names":["cos","cosine"],"mappings":{"default":{"default":"coseno"}},"category":"Trigonometric"},{"key":"cot","names":["cot"],"mappings":{"default":{"default":"cotangente"}},"category":"Trigonometric"},{"key":"csc","names":["csc"],"mappings":{"default":{"default":"cosecante"}},"category":"Trigonometric"},{"key":"sec","names":["sec"],"mappings":{"default":{"default":"secant"}},"category":"Trigonometric"},{"key":"sin","names":["sin","sine","sen"],"mappings":{"default":{"default":"seno"}},"category":"Trigonometric"},{"key":"tan","names":["tan"],"mappings":{"default":{"default":"tangente"}},"category":"Trigonometric"},{"key":"arccos","names":["arccos"],"mappings":{"default":{"default":"arco coseno"}},"category":"Cyclometric"},{"key":"arccot","names":["arccot"],"mappings":{"default":{"default":"arco cotangente"}},"category":"Cyclometric"},{"key":"arccsc","names":["arccsc"],"mappings":{"default":{"default":"arco cosecante"}},"category":"Cyclometric"},{"key":"arcsec","names":["arcsec"],"mappings":{"default":{"default":"arco secante"}},"category":"Cyclometric"},{"key":"arcsin","names":["arcsin"],"mappings":{"default":{"default":"arco seno"}},"category":"Cyclometric"},{"key":"arctan","names":["arctan"],"mappings":{"default":{"default":"arco tangente"}},"category":"Cyclometric"}] +, +"es/greek-capital.js": +[{"locale":"es"},{"key":"0391","mappings":{"default":{"default":"mayúscula Alfa"}},"category":"Lu"},{"key":"0392","mappings":{"default":{"default":"mayúscula Beta"}},"category":"Lu"},{"key":"0393","mappings":{"default":{"default":"mayúscula Gamma"}},"category":"Lu"},{"key":"0394","mappings":{"default":{"default":"mayúscula Delta"}},"category":"Lu"},{"key":"0395","mappings":{"default":{"default":"mayúscula Épsilon"}},"category":"Lu"},{"key":"0396","mappings":{"default":{"default":"mayúscula Zeta"}},"category":"Lu"},{"key":"0397","mappings":{"default":{"default":"mayúscula Eta"}},"category":"Lu"},{"key":"0398","mappings":{"default":{"default":"mayúscula Theta"}},"category":"Lu"},{"key":"0399","mappings":{"default":{"default":"mayúscula Iota"}},"category":"Lu"},{"key":"039A","mappings":{"default":{"default":"mayúscula Kappa"}},"category":"Lu"},{"key":"039B","mappings":{"default":{"default":"mayúscula Lambda"}},"category":"Lu"},{"key":"039C","mappings":{"default":{"default":"mayúscula Mi"}},"category":"Lu"},{"key":"039D","mappings":{"default":{"default":"mayúscula Ni"}},"category":"Lu"},{"key":"039E","mappings":{"default":{"default":"mayúscula Xi"}},"category":"Lu"},{"key":"039F","mappings":{"default":{"default":"mayúscula Ómicron"}},"category":"Lu"},{"key":"03A0","mappings":{"default":{"default":"mayúscula Pi"}},"category":"Lu"},{"key":"03A1","mappings":{"default":{"default":"mayúscula Rho"}},"category":"Lu"},{"key":"03A3","mappings":{"default":{"default":"mayúscula Sigma"}},"category":"Lu"},{"key":"03A4","mappings":{"default":{"default":"mayúscula Tau"}},"category":"Lu"},{"key":"03A5","mappings":{"default":{"default":"mayúscula Ãpsilon"}},"category":"Lu"},{"key":"03A6","mappings":{"default":{"default":"mayúscula Phi"}},"category":"Lu"},{"key":"03A7","mappings":{"default":{"default":"mayúscula Ji"}},"category":"Lu"},{"key":"03A8","mappings":{"default":{"default":"mayúscula Psi"}},"category":"Lu"},{"key":"03A9","mappings":{"default":{"default":"mayúscula Omega"}},"category":"Lu"}] +, +"es/greek-mathfonts-bold.js": +[{"locale":"es"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Alfa"}},"key":"1D6A8"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Beta"}},"key":"1D6A9"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Gamma"}},"key":"1D6AA"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Delta"}},"key":"1D6AB"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Épsilon"}},"key":"1D6AC"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Zeta"}},"key":"1D6AD"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Eta"}},"key":"1D6AE"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Theta"}},"key":"1D6AF"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Iota"}},"key":"1D6B0"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Kappa"}},"key":"1D6B1"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Lambda"}},"key":"1D6B2"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Mi"}},"key":"1D6B3"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Ni"}},"key":"1D6B4"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Xi"}},"key":"1D6B5"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Ómicron"}},"key":"1D6B6"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Pi"}},"key":"1D6B7"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Rho"}},"key":"1D6B8"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Sigma"}},"key":"1D6BA"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Tau"}},"key":"1D6BB"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Ãpsilon"}},"key":"1D6BC"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Phi"}},"key":"1D6BD"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Ji"}},"key":"1D6BE"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Psi"}},"key":"1D6BF"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Omega"}},"key":"1D6C0"},{"category":"Ll","mappings":{"default":{"default":"negrita alfa"}},"key":"1D6C2"},{"category":"Ll","mappings":{"default":{"default":"negrita beta"}},"key":"1D6C3"},{"category":"Ll","mappings":{"default":{"default":"negrita gamma"}},"key":"1D6C4"},{"category":"Ll","mappings":{"default":{"default":"negrita delta"}},"key":"1D6C5"},{"category":"Ll","mappings":{"default":{"default":"negrita épsilon"}},"key":"1D6C6"},{"category":"Ll","mappings":{"default":{"default":"negrita zeta"}},"key":"1D6C7"},{"category":"Ll","mappings":{"default":{"default":"negrita eta"}},"key":"1D6C8"},{"category":"Ll","mappings":{"default":{"default":"negrita theta"}},"key":"1D6C9"},{"category":"Ll","mappings":{"default":{"default":"negrita iota"}},"key":"1D6CA"},{"category":"Ll","mappings":{"default":{"default":"negrita kappa"}},"key":"1D6CB"},{"category":"Ll","mappings":{"default":{"default":"negrita lambda"}},"key":"1D6CC"},{"category":"Ll","mappings":{"default":{"default":"negrita mi"}},"key":"1D6CD"},{"category":"Ll","mappings":{"default":{"default":"negrita ni"}},"key":"1D6CE"},{"category":"Ll","mappings":{"default":{"default":"negrita xi"}},"key":"1D6CF"},{"category":"Ll","mappings":{"default":{"default":"negrita ómicron"}},"key":"1D6D0"},{"category":"Ll","mappings":{"default":{"default":"negrita pi"}},"key":"1D6D1"},{"category":"Ll","mappings":{"default":{"default":"negrita rho"}},"key":"1D6D2"},{"category":"Ll","mappings":{"default":{"default":"negrita final sigma"}},"key":"1D6D3"},{"category":"Ll","mappings":{"default":{"default":"negrita sigma"}},"key":"1D6D4"},{"category":"Ll","mappings":{"default":{"default":"negrita tau"}},"key":"1D6D5"},{"category":"Ll","mappings":{"default":{"default":"negrita Ãpsilon"}},"key":"1D6D6"},{"category":"Ll","mappings":{"default":{"default":"negrita phi"}},"key":"1D6D7"},{"category":"Ll","mappings":{"default":{"default":"negrita ji"}},"key":"1D6D8"},{"category":"Ll","mappings":{"default":{"default":"negrita psi"}},"key":"1D6D9"},{"category":"Ll","mappings":{"default":{"default":"negrita omega"}},"key":"1D6DA"}] +, +"es/greek-mathfonts-italic.js": +[{"locale":"es"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Alfa"}},"key":"1D6E2"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Beta"}},"key":"1D6E3"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Gamma"}},"key":"1D6E4"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Delta"}},"key":"1D6E5"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Épsilon"}},"key":"1D6E6"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Zeta"}},"key":"1D6E7"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Eta"}},"key":"1D6E8"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Theta"}},"key":"1D6E9"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Iota"}},"key":"1D6EA"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Kappa"}},"key":"1D6EB"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Lambda"}},"key":"1D6EC"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Mi"}},"key":"1D6ED"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Ni"}},"key":"1D6EE"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Xi"}},"key":"1D6EF"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Ómicron"}},"key":"1D6F0"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Pi"}},"key":"1D6F1"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Rho"}},"key":"1D6F2"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Sigma"}},"key":"1D6F4"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Tau"}},"key":"1D6F5"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Ãpsilon"}},"key":"1D6F6"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Phi"}},"key":"1D6F7"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Ji"}},"key":"1D6F8"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Psi"}},"key":"1D6F9"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Omega"}},"key":"1D6FA"},{"category":"Ll","mappings":{"default":{"default":"cursiva alfa"}},"key":"1D6FC"},{"category":"Ll","mappings":{"default":{"default":"cursiva beta"}},"key":"1D6FD"},{"category":"Ll","mappings":{"default":{"default":"cursiva gamma"}},"key":"1D6FE"},{"category":"Ll","mappings":{"default":{"default":"cursiva delta"}},"key":"1D6FF"},{"category":"Ll","mappings":{"default":{"default":"cursiva épsilon"}},"key":"1D700"},{"category":"Ll","mappings":{"default":{"default":"cursiva zeta"}},"key":"1D701"},{"category":"Ll","mappings":{"default":{"default":"cursiva eta"}},"key":"1D702"},{"category":"Ll","mappings":{"default":{"default":"cursiva theta"}},"key":"1D703"},{"category":"Ll","mappings":{"default":{"default":"cursiva iota"}},"key":"1D704"},{"category":"Ll","mappings":{"default":{"default":"cursiva kappa"}},"key":"1D705"},{"category":"Ll","mappings":{"default":{"default":"cursiva lambda"}},"key":"1D706"},{"category":"Ll","mappings":{"default":{"default":"cursiva mi"}},"key":"1D707"},{"category":"Ll","mappings":{"default":{"default":"cursiva ni"}},"key":"1D708"},{"category":"Ll","mappings":{"default":{"default":"cursiva xi"}},"key":"1D709"},{"category":"Ll","mappings":{"default":{"default":"cursiva ómicron"}},"key":"1D70A"},{"category":"Ll","mappings":{"default":{"default":"cursiva pi"}},"key":"1D70B"},{"category":"Ll","mappings":{"default":{"default":"cursiva rho"}},"key":"1D70C"},{"category":"Ll","mappings":{"default":{"default":"cursiva final sigma"}},"key":"1D70D"},{"category":"Ll","mappings":{"default":{"default":"cursiva sigma"}},"key":"1D70E"},{"category":"Ll","mappings":{"default":{"default":"cursiva tau"}},"key":"1D70F"},{"category":"Ll","mappings":{"default":{"default":"cursiva Ãpsilon"}},"key":"1D710"},{"category":"Ll","mappings":{"default":{"default":"cursiva phi"}},"key":"1D711"},{"category":"Ll","mappings":{"default":{"default":"cursiva ji"}},"key":"1D712"},{"category":"Ll","mappings":{"default":{"default":"cursiva psi"}},"key":"1D713"},{"category":"Ll","mappings":{"default":{"default":"cursiva omega"}},"key":"1D714"}] +, +"es/greek-mathfonts-sans-serif-bold.js": +[{"locale":"es"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Alfa"}},"key":"1D756"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Beta"}},"key":"1D757"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Gamma"}},"key":"1D758"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Delta"}},"key":"1D759"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Épsilon"}},"key":"1D75A"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Zeta"}},"key":"1D75B"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Eta"}},"key":"1D75C"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Theta"}},"key":"1D75D"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Iota"}},"key":"1D75E"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Kappa"}},"key":"1D75F"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Lambda"}},"key":"1D760"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Mi"}},"key":"1D761"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Ni"}},"key":"1D762"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Xi"}},"key":"1D763"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Ómicron"}},"key":"1D764"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Pi"}},"key":"1D765"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Rho"}},"key":"1D766"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Sigma"}},"key":"1D768"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Tau"}},"key":"1D769"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Ãpsilon"}},"key":"1D76A"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Phi"}},"key":"1D76B"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Ji"}},"key":"1D76C"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Psi"}},"key":"1D76D"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Omega"}},"key":"1D76E"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita alfa"}},"key":"1D770"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita beta"}},"key":"1D771"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita gamma"}},"key":"1D772"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita delta"}},"key":"1D773"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita épsilon"}},"key":"1D774"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita zeta"}},"key":"1D775"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita eta"}},"key":"1D776"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita theta"}},"key":"1D777"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita iota"}},"key":"1D778"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita kappa"}},"key":"1D779"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita lambda"}},"key":"1D77A"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita mi"}},"key":"1D77B"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita ni"}},"key":"1D77C"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita xi"}},"key":"1D77D"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita ómicron"}},"key":"1D77E"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita pi"}},"key":"1D77F"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita rho"}},"key":"1D780"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita final sigma"}},"key":"1D781"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita sigma"}},"key":"1D782"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita tau"}},"key":"1D783"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita Ãpsilon"}},"key":"1D784"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita phi"}},"key":"1D785"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita ji"}},"key":"1D786"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita psi"}},"key":"1D787"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita omega"}},"key":"1D788"}] +, +"es/greek-scripts.js": +[{"locale":"es"}] +, +"es/greek-small.js": +[{"locale":"es"},{"key":"03B1","mappings":{"default":{"default":"alfa"}},"category":"Ll"},{"key":"03B2","mappings":{"default":{"default":"beta"}},"category":"Ll"},{"key":"03B3","mappings":{"default":{"default":"gamma"}},"category":"Ll"},{"key":"03B4","mappings":{"default":{"default":"delta"}},"category":"Ll"},{"key":"03B5","mappings":{"default":{"default":"épsilon"}},"category":"Ll"},{"key":"03B6","mappings":{"default":{"default":"zeta"}},"category":"Ll"},{"key":"03B7","mappings":{"default":{"default":"eta"}},"category":"Ll"},{"key":"03B8","mappings":{"default":{"default":"theta"}},"category":"Ll"},{"key":"03B9","mappings":{"default":{"default":"iota"}},"category":"Ll"},{"key":"03BA","mappings":{"default":{"default":"kappa"}},"category":"Ll"},{"key":"03BB","mappings":{"default":{"default":"lambda"}},"category":"Ll"},{"key":"03BC","mappings":{"default":{"default":"mi"}},"category":"Ll"},{"key":"03BD","mappings":{"default":{"default":"ni"}},"category":"Ll"},{"key":"03BE","mappings":{"default":{"default":"xi"}},"category":"Ll"},{"key":"03BF","mappings":{"default":{"default":"ómicron"}},"category":"Ll"},{"key":"03C0","mappings":{"default":{"default":"pi"}},"category":"Ll"},{"key":"03C1","mappings":{"default":{"default":"rho"}},"category":"Ll"},{"key":"03C2","mappings":{"default":{"default":"sigma final"}},"category":"Ll"},{"key":"03C3","mappings":{"default":{"default":"sigma"}},"category":"Ll"},{"key":"03C4","mappings":{"default":{"default":"tau"}},"category":"Ll"},{"key":"03C5","mappings":{"default":{"default":"Ãpsilon"}},"category":"Ll"},{"key":"03C6","mappings":{"default":{"default":"phi"}},"category":"Ll"},{"key":"03C7","mappings":{"default":{"default":"ji"}},"category":"Ll"},{"key":"03C8","mappings":{"default":{"default":"psi"}},"category":"Ll"},{"key":"03C9","mappings":{"default":{"default":"omega"}},"category":"Ll"}] +, +"es/greek-symbols.js": +[{"locale":"es"},{"key":"03D0","mappings":{"default":{"default":"sÃmbolo beta"}},"category":"Ll"},{"key":"03D1","mappings":{"default":{"default":"variante de theta"}},"category":"Ll"},{"key":"03D5","mappings":{"default":{"default":"phi recta"}},"category":"Ll"},{"key":"03D6","mappings":{"default":{"default":"pi","defaultMP":"variante de pi"}},"category":"Ll"},{"key":"03D7","mappings":{"default":{"default":"sÃmbolo kai griego"}},"category":"Ll"},{"key":"03F0","mappings":{"default":{"default":"kappa","defaultMP":"variante de kappa"}},"category":"Ll"},{"key":"03F1","mappings":{"default":{"default":"rho","defaultMP":"variante de rho"}},"category":"Ll"},{"key":"03F5","mappings":{"default":{"default":"épsilon","defaultMP":"variante de épsilon"}},"category":"Ll"},{"key":"03F6","mappings":{"default":{"default":"épsilon invertido"}},"category":"Sm"},{"key":"03F4","mappings":{"default":{"default":"mayúscula variante de Theta"}},"category":"Lu"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula variante de Theta"}},"key":"1D6B9"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula variante de Theta"}},"key":"1D6F3"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula variante de Theta"}},"key":"1D767"}] +, +"es/hebrew_letters.js": +[{"locale":"es"},{"key":"2135","mappings":{"default":{"default":"alef"}},"category":"Lo"},{"key":"2136","mappings":{"default":{"default":"bet"}},"category":"Lo"},{"key":"2137","mappings":{"default":{"default":"guÃmel"}},"category":"Lo"},{"key":"2138","mappings":{"default":{"default":"dálet"}},"category":"Lo"}] +, +"es/latin-lower-double-accent.js": +[{"locale":"es"},{"key":"1E09","mappings":{"default":{"default":"c con cedilla y agudo"}},"category":"Ll"},{"key":"1E15","mappings":{"default":{"default":"e con macrón y grave"}},"category":"Ll"},{"key":"1E17","mappings":{"default":{"default":"e con macrón y agudo"}},"category":"Ll"},{"key":"1E1D","mappings":{"default":{"default":"e con cedilla y breve"}},"category":"Ll"},{"key":"1E2F","mappings":{"default":{"default":"i con diéresis y agudo"}},"category":"Ll"},{"key":"1E39","mappings":{"default":{"default":"l con punto debajo y macrón"}},"category":"Ll"},{"key":"1E4D","mappings":{"default":{"default":"o con tilde y acute"}},"category":"Ll"},{"key":"1E4F","mappings":{"default":{"default":"o con tilde y diéresis"}},"category":"Ll"},{"key":"1E51","mappings":{"default":{"default":"o con macrón y grave"}},"category":"Ll"},{"key":"1E53","mappings":{"default":{"default":"o con macrón y agudo"}},"category":"Ll"},{"key":"1E5D","mappings":{"default":{"default":"r con punto debajo y macrón"}},"category":"Ll"},{"key":"1E65","mappings":{"default":{"default":"s con agudo y punto arriba"}},"category":"Ll"},{"key":"1E67","mappings":{"default":{"default":"s con carón y punto arriba"}},"category":"Ll"},{"key":"1E69","mappings":{"default":{"default":"s con punto debajo y punto arriba"}},"category":"Ll"},{"key":"1E79","mappings":{"default":{"default":"u con tilde y agudo"}},"category":"Ll"},{"key":"1E7B","mappings":{"default":{"default":"u con macrón y diéresis"}},"category":"Ll"},{"key":"1EA5","mappings":{"default":{"default":"a con acento circunflejo y agudo"}},"category":"Ll"},{"key":"1EA7","mappings":{"default":{"default":"a con acento circunflejo y grave"}},"category":"Ll"},{"key":"1EA9","mappings":{"default":{"default":"a con acento circunflejo y gancho arriba"}},"category":"Ll"},{"key":"1EAB","mappings":{"default":{"default":"a con acento circunflejo y tilde"}},"category":"Ll"},{"key":"1EAD","mappings":{"default":{"default":"a con acento circunflejo y punto debajo"}},"category":"Ll"},{"key":"1EAF","mappings":{"default":{"default":"a con breve y agudo"}},"category":"Ll"},{"key":"1EB1","mappings":{"default":{"default":"a con breve y grave"}},"category":"Ll"},{"key":"1EB3","mappings":{"default":{"default":"a con breve y gancho arriba"}},"category":"Ll"},{"key":"1EB5","mappings":{"default":{"default":"a con breve y tilde"}},"category":"Ll"},{"key":"1EB7","mappings":{"default":{"default":"a con breve y punto debajo"}},"category":"Ll"},{"key":"1EBF","mappings":{"default":{"default":"e con acento circunflejo y agudo"}},"category":"Ll"},{"key":"1EC1","mappings":{"default":{"default":"e con acento circunflejo y grave"}},"category":"Ll"},{"key":"1EC3","mappings":{"default":{"default":"e con acento circunflejo y gancho arriba"}},"category":"Ll"},{"key":"1EC5","mappings":{"default":{"default":"e con acento circunflejo y tilde"}},"category":"Ll"},{"key":"1EC7","mappings":{"default":{"default":"e con acento circunflejo y punto debajo"}},"category":"Ll"},{"key":"1ED1","mappings":{"default":{"default":"o con acento circunflejo y agudo"}},"category":"Ll"},{"key":"1ED3","mappings":{"default":{"default":"o con acento circunflejo y grave"}},"category":"Ll"},{"key":"1ED5","mappings":{"default":{"default":"o con acento circunflejo y gancho arriba"}},"category":"Ll"},{"key":"1ED7","mappings":{"default":{"default":"o con acento circunflejo y tilde"}},"category":"Ll"},{"key":"1ED9","mappings":{"default":{"default":"o con acento circunflejo y punto debajo"}},"category":"Ll"},{"key":"1EDB","mappings":{"default":{"default":"o with horn and acute"}},"category":"Ll"},{"key":"1EDD","mappings":{"default":{"default":"o with horn and grave"}},"category":"Ll"},{"key":"1EDF","mappings":{"default":{"default":"o with horn and hook above"}},"category":"Ll"},{"key":"1EE1","mappings":{"default":{"default":"o with horn and tilde"}},"category":"Ll"},{"key":"1EE3","mappings":{"default":{"default":"o con cuerno y punto debajo"}},"category":"Ll"},{"key":"1EE9","mappings":{"default":{"default":"u con cuerno y agudo"}},"category":"Ll"},{"key":"1EEB","mappings":{"default":{"default":"u con cuerno y grave"}},"category":"Ll"},{"key":"1EED","mappings":{"default":{"default":"u con cuerno y gancho arriba"}},"category":"Ll"},{"key":"1EEF","mappings":{"default":{"default":"u con cuerno y tilde"}},"category":"Ll"},{"key":"1EF1","mappings":{"default":{"default":"u con cuerno y punto debajo"}},"category":"Ll"}] +, +"es/latin-lower-normal.js": +[{"locale":"es"},{"key":"0061","mappings":{"default":{"default":"a"}},"category":"Ll"},{"key":"0062","mappings":{"default":{"default":"b"}},"category":"Ll"},{"key":"0063","mappings":{"default":{"default":"c"}},"category":"Ll"},{"key":"0064","mappings":{"default":{"default":"d"}},"category":"Ll"},{"key":"0065","mappings":{"default":{"default":"e"}},"category":"Ll"},{"key":"0066","mappings":{"default":{"default":"f"}},"category":"Ll"},{"key":"0067","mappings":{"default":{"default":"g"}},"category":"Ll"},{"key":"0068","mappings":{"default":{"default":"h"}},"category":"Ll"},{"key":"0069","mappings":{"default":{"default":"i"}},"category":"Ll"},{"key":"006A","mappings":{"default":{"default":"j"}},"category":"Ll"},{"key":"006B","mappings":{"default":{"default":"k"}},"category":"Ll"},{"key":"006C","mappings":{"default":{"default":"l"}},"category":"Ll"},{"key":"006D","mappings":{"default":{"default":"m"}},"category":"Ll"},{"key":"006E","mappings":{"default":{"default":"n"}},"category":"Ll"},{"key":"006F","mappings":{"default":{"default":"o"}},"category":"Ll"},{"key":"0070","mappings":{"default":{"default":"p"}},"category":"Ll"},{"key":"0071","mappings":{"default":{"default":"q"}},"category":"Ll"},{"key":"0072","mappings":{"default":{"default":"r"}},"category":"Ll"},{"key":"0073","mappings":{"default":{"default":"s"}},"category":"Ll"},{"key":"0074","mappings":{"default":{"default":"t"}},"category":"Ll"},{"key":"0075","mappings":{"default":{"default":"u"}},"category":"Ll"},{"key":"0076","mappings":{"default":{"default":"v"}},"category":"Ll"},{"key":"0077","mappings":{"default":{"default":"w"}},"category":"Ll"},{"key":"0078","mappings":{"default":{"default":"x"}},"category":"Ll"},{"key":"0079","mappings":{"default":{"default":"y","defaultMP":"ye"}},"category":"Ll"},{"key":"007A","mappings":{"default":{"default":"z"}},"category":"Ll"}] +, +"es/latin-lower-phonetic.js": +[{"locale":"es"},{"key":"00F8","mappings":{"default":{"default":"o barrada"}},"category":"Ll"},{"key":"0111","mappings":{"default":{"default":"d con barra"}},"category":"Ll"},{"key":"0127","mappings":{"default":{"default":"h con guión"}},"category":"Ll"},{"key":"0142","mappings":{"default":{"default":"l con guión"}},"category":"Ll"},{"key":"0167","mappings":{"default":{"default":"t con guión"}},"category":"Ll"},{"key":"019B","mappings":{"default":{"default":"lambda tachada"}},"category":"Ll"},{"key":"1E9B","mappings":{"default":{"default":"s larga con punto arriba"}},"category":"Ll"},{"key":"0138","mappings":{"default":{"default":"kra"}},"category":"Ll"},{"key":"0192","mappings":{"default":{"default":"f con gancho"}},"category":"Ll"},{"key":"019A","mappings":{"default":{"default":"l con barra"}},"category":"Ll"},{"key":"025B","mappings":{"default":{"default":"e abierta"}},"category":"Ll"},{"key":"0149","mappings":{"default":{"default":"n precedida por apóstrofe"}},"category":"Ll"},{"key":"014B","mappings":{"default":{"default":"eng"}},"category":"Ll"}] +, +"es/latin-lower-single-accent.js": +[{"locale":"es"},{"key":"00E0","mappings":{"default":{"default":"a grave"}},"category":"Ll"},{"key":"00E1","mappings":{"default":{"default":"a aguda"}},"category":"Ll"},{"key":"00E2","mappings":{"default":{"default":"a acento circunflejo"}},"category":"Ll"},{"key":"00E3","mappings":{"default":{"default":"a con tilde"}},"category":"Ll"},{"key":"00E4","mappings":{"default":{"default":"a diéresis"}},"category":"Ll"},{"key":"00E5","mappings":{"default":{"default":"a con anillo"}},"category":"Ll"},{"key":"00E7","mappings":{"default":{"default":"c cedilla"}},"category":"Ll"},{"key":"00E8","mappings":{"default":{"default":"e grave"}},"category":"Ll"},{"key":"00E9","mappings":{"default":{"default":"e aguda"}},"category":"Ll"},{"key":"00EA","mappings":{"default":{"default":"e acento circunflejo"}},"category":"Ll"},{"key":"00EB","mappings":{"default":{"default":"e diéresis"}},"category":"Ll"},{"key":"00EC","mappings":{"default":{"default":"i grave"}},"category":"Ll"},{"key":"00ED","mappings":{"default":{"default":"i aguda"}},"category":"Ll"},{"key":"00EE","mappings":{"default":{"default":"i acento circunflejo"}},"category":"Ll"},{"key":"00EF","mappings":{"default":{"default":"i diéresis"}},"category":"Ll"},{"key":"00F1","mappings":{"default":{"default":"eñe"}},"category":"Ll"},{"key":"00F2","mappings":{"default":{"default":"o grave"}},"category":"Ll"},{"key":"00F3","mappings":{"default":{"default":"o aguda"}},"category":"Ll"},{"key":"00F4","mappings":{"default":{"default":"o acento circunflejo"}},"category":"Ll"},{"key":"00F5","mappings":{"default":{"default":"o con tilde"}},"category":"Ll"},{"key":"00F6","mappings":{"default":{"default":"o diéresis"}},"category":"Ll"},{"key":"00F9","mappings":{"default":{"default":"u grave"}},"category":"Ll"},{"key":"00FA","mappings":{"default":{"default":"u aguda"}},"category":"Ll"},{"key":"00FB","mappings":{"default":{"default":"u acento circunflejo"}},"category":"Ll"},{"key":"00FC","mappings":{"default":{"default":"u diéresis"}},"category":"Ll"},{"key":"00FD","mappings":{"default":{"default":"Y aguda","defaultMP":"ye aguda"}},"category":"Ll"},{"key":"00FF","mappings":{"default":{"default":"y diéresis","defaultMP":"ye diéresis"}},"category":"Ll"},{"key":"0101","mappings":{"default":{"default":"a barra"}},"category":"Ll"},{"key":"0103","mappings":{"default":{"default":"a con breve"}},"category":"Ll"},{"key":"0105","mappings":{"default":{"default":"a con ogonek"}},"category":"Ll"},{"key":"0107","mappings":{"default":{"default":"c con agudo"}},"category":"Ll"},{"key":"0109","mappings":{"default":{"default":"c con acento circunflejo"}},"category":"Ll"},{"key":"010B","mappings":{"default":{"default":"c con punto arriba"}},"category":"Ll"},{"key":"010D","mappings":{"default":{"default":"c con carón"}},"category":"Ll"},{"key":"010F","mappings":{"default":{"default":"d con carón"}},"category":"Ll"},{"key":"0113","mappings":{"default":{"default":"e barra"}},"category":"Ll"},{"key":"0117","mappings":{"default":{"default":"e con punto arriba"}},"category":"Ll"},{"key":"0119","mappings":{"default":{"default":"e con ogonek"}},"category":"Ll"},{"key":"011B","mappings":{"default":{"default":"e con carón"}},"category":"Ll"},{"key":"011D","mappings":{"default":{"default":"g con acento circunflejo"}},"category":"Ll"},{"key":"011F","mappings":{"default":{"default":"g con breve"}},"category":"Ll"},{"key":"0121","mappings":{"default":{"default":"g con punto arriba"}},"category":"Ll"},{"key":"0125","mappings":{"default":{"default":"h con acento circunflejo"}},"category":"Ll"},{"key":"0129","mappings":{"default":{"default":"i con tilde"}},"category":"Ll"},{"key":"012B","mappings":{"default":{"default":"i barra"}},"category":"Ll"},{"key":"012F","mappings":{"default":{"default":"i con ogonek"}},"category":"Ll"},{"key":"0131","mappings":{"default":{"default":"i sin punto"}},"category":"Ll"},{"key":"0135","mappings":{"default":{"default":"j con acento circunflejo"}},"category":"Ll"},{"key":"0137","mappings":{"default":{"default":"k con cedilla"}},"category":"Ll"},{"key":"013A","mappings":{"default":{"default":"l con agudo"}},"category":"Ll"},{"key":"013C","mappings":{"default":{"default":"l con cedilla"}},"category":"Ll"},{"key":"013E","mappings":{"default":{"default":"l con carón"}},"category":"Ll"},{"key":"0140","mappings":{"default":{"default":"l con punto mediano"}},"category":"Ll"},{"key":"0144","mappings":{"default":{"default":"n con agudo"}},"category":"Ll"},{"key":"0146","mappings":{"default":{"default":"n con cedilla"}},"category":"Ll"},{"key":"0148","mappings":{"default":{"default":"n con carón"}},"category":"Ll"},{"key":"014D","mappings":{"default":{"default":"o barra"}},"category":"Ll"},{"key":"0151","mappings":{"default":{"default":"o con doble acento agudo"}},"category":"Ll"},{"key":"0155","mappings":{"default":{"default":"r con agudo"}},"category":"Ll"},{"key":"0157","mappings":{"default":{"default":"r con cedilla"}},"category":"Ll"},{"key":"0159","mappings":{"default":{"default":"r con carón"}},"category":"Ll"},{"key":"015B","mappings":{"default":{"default":"s con agudo"}},"category":"Ll"},{"key":"015D","mappings":{"default":{"default":"s con acento circunflejo"}},"category":"Ll"},{"key":"015F","mappings":{"default":{"default":"s con cedilla"}},"category":"Ll"},{"key":"0161","mappings":{"default":{"default":"s con carón"}},"category":"Ll"},{"key":"0163","mappings":{"default":{"default":"t con cedilla"}},"category":"Ll"},{"key":"0165","mappings":{"default":{"default":"t con carón"}},"category":"Ll"},{"key":"0169","mappings":{"default":{"default":"u con tilde"}},"category":"Ll"},{"key":"016B","mappings":{"default":{"default":"u barra"}},"category":"Ll"},{"key":"016D","mappings":{"default":{"default":"u con breve"}},"category":"Ll"},{"key":"016F","mappings":{"default":{"default":"u con anillo arriba"}},"category":"Ll"},{"key":"0171","mappings":{"default":{"default":"u con doble acento agudo"}},"category":"Ll"},{"key":"0173","mappings":{"default":{"default":"u con ogonek"}},"category":"Ll"},{"key":"0175","mappings":{"default":{"default":"w con circunflejo"}},"category":"Ll"},{"key":"0177","mappings":{"default":{"default":"y con circunflejo"}},"category":"Ll"},{"key":"017A","mappings":{"default":{"default":"z con agudo"}},"category":"Ll"},{"key":"017C","mappings":{"default":{"default":"z con punto"}},"category":"Ll"},{"key":"017E","mappings":{"default":{"default":"z con carón"}},"category":"Ll"},{"key":"01F5","mappings":{"default":{"default":"g con agudo"}},"category":"Ll"},{"key":"1E01","mappings":{"default":{"default":"a con anillo debajo"}},"category":"Ll"},{"key":"1E03","mappings":{"default":{"default":"b con punto arriba"}},"category":"Ll"},{"key":"1E05","mappings":{"default":{"default":"b con punto debajo"}},"category":"Ll"},{"key":"1E07","mappings":{"default":{"default":"b con lÃnea debajo"}},"category":"Ll"},{"key":"1E0B","mappings":{"default":{"default":"d con punto arriba"}},"category":"Ll"},{"key":"1E0D","mappings":{"default":{"default":"d con punto debajo"}},"category":"Ll"},{"key":"1E0F","mappings":{"default":{"default":"d con lÃnea debajo"}},"category":"Ll"},{"key":"1E11","mappings":{"default":{"default":"d con cedilla"}},"category":"Ll"},{"key":"1E13","mappings":{"default":{"default":"d con acento circunflejo debajo"}},"category":"Ll"},{"key":"1E19","mappings":{"default":{"default":"e con acento circunflejo debajo"}},"category":"Ll"},{"key":"1E1B","mappings":{"default":{"default":"e con tilde debajo"}},"category":"Ll"},{"key":"1E1F","mappings":{"default":{"default":"f con punto arriba"}},"category":"Ll"},{"key":"1E21","mappings":{"default":{"default":"g con macrón"}},"category":"Ll"},{"key":"1E23","mappings":{"default":{"default":"h con punto arriba"}},"category":"Ll"},{"key":"1E25","mappings":{"default":{"default":"h con punto debajo"}},"category":"Ll"},{"key":"1E27","mappings":{"default":{"default":"h con diéresis"}},"category":"Ll"},{"key":"1E29","mappings":{"default":{"default":"h con cedilla"}},"category":"Ll"},{"key":"1E2B","mappings":{"default":{"default":"h con breve debajo"}},"category":"Ll"},{"key":"1E2D","mappings":{"default":{"default":"i con tilde debajo"}},"category":"Ll"},{"key":"1E31","mappings":{"default":{"default":"k con agudo"}},"category":"Ll"},{"key":"1E33","mappings":{"default":{"default":"k con punto debajo"}},"category":"Ll"},{"key":"1E35","mappings":{"default":{"default":"k con lÃnea debajo"}},"category":"Ll"},{"key":"1E37","mappings":{"default":{"default":"l con punto debajo"}},"category":"Ll"},{"key":"1E3B","mappings":{"default":{"default":"l con lÃnea debajo"}},"category":"Ll"},{"key":"1E3D","mappings":{"default":{"default":"l con acento circunflejo debajo"}},"category":"Ll"},{"key":"1E3F","mappings":{"default":{"default":"m con agudo"}},"category":"Ll"},{"key":"1E41","mappings":{"default":{"default":"m con punto arriba"}},"category":"Ll"},{"key":"1E43","mappings":{"default":{"default":"m con punto debajo"}},"category":"Ll"},{"key":"1E45","mappings":{"default":{"default":"n con punto arriba"}},"category":"Ll"},{"key":"1E47","mappings":{"default":{"default":"n con punto debajo"}},"category":"Ll"},{"key":"1E49","mappings":{"default":{"default":"n con lÃnea debajo"}},"category":"Ll"},{"key":"1E4B","mappings":{"default":{"default":"n con acento circunflejo debajo"}},"category":"Ll"},{"key":"1E55","mappings":{"default":{"default":"p con agudo"}},"category":"Ll"},{"key":"1E57","mappings":{"default":{"default":"p con punto arriba"}},"category":"Ll"},{"key":"1E59","mappings":{"default":{"default":"r con punto arriba"}},"category":"Ll"},{"key":"1E5B","mappings":{"default":{"default":"r con punto debajo"}},"category":"Ll"},{"key":"1E5F","mappings":{"default":{"default":"r con lÃnea debajo"}},"category":"Ll"},{"key":"1E61","mappings":{"default":{"default":"s con punto arriba"}},"category":"Ll"},{"key":"1E63","mappings":{"default":{"default":"s con punto debajo"}},"category":"Ll"},{"key":"1E6B","mappings":{"default":{"default":"t con punto arriba"}},"category":"Ll"},{"key":"1E6D","mappings":{"default":{"default":"t con punto debajo"}},"category":"Ll"},{"key":"1E6F","mappings":{"default":{"default":"t con lÃnea debajo"}},"category":"Ll"},{"key":"1E71","mappings":{"default":{"default":"t con acento circunflejo debajo"}},"category":"Ll"},{"key":"1E73","mappings":{"default":{"default":"u con diéresis debajo"}},"category":"Ll"},{"key":"1E75","mappings":{"default":{"default":"u con tilde debajo"}},"category":"Ll"},{"key":"1E77","mappings":{"default":{"default":"u con acento circunflejo debajo"}},"category":"Ll"},{"key":"1E7D","mappings":{"default":{"default":"v con tilde"}},"category":"Ll"},{"key":"1E7F","mappings":{"default":{"default":"v con punto debajo"}},"category":"Ll"},{"key":"1E81","mappings":{"default":{"default":"w con grave"}},"category":"Ll"},{"key":"1E83","mappings":{"default":{"default":"w con agudo"}},"category":"Ll"},{"key":"1E85","mappings":{"default":{"default":"w con diéresis"}},"category":"Ll"},{"key":"1E87","mappings":{"default":{"default":"w con punto arriba"}},"category":"Ll"},{"key":"1E89","mappings":{"default":{"default":"w con punto debajo"}},"category":"Ll"},{"key":"1E8B","mappings":{"default":{"default":"x con punto arriba"}},"category":"Ll"},{"key":"1E8D","mappings":{"default":{"default":"x con diéresis"}},"category":"Ll"},{"key":"1E8F","mappings":{"default":{"default":"y con punto arriba"}},"category":"Ll"},{"key":"1E91","mappings":{"default":{"default":"z con acento circunflejo"}},"category":"Ll"},{"key":"1E93","mappings":{"default":{"default":"z con punto debajo"}},"category":"Ll"},{"key":"1E95","mappings":{"default":{"default":"z con lÃnea debajo"}},"category":"Ll"},{"key":"1E96","mappings":{"default":{"default":"h con lÃnea debajo"}},"category":"Ll"},{"key":"1E97","mappings":{"default":{"default":"t con diéresis"}},"category":"Ll"},{"key":"1E98","mappings":{"default":{"default":"w con anillo arriba"}},"category":"Ll"},{"key":"1E99","mappings":{"default":{"default":"y con anillo arriba"}},"category":"Ll"},{"key":"1E9A","mappings":{"default":{"default":"a con medio derecho de anillo"}},"category":"Ll"},{"key":"1EA1","mappings":{"default":{"default":"a con punto debajo"}},"category":"Ll"},{"key":"1EA3","mappings":{"default":{"default":"a con gancho arriba"}},"category":"Ll"},{"key":"1EB9","mappings":{"default":{"default":"e con punto debajo"}},"category":"Ll"},{"key":"1EBB","mappings":{"default":{"default":"e con gancho arriba"}},"category":"Ll"},{"key":"1EBD","mappings":{"default":{"default":"e con tilde"}},"category":"Ll"},{"key":"1EC9","mappings":{"default":{"default":"i con gancho arriba"}},"category":"Ll"},{"key":"1ECB","mappings":{"default":{"default":"i con punto debajo"}},"category":"Ll"},{"key":"1ECD","mappings":{"default":{"default":"o con punto debajo"}},"category":"Ll"},{"key":"1ECF","mappings":{"default":{"default":"o con gancho arriba"}},"category":"Ll"},{"key":"1EE5","mappings":{"default":{"default":"u con punto debajo"}},"category":"Ll"},{"key":"1EE7","mappings":{"default":{"default":"u con gancho arriba"}},"category":"Ll"},{"key":"1EF3","mappings":{"default":{"default":"y con grave"}},"category":"Ll"},{"key":"1EF5","mappings":{"default":{"default":"y con punto debajo"}},"category":"Ll"},{"key":"1EF7","mappings":{"default":{"default":"y con gancho arriba"}},"category":"Ll"},{"key":"1EF9","mappings":{"default":{"default":"y con tilde"}},"category":"Ll"}] +, +"es/latin-mathfonts-bold-fraktur.js": +[{"locale":"es"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula A"}},"key":"1D56C"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula B"}},"key":"1D56D"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula C"}},"key":"1D56E"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula D"}},"key":"1D56F"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula E"}},"key":"1D570"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula F"}},"key":"1D571"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula G"}},"key":"1D572"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula H"}},"key":"1D573"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula I"}},"key":"1D574"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula J"}},"key":"1D575"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula K"}},"key":"1D576"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula L"}},"key":"1D577"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula M"}},"key":"1D578"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula N"}},"key":"1D579"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula O"}},"key":"1D57A"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula P"}},"key":"1D57B"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula Q"}},"key":"1D57C"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula R"}},"key":"1D57D"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula S"}},"key":"1D57E"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula T"}},"key":"1D57F"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula U"}},"key":"1D580"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula V"}},"key":"1D581"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula W"}},"key":"1D582"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula X"}},"key":"1D583"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula Y"}},"key":"1D584"},{"category":"Lu","mappings":{"default":{"default":"negrita Fraktur mayúscula Z"}},"key":"1D585"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur a"}},"key":"1D586"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur b"}},"key":"1D587"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur c"}},"key":"1D588"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur d"}},"key":"1D589"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur e"}},"key":"1D58A"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur f"}},"key":"1D58B"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur g"}},"key":"1D58C"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur h"}},"key":"1D58D"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur i"}},"key":"1D58E"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur j"}},"key":"1D58F"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur k"}},"key":"1D590"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur l"}},"key":"1D591"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur m"}},"key":"1D592"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur n"}},"key":"1D593"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur o"}},"key":"1D594"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur p"}},"key":"1D595"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur q"}},"key":"1D596"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur r"}},"key":"1D597"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur s"}},"key":"1D598"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur t"}},"key":"1D599"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur u"}},"key":"1D59A"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur v"}},"key":"1D59B"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur w"}},"key":"1D59C"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur x"}},"key":"1D59D"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur y"}},"key":"1D59E"},{"category":"Ll","mappings":{"default":{"default":"negrita Fraktur z"}},"key":"1D59F"}] +, +"es/latin-mathfonts-bold-script.js": +[{"locale":"es"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula A"}},"key":"1D4D0"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula B"}},"key":"1D4D1"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula C"}},"key":"1D4D2"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula D"}},"key":"1D4D3"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula E"}},"key":"1D4D4"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula F"}},"key":"1D4D5"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula G"}},"key":"1D4D6"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula H"}},"key":"1D4D7"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula I"}},"key":"1D4D8"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula J"}},"key":"1D4D9"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula K"}},"key":"1D4DA"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula L"}},"key":"1D4DB"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula M"}},"key":"1D4DC"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula N"}},"key":"1D4DD"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula O"}},"key":"1D4DE"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula P"}},"key":"1D4DF"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula Q"}},"key":"1D4E0"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula R"}},"key":"1D4E1"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula S"}},"key":"1D4E2"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula T"}},"key":"1D4E3"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula U"}},"key":"1D4E4"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula V"}},"key":"1D4E5"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula W"}},"key":"1D4E6"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula X"}},"key":"1D4E7"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula Y"}},"key":"1D4E8"},{"category":"Lu","mappings":{"default":{"default":"negrita script mayúscula Z"}},"key":"1D4E9"},{"category":"Ll","mappings":{"default":{"default":"negrita script a"}},"key":"1D4EA"},{"category":"Ll","mappings":{"default":{"default":"negrita script b"}},"key":"1D4EB"},{"category":"Ll","mappings":{"default":{"default":"negrita script c"}},"key":"1D4EC"},{"category":"Ll","mappings":{"default":{"default":"negrita script d"}},"key":"1D4ED"},{"category":"Ll","mappings":{"default":{"default":"negrita script e"}},"key":"1D4EE"},{"category":"Ll","mappings":{"default":{"default":"negrita script f"}},"key":"1D4EF"},{"category":"Ll","mappings":{"default":{"default":"negrita script g"}},"key":"1D4F0"},{"category":"Ll","mappings":{"default":{"default":"negrita script h"}},"key":"1D4F1"},{"category":"Ll","mappings":{"default":{"default":"negrita script i"}},"key":"1D4F2"},{"category":"Ll","mappings":{"default":{"default":"negrita script j"}},"key":"1D4F3"},{"category":"Ll","mappings":{"default":{"default":"negrita script k"}},"key":"1D4F4"},{"category":"Ll","mappings":{"default":{"default":"negrita script l"}},"key":"1D4F5"},{"category":"Ll","mappings":{"default":{"default":"negrita script m"}},"key":"1D4F6"},{"category":"Ll","mappings":{"default":{"default":"negrita script n"}},"key":"1D4F7"},{"category":"Ll","mappings":{"default":{"default":"negrita script o"}},"key":"1D4F8"},{"category":"Ll","mappings":{"default":{"default":"negrita script p"}},"key":"1D4F9"},{"category":"Ll","mappings":{"default":{"default":"negrita script q"}},"key":"1D4FA"},{"category":"Ll","mappings":{"default":{"default":"negrita script r"}},"key":"1D4FB"},{"category":"Ll","mappings":{"default":{"default":"negrita script s"}},"key":"1D4FC"},{"category":"Ll","mappings":{"default":{"default":"negrita script t"}},"key":"1D4FD"},{"category":"Ll","mappings":{"default":{"default":"negrita script u"}},"key":"1D4FE"},{"category":"Ll","mappings":{"default":{"default":"negrita script v"}},"key":"1D4FF"},{"category":"Ll","mappings":{"default":{"default":"negrita script w"}},"key":"1D500"},{"category":"Ll","mappings":{"default":{"default":"negrita script x"}},"key":"1D501"},{"category":"Ll","mappings":{"default":{"default":"negrita script y"}},"key":"1D502"},{"category":"Ll","mappings":{"default":{"default":"negrita script z"}},"key":"1D503"}] +, +"es/latin-mathfonts-bold.js": +[{"locale":"es"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula A"}},"key":"1D400"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula B"}},"key":"1D401"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula C"}},"key":"1D402"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula D"}},"key":"1D403"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula E"}},"key":"1D404"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula F"}},"key":"1D405"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula G"}},"key":"1D406"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula H"}},"key":"1D407"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula I"}},"key":"1D408"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula J"}},"key":"1D409"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula K"}},"key":"1D40A"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula L"}},"key":"1D40B"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula M"}},"key":"1D40C"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula N"}},"key":"1D40D"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula O"}},"key":"1D40E"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula P"}},"key":"1D40F"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Q"}},"key":"1D410"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula R"}},"key":"1D411"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula S"}},"key":"1D412"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula T"}},"key":"1D413"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula U"}},"key":"1D414"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula V"}},"key":"1D415"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula W"}},"key":"1D416"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula X"}},"key":"1D417"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Y"}},"key":"1D418"},{"category":"Lu","mappings":{"default":{"default":"negrita mayúscula Z"}},"key":"1D419"},{"category":"Ll","mappings":{"default":{"default":"negrita a"}},"key":"1D41A"},{"category":"Ll","mappings":{"default":{"default":"negrita b"}},"key":"1D41B"},{"category":"Ll","mappings":{"default":{"default":"negrita c"}},"key":"1D41C"},{"category":"Ll","mappings":{"default":{"default":"negrita d"}},"key":"1D41D"},{"category":"Ll","mappings":{"default":{"default":"negrita e"}},"key":"1D41E"},{"category":"Ll","mappings":{"default":{"default":"negrita f"}},"key":"1D41F"},{"category":"Ll","mappings":{"default":{"default":"negrita g"}},"key":"1D420"},{"category":"Ll","mappings":{"default":{"default":"negrita h"}},"key":"1D421"},{"category":"Ll","mappings":{"default":{"default":"negrita i"}},"key":"1D422"},{"category":"Ll","mappings":{"default":{"default":"negrita j"}},"key":"1D423"},{"category":"Ll","mappings":{"default":{"default":"negrita k"}},"key":"1D424"},{"category":"Ll","mappings":{"default":{"default":"negrita l"}},"key":"1D425"},{"category":"Ll","mappings":{"default":{"default":"negrita m"}},"key":"1D426"},{"category":"Ll","mappings":{"default":{"default":"negrita n"}},"key":"1D427"},{"category":"Ll","mappings":{"default":{"default":"negrita o"}},"key":"1D428"},{"category":"Ll","mappings":{"default":{"default":"negrita p"}},"key":"1D429"},{"category":"Ll","mappings":{"default":{"default":"negrita q"}},"key":"1D42A"},{"category":"Ll","mappings":{"default":{"default":"negrita r"}},"key":"1D42B"},{"category":"Ll","mappings":{"default":{"default":"negrita s"}},"key":"1D42C"},{"category":"Ll","mappings":{"default":{"default":"negrita t"}},"key":"1D42D"},{"category":"Ll","mappings":{"default":{"default":"negrita u"}},"key":"1D42E"},{"category":"Ll","mappings":{"default":{"default":"negrita v"}},"key":"1D42F"},{"category":"Ll","mappings":{"default":{"default":"negrita w"}},"key":"1D430"},{"category":"Ll","mappings":{"default":{"default":"negrita x"}},"key":"1D431"},{"category":"Ll","mappings":{"default":{"default":"negrita y"}},"key":"1D432"},{"category":"Ll","mappings":{"default":{"default":"negrita z"}},"key":"1D433"}] +, +"es/latin-mathfonts-double-struck.js": +[{"locale":"es"},{"category":"Lu","mappings":{"default":{"default":"negrita de pizarra mayúscula A"}},"key":"1D538"},{"category":"Lu","mappings":{"default":{"default":"negrita de pizarra mayúscula B"}},"key":"1D539"},{"key":"2102","mappings":{"default":{"default":"negrita de pizarra mayúscula C"}},"category":"Lu"},{"category":"Lu","mappings":{"default":{"default":"negrita de pizarra mayúscula D"}},"key":"1D53B"},{"category":"Lu","mappings":{"default":{"default":"negrita de pizarra mayúscula E"}},"key":"1D53C"},{"category":"Lu","mappings":{"default":{"default":"negrita de pizarra mayúscula F"}},"key":"1D53D"},{"category":"Lu","mappings":{"default":{"default":"negrita de pizarra mayúscula G"}},"key":"1D53E"},{"key":"210D","mappings":{"default":{"default":"negrita de pizarra mayúscula H"}},"category":"Lu"},{"category":"Lu","mappings":{"default":{"default":"negrita de pizarra mayúscula I"}},"key":"1D540"},{"category":"Lu","mappings":{"default":{"default":"negrita de pizarra mayúscula J"}},"key":"1D541"},{"category":"Lu","mappings":{"default":{"default":"negrita de pizarra mayúscula K"}},"key":"1D542"},{"category":"Lu","mappings":{"default":{"default":"negrita de pizarra mayúscula L"}},"key":"1D543"},{"category":"Lu","mappings":{"default":{"default":"negrita de pizarra mayúscula M"}},"key":"1D544"},{"key":"2115","mappings":{"default":{"default":"negrita de pizarra mayúscula N"}},"category":"Lu"},{"category":"Lu","mappings":{"default":{"default":"negrita de pizarra mayúscula O"}},"key":"1D546"},{"key":"2119","mappings":{"default":{"default":"negrita de pizarra mayúscula P"}},"category":"Lu"},{"key":"211A","mappings":{"default":{"default":"negrita de pizarra mayúscula Q"}},"category":"Lu"},{"key":"211D","mappings":{"default":{"default":"negrita de pizarra mayúscula R","defaultMP":"R mayúscula negrita"}},"category":"Lu"},{"category":"Lu","mappings":{"default":{"default":"negrita de pizarra mayúscula S"}},"key":"1D54A"},{"category":"Lu","mappings":{"default":{"default":"negrita de pizarra mayúscula T"}},"key":"1D54B"},{"category":"Lu","mappings":{"default":{"default":"negrita de pizarra mayúscula U"}},"key":"1D54C"},{"category":"Lu","mappings":{"default":{"default":"negrita de pizarra mayúscula V"}},"key":"1D54D"},{"category":"Lu","mappings":{"default":{"default":"negrita de pizarra mayúscula W"}},"key":"1D54E"},{"category":"Lu","mappings":{"default":{"default":"negrita de pizarra mayúscula X"}},"key":"1D54F"},{"category":"Lu","mappings":{"default":{"default":"negrita de pizarra mayúscula Y"}},"key":"1D550"},{"key":"2124","mappings":{"default":{"default":"negrita de pizarra mayúscula Z"}},"category":"Lu"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra a"}},"key":"1D552"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra b"}},"key":"1D553"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra c"}},"key":"1D554"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra d"}},"key":"1D555"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra e"}},"key":"1D556"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra f"}},"key":"1D557"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra g"}},"key":"1D558"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra h"}},"key":"1D559"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra i"}},"key":"1D55A"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra j"}},"key":"1D55B"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra k"}},"key":"1D55C"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra l"}},"key":"1D55D"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra m"}},"key":"1D55E"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra n"}},"key":"1D55F"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra o"}},"key":"1D560"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra p"}},"key":"1D561"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra q"}},"key":"1D562"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra r"}},"key":"1D563"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra s"}},"key":"1D564"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra t"}},"key":"1D565"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra u"}},"key":"1D566"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra v"}},"key":"1D567"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra w"}},"key":"1D568"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra x"}},"key":"1D569"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra y"}},"key":"1D56A"},{"category":"Ll","mappings":{"default":{"default":"negrita de pizarra z"}},"key":"1D56B"}] +, +"es/latin-mathfonts-fraktur.js": +[{"locale":"es"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula A"}},"key":"1D504"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula B"}},"key":"1D505"},{"key":"212D","mappings":{"default":{"default":"Fraktur mayúscula C"}},"category":"Lu"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula D"}},"key":"1D507"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula E"}},"key":"1D508"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula F"}},"key":"1D509"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula G"}},"key":"1D50A"},{"key":"210C","mappings":{"default":{"default":"Fraktur mayúscula H"}},"category":"Lu"},{"key":"2111","mappings":{"default":{"default":"Fraktur mayúscula I"}},"category":"Lu"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula J"}},"key":"1D50D"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula K"}},"key":"1D50E"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula L"}},"key":"1D50F"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula M"}},"key":"1D510"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula N"}},"key":"1D511"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula O"}},"key":"1D512"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula P"}},"key":"1D513"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula Q"}},"key":"1D514"},{"key":"211C","mappings":{"default":{"default":"Fraktur mayúscula R"}},"category":"Lu"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula S"}},"key":"1D516"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula T"}},"key":"1D517"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula U"}},"key":"1D518"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula V"}},"key":"1D519"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula W"}},"key":"1D51A"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula X"}},"key":"1D51B"},{"category":"Lu","mappings":{"default":{"default":"Fraktur mayúscula Y"}},"key":"1D51C"},{"key":"2128","mappings":{"default":{"default":"Fraktur mayúscula Z"}},"category":"Lu"},{"category":"Ll","mappings":{"default":{"default":"Fraktur a"}},"key":"1D51E"},{"category":"Ll","mappings":{"default":{"default":"Fraktur b"}},"key":"1D51F"},{"category":"Ll","mappings":{"default":{"default":"Fraktur c"}},"key":"1D520"},{"category":"Ll","mappings":{"default":{"default":"Fraktur d"}},"key":"1D521"},{"category":"Ll","mappings":{"default":{"default":"Fraktur e"}},"key":"1D522"},{"category":"Ll","mappings":{"default":{"default":"Fraktur f"}},"key":"1D523"},{"category":"Ll","mappings":{"default":{"default":"Fraktur g"}},"key":"1D524"},{"category":"Ll","mappings":{"default":{"default":"Fraktur h"}},"key":"1D525"},{"category":"Ll","mappings":{"default":{"default":"Fraktur i"}},"key":"1D526"},{"category":"Ll","mappings":{"default":{"default":"Fraktur j"}},"key":"1D527"},{"category":"Ll","mappings":{"default":{"default":"Fraktur k"}},"key":"1D528"},{"category":"Ll","mappings":{"default":{"default":"Fraktur l"}},"key":"1D529"},{"category":"Ll","mappings":{"default":{"default":"Fraktur m"}},"key":"1D52A"},{"category":"Ll","mappings":{"default":{"default":"Fraktur n"}},"key":"1D52B"},{"category":"Ll","mappings":{"default":{"default":"Fraktur o"}},"key":"1D52C"},{"category":"Ll","mappings":{"default":{"default":"Fraktur p"}},"key":"1D52D"},{"category":"Ll","mappings":{"default":{"default":"Fraktur q"}},"key":"1D52E"},{"category":"Ll","mappings":{"default":{"default":"Fraktur r"}},"key":"1D52F"},{"category":"Ll","mappings":{"default":{"default":"Fraktur s"}},"key":"1D530"},{"category":"Ll","mappings":{"default":{"default":"Fraktur t"}},"key":"1D531"},{"category":"Ll","mappings":{"default":{"default":"Fraktur u"}},"key":"1D532"},{"category":"Ll","mappings":{"default":{"default":"Fraktur v"}},"key":"1D533"},{"category":"Ll","mappings":{"default":{"default":"Fraktur w"}},"key":"1D534"},{"category":"Ll","mappings":{"default":{"default":"Fraktur x"}},"key":"1D535"},{"category":"Ll","mappings":{"default":{"default":"Fraktur y"}},"key":"1D536"},{"category":"Ll","mappings":{"default":{"default":"Fraktur z"}},"key":"1D537"}] +, +"es/latin-mathfonts-italic.js": +[{"locale":"es"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula A"}},"key":"1D434"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula B"}},"key":"1D435"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula C"}},"key":"1D436"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula D"}},"key":"1D437"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula E"}},"key":"1D438"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula F"}},"key":"1D439"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula G"}},"key":"1D43A"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula H"}},"key":"1D43B"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula I"}},"key":"1D43C"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula J"}},"key":"1D43D"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula K"}},"key":"1D43E"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula L"}},"key":"1D43F"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula M"}},"key":"1D440"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula N"}},"key":"1D441"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula O"}},"key":"1D442"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula P"}},"key":"1D443"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Q"}},"key":"1D444"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula R"}},"key":"1D445"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula S"}},"key":"1D446"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula T"}},"key":"1D447"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula U"}},"key":"1D448"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula V"}},"key":"1D449"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula W"}},"key":"1D44A"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula X"}},"key":"1D44B"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Y"}},"key":"1D44C"},{"category":"Lu","mappings":{"default":{"default":"cursiva mayúscula Z"}},"key":"1D44D"},{"category":"Ll","mappings":{"default":{"default":"cursiva a"}},"key":"1D44E"},{"category":"Ll","mappings":{"default":{"default":"cursiva b"}},"key":"1D44F"},{"category":"Ll","mappings":{"default":{"default":"cursiva c"}},"key":"1D450"},{"category":"Ll","mappings":{"default":{"default":"cursiva d"}},"key":"1D451"},{"category":"Ll","mappings":{"default":{"default":"cursiva e"}},"key":"1D452"},{"category":"Ll","mappings":{"default":{"default":"cursiva f"}},"key":"1D453"},{"category":"Ll","mappings":{"default":{"default":"cursiva g"}},"key":"1D454"},{"key":"210E","mappings":{"default":{"default":"constante de Planck"}},"category":"Ll"},{"category":"Ll","mappings":{"default":{"default":"cursiva i"}},"key":"1D456"},{"category":"Ll","mappings":{"default":{"default":"cursiva j"}},"key":"1D457"},{"category":"Ll","mappings":{"default":{"default":"cursiva k"}},"key":"1D458"},{"category":"Ll","mappings":{"default":{"default":"cursiva l"}},"key":"1D459"},{"category":"Ll","mappings":{"default":{"default":"cursiva m"}},"key":"1D45A"},{"category":"Ll","mappings":{"default":{"default":"cursiva n"}},"key":"1D45B"},{"category":"Ll","mappings":{"default":{"default":"cursiva o"}},"key":"1D45C"},{"category":"Ll","mappings":{"default":{"default":"cursiva p"}},"key":"1D45D"},{"category":"Ll","mappings":{"default":{"default":"cursiva q"}},"key":"1D45E"},{"category":"Ll","mappings":{"default":{"default":"cursiva r"}},"key":"1D45F"},{"category":"Ll","mappings":{"default":{"default":"cursiva s"}},"key":"1D460"},{"category":"Ll","mappings":{"default":{"default":"cursiva t"}},"key":"1D461"},{"category":"Ll","mappings":{"default":{"default":"cursiva u"}},"key":"1D462"},{"category":"Ll","mappings":{"default":{"default":"cursiva v"}},"key":"1D463"},{"category":"Ll","mappings":{"default":{"default":"cursiva w"}},"key":"1D464"},{"category":"Ll","mappings":{"default":{"default":"cursiva x"}},"key":"1D465"},{"category":"Ll","mappings":{"default":{"default":"cursiva y"}},"key":"1D466"},{"category":"Ll","mappings":{"default":{"default":"cursiva z"}},"key":"1D467"}] +, +"es/latin-mathfonts-monospace.js": +[{"locale":"es"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula A"}},"key":"1D670"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula B"}},"key":"1D671"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula C"}},"key":"1D672"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula D"}},"key":"1D673"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula E"}},"key":"1D674"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula F"}},"key":"1D675"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula G"}},"key":"1D676"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula H"}},"key":"1D677"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula I"}},"key":"1D678"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula J"}},"key":"1D679"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula K"}},"key":"1D67A"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula L"}},"key":"1D67B"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula M"}},"key":"1D67C"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula N"}},"key":"1D67D"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula O"}},"key":"1D67E"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula P"}},"key":"1D67F"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula Q"}},"key":"1D680"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula R"}},"key":"1D681"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula S"}},"key":"1D682"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula T"}},"key":"1D683"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula U"}},"key":"1D684"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula V"}},"key":"1D685"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula W"}},"key":"1D686"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula X"}},"key":"1D687"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula Y"}},"key":"1D688"},{"category":"Lu","mappings":{"default":{"default":"monoespacio mayúscula Z"}},"key":"1D689"},{"category":"Ll","mappings":{"default":{"default":"monoespacio a"}},"key":"1D68A"},{"category":"Ll","mappings":{"default":{"default":"monoespacio b"}},"key":"1D68B"},{"category":"Ll","mappings":{"default":{"default":"monoespacio c"}},"key":"1D68C"},{"category":"Ll","mappings":{"default":{"default":"monoespacio d"}},"key":"1D68D"},{"category":"Ll","mappings":{"default":{"default":"monoespacio e"}},"key":"1D68E"},{"category":"Ll","mappings":{"default":{"default":"monoespacio f"}},"key":"1D68F"},{"category":"Ll","mappings":{"default":{"default":"monoespacio g"}},"key":"1D690"},{"category":"Ll","mappings":{"default":{"default":"monoespacio h"}},"key":"1D691"},{"category":"Ll","mappings":{"default":{"default":"monoespacio i"}},"key":"1D692"},{"category":"Ll","mappings":{"default":{"default":"monoespacio j"}},"key":"1D693"},{"category":"Ll","mappings":{"default":{"default":"monoespacio k"}},"key":"1D694"},{"category":"Ll","mappings":{"default":{"default":"monoespacio l"}},"key":"1D695"},{"category":"Ll","mappings":{"default":{"default":"monoespacio m"}},"key":"1D696"},{"category":"Ll","mappings":{"default":{"default":"monoespacio n"}},"key":"1D697"},{"category":"Ll","mappings":{"default":{"default":"monoespacio o"}},"key":"1D698"},{"category":"Ll","mappings":{"default":{"default":"monoespacio p"}},"key":"1D699"},{"category":"Ll","mappings":{"default":{"default":"monoespacio q"}},"key":"1D69A"},{"category":"Ll","mappings":{"default":{"default":"monoespacio r"}},"key":"1D69B"},{"category":"Ll","mappings":{"default":{"default":"monoespacio s"}},"key":"1D69C"},{"category":"Ll","mappings":{"default":{"default":"monoespacio t"}},"key":"1D69D"},{"category":"Ll","mappings":{"default":{"default":"monoespacio u"}},"key":"1D69E"},{"category":"Ll","mappings":{"default":{"default":"monoespacio v"}},"key":"1D69F"},{"category":"Ll","mappings":{"default":{"default":"monoespacio w"}},"key":"1D6A0"},{"category":"Ll","mappings":{"default":{"default":"monoespacio x"}},"key":"1D6A1"},{"category":"Ll","mappings":{"default":{"default":"monoespacio y"}},"key":"1D6A2"},{"category":"Ll","mappings":{"default":{"default":"monoespacio z"}},"key":"1D6A3"}] +, +"es/latin-mathfonts-sans-serif-bold.js": +[{"locale":"es"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula A"}},"key":"1D5D4"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula B"}},"key":"1D5D5"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula C"}},"key":"1D5D6"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula D"}},"key":"1D5D7"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula E"}},"key":"1D5D8"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula F"}},"key":"1D5D9"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula G"}},"key":"1D5DA"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula H"}},"key":"1D5DB"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula I"}},"key":"1D5DC"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula J"}},"key":"1D5DD"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula K"}},"key":"1D5DE"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula L"}},"key":"1D5DF"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula M"}},"key":"1D5E0"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula N"}},"key":"1D5E1"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula O"}},"key":"1D5E2"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula P"}},"key":"1D5E3"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Q"}},"key":"1D5E4"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula R"}},"key":"1D5E5"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula S"}},"key":"1D5E6"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula T"}},"key":"1D5E7"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula U"}},"key":"1D5E8"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula V"}},"key":"1D5E9"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula W"}},"key":"1D5EA"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula X"}},"key":"1D5EB"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Y"}},"key":"1D5EC"},{"category":"Lu","mappings":{"default":{"default":"sans-serif negrita mayúscula Z"}},"key":"1D5ED"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita a"}},"key":"1D5EE"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita b"}},"key":"1D5EF"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita c"}},"key":"1D5F0"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita d"}},"key":"1D5F1"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita e"}},"key":"1D5F2"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita f"}},"key":"1D5F3"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita g"}},"key":"1D5F4"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita h"}},"key":"1D5F5"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita i"}},"key":"1D5F6"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita j"}},"key":"1D5F7"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita k"}},"key":"1D5F8"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita l"}},"key":"1D5F9"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita m"}},"key":"1D5FA"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita n"}},"key":"1D5FB"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita o"}},"key":"1D5FC"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita p"}},"key":"1D5FD"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita q"}},"key":"1D5FE"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita r"}},"key":"1D5FF"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita s"}},"key":"1D600"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita t"}},"key":"1D601"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita u"}},"key":"1D602"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita v"}},"key":"1D603"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita w"}},"key":"1D604"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita x"}},"key":"1D605"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita y"}},"key":"1D606"},{"category":"Ll","mappings":{"default":{"default":"sans-serif negrita z"}},"key":"1D607"}] +, +"es/latin-mathfonts-sans-serif-italic.js": +[{"locale":"es"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula A"}},"key":"1D608"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula B"}},"key":"1D609"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula C"}},"key":"1D60A"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula D"}},"key":"1D60B"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula E"}},"key":"1D60C"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula F"}},"key":"1D60D"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula G"}},"key":"1D60E"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula H"}},"key":"1D60F"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula I"}},"key":"1D610"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula J"}},"key":"1D611"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula K"}},"key":"1D612"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula L"}},"key":"1D613"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula M"}},"key":"1D614"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula N"}},"key":"1D615"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula O"}},"key":"1D616"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula P"}},"key":"1D617"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula Q"}},"key":"1D618"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula R"}},"key":"1D619"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula S"}},"key":"1D61A"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula T"}},"key":"1D61B"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula U"}},"key":"1D61C"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula V"}},"key":"1D61D"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula W"}},"key":"1D61E"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula X"}},"key":"1D61F"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula Y"}},"key":"1D620"},{"category":"Lu","mappings":{"default":{"default":"sans-serif cursiva mayúscula Z"}},"key":"1D621"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva a"}},"key":"1D622"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva b"}},"key":"1D623"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva c"}},"key":"1D624"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva d"}},"key":"1D625"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva e"}},"key":"1D626"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva f"}},"key":"1D627"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva g"}},"key":"1D628"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva h"}},"key":"1D629"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva i"}},"key":"1D62A"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva j"}},"key":"1D62B"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva k"}},"key":"1D62C"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva l"}},"key":"1D62D"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva m"}},"key":"1D62E"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva n"}},"key":"1D62F"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva o"}},"key":"1D630"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva p"}},"key":"1D631"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva q"}},"key":"1D632"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva r"}},"key":"1D633"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva s"}},"key":"1D634"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva t"}},"key":"1D635"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva u"}},"key":"1D636"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva v"}},"key":"1D637"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva w"}},"key":"1D638"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva x"}},"key":"1D639"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva y"}},"key":"1D63A"},{"category":"Ll","mappings":{"default":{"default":"sans-serif cursiva z"}},"key":"1D63B"}] +, +"es/latin-mathfonts-sans-serif.js": +[{"locale":"es"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula A"}},"key":"1D5A0"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula B"}},"key":"1D5A1"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula C"}},"key":"1D5A2"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula D"}},"key":"1D5A3"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula E"}},"key":"1D5A4"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula F"}},"key":"1D5A5"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula G"}},"key":"1D5A6"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula H"}},"key":"1D5A7"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula I"}},"key":"1D5A8"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula J"}},"key":"1D5A9"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula K"}},"key":"1D5AA"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula L"}},"key":"1D5AB"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula M"}},"key":"1D5AC"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula N"}},"key":"1D5AD"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula O"}},"key":"1D5AE"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula P"}},"key":"1D5AF"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula Q"}},"key":"1D5B0"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula R"}},"key":"1D5B1"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula S"}},"key":"1D5B2"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula T"}},"key":"1D5B3"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula U"}},"key":"1D5B4"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula V"}},"key":"1D5B5"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula W"}},"key":"1D5B6"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula X"}},"key":"1D5B7"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula Y"}},"key":"1D5B8"},{"category":"Lu","mappings":{"default":{"default":"sans-serif mayúscula Z"}},"key":"1D5B9"},{"category":"Ll","mappings":{"default":{"default":"sans-serif a"}},"key":"1D5BA"},{"category":"Ll","mappings":{"default":{"default":"sans-serif b"}},"key":"1D5BB"},{"category":"Ll","mappings":{"default":{"default":"sans-serif c"}},"key":"1D5BC"},{"category":"Ll","mappings":{"default":{"default":"sans-serif d"}},"key":"1D5BD"},{"category":"Ll","mappings":{"default":{"default":"sans-serif e"}},"key":"1D5BE"},{"category":"Ll","mappings":{"default":{"default":"sans-serif f"}},"key":"1D5BF"},{"category":"Ll","mappings":{"default":{"default":"sans-serif g"}},"key":"1D5C0"},{"category":"Ll","mappings":{"default":{"default":"sans-serif h"}},"key":"1D5C1"},{"category":"Ll","mappings":{"default":{"default":"sans-serif i"}},"key":"1D5C2"},{"category":"Ll","mappings":{"default":{"default":"sans-serif j"}},"key":"1D5C3"},{"category":"Ll","mappings":{"default":{"default":"sans-serif k"}},"key":"1D5C4"},{"category":"Ll","mappings":{"default":{"default":"sans-serif l"}},"key":"1D5C5"},{"category":"Ll","mappings":{"default":{"default":"sans-serif m"}},"key":"1D5C6"},{"category":"Ll","mappings":{"default":{"default":"sans-serif n"}},"key":"1D5C7"},{"category":"Ll","mappings":{"default":{"default":"sans-serif o"}},"key":"1D5C8"},{"category":"Ll","mappings":{"default":{"default":"sans-serif p"}},"key":"1D5C9"},{"category":"Ll","mappings":{"default":{"default":"sans-serif q"}},"key":"1D5CA"},{"category":"Ll","mappings":{"default":{"default":"sans-serif r"}},"key":"1D5CB"},{"category":"Ll","mappings":{"default":{"default":"sans-serif s"}},"key":"1D5CC"},{"category":"Ll","mappings":{"default":{"default":"sans-serif t"}},"key":"1D5CD"},{"category":"Ll","mappings":{"default":{"default":"sans-serif u"}},"key":"1D5CE"},{"category":"Ll","mappings":{"default":{"default":"sans-serif v"}},"key":"1D5CF"},{"category":"Ll","mappings":{"default":{"default":"sans-serif w"}},"key":"1D5D0"},{"category":"Ll","mappings":{"default":{"default":"sans-serif x"}},"key":"1D5D1"},{"category":"Ll","mappings":{"default":{"default":"sans-serif y"}},"key":"1D5D2"},{"category":"Ll","mappings":{"default":{"default":"sans-serif z"}},"key":"1D5D3"}] +, +"es/latin-mathfonts-script.js": +[{"locale":"es"},{"category":"Lu","mappings":{"default":{"default":"script mayúscula A"}},"key":"1D49C"},{"key":"212C","mappings":{"default":{"default":"script mayúscula B"}},"category":"Lu"},{"category":"Lu","mappings":{"default":{"default":"script mayúscula C"}},"key":"1D49E"},{"category":"Lu","mappings":{"default":{"default":"script mayúscula D"}},"key":"1D49F"},{"key":"2130","mappings":{"default":{"default":"script mayúscula E"}},"category":"Lu"},{"key":"2131","mappings":{"default":{"default":"script mayúscula F"}},"category":"Lu"},{"category":"Lu","mappings":{"default":{"default":"script mayúscula G"}},"key":"1D4A2"},{"key":"210B","mappings":{"default":{"default":"script mayúscula H"}},"category":"Lu"},{"key":"2110","mappings":{"default":{"default":"script mayúscula I"}},"category":"Lu"},{"category":"Lu","mappings":{"default":{"default":"script mayúscula J"}},"key":"1D4A5"},{"category":"Lu","mappings":{"default":{"default":"script mayúscula K"}},"key":"1D4A6"},{"key":"2112","mappings":{"default":{"default":"script mayúscula L"}},"category":"Lu"},{"key":"2133","mappings":{"default":{"default":"script mayúscula M"}},"category":"Lu"},{"category":"Lu","mappings":{"default":{"default":"script mayúscula N"}},"key":"1D4A9"},{"category":"Lu","mappings":{"default":{"default":"script mayúscula O"}},"key":"1D4AA"},{"category":"Lu","mappings":{"default":{"default":"script mayúscula P"}},"key":"1D4AB"},{"category":"Lu","mappings":{"default":{"default":"script mayúscula Q"}},"key":"1D4AC"},{"key":"211B","mappings":{"default":{"default":"script mayúscula R"}},"category":"Lu"},{"category":"Lu","mappings":{"default":{"default":"script mayúscula S"}},"key":"1D4AE"},{"category":"Lu","mappings":{"default":{"default":"script mayúscula T"}},"key":"1D4AF"},{"category":"Lu","mappings":{"default":{"default":"script mayúscula U"}},"key":"1D4B0"},{"category":"Lu","mappings":{"default":{"default":"script mayúscula V"}},"key":"1D4B1"},{"category":"Lu","mappings":{"default":{"default":"script mayúscula W"}},"key":"1D4B2"},{"category":"Lu","mappings":{"default":{"default":"script mayúscula X"}},"key":"1D4B3"},{"category":"Lu","mappings":{"default":{"default":"script mayúscula Y"}},"key":"1D4B4"},{"category":"Lu","mappings":{"default":{"default":"script mayúscula Z"}},"key":"1D4B5"},{"category":"Ll","mappings":{"default":{"default":"script a"}},"key":"1D4B6"},{"category":"Ll","mappings":{"default":{"default":"script b"}},"key":"1D4B7"},{"category":"Ll","mappings":{"default":{"default":"script c"}},"key":"1D4B8"},{"category":"Ll","mappings":{"default":{"default":"script d"}},"key":"1D4B9"},{"key":"212F","mappings":{"default":{"default":"script e"}},"category":"Ll"},{"category":"Ll","mappings":{"default":{"default":"script f"}},"key":"1D4BB"},{"key":"210A","mappings":{"default":{"default":"script g"}},"category":"Ll"},{"category":"Ll","mappings":{"default":{"default":"script h"}},"key":"1D4BD"},{"category":"Ll","mappings":{"default":{"default":"script i"}},"key":"1D4BE"},{"category":"Ll","mappings":{"default":{"default":"script j"}},"key":"1D4BF"},{"category":"Ll","mappings":{"default":{"default":"script k"}},"key":"1D4C0"},{"category":"Ll","mappings":{"default":{"default":"script l"}},"key":"1D4C1"},{"category":"Ll","mappings":{"default":{"default":"script m"}},"key":"1D4C2"},{"category":"Ll","mappings":{"default":{"default":"script n"}},"key":"1D4C3"},{"key":"2134","mappings":{"default":{"default":"script o"}},"category":"Ll"},{"category":"Ll","mappings":{"default":{"default":"script p"}},"key":"1D4C5"},{"category":"Ll","mappings":{"default":{"default":"script q"}},"key":"1D4C6"},{"category":"Ll","mappings":{"default":{"default":"script r"}},"key":"1D4C7"},{"category":"Ll","mappings":{"default":{"default":"script s"}},"key":"1D4C8"},{"category":"Ll","mappings":{"default":{"default":"script t"}},"key":"1D4C9"},{"category":"Ll","mappings":{"default":{"default":"script u"}},"key":"1D4CA"},{"category":"Ll","mappings":{"default":{"default":"script v"}},"key":"1D4CB"},{"category":"Ll","mappings":{"default":{"default":"script w"}},"key":"1D4CC"},{"category":"Ll","mappings":{"default":{"default":"script x"}},"key":"1D4CD"},{"category":"Ll","mappings":{"default":{"default":"script y"}},"key":"1D4CE"},{"category":"Ll","mappings":{"default":{"default":"script z"}},"key":"1D4CF"}] +, +"es/latin-rest.js": +[{"locale":"es"},{"key":"24C8","mappings":{"default":{"default":"S en cÃrculo"}},"category":"So"}] +, +"es/latin-upper-double-accent.js": +[{"locale":"es"},{"key":"1E08","mappings":{"default":{"default":"mayúscula C con cedilla y agudo"}},"category":"Lu"},{"key":"1E14","mappings":{"default":{"default":"mayúscula E con macrón y grave"}},"category":"Lu"},{"key":"1E16","mappings":{"default":{"default":"mayúscula E con macrón y agudo"}},"category":"Lu"},{"key":"1E1C","mappings":{"default":{"default":"mayúscula E with cedilla and breve"}},"category":"Lu"},{"key":"1E2E","mappings":{"default":{"default":"mayúscula I con diéresis y agudo"}},"category":"Lu"},{"key":"1E38","mappings":{"default":{"default":"mayúscula L con punto debajo y macrón"}},"category":"Lu"},{"key":"1E4C","mappings":{"default":{"default":"mayúscula O con tilde y acute"}},"category":"Lu"},{"key":"1E4E","mappings":{"default":{"default":"mayúscula O con tilde y diéresis"}},"category":"Lu"},{"key":"1E50","mappings":{"default":{"default":"mayúscula O con macrón y grave"}},"category":"Lu"},{"key":"1E52","mappings":{"default":{"default":"mayúscula O con macrón y agudo"}},"category":"Lu"},{"key":"1E5C","mappings":{"default":{"default":"mayúscula R con punto debajo y macrón"}},"category":"Lu"},{"key":"1E64","mappings":{"default":{"default":"mayúscula S con agudo y punto arriba"}},"category":"Lu"},{"key":"1E66","mappings":{"default":{"default":"mayúscula S con carón y punto arriba"}},"category":"Lu"},{"key":"1E68","mappings":{"default":{"default":"mayúscula S con punto debajo y punto arriba"}},"category":"Lu"},{"key":"1E78","mappings":{"default":{"default":"mayúscula U con tilde y agudo"}},"category":"Lu"},{"key":"1E7A","mappings":{"default":{"default":"mayúscula U con macrón y diéresis"}},"category":"Lu"},{"key":"1EA4","mappings":{"default":{"default":"mayúscula A con acento circunflejo y agudo"}},"category":"Lu"},{"key":"1EA6","mappings":{"default":{"default":"mayúscula A con acento circunflejo y grave"}},"category":"Lu"},{"key":"1EA8","mappings":{"default":{"default":"mayúscula A con acento circunflejo y gancho arriba"}},"category":"Lu"},{"key":"1EAA","mappings":{"default":{"default":"mayúscula A con acento circunflejo y tilde"}},"category":"Lu"},{"key":"1EAC","mappings":{"default":{"default":"mayúscula A con acento circunflejo y punto debajo"}},"category":"Lu"},{"key":"1EAE","mappings":{"default":{"default":"mayúscula A con breve y agudo"}},"category":"Lu"},{"key":"1EB0","mappings":{"default":{"default":"mayúscula A con breve y grave"}},"category":"Lu"},{"key":"1EB2","mappings":{"default":{"default":"mayúscula A con breve y gancho arriba"}},"category":"Lu"},{"key":"1EB4","mappings":{"default":{"default":"mayúscula A con breve y tilde"}},"category":"Lu"},{"key":"1EB6","mappings":{"default":{"default":"mayúscula A con breve y punto debajo"}},"category":"Lu"},{"key":"1EBE","mappings":{"default":{"default":"mayúscula E con acento circunflejo y agudo"}},"category":"Lu"},{"key":"1EC0","mappings":{"default":{"default":"mayúscula E con acento circunflejo y grave"}},"category":"Lu"},{"key":"1EC2","mappings":{"default":{"default":"mayúscula E con acento circunflejo y gancho arriba"}},"category":"Lu"},{"key":"1EC4","mappings":{"default":{"default":"mayúscula E con acento circunflejo y tilde"}},"category":"Lu"},{"key":"1EC6","mappings":{"default":{"default":"mayúscula E con acento circunflejo y punto debajo"}},"category":"Lu"},{"key":"1ED0","mappings":{"default":{"default":"mayúscula O con acento circunflejo y agudo"}},"category":"Lu"},{"key":"1ED2","mappings":{"default":{"default":"mayúscula O con acento circunflejo y grave"}},"category":"Lu"},{"key":"1ED4","mappings":{"default":{"default":"mayúscula O con acento circunflejo y gancho arriba"}},"category":"Lu"},{"key":"1ED6","mappings":{"default":{"default":"mayúscula O con acento circunflejo y tilde"}},"category":"Lu"},{"key":"1ED8","mappings":{"default":{"default":"mayúscula O con acento circunflejo y punto debajo"}},"category":"Lu"},{"key":"1EDA","mappings":{"default":{"default":"mayúscula O with horn and acute"}},"category":"Lu"},{"key":"1EDC","mappings":{"default":{"default":"mayúscula O with horn and grave"}},"category":"Lu"},{"key":"1EDE","mappings":{"default":{"default":"mayúscula O with horn and hook above"}},"category":"Lu"},{"key":"1EE0","mappings":{"default":{"default":"mayúscula O with horn and tilde"}},"category":"Lu"},{"key":"1EE2","mappings":{"default":{"default":"mayúscula O con cuerno y punto debajo"}},"category":"Lu"},{"key":"1EE8","mappings":{"default":{"default":"mayúscula U con cuerno y agudo"}},"category":"Lu"},{"key":"1EEA","mappings":{"default":{"default":"mayúscula U con cuerno y grave"}},"category":"Lu"},{"key":"1EEC","mappings":{"default":{"default":"mayúscula U con cuerno y gancho arriba"}},"category":"Lu"},{"key":"1EEE","mappings":{"default":{"default":"mayúscula U con cuerno y tilde"}},"category":"Lu"},{"key":"1EF0","mappings":{"default":{"default":"mayúscula U con cuerno y punto debajo"}},"category":"Lu"}] +, +"es/latin-upper-normal.js": +[{"locale":"es"},{"key":"0041","mappings":{"default":{"default":"mayúscula A"}},"category":"Lu"},{"key":"0042","mappings":{"default":{"default":"mayúscula B"}},"category":"Lu"},{"key":"0043","mappings":{"default":{"default":"mayúscula C"}},"category":"Lu"},{"key":"0044","mappings":{"default":{"default":"mayúscula D"}},"category":"Lu"},{"key":"0045","mappings":{"default":{"default":"mayúscula E"}},"category":"Lu"},{"key":"0046","mappings":{"default":{"default":"mayúscula F"}},"category":"Lu"},{"key":"0047","mappings":{"default":{"default":"mayúscula G"}},"category":"Lu"},{"key":"0048","mappings":{"default":{"default":"mayúscula H"}},"category":"Lu"},{"key":"0049","mappings":{"default":{"default":"mayúscula I"}},"category":"Lu"},{"key":"004A","mappings":{"default":{"default":"mayúscula J"}},"category":"Lu"},{"key":"004B","mappings":{"default":{"default":"mayúscula K"}},"category":"Lu"},{"key":"004C","mappings":{"default":{"default":"mayúscula L"}},"category":"Lu"},{"key":"004D","mappings":{"default":{"default":"mayúscula M"}},"category":"Lu"},{"key":"004E","mappings":{"default":{"default":"mayúscula N"}},"category":"Lu"},{"key":"004F","mappings":{"default":{"default":"mayúscula O"}},"category":"Lu"},{"key":"0050","mappings":{"default":{"default":"mayúscula P"}},"category":"Lu"},{"key":"0051","mappings":{"default":{"default":"mayúscula Q"}},"category":"Lu"},{"key":"0052","mappings":{"default":{"default":"mayúscula R"}},"category":"Lu"},{"key":"0053","mappings":{"default":{"default":"mayúscula S"}},"category":"Lu"},{"key":"0054","mappings":{"default":{"default":"mayúscula T"}},"category":"Lu"},{"key":"0055","mappings":{"default":{"default":"mayúscula U"}},"category":"Lu"},{"key":"0056","mappings":{"default":{"default":"mayúscula V"}},"category":"Lu"},{"key":"0057","mappings":{"default":{"default":"mayúscula W"}},"category":"Lu"},{"key":"0058","mappings":{"default":{"default":"mayúscula X"}},"category":"Lu"},{"key":"0059","mappings":{"default":{"default":"mayúscula Y","defaultMP":"Ye"}},"category":"Lu"},{"key":"005A","mappings":{"default":{"default":"mayúscula Z"}},"category":"Lu"}] +, +"es/latin-upper-single-accent.js": +[{"locale":"es"},{"key":"00C0","mappings":{"default":{"default":"mayúscula A grave"}},"category":"Lu"},{"key":"00C1","mappings":{"default":{"default":"mayúscula A aguda"}},"category":"Lu"},{"key":"00C2","mappings":{"default":{"default":"mayúscula A acento circunflejo"}},"category":"Lu"},{"key":"00C3","mappings":{"default":{"default":"mayúscula A con tilde"}},"category":"Lu"},{"key":"00C4","mappings":{"default":{"default":"mayúscula A diéresis"}},"category":"Lu"},{"key":"00C5","mappings":{"default":{"default":"mayúscula A con anillo"}},"category":"Lu"},{"key":"00C7","mappings":{"default":{"default":"mayúscula C cedilla"}},"category":"Lu"},{"key":"00C8","mappings":{"default":{"default":"mayúscula E grave"}},"category":"Lu"},{"key":"00C9","mappings":{"default":{"default":"mayúscula E aguda"}},"category":"Lu"},{"key":"00CA","mappings":{"default":{"default":"mayúscula E acento circunflejo"}},"category":"Lu"},{"key":"00CB","mappings":{"default":{"default":"mayúscula E diéresis"}},"category":"Lu"},{"key":"00CC","mappings":{"default":{"default":"mayúscula I grave"}},"category":"Lu"},{"key":"00CD","mappings":{"default":{"default":"mayúscula I aguda"}},"category":"Lu"},{"key":"00CE","mappings":{"default":{"default":"mayúscula I acento circumflejo"}},"category":"Lu"},{"key":"00CF","mappings":{"default":{"default":"mayúscula I diéresis"}},"category":"Lu"},{"key":"00D1","mappings":{"default":{"default":"mayúscula Ñ"}},"category":"Lu"},{"key":"00D2","mappings":{"default":{"default":"mayúscula O grave"}},"category":"Lu"},{"key":"00D3","mappings":{"default":{"default":"mayúscula O aguda"}},"category":"Lu"},{"key":"00D4","mappings":{"default":{"default":"mayúscula O acento circunflejo"}},"category":"Lu"},{"key":"00D5","mappings":{"default":{"default":"mayúscula O con tilde"}},"category":"Lu"},{"key":"00D6","mappings":{"default":{"default":"mayúscula O diéresis"}},"category":"Lu"},{"key":"00D9","mappings":{"default":{"default":"mayúscula U grave"}},"category":"Lu"},{"key":"00DA","mappings":{"default":{"default":"mayúscula U aguda"}},"category":"Lu"},{"key":"00DB","mappings":{"default":{"default":"mayúscula U acento circunflejo"}},"category":"Lu"},{"key":"00DC","mappings":{"default":{"default":"mayúscula U diéresis"}},"category":"Lu"},{"key":"00DD","mappings":{"default":{"default":"mayúscula Y aguda"}},"category":"Lu"},{"key":"0100","mappings":{"default":{"default":"mayúscula A barra"}},"category":"Lu"},{"key":"0102","mappings":{"default":{"default":"mayúscula A con breve"}},"category":"Lu"},{"key":"0104","mappings":{"default":{"default":"mayúscula A con ogonek"}},"category":"Lu"},{"key":"0106","mappings":{"default":{"default":"mayúscula C con agudo"}},"category":"Lu"},{"key":"0108","mappings":{"default":{"default":"mayúscula C con acento circunflejo"}},"category":"Lu"},{"key":"010A","mappings":{"default":{"default":"mayúscula C con punto arriba"}},"category":"Lu"},{"key":"010C","mappings":{"default":{"default":"mayúscula C con carón"}},"category":"Lu"},{"key":"010E","mappings":{"default":{"default":"mayúscula D con carón"}},"category":"Lu"},{"key":"0112","mappings":{"default":{"default":"mayúscula E barra"}},"category":"Lu"},{"key":"0116","mappings":{"default":{"default":"mayúscula E con punto arriba"}},"category":"Lu"},{"key":"0118","mappings":{"default":{"default":"mayúscula E con ogonek"}},"category":"Lu"},{"key":"011A","mappings":{"default":{"default":"mayúscula E con carón"}},"category":"Lu"},{"key":"011C","mappings":{"default":{"default":"mayúscula G con acento circunflejo"}},"category":"Lu"},{"key":"011E","mappings":{"default":{"default":"mayúscula G con breve"}},"category":"Lu"},{"key":"0120","mappings":{"default":{"default":"mayúscula G con punto arriba"}},"category":"Lu"},{"key":"0122","mappings":{"default":{"default":"mayúscula G con cedilla"}},"category":"Lu"},{"key":"0124","mappings":{"default":{"default":"mayúscula H con acento circunflejo"}},"category":"Lu"},{"key":"0128","mappings":{"default":{"default":"mayúscula I con tilde"}},"category":"Lu"},{"key":"012A","mappings":{"default":{"default":"mayúscula I barra"}},"category":"Lu"},{"key":"012E","mappings":{"default":{"default":"mayúscula I con ogonek"}},"category":"Lu"},{"key":"0130","mappings":{"default":{"default":"mayúscula I con punto arriba"}},"category":"Lu"},{"key":"0134","mappings":{"default":{"default":"mayúscula J con acento circunflejo"}},"category":"Lu"},{"key":"0136","mappings":{"default":{"default":"mayúscula K con cedilla"}},"category":"Lu"},{"key":"0139","mappings":{"default":{"default":"mayúscula L con agudo"}},"category":"Lu"},{"key":"013B","mappings":{"default":{"default":"mayúscula L con cedilla"}},"category":"Lu"},{"key":"013D","mappings":{"default":{"default":"mayúscula L con carón"}},"category":"Lu"},{"key":"013F","mappings":{"default":{"default":"mayúscula L con punto mediano"}},"category":"Lu"},{"key":"0143","mappings":{"default":{"default":"mayúscula N con agudo"}},"category":"Lu"},{"key":"0145","mappings":{"default":{"default":"mayúscula N con cedilla"}},"category":"Lu"},{"key":"0147","mappings":{"default":{"default":"mayúscula n con carón"}},"category":"Lu"},{"key":"014C","mappings":{"default":{"default":"mayúscula O barra"}},"category":"Lu"},{"key":"0150","mappings":{"default":{"default":"mayúscula O con doble acento agudo "}},"category":"Lu"},{"key":"0154","mappings":{"default":{"default":"mayúscula R con agudo"}},"category":"Lu"},{"key":"0156","mappings":{"default":{"default":"mayúscula R con cedilla"}},"category":"Lu"},{"key":"0158","mappings":{"default":{"default":"mayúscula R con carón"}},"category":"Lu"},{"key":"015A","mappings":{"default":{"default":"mayúscula S con agudo"}},"category":"Lu"},{"key":"015C","mappings":{"default":{"default":"mayúscula S con acento circunflejo"}},"category":"Lu"},{"key":"015E","mappings":{"default":{"default":"mayúscula S con cedilla"}},"category":"Lu"},{"key":"0160","mappings":{"default":{"default":"mayúscula S con carón"}},"category":"Lu"},{"key":"0162","mappings":{"default":{"default":"mayúscula T con cedilla"}},"category":"Lu"},{"key":"0164","mappings":{"default":{"default":"mayúscula T con carón"}},"category":"Lu"},{"key":"0168","mappings":{"default":{"default":"mayúscula U con tilde"}},"category":"Lu"},{"key":"016A","mappings":{"default":{"default":"mayúscula U barra"}},"category":"Lu"},{"key":"016C","mappings":{"default":{"default":"mayúscula U con breve"}},"category":"Lu"},{"key":"016E","mappings":{"default":{"default":"mayúscula U con anillo arriba"}},"category":"Lu"},{"key":"0170","mappings":{"default":{"default":"mayúscula U con doble acento agudo"}},"category":"Lu"},{"key":"0172","mappings":{"default":{"default":"mayúscula U con ogonek"}},"category":"Lu"},{"key":"0174","mappings":{"default":{"default":"mayúscula W con acento circunflejo"}},"category":"Lu"},{"key":"0176","mappings":{"default":{"default":"mayúscula Y con circunflejo"}},"category":"Lu"},{"key":"0178","mappings":{"default":{"default":"mayúscula Y diéresis"}},"category":"Lu"},{"key":"0179","mappings":{"default":{"default":"mayúscula Z con agudo"}},"category":"Lu"},{"key":"017B","mappings":{"default":{"default":"mayúscula Z con punto"}},"category":"Lu"},{"key":"017D","mappings":{"default":{"default":"mayúscula Z con carón"}},"category":"Lu"},{"key":"1E00","mappings":{"default":{"default":"mayúscula A con anillo debajo"}},"category":"Lu"},{"key":"1E02","mappings":{"default":{"default":"mayúscula B con punto arriba"}},"category":"Lu"},{"key":"1E04","mappings":{"default":{"default":"mayúscula B con punto debajo"}},"category":"Lu"},{"key":"1E06","mappings":{"default":{"default":"mayúscula B con lÃnea debajo"}},"category":"Lu"},{"key":"1E0A","mappings":{"default":{"default":"mayúscula D con punto arriba"}},"category":"Lu"},{"key":"1E0C","mappings":{"default":{"default":"mayúscula D con punto debajo"}},"category":"Lu"},{"key":"1E0E","mappings":{"default":{"default":"mayúscula D con lÃnea debajo"}},"category":"Lu"},{"key":"1E10","mappings":{"default":{"default":"mayúscula D con cedilla"}},"category":"Lu"},{"key":"1E12","mappings":{"default":{"default":"mayúscula D con acento circunflejo debajo"}},"category":"Lu"},{"key":"1E18","mappings":{"default":{"default":"mayúscula E con acento circunflejo debajo"}},"category":"Lu"},{"key":"1E1A","mappings":{"default":{"default":"mayúscula E con tilde debajo"}},"category":"Lu"},{"key":"1E1E","mappings":{"default":{"default":"mayúscula F con punto arriba"}},"category":"Lu"},{"key":"1E20","mappings":{"default":{"default":"mayúscula G con macrón"}},"category":"Lu"},{"key":"1E22","mappings":{"default":{"default":"mayúscula H con punto arriba"}},"category":"Lu"},{"key":"1E24","mappings":{"default":{"default":"mayúscula H con punto debajo"}},"category":"Lu"},{"key":"1E26","mappings":{"default":{"default":"mayúscula H con diéresis"}},"category":"Lu"},{"key":"1E28","mappings":{"default":{"default":"mayúscula H con cedilla"}},"category":"Lu"},{"key":"1E2A","mappings":{"default":{"default":"mayúscula H con breve debajo"}},"category":"Lu"},{"key":"1E2C","mappings":{"default":{"default":"mayúscula I con tilde debajo"}},"category":"Lu"},{"key":"1E30","mappings":{"default":{"default":"mayúscula K con agudo"}},"category":"Lu"},{"key":"1E32","mappings":{"default":{"default":"mayúscula K con punto debajo"}},"category":"Lu"},{"key":"1E34","mappings":{"default":{"default":"mayúscula K con lÃnea debajo"}},"category":"Lu"},{"key":"1E36","mappings":{"default":{"default":"mayúscula L con punto debajo"}},"category":"Lu"},{"key":"1E3A","mappings":{"default":{"default":"mayúscula L con lÃnea debajo"}},"category":"Lu"},{"key":"1E3C","mappings":{"default":{"default":"mayúscula L con acento circunflejo debajo"}},"category":"Lu"},{"key":"1E3E","mappings":{"default":{"default":"mayúscula M con agudo"}},"category":"Lu"},{"key":"1E40","mappings":{"default":{"default":"mayúscula M con punto arriba"}},"category":"Lu"},{"key":"1E42","mappings":{"default":{"default":"mayúscula M con punto debajo"}},"category":"Lu"},{"key":"1E44","mappings":{"default":{"default":"mayúscula N con punto arriba"}},"category":"Lu"},{"key":"1E46","mappings":{"default":{"default":"mayúscula N con punto debajo"}},"category":"Lu"},{"key":"1E48","mappings":{"default":{"default":"mayúscula N con lÃnea debajo"}},"category":"Lu"},{"key":"1E4A","mappings":{"default":{"default":"mayúscula N con acento circunflejo debajo"}},"category":"Lu"},{"key":"1E54","mappings":{"default":{"default":"mayúscula P con agudo"}},"category":"Lu"},{"key":"1E56","mappings":{"default":{"default":"mayúscula P con punto arriba"}},"category":"Lu"},{"key":"1E58","mappings":{"default":{"default":"mayúscula R con punto arriba"}},"category":"Lu"},{"key":"1E5A","mappings":{"default":{"default":"mayúscula R con punto debajo"}},"category":"Lu"},{"key":"1E5E","mappings":{"default":{"default":"mayúscula R con lÃnea debajo"}},"category":"Lu"},{"key":"1E60","mappings":{"default":{"default":"mayúscula S con punto arriba"}},"category":"Lu"},{"key":"1E62","mappings":{"default":{"default":"mayúscula S con punto debajo"}},"category":"Lu"},{"key":"1E6A","mappings":{"default":{"default":"mayúscula T con punto arriba"}},"category":"Lu"},{"key":"1E6C","mappings":{"default":{"default":"mayúscula T con punto debajo"}},"category":"Lu"},{"key":"1E6E","mappings":{"default":{"default":"mayúscula T con lÃnea debajo"}},"category":"Lu"},{"key":"1E70","mappings":{"default":{"default":"mayúscula T con acento circunflejo debajo"}},"category":"Lu"},{"key":"1E72","mappings":{"default":{"default":"mayúscula U con diéresis debajo"}},"category":"Lu"},{"key":"1E74","mappings":{"default":{"default":"mayúscula U con tilde debajo"}},"category":"Lu"},{"key":"1E76","mappings":{"default":{"default":"mayúscula U con acento circunflejo debajo"}},"category":"Lu"},{"key":"1E7C","mappings":{"default":{"default":"mayúscula V con tilde"}},"category":"Lu"},{"key":"1E7E","mappings":{"default":{"default":"mayúscula V con punto debajo"}},"category":"Lu"},{"key":"1E80","mappings":{"default":{"default":"mayúscula W con grave"}},"category":"Lu"},{"key":"1E82","mappings":{"default":{"default":"mayúscula W con agudo"}},"category":"Lu"},{"key":"1E84","mappings":{"default":{"default":"mayúscula W con diéresis"}},"category":"Lu"},{"key":"1E86","mappings":{"default":{"default":"mayúscula W con punto arriba"}},"category":"Lu"},{"key":"1E88","mappings":{"default":{"default":"mayúscula W con punto debajo"}},"category":"Lu"},{"key":"1E8A","mappings":{"default":{"default":"mayúscula X con punto arriba"}},"category":"Lu"},{"key":"1E8C","mappings":{"default":{"default":"mayúscula X con diéresis"}},"category":"Lu"},{"key":"1E8E","mappings":{"default":{"default":"mayúscula Y con punto arriba"}},"category":"Lu"},{"key":"1E90","mappings":{"default":{"default":"mayúscula Z con acento circunflejo"}},"category":"Lu"},{"key":"1E92","mappings":{"default":{"default":"mayúscula Z con punto debajo"}},"category":"Lu"},{"key":"1E94","mappings":{"default":{"default":"mayúscula Z with line below"}},"category":"Lu"},{"key":"1EA0","mappings":{"default":{"default":"mayúscula A con punto debajo"}},"category":"Lu"},{"key":"1EA2","mappings":{"default":{"default":"mayúscula A con gancho arriba"}},"category":"Lu"},{"key":"1EB8","mappings":{"default":{"default":"mayúscula E con punto debajo"}},"category":"Lu"},{"key":"1EBA","mappings":{"default":{"default":"mayúscula E con gancho arriba"}},"category":"Lu"},{"key":"1EBC","mappings":{"default":{"default":"mayúscula E con tilde"}},"category":"Lu"},{"key":"1EC8","mappings":{"default":{"default":"mayúscula I con gancho arriba"}},"category":"Lu"},{"key":"1ECA","mappings":{"default":{"default":"mayúscula I con punto debajo"}},"category":"Lu"},{"key":"1ECC","mappings":{"default":{"default":"mayúscula O con punto debajo"}},"category":"Lu"},{"key":"1ECE","mappings":{"default":{"default":"mayúscula O con gancho arriba"}},"category":"Lu"},{"key":"1EE4","mappings":{"default":{"default":"mayúscula U con punto debajo"}},"category":"Lu"},{"key":"1EE6","mappings":{"default":{"default":"mayúscula U con gancho arriba"}},"category":"Lu"},{"key":"1EF2","mappings":{"default":{"default":"mayúscula Y con grave"}},"category":"Lu"},{"key":"1EF4","mappings":{"default":{"default":"mayúscula Y con punto debajo"}},"category":"Lu"},{"key":"1EF6","mappings":{"default":{"default":"mayúscula Y con gancho arriba"}},"category":"Lu"},{"key":"1EF8","mappings":{"default":{"default":"mayúscula Y con tilde"}},"category":"Lu"}] +, +"es/math_angles.js": +[{"locale":"es"},{"key":"22BE","mappings":{"default":{"default":"ángulo recto con arco"}},"category":"Sm"},{"key":"237C","mappings":{"default":{"default":"ángulo recto con flecha zigzag hacia abajo"}},"category":"Sm"},{"key":"27C0","mappings":{"default":{"default":"ángulo sólido"}},"category":"Sm"},{"key":"299D","mappings":{"default":{"default":"ángulo recto medido con punto"}},"category":"Sm"},{"key":"29A4","mappings":{"default":{"default":"ángulo con barra inferior"}},"category":"Sm"},{"key":"29A5","mappings":{"default":{"default":"ángulo inverso con barra inferior"}},"category":"Sm"},{"key":"29A6","mappings":{"default":{"default":"ángulo oblicuo hacia arriba"}},"category":"Sm"},{"key":"29A7","mappings":{"default":{"default":"ángulo oblicuo hacia abajo"}},"category":"Sm"},{"key":"29A8","mappings":{"default":{"default":"measured angle with open arm ending in arrow pointing up and to the right"}},"category":"Sm"},{"key":"29A9","mappings":{"default":{"default":"measured angle with open arm ending in arrow pointing up and to the left"}},"category":"Sm"},{"key":"29AA","mappings":{"default":{"default":"measured angle with open arm ending in arrow pointing down and to the right"}},"category":"Sm"},{"key":"29AB","mappings":{"default":{"default":"measured angle with open arm ending in arrow pointing down and to the left"}},"category":"Sm"},{"key":"29AC","mappings":{"default":{"default":"measured angle with open arm ending in arrow pointing right and up"}},"category":"Sm"},{"key":"29AD","mappings":{"default":{"default":"measured angle with open arm ending in arrow pointing left and up"}},"category":"Sm"},{"key":"29AE","mappings":{"default":{"default":"measured angle with open arm ending in arrow pointing right and down"}},"category":"Sm"},{"key":"29AF","mappings":{"default":{"default":"measured angle with open arm ending in arrow pointing left and down"}},"category":"Sm"}] +, +"es/math_arrows.js": +[{"locale":"es"},{"key":"2190","mappings":{"default":{"default":"flecha izquierda"}},"category":"Sm"},{"key":"2191","mappings":{"default":{"default":"flecha arriba"}},"category":"Sm"},{"key":"2192","mappings":{"default":{"default":"flecha derecha","defaultMP":"flecha"}},"category":"Sm"},{"key":"2193","mappings":{"default":{"default":"flecha abajo"}},"category":"Sm"},{"key":"2194","mappings":{"default":{"default":"flecha izquierda y derecha"}},"category":"Sm"},{"key":"2195","mappings":{"default":{"default":"flecha arriba y abajo"}},"category":"So"},{"key":"2196","mappings":{"default":{"default":"flecha a noroeste"}},"category":"So"},{"key":"2197","mappings":{"default":{"default":"flecha a nordeste"}},"category":"So"},{"key":"2198","mappings":{"default":{"default":"flecha a sureste"}},"category":"So"},{"key":"2199","mappings":{"default":{"default":"flecha a suroeste"}},"category":"So"},{"key":"219A","mappings":{"default":{"default":"flecha izquierda tachada"}},"category":"Sm"},{"key":"219B","mappings":{"default":{"default":"flecha tachada"}},"category":"Sm"},{"key":"219C","mappings":{"default":{"default":"flecha ondulada izquierda"}},"category":"So"},{"key":"219D","mappings":{"default":{"default":"flecha ondulada"}},"category":"So"},{"key":"219E","mappings":{"default":{"default":"flecha izquierda con doble punta"}},"category":"So"},{"key":"219F","mappings":{"default":{"default":"flecha con doble punta hacia arriba"}},"category":"So"},{"key":"21A0","mappings":{"default":{"default":"flecha derechaa con doble punta"}},"category":"Sm"},{"key":"21A1","mappings":{"default":{"default":"flecha con doble punta hacia abajo"}},"category":"So"},{"key":"21A2","mappings":{"default":{"default":"flecha izquierda con cola"}},"category":"So"},{"key":"21A3","mappings":{"default":{"default":"flecha derecha con cola"}},"category":"Sm"},{"key":"21A4","mappings":{"default":{"default":"flecha izquierda de barra"}},"category":"So"},{"key":"21A5","mappings":{"default":{"default":"barra con flecha"}},"category":"So"},{"key":"21A6","mappings":{"default":{"default":"flecha derecha de barra"}},"category":"Sm"},{"key":"21A7","mappings":{"default":{"default":"flecha con barra"}},"category":"So"},{"key":"21A8","mappings":{"default":{"default":"flecha arriba y abajo con base"}},"category":"So"},{"key":"21A9","mappings":{"default":{"default":"flecha izquierda con gancho"}},"category":"So"},{"key":"21AA","mappings":{"default":{"default":"flecha con gancho"}},"category":"So"},{"key":"21AB","mappings":{"default":{"default":"flecha izquierda con lazo"}},"category":"So"},{"key":"21AC","mappings":{"default":{"default":"flecha con lazo"}},"category":"So"},{"key":"21AD","mappings":{"default":{"default":"flecha ondulada izquierda y derecha"}},"category":"So"},{"key":"21AE","mappings":{"default":{"default":"flecha izquierda y derecha tachada"}},"category":"Sm"},{"key":"21AF","mappings":{"default":{"default":"flecha zigzag abajo"}},"category":"So"},{"key":"21B0","mappings":{"default":{"default":"flecha arriba con punta izquierda"}},"category":"So"},{"key":"21B1","mappings":{"default":{"default":"flecha arriba con punta derecha"}},"category":"So"},{"key":"21B2","mappings":{"default":{"default":"flecha abajo con punta izquierda"}},"category":"So"},{"key":"21B3","mappings":{"default":{"default":"flecha abajo con punta derecha"}},"category":"So"},{"key":"21B4","mappings":{"default":{"default":"flecha derecha desde esquina inferior"}},"category":"So"},{"key":"21B5","mappings":{"default":{"default":"flecha hacia abajo desde esquina izquierda"}},"category":"So"},{"key":"21B6","mappings":{"default":{"default":"flecha semicircular superior en sentido antihorario"}},"category":"So"},{"key":"21B7","mappings":{"default":{"default":"flecha semicircular superior en sentido horario"}},"category":"So"},{"key":"21B8","mappings":{"default":{"default":"flecha noroeste a barra larga"}},"category":"So"},{"key":"21B9","mappings":{"default":{"default":"flecha izquierda a barra arriba de flecha derecha a barra"}},"category":"So"},{"key":"21BA","mappings":{"default":{"default":"flecha circular abierta en sentido antihorario"}},"category":"So"},{"key":"21BB","mappings":{"default":{"default":"flecha circular abierta en sentido horario"}},"category":"So"},{"key":"21C4","mappings":{"default":{"default":"flecha derecha arriba de flecha izquierda"}},"category":"So"},{"key":"21C5","mappings":{"default":{"default":"flecha arriba a la izquierda de flecha abajo"}},"category":"So"},{"key":"21C6","mappings":{"default":{"default":"flecha izquierda arriba de flecha derecha"}},"category":"So"},{"key":"21C7","mappings":{"default":{"default":"dos flechas hacia la izquierda"}},"category":"So"},{"key":"21C8","mappings":{"default":{"default":"dos flechas hacia arriba"}},"category":"So"},{"key":"21C9","mappings":{"default":{"default":"dos flechas"}},"category":"So"},{"key":"21CA","mappings":{"default":{"default":"dos flechas hacia abajo"}},"category":"So"},{"key":"21CD","mappings":{"default":{"default":"flecha doble izquierda tachada"}},"category":"So"},{"key":"21CE","mappings":{"default":{"default":"flecha doble izquierda y derecha tachada"}},"category":"Sm"},{"key":"21CF","mappings":{"default":{"default":"flecha doble tachada"}},"category":"Sm"},{"key":"21D0","mappings":{"default":{"default":"flecha doble hacia la izquierda"}},"category":"So"},{"key":"21D1","mappings":{"default":{"default":"flecha doble hacia arriba"}},"category":"So"},{"key":"21D2","mappings":{"default":{"default":"flecha doble"}},"category":"Sm"},{"key":"21D3","mappings":{"default":{"default":"flecha doble hacia abajo"}},"category":"So"},{"key":"21D4","mappings":{"default":{"default":"flecha doble izquierda-derecha"}},"category":"Sm"},{"key":"21D5","mappings":{"default":{"default":"flecha doble vertical"}},"category":"So"},{"key":"21D6","mappings":{"default":{"default":"flecha doble hacia noroeste"}},"category":"So"},{"key":"21D7","mappings":{"default":{"default":"flecha doble hacia nordeste"}},"category":"So"},{"key":"21D8","mappings":{"default":{"default":"flecha doble hacia sudeste"}},"category":"So"},{"key":"21D9","mappings":{"default":{"default":"flecha doble hacia sudoeste"}},"category":"So"},{"key":"21DA","mappings":{"default":{"default":"flecha triple izquierda"}},"category":"So"},{"key":"21DB","mappings":{"default":{"default":"flecha triple"}},"category":"So"},{"key":"21DC","mappings":{"default":{"default":"flecha ondulada izquierda"}},"category":"So"},{"key":"21DD","mappings":{"default":{"default":"flecha ondulada"}},"category":"So"},{"key":"21DE","mappings":{"default":{"default":"flecha hacia arriba con doble tachado"}},"category":"So"},{"key":"21DF","mappings":{"default":{"default":"flecha hacia abajo con doble tachado"}},"category":"So"},{"key":"21E0","mappings":{"default":{"default":"flecha de puntos hacia la izquierda"}},"category":"So"},{"key":"21E1","mappings":{"default":{"default":"flecha de puntos hacia arriba"}},"category":"So"},{"key":"21E2","mappings":{"default":{"default":"flecha de puntos"}},"category":"So"},{"key":"21E3","mappings":{"default":{"default":"flecha de puntos hacia abajo"}},"category":"So"},{"key":"21E4","mappings":{"default":{"default":"flecha izquierda a barra"}},"category":"So"},{"key":"21E5","mappings":{"default":{"default":"flecha derecha a barra"}},"category":"So"},{"key":"21E6","mappings":{"default":{"default":"flecha vacÃa hacia la izquierda"}},"category":"So"},{"key":"21E7","mappings":{"default":{"default":"flecha vacÃa hacia arriba"}},"category":"So"},{"key":"21E8","mappings":{"default":{"default":"flecha vacÃa"}},"category":"So"},{"key":"21E9","mappings":{"default":{"default":"flecha vacÃa hacia abajo"}},"category":"So"},{"key":"21EA","mappings":{"default":{"default":"flecha vacÃa hacia arriba desde barra"}},"category":"So"},{"key":"21F5","mappings":{"default":{"default":"upwards arrow to the right of downwards arrow"}},"category":"Sm"},{"key":"21FD","mappings":{"default":{"default":"flecha izquierda con punta vacÃa"}},"category":"Sm"},{"key":"21FE","mappings":{"default":{"default":"flecha izquierda con punta vacÃa"}},"category":"Sm"},{"key":"21FF","mappings":{"default":{"default":"flecha izquierda derecha con punta vacÃa"}},"category":"Sm"},{"key":"27F0","mappings":{"default":{"default":"flecha cuádruple hacia arriba"}},"category":"Sm"},{"key":"27F1","mappings":{"default":{"default":"flecha cuádruple hacia abajo"}},"category":"Sm"},{"key":"27F2","mappings":{"default":{"default":"flecha hacia la izquierda desde cÃrculo"}},"category":"Sm"},{"key":"27F3","mappings":{"default":{"default":"flecha hacia la derecha desde cÃrculo"}},"category":"Sm"},{"key":"27F4","mappings":{"default":{"default":"flecha con más en cÃrculo"}},"category":"Sm"},{"key":"27F5","mappings":{"default":{"default":"flecha larga hacia la izquierda"}},"category":"Sm"},{"key":"27F6","mappings":{"default":{"default":"flecha larga"}},"category":"Sm"},{"key":"27F7","mappings":{"default":{"default":"flecha larga hacia izquierda y derecha"}},"category":"Sm"},{"key":"27F8","mappings":{"default":{"default":"doble flecha larga hacia la izquierda"}},"category":"Sm"},{"key":"27F9","mappings":{"default":{"default":"doble flecha larga"}},"category":"Sm"},{"key":"27FA","mappings":{"default":{"default":"doble flecha larga hacia izquierda y derecha"}},"category":"Sm"},{"key":"27FB","mappings":{"default":{"default":"flecha larga hacia la izquierda, desde barra"}},"category":"Sm"},{"key":"27FC","mappings":{"default":{"default":"flecha larga desde barra"}},"category":"Sm"},{"key":"27FD","mappings":{"default":{"default":"doble flecha larga hacia la izquierda desde barra"}},"category":"Sm"},{"key":"27FE","mappings":{"default":{"default":"doble flecha larga desde barra"}},"category":"Sm"},{"key":"27FF","mappings":{"default":{"default":"flecha larga en zigzag"}},"category":"Sm"},{"key":"2905","mappings":{"default":{"default":"rightwards two headed arrow from bar"}},"category":"Sm"},{"key":"290C","mappings":{"default":{"default":"leftwards double dash arrow"}},"category":"Sm"},{"key":"290D","mappings":{"default":{"default":"rightwards double dash arrow"}},"category":"Sm"},{"key":"290E","mappings":{"default":{"default":"leftwards triple dash arrow"}},"category":"Sm"},{"key":"290F","mappings":{"default":{"default":"rightwards triple dash arrow"}},"category":"Sm"},{"key":"2910","mappings":{"default":{"default":"rightwards two headed triple dash arrow"}},"category":"Sm"},{"key":"2911","mappings":{"default":{"default":"rightwards arrow with dotted stem"}},"category":"Sm"},{"key":"2912","mappings":{"default":{"default":"upwards arrow to bar"}},"category":"Sm"},{"key":"2913","mappings":{"default":{"default":"downwards arrow to bar"}},"category":"Sm"},{"key":"2916","mappings":{"default":{"default":"rightwards two headed arrow with tail"}},"category":"Sm"},{"key":"2919","mappings":{"default":{"default":"cola de flecha hacia la izquierda"}},"category":"Sm"},{"key":"291B","mappings":{"default":{"default":"cola de doble flecha hacia la izquierda"}},"category":"Sm"},{"key":"291C","mappings":{"default":{"default":"cola de doble flecha hacia la derecha"}},"category":"Sm"},{"key":"291D","mappings":{"default":{"default":"flecha hacia diamante relleno a la izquierda"}},"category":"Sm"},{"key":"291E","mappings":{"default":{"default":"flecha hacia diamante a la derecha"}},"category":"Sm"},{"key":"291F","mappings":{"default":{"default":"flecha desde barra hacia diamante a la izquierda"}},"category":"Sm"},{"key":"2920","mappings":{"default":{"default":"flecha desde barra hacia diamante a la derecha"}},"category":"Sm"},{"key":"2923","mappings":{"default":{"default":"flecha a noroeste con garfio"}},"category":"Sm"},{"key":"2924","mappings":{"default":{"default":"flecha a nordeste con garfio"}},"category":"Sm"},{"key":"2925","mappings":{"default":{"default":"flecha a sureste con garfio"}},"category":"Sm"},{"key":"2926","mappings":{"default":{"default":"flecha a suroeste con garfio"}},"category":"Sm"},{"key":"2927","mappings":{"default":{"default":"flechas a noroeste y nordeste"}},"category":"Sm"},{"key":"2928","mappings":{"default":{"default":"flechas a nordeste y sudeste"}},"category":"Sm"},{"key":"2929","mappings":{"default":{"default":"flechas a suddeste y sudoeste"}},"category":"Sm"},{"key":"292A","mappings":{"default":{"default":"flechas a sudoeste y noroeste"}},"category":"Sm"},{"key":"2933","mappings":{"default":{"default":"flecha ondulada"}},"category":"Sm"},{"key":"2935","mappings":{"default":{"default":"flecha hacia la derecha que gira hacia abajo"}},"category":"Sm"},{"key":"2936","mappings":{"default":{"default":"flecha hacia abajo que gira hacia la izquierda"}},"category":"Sm"},{"key":"2937","mappings":{"default":{"default":"flecha hacia abajo que gira hacia la derecha"}},"category":"Sm"},{"key":"2938","mappings":{"default":{"default":"flecha semicircular a la derecha en sentido horario"}},"category":"Sm"},{"key":"2939","mappings":{"default":{"default":"flecha semicircular a la izquierda en sentido antihorario"}},"category":"Sm"},{"key":"293C","mappings":{"default":{"default":"giro negativo"}},"category":"Sm"},{"key":"293D","mappings":{"default":{"default":"giro positivo"}},"category":"Sm"},{"key":"2945","mappings":{"default":{"default":"flecha con más suscrito"}},"category":"Sm"},{"key":"2948","mappings":{"default":{"default":"flecha hacia la izquierda a través de cÃrculo"}},"category":"Sm"},{"key":"2949","mappings":{"default":{"default":"dos cabezas de flecha hacia arriba desde cÃrculo"}},"category":"Sm"},{"key":"2970","mappings":{"default":{"default":"round implies"}},"category":"Sm"},{"key":"2971","mappings":{"default":{"default":"flecha con igual"}},"category":"Sm"},{"key":"2972","mappings":{"default":{"default":"flecha con tilde"}},"category":"Sm"},{"key":"2973","mappings":{"default":{"default":"tilde con flecha hacia la izquierda"}},"category":"Sm"},{"key":"2974","mappings":{"default":{"default":"tilde con flecha"}},"category":"Sm"},{"key":"2975","mappings":{"default":{"default":"flecha con casi igual a"}},"category":"Sm"},{"key":"2976","mappings":{"default":{"default":"flecha hacia la izquierda con menor que"}},"category":"Sm"},{"key":"2978","mappings":{"default":{"default":"flecha con mayor que"}},"category":"Sm"},{"key":"2979","mappings":{"default":{"default":"flecha hacia la izquierda con incluido"}},"category":"Sm"},{"key":"297B","mappings":{"default":{"default":"flecha hacia la izquierda con contiene"}},"category":"Sm"},{"key":"29B3","mappings":{"default":{"default":"conjunto vacÃo con flecha"}},"category":"Sm"},{"key":"29B4","mappings":{"default":{"default":"conjunto vacÃo con flecha inversa"}},"category":"Sm"},{"key":"2A17","mappings":{"default":{"default":"integral con flecha hacia la izquierda con garfio"}},"category":"Sm"}] +, +"es/math_characters.js": +[{"locale":"es"},{"key":"2113","mappings":{"default":{"default":"script l"}},"category":"Ll"},{"key":"2118","mappings":{"default":{"default":"p de weierstrass"}},"category":"Sm"},{"key":"2145","mappings":{"default":{"default":"mayúscula D"}},"category":"Lu"},{"key":"2146","mappings":{"default":{"default":"d"}},"category":"Ll"},{"key":"2147","mappings":{"default":{"default":"e"}},"category":"Ll"},{"key":"2148","mappings":{"default":{"default":"i"}},"category":"Ll"},{"category":"Ll","mappings":{"default":{"default":"cursiva dotless i"}},"key":"1D6A4"},{"category":"Ll","mappings":{"default":{"default":"cursiva dotless j"}},"key":"1D6A5"}] +, +"es/math_delimiters.js": +[{"locale":"es"},{"key":"0028","mappings":{"default":{"default":"paréntesis izquierdo","defaultMP":"paréntesis"}},"category":"Ps"},{"key":"0029","mappings":{"default":{"default":"paréntesis derecho","defaultMP":"cierra paréntesis"}},"category":"Pe"},{"key":"005B","mappings":{"default":{"default":"corchete izquierdo","defaultMP":"abre corchetes"}},"category":"Ps"},{"key":"005D","mappings":{"default":{"default":"corchete derecho","defaultMP":"cierra corchetes"}},"category":"Pe"},{"key":"007B","mappings":{"default":{"default":"llave izquierda","defaultMP":"abre llaves"}},"category":"Ps"},{"key":"007D","mappings":{"default":{"default":"llaves derecha","defaultMP":"cierra llaves"}},"category":"Pe"},{"key":"2308","mappings":{"default":{"default":"esquina superior izquierda"}},"category":"Sm"},{"key":"2309","mappings":{"default":{"default":"esquina superior derecha"}},"category":"Sm"},{"key":"230A","mappings":{"default":{"default":"esquina inferior izquierda"}},"category":"Sm"},{"key":"230B","mappings":{"default":{"default":"esquina inferior derecha"}},"category":"Sm"},{"key":"230C","mappings":{"default":{"default":"corte inferior derecho"}},"category":"So"},{"key":"230D","mappings":{"default":{"default":"corte inferior izquierdo"}},"category":"So"},{"key":"230E","mappings":{"default":{"default":"corte superior derecho "}},"category":"So"},{"key":"230F","mappings":{"default":{"default":"corte superior izquierdo"}},"category":"So"},{"key":"231C","mappings":{"default":{"default":"ángulo superior izquierdo"}},"category":"So"},{"key":"231D","mappings":{"default":{"default":"ángulo superior derecho"}},"category":"So"},{"key":"231E","mappings":{"default":{"default":"ángulo inferior izquierdo"}},"category":"So"},{"key":"231F","mappings":{"default":{"default":"ángulo inferior derecho"}},"category":"So"},{"key":"2320","mappings":{"default":{"default":"mitad superior de integral"}},"category":"Sm"},{"key":"2321","mappings":{"default":{"default":"mitad inferior de integral"}},"category":"Sm"},{"key":"2329","mappings":{"default":{"default":"paréntesis angular izquierdo"}},"category":"Ps"},{"key":"232A","mappings":{"default":{"default":"paréntesis angular derecho"}},"category":"Pe"},{"key":"23B0","mappings":{"default":{"default":"izquierda arriba o derecho debajo sección llave"}},"category":"Sm"},{"key":"23B1","mappings":{"default":{"default":"derecha arriba o izquierdo debajo sección llave"}},"category":"Sm"},{"key":"23B4","mappings":{"default":{"default":"corchete superior"}},"category":"So"},{"key":"23B5","mappings":{"default":{"default":"corchete inferior"}},"category":"So"},{"key":"23DC","mappings":{"default":{"default":"paréntesis superior"}},"category":"Sm"},{"key":"23DD","mappings":{"default":{"default":"paréntesis inferior"}},"category":"Sm"},{"key":"23DE","mappings":{"default":{"default":"corchete rizado superior"}},"category":"Sm"},{"key":"23DF","mappings":{"default":{"default":"corchete rizado inferior"}},"category":"Sm"},{"key":"23E0","mappings":{"default":{"default":"corchete superior en tortuga"}},"category":"Sm"},{"key":"23E1","mappings":{"default":{"default":"corchete inferior en tortuga"}},"category":"Sm"},{"key":"27C5","mappings":{"default":{"default":"sÃmbolo delimitador izquierdo de bolsa de s-formó"}},"category":"Ps"},{"key":"27C6","mappings":{"default":{"default":"sÃmbolo delimitador derecho de bolsa de s-formó"}},"category":"Pe"},{"key":"27E6","mappings":{"default":{"default":"corchete vacÃo izquierdo"}},"category":"Ps"},{"key":"27E7","mappings":{"default":{"default":"corchete vacÃo derecho"}},"category":"Pe"},{"key":"27E8","mappings":{"default":{"default":"corchete agudo izquierdo"}},"category":"Ps"},{"key":"27E9","mappings":{"default":{"default":"corchete agudo derecho"}},"category":"Pe"},{"key":"27EA","mappings":{"default":{"default":"doble corchete agudo izquierdo"}},"category":"Ps"},{"key":"27EB","mappings":{"default":{"default":"doble corchete agudo derecho"}},"category":"Pe"},{"key":"27EC","mappings":{"default":{"default":"corchete de tortuga vacÃo izquierdo"}},"category":"Ps"},{"key":"27ED","mappings":{"default":{"default":"corchete de tortuga vacÃo derecho "}},"category":"Pe"},{"key":"27EE","mappings":{"default":{"default":"paréntesis plano izquierdo"}},"category":"Ps"},{"key":"27EF","mappings":{"default":{"default":"paréntesis plano derecho"}},"category":"Pe"},{"key":"2985","mappings":{"default":{"default":"left white paren"}},"category":"Ps"},{"key":"2986","mappings":{"default":{"default":"right white paren"}},"category":"Pe"},{"key":"2989","mappings":{"default":{"default":"z notation left binding bracket"}},"category":"Ps"},{"key":"298A","mappings":{"default":{"default":"z notation right binding bracket"}},"category":"Pe"},{"key":"298B","mappings":{"default":{"default":"left bracket with underbar"}},"category":"Ps"},{"key":"298C","mappings":{"default":{"default":"right bracket with underbar"}},"category":"Pe"},{"key":"298D","mappings":{"default":{"default":"left bracket with tick in top corner"}},"category":"Ps"},{"key":"298E","mappings":{"default":{"default":"right bracket with tick in bottom corner"}},"category":"Pe"},{"key":"298F","mappings":{"default":{"default":"left bracket with tick in bottom corner"}},"category":"Ps"},{"key":"2990","mappings":{"default":{"default":"right bracket with tick in top corner"}},"category":"Pe"},{"key":"2991","mappings":{"default":{"default":"left angle bracket with dot"}},"category":"Ps"},{"key":"2992","mappings":{"default":{"default":"right angle bracket with dot"}},"category":"Pe"},{"key":"2993","mappings":{"default":{"default":"left arc less than bracket"}},"category":"Ps"},{"key":"2994","mappings":{"default":{"default":"right arc greater than bracket"}},"category":"Pe"},{"key":"2995","mappings":{"default":{"default":"double left arc greater than bracket"}},"category":"Ps"},{"key":"2996","mappings":{"default":{"default":"double right arc less than bracket"}},"category":"Pe"},{"key":"29DA","mappings":{"default":{"default":"left double wiggly fence"}},"category":"Ps"},{"key":"29DB","mappings":{"default":{"default":"right double wiggly fence"}},"category":"Pe"},{"key":"300A","mappings":{"default":{"default":"paréntesis angular doble"}},"category":"Ps"},{"key":"300B","mappings":{"default":{"default":"paréntesis angular doble derecho","defaultMP":"cierra paréntesis angular doble"}},"category":"Pe"},{"key":"3014","mappings":{"default":{"default":"left tortoise shell bracket"}},"category":"Ps"},{"key":"3015","mappings":{"default":{"default":"right tortoise shell bracket"}},"category":"Pe"},{"key":"301A","mappings":{"default":{"default":"corchete vacÃo"}},"category":"Ps"},{"key":"301B","mappings":{"default":{"default":"corchete vacÃo derecho","defaultMP":"cierra corchete vacÃo"}},"category":"Pe"},{"key":"301E","mappings":{"default":{"default":"segunda"}},"category":"Pe"},{"key":"FE35","mappings":{"default":{"default":"paréntesis superior"}},"category":"Ps"},{"key":"FE36","mappings":{"default":{"default":"paréntesis inferior"}},"category":"Pe"},{"key":"FE37","mappings":{"default":{"default":"llave superior"}},"category":"Ps"},{"key":"FE38","mappings":{"default":{"default":"llave inferior"}},"category":"Pe"},{"key":"FE3F","mappings":{"default":{"default":"paréntesis angular superior"}},"category":"Ps"},{"key":"FE40","mappings":{"default":{"default":"paréntesis angular inferior"}},"category":"Pe"}] +, +"es/math_digits.js": +[{"locale":"es"},{"key":"00B2","mappings":{"default":{"default":"super 2"}},"category":"No"},{"key":"00B3","mappings":{"default":{"default":"super 3"}},"category":"No"},{"key":"00B9","mappings":{"default":{"default":"super 1"}},"category":"No"},{"key":"00BC","mappings":{"default":{"default":"un cuarto"}},"category":"No"},{"key":"00BD","mappings":{"default":{"default":"un medio"}},"category":"No"},{"key":"00BE","mappings":{"default":{"default":"tres cuartos"}},"category":"No"},{"key":"2153","mappings":{"default":{"default":"un tercio"}},"category":"No"},{"key":"2154","mappings":{"default":{"default":"dos tercios"}},"category":"No"},{"key":"2155","mappings":{"default":{"default":"un quinto"}},"category":"No"},{"key":"2156","mappings":{"default":{"default":"dos quintos"}},"category":"No"},{"key":"2157","mappings":{"default":{"default":"tres quintos"}},"category":"No"},{"key":"2158","mappings":{"default":{"default":"cuatro quintos"}},"category":"No"},{"key":"2159","mappings":{"default":{"default":"un sexto"}},"category":"No"},{"key":"215A","mappings":{"default":{"default":"cinco sextos"}},"category":"No"},{"key":"215B","mappings":{"default":{"default":"un octavo"}},"category":"No"},{"key":"215C","mappings":{"default":{"default":"tres octavos"}},"category":"No"},{"key":"215D","mappings":{"default":{"default":"cinco octavos"}},"category":"No"},{"key":"215E","mappings":{"default":{"default":"siete octavos"}},"category":"No"},{"category":"Nd","mappings":{"default":{"default":"negrita 0"}},"key":"1D7CE"},{"category":"Nd","mappings":{"default":{"default":"negrita 1"}},"key":"1D7CF"},{"category":"Nd","mappings":{"default":{"default":"negrita 2"}},"key":"1D7D0"},{"category":"Nd","mappings":{"default":{"default":"negrita 3"}},"key":"1D7D1"},{"category":"Nd","mappings":{"default":{"default":"negrita 4"}},"key":"1D7D2"},{"category":"Nd","mappings":{"default":{"default":"negrita 5"}},"key":"1D7D3"},{"category":"Nd","mappings":{"default":{"default":"negrita 6"}},"key":"1D7D4"},{"category":"Nd","mappings":{"default":{"default":"negrita 7"}},"key":"1D7D5"},{"category":"Nd","mappings":{"default":{"default":"negrita 8"}},"key":"1D7D6"},{"category":"Nd","mappings":{"default":{"default":"negrita 9"}},"key":"1D7D7"},{"category":"Nd","mappings":{"default":{"default":"negrita de pizarra 0"}},"key":"1D7D8"},{"category":"Nd","mappings":{"default":{"default":"negrita de pizarra 1"}},"key":"1D7D9"},{"category":"Nd","mappings":{"default":{"default":"negrita de pizarra 2"}},"key":"1D7DA"},{"category":"Nd","mappings":{"default":{"default":"negrita de pizarra 3"}},"key":"1D7DB"},{"category":"Nd","mappings":{"default":{"default":"negrita de pizarra 4"}},"key":"1D7DC"},{"category":"Nd","mappings":{"default":{"default":"negrita de pizarra 5"}},"key":"1D7DD"},{"category":"Nd","mappings":{"default":{"default":"negrita de pizarra 6"}},"key":"1D7DE"},{"category":"Nd","mappings":{"default":{"default":"negrita de pizarra 7"}},"key":"1D7DF"},{"category":"Nd","mappings":{"default":{"default":"negrita de pizarra 8"}},"key":"1D7E0"},{"category":"Nd","mappings":{"default":{"default":"negrita de pizarra 9"}},"key":"1D7E1"},{"category":"Nd","mappings":{"default":{"default":"sans-serif 0"}},"key":"1D7E2"},{"category":"Nd","mappings":{"default":{"default":"sans-serif 1"}},"key":"1D7E3"},{"category":"Nd","mappings":{"default":{"default":"sans-serif 2"}},"key":"1D7E4"},{"category":"Nd","mappings":{"default":{"default":"sans-serif 3"}},"key":"1D7E5"},{"category":"Nd","mappings":{"default":{"default":"sans-serif 4"}},"key":"1D7E6"},{"category":"Nd","mappings":{"default":{"default":"sans-serif 5"}},"key":"1D7E7"},{"category":"Nd","mappings":{"default":{"default":"sans-serif 6"}},"key":"1D7E8"},{"category":"Nd","mappings":{"default":{"default":"sans-serif 7"}},"key":"1D7E9"},{"category":"Nd","mappings":{"default":{"default":"sans-serif 8"}},"key":"1D7EA"},{"category":"Nd","mappings":{"default":{"default":"sans-serif 9"}},"key":"1D7EB"},{"category":"Nd","mappings":{"default":{"default":"sans-serif negrita 0"}},"key":"1D7EC"},{"category":"Nd","mappings":{"default":{"default":"sans-serif negrita 1"}},"key":"1D7ED"},{"category":"Nd","mappings":{"default":{"default":"sans-serif negrita 2"}},"key":"1D7EE"},{"category":"Nd","mappings":{"default":{"default":"sans-serif negrita 3"}},"key":"1D7EF"},{"category":"Nd","mappings":{"default":{"default":"sans-serif negrita 4"}},"key":"1D7F0"},{"category":"Nd","mappings":{"default":{"default":"sans-serif negrita 5"}},"key":"1D7F1"},{"category":"Nd","mappings":{"default":{"default":"sans-serif negrita 6"}},"key":"1D7F2"},{"category":"Nd","mappings":{"default":{"default":"sans-serif negrita 7"}},"key":"1D7F3"},{"category":"Nd","mappings":{"default":{"default":"sans-serif negrita 8"}},"key":"1D7F4"},{"category":"Nd","mappings":{"default":{"default":"sans-serif negrita 9"}},"key":"1D7F5"},{"category":"Nd","mappings":{"default":{"default":"monoespacio 0"}},"key":"1D7F6"},{"category":"Nd","mappings":{"default":{"default":"monoespacio 1"}},"key":"1D7F7"},{"category":"Nd","mappings":{"default":{"default":"monoespacio 2"}},"key":"1D7F8"},{"category":"Nd","mappings":{"default":{"default":"monoespacio 3"}},"key":"1D7F9"},{"category":"Nd","mappings":{"default":{"default":"monoespacio 4"}},"key":"1D7FA"},{"category":"Nd","mappings":{"default":{"default":"monoespacio 5"}},"key":"1D7FB"},{"category":"Nd","mappings":{"default":{"default":"monoespacio 6"}},"key":"1D7FC"},{"category":"Nd","mappings":{"default":{"default":"monoespacio 7"}},"key":"1D7FD"},{"category":"Nd","mappings":{"default":{"default":"monoespacio 8"}},"key":"1D7FE"},{"category":"Nd","mappings":{"default":{"default":"monoespacio 9"}},"key":"1D7FF"},{"category":"No","mappings":{"default":{"default":"0 punto"}},"key":"1F100"},{"category":"No","mappings":{"default":{"default":"0 coma"}},"key":"1F101"},{"category":"No","mappings":{"default":{"default":"1 coma"}},"key":"1F102"},{"category":"No","mappings":{"default":{"default":"2 coma"}},"key":"1F103"},{"category":"No","mappings":{"default":{"default":"3 coma"}},"key":"1F104"},{"category":"No","mappings":{"default":{"default":"4 coma"}},"key":"1F105"},{"category":"No","mappings":{"default":{"default":"5 coma"}},"key":"1F106"},{"category":"No","mappings":{"default":{"default":"6 coma"}},"key":"1F107"},{"category":"No","mappings":{"default":{"default":"7 coma"}},"key":"1F108"},{"category":"No","mappings":{"default":{"default":"8 coma"}},"key":"1F109"},{"category":"No","mappings":{"default":{"default":"9 coma"}},"key":"1F10A"}] +, +"es/math_geometry.js": +[{"locale":"es"},{"key":"2500","mappings":{"default":{"default":"delimitador horizontal"}},"category":"So"},{"key":"2502","mappings":{"default":{"default":"delimitador vertical"}},"category":"So"},{"key":"250C","mappings":{"default":{"default":"esquina inferior derecha"}},"category":"So"},{"key":"2510","mappings":{"default":{"default":"esquina inferior izquierda"}},"category":"So"},{"key":"2514","mappings":{"default":{"default":"esquina superior derecha"}},"category":"So"},{"key":"2518","mappings":{"default":{"default":"esquina superior izquierda"}},"category":"So"},{"key":"251C","mappings":{"default":{"default":"delimitador izquierdo y separador horizontal"}},"category":"So"},{"key":"2524","mappings":{"default":{"default":"delimitador derecho y separador horizontal"}},"category":"So"},{"key":"252C","mappings":{"default":{"default":"delimitador superior y separador vertical"}},"category":"So"},{"key":"2534","mappings":{"default":{"default":"delimitador inferior y separador vertical"}},"category":"So"},{"key":"253C","mappings":{"default":{"default":"cruce de separadores sencillos"}},"category":"So"},{"key":"2550","mappings":{"default":{"default":"delimitador horizontal doble"}},"category":"So"},{"key":"2551","mappings":{"default":{"default":"delimitador vertical doble"}},"category":"So"},{"key":"2552","mappings":{"default":{"default":"esquina inferior derecha, vertical doble"}},"category":"So"},{"key":"2553","mappings":{"default":{"default":"esquina inferior derecha, horizontal doble"}},"category":"So"},{"key":"2554","mappings":{"default":{"default":"esquina inferior derecha doble"}},"category":"So"},{"key":"2555","mappings":{"default":{"default":"esquina inferior izquierda, vertical doble"}},"category":"So"},{"key":"2556","mappings":{"default":{"default":"esquina inferior izquierda, horizontal doble"}},"category":"So"},{"key":"2557","mappings":{"default":{"default":"esquina inferior izquierda doble"}},"category":"So"},{"key":"2558","mappings":{"default":{"default":"esquina superior derecha, vertical doble"}},"category":"So"},{"key":"2559","mappings":{"default":{"default":"esquina superior derecha, horizontal doble"}},"category":"So"},{"key":"255A","mappings":{"default":{"default":"esquina superior derecha doble"}},"category":"So"},{"key":"255B","mappings":{"default":{"default":"esquina superior izquierda, vertical doble"}},"category":"So"},{"key":"255C","mappings":{"default":{"default":"esquina superior izquierda, horizontal doble"}},"category":"So"},{"key":"255D","mappings":{"default":{"default":"esquina superior izquierda doble"}},"category":"So"},{"key":"255E","mappings":{"default":{"default":"delimitador izquierdo con separador doble"}},"category":"So"},{"key":"255F","mappings":{"default":{"default":"delimitador izquierdo doble con separador horizontal"}},"category":"So"},{"key":"2560","mappings":{"default":{"default":"delimitador izquierdo y separador horizontal dobles"}},"category":"So"},{"key":"2561","mappings":{"default":{"default":"delimitador derecho con separador doble"}},"category":"So"},{"key":"2562","mappings":{"default":{"default":"delimitador derecho doble con separador horizontal"}},"category":"So"},{"key":"2563","mappings":{"default":{"default":"delimitador derecho y separador horizontal dobles"}},"category":"So"},{"key":"2564","mappings":{"default":{"default":"delimitador superior doble con separador vertical"}},"category":"So"},{"key":"2565","mappings":{"default":{"default":"delimitador superior con separador vertical doble"}},"category":"So"},{"key":"2566","mappings":{"default":{"default":"delimitador superior y separador vertical dobles"}},"category":"So"},{"key":"2567","mappings":{"default":{"default":"delimitador inferior doble con separador vertical"}},"category":"So"},{"key":"2568","mappings":{"default":{"default":"delimitador inferior con separador vertical doble"}},"category":"So"},{"key":"2569","mappings":{"default":{"default":"delimitador inferior y separador vertical dobles"}},"category":"So"},{"key":"256A","mappings":{"default":{"default":"cruce de separadores, vertical sencillo y horizontal doble"}},"category":"So"},{"key":"256B","mappings":{"default":{"default":"cruce de separadores, vertical doble y horizontal sencillo"}},"category":"So"},{"key":"256C","mappings":{"default":{"default":"cruce de separadores dobles"}},"category":"So"},{"key":"2580","mappings":{"default":{"default":"bloque mitad superior"}},"category":"So"},{"key":"2584","mappings":{"default":{"default":"bloque mitad inferior"}},"category":"So"},{"key":"2588","mappings":{"default":{"default":"bloque"}},"category":"So"},{"key":"2591","mappings":{"default":{"default":"sombra ligera"}},"category":"So"},{"key":"2592","mappings":{"default":{"default":"sombra media"}},"category":"So"},{"key":"2593","mappings":{"default":{"default":"sombra intensa"}},"category":"So"},{"key":"25A0","mappings":{"default":{"default":"cuadrado relleno"}},"category":"So"},{"key":"25A1","mappings":{"default":{"default":"cuadrado"}},"category":"So"},{"key":"25AA","mappings":{"default":{"default":"cuadrado relleno"}},"category":"So"},{"key":"25AB","mappings":{"default":{"default":"cuadrado"}},"category":"So"},{"key":"25AD","mappings":{"default":{"default":"rectángulo"}},"category":"So"},{"key":"25AE","mappings":{"default":{"default":"rectángulo relleno vertical"}},"category":"So"},{"key":"25AF","mappings":{"default":{"default":"rectángulo vertical"}},"category":"So"},{"key":"25B1","mappings":{"default":{"default":"paralelogramo"}},"category":"So"},{"key":"25B2","mappings":{"default":{"default":"triángulo relleno"}},"category":"So"},{"key":"25B3","mappings":{"default":{"default":"triángulo"}},"category":"So"},{"key":"25B4","mappings":{"default":{"default":"triángulo relleno"}},"category":"So"},{"key":"25B5","mappings":{"default":{"default":"triángulo"}},"category":"So"},{"key":"25B6","mappings":{"default":{"default":"triángulo relleno señala derecha"}},"category":"So"},{"key":"25B7","mappings":{"default":{"default":"triángulo señala derecha"}},"category":"Sm"},{"key":"25B8","mappings":{"default":{"default":"triángulo relleno señala derecha"}},"category":"So"},{"key":"25B9","mappings":{"default":{"default":"triángulo señala derecha"}},"category":"So"},{"key":"25BC","mappings":{"default":{"default":"triángulo relleno señala abajo"}},"category":"So"},{"key":"25BD","mappings":{"default":{"default":"triángulo señala abajo"}},"category":"So"},{"key":"25BE","mappings":{"default":{"default":"triángulo relleno señala abajo"}},"category":"So"},{"key":"25BF","mappings":{"default":{"default":"triángulo señala abajo"}},"category":"So"},{"key":"25C0","mappings":{"default":{"default":"triángulo relleno señala izquierda"}},"category":"So"},{"key":"25C1","mappings":{"default":{"default":"triángulo señala izquierda"}},"category":"Sm"},{"key":"25C2","mappings":{"default":{"default":"triángulo relleno señala izquierda"}},"category":"So"},{"key":"25C3","mappings":{"default":{"default":"triángulo señala izquierda"}},"category":"So"},{"key":"25C4","mappings":{"default":{"default":"puntero relleno señala izquierda"}},"category":"So"},{"key":"25C5","mappings":{"default":{"default":"puntero señala izquierda"}},"category":"So"},{"key":"25C6","mappings":{"default":{"default":"diamante relleno"}},"category":"So"},{"key":"25C7","mappings":{"default":{"default":"diamante"}},"category":"So"},{"key":"25C8","mappings":{"default":{"default":"diamante vacÃo contiene diamante relleno"}},"category":"So"},{"key":"25C9","mappings":{"default":{"default":"ojo de pez"}},"category":"So"},{"key":"25CA","mappings":{"default":{"default":"rombo"}},"category":"So"},{"key":"25CB","mappings":{"default":{"default":"cÃrculo vacÃo"}},"category":"So"},{"key":"25CC","mappings":{"default":{"default":"cÃrculo punteado"}},"category":"So"},{"key":"25CD","mappings":{"default":{"default":"cÃrculo con relleno vertical"}},"category":"So"},{"key":"25CE","mappings":{"default":{"default":"blanco"}},"category":"So"},{"key":"25CF","mappings":{"default":{"default":"cÃrculo relleno"}},"category":"So"},{"key":"25D0","mappings":{"default":{"default":"cÃrculo con mitad izquierda rellena"}},"category":"So"},{"key":"25D1","mappings":{"default":{"default":"cÃrculo con mitad derecha rellena"}},"category":"So"},{"key":"25D2","mappings":{"default":{"default":"cÃrculo con mitad inferior rellena"}},"category":"So"},{"key":"25D3","mappings":{"default":{"default":"cÃrculo con mitad superior rellena"}},"category":"So"},{"key":"25D4","mappings":{"default":{"default":"cÃrculo con cuadrante superior derecho relleno"}},"category":"So"},{"key":"25D5","mappings":{"default":{"default":"cÃrculo con cuadrante superior izquierdo relleno"}},"category":"So"},{"key":"25D6","mappings":{"default":{"default":"semicÃrculo izquierdo relleno"}},"category":"So"},{"key":"25D7","mappings":{"default":{"default":"semicÃrculo derecho relleno"}},"category":"So"},{"key":"25D8","mappings":{"default":{"default":"bullet inversa"}},"category":"So"},{"key":"25D9","mappings":{"default":{"default":"cÃrculo vacÃo inverso"}},"category":"So"},{"key":"25DA","mappings":{"default":{"default":"semicÃrculo superior vacÃo inverso"}},"category":"So"},{"key":"25DB","mappings":{"default":{"default":"semicÃrculo superior vacÃo inverso"}},"category":"So"},{"key":"25DC","mappings":{"default":{"default":"arco superior izquierda"}},"category":"So"},{"key":"25DD","mappings":{"default":{"default":"arco superior derecha"}},"category":"So"},{"key":"25DE","mappings":{"default":{"default":"arco inferior derecha"}},"category":"So"},{"key":"25DF","mappings":{"default":{"default":"arco inferior izquierda"}},"category":"So"},{"key":"25E0","mappings":{"default":{"default":"semicÃrculo superior"}},"category":"So"},{"key":"25E1","mappings":{"default":{"default":"semicÃrculo inferior"}},"category":"So"},{"key":"25E2","mappings":{"default":{"default":"triángulo inferior derecha relleno"}},"category":"So"},{"key":"25E3","mappings":{"default":{"default":"triángulo inferior izquierda relleno"}},"category":"So"},{"key":"25E4","mappings":{"default":{"default":"triángulo superior izquierda relleno"}},"category":"So"},{"key":"25E5","mappings":{"default":{"default":"triángulo superior derecha relleno"}},"category":"So"},{"key":"25E6","mappings":{"default":{"default":"composición"}},"category":"So"},{"key":"25E7","mappings":{"default":{"default":"cuadrado con mitad izquierda rellena"}},"category":"So"},{"key":"25E8","mappings":{"default":{"default":"cuadrado con mitad derecha rellena"}},"category":"So"},{"key":"25E9","mappings":{"default":{"default":"cuadrado con mitad superior izquierda rellena"}},"category":"So"},{"key":"25EA","mappings":{"default":{"default":"cuadrado con mitad inferior derecha rellena"}},"category":"So"},{"key":"25EB","mappings":{"default":{"default":"cuadrado con bisectriz"}},"category":"So"},{"key":"25EC","mappings":{"default":{"default":"triángulo vacÃo con punto"}},"category":"So"},{"key":"25ED","mappings":{"default":{"default":"triángulo apuntando arriba con mitad izquierda rellena"}},"category":"So"},{"key":"25EE","mappings":{"default":{"default":"triángulo apuntando arriba con mitad derecha rellena"}},"category":"So"},{"key":"25EF","mappings":{"default":{"default":"cÃrculo grande"}},"category":"So"},{"key":"25F8","mappings":{"default":{"default":"triángulo superior izquierda"}},"category":"Sm"},{"key":"25F9","mappings":{"default":{"default":"triángulo superior derecha"}},"category":"Sm"},{"key":"25FA","mappings":{"default":{"default":"triángulo inferior izquierda"}},"category":"Sm"},{"key":"25FB","mappings":{"default":{"default":"cuadrado mediano vacÃo"}},"category":"Sm"},{"key":"25FC","mappings":{"default":{"default":"cuadrado mediano relleno"}},"category":"Sm"},{"key":"25FD","mappings":{"default":{"default":"cuadrado mediano vacÃo"}},"category":"Sm"},{"key":"25FE","mappings":{"default":{"default":"cuadrado mediano relleno"}},"category":"Sm"},{"key":"25FF","mappings":{"default":{"default":"triángulo inferior derecha"}},"category":"Sm"},{"key":"2B50","mappings":{"default":{"default":"estrella media vacÃa"}},"category":"So"},{"key":"2B51","mappings":{"default":{"default":"estrella pequeña rellena"}},"category":"So"},{"key":"2B52","mappings":{"default":{"default":"estrella pequeña vacÃa"}},"category":"So"}] +, +"es/math_harpoons.js": +[{"locale":"es"},{"key":"21BC","mappings":{"default":{"default":"flecha izquierda con arpón arriba"}},"category":"So"},{"key":"21BD","mappings":{"default":{"default":"flecha izquierda con arpón debajo"}},"category":"So"},{"key":"21BE","mappings":{"default":{"default":"flecha arriba con arpón derecho"}},"category":"So"},{"key":"21BF","mappings":{"default":{"default":"flecha arriba con arpón izquierdo"}},"category":"So"},{"key":"21C0","mappings":{"default":{"default":"flecha derecha con arpón arriba"}},"category":"So"},{"key":"21C1","mappings":{"default":{"default":"flecha derecha con arpón debajo"}},"category":"So"},{"key":"21C2","mappings":{"default":{"default":"flecha abajo con arpón derecho"}},"category":"So"},{"key":"21C3","mappings":{"default":{"default":"flecha abajo con arpón izquierdo"}},"category":"So"},{"key":"21CB","mappings":{"default":{"default":"arpón izquierdo arriba de arpón derecho"}},"category":"So"},{"key":"21CC","mappings":{"default":{"default":"arpón derecho arriba de arpón izquierdo"}},"category":"So"},{"key":"294A","mappings":{"default":{"default":"left barb up right barb down harpoon"}},"category":"Sm"},{"key":"294B","mappings":{"default":{"default":"left barb down right barb up harpoon"}},"category":"Sm"},{"key":"294E","mappings":{"default":{"default":"left barb up right barb up harpoon"}},"category":"Sm"},{"key":"294F","mappings":{"default":{"default":"arpón a la derecha hacia arriba y abajo"}},"category":"Sm"},{"key":"2950","mappings":{"default":{"default":"left barb down right barb down harpoon"}},"category":"Sm"},{"key":"2951","mappings":{"default":{"default":"arpón a la izquierda hacia arriba y abajo"}},"category":"Sm"},{"key":"2952","mappings":{"default":{"default":"leftwards harpoon to bar with barb upwards"}},"category":"Sm"},{"key":"2953","mappings":{"default":{"default":"rightwards harpoon to bar with barb upwards"}},"category":"Sm"},{"key":"2954","mappings":{"default":{"default":"upwards harpoon to bar with barb rightwards"}},"category":"Sm"},{"key":"2955","mappings":{"default":{"default":"downwards harpoon to bar with barb rightwards"}},"category":"Sm"},{"key":"2956","mappings":{"default":{"default":"leftwards harpoon to bar with barb downwards"}},"category":"Sm"},{"key":"2957","mappings":{"default":{"default":"rightwards harpoon to bar with barb downwards"}},"category":"Sm"},{"key":"2958","mappings":{"default":{"default":"upwards harpoon to bar with barb leftwards"}},"category":"Sm"},{"key":"2959","mappings":{"default":{"default":"downwards harpoon to bar with barb leftwards"}},"category":"Sm"},{"key":"295A","mappings":{"default":{"default":"leftwards harpoon from bar with barb upwards"}},"category":"Sm"},{"key":"295B","mappings":{"default":{"default":"rightwards harpoon from bar with barb upwards"}},"category":"Sm"},{"key":"295C","mappings":{"default":{"default":"upwards harpoon from bar with barb rightwards"}},"category":"Sm"},{"key":"295D","mappings":{"default":{"default":"downwards harpoon from bar with barb rightwards"}},"category":"Sm"},{"key":"295E","mappings":{"default":{"default":"leftwards harpoon from bar with barb downwards"}},"category":"Sm"},{"key":"295F","mappings":{"default":{"default":"rightwards harpoon from bar with barb downwards"}},"category":"Sm"},{"key":"2960","mappings":{"default":{"default":"upwards harpoon from bar with barb leftwards"}},"category":"Sm"},{"key":"2961","mappings":{"default":{"default":"downwards harpoon from bar with barb leftwards"}},"category":"Sm"},{"key":"2962","mappings":{"default":{"default":"leftwards harpoon with barb up above leftwards harpoon with barb down"}},"category":"Sm"},{"key":"2963","mappings":{"default":{"default":"upwards harpoon with barb left beside upwards harpoon with barb right"}},"category":"Sm"},{"key":"2964","mappings":{"default":{"default":"rightwards harpoon with barb up above rightwards harpoon with barb down"}},"category":"Sm"},{"key":"2965","mappings":{"default":{"default":"downwards harpoon with barb left beside downwards harpoon with barb right"}},"category":"Sm"},{"key":"2966","mappings":{"default":{"default":"leftwards harpoon with barb up above rightwards harpoon with barb up"}},"category":"Sm"},{"key":"2967","mappings":{"default":{"default":"leftwards harpoon with barb down above rightwards harpoon with barb down"}},"category":"Sm"},{"key":"2968","mappings":{"default":{"default":"rightwards harpoon with barb up above leftwards harpoon with barb up"}},"category":"Sm"},{"key":"2969","mappings":{"default":{"default":"rightwards harpoon with barb down above leftwards harpoon with barb down"}},"category":"Sm"},{"key":"296A","mappings":{"default":{"default":"barra con arpón hacia la izquierda"}},"category":"Sm"},{"key":"296B","mappings":{"default":{"default":"arpón hacia la izquierda con barra"}},"category":"Sm"},{"key":"296C","mappings":{"default":{"default":"barra con arpón hacia la derecha"}},"category":"Sm"},{"key":"296D","mappings":{"default":{"default":"arpón hacia la derecha con barra"}},"category":"Sm"},{"key":"296E","mappings":{"default":{"default":"upwards harpoon to the left of downwards harpoon"}},"category":"Sm"},{"key":"296F","mappings":{"default":{"default":"upwards harpoon to the right of downwards harpoon"}},"category":"Sm"},{"key":"297C","mappings":{"default":{"default":"left fish tail"}},"category":"Sm"},{"key":"297D","mappings":{"default":{"default":"right fish tail"}},"category":"Sm"},{"key":"297E","mappings":{"default":{"default":"barra con doble gancho"}},"category":"Sm"},{"key":"297F","mappings":{"default":{"default":"down fish tail"}},"category":"Sm"}] +, +"es/math_non_characters.js": +[{"locale":"es"},{"key":"210F","mappings":{"default":{"default":"h barra"}},"category":"Ll"},{"key":"2116","mappings":{"default":{"default":"signo de número"}},"category":"So"},{"key":"2117","mappings":{"default":{"default":"derechos de autor de sonido"}},"category":"So"},{"key":"211E","mappings":{"default":{"default":"receta"}},"category":"So"},{"key":"2122","mappings":{"default":{"default":"registrado"}},"category":"So"},{"key":"2125","mappings":{"default":{"default":"onza"}},"category":"So"},{"key":"2126","mappings":{"default":{"default":"ohmio"}},"category":"Lu"},{"key":"2127","mappings":{"default":{"default":"ohmio invertido"}},"category":"So"},{"key":"212A","mappings":{"default":{"default":"grados kelvin"}},"category":"Lu"},{"key":"212B","mappings":{"default":{"default":"angstrom"}},"category":"Lu"},{"key":"2132","mappings":{"default":{"default":"mayúscula F invertida"}},"category":"Lu"}] +, +"es/math_symbols.js": +[{"locale":"es"},{"key":"0021","mappings":{"default":{"default":"factorial"}},"category":"Po"},{"key":"0022","mappings":{"default":{"default":"comillas"}},"category":"Po"},{"key":"0023","mappings":{"default":{"default":"almuhadilla","defaultMP":"signo de número"}},"category":"Po"},{"key":"0024","mappings":{"default":{"default":"dólar"}},"category":"Sc"},{"key":"0025","mappings":{"default":{"default":"porciento"}},"category":"Po"},{"key":"0026","mappings":{"default":{"default":"ampersand"}},"category":"Po"},{"key":"0027","mappings":{"default":{"default":"prima","defaultMP":"apóstrofo"}},"category":"Po"},{"key":"002A","mappings":{"default":{"default":"por"}},"category":"Po"},{"key":"002B","mappings":{"default":{"default":"más"}},"category":"Sm"},{"key":"002C","mappings":{"default":{"default":"coma"}},"category":"Po"},{"key":"002D","mappings":{"default":{"default":"menos"}},"category":"Pd"},{"key":"002E","mappings":{"default":{"default":"punto"}},"category":"Po"},{"key":"002F","mappings":{"default":{"default":"barra oblicua"}},"category":"Po"},{"key":"003A","mappings":{"default":{"default":"dos puntos"}},"category":"Po"},{"key":"003B","mappings":{"default":{"default":"punto y coma"}},"category":"Po"},{"key":"003C","mappings":{"default":{"default":"menor que"}},"category":"Sm"},{"key":"003D","mappings":{"default":{"default":"igual"}},"category":"Sm"},{"key":"003E","mappings":{"default":{"default":"mayor que"}},"category":"Sm"},{"key":"003F","mappings":{"default":{"default":"interrogación derecho","defaultMP":"cierra interrogación"}},"category":"Po"},{"key":"0040","mappings":{"default":{"default":"arroba"}},"category":"Po"},{"key":"005C","mappings":{"default":{"default":"barra inversa"}},"category":"Po"},{"key":"005E","mappings":{"default":{"default":"circunflejo"}},"category":"Sk"},{"key":"005F","mappings":{"default":{"default":"subrayado"}},"category":"Pc"},{"key":"0060","mappings":{"default":{"default":"acento grave"}},"category":"Sk"},{"key":"007C","mappings":{"default":{"default":"barra vertical"}},"category":"Sm"},{"key":"007E","mappings":{"default":{"default":"tilde"}},"category":"Sm"},{"key":"00A1","mappings":{"default":{"default":"admiración izquierdo","defaultMP":"abre admiración"}},"category":"Po"},{"key":"00A2","mappings":{"default":{"default":"centavo"}},"category":"Sc"},{"key":"00A3","mappings":{"default":{"default":"libra esterlina"}},"category":"Sc"},{"key":"00A4","mappings":{"default":{"default":"moneda"}},"category":"Sc"},{"key":"00A5","mappings":{"default":{"default":"yen"}},"category":"Sc"},{"key":"00A6","mappings":{"default":{"default":"barra vertical partida"}},"category":"So"},{"key":"00A7","mappings":{"default":{"default":"sección"}},"category":"Po"},{"key":"00A8","mappings":{"default":{"default":"diéresis"}},"category":"Sk"},{"key":"00A9","mappings":{"default":{"default":"copyright"}},"category":"So"},{"key":"00AA","mappings":{"default":{"default":"ordinal femenino"}},"category":"Lo"},{"key":"00AB","mappings":{"default":{"default":"comillas angulares izquierda","defaultMP":"abre comillas angulares"}},"category":"Pi"},{"key":"00AC","mappings":{"default":{"default":"negación"}},"category":"Sm"},{"key":"00AE","mappings":{"default":{"default":"registrado"}},"category":"So"},{"key":"00AF","mappings":{"default":{"default":"barra"}},"category":"Sk"},{"key":"00B0","mappings":{"default":{"default":"grado"}},"category":"So"},{"key":"00B1","mappings":{"default":{"default":"más menos"}},"category":"Sm"},{"key":"00B4","mappings":{"default":{"default":"acento agudo"}},"category":"Sk"},{"key":"00B5","mappings":{"default":{"default":"micro"}},"category":"Ll"},{"key":"00B6","mappings":{"default":{"default":"párrafo"}},"category":"Po"},{"key":"00B7","mappings":{"default":{"default":"punto medio"}},"category":"Po"},{"key":"00B8","mappings":{"default":{"default":"cedilla"}},"category":"Sk"},{"key":"00BA","mappings":{"default":{"default":"ordinal masculino"}},"category":"Lo"},{"key":"00BB","mappings":{"default":{"default":"comillas angulares derecha","defaultMP":"cierra comillas angulares"}},"category":"Pf"},{"key":"00BF","mappings":{"default":{"default":"interrogación izquierdo","defaultMP":"abre interrogación"}},"category":"Po"},{"key":"00D7","mappings":{"default":{"default":"por"}},"category":"Sm"},{"key":"00F7","mappings":{"default":{"default":"dividido"}},"category":"Sm"},{"key":"02D8","mappings":{"default":{"default":"breve"}},"category":"Sk"},{"key":"02D9","mappings":{"default":{"default":"punto en superescrito"}},"category":"Sk"},{"key":"02DA","mappings":{"default":{"default":"anillo en superescrito"}},"category":"Sk"},{"key":"02DB","mappings":{"default":{"default":"ogonek"}},"category":"Sk"},{"key":"02DC","mappings":{"default":{"default":"tilde"}},"category":"Sk"},{"key":"02DD","mappings":{"default":{"default":"doble acento agudo"}},"category":"Sk"},{"key":"2010","mappings":{"default":{"default":"menos"}},"category":"Pd"},{"key":"2013","mappings":{"default":{"default":"en raya"}},"category":"Pd"},{"key":"2014","mappings":{"default":{"default":"em raya"}},"category":"Pd"},{"key":"2015","mappings":{"default":{"default":"barra horizontal"}},"category":"Pd"},{"key":"2016","mappings":{"default":{"default":"doble barra vertical"}},"category":"Po"},{"key":"2018","mappings":{"default":{"default":"comilla izquierda"}},"category":"Pi"},{"key":"2019","mappings":{"default":{"default":"comilla derecha"}},"category":"Pf"},{"key":"201A","mappings":{"default":{"default":"comilla bajo 9"}},"category":"Ps"},{"key":"201C","mappings":{"default":{"default":"doble comilla"}},"category":"Pi"},{"key":"201D","mappings":{"default":{"default":"doble comilla derecha"}},"category":"Pf"},{"key":"201E","mappings":{"default":{"default":"doble comilla bajo 9"}},"category":"Ps"},{"key":"2020","mappings":{"default":{"default":"daga"}},"category":"Po"},{"key":"2021","mappings":{"default":{"default":"doble daga"}},"category":"Po"},{"key":"2022","mappings":{"default":{"default":"bala"}},"category":"Po"},{"key":"2025","mappings":{"default":{"default":"dos puntos lÃder"}},"category":"Po"},{"key":"2026","mappings":{"default":{"default":"puntos suspensivos"}},"category":"Po"},{"key":"2030","mappings":{"default":{"default":"tanto por millar"}},"category":"Po"},{"key":"2031","mappings":{"default":{"default":"tanto por diez mil"}},"category":"Po"},{"key":"2032","mappings":{"default":{"default":"prima"}},"category":"Po"},{"key":"2033","mappings":{"default":{"default":"segunda"}},"category":"Po"},{"key":"2034","mappings":{"default":{"default":"tercera"}},"category":"Po"},{"key":"2035","mappings":{"default":{"default":"acento grave"}},"category":"Po"},{"key":"2036","mappings":{"default":{"default":"doble acento grave"}},"category":"Po"},{"key":"2039","mappings":{"default":{"default":"comillas izquierda","defaultMP":"abre comillas"}},"category":"Pi"},{"key":"203A","mappings":{"default":{"default":"comillas derecha","defaultMP":"cierra comillas"}},"category":"Pf"},{"key":"203E","mappings":{"default":{"default":"barra superior"}},"category":"Po"},{"key":"2040","mappings":{"default":{"default":"ligadura"}},"category":"Pc"},{"key":"2041","mappings":{"default":{"default":"punto de inserción"}},"category":"Po"},{"key":"2043","mappings":{"default":{"default":"guión bala"}},"category":"Po"},{"key":"2044","mappings":{"default":{"default":"barra de fracción"}},"category":"Sm"},{"key":"204F","mappings":{"default":{"default":"punto y coma invertido"}},"category":"Po"},{"key":"2050","mappings":{"default":{"default":"cierre superior"}},"category":"Po"},{"key":"2057","mappings":{"default":{"default":"cuarta"}},"category":"Po"},{"key":"2200","mappings":{"default":{"default":"para todo"}},"category":"Sm"},{"key":"2201","mappings":{"default":{"default":"complementario"}},"category":"Sm"},{"key":"2202","mappings":{"default":{"default":"derivada parcial"}},"category":"Sm"},{"key":"2203","mappings":{"default":{"default":"existe"}},"category":"Sm"},{"key":"2204","mappings":{"default":{"default":"no existe"}},"category":"Sm"},{"key":"2205","mappings":{"default":{"default":"conjunto vacÃo"}},"category":"Sm"},{"key":"2206","mappings":{"default":{"default":"incremento"}},"category":"Sm"},{"key":"2207","mappings":{"default":{"default":"gradiente"}},"category":"Sm"},{"key":"2208","mappings":{"default":{"default":"perteneciente a"}},"category":"Sm"},{"key":"2209","mappings":{"default":{"default":"no perteneciente a"}},"category":"Sm"},{"key":"220A","mappings":{"default":{"default":"perteneciente a"}},"category":"Sm"},{"key":"220B","mappings":{"default":{"default":"comprende a"}},"category":"Sm"},{"key":"220C","mappings":{"default":{"default":"no comprende a"}},"category":"Sm"},{"key":"220D","mappings":{"default":{"default":"comprende a"}},"category":"Sm"},{"key":"220E","mappings":{"default":{"default":"fin de demostración"}},"category":"Sm"},{"key":"220F","mappings":{"default":{"default":"producto"}},"category":"Sm"},{"key":"2210","mappings":{"default":{"default":"coproducto"}},"category":"Sm"},{"key":"2211","mappings":{"default":{"default":"sumatorio"}},"category":"Sm"},{"key":"2212","mappings":{"default":{"default":"menos"}},"category":"Sm"},{"key":"2213","mappings":{"default":{"default":"menos más"}},"category":"Sm"},{"key":"2214","mappings":{"default":{"default":"punto más"}},"category":"Sm"},{"key":"2215","mappings":{"default":{"default":"barra de división"}},"category":"Sm"},{"key":"2216","mappings":{"default":{"default":"menos"}},"category":"Sm"},{"key":"2217","mappings":{"default":{"default":"asterisco"}},"category":"Sm"},{"key":"2218","mappings":{"default":{"default":"composición"}},"category":"Sm"},{"key":"2219","mappings":{"default":{"default":"bala"}},"category":"Sm"},{"key":"221A","mappings":{"default":{"default":"raÃz"}},"category":"Sm"},{"key":"221B","mappings":{"default":{"default":"raÃz cúbica"}},"category":"Sm"},{"key":"221C","mappings":{"default":{"default":"raÃz cuarta"}},"category":"Sm"},{"key":"221D","mappings":{"default":{"default":"proporcional a"}},"category":"Sm"},{"key":"221E","mappings":{"default":{"default":"infinito"}},"category":"Sm"},{"key":"221F","mappings":{"default":{"default":"ángulo recto"}},"category":"Sm"},{"key":"2220","mappings":{"default":{"default":"ángulo"}},"category":"Sm"},{"key":"2221","mappings":{"default":{"default":"ángulo medido"}},"category":"Sm"},{"key":"2222","mappings":{"default":{"default":"ángulo esférico"}},"category":"Sm"},{"key":"2223","mappings":{"default":{"default":"divide a"}},"category":"Sm"},{"key":"2224","mappings":{"default":{"default":"no divide a"}},"category":"Sm"},{"key":"2225","mappings":{"default":{"default":"paralela a"}},"category":"Sm"},{"key":"2226","mappings":{"default":{"default":"no paralela a"}},"category":"Sm"},{"key":"2227","mappings":{"default":{"default":"y"}},"category":"Sm"},{"key":"2228","mappings":{"default":{"default":"o"}},"category":"Sm"},{"key":"2229","mappings":{"default":{"default":"intersección"}},"category":"Sm"},{"key":"222A","mappings":{"default":{"default":"unión"}},"category":"Sm"},{"key":"222B","mappings":{"default":{"default":"integral"}},"category":"Sm"},{"key":"222C","mappings":{"default":{"default":"integral doble"}},"category":"Sm"},{"key":"222D","mappings":{"default":{"default":"integral triple"}},"category":"Sm"},{"key":"222E","mappings":{"default":{"default":"integral de contorno"}},"category":"Sm"},{"key":"222F","mappings":{"default":{"default":"integral de superficie"}},"category":"Sm"},{"key":"2230","mappings":{"default":{"default":"integral de volumen"}},"category":"Sm"},{"key":"2231","mappings":{"default":{"default":"integral de contorno en sentido horario"}},"category":"Sm"},{"key":"2232","mappings":{"default":{"default":"integral de contorno en sentido horario"}},"category":"Sm"},{"key":"2233","mappings":{"default":{"default":"integral de contorno en sentido antihorario"}},"category":"Sm"},{"key":"2234","mappings":{"default":{"default":"por lo tanto"}},"category":"Sm"},{"key":"2235","mappings":{"default":{"default":"porque"}},"category":"Sm"},{"key":"2236","mappings":{"default":{"default":"razón"}},"category":"Sm"},{"key":"2237","mappings":{"default":{"default":"proporción"}},"category":"Sm"},{"key":"2238","mappings":{"default":{"default":"punto menos"}},"category":"Sm"},{"key":"2239","mappings":{"default":{"default":"exceso"}},"category":"Sm"},{"key":"223A","mappings":{"default":{"default":"proporción geométrica"}},"category":"Sm"},{"key":"223B","mappings":{"default":{"default":"homotecia"}},"category":"Sm"},{"key":"223C","mappings":{"default":{"default":"tilde"}},"category":"Sm"},{"key":"223D","mappings":{"default":{"default":"tilde invertido"}},"category":"Sm"},{"key":"223E","mappings":{"default":{"default":"s horizontal invertida"}},"category":"Sm"},{"key":"223F","mappings":{"default":{"default":"sinusoide"}},"category":"Sm"},{"key":"2240","mappings":{"default":{"default":"producto de guirnalda"}},"category":"Sm"},{"key":"2241","mappings":{"default":{"default":"no tilde"}},"category":"Sm"},{"key":"2242","mappings":{"default":{"default":"menos tilde"}},"category":"Sm"},{"key":"2243","mappings":{"default":{"default":"asintóticamente igual a"}},"category":"Sm"},{"key":"2244","mappings":{"default":{"default":"no asintóticamente igual a"}},"category":"Sm"},{"key":"2245","mappings":{"default":{"default":"aproximadamente igual a"}},"category":"Sm"},{"key":"2246","mappings":{"default":{"default":"aproximado pero no igual a"}},"category":"Sm"},{"key":"2247","mappings":{"default":{"default":"no aproximado a"}},"category":"Sm"},{"key":"2248","mappings":{"default":{"default":"aproximado","defaultMP":"casi igual a"}},"category":"Sm"},{"key":"2249","mappings":{"default":{"default":"no es casi igual a"}},"category":"Sm"},{"key":"224A","mappings":{"default":{"default":"igual o casi igual a"}},"category":"Sm"},{"key":"224B","mappings":{"default":{"default":"triple tilde"}},"category":"Sm"},{"key":"224C","mappings":{"default":{"default":"todo igual a"}},"category":"Sm"},{"key":"224D","mappings":{"default":{"default":"equivalente a"}},"category":"Sm"},{"key":"224E","mappings":{"default":{"default":"geométricamente equivalente a"}},"category":"Sm"},{"key":"224F","mappings":{"default":{"default":"diferencia entre"}},"category":"Sm"},{"key":"2250","mappings":{"default":{"default":"se acerca al lÃmite"}},"category":"Sm"},{"key":"2251","mappings":{"default":{"default":"geométricamente igual a"}},"category":"Sm"},{"key":"2252","mappings":{"default":{"default":"aproximadamente igual a o imagen de"}},"category":"Sm"},{"key":"2253","mappings":{"default":{"default":"imagen de o aproximadamente igual a"}},"category":"Sm"},{"key":"2254","mappings":{"default":{"default":"dos puntos igual"}},"category":"Sm"},{"key":"2255","mappings":{"default":{"default":"igual dos puntos"}},"category":"Sm"},{"key":"2256","mappings":{"default":{"default":"igual incluyendo anillo"}},"category":"Sm"},{"key":"2257","mappings":{"default":{"default":"igual anillo a"}},"category":"Sm"},{"key":"2258","mappings":{"default":{"default":"corresponde a"}},"category":"Sm"},{"key":"2259","mappings":{"default":{"default":"estima a"}},"category":"Sm"},{"key":"225A","mappings":{"default":{"default":"equiangular con"}},"category":"Sm"},{"key":"225B","mappings":{"default":{"default":"igual con estrella"}},"category":"Sm"},{"key":"225C","mappings":{"default":{"default":"igual con delta"}},"category":"Sm"},{"key":"225D","mappings":{"default":{"default":"igual por definición a"}},"category":"Sm"},{"key":"225E","mappings":{"default":{"default":"medido por"}},"category":"Sm"},{"key":"225F","mappings":{"default":{"default":"igual con interrogante"}},"category":"Sm"},{"key":"2260","mappings":{"default":{"default":"no es igual a","defaultMP":"distinto de"}},"category":"Sm"},{"key":"2261","mappings":{"default":{"default":"idéntico a"}},"category":"Sm"},{"key":"2262","mappings":{"default":{"default":"no es idéntico a"}},"category":"Sm"},{"key":"2263","mappings":{"default":{"default":"estrictamente equivalente a"}},"category":"Sm"},{"key":"2264","mappings":{"default":{"default":"menor o igual que"}},"category":"Sm"},{"key":"2265","mappings":{"default":{"default":"mayor o igual que"}},"category":"Sm"},{"key":"2266","mappings":{"default":{"default":"menor o igual que"}},"category":"Sm"},{"key":"2267","mappings":{"default":{"default":"mayor o igual que"}},"category":"Sm"},{"key":"2268","mappings":{"default":{"default":"estrictamente menor que"}},"category":"Sm"},{"key":"2269","mappings":{"default":{"default":"estrictamente mayor que"}},"category":"Sm"},{"key":"226A","mappings":{"default":{"default":"mucho menor que"}},"category":"Sm"},{"key":"226B","mappings":{"default":{"default":"mucho mayor que"}},"category":"Sm"},{"key":"226C","mappings":{"default":{"default":"entre"}},"category":"Sm"},{"key":"226D","mappings":{"default":{"default":"no equivalente a"}},"category":"Sm"},{"key":"226E","mappings":{"default":{"default":"no menor que"}},"category":"Sm"},{"key":"226F","mappings":{"default":{"default":"no mayor que"}},"category":"Sm"},{"key":"2270","mappings":{"default":{"default":"no menor ni igual a"}},"category":"Sm"},{"key":"2271","mappings":{"default":{"default":"no mayor ni igual a"}},"category":"Sm"},{"key":"2272","mappings":{"default":{"default":"menor o equivalente a"}},"category":"Sm"},{"key":"2273","mappings":{"default":{"default":"mayor o equivalente a"}},"category":"Sm"},{"key":"2274","mappings":{"default":{"default":"no menor ni equivalente a"}},"category":"Sm"},{"key":"2275","mappings":{"default":{"default":"no mayor ni equivalente a"}},"category":"Sm"},{"key":"2276","mappings":{"default":{"default":"menor o mayor que"}},"category":"Sm"},{"key":"2277","mappings":{"default":{"default":"mayor o menor que"}},"category":"Sm"},{"key":"2278","mappings":{"default":{"default":"no menor ni mayor que"}},"category":"Sm"},{"key":"2279","mappings":{"default":{"default":"no mayor ni menor que"}},"category":"Sm"},{"key":"227A","mappings":{"default":{"default":"precede a"}},"category":"Sm"},{"key":"227B","mappings":{"default":{"default":"sigue a"}},"category":"Sm"},{"key":"227C","mappings":{"default":{"default":"precede o es igual a"}},"category":"Sm"},{"key":"227D","mappings":{"default":{"default":"sigue o es igual a"}},"category":"Sm"},{"key":"227E","mappings":{"default":{"default":"precede o es equivalente a"}},"category":"Sm"},{"key":"227F","mappings":{"default":{"default":"sigue o es equivalente a"}},"category":"Sm"},{"key":"2280","mappings":{"default":{"default":"no precede a"}},"category":"Sm"},{"key":"2281","mappings":{"default":{"default":"no sigue a"}},"category":"Sm"},{"key":"2282","mappings":{"default":{"default":"incluido en"}},"category":"Sm"},{"key":"2283","mappings":{"default":{"default":"contiene a"}},"category":"Sm"},{"key":"2284","mappings":{"default":{"default":"no incluido en"}},"category":"Sm"},{"key":"2285","mappings":{"default":{"default":"no contiene a"}},"category":"Sm"},{"key":"2286","mappings":{"default":{"default":"incluido o igual a"}},"category":"Sm"},{"key":"2287","mappings":{"default":{"default":"contiene o es igual a"}},"category":"Sm"},{"key":"2288","mappings":{"default":{"default":"no incluido ni igual a"}},"category":"Sm"},{"key":"2289","mappings":{"default":{"default":"no contiene ni es igual a"}},"category":"Sm"},{"key":"228A","mappings":{"default":{"default":"incluido estrictamente en"}},"category":"Sm"},{"key":"228B","mappings":{"default":{"default":"contiene estrictamente a"}},"category":"Sm"},{"key":"228C","mappings":{"default":{"default":"familia de conjuntos"}},"category":"Sm"},{"key":"228D","mappings":{"default":{"default":"producto de familia de conjuntos"}},"category":"Sm"},{"key":"228E","mappings":{"default":{"default":"unión de familia de conjuntos"}},"category":"Sm"},{"key":"228F","mappings":{"default":{"default":"imagen cuadrada de"}},"category":"Sm"},{"key":"2290","mappings":{"default":{"default":"original cuadrado de"}},"category":"Sm"},{"key":"2291","mappings":{"default":{"default":"imagen cuadrada de o igual a"}},"category":"Sm"},{"key":"2292","mappings":{"default":{"default":"original cuadrado de o igual a"}},"category":"Sm"},{"key":"2293","mappings":{"default":{"default":"intersección cuadrada"}},"category":"Sm"},{"key":"2294","mappings":{"default":{"default":"unión cuadrada"}},"category":"Sm"},{"key":"2295","mappings":{"default":{"default":"más en cÃrculo"}},"category":"Sm"},{"key":"2296","mappings":{"default":{"default":"menos en cÃrculo"}},"category":"Sm"},{"key":"2297","mappings":{"default":{"default":"por en cÃrculo"}},"category":"Sm"},{"key":"2298","mappings":{"default":{"default":"barra en cÃrculo"}},"category":"Sm"},{"key":"2299","mappings":{"default":{"default":"punto en cÃrculo"}},"category":"Sm"},{"key":"229A","mappings":{"default":{"default":"anillo en cÃrculo"}},"category":"Sm"},{"key":"229B","mappings":{"default":{"default":"asterisco en cÃrculo"}},"category":"Sm"},{"key":"229C","mappings":{"default":{"default":"igual en cÃrculo"}},"category":"Sm"},{"key":"229D","mappings":{"default":{"default":"menos en cÃrculo"}},"category":"Sm"},{"key":"229E","mappings":{"default":{"default":"más en cuadrado"}},"category":"Sm"},{"key":"229F","mappings":{"default":{"default":"menos en cuadrado"}},"category":"Sm"},{"key":"22A0","mappings":{"default":{"default":"veces en cuadrado"}},"category":"Sm"},{"key":"22A1","mappings":{"default":{"default":"punto en cuadrado"}},"category":"Sm"},{"key":"22A2","mappings":{"default":{"default":"t horizontal hacia la izquierda"}},"category":"Sm"},{"key":"22A3","mappings":{"default":{"default":"t horizontal hacia la derecha"}},"category":"Sm"},{"key":"22A4","mappings":{"default":{"default":"perpendicular"}},"category":"Sm"},{"key":"22A5","mappings":{"default":{"default":"perpendicular invertida"}},"category":"Sm"},{"key":"22A6","mappings":{"default":{"default":"afirmación"}},"category":"Sm"},{"key":"22A7","mappings":{"default":{"default":"modela"}},"category":"Sm"},{"key":"22A8","mappings":{"default":{"default":"verdadero"}},"category":"Sm"},{"key":"22A9","mappings":{"default":{"default":"obliga"}},"category":"Sm"},{"key":"22AA","mappings":{"default":{"default":"triple barra vertical torniquete derecho"}},"category":"Sm"},{"key":"22AB","mappings":{"default":{"default":"doble barra vertical doble torniquete derecho"}},"category":"Sm"},{"key":"22AC","mappings":{"default":{"default":"no prueba"}},"category":"Sm"},{"key":"22AD","mappings":{"default":{"default":"falso"}},"category":"Sm"},{"key":"22AE","mappings":{"default":{"default":"no obliga"}},"category":"Sm"},{"key":"22AF","mappings":{"default":{"default":"doble barra vertical doble torniquete derecho negada"}},"category":"Sm"},{"key":"22B0","mappings":{"default":{"default":"precede respecto de"}},"category":"Sm"},{"key":"22B1","mappings":{"default":{"default":"sigue respecto de"}},"category":"Sm"},{"key":"22B2","mappings":{"default":{"default":"subgrupo normal de"}},"category":"Sm"},{"key":"22B3","mappings":{"default":{"default":"contiene como subgrupo normal a"}},"category":"Sm"},{"key":"22B4","mappings":{"default":{"default":"subgrupo normal o es igual a"}},"category":"Sm"},{"key":"22B5","mappings":{"default":{"default":"contiene como subgrupo normal o es igual a"}},"category":"Sm"},{"key":"22B6","mappings":{"default":{"default":"original de"}},"category":"Sm"},{"key":"22B7","mappings":{"default":{"default":"imagen de"}},"category":"Sm"},{"key":"22B8","mappings":{"default":{"default":"multifunción"}},"category":"Sm"},{"key":"22B9","mappings":{"default":{"default":"matriz hermitiana conjugada"}},"category":"Sm"},{"key":"22BA","mappings":{"default":{"default":"interpola"}},"category":"Sm"},{"key":"22BB","mappings":{"default":{"default":"o excluyente"}},"category":"Sm"},{"key":"22BC","mappings":{"default":{"default":"no y"}},"category":"Sm"},{"key":"22BD","mappings":{"default":{"default":"no o"}},"category":"Sm"},{"key":"22BF","mappings":{"default":{"default":"triángulo rectángulo"}},"category":"Sm"},{"key":"22C0","mappings":{"default":{"default":"y"}},"category":"Sm"},{"key":"22C1","mappings":{"default":{"default":"o"}},"category":"Sm"},{"key":"22C2","mappings":{"default":{"default":"intersección"}},"category":"Sm"},{"key":"22C3","mappings":{"default":{"default":"unión"}},"category":"Sm"},{"key":"22C4","mappings":{"default":{"default":"operador diamante"}},"category":"Sm"},{"key":"22C5","mappings":{"default":{"default":"punto"}},"category":"Sm"},{"key":"22C6","mappings":{"default":{"default":"estrella"}},"category":"Sm"},{"key":"22C7","mappings":{"default":{"default":"dividido por"}},"category":"Sm"},{"key":"22C8","mappings":{"default":{"default":"moño"}},"category":"Sm"},{"key":"22C9","mappings":{"default":{"default":"factor normal izquierdo producto semidirecto"}},"category":"Sm"},{"key":"22CA","mappings":{"default":{"default":"factor normal derecho producto semidirecto"}},"category":"Sm"},{"key":"22CB","mappings":{"default":{"default":"producto semidirecto izquierdo"}},"category":"Sm"},{"key":"22CC","mappings":{"default":{"default":"producto semidirecto derecho"}},"category":"Sm"},{"key":"22CD","mappings":{"default":{"default":"tilde invertida igual a"}},"category":"Sm"},{"key":"22CE","mappings":{"default":{"default":"o rizada"}},"category":"Sm"},{"key":"22CF","mappings":{"default":{"default":"y rizada"}},"category":"Sm"},{"key":"22D0","mappings":{"default":{"default":"doble incluido"}},"category":"Sm"},{"key":"22D1","mappings":{"default":{"default":"doble contiene"}},"category":"Sm"},{"key":"22D2","mappings":{"default":{"default":"doble intersección"}},"category":"Sm"},{"key":"22D3","mappings":{"default":{"default":"doble unión"}},"category":"Sm"},{"key":"22D4","mappings":{"default":{"default":"bieldo"}},"category":"Sm"},{"key":"22D5","mappings":{"default":{"default":"paralela o igual a"}},"category":"Sm"},{"key":"22D6","mappings":{"default":{"default":"menor que con punto"}},"category":"Sm"},{"key":"22D7","mappings":{"default":{"default":"mayor que con punto"}},"category":"Sm"},{"key":"22D8","mappings":{"default":{"default":"mucho menor que"}},"category":"Sm"},{"key":"22D9","mappings":{"default":{"default":"mucho mayor que"}},"category":"Sm"},{"key":"22DA","mappings":{"default":{"default":"menor igual o mayor que"}},"category":"Sm"},{"key":"22DB","mappings":{"default":{"default":"mayor igual o menor que"}},"category":"Sm"},{"key":"22DC","mappings":{"default":{"default":"menor o igual que"}},"category":"Sm"},{"key":"22DD","mappings":{"default":{"default":"mayor o igual que"}},"category":"Sm"},{"key":"22DE","mappings":{"default":{"default":"precede o es igual a"}},"category":"Sm"},{"key":"22DF","mappings":{"default":{"default":"sigue o es igual a"}},"category":"Sm"},{"key":"22E0","mappings":{"default":{"default":"no precede ni es igual a"}},"category":"Sm"},{"key":"22E1","mappings":{"default":{"default":"no sigue ni es igual a"}},"category":"Sm"},{"key":"22E2","mappings":{"default":{"default":"no es imagen cuadrada ni igual a"}},"category":"Sm"},{"key":"22E3","mappings":{"default":{"default":"no es original cuadrada ni igual a"}},"category":"Sm"},{"key":"22E4","mappings":{"default":{"default":"imagen cuadrada estricta"}},"category":"Sm"},{"key":"22E5","mappings":{"default":{"default":"original cuadrada estricta"}},"category":"Sm"},{"key":"22E6","mappings":{"default":{"default":"menor que no equivalente a"}},"category":"Sm"},{"key":"22E7","mappings":{"default":{"default":"mayor que no equivalente a"}},"category":"Sm"},{"key":"22E8","mappings":{"default":{"default":"precede no equivalente a"}},"category":"Sm"},{"key":"22E9","mappings":{"default":{"default":"sigue no equivalente a"}},"category":"Sm"},{"key":"22EA","mappings":{"default":{"default":"no subgrupo normal de"}},"category":"Sm"},{"key":"22EB","mappings":{"default":{"default":"no contiene como subgrupo normal a"}},"category":"Sm"},{"key":"22EC","mappings":{"default":{"default":"no es subgrupo normal ni igual a"}},"category":"Sm"},{"key":"22ED","mappings":{"default":{"default":"no contiene como subgrupo normal ni es igual a"}},"category":"Sm"},{"key":"22EE","mappings":{"default":{"default":"puntos suspensivos verticales"}},"category":"Sm"},{"key":"22EF","mappings":{"default":{"default":"puntos suspensivos altos"}},"category":"Sm"},{"key":"22F0","mappings":{"default":{"default":"puntos suspensivos diagonales subiendo"}},"category":"Sm"},{"key":"22F1","mappings":{"default":{"default":"puntos suspensivos diagonales bajando"}},"category":"Sm"},{"key":"22F2","mappings":{"default":{"default":"pertenece con trazo horizontal"}},"category":"Sm"},{"key":"22F3","mappings":{"default":{"default":"pertenece con barra vertical al fin de raya horizontal"}},"category":"Sm"},{"key":"22F4","mappings":{"default":{"default":"pertenece en pequeño con trazo vertical"}},"category":"Sm"},{"key":"22F5","mappings":{"default":{"default":"pertenece con punto arriba"}},"category":"Sm"},{"key":"22F6","mappings":{"default":{"default":"pertenece con barra arriba"}},"category":"Sm"},{"key":"22F7","mappings":{"default":{"default":"perteneciente subrayado"}},"category":"Sm"},{"key":"22F8","mappings":{"default":{"default":"perteneciente subrayado"}},"category":"Sm"},{"key":"22F9","mappings":{"default":{"default":"pertenece con dos trazos horizontales"}},"category":"Sm"},{"key":"22FA","mappings":{"default":{"default":"contiene o es igual a"}},"category":"Sm"},{"key":"22FB","mappings":{"default":{"default":"contiene con marca"}},"category":"Sm"},{"key":"22FC","mappings":{"default":{"default":"contiene con marca"}},"category":"Sm"},{"key":"22FD","mappings":{"default":{"default":"contiene con barra"}},"category":"Sm"},{"key":"22FE","mappings":{"default":{"default":"perteneciente con barra"}},"category":"Sm"},{"key":"22FF","mappings":{"default":{"default":"z anotación asociación de bolsa"}},"category":"Sm"},{"key":"2300","mappings":{"default":{"default":"diámetro"}},"category":"So"},{"key":"2302","mappings":{"default":{"default":"casa"}},"category":"So"},{"key":"2305","mappings":{"default":{"default":"en proyectividad con"}},"category":"So"},{"key":"2306","mappings":{"default":{"default":"en perspectividad con"}},"category":"So"},{"key":"2310","mappings":{"default":{"default":"no invertido"}},"category":"So"},{"key":"2312","mappings":{"default":{"default":"arco"}},"category":"So"},{"key":"2313","mappings":{"default":{"default":"segmento"}},"category":"So"},{"key":"27C1","mappings":{"default":{"default":"triángulo encerrando triángulo"}},"category":"Sm"},{"key":"27C2","mappings":{"default":{"default":"perpendicular"}},"category":"Sm"},{"key":"27C3","mappings":{"default":{"default":"incluido en"}},"category":"Sm"},{"key":"27C4","mappings":{"default":{"default":"contiene a"}},"category":"Sm"},{"key":"27C7","mappings":{"default":{"default":"punto en cÃrculo"}},"category":"Sm"},{"key":"27C8","mappings":{"default":{"default":"atrás tajo antes de subconjunto"}},"category":"Sm"},{"key":"27C9","mappings":{"default":{"default":"sobreconjunto antes de tajo"}},"category":"Sm"},{"key":"27CA","mappings":{"default":{"default":"barra vertical con golpe horizontal"}},"category":"Sm"},{"key":"27CC","mappings":{"default":{"default":"división larga"}},"category":"Sm"},{"key":"27D1","mappings":{"default":{"default":"y con punto interior"}},"category":"Sm"},{"key":"27D2","mappings":{"default":{"default":"elemento de apertura hacia arriba"}},"category":"Sm"},{"key":"27D3","mappings":{"default":{"default":"ángulo inferior derecho con punto"}},"category":"Sm"},{"key":"27D4","mappings":{"default":{"default":"ángulo inferior izquierdo con punto"}},"category":"Sm"},{"key":"27D5","mappings":{"default":{"default":"izquierdo exterior une"}},"category":"Sm"},{"key":"27D6","mappings":{"default":{"default":"derecho exterior une"}},"category":"Sm"},{"key":"27D7","mappings":{"default":{"default":"lleno exterior une"}},"category":"Sm"},{"key":"27D8","mappings":{"default":{"default":"perpendicular inversa"}},"category":"Sm"},{"key":"27D9","mappings":{"default":{"default":"perpendicular"}},"category":"Sm"},{"key":"27DA","mappings":{"default":{"default":"izquierdo y derecho doble torniquete"}},"category":"Sm"},{"key":"27DB","mappings":{"default":{"default":"doble T horizontal"}},"category":"Sm"},{"key":"27DC","mappings":{"default":{"default":"multifunción por la izquierda"}},"category":"Sm"},{"key":"27DD","mappings":{"default":{"default":"T horizontal derecha larga"}},"category":"Sm"},{"key":"27DE","mappings":{"default":{"default":"T horizontal izquierda larga"}},"category":"Sm"},{"key":"27DF","mappings":{"default":{"default":"perpendicular inversa con cÃrculo arriba"}},"category":"Sm"},{"key":"27E0","mappings":{"default":{"default":"pastilla dividida por regla horizontal"}},"category":"Sm"},{"key":"27E1","mappings":{"default":{"default":"diamante cóncavo vacÃo"}},"category":"Sm"},{"key":"27E2","mappings":{"default":{"default":"diamante cóncavo con tictac hacia izquierda"}},"category":"Sm"},{"key":"27E3","mappings":{"default":{"default":"diamante cóncavo con tictac hacia derecha"}},"category":"Sm"},{"key":"27E4","mappings":{"default":{"default":"cuadrado con tictac hacia izquierda"}},"category":"Sm"},{"key":"27E5","mappings":{"default":{"default":"cuadrado con tictac hacia derecha"}},"category":"Sm"},{"key":"299A","mappings":{"default":{"default":"zigzag en vertical"}},"category":"Sm"},{"key":"29B0","mappings":{"default":{"default":"conjunto vacÃo invertido"}},"category":"Sm"},{"key":"29B1","mappings":{"default":{"default":"conjunto vacÃo con barra"}},"category":"Sm"},{"key":"29B2","mappings":{"default":{"default":"conjunto vacÃo con cÃrculo"}},"category":"Sm"},{"key":"29B5","mappings":{"default":{"default":"cÃrculo con barra"}},"category":"Sm"},{"key":"29B6","mappings":{"default":{"default":"barra en cÃrculo"}},"category":"Sm"},{"key":"29B7","mappings":{"default":{"default":"paralelas en cÃrculo"}},"category":"Sm"},{"key":"29B9","mappings":{"default":{"default":"perpendicular en cÃrculo"}},"category":"Sm"},{"key":"29BB","mappings":{"default":{"default":"x superimpresa en cÃrculo"}},"category":"Sm"},{"key":"29BC","mappings":{"default":{"default":"circled anticlockwise rotated division"}},"category":"Sm"},{"key":"29BE","mappings":{"default":{"default":"bullet vacÃa en cÃrculo"}},"category":"Sm"},{"key":"29BF","mappings":{"default":{"default":"bullet en cÃrculo"}},"category":"Sm"},{"key":"29C0","mappings":{"default":{"default":"menor que en cÃrculo"}},"category":"Sm"},{"key":"29C1","mappings":{"default":{"default":"mayor que en cÃrculo"}},"category":"Sm"},{"key":"29C2","mappings":{"default":{"default":"cÃrculo con cÃrculo a la derecha"}},"category":"Sm"},{"key":"29C3","mappings":{"default":{"default":"circle with two horizontal strokes to the right"}},"category":"Sm"},{"key":"29C4","mappings":{"default":{"default":"cuadrado con diagonal ascendente"}},"category":"Sm"},{"key":"29C5","mappings":{"default":{"default":"cuadrado con diagonal descendente"}},"category":"Sm"},{"key":"29C9","mappings":{"default":{"default":"dos cuadrados unidos"}},"category":"Sm"},{"key":"29CD","mappings":{"default":{"default":"triangle with serifs at bottom"}},"category":"Sm"},{"key":"29CE","mappings":{"default":{"default":"triángulo hacia la derecha sobre triángulo hacia la izquierda"}},"category":"Sm"},{"key":"29CF","mappings":{"default":{"default":"subgrupo normal o igual a"}},"category":"Sm"},{"key":"29D0","mappings":{"default":{"default":"contiene como subgrupo normal o es igual a"}},"category":"Sm"},{"key":"29DC","mappings":{"default":{"default":"infinito incompleto"}},"category":"Sm"},{"key":"29DE","mappings":{"default":{"default":"no infinito"}},"category":"Sm"},{"key":"29E3","mappings":{"default":{"default":"igual tachado doble "}},"category":"Sm"},{"key":"29E4","mappings":{"default":{"default":"igual con tilde, con doble tachado"}},"category":"Sm"},{"key":"29E5","mappings":{"default":{"default":"idéntico a con doble tachado"}},"category":"Sm"},{"key":"29EB","mappings":{"default":{"default":"rombo relleno"}},"category":"Sm"},{"key":"29F4","mappings":{"default":{"default":"rule delayed"}},"category":"Sm"},{"key":"29F6","mappings":{"default":{"default":"solidus with overbar"}},"category":"Sm"},{"key":"2A0C","mappings":{"default":{"default":"operador integral cuádruple"}},"category":"Sm"},{"key":"2A0D","mappings":{"default":{"default":"finite part integral"}},"category":"Sm"},{"key":"2A10","mappings":{"default":{"default":"circulation function"}},"category":"Sm"},{"key":"2A11","mappings":{"default":{"default":"integral en sentido antihorario"}},"category":"Sm"},{"key":"2A12","mappings":{"default":{"default":"integral lineal para rectángulo en polo"}},"category":"Sm"},{"key":"2A13","mappings":{"default":{"default":"integral lineal para semicÃrculo en polo"}},"category":"Sm"},{"key":"2A14","mappings":{"default":{"default":"integral lineal excluyendo el polo"}},"category":"Sm"},{"key":"2A15","mappings":{"default":{"default":"integral en torno de un punto operador"}},"category":"Sm"},{"key":"2A16","mappings":{"default":{"default":"operador integral para cuaterniones"}},"category":"Sm"},{"key":"2A22","mappings":{"default":{"default":"más con cÃrculo"}},"category":"Sm"},{"key":"2A23","mappings":{"default":{"default":"más con ángulo"}},"category":"Sm"},{"key":"2A24","mappings":{"default":{"default":"tilde con más suscrito"}},"category":"Sm"},{"key":"2A25","mappings":{"default":{"default":"más con punto inferior"}},"category":"Sm"},{"key":"2A26","mappings":{"default":{"default":"tilde con más"}},"category":"Sm"},{"key":"2A27","mappings":{"default":{"default":"más con 2 suscrito"}},"category":"Sm"},{"key":"2A29","mappings":{"default":{"default":"menos con coma"}},"category":"Sm"},{"key":"2A2A","mappings":{"default":{"default":"menos con punto inferior"}},"category":"Sm"},{"key":"2A2D","mappings":{"default":{"default":"más en semicÃrculo izquierdo"}},"category":"Sm"},{"key":"2A2E","mappings":{"default":{"default":"más en semicÃrculo derecho"}},"category":"Sm"},{"key":"2A2F","mappings":{"default":{"default":"producto vectorial"}},"category":"Sm"},{"key":"2A30","mappings":{"default":{"default":"por con punto"}},"category":"Sm"},{"key":"2A31","mappings":{"default":{"default":"por con subrayado"}},"category":"Sm"},{"key":"2A33","mappings":{"default":{"default":"smash product"}},"category":"Sm"},{"key":"2A34","mappings":{"default":{"default":"por en semicÃrculo izquierdo"}},"category":"Sm"},{"key":"2A35","mappings":{"default":{"default":"por en semicÃrculo derecho"}},"category":"Sm"},{"key":"2A36","mappings":{"default":{"default":"por en cÃrculo con ángulo"}},"category":"Sm"},{"key":"2A37","mappings":{"default":{"default":"por en anillo"}},"category":"Sm"},{"key":"2A38","mappings":{"default":{"default":"división en cÃrculo"}},"category":"Sm"},{"key":"2A39","mappings":{"default":{"default":"más en triángulo"}},"category":"Sm"},{"key":"2A3A","mappings":{"default":{"default":"menos en triángulo"}},"category":"Sm"},{"key":"2A3B","mappings":{"default":{"default":"por en triángulo"}},"category":"Sm"},{"key":"2A3C","mappings":{"default":{"default":"producto interior"}},"category":"Sm"},{"key":"2A3F","mappings":{"default":{"default":"coproducto"}},"category":"Sm"},{"key":"2A40","mappings":{"default":{"default":"intersección con punto"}},"category":"Sm"},{"key":"2A42","mappings":{"default":{"default":"unión con barra"}},"category":"Sm"},{"key":"2A43","mappings":{"default":{"default":"intersección con barra"}},"category":"Sm"},{"key":"2A44","mappings":{"default":{"default":"intersección con and"}},"category":"Sm"},{"key":"2A45","mappings":{"default":{"default":"unión con or"}},"category":"Sm"},{"key":"2A46","mappings":{"default":{"default":"unión sobre intersección"}},"category":"Sm"},{"key":"2A47","mappings":{"default":{"default":"intersección sobre unión"}},"category":"Sm"},{"key":"2A48","mappings":{"default":{"default":"unión sobre barra, sobre intersección"}},"category":"Sm"},{"key":"2A49","mappings":{"default":{"default":"intersección sobre barra, sobre unión "}},"category":"Sm"},{"key":"2A4A","mappings":{"default":{"default":"unión y unión"}},"category":"Sm"},{"key":"2A4B","mappings":{"default":{"default":"intersección e intersección"}},"category":"Sm"},{"key":"2A4C","mappings":{"default":{"default":"unión cerrada"}},"category":"Sm"},{"key":"2A4D","mappings":{"default":{"default":"intersección cerrada"}},"category":"Sm"},{"key":"2A50","mappings":{"default":{"default":"unión cerrada con por"}},"category":"Sm"},{"key":"2A53","mappings":{"default":{"default":"y"}},"category":"Sm"},{"key":"2A54","mappings":{"default":{"default":"o"}},"category":"Sm"},{"key":"2A55","mappings":{"default":{"default":"two intersecting logical and"}},"category":"Sm"},{"key":"2A56","mappings":{"default":{"default":"two intersecting logical or"}},"category":"Sm"},{"key":"2A57","mappings":{"default":{"default":"sloping large or"}},"category":"Sm"},{"key":"2A58","mappings":{"default":{"default":"sloping large and"}},"category":"Sm"},{"key":"2A5A","mappings":{"default":{"default":"logical and with middle stem"}},"category":"Sm"},{"key":"2A5B","mappings":{"default":{"default":"logical or with middle stem"}},"category":"Sm"},{"key":"2A5C","mappings":{"default":{"default":"logical and with horizontal dash"}},"category":"Sm"},{"key":"2A5D","mappings":{"default":{"default":"logical or with horizontal dash"}},"category":"Sm"},{"key":"2A5F","mappings":{"default":{"default":"logical and with underbar"}},"category":"Sm"},{"key":"2A66","mappings":{"default":{"default":"igual con punto suscrito"}},"category":"Sm"},{"key":"2A6A","mappings":{"default":{"default":"tilde con punto"}},"category":"Sm"},{"key":"2A6D","mappings":{"default":{"default":"congruente con punto"}},"category":"Sm"},{"key":"2A6F","mappings":{"default":{"default":"casi igual con ángulo"}},"category":"Sm"},{"key":"2A71","mappings":{"default":{"default":"igual con más suscrito"}},"category":"Sm"},{"key":"2A72","mappings":{"default":{"default":"igual con más"}},"category":"Sm"},{"key":"2A73","mappings":{"default":{"default":"igual con operador tilde"}},"category":"Sm"},{"key":"2A74","mappings":{"default":{"default":"igual con dos puntos"}},"category":"Sm"},{"key":"2A75","mappings":{"default":{"default":"igual doble"}},"category":"Sm"},{"key":"2A77","mappings":{"default":{"default":"igual entre cuatro puntos"}},"category":"Sm"},{"key":"2A78","mappings":{"default":{"default":"equivalente con cuatro puntos"}},"category":"Sm"},{"key":"2A79","mappings":{"default":{"default":"menor que con cÃrculo interior"}},"category":"Sm"},{"key":"2A7A","mappings":{"default":{"default":"mayor que con cÃrculo interior"}},"category":"Sm"},{"key":"2A7B","mappings":{"default":{"default":"menor que con interrogante"}},"category":"Sm"},{"key":"2A7C","mappings":{"default":{"default":"mayor que con interrogante"}},"category":"Sm"},{"key":"2A7D","mappings":{"default":{"default":"estrictamente menor que"}},"category":"Sm"},{"key":"2A7E","mappings":{"default":{"default":"estrictamente mayor que"}},"category":"Sm"},{"key":"2A7F","mappings":{"default":{"default":"estrictamente menor que con punto interior"}},"category":"Sm"},{"key":"2A80","mappings":{"default":{"default":"estrictamente mayor que con punto interior"}},"category":"Sm"},{"key":"2A81","mappings":{"default":{"default":"estrictamente menor que con punto"}},"category":"Sm"},{"key":"2A82","mappings":{"default":{"default":"estrictamente mayor que con punto"}},"category":"Sm"},{"key":"2A83","mappings":{"default":{"default":"estrictamente menor que con punto"}},"category":"Sm"},{"key":"2A84","mappings":{"default":{"default":"estrictamente mayor que con punto"}},"category":"Sm"},{"key":"2A89","mappings":{"default":{"default":"menor que, pero no aproximado a"}},"category":"Sm"},{"key":"2A8A","mappings":{"default":{"default":"mayor que, pero no aproximado a"}},"category":"Sm"},{"key":"2A8D","mappings":{"default":{"default":"menor, similar o igual a"}},"category":"Sm"},{"key":"2A8E","mappings":{"default":{"default":"mayor, similar o igual a"}},"category":"Sm"},{"key":"2A8F","mappings":{"default":{"default":"menor, similar o mayor que"}},"category":"Sm"},{"key":"2A90","mappings":{"default":{"default":"mayor, similar o menor que"}},"category":"Sm"},{"key":"2A91","mappings":{"default":{"default":"menor, mayor o igual a"}},"category":"Sm"},{"key":"2A92","mappings":{"default":{"default":"mayor, menor o igual a"}},"category":"Sm"},{"key":"2A93","mappings":{"default":{"default":"estrictamente menor o mayor que"}},"category":"Sm"},{"key":"2A94","mappings":{"default":{"default":"estrictamente mayor o menor que"}},"category":"Sm"},{"key":"2A97","mappings":{"default":{"default":"estrictamente menor que con punto interior"}},"category":"Sm"},{"key":"2A98","mappings":{"default":{"default":"estrictamente mayor que con punto interior"}},"category":"Sm"},{"key":"2A99","mappings":{"default":{"default":"menor o igual a"}},"category":"Sm"},{"key":"2A9A","mappings":{"default":{"default":"mayor o igual a"}},"category":"Sm"},{"key":"2A9D","mappings":{"default":{"default":"equivalente o menor que"}},"category":"Sm"},{"key":"2A9E","mappings":{"default":{"default":"mayor o similar a"}},"category":"Sm"},{"key":"2A9F","mappings":{"default":{"default":"similar, menor o igual a"}},"category":"Sm"},{"key":"2AA0","mappings":{"default":{"default":"similar, mayor o igual a"}},"category":"Sm"},{"key":"2AA1","mappings":{"default":{"default":"mucho menor que"}},"category":"Sm"},{"key":"2AA2","mappings":{"default":{"default":"mucho mayor que"}},"category":"Sm"},{"key":"2AA4","mappings":{"default":{"default":"menor que, mayor que"}},"category":"Sm"},{"key":"2AA5","mappings":{"default":{"default":"mayor o menor que"}},"category":"Sm"},{"key":"2AA6","mappings":{"default":{"default":"menor que cerrado con curva"}},"category":"Sm"},{"key":"2AA7","mappings":{"default":{"default":"mayor que cerrado con curva"}},"category":"Sm"},{"key":"2AA8","mappings":{"default":{"default":"estrictamente menor que cerrado con curva"}},"category":"Sm"},{"key":"2AA9","mappings":{"default":{"default":"estrictamente mayor que cerrado con curva"}},"category":"Sm"},{"key":"2AAA","mappings":{"default":{"default":"más reducido que"}},"category":"Sm"},{"key":"2AAB","mappings":{"default":{"default":"más amplio que"}},"category":"Sm"},{"key":"2AAC","mappings":{"default":{"default":"más reducido o igual a"}},"category":"Sm"},{"key":"2AAD","mappings":{"default":{"default":"más amplio o igual a"}},"category":"Sm"},{"key":"2AAE","mappings":{"default":{"default":"diferencia entre"}},"category":"Sm"},{"key":"2AAF","mappings":{"default":{"default":"precede o es igual a"}},"category":"Sm"},{"key":"2AB5","mappings":{"default":{"default":"precede estrictamente a"}},"category":"Sm"},{"key":"2AB6","mappings":{"default":{"default":"sigue estrictamente a"}},"category":"Sm"},{"key":"2ABB","mappings":{"default":{"default":"precede mucho antes"}},"category":"Sm"},{"key":"2ABC","mappings":{"default":{"default":"sigue mucho después"}},"category":"Sm"},{"key":"2ABD","mappings":{"default":{"default":"subrelación de"}},"category":"Sm"},{"key":"2ABE","mappings":{"default":{"default":"contiene como subrelación a"}},"category":"Sm"},{"key":"2ABF","mappings":{"default":{"default":"incluido con más suscrito"}},"category":"Sm"},{"key":"2AC0","mappings":{"default":{"default":"contiene con más suscrito"}},"category":"Sm"},{"key":"2AC1","mappings":{"default":{"default":"incluido con por suscrito"}},"category":"Sm"},{"key":"2AC2","mappings":{"default":{"default":"contiene con por suscrito"}},"category":"Sm"},{"key":"2AC3","mappings":{"default":{"default":"incluido con punto o es igual a"}},"category":"Sm"},{"key":"2AC4","mappings":{"default":{"default":"contiene con punto o es igual a"}},"category":"Sm"},{"key":"2AC7","mappings":{"default":{"default":"incluido aproximadamente en"}},"category":"Sm"},{"key":"2AC8","mappings":{"default":{"default":"contiene aproximadamente a"}},"category":"Sm"},{"key":"2ACF","mappings":{"default":{"default":"incluido con cierre en"}},"category":"Sm"},{"key":"2AD0","mappings":{"default":{"default":"contiene al cierre del subconjunto"}},"category":"Sm"},{"key":"2AD1","mappings":{"default":{"default":"incluido el cierre o es igual a"}},"category":"Sm"},{"key":"2AD2","mappings":{"default":{"default":"contiene al cierre del subconjunto o es igual a"}},"category":"Sm"},{"key":"2AD3","mappings":{"default":{"default":"está incluido o contiene a"}},"category":"Sm"},{"key":"2AD4","mappings":{"default":{"default":"contiene o está incluido en"}},"category":"Sm"},{"key":"2AD5","mappings":{"default":{"default":"incluido doblemente en"}},"category":"Sm"},{"key":"2AD6","mappings":{"default":{"default":"contiene doblemente a"}},"category":"Sm"},{"key":"2AD7","mappings":{"default":{"default":"contiene o está incluido en"}},"category":"Sm"},{"key":"2AD8","mappings":{"default":{"default":"contiene o está incluido en"}},"category":"Sm"},{"key":"2AD9","mappings":{"default":{"default":"perteneciente dirigido hacia abajo"}},"category":"Sm"},{"key":"2ADA","mappings":{"default":{"default":"pitchfork with tee top"}},"category":"Sm"},{"key":"2ADB","mappings":{"default":{"default":"transversal intersection"}},"category":"Sm"},{"key":"2AE4","mappings":{"default":{"default":"double left turnstile vertical bar"}},"category":"Sm"},{"key":"2AE6","mappings":{"default":{"default":"long dash from left member of double vertical"}},"category":"Sm"},{"key":"2AE7","mappings":{"default":{"default":"short down tack with overbar"}},"category":"Sm"},{"key":"2AE8","mappings":{"default":{"default":"barra con perpendicular"}},"category":"Sm"},{"key":"2AE9","mappings":{"default":{"default":"short up tack above short down tack"}},"category":"Sm"},{"key":"2AEB","mappings":{"default":{"default":"double up tack"}},"category":"Sm"},{"key":"2AEC","mappings":{"default":{"default":"double stroke not sign"}},"category":"Sm"},{"key":"2AED","mappings":{"default":{"default":"reversed double stroke not sign"}},"category":"Sm"},{"key":"2AEE","mappings":{"default":{"default":"does not divide with reversed negation slash"}},"category":"Sm"},{"key":"2AEF","mappings":{"default":{"default":"barra vertical con cÃrculo"}},"category":"Sm"},{"key":"2AF0","mappings":{"default":{"default":"barra con cÃrculo inferior"}},"category":"Sm"},{"key":"2AF1","mappings":{"default":{"default":"down tack with circle below"}},"category":"Sm"},{"key":"2AF2","mappings":{"default":{"default":"paralela con marca"}},"category":"Sm"},{"key":"2AF3","mappings":{"default":{"default":"paralela con tilde"}},"category":"Sm"},{"key":"FE68","mappings":{"default":{"default":"división entera"}},"category":"Po"},{"key":"FF5C","mappings":{"default":{"default":"barra vertical"}},"category":"Sm"}] +, +"es/math_whitespace.js": +[{"locale":"es"},{"key":"00A0","mappings":{"default":{"default":" "}},"category":"Zs"},{"key":"00AD","mappings":{"default":{"default":"guión corto"}},"category":"Cf"},{"key":"2002","mappings":{"default":{"default":""}},"category":"Zs"},{"key":"2003","mappings":{"default":{"default":""}},"category":"Zs"},{"key":"2004","mappings":{"default":{"default":""}},"category":"Zs"},{"key":"2005","mappings":{"default":{"default":""}},"category":"Zs"},{"key":"2007","mappings":{"default":{"default":""}},"category":"Zs"},{"key":"2008","mappings":{"default":{"default":""}},"category":"Zs"},{"key":"2009","mappings":{"default":{"default":""}},"category":"Zs"},{"key":"200A","mappings":{"default":{"default":""}},"category":"Zs"},{"key":"200B","mappings":{"default":{"default":""}},"category":"Cf"},{"key":"200C","mappings":{"default":{"default":"ancho de cero no ensamblador"}},"category":"Cf"},{"key":"200D","mappings":{"default":{"default":"ancho de cero ensamblador"}},"category":"Cf"},{"key":"200E","mappings":{"default":{"default":"marca de izquierda a derecha"}},"category":"Cf"},{"key":"200F","mappings":{"default":{"default":"marca de derecha a izquierda"}},"category":"Cf"},{"key":"205F","mappings":{"default":{"default":""}},"category":"Zs"},{"key":"2060","mappings":{"default":{"default":""}},"category":"Cf"},{"key":"2061","mappings":{"default":{"default":"de"}},"category":"Cf"},{"key":"2062","mappings":{"default":{"default":"por"}},"category":"Cf"},{"key":"2063","mappings":{"default":{"default":"coma"}},"category":"Cf"},{"key":"2064","mappings":{"default":{"default":"más"}},"category":"Cf"},{"key":"FEFF","mappings":{"default":{"default":""}},"category":"Cf"}] +, +"es/other_stars.js": +[{"locale":"es"},{"key":"2605","mappings":{"default":{"default":"estrella rellena"}},"category":"So"},{"key":"2606","mappings":{"default":{"default":"estrella vacÃa"}},"category":"So"},{"key":"2713","mappings":{"default":{"default":"check mark"}},"category":"So"},{"key":"2717","mappings":{"default":{"default":"ballot x"}},"category":"So"},{"key":"2720","mappings":{"default":{"default":"cruz de Malta"}},"category":"So"},{"key":"2736","mappings":{"default":{"default":"estrella rellena de seis puntas"}},"category":"So"},{"key":"273D","mappings":{"default":{"default":"heavy teardrop spoked asterisk"}},"category":"So"}] +, +"es/energy.js": +[{"locale":"es"},{"key":"W","names":["W","w"],"mappings":{"default":{"default":"watt"}},"category":"energy"},{"key":"kW","names":["kw","kW"],"mappings":{"default":{"default":"kilowatt"}},"category":"energy"},{"key":"mW","names":["mw","mW"],"mappings":{"default":{"default":"miliwatt"}},"category":"energy"},{"key":"kwh","names":["kwh","kWh"],"mappings":{"default":{"default":"kilowatt hora"}},"category":"energy"},{"key":"J","names":["J"],"mappings":{"default":{"default":"Joules"}},"category":"energy"},{"key":"N","names":["N"],"mappings":{"default":{"default":"Newton"}},"category":"energy"},{"key":"A","names":["A"],"mappings":{"default":{"default":"Ampere"}},"category":"energy"},{"key":"V","names":["V"],"mappings":{"default":{"default":"Voltio"}},"category":"energy"},{"key":"µΩ","names":["µΩ"],"mappings":{"default":{"default":"microohmio"}},"category":"energy"},{"key":"mΩ","names":["mΩ"],"mappings":{"default":{"default":"miliohmio"}},"category":"energy"},{"key":"Ω","names":["Ω","Ohm"],"mappings":{"default":{"default":"ohmio"}},"category":"energy"},{"key":"kΩ","names":["kΩ","KΩ"],"mappings":{"default":{"default":"kiloohmio"}},"category":"energy"},{"key":"MΩ","names":["MΩ"],"mappings":{"default":{"default":"megaohmio"}},"category":"energy"},{"key":"GΩ","names":["GΩ"],"mappings":{"default":{"default":"gigaohmio"}},"category":"energy"}] +, +"es/length.js": +[{"locale":"es"},{"key":"mm","names":["mm"],"mappings":{"default":{"default":"milÃmetro"}},"category":"Length"},{"key":"cm","names":["cm"],"mappings":{"default":{"default":"centÃmetro"}},"category":"Length"},{"key":"m","names":["m"],"mappings":{"default":{"default":"metro"}},"category":"Length"},{"key":"km","names":["km"],"mappings":{"default":{"default":"kilómetro"}},"category":"Length"},{"key":"ft","names":["ft","ft."],"mappings":{"default":{"default":"pies"}},"category":"Length"},{"key":"in","names":["in","in."],"mappings":{"default":{"default":"pulgada"}},"category":"Length"},{"key":"mi","names":["mi","mi."],"mappings":{"default":{"default":"milla"}},"category":"Length"},{"key":"yd","names":["yd","yd."],"mappings":{"default":{"default":"yarda"}},"category":"Length"},{"key":"n.m.","names":["n.m."],"mappings":{"default":{"default":"millas náuticas"}}}] +, +"es/memory.js": +[{"locale":"es"},{"key":"b","names":["b"],"mappings":{"default":{"default":"bit"}}},{"key":"B","names":["B"],"mappings":{"default":{"default":"byte"}}},{"key":"KB","names":["KB"],"mappings":{"default":{"default":"kilobyte"}}},{"key":"MB","names":["MB"],"mappings":{"default":{"default":"megabyte"}}},{"key":"GB","names":["GB"],"mappings":{"default":{"default":"gigabyte"}}},{"key":"TB","names":["TB"],"mappings":{"default":{"default":"terabyte"}}}] +, +"es/other.js": +[{"locale":"es"},{"key":"doz","names":["doz","doz.","dz","dz."],"mappings":{"default":{"default":"docena"}}},{"key":"sq","names":["sq","sq."],"mappings":{"default":{"default":"al cuadrado"}}},{"key":"ha","names":["ha"],"mappings":{"default":{"default":"hectarea"}}}] +, +"es/speed.js": +[{"locale":"es"},{"key":"kt","names":["kt","kt."],"mappings":{"default":{"default":"nudo"}}},{"key":"mph","names":["mph"],"mappings":{"default":{"default":"millas por hora"}}},{"key":"rpm","names":["rpm"],"mappings":{"default":{"default":"revoluciones por minuto"}}},{"key":"kmh","names":["kmh"],"mappings":{"default":{"default":"kilómetros por hora"}}}] +, +"es/temperature.js": +[{"locale":"es"},{"key":"F","names":["F","F.","°F"],"mappings":{"default":{"default":"Fahrenheit"}}},{"key":"C","names":["C","°C"],"mappings":{"default":{"default":"centÃgrados"}}},{"key":"K","names":["K","°K"],"mappings":{"default":{"default":"Kelvin"}}}] +, +"es/time.js": +[{"locale":"es"},{"key":"ns","names":["ns"],"mappings":{"default":{"default":"nanosegundos"}},"category":"time"},{"key":"µs","names":["µs"],"mappings":{"default":{"default":"microsegundos"}},"category":"time"},{"key":"ms","names":["ms"],"mappings":{"default":{"default":"milisegundos"}},"category":"time"},{"key":"s","names":["s"],"mappings":{"default":{"default":"segundos"}},"category":"time"},{"key":"min","names":["min"],"mappings":{"default":{"default":"minutos"}},"category":"time"},{"key":"h","names":["h","hr"],"mappings":{"default":{"default":"hora"}},"category":"time"}] +, +"es/volume.js": +[{"locale":"es"},{"key":"bbl","names":["bbl.","bbl"],"mappings":{"default":{"default":"barrile"}},"category":"volume"},{"key":"cu","names":["cu","cu."],"mappings":{"default":{"default":"cúbico"}},"category":"volume"},{"key":"fl. oz.","names":["fl. oz."],"mappings":{"default":{"default":"onzas lÃquidas"}},"category":"volume"},{"key":"gal","names":["gal","gal."],"mappings":{"default":{"default":"galone"}},"category":"volume"},{"key":"pt","names":["pt","pt."],"mappings":{"default":{"default":"pinta"}},"category":"volume"},{"key":"qt","names":["qt","qt."],"mappings":{"default":{"default":"quart"}},"category":"volume"},{"key":"tbsp","names":["tbsp","tbsp."],"mappings":{"default":{"default":"cuchara"}},"category":"volume"},{"key":"tsp","names":["tsp","tsp."],"mappings":{"default":{"default":"cucharilla"}},"category":"volume"},{"key":"cc","names":["cc"],"mappings":{"default":{"default":"centÃmetros cúbicos"}},"category":"volume"},{"key":"kl","names":["kl"],"mappings":{"default":{"default":"kilolitro"}},"category":"volume"},{"key":"l","names":["l"],"mappings":{"default":{"default":"litro"}},"category":"volume"},{"key":"ml","names":["ml"],"mappings":{"default":{"default":"mililitro"}},"category":"volume"}] +, +"es/weight.js": +[{"locale":"es"},{"key":"lb","names":["lb","lb."],"mappings":{"default":{"default":"libra"}}},{"key":"LT","names":["LT","L.T."],"mappings":{"default":{"default":"libras imperiales"}}},{"key":"oz","names":["oz","oz."],"mappings":{"default":{"default":"onza"}}},{"key":"µg","names":["µg","mcg"],"mappings":{"default":{"default":"microgramo"}}},{"key":"gr","names":["g","gr"],"mappings":{"default":{"default":"gramo"}}},{"key":"kg","names":["kg"],"mappings":{"default":{"default":"kilogramo"}}},{"key":"mg","names":["mg"],"mappings":{"default":{"default":"miligramo"}}},{"key":"t","names":["t","T"],"mappings":{"default":{"default":"tonelada"}}}] +} + diff --git a/assets/js/mermaid.js b/assets/js/mermaid.js new file mode 100644 index 0000000000000000000000000000000000000000..b772fbbafd2ab21f2c17bebe981ec826438dc8d5 --- /dev/null +++ b/assets/js/mermaid.js @@ -0,0 +1,46785 @@ +! function(t, e) { + "object" == typeof exports && "object" == typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define([], e) : "object" == typeof exports ? exports.mermaid = e() : t.mermaid = e() +}(window, (function() { + return function(t) { + var e = {}; + + function n(r) { + if (e[r]) return e[r].exports; + var i = e[r] = { + i: r, + l: !1, + exports: {} + }; + return t[r].call(i.exports, i, i.exports, n), i.l = !0, i.exports + } + return n.m = t, n.c = e, n.d = function(t, e, r) { + n.o(t, e) || Object.defineProperty(t, e, { + enumerable: !0, + get: r + }) + }, n.r = function(t) { + "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, { + value: "Module" + }), Object.defineProperty(t, "__esModule", { + value: !0 + }) + }, n.t = function(t, e) { + if (1 & e && (t = n(t)), 8 & e) return t; + if (4 & e && "object" == typeof t && t && t.__esModule) return t; + var r = Object.create(null); + if (n.r(r), Object.defineProperty(r, "default", { + enumerable: !0, + value: t + }), 2 & e && "string" != typeof t) + for (var i in t) n.d(r, i, function(e) { + return t[e] + }.bind(null, i)); + return r + }, n.n = function(t) { + var e = t && t.__esModule ? function() { + return t.default + } : function() { + return t + }; + return n.d(e, "a", e), e + }, n.o = function(t, e) { + return Object.prototype.hasOwnProperty.call(t, e) + }, n.p = "", n(n.s = 509) + }([function(t, e, n) { + "use strict"; + n.r(e); + var r = function(t, e) { + return t < e ? -1 : t > e ? 1 : t >= e ? 0 : NaN + }, + i = function(t) { + var e; + return 1 === t.length && (e = t, t = function(t, n) { + return r(e(t), n) + }), { + left: function(e, n, r, i) { + for (null == r && (r = 0), null == i && (i = e.length); r < i;) { + var a = r + i >>> 1; + t(e[a], n) < 0 ? r = a + 1 : i = a + } + return r + }, + right: function(e, n, r, i) { + for (null == r && (r = 0), null == i && (i = e.length); r < i;) { + var a = r + i >>> 1; + t(e[a], n) > 0 ? i = a : r = a + 1 + } + return r + } + } + }; + var a = i(r), + o = a.right, + s = a.left, + u = o, + c = function(t, e) { + null == e && (e = f); + for (var n = 0, r = t.length - 1, i = t[0], a = new Array(r < 0 ? 0 : r); n < r;) a[n] = e(i, i = t[++n]); + return a + }; + + function f(t, e) { + return [t, e] + } + var l = function(t, e, n) { + var r, i, a, o, s = t.length, + u = e.length, + c = new Array(s * u); + for (null == n && (n = f), r = a = 0; r < s; ++r) + for (o = t[r], i = 0; i < u; ++i, ++a) c[a] = n(o, e[i]); + return c + }, + h = function(t, e) { + return e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN + }, + d = function(t) { + return null === t ? NaN : +t + }, + p = function(t, e) { + var n, r, i = t.length, + a = 0, + o = -1, + s = 0, + u = 0; + if (null == e) + for (; ++o < i;) isNaN(n = d(t[o])) || (u += (r = n - s) * (n - (s += r / ++a))); + else + for (; ++o < i;) isNaN(n = d(e(t[o], o, t))) || (u += (r = n - s) * (n - (s += r / ++a))); + if (a > 1) return u / (a - 1) + }, + g = function(t, e) { + var n = p(t, e); + return n ? Math.sqrt(n) : n + }, + y = function(t, e) { + var n, r, i, a = t.length, + o = -1; + if (null == e) { + for (; ++o < a;) + if (null != (n = t[o]) && n >= n) + for (r = i = n; ++o < a;) null != (n = t[o]) && (r > n && (r = n), i < n && (i = n)) + } else + for (; ++o < a;) + if (null != (n = e(t[o], o, t)) && n >= n) + for (r = i = n; ++o < a;) null != (n = e(t[o], o, t)) && (r > n && (r = n), i < n && (i = n)); + return [r, i] + }, + b = Array.prototype, + v = b.slice, + m = b.map, + _ = function(t) { + return function() { + return t + } + }, + w = function(t) { + return t + }, + x = function(t, e, n) { + t = +t, e = +e, n = (i = arguments.length) < 2 ? (e = t, t = 0, 1) : i < 3 ? 1 : +n; + for (var r = -1, i = 0 | Math.max(0, Math.ceil((e - t) / n)), a = new Array(i); ++r < i;) a[r] = t + r * n; + return a + }, + k = Math.sqrt(50), + E = Math.sqrt(10), + A = Math.sqrt(2), + S = function(t, e, n) { + var r, i, a, o, s = -1; + if (n = +n, (t = +t) === (e = +e) && n > 0) return [t]; + if ((r = e < t) && (i = t, t = e, e = i), 0 === (o = M(t, e, n)) || !isFinite(o)) return []; + if (o > 0) + for (t = Math.ceil(t / o), e = Math.floor(e / o), a = new Array(i = Math.ceil(e - t + 1)); ++s < i;) a[s] = (t + s) * o; + else + for (t = Math.floor(t * o), e = Math.ceil(e * o), a = new Array(i = Math.ceil(t - e + 1)); ++s < i;) a[s] = (t - s) / o; + return r && a.reverse(), a + }; + + function M(t, e, n) { + var r = (e - t) / Math.max(0, n), + i = Math.floor(Math.log(r) / Math.LN10), + a = r / Math.pow(10, i); + return i >= 0 ? (a >= k ? 10 : a >= E ? 5 : a >= A ? 2 : 1) * Math.pow(10, i) : -Math.pow(10, -i) / (a >= k ? 10 : a >= E ? 5 : a >= A ? 2 : 1) + } + + function T(t, e, n) { + var r = Math.abs(e - t) / Math.max(0, n), + i = Math.pow(10, Math.floor(Math.log(r) / Math.LN10)), + a = r / i; + return a >= k ? i *= 10 : a >= E ? i *= 5 : a >= A && (i *= 2), e < t ? -i : i + } + var D = function(t) { + return Math.ceil(Math.log(t.length) / Math.LN2) + 1 + }, + C = function() { + var t = w, + e = y, + n = D; + + function r(r) { + var i, a, o = r.length, + s = new Array(o); + for (i = 0; i < o; ++i) s[i] = t(r[i], i, r); + var c = e(s), + f = c[0], + l = c[1], + h = n(s, f, l); + Array.isArray(h) || (h = T(f, l, h), h = x(Math.ceil(f / h) * h, l, h)); + for (var d = h.length; h[0] <= f;) h.shift(), --d; + for (; h[d - 1] > l;) h.pop(), --d; + var p, g = new Array(d + 1); + for (i = 0; i <= d; ++i)(p = g[i] = []).x0 = i > 0 ? h[i - 1] : f, p.x1 = i < d ? h[i] : l; + for (i = 0; i < o; ++i) f <= (a = s[i]) && a <= l && g[u(h, a, 0, d)].push(r[i]); + return g + } + return r.value = function(e) { + return arguments.length ? (t = "function" == typeof e ? e : _(e), r) : t + }, r.domain = function(t) { + return arguments.length ? (e = "function" == typeof t ? t : _([t[0], t[1]]), r) : e + }, r.thresholds = function(t) { + return arguments.length ? (n = "function" == typeof t ? t : Array.isArray(t) ? _(v.call(t)) : _(t), r) : n + }, r + }, + N = function(t, e, n) { + if (null == n && (n = d), r = t.length) { + if ((e = +e) <= 0 || r < 2) return +n(t[0], 0, t); + if (e >= 1) return +n(t[r - 1], r - 1, t); + var r, i = (r - 1) * e, + a = Math.floor(i), + o = +n(t[a], a, t); + return o + (+n(t[a + 1], a + 1, t) - o) * (i - a) + } + }, + I = function(t, e, n) { + return t = m.call(t, d).sort(r), Math.ceil((n - e) / (2 * (N(t, .75) - N(t, .25)) * Math.pow(t.length, -1 / 3))) + }, + L = function(t, e, n) { + return Math.ceil((n - e) / (3.5 * g(t) * Math.pow(t.length, -1 / 3))) + }, + B = function(t, e) { + var n, r, i = t.length, + a = -1; + if (null == e) { + for (; ++a < i;) + if (null != (n = t[a]) && n >= n) + for (r = n; ++a < i;) null != (n = t[a]) && n > r && (r = n) + } else + for (; ++a < i;) + if (null != (n = e(t[a], a, t)) && n >= n) + for (r = n; ++a < i;) null != (n = e(t[a], a, t)) && n > r && (r = n); + return r + }, + O = function(t, e) { + var n, r = t.length, + i = r, + a = -1, + o = 0; + if (null == e) + for (; ++a < r;) isNaN(n = d(t[a])) ? --i : o += n; + else + for (; ++a < r;) isNaN(n = d(e(t[a], a, t))) ? --i : o += n; + if (i) return o / i + }, + R = function(t, e) { + var n, i = t.length, + a = -1, + o = []; + if (null == e) + for (; ++a < i;) isNaN(n = d(t[a])) || o.push(n); + else + for (; ++a < i;) isNaN(n = d(e(t[a], a, t))) || o.push(n); + return N(o.sort(r), .5) + }, + P = function(t) { + for (var e, n, r, i = t.length, a = -1, o = 0; ++a < i;) o += t[a].length; + for (n = new Array(o); --i >= 0;) + for (e = (r = t[i]).length; --e >= 0;) n[--o] = r[e]; + return n + }, + F = function(t, e) { + var n, r, i = t.length, + a = -1; + if (null == e) { + for (; ++a < i;) + if (null != (n = t[a]) && n >= n) + for (r = n; ++a < i;) null != (n = t[a]) && r > n && (r = n) + } else + for (; ++a < i;) + if (null != (n = e(t[a], a, t)) && n >= n) + for (r = n; ++a < i;) null != (n = e(t[a], a, t)) && r > n && (r = n); + return r + }, + q = function(t, e) { + for (var n = e.length, r = new Array(n); n--;) r[n] = t[e[n]]; + return r + }, + j = function(t, e) { + if (n = t.length) { + var n, i, a = 0, + o = 0, + s = t[o]; + for (null == e && (e = r); ++a < n;)(e(i = t[a], s) < 0 || 0 !== e(s, s)) && (s = i, o = a); + return 0 === e(s, s) ? o : void 0 + } + }, + U = function(t, e, n) { + for (var r, i, a = (null == n ? t.length : n) - (e = null == e ? 0 : +e); a;) i = Math.random() * a-- | 0, r = t[a + e], t[a + e] = t[i + e], t[i + e] = r; + return t + }, + z = function(t, e) { + var n, r = t.length, + i = -1, + a = 0; + if (null == e) + for (; ++i < r;)(n = +t[i]) && (a += n); + else + for (; ++i < r;)(n = +e(t[i], i, t)) && (a += n); + return a + }, + Y = function(t) { + if (!(i = t.length)) return []; + for (var e = -1, n = F(t, V), r = new Array(n); ++e < n;) + for (var i, a = -1, o = r[e] = new Array(i); ++a < i;) o[a] = t[a][e]; + return r + }; + + function V(t) { + return t.length + } + var H = function() { + return Y(arguments) + }, + G = Array.prototype.slice, + $ = function(t) { + return t + }, + W = 1, + K = 2, + X = 3, + Z = 4, + J = 1e-6; + + function Q(t) { + return "translate(" + (t + .5) + ",0)" + } + + function tt(t) { + return "translate(0," + (t + .5) + ")" + } + + function et(t) { + return function(e) { + return +t(e) + } + } + + function nt(t) { + var e = Math.max(0, t.bandwidth() - 1) / 2; + return t.round() && (e = Math.round(e)), + function(n) { + return +t(n) + e + } + } + + function rt() { + return !this.__axis + } + + function it(t, e) { + var n = [], + r = null, + i = null, + a = 6, + o = 6, + s = 3, + u = t === W || t === Z ? -1 : 1, + c = t === Z || t === K ? "x" : "y", + f = t === W || t === X ? Q : tt; + + function l(l) { + var h = null == r ? e.ticks ? e.ticks.apply(e, n) : e.domain() : r, + d = null == i ? e.tickFormat ? e.tickFormat.apply(e, n) : $ : i, + p = Math.max(a, 0) + s, + g = e.range(), + y = +g[0] + .5, + b = +g[g.length - 1] + .5, + v = (e.bandwidth ? nt : et)(e.copy()), + m = l.selection ? l.selection() : l, + _ = m.selectAll(".domain").data([null]), + w = m.selectAll(".tick").data(h, e).order(), + x = w.exit(), + k = w.enter().append("g").attr("class", "tick"), + E = w.select("line"), + A = w.select("text"); + _ = _.merge(_.enter().insert("path", ".tick").attr("class", "domain").attr("stroke", "currentColor")), w = w.merge(k), E = E.merge(k.append("line").attr("stroke", "currentColor").attr(c + "2", u * a)), A = A.merge(k.append("text").attr("fill", "currentColor").attr(c, u * p).attr("dy", t === W ? "0em" : t === X ? "0.71em" : "0.32em")), l !== m && (_ = _.transition(l), w = w.transition(l), E = E.transition(l), A = A.transition(l), x = x.transition(l).attr("opacity", J).attr("transform", (function(t) { + return isFinite(t = v(t)) ? f(t) : this.getAttribute("transform") + })), k.attr("opacity", J).attr("transform", (function(t) { + var e = this.parentNode.__axis; + return f(e && isFinite(e = e(t)) ? e : v(t)) + }))), x.remove(), _.attr("d", t === Z || t == K ? o ? "M" + u * o + "," + y + "H0.5V" + b + "H" + u * o : "M0.5," + y + "V" + b : o ? "M" + y + "," + u * o + "V0.5H" + b + "V" + u * o : "M" + y + ",0.5H" + b), w.attr("opacity", 1).attr("transform", (function(t) { + return f(v(t)) + })), E.attr(c + "2", u * a), A.attr(c, u * p).text(d), m.filter(rt).attr("fill", "none").attr("font-size", 10).attr("font-family", "sans-serif").attr("text-anchor", t === K ? "start" : t === Z ? "end" : "middle"), m.each((function() { + this.__axis = v + })) + } + return l.scale = function(t) { + return arguments.length ? (e = t, l) : e + }, l.ticks = function() { + return n = G.call(arguments), l + }, l.tickArguments = function(t) { + return arguments.length ? (n = null == t ? [] : G.call(t), l) : n.slice() + }, l.tickValues = function(t) { + return arguments.length ? (r = null == t ? null : G.call(t), l) : r && r.slice() + }, l.tickFormat = function(t) { + return arguments.length ? (i = t, l) : i + }, l.tickSize = function(t) { + return arguments.length ? (a = o = +t, l) : a + }, l.tickSizeInner = function(t) { + return arguments.length ? (a = +t, l) : a + }, l.tickSizeOuter = function(t) { + return arguments.length ? (o = +t, l) : o + }, l.tickPadding = function(t) { + return arguments.length ? (s = +t, l) : s + }, l + } + + function at(t) { + return it(W, t) + } + + function ot(t) { + return it(K, t) + } + + function st(t) { + return it(X, t) + } + + function ut(t) { + return it(Z, t) + } + var ct = { + value: function() {} + }; + + function ft() { + for (var t, e = 0, n = arguments.length, r = {}; e < n; ++e) { + if (!(t = arguments[e] + "") || t in r || /[\s.]/.test(t)) throw new Error("illegal type: " + t); + r[t] = [] + } + return new lt(r) + } + + function lt(t) { + this._ = t + } + + function ht(t, e) { + return t.trim().split(/^|\s+/).map((function(t) { + var n = "", + r = t.indexOf("."); + if (r >= 0 && (n = t.slice(r + 1), t = t.slice(0, r)), t && !e.hasOwnProperty(t)) throw new Error("unknown type: " + t); + return { + type: t, + name: n + } + })) + } + + function dt(t, e) { + for (var n, r = 0, i = t.length; r < i; ++r) + if ((n = t[r]).name === e) return n.value + } + + function pt(t, e, n) { + for (var r = 0, i = t.length; r < i; ++r) + if (t[r].name === e) { + t[r] = ct, t = t.slice(0, r).concat(t.slice(r + 1)); + break + } return null != n && t.push({ + name: e, + value: n + }), t + } + lt.prototype = ft.prototype = { + constructor: lt, + on: function(t, e) { + var n, r = this._, + i = ht(t + "", r), + a = -1, + o = i.length; + if (!(arguments.length < 2)) { + if (null != e && "function" != typeof e) throw new Error("invalid callback: " + e); + for (; ++a < o;) + if (n = (t = i[a]).type) r[n] = pt(r[n], t.name, e); + else if (null == e) + for (n in r) r[n] = pt(r[n], t.name, null); + return this + } + for (; ++a < o;) + if ((n = (t = i[a]).type) && (n = dt(r[n], t.name))) return n + }, + copy: function() { + var t = {}, + e = this._; + for (var n in e) t[n] = e[n].slice(); + return new lt(t) + }, + call: function(t, e) { + if ((n = arguments.length - 2) > 0) + for (var n, r, i = new Array(n), a = 0; a < n; ++a) i[a] = arguments[a + 2]; + if (!this._.hasOwnProperty(t)) throw new Error("unknown type: " + t); + for (a = 0, n = (r = this._[t]).length; a < n; ++a) r[a].value.apply(e, i) + }, + apply: function(t, e, n) { + if (!this._.hasOwnProperty(t)) throw new Error("unknown type: " + t); + for (var r = this._[t], i = 0, a = r.length; i < a; ++i) r[i].value.apply(e, n) + } + }; + var gt = ft; + + function yt() {} + var bt = function(t) { + return null == t ? yt : function() { + return this.querySelector(t) + } + }; + + function vt() { + return [] + } + var mt = function(t) { + return null == t ? vt : function() { + return this.querySelectorAll(t) + } + }, + _t = function(t) { + return function() { + return this.matches(t) + } + }, + wt = function(t) { + return new Array(t.length) + }; + + function xt(t, e) { + this.ownerDocument = t.ownerDocument, this.namespaceURI = t.namespaceURI, this._next = null, this._parent = t, this.__data__ = e + } + xt.prototype = { + constructor: xt, + appendChild: function(t) { + return this._parent.insertBefore(t, this._next) + }, + insertBefore: function(t, e) { + return this._parent.insertBefore(t, e) + }, + querySelector: function(t) { + return this._parent.querySelector(t) + }, + querySelectorAll: function(t) { + return this._parent.querySelectorAll(t) + } + }; + var kt = "$"; + + function Et(t, e, n, r, i, a) { + for (var o, s = 0, u = e.length, c = a.length; s < c; ++s)(o = e[s]) ? (o.__data__ = a[s], r[s] = o) : n[s] = new xt(t, a[s]); + for (; s < u; ++s)(o = e[s]) && (i[s] = o) + } + + function At(t, e, n, r, i, a, o) { + var s, u, c, f = {}, + l = e.length, + h = a.length, + d = new Array(l); + for (s = 0; s < l; ++s)(u = e[s]) && (d[s] = c = kt + o.call(u, u.__data__, s, e), c in f ? i[s] = u : f[c] = u); + for (s = 0; s < h; ++s)(u = f[c = kt + o.call(t, a[s], s, a)]) ? (r[s] = u, u.__data__ = a[s], f[c] = null) : n[s] = new xt(t, a[s]); + for (s = 0; s < l; ++s)(u = e[s]) && f[d[s]] === u && (i[s] = u) + } + + function St(t, e) { + return t < e ? -1 : t > e ? 1 : t >= e ? 0 : NaN + } + var Mt = "http://www.w3.org/1999/xhtml", + Tt = { + svg: "http://www.w3.org/2000/svg", + xhtml: Mt, + xlink: "http://www.w3.org/1999/xlink", + xml: "http://www.w3.org/XML/1998/namespace", + xmlns: "http://www.w3.org/2000/xmlns/" + }, + Dt = function(t) { + var e = t += "", + n = e.indexOf(":"); + return n >= 0 && "xmlns" !== (e = t.slice(0, n)) && (t = t.slice(n + 1)), Tt.hasOwnProperty(e) ? { + space: Tt[e], + local: t + } : t + }; + + function Ct(t) { + return function() { + this.removeAttribute(t) + } + } + + function Nt(t) { + return function() { + this.removeAttributeNS(t.space, t.local) + } + } + + function It(t, e) { + return function() { + this.setAttribute(t, e) + } + } + + function Lt(t, e) { + return function() { + this.setAttributeNS(t.space, t.local, e) + } + } + + function Bt(t, e) { + return function() { + var n = e.apply(this, arguments); + null == n ? this.removeAttribute(t) : this.setAttribute(t, n) + } + } + + function Ot(t, e) { + return function() { + var n = e.apply(this, arguments); + null == n ? this.removeAttributeNS(t.space, t.local) : this.setAttributeNS(t.space, t.local, n) + } + } + var Rt = function(t) { + return t.ownerDocument && t.ownerDocument.defaultView || t.document && t || t.defaultView + }; + + function Pt(t) { + return function() { + this.style.removeProperty(t) + } + } + + function Ft(t, e, n) { + return function() { + this.style.setProperty(t, e, n) + } + } + + function qt(t, e, n) { + return function() { + var r = e.apply(this, arguments); + null == r ? this.style.removeProperty(t) : this.style.setProperty(t, r, n) + } + } + + function jt(t, e) { + return t.style.getPropertyValue(e) || Rt(t).getComputedStyle(t, null).getPropertyValue(e) + } + + function Ut(t) { + return function() { + delete this[t] + } + } + + function zt(t, e) { + return function() { + this[t] = e + } + } + + function Yt(t, e) { + return function() { + var n = e.apply(this, arguments); + null == n ? delete this[t] : this[t] = n + } + } + + function Vt(t) { + return t.trim().split(/^|\s+/) + } + + function Ht(t) { + return t.classList || new Gt(t) + } + + function Gt(t) { + this._node = t, this._names = Vt(t.getAttribute("class") || "") + } + + function $t(t, e) { + for (var n = Ht(t), r = -1, i = e.length; ++r < i;) n.add(e[r]) + } + + function Wt(t, e) { + for (var n = Ht(t), r = -1, i = e.length; ++r < i;) n.remove(e[r]) + } + + function Kt(t) { + return function() { + $t(this, t) + } + } + + function Xt(t) { + return function() { + Wt(this, t) + } + } + + function Zt(t, e) { + return function() { + (e.apply(this, arguments) ? $t : Wt)(this, t) + } + } + Gt.prototype = { + add: function(t) { + this._names.indexOf(t) < 0 && (this._names.push(t), this._node.setAttribute("class", this._names.join(" "))) + }, + remove: function(t) { + var e = this._names.indexOf(t); + e >= 0 && (this._names.splice(e, 1), this._node.setAttribute("class", this._names.join(" "))) + }, + contains: function(t) { + return this._names.indexOf(t) >= 0 + } + }; + + function Jt() { + this.textContent = "" + } + + function Qt(t) { + return function() { + this.textContent = t + } + } + + function te(t) { + return function() { + var e = t.apply(this, arguments); + this.textContent = null == e ? "" : e + } + } + + function ee() { + this.innerHTML = "" + } + + function ne(t) { + return function() { + this.innerHTML = t + } + } + + function re(t) { + return function() { + var e = t.apply(this, arguments); + this.innerHTML = null == e ? "" : e + } + } + + function ie() { + this.nextSibling && this.parentNode.appendChild(this) + } + + function ae() { + this.previousSibling && this.parentNode.insertBefore(this, this.parentNode.firstChild) + } + + function oe(t) { + return function() { + var e = this.ownerDocument, + n = this.namespaceURI; + return n === Mt && e.documentElement.namespaceURI === Mt ? e.createElement(t) : e.createElementNS(n, t) + } + } + + function se(t) { + return function() { + return this.ownerDocument.createElementNS(t.space, t.local) + } + } + var ue = function(t) { + var e = Dt(t); + return (e.local ? se : oe)(e) + }; + + function ce() { + return null + } + + function fe() { + var t = this.parentNode; + t && t.removeChild(this) + } + + function le() { + var t = this.cloneNode(!1), + e = this.parentNode; + return e ? e.insertBefore(t, this.nextSibling) : t + } + + function he() { + var t = this.cloneNode(!0), + e = this.parentNode; + return e ? e.insertBefore(t, this.nextSibling) : t + } + var de = {}, + pe = null; + "undefined" != typeof document && ("onmouseenter" in document.documentElement || (de = { + mouseenter: "mouseover", + mouseleave: "mouseout" + })); + + function ge(t, e, n) { + return t = ye(t, e, n), + function(e) { + var n = e.relatedTarget; + n && (n === this || 8 & n.compareDocumentPosition(this)) || t.call(this, e) + } + } + + function ye(t, e, n) { + return function(r) { + var i = pe; + pe = r; + try { + t.call(this, this.__data__, e, n) + } finally { + pe = i + } + } + } + + function be(t) { + return t.trim().split(/^|\s+/).map((function(t) { + var e = "", + n = t.indexOf("."); + return n >= 0 && (e = t.slice(n + 1), t = t.slice(0, n)), { + type: t, + name: e + } + })) + } + + function ve(t) { + return function() { + var e = this.__on; + if (e) { + for (var n, r = 0, i = -1, a = e.length; r < a; ++r) n = e[r], t.type && n.type !== t.type || n.name !== t.name ? e[++i] = n : this.removeEventListener(n.type, n.listener, n.capture); + ++i ? e.length = i : delete this.__on + } + } + } + + function me(t, e, n) { + var r = de.hasOwnProperty(t.type) ? ge : ye; + return function(i, a, o) { + var s, u = this.__on, + c = r(e, a, o); + if (u) + for (var f = 0, l = u.length; f < l; ++f) + if ((s = u[f]).type === t.type && s.name === t.name) return this.removeEventListener(s.type, s.listener, s.capture), this.addEventListener(s.type, s.listener = c, s.capture = n), void(s.value = e); + this.addEventListener(t.type, c, n), s = { + type: t.type, + name: t.name, + value: e, + listener: c, + capture: n + }, u ? u.push(s) : this.__on = [s] + } + } + + function _e(t, e, n, r) { + var i = pe; + t.sourceEvent = pe, pe = t; + try { + return e.apply(n, r) + } finally { + pe = i + } + } + + function we(t, e, n) { + var r = Rt(t), + i = r.CustomEvent; + "function" == typeof i ? i = new i(e, n) : (i = r.document.createEvent("Event"), n ? (i.initEvent(e, n.bubbles, n.cancelable), i.detail = n.detail) : i.initEvent(e, !1, !1)), t.dispatchEvent(i) + } + + function xe(t, e) { + return function() { + return we(this, t, e) + } + } + + function ke(t, e) { + return function() { + return we(this, t, e.apply(this, arguments)) + } + } + var Ee = [null]; + + function Ae(t, e) { + this._groups = t, this._parents = e + } + + function Se() { + return new Ae([ + [document.documentElement] + ], Ee) + } + Ae.prototype = Se.prototype = { + constructor: Ae, + select: function(t) { + "function" != typeof t && (t = bt(t)); + for (var e = this._groups, n = e.length, r = new Array(n), i = 0; i < n; ++i) + for (var a, o, s = e[i], u = s.length, c = r[i] = new Array(u), f = 0; f < u; ++f)(a = s[f]) && (o = t.call(a, a.__data__, f, s)) && ("__data__" in a && (o.__data__ = a.__data__), c[f] = o); + return new Ae(r, this._parents) + }, + selectAll: function(t) { + "function" != typeof t && (t = mt(t)); + for (var e = this._groups, n = e.length, r = [], i = [], a = 0; a < n; ++a) + for (var o, s = e[a], u = s.length, c = 0; c < u; ++c)(o = s[c]) && (r.push(t.call(o, o.__data__, c, s)), i.push(o)); + return new Ae(r, i) + }, + filter: function(t) { + "function" != typeof t && (t = _t(t)); + for (var e = this._groups, n = e.length, r = new Array(n), i = 0; i < n; ++i) + for (var a, o = e[i], s = o.length, u = r[i] = [], c = 0; c < s; ++c)(a = o[c]) && t.call(a, a.__data__, c, o) && u.push(a); + return new Ae(r, this._parents) + }, + data: function(t, e) { + if (!t) return p = new Array(this.size()), f = -1, this.each((function(t) { + p[++f] = t + })), p; + var n, r = e ? At : Et, + i = this._parents, + a = this._groups; + "function" != typeof t && (n = t, t = function() { + return n + }); + for (var o = a.length, s = new Array(o), u = new Array(o), c = new Array(o), f = 0; f < o; ++f) { + var l = i[f], + h = a[f], + d = h.length, + p = t.call(l, l && l.__data__, f, i), + g = p.length, + y = u[f] = new Array(g), + b = s[f] = new Array(g); + r(l, h, y, b, c[f] = new Array(d), p, e); + for (var v, m, _ = 0, w = 0; _ < g; ++_) + if (v = y[_]) { + for (_ >= w && (w = _ + 1); !(m = b[w]) && ++w < g;); + v._next = m || null + } + } + return (s = new Ae(s, i))._enter = u, s._exit = c, s + }, + enter: function() { + return new Ae(this._enter || this._groups.map(wt), this._parents) + }, + exit: function() { + return new Ae(this._exit || this._groups.map(wt), this._parents) + }, + join: function(t, e, n) { + var r = this.enter(), + i = this, + a = this.exit(); + return r = "function" == typeof t ? t(r) : r.append(t + ""), null != e && (i = e(i)), null == n ? a.remove() : n(a), r && i ? r.merge(i).order() : i + }, + merge: function(t) { + for (var e = this._groups, n = t._groups, r = e.length, i = n.length, a = Math.min(r, i), o = new Array(r), s = 0; s < a; ++s) + for (var u, c = e[s], f = n[s], l = c.length, h = o[s] = new Array(l), d = 0; d < l; ++d)(u = c[d] || f[d]) && (h[d] = u); + for (; s < r; ++s) o[s] = e[s]; + return new Ae(o, this._parents) + }, + order: function() { + for (var t = this._groups, e = -1, n = t.length; ++e < n;) + for (var r, i = t[e], a = i.length - 1, o = i[a]; --a >= 0;)(r = i[a]) && (o && 4 ^ r.compareDocumentPosition(o) && o.parentNode.insertBefore(r, o), o = r); + return this + }, + sort: function(t) { + function e(e, n) { + return e && n ? t(e.__data__, n.__data__) : !e - !n + } + t || (t = St); + for (var n = this._groups, r = n.length, i = new Array(r), a = 0; a < r; ++a) { + for (var o, s = n[a], u = s.length, c = i[a] = new Array(u), f = 0; f < u; ++f)(o = s[f]) && (c[f] = o); + c.sort(e) + } + return new Ae(i, this._parents).order() + }, + call: function() { + var t = arguments[0]; + return arguments[0] = this, t.apply(null, arguments), this + }, + nodes: function() { + var t = new Array(this.size()), + e = -1; + return this.each((function() { + t[++e] = this + })), t + }, + node: function() { + for (var t = this._groups, e = 0, n = t.length; e < n; ++e) + for (var r = t[e], i = 0, a = r.length; i < a; ++i) { + var o = r[i]; + if (o) return o + } + return null + }, + size: function() { + var t = 0; + return this.each((function() { + ++t + })), t + }, + empty: function() { + return !this.node() + }, + each: function(t) { + for (var e = this._groups, n = 0, r = e.length; n < r; ++n) + for (var i, a = e[n], o = 0, s = a.length; o < s; ++o)(i = a[o]) && t.call(i, i.__data__, o, a); + return this + }, + attr: function(t, e) { + var n = Dt(t); + if (arguments.length < 2) { + var r = this.node(); + return n.local ? r.getAttributeNS(n.space, n.local) : r.getAttribute(n) + } + return this.each((null == e ? n.local ? Nt : Ct : "function" == typeof e ? n.local ? Ot : Bt : n.local ? Lt : It)(n, e)) + }, + style: function(t, e, n) { + return arguments.length > 1 ? this.each((null == e ? Pt : "function" == typeof e ? qt : Ft)(t, e, null == n ? "" : n)) : jt(this.node(), t) + }, + property: function(t, e) { + return arguments.length > 1 ? this.each((null == e ? Ut : "function" == typeof e ? Yt : zt)(t, e)) : this.node()[t] + }, + classed: function(t, e) { + var n = Vt(t + ""); + if (arguments.length < 2) { + for (var r = Ht(this.node()), i = -1, a = n.length; ++i < a;) + if (!r.contains(n[i])) return !1; + return !0 + } + return this.each(("function" == typeof e ? Zt : e ? Kt : Xt)(n, e)) + }, + text: function(t) { + return arguments.length ? this.each(null == t ? Jt : ("function" == typeof t ? te : Qt)(t)) : this.node().textContent + }, + html: function(t) { + return arguments.length ? this.each(null == t ? ee : ("function" == typeof t ? re : ne)(t)) : this.node().innerHTML + }, + raise: function() { + return this.each(ie) + }, + lower: function() { + return this.each(ae) + }, + append: function(t) { + var e = "function" == typeof t ? t : ue(t); + return this.select((function() { + return this.appendChild(e.apply(this, arguments)) + })) + }, + insert: function(t, e) { + var n = "function" == typeof t ? t : ue(t), + r = null == e ? ce : "function" == typeof e ? e : bt(e); + return this.select((function() { + return this.insertBefore(n.apply(this, arguments), r.apply(this, arguments) || null) + })) + }, + remove: function() { + return this.each(fe) + }, + clone: function(t) { + return this.select(t ? he : le) + }, + datum: function(t) { + return arguments.length ? this.property("__data__", t) : this.node().__data__ + }, + on: function(t, e, n) { + var r, i, a = be(t + ""), + o = a.length; + if (!(arguments.length < 2)) { + for (s = e ? me : ve, null == n && (n = !1), r = 0; r < o; ++r) this.each(s(a[r], e, n)); + return this + } + var s = this.node().__on; + if (s) + for (var u, c = 0, f = s.length; c < f; ++c) + for (r = 0, u = s[c]; r < o; ++r) + if ((i = a[r]).type === u.type && i.name === u.name) return u.value + }, + dispatch: function(t, e) { + return this.each(("function" == typeof e ? ke : xe)(t, e)) + } + }; + var Me = Se, + Te = function(t) { + return "string" == typeof t ? new Ae([ + [document.querySelector(t)] + ], [document.documentElement]) : new Ae([ + [t] + ], Ee) + }; + + function De() { + pe.stopImmediatePropagation() + } + var Ce = function() { + pe.preventDefault(), pe.stopImmediatePropagation() + }, + Ne = function(t) { + var e = t.document.documentElement, + n = Te(t).on("dragstart.drag", Ce, !0); + "onselectstart" in e ? n.on("selectstart.drag", Ce, !0) : (e.__noselect = e.style.MozUserSelect, e.style.MozUserSelect = "none") + }; + + function Ie(t, e) { + var n = t.document.documentElement, + r = Te(t).on("dragstart.drag", null); + e && (r.on("click.drag", Ce, !0), setTimeout((function() { + r.on("click.drag", null) + }), 0)), "onselectstart" in n ? r.on("selectstart.drag", null) : (n.style.MozUserSelect = n.__noselect, delete n.__noselect) + } + var Le = function(t, e, n) { + t.prototype = e.prototype = n, n.constructor = t + }; + + function Be(t, e) { + var n = Object.create(t.prototype); + for (var r in e) n[r] = e[r]; + return n + } + + function Oe() {} + var Re = "\\s*([+-]?\\d+)\\s*", + Pe = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*", + Fe = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*", + qe = /^#([0-9a-f]{3,8})$/, + je = new RegExp("^rgb\\(" + [Re, Re, Re] + "\\)$"), + Ue = new RegExp("^rgb\\(" + [Fe, Fe, Fe] + "\\)$"), + ze = new RegExp("^rgba\\(" + [Re, Re, Re, Pe] + "\\)$"), + Ye = new RegExp("^rgba\\(" + [Fe, Fe, Fe, Pe] + "\\)$"), + Ve = new RegExp("^hsl\\(" + [Pe, Fe, Fe] + "\\)$"), + He = new RegExp("^hsla\\(" + [Pe, Fe, Fe, Pe] + "\\)$"), + Ge = { + aliceblue: 15792383, + antiquewhite: 16444375, + aqua: 65535, + aquamarine: 8388564, + azure: 15794175, + beige: 16119260, + bisque: 16770244, + black: 0, + blanchedalmond: 16772045, + blue: 255, + blueviolet: 9055202, + brown: 10824234, + burlywood: 14596231, + cadetblue: 6266528, + chartreuse: 8388352, + chocolate: 13789470, + coral: 16744272, + cornflowerblue: 6591981, + cornsilk: 16775388, + crimson: 14423100, + cyan: 65535, + darkblue: 139, + darkcyan: 35723, + darkgoldenrod: 12092939, + darkgray: 11119017, + darkgreen: 25600, + darkgrey: 11119017, + darkkhaki: 12433259, + darkmagenta: 9109643, + darkolivegreen: 5597999, + darkorange: 16747520, + darkorchid: 10040012, + darkred: 9109504, + darksalmon: 15308410, + darkseagreen: 9419919, + darkslateblue: 4734347, + darkslategray: 3100495, + darkslategrey: 3100495, + darkturquoise: 52945, + darkviolet: 9699539, + deeppink: 16716947, + deepskyblue: 49151, + dimgray: 6908265, + dimgrey: 6908265, + dodgerblue: 2003199, + firebrick: 11674146, + floralwhite: 16775920, + forestgreen: 2263842, + fuchsia: 16711935, + gainsboro: 14474460, + ghostwhite: 16316671, + gold: 16766720, + goldenrod: 14329120, + gray: 8421504, + green: 32768, + greenyellow: 11403055, + grey: 8421504, + honeydew: 15794160, + hotpink: 16738740, + indianred: 13458524, + indigo: 4915330, + ivory: 16777200, + khaki: 15787660, + lavender: 15132410, + lavenderblush: 16773365, + lawngreen: 8190976, + lemonchiffon: 16775885, + lightblue: 11393254, + lightcoral: 15761536, + lightcyan: 14745599, + lightgoldenrodyellow: 16448210, + lightgray: 13882323, + lightgreen: 9498256, + lightgrey: 13882323, + lightpink: 16758465, + lightsalmon: 16752762, + lightseagreen: 2142890, + lightskyblue: 8900346, + lightslategray: 7833753, + lightslategrey: 7833753, + lightsteelblue: 11584734, + lightyellow: 16777184, + lime: 65280, + limegreen: 3329330, + linen: 16445670, + magenta: 16711935, + maroon: 8388608, + mediumaquamarine: 6737322, + mediumblue: 205, + mediumorchid: 12211667, + mediumpurple: 9662683, + mediumseagreen: 3978097, + mediumslateblue: 8087790, + mediumspringgreen: 64154, + mediumturquoise: 4772300, + mediumvioletred: 13047173, + midnightblue: 1644912, + mintcream: 16121850, + mistyrose: 16770273, + moccasin: 16770229, + navajowhite: 16768685, + navy: 128, + oldlace: 16643558, + olive: 8421376, + olivedrab: 7048739, + orange: 16753920, + orangered: 16729344, + orchid: 14315734, + palegoldenrod: 15657130, + palegreen: 10025880, + paleturquoise: 11529966, + palevioletred: 14381203, + papayawhip: 16773077, + peachpuff: 16767673, + peru: 13468991, + pink: 16761035, + plum: 14524637, + powderblue: 11591910, + purple: 8388736, + rebeccapurple: 6697881, + red: 16711680, + rosybrown: 12357519, + royalblue: 4286945, + saddlebrown: 9127187, + salmon: 16416882, + sandybrown: 16032864, + seagreen: 3050327, + seashell: 16774638, + sienna: 10506797, + silver: 12632256, + skyblue: 8900331, + slateblue: 6970061, + slategray: 7372944, + slategrey: 7372944, + snow: 16775930, + springgreen: 65407, + steelblue: 4620980, + tan: 13808780, + teal: 32896, + thistle: 14204888, + tomato: 16737095, + turquoise: 4251856, + violet: 15631086, + wheat: 16113331, + white: 16777215, + whitesmoke: 16119285, + yellow: 16776960, + yellowgreen: 10145074 + }; + + function $e() { + return this.rgb().formatHex() + } + + function We() { + return this.rgb().formatRgb() + } + + function Ke(t) { + var e, n; + return t = (t + "").trim().toLowerCase(), (e = qe.exec(t)) ? (n = e[1].length, e = parseInt(e[1], 16), 6 === n ? Xe(e) : 3 === n ? new tn(e >> 8 & 15 | e >> 4 & 240, e >> 4 & 15 | 240 & e, (15 & e) << 4 | 15 & e, 1) : 8 === n ? new tn(e >> 24 & 255, e >> 16 & 255, e >> 8 & 255, (255 & e) / 255) : 4 === n ? new tn(e >> 12 & 15 | e >> 8 & 240, e >> 8 & 15 | e >> 4 & 240, e >> 4 & 15 | 240 & e, ((15 & e) << 4 | 15 & e) / 255) : null) : (e = je.exec(t)) ? new tn(e[1], e[2], e[3], 1) : (e = Ue.exec(t)) ? new tn(255 * e[1] / 100, 255 * e[2] / 100, 255 * e[3] / 100, 1) : (e = ze.exec(t)) ? Ze(e[1], e[2], e[3], e[4]) : (e = Ye.exec(t)) ? Ze(255 * e[1] / 100, 255 * e[2] / 100, 255 * e[3] / 100, e[4]) : (e = Ve.exec(t)) ? an(e[1], e[2] / 100, e[3] / 100, 1) : (e = He.exec(t)) ? an(e[1], e[2] / 100, e[3] / 100, e[4]) : Ge.hasOwnProperty(t) ? Xe(Ge[t]) : "transparent" === t ? new tn(NaN, NaN, NaN, 0) : null + } + + function Xe(t) { + return new tn(t >> 16 & 255, t >> 8 & 255, 255 & t, 1) + } + + function Ze(t, e, n, r) { + return r <= 0 && (t = e = n = NaN), new tn(t, e, n, r) + } + + function Je(t) { + return t instanceof Oe || (t = Ke(t)), t ? new tn((t = t.rgb()).r, t.g, t.b, t.opacity) : new tn + } + + function Qe(t, e, n, r) { + return 1 === arguments.length ? Je(t) : new tn(t, e, n, null == r ? 1 : r) + } + + function tn(t, e, n, r) { + this.r = +t, this.g = +e, this.b = +n, this.opacity = +r + } + + function en() { + return "#" + rn(this.r) + rn(this.g) + rn(this.b) + } + + function nn() { + var t = this.opacity; + return (1 === (t = isNaN(t) ? 1 : Math.max(0, Math.min(1, t))) ? "rgb(" : "rgba(") + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + ", " + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + ", " + Math.max(0, Math.min(255, Math.round(this.b) || 0)) + (1 === t ? ")" : ", " + t + ")") + } + + function rn(t) { + return ((t = Math.max(0, Math.min(255, Math.round(t) || 0))) < 16 ? "0" : "") + t.toString(16) + } + + function an(t, e, n, r) { + return r <= 0 ? t = e = n = NaN : n <= 0 || n >= 1 ? t = e = NaN : e <= 0 && (t = NaN), new un(t, e, n, r) + } + + function on(t) { + if (t instanceof un) return new un(t.h, t.s, t.l, t.opacity); + if (t instanceof Oe || (t = Ke(t)), !t) return new un; + if (t instanceof un) return t; + var e = (t = t.rgb()).r / 255, + n = t.g / 255, + r = t.b / 255, + i = Math.min(e, n, r), + a = Math.max(e, n, r), + o = NaN, + s = a - i, + u = (a + i) / 2; + return s ? (o = e === a ? (n - r) / s + 6 * (n < r) : n === a ? (r - e) / s + 2 : (e - n) / s + 4, s /= u < .5 ? a + i : 2 - a - i, o *= 60) : s = u > 0 && u < 1 ? 0 : o, new un(o, s, u, t.opacity) + } + + function sn(t, e, n, r) { + return 1 === arguments.length ? on(t) : new un(t, e, n, null == r ? 1 : r) + } + + function un(t, e, n, r) { + this.h = +t, this.s = +e, this.l = +n, this.opacity = +r + } + + function cn(t, e, n) { + return 255 * (t < 60 ? e + (n - e) * t / 60 : t < 180 ? n : t < 240 ? e + (n - e) * (240 - t) / 60 : e) + } + + function fn(t, e, n, r, i) { + var a = t * t, + o = a * t; + return ((1 - 3 * t + 3 * a - o) * e + (4 - 6 * a + 3 * o) * n + (1 + 3 * t + 3 * a - 3 * o) * r + o * i) / 6 + } + Le(Oe, Ke, { + copy: function(t) { + return Object.assign(new this.constructor, this, t) + }, + displayable: function() { + return this.rgb().displayable() + }, + hex: $e, + formatHex: $e, + formatHsl: function() { + return on(this).formatHsl() + }, + formatRgb: We, + toString: We + }), Le(tn, Qe, Be(Oe, { + brighter: function(t) { + return t = null == t ? 1 / .7 : Math.pow(1 / .7, t), new tn(this.r * t, this.g * t, this.b * t, this.opacity) + }, + darker: function(t) { + return t = null == t ? .7 : Math.pow(.7, t), new tn(this.r * t, this.g * t, this.b * t, this.opacity) + }, + rgb: function() { + return this + }, + displayable: function() { + return -.5 <= this.r && this.r < 255.5 && -.5 <= this.g && this.g < 255.5 && -.5 <= this.b && this.b < 255.5 && 0 <= this.opacity && this.opacity <= 1 + }, + hex: en, + formatHex: en, + formatRgb: nn, + toString: nn + })), Le(un, sn, Be(Oe, { + brighter: function(t) { + return t = null == t ? 1 / .7 : Math.pow(1 / .7, t), new un(this.h, this.s, this.l * t, this.opacity) + }, + darker: function(t) { + return t = null == t ? .7 : Math.pow(.7, t), new un(this.h, this.s, this.l * t, this.opacity) + }, + rgb: function() { + var t = this.h % 360 + 360 * (this.h < 0), + e = isNaN(t) || isNaN(this.s) ? 0 : this.s, + n = this.l, + r = n + (n < .5 ? n : 1 - n) * e, + i = 2 * n - r; + return new tn(cn(t >= 240 ? t - 240 : t + 120, i, r), cn(t, i, r), cn(t < 120 ? t + 240 : t - 120, i, r), this.opacity) + }, + displayable: function() { + return (0 <= this.s && this.s <= 1 || isNaN(this.s)) && 0 <= this.l && this.l <= 1 && 0 <= this.opacity && this.opacity <= 1 + }, + formatHsl: function() { + var t = this.opacity; + return (1 === (t = isNaN(t) ? 1 : Math.max(0, Math.min(1, t))) ? "hsl(" : "hsla(") + (this.h || 0) + ", " + 100 * (this.s || 0) + "%, " + 100 * (this.l || 0) + "%" + (1 === t ? ")" : ", " + t + ")") + } + })); + var ln = function(t) { + var e = t.length - 1; + return function(n) { + var r = n <= 0 ? n = 0 : n >= 1 ? (n = 1, e - 1) : Math.floor(n * e), + i = t[r], + a = t[r + 1], + o = r > 0 ? t[r - 1] : 2 * i - a, + s = r < e - 1 ? t[r + 2] : 2 * a - i; + return fn((n - r / e) * e, o, i, a, s) + } + }, + hn = function(t) { + var e = t.length; + return function(n) { + var r = Math.floor(((n %= 1) < 0 ? ++n : n) * e), + i = t[(r + e - 1) % e], + a = t[r % e], + o = t[(r + 1) % e], + s = t[(r + 2) % e]; + return fn((n - r / e) * e, i, a, o, s) + } + }, + dn = function(t) { + return function() { + return t + } + }; + + function pn(t, e) { + return function(n) { + return t + n * e + } + } + + function gn(t, e) { + var n = e - t; + return n ? pn(t, n > 180 || n < -180 ? n - 360 * Math.round(n / 360) : n) : dn(isNaN(t) ? e : t) + } + + function yn(t) { + return 1 == (t = +t) ? bn : function(e, n) { + return n - e ? function(t, e, n) { + return t = Math.pow(t, n), e = Math.pow(e, n) - t, n = 1 / n, + function(r) { + return Math.pow(t + r * e, n) + } + }(e, n, t) : dn(isNaN(e) ? n : e) + } + } + + function bn(t, e) { + var n = e - t; + return n ? pn(t, n) : dn(isNaN(t) ? e : t) + } + var vn = function t(e) { + var n = yn(e); + + function r(t, e) { + var r = n((t = Qe(t)).r, (e = Qe(e)).r), + i = n(t.g, e.g), + a = n(t.b, e.b), + o = bn(t.opacity, e.opacity); + return function(e) { + return t.r = r(e), t.g = i(e), t.b = a(e), t.opacity = o(e), t + "" + } + } + return r.gamma = t, r + }(1); + + function mn(t) { + return function(e) { + var n, r, i = e.length, + a = new Array(i), + o = new Array(i), + s = new Array(i); + for (n = 0; n < i; ++n) r = Qe(e[n]), a[n] = r.r || 0, o[n] = r.g || 0, s[n] = r.b || 0; + return a = t(a), o = t(o), s = t(s), r.opacity = 1, + function(t) { + return r.r = a(t), r.g = o(t), r.b = s(t), r + "" + } + } + } + var _n = mn(ln), + wn = mn(hn), + xn = function(t, e) { + e || (e = []); + var n, r = t ? Math.min(e.length, t.length) : 0, + i = e.slice(); + return function(a) { + for (n = 0; n < r; ++n) i[n] = t[n] * (1 - a) + e[n] * a; + return i + } + }; + + function kn(t) { + return ArrayBuffer.isView(t) && !(t instanceof DataView) + } + var En = function(t, e) { + return (kn(e) ? xn : An)(t, e) + }; + + function An(t, e) { + var n, r = e ? e.length : 0, + i = t ? Math.min(r, t.length) : 0, + a = new Array(i), + o = new Array(r); + for (n = 0; n < i; ++n) a[n] = Bn(t[n], e[n]); + for (; n < r; ++n) o[n] = e[n]; + return function(t) { + for (n = 0; n < i; ++n) o[n] = a[n](t); + return o + } + } + var Sn = function(t, e) { + var n = new Date; + return t = +t, e = +e, + function(r) { + return n.setTime(t * (1 - r) + e * r), n + } + }, + Mn = function(t, e) { + return t = +t, e = +e, + function(n) { + return t * (1 - n) + e * n + } + }, + Tn = function(t, e) { + var n, r = {}, + i = {}; + for (n in null !== t && "object" == typeof t || (t = {}), null !== e && "object" == typeof e || (e = {}), e) n in t ? r[n] = Bn(t[n], e[n]) : i[n] = e[n]; + return function(t) { + for (n in r) i[n] = r[n](t); + return i + } + }, + Dn = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, + Cn = new RegExp(Dn.source, "g"); + var Nn, In, Ln = function(t, e) { + var n, r, i, a = Dn.lastIndex = Cn.lastIndex = 0, + o = -1, + s = [], + u = []; + for (t += "", e += ""; + (n = Dn.exec(t)) && (r = Cn.exec(e));)(i = r.index) > a && (i = e.slice(a, i), s[o] ? s[o] += i : s[++o] = i), (n = n[0]) === (r = r[0]) ? s[o] ? s[o] += r : s[++o] = r : (s[++o] = null, u.push({ + i: o, + x: Mn(n, r) + })), a = Cn.lastIndex; + return a < e.length && (i = e.slice(a), s[o] ? s[o] += i : s[++o] = i), s.length < 2 ? u[0] ? function(t) { + return function(e) { + return t(e) + "" + } + }(u[0].x) : function(t) { + return function() { + return t + } + }(e) : (e = u.length, function(t) { + for (var n, r = 0; r < e; ++r) s[(n = u[r]).i] = n.x(t); + return s.join("") + }) + }, + Bn = function(t, e) { + var n, r = typeof e; + return null == e || "boolean" === r ? dn(e) : ("number" === r ? Mn : "string" === r ? (n = Ke(e)) ? (e = n, vn) : Ln : e instanceof Ke ? vn : e instanceof Date ? Sn : kn(e) ? xn : Array.isArray(e) ? An : "function" != typeof e.valueOf && "function" != typeof e.toString || isNaN(e) ? Tn : Mn)(t, e) + }, + On = function() { + for (var t, e = pe; t = e.sourceEvent;) e = t; + return e + }, + Rn = function(t, e) { + var n = t.ownerSVGElement || t; + if (n.createSVGPoint) { + var r = n.createSVGPoint(); + return r.x = e.clientX, r.y = e.clientY, [(r = r.matrixTransform(t.getScreenCTM().inverse())).x, r.y] + } + var i = t.getBoundingClientRect(); + return [e.clientX - i.left - t.clientLeft, e.clientY - i.top - t.clientTop] + }, + Pn = function(t, e, n) { + arguments.length < 3 && (n = e, e = On().changedTouches); + for (var r, i = 0, a = e ? e.length : 0; i < a; ++i) + if ((r = e[i]).identifier === n) return Rn(t, r); + return null + }, + Fn = function(t) { + var e = On(); + return e.changedTouches && (e = e.changedTouches[0]), Rn(t, e) + }, + qn = 0, + jn = 0, + Un = 0, + zn = 1e3, + Yn = 0, + Vn = 0, + Hn = 0, + Gn = "object" == typeof performance && performance.now ? performance : Date, + $n = "object" == typeof window && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(t) { + setTimeout(t, 17) + }; + + function Wn() { + return Vn || ($n(Kn), Vn = Gn.now() + Hn) + } + + function Kn() { + Vn = 0 + } + + function Xn() { + this._call = this._time = this._next = null + } + + function Zn(t, e, n) { + var r = new Xn; + return r.restart(t, e, n), r + } + + function Jn() { + Wn(), ++qn; + for (var t, e = Nn; e;)(t = Vn - e._time) >= 0 && e._call.call(null, t), e = e._next; + --qn + } + + function Qn() { + Vn = (Yn = Gn.now()) + Hn, qn = jn = 0; + try { + Jn() + } finally { + qn = 0, + function() { + var t, e, n = Nn, + r = 1 / 0; + for (; n;) n._call ? (r > n._time && (r = n._time), t = n, n = n._next) : (e = n._next, n._next = null, n = t ? t._next = e : Nn = e); + In = t, er(r) + }(), Vn = 0 + } + } + + function tr() { + var t = Gn.now(), + e = t - Yn; + e > zn && (Hn -= e, Yn = t) + } + + function er(t) { + qn || (jn && (jn = clearTimeout(jn)), t - Vn > 24 ? (t < 1 / 0 && (jn = setTimeout(Qn, t - Gn.now() - Hn)), Un && (Un = clearInterval(Un))) : (Un || (Yn = Gn.now(), Un = setInterval(tr, zn)), qn = 1, $n(Qn))) + } + Xn.prototype = Zn.prototype = { + constructor: Xn, + restart: function(t, e, n) { + if ("function" != typeof t) throw new TypeError("callback is not a function"); + n = (null == n ? Wn() : +n) + (null == e ? 0 : +e), this._next || In === this || (In ? In._next = this : Nn = this, In = this), this._call = t, this._time = n, er() + }, + stop: function() { + this._call && (this._call = null, this._time = 1 / 0, er()) + } + }; + var nr = function(t, e, n) { + var r = new Xn; + return e = null == e ? 0 : +e, r.restart((function(n) { + r.stop(), t(n + e) + }), e, n), r + }, + rr = gt("start", "end", "cancel", "interrupt"), + ir = [], + ar = 0, + or = 1, + sr = 2, + ur = 3, + cr = 4, + fr = 5, + lr = 6, + hr = function(t, e, n, r, i, a) { + var o = t.__transition; + if (o) { + if (n in o) return + } else t.__transition = {}; + ! function(t, e, n) { + var r, i = t.__transition; + + function a(u) { + var c, f, l, h; + if (n.state !== or) return s(); + for (c in i) + if ((h = i[c]).name === n.name) { + if (h.state === ur) return nr(a); + h.state === cr ? (h.state = lr, h.timer.stop(), h.on.call("interrupt", t, t.__data__, h.index, h.group), delete i[c]) : +c < e && (h.state = lr, h.timer.stop(), h.on.call("cancel", t, t.__data__, h.index, h.group), delete i[c]) + } if (nr((function() { + n.state === ur && (n.state = cr, n.timer.restart(o, n.delay, n.time), o(u)) + })), n.state = sr, n.on.call("start", t, t.__data__, n.index, n.group), n.state === sr) { + for (n.state = ur, r = new Array(l = n.tween.length), c = 0, f = -1; c < l; ++c)(h = n.tween[c].value.call(t, t.__data__, n.index, n.group)) && (r[++f] = h); + r.length = f + 1 + } + } + + function o(e) { + for (var i = e < n.duration ? n.ease.call(null, e / n.duration) : (n.timer.restart(s), n.state = fr, 1), a = -1, o = r.length; ++a < o;) r[a].call(t, i); + n.state === fr && (n.on.call("end", t, t.__data__, n.index, n.group), s()) + } + + function s() { + for (var r in n.state = lr, n.timer.stop(), delete i[e], i) return; + delete t.__transition + } + i[e] = n, n.timer = Zn((function(t) { + n.state = or, n.timer.restart(a, n.delay, n.time), n.delay <= t && a(t - n.delay) + }), 0, n.time) + }(t, n, { + name: e, + index: r, + group: i, + on: rr, + tween: ir, + time: a.time, + delay: a.delay, + duration: a.duration, + ease: a.ease, + timer: null, + state: ar + }) + }; + + function dr(t, e) { + var n = gr(t, e); + if (n.state > ar) throw new Error("too late; already scheduled"); + return n + } + + function pr(t, e) { + var n = gr(t, e); + if (n.state > ur) throw new Error("too late; already running"); + return n + } + + function gr(t, e) { + var n = t.__transition; + if (!n || !(n = n[e])) throw new Error("transition not found"); + return n + } + var yr, br, vr, mr, _r = function(t, e) { + var n, r, i, a = t.__transition, + o = !0; + if (a) { + for (i in e = null == e ? null : e + "", a)(n = a[i]).name === e ? (r = n.state > sr && n.state < fr, n.state = lr, n.timer.stop(), n.on.call(r ? "interrupt" : "cancel", t, t.__data__, n.index, n.group), delete a[i]) : o = !1; + o && delete t.__transition + } + }, + wr = 180 / Math.PI, + xr = { + translateX: 0, + translateY: 0, + rotate: 0, + skewX: 0, + scaleX: 1, + scaleY: 1 + }, + kr = function(t, e, n, r, i, a) { + var o, s, u; + return (o = Math.sqrt(t * t + e * e)) && (t /= o, e /= o), (u = t * n + e * r) && (n -= t * u, r -= e * u), (s = Math.sqrt(n * n + r * r)) && (n /= s, r /= s, u /= s), t * r < e * n && (t = -t, e = -e, u = -u, o = -o), { + translateX: i, + translateY: a, + rotate: Math.atan2(e, t) * wr, + skewX: Math.atan(u) * wr, + scaleX: o, + scaleY: s + } + }; + + function Er(t, e, n, r) { + function i(t) { + return t.length ? t.pop() + " " : "" + } + return function(a, o) { + var s = [], + u = []; + return a = t(a), o = t(o), + function(t, r, i, a, o, s) { + if (t !== i || r !== a) { + var u = o.push("translate(", null, e, null, n); + s.push({ + i: u - 4, + x: Mn(t, i) + }, { + i: u - 2, + x: Mn(r, a) + }) + } else(i || a) && o.push("translate(" + i + e + a + n) + }(a.translateX, a.translateY, o.translateX, o.translateY, s, u), + function(t, e, n, a) { + t !== e ? (t - e > 180 ? e += 360 : e - t > 180 && (t += 360), a.push({ + i: n.push(i(n) + "rotate(", null, r) - 2, + x: Mn(t, e) + })) : e && n.push(i(n) + "rotate(" + e + r) + }(a.rotate, o.rotate, s, u), + function(t, e, n, a) { + t !== e ? a.push({ + i: n.push(i(n) + "skewX(", null, r) - 2, + x: Mn(t, e) + }) : e && n.push(i(n) + "skewX(" + e + r) + }(a.skewX, o.skewX, s, u), + function(t, e, n, r, a, o) { + if (t !== n || e !== r) { + var s = a.push(i(a) + "scale(", null, ",", null, ")"); + o.push({ + i: s - 4, + x: Mn(t, n) + }, { + i: s - 2, + x: Mn(e, r) + }) + } else 1 === n && 1 === r || a.push(i(a) + "scale(" + n + "," + r + ")") + }(a.scaleX, a.scaleY, o.scaleX, o.scaleY, s, u), a = o = null, + function(t) { + for (var e, n = -1, r = u.length; ++n < r;) s[(e = u[n]).i] = e.x(t); + return s.join("") + } + } + } + var Ar = Er((function(t) { + return "none" === t ? xr : (yr || (yr = document.createElement("DIV"), br = document.documentElement, vr = document.defaultView), yr.style.transform = t, t = vr.getComputedStyle(br.appendChild(yr), null).getPropertyValue("transform"), br.removeChild(yr), t = t.slice(7, -1).split(","), kr(+t[0], +t[1], +t[2], +t[3], +t[4], +t[5])) + }), "px, ", "px)", "deg)"), + Sr = Er((function(t) { + return null == t ? xr : (mr || (mr = document.createElementNS("http://www.w3.org/2000/svg", "g")), mr.setAttribute("transform", t), (t = mr.transform.baseVal.consolidate()) ? (t = t.matrix, kr(t.a, t.b, t.c, t.d, t.e, t.f)) : xr) + }), ", ", ")", ")"); + + function Mr(t, e) { + var n, r; + return function() { + var i = pr(this, t), + a = i.tween; + if (a !== n) + for (var o = 0, s = (r = n = a).length; o < s; ++o) + if (r[o].name === e) { + (r = r.slice()).splice(o, 1); + break + } i.tween = r + } + } + + function Tr(t, e, n) { + var r, i; + if ("function" != typeof n) throw new Error; + return function() { + var a = pr(this, t), + o = a.tween; + if (o !== r) { + i = (r = o).slice(); + for (var s = { + name: e, + value: n + }, u = 0, c = i.length; u < c; ++u) + if (i[u].name === e) { + i[u] = s; + break + } u === c && i.push(s) + } + a.tween = i + } + } + + function Dr(t, e, n) { + var r = t._id; + return t.each((function() { + var t = pr(this, r); + (t.value || (t.value = {}))[e] = n.apply(this, arguments) + })), + function(t) { + return gr(t, r).value[e] + } + } + var Cr = function(t, e) { + var n; + return ("number" == typeof e ? Mn : e instanceof Ke ? vn : (n = Ke(e)) ? (e = n, vn) : Ln)(t, e) + }; + + function Nr(t) { + return function() { + this.removeAttribute(t) + } + } + + function Ir(t) { + return function() { + this.removeAttributeNS(t.space, t.local) + } + } + + function Lr(t, e, n) { + var r, i, a = n + ""; + return function() { + var o = this.getAttribute(t); + return o === a ? null : o === r ? i : i = e(r = o, n) + } + } + + function Br(t, e, n) { + var r, i, a = n + ""; + return function() { + var o = this.getAttributeNS(t.space, t.local); + return o === a ? null : o === r ? i : i = e(r = o, n) + } + } + + function Or(t, e, n) { + var r, i, a; + return function() { + var o, s, u = n(this); + if (null != u) return (o = this.getAttribute(t)) === (s = u + "") ? null : o === r && s === i ? a : (i = s, a = e(r = o, u)); + this.removeAttribute(t) + } + } + + function Rr(t, e, n) { + var r, i, a; + return function() { + var o, s, u = n(this); + if (null != u) return (o = this.getAttributeNS(t.space, t.local)) === (s = u + "") ? null : o === r && s === i ? a : (i = s, a = e(r = o, u)); + this.removeAttributeNS(t.space, t.local) + } + } + + function Pr(t, e) { + var n, r; + + function i() { + var i = e.apply(this, arguments); + return i !== r && (n = (r = i) && function(t, e) { + return function(n) { + this.setAttributeNS(t.space, t.local, e.call(this, n)) + } + }(t, i)), n + } + return i._value = e, i + } + + function Fr(t, e) { + var n, r; + + function i() { + var i = e.apply(this, arguments); + return i !== r && (n = (r = i) && function(t, e) { + return function(n) { + this.setAttribute(t, e.call(this, n)) + } + }(t, i)), n + } + return i._value = e, i + } + + function qr(t, e) { + return function() { + dr(this, t).delay = +e.apply(this, arguments) + } + } + + function jr(t, e) { + return e = +e, + function() { + dr(this, t).delay = e + } + } + + function Ur(t, e) { + return function() { + pr(this, t).duration = +e.apply(this, arguments) + } + } + + function zr(t, e) { + return e = +e, + function() { + pr(this, t).duration = e + } + } + + function Yr(t, e) { + if ("function" != typeof e) throw new Error; + return function() { + pr(this, t).ease = e + } + } + + function Vr(t, e, n) { + var r, i, a = function(t) { + return (t + "").trim().split(/^|\s+/).every((function(t) { + var e = t.indexOf("."); + return e >= 0 && (t = t.slice(0, e)), !t || "start" === t + })) + }(e) ? dr : pr; + return function() { + var o = a(this, t), + s = o.on; + s !== r && (i = (r = s).copy()).on(e, n), o.on = i + } + } + var Hr = Me.prototype.constructor; + + function Gr(t) { + return function() { + this.style.removeProperty(t) + } + } + + function $r(t, e, n) { + var r, i; + + function a() { + var a = e.apply(this, arguments); + return a !== i && (r = (i = a) && function(t, e, n) { + return function(r) { + this.style.setProperty(t, e.call(this, r), n) + } + }(t, a, n)), r + } + return a._value = e, a + } + + function Wr(t) { + var e, n; + + function r() { + var r = t.apply(this, arguments); + return r !== n && (e = (n = r) && function(t) { + return function(e) { + this.textContent = t.call(this, e) + } + }(r)), e + } + return r._value = t, r + } + var Kr = 0; + + function Xr(t, e, n, r) { + this._groups = t, this._parents = e, this._name = n, this._id = r + } + + function Zr(t) { + return Me().transition(t) + } + + function Jr() { + return ++Kr + } + var Qr = Me.prototype; + + function ti(t) { + return t * t * t + } + + function ei(t) { + return --t * t * t + 1 + } + + function ni(t) { + return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2 + } + Xr.prototype = Zr.prototype = { + constructor: Xr, + select: function(t) { + var e = this._name, + n = this._id; + "function" != typeof t && (t = bt(t)); + for (var r = this._groups, i = r.length, a = new Array(i), o = 0; o < i; ++o) + for (var s, u, c = r[o], f = c.length, l = a[o] = new Array(f), h = 0; h < f; ++h)(s = c[h]) && (u = t.call(s, s.__data__, h, c)) && ("__data__" in s && (u.__data__ = s.__data__), l[h] = u, hr(l[h], e, n, h, l, gr(s, n))); + return new Xr(a, this._parents, e, n) + }, + selectAll: function(t) { + var e = this._name, + n = this._id; + "function" != typeof t && (t = mt(t)); + for (var r = this._groups, i = r.length, a = [], o = [], s = 0; s < i; ++s) + for (var u, c = r[s], f = c.length, l = 0; l < f; ++l) + if (u = c[l]) { + for (var h, d = t.call(u, u.__data__, l, c), p = gr(u, n), g = 0, y = d.length; g < y; ++g)(h = d[g]) && hr(h, e, n, g, d, p); + a.push(d), o.push(u) + } return new Xr(a, o, e, n) + }, + filter: function(t) { + "function" != typeof t && (t = _t(t)); + for (var e = this._groups, n = e.length, r = new Array(n), i = 0; i < n; ++i) + for (var a, o = e[i], s = o.length, u = r[i] = [], c = 0; c < s; ++c)(a = o[c]) && t.call(a, a.__data__, c, o) && u.push(a); + return new Xr(r, this._parents, this._name, this._id) + }, + merge: function(t) { + if (t._id !== this._id) throw new Error; + for (var e = this._groups, n = t._groups, r = e.length, i = n.length, a = Math.min(r, i), o = new Array(r), s = 0; s < a; ++s) + for (var u, c = e[s], f = n[s], l = c.length, h = o[s] = new Array(l), d = 0; d < l; ++d)(u = c[d] || f[d]) && (h[d] = u); + for (; s < r; ++s) o[s] = e[s]; + return new Xr(o, this._parents, this._name, this._id) + }, + selection: function() { + return new Hr(this._groups, this._parents) + }, + transition: function() { + for (var t = this._name, e = this._id, n = Jr(), r = this._groups, i = r.length, a = 0; a < i; ++a) + for (var o, s = r[a], u = s.length, c = 0; c < u; ++c) + if (o = s[c]) { + var f = gr(o, e); + hr(o, t, n, c, s, { + time: f.time + f.delay + f.duration, + delay: 0, + duration: f.duration, + ease: f.ease + }) + } return new Xr(r, this._parents, t, n) + }, + call: Qr.call, + nodes: Qr.nodes, + node: Qr.node, + size: Qr.size, + empty: Qr.empty, + each: Qr.each, + on: function(t, e) { + var n = this._id; + return arguments.length < 2 ? gr(this.node(), n).on.on(t) : this.each(Vr(n, t, e)) + }, + attr: function(t, e) { + var n = Dt(t), + r = "transform" === n ? Sr : Cr; + return this.attrTween(t, "function" == typeof e ? (n.local ? Rr : Or)(n, r, Dr(this, "attr." + t, e)) : null == e ? (n.local ? Ir : Nr)(n) : (n.local ? Br : Lr)(n, r, e)) + }, + attrTween: function(t, e) { + var n = "attr." + t; + if (arguments.length < 2) return (n = this.tween(n)) && n._value; + if (null == e) return this.tween(n, null); + if ("function" != typeof e) throw new Error; + var r = Dt(t); + return this.tween(n, (r.local ? Pr : Fr)(r, e)) + }, + style: function(t, e, n) { + var r = "transform" == (t += "") ? Ar : Cr; + return null == e ? this.styleTween(t, function(t, e) { + var n, r, i; + return function() { + var a = jt(this, t), + o = (this.style.removeProperty(t), jt(this, t)); + return a === o ? null : a === n && o === r ? i : i = e(n = a, r = o) + } + }(t, r)).on("end.style." + t, Gr(t)) : "function" == typeof e ? this.styleTween(t, function(t, e, n) { + var r, i, a; + return function() { + var o = jt(this, t), + s = n(this), + u = s + ""; + return null == s && (this.style.removeProperty(t), u = s = jt(this, t)), o === u ? null : o === r && u === i ? a : (i = u, a = e(r = o, s)) + } + }(t, r, Dr(this, "style." + t, e))).each(function(t, e) { + var n, r, i, a, o = "style." + e, + s = "end." + o; + return function() { + var u = pr(this, t), + c = u.on, + f = null == u.value[o] ? a || (a = Gr(e)) : void 0; + c === n && i === f || (r = (n = c).copy()).on(s, i = f), u.on = r + } + }(this._id, t)) : this.styleTween(t, function(t, e, n) { + var r, i, a = n + ""; + return function() { + var o = jt(this, t); + return o === a ? null : o === r ? i : i = e(r = o, n) + } + }(t, r, e), n).on("end.style." + t, null) + }, + styleTween: function(t, e, n) { + var r = "style." + (t += ""); + if (arguments.length < 2) return (r = this.tween(r)) && r._value; + if (null == e) return this.tween(r, null); + if ("function" != typeof e) throw new Error; + return this.tween(r, $r(t, e, null == n ? "" : n)) + }, + text: function(t) { + return this.tween("text", "function" == typeof t ? function(t) { + return function() { + var e = t(this); + this.textContent = null == e ? "" : e + } + }(Dr(this, "text", t)) : function(t) { + return function() { + this.textContent = t + } + }(null == t ? "" : t + "")) + }, + textTween: function(t) { + var e = "text"; + if (arguments.length < 1) return (e = this.tween(e)) && e._value; + if (null == t) return this.tween(e, null); + if ("function" != typeof t) throw new Error; + return this.tween(e, Wr(t)) + }, + remove: function() { + return this.on("end.remove", (t = this._id, function() { + var e = this.parentNode; + for (var n in this.__transition) + if (+n !== t) return; + e && e.removeChild(this) + })); + var t + }, + tween: function(t, e) { + var n = this._id; + if (t += "", arguments.length < 2) { + for (var r, i = gr(this.node(), n).tween, a = 0, o = i.length; a < o; ++a) + if ((r = i[a]).name === t) return r.value; + return null + } + return this.each((null == e ? Mr : Tr)(n, t, e)) + }, + delay: function(t) { + var e = this._id; + return arguments.length ? this.each(("function" == typeof t ? qr : jr)(e, t)) : gr(this.node(), e).delay + }, + duration: function(t) { + var e = this._id; + return arguments.length ? this.each(("function" == typeof t ? Ur : zr)(e, t)) : gr(this.node(), e).duration + }, + ease: function(t) { + var e = this._id; + return arguments.length ? this.each(Yr(e, t)) : gr(this.node(), e).ease + }, + end: function() { + var t, e, n = this, + r = n._id, + i = n.size(); + return new Promise((function(a, o) { + var s = { + value: o + }, + u = { + value: function() { + 0 == --i && a() + } + }; + n.each((function() { + var n = pr(this, r), + i = n.on; + i !== t && ((e = (t = i).copy())._.cancel.push(s), e._.interrupt.push(s), e._.end.push(u)), n.on = e + })) + })) + } + }; + var ri = { + time: null, + delay: 0, + duration: 250, + ease: ni + }; + + function ii(t, e) { + for (var n; !(n = t.__transition) || !(n = n[e]);) + if (!(t = t.parentNode)) return ri.time = Wn(), ri; + return n + } + Me.prototype.interrupt = function(t) { + return this.each((function() { + _r(this, t) + })) + }, Me.prototype.transition = function(t) { + var e, n; + t instanceof Xr ? (e = t._id, t = t._name) : (e = Jr(), (n = ri).time = Wn(), t = null == t ? null : t + ""); + for (var r = this._groups, i = r.length, a = 0; a < i; ++a) + for (var o, s = r[a], u = s.length, c = 0; c < u; ++c)(o = s[c]) && hr(o, t, e, c, s, n || ii(o, e)); + return new Xr(r, this._parents, t, e) + }; + var ai = [null], + oi = function(t, e) { + var n, r, i = t.__transition; + if (i) + for (r in e = null == e ? null : e + "", i) + if ((n = i[r]).state > or && n.name === e) return new Xr([ + [t] + ], ai, e, +r); + return null + }, + si = function(t) { + return function() { + return t + } + }, + ui = function(t, e, n) { + this.target = t, this.type = e, this.selection = n + }; + + function ci() { + pe.stopImmediatePropagation() + } + var fi = function() { + pe.preventDefault(), pe.stopImmediatePropagation() + }, + li = { + name: "drag" + }, + hi = { + name: "space" + }, + di = { + name: "handle" + }, + pi = { + name: "center" + }; + + function gi(t) { + return [+t[0], +t[1]] + } + + function yi(t) { + return [gi(t[0]), gi(t[1])] + } + var bi = { + name: "x", + handles: ["w", "e"].map(Ai), + input: function(t, e) { + return null == t ? null : [ + [+t[0], e[0][1]], + [+t[1], e[1][1]] + ] + }, + output: function(t) { + return t && [t[0][0], t[1][0]] + } + }, + vi = { + name: "y", + handles: ["n", "s"].map(Ai), + input: function(t, e) { + return null == t ? null : [ + [e[0][0], +t[0]], + [e[1][0], +t[1]] + ] + }, + output: function(t) { + return t && [t[0][1], t[1][1]] + } + }, + mi = { + name: "xy", + handles: ["n", "w", "e", "s", "nw", "ne", "sw", "se"].map(Ai), + input: function(t) { + return null == t ? null : yi(t) + }, + output: function(t) { + return t + } + }, + _i = { + overlay: "crosshair", + selection: "move", + n: "ns-resize", + e: "ew-resize", + s: "ns-resize", + w: "ew-resize", + nw: "nwse-resize", + ne: "nesw-resize", + se: "nwse-resize", + sw: "nesw-resize" + }, + wi = { + e: "w", + w: "e", + nw: "ne", + ne: "nw", + se: "sw", + sw: "se" + }, + xi = { + n: "s", + s: "n", + nw: "sw", + ne: "se", + se: "ne", + sw: "nw" + }, + ki = { + overlay: 1, + selection: 1, + n: null, + e: 1, + s: null, + w: -1, + nw: -1, + ne: 1, + se: 1, + sw: -1 + }, + Ei = { + overlay: 1, + selection: 1, + n: -1, + e: null, + s: 1, + w: null, + nw: -1, + ne: -1, + se: 1, + sw: 1 + }; + + function Ai(t) { + return { + type: t + } + } + + function Si() { + return !pe.ctrlKey && !pe.button + } + + function Mi() { + var t = this.ownerSVGElement || this; + return t.hasAttribute("viewBox") ? [ + [(t = t.viewBox.baseVal).x, t.y], + [t.x + t.width, t.y + t.height] + ] : [ + [0, 0], + [t.width.baseVal.value, t.height.baseVal.value] + ] + } + + function Ti() { + return navigator.maxTouchPoints || "ontouchstart" in this + } + + function Di(t) { + for (; !t.__brush;) + if (!(t = t.parentNode)) return; + return t.__brush + } + + function Ci(t) { + var e = t.__brush; + return e ? e.dim.output(e.selection) : null + } + + function Ni() { + return Bi(bi) + } + + function Ii() { + return Bi(vi) + } + var Li = function() { + return Bi(mi) + }; + + function Bi(t) { + var e, n = Mi, + r = Si, + i = Ti, + a = !0, + o = gt("start", "brush", "end"), + s = 6; + + function u(e) { + var n = e.property("__brush", g).selectAll(".overlay").data([Ai("overlay")]); + n.enter().append("rect").attr("class", "overlay").attr("pointer-events", "all").attr("cursor", _i.overlay).merge(n).each((function() { + var t = Di(this).extent; + Te(this).attr("x", t[0][0]).attr("y", t[0][1]).attr("width", t[1][0] - t[0][0]).attr("height", t[1][1] - t[0][1]) + })), e.selectAll(".selection").data([Ai("selection")]).enter().append("rect").attr("class", "selection").attr("cursor", _i.selection).attr("fill", "#777").attr("fill-opacity", .3).attr("stroke", "#fff").attr("shape-rendering", "crispEdges"); + var r = e.selectAll(".handle").data(t.handles, (function(t) { + return t.type + })); + r.exit().remove(), r.enter().append("rect").attr("class", (function(t) { + return "handle handle--" + t.type + })).attr("cursor", (function(t) { + return _i[t.type] + })), e.each(c).attr("fill", "none").attr("pointer-events", "all").on("mousedown.brush", h).filter(i).on("touchstart.brush", h).on("touchmove.brush", d).on("touchend.brush touchcancel.brush", p).style("touch-action", "none").style("-webkit-tap-highlight-color", "rgba(0,0,0,0)") + } + + function c() { + var t = Te(this), + e = Di(this).selection; + e ? (t.selectAll(".selection").style("display", null).attr("x", e[0][0]).attr("y", e[0][1]).attr("width", e[1][0] - e[0][0]).attr("height", e[1][1] - e[0][1]), t.selectAll(".handle").style("display", null).attr("x", (function(t) { + return "e" === t.type[t.type.length - 1] ? e[1][0] - s / 2 : e[0][0] - s / 2 + })).attr("y", (function(t) { + return "s" === t.type[0] ? e[1][1] - s / 2 : e[0][1] - s / 2 + })).attr("width", (function(t) { + return "n" === t.type || "s" === t.type ? e[1][0] - e[0][0] + s : s + })).attr("height", (function(t) { + return "e" === t.type || "w" === t.type ? e[1][1] - e[0][1] + s : s + }))) : t.selectAll(".selection,.handle").style("display", "none").attr("x", null).attr("y", null).attr("width", null).attr("height", null) + } + + function f(t, e, n) { + return !n && t.__brush.emitter || new l(t, e) + } + + function l(t, e) { + this.that = t, this.args = e, this.state = t.__brush, this.active = 0 + } + + function h() { + if ((!e || pe.touches) && r.apply(this, arguments)) { + var n, i, o, s, u, l, h, d, p, g, y, b, v = this, + m = pe.target.__data__.type, + _ = "selection" === (a && pe.metaKey ? m = "overlay" : m) ? li : a && pe.altKey ? pi : di, + w = t === vi ? null : ki[m], + x = t === bi ? null : Ei[m], + k = Di(v), + E = k.extent, + A = k.selection, + S = E[0][0], + M = E[0][1], + T = E[1][0], + D = E[1][1], + C = 0, + N = 0, + I = w && x && a && pe.shiftKey, + L = pe.touches ? (b = pe.changedTouches[0].identifier, function(t) { + return Pn(t, pe.touches, b) + }) : Fn, + B = L(v), + O = B, + R = f(v, arguments, !0).beforestart(); + "overlay" === m ? (A && (p = !0), k.selection = A = [ + [n = t === vi ? S : B[0], o = t === bi ? M : B[1]], + [u = t === vi ? T : n, h = t === bi ? D : o] + ]) : (n = A[0][0], o = A[0][1], u = A[1][0], h = A[1][1]), i = n, s = o, l = u, d = h; + var P = Te(v).attr("pointer-events", "none"), + F = P.selectAll(".overlay").attr("cursor", _i[m]); + if (pe.touches) R.moved = j, R.ended = z; + else { + var q = Te(pe.view).on("mousemove.brush", j, !0).on("mouseup.brush", z, !0); + a && q.on("keydown.brush", (function() { + switch (pe.keyCode) { + case 16: + I = w && x; + break; + case 18: + _ === di && (w && (u = l - C * w, n = i + C * w), x && (h = d - N * x, o = s + N * x), _ = pi, U()); + break; + case 32: + _ !== di && _ !== pi || (w < 0 ? u = l - C : w > 0 && (n = i - C), x < 0 ? h = d - N : x > 0 && (o = s - N), _ = hi, F.attr("cursor", _i.selection), U()); + break; + default: + return + } + fi() + }), !0).on("keyup.brush", (function() { + switch (pe.keyCode) { + case 16: + I && (g = y = I = !1, U()); + break; + case 18: + _ === pi && (w < 0 ? u = l : w > 0 && (n = i), x < 0 ? h = d : x > 0 && (o = s), _ = di, U()); + break; + case 32: + _ === hi && (pe.altKey ? (w && (u = l - C * w, n = i + C * w), x && (h = d - N * x, o = s + N * x), _ = pi) : (w < 0 ? u = l : w > 0 && (n = i), x < 0 ? h = d : x > 0 && (o = s), _ = di), F.attr("cursor", _i[m]), U()); + break; + default: + return + } + fi() + }), !0), Ne(pe.view) + } + ci(), _r(v), c.call(v), R.start() + } + + function j() { + var t = L(v); + !I || g || y || (Math.abs(t[0] - O[0]) > Math.abs(t[1] - O[1]) ? y = !0 : g = !0), O = t, p = !0, fi(), U() + } + + function U() { + var t; + switch (C = O[0] - B[0], N = O[1] - B[1], _) { + case hi: + case li: + w && (C = Math.max(S - n, Math.min(T - u, C)), i = n + C, l = u + C), x && (N = Math.max(M - o, Math.min(D - h, N)), s = o + N, d = h + N); + break; + case di: + w < 0 ? (C = Math.max(S - n, Math.min(T - n, C)), i = n + C, l = u) : w > 0 && (C = Math.max(S - u, Math.min(T - u, C)), i = n, l = u + C), x < 0 ? (N = Math.max(M - o, Math.min(D - o, N)), s = o + N, d = h) : x > 0 && (N = Math.max(M - h, Math.min(D - h, N)), s = o, d = h + N); + break; + case pi: + w && (i = Math.max(S, Math.min(T, n - C * w)), l = Math.max(S, Math.min(T, u + C * w))), x && (s = Math.max(M, Math.min(D, o - N * x)), d = Math.max(M, Math.min(D, h + N * x))) + } + l < i && (w *= -1, t = n, n = u, u = t, t = i, i = l, l = t, m in wi && F.attr("cursor", _i[m = wi[m]])), d < s && (x *= -1, t = o, o = h, h = t, t = s, s = d, d = t, m in xi && F.attr("cursor", _i[m = xi[m]])), k.selection && (A = k.selection), g && (i = A[0][0], l = A[1][0]), y && (s = A[0][1], d = A[1][1]), A[0][0] === i && A[0][1] === s && A[1][0] === l && A[1][1] === d || (k.selection = [ + [i, s], + [l, d] + ], c.call(v), R.brush()) + } + + function z() { + if (ci(), pe.touches) { + if (pe.touches.length) return; + e && clearTimeout(e), e = setTimeout((function() { + e = null + }), 500) + } else Ie(pe.view, p), q.on("keydown.brush keyup.brush mousemove.brush mouseup.brush", null); + P.attr("pointer-events", "all"), F.attr("cursor", _i.overlay), k.selection && (A = k.selection), + function(t) { + return t[0][0] === t[1][0] || t[0][1] === t[1][1] + }(A) && (k.selection = null, c.call(v)), R.end() + } + } + + function d() { + f(this, arguments).moved() + } + + function p() { + f(this, arguments).ended() + } + + function g() { + var e = this.__brush || { + selection: null + }; + return e.extent = yi(n.apply(this, arguments)), e.dim = t, e + } + return u.move = function(e, n) { + e.selection ? e.on("start.brush", (function() { + f(this, arguments).beforestart().start() + })).on("interrupt.brush end.brush", (function() { + f(this, arguments).end() + })).tween("brush", (function() { + var e = this, + r = e.__brush, + i = f(e, arguments), + a = r.selection, + o = t.input("function" == typeof n ? n.apply(this, arguments) : n, r.extent), + s = Bn(a, o); + + function u(t) { + r.selection = 1 === t && null === o ? null : s(t), c.call(e), i.brush() + } + return null !== a && null !== o ? u : u(1) + })) : e.each((function() { + var e = this, + r = arguments, + i = e.__brush, + a = t.input("function" == typeof n ? n.apply(e, r) : n, i.extent), + o = f(e, r).beforestart(); + _r(e), i.selection = null === a ? null : a, c.call(e), o.start().brush().end() + })) + }, u.clear = function(t) { + u.move(t, null) + }, l.prototype = { + beforestart: function() { + return 1 == ++this.active && (this.state.emitter = this, this.starting = !0), this + }, + start: function() { + return this.starting ? (this.starting = !1, this.emit("start")) : this.emit("brush"), this + }, + brush: function() { + return this.emit("brush"), this + }, + end: function() { + return 0 == --this.active && (delete this.state.emitter, this.emit("end")), this + }, + emit: function(e) { + _e(new ui(u, e, t.output(this.state.selection)), o.apply, o, [e, this.that, this.args]) + } + }, u.extent = function(t) { + return arguments.length ? (n = "function" == typeof t ? t : si(yi(t)), u) : n + }, u.filter = function(t) { + return arguments.length ? (r = "function" == typeof t ? t : si(!!t), u) : r + }, u.touchable = function(t) { + return arguments.length ? (i = "function" == typeof t ? t : si(!!t), u) : i + }, u.handleSize = function(t) { + return arguments.length ? (s = +t, u) : s + }, u.keyModifiers = function(t) { + return arguments.length ? (a = !!t, u) : a + }, u.on = function() { + var t = o.on.apply(o, arguments); + return t === o ? u : t + }, u + } + var Oi = Math.cos, + Ri = Math.sin, + Pi = Math.PI, + Fi = Pi / 2, + qi = 2 * Pi, + ji = Math.max; + + function Ui(t) { + return function(e, n) { + return t(e.source.value + e.target.value, n.source.value + n.target.value) + } + } + var zi = function() { + var t = 0, + e = null, + n = null, + r = null; + + function i(i) { + var a, o, s, u, c, f, l = i.length, + h = [], + d = x(l), + p = [], + g = [], + y = g.groups = new Array(l), + b = new Array(l * l); + for (a = 0, c = -1; ++c < l;) { + for (o = 0, f = -1; ++f < l;) o += i[c][f]; + h.push(o), p.push(x(l)), a += o + } + for (e && d.sort((function(t, n) { + return e(h[t], h[n]) + })), n && p.forEach((function(t, e) { + t.sort((function(t, r) { + return n(i[e][t], i[e][r]) + })) + })), u = (a = ji(0, qi - t * l) / a) ? t : qi / l, o = 0, c = -1; ++c < l;) { + for (s = o, f = -1; ++f < l;) { + var v = d[c], + m = p[v][f], + _ = i[v][m], + w = o, + k = o += _ * a; + b[m * l + v] = { + index: v, + subindex: m, + startAngle: w, + endAngle: k, + value: _ + } + } + y[v] = { + index: v, + startAngle: s, + endAngle: o, + value: h[v] + }, o += u + } + for (c = -1; ++c < l;) + for (f = c - 1; ++f < l;) { + var E = b[f * l + c], + A = b[c * l + f]; + (E.value || A.value) && g.push(E.value < A.value ? { + source: A, + target: E + } : { + source: E, + target: A + }) + } + return r ? g.sort(r) : g + } + return i.padAngle = function(e) { + return arguments.length ? (t = ji(0, e), i) : t + }, i.sortGroups = function(t) { + return arguments.length ? (e = t, i) : e + }, i.sortSubgroups = function(t) { + return arguments.length ? (n = t, i) : n + }, i.sortChords = function(t) { + return arguments.length ? (null == t ? r = null : (r = Ui(t))._ = t, i) : r && r._ + }, i + }, + Yi = Array.prototype.slice, + Vi = function(t) { + return function() { + return t + } + }, + Hi = Math.PI, + Gi = 2 * Hi, + $i = Gi - 1e-6; + + function Wi() { + this._x0 = this._y0 = this._x1 = this._y1 = null, this._ = "" + } + + function Ki() { + return new Wi + } + Wi.prototype = Ki.prototype = { + constructor: Wi, + moveTo: function(t, e) { + this._ += "M" + (this._x0 = this._x1 = +t) + "," + (this._y0 = this._y1 = +e) + }, + closePath: function() { + null !== this._x1 && (this._x1 = this._x0, this._y1 = this._y0, this._ += "Z") + }, + lineTo: function(t, e) { + this._ += "L" + (this._x1 = +t) + "," + (this._y1 = +e) + }, + quadraticCurveTo: function(t, e, n, r) { + this._ += "Q" + +t + "," + +e + "," + (this._x1 = +n) + "," + (this._y1 = +r) + }, + bezierCurveTo: function(t, e, n, r, i, a) { + this._ += "C" + +t + "," + +e + "," + +n + "," + +r + "," + (this._x1 = +i) + "," + (this._y1 = +a) + }, + arcTo: function(t, e, n, r, i) { + t = +t, e = +e, n = +n, r = +r, i = +i; + var a = this._x1, + o = this._y1, + s = n - t, + u = r - e, + c = a - t, + f = o - e, + l = c * c + f * f; + if (i < 0) throw new Error("negative radius: " + i); + if (null === this._x1) this._ += "M" + (this._x1 = t) + "," + (this._y1 = e); + else if (l > 1e-6) + if (Math.abs(f * s - u * c) > 1e-6 && i) { + var h = n - a, + d = r - o, + p = s * s + u * u, + g = h * h + d * d, + y = Math.sqrt(p), + b = Math.sqrt(l), + v = i * Math.tan((Hi - Math.acos((p + l - g) / (2 * y * b))) / 2), + m = v / b, + _ = v / y; + Math.abs(m - 1) > 1e-6 && (this._ += "L" + (t + m * c) + "," + (e + m * f)), this._ += "A" + i + "," + i + ",0,0," + +(f * h > c * d) + "," + (this._x1 = t + _ * s) + "," + (this._y1 = e + _ * u) + } else this._ += "L" + (this._x1 = t) + "," + (this._y1 = e); + else; + }, + arc: function(t, e, n, r, i, a) { + t = +t, e = +e, a = !!a; + var o = (n = +n) * Math.cos(r), + s = n * Math.sin(r), + u = t + o, + c = e + s, + f = 1 ^ a, + l = a ? r - i : i - r; + if (n < 0) throw new Error("negative radius: " + n); + null === this._x1 ? this._ += "M" + u + "," + c : (Math.abs(this._x1 - u) > 1e-6 || Math.abs(this._y1 - c) > 1e-6) && (this._ += "L" + u + "," + c), n && (l < 0 && (l = l % Gi + Gi), l > $i ? this._ += "A" + n + "," + n + ",0,1," + f + "," + (t - o) + "," + (e - s) + "A" + n + "," + n + ",0,1," + f + "," + (this._x1 = u) + "," + (this._y1 = c) : l > 1e-6 && (this._ += "A" + n + "," + n + ",0," + +(l >= Hi) + "," + f + "," + (this._x1 = t + n * Math.cos(i)) + "," + (this._y1 = e + n * Math.sin(i)))) + }, + rect: function(t, e, n, r) { + this._ += "M" + (this._x0 = this._x1 = +t) + "," + (this._y0 = this._y1 = +e) + "h" + +n + "v" + +r + "h" + -n + "Z" + }, + toString: function() { + return this._ + } + }; + var Xi = Ki; + + function Zi(t) { + return t.source + } + + function Ji(t) { + return t.target + } + + function Qi(t) { + return t.radius + } + + function ta(t) { + return t.startAngle + } + + function ea(t) { + return t.endAngle + } + var na = function() { + var t = Zi, + e = Ji, + n = Qi, + r = ta, + i = ea, + a = null; + + function o() { + var o, s = Yi.call(arguments), + u = t.apply(this, s), + c = e.apply(this, s), + f = +n.apply(this, (s[0] = u, s)), + l = r.apply(this, s) - Fi, + h = i.apply(this, s) - Fi, + d = f * Oi(l), + p = f * Ri(l), + g = +n.apply(this, (s[0] = c, s)), + y = r.apply(this, s) - Fi, + b = i.apply(this, s) - Fi; + if (a || (a = o = Xi()), a.moveTo(d, p), a.arc(0, 0, f, l, h), l === y && h === b || (a.quadraticCurveTo(0, 0, g * Oi(y), g * Ri(y)), a.arc(0, 0, g, y, b)), a.quadraticCurveTo(0, 0, d, p), a.closePath(), o) return a = null, o + "" || null + } + return o.radius = function(t) { + return arguments.length ? (n = "function" == typeof t ? t : Vi(+t), o) : n + }, o.startAngle = function(t) { + return arguments.length ? (r = "function" == typeof t ? t : Vi(+t), o) : r + }, o.endAngle = function(t) { + return arguments.length ? (i = "function" == typeof t ? t : Vi(+t), o) : i + }, o.source = function(e) { + return arguments.length ? (t = e, o) : t + }, o.target = function(t) { + return arguments.length ? (e = t, o) : e + }, o.context = function(t) { + return arguments.length ? (a = null == t ? null : t, o) : a + }, o + }; + + function ra() {} + + function ia(t, e) { + var n = new ra; + if (t instanceof ra) t.each((function(t, e) { + n.set(e, t) + })); + else if (Array.isArray(t)) { + var r, i = -1, + a = t.length; + if (null == e) + for (; ++i < a;) n.set(i, t[i]); + else + for (; ++i < a;) n.set(e(r = t[i], i, t), r) + } else if (t) + for (var o in t) n.set(o, t[o]); + return n + } + ra.prototype = ia.prototype = { + constructor: ra, + has: function(t) { + return "$" + t in this + }, + get: function(t) { + return this["$" + t] + }, + set: function(t, e) { + return this["$" + t] = e, this + }, + remove: function(t) { + var e = "$" + t; + return e in this && delete this[e] + }, + clear: function() { + for (var t in this) "$" === t[0] && delete this[t] + }, + keys: function() { + var t = []; + for (var e in this) "$" === e[0] && t.push(e.slice(1)); + return t + }, + values: function() { + var t = []; + for (var e in this) "$" === e[0] && t.push(this[e]); + return t + }, + entries: function() { + var t = []; + for (var e in this) "$" === e[0] && t.push({ + key: e.slice(1), + value: this[e] + }); + return t + }, + size: function() { + var t = 0; + for (var e in this) "$" === e[0] && ++t; + return t + }, + empty: function() { + for (var t in this) + if ("$" === t[0]) return !1; + return !0 + }, + each: function(t) { + for (var e in this) "$" === e[0] && t(this[e], e.slice(1), this) + } + }; + var aa = ia, + oa = function() { + var t, e, n, r = [], + i = []; + + function a(n, i, o, s) { + if (i >= r.length) return null != t && n.sort(t), null != e ? e(n) : n; + for (var u, c, f, l = -1, h = n.length, d = r[i++], p = aa(), g = o(); ++l < h;)(f = p.get(u = d(c = n[l]) + "")) ? f.push(c) : p.set(u, [c]); + return p.each((function(t, e) { + s(g, e, a(t, i, o, s)) + })), g + } + return n = { + object: function(t) { + return a(t, 0, sa, ua) + }, + map: function(t) { + return a(t, 0, ca, fa) + }, + entries: function(t) { + return function t(n, a) { + if (++a > r.length) return n; + var o, s = i[a - 1]; + return null != e && a >= r.length ? o = n.entries() : (o = [], n.each((function(e, n) { + o.push({ + key: n, + values: t(e, a) + }) + }))), null != s ? o.sort((function(t, e) { + return s(t.key, e.key) + })) : o + }(a(t, 0, ca, fa), 0) + }, + key: function(t) { + return r.push(t), n + }, + sortKeys: function(t) { + return i[r.length - 1] = t, n + }, + sortValues: function(e) { + return t = e, n + }, + rollup: function(t) { + return e = t, n + } + } + }; + + function sa() { + return {} + } + + function ua(t, e, n) { + t[e] = n + } + + function ca() { + return aa() + } + + function fa(t, e, n) { + t.set(e, n) + } + + function la() {} + var ha = aa.prototype; + + function da(t, e) { + var n = new la; + if (t instanceof la) t.each((function(t) { + n.add(t) + })); + else if (t) { + var r = -1, + i = t.length; + if (null == e) + for (; ++r < i;) n.add(t[r]); + else + for (; ++r < i;) n.add(e(t[r], r, t)) + } + return n + } + la.prototype = da.prototype = { + constructor: la, + has: ha.has, + add: function(t) { + return this["$" + (t += "")] = t, this + }, + remove: ha.remove, + clear: ha.clear, + values: ha.keys, + size: ha.size, + empty: ha.empty, + each: ha.each + }; + var pa = da, + ga = function(t) { + var e = []; + for (var n in t) e.push(n); + return e + }, + ya = function(t) { + var e = []; + for (var n in t) e.push(t[n]); + return e + }, + ba = function(t) { + var e = []; + for (var n in t) e.push({ + key: n, + value: t[n] + }); + return e + }, + va = Math.PI / 180, + ma = 180 / Math.PI, + _a = .96422, + wa = 1, + xa = .82521, + ka = 4 / 29, + Ea = 6 / 29, + Aa = 3 * Ea * Ea, + Sa = Ea * Ea * Ea; + + function Ma(t) { + if (t instanceof Ca) return new Ca(t.l, t.a, t.b, t.opacity); + if (t instanceof Fa) return qa(t); + t instanceof tn || (t = Je(t)); + var e, n, r = Ba(t.r), + i = Ba(t.g), + a = Ba(t.b), + o = Na((.2225045 * r + .7168786 * i + .0606169 * a) / wa); + return r === i && i === a ? e = n = o : (e = Na((.4360747 * r + .3850649 * i + .1430804 * a) / _a), n = Na((.0139322 * r + .0971045 * i + .7141733 * a) / xa)), new Ca(116 * o - 16, 500 * (e - o), 200 * (o - n), t.opacity) + } + + function Ta(t, e) { + return new Ca(t, 0, 0, null == e ? 1 : e) + } + + function Da(t, e, n, r) { + return 1 === arguments.length ? Ma(t) : new Ca(t, e, n, null == r ? 1 : r) + } + + function Ca(t, e, n, r) { + this.l = +t, this.a = +e, this.b = +n, this.opacity = +r + } + + function Na(t) { + return t > Sa ? Math.pow(t, 1 / 3) : t / Aa + ka + } + + function Ia(t) { + return t > Ea ? t * t * t : Aa * (t - ka) + } + + function La(t) { + return 255 * (t <= .0031308 ? 12.92 * t : 1.055 * Math.pow(t, 1 / 2.4) - .055) + } + + function Ba(t) { + return (t /= 255) <= .04045 ? t / 12.92 : Math.pow((t + .055) / 1.055, 2.4) + } + + function Oa(t) { + if (t instanceof Fa) return new Fa(t.h, t.c, t.l, t.opacity); + if (t instanceof Ca || (t = Ma(t)), 0 === t.a && 0 === t.b) return new Fa(NaN, 0 < t.l && t.l < 100 ? 0 : NaN, t.l, t.opacity); + var e = Math.atan2(t.b, t.a) * ma; + return new Fa(e < 0 ? e + 360 : e, Math.sqrt(t.a * t.a + t.b * t.b), t.l, t.opacity) + } + + function Ra(t, e, n, r) { + return 1 === arguments.length ? Oa(t) : new Fa(n, e, t, null == r ? 1 : r) + } + + function Pa(t, e, n, r) { + return 1 === arguments.length ? Oa(t) : new Fa(t, e, n, null == r ? 1 : r) + } + + function Fa(t, e, n, r) { + this.h = +t, this.c = +e, this.l = +n, this.opacity = +r + } + + function qa(t) { + if (isNaN(t.h)) return new Ca(t.l, 0, 0, t.opacity); + var e = t.h * va; + return new Ca(t.l, Math.cos(e) * t.c, Math.sin(e) * t.c, t.opacity) + } + Le(Ca, Da, Be(Oe, { + brighter: function(t) { + return new Ca(this.l + 18 * (null == t ? 1 : t), this.a, this.b, this.opacity) + }, + darker: function(t) { + return new Ca(this.l - 18 * (null == t ? 1 : t), this.a, this.b, this.opacity) + }, + rgb: function() { + var t = (this.l + 16) / 116, + e = isNaN(this.a) ? t : t + this.a / 500, + n = isNaN(this.b) ? t : t - this.b / 200; + return new tn(La(3.1338561 * (e = _a * Ia(e)) - 1.6168667 * (t = wa * Ia(t)) - .4906146 * (n = xa * Ia(n))), La(-.9787684 * e + 1.9161415 * t + .033454 * n), La(.0719453 * e - .2289914 * t + 1.4052427 * n), this.opacity) + } + })), Le(Fa, Pa, Be(Oe, { + brighter: function(t) { + return new Fa(this.h, this.c, this.l + 18 * (null == t ? 1 : t), this.opacity) + }, + darker: function(t) { + return new Fa(this.h, this.c, this.l - 18 * (null == t ? 1 : t), this.opacity) + }, + rgb: function() { + return qa(this).rgb() + } + })); + var ja = -.29227, + Ua = -.90649, + za = 1.97294, + Ya = za * Ua, + Va = 1.78277 * za, + Ha = 1.78277 * ja - -.14861 * Ua; + + function Ga(t, e, n, r) { + return 1 === arguments.length ? function(t) { + if (t instanceof $a) return new $a(t.h, t.s, t.l, t.opacity); + t instanceof tn || (t = Je(t)); + var e = t.r / 255, + n = t.g / 255, + r = t.b / 255, + i = (Ha * r + Ya * e - Va * n) / (Ha + Ya - Va), + a = r - i, + o = (za * (n - i) - ja * a) / Ua, + s = Math.sqrt(o * o + a * a) / (za * i * (1 - i)), + u = s ? Math.atan2(o, a) * ma - 120 : NaN; + return new $a(u < 0 ? u + 360 : u, s, i, t.opacity) + }(t) : new $a(t, e, n, null == r ? 1 : r) + } + + function $a(t, e, n, r) { + this.h = +t, this.s = +e, this.l = +n, this.opacity = +r + } + Le($a, Ga, Be(Oe, { + brighter: function(t) { + return t = null == t ? 1 / .7 : Math.pow(1 / .7, t), new $a(this.h, this.s, this.l * t, this.opacity) + }, + darker: function(t) { + return t = null == t ? .7 : Math.pow(.7, t), new $a(this.h, this.s, this.l * t, this.opacity) + }, + rgb: function() { + var t = isNaN(this.h) ? 0 : (this.h + 120) * va, + e = +this.l, + n = isNaN(this.s) ? 0 : this.s * e * (1 - e), + r = Math.cos(t), + i = Math.sin(t); + return new tn(255 * (e + n * (-.14861 * r + 1.78277 * i)), 255 * (e + n * (ja * r + Ua * i)), 255 * (e + n * (za * r)), this.opacity) + } + })); + var Wa = Array.prototype.slice, + Ka = function(t, e) { + return t - e + }, + Xa = function(t) { + for (var e = 0, n = t.length, r = t[n - 1][1] * t[0][0] - t[n - 1][0] * t[0][1]; ++e < n;) r += t[e - 1][1] * t[e][0] - t[e - 1][0] * t[e][1]; + return r + }, + Za = function(t) { + return function() { + return t + } + }, + Ja = function(t, e) { + for (var n, r = -1, i = e.length; ++r < i;) + if (n = Qa(t, e[r])) return n; + return 0 + }; + + function Qa(t, e) { + for (var n = e[0], r = e[1], i = -1, a = 0, o = t.length, s = o - 1; a < o; s = a++) { + var u = t[a], + c = u[0], + f = u[1], + l = t[s], + h = l[0], + d = l[1]; + if (to(u, l, e)) return 0; + f > r != d > r && n < (h - c) * (r - f) / (d - f) + c && (i = -i) + } + return i + } + + function to(t, e, n) { + var r, i, a, o; + return function(t, e, n) { + return (e[0] - t[0]) * (n[1] - t[1]) == (n[0] - t[0]) * (e[1] - t[1]) + }(t, e, n) && (i = t[r = +(t[0] === e[0])], a = n[r], o = e[r], i <= a && a <= o || o <= a && a <= i) + } + var eo = function() {}, + no = [ + [], + [ + [ + [1, 1.5], + [.5, 1] + ] + ], + [ + [ + [1.5, 1], + [1, 1.5] + ] + ], + [ + [ + [1.5, 1], + [.5, 1] + ] + ], + [ + [ + [1, .5], + [1.5, 1] + ] + ], + [ + [ + [1, 1.5], + [.5, 1] + ], + [ + [1, .5], + [1.5, 1] + ] + ], + [ + [ + [1, .5], + [1, 1.5] + ] + ], + [ + [ + [1, .5], + [.5, 1] + ] + ], + [ + [ + [.5, 1], + [1, .5] + ] + ], + [ + [ + [1, 1.5], + [1, .5] + ] + ], + [ + [ + [.5, 1], + [1, .5] + ], + [ + [1.5, 1], + [1, 1.5] + ] + ], + [ + [ + [1.5, 1], + [1, .5] + ] + ], + [ + [ + [.5, 1], + [1.5, 1] + ] + ], + [ + [ + [1, 1.5], + [1.5, 1] + ] + ], + [ + [ + [.5, 1], + [1, 1.5] + ] + ], + [] + ], + ro = function() { + var t = 1, + e = 1, + n = D, + r = s; + + function i(t) { + var e = n(t); + if (Array.isArray(e)) e = e.slice().sort(Ka); + else { + var r = y(t), + i = r[0], + o = r[1]; + e = T(i, o, e), e = x(Math.floor(i / e) * e, Math.floor(o / e) * e, e) + } + return e.map((function(e) { + return a(t, e) + })) + } + + function a(n, i) { + var a = [], + s = []; + return function(n, r, i) { + var a, s, u, c, f, l, h = new Array, + d = new Array; + a = s = -1, c = n[0] >= r, no[c << 1].forEach(p); + for (; ++a < t - 1;) u = c, c = n[a + 1] >= r, no[u | c << 1].forEach(p); + no[c << 0].forEach(p); + for (; ++s < e - 1;) { + for (a = -1, c = n[s * t + t] >= r, f = n[s * t] >= r, no[c << 1 | f << 2].forEach(p); ++a < t - 1;) u = c, c = n[s * t + t + a + 1] >= r, l = f, f = n[s * t + a + 1] >= r, no[u | c << 1 | f << 2 | l << 3].forEach(p); + no[c | f << 3].forEach(p) + } + a = -1, f = n[s * t] >= r, no[f << 2].forEach(p); + for (; ++a < t - 1;) l = f, f = n[s * t + a + 1] >= r, no[f << 2 | l << 3].forEach(p); + + function p(t) { + var e, n, r = [t[0][0] + a, t[0][1] + s], + u = [t[1][0] + a, t[1][1] + s], + c = o(r), + f = o(u); + (e = d[c]) ? (n = h[f]) ? (delete d[e.end], delete h[n.start], e === n ? (e.ring.push(u), i(e.ring)) : h[e.start] = d[n.end] = { + start: e.start, + end: n.end, + ring: e.ring.concat(n.ring) + }) : (delete d[e.end], e.ring.push(u), d[e.end = f] = e) : (e = h[f]) ? (n = d[c]) ? (delete h[e.start], delete d[n.end], e === n ? (e.ring.push(u), i(e.ring)) : h[n.start] = d[e.end] = { + start: n.start, + end: e.end, + ring: n.ring.concat(e.ring) + }) : (delete h[e.start], e.ring.unshift(r), h[e.start = c] = e) : h[c] = d[f] = { + start: c, + end: f, + ring: [r, u] + } + } + no[f << 3].forEach(p) + }(n, i, (function(t) { + r(t, n, i), Xa(t) > 0 ? a.push([t]) : s.push(t) + })), s.forEach((function(t) { + for (var e, n = 0, r = a.length; n < r; ++n) + if (-1 !== Ja((e = a[n])[0], t)) return void e.push(t) + })), { + type: "MultiPolygon", + value: i, + coordinates: a + } + } + + function o(e) { + return 2 * e[0] + e[1] * (t + 1) * 4 + } + + function s(n, r, i) { + n.forEach((function(n) { + var a, o = n[0], + s = n[1], + u = 0 | o, + c = 0 | s, + f = r[c * t + u]; + o > 0 && o < t && u === o && (a = r[c * t + u - 1], n[0] = o + (i - a) / (f - a) - .5), s > 0 && s < e && c === s && (a = r[(c - 1) * t + u], n[1] = s + (i - a) / (f - a) - .5) + })) + } + return i.contour = a, i.size = function(n) { + if (!arguments.length) return [t, e]; + var r = Math.ceil(n[0]), + a = Math.ceil(n[1]); + if (!(r > 0 && a > 0)) throw new Error("invalid size"); + return t = r, e = a, i + }, i.thresholds = function(t) { + return arguments.length ? (n = "function" == typeof t ? t : Array.isArray(t) ? Za(Wa.call(t)) : Za(t), i) : n + }, i.smooth = function(t) { + return arguments.length ? (r = t ? s : eo, i) : r === s + }, i + }; + + function io(t, e, n) { + for (var r = t.width, i = t.height, a = 1 + (n << 1), o = 0; o < i; ++o) + for (var s = 0, u = 0; s < r + n; ++s) s < r && (u += t.data[s + o * r]), s >= n && (s >= a && (u -= t.data[s - a + o * r]), e.data[s - n + o * r] = u / Math.min(s + 1, r - 1 + a - s, a)) + } + + function ao(t, e, n) { + for (var r = t.width, i = t.height, a = 1 + (n << 1), o = 0; o < r; ++o) + for (var s = 0, u = 0; s < i + n; ++s) s < i && (u += t.data[o + s * r]), s >= n && (s >= a && (u -= t.data[o + (s - a) * r]), e.data[o + (s - n) * r] = u / Math.min(s + 1, i - 1 + a - s, a)) + } + + function oo(t) { + return t[0] + } + + function so(t) { + return t[1] + } + + function uo() { + return 1 + } + var co = function() { + var t = oo, + e = so, + n = uo, + r = 960, + i = 500, + a = 20, + o = 2, + s = 3 * a, + u = r + 2 * s >> o, + c = i + 2 * s >> o, + f = Za(20); + + function l(r) { + var i = new Float32Array(u * c), + l = new Float32Array(u * c); + r.forEach((function(r, a, f) { + var l = +t(r, a, f) + s >> o, + h = +e(r, a, f) + s >> o, + d = +n(r, a, f); + l >= 0 && l < u && h >= 0 && h < c && (i[l + h * u] += d) + })), io({ + width: u, + height: c, + data: i + }, { + width: u, + height: c, + data: l + }, a >> o), ao({ + width: u, + height: c, + data: l + }, { + width: u, + height: c, + data: i + }, a >> o), io({ + width: u, + height: c, + data: i + }, { + width: u, + height: c, + data: l + }, a >> o), ao({ + width: u, + height: c, + data: l + }, { + width: u, + height: c, + data: i + }, a >> o), io({ + width: u, + height: c, + data: i + }, { + width: u, + height: c, + data: l + }, a >> o), ao({ + width: u, + height: c, + data: l + }, { + width: u, + height: c, + data: i + }, a >> o); + var d = f(i); + if (!Array.isArray(d)) { + var p = B(i); + d = T(0, p, d), (d = x(0, Math.floor(p / d) * d, d)).shift() + } + return ro().thresholds(d).size([u, c])(i).map(h) + } + + function h(t) { + return t.value *= Math.pow(2, -2 * o), t.coordinates.forEach(d), t + } + + function d(t) { + t.forEach(p) + } + + function p(t) { + t.forEach(g) + } + + function g(t) { + t[0] = t[0] * Math.pow(2, o) - s, t[1] = t[1] * Math.pow(2, o) - s + } + + function y() { + return u = r + 2 * (s = 3 * a) >> o, c = i + 2 * s >> o, l + } + return l.x = function(e) { + return arguments.length ? (t = "function" == typeof e ? e : Za(+e), l) : t + }, l.y = function(t) { + return arguments.length ? (e = "function" == typeof t ? t : Za(+t), l) : e + }, l.weight = function(t) { + return arguments.length ? (n = "function" == typeof t ? t : Za(+t), l) : n + }, l.size = function(t) { + if (!arguments.length) return [r, i]; + var e = Math.ceil(t[0]), + n = Math.ceil(t[1]); + if (!(e >= 0 || e >= 0)) throw new Error("invalid size"); + return r = e, i = n, y() + }, l.cellSize = function(t) { + if (!arguments.length) return 1 << o; + if (!((t = +t) >= 1)) throw new Error("invalid cell size"); + return o = Math.floor(Math.log(t) / Math.LN2), y() + }, l.thresholds = function(t) { + return arguments.length ? (f = "function" == typeof t ? t : Array.isArray(t) ? Za(Wa.call(t)) : Za(t), l) : f + }, l.bandwidth = function(t) { + if (!arguments.length) return Math.sqrt(a * (a + 1)); + if (!((t = +t) >= 0)) throw new Error("invalid bandwidth"); + return a = Math.round((Math.sqrt(4 * t * t + 1) - 1) / 2), y() + }, l + }, + fo = function(t) { + return function() { + return t + } + }; + + function lo(t, e, n, r, i, a, o, s, u, c) { + this.target = t, this.type = e, this.subject = n, this.identifier = r, this.active = i, this.x = a, this.y = o, this.dx = s, this.dy = u, this._ = c + } + + function ho() { + return !pe.ctrlKey && !pe.button + } + + function po() { + return this.parentNode + } + + function go(t) { + return null == t ? { + x: pe.x, + y: pe.y + } : t + } + + function yo() { + return navigator.maxTouchPoints || "ontouchstart" in this + } + lo.prototype.on = function() { + var t = this._.on.apply(this._, arguments); + return t === this._ ? this : t + }; + var bo = function() { + var t, e, n, r, i = ho, + a = po, + o = go, + s = yo, + u = {}, + c = gt("start", "drag", "end"), + f = 0, + l = 0; + + function h(t) { + t.on("mousedown.drag", d).filter(s).on("touchstart.drag", y).on("touchmove.drag", b).on("touchend.drag touchcancel.drag", v).style("touch-action", "none").style("-webkit-tap-highlight-color", "rgba(0,0,0,0)") + } + + function d() { + if (!r && i.apply(this, arguments)) { + var o = m("mouse", a.apply(this, arguments), Fn, this, arguments); + o && (Te(pe.view).on("mousemove.drag", p, !0).on("mouseup.drag", g, !0), Ne(pe.view), De(), n = !1, t = pe.clientX, e = pe.clientY, o("start")) + } + } + + function p() { + if (Ce(), !n) { + var r = pe.clientX - t, + i = pe.clientY - e; + n = r * r + i * i > l + } + u.mouse("drag") + } + + function g() { + Te(pe.view).on("mousemove.drag mouseup.drag", null), Ie(pe.view, n), Ce(), u.mouse("end") + } + + function y() { + if (i.apply(this, arguments)) { + var t, e, n = pe.changedTouches, + r = a.apply(this, arguments), + o = n.length; + for (t = 0; t < o; ++t)(e = m(n[t].identifier, r, Pn, this, arguments)) && (De(), e("start")) + } + } + + function b() { + var t, e, n = pe.changedTouches, + r = n.length; + for (t = 0; t < r; ++t)(e = u[n[t].identifier]) && (Ce(), e("drag")) + } + + function v() { + var t, e, n = pe.changedTouches, + i = n.length; + for (r && clearTimeout(r), r = setTimeout((function() { + r = null + }), 500), t = 0; t < i; ++t)(e = u[n[t].identifier]) && (De(), e("end")) + } + + function m(t, e, n, r, i) { + var a, s, l, d = n(e, t), + p = c.copy(); + if (_e(new lo(h, "beforestart", a, t, f, d[0], d[1], 0, 0, p), (function() { + return null != (pe.subject = a = o.apply(r, i)) && (s = a.x - d[0] || 0, l = a.y - d[1] || 0, !0) + }))) return function o(c) { + var g, y = d; + switch (c) { + case "start": + u[t] = o, g = f++; + break; + case "end": + delete u[t], --f; + case "drag": + d = n(e, t), g = f + } + _e(new lo(h, c, a, t, g, d[0] + s, d[1] + l, d[0] - y[0], d[1] - y[1], p), p.apply, p, [c, r, i]) + } + } + return h.filter = function(t) { + return arguments.length ? (i = "function" == typeof t ? t : fo(!!t), h) : i + }, h.container = function(t) { + return arguments.length ? (a = "function" == typeof t ? t : fo(t), h) : a + }, h.subject = function(t) { + return arguments.length ? (o = "function" == typeof t ? t : fo(t), h) : o + }, h.touchable = function(t) { + return arguments.length ? (s = "function" == typeof t ? t : fo(!!t), h) : s + }, h.on = function() { + var t = c.on.apply(c, arguments); + return t === c ? h : t + }, h.clickDistance = function(t) { + return arguments.length ? (l = (t = +t) * t, h) : Math.sqrt(l) + }, h + }, + vo = {}, + mo = {}, + _o = 34, + wo = 10, + xo = 13; + + function ko(t) { + return new Function("d", "return {" + t.map((function(t, e) { + return JSON.stringify(t) + ": d[" + e + '] || ""' + })).join(",") + "}") + } + + function Eo(t) { + var e = Object.create(null), + n = []; + return t.forEach((function(t) { + for (var r in t) r in e || n.push(e[r] = r) + })), n + } + + function Ao(t, e) { + var n = t + "", + r = n.length; + return r < e ? new Array(e - r + 1).join(0) + n : n + } + + function So(t) { + var e, n = t.getUTCHours(), + r = t.getUTCMinutes(), + i = t.getUTCSeconds(), + a = t.getUTCMilliseconds(); + return isNaN(t) ? "Invalid Date" : ((e = t.getUTCFullYear()) < 0 ? "-" + Ao(-e, 6) : e > 9999 ? "+" + Ao(e, 6) : Ao(e, 4)) + "-" + Ao(t.getUTCMonth() + 1, 2) + "-" + Ao(t.getUTCDate(), 2) + (a ? "T" + Ao(n, 2) + ":" + Ao(r, 2) + ":" + Ao(i, 2) + "." + Ao(a, 3) + "Z" : i ? "T" + Ao(n, 2) + ":" + Ao(r, 2) + ":" + Ao(i, 2) + "Z" : r || n ? "T" + Ao(n, 2) + ":" + Ao(r, 2) + "Z" : "") + } + var Mo = function(t) { + var e = new RegExp('["' + t + "\n\r]"), + n = t.charCodeAt(0); + + function r(t, e) { + var r, i = [], + a = t.length, + o = 0, + s = 0, + u = a <= 0, + c = !1; + + function f() { + if (u) return mo; + if (c) return c = !1, vo; + var e, r, i = o; + if (t.charCodeAt(i) === _o) { + for (; o++ < a && t.charCodeAt(o) !== _o || t.charCodeAt(++o) === _o;); + return (e = o) >= a ? u = !0 : (r = t.charCodeAt(o++)) === wo ? c = !0 : r === xo && (c = !0, t.charCodeAt(o) === wo && ++o), t.slice(i + 1, e - 1).replace(/""/g, '"') + } + for (; o < a;) { + if ((r = t.charCodeAt(e = o++)) === wo) c = !0; + else if (r === xo) c = !0, t.charCodeAt(o) === wo && ++o; + else if (r !== n) continue; + return t.slice(i, e) + } + return u = !0, t.slice(i, a) + } + for (t.charCodeAt(a - 1) === wo && --a, t.charCodeAt(a - 1) === xo && --a; + (r = f()) !== mo;) { + for (var l = []; r !== vo && r !== mo;) l.push(r), r = f(); + e && null == (l = e(l, s++)) || i.push(l) + } + return i + } + + function i(e, n) { + return e.map((function(e) { + return n.map((function(t) { + return o(e[t]) + })).join(t) + })) + } + + function a(e) { + return e.map(o).join(t) + } + + function o(t) { + return null == t ? "" : t instanceof Date ? So(t) : e.test(t += "") ? '"' + t.replace(/"/g, '""') + '"' : t + } + return { + parse: function(t, e) { + var n, i, a = r(t, (function(t, r) { + if (n) return n(t, r - 1); + i = t, n = e ? function(t, e) { + var n = ko(t); + return function(r, i) { + return e(n(r), i, t) + } + }(t, e) : ko(t) + })); + return a.columns = i || [], a + }, + parseRows: r, + format: function(e, n) { + return null == n && (n = Eo(e)), [n.map(o).join(t)].concat(i(e, n)).join("\n") + }, + formatBody: function(t, e) { + return null == e && (e = Eo(t)), i(t, e).join("\n") + }, + formatRows: function(t) { + return t.map(a).join("\n") + }, + formatRow: a, + formatValue: o + } + }, + To = Mo(","), + Do = To.parse, + Co = To.parseRows, + No = To.format, + Io = To.formatBody, + Lo = To.formatRows, + Bo = To.formatRow, + Oo = To.formatValue, + Ro = Mo("\t"), + Po = Ro.parse, + Fo = Ro.parseRows, + qo = Ro.format, + jo = Ro.formatBody, + Uo = Ro.formatRows, + zo = Ro.formatRow, + Yo = Ro.formatValue; + + function Vo(t) { + for (var e in t) { + var n, r, i = t[e].trim(); + if (i) + if ("true" === i) i = !0; + else if ("false" === i) i = !1; + else if ("NaN" === i) i = NaN; + else if (isNaN(n = +i)) { + if (!(r = i.match(/^([-+]\d{2})?\d{4}(-\d{2}(-\d{2})?)?(T\d{2}:\d{2}(:\d{2}(\.\d{3})?)?(Z|[-+]\d{2}:\d{2})?)?$/))) continue; + Ho && r[4] && !r[7] && (i = i.replace(/-/g, "/").replace(/T/, " ")), i = new Date(i) + } else i = n; + else i = null; + t[e] = i + } + return t + } + var Ho = new Date("2019-01-01T00:00").getHours() || new Date("2019-07-01T00:00").getHours(); + + function Go(t) { + return +t + } + + function $o(t) { + return t * t + } + + function Wo(t) { + return t * (2 - t) + } + + function Ko(t) { + return ((t *= 2) <= 1 ? t * t : --t * (2 - t) + 1) / 2 + } + var Xo = function t(e) { + function n(t) { + return Math.pow(t, e) + } + return e = +e, n.exponent = t, n + }(3), + Zo = function t(e) { + function n(t) { + return 1 - Math.pow(1 - t, e) + } + return e = +e, n.exponent = t, n + }(3), + Jo = function t(e) { + function n(t) { + return ((t *= 2) <= 1 ? Math.pow(t, e) : 2 - Math.pow(2 - t, e)) / 2 + } + return e = +e, n.exponent = t, n + }(3), + Qo = Math.PI, + ts = Qo / 2; + + function es(t) { + return 1 - Math.cos(t * ts) + } + + function ns(t) { + return Math.sin(t * ts) + } + + function rs(t) { + return (1 - Math.cos(Qo * t)) / 2 + } + + function is(t) { + return Math.pow(2, 10 * t - 10) + } + + function as(t) { + return 1 - Math.pow(2, -10 * t) + } + + function os(t) { + return ((t *= 2) <= 1 ? Math.pow(2, 10 * t - 10) : 2 - Math.pow(2, 10 - 10 * t)) / 2 + } + + function ss(t) { + return 1 - Math.sqrt(1 - t * t) + } + + function us(t) { + return Math.sqrt(1 - --t * t) + } + + function cs(t) { + return ((t *= 2) <= 1 ? 1 - Math.sqrt(1 - t * t) : Math.sqrt(1 - (t -= 2) * t) + 1) / 2 + } + var fs = 4 / 11, + ls = 6 / 11, + hs = 8 / 11, + ds = .75, + ps = 9 / 11, + gs = 10 / 11, + ys = .9375, + bs = 21 / 22, + vs = 63 / 64, + ms = 1 / fs / fs; + + function _s(t) { + return 1 - ws(1 - t) + } + + function ws(t) { + return (t = +t) < fs ? ms * t * t : t < hs ? ms * (t -= ls) * t + ds : t < gs ? ms * (t -= ps) * t + ys : ms * (t -= bs) * t + vs + } + + function xs(t) { + return ((t *= 2) <= 1 ? 1 - ws(1 - t) : ws(t - 1) + 1) / 2 + } + var ks = function t(e) { + function n(t) { + return t * t * ((e + 1) * t - e) + } + return e = +e, n.overshoot = t, n + }(1.70158), + Es = function t(e) { + function n(t) { + return --t * t * ((e + 1) * t + e) + 1 + } + return e = +e, n.overshoot = t, n + }(1.70158), + As = function t(e) { + function n(t) { + return ((t *= 2) < 1 ? t * t * ((e + 1) * t - e) : (t -= 2) * t * ((e + 1) * t + e) + 2) / 2 + } + return e = +e, n.overshoot = t, n + }(1.70158), + Ss = 2 * Math.PI, + Ms = function t(e, n) { + var r = Math.asin(1 / (e = Math.max(1, e))) * (n /= Ss); + + function i(t) { + return e * Math.pow(2, 10 * --t) * Math.sin((r - t) / n) + } + return i.amplitude = function(e) { + return t(e, n * Ss) + }, i.period = function(n) { + return t(e, n) + }, i + }(1, .3), + Ts = function t(e, n) { + var r = Math.asin(1 / (e = Math.max(1, e))) * (n /= Ss); + + function i(t) { + return 1 - e * Math.pow(2, -10 * (t = +t)) * Math.sin((t + r) / n) + } + return i.amplitude = function(e) { + return t(e, n * Ss) + }, i.period = function(n) { + return t(e, n) + }, i + }(1, .3), + Ds = function t(e, n) { + var r = Math.asin(1 / (e = Math.max(1, e))) * (n /= Ss); + + function i(t) { + return ((t = 2 * t - 1) < 0 ? e * Math.pow(2, 10 * t) * Math.sin((r - t) / n) : 2 - e * Math.pow(2, -10 * t) * Math.sin((r + t) / n)) / 2 + } + return i.amplitude = function(e) { + return t(e, n * Ss) + }, i.period = function(n) { + return t(e, n) + }, i + }(1, .3); + + function Cs(t) { + if (!t.ok) throw new Error(t.status + " " + t.statusText); + return t.blob() + } + var Ns = function(t, e) { + return fetch(t, e).then(Cs) + }; + + function Is(t) { + if (!t.ok) throw new Error(t.status + " " + t.statusText); + return t.arrayBuffer() + } + var Ls = function(t, e) { + return fetch(t, e).then(Is) + }; + + function Bs(t) { + if (!t.ok) throw new Error(t.status + " " + t.statusText); + return t.text() + } + var Os = function(t, e) { + return fetch(t, e).then(Bs) + }; + + function Rs(t) { + return function(e, n, r) { + return 2 === arguments.length && "function" == typeof n && (r = n, n = void 0), Os(e, n).then((function(e) { + return t(e, r) + })) + } + } + + function Ps(t, e, n, r) { + 3 === arguments.length && "function" == typeof n && (r = n, n = void 0); + var i = Mo(t); + return Os(e, n).then((function(t) { + return i.parse(t, r) + })) + } + var Fs = Rs(Do), + qs = Rs(Po), + js = function(t, e) { + return new Promise((function(n, r) { + var i = new Image; + for (var a in e) i[a] = e[a]; + i.onerror = r, i.onload = function() { + n(i) + }, i.src = t + })) + }; + + function Us(t) { + if (!t.ok) throw new Error(t.status + " " + t.statusText); + return t.json() + } + var zs = function(t, e) { + return fetch(t, e).then(Us) + }; + + function Ys(t) { + return function(e, n) { + return Os(e, n).then((function(e) { + return (new DOMParser).parseFromString(e, t) + })) + } + } + var Vs = Ys("application/xml"), + Hs = Ys("text/html"), + Gs = Ys("image/svg+xml"), + $s = function(t, e) { + var n; + + function r() { + var r, i, a = n.length, + o = 0, + s = 0; + for (r = 0; r < a; ++r) o += (i = n[r]).x, s += i.y; + for (o = o / a - t, s = s / a - e, r = 0; r < a; ++r)(i = n[r]).x -= o, i.y -= s + } + return null == t && (t = 0), null == e && (e = 0), r.initialize = function(t) { + n = t + }, r.x = function(e) { + return arguments.length ? (t = +e, r) : t + }, r.y = function(t) { + return arguments.length ? (e = +t, r) : e + }, r + }, + Ws = function(t) { + return function() { + return t + } + }, + Ks = function() { + return 1e-6 * (Math.random() - .5) + }; + + function Xs(t, e, n, r) { + if (isNaN(e) || isNaN(n)) return t; + var i, a, o, s, u, c, f, l, h, d = t._root, + p = { + data: r + }, + g = t._x0, + y = t._y0, + b = t._x1, + v = t._y1; + if (!d) return t._root = p, t; + for (; d.length;) + if ((c = e >= (a = (g + b) / 2)) ? g = a : b = a, (f = n >= (o = (y + v) / 2)) ? y = o : v = o, i = d, !(d = d[l = f << 1 | c])) return i[l] = p, t; + if (s = +t._x.call(null, d.data), u = +t._y.call(null, d.data), e === s && n === u) return p.next = d, i ? i[l] = p : t._root = p, t; + do { + i = i ? i[l] = new Array(4) : t._root = new Array(4), (c = e >= (a = (g + b) / 2)) ? g = a : b = a, (f = n >= (o = (y + v) / 2)) ? y = o : v = o + } while ((l = f << 1 | c) == (h = (u >= o) << 1 | s >= a)); + return i[h] = d, i[l] = p, t + } + var Zs = function(t, e, n, r, i) { + this.node = t, this.x0 = e, this.y0 = n, this.x1 = r, this.y1 = i + }; + + function Js(t) { + return t[0] + } + + function Qs(t) { + return t[1] + } + + function tu(t, e, n) { + var r = new eu(null == e ? Js : e, null == n ? Qs : n, NaN, NaN, NaN, NaN); + return null == t ? r : r.addAll(t) + } + + function eu(t, e, n, r, i, a) { + this._x = t, this._y = e, this._x0 = n, this._y0 = r, this._x1 = i, this._y1 = a, this._root = void 0 + } + + function nu(t) { + for (var e = { + data: t.data + }, n = e; t = t.next;) n = n.next = { + data: t.data + }; + return e + } + var ru = tu.prototype = eu.prototype; + + function iu(t) { + return t.x + t.vx + } + + function au(t) { + return t.y + t.vy + } + ru.copy = function() { + var t, e, n = new eu(this._x, this._y, this._x0, this._y0, this._x1, this._y1), + r = this._root; + if (!r) return n; + if (!r.length) return n._root = nu(r), n; + for (t = [{ + source: r, + target: n._root = new Array(4) + }]; r = t.pop();) + for (var i = 0; i < 4; ++i)(e = r.source[i]) && (e.length ? t.push({ + source: e, + target: r.target[i] = new Array(4) + }) : r.target[i] = nu(e)); + return n + }, ru.add = function(t) { + var e = +this._x.call(null, t), + n = +this._y.call(null, t); + return Xs(this.cover(e, n), e, n, t) + }, ru.addAll = function(t) { + var e, n, r, i, a = t.length, + o = new Array(a), + s = new Array(a), + u = 1 / 0, + c = 1 / 0, + f = -1 / 0, + l = -1 / 0; + for (n = 0; n < a; ++n) isNaN(r = +this._x.call(null, e = t[n])) || isNaN(i = +this._y.call(null, e)) || (o[n] = r, s[n] = i, r < u && (u = r), r > f && (f = r), i < c && (c = i), i > l && (l = i)); + if (u > f || c > l) return this; + for (this.cover(u, c).cover(f, l), n = 0; n < a; ++n) Xs(this, o[n], s[n], t[n]); + return this + }, ru.cover = function(t, e) { + if (isNaN(t = +t) || isNaN(e = +e)) return this; + var n = this._x0, + r = this._y0, + i = this._x1, + a = this._y1; + if (isNaN(n)) i = (n = Math.floor(t)) + 1, a = (r = Math.floor(e)) + 1; + else { + for (var o, s, u = i - n, c = this._root; n > t || t >= i || r > e || e >= a;) switch (s = (e < r) << 1 | t < n, (o = new Array(4))[s] = c, c = o, u *= 2, s) { + case 0: + i = n + u, a = r + u; + break; + case 1: + n = i - u, a = r + u; + break; + case 2: + i = n + u, r = a - u; + break; + case 3: + n = i - u, r = a - u + } + this._root && this._root.length && (this._root = c) + } + return this._x0 = n, this._y0 = r, this._x1 = i, this._y1 = a, this + }, ru.data = function() { + var t = []; + return this.visit((function(e) { + if (!e.length) + do { + t.push(e.data) + } while (e = e.next) + })), t + }, ru.extent = function(t) { + return arguments.length ? this.cover(+t[0][0], +t[0][1]).cover(+t[1][0], +t[1][1]) : isNaN(this._x0) ? void 0 : [ + [this._x0, this._y0], + [this._x1, this._y1] + ] + }, ru.find = function(t, e, n) { + var r, i, a, o, s, u, c, f = this._x0, + l = this._y0, + h = this._x1, + d = this._y1, + p = [], + g = this._root; + for (g && p.push(new Zs(g, f, l, h, d)), null == n ? n = 1 / 0 : (f = t - n, l = e - n, h = t + n, d = e + n, n *= n); u = p.pop();) + if (!(!(g = u.node) || (i = u.x0) > h || (a = u.y0) > d || (o = u.x1) < f || (s = u.y1) < l)) + if (g.length) { + var y = (i + o) / 2, + b = (a + s) / 2; + p.push(new Zs(g[3], y, b, o, s), new Zs(g[2], i, b, y, s), new Zs(g[1], y, a, o, b), new Zs(g[0], i, a, y, b)), (c = (e >= b) << 1 | t >= y) && (u = p[p.length - 1], p[p.length - 1] = p[p.length - 1 - c], p[p.length - 1 - c] = u) + } else { + var v = t - +this._x.call(null, g.data), + m = e - +this._y.call(null, g.data), + _ = v * v + m * m; + if (_ < n) { + var w = Math.sqrt(n = _); + f = t - w, l = e - w, h = t + w, d = e + w, r = g.data + } + } return r + }, ru.remove = function(t) { + if (isNaN(a = +this._x.call(null, t)) || isNaN(o = +this._y.call(null, t))) return this; + var e, n, r, i, a, o, s, u, c, f, l, h, d = this._root, + p = this._x0, + g = this._y0, + y = this._x1, + b = this._y1; + if (!d) return this; + if (d.length) + for (;;) { + if ((c = a >= (s = (p + y) / 2)) ? p = s : y = s, (f = o >= (u = (g + b) / 2)) ? g = u : b = u, e = d, !(d = d[l = f << 1 | c])) return this; + if (!d.length) break; + (e[l + 1 & 3] || e[l + 2 & 3] || e[l + 3 & 3]) && (n = e, h = l) + } + for (; d.data !== t;) + if (r = d, !(d = d.next)) return this; + return (i = d.next) && delete d.next, r ? (i ? r.next = i : delete r.next, this) : e ? (i ? e[l] = i : delete e[l], (d = e[0] || e[1] || e[2] || e[3]) && d === (e[3] || e[2] || e[1] || e[0]) && !d.length && (n ? n[h] = d : this._root = d), this) : (this._root = i, this) + }, ru.removeAll = function(t) { + for (var e = 0, n = t.length; e < n; ++e) this.remove(t[e]); + return this + }, ru.root = function() { + return this._root + }, ru.size = function() { + var t = 0; + return this.visit((function(e) { + if (!e.length) + do { + ++t + } while (e = e.next) + })), t + }, ru.visit = function(t) { + var e, n, r, i, a, o, s = [], + u = this._root; + for (u && s.push(new Zs(u, this._x0, this._y0, this._x1, this._y1)); e = s.pop();) + if (!t(u = e.node, r = e.x0, i = e.y0, a = e.x1, o = e.y1) && u.length) { + var c = (r + a) / 2, + f = (i + o) / 2; + (n = u[3]) && s.push(new Zs(n, c, f, a, o)), (n = u[2]) && s.push(new Zs(n, r, f, c, o)), (n = u[1]) && s.push(new Zs(n, c, i, a, f)), (n = u[0]) && s.push(new Zs(n, r, i, c, f)) + } return this + }, ru.visitAfter = function(t) { + var e, n = [], + r = []; + for (this._root && n.push(new Zs(this._root, this._x0, this._y0, this._x1, this._y1)); e = n.pop();) { + var i = e.node; + if (i.length) { + var a, o = e.x0, + s = e.y0, + u = e.x1, + c = e.y1, + f = (o + u) / 2, + l = (s + c) / 2; + (a = i[0]) && n.push(new Zs(a, o, s, f, l)), (a = i[1]) && n.push(new Zs(a, f, s, u, l)), (a = i[2]) && n.push(new Zs(a, o, l, f, c)), (a = i[3]) && n.push(new Zs(a, f, l, u, c)) + } + r.push(e) + } + for (; e = r.pop();) t(e.node, e.x0, e.y0, e.x1, e.y1); + return this + }, ru.x = function(t) { + return arguments.length ? (this._x = t, this) : this._x + }, ru.y = function(t) { + return arguments.length ? (this._y = t, this) : this._y + }; + var ou = function(t) { + var e, n, r = 1, + i = 1; + + function a() { + for (var t, a, s, u, c, f, l, h = e.length, d = 0; d < i; ++d) + for (a = tu(e, iu, au).visitAfter(o), t = 0; t < h; ++t) s = e[t], f = n[s.index], l = f * f, u = s.x + s.vx, c = s.y + s.vy, a.visit(p); + + function p(t, e, n, i, a) { + var o = t.data, + h = t.r, + d = f + h; + if (!o) return e > u + d || i < u - d || n > c + d || a < c - d; + if (o.index > s.index) { + var p = u - o.x - o.vx, + g = c - o.y - o.vy, + y = p * p + g * g; + y < d * d && (0 === p && (y += (p = Ks()) * p), 0 === g && (y += (g = Ks()) * g), y = (d - (y = Math.sqrt(y))) / y * r, s.vx += (p *= y) * (d = (h *= h) / (l + h)), s.vy += (g *= y) * d, o.vx -= p * (d = 1 - d), o.vy -= g * d) + } + } + } + + function o(t) { + if (t.data) return t.r = n[t.data.index]; + for (var e = t.r = 0; e < 4; ++e) t[e] && t[e].r > t.r && (t.r = t[e].r) + } + + function s() { + if (e) { + var r, i, a = e.length; + for (n = new Array(a), r = 0; r < a; ++r) i = e[r], n[i.index] = +t(i, r, e) + } + } + return "function" != typeof t && (t = Ws(null == t ? 1 : +t)), a.initialize = function(t) { + e = t, s() + }, a.iterations = function(t) { + return arguments.length ? (i = +t, a) : i + }, a.strength = function(t) { + return arguments.length ? (r = +t, a) : r + }, a.radius = function(e) { + return arguments.length ? (t = "function" == typeof e ? e : Ws(+e), s(), a) : t + }, a + }; + + function su(t) { + return t.index + } + + function uu(t, e) { + var n = t.get(e); + if (!n) throw new Error("missing: " + e); + return n + } + var cu = function(t) { + var e, n, r, i, a, o = su, + s = function(t) { + return 1 / Math.min(i[t.source.index], i[t.target.index]) + }, + u = Ws(30), + c = 1; + + function f(r) { + for (var i = 0, o = t.length; i < c; ++i) + for (var s, u, f, l, h, d, p, g = 0; g < o; ++g) u = (s = t[g]).source, l = (f = s.target).x + f.vx - u.x - u.vx || Ks(), h = f.y + f.vy - u.y - u.vy || Ks(), l *= d = ((d = Math.sqrt(l * l + h * h)) - n[g]) / d * r * e[g], h *= d, f.vx -= l * (p = a[g]), f.vy -= h * p, u.vx += l * (p = 1 - p), u.vy += h * p + } + + function l() { + if (r) { + var s, u, c = r.length, + f = t.length, + l = aa(r, o); + for (s = 0, i = new Array(c); s < f; ++s)(u = t[s]).index = s, "object" != typeof u.source && (u.source = uu(l, u.source)), "object" != typeof u.target && (u.target = uu(l, u.target)), i[u.source.index] = (i[u.source.index] || 0) + 1, i[u.target.index] = (i[u.target.index] || 0) + 1; + for (s = 0, a = new Array(f); s < f; ++s) u = t[s], a[s] = i[u.source.index] / (i[u.source.index] + i[u.target.index]); + e = new Array(f), h(), n = new Array(f), d() + } + } + + function h() { + if (r) + for (var n = 0, i = t.length; n < i; ++n) e[n] = +s(t[n], n, t) + } + + function d() { + if (r) + for (var e = 0, i = t.length; e < i; ++e) n[e] = +u(t[e], e, t) + } + return null == t && (t = []), f.initialize = function(t) { + r = t, l() + }, f.links = function(e) { + return arguments.length ? (t = e, l(), f) : t + }, f.id = function(t) { + return arguments.length ? (o = t, f) : o + }, f.iterations = function(t) { + return arguments.length ? (c = +t, f) : c + }, f.strength = function(t) { + return arguments.length ? (s = "function" == typeof t ? t : Ws(+t), h(), f) : s + }, f.distance = function(t) { + return arguments.length ? (u = "function" == typeof t ? t : Ws(+t), d(), f) : u + }, f + }; + + function fu(t) { + return t.x + } + + function lu(t) { + return t.y + } + var hu = 10, + du = Math.PI * (3 - Math.sqrt(5)), + pu = function(t) { + var e, n = 1, + r = .001, + i = 1 - Math.pow(r, 1 / 300), + a = 0, + o = .6, + s = aa(), + u = Zn(f), + c = gt("tick", "end"); + + function f() { + l(), c.call("tick", e), n < r && (u.stop(), c.call("end", e)) + } + + function l(r) { + var u, c, f = t.length; + void 0 === r && (r = 1); + for (var l = 0; l < r; ++l) + for (n += (a - n) * i, s.each((function(t) { + t(n) + })), u = 0; u < f; ++u) null == (c = t[u]).fx ? c.x += c.vx *= o : (c.x = c.fx, c.vx = 0), null == c.fy ? c.y += c.vy *= o : (c.y = c.fy, c.vy = 0); + return e + } + + function h() { + for (var e, n = 0, r = t.length; n < r; ++n) { + if ((e = t[n]).index = n, null != e.fx && (e.x = e.fx), null != e.fy && (e.y = e.fy), isNaN(e.x) || isNaN(e.y)) { + var i = hu * Math.sqrt(n), + a = n * du; + e.x = i * Math.cos(a), e.y = i * Math.sin(a) + }(isNaN(e.vx) || isNaN(e.vy)) && (e.vx = e.vy = 0) + } + } + + function d(e) { + return e.initialize && e.initialize(t), e + } + return null == t && (t = []), h(), e = { + tick: l, + restart: function() { + return u.restart(f), e + }, + stop: function() { + return u.stop(), e + }, + nodes: function(n) { + return arguments.length ? (t = n, h(), s.each(d), e) : t + }, + alpha: function(t) { + return arguments.length ? (n = +t, e) : n + }, + alphaMin: function(t) { + return arguments.length ? (r = +t, e) : r + }, + alphaDecay: function(t) { + return arguments.length ? (i = +t, e) : +i + }, + alphaTarget: function(t) { + return arguments.length ? (a = +t, e) : a + }, + velocityDecay: function(t) { + return arguments.length ? (o = 1 - t, e) : 1 - o + }, + force: function(t, n) { + return arguments.length > 1 ? (null == n ? s.remove(t) : s.set(t, d(n)), e) : s.get(t) + }, + find: function(e, n, r) { + var i, a, o, s, u, c = 0, + f = t.length; + for (null == r ? r = 1 / 0 : r *= r, c = 0; c < f; ++c)(o = (i = e - (s = t[c]).x) * i + (a = n - s.y) * a) < r && (u = s, r = o); + return u + }, + on: function(t, n) { + return arguments.length > 1 ? (c.on(t, n), e) : c.on(t) + } + } + }, + gu = function() { + var t, e, n, r, i = Ws(-30), + a = 1, + o = 1 / 0, + s = .81; + + function u(r) { + var i, a = t.length, + o = tu(t, fu, lu).visitAfter(f); + for (n = r, i = 0; i < a; ++i) e = t[i], o.visit(l) + } + + function c() { + if (t) { + var e, n, a = t.length; + for (r = new Array(a), e = 0; e < a; ++e) n = t[e], r[n.index] = +i(n, e, t) + } + } + + function f(t) { + var e, n, i, a, o, s = 0, + u = 0; + if (t.length) { + for (i = a = o = 0; o < 4; ++o)(e = t[o]) && (n = Math.abs(e.value)) && (s += e.value, u += n, i += n * e.x, a += n * e.y); + t.x = i / u, t.y = a / u + } else { + (e = t).x = e.data.x, e.y = e.data.y; + do { + s += r[e.data.index] + } while (e = e.next) + } + t.value = s + } + + function l(t, i, u, c) { + if (!t.value) return !0; + var f = t.x - e.x, + l = t.y - e.y, + h = c - i, + d = f * f + l * l; + if (h * h / s < d) return d < o && (0 === f && (d += (f = Ks()) * f), 0 === l && (d += (l = Ks()) * l), d < a && (d = Math.sqrt(a * d)), e.vx += f * t.value * n / d, e.vy += l * t.value * n / d), !0; + if (!(t.length || d >= o)) { + (t.data !== e || t.next) && (0 === f && (d += (f = Ks()) * f), 0 === l && (d += (l = Ks()) * l), d < a && (d = Math.sqrt(a * d))); + do { + t.data !== e && (h = r[t.data.index] * n / d, e.vx += f * h, e.vy += l * h) + } while (t = t.next) + } + } + return u.initialize = function(e) { + t = e, c() + }, u.strength = function(t) { + return arguments.length ? (i = "function" == typeof t ? t : Ws(+t), c(), u) : i + }, u.distanceMin = function(t) { + return arguments.length ? (a = t * t, u) : Math.sqrt(a) + }, u.distanceMax = function(t) { + return arguments.length ? (o = t * t, u) : Math.sqrt(o) + }, u.theta = function(t) { + return arguments.length ? (s = t * t, u) : Math.sqrt(s) + }, u + }, + yu = function(t, e, n) { + var r, i, a, o = Ws(.1); + + function s(t) { + for (var o = 0, s = r.length; o < s; ++o) { + var u = r[o], + c = u.x - e || 1e-6, + f = u.y - n || 1e-6, + l = Math.sqrt(c * c + f * f), + h = (a[o] - l) * i[o] * t / l; + u.vx += c * h, u.vy += f * h + } + } + + function u() { + if (r) { + var e, n = r.length; + for (i = new Array(n), a = new Array(n), e = 0; e < n; ++e) a[e] = +t(r[e], e, r), i[e] = isNaN(a[e]) ? 0 : +o(r[e], e, r) + } + } + return "function" != typeof t && (t = Ws(+t)), null == e && (e = 0), null == n && (n = 0), s.initialize = function(t) { + r = t, u() + }, s.strength = function(t) { + return arguments.length ? (o = "function" == typeof t ? t : Ws(+t), u(), s) : o + }, s.radius = function(e) { + return arguments.length ? (t = "function" == typeof e ? e : Ws(+e), u(), s) : t + }, s.x = function(t) { + return arguments.length ? (e = +t, s) : e + }, s.y = function(t) { + return arguments.length ? (n = +t, s) : n + }, s + }, + bu = function(t) { + var e, n, r, i = Ws(.1); + + function a(t) { + for (var i, a = 0, o = e.length; a < o; ++a)(i = e[a]).vx += (r[a] - i.x) * n[a] * t + } + + function o() { + if (e) { + var a, o = e.length; + for (n = new Array(o), r = new Array(o), a = 0; a < o; ++a) n[a] = isNaN(r[a] = +t(e[a], a, e)) ? 0 : +i(e[a], a, e) + } + } + return "function" != typeof t && (t = Ws(null == t ? 0 : +t)), a.initialize = function(t) { + e = t, o() + }, a.strength = function(t) { + return arguments.length ? (i = "function" == typeof t ? t : Ws(+t), o(), a) : i + }, a.x = function(e) { + return arguments.length ? (t = "function" == typeof e ? e : Ws(+e), o(), a) : t + }, a + }, + vu = function(t) { + var e, n, r, i = Ws(.1); + + function a(t) { + for (var i, a = 0, o = e.length; a < o; ++a)(i = e[a]).vy += (r[a] - i.y) * n[a] * t + } + + function o() { + if (e) { + var a, o = e.length; + for (n = new Array(o), r = new Array(o), a = 0; a < o; ++a) n[a] = isNaN(r[a] = +t(e[a], a, e)) ? 0 : +i(e[a], a, e) + } + } + return "function" != typeof t && (t = Ws(null == t ? 0 : +t)), a.initialize = function(t) { + e = t, o() + }, a.strength = function(t) { + return arguments.length ? (i = "function" == typeof t ? t : Ws(+t), o(), a) : i + }, a.y = function(e) { + return arguments.length ? (t = "function" == typeof e ? e : Ws(+e), o(), a) : t + }, a + }, + mu = function(t, e) { + if ((n = (t = e ? t.toExponential(e - 1) : t.toExponential()).indexOf("e")) < 0) return null; + var n, r = t.slice(0, n); + return [r.length > 1 ? r[0] + r.slice(2) : r, +t.slice(n + 1)] + }, + _u = function(t) { + return (t = mu(Math.abs(t))) ? t[1] : NaN + }, + wu = /^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i; + + function xu(t) { + if (!(e = wu.exec(t))) throw new Error("invalid format: " + t); + var e; + return new ku({ + fill: e[1], + align: e[2], + sign: e[3], + symbol: e[4], + zero: e[5], + width: e[6], + comma: e[7], + precision: e[8] && e[8].slice(1), + trim: e[9], + type: e[10] + }) + } + + function ku(t) { + this.fill = void 0 === t.fill ? " " : t.fill + "", this.align = void 0 === t.align ? ">" : t.align + "", this.sign = void 0 === t.sign ? "-" : t.sign + "", this.symbol = void 0 === t.symbol ? "" : t.symbol + "", this.zero = !!t.zero, this.width = void 0 === t.width ? void 0 : +t.width, this.comma = !!t.comma, this.precision = void 0 === t.precision ? void 0 : +t.precision, this.trim = !!t.trim, this.type = void 0 === t.type ? "" : t.type + "" + } + xu.prototype = ku.prototype, ku.prototype.toString = function() { + return this.fill + this.align + this.sign + this.symbol + (this.zero ? "0" : "") + (void 0 === this.width ? "" : Math.max(1, 0 | this.width)) + (this.comma ? "," : "") + (void 0 === this.precision ? "" : "." + Math.max(0, 0 | this.precision)) + (this.trim ? "~" : "") + this.type + }; + var Eu, Au, Su, Mu, Tu = function(t) { + t: for (var e, n = t.length, r = 1, i = -1; r < n; ++r) switch (t[r]) { + case ".": + i = e = r; + break; + case "0": + 0 === i && (i = r), e = r; + break; + default: + if (i > 0) { + if (!+t[r]) break t; + i = 0 + } + } + return i > 0 ? t.slice(0, i) + t.slice(e + 1) : t + }, + Du = function(t, e) { + var n = mu(t, e); + if (!n) return t + ""; + var r = n[0], + i = n[1]; + return i < 0 ? "0." + new Array(-i).join("0") + r : r.length > i + 1 ? r.slice(0, i + 1) + "." + r.slice(i + 1) : r + new Array(i - r.length + 2).join("0") + }, + Cu = { + "%": function(t, e) { + return (100 * t).toFixed(e) + }, + b: function(t) { + return Math.round(t).toString(2) + }, + c: function(t) { + return t + "" + }, + d: function(t) { + return Math.round(t).toString(10) + }, + e: function(t, e) { + return t.toExponential(e) + }, + f: function(t, e) { + return t.toFixed(e) + }, + g: function(t, e) { + return t.toPrecision(e) + }, + o: function(t) { + return Math.round(t).toString(8) + }, + p: function(t, e) { + return Du(100 * t, e) + }, + r: Du, + s: function(t, e) { + var n = mu(t, e); + if (!n) return t + ""; + var r = n[0], + i = n[1], + a = i - (Eu = 3 * Math.max(-8, Math.min(8, Math.floor(i / 3)))) + 1, + o = r.length; + return a === o ? r : a > o ? r + new Array(a - o + 1).join("0") : a > 0 ? r.slice(0, a) + "." + r.slice(a) : "0." + new Array(1 - a).join("0") + mu(t, Math.max(0, e + a - 1))[0] + }, + X: function(t) { + return Math.round(t).toString(16).toUpperCase() + }, + x: function(t) { + return Math.round(t).toString(16) + } + }, + Nu = function(t) { + return t + }, + Iu = Array.prototype.map, + Lu = ["y", "z", "a", "f", "p", "n", "µ", "m", "", "k", "M", "G", "T", "P", "E", "Z", "Y"], + Bu = function(t) { + var e, n, r = void 0 === t.grouping || void 0 === t.thousands ? Nu : (e = Iu.call(t.grouping, Number), n = t.thousands + "", function(t, r) { + for (var i = t.length, a = [], o = 0, s = e[0], u = 0; i > 0 && s > 0 && (u + s + 1 > r && (s = Math.max(1, r - u)), a.push(t.substring(i -= s, i + s)), !((u += s + 1) > r));) s = e[o = (o + 1) % e.length]; + return a.reverse().join(n) + }), + i = void 0 === t.currency ? "" : t.currency[0] + "", + a = void 0 === t.currency ? "" : t.currency[1] + "", + o = void 0 === t.decimal ? "." : t.decimal + "", + s = void 0 === t.numerals ? Nu : function(t) { + return function(e) { + return e.replace(/[0-9]/g, (function(e) { + return t[+e] + })) + } + }(Iu.call(t.numerals, String)), + u = void 0 === t.percent ? "%" : t.percent + "", + c = void 0 === t.minus ? "-" : t.minus + "", + f = void 0 === t.nan ? "NaN" : t.nan + ""; + + function l(t) { + var e = (t = xu(t)).fill, + n = t.align, + l = t.sign, + h = t.symbol, + d = t.zero, + p = t.width, + g = t.comma, + y = t.precision, + b = t.trim, + v = t.type; + "n" === v ? (g = !0, v = "g") : Cu[v] || (void 0 === y && (y = 12), b = !0, v = "g"), (d || "0" === e && "=" === n) && (d = !0, e = "0", n = "="); + var m = "$" === h ? i : "#" === h && /[boxX]/.test(v) ? "0" + v.toLowerCase() : "", + _ = "$" === h ? a : /[%p]/.test(v) ? u : "", + w = Cu[v], + x = /[defgprs%]/.test(v); + + function k(t) { + var i, a, u, h = m, + k = _; + if ("c" === v) k = w(t) + k, t = ""; + else { + var E = (t = +t) < 0; + if (t = isNaN(t) ? f : w(Math.abs(t), y), b && (t = Tu(t)), E && 0 == +t && (E = !1), h = (E ? "(" === l ? l : c : "-" === l || "(" === l ? "" : l) + h, k = ("s" === v ? Lu[8 + Eu / 3] : "") + k + (E && "(" === l ? ")" : ""), x) + for (i = -1, a = t.length; ++i < a;) + if (48 > (u = t.charCodeAt(i)) || u > 57) { + k = (46 === u ? o + t.slice(i + 1) : t.slice(i)) + k, t = t.slice(0, i); + break + } + } + g && !d && (t = r(t, 1 / 0)); + var A = h.length + t.length + k.length, + S = A < p ? new Array(p - A + 1).join(e) : ""; + switch (g && d && (t = r(S + t, S.length ? p - k.length : 1 / 0), S = ""), n) { + case "<": + t = h + t + k + S; + break; + case "=": + t = h + S + t + k; + break; + case "^": + t = S.slice(0, A = S.length >> 1) + h + t + k + S.slice(A); + break; + default: + t = S + h + t + k + } + return s(t) + } + return y = void 0 === y ? 6 : /[gprs]/.test(v) ? Math.max(1, Math.min(21, y)) : Math.max(0, Math.min(20, y)), k.toString = function() { + return t + "" + }, k + } + return { + format: l, + formatPrefix: function(t, e) { + var n = l(((t = xu(t)).type = "f", t)), + r = 3 * Math.max(-8, Math.min(8, Math.floor(_u(e) / 3))), + i = Math.pow(10, -r), + a = Lu[8 + r / 3]; + return function(t) { + return n(i * t) + a + } + } + } + }; + + function Ou(t) { + return Au = Bu(t), Su = Au.format, Mu = Au.formatPrefix, Au + } + Ou({ + decimal: ".", + thousands: ",", + grouping: [3], + currency: ["$", ""], + minus: "-" + }); + var Ru = function(t) { + return Math.max(0, -_u(Math.abs(t))) + }, + Pu = function(t, e) { + return Math.max(0, 3 * Math.max(-8, Math.min(8, Math.floor(_u(e) / 3))) - _u(Math.abs(t))) + }, + Fu = function(t, e) { + return t = Math.abs(t), e = Math.abs(e) - t, Math.max(0, _u(e) - _u(t)) + 1 + }, + qu = function() { + return new ju + }; + + function ju() { + this.reset() + } + ju.prototype = { + constructor: ju, + reset: function() { + this.s = this.t = 0 + }, + add: function(t) { + zu(Uu, t, this.t), zu(this, Uu.s, this.s), this.s ? this.t += Uu.t : this.s = Uu.t + }, + valueOf: function() { + return this.s + } + }; + var Uu = new ju; + + function zu(t, e, n) { + var r = t.s = e + n, + i = r - e, + a = r - i; + t.t = e - a + (n - i) + } + var Yu = 1e-6, + Vu = 1e-12, + Hu = Math.PI, + Gu = Hu / 2, + $u = Hu / 4, + Wu = 2 * Hu, + Ku = 180 / Hu, + Xu = Hu / 180, + Zu = Math.abs, + Ju = Math.atan, + Qu = Math.atan2, + tc = Math.cos, + ec = Math.ceil, + nc = Math.exp, + rc = (Math.floor, Math.log), + ic = Math.pow, + ac = Math.sin, + oc = Math.sign || function(t) { + return t > 0 ? 1 : t < 0 ? -1 : 0 + }, + sc = Math.sqrt, + uc = Math.tan; + + function cc(t) { + return t > 1 ? 0 : t < -1 ? Hu : Math.acos(t) + } + + function fc(t) { + return t > 1 ? Gu : t < -1 ? -Gu : Math.asin(t) + } + + function lc(t) { + return (t = ac(t / 2)) * t + } + + function hc() {} + + function dc(t, e) { + t && gc.hasOwnProperty(t.type) && gc[t.type](t, e) + } + var pc = { + Feature: function(t, e) { + dc(t.geometry, e) + }, + FeatureCollection: function(t, e) { + for (var n = t.features, r = -1, i = n.length; ++r < i;) dc(n[r].geometry, e) + } + }, + gc = { + Sphere: function(t, e) { + e.sphere() + }, + Point: function(t, e) { + t = t.coordinates, e.point(t[0], t[1], t[2]) + }, + MultiPoint: function(t, e) { + for (var n = t.coordinates, r = -1, i = n.length; ++r < i;) t = n[r], e.point(t[0], t[1], t[2]) + }, + LineString: function(t, e) { + yc(t.coordinates, e, 0) + }, + MultiLineString: function(t, e) { + for (var n = t.coordinates, r = -1, i = n.length; ++r < i;) yc(n[r], e, 0) + }, + Polygon: function(t, e) { + bc(t.coordinates, e) + }, + MultiPolygon: function(t, e) { + for (var n = t.coordinates, r = -1, i = n.length; ++r < i;) bc(n[r], e) + }, + GeometryCollection: function(t, e) { + for (var n = t.geometries, r = -1, i = n.length; ++r < i;) dc(n[r], e) + } + }; + + function yc(t, e, n) { + var r, i = -1, + a = t.length - n; + for (e.lineStart(); ++i < a;) r = t[i], e.point(r[0], r[1], r[2]); + e.lineEnd() + } + + function bc(t, e) { + var n = -1, + r = t.length; + for (e.polygonStart(); ++n < r;) yc(t[n], e, 1); + e.polygonEnd() + } + var vc, mc, _c, wc, xc, kc = function(t, e) { + t && pc.hasOwnProperty(t.type) ? pc[t.type](t, e) : dc(t, e) + }, + Ec = qu(), + Ac = qu(), + Sc = { + point: hc, + lineStart: hc, + lineEnd: hc, + polygonStart: function() { + Ec.reset(), Sc.lineStart = Mc, Sc.lineEnd = Tc + }, + polygonEnd: function() { + var t = +Ec; + Ac.add(t < 0 ? Wu + t : t), this.lineStart = this.lineEnd = this.point = hc + }, + sphere: function() { + Ac.add(Wu) + } + }; + + function Mc() { + Sc.point = Dc + } + + function Tc() { + Cc(vc, mc) + } + + function Dc(t, e) { + Sc.point = Cc, vc = t, mc = e, _c = t *= Xu, wc = tc(e = (e *= Xu) / 2 + $u), xc = ac(e) + } + + function Cc(t, e) { + var n = (t *= Xu) - _c, + r = n >= 0 ? 1 : -1, + i = r * n, + a = tc(e = (e *= Xu) / 2 + $u), + o = ac(e), + s = xc * o, + u = wc * a + s * tc(i), + c = s * r * ac(i); + Ec.add(Qu(c, u)), _c = t, wc = a, xc = o + } + var Nc = function(t) { + return Ac.reset(), kc(t, Sc), 2 * Ac + }; + + function Ic(t) { + return [Qu(t[1], t[0]), fc(t[2])] + } + + function Lc(t) { + var e = t[0], + n = t[1], + r = tc(n); + return [r * tc(e), r * ac(e), ac(n)] + } + + function Bc(t, e) { + return t[0] * e[0] + t[1] * e[1] + t[2] * e[2] + } + + function Oc(t, e) { + return [t[1] * e[2] - t[2] * e[1], t[2] * e[0] - t[0] * e[2], t[0] * e[1] - t[1] * e[0]] + } + + function Rc(t, e) { + t[0] += e[0], t[1] += e[1], t[2] += e[2] + } + + function Pc(t, e) { + return [t[0] * e, t[1] * e, t[2] * e] + } + + function Fc(t) { + var e = sc(t[0] * t[0] + t[1] * t[1] + t[2] * t[2]); + t[0] /= e, t[1] /= e, t[2] /= e + } + var qc, jc, Uc, zc, Yc, Vc, Hc, Gc, $c, Wc, Kc = qu(), + Xc = { + point: Zc, + lineStart: Qc, + lineEnd: tf, + polygonStart: function() { + Xc.point = ef, Xc.lineStart = nf, Xc.lineEnd = rf, Kc.reset(), Sc.polygonStart() + }, + polygonEnd: function() { + Sc.polygonEnd(), Xc.point = Zc, Xc.lineStart = Qc, Xc.lineEnd = tf, Ec < 0 ? (qc = -(Uc = 180), jc = -(zc = 90)) : Kc > Yu ? zc = 90 : Kc < -Yu && (jc = -90), Wc[0] = qc, Wc[1] = Uc + }, + sphere: function() { + qc = -(Uc = 180), jc = -(zc = 90) + } + }; + + function Zc(t, e) { + $c.push(Wc = [qc = t, Uc = t]), e < jc && (jc = e), e > zc && (zc = e) + } + + function Jc(t, e) { + var n = Lc([t * Xu, e * Xu]); + if (Gc) { + var r = Oc(Gc, n), + i = Oc([r[1], -r[0], 0], r); + Fc(i), i = Ic(i); + var a, o = t - Yc, + s = o > 0 ? 1 : -1, + u = i[0] * Ku * s, + c = Zu(o) > 180; + c ^ (s * Yc < u && u < s * t) ? (a = i[1] * Ku) > zc && (zc = a) : c ^ (s * Yc < (u = (u + 360) % 360 - 180) && u < s * t) ? (a = -i[1] * Ku) < jc && (jc = a) : (e < jc && (jc = e), e > zc && (zc = e)), c ? t < Yc ? af(qc, t) > af(qc, Uc) && (Uc = t) : af(t, Uc) > af(qc, Uc) && (qc = t) : Uc >= qc ? (t < qc && (qc = t), t > Uc && (Uc = t)) : t > Yc ? af(qc, t) > af(qc, Uc) && (Uc = t) : af(t, Uc) > af(qc, Uc) && (qc = t) + } else $c.push(Wc = [qc = t, Uc = t]); + e < jc && (jc = e), e > zc && (zc = e), Gc = n, Yc = t + } + + function Qc() { + Xc.point = Jc + } + + function tf() { + Wc[0] = qc, Wc[1] = Uc, Xc.point = Zc, Gc = null + } + + function ef(t, e) { + if (Gc) { + var n = t - Yc; + Kc.add(Zu(n) > 180 ? n + (n > 0 ? 360 : -360) : n) + } else Vc = t, Hc = e; + Sc.point(t, e), Jc(t, e) + } + + function nf() { + Sc.lineStart() + } + + function rf() { + ef(Vc, Hc), Sc.lineEnd(), Zu(Kc) > Yu && (qc = -(Uc = 180)), Wc[0] = qc, Wc[1] = Uc, Gc = null + } + + function af(t, e) { + return (e -= t) < 0 ? e + 360 : e + } + + function of (t, e) { + return t[0] - e[0] + } + + function sf(t, e) { + return t[0] <= t[1] ? t[0] <= e && e <= t[1] : e < t[0] || t[1] < e + } + var uf, cf, ff, lf, hf, df, pf, gf, yf, bf, vf, mf, _f, wf, xf, kf, Ef = function(t) { + var e, n, r, i, a, o, s; + if (zc = Uc = -(qc = jc = 1 / 0), $c = [], kc(t, Xc), n = $c.length) { + for ($c.sort( of ), e = 1, a = [r = $c[0]]; e < n; ++e) sf(r, (i = $c[e])[0]) || sf(r, i[1]) ? (af(r[0], i[1]) > af(r[0], r[1]) && (r[1] = i[1]), af(i[0], r[1]) > af(r[0], r[1]) && (r[0] = i[0])) : a.push(r = i); + for (o = -1 / 0, e = 0, r = a[n = a.length - 1]; e <= n; r = i, ++e) i = a[e], (s = af(r[1], i[0])) > o && (o = s, qc = i[0], Uc = r[1]) + } + return $c = Wc = null, qc === 1 / 0 || jc === 1 / 0 ? [ + [NaN, NaN], + [NaN, NaN] + ] : [ + [qc, jc], + [Uc, zc] + ] + }, + Af = { + sphere: hc, + point: Sf, + lineStart: Tf, + lineEnd: Nf, + polygonStart: function() { + Af.lineStart = If, Af.lineEnd = Lf + }, + polygonEnd: function() { + Af.lineStart = Tf, Af.lineEnd = Nf + } + }; + + function Sf(t, e) { + t *= Xu; + var n = tc(e *= Xu); + Mf(n * tc(t), n * ac(t), ac(e)) + } + + function Mf(t, e, n) { + ++uf, ff += (t - ff) / uf, lf += (e - lf) / uf, hf += (n - hf) / uf + } + + function Tf() { + Af.point = Df + } + + function Df(t, e) { + t *= Xu; + var n = tc(e *= Xu); + wf = n * tc(t), xf = n * ac(t), kf = ac(e), Af.point = Cf, Mf(wf, xf, kf) + } + + function Cf(t, e) { + t *= Xu; + var n = tc(e *= Xu), + r = n * tc(t), + i = n * ac(t), + a = ac(e), + o = Qu(sc((o = xf * a - kf * i) * o + (o = kf * r - wf * a) * o + (o = wf * i - xf * r) * o), wf * r + xf * i + kf * a); + cf += o, df += o * (wf + (wf = r)), pf += o * (xf + (xf = i)), gf += o * (kf + (kf = a)), Mf(wf, xf, kf) + } + + function Nf() { + Af.point = Sf + } + + function If() { + Af.point = Bf + } + + function Lf() { + Of(mf, _f), Af.point = Sf + } + + function Bf(t, e) { + mf = t, _f = e, t *= Xu, e *= Xu, Af.point = Of; + var n = tc(e); + wf = n * tc(t), xf = n * ac(t), kf = ac(e), Mf(wf, xf, kf) + } + + function Of(t, e) { + t *= Xu; + var n = tc(e *= Xu), + r = n * tc(t), + i = n * ac(t), + a = ac(e), + o = xf * a - kf * i, + s = kf * r - wf * a, + u = wf * i - xf * r, + c = sc(o * o + s * s + u * u), + f = fc(c), + l = c && -f / c; + yf += l * o, bf += l * s, vf += l * u, cf += f, df += f * (wf + (wf = r)), pf += f * (xf + (xf = i)), gf += f * (kf + (kf = a)), Mf(wf, xf, kf) + } + var Rf = function(t) { + uf = cf = ff = lf = hf = df = pf = gf = yf = bf = vf = 0, kc(t, Af); + var e = yf, + n = bf, + r = vf, + i = e * e + n * n + r * r; + return i < Vu && (e = df, n = pf, r = gf, cf < Yu && (e = ff, n = lf, r = hf), (i = e * e + n * n + r * r) < Vu) ? [NaN, NaN] : [Qu(n, e) * Ku, fc(r / sc(i)) * Ku] + }, + Pf = function(t) { + return function() { + return t + } + }, + Ff = function(t, e) { + function n(n, r) { + return n = t(n, r), e(n[0], n[1]) + } + return t.invert && e.invert && (n.invert = function(n, r) { + return (n = e.invert(n, r)) && t.invert(n[0], n[1]) + }), n + }; + + function qf(t, e) { + return [Zu(t) > Hu ? t + Math.round(-t / Wu) * Wu : t, e] + } + + function jf(t, e, n) { + return (t %= Wu) ? e || n ? Ff(zf(t), Yf(e, n)) : zf(t) : e || n ? Yf(e, n) : qf + } + + function Uf(t) { + return function(e, n) { + return [(e += t) > Hu ? e - Wu : e < -Hu ? e + Wu : e, n] + } + } + + function zf(t) { + var e = Uf(t); + return e.invert = Uf(-t), e + } + + function Yf(t, e) { + var n = tc(t), + r = ac(t), + i = tc(e), + a = ac(e); + + function o(t, e) { + var o = tc(e), + s = tc(t) * o, + u = ac(t) * o, + c = ac(e), + f = c * n + s * r; + return [Qu(u * i - f * a, s * n - c * r), fc(f * i + u * a)] + } + return o.invert = function(t, e) { + var o = tc(e), + s = tc(t) * o, + u = ac(t) * o, + c = ac(e), + f = c * i - u * a; + return [Qu(u * i + c * a, s * n + f * r), fc(f * n - s * r)] + }, o + } + qf.invert = qf; + var Vf = function(t) { + function e(e) { + return (e = t(e[0] * Xu, e[1] * Xu))[0] *= Ku, e[1] *= Ku, e + } + return t = jf(t[0] * Xu, t[1] * Xu, t.length > 2 ? t[2] * Xu : 0), e.invert = function(e) { + return (e = t.invert(e[0] * Xu, e[1] * Xu))[0] *= Ku, e[1] *= Ku, e + }, e + }; + + function Hf(t, e, n, r, i, a) { + if (n) { + var o = tc(e), + s = ac(e), + u = r * n; + null == i ? (i = e + r * Wu, a = e - u / 2) : (i = Gf(o, i), a = Gf(o, a), (r > 0 ? i < a : i > a) && (i += r * Wu)); + for (var c, f = i; r > 0 ? f > a : f < a; f -= u) c = Ic([o, -s * tc(f), -s * ac(f)]), t.point(c[0], c[1]) + } + } + + function Gf(t, e) { + (e = Lc(e))[0] -= t, Fc(e); + var n = cc(-e[1]); + return ((-e[2] < 0 ? -n : n) + Wu - Yu) % Wu + } + var $f = function() { + var t, e, n = Pf([0, 0]), + r = Pf(90), + i = Pf(6), + a = { + point: function(n, r) { + t.push(n = e(n, r)), n[0] *= Ku, n[1] *= Ku + } + }; + + function o() { + var o = n.apply(this, arguments), + s = r.apply(this, arguments) * Xu, + u = i.apply(this, arguments) * Xu; + return t = [], e = jf(-o[0] * Xu, -o[1] * Xu, 0).invert, Hf(a, s, u, 1), o = { + type: "Polygon", + coordinates: [t] + }, t = e = null, o + } + return o.center = function(t) { + return arguments.length ? (n = "function" == typeof t ? t : Pf([+t[0], +t[1]]), o) : n + }, o.radius = function(t) { + return arguments.length ? (r = "function" == typeof t ? t : Pf(+t), o) : r + }, o.precision = function(t) { + return arguments.length ? (i = "function" == typeof t ? t : Pf(+t), o) : i + }, o + }, + Wf = function() { + var t, e = []; + return { + point: function(e, n) { + t.push([e, n]) + }, + lineStart: function() { + e.push(t = []) + }, + lineEnd: hc, + rejoin: function() { + e.length > 1 && e.push(e.pop().concat(e.shift())) + }, + result: function() { + var n = e; + return e = [], t = null, n + } + } + }, + Kf = function(t, e) { + return Zu(t[0] - e[0]) < Yu && Zu(t[1] - e[1]) < Yu + }; + + function Xf(t, e, n, r) { + this.x = t, this.z = e, this.o = n, this.e = r, this.v = !1, this.n = this.p = null + } + var Zf = function(t, e, n, r, i) { + var a, o, s = [], + u = []; + if (t.forEach((function(t) { + if (!((e = t.length - 1) <= 0)) { + var e, n, r = t[0], + o = t[e]; + if (Kf(r, o)) { + for (i.lineStart(), a = 0; a < e; ++a) i.point((r = t[a])[0], r[1]); + i.lineEnd() + } else s.push(n = new Xf(r, t, null, !0)), u.push(n.o = new Xf(r, null, n, !1)), s.push(n = new Xf(o, t, null, !1)), u.push(n.o = new Xf(o, null, n, !0)) + } + })), s.length) { + for (u.sort(e), Jf(s), Jf(u), a = 0, o = u.length; a < o; ++a) u[a].e = n = !n; + for (var c, f, l = s[0];;) { + for (var h = l, d = !0; h.v;) + if ((h = h.n) === l) return; + c = h.z, i.lineStart(); + do { + if (h.v = h.o.v = !0, h.e) { + if (d) + for (a = 0, o = c.length; a < o; ++a) i.point((f = c[a])[0], f[1]); + else r(h.x, h.n.x, 1, i); + h = h.n + } else { + if (d) + for (c = h.p.z, a = c.length - 1; a >= 0; --a) i.point((f = c[a])[0], f[1]); + else r(h.x, h.p.x, -1, i); + h = h.p + } + c = (h = h.o).z, d = !d + } while (!h.v); + i.lineEnd() + } + } + }; + + function Jf(t) { + if (e = t.length) { + for (var e, n, r = 0, i = t[0]; ++r < e;) i.n = n = t[r], n.p = i, i = n; + i.n = n = t[0], n.p = i + } + } + var Qf = qu(); + + function tl(t) { + return Zu(t[0]) <= Hu ? t[0] : oc(t[0]) * ((Zu(t[0]) + Hu) % Wu - Hu) + } + var el = function(t, e) { + var n = tl(e), + r = e[1], + i = ac(r), + a = [ac(n), -tc(n), 0], + o = 0, + s = 0; + Qf.reset(), 1 === i ? r = Gu + Yu : -1 === i && (r = -Gu - Yu); + for (var u = 0, c = t.length; u < c; ++u) + if (l = (f = t[u]).length) + for (var f, l, h = f[l - 1], d = tl(h), p = h[1] / 2 + $u, g = ac(p), y = tc(p), b = 0; b < l; ++b, d = m, g = w, y = x, h = v) { + var v = f[b], + m = tl(v), + _ = v[1] / 2 + $u, + w = ac(_), + x = tc(_), + k = m - d, + E = k >= 0 ? 1 : -1, + A = E * k, + S = A > Hu, + M = g * w; + if (Qf.add(Qu(M * E * ac(A), y * x + M * tc(A))), o += S ? k + E * Wu : k, S ^ d >= n ^ m >= n) { + var T = Oc(Lc(h), Lc(v)); + Fc(T); + var D = Oc(a, T); + Fc(D); + var C = (S ^ k >= 0 ? -1 : 1) * fc(D[2]); + (r > C || r === C && (T[0] || T[1])) && (s += S ^ k >= 0 ? 1 : -1) + } + } + return (o < -Yu || o < Yu && Qf < -Yu) ^ 1 & s + }, + nl = function(t, e, n, r) { + return function(i) { + var a, o, s, u = e(i), + c = Wf(), + f = e(c), + l = !1, + h = { + point: d, + lineStart: g, + lineEnd: y, + polygonStart: function() { + h.point = b, h.lineStart = v, h.lineEnd = m, o = [], a = [] + }, + polygonEnd: function() { + h.point = d, h.lineStart = g, h.lineEnd = y, o = P(o); + var t = el(a, r); + o.length ? (l || (i.polygonStart(), l = !0), Zf(o, il, t, n, i)) : t && (l || (i.polygonStart(), l = !0), i.lineStart(), n(null, null, 1, i), i.lineEnd()), l && (i.polygonEnd(), l = !1), o = a = null + }, + sphere: function() { + i.polygonStart(), i.lineStart(), n(null, null, 1, i), i.lineEnd(), i.polygonEnd() + } + }; + + function d(e, n) { + t(e, n) && i.point(e, n) + } + + function p(t, e) { + u.point(t, e) + } + + function g() { + h.point = p, u.lineStart() + } + + function y() { + h.point = d, u.lineEnd() + } + + function b(t, e) { + s.push([t, e]), f.point(t, e) + } + + function v() { + f.lineStart(), s = [] + } + + function m() { + b(s[0][0], s[0][1]), f.lineEnd(); + var t, e, n, r, u = f.clean(), + h = c.result(), + d = h.length; + if (s.pop(), a.push(s), s = null, d) + if (1 & u) { + if ((e = (n = h[0]).length - 1) > 0) { + for (l || (i.polygonStart(), l = !0), i.lineStart(), t = 0; t < e; ++t) i.point((r = n[t])[0], r[1]); + i.lineEnd() + } + } else d > 1 && 2 & u && h.push(h.pop().concat(h.shift())), o.push(h.filter(rl)) + } + return h + } + }; + + function rl(t) { + return t.length > 1 + } + + function il(t, e) { + return ((t = t.x)[0] < 0 ? t[1] - Gu - Yu : Gu - t[1]) - ((e = e.x)[0] < 0 ? e[1] - Gu - Yu : Gu - e[1]) + } + var al = nl((function() { + return !0 + }), (function(t) { + var e, n = NaN, + r = NaN, + i = NaN; + return { + lineStart: function() { + t.lineStart(), e = 1 + }, + point: function(a, o) { + var s = a > 0 ? Hu : -Hu, + u = Zu(a - n); + Zu(u - Hu) < Yu ? (t.point(n, r = (r + o) / 2 > 0 ? Gu : -Gu), t.point(i, r), t.lineEnd(), t.lineStart(), t.point(s, r), t.point(a, r), e = 0) : i !== s && u >= Hu && (Zu(n - i) < Yu && (n -= i * Yu), Zu(a - s) < Yu && (a -= s * Yu), r = function(t, e, n, r) { + var i, a, o = ac(t - n); + return Zu(o) > Yu ? Ju((ac(e) * (a = tc(r)) * ac(n) - ac(r) * (i = tc(e)) * ac(t)) / (i * a * o)) : (e + r) / 2 + }(n, r, a, o), t.point(i, r), t.lineEnd(), t.lineStart(), t.point(s, r), e = 0), t.point(n = a, r = o), i = s + }, + lineEnd: function() { + t.lineEnd(), n = r = NaN + }, + clean: function() { + return 2 - e + } + } + }), (function(t, e, n, r) { + var i; + if (null == t) i = n * Gu, r.point(-Hu, i), r.point(0, i), r.point(Hu, i), r.point(Hu, 0), r.point(Hu, -i), r.point(0, -i), r.point(-Hu, -i), r.point(-Hu, 0), r.point(-Hu, i); + else if (Zu(t[0] - e[0]) > Yu) { + var a = t[0] < e[0] ? Hu : -Hu; + i = n * a / 2, r.point(-a, i), r.point(0, i), r.point(a, i) + } else r.point(e[0], e[1]) + }), [-Hu, -Gu]); + var ol = function(t) { + var e = tc(t), + n = 6 * Xu, + r = e > 0, + i = Zu(e) > Yu; + + function a(t, n) { + return tc(t) * tc(n) > e + } + + function o(t, n, r) { + var i = [1, 0, 0], + a = Oc(Lc(t), Lc(n)), + o = Bc(a, a), + s = a[0], + u = o - s * s; + if (!u) return !r && t; + var c = e * o / u, + f = -e * s / u, + l = Oc(i, a), + h = Pc(i, c); + Rc(h, Pc(a, f)); + var d = l, + p = Bc(h, d), + g = Bc(d, d), + y = p * p - g * (Bc(h, h) - 1); + if (!(y < 0)) { + var b = sc(y), + v = Pc(d, (-p - b) / g); + if (Rc(v, h), v = Ic(v), !r) return v; + var m, _ = t[0], + w = n[0], + x = t[1], + k = n[1]; + w < _ && (m = _, _ = w, w = m); + var E = w - _, + A = Zu(E - Hu) < Yu; + if (!A && k < x && (m = x, x = k, k = m), A || E < Yu ? A ? x + k > 0 ^ v[1] < (Zu(v[0] - _) < Yu ? x : k) : x <= v[1] && v[1] <= k : E > Hu ^ (_ <= v[0] && v[0] <= w)) { + var S = Pc(d, (-p + b) / g); + return Rc(S, h), [v, Ic(S)] + } + } + } + + function s(e, n) { + var i = r ? t : Hu - t, + a = 0; + return e < -i ? a |= 1 : e > i && (a |= 2), n < -i ? a |= 4 : n > i && (a |= 8), a + } + return nl(a, (function(t) { + var e, n, u, c, f; + return { + lineStart: function() { + c = u = !1, f = 1 + }, + point: function(l, h) { + var d, p = [l, h], + g = a(l, h), + y = r ? g ? 0 : s(l, h) : g ? s(l + (l < 0 ? Hu : -Hu), h) : 0; + if (!e && (c = u = g) && t.lineStart(), g !== u && (!(d = o(e, p)) || Kf(e, d) || Kf(p, d)) && (p[0] += Yu, p[1] += Yu, g = a(p[0], p[1])), g !== u) f = 0, g ? (t.lineStart(), d = o(p, e), t.point(d[0], d[1])) : (d = o(e, p), t.point(d[0], d[1]), t.lineEnd()), e = d; + else if (i && e && r ^ g) { + var b; + y & n || !(b = o(p, e, !0)) || (f = 0, r ? (t.lineStart(), t.point(b[0][0], b[0][1]), t.point(b[1][0], b[1][1]), t.lineEnd()) : (t.point(b[1][0], b[1][1]), t.lineEnd(), t.lineStart(), t.point(b[0][0], b[0][1]))) + }!g || e && Kf(e, p) || t.point(p[0], p[1]), e = p, u = g, n = y + }, + lineEnd: function() { + u && t.lineEnd(), e = null + }, + clean: function() { + return f | (c && u) << 1 + } + } + }), (function(e, r, i, a) { + Hf(a, t, n, i, e, r) + }), r ? [0, -t] : [-Hu, t - Hu]) + }, + sl = function(t, e, n, r, i, a) { + var o, s = t[0], + u = t[1], + c = 0, + f = 1, + l = e[0] - s, + h = e[1] - u; + if (o = n - s, l || !(o > 0)) { + if (o /= l, l < 0) { + if (o < c) return; + o < f && (f = o) + } else if (l > 0) { + if (o > f) return; + o > c && (c = o) + } + if (o = i - s, l || !(o < 0)) { + if (o /= l, l < 0) { + if (o > f) return; + o > c && (c = o) + } else if (l > 0) { + if (o < c) return; + o < f && (f = o) + } + if (o = r - u, h || !(o > 0)) { + if (o /= h, h < 0) { + if (o < c) return; + o < f && (f = o) + } else if (h > 0) { + if (o > f) return; + o > c && (c = o) + } + if (o = a - u, h || !(o < 0)) { + if (o /= h, h < 0) { + if (o > f) return; + o > c && (c = o) + } else if (h > 0) { + if (o < c) return; + o < f && (f = o) + } + return c > 0 && (t[0] = s + c * l, t[1] = u + c * h), f < 1 && (e[0] = s + f * l, e[1] = u + f * h), !0 + } + } + } + } + }, + ul = 1e9, + cl = -ul; + + function fl(t, e, n, r) { + function i(i, a) { + return t <= i && i <= n && e <= a && a <= r + } + + function a(i, a, s, c) { + var f = 0, + l = 0; + if (null == i || (f = o(i, s)) !== (l = o(a, s)) || u(i, a) < 0 ^ s > 0) + do { + c.point(0 === f || 3 === f ? t : n, f > 1 ? r : e) + } while ((f = (f + s + 4) % 4) !== l); + else c.point(a[0], a[1]) + } + + function o(r, i) { + return Zu(r[0] - t) < Yu ? i > 0 ? 0 : 3 : Zu(r[0] - n) < Yu ? i > 0 ? 2 : 1 : Zu(r[1] - e) < Yu ? i > 0 ? 1 : 0 : i > 0 ? 3 : 2 + } + + function s(t, e) { + return u(t.x, e.x) + } + + function u(t, e) { + var n = o(t, 1), + r = o(e, 1); + return n !== r ? n - r : 0 === n ? e[1] - t[1] : 1 === n ? t[0] - e[0] : 2 === n ? t[1] - e[1] : e[0] - t[0] + } + return function(o) { + var u, c, f, l, h, d, p, g, y, b, v, m = o, + _ = Wf(), + w = { + point: x, + lineStart: function() { + w.point = k, c && c.push(f = []); + b = !0, y = !1, p = g = NaN + }, + lineEnd: function() { + u && (k(l, h), d && y && _.rejoin(), u.push(_.result())); + w.point = x, y && m.lineEnd() + }, + polygonStart: function() { + m = _, u = [], c = [], v = !0 + }, + polygonEnd: function() { + var e = function() { + for (var e = 0, n = 0, i = c.length; n < i; ++n) + for (var a, o, s = c[n], u = 1, f = s.length, l = s[0], h = l[0], d = l[1]; u < f; ++u) a = h, o = d, l = s[u], h = l[0], d = l[1], o <= r ? d > r && (h - a) * (r - o) > (d - o) * (t - a) && ++e : d <= r && (h - a) * (r - o) < (d - o) * (t - a) && --e; + return e + }(), + n = v && e, + i = (u = P(u)).length; + (n || i) && (o.polygonStart(), n && (o.lineStart(), a(null, null, 1, o), o.lineEnd()), i && Zf(u, s, e, a, o), o.polygonEnd()); + m = o, u = c = f = null + } + }; + + function x(t, e) { + i(t, e) && m.point(t, e) + } + + function k(a, o) { + var s = i(a, o); + if (c && f.push([a, o]), b) l = a, h = o, d = s, b = !1, s && (m.lineStart(), m.point(a, o)); + else if (s && y) m.point(a, o); + else { + var u = [p = Math.max(cl, Math.min(ul, p)), g = Math.max(cl, Math.min(ul, g))], + _ = [a = Math.max(cl, Math.min(ul, a)), o = Math.max(cl, Math.min(ul, o))]; + sl(u, _, t, e, n, r) ? (y || (m.lineStart(), m.point(u[0], u[1])), m.point(_[0], _[1]), s || m.lineEnd(), v = !1) : s && (m.lineStart(), m.point(a, o), v = !1) + } + p = a, g = o, y = s + } + return w + } + } + var ll, hl, dl, pl = function() { + var t, e, n, r = 0, + i = 0, + a = 960, + o = 500; + return n = { + stream: function(n) { + return t && e === n ? t : t = fl(r, i, a, o)(e = n) + }, + extent: function(s) { + return arguments.length ? (r = +s[0][0], i = +s[0][1], a = +s[1][0], o = +s[1][1], t = e = null, n) : [ + [r, i], + [a, o] + ] + } + } + }, + gl = qu(), + yl = { + sphere: hc, + point: hc, + lineStart: function() { + yl.point = vl, yl.lineEnd = bl + }, + lineEnd: hc, + polygonStart: hc, + polygonEnd: hc + }; + + function bl() { + yl.point = yl.lineEnd = hc + } + + function vl(t, e) { + ll = t *= Xu, hl = ac(e *= Xu), dl = tc(e), yl.point = ml + } + + function ml(t, e) { + t *= Xu; + var n = ac(e *= Xu), + r = tc(e), + i = Zu(t - ll), + a = tc(i), + o = r * ac(i), + s = dl * n - hl * r * a, + u = hl * n + dl * r * a; + gl.add(Qu(sc(o * o + s * s), u)), ll = t, hl = n, dl = r + } + var _l = function(t) { + return gl.reset(), kc(t, yl), +gl + }, + wl = [null, null], + xl = { + type: "LineString", + coordinates: wl + }, + kl = function(t, e) { + return wl[0] = t, wl[1] = e, _l(xl) + }, + El = { + Feature: function(t, e) { + return Sl(t.geometry, e) + }, + FeatureCollection: function(t, e) { + for (var n = t.features, r = -1, i = n.length; ++r < i;) + if (Sl(n[r].geometry, e)) return !0; + return !1 + } + }, + Al = { + Sphere: function() { + return !0 + }, + Point: function(t, e) { + return Ml(t.coordinates, e) + }, + MultiPoint: function(t, e) { + for (var n = t.coordinates, r = -1, i = n.length; ++r < i;) + if (Ml(n[r], e)) return !0; + return !1 + }, + LineString: function(t, e) { + return Tl(t.coordinates, e) + }, + MultiLineString: function(t, e) { + for (var n = t.coordinates, r = -1, i = n.length; ++r < i;) + if (Tl(n[r], e)) return !0; + return !1 + }, + Polygon: function(t, e) { + return Dl(t.coordinates, e) + }, + MultiPolygon: function(t, e) { + for (var n = t.coordinates, r = -1, i = n.length; ++r < i;) + if (Dl(n[r], e)) return !0; + return !1 + }, + GeometryCollection: function(t, e) { + for (var n = t.geometries, r = -1, i = n.length; ++r < i;) + if (Sl(n[r], e)) return !0; + return !1 + } + }; + + function Sl(t, e) { + return !(!t || !Al.hasOwnProperty(t.type)) && Al[t.type](t, e) + } + + function Ml(t, e) { + return 0 === kl(t, e) + } + + function Tl(t, e) { + for (var n, r, i, a = 0, o = t.length; a < o; a++) { + if (0 === (r = kl(t[a], e))) return !0; + if (a > 0 && (i = kl(t[a], t[a - 1])) > 0 && n <= i && r <= i && (n + r - i) * (1 - Math.pow((n - r) / i, 2)) < Vu * i) return !0; + n = r + } + return !1 + } + + function Dl(t, e) { + return !!el(t.map(Cl), Nl(e)) + } + + function Cl(t) { + return (t = t.map(Nl)).pop(), t + } + + function Nl(t) { + return [t[0] * Xu, t[1] * Xu] + } + var Il = function(t, e) { + return (t && El.hasOwnProperty(t.type) ? El[t.type] : Sl)(t, e) + }; + + function Ll(t, e, n) { + var r = x(t, e - Yu, n).concat(e); + return function(t) { + return r.map((function(e) { + return [t, e] + })) + } + } + + function Bl(t, e, n) { + var r = x(t, e - Yu, n).concat(e); + return function(t) { + return r.map((function(e) { + return [e, t] + })) + } + } + + function Ol() { + var t, e, n, r, i, a, o, s, u, c, f, l, h = 10, + d = h, + p = 90, + g = 360, + y = 2.5; + + function b() { + return { + type: "MultiLineString", + coordinates: v() + } + } + + function v() { + return x(ec(r / p) * p, n, p).map(f).concat(x(ec(s / g) * g, o, g).map(l)).concat(x(ec(e / h) * h, t, h).filter((function(t) { + return Zu(t % p) > Yu + })).map(u)).concat(x(ec(a / d) * d, i, d).filter((function(t) { + return Zu(t % g) > Yu + })).map(c)) + } + return b.lines = function() { + return v().map((function(t) { + return { + type: "LineString", + coordinates: t + } + })) + }, b.outline = function() { + return { + type: "Polygon", + coordinates: [f(r).concat(l(o).slice(1), f(n).reverse().slice(1), l(s).reverse().slice(1))] + } + }, b.extent = function(t) { + return arguments.length ? b.extentMajor(t).extentMinor(t) : b.extentMinor() + }, b.extentMajor = function(t) { + return arguments.length ? (r = +t[0][0], n = +t[1][0], s = +t[0][1], o = +t[1][1], r > n && (t = r, r = n, n = t), s > o && (t = s, s = o, o = t), b.precision(y)) : [ + [r, s], + [n, o] + ] + }, b.extentMinor = function(n) { + return arguments.length ? (e = +n[0][0], t = +n[1][0], a = +n[0][1], i = +n[1][1], e > t && (n = e, e = t, t = n), a > i && (n = a, a = i, i = n), b.precision(y)) : [ + [e, a], + [t, i] + ] + }, b.step = function(t) { + return arguments.length ? b.stepMajor(t).stepMinor(t) : b.stepMinor() + }, b.stepMajor = function(t) { + return arguments.length ? (p = +t[0], g = +t[1], b) : [p, g] + }, b.stepMinor = function(t) { + return arguments.length ? (h = +t[0], d = +t[1], b) : [h, d] + }, b.precision = function(h) { + return arguments.length ? (y = +h, u = Ll(a, i, 90), c = Bl(e, t, y), f = Ll(s, o, 90), l = Bl(r, n, y), b) : y + }, b.extentMajor([ + [-180, -90 + Yu], + [180, 90 - Yu] + ]).extentMinor([ + [-180, -80 - Yu], + [180, 80 + Yu] + ]) + } + + function Rl() { + return Ol()() + } + var Pl, Fl, ql, jl, Ul = function(t, e) { + var n = t[0] * Xu, + r = t[1] * Xu, + i = e[0] * Xu, + a = e[1] * Xu, + o = tc(r), + s = ac(r), + u = tc(a), + c = ac(a), + f = o * tc(n), + l = o * ac(n), + h = u * tc(i), + d = u * ac(i), + p = 2 * fc(sc(lc(a - r) + o * u * lc(i - n))), + g = ac(p), + y = p ? function(t) { + var e = ac(t *= p) / g, + n = ac(p - t) / g, + r = n * f + e * h, + i = n * l + e * d, + a = n * s + e * c; + return [Qu(i, r) * Ku, Qu(a, sc(r * r + i * i)) * Ku] + } : function() { + return [n * Ku, r * Ku] + }; + return y.distance = p, y + }, + zl = function(t) { + return t + }, + Yl = qu(), + Vl = qu(), + Hl = { + point: hc, + lineStart: hc, + lineEnd: hc, + polygonStart: function() { + Hl.lineStart = Gl, Hl.lineEnd = Kl + }, + polygonEnd: function() { + Hl.lineStart = Hl.lineEnd = Hl.point = hc, Yl.add(Zu(Vl)), Vl.reset() + }, + result: function() { + var t = Yl / 2; + return Yl.reset(), t + } + }; + + function Gl() { + Hl.point = $l + } + + function $l(t, e) { + Hl.point = Wl, Pl = ql = t, Fl = jl = e + } + + function Wl(t, e) { + Vl.add(jl * t - ql * e), ql = t, jl = e + } + + function Kl() { + Wl(Pl, Fl) + } + var Xl = Hl, + Zl = 1 / 0, + Jl = Zl, + Ql = -Zl, + th = Ql; + var eh, nh, rh, ih, ah = { + point: function(t, e) { + t < Zl && (Zl = t); + t > Ql && (Ql = t); + e < Jl && (Jl = e); + e > th && (th = e) + }, + lineStart: hc, + lineEnd: hc, + polygonStart: hc, + polygonEnd: hc, + result: function() { + var t = [ + [Zl, Jl], + [Ql, th] + ]; + return Ql = th = -(Jl = Zl = 1 / 0), t + } + }, + oh = 0, + sh = 0, + uh = 0, + ch = 0, + fh = 0, + lh = 0, + hh = 0, + dh = 0, + ph = 0, + gh = { + point: yh, + lineStart: bh, + lineEnd: _h, + polygonStart: function() { + gh.lineStart = wh, gh.lineEnd = xh + }, + polygonEnd: function() { + gh.point = yh, gh.lineStart = bh, gh.lineEnd = _h + }, + result: function() { + var t = ph ? [hh / ph, dh / ph] : lh ? [ch / lh, fh / lh] : uh ? [oh / uh, sh / uh] : [NaN, NaN]; + return oh = sh = uh = ch = fh = lh = hh = dh = ph = 0, t + } + }; + + function yh(t, e) { + oh += t, sh += e, ++uh + } + + function bh() { + gh.point = vh + } + + function vh(t, e) { + gh.point = mh, yh(rh = t, ih = e) + } + + function mh(t, e) { + var n = t - rh, + r = e - ih, + i = sc(n * n + r * r); + ch += i * (rh + t) / 2, fh += i * (ih + e) / 2, lh += i, yh(rh = t, ih = e) + } + + function _h() { + gh.point = yh + } + + function wh() { + gh.point = kh + } + + function xh() { + Eh(eh, nh) + } + + function kh(t, e) { + gh.point = Eh, yh(eh = rh = t, nh = ih = e) + } + + function Eh(t, e) { + var n = t - rh, + r = e - ih, + i = sc(n * n + r * r); + ch += i * (rh + t) / 2, fh += i * (ih + e) / 2, lh += i, hh += (i = ih * t - rh * e) * (rh + t), dh += i * (ih + e), ph += 3 * i, yh(rh = t, ih = e) + } + var Ah = gh; + + function Sh(t) { + this._context = t + } + Sh.prototype = { + _radius: 4.5, + pointRadius: function(t) { + return this._radius = t, this + }, + polygonStart: function() { + this._line = 0 + }, + polygonEnd: function() { + this._line = NaN + }, + lineStart: function() { + this._point = 0 + }, + lineEnd: function() { + 0 === this._line && this._context.closePath(), this._point = NaN + }, + point: function(t, e) { + switch (this._point) { + case 0: + this._context.moveTo(t, e), this._point = 1; + break; + case 1: + this._context.lineTo(t, e); + break; + default: + this._context.moveTo(t + this._radius, e), this._context.arc(t, e, this._radius, 0, Wu) + } + }, + result: hc + }; + var Mh, Th, Dh, Ch, Nh, Ih = qu(), + Lh = { + point: hc, + lineStart: function() { + Lh.point = Bh + }, + lineEnd: function() { + Mh && Oh(Th, Dh), Lh.point = hc + }, + polygonStart: function() { + Mh = !0 + }, + polygonEnd: function() { + Mh = null + }, + result: function() { + var t = +Ih; + return Ih.reset(), t + } + }; + + function Bh(t, e) { + Lh.point = Oh, Th = Ch = t, Dh = Nh = e + } + + function Oh(t, e) { + Ch -= t, Nh -= e, Ih.add(sc(Ch * Ch + Nh * Nh)), Ch = t, Nh = e + } + var Rh = Lh; + + function Ph() { + this._string = [] + } + + function Fh(t) { + return "m0," + t + "a" + t + "," + t + " 0 1,1 0," + -2 * t + "a" + t + "," + t + " 0 1,1 0," + 2 * t + "z" + } + Ph.prototype = { + _radius: 4.5, + _circle: Fh(4.5), + pointRadius: function(t) { + return (t = +t) !== this._radius && (this._radius = t, this._circle = null), this + }, + polygonStart: function() { + this._line = 0 + }, + polygonEnd: function() { + this._line = NaN + }, + lineStart: function() { + this._point = 0 + }, + lineEnd: function() { + 0 === this._line && this._string.push("Z"), this._point = NaN + }, + point: function(t, e) { + switch (this._point) { + case 0: + this._string.push("M", t, ",", e), this._point = 1; + break; + case 1: + this._string.push("L", t, ",", e); + break; + default: + null == this._circle && (this._circle = Fh(this._radius)), this._string.push("M", t, ",", e, this._circle) + } + }, + result: function() { + if (this._string.length) { + var t = this._string.join(""); + return this._string = [], t + } + return null + } + }; + var qh = function(t, e) { + var n, r, i = 4.5; + + function a(t) { + return t && ("function" == typeof i && r.pointRadius(+i.apply(this, arguments)), kc(t, n(r))), r.result() + } + return a.area = function(t) { + return kc(t, n(Xl)), Xl.result() + }, a.measure = function(t) { + return kc(t, n(Rh)), Rh.result() + }, a.bounds = function(t) { + return kc(t, n(ah)), ah.result() + }, a.centroid = function(t) { + return kc(t, n(Ah)), Ah.result() + }, a.projection = function(e) { + return arguments.length ? (n = null == e ? (t = null, zl) : (t = e).stream, a) : t + }, a.context = function(t) { + return arguments.length ? (r = null == t ? (e = null, new Ph) : new Sh(e = t), "function" != typeof i && r.pointRadius(i), a) : e + }, a.pointRadius = function(t) { + return arguments.length ? (i = "function" == typeof t ? t : (r.pointRadius(+t), +t), a) : i + }, a.projection(t).context(e) + }, + jh = function(t) { + return { + stream: Uh(t) + } + }; + + function Uh(t) { + return function(e) { + var n = new zh; + for (var r in t) n[r] = t[r]; + return n.stream = e, n + } + } + + function zh() {} + + function Yh(t, e, n) { + var r = t.clipExtent && t.clipExtent(); + return t.scale(150).translate([0, 0]), null != r && t.clipExtent(null), kc(n, t.stream(ah)), e(ah.result()), null != r && t.clipExtent(r), t + } + + function Vh(t, e, n) { + return Yh(t, (function(n) { + var r = e[1][0] - e[0][0], + i = e[1][1] - e[0][1], + a = Math.min(r / (n[1][0] - n[0][0]), i / (n[1][1] - n[0][1])), + o = +e[0][0] + (r - a * (n[1][0] + n[0][0])) / 2, + s = +e[0][1] + (i - a * (n[1][1] + n[0][1])) / 2; + t.scale(150 * a).translate([o, s]) + }), n) + } + + function Hh(t, e, n) { + return Vh(t, [ + [0, 0], e + ], n) + } + + function Gh(t, e, n) { + return Yh(t, (function(n) { + var r = +e, + i = r / (n[1][0] - n[0][0]), + a = (r - i * (n[1][0] + n[0][0])) / 2, + o = -i * n[0][1]; + t.scale(150 * i).translate([a, o]) + }), n) + } + + function $h(t, e, n) { + return Yh(t, (function(n) { + var r = +e, + i = r / (n[1][1] - n[0][1]), + a = -i * n[0][0], + o = (r - i * (n[1][1] + n[0][1])) / 2; + t.scale(150 * i).translate([a, o]) + }), n) + } + zh.prototype = { + constructor: zh, + point: function(t, e) { + this.stream.point(t, e) + }, + sphere: function() { + this.stream.sphere() + }, + lineStart: function() { + this.stream.lineStart() + }, + lineEnd: function() { + this.stream.lineEnd() + }, + polygonStart: function() { + this.stream.polygonStart() + }, + polygonEnd: function() { + this.stream.polygonEnd() + } + }; + var Wh = 16, + Kh = tc(30 * Xu), + Xh = function(t, e) { + return +e ? function(t, e) { + function n(r, i, a, o, s, u, c, f, l, h, d, p, g, y) { + var b = c - r, + v = f - i, + m = b * b + v * v; + if (m > 4 * e && g--) { + var _ = o + h, + w = s + d, + x = u + p, + k = sc(_ * _ + w * w + x * x), + E = fc(x /= k), + A = Zu(Zu(x) - 1) < Yu || Zu(a - l) < Yu ? (a + l) / 2 : Qu(w, _), + S = t(A, E), + M = S[0], + T = S[1], + D = M - r, + C = T - i, + N = v * D - b * C; + (N * N / m > e || Zu((b * D + v * C) / m - .5) > .3 || o * h + s * d + u * p < Kh) && (n(r, i, a, o, s, u, M, T, A, _ /= k, w /= k, x, g, y), y.point(M, T), n(M, T, A, _, w, x, c, f, l, h, d, p, g, y)) + } + } + return function(e) { + var r, i, a, o, s, u, c, f, l, h, d, p, g = { + point: y, + lineStart: b, + lineEnd: m, + polygonStart: function() { + e.polygonStart(), g.lineStart = _ + }, + polygonEnd: function() { + e.polygonEnd(), g.lineStart = b + } + }; + + function y(n, r) { + n = t(n, r), e.point(n[0], n[1]) + } + + function b() { + f = NaN, g.point = v, e.lineStart() + } + + function v(r, i) { + var a = Lc([r, i]), + o = t(r, i); + n(f, l, c, h, d, p, f = o[0], l = o[1], c = r, h = a[0], d = a[1], p = a[2], Wh, e), e.point(f, l) + } + + function m() { + g.point = y, e.lineEnd() + } + + function _() { + b(), g.point = w, g.lineEnd = x + } + + function w(t, e) { + v(r = t, e), i = f, a = l, o = h, s = d, u = p, g.point = v + } + + function x() { + n(f, l, c, h, d, p, i, a, r, o, s, u, Wh, e), g.lineEnd = m, m() + } + return g + } + }(t, e) : function(t) { + return Uh({ + point: function(e, n) { + e = t(e, n), this.stream.point(e[0], e[1]) + } + }) + }(t) + }; + var Zh = Uh({ + point: function(t, e) { + this.stream.point(t * Xu, e * Xu) + } + }); + + function Jh(t, e, n) { + function r(r, i) { + return [e + t * r, n - t * i] + } + return r.invert = function(r, i) { + return [(r - e) / t, (n - i) / t] + }, r + } + + function Qh(t, e, n, r) { + var i = tc(r), + a = ac(r), + o = i * t, + s = a * t, + u = i / t, + c = a / t, + f = (a * n - i * e) / t, + l = (a * e + i * n) / t; + + function h(t, r) { + return [o * t - s * r + e, n - s * t - o * r] + } + return h.invert = function(t, e) { + return [u * t - c * e + f, l - c * t - u * e] + }, h + } + + function td(t) { + return ed((function() { + return t + }))() + } + + function ed(t) { + var e, n, r, i, a, o, s, u, c, f, l = 150, + h = 480, + d = 250, + p = 0, + g = 0, + y = 0, + b = 0, + v = 0, + m = 0, + _ = null, + w = al, + x = null, + k = zl, + E = .5; + + function A(t) { + return u(t[0] * Xu, t[1] * Xu) + } + + function S(t) { + return (t = u.invert(t[0], t[1])) && [t[0] * Ku, t[1] * Ku] + } + + function M() { + var t = Qh(l, 0, 0, m).apply(null, e(p, g)), + r = (m ? Qh : Jh)(l, h - t[0], d - t[1], m); + return n = jf(y, b, v), s = Ff(e, r), u = Ff(n, s), o = Xh(s, E), T() + } + + function T() { + return c = f = null, A + } + return A.stream = function(t) { + return c && f === t ? c : c = Zh(function(t) { + return Uh({ + point: function(e, n) { + var r = t(e, n); + return this.stream.point(r[0], r[1]) + } + }) + }(n)(w(o(k(f = t))))) + }, A.preclip = function(t) { + return arguments.length ? (w = t, _ = void 0, T()) : w + }, A.postclip = function(t) { + return arguments.length ? (k = t, x = r = i = a = null, T()) : k + }, A.clipAngle = function(t) { + return arguments.length ? (w = +t ? ol(_ = t * Xu) : (_ = null, al), T()) : _ * Ku + }, A.clipExtent = function(t) { + return arguments.length ? (k = null == t ? (x = r = i = a = null, zl) : fl(x = +t[0][0], r = +t[0][1], i = +t[1][0], a = +t[1][1]), T()) : null == x ? null : [ + [x, r], + [i, a] + ] + }, A.scale = function(t) { + return arguments.length ? (l = +t, M()) : l + }, A.translate = function(t) { + return arguments.length ? (h = +t[0], d = +t[1], M()) : [h, d] + }, A.center = function(t) { + return arguments.length ? (p = t[0] % 360 * Xu, g = t[1] % 360 * Xu, M()) : [p * Ku, g * Ku] + }, A.rotate = function(t) { + return arguments.length ? (y = t[0] % 360 * Xu, b = t[1] % 360 * Xu, v = t.length > 2 ? t[2] % 360 * Xu : 0, M()) : [y * Ku, b * Ku, v * Ku] + }, A.angle = function(t) { + return arguments.length ? (m = t % 360 * Xu, M()) : m * Ku + }, A.precision = function(t) { + return arguments.length ? (o = Xh(s, E = t * t), T()) : sc(E) + }, A.fitExtent = function(t, e) { + return Vh(A, t, e) + }, A.fitSize = function(t, e) { + return Hh(A, t, e) + }, A.fitWidth = function(t, e) { + return Gh(A, t, e) + }, A.fitHeight = function(t, e) { + return $h(A, t, e) + }, + function() { + return e = t.apply(this, arguments), A.invert = e.invert && S, M() + } + } + + function nd(t) { + var e = 0, + n = Hu / 3, + r = ed(t), + i = r(e, n); + return i.parallels = function(t) { + return arguments.length ? r(e = t[0] * Xu, n = t[1] * Xu) : [e * Ku, n * Ku] + }, i + } + + function rd(t, e) { + var n = ac(t), + r = (n + ac(e)) / 2; + if (Zu(r) < Yu) return function(t) { + var e = tc(t); + + function n(t, n) { + return [t * e, ac(n) / e] + } + return n.invert = function(t, n) { + return [t / e, fc(n * e)] + }, n + }(t); + var i = 1 + n * (2 * r - n), + a = sc(i) / r; + + function o(t, e) { + var n = sc(i - 2 * r * ac(e)) / r; + return [n * ac(t *= r), a - n * tc(t)] + } + return o.invert = function(t, e) { + var n = a - e; + return [Qu(t, Zu(n)) / r * oc(n), fc((i - (t * t + n * n) * r * r) / (2 * r))] + }, o + } + var id = function() { + return nd(rd).scale(155.424).center([0, 33.6442]) + }, + ad = function() { + return id().parallels([29.5, 45.5]).scale(1070).translate([480, 250]).rotate([96, 0]).center([-.6, 38.7]) + }; + var od = function() { + var t, e, n, r, i, a, o = ad(), + s = id().rotate([154, 0]).center([-2, 58.5]).parallels([55, 65]), + u = id().rotate([157, 0]).center([-3, 19.9]).parallels([8, 18]), + c = { + point: function(t, e) { + a = [t, e] + } + }; + + function f(t) { + var e = t[0], + o = t[1]; + return a = null, n.point(e, o), a || (r.point(e, o), a) || (i.point(e, o), a) + } + + function l() { + return t = e = null, f + } + return f.invert = function(t) { + var e = o.scale(), + n = o.translate(), + r = (t[0] - n[0]) / e, + i = (t[1] - n[1]) / e; + return (i >= .12 && i < .234 && r >= -.425 && r < -.214 ? s : i >= .166 && i < .234 && r >= -.214 && r < -.115 ? u : o).invert(t) + }, f.stream = function(n) { + return t && e === n ? t : (r = [o.stream(e = n), s.stream(n), u.stream(n)], i = r.length, t = { + point: function(t, e) { + for (var n = -1; ++n < i;) r[n].point(t, e) + }, + sphere: function() { + for (var t = -1; ++t < i;) r[t].sphere() + }, + lineStart: function() { + for (var t = -1; ++t < i;) r[t].lineStart() + }, + lineEnd: function() { + for (var t = -1; ++t < i;) r[t].lineEnd() + }, + polygonStart: function() { + for (var t = -1; ++t < i;) r[t].polygonStart() + }, + polygonEnd: function() { + for (var t = -1; ++t < i;) r[t].polygonEnd() + } + }); + var r, i + }, f.precision = function(t) { + return arguments.length ? (o.precision(t), s.precision(t), u.precision(t), l()) : o.precision() + }, f.scale = function(t) { + return arguments.length ? (o.scale(t), s.scale(.35 * t), u.scale(t), f.translate(o.translate())) : o.scale() + }, f.translate = function(t) { + if (!arguments.length) return o.translate(); + var e = o.scale(), + a = +t[0], + f = +t[1]; + return n = o.translate(t).clipExtent([ + [a - .455 * e, f - .238 * e], + [a + .455 * e, f + .238 * e] + ]).stream(c), r = s.translate([a - .307 * e, f + .201 * e]).clipExtent([ + [a - .425 * e + Yu, f + .12 * e + Yu], + [a - .214 * e - Yu, f + .234 * e - Yu] + ]).stream(c), i = u.translate([a - .205 * e, f + .212 * e]).clipExtent([ + [a - .214 * e + Yu, f + .166 * e + Yu], + [a - .115 * e - Yu, f + .234 * e - Yu] + ]).stream(c), l() + }, f.fitExtent = function(t, e) { + return Vh(f, t, e) + }, f.fitSize = function(t, e) { + return Hh(f, t, e) + }, f.fitWidth = function(t, e) { + return Gh(f, t, e) + }, f.fitHeight = function(t, e) { + return $h(f, t, e) + }, f.scale(1070) + }; + + function sd(t) { + return function(e, n) { + var r = tc(e), + i = tc(n), + a = t(r * i); + return [a * i * ac(e), a * ac(n)] + } + } + + function ud(t) { + return function(e, n) { + var r = sc(e * e + n * n), + i = t(r), + a = ac(i), + o = tc(i); + return [Qu(e * a, r * o), fc(r && n * a / r)] + } + } + var cd = sd((function(t) { + return sc(2 / (1 + t)) + })); + cd.invert = ud((function(t) { + return 2 * fc(t / 2) + })); + var fd = function() { + return td(cd).scale(124.75).clipAngle(179.999) + }, + ld = sd((function(t) { + return (t = cc(t)) && t / ac(t) + })); + ld.invert = ud((function(t) { + return t + })); + var hd = function() { + return td(ld).scale(79.4188).clipAngle(179.999) + }; + + function dd(t, e) { + return [t, rc(uc((Gu + e) / 2))] + } + dd.invert = function(t, e) { + return [t, 2 * Ju(nc(e)) - Gu] + }; + var pd = function() { + return gd(dd).scale(961 / Wu) + }; + + function gd(t) { + var e, n, r, i = td(t), + a = i.center, + o = i.scale, + s = i.translate, + u = i.clipExtent, + c = null; + + function f() { + var a = Hu * o(), + s = i(Vf(i.rotate()).invert([0, 0])); + return u(null == c ? [ + [s[0] - a, s[1] - a], + [s[0] + a, s[1] + a] + ] : t === dd ? [ + [Math.max(s[0] - a, c), e], + [Math.min(s[0] + a, n), r] + ] : [ + [c, Math.max(s[1] - a, e)], + [n, Math.min(s[1] + a, r)] + ]) + } + return i.scale = function(t) { + return arguments.length ? (o(t), f()) : o() + }, i.translate = function(t) { + return arguments.length ? (s(t), f()) : s() + }, i.center = function(t) { + return arguments.length ? (a(t), f()) : a() + }, i.clipExtent = function(t) { + return arguments.length ? (null == t ? c = e = n = r = null : (c = +t[0][0], e = +t[0][1], n = +t[1][0], r = +t[1][1]), f()) : null == c ? null : [ + [c, e], + [n, r] + ] + }, f() + } + + function yd(t) { + return uc((Gu + t) / 2) + } + + function bd(t, e) { + var n = tc(t), + r = t === e ? ac(t) : rc(n / tc(e)) / rc(yd(e) / yd(t)), + i = n * ic(yd(t), r) / r; + if (!r) return dd; + + function a(t, e) { + i > 0 ? e < -Gu + Yu && (e = -Gu + Yu) : e > Gu - Yu && (e = Gu - Yu); + var n = i / ic(yd(e), r); + return [n * ac(r * t), i - n * tc(r * t)] + } + return a.invert = function(t, e) { + var n = i - e, + a = oc(r) * sc(t * t + n * n); + return [Qu(t, Zu(n)) / r * oc(n), 2 * Ju(ic(i / a, 1 / r)) - Gu] + }, a + } + var vd = function() { + return nd(bd).scale(109.5).parallels([30, 30]) + }; + + function md(t, e) { + return [t, e] + } + md.invert = md; + var _d = function() { + return td(md).scale(152.63) + }; + + function wd(t, e) { + var n = tc(t), + r = t === e ? ac(t) : (n - tc(e)) / (e - t), + i = n / r + t; + if (Zu(r) < Yu) return md; + + function a(t, e) { + var n = i - e, + a = r * t; + return [n * ac(a), i - n * tc(a)] + } + return a.invert = function(t, e) { + var n = i - e; + return [Qu(t, Zu(n)) / r * oc(n), i - oc(r) * sc(t * t + n * n)] + }, a + } + var xd = function() { + return nd(wd).scale(131.154).center([0, 13.9389]) + }, + kd = 1.340264, + Ed = -.081106, + Ad = 893e-6, + Sd = .003796, + Md = sc(3) / 2; + + function Td(t, e) { + var n = fc(Md * ac(e)), + r = n * n, + i = r * r * r; + return [t * tc(n) / (Md * (kd + 3 * Ed * r + i * (7 * Ad + 9 * Sd * r))), n * (kd + Ed * r + i * (Ad + Sd * r))] + } + Td.invert = function(t, e) { + for (var n, r = e, i = r * r, a = i * i * i, o = 0; o < 12 && (a = (i = (r -= n = (r * (kd + Ed * i + a * (Ad + Sd * i)) - e) / (kd + 3 * Ed * i + a * (7 * Ad + 9 * Sd * i))) * r) * i * i, !(Zu(n) < Vu)); ++o); + return [Md * t * (kd + 3 * Ed * i + a * (7 * Ad + 9 * Sd * i)) / tc(r), fc(ac(r) / Md)] + }; + var Dd = function() { + return td(Td).scale(177.158) + }; + + function Cd(t, e) { + var n = tc(e), + r = tc(t) * n; + return [n * ac(t) / r, ac(e) / r] + } + Cd.invert = ud(Ju); + var Nd = function() { + return td(Cd).scale(144.049).clipAngle(60) + }; + + function Id(t, e, n, r) { + return 1 === t && 1 === e && 0 === n && 0 === r ? zl : Uh({ + point: function(i, a) { + this.stream.point(i * t + n, a * e + r) + } + }) + } + var Ld = function() { + var t, e, n, r, i, a, o = 1, + s = 0, + u = 0, + c = 1, + f = 1, + l = zl, + h = null, + d = zl; + + function p() { + return r = i = null, a + } + return a = { + stream: function(t) { + return r && i === t ? r : r = l(d(i = t)) + }, + postclip: function(r) { + return arguments.length ? (d = r, h = t = e = n = null, p()) : d + }, + clipExtent: function(r) { + return arguments.length ? (d = null == r ? (h = t = e = n = null, zl) : fl(h = +r[0][0], t = +r[0][1], e = +r[1][0], n = +r[1][1]), p()) : null == h ? null : [ + [h, t], + [e, n] + ] + }, + scale: function(t) { + return arguments.length ? (l = Id((o = +t) * c, o * f, s, u), p()) : o + }, + translate: function(t) { + return arguments.length ? (l = Id(o * c, o * f, s = +t[0], u = +t[1]), p()) : [s, u] + }, + reflectX: function(t) { + return arguments.length ? (l = Id(o * (c = t ? -1 : 1), o * f, s, u), p()) : c < 0 + }, + reflectY: function(t) { + return arguments.length ? (l = Id(o * c, o * (f = t ? -1 : 1), s, u), p()) : f < 0 + }, + fitExtent: function(t, e) { + return Vh(a, t, e) + }, + fitSize: function(t, e) { + return Hh(a, t, e) + }, + fitWidth: function(t, e) { + return Gh(a, t, e) + }, + fitHeight: function(t, e) { + return $h(a, t, e) + } + } + }; + + function Bd(t, e) { + var n = e * e, + r = n * n; + return [t * (.8707 - .131979 * n + r * (r * (.003971 * n - .001529 * r) - .013791)), e * (1.007226 + n * (.015085 + r * (.028874 * n - .044475 - .005916 * r)))] + } + Bd.invert = function(t, e) { + var n, r = e, + i = 25; + do { + var a = r * r, + o = a * a; + r -= n = (r * (1.007226 + a * (.015085 + o * (.028874 * a - .044475 - .005916 * o))) - e) / (1.007226 + a * (.045255 + o * (.259866 * a - .311325 - .005916 * 11 * o))) + } while (Zu(n) > Yu && --i > 0); + return [t / (.8707 + (a = r * r) * (a * (a * a * a * (.003971 - .001529 * a) - .013791) - .131979)), r] + }; + var Od = function() { + return td(Bd).scale(175.295) + }; + + function Rd(t, e) { + return [tc(e) * ac(t), ac(e)] + } + Rd.invert = ud(fc); + var Pd = function() { + return td(Rd).scale(249.5).clipAngle(90 + Yu) + }; + + function Fd(t, e) { + var n = tc(e), + r = 1 + tc(t) * n; + return [n * ac(t) / r, ac(e) / r] + } + Fd.invert = ud((function(t) { + return 2 * Ju(t) + })); + var qd = function() { + return td(Fd).scale(250).clipAngle(142) + }; + + function jd(t, e) { + return [rc(uc((Gu + e) / 2)), -t] + } + jd.invert = function(t, e) { + return [-e, 2 * Ju(nc(t)) - Gu] + }; + var Ud = function() { + var t = gd(jd), + e = t.center, + n = t.rotate; + return t.center = function(t) { + return arguments.length ? e([-t[1], t[0]]) : [(t = e())[1], -t[0]] + }, t.rotate = function(t) { + return arguments.length ? n([t[0], t[1], t.length > 2 ? t[2] + 90 : 90]) : [(t = n())[0], t[1], t[2] - 90] + }, n([0, 0, 90]).scale(159.155) + }; + + function zd(t, e) { + return t.parent === e.parent ? 1 : 2 + } + + function Yd(t, e) { + return t + e.x + } + + function Vd(t, e) { + return Math.max(t, e.y) + } + var Hd = function() { + var t = zd, + e = 1, + n = 1, + r = !1; + + function i(i) { + var a, o = 0; + i.eachAfter((function(e) { + var n = e.children; + n ? (e.x = function(t) { + return t.reduce(Yd, 0) / t.length + }(n), e.y = function(t) { + return 1 + t.reduce(Vd, 0) + }(n)) : (e.x = a ? o += t(e, a) : 0, e.y = 0, a = e) + })); + var s = function(t) { + for (var e; e = t.children;) t = e[0]; + return t + }(i), + u = function(t) { + for (var e; e = t.children;) t = e[e.length - 1]; + return t + }(i), + c = s.x - t(s, u) / 2, + f = u.x + t(u, s) / 2; + return i.eachAfter(r ? function(t) { + t.x = (t.x - i.x) * e, t.y = (i.y - t.y) * n + } : function(t) { + t.x = (t.x - c) / (f - c) * e, t.y = (1 - (i.y ? t.y / i.y : 1)) * n + }) + } + return i.separation = function(e) { + return arguments.length ? (t = e, i) : t + }, i.size = function(t) { + return arguments.length ? (r = !1, e = +t[0], n = +t[1], i) : r ? null : [e, n] + }, i.nodeSize = function(t) { + return arguments.length ? (r = !0, e = +t[0], n = +t[1], i) : r ? [e, n] : null + }, i + }; + + function Gd(t) { + var e = 0, + n = t.children, + r = n && n.length; + if (r) + for (; --r >= 0;) e += n[r].value; + else e = 1; + t.value = e + } + + function $d(t, e) { + var n, r, i, a, o, s = new Zd(t), + u = +t.value && (s.value = t.value), + c = [s]; + for (null == e && (e = Wd); n = c.pop();) + if (u && (n.value = +n.data.value), (i = e(n.data)) && (o = i.length)) + for (n.children = new Array(o), a = o - 1; a >= 0; --a) c.push(r = n.children[a] = new Zd(i[a])), r.parent = n, r.depth = n.depth + 1; + return s.eachBefore(Xd) + } + + function Wd(t) { + return t.children + } + + function Kd(t) { + t.data = t.data.data + } + + function Xd(t) { + var e = 0; + do { + t.height = e + } while ((t = t.parent) && t.height < ++e) + } + + function Zd(t) { + this.data = t, this.depth = this.height = 0, this.parent = null + } + Zd.prototype = $d.prototype = { + constructor: Zd, + count: function() { + return this.eachAfter(Gd) + }, + each: function(t) { + var e, n, r, i, a = this, + o = [a]; + do { + for (e = o.reverse(), o = []; a = e.pop();) + if (t(a), n = a.children) + for (r = 0, i = n.length; r < i; ++r) o.push(n[r]) + } while (o.length); + return this + }, + eachAfter: function(t) { + for (var e, n, r, i = this, a = [i], o = []; i = a.pop();) + if (o.push(i), e = i.children) + for (n = 0, r = e.length; n < r; ++n) a.push(e[n]); + for (; i = o.pop();) t(i); + return this + }, + eachBefore: function(t) { + for (var e, n, r = this, i = [r]; r = i.pop();) + if (t(r), e = r.children) + for (n = e.length - 1; n >= 0; --n) i.push(e[n]); + return this + }, + sum: function(t) { + return this.eachAfter((function(e) { + for (var n = +t(e.data) || 0, r = e.children, i = r && r.length; --i >= 0;) n += r[i].value; + e.value = n + })) + }, + sort: function(t) { + return this.eachBefore((function(e) { + e.children && e.children.sort(t) + })) + }, + path: function(t) { + for (var e = this, n = function(t, e) { + if (t === e) return t; + var n = t.ancestors(), + r = e.ancestors(), + i = null; + t = n.pop(), e = r.pop(); + for (; t === e;) i = t, t = n.pop(), e = r.pop(); + return i + }(e, t), r = [e]; e !== n;) e = e.parent, r.push(e); + for (var i = r.length; t !== n;) r.splice(i, 0, t), t = t.parent; + return r + }, + ancestors: function() { + for (var t = this, e = [t]; t = t.parent;) e.push(t); + return e + }, + descendants: function() { + var t = []; + return this.each((function(e) { + t.push(e) + })), t + }, + leaves: function() { + var t = []; + return this.eachBefore((function(e) { + e.children || t.push(e) + })), t + }, + links: function() { + var t = this, + e = []; + return t.each((function(n) { + n !== t && e.push({ + source: n.parent, + target: n + }) + })), e + }, + copy: function() { + return $d(this).eachBefore(Kd) + } + }; + var Jd = Array.prototype.slice; + var Qd = function(t) { + for (var e, n, r = 0, i = (t = function(t) { + for (var e, n, r = t.length; r;) n = Math.random() * r-- | 0, e = t[r], t[r] = t[n], t[n] = e; + return t + }(Jd.call(t))).length, a = []; r < i;) e = t[r], n && np(n, e) ? ++r : (n = ip(a = tp(a, e)), r = 0); + return n + }; + + function tp(t, e) { + var n, r; + if (rp(e, t)) return [e]; + for (n = 0; n < t.length; ++n) + if (ep(e, t[n]) && rp(ap(t[n], e), t)) return [t[n], e]; + for (n = 0; n < t.length - 1; ++n) + for (r = n + 1; r < t.length; ++r) + if (ep(ap(t[n], t[r]), e) && ep(ap(t[n], e), t[r]) && ep(ap(t[r], e), t[n]) && rp(op(t[n], t[r], e), t)) return [t[n], t[r], e]; + throw new Error + } + + function ep(t, e) { + var n = t.r - e.r, + r = e.x - t.x, + i = e.y - t.y; + return n < 0 || n * n < r * r + i * i + } + + function np(t, e) { + var n = t.r - e.r + 1e-6, + r = e.x - t.x, + i = e.y - t.y; + return n > 0 && n * n > r * r + i * i + } + + function rp(t, e) { + for (var n = 0; n < e.length; ++n) + if (!np(t, e[n])) return !1; + return !0 + } + + function ip(t) { + switch (t.length) { + case 1: + return { + x: (e = t[0]).x, y: e.y, r: e.r + }; + case 2: + return ap(t[0], t[1]); + case 3: + return op(t[0], t[1], t[2]) + } + var e + } + + function ap(t, e) { + var n = t.x, + r = t.y, + i = t.r, + a = e.x, + o = e.y, + s = e.r, + u = a - n, + c = o - r, + f = s - i, + l = Math.sqrt(u * u + c * c); + return { + x: (n + a + u / l * f) / 2, + y: (r + o + c / l * f) / 2, + r: (l + i + s) / 2 + } + } + + function op(t, e, n) { + var r = t.x, + i = t.y, + a = t.r, + o = e.x, + s = e.y, + u = e.r, + c = n.x, + f = n.y, + l = n.r, + h = r - o, + d = r - c, + p = i - s, + g = i - f, + y = u - a, + b = l - a, + v = r * r + i * i - a * a, + m = v - o * o - s * s + u * u, + _ = v - c * c - f * f + l * l, + w = d * p - h * g, + x = (p * _ - g * m) / (2 * w) - r, + k = (g * y - p * b) / w, + E = (d * m - h * _) / (2 * w) - i, + A = (h * b - d * y) / w, + S = k * k + A * A - 1, + M = 2 * (a + x * k + E * A), + T = x * x + E * E - a * a, + D = -(S ? (M + Math.sqrt(M * M - 4 * S * T)) / (2 * S) : T / M); + return { + x: r + x + k * D, + y: i + E + A * D, + r: D + } + } + + function sp(t, e, n) { + var r, i, a, o, s = t.x - e.x, + u = t.y - e.y, + c = s * s + u * u; + c ? (i = e.r + n.r, i *= i, o = t.r + n.r, i > (o *= o) ? (r = (c + o - i) / (2 * c), a = Math.sqrt(Math.max(0, o / c - r * r)), n.x = t.x - r * s - a * u, n.y = t.y - r * u + a * s) : (r = (c + i - o) / (2 * c), a = Math.sqrt(Math.max(0, i / c - r * r)), n.x = e.x + r * s - a * u, n.y = e.y + r * u + a * s)) : (n.x = e.x + n.r, n.y = e.y) + } + + function up(t, e) { + var n = t.r + e.r - 1e-6, + r = e.x - t.x, + i = e.y - t.y; + return n > 0 && n * n > r * r + i * i + } + + function cp(t) { + var e = t._, + n = t.next._, + r = e.r + n.r, + i = (e.x * n.r + n.x * e.r) / r, + a = (e.y * n.r + n.y * e.r) / r; + return i * i + a * a + } + + function fp(t) { + this._ = t, this.next = null, this.previous = null + } + + function lp(t) { + if (!(i = t.length)) return 0; + var e, n, r, i, a, o, s, u, c, f, l; + if ((e = t[0]).x = 0, e.y = 0, !(i > 1)) return e.r; + if (n = t[1], e.x = -n.r, n.x = e.r, n.y = 0, !(i > 2)) return e.r + n.r; + sp(n, e, r = t[2]), e = new fp(e), n = new fp(n), r = new fp(r), e.next = r.previous = n, n.next = e.previous = r, r.next = n.previous = e; + t: for (s = 3; s < i; ++s) { + sp(e._, n._, r = t[s]), r = new fp(r), u = n.next, c = e.previous, f = n._.r, l = e._.r; + do { + if (f <= l) { + if (up(u._, r._)) { + n = u, e.next = n, n.previous = e, --s; + continue t + } + f += u._.r, u = u.next + } else { + if (up(c._, r._)) { + (e = c).next = n, n.previous = e, --s; + continue t + } + l += c._.r, c = c.previous + } + } while (u !== c.next); + for (r.previous = e, r.next = n, e.next = n.previous = n = r, a = cp(e); + (r = r.next) !== n;)(o = cp(r)) < a && (e = r, a = o); + n = e.next + } + for (e = [n._], r = n; + (r = r.next) !== n;) e.push(r._); + for (r = Qd(e), s = 0; s < i; ++s)(e = t[s]).x -= r.x, e.y -= r.y; + return r.r + } + var hp = function(t) { + return lp(t), t + }; + + function dp(t) { + return null == t ? null : pp(t) + } + + function pp(t) { + if ("function" != typeof t) throw new Error; + return t + } + + function gp() { + return 0 + } + var yp = function(t) { + return function() { + return t + } + }; + + function bp(t) { + return Math.sqrt(t.value) + } + var vp = function() { + var t = null, + e = 1, + n = 1, + r = gp; + + function i(i) { + return i.x = e / 2, i.y = n / 2, t ? i.eachBefore(mp(t)).eachAfter(_p(r, .5)).eachBefore(wp(1)) : i.eachBefore(mp(bp)).eachAfter(_p(gp, 1)).eachAfter(_p(r, i.r / Math.min(e, n))).eachBefore(wp(Math.min(e, n) / (2 * i.r))), i + } + return i.radius = function(e) { + return arguments.length ? (t = dp(e), i) : t + }, i.size = function(t) { + return arguments.length ? (e = +t[0], n = +t[1], i) : [e, n] + }, i.padding = function(t) { + return arguments.length ? (r = "function" == typeof t ? t : yp(+t), i) : r + }, i + }; + + function mp(t) { + return function(e) { + e.children || (e.r = Math.max(0, +t(e) || 0)) + } + } + + function _p(t, e) { + return function(n) { + if (r = n.children) { + var r, i, a, o = r.length, + s = t(n) * e || 0; + if (s) + for (i = 0; i < o; ++i) r[i].r += s; + if (a = lp(r), s) + for (i = 0; i < o; ++i) r[i].r -= s; + n.r = a + s + } + } + } + + function wp(t) { + return function(e) { + var n = e.parent; + e.r *= t, n && (e.x = n.x + t * e.x, e.y = n.y + t * e.y) + } + } + var xp = function(t) { + t.x0 = Math.round(t.x0), t.y0 = Math.round(t.y0), t.x1 = Math.round(t.x1), t.y1 = Math.round(t.y1) + }, + kp = function(t, e, n, r, i) { + for (var a, o = t.children, s = -1, u = o.length, c = t.value && (r - e) / t.value; ++s < u;)(a = o[s]).y0 = n, a.y1 = i, a.x0 = e, a.x1 = e += a.value * c + }, + Ep = function() { + var t = 1, + e = 1, + n = 0, + r = !1; + + function i(i) { + var a = i.height + 1; + return i.x0 = i.y0 = n, i.x1 = t, i.y1 = e / a, i.eachBefore(function(t, e) { + return function(r) { + r.children && kp(r, r.x0, t * (r.depth + 1) / e, r.x1, t * (r.depth + 2) / e); + var i = r.x0, + a = r.y0, + o = r.x1 - n, + s = r.y1 - n; + o < i && (i = o = (i + o) / 2), s < a && (a = s = (a + s) / 2), r.x0 = i, r.y0 = a, r.x1 = o, r.y1 = s + } + }(e, a)), r && i.eachBefore(xp), i + } + return i.round = function(t) { + return arguments.length ? (r = !!t, i) : r + }, i.size = function(n) { + return arguments.length ? (t = +n[0], e = +n[1], i) : [t, e] + }, i.padding = function(t) { + return arguments.length ? (n = +t, i) : n + }, i + }, + Ap = "$", + Sp = { + depth: -1 + }, + Mp = {}; + + function Tp(t) { + return t.id + } + + function Dp(t) { + return t.parentId + } + var Cp = function() { + var t = Tp, + e = Dp; + + function n(n) { + var r, i, a, o, s, u, c, f = n.length, + l = new Array(f), + h = {}; + for (i = 0; i < f; ++i) r = n[i], s = l[i] = new Zd(r), null != (u = t(r, i, n)) && (u += "") && (h[c = Ap + (s.id = u)] = c in h ? Mp : s); + for (i = 0; i < f; ++i) + if (s = l[i], null != (u = e(n[i], i, n)) && (u += "")) { + if (!(o = h[Ap + u])) throw new Error("missing: " + u); + if (o === Mp) throw new Error("ambiguous: " + u); + o.children ? o.children.push(s) : o.children = [s], s.parent = o + } else { + if (a) throw new Error("multiple roots"); + a = s + } if (!a) throw new Error("no root"); + if (a.parent = Sp, a.eachBefore((function(t) { + t.depth = t.parent.depth + 1, --f + })).eachBefore(Xd), a.parent = null, f > 0) throw new Error("cycle"); + return a + } + return n.id = function(e) { + return arguments.length ? (t = pp(e), n) : t + }, n.parentId = function(t) { + return arguments.length ? (e = pp(t), n) : e + }, n + }; + + function Np(t, e) { + return t.parent === e.parent ? 1 : 2 + } + + function Ip(t) { + var e = t.children; + return e ? e[0] : t.t + } + + function Lp(t) { + var e = t.children; + return e ? e[e.length - 1] : t.t + } + + function Bp(t, e, n) { + var r = n / (e.i - t.i); + e.c -= r, e.s += n, t.c += r, e.z += n, e.m += n + } + + function Op(t, e, n) { + return t.a.parent === e.parent ? t.a : n + } + + function Rp(t, e) { + this._ = t, this.parent = null, this.children = null, this.A = null, this.a = this, this.z = 0, this.m = 0, this.c = 0, this.s = 0, this.t = null, this.i = e + } + Rp.prototype = Object.create(Zd.prototype); + var Pp = function() { + var t = Np, + e = 1, + n = 1, + r = null; + + function i(i) { + var u = function(t) { + for (var e, n, r, i, a, o = new Rp(t, 0), s = [o]; e = s.pop();) + if (r = e._.children) + for (e.children = new Array(a = r.length), i = a - 1; i >= 0; --i) s.push(n = e.children[i] = new Rp(r[i], i)), n.parent = e; + return (o.parent = new Rp(null, 0)).children = [o], o + }(i); + if (u.eachAfter(a), u.parent.m = -u.z, u.eachBefore(o), r) i.eachBefore(s); + else { + var c = i, + f = i, + l = i; + i.eachBefore((function(t) { + t.x < c.x && (c = t), t.x > f.x && (f = t), t.depth > l.depth && (l = t) + })); + var h = c === f ? 1 : t(c, f) / 2, + d = h - c.x, + p = e / (f.x + h + d), + g = n / (l.depth || 1); + i.eachBefore((function(t) { + t.x = (t.x + d) * p, t.y = t.depth * g + })) + } + return i + } + + function a(e) { + var n = e.children, + r = e.parent.children, + i = e.i ? r[e.i - 1] : null; + if (n) { + ! function(t) { + for (var e, n = 0, r = 0, i = t.children, a = i.length; --a >= 0;)(e = i[a]).z += n, e.m += n, n += e.s + (r += e.c) + }(e); + var a = (n[0].z + n[n.length - 1].z) / 2; + i ? (e.z = i.z + t(e._, i._), e.m = e.z - a) : e.z = a + } else i && (e.z = i.z + t(e._, i._)); + e.parent.A = function(e, n, r) { + if (n) { + for (var i, a = e, o = e, s = n, u = a.parent.children[0], c = a.m, f = o.m, l = s.m, h = u.m; s = Lp(s), a = Ip(a), s && a;) u = Ip(u), (o = Lp(o)).a = e, (i = s.z + l - a.z - c + t(s._, a._)) > 0 && (Bp(Op(s, e, r), e, i), c += i, f += i), l += s.m, c += a.m, h += u.m, f += o.m; + s && !Lp(o) && (o.t = s, o.m += l - f), a && !Ip(u) && (u.t = a, u.m += c - h, r = e) + } + return r + }(e, i, e.parent.A || r[0]) + } + + function o(t) { + t._.x = t.z + t.parent.m, t.m += t.parent.m + } + + function s(t) { + t.x *= e, t.y = t.depth * n + } + return i.separation = function(e) { + return arguments.length ? (t = e, i) : t + }, i.size = function(t) { + return arguments.length ? (r = !1, e = +t[0], n = +t[1], i) : r ? null : [e, n] + }, i.nodeSize = function(t) { + return arguments.length ? (r = !0, e = +t[0], n = +t[1], i) : r ? [e, n] : null + }, i + }, + Fp = function(t, e, n, r, i) { + for (var a, o = t.children, s = -1, u = o.length, c = t.value && (i - n) / t.value; ++s < u;)(a = o[s]).x0 = e, a.x1 = r, a.y0 = n, a.y1 = n += a.value * c + }, + qp = (1 + Math.sqrt(5)) / 2; + + function jp(t, e, n, r, i, a) { + for (var o, s, u, c, f, l, h, d, p, g, y, b = [], v = e.children, m = 0, _ = 0, w = v.length, x = e.value; m < w;) { + u = i - n, c = a - r; + do { + f = v[_++].value + } while (!f && _ < w); + for (l = h = f, y = f * f * (g = Math.max(c / u, u / c) / (x * t)), p = Math.max(h / y, y / l); _ < w; ++_) { + if (f += s = v[_].value, s < l && (l = s), s > h && (h = s), y = f * f * g, (d = Math.max(h / y, y / l)) > p) { + f -= s; + break + } + p = d + } + b.push(o = { + value: f, + dice: u < c, + children: v.slice(m, _) + }), o.dice ? kp(o, n, r, i, x ? r += c * f / x : a) : Fp(o, n, r, x ? n += u * f / x : i, a), x -= f, m = _ + } + return b + } + var Up = function t(e) { + function n(t, n, r, i, a) { + jp(e, t, n, r, i, a) + } + return n.ratio = function(e) { + return t((e = +e) > 1 ? e : 1) + }, n + }(qp), + zp = function() { + var t = Up, + e = !1, + n = 1, + r = 1, + i = [0], + a = gp, + o = gp, + s = gp, + u = gp, + c = gp; + + function f(t) { + return t.x0 = t.y0 = 0, t.x1 = n, t.y1 = r, t.eachBefore(l), i = [0], e && t.eachBefore(xp), t + } + + function l(e) { + var n = i[e.depth], + r = e.x0 + n, + f = e.y0 + n, + l = e.x1 - n, + h = e.y1 - n; + l < r && (r = l = (r + l) / 2), h < f && (f = h = (f + h) / 2), e.x0 = r, e.y0 = f, e.x1 = l, e.y1 = h, e.children && (n = i[e.depth + 1] = a(e) / 2, r += c(e) - n, f += o(e) - n, (l -= s(e) - n) < r && (r = l = (r + l) / 2), (h -= u(e) - n) < f && (f = h = (f + h) / 2), t(e, r, f, l, h)) + } + return f.round = function(t) { + return arguments.length ? (e = !!t, f) : e + }, f.size = function(t) { + return arguments.length ? (n = +t[0], r = +t[1], f) : [n, r] + }, f.tile = function(e) { + return arguments.length ? (t = pp(e), f) : t + }, f.padding = function(t) { + return arguments.length ? f.paddingInner(t).paddingOuter(t) : f.paddingInner() + }, f.paddingInner = function(t) { + return arguments.length ? (a = "function" == typeof t ? t : yp(+t), f) : a + }, f.paddingOuter = function(t) { + return arguments.length ? f.paddingTop(t).paddingRight(t).paddingBottom(t).paddingLeft(t) : f.paddingTop() + }, f.paddingTop = function(t) { + return arguments.length ? (o = "function" == typeof t ? t : yp(+t), f) : o + }, f.paddingRight = function(t) { + return arguments.length ? (s = "function" == typeof t ? t : yp(+t), f) : s + }, f.paddingBottom = function(t) { + return arguments.length ? (u = "function" == typeof t ? t : yp(+t), f) : u + }, f.paddingLeft = function(t) { + return arguments.length ? (c = "function" == typeof t ? t : yp(+t), f) : c + }, f + }, + Yp = function(t, e, n, r, i) { + var a, o, s = t.children, + u = s.length, + c = new Array(u + 1); + for (c[0] = o = a = 0; a < u; ++a) c[a + 1] = o += s[a].value; + ! function t(e, n, r, i, a, o, u) { + if (e >= n - 1) { + var f = s[e]; + return f.x0 = i, f.y0 = a, f.x1 = o, void(f.y1 = u) + } + var l = c[e], + h = r / 2 + l, + d = e + 1, + p = n - 1; + for (; d < p;) { + var g = d + p >>> 1; + c[g] < h ? d = g + 1 : p = g + } + h - c[d - 1] < c[d] - h && e + 1 < d && --d; + var y = c[d] - l, + b = r - y; + if (o - i > u - a) { + var v = (i * b + o * y) / r; + t(e, d, y, i, a, v, u), t(d, n, b, v, a, o, u) + } else { + var m = (a * b + u * y) / r; + t(e, d, y, i, a, o, m), t(d, n, b, i, m, o, u) + } + }(0, u, t.value, e, n, r, i) + }, + Vp = function(t, e, n, r, i) { + (1 & t.depth ? Fp : kp)(t, e, n, r, i) + }, + Hp = function t(e) { + function n(t, n, r, i, a) { + if ((o = t._squarify) && o.ratio === e) + for (var o, s, u, c, f, l = -1, h = o.length, d = t.value; ++l < h;) { + for (u = (s = o[l]).children, c = s.value = 0, f = u.length; c < f; ++c) s.value += u[c].value; + s.dice ? kp(s, n, r, i, r += (a - r) * s.value / d) : Fp(s, n, r, n += (i - n) * s.value / d, a), d -= s.value + } else t._squarify = o = jp(e, t, n, r, i, a), o.ratio = e + } + return n.ratio = function(e) { + return t((e = +e) > 1 ? e : 1) + }, n + }(qp), + Gp = function(t) { + var e = t.length; + return function(n) { + return t[Math.max(0, Math.min(e - 1, Math.floor(n * e)))] + } + }, + $p = function(t, e) { + var n = gn(+t, +e); + return function(t) { + var e = n(t); + return e - 360 * Math.floor(e / 360) + } + }, + Wp = function(t, e) { + return t = +t, e = +e, + function(n) { + return Math.round(t * (1 - n) + e * n) + } + }, + Kp = Math.SQRT2; + + function Xp(t) { + return ((t = Math.exp(t)) + 1 / t) / 2 + } + var Zp = function(t, e) { + var n, r, i = t[0], + a = t[1], + o = t[2], + s = e[0], + u = e[1], + c = e[2], + f = s - i, + l = u - a, + h = f * f + l * l; + if (h < 1e-12) r = Math.log(c / o) / Kp, n = function(t) { + return [i + t * f, a + t * l, o * Math.exp(Kp * t * r)] + }; + else { + var d = Math.sqrt(h), + p = (c * c - o * o + 4 * h) / (2 * o * 2 * d), + g = (c * c - o * o - 4 * h) / (2 * c * 2 * d), + y = Math.log(Math.sqrt(p * p + 1) - p), + b = Math.log(Math.sqrt(g * g + 1) - g); + r = (b - y) / Kp, n = function(t) { + var e, n = t * r, + s = Xp(y), + u = o / (2 * d) * (s * (e = Kp * n + y, ((e = Math.exp(2 * e)) - 1) / (e + 1)) - function(t) { + return ((t = Math.exp(t)) - 1 / t) / 2 + }(y)); + return [i + u * f, a + u * l, o * s / Xp(Kp * n + y)] + } + } + return n.duration = 1e3 * r, n + }; + + function Jp(t) { + return function(e, n) { + var r = t((e = sn(e)).h, (n = sn(n)).h), + i = bn(e.s, n.s), + a = bn(e.l, n.l), + o = bn(e.opacity, n.opacity); + return function(t) { + return e.h = r(t), e.s = i(t), e.l = a(t), e.opacity = o(t), e + "" + } + } + } + var Qp = Jp(gn), + tg = Jp(bn); + + function eg(t, e) { + var n = bn((t = Da(t)).l, (e = Da(e)).l), + r = bn(t.a, e.a), + i = bn(t.b, e.b), + a = bn(t.opacity, e.opacity); + return function(e) { + return t.l = n(e), t.a = r(e), t.b = i(e), t.opacity = a(e), t + "" + } + } + + function ng(t) { + return function(e, n) { + var r = t((e = Pa(e)).h, (n = Pa(n)).h), + i = bn(e.c, n.c), + a = bn(e.l, n.l), + o = bn(e.opacity, n.opacity); + return function(t) { + return e.h = r(t), e.c = i(t), e.l = a(t), e.opacity = o(t), e + "" + } + } + } + var rg = ng(gn), + ig = ng(bn); + + function ag(t) { + return function e(n) { + function r(e, r) { + var i = t((e = Ga(e)).h, (r = Ga(r)).h), + a = bn(e.s, r.s), + o = bn(e.l, r.l), + s = bn(e.opacity, r.opacity); + return function(t) { + return e.h = i(t), e.s = a(t), e.l = o(Math.pow(t, n)), e.opacity = s(t), e + "" + } + } + return n = +n, r.gamma = e, r + }(1) + } + var og = ag(gn), + sg = ag(bn); + + function ug(t, e) { + for (var n = 0, r = e.length - 1, i = e[0], a = new Array(r < 0 ? 0 : r); n < r;) a[n] = t(i, i = e[++n]); + return function(t) { + var e = Math.max(0, Math.min(r - 1, Math.floor(t *= r))); + return a[e](t - e) + } + } + var cg = function(t, e) { + for (var n = new Array(e), r = 0; r < e; ++r) n[r] = t(r / (e - 1)); + return n + }, + fg = function(t) { + for (var e, n = -1, r = t.length, i = t[r - 1], a = 0; ++n < r;) e = i, i = t[n], a += e[1] * i[0] - e[0] * i[1]; + return a / 2 + }, + lg = function(t) { + for (var e, n, r = -1, i = t.length, a = 0, o = 0, s = t[i - 1], u = 0; ++r < i;) e = s, s = t[r], u += n = e[0] * s[1] - s[0] * e[1], a += (e[0] + s[0]) * n, o += (e[1] + s[1]) * n; + return [a / (u *= 3), o / u] + }, + hg = function(t, e, n) { + return (e[0] - t[0]) * (n[1] - t[1]) - (e[1] - t[1]) * (n[0] - t[0]) + }; + + function dg(t, e) { + return t[0] - e[0] || t[1] - e[1] + } + + function pg(t) { + for (var e = t.length, n = [0, 1], r = 2, i = 2; i < e; ++i) { + for (; r > 1 && hg(t[n[r - 2]], t[n[r - 1]], t[i]) <= 0;) --r; + n[r++] = i + } + return n.slice(0, r) + } + var gg = function(t) { + if ((n = t.length) < 3) return null; + var e, n, r = new Array(n), + i = new Array(n); + for (e = 0; e < n; ++e) r[e] = [+t[e][0], +t[e][1], e]; + for (r.sort(dg), e = 0; e < n; ++e) i[e] = [r[e][0], -r[e][1]]; + var a = pg(r), + o = pg(i), + s = o[0] === a[0], + u = o[o.length - 1] === a[a.length - 1], + c = []; + for (e = a.length - 1; e >= 0; --e) c.push(t[r[a[e]][2]]); + for (e = +s; e < o.length - u; ++e) c.push(t[r[o[e]][2]]); + return c + }, + yg = function(t, e) { + for (var n, r, i = t.length, a = t[i - 1], o = e[0], s = e[1], u = a[0], c = a[1], f = !1, l = 0; l < i; ++l) n = (a = t[l])[0], (r = a[1]) > s != c > s && o < (u - n) * (s - r) / (c - r) + n && (f = !f), u = n, c = r; + return f + }, + bg = function(t) { + for (var e, n, r = -1, i = t.length, a = t[i - 1], o = a[0], s = a[1], u = 0; ++r < i;) e = o, n = s, e -= o = (a = t[r])[0], n -= s = a[1], u += Math.sqrt(e * e + n * n); + return u + }, + vg = function() { + return Math.random() + }, + mg = function t(e) { + function n(t, n) { + return t = null == t ? 0 : +t, n = null == n ? 1 : +n, 1 === arguments.length ? (n = t, t = 0) : n -= t, + function() { + return e() * n + t + } + } + return n.source = t, n + }(vg), + _g = function t(e) { + function n(t, n) { + var r, i; + return t = null == t ? 0 : +t, n = null == n ? 1 : +n, + function() { + var a; + if (null != r) a = r, r = null; + else + do { + r = 2 * e() - 1, a = 2 * e() - 1, i = r * r + a * a + } while (!i || i > 1); + return t + n * a * Math.sqrt(-2 * Math.log(i) / i) + } + } + return n.source = t, n + }(vg), + wg = function t(e) { + function n() { + var t = _g.source(e).apply(this, arguments); + return function() { + return Math.exp(t()) + } + } + return n.source = t, n + }(vg), + xg = function t(e) { + function n(t) { + return function() { + for (var n = 0, r = 0; r < t; ++r) n += e(); + return n + } + } + return n.source = t, n + }(vg), + kg = function t(e) { + function n(t) { + var n = xg.source(e)(t); + return function() { + return n() / t + } + } + return n.source = t, n + }(vg), + Eg = function t(e) { + function n(t) { + return function() { + return -Math.log(1 - e()) / t + } + } + return n.source = t, n + }(vg); + + function Ag(t, e) { + switch (arguments.length) { + case 0: + break; + case 1: + this.range(t); + break; + default: + this.range(e).domain(t) + } + return this + } + + function Sg(t, e) { + switch (arguments.length) { + case 0: + break; + case 1: + this.interpolator(t); + break; + default: + this.interpolator(e).domain(t) + } + return this + } + var Mg = Array.prototype, + Tg = Mg.map, + Dg = Mg.slice, + Cg = { + name: "implicit" + }; + + function Ng() { + var t = aa(), + e = [], + n = [], + r = Cg; + + function i(i) { + var a = i + "", + o = t.get(a); + if (!o) { + if (r !== Cg) return r; + t.set(a, o = e.push(i)) + } + return n[(o - 1) % n.length] + } + return i.domain = function(n) { + if (!arguments.length) return e.slice(); + e = [], t = aa(); + for (var r, a, o = -1, s = n.length; ++o < s;) t.has(a = (r = n[o]) + "") || t.set(a, e.push(r)); + return i + }, i.range = function(t) { + return arguments.length ? (n = Dg.call(t), i) : n.slice() + }, i.unknown = function(t) { + return arguments.length ? (r = t, i) : r + }, i.copy = function() { + return Ng(e, n).unknown(r) + }, Ag.apply(i, arguments), i + } + + function Ig() { + var t, e, n = Ng().unknown(void 0), + r = n.domain, + i = n.range, + a = [0, 1], + o = !1, + s = 0, + u = 0, + c = .5; + + function f() { + var n = r().length, + f = a[1] < a[0], + l = a[f - 0], + h = a[1 - f]; + t = (h - l) / Math.max(1, n - s + 2 * u), o && (t = Math.floor(t)), l += (h - l - t * (n - s)) * c, e = t * (1 - s), o && (l = Math.round(l), e = Math.round(e)); + var d = x(n).map((function(e) { + return l + t * e + })); + return i(f ? d.reverse() : d) + } + return delete n.unknown, n.domain = function(t) { + return arguments.length ? (r(t), f()) : r() + }, n.range = function(t) { + return arguments.length ? (a = [+t[0], +t[1]], f()) : a.slice() + }, n.rangeRound = function(t) { + return a = [+t[0], +t[1]], o = !0, f() + }, n.bandwidth = function() { + return e + }, n.step = function() { + return t + }, n.round = function(t) { + return arguments.length ? (o = !!t, f()) : o + }, n.padding = function(t) { + return arguments.length ? (s = Math.min(1, u = +t), f()) : s + }, n.paddingInner = function(t) { + return arguments.length ? (s = Math.min(1, t), f()) : s + }, n.paddingOuter = function(t) { + return arguments.length ? (u = +t, f()) : u + }, n.align = function(t) { + return arguments.length ? (c = Math.max(0, Math.min(1, t)), f()) : c + }, n.copy = function() { + return Ig(r(), a).round(o).paddingInner(s).paddingOuter(u).align(c) + }, Ag.apply(f(), arguments) + } + + function Lg() { + return function t(e) { + var n = e.copy; + return e.padding = e.paddingOuter, delete e.paddingInner, delete e.paddingOuter, e.copy = function() { + return t(n()) + }, e + }(Ig.apply(null, arguments).paddingInner(1)) + } + var Bg = function(t) { + return function() { + return t + } + }, + Og = function(t) { + return +t + }, + Rg = [0, 1]; + + function Pg(t) { + return t + } + + function Fg(t, e) { + return (e -= t = +t) ? function(n) { + return (n - t) / e + } : Bg(isNaN(e) ? NaN : .5) + } + + function qg(t) { + var e, n = t[0], + r = t[t.length - 1]; + return n > r && (e = n, n = r, r = e), + function(t) { + return Math.max(n, Math.min(r, t)) + } + } + + function jg(t, e, n) { + var r = t[0], + i = t[1], + a = e[0], + o = e[1]; + return i < r ? (r = Fg(i, r), a = n(o, a)) : (r = Fg(r, i), a = n(a, o)), + function(t) { + return a(r(t)) + } + } + + function Ug(t, e, n) { + var r = Math.min(t.length, e.length) - 1, + i = new Array(r), + a = new Array(r), + o = -1; + for (t[r] < t[0] && (t = t.slice().reverse(), e = e.slice().reverse()); ++o < r;) i[o] = Fg(t[o], t[o + 1]), a[o] = n(e[o], e[o + 1]); + return function(e) { + var n = u(t, e, 1, r) - 1; + return a[n](i[n](e)) + } + } + + function zg(t, e) { + return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown()) + } + + function Yg() { + var t, e, n, r, i, a, o = Rg, + s = Rg, + u = Bn, + c = Pg; + + function f() { + return r = Math.min(o.length, s.length) > 2 ? Ug : jg, i = a = null, l + } + + function l(e) { + return isNaN(e = +e) ? n : (i || (i = r(o.map(t), s, u)))(t(c(e))) + } + return l.invert = function(n) { + return c(e((a || (a = r(s, o.map(t), Mn)))(n))) + }, l.domain = function(t) { + return arguments.length ? (o = Tg.call(t, Og), c === Pg || (c = qg(o)), f()) : o.slice() + }, l.range = function(t) { + return arguments.length ? (s = Dg.call(t), f()) : s.slice() + }, l.rangeRound = function(t) { + return s = Dg.call(t), u = Wp, f() + }, l.clamp = function(t) { + return arguments.length ? (c = t ? qg(o) : Pg, l) : c !== Pg + }, l.interpolate = function(t) { + return arguments.length ? (u = t, f()) : u + }, l.unknown = function(t) { + return arguments.length ? (n = t, l) : n + }, + function(n, r) { + return t = n, e = r, f() + } + } + + function Vg(t, e) { + return Yg()(t, e) + } + var Hg = function(t, e, n, r) { + var i, a = T(t, e, n); + switch ((r = xu(null == r ? ",f" : r)).type) { + case "s": + var o = Math.max(Math.abs(t), Math.abs(e)); + return null != r.precision || isNaN(i = Pu(a, o)) || (r.precision = i), Mu(r, o); + case "": + case "e": + case "g": + case "p": + case "r": + null != r.precision || isNaN(i = Fu(a, Math.max(Math.abs(t), Math.abs(e)))) || (r.precision = i - ("e" === r.type)); + break; + case "f": + case "%": + null != r.precision || isNaN(i = Ru(a)) || (r.precision = i - 2 * ("%" === r.type)) + } + return Su(r) + }; + + function Gg(t) { + var e = t.domain; + return t.ticks = function(t) { + var n = e(); + return S(n[0], n[n.length - 1], null == t ? 10 : t) + }, t.tickFormat = function(t, n) { + var r = e(); + return Hg(r[0], r[r.length - 1], null == t ? 10 : t, n) + }, t.nice = function(n) { + null == n && (n = 10); + var r, i = e(), + a = 0, + o = i.length - 1, + s = i[a], + u = i[o]; + return u < s && (r = s, s = u, u = r, r = a, a = o, o = r), (r = M(s, u, n)) > 0 ? r = M(s = Math.floor(s / r) * r, u = Math.ceil(u / r) * r, n) : r < 0 && (r = M(s = Math.ceil(s * r) / r, u = Math.floor(u * r) / r, n)), r > 0 ? (i[a] = Math.floor(s / r) * r, i[o] = Math.ceil(u / r) * r, e(i)) : r < 0 && (i[a] = Math.ceil(s * r) / r, i[o] = Math.floor(u * r) / r, e(i)), t + }, t + } + + function $g() { + var t = Vg(Pg, Pg); + return t.copy = function() { + return zg(t, $g()) + }, Ag.apply(t, arguments), Gg(t) + } + + function Wg(t) { + var e; + + function n(t) { + return isNaN(t = +t) ? e : t + } + return n.invert = n, n.domain = n.range = function(e) { + return arguments.length ? (t = Tg.call(e, Og), n) : t.slice() + }, n.unknown = function(t) { + return arguments.length ? (e = t, n) : e + }, n.copy = function() { + return Wg(t).unknown(e) + }, t = arguments.length ? Tg.call(t, Og) : [0, 1], Gg(n) + } + var Kg = function(t, e) { + var n, r = 0, + i = (t = t.slice()).length - 1, + a = t[r], + o = t[i]; + return o < a && (n = r, r = i, i = n, n = a, a = o, o = n), t[r] = e.floor(a), t[i] = e.ceil(o), t + }; + + function Xg(t) { + return Math.log(t) + } + + function Zg(t) { + return Math.exp(t) + } + + function Jg(t) { + return -Math.log(-t) + } + + function Qg(t) { + return -Math.exp(-t) + } + + function ty(t) { + return isFinite(t) ? +("1e" + t) : t < 0 ? 0 : t + } + + function ey(t) { + return function(e) { + return -t(-e) + } + } + + function ny(t) { + var e, n, r = t(Xg, Zg), + i = r.domain, + a = 10; + + function o() { + return e = function(t) { + return t === Math.E ? Math.log : 10 === t && Math.log10 || 2 === t && Math.log2 || (t = Math.log(t), function(e) { + return Math.log(e) / t + }) + }(a), n = function(t) { + return 10 === t ? ty : t === Math.E ? Math.exp : function(e) { + return Math.pow(t, e) + } + }(a), i()[0] < 0 ? (e = ey(e), n = ey(n), t(Jg, Qg)) : t(Xg, Zg), r + } + return r.base = function(t) { + return arguments.length ? (a = +t, o()) : a + }, r.domain = function(t) { + return arguments.length ? (i(t), o()) : i() + }, r.ticks = function(t) { + var r, o = i(), + s = o[0], + u = o[o.length - 1]; + (r = u < s) && (h = s, s = u, u = h); + var c, f, l, h = e(s), + d = e(u), + p = null == t ? 10 : +t, + g = []; + if (!(a % 1) && d - h < p) { + if (h = Math.round(h) - 1, d = Math.round(d) + 1, s > 0) { + for (; h < d; ++h) + for (f = 1, c = n(h); f < a; ++f) + if (!((l = c * f) < s)) { + if (l > u) break; + g.push(l) + } + } else + for (; h < d; ++h) + for (f = a - 1, c = n(h); f >= 1; --f) + if (!((l = c * f) < s)) { + if (l > u) break; + g.push(l) + } + } else g = S(h, d, Math.min(d - h, p)).map(n); + return r ? g.reverse() : g + }, r.tickFormat = function(t, i) { + if (null == i && (i = 10 === a ? ".0e" : ","), "function" != typeof i && (i = Su(i)), t === 1 / 0) return i; + null == t && (t = 10); + var o = Math.max(1, a * t / r.ticks().length); + return function(t) { + var r = t / n(Math.round(e(t))); + return r * a < a - .5 && (r *= a), r <= o ? i(t) : "" + } + }, r.nice = function() { + return i(Kg(i(), { + floor: function(t) { + return n(Math.floor(e(t))) + }, + ceil: function(t) { + return n(Math.ceil(e(t))) + } + })) + }, r + } + + function ry() { + var t = ny(Yg()).domain([1, 10]); + return t.copy = function() { + return zg(t, ry()).base(t.base()) + }, Ag.apply(t, arguments), t + } + + function iy(t) { + return function(e) { + return Math.sign(e) * Math.log1p(Math.abs(e / t)) + } + } + + function ay(t) { + return function(e) { + return Math.sign(e) * Math.expm1(Math.abs(e)) * t + } + } + + function oy(t) { + var e = 1, + n = t(iy(e), ay(e)); + return n.constant = function(n) { + return arguments.length ? t(iy(e = +n), ay(e)) : e + }, Gg(n) + } + + function sy() { + var t = oy(Yg()); + return t.copy = function() { + return zg(t, sy()).constant(t.constant()) + }, Ag.apply(t, arguments) + } + + function uy(t) { + return function(e) { + return e < 0 ? -Math.pow(-e, t) : Math.pow(e, t) + } + } + + function cy(t) { + return t < 0 ? -Math.sqrt(-t) : Math.sqrt(t) + } + + function fy(t) { + return t < 0 ? -t * t : t * t + } + + function ly(t) { + var e = t(Pg, Pg), + n = 1; + + function r() { + return 1 === n ? t(Pg, Pg) : .5 === n ? t(cy, fy) : t(uy(n), uy(1 / n)) + } + return e.exponent = function(t) { + return arguments.length ? (n = +t, r()) : n + }, Gg(e) + } + + function hy() { + var t = ly(Yg()); + return t.copy = function() { + return zg(t, hy()).exponent(t.exponent()) + }, Ag.apply(t, arguments), t + } + + function dy() { + return hy.apply(null, arguments).exponent(.5) + } + + function py() { + var t, e = [], + n = [], + i = []; + + function a() { + var t = 0, + r = Math.max(1, n.length); + for (i = new Array(r - 1); ++t < r;) i[t - 1] = N(e, t / r); + return o + } + + function o(e) { + return isNaN(e = +e) ? t : n[u(i, e)] + } + return o.invertExtent = function(t) { + var r = n.indexOf(t); + return r < 0 ? [NaN, NaN] : [r > 0 ? i[r - 1] : e[0], r < i.length ? i[r] : e[e.length - 1]] + }, o.domain = function(t) { + if (!arguments.length) return e.slice(); + e = []; + for (var n, i = 0, o = t.length; i < o; ++i) null == (n = t[i]) || isNaN(n = +n) || e.push(n); + return e.sort(r), a() + }, o.range = function(t) { + return arguments.length ? (n = Dg.call(t), a()) : n.slice() + }, o.unknown = function(e) { + return arguments.length ? (t = e, o) : t + }, o.quantiles = function() { + return i.slice() + }, o.copy = function() { + return py().domain(e).range(n).unknown(t) + }, Ag.apply(o, arguments) + } + + function gy() { + var t, e = 0, + n = 1, + r = 1, + i = [.5], + a = [0, 1]; + + function o(e) { + return e <= e ? a[u(i, e, 0, r)] : t + } + + function s() { + var t = -1; + for (i = new Array(r); ++t < r;) i[t] = ((t + 1) * n - (t - r) * e) / (r + 1); + return o + } + return o.domain = function(t) { + return arguments.length ? (e = +t[0], n = +t[1], s()) : [e, n] + }, o.range = function(t) { + return arguments.length ? (r = (a = Dg.call(t)).length - 1, s()) : a.slice() + }, o.invertExtent = function(t) { + var o = a.indexOf(t); + return o < 0 ? [NaN, NaN] : o < 1 ? [e, i[0]] : o >= r ? [i[r - 1], n] : [i[o - 1], i[o]] + }, o.unknown = function(e) { + return arguments.length ? (t = e, o) : o + }, o.thresholds = function() { + return i.slice() + }, o.copy = function() { + return gy().domain([e, n]).range(a).unknown(t) + }, Ag.apply(Gg(o), arguments) + } + + function yy() { + var t, e = [.5], + n = [0, 1], + r = 1; + + function i(i) { + return i <= i ? n[u(e, i, 0, r)] : t + } + return i.domain = function(t) { + return arguments.length ? (e = Dg.call(t), r = Math.min(e.length, n.length - 1), i) : e.slice() + }, i.range = function(t) { + return arguments.length ? (n = Dg.call(t), r = Math.min(e.length, n.length - 1), i) : n.slice() + }, i.invertExtent = function(t) { + var r = n.indexOf(t); + return [e[r - 1], e[r]] + }, i.unknown = function(e) { + return arguments.length ? (t = e, i) : t + }, i.copy = function() { + return yy().domain(e).range(n).unknown(t) + }, Ag.apply(i, arguments) + } + var by = new Date, + vy = new Date; + + function my(t, e, n, r) { + function i(e) { + return t(e = 0 === arguments.length ? new Date : new Date(+e)), e + } + return i.floor = function(e) { + return t(e = new Date(+e)), e + }, i.ceil = function(n) { + return t(n = new Date(n - 1)), e(n, 1), t(n), n + }, i.round = function(t) { + var e = i(t), + n = i.ceil(t); + return t - e < n - t ? e : n + }, i.offset = function(t, n) { + return e(t = new Date(+t), null == n ? 1 : Math.floor(n)), t + }, i.range = function(n, r, a) { + var o, s = []; + if (n = i.ceil(n), a = null == a ? 1 : Math.floor(a), !(n < r && a > 0)) return s; + do { + s.push(o = new Date(+n)), e(n, a), t(n) + } while (o < n && n < r); + return s + }, i.filter = function(n) { + return my((function(e) { + if (e >= e) + for (; t(e), !n(e);) e.setTime(e - 1) + }), (function(t, r) { + if (t >= t) + if (r < 0) + for (; ++r <= 0;) + for (; e(t, -1), !n(t);); + else + for (; --r >= 0;) + for (; e(t, 1), !n(t);); + })) + }, n && (i.count = function(e, r) { + return by.setTime(+e), vy.setTime(+r), t(by), t(vy), Math.floor(n(by, vy)) + }, i.every = function(t) { + return t = Math.floor(t), isFinite(t) && t > 0 ? t > 1 ? i.filter(r ? function(e) { + return r(e) % t == 0 + } : function(e) { + return i.count(0, e) % t == 0 + }) : i : null + }), i + } + var _y = my((function(t) { + t.setMonth(0, 1), t.setHours(0, 0, 0, 0) + }), (function(t, e) { + t.setFullYear(t.getFullYear() + e) + }), (function(t, e) { + return e.getFullYear() - t.getFullYear() + }), (function(t) { + return t.getFullYear() + })); + _y.every = function(t) { + return isFinite(t = Math.floor(t)) && t > 0 ? my((function(e) { + e.setFullYear(Math.floor(e.getFullYear() / t) * t), e.setMonth(0, 1), e.setHours(0, 0, 0, 0) + }), (function(e, n) { + e.setFullYear(e.getFullYear() + n * t) + })) : null + }; + var wy = _y, + xy = _y.range, + ky = my((function(t) { + t.setDate(1), t.setHours(0, 0, 0, 0) + }), (function(t, e) { + t.setMonth(t.getMonth() + e) + }), (function(t, e) { + return e.getMonth() - t.getMonth() + 12 * (e.getFullYear() - t.getFullYear()) + }), (function(t) { + return t.getMonth() + })), + Ey = ky, + Ay = ky.range, + Sy = 6e4, + My = 6048e5; + + function Ty(t) { + return my((function(e) { + e.setDate(e.getDate() - (e.getDay() + 7 - t) % 7), e.setHours(0, 0, 0, 0) + }), (function(t, e) { + t.setDate(t.getDate() + 7 * e) + }), (function(t, e) { + return (e - t - (e.getTimezoneOffset() - t.getTimezoneOffset()) * Sy) / My + })) + } + var Dy = Ty(0), + Cy = Ty(1), + Ny = Ty(2), + Iy = Ty(3), + Ly = Ty(4), + By = Ty(5), + Oy = Ty(6), + Ry = Dy.range, + Py = Cy.range, + Fy = Ny.range, + qy = Iy.range, + jy = Ly.range, + Uy = By.range, + zy = Oy.range, + Yy = my((function(t) { + t.setHours(0, 0, 0, 0) + }), (function(t, e) { + t.setDate(t.getDate() + e) + }), (function(t, e) { + return (e - t - (e.getTimezoneOffset() - t.getTimezoneOffset()) * Sy) / 864e5 + }), (function(t) { + return t.getDate() - 1 + })), + Vy = Yy, + Hy = Yy.range, + Gy = my((function(t) { + t.setTime(t - t.getMilliseconds() - 1e3 * t.getSeconds() - t.getMinutes() * Sy) + }), (function(t, e) { + t.setTime(+t + 36e5 * e) + }), (function(t, e) { + return (e - t) / 36e5 + }), (function(t) { + return t.getHours() + })), + $y = Gy, + Wy = Gy.range, + Ky = my((function(t) { + t.setTime(t - t.getMilliseconds() - 1e3 * t.getSeconds()) + }), (function(t, e) { + t.setTime(+t + e * Sy) + }), (function(t, e) { + return (e - t) / Sy + }), (function(t) { + return t.getMinutes() + })), + Xy = Ky, + Zy = Ky.range, + Jy = my((function(t) { + t.setTime(t - t.getMilliseconds()) + }), (function(t, e) { + t.setTime(+t + 1e3 * e) + }), (function(t, e) { + return (e - t) / 1e3 + }), (function(t) { + return t.getUTCSeconds() + })), + Qy = Jy, + tb = Jy.range, + eb = my((function() {}), (function(t, e) { + t.setTime(+t + e) + }), (function(t, e) { + return e - t + })); + eb.every = function(t) { + return t = Math.floor(t), isFinite(t) && t > 0 ? t > 1 ? my((function(e) { + e.setTime(Math.floor(e / t) * t) + }), (function(e, n) { + e.setTime(+e + n * t) + }), (function(e, n) { + return (n - e) / t + })) : eb : null + }; + var nb = eb, + rb = eb.range; + + function ib(t) { + return my((function(e) { + e.setUTCDate(e.getUTCDate() - (e.getUTCDay() + 7 - t) % 7), e.setUTCHours(0, 0, 0, 0) + }), (function(t, e) { + t.setUTCDate(t.getUTCDate() + 7 * e) + }), (function(t, e) { + return (e - t) / My + })) + } + var ab = ib(0), + ob = ib(1), + sb = ib(2), + ub = ib(3), + cb = ib(4), + fb = ib(5), + lb = ib(6), + hb = ab.range, + db = ob.range, + pb = sb.range, + gb = ub.range, + yb = cb.range, + bb = fb.range, + vb = lb.range, + mb = my((function(t) { + t.setUTCHours(0, 0, 0, 0) + }), (function(t, e) { + t.setUTCDate(t.getUTCDate() + e) + }), (function(t, e) { + return (e - t) / 864e5 + }), (function(t) { + return t.getUTCDate() - 1 + })), + _b = mb, + wb = mb.range, + xb = my((function(t) { + t.setUTCMonth(0, 1), t.setUTCHours(0, 0, 0, 0) + }), (function(t, e) { + t.setUTCFullYear(t.getUTCFullYear() + e) + }), (function(t, e) { + return e.getUTCFullYear() - t.getUTCFullYear() + }), (function(t) { + return t.getUTCFullYear() + })); + xb.every = function(t) { + return isFinite(t = Math.floor(t)) && t > 0 ? my((function(e) { + e.setUTCFullYear(Math.floor(e.getUTCFullYear() / t) * t), e.setUTCMonth(0, 1), e.setUTCHours(0, 0, 0, 0) + }), (function(e, n) { + e.setUTCFullYear(e.getUTCFullYear() + n * t) + })) : null + }; + var kb = xb, + Eb = xb.range; + + function Ab(t) { + if (0 <= t.y && t.y < 100) { + var e = new Date(-1, t.m, t.d, t.H, t.M, t.S, t.L); + return e.setFullYear(t.y), e + } + return new Date(t.y, t.m, t.d, t.H, t.M, t.S, t.L) + } + + function Sb(t) { + if (0 <= t.y && t.y < 100) { + var e = new Date(Date.UTC(-1, t.m, t.d, t.H, t.M, t.S, t.L)); + return e.setUTCFullYear(t.y), e + } + return new Date(Date.UTC(t.y, t.m, t.d, t.H, t.M, t.S, t.L)) + } + + function Mb(t, e, n) { + return { + y: t, + m: e, + d: n, + H: 0, + M: 0, + S: 0, + L: 0 + } + } + + function Tb(t) { + var e = t.dateTime, + n = t.date, + r = t.time, + i = t.periods, + a = t.days, + o = t.shortDays, + s = t.months, + u = t.shortMonths, + c = jb(i), + f = Ub(i), + l = jb(a), + h = Ub(a), + d = jb(o), + p = Ub(o), + g = jb(s), + y = Ub(s), + b = jb(u), + v = Ub(u), + m = { + a: function(t) { + return o[t.getDay()] + }, + A: function(t) { + return a[t.getDay()] + }, + b: function(t) { + return u[t.getMonth()] + }, + B: function(t) { + return s[t.getMonth()] + }, + c: null, + d: uv, + e: uv, + f: dv, + H: cv, + I: fv, + j: lv, + L: hv, + m: pv, + M: gv, + p: function(t) { + return i[+(t.getHours() >= 12)] + }, + q: function(t) { + return 1 + ~~(t.getMonth() / 3) + }, + Q: Yv, + s: Vv, + S: yv, + u: bv, + U: vv, + V: mv, + w: _v, + W: wv, + x: null, + X: null, + y: xv, + Y: kv, + Z: Ev, + "%": zv + }, + _ = { + a: function(t) { + return o[t.getUTCDay()] + }, + A: function(t) { + return a[t.getUTCDay()] + }, + b: function(t) { + return u[t.getUTCMonth()] + }, + B: function(t) { + return s[t.getUTCMonth()] + }, + c: null, + d: Av, + e: Av, + f: Cv, + H: Sv, + I: Mv, + j: Tv, + L: Dv, + m: Nv, + M: Iv, + p: function(t) { + return i[+(t.getUTCHours() >= 12)] + }, + q: function(t) { + return 1 + ~~(t.getUTCMonth() / 3) + }, + Q: Yv, + s: Vv, + S: Lv, + u: Bv, + U: Ov, + V: Rv, + w: Pv, + W: Fv, + x: null, + X: null, + y: qv, + Y: jv, + Z: Uv, + "%": zv + }, + w = { + a: function(t, e, n) { + var r = d.exec(e.slice(n)); + return r ? (t.w = p[r[0].toLowerCase()], n + r[0].length) : -1 + }, + A: function(t, e, n) { + var r = l.exec(e.slice(n)); + return r ? (t.w = h[r[0].toLowerCase()], n + r[0].length) : -1 + }, + b: function(t, e, n) { + var r = b.exec(e.slice(n)); + return r ? (t.m = v[r[0].toLowerCase()], n + r[0].length) : -1 + }, + B: function(t, e, n) { + var r = g.exec(e.slice(n)); + return r ? (t.m = y[r[0].toLowerCase()], n + r[0].length) : -1 + }, + c: function(t, n, r) { + return E(t, e, n, r) + }, + d: Jb, + e: Jb, + f: iv, + H: tv, + I: tv, + j: Qb, + L: rv, + m: Zb, + M: ev, + p: function(t, e, n) { + var r = c.exec(e.slice(n)); + return r ? (t.p = f[r[0].toLowerCase()], n + r[0].length) : -1 + }, + q: Xb, + Q: ov, + s: sv, + S: nv, + u: Yb, + U: Vb, + V: Hb, + w: zb, + W: Gb, + x: function(t, e, r) { + return E(t, n, e, r) + }, + X: function(t, e, n) { + return E(t, r, e, n) + }, + y: Wb, + Y: $b, + Z: Kb, + "%": av + }; + + function x(t, e) { + return function(n) { + var r, i, a, o = [], + s = -1, + u = 0, + c = t.length; + for (n instanceof Date || (n = new Date(+n)); ++s < c;) 37 === t.charCodeAt(s) && (o.push(t.slice(u, s)), null != (i = Bb[r = t.charAt(++s)]) ? r = t.charAt(++s) : i = "e" === r ? " " : "0", (a = e[r]) && (r = a(n, i)), o.push(r), u = s + 1); + return o.push(t.slice(u, s)), o.join("") + } + } + + function k(t, e) { + return function(n) { + var r, i, a = Mb(1900, void 0, 1); + if (E(a, t, n += "", 0) != n.length) return null; + if ("Q" in a) return new Date(a.Q); + if ("s" in a) return new Date(1e3 * a.s + ("L" in a ? a.L : 0)); + if (!e || "Z" in a || (a.Z = 0), "p" in a && (a.H = a.H % 12 + 12 * a.p), void 0 === a.m && (a.m = "q" in a ? a.q : 0), "V" in a) { + if (a.V < 1 || a.V > 53) return null; + "w" in a || (a.w = 1), "Z" in a ? (i = (r = Sb(Mb(a.y, 0, 1))).getUTCDay(), r = i > 4 || 0 === i ? ob.ceil(r) : ob(r), r = _b.offset(r, 7 * (a.V - 1)), a.y = r.getUTCFullYear(), a.m = r.getUTCMonth(), a.d = r.getUTCDate() + (a.w + 6) % 7) : (i = (r = Ab(Mb(a.y, 0, 1))).getDay(), r = i > 4 || 0 === i ? Cy.ceil(r) : Cy(r), r = Vy.offset(r, 7 * (a.V - 1)), a.y = r.getFullYear(), a.m = r.getMonth(), a.d = r.getDate() + (a.w + 6) % 7) + } else("W" in a || "U" in a) && ("w" in a || (a.w = "u" in a ? a.u % 7 : "W" in a ? 1 : 0), i = "Z" in a ? Sb(Mb(a.y, 0, 1)).getUTCDay() : Ab(Mb(a.y, 0, 1)).getDay(), a.m = 0, a.d = "W" in a ? (a.w + 6) % 7 + 7 * a.W - (i + 5) % 7 : a.w + 7 * a.U - (i + 6) % 7); + return "Z" in a ? (a.H += a.Z / 100 | 0, a.M += a.Z % 100, Sb(a)) : Ab(a) + } + } + + function E(t, e, n, r) { + for (var i, a, o = 0, s = e.length, u = n.length; o < s;) { + if (r >= u) return -1; + if (37 === (i = e.charCodeAt(o++))) { + if (i = e.charAt(o++), !(a = w[i in Bb ? e.charAt(o++) : i]) || (r = a(t, n, r)) < 0) return -1 + } else if (i != n.charCodeAt(r++)) return -1 + } + return r + } + return (m.x = x(n, m), m.X = x(r, m), m.c = x(e, m), _.x = x(n, _), _.X = x(r, _), _.c = x(e, _), { + format: function(t) { + var e = x(t += "", m); + return e.toString = function() { + return t + }, e + }, + parse: function(t) { + var e = k(t += "", !1); + return e.toString = function() { + return t + }, e + }, + utcFormat: function(t) { + var e = x(t += "", _); + return e.toString = function() { + return t + }, e + }, + utcParse: function(t) { + var e = k(t += "", !0); + return e.toString = function() { + return t + }, e + } + }) + } + var Db, Cb, Nb, Ib, Lb, Bb = { + "-": "", + _: " ", + 0: "0" + }, + Ob = /^\s*\d+/, + Rb = /^%/, + Pb = /[\\^$*+?|[\]().{}]/g; + + function Fb(t, e, n) { + var r = t < 0 ? "-" : "", + i = (r ? -t : t) + "", + a = i.length; + return r + (a < n ? new Array(n - a + 1).join(e) + i : i) + } + + function qb(t) { + return t.replace(Pb, "\\$&") + } + + function jb(t) { + return new RegExp("^(?:" + t.map(qb).join("|") + ")", "i") + } + + function Ub(t) { + for (var e = {}, n = -1, r = t.length; ++n < r;) e[t[n].toLowerCase()] = n; + return e + } + + function zb(t, e, n) { + var r = Ob.exec(e.slice(n, n + 1)); + return r ? (t.w = +r[0], n + r[0].length) : -1 + } + + function Yb(t, e, n) { + var r = Ob.exec(e.slice(n, n + 1)); + return r ? (t.u = +r[0], n + r[0].length) : -1 + } + + function Vb(t, e, n) { + var r = Ob.exec(e.slice(n, n + 2)); + return r ? (t.U = +r[0], n + r[0].length) : -1 + } + + function Hb(t, e, n) { + var r = Ob.exec(e.slice(n, n + 2)); + return r ? (t.V = +r[0], n + r[0].length) : -1 + } + + function Gb(t, e, n) { + var r = Ob.exec(e.slice(n, n + 2)); + return r ? (t.W = +r[0], n + r[0].length) : -1 + } + + function $b(t, e, n) { + var r = Ob.exec(e.slice(n, n + 4)); + return r ? (t.y = +r[0], n + r[0].length) : -1 + } + + function Wb(t, e, n) { + var r = Ob.exec(e.slice(n, n + 2)); + return r ? (t.y = +r[0] + (+r[0] > 68 ? 1900 : 2e3), n + r[0].length) : -1 + } + + function Kb(t, e, n) { + var r = /^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n, n + 6)); + return r ? (t.Z = r[1] ? 0 : -(r[2] + (r[3] || "00")), n + r[0].length) : -1 + } + + function Xb(t, e, n) { + var r = Ob.exec(e.slice(n, n + 1)); + return r ? (t.q = 3 * r[0] - 3, n + r[0].length) : -1 + } + + function Zb(t, e, n) { + var r = Ob.exec(e.slice(n, n + 2)); + return r ? (t.m = r[0] - 1, n + r[0].length) : -1 + } + + function Jb(t, e, n) { + var r = Ob.exec(e.slice(n, n + 2)); + return r ? (t.d = +r[0], n + r[0].length) : -1 + } + + function Qb(t, e, n) { + var r = Ob.exec(e.slice(n, n + 3)); + return r ? (t.m = 0, t.d = +r[0], n + r[0].length) : -1 + } + + function tv(t, e, n) { + var r = Ob.exec(e.slice(n, n + 2)); + return r ? (t.H = +r[0], n + r[0].length) : -1 + } + + function ev(t, e, n) { + var r = Ob.exec(e.slice(n, n + 2)); + return r ? (t.M = +r[0], n + r[0].length) : -1 + } + + function nv(t, e, n) { + var r = Ob.exec(e.slice(n, n + 2)); + return r ? (t.S = +r[0], n + r[0].length) : -1 + } + + function rv(t, e, n) { + var r = Ob.exec(e.slice(n, n + 3)); + return r ? (t.L = +r[0], n + r[0].length) : -1 + } + + function iv(t, e, n) { + var r = Ob.exec(e.slice(n, n + 6)); + return r ? (t.L = Math.floor(r[0] / 1e3), n + r[0].length) : -1 + } + + function av(t, e, n) { + var r = Rb.exec(e.slice(n, n + 1)); + return r ? n + r[0].length : -1 + } + + function ov(t, e, n) { + var r = Ob.exec(e.slice(n)); + return r ? (t.Q = +r[0], n + r[0].length) : -1 + } + + function sv(t, e, n) { + var r = Ob.exec(e.slice(n)); + return r ? (t.s = +r[0], n + r[0].length) : -1 + } + + function uv(t, e) { + return Fb(t.getDate(), e, 2) + } + + function cv(t, e) { + return Fb(t.getHours(), e, 2) + } + + function fv(t, e) { + return Fb(t.getHours() % 12 || 12, e, 2) + } + + function lv(t, e) { + return Fb(1 + Vy.count(wy(t), t), e, 3) + } + + function hv(t, e) { + return Fb(t.getMilliseconds(), e, 3) + } + + function dv(t, e) { + return hv(t, e) + "000" + } + + function pv(t, e) { + return Fb(t.getMonth() + 1, e, 2) + } + + function gv(t, e) { + return Fb(t.getMinutes(), e, 2) + } + + function yv(t, e) { + return Fb(t.getSeconds(), e, 2) + } + + function bv(t) { + var e = t.getDay(); + return 0 === e ? 7 : e + } + + function vv(t, e) { + return Fb(Dy.count(wy(t) - 1, t), e, 2) + } + + function mv(t, e) { + var n = t.getDay(); + return t = n >= 4 || 0 === n ? Ly(t) : Ly.ceil(t), Fb(Ly.count(wy(t), t) + (4 === wy(t).getDay()), e, 2) + } + + function _v(t) { + return t.getDay() + } + + function wv(t, e) { + return Fb(Cy.count(wy(t) - 1, t), e, 2) + } + + function xv(t, e) { + return Fb(t.getFullYear() % 100, e, 2) + } + + function kv(t, e) { + return Fb(t.getFullYear() % 1e4, e, 4) + } + + function Ev(t) { + var e = t.getTimezoneOffset(); + return (e > 0 ? "-" : (e *= -1, "+")) + Fb(e / 60 | 0, "0", 2) + Fb(e % 60, "0", 2) + } + + function Av(t, e) { + return Fb(t.getUTCDate(), e, 2) + } + + function Sv(t, e) { + return Fb(t.getUTCHours(), e, 2) + } + + function Mv(t, e) { + return Fb(t.getUTCHours() % 12 || 12, e, 2) + } + + function Tv(t, e) { + return Fb(1 + _b.count(kb(t), t), e, 3) + } + + function Dv(t, e) { + return Fb(t.getUTCMilliseconds(), e, 3) + } + + function Cv(t, e) { + return Dv(t, e) + "000" + } + + function Nv(t, e) { + return Fb(t.getUTCMonth() + 1, e, 2) + } + + function Iv(t, e) { + return Fb(t.getUTCMinutes(), e, 2) + } + + function Lv(t, e) { + return Fb(t.getUTCSeconds(), e, 2) + } + + function Bv(t) { + var e = t.getUTCDay(); + return 0 === e ? 7 : e + } + + function Ov(t, e) { + return Fb(ab.count(kb(t) - 1, t), e, 2) + } + + function Rv(t, e) { + var n = t.getUTCDay(); + return t = n >= 4 || 0 === n ? cb(t) : cb.ceil(t), Fb(cb.count(kb(t), t) + (4 === kb(t).getUTCDay()), e, 2) + } + + function Pv(t) { + return t.getUTCDay() + } + + function Fv(t, e) { + return Fb(ob.count(kb(t) - 1, t), e, 2) + } + + function qv(t, e) { + return Fb(t.getUTCFullYear() % 100, e, 2) + } + + function jv(t, e) { + return Fb(t.getUTCFullYear() % 1e4, e, 4) + } + + function Uv() { + return "+0000" + } + + function zv() { + return "%" + } + + function Yv(t) { + return +t + } + + function Vv(t) { + return Math.floor(+t / 1e3) + } + + function Hv(t) { + return Db = Tb(t), Cb = Db.format, Nb = Db.parse, Ib = Db.utcFormat, Lb = Db.utcParse, Db + } + Hv({ + dateTime: "%x, %X", + date: "%-m/%-d/%Y", + time: "%-I:%M:%S %p", + periods: ["AM", "PM"], + days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], + shortDays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], + months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], + shortMonths: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] + }); + var Gv = 1e3, + $v = 60 * Gv, + Wv = 60 * $v, + Kv = 24 * Wv, + Xv = 7 * Kv, + Zv = 30 * Kv, + Jv = 365 * Kv; + + function Qv(t) { + return new Date(t) + } + + function tm(t) { + return t instanceof Date ? +t : +new Date(+t) + } + + function em(t, e, n, r, a, o, s, u, c) { + var f = Vg(Pg, Pg), + l = f.invert, + h = f.domain, + d = c(".%L"), + p = c(":%S"), + g = c("%I:%M"), + y = c("%I %p"), + b = c("%a %d"), + v = c("%b %d"), + m = c("%B"), + _ = c("%Y"), + w = [ + [s, 1, Gv], + [s, 5, 5 * Gv], + [s, 15, 15 * Gv], + [s, 30, 30 * Gv], + [o, 1, $v], + [o, 5, 5 * $v], + [o, 15, 15 * $v], + [o, 30, 30 * $v], + [a, 1, Wv], + [a, 3, 3 * Wv], + [a, 6, 6 * Wv], + [a, 12, 12 * Wv], + [r, 1, Kv], + [r, 2, 2 * Kv], + [n, 1, Xv], + [e, 1, Zv], + [e, 3, 3 * Zv], + [t, 1, Jv] + ]; + + function x(i) { + return (s(i) < i ? d : o(i) < i ? p : a(i) < i ? g : r(i) < i ? y : e(i) < i ? n(i) < i ? b : v : t(i) < i ? m : _)(i) + } + + function k(e, n, r, a) { + if (null == e && (e = 10), "number" == typeof e) { + var o = Math.abs(r - n) / e, + s = i((function(t) { + return t[2] + })).right(w, o); + s === w.length ? (a = T(n / Jv, r / Jv, e), e = t) : s ? (a = (s = w[o / w[s - 1][2] < w[s][2] / o ? s - 1 : s])[1], e = s[0]) : (a = Math.max(T(n, r, e), 1), e = u) + } + return null == a ? e : e.every(a) + } + return f.invert = function(t) { + return new Date(l(t)) + }, f.domain = function(t) { + return arguments.length ? h(Tg.call(t, tm)) : h().map(Qv) + }, f.ticks = function(t, e) { + var n, r = h(), + i = r[0], + a = r[r.length - 1], + o = a < i; + return o && (n = i, i = a, a = n), n = (n = k(t, i, a, e)) ? n.range(i, a + 1) : [], o ? n.reverse() : n + }, f.tickFormat = function(t, e) { + return null == e ? x : c(e) + }, f.nice = function(t, e) { + var n = h(); + return (t = k(t, n[0], n[n.length - 1], e)) ? h(Kg(n, t)) : f + }, f.copy = function() { + return zg(f, em(t, e, n, r, a, o, s, u, c)) + }, f + } + var nm = function() { + return Ag.apply(em(wy, Ey, Dy, Vy, $y, Xy, Qy, nb, Cb).domain([new Date(2e3, 0, 1), new Date(2e3, 0, 2)]), arguments) + }, + rm = my((function(t) { + t.setUTCDate(1), t.setUTCHours(0, 0, 0, 0) + }), (function(t, e) { + t.setUTCMonth(t.getUTCMonth() + e) + }), (function(t, e) { + return e.getUTCMonth() - t.getUTCMonth() + 12 * (e.getUTCFullYear() - t.getUTCFullYear()) + }), (function(t) { + return t.getUTCMonth() + })), + im = rm, + am = rm.range, + om = my((function(t) { + t.setUTCMinutes(0, 0, 0) + }), (function(t, e) { + t.setTime(+t + 36e5 * e) + }), (function(t, e) { + return (e - t) / 36e5 + }), (function(t) { + return t.getUTCHours() + })), + sm = om, + um = om.range, + cm = my((function(t) { + t.setUTCSeconds(0, 0) + }), (function(t, e) { + t.setTime(+t + e * Sy) + }), (function(t, e) { + return (e - t) / Sy + }), (function(t) { + return t.getUTCMinutes() + })), + fm = cm, + lm = cm.range, + hm = function() { + return Ag.apply(em(kb, im, ab, _b, sm, fm, Qy, nb, Ib).domain([Date.UTC(2e3, 0, 1), Date.UTC(2e3, 0, 2)]), arguments) + }; + + function dm() { + var t, e, n, r, i, a = 0, + o = 1, + s = Pg, + u = !1; + + function c(e) { + return isNaN(e = +e) ? i : s(0 === n ? .5 : (e = (r(e) - t) * n, u ? Math.max(0, Math.min(1, e)) : e)) + } + return c.domain = function(i) { + return arguments.length ? (t = r(a = +i[0]), e = r(o = +i[1]), n = t === e ? 0 : 1 / (e - t), c) : [a, o] + }, c.clamp = function(t) { + return arguments.length ? (u = !!t, c) : u + }, c.interpolator = function(t) { + return arguments.length ? (s = t, c) : s + }, c.unknown = function(t) { + return arguments.length ? (i = t, c) : i + }, + function(i) { + return r = i, t = i(a), e = i(o), n = t === e ? 0 : 1 / (e - t), c + } + } + + function pm(t, e) { + return e.domain(t.domain()).interpolator(t.interpolator()).clamp(t.clamp()).unknown(t.unknown()) + } + + function gm() { + var t = Gg(dm()(Pg)); + return t.copy = function() { + return pm(t, gm()) + }, Sg.apply(t, arguments) + } + + function ym() { + var t = ny(dm()).domain([1, 10]); + return t.copy = function() { + return pm(t, ym()).base(t.base()) + }, Sg.apply(t, arguments) + } + + function bm() { + var t = oy(dm()); + return t.copy = function() { + return pm(t, bm()).constant(t.constant()) + }, Sg.apply(t, arguments) + } + + function vm() { + var t = ly(dm()); + return t.copy = function() { + return pm(t, vm()).exponent(t.exponent()) + }, Sg.apply(t, arguments) + } + + function mm() { + return vm.apply(null, arguments).exponent(.5) + } + + function _m() { + var t = [], + e = Pg; + + function n(n) { + if (!isNaN(n = +n)) return e((u(t, n) - 1) / (t.length - 1)) + } + return n.domain = function(e) { + if (!arguments.length) return t.slice(); + t = []; + for (var i, a = 0, o = e.length; a < o; ++a) null == (i = e[a]) || isNaN(i = +i) || t.push(i); + return t.sort(r), n + }, n.interpolator = function(t) { + return arguments.length ? (e = t, n) : e + }, n.copy = function() { + return _m(e).domain(t) + }, Sg.apply(n, arguments) + } + + function wm() { + var t, e, n, r, i, a, o, s = 0, + u = .5, + c = 1, + f = Pg, + l = !1; + + function h(t) { + return isNaN(t = +t) ? o : (t = .5 + ((t = +a(t)) - e) * (t < e ? r : i), f(l ? Math.max(0, Math.min(1, t)) : t)) + } + return h.domain = function(o) { + return arguments.length ? (t = a(s = +o[0]), e = a(u = +o[1]), n = a(c = +o[2]), r = t === e ? 0 : .5 / (e - t), i = e === n ? 0 : .5 / (n - e), h) : [s, u, c] + }, h.clamp = function(t) { + return arguments.length ? (l = !!t, h) : l + }, h.interpolator = function(t) { + return arguments.length ? (f = t, h) : f + }, h.unknown = function(t) { + return arguments.length ? (o = t, h) : o + }, + function(o) { + return a = o, t = o(s), e = o(u), n = o(c), r = t === e ? 0 : .5 / (e - t), i = e === n ? 0 : .5 / (n - e), h + } + } + + function xm() { + var t = Gg(wm()(Pg)); + return t.copy = function() { + return pm(t, xm()) + }, Sg.apply(t, arguments) + } + + function km() { + var t = ny(wm()).domain([.1, 1, 10]); + return t.copy = function() { + return pm(t, km()).base(t.base()) + }, Sg.apply(t, arguments) + } + + function Em() { + var t = oy(wm()); + return t.copy = function() { + return pm(t, Em()).constant(t.constant()) + }, Sg.apply(t, arguments) + } + + function Am() { + var t = ly(wm()); + return t.copy = function() { + return pm(t, Am()).exponent(t.exponent()) + }, Sg.apply(t, arguments) + } + + function Sm() { + return Am.apply(null, arguments).exponent(.5) + } + var Mm = function(t) { + for (var e = t.length / 6 | 0, n = new Array(e), r = 0; r < e;) n[r] = "#" + t.slice(6 * r, 6 * ++r); + return n + }, + Tm = Mm("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"), + Dm = Mm("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666"), + Cm = Mm("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666"), + Nm = Mm("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928"), + Im = Mm("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2"), + Lm = Mm("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc"), + Bm = Mm("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999"), + Om = Mm("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3"), + Rm = Mm("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f"), + Pm = Mm("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab"), + Fm = function(t) { + return _n(t[t.length - 1]) + }, + qm = new Array(3).concat("d8b365f5f5f55ab4ac", "a6611adfc27d80cdc1018571", "a6611adfc27df5f5f580cdc1018571", "8c510ad8b365f6e8c3c7eae55ab4ac01665e", "8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e", "8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e", "8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e", "5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30", "5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30").map(Mm), + jm = Fm(qm), + Um = new Array(3).concat("af8dc3f7f7f77fbf7b", "7b3294c2a5cfa6dba0008837", "7b3294c2a5cff7f7f7a6dba0008837", "762a83af8dc3e7d4e8d9f0d37fbf7b1b7837", "762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837", "762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837", "762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837", "40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b", "40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b").map(Mm), + zm = Fm(Um), + Ym = new Array(3).concat("e9a3c9f7f7f7a1d76a", "d01c8bf1b6dab8e1864dac26", "d01c8bf1b6daf7f7f7b8e1864dac26", "c51b7de9a3c9fde0efe6f5d0a1d76a4d9221", "c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221", "c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221", "c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221", "8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419", "8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419").map(Mm), + Vm = Fm(Ym), + Hm = new Array(3).concat("998ec3f7f7f7f1a340", "5e3c99b2abd2fdb863e66101", "5e3c99b2abd2f7f7f7fdb863e66101", "542788998ec3d8daebfee0b6f1a340b35806", "542788998ec3d8daebf7f7f7fee0b6f1a340b35806", "5427888073acb2abd2d8daebfee0b6fdb863e08214b35806", "5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806", "2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08", "2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08").map(Mm), + Gm = Fm(Hm), + $m = new Array(3).concat("ef8a62f7f7f767a9cf", "ca0020f4a58292c5de0571b0", "ca0020f4a582f7f7f792c5de0571b0", "b2182bef8a62fddbc7d1e5f067a9cf2166ac", "b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac", "b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac", "b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac", "67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061", "67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061").map(Mm), + Wm = Fm($m), + Km = new Array(3).concat("ef8a62ffffff999999", "ca0020f4a582bababa404040", "ca0020f4a582ffffffbababa404040", "b2182bef8a62fddbc7e0e0e09999994d4d4d", "b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d", "b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d", "b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d", "67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a", "67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a").map(Mm), + Xm = Fm(Km), + Zm = new Array(3).concat("fc8d59ffffbf91bfdb", "d7191cfdae61abd9e92c7bb6", "d7191cfdae61ffffbfabd9e92c7bb6", "d73027fc8d59fee090e0f3f891bfdb4575b4", "d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4", "d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4", "d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4", "a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695", "a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695").map(Mm), + Jm = Fm(Zm), + Qm = new Array(3).concat("fc8d59ffffbf91cf60", "d7191cfdae61a6d96a1a9641", "d7191cfdae61ffffbfa6d96a1a9641", "d73027fc8d59fee08bd9ef8b91cf601a9850", "d73027fc8d59fee08bffffbfd9ef8b91cf601a9850", "d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850", "d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850", "a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837", "a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837").map(Mm), + t_ = Fm(Qm), + e_ = new Array(3).concat("fc8d59ffffbf99d594", "d7191cfdae61abdda42b83ba", "d7191cfdae61ffffbfabdda42b83ba", "d53e4ffc8d59fee08be6f59899d5943288bd", "d53e4ffc8d59fee08bffffbfe6f59899d5943288bd", "d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd", "d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd", "9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2", "9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2").map(Mm), + n_ = Fm(e_), + r_ = new Array(3).concat("e5f5f999d8c92ca25f", "edf8fbb2e2e266c2a4238b45", "edf8fbb2e2e266c2a42ca25f006d2c", "edf8fbccece699d8c966c2a42ca25f006d2c", "edf8fbccece699d8c966c2a441ae76238b45005824", "f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824", "f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b").map(Mm), + i_ = Fm(r_), + a_ = new Array(3).concat("e0ecf49ebcda8856a7", "edf8fbb3cde38c96c688419d", "edf8fbb3cde38c96c68856a7810f7c", "edf8fbbfd3e69ebcda8c96c68856a7810f7c", "edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b", "f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b", "f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b").map(Mm), + o_ = Fm(a_), + s_ = new Array(3).concat("e0f3dba8ddb543a2ca", "f0f9e8bae4bc7bccc42b8cbe", "f0f9e8bae4bc7bccc443a2ca0868ac", "f0f9e8ccebc5a8ddb57bccc443a2ca0868ac", "f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e", "f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e", "f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081").map(Mm), + u_ = Fm(s_), + c_ = new Array(3).concat("fee8c8fdbb84e34a33", "fef0d9fdcc8afc8d59d7301f", "fef0d9fdcc8afc8d59e34a33b30000", "fef0d9fdd49efdbb84fc8d59e34a33b30000", "fef0d9fdd49efdbb84fc8d59ef6548d7301f990000", "fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000", "fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000").map(Mm), + f_ = Fm(c_), + l_ = new Array(3).concat("ece2f0a6bddb1c9099", "f6eff7bdc9e167a9cf02818a", "f6eff7bdc9e167a9cf1c9099016c59", "f6eff7d0d1e6a6bddb67a9cf1c9099016c59", "f6eff7d0d1e6a6bddb67a9cf3690c002818a016450", "fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450", "fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636").map(Mm), + h_ = Fm(l_), + d_ = new Array(3).concat("ece7f2a6bddb2b8cbe", "f1eef6bdc9e174a9cf0570b0", "f1eef6bdc9e174a9cf2b8cbe045a8d", "f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d", "f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b", "fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b", "fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858").map(Mm), + p_ = Fm(d_), + g_ = new Array(3).concat("e7e1efc994c7dd1c77", "f1eef6d7b5d8df65b0ce1256", "f1eef6d7b5d8df65b0dd1c77980043", "f1eef6d4b9dac994c7df65b0dd1c77980043", "f1eef6d4b9dac994c7df65b0e7298ace125691003f", "f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f", "f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f").map(Mm), + y_ = Fm(g_), + b_ = new Array(3).concat("fde0ddfa9fb5c51b8a", "feebe2fbb4b9f768a1ae017e", "feebe2fbb4b9f768a1c51b8a7a0177", "feebe2fcc5c0fa9fb5f768a1c51b8a7a0177", "feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177", "fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177", "fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a").map(Mm), + v_ = Fm(b_), + m_ = new Array(3).concat("edf8b17fcdbb2c7fb8", "ffffcca1dab441b6c4225ea8", "ffffcca1dab441b6c42c7fb8253494", "ffffccc7e9b47fcdbb41b6c42c7fb8253494", "ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84", "ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84", "ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58").map(Mm), + __ = Fm(m_), + w_ = new Array(3).concat("f7fcb9addd8e31a354", "ffffccc2e69978c679238443", "ffffccc2e69978c67931a354006837", "ffffccd9f0a3addd8e78c67931a354006837", "ffffccd9f0a3addd8e78c67941ab5d238443005a32", "ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32", "ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529").map(Mm), + x_ = Fm(w_), + k_ = new Array(3).concat("fff7bcfec44fd95f0e", "ffffd4fed98efe9929cc4c02", "ffffd4fed98efe9929d95f0e993404", "ffffd4fee391fec44ffe9929d95f0e993404", "ffffd4fee391fec44ffe9929ec7014cc4c028c2d04", "ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04", "ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506").map(Mm), + E_ = Fm(k_), + A_ = new Array(3).concat("ffeda0feb24cf03b20", "ffffb2fecc5cfd8d3ce31a1c", "ffffb2fecc5cfd8d3cf03b20bd0026", "ffffb2fed976feb24cfd8d3cf03b20bd0026", "ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026", "ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026", "ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026").map(Mm), + S_ = Fm(A_), + M_ = new Array(3).concat("deebf79ecae13182bd", "eff3ffbdd7e76baed62171b5", "eff3ffbdd7e76baed63182bd08519c", "eff3ffc6dbef9ecae16baed63182bd08519c", "eff3ffc6dbef9ecae16baed64292c62171b5084594", "f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594", "f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b").map(Mm), + T_ = Fm(M_), + D_ = new Array(3).concat("e5f5e0a1d99b31a354", "edf8e9bae4b374c476238b45", "edf8e9bae4b374c47631a354006d2c", "edf8e9c7e9c0a1d99b74c47631a354006d2c", "edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32", "f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32", "f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b").map(Mm), + C_ = Fm(D_), + N_ = new Array(3).concat("f0f0f0bdbdbd636363", "f7f7f7cccccc969696525252", "f7f7f7cccccc969696636363252525", "f7f7f7d9d9d9bdbdbd969696636363252525", "f7f7f7d9d9d9bdbdbd969696737373525252252525", "fffffff0f0f0d9d9d9bdbdbd969696737373525252252525", "fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000").map(Mm), + I_ = Fm(N_), + L_ = new Array(3).concat("efedf5bcbddc756bb1", "f2f0f7cbc9e29e9ac86a51a3", "f2f0f7cbc9e29e9ac8756bb154278f", "f2f0f7dadaebbcbddc9e9ac8756bb154278f", "f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486", "fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486", "fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d").map(Mm), + B_ = Fm(L_), + O_ = new Array(3).concat("fee0d2fc9272de2d26", "fee5d9fcae91fb6a4acb181d", "fee5d9fcae91fb6a4ade2d26a50f15", "fee5d9fcbba1fc9272fb6a4ade2d26a50f15", "fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d", "fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d", "fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d").map(Mm), + R_ = Fm(O_), + P_ = new Array(3).concat("fee6cefdae6be6550d", "feeddefdbe85fd8d3cd94701", "feeddefdbe85fd8d3ce6550da63603", "feeddefdd0a2fdae6bfd8d3ce6550da63603", "feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04", "fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04", "fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704").map(Mm), + F_ = Fm(P_), + q_ = function(t) { + return t = Math.max(0, Math.min(1, t)), "rgb(" + Math.max(0, Math.min(255, Math.round(-4.54 - t * (35.34 - t * (2381.73 - t * (6402.7 - t * (7024.72 - 2710.57 * t))))))) + ", " + Math.max(0, Math.min(255, Math.round(32.49 + t * (170.73 + t * (52.82 - t * (131.46 - t * (176.58 - 67.37 * t))))))) + ", " + Math.max(0, Math.min(255, Math.round(81.24 + t * (442.36 - t * (2482.43 - t * (6167.24 - t * (6614.94 - 2475.67 * t))))))) + ")" + }, + j_ = sg(Ga(300, .5, 0), Ga(-240, .5, 1)), + U_ = sg(Ga(-100, .75, .35), Ga(80, 1.5, .8)), + z_ = sg(Ga(260, .75, .35), Ga(80, 1.5, .8)), + Y_ = Ga(), + V_ = function(t) { + (t < 0 || t > 1) && (t -= Math.floor(t)); + var e = Math.abs(t - .5); + return Y_.h = 360 * t - 100, Y_.s = 1.5 - 1.5 * e, Y_.l = .8 - .9 * e, Y_ + "" + }, + H_ = Qe(), + G_ = Math.PI / 3, + $_ = 2 * Math.PI / 3, + W_ = function(t) { + var e; + return t = (.5 - t) * Math.PI, H_.r = 255 * (e = Math.sin(t)) * e, H_.g = 255 * (e = Math.sin(t + G_)) * e, H_.b = 255 * (e = Math.sin(t + $_)) * e, H_ + "" + }, + K_ = function(t) { + return t = Math.max(0, Math.min(1, t)), "rgb(" + Math.max(0, Math.min(255, Math.round(34.61 + t * (1172.33 - t * (10793.56 - t * (33300.12 - t * (38394.49 - 14825.05 * t))))))) + ", " + Math.max(0, Math.min(255, Math.round(23.31 + t * (557.33 + t * (1225.33 - t * (3574.96 - t * (1073.77 + 707.56 * t))))))) + ", " + Math.max(0, Math.min(255, Math.round(27.2 + t * (3211.1 - t * (15327.97 - t * (27814 - t * (22569.18 - 6838.66 * t))))))) + ")" + }; + + function X_(t) { + var e = t.length; + return function(n) { + return t[Math.max(0, Math.min(e - 1, Math.floor(n * e)))] + } + } + var Z_ = X_(Mm("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")), + J_ = X_(Mm("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")), + Q_ = X_(Mm("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")), + tw = X_(Mm("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921")), + ew = function(t) { + return Te(ue(t).call(document.documentElement)) + }, + nw = 0; + + function rw() { + return new iw + } + + function iw() { + this._ = "@" + (++nw).toString(36) + } + iw.prototype = rw.prototype = { + constructor: iw, + get: function(t) { + for (var e = this._; !(e in t);) + if (!(t = t.parentNode)) return; + return t[e] + }, + set: function(t, e) { + return t[this._] = e + }, + remove: function(t) { + return this._ in t && delete t[this._] + }, + toString: function() { + return this._ + } + }; + var aw = function(t) { + return "string" == typeof t ? new Ae([document.querySelectorAll(t)], [document.documentElement]) : new Ae([null == t ? [] : t], Ee) + }, + ow = function(t, e) { + null == e && (e = On().touches); + for (var n = 0, r = e ? e.length : 0, i = new Array(r); n < r; ++n) i[n] = Rn(t, e[n]); + return i + }, + sw = function(t) { + return function() { + return t + } + }, + uw = Math.abs, + cw = Math.atan2, + fw = Math.cos, + lw = Math.max, + hw = Math.min, + dw = Math.sin, + pw = Math.sqrt, + gw = 1e-12, + yw = Math.PI, + bw = yw / 2, + vw = 2 * yw; + + function mw(t) { + return t >= 1 ? bw : t <= -1 ? -bw : Math.asin(t) + } + + function _w(t) { + return t.innerRadius + } + + function ww(t) { + return t.outerRadius + } + + function xw(t) { + return t.startAngle + } + + function kw(t) { + return t.endAngle + } + + function Ew(t) { + return t && t.padAngle + } + + function Aw(t, e, n, r, i, a, o) { + var s = t - n, + u = e - r, + c = (o ? a : -a) / pw(s * s + u * u), + f = c * u, + l = -c * s, + h = t + f, + d = e + l, + p = n + f, + g = r + l, + y = (h + p) / 2, + b = (d + g) / 2, + v = p - h, + m = g - d, + _ = v * v + m * m, + w = i - a, + x = h * g - p * d, + k = (m < 0 ? -1 : 1) * pw(lw(0, w * w * _ - x * x)), + E = (x * m - v * k) / _, + A = (-x * v - m * k) / _, + S = (x * m + v * k) / _, + M = (-x * v + m * k) / _, + T = E - y, + D = A - b, + C = S - y, + N = M - b; + return T * T + D * D > C * C + N * N && (E = S, A = M), { + cx: E, + cy: A, + x01: -f, + y01: -l, + x11: E * (i / w - 1), + y11: A * (i / w - 1) + } + } + var Sw = function() { + var t = _w, + e = ww, + n = sw(0), + r = null, + i = xw, + a = kw, + o = Ew, + s = null; + + function u() { + var u, c, f, l = +t.apply(this, arguments), + h = +e.apply(this, arguments), + d = i.apply(this, arguments) - bw, + p = a.apply(this, arguments) - bw, + g = uw(p - d), + y = p > d; + if (s || (s = u = Xi()), h < l && (c = h, h = l, l = c), h > gw) + if (g > vw - gw) s.moveTo(h * fw(d), h * dw(d)), s.arc(0, 0, h, d, p, !y), l > gw && (s.moveTo(l * fw(p), l * dw(p)), s.arc(0, 0, l, p, d, y)); + else { + var b, v, m = d, + _ = p, + w = d, + x = p, + k = g, + E = g, + A = o.apply(this, arguments) / 2, + S = A > gw && (r ? +r.apply(this, arguments) : pw(l * l + h * h)), + M = hw(uw(h - l) / 2, +n.apply(this, arguments)), + T = M, + D = M; + if (S > gw) { + var C = mw(S / l * dw(A)), + N = mw(S / h * dw(A)); + (k -= 2 * C) > gw ? (w += C *= y ? 1 : -1, x -= C) : (k = 0, w = x = (d + p) / 2), (E -= 2 * N) > gw ? (m += N *= y ? 1 : -1, _ -= N) : (E = 0, m = _ = (d + p) / 2) + } + var I = h * fw(m), + L = h * dw(m), + B = l * fw(x), + O = l * dw(x); + if (M > gw) { + var R, P = h * fw(_), + F = h * dw(_), + q = l * fw(w), + j = l * dw(w); + if (g < yw && (R = function(t, e, n, r, i, a, o, s) { + var u = n - t, + c = r - e, + f = o - i, + l = s - a, + h = l * u - f * c; + if (!(h * h < gw)) return [t + (h = (f * (e - a) - l * (t - i)) / h) * u, e + h * c] + }(I, L, q, j, P, F, B, O))) { + var U = I - R[0], + z = L - R[1], + Y = P - R[0], + V = F - R[1], + H = 1 / dw(((f = (U * Y + z * V) / (pw(U * U + z * z) * pw(Y * Y + V * V))) > 1 ? 0 : f < -1 ? yw : Math.acos(f)) / 2), + G = pw(R[0] * R[0] + R[1] * R[1]); + T = hw(M, (l - G) / (H - 1)), D = hw(M, (h - G) / (H + 1)) + } + } + E > gw ? D > gw ? (b = Aw(q, j, I, L, h, D, y), v = Aw(P, F, B, O, h, D, y), s.moveTo(b.cx + b.x01, b.cy + b.y01), D < M ? s.arc(b.cx, b.cy, D, cw(b.y01, b.x01), cw(v.y01, v.x01), !y) : (s.arc(b.cx, b.cy, D, cw(b.y01, b.x01), cw(b.y11, b.x11), !y), s.arc(0, 0, h, cw(b.cy + b.y11, b.cx + b.x11), cw(v.cy + v.y11, v.cx + v.x11), !y), s.arc(v.cx, v.cy, D, cw(v.y11, v.x11), cw(v.y01, v.x01), !y))) : (s.moveTo(I, L), s.arc(0, 0, h, m, _, !y)) : s.moveTo(I, L), l > gw && k > gw ? T > gw ? (b = Aw(B, O, P, F, l, -T, y), v = Aw(I, L, q, j, l, -T, y), s.lineTo(b.cx + b.x01, b.cy + b.y01), T < M ? s.arc(b.cx, b.cy, T, cw(b.y01, b.x01), cw(v.y01, v.x01), !y) : (s.arc(b.cx, b.cy, T, cw(b.y01, b.x01), cw(b.y11, b.x11), !y), s.arc(0, 0, l, cw(b.cy + b.y11, b.cx + b.x11), cw(v.cy + v.y11, v.cx + v.x11), y), s.arc(v.cx, v.cy, T, cw(v.y11, v.x11), cw(v.y01, v.x01), !y))) : s.arc(0, 0, l, x, w, y) : s.lineTo(B, O) + } + else s.moveTo(0, 0); + if (s.closePath(), u) return s = null, u + "" || null + } + return u.centroid = function() { + var n = (+t.apply(this, arguments) + +e.apply(this, arguments)) / 2, + r = (+i.apply(this, arguments) + +a.apply(this, arguments)) / 2 - yw / 2; + return [fw(r) * n, dw(r) * n] + }, u.innerRadius = function(e) { + return arguments.length ? (t = "function" == typeof e ? e : sw(+e), u) : t + }, u.outerRadius = function(t) { + return arguments.length ? (e = "function" == typeof t ? t : sw(+t), u) : e + }, u.cornerRadius = function(t) { + return arguments.length ? (n = "function" == typeof t ? t : sw(+t), u) : n + }, u.padRadius = function(t) { + return arguments.length ? (r = null == t ? null : "function" == typeof t ? t : sw(+t), u) : r + }, u.startAngle = function(t) { + return arguments.length ? (i = "function" == typeof t ? t : sw(+t), u) : i + }, u.endAngle = function(t) { + return arguments.length ? (a = "function" == typeof t ? t : sw(+t), u) : a + }, u.padAngle = function(t) { + return arguments.length ? (o = "function" == typeof t ? t : sw(+t), u) : o + }, u.context = function(t) { + return arguments.length ? (s = null == t ? null : t, u) : s + }, u + }; + + function Mw(t) { + this._context = t + } + Mw.prototype = { + areaStart: function() { + this._line = 0 + }, + areaEnd: function() { + this._line = NaN + }, + lineStart: function() { + this._point = 0 + }, + lineEnd: function() { + (this._line || 0 !== this._line && 1 === this._point) && this._context.closePath(), this._line = 1 - this._line + }, + point: function(t, e) { + switch (t = +t, e = +e, this._point) { + case 0: + this._point = 1, this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e); + break; + case 1: + this._point = 2; + default: + this._context.lineTo(t, e) + } + } + }; + var Tw = function(t) { + return new Mw(t) + }; + + function Dw(t) { + return t[0] + } + + function Cw(t) { + return t[1] + } + var Nw = function() { + var t = Dw, + e = Cw, + n = sw(!0), + r = null, + i = Tw, + a = null; + + function o(o) { + var s, u, c, f = o.length, + l = !1; + for (null == r && (a = i(c = Xi())), s = 0; s <= f; ++s) !(s < f && n(u = o[s], s, o)) === l && ((l = !l) ? a.lineStart() : a.lineEnd()), l && a.point(+t(u, s, o), +e(u, s, o)); + if (c) return a = null, c + "" || null + } + return o.x = function(e) { + return arguments.length ? (t = "function" == typeof e ? e : sw(+e), o) : t + }, o.y = function(t) { + return arguments.length ? (e = "function" == typeof t ? t : sw(+t), o) : e + }, o.defined = function(t) { + return arguments.length ? (n = "function" == typeof t ? t : sw(!!t), o) : n + }, o.curve = function(t) { + return arguments.length ? (i = t, null != r && (a = i(r)), o) : i + }, o.context = function(t) { + return arguments.length ? (null == t ? r = a = null : a = i(r = t), o) : r + }, o + }, + Iw = function() { + var t = Dw, + e = null, + n = sw(0), + r = Cw, + i = sw(!0), + a = null, + o = Tw, + s = null; + + function u(u) { + var c, f, l, h, d, p = u.length, + g = !1, + y = new Array(p), + b = new Array(p); + for (null == a && (s = o(d = Xi())), c = 0; c <= p; ++c) { + if (!(c < p && i(h = u[c], c, u)) === g) + if (g = !g) f = c, s.areaStart(), s.lineStart(); + else { + for (s.lineEnd(), s.lineStart(), l = c - 1; l >= f; --l) s.point(y[l], b[l]); + s.lineEnd(), s.areaEnd() + } g && (y[c] = +t(h, c, u), b[c] = +n(h, c, u), s.point(e ? +e(h, c, u) : y[c], r ? +r(h, c, u) : b[c])) + } + if (d) return s = null, d + "" || null + } + + function c() { + return Nw().defined(i).curve(o).context(a) + } + return u.x = function(n) { + return arguments.length ? (t = "function" == typeof n ? n : sw(+n), e = null, u) : t + }, u.x0 = function(e) { + return arguments.length ? (t = "function" == typeof e ? e : sw(+e), u) : t + }, u.x1 = function(t) { + return arguments.length ? (e = null == t ? null : "function" == typeof t ? t : sw(+t), u) : e + }, u.y = function(t) { + return arguments.length ? (n = "function" == typeof t ? t : sw(+t), r = null, u) : n + }, u.y0 = function(t) { + return arguments.length ? (n = "function" == typeof t ? t : sw(+t), u) : n + }, u.y1 = function(t) { + return arguments.length ? (r = null == t ? null : "function" == typeof t ? t : sw(+t), u) : r + }, u.lineX0 = u.lineY0 = function() { + return c().x(t).y(n) + }, u.lineY1 = function() { + return c().x(t).y(r) + }, u.lineX1 = function() { + return c().x(e).y(n) + }, u.defined = function(t) { + return arguments.length ? (i = "function" == typeof t ? t : sw(!!t), u) : i + }, u.curve = function(t) { + return arguments.length ? (o = t, null != a && (s = o(a)), u) : o + }, u.context = function(t) { + return arguments.length ? (null == t ? a = s = null : s = o(a = t), u) : a + }, u + }, + Lw = function(t, e) { + return e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN + }, + Bw = function(t) { + return t + }, + Ow = function() { + var t = Bw, + e = Lw, + n = null, + r = sw(0), + i = sw(vw), + a = sw(0); + + function o(o) { + var s, u, c, f, l, h = o.length, + d = 0, + p = new Array(h), + g = new Array(h), + y = +r.apply(this, arguments), + b = Math.min(vw, Math.max(-vw, i.apply(this, arguments) - y)), + v = Math.min(Math.abs(b) / h, a.apply(this, arguments)), + m = v * (b < 0 ? -1 : 1); + for (s = 0; s < h; ++s)(l = g[p[s] = s] = +t(o[s], s, o)) > 0 && (d += l); + for (null != e ? p.sort((function(t, n) { + return e(g[t], g[n]) + })) : null != n && p.sort((function(t, e) { + return n(o[t], o[e]) + })), s = 0, c = d ? (b - h * m) / d : 0; s < h; ++s, y = f) u = p[s], f = y + ((l = g[u]) > 0 ? l * c : 0) + m, g[u] = { + data: o[u], + index: s, + value: l, + startAngle: y, + endAngle: f, + padAngle: v + }; + return g + } + return o.value = function(e) { + return arguments.length ? (t = "function" == typeof e ? e : sw(+e), o) : t + }, o.sortValues = function(t) { + return arguments.length ? (e = t, n = null, o) : e + }, o.sort = function(t) { + return arguments.length ? (n = t, e = null, o) : n + }, o.startAngle = function(t) { + return arguments.length ? (r = "function" == typeof t ? t : sw(+t), o) : r + }, o.endAngle = function(t) { + return arguments.length ? (i = "function" == typeof t ? t : sw(+t), o) : i + }, o.padAngle = function(t) { + return arguments.length ? (a = "function" == typeof t ? t : sw(+t), o) : a + }, o + }, + Rw = Fw(Tw); + + function Pw(t) { + this._curve = t + } + + function Fw(t) { + function e(e) { + return new Pw(t(e)) + } + return e._curve = t, e + } + + function qw(t) { + var e = t.curve; + return t.angle = t.x, delete t.x, t.radius = t.y, delete t.y, t.curve = function(t) { + return arguments.length ? e(Fw(t)) : e()._curve + }, t + } + Pw.prototype = { + areaStart: function() { + this._curve.areaStart() + }, + areaEnd: function() { + this._curve.areaEnd() + }, + lineStart: function() { + this._curve.lineStart() + }, + lineEnd: function() { + this._curve.lineEnd() + }, + point: function(t, e) { + this._curve.point(e * Math.sin(t), e * -Math.cos(t)) + } + }; + var jw = function() { + return qw(Nw().curve(Rw)) + }, + Uw = function() { + var t = Iw().curve(Rw), + e = t.curve, + n = t.lineX0, + r = t.lineX1, + i = t.lineY0, + a = t.lineY1; + return t.angle = t.x, delete t.x, t.startAngle = t.x0, delete t.x0, t.endAngle = t.x1, delete t.x1, t.radius = t.y, delete t.y, t.innerRadius = t.y0, delete t.y0, t.outerRadius = t.y1, delete t.y1, t.lineStartAngle = function() { + return qw(n()) + }, delete t.lineX0, t.lineEndAngle = function() { + return qw(r()) + }, delete t.lineX1, t.lineInnerRadius = function() { + return qw(i()) + }, delete t.lineY0, t.lineOuterRadius = function() { + return qw(a()) + }, delete t.lineY1, t.curve = function(t) { + return arguments.length ? e(Fw(t)) : e()._curve + }, t + }, + zw = function(t, e) { + return [(e = +e) * Math.cos(t -= Math.PI / 2), e * Math.sin(t)] + }, + Yw = Array.prototype.slice; + + function Vw(t) { + return t.source + } + + function Hw(t) { + return t.target + } + + function Gw(t) { + var e = Vw, + n = Hw, + r = Dw, + i = Cw, + a = null; + + function o() { + var o, s = Yw.call(arguments), + u = e.apply(this, s), + c = n.apply(this, s); + if (a || (a = o = Xi()), t(a, +r.apply(this, (s[0] = u, s)), +i.apply(this, s), +r.apply(this, (s[0] = c, s)), +i.apply(this, s)), o) return a = null, o + "" || null + } + return o.source = function(t) { + return arguments.length ? (e = t, o) : e + }, o.target = function(t) { + return arguments.length ? (n = t, o) : n + }, o.x = function(t) { + return arguments.length ? (r = "function" == typeof t ? t : sw(+t), o) : r + }, o.y = function(t) { + return arguments.length ? (i = "function" == typeof t ? t : sw(+t), o) : i + }, o.context = function(t) { + return arguments.length ? (a = null == t ? null : t, o) : a + }, o + } + + function $w(t, e, n, r, i) { + t.moveTo(e, n), t.bezierCurveTo(e = (e + r) / 2, n, e, i, r, i) + } + + function Ww(t, e, n, r, i) { + t.moveTo(e, n), t.bezierCurveTo(e, n = (n + i) / 2, r, n, r, i) + } + + function Kw(t, e, n, r, i) { + var a = zw(e, n), + o = zw(e, n = (n + i) / 2), + s = zw(r, n), + u = zw(r, i); + t.moveTo(a[0], a[1]), t.bezierCurveTo(o[0], o[1], s[0], s[1], u[0], u[1]) + } + + function Xw() { + return Gw($w) + } + + function Zw() { + return Gw(Ww) + } + + function Jw() { + var t = Gw(Kw); + return t.angle = t.x, delete t.x, t.radius = t.y, delete t.y, t + } + var Qw = { + draw: function(t, e) { + var n = Math.sqrt(e / yw); + t.moveTo(n, 0), t.arc(0, 0, n, 0, vw) + } + }, + tx = { + draw: function(t, e) { + var n = Math.sqrt(e / 5) / 2; + t.moveTo(-3 * n, -n), t.lineTo(-n, -n), t.lineTo(-n, -3 * n), t.lineTo(n, -3 * n), t.lineTo(n, -n), t.lineTo(3 * n, -n), t.lineTo(3 * n, n), t.lineTo(n, n), t.lineTo(n, 3 * n), t.lineTo(-n, 3 * n), t.lineTo(-n, n), t.lineTo(-3 * n, n), t.closePath() + } + }, + ex = Math.sqrt(1 / 3), + nx = 2 * ex, + rx = { + draw: function(t, e) { + var n = Math.sqrt(e / nx), + r = n * ex; + t.moveTo(0, -n), t.lineTo(r, 0), t.lineTo(0, n), t.lineTo(-r, 0), t.closePath() + } + }, + ix = Math.sin(yw / 10) / Math.sin(7 * yw / 10), + ax = Math.sin(vw / 10) * ix, + ox = -Math.cos(vw / 10) * ix, + sx = { + draw: function(t, e) { + var n = Math.sqrt(.8908130915292852 * e), + r = ax * n, + i = ox * n; + t.moveTo(0, -n), t.lineTo(r, i); + for (var a = 1; a < 5; ++a) { + var o = vw * a / 5, + s = Math.cos(o), + u = Math.sin(o); + t.lineTo(u * n, -s * n), t.lineTo(s * r - u * i, u * r + s * i) + } + t.closePath() + } + }, + ux = { + draw: function(t, e) { + var n = Math.sqrt(e), + r = -n / 2; + t.rect(r, r, n, n) + } + }, + cx = Math.sqrt(3), + fx = { + draw: function(t, e) { + var n = -Math.sqrt(e / (3 * cx)); + t.moveTo(0, 2 * n), t.lineTo(-cx * n, -n), t.lineTo(cx * n, -n), t.closePath() + } + }, + lx = Math.sqrt(3) / 2, + hx = 1 / Math.sqrt(12), + dx = 3 * (hx / 2 + 1), + px = { + draw: function(t, e) { + var n = Math.sqrt(e / dx), + r = n / 2, + i = n * hx, + a = r, + o = n * hx + n, + s = -a, + u = o; + t.moveTo(r, i), t.lineTo(a, o), t.lineTo(s, u), t.lineTo(-.5 * r - lx * i, lx * r + -.5 * i), t.lineTo(-.5 * a - lx * o, lx * a + -.5 * o), t.lineTo(-.5 * s - lx * u, lx * s + -.5 * u), t.lineTo(-.5 * r + lx * i, -.5 * i - lx * r), t.lineTo(-.5 * a + lx * o, -.5 * o - lx * a), t.lineTo(-.5 * s + lx * u, -.5 * u - lx * s), t.closePath() + } + }, + gx = [Qw, tx, rx, ux, sx, fx, px], + yx = function() { + var t = sw(Qw), + e = sw(64), + n = null; + + function r() { + var r; + if (n || (n = r = Xi()), t.apply(this, arguments).draw(n, +e.apply(this, arguments)), r) return n = null, r + "" || null + } + return r.type = function(e) { + return arguments.length ? (t = "function" == typeof e ? e : sw(e), r) : t + }, r.size = function(t) { + return arguments.length ? (e = "function" == typeof t ? t : sw(+t), r) : e + }, r.context = function(t) { + return arguments.length ? (n = null == t ? null : t, r) : n + }, r + }, + bx = function() {}; + + function vx(t, e, n) { + t._context.bezierCurveTo((2 * t._x0 + t._x1) / 3, (2 * t._y0 + t._y1) / 3, (t._x0 + 2 * t._x1) / 3, (t._y0 + 2 * t._y1) / 3, (t._x0 + 4 * t._x1 + e) / 6, (t._y0 + 4 * t._y1 + n) / 6) + } + + function mx(t) { + this._context = t + } + mx.prototype = { + areaStart: function() { + this._line = 0 + }, + areaEnd: function() { + this._line = NaN + }, + lineStart: function() { + this._x0 = this._x1 = this._y0 = this._y1 = NaN, this._point = 0 + }, + lineEnd: function() { + switch (this._point) { + case 3: + vx(this, this._x1, this._y1); + case 2: + this._context.lineTo(this._x1, this._y1) + }(this._line || 0 !== this._line && 1 === this._point) && this._context.closePath(), this._line = 1 - this._line + }, + point: function(t, e) { + switch (t = +t, e = +e, this._point) { + case 0: + this._point = 1, this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e); + break; + case 1: + this._point = 2; + break; + case 2: + this._point = 3, this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6); + default: + vx(this, t, e) + } + this._x0 = this._x1, this._x1 = t, this._y0 = this._y1, this._y1 = e + } + }; + var _x = function(t) { + return new mx(t) + }; + + function wx(t) { + this._context = t + } + wx.prototype = { + areaStart: bx, + areaEnd: bx, + lineStart: function() { + this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN, this._point = 0 + }, + lineEnd: function() { + switch (this._point) { + case 1: + this._context.moveTo(this._x2, this._y2), this._context.closePath(); + break; + case 2: + this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3), this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3), this._context.closePath(); + break; + case 3: + this.point(this._x2, this._y2), this.point(this._x3, this._y3), this.point(this._x4, this._y4) + } + }, + point: function(t, e) { + switch (t = +t, e = +e, this._point) { + case 0: + this._point = 1, this._x2 = t, this._y2 = e; + break; + case 1: + this._point = 2, this._x3 = t, this._y3 = e; + break; + case 2: + this._point = 3, this._x4 = t, this._y4 = e, this._context.moveTo((this._x0 + 4 * this._x1 + t) / 6, (this._y0 + 4 * this._y1 + e) / 6); + break; + default: + vx(this, t, e) + } + this._x0 = this._x1, this._x1 = t, this._y0 = this._y1, this._y1 = e + } + }; + var xx = function(t) { + return new wx(t) + }; + + function kx(t) { + this._context = t + } + kx.prototype = { + areaStart: function() { + this._line = 0 + }, + areaEnd: function() { + this._line = NaN + }, + lineStart: function() { + this._x0 = this._x1 = this._y0 = this._y1 = NaN, this._point = 0 + }, + lineEnd: function() { + (this._line || 0 !== this._line && 3 === this._point) && this._context.closePath(), this._line = 1 - this._line + }, + point: function(t, e) { + switch (t = +t, e = +e, this._point) { + case 0: + this._point = 1; + break; + case 1: + this._point = 2; + break; + case 2: + this._point = 3; + var n = (this._x0 + 4 * this._x1 + t) / 6, + r = (this._y0 + 4 * this._y1 + e) / 6; + this._line ? this._context.lineTo(n, r) : this._context.moveTo(n, r); + break; + case 3: + this._point = 4; + default: + vx(this, t, e) + } + this._x0 = this._x1, this._x1 = t, this._y0 = this._y1, this._y1 = e + } + }; + var Ex = function(t) { + return new kx(t) + }; + + function Ax(t, e) { + this._basis = new mx(t), this._beta = e + } + Ax.prototype = { + lineStart: function() { + this._x = [], this._y = [], this._basis.lineStart() + }, + lineEnd: function() { + var t = this._x, + e = this._y, + n = t.length - 1; + if (n > 0) + for (var r, i = t[0], a = e[0], o = t[n] - i, s = e[n] - a, u = -1; ++u <= n;) r = u / n, this._basis.point(this._beta * t[u] + (1 - this._beta) * (i + r * o), this._beta * e[u] + (1 - this._beta) * (a + r * s)); + this._x = this._y = null, this._basis.lineEnd() + }, + point: function(t, e) { + this._x.push(+t), this._y.push(+e) + } + }; + var Sx = function t(e) { + function n(t) { + return 1 === e ? new mx(t) : new Ax(t, e) + } + return n.beta = function(e) { + return t(+e) + }, n + }(.85); + + function Mx(t, e, n) { + t._context.bezierCurveTo(t._x1 + t._k * (t._x2 - t._x0), t._y1 + t._k * (t._y2 - t._y0), t._x2 + t._k * (t._x1 - e), t._y2 + t._k * (t._y1 - n), t._x2, t._y2) + } + + function Tx(t, e) { + this._context = t, this._k = (1 - e) / 6 + } + Tx.prototype = { + areaStart: function() { + this._line = 0 + }, + areaEnd: function() { + this._line = NaN + }, + lineStart: function() { + this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN, this._point = 0 + }, + lineEnd: function() { + switch (this._point) { + case 2: + this._context.lineTo(this._x2, this._y2); + break; + case 3: + Mx(this, this._x1, this._y1) + }(this._line || 0 !== this._line && 1 === this._point) && this._context.closePath(), this._line = 1 - this._line + }, + point: function(t, e) { + switch (t = +t, e = +e, this._point) { + case 0: + this._point = 1, this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e); + break; + case 1: + this._point = 2, this._x1 = t, this._y1 = e; + break; + case 2: + this._point = 3; + default: + Mx(this, t, e) + } + this._x0 = this._x1, this._x1 = this._x2, this._x2 = t, this._y0 = this._y1, this._y1 = this._y2, this._y2 = e + } + }; + var Dx = function t(e) { + function n(t) { + return new Tx(t, e) + } + return n.tension = function(e) { + return t(+e) + }, n + }(0); + + function Cx(t, e) { + this._context = t, this._k = (1 - e) / 6 + } + Cx.prototype = { + areaStart: bx, + areaEnd: bx, + lineStart: function() { + this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN, this._point = 0 + }, + lineEnd: function() { + switch (this._point) { + case 1: + this._context.moveTo(this._x3, this._y3), this._context.closePath(); + break; + case 2: + this._context.lineTo(this._x3, this._y3), this._context.closePath(); + break; + case 3: + this.point(this._x3, this._y3), this.point(this._x4, this._y4), this.point(this._x5, this._y5) + } + }, + point: function(t, e) { + switch (t = +t, e = +e, this._point) { + case 0: + this._point = 1, this._x3 = t, this._y3 = e; + break; + case 1: + this._point = 2, this._context.moveTo(this._x4 = t, this._y4 = e); + break; + case 2: + this._point = 3, this._x5 = t, this._y5 = e; + break; + default: + Mx(this, t, e) + } + this._x0 = this._x1, this._x1 = this._x2, this._x2 = t, this._y0 = this._y1, this._y1 = this._y2, this._y2 = e + } + }; + var Nx = function t(e) { + function n(t) { + return new Cx(t, e) + } + return n.tension = function(e) { + return t(+e) + }, n + }(0); + + function Ix(t, e) { + this._context = t, this._k = (1 - e) / 6 + } + Ix.prototype = { + areaStart: function() { + this._line = 0 + }, + areaEnd: function() { + this._line = NaN + }, + lineStart: function() { + this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN, this._point = 0 + }, + lineEnd: function() { + (this._line || 0 !== this._line && 3 === this._point) && this._context.closePath(), this._line = 1 - this._line + }, + point: function(t, e) { + switch (t = +t, e = +e, this._point) { + case 0: + this._point = 1; + break; + case 1: + this._point = 2; + break; + case 2: + this._point = 3, this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); + break; + case 3: + this._point = 4; + default: + Mx(this, t, e) + } + this._x0 = this._x1, this._x1 = this._x2, this._x2 = t, this._y0 = this._y1, this._y1 = this._y2, this._y2 = e + } + }; + var Lx = function t(e) { + function n(t) { + return new Ix(t, e) + } + return n.tension = function(e) { + return t(+e) + }, n + }(0); + + function Bx(t, e, n) { + var r = t._x1, + i = t._y1, + a = t._x2, + o = t._y2; + if (t._l01_a > gw) { + var s = 2 * t._l01_2a + 3 * t._l01_a * t._l12_a + t._l12_2a, + u = 3 * t._l01_a * (t._l01_a + t._l12_a); + r = (r * s - t._x0 * t._l12_2a + t._x2 * t._l01_2a) / u, i = (i * s - t._y0 * t._l12_2a + t._y2 * t._l01_2a) / u + } + if (t._l23_a > gw) { + var c = 2 * t._l23_2a + 3 * t._l23_a * t._l12_a + t._l12_2a, + f = 3 * t._l23_a * (t._l23_a + t._l12_a); + a = (a * c + t._x1 * t._l23_2a - e * t._l12_2a) / f, o = (o * c + t._y1 * t._l23_2a - n * t._l12_2a) / f + } + t._context.bezierCurveTo(r, i, a, o, t._x2, t._y2) + } + + function Ox(t, e) { + this._context = t, this._alpha = e + } + Ox.prototype = { + areaStart: function() { + this._line = 0 + }, + areaEnd: function() { + this._line = NaN + }, + lineStart: function() { + this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN, this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0 + }, + lineEnd: function() { + switch (this._point) { + case 2: + this._context.lineTo(this._x2, this._y2); + break; + case 3: + this.point(this._x2, this._y2) + }(this._line || 0 !== this._line && 1 === this._point) && this._context.closePath(), this._line = 1 - this._line + }, + point: function(t, e) { + if (t = +t, e = +e, this._point) { + var n = this._x2 - t, + r = this._y2 - e; + this._l23_a = Math.sqrt(this._l23_2a = Math.pow(n * n + r * r, this._alpha)) + } + switch (this._point) { + case 0: + this._point = 1, this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e); + break; + case 1: + this._point = 2; + break; + case 2: + this._point = 3; + default: + Bx(this, t, e) + } + this._l01_a = this._l12_a, this._l12_a = this._l23_a, this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a, this._x0 = this._x1, this._x1 = this._x2, this._x2 = t, this._y0 = this._y1, this._y1 = this._y2, this._y2 = e + } + }; + var Rx = function t(e) { + function n(t) { + return e ? new Ox(t, e) : new Tx(t, 0) + } + return n.alpha = function(e) { + return t(+e) + }, n + }(.5); + + function Px(t, e) { + this._context = t, this._alpha = e + } + Px.prototype = { + areaStart: bx, + areaEnd: bx, + lineStart: function() { + this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN, this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0 + }, + lineEnd: function() { + switch (this._point) { + case 1: + this._context.moveTo(this._x3, this._y3), this._context.closePath(); + break; + case 2: + this._context.lineTo(this._x3, this._y3), this._context.closePath(); + break; + case 3: + this.point(this._x3, this._y3), this.point(this._x4, this._y4), this.point(this._x5, this._y5) + } + }, + point: function(t, e) { + if (t = +t, e = +e, this._point) { + var n = this._x2 - t, + r = this._y2 - e; + this._l23_a = Math.sqrt(this._l23_2a = Math.pow(n * n + r * r, this._alpha)) + } + switch (this._point) { + case 0: + this._point = 1, this._x3 = t, this._y3 = e; + break; + case 1: + this._point = 2, this._context.moveTo(this._x4 = t, this._y4 = e); + break; + case 2: + this._point = 3, this._x5 = t, this._y5 = e; + break; + default: + Bx(this, t, e) + } + this._l01_a = this._l12_a, this._l12_a = this._l23_a, this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a, this._x0 = this._x1, this._x1 = this._x2, this._x2 = t, this._y0 = this._y1, this._y1 = this._y2, this._y2 = e + } + }; + var Fx = function t(e) { + function n(t) { + return e ? new Px(t, e) : new Cx(t, 0) + } + return n.alpha = function(e) { + return t(+e) + }, n + }(.5); + + function qx(t, e) { + this._context = t, this._alpha = e + } + qx.prototype = { + areaStart: function() { + this._line = 0 + }, + areaEnd: function() { + this._line = NaN + }, + lineStart: function() { + this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN, this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0 + }, + lineEnd: function() { + (this._line || 0 !== this._line && 3 === this._point) && this._context.closePath(), this._line = 1 - this._line + }, + point: function(t, e) { + if (t = +t, e = +e, this._point) { + var n = this._x2 - t, + r = this._y2 - e; + this._l23_a = Math.sqrt(this._l23_2a = Math.pow(n * n + r * r, this._alpha)) + } + switch (this._point) { + case 0: + this._point = 1; + break; + case 1: + this._point = 2; + break; + case 2: + this._point = 3, this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); + break; + case 3: + this._point = 4; + default: + Bx(this, t, e) + } + this._l01_a = this._l12_a, this._l12_a = this._l23_a, this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a, this._x0 = this._x1, this._x1 = this._x2, this._x2 = t, this._y0 = this._y1, this._y1 = this._y2, this._y2 = e + } + }; + var jx = function t(e) { + function n(t) { + return e ? new qx(t, e) : new Ix(t, 0) + } + return n.alpha = function(e) { + return t(+e) + }, n + }(.5); + + function Ux(t) { + this._context = t + } + Ux.prototype = { + areaStart: bx, + areaEnd: bx, + lineStart: function() { + this._point = 0 + }, + lineEnd: function() { + this._point && this._context.closePath() + }, + point: function(t, e) { + t = +t, e = +e, this._point ? this._context.lineTo(t, e) : (this._point = 1, this._context.moveTo(t, e)) + } + }; + var zx = function(t) { + return new Ux(t) + }; + + function Yx(t) { + return t < 0 ? -1 : 1 + } + + function Vx(t, e, n) { + var r = t._x1 - t._x0, + i = e - t._x1, + a = (t._y1 - t._y0) / (r || i < 0 && -0), + o = (n - t._y1) / (i || r < 0 && -0), + s = (a * i + o * r) / (r + i); + return (Yx(a) + Yx(o)) * Math.min(Math.abs(a), Math.abs(o), .5 * Math.abs(s)) || 0 + } + + function Hx(t, e) { + var n = t._x1 - t._x0; + return n ? (3 * (t._y1 - t._y0) / n - e) / 2 : e + } + + function Gx(t, e, n) { + var r = t._x0, + i = t._y0, + a = t._x1, + o = t._y1, + s = (a - r) / 3; + t._context.bezierCurveTo(r + s, i + s * e, a - s, o - s * n, a, o) + } + + function $x(t) { + this._context = t + } + + function Wx(t) { + this._context = new Kx(t) + } + + function Kx(t) { + this._context = t + } + + function Xx(t) { + return new $x(t) + } + + function Zx(t) { + return new Wx(t) + } + + function Jx(t) { + this._context = t + } + + function Qx(t) { + var e, n, r = t.length - 1, + i = new Array(r), + a = new Array(r), + o = new Array(r); + for (i[0] = 0, a[0] = 2, o[0] = t[0] + 2 * t[1], e = 1; e < r - 1; ++e) i[e] = 1, a[e] = 4, o[e] = 4 * t[e] + 2 * t[e + 1]; + for (i[r - 1] = 2, a[r - 1] = 7, o[r - 1] = 8 * t[r - 1] + t[r], e = 1; e < r; ++e) n = i[e] / a[e - 1], a[e] -= n, o[e] -= n * o[e - 1]; + for (i[r - 1] = o[r - 1] / a[r - 1], e = r - 2; e >= 0; --e) i[e] = (o[e] - i[e + 1]) / a[e]; + for (a[r - 1] = (t[r] + i[r - 1]) / 2, e = 0; e < r - 1; ++e) a[e] = 2 * t[e + 1] - i[e + 1]; + return [i, a] + } + $x.prototype = { + areaStart: function() { + this._line = 0 + }, + areaEnd: function() { + this._line = NaN + }, + lineStart: function() { + this._x0 = this._x1 = this._y0 = this._y1 = this._t0 = NaN, this._point = 0 + }, + lineEnd: function() { + switch (this._point) { + case 2: + this._context.lineTo(this._x1, this._y1); + break; + case 3: + Gx(this, this._t0, Hx(this, this._t0)) + }(this._line || 0 !== this._line && 1 === this._point) && this._context.closePath(), this._line = 1 - this._line + }, + point: function(t, e) { + var n = NaN; + if (e = +e, (t = +t) !== this._x1 || e !== this._y1) { + switch (this._point) { + case 0: + this._point = 1, this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e); + break; + case 1: + this._point = 2; + break; + case 2: + this._point = 3, Gx(this, Hx(this, n = Vx(this, t, e)), n); + break; + default: + Gx(this, this._t0, n = Vx(this, t, e)) + } + this._x0 = this._x1, this._x1 = t, this._y0 = this._y1, this._y1 = e, this._t0 = n + } + } + }, (Wx.prototype = Object.create($x.prototype)).point = function(t, e) { + $x.prototype.point.call(this, e, t) + }, Kx.prototype = { + moveTo: function(t, e) { + this._context.moveTo(e, t) + }, + closePath: function() { + this._context.closePath() + }, + lineTo: function(t, e) { + this._context.lineTo(e, t) + }, + bezierCurveTo: function(t, e, n, r, i, a) { + this._context.bezierCurveTo(e, t, r, n, a, i) + } + }, Jx.prototype = { + areaStart: function() { + this._line = 0 + }, + areaEnd: function() { + this._line = NaN + }, + lineStart: function() { + this._x = [], this._y = [] + }, + lineEnd: function() { + var t = this._x, + e = this._y, + n = t.length; + if (n) + if (this._line ? this._context.lineTo(t[0], e[0]) : this._context.moveTo(t[0], e[0]), 2 === n) this._context.lineTo(t[1], e[1]); + else + for (var r = Qx(t), i = Qx(e), a = 0, o = 1; o < n; ++a, ++o) this._context.bezierCurveTo(r[0][a], i[0][a], r[1][a], i[1][a], t[o], e[o]); + (this._line || 0 !== this._line && 1 === n) && this._context.closePath(), this._line = 1 - this._line, this._x = this._y = null + }, + point: function(t, e) { + this._x.push(+t), this._y.push(+e) + } + }; + var tk = function(t) { + return new Jx(t) + }; + + function ek(t, e) { + this._context = t, this._t = e + } + ek.prototype = { + areaStart: function() { + this._line = 0 + }, + areaEnd: function() { + this._line = NaN + }, + lineStart: function() { + this._x = this._y = NaN, this._point = 0 + }, + lineEnd: function() { + 0 < this._t && this._t < 1 && 2 === this._point && this._context.lineTo(this._x, this._y), (this._line || 0 !== this._line && 1 === this._point) && this._context.closePath(), this._line >= 0 && (this._t = 1 - this._t, this._line = 1 - this._line) + }, + point: function(t, e) { + switch (t = +t, e = +e, this._point) { + case 0: + this._point = 1, this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e); + break; + case 1: + this._point = 2; + default: + if (this._t <= 0) this._context.lineTo(this._x, e), this._context.lineTo(t, e); + else { + var n = this._x * (1 - this._t) + t * this._t; + this._context.lineTo(n, this._y), this._context.lineTo(n, e) + } + } + this._x = t, this._y = e + } + }; + var nk = function(t) { + return new ek(t, .5) + }; + + function rk(t) { + return new ek(t, 0) + } + + function ik(t) { + return new ek(t, 1) + } + var ak = function(t, e) { + if ((i = t.length) > 1) + for (var n, r, i, a = 1, o = t[e[0]], s = o.length; a < i; ++a) + for (r = o, o = t[e[a]], n = 0; n < s; ++n) o[n][1] += o[n][0] = isNaN(r[n][1]) ? r[n][0] : r[n][1] + }, + ok = function(t) { + for (var e = t.length, n = new Array(e); --e >= 0;) n[e] = e; + return n + }; + + function sk(t, e) { + return t[e] + } + var uk = function() { + var t = sw([]), + e = ok, + n = ak, + r = sk; + + function i(i) { + var a, o, s = t.apply(this, arguments), + u = i.length, + c = s.length, + f = new Array(c); + for (a = 0; a < c; ++a) { + for (var l, h = s[a], d = f[a] = new Array(u), p = 0; p < u; ++p) d[p] = l = [0, +r(i[p], h, p, i)], l.data = i[p]; + d.key = h + } + for (a = 0, o = e(f); a < c; ++a) f[o[a]].index = a; + return n(f, o), f + } + return i.keys = function(e) { + return arguments.length ? (t = "function" == typeof e ? e : sw(Yw.call(e)), i) : t + }, i.value = function(t) { + return arguments.length ? (r = "function" == typeof t ? t : sw(+t), i) : r + }, i.order = function(t) { + return arguments.length ? (e = null == t ? ok : "function" == typeof t ? t : sw(Yw.call(t)), i) : e + }, i.offset = function(t) { + return arguments.length ? (n = null == t ? ak : t, i) : n + }, i + }, + ck = function(t, e) { + if ((r = t.length) > 0) { + for (var n, r, i, a = 0, o = t[0].length; a < o; ++a) { + for (i = n = 0; n < r; ++n) i += t[n][a][1] || 0; + if (i) + for (n = 0; n < r; ++n) t[n][a][1] /= i + } + ak(t, e) + } + }, + fk = function(t, e) { + if ((s = t.length) > 0) + for (var n, r, i, a, o, s, u = 0, c = t[e[0]].length; u < c; ++u) + for (a = o = 0, n = 0; n < s; ++n)(i = (r = t[e[n]][u])[1] - r[0]) > 0 ? (r[0] = a, r[1] = a += i) : i < 0 ? (r[1] = o, r[0] = o += i) : (r[0] = 0, r[1] = i) + }, + lk = function(t, e) { + if ((n = t.length) > 0) { + for (var n, r = 0, i = t[e[0]], a = i.length; r < a; ++r) { + for (var o = 0, s = 0; o < n; ++o) s += t[o][r][1] || 0; + i[r][1] += i[r][0] = -s / 2 + } + ak(t, e) + } + }, + hk = function(t, e) { + if ((i = t.length) > 0 && (r = (n = t[e[0]]).length) > 0) { + for (var n, r, i, a = 0, o = 1; o < r; ++o) { + for (var s = 0, u = 0, c = 0; s < i; ++s) { + for (var f = t[e[s]], l = f[o][1] || 0, h = (l - (f[o - 1][1] || 0)) / 2, d = 0; d < s; ++d) { + var p = t[e[d]]; + h += (p[o][1] || 0) - (p[o - 1][1] || 0) + } + u += l, c += h * l + } + n[o - 1][1] += n[o - 1][0] = a, u && (a -= c / u) + } + n[o - 1][1] += n[o - 1][0] = a, ak(t, e) + } + }, + dk = function(t) { + var e = t.map(pk); + return ok(t).sort((function(t, n) { + return e[t] - e[n] + })) + }; + + function pk(t) { + for (var e, n = -1, r = 0, i = t.length, a = -1 / 0; ++n < i;)(e = +t[n][1]) > a && (a = e, r = n); + return r + } + var gk = function(t) { + var e = t.map(yk); + return ok(t).sort((function(t, n) { + return e[t] - e[n] + })) + }; + + function yk(t) { + for (var e, n = 0, r = -1, i = t.length; ++r < i;)(e = +t[r][1]) && (n += e); + return n + } + var bk = function(t) { + return gk(t).reverse() + }, + vk = function(t) { + var e, n, r = t.length, + i = t.map(yk), + a = dk(t), + o = 0, + s = 0, + u = [], + c = []; + for (e = 0; e < r; ++e) n = a[e], o < s ? (o += i[n], u.push(n)) : (s += i[n], c.push(n)); + return c.reverse().concat(u) + }, + mk = function(t) { + return ok(t).reverse() + }; + var _k = Date.prototype.toISOString ? function(t) { + return t.toISOString() + } : Ib("%Y-%m-%dT%H:%M:%S.%LZ"); + var wk = +new Date("2000-01-01T00:00:00.000Z") ? function(t) { + var e = new Date(t); + return isNaN(e) ? null : e + } : Lb("%Y-%m-%dT%H:%M:%S.%LZ"), + xk = function(t, e, n) { + var r = new Xn, + i = e; + return null == e ? (r.restart(t, e, n), r) : (e = +e, n = null == n ? Wn() : +n, r.restart((function a(o) { + o += i, r.restart(a, i += e, n), t(o) + }), e, n), r) + }, + kk = function(t) { + return function() { + return t + } + }; + + function Ek(t) { + return t[0] + } + + function Ak(t) { + return t[1] + } + + function Sk() { + this._ = null + } + + function Mk(t) { + t.U = t.C = t.L = t.R = t.P = t.N = null + } + + function Tk(t, e) { + var n = e, + r = e.R, + i = n.U; + i ? i.L === n ? i.L = r : i.R = r : t._ = r, r.U = i, n.U = r, n.R = r.L, n.R && (n.R.U = n), r.L = n + } + + function Dk(t, e) { + var n = e, + r = e.L, + i = n.U; + i ? i.L === n ? i.L = r : i.R = r : t._ = r, r.U = i, n.U = r, n.L = r.R, n.L && (n.L.U = n), r.R = n + } + + function Ck(t) { + for (; t.L;) t = t.L; + return t + } + Sk.prototype = { + constructor: Sk, + insert: function(t, e) { + var n, r, i; + if (t) { + if (e.P = t, e.N = t.N, t.N && (t.N.P = e), t.N = e, t.R) { + for (t = t.R; t.L;) t = t.L; + t.L = e + } else t.R = e; + n = t + } else this._ ? (t = Ck(this._), e.P = null, e.N = t, t.P = t.L = e, n = t) : (e.P = e.N = null, this._ = e, n = null); + for (e.L = e.R = null, e.U = n, e.C = !0, t = e; n && n.C;) n === (r = n.U).L ? (i = r.R) && i.C ? (n.C = i.C = !1, r.C = !0, t = r) : (t === n.R && (Tk(this, n), n = (t = n).U), n.C = !1, r.C = !0, Dk(this, r)) : (i = r.L) && i.C ? (n.C = i.C = !1, r.C = !0, t = r) : (t === n.L && (Dk(this, n), n = (t = n).U), n.C = !1, r.C = !0, Tk(this, r)), n = t.U; + this._.C = !1 + }, + remove: function(t) { + t.N && (t.N.P = t.P), t.P && (t.P.N = t.N), t.N = t.P = null; + var e, n, r, i = t.U, + a = t.L, + o = t.R; + if (n = a ? o ? Ck(o) : a : o, i ? i.L === t ? i.L = n : i.R = n : this._ = n, a && o ? (r = n.C, n.C = t.C, n.L = a, a.U = n, n !== o ? (i = n.U, n.U = t.U, t = n.R, i.L = t, n.R = o, o.U = n) : (n.U = i, i = n, t = n.R)) : (r = t.C, t = n), t && (t.U = i), !r) + if (t && t.C) t.C = !1; + else { + do { + if (t === this._) break; + if (t === i.L) { + if ((e = i.R).C && (e.C = !1, i.C = !0, Tk(this, i), e = i.R), e.L && e.L.C || e.R && e.R.C) { + e.R && e.R.C || (e.L.C = !1, e.C = !0, Dk(this, e), e = i.R), e.C = i.C, i.C = e.R.C = !1, Tk(this, i), t = this._; + break + } + } else if ((e = i.L).C && (e.C = !1, i.C = !0, Dk(this, i), e = i.L), e.L && e.L.C || e.R && e.R.C) { + e.L && e.L.C || (e.R.C = !1, e.C = !0, Tk(this, e), e = i.L), e.C = i.C, i.C = e.L.C = !1, Dk(this, i), t = this._; + break + } + e.C = !0, t = i, i = i.U + } while (!t.C); + t && (t.C = !1) + } + } + }; + var Nk = Sk; + + function Ik(t, e, n, r) { + var i = [null, null], + a = nE.push(i) - 1; + return i.left = t, i.right = e, n && Bk(i, t, e, n), r && Bk(i, e, t, r), tE[t.index].halfedges.push(a), tE[e.index].halfedges.push(a), i + } + + function Lk(t, e, n) { + var r = [e, n]; + return r.left = t, r + } + + function Bk(t, e, n, r) { + t[0] || t[1] ? t.left === n ? t[1] = r : t[0] = r : (t[0] = r, t.left = e, t.right = n) + } + + function Ok(t, e, n, r, i) { + var a, o = t[0], + s = t[1], + u = o[0], + c = o[1], + f = 0, + l = 1, + h = s[0] - u, + d = s[1] - c; + if (a = e - u, h || !(a > 0)) { + if (a /= h, h < 0) { + if (a < f) return; + a < l && (l = a) + } else if (h > 0) { + if (a > l) return; + a > f && (f = a) + } + if (a = r - u, h || !(a < 0)) { + if (a /= h, h < 0) { + if (a > l) return; + a > f && (f = a) + } else if (h > 0) { + if (a < f) return; + a < l && (l = a) + } + if (a = n - c, d || !(a > 0)) { + if (a /= d, d < 0) { + if (a < f) return; + a < l && (l = a) + } else if (d > 0) { + if (a > l) return; + a > f && (f = a) + } + if (a = i - c, d || !(a < 0)) { + if (a /= d, d < 0) { + if (a > l) return; + a > f && (f = a) + } else if (d > 0) { + if (a < f) return; + a < l && (l = a) + } + return !(f > 0 || l < 1) || (f > 0 && (t[0] = [u + f * h, c + f * d]), l < 1 && (t[1] = [u + l * h, c + l * d]), !0) + } + } + } + } + } + + function Rk(t, e, n, r, i) { + var a = t[1]; + if (a) return !0; + var o, s, u = t[0], + c = t.left, + f = t.right, + l = c[0], + h = c[1], + d = f[0], + p = f[1], + g = (l + d) / 2, + y = (h + p) / 2; + if (p === h) { + if (g < e || g >= r) return; + if (l > d) { + if (u) { + if (u[1] >= i) return + } else u = [g, n]; + a = [g, i] + } else { + if (u) { + if (u[1] < n) return + } else u = [g, i]; + a = [g, n] + } + } else if (s = y - (o = (l - d) / (p - h)) * g, o < -1 || o > 1) + if (l > d) { + if (u) { + if (u[1] >= i) return + } else u = [(n - s) / o, n]; + a = [(i - s) / o, i] + } else { + if (u) { + if (u[1] < n) return + } else u = [(i - s) / o, i]; + a = [(n - s) / o, n] + } + else if (h < p) { + if (u) { + if (u[0] >= r) return + } else u = [e, o * e + s]; + a = [r, o * r + s] + } else { + if (u) { + if (u[0] < e) return + } else u = [r, o * r + s]; + a = [e, o * e + s] + } + return t[0] = u, t[1] = a, !0 + } + + function Pk(t, e) { + var n = t.site, + r = e.left, + i = e.right; + return n === i && (i = r, r = n), i ? Math.atan2(i[1] - r[1], i[0] - r[0]) : (n === r ? (r = e[1], i = e[0]) : (r = e[0], i = e[1]), Math.atan2(r[0] - i[0], i[1] - r[1])) + } + + function Fk(t, e) { + return e[+(e.left !== t.site)] + } + + function qk(t, e) { + return e[+(e.left === t.site)] + } + var jk, Uk = []; + + function zk() { + Mk(this), this.x = this.y = this.arc = this.site = this.cy = null + } + + function Yk(t) { + var e = t.P, + n = t.N; + if (e && n) { + var r = e.site, + i = t.site, + a = n.site; + if (r !== a) { + var o = i[0], + s = i[1], + u = r[0] - o, + c = r[1] - s, + f = a[0] - o, + l = a[1] - s, + h = 2 * (u * l - c * f); + if (!(h >= -iE)) { + var d = u * u + c * c, + p = f * f + l * l, + g = (l * d - c * p) / h, + y = (u * p - f * d) / h, + b = Uk.pop() || new zk; + b.arc = t, b.site = i, b.x = g + o, b.y = (b.cy = y + s) + Math.sqrt(g * g + y * y), t.circle = b; + for (var v = null, m = eE._; m;) + if (b.y < m.y || b.y === m.y && b.x <= m.x) { + if (!m.L) { + v = m.P; + break + } + m = m.L + } else { + if (!m.R) { + v = m; + break + } + m = m.R + } eE.insert(v, b), v || (jk = b) + } + } + } + } + + function Vk(t) { + var e = t.circle; + e && (e.P || (jk = e.N), eE.remove(e), Uk.push(e), Mk(e), t.circle = null) + } + var Hk = []; + + function Gk() { + Mk(this), this.edge = this.site = this.circle = null + } + + function $k(t) { + var e = Hk.pop() || new Gk; + return e.site = t, e + } + + function Wk(t) { + Vk(t), Qk.remove(t), Hk.push(t), Mk(t) + } + + function Kk(t) { + var e = t.circle, + n = e.x, + r = e.cy, + i = [n, r], + a = t.P, + o = t.N, + s = [t]; + Wk(t); + for (var u = a; u.circle && Math.abs(n - u.circle.x) < rE && Math.abs(r - u.circle.cy) < rE;) a = u.P, s.unshift(u), Wk(u), u = a; + s.unshift(u), Vk(u); + for (var c = o; c.circle && Math.abs(n - c.circle.x) < rE && Math.abs(r - c.circle.cy) < rE;) o = c.N, s.push(c), Wk(c), c = o; + s.push(c), Vk(c); + var f, l = s.length; + for (f = 1; f < l; ++f) c = s[f], u = s[f - 1], Bk(c.edge, u.site, c.site, i); + u = s[0], (c = s[l - 1]).edge = Ik(u.site, c.site, null, i), Yk(u), Yk(c) + } + + function Xk(t) { + for (var e, n, r, i, a = t[0], o = t[1], s = Qk._; s;) + if ((r = Zk(s, o) - a) > rE) s = s.L; + else { + if (!((i = a - Jk(s, o)) > rE)) { + r > -rE ? (e = s.P, n = s) : i > -rE ? (e = s, n = s.N) : e = n = s; + break + } + if (!s.R) { + e = s; + break + } + s = s.R + }! + function(t) { + tE[t.index] = { + site: t, + halfedges: [] + } + }(t); + var u = $k(t); + if (Qk.insert(e, u), e || n) { + if (e === n) return Vk(e), n = $k(e.site), Qk.insert(u, n), u.edge = n.edge = Ik(e.site, u.site), Yk(e), void Yk(n); + if (n) { + Vk(e), Vk(n); + var c = e.site, + f = c[0], + l = c[1], + h = t[0] - f, + d = t[1] - l, + p = n.site, + g = p[0] - f, + y = p[1] - l, + b = 2 * (h * y - d * g), + v = h * h + d * d, + m = g * g + y * y, + _ = [(y * v - d * m) / b + f, (h * m - g * v) / b + l]; + Bk(n.edge, c, p, _), u.edge = Ik(c, t, null, _), n.edge = Ik(t, p, null, _), Yk(e), Yk(n) + } else u.edge = Ik(e.site, u.site) + } + } + + function Zk(t, e) { + var n = t.site, + r = n[0], + i = n[1], + a = i - e; + if (!a) return r; + var o = t.P; + if (!o) return -1 / 0; + var s = (n = o.site)[0], + u = n[1], + c = u - e; + if (!c) return s; + var f = s - r, + l = 1 / a - 1 / c, + h = f / c; + return l ? (-h + Math.sqrt(h * h - 2 * l * (f * f / (-2 * c) - u + c / 2 + i - a / 2))) / l + r : (r + s) / 2 + } + + function Jk(t, e) { + var n = t.N; + if (n) return Zk(n, e); + var r = t.site; + return r[1] === e ? r[0] : 1 / 0 + } + var Qk, tE, eE, nE, rE = 1e-6, + iE = 1e-12; + + function aE(t, e) { + return e[1] - t[1] || e[0] - t[0] + } + + function oE(t, e) { + var n, r, i, a = t.sort(aE).pop(); + for (nE = [], tE = new Array(t.length), Qk = new Nk, eE = new Nk;;) + if (i = jk, a && (!i || a[1] < i.y || a[1] === i.y && a[0] < i.x)) a[0] === n && a[1] === r || (Xk(a), n = a[0], r = a[1]), a = t.pop(); + else { + if (!i) break; + Kk(i.arc) + } if (function() { + for (var t, e, n, r, i = 0, a = tE.length; i < a; ++i) + if ((t = tE[i]) && (r = (e = t.halfedges).length)) { + var o = new Array(r), + s = new Array(r); + for (n = 0; n < r; ++n) o[n] = n, s[n] = Pk(t, nE[e[n]]); + for (o.sort((function(t, e) { + return s[e] - s[t] + })), n = 0; n < r; ++n) s[n] = e[o[n]]; + for (n = 0; n < r; ++n) e[n] = s[n] + } + }(), e) { + var o = +e[0][0], + s = +e[0][1], + u = +e[1][0], + c = +e[1][1]; + ! function(t, e, n, r) { + for (var i, a = nE.length; a--;) Rk(i = nE[a], t, e, n, r) && Ok(i, t, e, n, r) && (Math.abs(i[0][0] - i[1][0]) > rE || Math.abs(i[0][1] - i[1][1]) > rE) || delete nE[a] + }(o, s, u, c), + function(t, e, n, r) { + var i, a, o, s, u, c, f, l, h, d, p, g, y = tE.length, + b = !0; + for (i = 0; i < y; ++i) + if (a = tE[i]) { + for (o = a.site, s = (u = a.halfedges).length; s--;) nE[u[s]] || u.splice(s, 1); + for (s = 0, c = u.length; s < c;) p = (d = qk(a, nE[u[s]]))[0], g = d[1], l = (f = Fk(a, nE[u[++s % c]]))[0], h = f[1], (Math.abs(p - l) > rE || Math.abs(g - h) > rE) && (u.splice(s, 0, nE.push(Lk(o, d, Math.abs(p - t) < rE && r - g > rE ? [t, Math.abs(l - t) < rE ? h : r] : Math.abs(g - r) < rE && n - p > rE ? [Math.abs(h - r) < rE ? l : n, r] : Math.abs(p - n) < rE && g - e > rE ? [n, Math.abs(l - n) < rE ? h : e] : Math.abs(g - e) < rE && p - t > rE ? [Math.abs(h - e) < rE ? l : t, e] : null)) - 1), ++c); + c && (b = !1) + } if (b) { + var v, m, _, w = 1 / 0; + for (i = 0, b = null; i < y; ++i)(a = tE[i]) && (_ = (v = (o = a.site)[0] - t) * v + (m = o[1] - e) * m) < w && (w = _, b = a); + if (b) { + var x = [t, e], + k = [t, r], + E = [n, r], + A = [n, e]; + b.halfedges.push(nE.push(Lk(o = b.site, x, k)) - 1, nE.push(Lk(o, k, E)) - 1, nE.push(Lk(o, E, A)) - 1, nE.push(Lk(o, A, x)) - 1) + } + } + for (i = 0; i < y; ++i)(a = tE[i]) && (a.halfedges.length || delete tE[i]) + }(o, s, u, c) + } + this.edges = nE, this.cells = tE, Qk = eE = nE = tE = null + } + oE.prototype = { + constructor: oE, + polygons: function() { + var t = this.edges; + return this.cells.map((function(e) { + var n = e.halfedges.map((function(n) { + return Fk(e, t[n]) + })); + return n.data = e.site.data, n + })) + }, + triangles: function() { + var t = [], + e = this.edges; + return this.cells.forEach((function(n, r) { + if (a = (i = n.halfedges).length) + for (var i, a, o, s, u, c, f = n.site, l = -1, h = e[i[a - 1]], d = h.left === f ? h.right : h.left; ++l < a;) o = d, d = (h = e[i[l]]).left === f ? h.right : h.left, o && d && r < o.index && r < d.index && (u = o, c = d, ((s = f)[0] - c[0]) * (u[1] - s[1]) - (s[0] - u[0]) * (c[1] - s[1]) < 0) && t.push([f.data, o.data, d.data]) + })), t + }, + links: function() { + return this.edges.filter((function(t) { + return t.right + })).map((function(t) { + return { + source: t.left.data, + target: t.right.data + } + })) + }, + find: function(t, e, n) { + for (var r, i, a = this, o = a._found || 0, s = a.cells.length; !(i = a.cells[o]);) + if (++o >= s) return null; + var u = t - i.site[0], + c = e - i.site[1], + f = u * u + c * c; + do { + i = a.cells[r = o], o = null, i.halfedges.forEach((function(n) { + var r = a.edges[n], + s = r.left; + if (s !== i.site && s || (s = r.right)) { + var u = t - s[0], + c = e - s[1], + l = u * u + c * c; + l < f && (f = l, o = s.index) + } + })) + } while (null !== o); + return a._found = r, null == n || f <= n * n ? i.site : null + } + }; + var sE = function() { + var t = Ek, + e = Ak, + n = null; + + function r(r) { + return new oE(r.map((function(n, i) { + var a = [Math.round(t(n, i, r) / rE) * rE, Math.round(e(n, i, r) / rE) * rE]; + return a.index = i, a.data = n, a + })), n) + } + return r.polygons = function(t) { + return r(t).polygons() + }, r.links = function(t) { + return r(t).links() + }, r.triangles = function(t) { + return r(t).triangles() + }, r.x = function(e) { + return arguments.length ? (t = "function" == typeof e ? e : kk(+e), r) : t + }, r.y = function(t) { + return arguments.length ? (e = "function" == typeof t ? t : kk(+t), r) : e + }, r.extent = function(t) { + return arguments.length ? (n = null == t ? null : [ + [+t[0][0], +t[0][1]], + [+t[1][0], +t[1][1]] + ], r) : n && [ + [n[0][0], n[0][1]], + [n[1][0], n[1][1]] + ] + }, r.size = function(t) { + return arguments.length ? (n = null == t ? null : [ + [0, 0], + [+t[0], +t[1]] + ], r) : n && [n[1][0] - n[0][0], n[1][1] - n[0][1]] + }, r + }, + uE = function(t) { + return function() { + return t + } + }; + + function cE(t, e, n) { + this.target = t, this.type = e, this.transform = n + } + + function fE(t, e, n) { + this.k = t, this.x = e, this.y = n + } + fE.prototype = { + constructor: fE, + scale: function(t) { + return 1 === t ? this : new fE(this.k * t, this.x, this.y) + }, + translate: function(t, e) { + return 0 === t & 0 === e ? this : new fE(this.k, this.x + this.k * t, this.y + this.k * e) + }, + apply: function(t) { + return [t[0] * this.k + this.x, t[1] * this.k + this.y] + }, + applyX: function(t) { + return t * this.k + this.x + }, + applyY: function(t) { + return t * this.k + this.y + }, + invert: function(t) { + return [(t[0] - this.x) / this.k, (t[1] - this.y) / this.k] + }, + invertX: function(t) { + return (t - this.x) / this.k + }, + invertY: function(t) { + return (t - this.y) / this.k + }, + rescaleX: function(t) { + return t.copy().domain(t.range().map(this.invertX, this).map(t.invert, t)) + }, + rescaleY: function(t) { + return t.copy().domain(t.range().map(this.invertY, this).map(t.invert, t)) + }, + toString: function() { + return "translate(" + this.x + "," + this.y + ") scale(" + this.k + ")" + } + }; + var lE = new fE(1, 0, 0); + + function hE(t) { + for (; !t.__zoom;) + if (!(t = t.parentNode)) return lE; + return t.__zoom + } + + function dE() { + pe.stopImmediatePropagation() + } + hE.prototype = fE.prototype; + var pE = function() { + pe.preventDefault(), pe.stopImmediatePropagation() + }; + + function gE() { + return !pe.ctrlKey && !pe.button + } + + function yE() { + var t = this; + return t instanceof SVGElement ? (t = t.ownerSVGElement || t).hasAttribute("viewBox") ? [ + [(t = t.viewBox.baseVal).x, t.y], + [t.x + t.width, t.y + t.height] + ] : [ + [0, 0], + [t.width.baseVal.value, t.height.baseVal.value] + ] : [ + [0, 0], + [t.clientWidth, t.clientHeight] + ] + } + + function bE() { + return this.__zoom || lE + } + + function vE() { + return -pe.deltaY * (1 === pe.deltaMode ? .05 : pe.deltaMode ? 1 : .002) + } + + function mE() { + return navigator.maxTouchPoints || "ontouchstart" in this + } + + function _E(t, e, n) { + var r = t.invertX(e[0][0]) - n[0][0], + i = t.invertX(e[1][0]) - n[1][0], + a = t.invertY(e[0][1]) - n[0][1], + o = t.invertY(e[1][1]) - n[1][1]; + return t.translate(i > r ? (r + i) / 2 : Math.min(0, r) || Math.max(0, i), o > a ? (a + o) / 2 : Math.min(0, a) || Math.max(0, o)) + } + var wE = function() { + var t, e, n = gE, + r = yE, + i = _E, + a = vE, + o = mE, + s = [0, 1 / 0], + u = [ + [-1 / 0, -1 / 0], + [1 / 0, 1 / 0] + ], + c = 250, + f = Zp, + l = gt("start", "zoom", "end"), + h = 500, + d = 150, + p = 0; + + function g(t) { + t.property("__zoom", bE).on("wheel.zoom", x).on("mousedown.zoom", k).on("dblclick.zoom", E).filter(o).on("touchstart.zoom", A).on("touchmove.zoom", S).on("touchend.zoom touchcancel.zoom", M).style("touch-action", "none").style("-webkit-tap-highlight-color", "rgba(0,0,0,0)") + } + + function y(t, e) { + return (e = Math.max(s[0], Math.min(s[1], e))) === t.k ? t : new fE(e, t.x, t.y) + } + + function b(t, e, n) { + var r = e[0] - n[0] * t.k, + i = e[1] - n[1] * t.k; + return r === t.x && i === t.y ? t : new fE(t.k, r, i) + } + + function v(t) { + return [(+t[0][0] + +t[1][0]) / 2, (+t[0][1] + +t[1][1]) / 2] + } + + function m(t, e, n) { + t.on("start.zoom", (function() { + _(this, arguments).start() + })).on("interrupt.zoom end.zoom", (function() { + _(this, arguments).end() + })).tween("zoom", (function() { + var t = this, + i = arguments, + a = _(t, i), + o = r.apply(t, i), + s = null == n ? v(o) : "function" == typeof n ? n.apply(t, i) : n, + u = Math.max(o[1][0] - o[0][0], o[1][1] - o[0][1]), + c = t.__zoom, + l = "function" == typeof e ? e.apply(t, i) : e, + h = f(c.invert(s).concat(u / c.k), l.invert(s).concat(u / l.k)); + return function(t) { + if (1 === t) t = l; + else { + var e = h(t), + n = u / e[2]; + t = new fE(n, s[0] - e[0] * n, s[1] - e[1] * n) + } + a.zoom(null, t) + } + })) + } + + function _(t, e, n) { + return !n && t.__zooming || new w(t, e) + } + + function w(t, e) { + this.that = t, this.args = e, this.active = 0, this.extent = r.apply(t, e), this.taps = 0 + } + + function x() { + if (n.apply(this, arguments)) { + var t = _(this, arguments), + e = this.__zoom, + r = Math.max(s[0], Math.min(s[1], e.k * Math.pow(2, a.apply(this, arguments)))), + o = Fn(this); + if (t.wheel) t.mouse[0][0] === o[0] && t.mouse[0][1] === o[1] || (t.mouse[1] = e.invert(t.mouse[0] = o)), clearTimeout(t.wheel); + else { + if (e.k === r) return; + t.mouse = [o, e.invert(o)], _r(this), t.start() + } + pE(), t.wheel = setTimeout((function() { + t.wheel = null, t.end() + }), d), t.zoom("mouse", i(b(y(e, r), t.mouse[0], t.mouse[1]), t.extent, u)) + } + } + + function k() { + if (!e && n.apply(this, arguments)) { + var t = _(this, arguments, !0), + r = Te(pe.view).on("mousemove.zoom", (function() { + if (pE(), !t.moved) { + var e = pe.clientX - o, + n = pe.clientY - s; + t.moved = e * e + n * n > p + } + t.zoom("mouse", i(b(t.that.__zoom, t.mouse[0] = Fn(t.that), t.mouse[1]), t.extent, u)) + }), !0).on("mouseup.zoom", (function() { + r.on("mousemove.zoom mouseup.zoom", null), Ie(pe.view, t.moved), pE(), t.end() + }), !0), + a = Fn(this), + o = pe.clientX, + s = pe.clientY; + Ne(pe.view), dE(), t.mouse = [a, this.__zoom.invert(a)], _r(this), t.start() + } + } + + function E() { + if (n.apply(this, arguments)) { + var t = this.__zoom, + e = Fn(this), + a = t.invert(e), + o = t.k * (pe.shiftKey ? .5 : 2), + s = i(b(y(t, o), e, a), r.apply(this, arguments), u); + pE(), c > 0 ? Te(this).transition().duration(c).call(m, s, e) : Te(this).call(g.transform, s) + } + } + + function A() { + if (n.apply(this, arguments)) { + var e, r, i, a, o = pe.touches, + s = o.length, + u = _(this, arguments, pe.changedTouches.length === s); + for (dE(), r = 0; r < s; ++r) i = o[r], a = [a = Pn(this, o, i.identifier), this.__zoom.invert(a), i.identifier], u.touch0 ? u.touch1 || u.touch0[2] === a[2] || (u.touch1 = a, u.taps = 0) : (u.touch0 = a, e = !0, u.taps = 1 + !!t); + t && (t = clearTimeout(t)), e && (u.taps < 2 && (t = setTimeout((function() { + t = null + }), h)), _r(this), u.start()) + } + } + + function S() { + if (this.__zooming) { + var e, n, r, a, o = _(this, arguments), + s = pe.changedTouches, + c = s.length; + for (pE(), t && (t = clearTimeout(t)), o.taps = 0, e = 0; e < c; ++e) n = s[e], r = Pn(this, s, n.identifier), o.touch0 && o.touch0[2] === n.identifier ? o.touch0[0] = r : o.touch1 && o.touch1[2] === n.identifier && (o.touch1[0] = r); + if (n = o.that.__zoom, o.touch1) { + var f = o.touch0[0], + l = o.touch0[1], + h = o.touch1[0], + d = o.touch1[1], + p = (p = h[0] - f[0]) * p + (p = h[1] - f[1]) * p, + g = (g = d[0] - l[0]) * g + (g = d[1] - l[1]) * g; + n = y(n, Math.sqrt(p / g)), r = [(f[0] + h[0]) / 2, (f[1] + h[1]) / 2], a = [(l[0] + d[0]) / 2, (l[1] + d[1]) / 2] + } else { + if (!o.touch0) return; + r = o.touch0[0], a = o.touch0[1] + } + o.zoom("touch", i(b(n, r, a), o.extent, u)) + } + } + + function M() { + if (this.__zooming) { + var t, n, r = _(this, arguments), + i = pe.changedTouches, + a = i.length; + for (dE(), e && clearTimeout(e), e = setTimeout((function() { + e = null + }), h), t = 0; t < a; ++t) n = i[t], r.touch0 && r.touch0[2] === n.identifier ? delete r.touch0 : r.touch1 && r.touch1[2] === n.identifier && delete r.touch1; + if (r.touch1 && !r.touch0 && (r.touch0 = r.touch1, delete r.touch1), r.touch0) r.touch0[1] = this.__zoom.invert(r.touch0[0]); + else if (r.end(), 2 === r.taps) { + var o = Te(this).on("dblclick.zoom"); + o && o.apply(this, arguments) + } + } + } + return g.transform = function(t, e, n) { + var r = t.selection ? t.selection() : t; + r.property("__zoom", bE), t !== r ? m(t, e, n) : r.interrupt().each((function() { + _(this, arguments).start().zoom(null, "function" == typeof e ? e.apply(this, arguments) : e).end() + })) + }, g.scaleBy = function(t, e, n) { + g.scaleTo(t, (function() { + var t = this.__zoom.k, + n = "function" == typeof e ? e.apply(this, arguments) : e; + return t * n + }), n) + }, g.scaleTo = function(t, e, n) { + g.transform(t, (function() { + var t = r.apply(this, arguments), + a = this.__zoom, + o = null == n ? v(t) : "function" == typeof n ? n.apply(this, arguments) : n, + s = a.invert(o), + c = "function" == typeof e ? e.apply(this, arguments) : e; + return i(b(y(a, c), o, s), t, u) + }), n) + }, g.translateBy = function(t, e, n) { + g.transform(t, (function() { + return i(this.__zoom.translate("function" == typeof e ? e.apply(this, arguments) : e, "function" == typeof n ? n.apply(this, arguments) : n), r.apply(this, arguments), u) + })) + }, g.translateTo = function(t, e, n, a) { + g.transform(t, (function() { + var t = r.apply(this, arguments), + o = this.__zoom, + s = null == a ? v(t) : "function" == typeof a ? a.apply(this, arguments) : a; + return i(lE.translate(s[0], s[1]).scale(o.k).translate("function" == typeof e ? -e.apply(this, arguments) : -e, "function" == typeof n ? -n.apply(this, arguments) : -n), t, u) + }), a) + }, w.prototype = { + start: function() { + return 1 == ++this.active && (this.that.__zooming = this, this.emit("start")), this + }, + zoom: function(t, e) { + return this.mouse && "mouse" !== t && (this.mouse[1] = e.invert(this.mouse[0])), this.touch0 && "touch" !== t && (this.touch0[1] = e.invert(this.touch0[0])), this.touch1 && "touch" !== t && (this.touch1[1] = e.invert(this.touch1[0])), this.that.__zoom = e, this.emit("zoom"), this + }, + end: function() { + return 0 == --this.active && (delete this.that.__zooming, this.emit("end")), this + }, + emit: function(t) { + _e(new cE(g, t, this.that.__zoom), l.apply, l, [t, this.that, this.args]) + } + }, g.wheelDelta = function(t) { + return arguments.length ? (a = "function" == typeof t ? t : uE(+t), g) : a + }, g.filter = function(t) { + return arguments.length ? (n = "function" == typeof t ? t : uE(!!t), g) : n + }, g.touchable = function(t) { + return arguments.length ? (o = "function" == typeof t ? t : uE(!!t), g) : o + }, g.extent = function(t) { + return arguments.length ? (r = "function" == typeof t ? t : uE([ + [+t[0][0], +t[0][1]], + [+t[1][0], +t[1][1]] + ]), g) : r + }, g.scaleExtent = function(t) { + return arguments.length ? (s[0] = +t[0], s[1] = +t[1], g) : [s[0], s[1]] + }, g.translateExtent = function(t) { + return arguments.length ? (u[0][0] = +t[0][0], u[1][0] = +t[1][0], u[0][1] = +t[0][1], u[1][1] = +t[1][1], g) : [ + [u[0][0], u[0][1]], + [u[1][0], u[1][1]] + ] + }, g.constrain = function(t) { + return arguments.length ? (i = t, g) : i + }, g.duration = function(t) { + return arguments.length ? (c = +t, g) : c + }, g.interpolate = function(t) { + return arguments.length ? (f = t, g) : f + }, g.on = function() { + var t = l.on.apply(l, arguments); + return t === l ? g : t + }, g.clickDistance = function(t) { + return arguments.length ? (p = (t = +t) * t, g) : Math.sqrt(p) + }, g + }; + n.d(e, "version", (function() { + return "5.14.2" + })), n.d(e, "bisect", (function() { + return u + })), n.d(e, "bisectRight", (function() { + return o + })), n.d(e, "bisectLeft", (function() { + return s + })), n.d(e, "ascending", (function() { + return r + })), n.d(e, "bisector", (function() { + return i + })), n.d(e, "cross", (function() { + return l + })), n.d(e, "descending", (function() { + return h + })), n.d(e, "deviation", (function() { + return g + })), n.d(e, "extent", (function() { + return y + })), n.d(e, "histogram", (function() { + return C + })), n.d(e, "thresholdFreedmanDiaconis", (function() { + return I + })), n.d(e, "thresholdScott", (function() { + return L + })), n.d(e, "thresholdSturges", (function() { + return D + })), n.d(e, "max", (function() { + return B + })), n.d(e, "mean", (function() { + return O + })), n.d(e, "median", (function() { + return R + })), n.d(e, "merge", (function() { + return P + })), n.d(e, "min", (function() { + return F + })), n.d(e, "pairs", (function() { + return c + })), n.d(e, "permute", (function() { + return q + })), n.d(e, "quantile", (function() { + return N + })), n.d(e, "range", (function() { + return x + })), n.d(e, "scan", (function() { + return j + })), n.d(e, "shuffle", (function() { + return U + })), n.d(e, "sum", (function() { + return z + })), n.d(e, "ticks", (function() { + return S + })), n.d(e, "tickIncrement", (function() { + return M + })), n.d(e, "tickStep", (function() { + return T + })), n.d(e, "transpose", (function() { + return Y + })), n.d(e, "variance", (function() { + return p + })), n.d(e, "zip", (function() { + return H + })), n.d(e, "axisTop", (function() { + return at + })), n.d(e, "axisRight", (function() { + return ot + })), n.d(e, "axisBottom", (function() { + return st + })), n.d(e, "axisLeft", (function() { + return ut + })), n.d(e, "brush", (function() { + return Li + })), n.d(e, "brushX", (function() { + return Ni + })), n.d(e, "brushY", (function() { + return Ii + })), n.d(e, "brushSelection", (function() { + return Ci + })), n.d(e, "chord", (function() { + return zi + })), n.d(e, "ribbon", (function() { + return na + })), n.d(e, "nest", (function() { + return oa + })), n.d(e, "set", (function() { + return pa + })), n.d(e, "map", (function() { + return aa + })), n.d(e, "keys", (function() { + return ga + })), n.d(e, "values", (function() { + return ya + })), n.d(e, "entries", (function() { + return ba + })), n.d(e, "color", (function() { + return Ke + })), n.d(e, "rgb", (function() { + return Qe + })), n.d(e, "hsl", (function() { + return sn + })), n.d(e, "lab", (function() { + return Da + })), n.d(e, "hcl", (function() { + return Pa + })), n.d(e, "lch", (function() { + return Ra + })), n.d(e, "gray", (function() { + return Ta + })), n.d(e, "cubehelix", (function() { + return Ga + })), n.d(e, "contours", (function() { + return ro + })), n.d(e, "contourDensity", (function() { + return co + })), n.d(e, "dispatch", (function() { + return gt + })), n.d(e, "drag", (function() { + return bo + })), n.d(e, "dragDisable", (function() { + return Ne + })), n.d(e, "dragEnable", (function() { + return Ie + })), n.d(e, "dsvFormat", (function() { + return Mo + })), n.d(e, "csvParse", (function() { + return Do + })), n.d(e, "csvParseRows", (function() { + return Co + })), n.d(e, "csvFormat", (function() { + return No + })), n.d(e, "csvFormatBody", (function() { + return Io + })), n.d(e, "csvFormatRows", (function() { + return Lo + })), n.d(e, "csvFormatRow", (function() { + return Bo + })), n.d(e, "csvFormatValue", (function() { + return Oo + })), n.d(e, "tsvParse", (function() { + return Po + })), n.d(e, "tsvParseRows", (function() { + return Fo + })), n.d(e, "tsvFormat", (function() { + return qo + })), n.d(e, "tsvFormatBody", (function() { + return jo + })), n.d(e, "tsvFormatRows", (function() { + return Uo + })), n.d(e, "tsvFormatRow", (function() { + return zo + })), n.d(e, "tsvFormatValue", (function() { + return Yo + })), n.d(e, "autoType", (function() { + return Vo + })), n.d(e, "easeLinear", (function() { + return Go + })), n.d(e, "easeQuad", (function() { + return Ko + })), n.d(e, "easeQuadIn", (function() { + return $o + })), n.d(e, "easeQuadOut", (function() { + return Wo + })), n.d(e, "easeQuadInOut", (function() { + return Ko + })), n.d(e, "easeCubic", (function() { + return ni + })), n.d(e, "easeCubicIn", (function() { + return ti + })), n.d(e, "easeCubicOut", (function() { + return ei + })), n.d(e, "easeCubicInOut", (function() { + return ni + })), n.d(e, "easePoly", (function() { + return Jo + })), n.d(e, "easePolyIn", (function() { + return Xo + })), n.d(e, "easePolyOut", (function() { + return Zo + })), n.d(e, "easePolyInOut", (function() { + return Jo + })), n.d(e, "easeSin", (function() { + return rs + })), n.d(e, "easeSinIn", (function() { + return es + })), n.d(e, "easeSinOut", (function() { + return ns + })), n.d(e, "easeSinInOut", (function() { + return rs + })), n.d(e, "easeExp", (function() { + return os + })), n.d(e, "easeExpIn", (function() { + return is + })), n.d(e, "easeExpOut", (function() { + return as + })), n.d(e, "easeExpInOut", (function() { + return os + })), n.d(e, "easeCircle", (function() { + return cs + })), n.d(e, "easeCircleIn", (function() { + return ss + })), n.d(e, "easeCircleOut", (function() { + return us + })), n.d(e, "easeCircleInOut", (function() { + return cs + })), n.d(e, "easeBounce", (function() { + return ws + })), n.d(e, "easeBounceIn", (function() { + return _s + })), n.d(e, "easeBounceOut", (function() { + return ws + })), n.d(e, "easeBounceInOut", (function() { + return xs + })), n.d(e, "easeBack", (function() { + return As + })), n.d(e, "easeBackIn", (function() { + return ks + })), n.d(e, "easeBackOut", (function() { + return Es + })), n.d(e, "easeBackInOut", (function() { + return As + })), n.d(e, "easeElastic", (function() { + return Ts + })), n.d(e, "easeElasticIn", (function() { + return Ms + })), n.d(e, "easeElasticOut", (function() { + return Ts + })), n.d(e, "easeElasticInOut", (function() { + return Ds + })), n.d(e, "blob", (function() { + return Ns + })), n.d(e, "buffer", (function() { + return Ls + })), n.d(e, "dsv", (function() { + return Ps + })), n.d(e, "csv", (function() { + return Fs + })), n.d(e, "tsv", (function() { + return qs + })), n.d(e, "image", (function() { + return js + })), n.d(e, "json", (function() { + return zs + })), n.d(e, "text", (function() { + return Os + })), n.d(e, "xml", (function() { + return Vs + })), n.d(e, "html", (function() { + return Hs + })), n.d(e, "svg", (function() { + return Gs + })), n.d(e, "forceCenter", (function() { + return $s + })), n.d(e, "forceCollide", (function() { + return ou + })), n.d(e, "forceLink", (function() { + return cu + })), n.d(e, "forceManyBody", (function() { + return gu + })), n.d(e, "forceRadial", (function() { + return yu + })), n.d(e, "forceSimulation", (function() { + return pu + })), n.d(e, "forceX", (function() { + return bu + })), n.d(e, "forceY", (function() { + return vu + })), n.d(e, "formatDefaultLocale", (function() { + return Ou + })), n.d(e, "format", (function() { + return Su + })), n.d(e, "formatPrefix", (function() { + return Mu + })), n.d(e, "formatLocale", (function() { + return Bu + })), n.d(e, "formatSpecifier", (function() { + return xu + })), n.d(e, "FormatSpecifier", (function() { + return ku + })), n.d(e, "precisionFixed", (function() { + return Ru + })), n.d(e, "precisionPrefix", (function() { + return Pu + })), n.d(e, "precisionRound", (function() { + return Fu + })), n.d(e, "geoArea", (function() { + return Nc + })), n.d(e, "geoBounds", (function() { + return Ef + })), n.d(e, "geoCentroid", (function() { + return Rf + })), n.d(e, "geoCircle", (function() { + return $f + })), n.d(e, "geoClipAntimeridian", (function() { + return al + })), n.d(e, "geoClipCircle", (function() { + return ol + })), n.d(e, "geoClipExtent", (function() { + return pl + })), n.d(e, "geoClipRectangle", (function() { + return fl + })), n.d(e, "geoContains", (function() { + return Il + })), n.d(e, "geoDistance", (function() { + return kl + })), n.d(e, "geoGraticule", (function() { + return Ol + })), n.d(e, "geoGraticule10", (function() { + return Rl + })), n.d(e, "geoInterpolate", (function() { + return Ul + })), n.d(e, "geoLength", (function() { + return _l + })), n.d(e, "geoPath", (function() { + return qh + })), n.d(e, "geoAlbers", (function() { + return ad + })), n.d(e, "geoAlbersUsa", (function() { + return od + })), n.d(e, "geoAzimuthalEqualArea", (function() { + return fd + })), n.d(e, "geoAzimuthalEqualAreaRaw", (function() { + return cd + })), n.d(e, "geoAzimuthalEquidistant", (function() { + return hd + })), n.d(e, "geoAzimuthalEquidistantRaw", (function() { + return ld + })), n.d(e, "geoConicConformal", (function() { + return vd + })), n.d(e, "geoConicConformalRaw", (function() { + return bd + })), n.d(e, "geoConicEqualArea", (function() { + return id + })), n.d(e, "geoConicEqualAreaRaw", (function() { + return rd + })), n.d(e, "geoConicEquidistant", (function() { + return xd + })), n.d(e, "geoConicEquidistantRaw", (function() { + return wd + })), n.d(e, "geoEqualEarth", (function() { + return Dd + })), n.d(e, "geoEqualEarthRaw", (function() { + return Td + })), n.d(e, "geoEquirectangular", (function() { + return _d + })), n.d(e, "geoEquirectangularRaw", (function() { + return md + })), n.d(e, "geoGnomonic", (function() { + return Nd + })), n.d(e, "geoGnomonicRaw", (function() { + return Cd + })), n.d(e, "geoIdentity", (function() { + return Ld + })), n.d(e, "geoProjection", (function() { + return td + })), n.d(e, "geoProjectionMutator", (function() { + return ed + })), n.d(e, "geoMercator", (function() { + return pd + })), n.d(e, "geoMercatorRaw", (function() { + return dd + })), n.d(e, "geoNaturalEarth1", (function() { + return Od + })), n.d(e, "geoNaturalEarth1Raw", (function() { + return Bd + })), n.d(e, "geoOrthographic", (function() { + return Pd + })), n.d(e, "geoOrthographicRaw", (function() { + return Rd + })), n.d(e, "geoStereographic", (function() { + return qd + })), n.d(e, "geoStereographicRaw", (function() { + return Fd + })), n.d(e, "geoTransverseMercator", (function() { + return Ud + })), n.d(e, "geoTransverseMercatorRaw", (function() { + return jd + })), n.d(e, "geoRotation", (function() { + return Vf + })), n.d(e, "geoStream", (function() { + return kc + })), n.d(e, "geoTransform", (function() { + return jh + })), n.d(e, "cluster", (function() { + return Hd + })), n.d(e, "hierarchy", (function() { + return $d + })), n.d(e, "pack", (function() { + return vp + })), n.d(e, "packSiblings", (function() { + return hp + })), n.d(e, "packEnclose", (function() { + return Qd + })), n.d(e, "partition", (function() { + return Ep + })), n.d(e, "stratify", (function() { + return Cp + })), n.d(e, "tree", (function() { + return Pp + })), n.d(e, "treemap", (function() { + return zp + })), n.d(e, "treemapBinary", (function() { + return Yp + })), n.d(e, "treemapDice", (function() { + return kp + })), n.d(e, "treemapSlice", (function() { + return Fp + })), n.d(e, "treemapSliceDice", (function() { + return Vp + })), n.d(e, "treemapSquarify", (function() { + return Up + })), n.d(e, "treemapResquarify", (function() { + return Hp + })), n.d(e, "interpolate", (function() { + return Bn + })), n.d(e, "interpolateArray", (function() { + return En + })), n.d(e, "interpolateBasis", (function() { + return ln + })), n.d(e, "interpolateBasisClosed", (function() { + return hn + })), n.d(e, "interpolateDate", (function() { + return Sn + })), n.d(e, "interpolateDiscrete", (function() { + return Gp + })), n.d(e, "interpolateHue", (function() { + return $p + })), n.d(e, "interpolateNumber", (function() { + return Mn + })), n.d(e, "interpolateNumberArray", (function() { + return xn + })), n.d(e, "interpolateObject", (function() { + return Tn + })), n.d(e, "interpolateRound", (function() { + return Wp + })), n.d(e, "interpolateString", (function() { + return Ln + })), n.d(e, "interpolateTransformCss", (function() { + return Ar + })), n.d(e, "interpolateTransformSvg", (function() { + return Sr + })), n.d(e, "interpolateZoom", (function() { + return Zp + })), n.d(e, "interpolateRgb", (function() { + return vn + })), n.d(e, "interpolateRgbBasis", (function() { + return _n + })), n.d(e, "interpolateRgbBasisClosed", (function() { + return wn + })), n.d(e, "interpolateHsl", (function() { + return Qp + })), n.d(e, "interpolateHslLong", (function() { + return tg + })), n.d(e, "interpolateLab", (function() { + return eg + })), n.d(e, "interpolateHcl", (function() { + return rg + })), n.d(e, "interpolateHclLong", (function() { + return ig + })), n.d(e, "interpolateCubehelix", (function() { + return og + })), n.d(e, "interpolateCubehelixLong", (function() { + return sg + })), n.d(e, "piecewise", (function() { + return ug + })), n.d(e, "quantize", (function() { + return cg + })), n.d(e, "path", (function() { + return Xi + })), n.d(e, "polygonArea", (function() { + return fg + })), n.d(e, "polygonCentroid", (function() { + return lg + })), n.d(e, "polygonHull", (function() { + return gg + })), n.d(e, "polygonContains", (function() { + return yg + })), n.d(e, "polygonLength", (function() { + return bg + })), n.d(e, "quadtree", (function() { + return tu + })), n.d(e, "randomUniform", (function() { + return mg + })), n.d(e, "randomNormal", (function() { + return _g + })), n.d(e, "randomLogNormal", (function() { + return wg + })), n.d(e, "randomBates", (function() { + return kg + })), n.d(e, "randomIrwinHall", (function() { + return xg + })), n.d(e, "randomExponential", (function() { + return Eg + })), n.d(e, "scaleBand", (function() { + return Ig + })), n.d(e, "scalePoint", (function() { + return Lg + })), n.d(e, "scaleIdentity", (function() { + return Wg + })), n.d(e, "scaleLinear", (function() { + return $g + })), n.d(e, "scaleLog", (function() { + return ry + })), n.d(e, "scaleSymlog", (function() { + return sy + })), n.d(e, "scaleOrdinal", (function() { + return Ng + })), n.d(e, "scaleImplicit", (function() { + return Cg + })), n.d(e, "scalePow", (function() { + return hy + })), n.d(e, "scaleSqrt", (function() { + return dy + })), n.d(e, "scaleQuantile", (function() { + return py + })), n.d(e, "scaleQuantize", (function() { + return gy + })), n.d(e, "scaleThreshold", (function() { + return yy + })), n.d(e, "scaleTime", (function() { + return nm + })), n.d(e, "scaleUtc", (function() { + return hm + })), n.d(e, "scaleSequential", (function() { + return gm + })), n.d(e, "scaleSequentialLog", (function() { + return ym + })), n.d(e, "scaleSequentialPow", (function() { + return vm + })), n.d(e, "scaleSequentialSqrt", (function() { + return mm + })), n.d(e, "scaleSequentialSymlog", (function() { + return bm + })), n.d(e, "scaleSequentialQuantile", (function() { + return _m + })), n.d(e, "scaleDiverging", (function() { + return xm + })), n.d(e, "scaleDivergingLog", (function() { + return km + })), n.d(e, "scaleDivergingPow", (function() { + return Am + })), n.d(e, "scaleDivergingSqrt", (function() { + return Sm + })), n.d(e, "scaleDivergingSymlog", (function() { + return Em + })), n.d(e, "tickFormat", (function() { + return Hg + })), n.d(e, "schemeCategory10", (function() { + return Tm + })), n.d(e, "schemeAccent", (function() { + return Dm + })), n.d(e, "schemeDark2", (function() { + return Cm + })), n.d(e, "schemePaired", (function() { + return Nm + })), n.d(e, "schemePastel1", (function() { + return Im + })), n.d(e, "schemePastel2", (function() { + return Lm + })), n.d(e, "schemeSet1", (function() { + return Bm + })), n.d(e, "schemeSet2", (function() { + return Om + })), n.d(e, "schemeSet3", (function() { + return Rm + })), n.d(e, "schemeTableau10", (function() { + return Pm + })), n.d(e, "interpolateBrBG", (function() { + return jm + })), n.d(e, "schemeBrBG", (function() { + return qm + })), n.d(e, "interpolatePRGn", (function() { + return zm + })), n.d(e, "schemePRGn", (function() { + return Um + })), n.d(e, "interpolatePiYG", (function() { + return Vm + })), n.d(e, "schemePiYG", (function() { + return Ym + })), n.d(e, "interpolatePuOr", (function() { + return Gm + })), n.d(e, "schemePuOr", (function() { + return Hm + })), n.d(e, "interpolateRdBu", (function() { + return Wm + })), n.d(e, "schemeRdBu", (function() { + return $m + })), n.d(e, "interpolateRdGy", (function() { + return Xm + })), n.d(e, "schemeRdGy", (function() { + return Km + })), n.d(e, "interpolateRdYlBu", (function() { + return Jm + })), n.d(e, "schemeRdYlBu", (function() { + return Zm + })), n.d(e, "interpolateRdYlGn", (function() { + return t_ + })), n.d(e, "schemeRdYlGn", (function() { + return Qm + })), n.d(e, "interpolateSpectral", (function() { + return n_ + })), n.d(e, "schemeSpectral", (function() { + return e_ + })), n.d(e, "interpolateBuGn", (function() { + return i_ + })), n.d(e, "schemeBuGn", (function() { + return r_ + })), n.d(e, "interpolateBuPu", (function() { + return o_ + })), n.d(e, "schemeBuPu", (function() { + return a_ + })), n.d(e, "interpolateGnBu", (function() { + return u_ + })), n.d(e, "schemeGnBu", (function() { + return s_ + })), n.d(e, "interpolateOrRd", (function() { + return f_ + })), n.d(e, "schemeOrRd", (function() { + return c_ + })), n.d(e, "interpolatePuBuGn", (function() { + return h_ + })), n.d(e, "schemePuBuGn", (function() { + return l_ + })), n.d(e, "interpolatePuBu", (function() { + return p_ + })), n.d(e, "schemePuBu", (function() { + return d_ + })), n.d(e, "interpolatePuRd", (function() { + return y_ + })), n.d(e, "schemePuRd", (function() { + return g_ + })), n.d(e, "interpolateRdPu", (function() { + return v_ + })), n.d(e, "schemeRdPu", (function() { + return b_ + })), n.d(e, "interpolateYlGnBu", (function() { + return __ + })), n.d(e, "schemeYlGnBu", (function() { + return m_ + })), n.d(e, "interpolateYlGn", (function() { + return x_ + })), n.d(e, "schemeYlGn", (function() { + return w_ + })), n.d(e, "interpolateYlOrBr", (function() { + return E_ + })), n.d(e, "schemeYlOrBr", (function() { + return k_ + })), n.d(e, "interpolateYlOrRd", (function() { + return S_ + })), n.d(e, "schemeYlOrRd", (function() { + return A_ + })), n.d(e, "interpolateBlues", (function() { + return T_ + })), n.d(e, "schemeBlues", (function() { + return M_ + })), n.d(e, "interpolateGreens", (function() { + return C_ + })), n.d(e, "schemeGreens", (function() { + return D_ + })), n.d(e, "interpolateGreys", (function() { + return I_ + })), n.d(e, "schemeGreys", (function() { + return N_ + })), n.d(e, "interpolatePurples", (function() { + return B_ + })), n.d(e, "schemePurples", (function() { + return L_ + })), n.d(e, "interpolateReds", (function() { + return R_ + })), n.d(e, "schemeReds", (function() { + return O_ + })), n.d(e, "interpolateOranges", (function() { + return F_ + })), n.d(e, "schemeOranges", (function() { + return P_ + })), n.d(e, "interpolateCividis", (function() { + return q_ + })), n.d(e, "interpolateCubehelixDefault", (function() { + return j_ + })), n.d(e, "interpolateRainbow", (function() { + return V_ + })), n.d(e, "interpolateWarm", (function() { + return U_ + })), n.d(e, "interpolateCool", (function() { + return z_ + })), n.d(e, "interpolateSinebow", (function() { + return W_ + })), n.d(e, "interpolateTurbo", (function() { + return K_ + })), n.d(e, "interpolateViridis", (function() { + return Z_ + })), n.d(e, "interpolateMagma", (function() { + return J_ + })), n.d(e, "interpolateInferno", (function() { + return Q_ + })), n.d(e, "interpolatePlasma", (function() { + return tw + })), n.d(e, "create", (function() { + return ew + })), n.d(e, "creator", (function() { + return ue + })), n.d(e, "local", (function() { + return rw + })), n.d(e, "matcher", (function() { + return _t + })), n.d(e, "mouse", (function() { + return Fn + })), n.d(e, "namespace", (function() { + return Dt + })), n.d(e, "namespaces", (function() { + return Tt + })), n.d(e, "clientPoint", (function() { + return Rn + })), n.d(e, "select", (function() { + return Te + })), n.d(e, "selectAll", (function() { + return aw + })), n.d(e, "selection", (function() { + return Me + })), n.d(e, "selector", (function() { + return bt + })), n.d(e, "selectorAll", (function() { + return mt + })), n.d(e, "style", (function() { + return jt + })), n.d(e, "touch", (function() { + return Pn + })), n.d(e, "touches", (function() { + return ow + })), n.d(e, "window", (function() { + return Rt + })), n.d(e, "event", (function() { + return pe + })), n.d(e, "customEvent", (function() { + return _e + })), n.d(e, "arc", (function() { + return Sw + })), n.d(e, "area", (function() { + return Iw + })), n.d(e, "line", (function() { + return Nw + })), n.d(e, "pie", (function() { + return Ow + })), n.d(e, "areaRadial", (function() { + return Uw + })), n.d(e, "radialArea", (function() { + return Uw + })), n.d(e, "lineRadial", (function() { + return jw + })), n.d(e, "radialLine", (function() { + return jw + })), n.d(e, "pointRadial", (function() { + return zw + })), n.d(e, "linkHorizontal", (function() { + return Xw + })), n.d(e, "linkVertical", (function() { + return Zw + })), n.d(e, "linkRadial", (function() { + return Jw + })), n.d(e, "symbol", (function() { + return yx + })), n.d(e, "symbols", (function() { + return gx + })), n.d(e, "symbolCircle", (function() { + return Qw + })), n.d(e, "symbolCross", (function() { + return tx + })), n.d(e, "symbolDiamond", (function() { + return rx + })), n.d(e, "symbolSquare", (function() { + return ux + })), n.d(e, "symbolStar", (function() { + return sx + })), n.d(e, "symbolTriangle", (function() { + return fx + })), n.d(e, "symbolWye", (function() { + return px + })), n.d(e, "curveBasisClosed", (function() { + return xx + })), n.d(e, "curveBasisOpen", (function() { + return Ex + })), n.d(e, "curveBasis", (function() { + return _x + })), n.d(e, "curveBundle", (function() { + return Sx + })), n.d(e, "curveCardinalClosed", (function() { + return Nx + })), n.d(e, "curveCardinalOpen", (function() { + return Lx + })), n.d(e, "curveCardinal", (function() { + return Dx + })), n.d(e, "curveCatmullRomClosed", (function() { + return Fx + })), n.d(e, "curveCatmullRomOpen", (function() { + return jx + })), n.d(e, "curveCatmullRom", (function() { + return Rx + })), n.d(e, "curveLinearClosed", (function() { + return zx + })), n.d(e, "curveLinear", (function() { + return Tw + })), n.d(e, "curveMonotoneX", (function() { + return Xx + })), n.d(e, "curveMonotoneY", (function() { + return Zx + })), n.d(e, "curveNatural", (function() { + return tk + })), n.d(e, "curveStep", (function() { + return nk + })), n.d(e, "curveStepAfter", (function() { + return ik + })), n.d(e, "curveStepBefore", (function() { + return rk + })), n.d(e, "stack", (function() { + return uk + })), n.d(e, "stackOffsetExpand", (function() { + return ck + })), n.d(e, "stackOffsetDiverging", (function() { + return fk + })), n.d(e, "stackOffsetNone", (function() { + return ak + })), n.d(e, "stackOffsetSilhouette", (function() { + return lk + })), n.d(e, "stackOffsetWiggle", (function() { + return hk + })), n.d(e, "stackOrderAppearance", (function() { + return dk + })), n.d(e, "stackOrderAscending", (function() { + return gk + })), n.d(e, "stackOrderDescending", (function() { + return bk + })), n.d(e, "stackOrderInsideOut", (function() { + return vk + })), n.d(e, "stackOrderNone", (function() { + return ok + })), n.d(e, "stackOrderReverse", (function() { + return mk + })), n.d(e, "timeInterval", (function() { + return my + })), n.d(e, "timeMillisecond", (function() { + return nb + })), n.d(e, "timeMilliseconds", (function() { + return rb + })), n.d(e, "utcMillisecond", (function() { + return nb + })), n.d(e, "utcMilliseconds", (function() { + return rb + })), n.d(e, "timeSecond", (function() { + return Qy + })), n.d(e, "timeSeconds", (function() { + return tb + })), n.d(e, "utcSecond", (function() { + return Qy + })), n.d(e, "utcSeconds", (function() { + return tb + })), n.d(e, "timeMinute", (function() { + return Xy + })), n.d(e, "timeMinutes", (function() { + return Zy + })), n.d(e, "timeHour", (function() { + return $y + })), n.d(e, "timeHours", (function() { + return Wy + })), n.d(e, "timeDay", (function() { + return Vy + })), n.d(e, "timeDays", (function() { + return Hy + })), n.d(e, "timeWeek", (function() { + return Dy + })), n.d(e, "timeWeeks", (function() { + return Ry + })), n.d(e, "timeSunday", (function() { + return Dy + })), n.d(e, "timeSundays", (function() { + return Ry + })), n.d(e, "timeMonday", (function() { + return Cy + })), n.d(e, "timeMondays", (function() { + return Py + })), n.d(e, "timeTuesday", (function() { + return Ny + })), n.d(e, "timeTuesdays", (function() { + return Fy + })), n.d(e, "timeWednesday", (function() { + return Iy + })), n.d(e, "timeWednesdays", (function() { + return qy + })), n.d(e, "timeThursday", (function() { + return Ly + })), n.d(e, "timeThursdays", (function() { + return jy + })), n.d(e, "timeFriday", (function() { + return By + })), n.d(e, "timeFridays", (function() { + return Uy + })), n.d(e, "timeSaturday", (function() { + return Oy + })), n.d(e, "timeSaturdays", (function() { + return zy + })), n.d(e, "timeMonth", (function() { + return Ey + })), n.d(e, "timeMonths", (function() { + return Ay + })), n.d(e, "timeYear", (function() { + return wy + })), n.d(e, "timeYears", (function() { + return xy + })), n.d(e, "utcMinute", (function() { + return fm + })), n.d(e, "utcMinutes", (function() { + return lm + })), n.d(e, "utcHour", (function() { + return sm + })), n.d(e, "utcHours", (function() { + return um + })), n.d(e, "utcDay", (function() { + return _b + })), n.d(e, "utcDays", (function() { + return wb + })), n.d(e, "utcWeek", (function() { + return ab + })), n.d(e, "utcWeeks", (function() { + return hb + })), n.d(e, "utcSunday", (function() { + return ab + })), n.d(e, "utcSundays", (function() { + return hb + })), n.d(e, "utcMonday", (function() { + return ob + })), n.d(e, "utcMondays", (function() { + return db + })), n.d(e, "utcTuesday", (function() { + return sb + })), n.d(e, "utcTuesdays", (function() { + return pb + })), n.d(e, "utcWednesday", (function() { + return ub + })), n.d(e, "utcWednesdays", (function() { + return gb + })), n.d(e, "utcThursday", (function() { + return cb + })), n.d(e, "utcThursdays", (function() { + return yb + })), n.d(e, "utcFriday", (function() { + return fb + })), n.d(e, "utcFridays", (function() { + return bb + })), n.d(e, "utcSaturday", (function() { + return lb + })), n.d(e, "utcSaturdays", (function() { + return vb + })), n.d(e, "utcMonth", (function() { + return im + })), n.d(e, "utcMonths", (function() { + return am + })), n.d(e, "utcYear", (function() { + return kb + })), n.d(e, "utcYears", (function() { + return Eb + })), n.d(e, "timeFormatDefaultLocale", (function() { + return Hv + })), n.d(e, "timeFormat", (function() { + return Cb + })), n.d(e, "timeParse", (function() { + return Nb + })), n.d(e, "utcFormat", (function() { + return Ib + })), n.d(e, "utcParse", (function() { + return Lb + })), n.d(e, "timeFormatLocale", (function() { + return Tb + })), n.d(e, "isoFormat", (function() { + return _k + })), n.d(e, "isoParse", (function() { + return wk + })), n.d(e, "now", (function() { + return Wn + })), n.d(e, "timer", (function() { + return Zn + })), n.d(e, "timerFlush", (function() { + return Jn + })), n.d(e, "timeout", (function() { + return nr + })), n.d(e, "interval", (function() { + return xk + })), n.d(e, "transition", (function() { + return Zr + })), n.d(e, "active", (function() { + return oi + })), n.d(e, "interrupt", (function() { + return _r + })), n.d(e, "voronoi", (function() { + return sE + })), n.d(e, "zoom", (function() { + return wE + })), n.d(e, "zoomTransform", (function() { + return hE + })), n.d(e, "zoomIdentity", (function() { + return lE + })) + }, function(t, e, n) { + (function(t, r) { + var i = function() { + var t = function(t, e, n, r) { + for (n = n || {}, r = t.length; r--; n[t[r]] = e); + return n + }, + e = [1, 2], + n = [1, 3], + r = [1, 4], + i = [2, 4], + a = [1, 9], + o = [1, 11], + s = [1, 12], + u = [1, 14], + c = [1, 15], + f = [1, 17], + l = [1, 18], + h = [1, 19], + d = [1, 20], + p = [1, 21], + g = [1, 22], + y = [1, 24], + b = [1, 25], + v = [1, 4, 5, 10, 15, 16, 18, 20, 21, 22, 23, 24, 26, 28, 29, 30, 41], + m = [1, 33], + _ = [4, 5, 10, 15, 16, 18, 20, 21, 22, 23, 24, 26, 30, 41], + w = [4, 5, 10, 15, 16, 18, 20, 21, 22, 23, 24, 26, 29, 30, 41], + x = [4, 5, 10, 15, 16, 18, 20, 21, 22, 23, 24, 26, 28, 30, 41], + k = [39, 40, 41], + E = { + trace: function() {}, + yy: {}, + symbols_: { + error: 2, + start: 3, + SPACE: 4, + NL: 5, + SD: 6, + document: 7, + line: 8, + statement: 9, + participant: 10, + actor: 11, + AS: 12, + restOfLine: 13, + signal: 14, + activate: 15, + deactivate: 16, + note_statement: 17, + title: 18, + text2: 19, + loop: 20, + end: 21, + rect: 22, + opt: 23, + alt: 24, + else_sections: 25, + par: 26, + par_sections: 27, + and: 28, + else: 29, + note: 30, + placement: 31, + over: 32, + actor_pair: 33, + spaceList: 34, + ",": 35, + left_of: 36, + right_of: 37, + signaltype: 38, + "+": 39, + "-": 40, + ACTOR: 41, + SOLID_OPEN_ARROW: 42, + DOTTED_OPEN_ARROW: 43, + SOLID_ARROW: 44, + DOTTED_ARROW: 45, + SOLID_CROSS: 46, + DOTTED_CROSS: 47, + TXT: 48, + $accept: 0, + $end: 1 + }, + terminals_: { + 2: "error", + 4: "SPACE", + 5: "NL", + 6: "SD", + 10: "participant", + 12: "AS", + 13: "restOfLine", + 15: "activate", + 16: "deactivate", + 18: "title", + 20: "loop", + 21: "end", + 22: "rect", + 23: "opt", + 24: "alt", + 26: "par", + 28: "and", + 29: "else", + 30: "note", + 32: "over", + 35: ",", + 36: "left_of", + 37: "right_of", + 39: "+", + 40: "-", + 41: "ACTOR", + 42: "SOLID_OPEN_ARROW", + 43: "DOTTED_OPEN_ARROW", + 44: "SOLID_ARROW", + 45: "DOTTED_ARROW", + 46: "SOLID_CROSS", + 47: "DOTTED_CROSS", + 48: "TXT" + }, + productions_: [0, [3, 2], + [3, 2], + [3, 2], + [7, 0], + [7, 2], + [8, 2], + [8, 1], + [8, 1], + [9, 5], + [9, 3], + [9, 2], + [9, 3], + [9, 3], + [9, 2], + [9, 3], + [9, 4], + [9, 4], + [9, 4], + [9, 4], + [9, 4], + [27, 1], + [27, 4], + [25, 1], + [25, 4], + [17, 4], + [17, 4], + [34, 2], + [34, 1], + [33, 3], + [33, 1], + [31, 1], + [31, 1], + [14, 5], + [14, 5], + [14, 4], + [11, 1], + [38, 1], + [38, 1], + [38, 1], + [38, 1], + [38, 1], + [38, 1], + [19, 1] + ], + performAction: function(t, e, n, r, i, a, o) { + var s = a.length - 1; + switch (i) { + case 3: + return r.apply(a[s]), a[s]; + case 4: + this.$ = []; + break; + case 5: + a[s - 1].push(a[s]), this.$ = a[s - 1]; + break; + case 6: + case 7: + this.$ = a[s]; + break; + case 8: + this.$ = []; + break; + case 9: + a[s - 3].description = a[s - 1], this.$ = a[s - 3]; + break; + case 10: + this.$ = a[s - 1]; + break; + case 12: + this.$ = { + type: "activeStart", + signalType: r.LINETYPE.ACTIVE_START, + actor: a[s - 1] + }; + break; + case 13: + this.$ = { + type: "activeEnd", + signalType: r.LINETYPE.ACTIVE_END, + actor: a[s - 1] + }; + break; + case 15: + this.$ = [{ + type: "setTitle", + text: a[s - 1] + }]; + break; + case 16: + a[s - 1].unshift({ + type: "loopStart", + loopText: a[s - 2], + signalType: r.LINETYPE.LOOP_START + }), a[s - 1].push({ + type: "loopEnd", + loopText: a[s - 2], + signalType: r.LINETYPE.LOOP_END + }), this.$ = a[s - 1]; + break; + case 17: + a[s - 1].unshift({ + type: "rectStart", + color: a[s - 2], + signalType: r.LINETYPE.RECT_START + }), a[s - 1].push({ + type: "rectEnd", + color: a[s - 2], + signalType: r.LINETYPE.RECT_END + }), this.$ = a[s - 1]; + break; + case 18: + a[s - 1].unshift({ + type: "optStart", + optText: a[s - 2], + signalType: r.LINETYPE.OPT_START + }), a[s - 1].push({ + type: "optEnd", + optText: a[s - 2], + signalType: r.LINETYPE.OPT_END + }), this.$ = a[s - 1]; + break; + case 19: + a[s - 1].unshift({ + type: "altStart", + altText: a[s - 2], + signalType: r.LINETYPE.ALT_START + }), a[s - 1].push({ + type: "altEnd", + signalType: r.LINETYPE.ALT_END + }), this.$ = a[s - 1]; + break; + case 20: + a[s - 1].unshift({ + type: "parStart", + parText: a[s - 2], + signalType: r.LINETYPE.PAR_START + }), a[s - 1].push({ + type: "parEnd", + signalType: r.LINETYPE.PAR_END + }), this.$ = a[s - 1]; + break; + case 22: + this.$ = a[s - 3].concat([{ + type: "and", + parText: a[s - 1], + signalType: r.LINETYPE.PAR_AND + }, a[s]]); + break; + case 24: + this.$ = a[s - 3].concat([{ + type: "else", + altText: a[s - 1], + signalType: r.LINETYPE.ALT_ELSE + }, a[s]]); + break; + case 25: + this.$ = [a[s - 1], { + type: "addNote", + placement: a[s - 2], + actor: a[s - 1].actor, + text: a[s] + }]; + break; + case 26: + a[s - 2] = [].concat(a[s - 1], a[s - 1]).slice(0, 2), a[s - 2][0] = a[s - 2][0].actor, a[s - 2][1] = a[s - 2][1].actor, this.$ = [a[s - 1], { + type: "addNote", + placement: r.PLACEMENT.OVER, + actor: a[s - 2].slice(0, 2), + text: a[s] + }]; + break; + case 29: + this.$ = [a[s - 2], a[s]]; + break; + case 30: + this.$ = a[s]; + break; + case 31: + this.$ = r.PLACEMENT.LEFTOF; + break; + case 32: + this.$ = r.PLACEMENT.RIGHTOF; + break; + case 33: + this.$ = [a[s - 4], a[s - 1], { + type: "addMessage", + from: a[s - 4].actor, + to: a[s - 1].actor, + signalType: a[s - 3], + msg: a[s] + }, { + type: "activeStart", + signalType: r.LINETYPE.ACTIVE_START, + actor: a[s - 1] + }]; + break; + case 34: + this.$ = [a[s - 4], a[s - 1], { + type: "addMessage", + from: a[s - 4].actor, + to: a[s - 1].actor, + signalType: a[s - 3], + msg: a[s] + }, { + type: "activeEnd", + signalType: r.LINETYPE.ACTIVE_END, + actor: a[s - 4] + }]; + break; + case 35: + this.$ = [a[s - 3], a[s - 1], { + type: "addMessage", + from: a[s - 3].actor, + to: a[s - 1].actor, + signalType: a[s - 2], + msg: a[s] + }]; + break; + case 36: + this.$ = { + type: "addActor", + actor: a[s] + }; + break; + case 37: + this.$ = r.LINETYPE.SOLID_OPEN; + break; + case 38: + this.$ = r.LINETYPE.DOTTED_OPEN; + break; + case 39: + this.$ = r.LINETYPE.SOLID; + break; + case 40: + this.$ = r.LINETYPE.DOTTED; + break; + case 41: + this.$ = r.LINETYPE.SOLID_CROSS; + break; + case 42: + this.$ = r.LINETYPE.DOTTED_CROSS; + break; + case 43: + this.$ = a[s].substring(1).trim().replace(/\\n/gm, "\n") + } + }, + table: [{ + 3: 1, + 4: e, + 5: n, + 6: r + }, { + 1: [3] + }, { + 3: 5, + 4: e, + 5: n, + 6: r + }, { + 3: 6, + 4: e, + 5: n, + 6: r + }, t([1, 4, 5, 10, 15, 16, 18, 20, 22, 23, 24, 26, 30, 41], i, { + 7: 7 + }), { + 1: [2, 1] + }, { + 1: [2, 2] + }, { + 1: [2, 3], + 4: a, + 5: o, + 8: 8, + 9: 10, + 10: s, + 11: 23, + 14: 13, + 15: u, + 16: c, + 17: 16, + 18: f, + 20: l, + 22: h, + 23: d, + 24: p, + 26: g, + 30: y, + 41: b + }, t(v, [2, 5]), { + 9: 26, + 10: s, + 11: 23, + 14: 13, + 15: u, + 16: c, + 17: 16, + 18: f, + 20: l, + 22: h, + 23: d, + 24: p, + 26: g, + 30: y, + 41: b + }, t(v, [2, 7]), t(v, [2, 8]), { + 11: 27, + 41: b + }, { + 5: [1, 28] + }, { + 11: 29, + 41: b + }, { + 11: 30, + 41: b + }, { + 5: [1, 31] + }, { + 19: 32, + 48: m + }, { + 13: [1, 34] + }, { + 13: [1, 35] + }, { + 13: [1, 36] + }, { + 13: [1, 37] + }, { + 13: [1, 38] + }, { + 38: 39, + 42: [1, 40], + 43: [1, 41], + 44: [1, 42], + 45: [1, 43], + 46: [1, 44], + 47: [1, 45] + }, { + 31: 46, + 32: [1, 47], + 36: [1, 48], + 37: [1, 49] + }, t([5, 12, 35, 42, 43, 44, 45, 46, 47, 48], [2, 36]), t(v, [2, 6]), { + 5: [1, 51], + 12: [1, 50] + }, t(v, [2, 11]), { + 5: [1, 52] + }, { + 5: [1, 53] + }, t(v, [2, 14]), { + 5: [1, 54] + }, { + 5: [2, 43] + }, t(_, i, { + 7: 55 + }), t(_, i, { + 7: 56 + }), t(_, i, { + 7: 57 + }), t(w, i, { + 25: 58, + 7: 59 + }), t(x, i, { + 27: 60, + 7: 61 + }), { + 11: 64, + 39: [1, 62], + 40: [1, 63], + 41: b + }, t(k, [2, 37]), t(k, [2, 38]), t(k, [2, 39]), t(k, [2, 40]), t(k, [2, 41]), t(k, [2, 42]), { + 11: 65, + 41: b + }, { + 11: 67, + 33: 66, + 41: b + }, { + 41: [2, 31] + }, { + 41: [2, 32] + }, { + 13: [1, 68] + }, t(v, [2, 10]), t(v, [2, 12]), t(v, [2, 13]), t(v, [2, 15]), { + 4: a, + 5: o, + 8: 8, + 9: 10, + 10: s, + 11: 23, + 14: 13, + 15: u, + 16: c, + 17: 16, + 18: f, + 20: l, + 21: [1, 69], + 22: h, + 23: d, + 24: p, + 26: g, + 30: y, + 41: b + }, { + 4: a, + 5: o, + 8: 8, + 9: 10, + 10: s, + 11: 23, + 14: 13, + 15: u, + 16: c, + 17: 16, + 18: f, + 20: l, + 21: [1, 70], + 22: h, + 23: d, + 24: p, + 26: g, + 30: y, + 41: b + }, { + 4: a, + 5: o, + 8: 8, + 9: 10, + 10: s, + 11: 23, + 14: 13, + 15: u, + 16: c, + 17: 16, + 18: f, + 20: l, + 21: [1, 71], + 22: h, + 23: d, + 24: p, + 26: g, + 30: y, + 41: b + }, { + 21: [1, 72] + }, { + 4: a, + 5: o, + 8: 8, + 9: 10, + 10: s, + 11: 23, + 14: 13, + 15: u, + 16: c, + 17: 16, + 18: f, + 20: l, + 21: [2, 23], + 22: h, + 23: d, + 24: p, + 26: g, + 29: [1, 73], + 30: y, + 41: b + }, { + 21: [1, 74] + }, { + 4: a, + 5: o, + 8: 8, + 9: 10, + 10: s, + 11: 23, + 14: 13, + 15: u, + 16: c, + 17: 16, + 18: f, + 20: l, + 21: [2, 21], + 22: h, + 23: d, + 24: p, + 26: g, + 28: [1, 75], + 30: y, + 41: b + }, { + 11: 76, + 41: b + }, { + 11: 77, + 41: b + }, { + 19: 78, + 48: m + }, { + 19: 79, + 48: m + }, { + 19: 80, + 48: m + }, { + 35: [1, 81], + 48: [2, 30] + }, { + 5: [1, 82] + }, t(v, [2, 16]), t(v, [2, 17]), t(v, [2, 18]), t(v, [2, 19]), { + 13: [1, 83] + }, t(v, [2, 20]), { + 13: [1, 84] + }, { + 19: 85, + 48: m + }, { + 19: 86, + 48: m + }, { + 5: [2, 35] + }, { + 5: [2, 25] + }, { + 5: [2, 26] + }, { + 11: 87, + 41: b + }, t(v, [2, 9]), t(w, i, { + 7: 59, + 25: 88 + }), t(x, i, { + 7: 61, + 27: 89 + }), { + 5: [2, 33] + }, { + 5: [2, 34] + }, { + 48: [2, 29] + }, { + 21: [2, 24] + }, { + 21: [2, 22] + }], + defaultActions: { + 5: [2, 1], + 6: [2, 2], + 33: [2, 43], + 48: [2, 31], + 49: [2, 32], + 78: [2, 35], + 79: [2, 25], + 80: [2, 26], + 85: [2, 33], + 86: [2, 34], + 87: [2, 29], + 88: [2, 24], + 89: [2, 22] + }, + parseError: function(t, e) { + if (!e.recoverable) { + var n = new Error(t); + throw n.hash = e, n + } + this.trace(t) + }, + parse: function(t) { + var e = this, + n = [0], + r = [], + i = [null], + a = [], + o = this.table, + s = "", + u = 0, + c = 0, + f = 0, + l = 2, + h = 1, + d = a.slice.call(arguments, 1), + p = Object.create(this.lexer), + g = { + yy: {} + }; + for (var y in this.yy) Object.prototype.hasOwnProperty.call(this.yy, y) && (g.yy[y] = this.yy[y]); + p.setInput(t, g.yy), g.yy.lexer = p, g.yy.parser = this, void 0 === p.yylloc && (p.yylloc = {}); + var b = p.yylloc; + a.push(b); + var v = p.options && p.options.ranges; + + function m() { + var t; + return "number" != typeof(t = r.pop() || p.lex() || h) && (t instanceof Array && (t = (r = t).pop()), t = e.symbols_[t] || t), t + } + "function" == typeof g.yy.parseError ? this.parseError = g.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError; + for (var _, w, x, k, E, A, S, M, T, D = {};;) { + if (x = n[n.length - 1], this.defaultActions[x] ? k = this.defaultActions[x] : (null == _ && (_ = m()), k = o[x] && o[x][_]), void 0 === k || !k.length || !k[0]) { + var C = ""; + for (A in T = [], o[x]) this.terminals_[A] && A > l && T.push("'" + this.terminals_[A] + "'"); + C = p.showPosition ? "Parse error on line " + (u + 1) + ":\n" + p.showPosition() + "\nExpecting " + T.join(", ") + ", got '" + (this.terminals_[_] || _) + "'" : "Parse error on line " + (u + 1) + ": Unexpected " + (_ == h ? "end of input" : "'" + (this.terminals_[_] || _) + "'"), this.parseError(C, { + text: p.match, + token: this.terminals_[_] || _, + line: p.yylineno, + loc: b, + expected: T + }) + } + if (k[0] instanceof Array && k.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + x + ", token: " + _); + switch (k[0]) { + case 1: + n.push(_), i.push(p.yytext), a.push(p.yylloc), n.push(k[1]), _ = null, w ? (_ = w, w = null) : (c = p.yyleng, s = p.yytext, u = p.yylineno, b = p.yylloc, f > 0 && f--); + break; + case 2: + if (S = this.productions_[k[1]][1], D.$ = i[i.length - S], D._$ = { + first_line: a[a.length - (S || 1)].first_line, + last_line: a[a.length - 1].last_line, + first_column: a[a.length - (S || 1)].first_column, + last_column: a[a.length - 1].last_column + }, v && (D._$.range = [a[a.length - (S || 1)].range[0], a[a.length - 1].range[1]]), void 0 !== (E = this.performAction.apply(D, [s, c, u, g.yy, k[1], i, a].concat(d)))) return E; + S && (n = n.slice(0, -1 * S * 2), i = i.slice(0, -1 * S), a = a.slice(0, -1 * S)), n.push(this.productions_[k[1]][0]), i.push(D.$), a.push(D._$), M = o[n[n.length - 2]][n[n.length - 1]], n.push(M); + break; + case 3: + return !0 + } + } + return !0 + } + }, + A = { + EOF: 1, + parseError: function(t, e) { + if (!this.yy.parser) throw new Error(t); + this.yy.parser.parseError(t, e) + }, + setInput: function(t, e) { + return this.yy = e || this.yy || {}, this._input = t, this._more = this._backtrack = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this + }, + input: function() { + var t = this._input[0]; + return this.yytext += t, this.yyleng++, this.offset++, this.match += t, this.matched += t, t.match(/(?:\r\n?|\n).*/g) ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), t + }, + unput: function(t) { + var e = t.length, + n = t.split(/(?:\r\n?|\n)/g); + this._input = t + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - e), this.offset -= e; + var r = this.match.split(/(?:\r\n?|\n)/g); + this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), n.length - 1 && (this.yylineno -= n.length - 1); + var i = this.yylloc.range; + return this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: n ? (n.length === r.length ? this.yylloc.first_column : 0) + r[r.length - n.length].length - n[0].length : this.yylloc.first_column - e + }, this.options.ranges && (this.yylloc.range = [i[0], i[0] + this.yyleng - e]), this.yyleng = this.yytext.length, this + }, + more: function() { + return this._more = !0, this + }, + reject: function() { + return this.options.backtrack_lexer ? (this._backtrack = !0, this) : this.parseError("Lexical error on line " + (this.yylineno + 1) + ". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n" + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }) + }, + less: function(t) { + this.unput(this.match.slice(t)) + }, + pastInput: function() { + var t = this.matched.substr(0, this.matched.length - this.match.length); + return (t.length > 20 ? "..." : "") + t.substr(-20).replace(/\n/g, "") + }, + upcomingInput: function() { + var t = this.match; + return t.length < 20 && (t += this._input.substr(0, 20 - t.length)), (t.substr(0, 20) + (t.length > 20 ? "..." : "")).replace(/\n/g, "") + }, + showPosition: function() { + var t = this.pastInput(), + e = new Array(t.length + 1).join("-"); + return t + this.upcomingInput() + "\n" + e + "^" + }, + test_match: function(t, e) { + var n, r, i; + if (this.options.backtrack_lexer && (i = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }, this.options.ranges && (i.yylloc.range = this.yylloc.range.slice(0))), (r = t[0].match(/(?:\r\n?|\n).*/g)) && (this.yylineno += r.length), this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: r ? r[r.length - 1].length - r[r.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + t[0].length + }, this.yytext += t[0], this.match += t[0], this.matches = t, this.yyleng = this.yytext.length, this.options.ranges && (this.yylloc.range = [this.offset, this.offset += this.yyleng]), this._more = !1, this._backtrack = !1, this._input = this._input.slice(t[0].length), this.matched += t[0], n = this.performAction.call(this, this.yy, this, e, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), n) return n; + if (this._backtrack) { + for (var a in i) this[a] = i[a]; + return !1 + } + return !1 + }, + next: function() { + if (this.done) return this.EOF; + var t, e, n, r; + this._input || (this.done = !0), this._more || (this.yytext = "", this.match = ""); + for (var i = this._currentRules(), a = 0; a < i.length; a++) + if ((n = this._input.match(this.rules[i[a]])) && (!e || n[0].length > e[0].length)) { + if (e = n, r = a, this.options.backtrack_lexer) { + if (!1 !== (t = this.test_match(n, i[a]))) return t; + if (this._backtrack) { + e = !1; + continue + } + return !1 + } + if (!this.options.flex) break + } return e ? !1 !== (t = this.test_match(e, i[r])) && t : "" === this._input ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + ". Unrecognized text.\n" + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }) + }, + lex: function() { + var t = this.next(); + return t || this.lex() + }, + begin: function(t) { + this.conditionStack.push(t) + }, + popState: function() { + return this.conditionStack.length - 1 > 0 ? this.conditionStack.pop() : this.conditionStack[0] + }, + _currentRules: function() { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules + }, + topState: function(t) { + return (t = this.conditionStack.length - 1 - Math.abs(t || 0)) >= 0 ? this.conditionStack[t] : "INITIAL" + }, + pushState: function(t) { + this.begin(t) + }, + stateStackSize: function() { + return this.conditionStack.length + }, + options: { + "case-insensitive": !0 + }, + performAction: function(t, e, n, r) { + switch (n) { + case 0: + return 5; + case 1: + case 2: + case 3: + case 4: + break; + case 5: + return this.begin("ID"), 10; + case 6: + return e.yytext = e.yytext.trim(), this.begin("ALIAS"), 41; + case 7: + return this.popState(), this.popState(), this.begin("LINE"), 12; + case 8: + return this.popState(), this.popState(), 5; + case 9: + return this.begin("LINE"), 20; + case 10: + return this.begin("LINE"), 22; + case 11: + return this.begin("LINE"), 23; + case 12: + return this.begin("LINE"), 24; + case 13: + return this.begin("LINE"), 29; + case 14: + return this.begin("LINE"), 26; + case 15: + return this.begin("LINE"), 28; + case 16: + return this.popState(), 13; + case 17: + return 21; + case 18: + return 36; + case 19: + return 37; + case 20: + return 32; + case 21: + return 30; + case 22: + return this.begin("ID"), 15; + case 23: + return this.begin("ID"), 16; + case 24: + return 18; + case 25: + return 6; + case 26: + return 35; + case 27: + return 5; + case 28: + return e.yytext = e.yytext.trim(), 41; + case 29: + return 44; + case 30: + return 45; + case 31: + return 42; + case 32: + return 43; + case 33: + return 46; + case 34: + return 47; + case 35: + return 48; + case 36: + return 39; + case 37: + return 40; + case 38: + return 5; + case 39: + return "INVALID" + } + }, + rules: [/^(?:[\n]+)/i, /^(?:\s+)/i, /^(?:((?!\n)\s)+)/i, /^(?:#[^\n]*)/i, /^(?:%[^\n]*)/i, /^(?:participant\b)/i, /^(?:[^\->:\n,;]+?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i, /^(?:as\b)/i, /^(?:(?:))/i, /^(?:loop\b)/i, /^(?:rect\b)/i, /^(?:opt\b)/i, /^(?:alt\b)/i, /^(?:else\b)/i, /^(?:par\b)/i, /^(?:and\b)/i, /^(?:[^#\n;]*)/i, /^(?:end\b)/i, /^(?:left of\b)/i, /^(?:right of\b)/i, /^(?:over\b)/i, /^(?:note\b)/i, /^(?:activate\b)/i, /^(?:deactivate\b)/i, /^(?:title\b)/i, /^(?:sequenceDiagram\b)/i, /^(?:,)/i, /^(?:;)/i, /^(?:[^\+\->:\n,;]+)/i, /^(?:->>)/i, /^(?:-->>)/i, /^(?:->)/i, /^(?:-->)/i, /^(?:-[x])/i, /^(?:--[x])/i, /^(?::[^#\n;]+)/i, /^(?:\+)/i, /^(?:-)/i, /^(?:$)/i, /^(?:.)/i], + conditions: { + LINE: { + rules: [2, 3, 16], + inclusive: !1 + }, + ALIAS: { + rules: [2, 3, 7, 8], + inclusive: !1 + }, + ID: { + rules: [2, 3, 6], + inclusive: !1 + }, + INITIAL: { + rules: [0, 1, 3, 4, 5, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39], + inclusive: !0 + } + } + }; + + function S() { + this.yy = {} + } + return E.lexer = A, S.prototype = E, E.Parser = S, new S + }(); + e.parser = i, e.Parser = i.Parser, e.parse = function() { + return i.parse.apply(i, arguments) + }, e.main = function(r) { + r[1] || (console.log("Usage: " + r[0] + " FILE"), t.exit(1)); + var i = n(28).readFileSync(n(29).normalize(r[1]), "utf8"); + return e.parser.parse(i) + }, n.c[n.s] === r && e.main(t.argv.slice(1)) + }).call(this, n(7), n(9)(t)) + }, function(t, e) { + "function" == typeof Object.create ? t.exports = function(t, e) { + e && (t.super_ = e, t.prototype = Object.create(e.prototype, { + constructor: { + value: t, + enumerable: !1, + writable: !0, + configurable: !0 + } + })) + } : t.exports = function(t, e) { + if (e) { + t.super_ = e; + var n = function() {}; + n.prototype = e.prototype, t.prototype = new n, t.prototype.constructor = t + } + } + }, function(t, e, n) { + var r = n(8), + i = r.Buffer; + + function a(t, e) { + for (var n in t) e[n] = t[n] + } + + function o(t, e, n) { + return i(t, e, n) + } + i.from && i.alloc && i.allocUnsafe && i.allocUnsafeSlow ? t.exports = r : (a(r, e), e.Buffer = o), o.prototype = Object.create(i.prototype), a(i, o), o.from = function(t, e, n) { + if ("number" == typeof t) throw new TypeError("Argument must not be a number"); + return i(t, e, n) + }, o.alloc = function(t, e, n) { + if ("number" != typeof t) throw new TypeError("Argument must be a number"); + var r = i(t); + return void 0 !== e ? "string" == typeof n ? r.fill(e, n) : r.fill(e) : r.fill(0), r + }, o.allocUnsafe = function(t) { + if ("number" != typeof t) throw new TypeError("Argument must be a number"); + return i(t) + }, o.allocUnsafeSlow = function(t) { + if ("number" != typeof t) throw new TypeError("Argument must be a number"); + return r.SlowBuffer(t) + } + }, function(t, e, n) { + var r; + try { + r = { + cloneDeep: n(350), + constant: n(99), + defaults: n(176), + each: n(100), + filter: n(150), + find: n(351), + flatten: n(178), + forEach: n(148), + forIn: n(356), + has: n(106), + isUndefined: n(161), + last: n(357), + map: n(162), + mapValues: n(358), + max: n(359), + merge: n(361), + min: n(366), + minBy: n(367), + now: n(368), + pick: n(183), + range: n(184), + reduce: n(164), + sortBy: n(375), + uniqueId: n(185), + values: n(169), + zipObject: n(380) + } + } catch (t) {} + r || (r = window._), t.exports = r + }, function(t, e, n) { + (function(t) { + ! function(t, e) { + "use strict"; + + function r(t, e) { + if (!t) throw new Error(e || "Assertion failed") + } + + function i(t, e) { + t.super_ = e; + var n = function() {}; + n.prototype = e.prototype, t.prototype = new n, t.prototype.constructor = t + } + + function a(t, e, n) { + if (a.isBN(t)) return t; + this.negative = 0, this.words = null, this.length = 0, this.red = null, null !== t && ("le" !== e && "be" !== e || (n = e, e = 10), this._init(t || 0, e || 10, n || "be")) + } + var o; + "object" == typeof t ? t.exports = a : e.BN = a, a.BN = a, a.wordSize = 26; + try { + o = n(457).Buffer + } catch (t) {} + + function s(t, e, n) { + for (var r = 0, i = Math.min(t.length, n), a = e; a < i; a++) { + var o = t.charCodeAt(a) - 48; + r <<= 4, r |= o >= 49 && o <= 54 ? o - 49 + 10 : o >= 17 && o <= 22 ? o - 17 + 10 : 15 & o + } + return r + } + + function u(t, e, n, r) { + for (var i = 0, a = Math.min(t.length, n), o = e; o < a; o++) { + var s = t.charCodeAt(o) - 48; + i *= r, i += s >= 49 ? s - 49 + 10 : s >= 17 ? s - 17 + 10 : s + } + return i + } + a.isBN = function(t) { + return t instanceof a || null !== t && "object" == typeof t && t.constructor.wordSize === a.wordSize && Array.isArray(t.words) + }, a.max = function(t, e) { + return t.cmp(e) > 0 ? t : e + }, a.min = function(t, e) { + return t.cmp(e) < 0 ? t : e + }, a.prototype._init = function(t, e, n) { + if ("number" == typeof t) return this._initNumber(t, e, n); + if ("object" == typeof t) return this._initArray(t, e, n); + "hex" === e && (e = 16), r(e === (0 | e) && e >= 2 && e <= 36); + var i = 0; + "-" === (t = t.toString().replace(/\s+/g, ""))[0] && i++, 16 === e ? this._parseHex(t, i) : this._parseBase(t, e, i), "-" === t[0] && (this.negative = 1), this.strip(), "le" === n && this._initArray(this.toArray(), e, n) + }, a.prototype._initNumber = function(t, e, n) { + t < 0 && (this.negative = 1, t = -t), t < 67108864 ? (this.words = [67108863 & t], this.length = 1) : t < 4503599627370496 ? (this.words = [67108863 & t, t / 67108864 & 67108863], this.length = 2) : (r(t < 9007199254740992), this.words = [67108863 & t, t / 67108864 & 67108863, 1], this.length = 3), "le" === n && this._initArray(this.toArray(), e, n) + }, a.prototype._initArray = function(t, e, n) { + if (r("number" == typeof t.length), t.length <= 0) return this.words = [0], this.length = 1, this; + this.length = Math.ceil(t.length / 3), this.words = new Array(this.length); + for (var i = 0; i < this.length; i++) this.words[i] = 0; + var a, o, s = 0; + if ("be" === n) + for (i = t.length - 1, a = 0; i >= 0; i -= 3) o = t[i] | t[i - 1] << 8 | t[i - 2] << 16, this.words[a] |= o << s & 67108863, this.words[a + 1] = o >>> 26 - s & 67108863, (s += 24) >= 26 && (s -= 26, a++); + else if ("le" === n) + for (i = 0, a = 0; i < t.length; i += 3) o = t[i] | t[i + 1] << 8 | t[i + 2] << 16, this.words[a] |= o << s & 67108863, this.words[a + 1] = o >>> 26 - s & 67108863, (s += 24) >= 26 && (s -= 26, a++); + return this.strip() + }, a.prototype._parseHex = function(t, e) { + this.length = Math.ceil((t.length - e) / 6), this.words = new Array(this.length); + for (var n = 0; n < this.length; n++) this.words[n] = 0; + var r, i, a = 0; + for (n = t.length - 6, r = 0; n >= e; n -= 6) i = s(t, n, n + 6), this.words[r] |= i << a & 67108863, this.words[r + 1] |= i >>> 26 - a & 4194303, (a += 24) >= 26 && (a -= 26, r++); + n + 6 !== e && (i = s(t, e, n + 6), this.words[r] |= i << a & 67108863, this.words[r + 1] |= i >>> 26 - a & 4194303), this.strip() + }, a.prototype._parseBase = function(t, e, n) { + this.words = [0], this.length = 1; + for (var r = 0, i = 1; i <= 67108863; i *= e) r++; + r--, i = i / e | 0; + for (var a = t.length - n, o = a % r, s = Math.min(a, a - o) + n, c = 0, f = n; f < s; f += r) c = u(t, f, f + r, e), this.imuln(i), this.words[0] + c < 67108864 ? this.words[0] += c : this._iaddn(c); + if (0 !== o) { + var l = 1; + for (c = u(t, f, t.length, e), f = 0; f < o; f++) l *= e; + this.imuln(l), this.words[0] + c < 67108864 ? this.words[0] += c : this._iaddn(c) + } + }, a.prototype.copy = function(t) { + t.words = new Array(this.length); + for (var e = 0; e < this.length; e++) t.words[e] = this.words[e]; + t.length = this.length, t.negative = this.negative, t.red = this.red + }, a.prototype.clone = function() { + var t = new a(null); + return this.copy(t), t + }, a.prototype._expand = function(t) { + for (; this.length < t;) this.words[this.length++] = 0; + return this + }, a.prototype.strip = function() { + for (; this.length > 1 && 0 === this.words[this.length - 1];) this.length--; + return this._normSign() + }, a.prototype._normSign = function() { + return 1 === this.length && 0 === this.words[0] && (this.negative = 0), this + }, a.prototype.inspect = function() { + return (this.red ? "<BN-R: " : "<BN: ") + this.toString(16) + ">" + }; + var c = ["", "0", "00", "000", "0000", "00000", "000000", "0000000", "00000000", "000000000", "0000000000", "00000000000", "000000000000", "0000000000000", "00000000000000", "000000000000000", "0000000000000000", "00000000000000000", "000000000000000000", "0000000000000000000", "00000000000000000000", "000000000000000000000", "0000000000000000000000", "00000000000000000000000", "000000000000000000000000", "0000000000000000000000000"], + f = [0, 0, 25, 16, 12, 11, 10, 9, 8, 8, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5], + l = [0, 0, 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216, 43046721, 1e7, 19487171, 35831808, 62748517, 7529536, 11390625, 16777216, 24137569, 34012224, 47045881, 64e6, 4084101, 5153632, 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149, 243e5, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176]; + + function h(t, e, n) { + n.negative = e.negative ^ t.negative; + var r = t.length + e.length | 0; + n.length = r, r = r - 1 | 0; + var i = 0 | t.words[0], + a = 0 | e.words[0], + o = i * a, + s = 67108863 & o, + u = o / 67108864 | 0; + n.words[0] = s; + for (var c = 1; c < r; c++) { + for (var f = u >>> 26, l = 67108863 & u, h = Math.min(c, e.length - 1), d = Math.max(0, c - t.length + 1); d <= h; d++) { + var p = c - d | 0; + f += (o = (i = 0 | t.words[p]) * (a = 0 | e.words[d]) + l) / 67108864 | 0, l = 67108863 & o + } + n.words[c] = 0 | l, u = 0 | f + } + return 0 !== u ? n.words[c] = 0 | u : n.length--, n.strip() + } + a.prototype.toString = function(t, e) { + var n; + if (e = 0 | e || 1, 16 === (t = t || 10) || "hex" === t) { + n = ""; + for (var i = 0, a = 0, o = 0; o < this.length; o++) { + var s = this.words[o], + u = (16777215 & (s << i | a)).toString(16); + n = 0 !== (a = s >>> 24 - i & 16777215) || o !== this.length - 1 ? c[6 - u.length] + u + n : u + n, (i += 2) >= 26 && (i -= 26, o--) + } + for (0 !== a && (n = a.toString(16) + n); n.length % e != 0;) n = "0" + n; + return 0 !== this.negative && (n = "-" + n), n + } + if (t === (0 | t) && t >= 2 && t <= 36) { + var h = f[t], + d = l[t]; + n = ""; + var p = this.clone(); + for (p.negative = 0; !p.isZero();) { + var g = p.modn(d).toString(t); + n = (p = p.idivn(d)).isZero() ? g + n : c[h - g.length] + g + n + } + for (this.isZero() && (n = "0" + n); n.length % e != 0;) n = "0" + n; + return 0 !== this.negative && (n = "-" + n), n + } + r(!1, "Base should be between 2 and 36") + }, a.prototype.toNumber = function() { + var t = this.words[0]; + return 2 === this.length ? t += 67108864 * this.words[1] : 3 === this.length && 1 === this.words[2] ? t += 4503599627370496 + 67108864 * this.words[1] : this.length > 2 && r(!1, "Number can only safely store up to 53 bits"), 0 !== this.negative ? -t : t + }, a.prototype.toJSON = function() { + return this.toString(16) + }, a.prototype.toBuffer = function(t, e) { + return r(void 0 !== o), this.toArrayLike(o, t, e) + }, a.prototype.toArray = function(t, e) { + return this.toArrayLike(Array, t, e) + }, a.prototype.toArrayLike = function(t, e, n) { + var i = this.byteLength(), + a = n || Math.max(1, i); + r(i <= a, "byte array longer than desired length"), r(a > 0, "Requested array length <= 0"), this.strip(); + var o, s, u = "le" === e, + c = new t(a), + f = this.clone(); + if (u) { + for (s = 0; !f.isZero(); s++) o = f.andln(255), f.iushrn(8), c[s] = o; + for (; s < a; s++) c[s] = 0 + } else { + for (s = 0; s < a - i; s++) c[s] = 0; + for (s = 0; !f.isZero(); s++) o = f.andln(255), f.iushrn(8), c[a - s - 1] = o + } + return c + }, Math.clz32 ? a.prototype._countBits = function(t) { + return 32 - Math.clz32(t) + } : a.prototype._countBits = function(t) { + var e = t, + n = 0; + return e >= 4096 && (n += 13, e >>>= 13), e >= 64 && (n += 7, e >>>= 7), e >= 8 && (n += 4, e >>>= 4), e >= 2 && (n += 2, e >>>= 2), n + e + }, a.prototype._zeroBits = function(t) { + if (0 === t) return 26; + var e = t, + n = 0; + return 0 == (8191 & e) && (n += 13, e >>>= 13), 0 == (127 & e) && (n += 7, e >>>= 7), 0 == (15 & e) && (n += 4, e >>>= 4), 0 == (3 & e) && (n += 2, e >>>= 2), 0 == (1 & e) && n++, n + }, a.prototype.bitLength = function() { + var t = this.words[this.length - 1], + e = this._countBits(t); + return 26 * (this.length - 1) + e + }, a.prototype.zeroBits = function() { + if (this.isZero()) return 0; + for (var t = 0, e = 0; e < this.length; e++) { + var n = this._zeroBits(this.words[e]); + if (t += n, 26 !== n) break + } + return t + }, a.prototype.byteLength = function() { + return Math.ceil(this.bitLength() / 8) + }, a.prototype.toTwos = function(t) { + return 0 !== this.negative ? this.abs().inotn(t).iaddn(1) : this.clone() + }, a.prototype.fromTwos = function(t) { + return this.testn(t - 1) ? this.notn(t).iaddn(1).ineg() : this.clone() + }, a.prototype.isNeg = function() { + return 0 !== this.negative + }, a.prototype.neg = function() { + return this.clone().ineg() + }, a.prototype.ineg = function() { + return this.isZero() || (this.negative ^= 1), this + }, a.prototype.iuor = function(t) { + for (; this.length < t.length;) this.words[this.length++] = 0; + for (var e = 0; e < t.length; e++) this.words[e] = this.words[e] | t.words[e]; + return this.strip() + }, a.prototype.ior = function(t) { + return r(0 == (this.negative | t.negative)), this.iuor(t) + }, a.prototype.or = function(t) { + return this.length > t.length ? this.clone().ior(t) : t.clone().ior(this) + }, a.prototype.uor = function(t) { + return this.length > t.length ? this.clone().iuor(t) : t.clone().iuor(this) + }, a.prototype.iuand = function(t) { + var e; + e = this.length > t.length ? t : this; + for (var n = 0; n < e.length; n++) this.words[n] = this.words[n] & t.words[n]; + return this.length = e.length, this.strip() + }, a.prototype.iand = function(t) { + return r(0 == (this.negative | t.negative)), this.iuand(t) + }, a.prototype.and = function(t) { + return this.length > t.length ? this.clone().iand(t) : t.clone().iand(this) + }, a.prototype.uand = function(t) { + return this.length > t.length ? this.clone().iuand(t) : t.clone().iuand(this) + }, a.prototype.iuxor = function(t) { + var e, n; + this.length > t.length ? (e = this, n = t) : (e = t, n = this); + for (var r = 0; r < n.length; r++) this.words[r] = e.words[r] ^ n.words[r]; + if (this !== e) + for (; r < e.length; r++) this.words[r] = e.words[r]; + return this.length = e.length, this.strip() + }, a.prototype.ixor = function(t) { + return r(0 == (this.negative | t.negative)), this.iuxor(t) + }, a.prototype.xor = function(t) { + return this.length > t.length ? this.clone().ixor(t) : t.clone().ixor(this) + }, a.prototype.uxor = function(t) { + return this.length > t.length ? this.clone().iuxor(t) : t.clone().iuxor(this) + }, a.prototype.inotn = function(t) { + r("number" == typeof t && t >= 0); + var e = 0 | Math.ceil(t / 26), + n = t % 26; + this._expand(e), n > 0 && e--; + for (var i = 0; i < e; i++) this.words[i] = 67108863 & ~this.words[i]; + return n > 0 && (this.words[i] = ~this.words[i] & 67108863 >> 26 - n), this.strip() + }, a.prototype.notn = function(t) { + return this.clone().inotn(t) + }, a.prototype.setn = function(t, e) { + r("number" == typeof t && t >= 0); + var n = t / 26 | 0, + i = t % 26; + return this._expand(n + 1), this.words[n] = e ? this.words[n] | 1 << i : this.words[n] & ~(1 << i), this.strip() + }, a.prototype.iadd = function(t) { + var e, n, r; + if (0 !== this.negative && 0 === t.negative) return this.negative = 0, e = this.isub(t), this.negative ^= 1, this._normSign(); + if (0 === this.negative && 0 !== t.negative) return t.negative = 0, e = this.isub(t), t.negative = 1, e._normSign(); + this.length > t.length ? (n = this, r = t) : (n = t, r = this); + for (var i = 0, a = 0; a < r.length; a++) e = (0 | n.words[a]) + (0 | r.words[a]) + i, this.words[a] = 67108863 & e, i = e >>> 26; + for (; 0 !== i && a < n.length; a++) e = (0 | n.words[a]) + i, this.words[a] = 67108863 & e, i = e >>> 26; + if (this.length = n.length, 0 !== i) this.words[this.length] = i, this.length++; + else if (n !== this) + for (; a < n.length; a++) this.words[a] = n.words[a]; + return this + }, a.prototype.add = function(t) { + var e; + return 0 !== t.negative && 0 === this.negative ? (t.negative = 0, e = this.sub(t), t.negative ^= 1, e) : 0 === t.negative && 0 !== this.negative ? (this.negative = 0, e = t.sub(this), this.negative = 1, e) : this.length > t.length ? this.clone().iadd(t) : t.clone().iadd(this) + }, a.prototype.isub = function(t) { + if (0 !== t.negative) { + t.negative = 0; + var e = this.iadd(t); + return t.negative = 1, e._normSign() + } + if (0 !== this.negative) return this.negative = 0, this.iadd(t), this.negative = 1, this._normSign(); + var n, r, i = this.cmp(t); + if (0 === i) return this.negative = 0, this.length = 1, this.words[0] = 0, this; + i > 0 ? (n = this, r = t) : (n = t, r = this); + for (var a = 0, o = 0; o < r.length; o++) a = (e = (0 | n.words[o]) - (0 | r.words[o]) + a) >> 26, this.words[o] = 67108863 & e; + for (; 0 !== a && o < n.length; o++) a = (e = (0 | n.words[o]) + a) >> 26, this.words[o] = 67108863 & e; + if (0 === a && o < n.length && n !== this) + for (; o < n.length; o++) this.words[o] = n.words[o]; + return this.length = Math.max(this.length, o), n !== this && (this.negative = 1), this.strip() + }, a.prototype.sub = function(t) { + return this.clone().isub(t) + }; + var d = function(t, e, n) { + var r, i, a, o = t.words, + s = e.words, + u = n.words, + c = 0, + f = 0 | o[0], + l = 8191 & f, + h = f >>> 13, + d = 0 | o[1], + p = 8191 & d, + g = d >>> 13, + y = 0 | o[2], + b = 8191 & y, + v = y >>> 13, + m = 0 | o[3], + _ = 8191 & m, + w = m >>> 13, + x = 0 | o[4], + k = 8191 & x, + E = x >>> 13, + A = 0 | o[5], + S = 8191 & A, + M = A >>> 13, + T = 0 | o[6], + D = 8191 & T, + C = T >>> 13, + N = 0 | o[7], + I = 8191 & N, + L = N >>> 13, + B = 0 | o[8], + O = 8191 & B, + R = B >>> 13, + P = 0 | o[9], + F = 8191 & P, + q = P >>> 13, + j = 0 | s[0], + U = 8191 & j, + z = j >>> 13, + Y = 0 | s[1], + V = 8191 & Y, + H = Y >>> 13, + G = 0 | s[2], + $ = 8191 & G, + W = G >>> 13, + K = 0 | s[3], + X = 8191 & K, + Z = K >>> 13, + J = 0 | s[4], + Q = 8191 & J, + tt = J >>> 13, + et = 0 | s[5], + nt = 8191 & et, + rt = et >>> 13, + it = 0 | s[6], + at = 8191 & it, + ot = it >>> 13, + st = 0 | s[7], + ut = 8191 & st, + ct = st >>> 13, + ft = 0 | s[8], + lt = 8191 & ft, + ht = ft >>> 13, + dt = 0 | s[9], + pt = 8191 & dt, + gt = dt >>> 13; + n.negative = t.negative ^ e.negative, n.length = 19; + var yt = (c + (r = Math.imul(l, U)) | 0) + ((8191 & (i = (i = Math.imul(l, z)) + Math.imul(h, U) | 0)) << 13) | 0; + c = ((a = Math.imul(h, z)) + (i >>> 13) | 0) + (yt >>> 26) | 0, yt &= 67108863, r = Math.imul(p, U), i = (i = Math.imul(p, z)) + Math.imul(g, U) | 0, a = Math.imul(g, z); + var bt = (c + (r = r + Math.imul(l, V) | 0) | 0) + ((8191 & (i = (i = i + Math.imul(l, H) | 0) + Math.imul(h, V) | 0)) << 13) | 0; + c = ((a = a + Math.imul(h, H) | 0) + (i >>> 13) | 0) + (bt >>> 26) | 0, bt &= 67108863, r = Math.imul(b, U), i = (i = Math.imul(b, z)) + Math.imul(v, U) | 0, a = Math.imul(v, z), r = r + Math.imul(p, V) | 0, i = (i = i + Math.imul(p, H) | 0) + Math.imul(g, V) | 0, a = a + Math.imul(g, H) | 0; + var vt = (c + (r = r + Math.imul(l, $) | 0) | 0) + ((8191 & (i = (i = i + Math.imul(l, W) | 0) + Math.imul(h, $) | 0)) << 13) | 0; + c = ((a = a + Math.imul(h, W) | 0) + (i >>> 13) | 0) + (vt >>> 26) | 0, vt &= 67108863, r = Math.imul(_, U), i = (i = Math.imul(_, z)) + Math.imul(w, U) | 0, a = Math.imul(w, z), r = r + Math.imul(b, V) | 0, i = (i = i + Math.imul(b, H) | 0) + Math.imul(v, V) | 0, a = a + Math.imul(v, H) | 0, r = r + Math.imul(p, $) | 0, i = (i = i + Math.imul(p, W) | 0) + Math.imul(g, $) | 0, a = a + Math.imul(g, W) | 0; + var mt = (c + (r = r + Math.imul(l, X) | 0) | 0) + ((8191 & (i = (i = i + Math.imul(l, Z) | 0) + Math.imul(h, X) | 0)) << 13) | 0; + c = ((a = a + Math.imul(h, Z) | 0) + (i >>> 13) | 0) + (mt >>> 26) | 0, mt &= 67108863, r = Math.imul(k, U), i = (i = Math.imul(k, z)) + Math.imul(E, U) | 0, a = Math.imul(E, z), r = r + Math.imul(_, V) | 0, i = (i = i + Math.imul(_, H) | 0) + Math.imul(w, V) | 0, a = a + Math.imul(w, H) | 0, r = r + Math.imul(b, $) | 0, i = (i = i + Math.imul(b, W) | 0) + Math.imul(v, $) | 0, a = a + Math.imul(v, W) | 0, r = r + Math.imul(p, X) | 0, i = (i = i + Math.imul(p, Z) | 0) + Math.imul(g, X) | 0, a = a + Math.imul(g, Z) | 0; + var _t = (c + (r = r + Math.imul(l, Q) | 0) | 0) + ((8191 & (i = (i = i + Math.imul(l, tt) | 0) + Math.imul(h, Q) | 0)) << 13) | 0; + c = ((a = a + Math.imul(h, tt) | 0) + (i >>> 13) | 0) + (_t >>> 26) | 0, _t &= 67108863, r = Math.imul(S, U), i = (i = Math.imul(S, z)) + Math.imul(M, U) | 0, a = Math.imul(M, z), r = r + Math.imul(k, V) | 0, i = (i = i + Math.imul(k, H) | 0) + Math.imul(E, V) | 0, a = a + Math.imul(E, H) | 0, r = r + Math.imul(_, $) | 0, i = (i = i + Math.imul(_, W) | 0) + Math.imul(w, $) | 0, a = a + Math.imul(w, W) | 0, r = r + Math.imul(b, X) | 0, i = (i = i + Math.imul(b, Z) | 0) + Math.imul(v, X) | 0, a = a + Math.imul(v, Z) | 0, r = r + Math.imul(p, Q) | 0, i = (i = i + Math.imul(p, tt) | 0) + Math.imul(g, Q) | 0, a = a + Math.imul(g, tt) | 0; + var wt = (c + (r = r + Math.imul(l, nt) | 0) | 0) + ((8191 & (i = (i = i + Math.imul(l, rt) | 0) + Math.imul(h, nt) | 0)) << 13) | 0; + c = ((a = a + Math.imul(h, rt) | 0) + (i >>> 13) | 0) + (wt >>> 26) | 0, wt &= 67108863, r = Math.imul(D, U), i = (i = Math.imul(D, z)) + Math.imul(C, U) | 0, a = Math.imul(C, z), r = r + Math.imul(S, V) | 0, i = (i = i + Math.imul(S, H) | 0) + Math.imul(M, V) | 0, a = a + Math.imul(M, H) | 0, r = r + Math.imul(k, $) | 0, i = (i = i + Math.imul(k, W) | 0) + Math.imul(E, $) | 0, a = a + Math.imul(E, W) | 0, r = r + Math.imul(_, X) | 0, i = (i = i + Math.imul(_, Z) | 0) + Math.imul(w, X) | 0, a = a + Math.imul(w, Z) | 0, r = r + Math.imul(b, Q) | 0, i = (i = i + Math.imul(b, tt) | 0) + Math.imul(v, Q) | 0, a = a + Math.imul(v, tt) | 0, r = r + Math.imul(p, nt) | 0, i = (i = i + Math.imul(p, rt) | 0) + Math.imul(g, nt) | 0, a = a + Math.imul(g, rt) | 0; + var xt = (c + (r = r + Math.imul(l, at) | 0) | 0) + ((8191 & (i = (i = i + Math.imul(l, ot) | 0) + Math.imul(h, at) | 0)) << 13) | 0; + c = ((a = a + Math.imul(h, ot) | 0) + (i >>> 13) | 0) + (xt >>> 26) | 0, xt &= 67108863, r = Math.imul(I, U), i = (i = Math.imul(I, z)) + Math.imul(L, U) | 0, a = Math.imul(L, z), r = r + Math.imul(D, V) | 0, i = (i = i + Math.imul(D, H) | 0) + Math.imul(C, V) | 0, a = a + Math.imul(C, H) | 0, r = r + Math.imul(S, $) | 0, i = (i = i + Math.imul(S, W) | 0) + Math.imul(M, $) | 0, a = a + Math.imul(M, W) | 0, r = r + Math.imul(k, X) | 0, i = (i = i + Math.imul(k, Z) | 0) + Math.imul(E, X) | 0, a = a + Math.imul(E, Z) | 0, r = r + Math.imul(_, Q) | 0, i = (i = i + Math.imul(_, tt) | 0) + Math.imul(w, Q) | 0, a = a + Math.imul(w, tt) | 0, r = r + Math.imul(b, nt) | 0, i = (i = i + Math.imul(b, rt) | 0) + Math.imul(v, nt) | 0, a = a + Math.imul(v, rt) | 0, r = r + Math.imul(p, at) | 0, i = (i = i + Math.imul(p, ot) | 0) + Math.imul(g, at) | 0, a = a + Math.imul(g, ot) | 0; + var kt = (c + (r = r + Math.imul(l, ut) | 0) | 0) + ((8191 & (i = (i = i + Math.imul(l, ct) | 0) + Math.imul(h, ut) | 0)) << 13) | 0; + c = ((a = a + Math.imul(h, ct) | 0) + (i >>> 13) | 0) + (kt >>> 26) | 0, kt &= 67108863, r = Math.imul(O, U), i = (i = Math.imul(O, z)) + Math.imul(R, U) | 0, a = Math.imul(R, z), r = r + Math.imul(I, V) | 0, i = (i = i + Math.imul(I, H) | 0) + Math.imul(L, V) | 0, a = a + Math.imul(L, H) | 0, r = r + Math.imul(D, $) | 0, i = (i = i + Math.imul(D, W) | 0) + Math.imul(C, $) | 0, a = a + Math.imul(C, W) | 0, r = r + Math.imul(S, X) | 0, i = (i = i + Math.imul(S, Z) | 0) + Math.imul(M, X) | 0, a = a + Math.imul(M, Z) | 0, r = r + Math.imul(k, Q) | 0, i = (i = i + Math.imul(k, tt) | 0) + Math.imul(E, Q) | 0, a = a + Math.imul(E, tt) | 0, r = r + Math.imul(_, nt) | 0, i = (i = i + Math.imul(_, rt) | 0) + Math.imul(w, nt) | 0, a = a + Math.imul(w, rt) | 0, r = r + Math.imul(b, at) | 0, i = (i = i + Math.imul(b, ot) | 0) + Math.imul(v, at) | 0, a = a + Math.imul(v, ot) | 0, r = r + Math.imul(p, ut) | 0, i = (i = i + Math.imul(p, ct) | 0) + Math.imul(g, ut) | 0, a = a + Math.imul(g, ct) | 0; + var Et = (c + (r = r + Math.imul(l, lt) | 0) | 0) + ((8191 & (i = (i = i + Math.imul(l, ht) | 0) + Math.imul(h, lt) | 0)) << 13) | 0; + c = ((a = a + Math.imul(h, ht) | 0) + (i >>> 13) | 0) + (Et >>> 26) | 0, Et &= 67108863, r = Math.imul(F, U), i = (i = Math.imul(F, z)) + Math.imul(q, U) | 0, a = Math.imul(q, z), r = r + Math.imul(O, V) | 0, i = (i = i + Math.imul(O, H) | 0) + Math.imul(R, V) | 0, a = a + Math.imul(R, H) | 0, r = r + Math.imul(I, $) | 0, i = (i = i + Math.imul(I, W) | 0) + Math.imul(L, $) | 0, a = a + Math.imul(L, W) | 0, r = r + Math.imul(D, X) | 0, i = (i = i + Math.imul(D, Z) | 0) + Math.imul(C, X) | 0, a = a + Math.imul(C, Z) | 0, r = r + Math.imul(S, Q) | 0, i = (i = i + Math.imul(S, tt) | 0) + Math.imul(M, Q) | 0, a = a + Math.imul(M, tt) | 0, r = r + Math.imul(k, nt) | 0, i = (i = i + Math.imul(k, rt) | 0) + Math.imul(E, nt) | 0, a = a + Math.imul(E, rt) | 0, r = r + Math.imul(_, at) | 0, i = (i = i + Math.imul(_, ot) | 0) + Math.imul(w, at) | 0, a = a + Math.imul(w, ot) | 0, r = r + Math.imul(b, ut) | 0, i = (i = i + Math.imul(b, ct) | 0) + Math.imul(v, ut) | 0, a = a + Math.imul(v, ct) | 0, r = r + Math.imul(p, lt) | 0, i = (i = i + Math.imul(p, ht) | 0) + Math.imul(g, lt) | 0, a = a + Math.imul(g, ht) | 0; + var At = (c + (r = r + Math.imul(l, pt) | 0) | 0) + ((8191 & (i = (i = i + Math.imul(l, gt) | 0) + Math.imul(h, pt) | 0)) << 13) | 0; + c = ((a = a + Math.imul(h, gt) | 0) + (i >>> 13) | 0) + (At >>> 26) | 0, At &= 67108863, r = Math.imul(F, V), i = (i = Math.imul(F, H)) + Math.imul(q, V) | 0, a = Math.imul(q, H), r = r + Math.imul(O, $) | 0, i = (i = i + Math.imul(O, W) | 0) + Math.imul(R, $) | 0, a = a + Math.imul(R, W) | 0, r = r + Math.imul(I, X) | 0, i = (i = i + Math.imul(I, Z) | 0) + Math.imul(L, X) | 0, a = a + Math.imul(L, Z) | 0, r = r + Math.imul(D, Q) | 0, i = (i = i + Math.imul(D, tt) | 0) + Math.imul(C, Q) | 0, a = a + Math.imul(C, tt) | 0, r = r + Math.imul(S, nt) | 0, i = (i = i + Math.imul(S, rt) | 0) + Math.imul(M, nt) | 0, a = a + Math.imul(M, rt) | 0, r = r + Math.imul(k, at) | 0, i = (i = i + Math.imul(k, ot) | 0) + Math.imul(E, at) | 0, a = a + Math.imul(E, ot) | 0, r = r + Math.imul(_, ut) | 0, i = (i = i + Math.imul(_, ct) | 0) + Math.imul(w, ut) | 0, a = a + Math.imul(w, ct) | 0, r = r + Math.imul(b, lt) | 0, i = (i = i + Math.imul(b, ht) | 0) + Math.imul(v, lt) | 0, a = a + Math.imul(v, ht) | 0; + var St = (c + (r = r + Math.imul(p, pt) | 0) | 0) + ((8191 & (i = (i = i + Math.imul(p, gt) | 0) + Math.imul(g, pt) | 0)) << 13) | 0; + c = ((a = a + Math.imul(g, gt) | 0) + (i >>> 13) | 0) + (St >>> 26) | 0, St &= 67108863, r = Math.imul(F, $), i = (i = Math.imul(F, W)) + Math.imul(q, $) | 0, a = Math.imul(q, W), r = r + Math.imul(O, X) | 0, i = (i = i + Math.imul(O, Z) | 0) + Math.imul(R, X) | 0, a = a + Math.imul(R, Z) | 0, r = r + Math.imul(I, Q) | 0, i = (i = i + Math.imul(I, tt) | 0) + Math.imul(L, Q) | 0, a = a + Math.imul(L, tt) | 0, r = r + Math.imul(D, nt) | 0, i = (i = i + Math.imul(D, rt) | 0) + Math.imul(C, nt) | 0, a = a + Math.imul(C, rt) | 0, r = r + Math.imul(S, at) | 0, i = (i = i + Math.imul(S, ot) | 0) + Math.imul(M, at) | 0, a = a + Math.imul(M, ot) | 0, r = r + Math.imul(k, ut) | 0, i = (i = i + Math.imul(k, ct) | 0) + Math.imul(E, ut) | 0, a = a + Math.imul(E, ct) | 0, r = r + Math.imul(_, lt) | 0, i = (i = i + Math.imul(_, ht) | 0) + Math.imul(w, lt) | 0, a = a + Math.imul(w, ht) | 0; + var Mt = (c + (r = r + Math.imul(b, pt) | 0) | 0) + ((8191 & (i = (i = i + Math.imul(b, gt) | 0) + Math.imul(v, pt) | 0)) << 13) | 0; + c = ((a = a + Math.imul(v, gt) | 0) + (i >>> 13) | 0) + (Mt >>> 26) | 0, Mt &= 67108863, r = Math.imul(F, X), i = (i = Math.imul(F, Z)) + Math.imul(q, X) | 0, a = Math.imul(q, Z), r = r + Math.imul(O, Q) | 0, i = (i = i + Math.imul(O, tt) | 0) + Math.imul(R, Q) | 0, a = a + Math.imul(R, tt) | 0, r = r + Math.imul(I, nt) | 0, i = (i = i + Math.imul(I, rt) | 0) + Math.imul(L, nt) | 0, a = a + Math.imul(L, rt) | 0, r = r + Math.imul(D, at) | 0, i = (i = i + Math.imul(D, ot) | 0) + Math.imul(C, at) | 0, a = a + Math.imul(C, ot) | 0, r = r + Math.imul(S, ut) | 0, i = (i = i + Math.imul(S, ct) | 0) + Math.imul(M, ut) | 0, a = a + Math.imul(M, ct) | 0, r = r + Math.imul(k, lt) | 0, i = (i = i + Math.imul(k, ht) | 0) + Math.imul(E, lt) | 0, a = a + Math.imul(E, ht) | 0; + var Tt = (c + (r = r + Math.imul(_, pt) | 0) | 0) + ((8191 & (i = (i = i + Math.imul(_, gt) | 0) + Math.imul(w, pt) | 0)) << 13) | 0; + c = ((a = a + Math.imul(w, gt) | 0) + (i >>> 13) | 0) + (Tt >>> 26) | 0, Tt &= 67108863, r = Math.imul(F, Q), i = (i = Math.imul(F, tt)) + Math.imul(q, Q) | 0, a = Math.imul(q, tt), r = r + Math.imul(O, nt) | 0, i = (i = i + Math.imul(O, rt) | 0) + Math.imul(R, nt) | 0, a = a + Math.imul(R, rt) | 0, r = r + Math.imul(I, at) | 0, i = (i = i + Math.imul(I, ot) | 0) + Math.imul(L, at) | 0, a = a + Math.imul(L, ot) | 0, r = r + Math.imul(D, ut) | 0, i = (i = i + Math.imul(D, ct) | 0) + Math.imul(C, ut) | 0, a = a + Math.imul(C, ct) | 0, r = r + Math.imul(S, lt) | 0, i = (i = i + Math.imul(S, ht) | 0) + Math.imul(M, lt) | 0, a = a + Math.imul(M, ht) | 0; + var Dt = (c + (r = r + Math.imul(k, pt) | 0) | 0) + ((8191 & (i = (i = i + Math.imul(k, gt) | 0) + Math.imul(E, pt) | 0)) << 13) | 0; + c = ((a = a + Math.imul(E, gt) | 0) + (i >>> 13) | 0) + (Dt >>> 26) | 0, Dt &= 67108863, r = Math.imul(F, nt), i = (i = Math.imul(F, rt)) + Math.imul(q, nt) | 0, a = Math.imul(q, rt), r = r + Math.imul(O, at) | 0, i = (i = i + Math.imul(O, ot) | 0) + Math.imul(R, at) | 0, a = a + Math.imul(R, ot) | 0, r = r + Math.imul(I, ut) | 0, i = (i = i + Math.imul(I, ct) | 0) + Math.imul(L, ut) | 0, a = a + Math.imul(L, ct) | 0, r = r + Math.imul(D, lt) | 0, i = (i = i + Math.imul(D, ht) | 0) + Math.imul(C, lt) | 0, a = a + Math.imul(C, ht) | 0; + var Ct = (c + (r = r + Math.imul(S, pt) | 0) | 0) + ((8191 & (i = (i = i + Math.imul(S, gt) | 0) + Math.imul(M, pt) | 0)) << 13) | 0; + c = ((a = a + Math.imul(M, gt) | 0) + (i >>> 13) | 0) + (Ct >>> 26) | 0, Ct &= 67108863, r = Math.imul(F, at), i = (i = Math.imul(F, ot)) + Math.imul(q, at) | 0, a = Math.imul(q, ot), r = r + Math.imul(O, ut) | 0, i = (i = i + Math.imul(O, ct) | 0) + Math.imul(R, ut) | 0, a = a + Math.imul(R, ct) | 0, r = r + Math.imul(I, lt) | 0, i = (i = i + Math.imul(I, ht) | 0) + Math.imul(L, lt) | 0, a = a + Math.imul(L, ht) | 0; + var Nt = (c + (r = r + Math.imul(D, pt) | 0) | 0) + ((8191 & (i = (i = i + Math.imul(D, gt) | 0) + Math.imul(C, pt) | 0)) << 13) | 0; + c = ((a = a + Math.imul(C, gt) | 0) + (i >>> 13) | 0) + (Nt >>> 26) | 0, Nt &= 67108863, r = Math.imul(F, ut), i = (i = Math.imul(F, ct)) + Math.imul(q, ut) | 0, a = Math.imul(q, ct), r = r + Math.imul(O, lt) | 0, i = (i = i + Math.imul(O, ht) | 0) + Math.imul(R, lt) | 0, a = a + Math.imul(R, ht) | 0; + var It = (c + (r = r + Math.imul(I, pt) | 0) | 0) + ((8191 & (i = (i = i + Math.imul(I, gt) | 0) + Math.imul(L, pt) | 0)) << 13) | 0; + c = ((a = a + Math.imul(L, gt) | 0) + (i >>> 13) | 0) + (It >>> 26) | 0, It &= 67108863, r = Math.imul(F, lt), i = (i = Math.imul(F, ht)) + Math.imul(q, lt) | 0, a = Math.imul(q, ht); + var Lt = (c + (r = r + Math.imul(O, pt) | 0) | 0) + ((8191 & (i = (i = i + Math.imul(O, gt) | 0) + Math.imul(R, pt) | 0)) << 13) | 0; + c = ((a = a + Math.imul(R, gt) | 0) + (i >>> 13) | 0) + (Lt >>> 26) | 0, Lt &= 67108863; + var Bt = (c + (r = Math.imul(F, pt)) | 0) + ((8191 & (i = (i = Math.imul(F, gt)) + Math.imul(q, pt) | 0)) << 13) | 0; + return c = ((a = Math.imul(q, gt)) + (i >>> 13) | 0) + (Bt >>> 26) | 0, Bt &= 67108863, u[0] = yt, u[1] = bt, u[2] = vt, u[3] = mt, u[4] = _t, u[5] = wt, u[6] = xt, u[7] = kt, u[8] = Et, u[9] = At, u[10] = St, u[11] = Mt, u[12] = Tt, u[13] = Dt, u[14] = Ct, u[15] = Nt, u[16] = It, u[17] = Lt, u[18] = Bt, 0 !== c && (u[19] = c, n.length++), n + }; + + function p(t, e, n) { + return (new g).mulp(t, e, n) + } + + function g(t, e) { + this.x = t, this.y = e + } + Math.imul || (d = h), a.prototype.mulTo = function(t, e) { + var n = this.length + t.length; + return 10 === this.length && 10 === t.length ? d(this, t, e) : n < 63 ? h(this, t, e) : n < 1024 ? function(t, e, n) { + n.negative = e.negative ^ t.negative, n.length = t.length + e.length; + for (var r = 0, i = 0, a = 0; a < n.length - 1; a++) { + var o = i; + i = 0; + for (var s = 67108863 & r, u = Math.min(a, e.length - 1), c = Math.max(0, a - t.length + 1); c <= u; c++) { + var f = a - c, + l = (0 | t.words[f]) * (0 | e.words[c]), + h = 67108863 & l; + s = 67108863 & (h = h + s | 0), i += (o = (o = o + (l / 67108864 | 0) | 0) + (h >>> 26) | 0) >>> 26, o &= 67108863 + } + n.words[a] = s, r = o, o = i + } + return 0 !== r ? n.words[a] = r : n.length--, n.strip() + }(this, t, e) : p(this, t, e) + }, g.prototype.makeRBT = function(t) { + for (var e = new Array(t), n = a.prototype._countBits(t) - 1, r = 0; r < t; r++) e[r] = this.revBin(r, n, t); + return e + }, g.prototype.revBin = function(t, e, n) { + if (0 === t || t === n - 1) return t; + for (var r = 0, i = 0; i < e; i++) r |= (1 & t) << e - i - 1, t >>= 1; + return r + }, g.prototype.permute = function(t, e, n, r, i, a) { + for (var o = 0; o < a; o++) r[o] = e[t[o]], i[o] = n[t[o]] + }, g.prototype.transform = function(t, e, n, r, i, a) { + this.permute(a, t, e, n, r, i); + for (var o = 1; o < i; o <<= 1) + for (var s = o << 1, u = Math.cos(2 * Math.PI / s), c = Math.sin(2 * Math.PI / s), f = 0; f < i; f += s) + for (var l = u, h = c, d = 0; d < o; d++) { + var p = n[f + d], + g = r[f + d], + y = n[f + d + o], + b = r[f + d + o], + v = l * y - h * b; + b = l * b + h * y, y = v, n[f + d] = p + y, r[f + d] = g + b, n[f + d + o] = p - y, r[f + d + o] = g - b, d !== s && (v = u * l - c * h, h = u * h + c * l, l = v) + } + }, g.prototype.guessLen13b = function(t, e) { + var n = 1 | Math.max(e, t), + r = 1 & n, + i = 0; + for (n = n / 2 | 0; n; n >>>= 1) i++; + return 1 << i + 1 + r + }, g.prototype.conjugate = function(t, e, n) { + if (!(n <= 1)) + for (var r = 0; r < n / 2; r++) { + var i = t[r]; + t[r] = t[n - r - 1], t[n - r - 1] = i, i = e[r], e[r] = -e[n - r - 1], e[n - r - 1] = -i + } + }, g.prototype.normalize13b = function(t, e) { + for (var n = 0, r = 0; r < e / 2; r++) { + var i = 8192 * Math.round(t[2 * r + 1] / e) + Math.round(t[2 * r] / e) + n; + t[r] = 67108863 & i, n = i < 67108864 ? 0 : i / 67108864 | 0 + } + return t + }, g.prototype.convert13b = function(t, e, n, i) { + for (var a = 0, o = 0; o < e; o++) a += 0 | t[o], n[2 * o] = 8191 & a, a >>>= 13, n[2 * o + 1] = 8191 & a, a >>>= 13; + for (o = 2 * e; o < i; ++o) n[o] = 0; + r(0 === a), r(0 == (-8192 & a)) + }, g.prototype.stub = function(t) { + for (var e = new Array(t), n = 0; n < t; n++) e[n] = 0; + return e + }, g.prototype.mulp = function(t, e, n) { + var r = 2 * this.guessLen13b(t.length, e.length), + i = this.makeRBT(r), + a = this.stub(r), + o = new Array(r), + s = new Array(r), + u = new Array(r), + c = new Array(r), + f = new Array(r), + l = new Array(r), + h = n.words; + h.length = r, this.convert13b(t.words, t.length, o, r), this.convert13b(e.words, e.length, c, r), this.transform(o, a, s, u, r, i), this.transform(c, a, f, l, r, i); + for (var d = 0; d < r; d++) { + var p = s[d] * f[d] - u[d] * l[d]; + u[d] = s[d] * l[d] + u[d] * f[d], s[d] = p + } + return this.conjugate(s, u, r), this.transform(s, u, h, a, r, i), this.conjugate(h, a, r), this.normalize13b(h, r), n.negative = t.negative ^ e.negative, n.length = t.length + e.length, n.strip() + }, a.prototype.mul = function(t) { + var e = new a(null); + return e.words = new Array(this.length + t.length), this.mulTo(t, e) + }, a.prototype.mulf = function(t) { + var e = new a(null); + return e.words = new Array(this.length + t.length), p(this, t, e) + }, a.prototype.imul = function(t) { + return this.clone().mulTo(t, this) + }, a.prototype.imuln = function(t) { + r("number" == typeof t), r(t < 67108864); + for (var e = 0, n = 0; n < this.length; n++) { + var i = (0 | this.words[n]) * t, + a = (67108863 & i) + (67108863 & e); + e >>= 26, e += i / 67108864 | 0, e += a >>> 26, this.words[n] = 67108863 & a + } + return 0 !== e && (this.words[n] = e, this.length++), this + }, a.prototype.muln = function(t) { + return this.clone().imuln(t) + }, a.prototype.sqr = function() { + return this.mul(this) + }, a.prototype.isqr = function() { + return this.imul(this.clone()) + }, a.prototype.pow = function(t) { + var e = function(t) { + for (var e = new Array(t.bitLength()), n = 0; n < e.length; n++) { + var r = n / 26 | 0, + i = n % 26; + e[n] = (t.words[r] & 1 << i) >>> i + } + return e + }(t); + if (0 === e.length) return new a(1); + for (var n = this, r = 0; r < e.length && 0 === e[r]; r++, n = n.sqr()); + if (++r < e.length) + for (var i = n.sqr(); r < e.length; r++, i = i.sqr()) 0 !== e[r] && (n = n.mul(i)); + return n + }, a.prototype.iushln = function(t) { + r("number" == typeof t && t >= 0); + var e, n = t % 26, + i = (t - n) / 26, + a = 67108863 >>> 26 - n << 26 - n; + if (0 !== n) { + var o = 0; + for (e = 0; e < this.length; e++) { + var s = this.words[e] & a, + u = (0 | this.words[e]) - s << n; + this.words[e] = u | o, o = s >>> 26 - n + } + o && (this.words[e] = o, this.length++) + } + if (0 !== i) { + for (e = this.length - 1; e >= 0; e--) this.words[e + i] = this.words[e]; + for (e = 0; e < i; e++) this.words[e] = 0; + this.length += i + } + return this.strip() + }, a.prototype.ishln = function(t) { + return r(0 === this.negative), this.iushln(t) + }, a.prototype.iushrn = function(t, e, n) { + var i; + r("number" == typeof t && t >= 0), i = e ? (e - e % 26) / 26 : 0; + var a = t % 26, + o = Math.min((t - a) / 26, this.length), + s = 67108863 ^ 67108863 >>> a << a, + u = n; + if (i -= o, i = Math.max(0, i), u) { + for (var c = 0; c < o; c++) u.words[c] = this.words[c]; + u.length = o + } + if (0 === o); + else if (this.length > o) + for (this.length -= o, c = 0; c < this.length; c++) this.words[c] = this.words[c + o]; + else this.words[0] = 0, this.length = 1; + var f = 0; + for (c = this.length - 1; c >= 0 && (0 !== f || c >= i); c--) { + var l = 0 | this.words[c]; + this.words[c] = f << 26 - a | l >>> a, f = l & s + } + return u && 0 !== f && (u.words[u.length++] = f), 0 === this.length && (this.words[0] = 0, this.length = 1), this.strip() + }, a.prototype.ishrn = function(t, e, n) { + return r(0 === this.negative), this.iushrn(t, e, n) + }, a.prototype.shln = function(t) { + return this.clone().ishln(t) + }, a.prototype.ushln = function(t) { + return this.clone().iushln(t) + }, a.prototype.shrn = function(t) { + return this.clone().ishrn(t) + }, a.prototype.ushrn = function(t) { + return this.clone().iushrn(t) + }, a.prototype.testn = function(t) { + r("number" == typeof t && t >= 0); + var e = t % 26, + n = (t - e) / 26, + i = 1 << e; + return !(this.length <= n) && !!(this.words[n] & i) + }, a.prototype.imaskn = function(t) { + r("number" == typeof t && t >= 0); + var e = t % 26, + n = (t - e) / 26; + if (r(0 === this.negative, "imaskn works only with positive numbers"), this.length <= n) return this; + if (0 !== e && n++, this.length = Math.min(n, this.length), 0 !== e) { + var i = 67108863 ^ 67108863 >>> e << e; + this.words[this.length - 1] &= i + } + return this.strip() + }, a.prototype.maskn = function(t) { + return this.clone().imaskn(t) + }, a.prototype.iaddn = function(t) { + return r("number" == typeof t), r(t < 67108864), t < 0 ? this.isubn(-t) : 0 !== this.negative ? 1 === this.length && (0 | this.words[0]) < t ? (this.words[0] = t - (0 | this.words[0]), this.negative = 0, this) : (this.negative = 0, this.isubn(t), this.negative = 1, this) : this._iaddn(t) + }, a.prototype._iaddn = function(t) { + this.words[0] += t; + for (var e = 0; e < this.length && this.words[e] >= 67108864; e++) this.words[e] -= 67108864, e === this.length - 1 ? this.words[e + 1] = 1 : this.words[e + 1]++; + return this.length = Math.max(this.length, e + 1), this + }, a.prototype.isubn = function(t) { + if (r("number" == typeof t), r(t < 67108864), t < 0) return this.iaddn(-t); + if (0 !== this.negative) return this.negative = 0, this.iaddn(t), this.negative = 1, this; + if (this.words[0] -= t, 1 === this.length && this.words[0] < 0) this.words[0] = -this.words[0], this.negative = 1; + else + for (var e = 0; e < this.length && this.words[e] < 0; e++) this.words[e] += 67108864, this.words[e + 1] -= 1; + return this.strip() + }, a.prototype.addn = function(t) { + return this.clone().iaddn(t) + }, a.prototype.subn = function(t) { + return this.clone().isubn(t) + }, a.prototype.iabs = function() { + return this.negative = 0, this + }, a.prototype.abs = function() { + return this.clone().iabs() + }, a.prototype._ishlnsubmul = function(t, e, n) { + var i, a, o = t.length + n; + this._expand(o); + var s = 0; + for (i = 0; i < t.length; i++) { + a = (0 | this.words[i + n]) + s; + var u = (0 | t.words[i]) * e; + s = ((a -= 67108863 & u) >> 26) - (u / 67108864 | 0), this.words[i + n] = 67108863 & a + } + for (; i < this.length - n; i++) s = (a = (0 | this.words[i + n]) + s) >> 26, this.words[i + n] = 67108863 & a; + if (0 === s) return this.strip(); + for (r(-1 === s), s = 0, i = 0; i < this.length; i++) s = (a = -(0 | this.words[i]) + s) >> 26, this.words[i] = 67108863 & a; + return this.negative = 1, this.strip() + }, a.prototype._wordDiv = function(t, e) { + var n = (this.length, t.length), + r = this.clone(), + i = t, + o = 0 | i.words[i.length - 1]; + 0 !== (n = 26 - this._countBits(o)) && (i = i.ushln(n), r.iushln(n), o = 0 | i.words[i.length - 1]); + var s, u = r.length - i.length; + if ("mod" !== e) { + (s = new a(null)).length = u + 1, s.words = new Array(s.length); + for (var c = 0; c < s.length; c++) s.words[c] = 0 + } + var f = r.clone()._ishlnsubmul(i, 1, u); + 0 === f.negative && (r = f, s && (s.words[u] = 1)); + for (var l = u - 1; l >= 0; l--) { + var h = 67108864 * (0 | r.words[i.length + l]) + (0 | r.words[i.length + l - 1]); + for (h = Math.min(h / o | 0, 67108863), r._ishlnsubmul(i, h, l); 0 !== r.negative;) h--, r.negative = 0, r._ishlnsubmul(i, 1, l), r.isZero() || (r.negative ^= 1); + s && (s.words[l] = h) + } + return s && s.strip(), r.strip(), "div" !== e && 0 !== n && r.iushrn(n), { + div: s || null, + mod: r + } + }, a.prototype.divmod = function(t, e, n) { + return r(!t.isZero()), this.isZero() ? { + div: new a(0), + mod: new a(0) + } : 0 !== this.negative && 0 === t.negative ? (s = this.neg().divmod(t, e), "mod" !== e && (i = s.div.neg()), "div" !== e && (o = s.mod.neg(), n && 0 !== o.negative && o.iadd(t)), { + div: i, + mod: o + }) : 0 === this.negative && 0 !== t.negative ? (s = this.divmod(t.neg(), e), "mod" !== e && (i = s.div.neg()), { + div: i, + mod: s.mod + }) : 0 != (this.negative & t.negative) ? (s = this.neg().divmod(t.neg(), e), "div" !== e && (o = s.mod.neg(), n && 0 !== o.negative && o.isub(t)), { + div: s.div, + mod: o + }) : t.length > this.length || this.cmp(t) < 0 ? { + div: new a(0), + mod: this + } : 1 === t.length ? "div" === e ? { + div: this.divn(t.words[0]), + mod: null + } : "mod" === e ? { + div: null, + mod: new a(this.modn(t.words[0])) + } : { + div: this.divn(t.words[0]), + mod: new a(this.modn(t.words[0])) + } : this._wordDiv(t, e); + var i, o, s + }, a.prototype.div = function(t) { + return this.divmod(t, "div", !1).div + }, a.prototype.mod = function(t) { + return this.divmod(t, "mod", !1).mod + }, a.prototype.umod = function(t) { + return this.divmod(t, "mod", !0).mod + }, a.prototype.divRound = function(t) { + var e = this.divmod(t); + if (e.mod.isZero()) return e.div; + var n = 0 !== e.div.negative ? e.mod.isub(t) : e.mod, + r = t.ushrn(1), + i = t.andln(1), + a = n.cmp(r); + return a < 0 || 1 === i && 0 === a ? e.div : 0 !== e.div.negative ? e.div.isubn(1) : e.div.iaddn(1) + }, a.prototype.modn = function(t) { + r(t <= 67108863); + for (var e = (1 << 26) % t, n = 0, i = this.length - 1; i >= 0; i--) n = (e * n + (0 | this.words[i])) % t; + return n + }, a.prototype.idivn = function(t) { + r(t <= 67108863); + for (var e = 0, n = this.length - 1; n >= 0; n--) { + var i = (0 | this.words[n]) + 67108864 * e; + this.words[n] = i / t | 0, e = i % t + } + return this.strip() + }, a.prototype.divn = function(t) { + return this.clone().idivn(t) + }, a.prototype.egcd = function(t) { + r(0 === t.negative), r(!t.isZero()); + var e = this, + n = t.clone(); + e = 0 !== e.negative ? e.umod(t) : e.clone(); + for (var i = new a(1), o = new a(0), s = new a(0), u = new a(1), c = 0; e.isEven() && n.isEven();) e.iushrn(1), n.iushrn(1), ++c; + for (var f = n.clone(), l = e.clone(); !e.isZero();) { + for (var h = 0, d = 1; 0 == (e.words[0] & d) && h < 26; ++h, d <<= 1); + if (h > 0) + for (e.iushrn(h); h-- > 0;)(i.isOdd() || o.isOdd()) && (i.iadd(f), o.isub(l)), i.iushrn(1), o.iushrn(1); + for (var p = 0, g = 1; 0 == (n.words[0] & g) && p < 26; ++p, g <<= 1); + if (p > 0) + for (n.iushrn(p); p-- > 0;)(s.isOdd() || u.isOdd()) && (s.iadd(f), u.isub(l)), s.iushrn(1), u.iushrn(1); + e.cmp(n) >= 0 ? (e.isub(n), i.isub(s), o.isub(u)) : (n.isub(e), s.isub(i), u.isub(o)) + } + return { + a: s, + b: u, + gcd: n.iushln(c) + } + }, a.prototype._invmp = function(t) { + r(0 === t.negative), r(!t.isZero()); + var e = this, + n = t.clone(); + e = 0 !== e.negative ? e.umod(t) : e.clone(); + for (var i, o = new a(1), s = new a(0), u = n.clone(); e.cmpn(1) > 0 && n.cmpn(1) > 0;) { + for (var c = 0, f = 1; 0 == (e.words[0] & f) && c < 26; ++c, f <<= 1); + if (c > 0) + for (e.iushrn(c); c-- > 0;) o.isOdd() && o.iadd(u), o.iushrn(1); + for (var l = 0, h = 1; 0 == (n.words[0] & h) && l < 26; ++l, h <<= 1); + if (l > 0) + for (n.iushrn(l); l-- > 0;) s.isOdd() && s.iadd(u), s.iushrn(1); + e.cmp(n) >= 0 ? (e.isub(n), o.isub(s)) : (n.isub(e), s.isub(o)) + } + return (i = 0 === e.cmpn(1) ? o : s).cmpn(0) < 0 && i.iadd(t), i + }, a.prototype.gcd = function(t) { + if (this.isZero()) return t.abs(); + if (t.isZero()) return this.abs(); + var e = this.clone(), + n = t.clone(); + e.negative = 0, n.negative = 0; + for (var r = 0; e.isEven() && n.isEven(); r++) e.iushrn(1), n.iushrn(1); + for (;;) { + for (; e.isEven();) e.iushrn(1); + for (; n.isEven();) n.iushrn(1); + var i = e.cmp(n); + if (i < 0) { + var a = e; + e = n, n = a + } else if (0 === i || 0 === n.cmpn(1)) break; + e.isub(n) + } + return n.iushln(r) + }, a.prototype.invm = function(t) { + return this.egcd(t).a.umod(t) + }, a.prototype.isEven = function() { + return 0 == (1 & this.words[0]) + }, a.prototype.isOdd = function() { + return 1 == (1 & this.words[0]) + }, a.prototype.andln = function(t) { + return this.words[0] & t + }, a.prototype.bincn = function(t) { + r("number" == typeof t); + var e = t % 26, + n = (t - e) / 26, + i = 1 << e; + if (this.length <= n) return this._expand(n + 1), this.words[n] |= i, this; + for (var a = i, o = n; 0 !== a && o < this.length; o++) { + var s = 0 | this.words[o]; + a = (s += a) >>> 26, s &= 67108863, this.words[o] = s + } + return 0 !== a && (this.words[o] = a, this.length++), this + }, a.prototype.isZero = function() { + return 1 === this.length && 0 === this.words[0] + }, a.prototype.cmpn = function(t) { + var e, n = t < 0; + if (0 !== this.negative && !n) return -1; + if (0 === this.negative && n) return 1; + if (this.strip(), this.length > 1) e = 1; + else { + n && (t = -t), r(t <= 67108863, "Number is too big"); + var i = 0 | this.words[0]; + e = i === t ? 0 : i < t ? -1 : 1 + } + return 0 !== this.negative ? 0 | -e : e + }, a.prototype.cmp = function(t) { + if (0 !== this.negative && 0 === t.negative) return -1; + if (0 === this.negative && 0 !== t.negative) return 1; + var e = this.ucmp(t); + return 0 !== this.negative ? 0 | -e : e + }, a.prototype.ucmp = function(t) { + if (this.length > t.length) return 1; + if (this.length < t.length) return -1; + for (var e = 0, n = this.length - 1; n >= 0; n--) { + var r = 0 | this.words[n], + i = 0 | t.words[n]; + if (r !== i) { + r < i ? e = -1 : r > i && (e = 1); + break + } + } + return e + }, a.prototype.gtn = function(t) { + return 1 === this.cmpn(t) + }, a.prototype.gt = function(t) { + return 1 === this.cmp(t) + }, a.prototype.gten = function(t) { + return this.cmpn(t) >= 0 + }, a.prototype.gte = function(t) { + return this.cmp(t) >= 0 + }, a.prototype.ltn = function(t) { + return -1 === this.cmpn(t) + }, a.prototype.lt = function(t) { + return -1 === this.cmp(t) + }, a.prototype.lten = function(t) { + return this.cmpn(t) <= 0 + }, a.prototype.lte = function(t) { + return this.cmp(t) <= 0 + }, a.prototype.eqn = function(t) { + return 0 === this.cmpn(t) + }, a.prototype.eq = function(t) { + return 0 === this.cmp(t) + }, a.red = function(t) { + return new x(t) + }, a.prototype.toRed = function(t) { + return r(!this.red, "Already a number in reduction context"), r(0 === this.negative, "red works only with positives"), t.convertTo(this)._forceRed(t) + }, a.prototype.fromRed = function() { + return r(this.red, "fromRed works only with numbers in reduction context"), this.red.convertFrom(this) + }, a.prototype._forceRed = function(t) { + return this.red = t, this + }, a.prototype.forceRed = function(t) { + return r(!this.red, "Already a number in reduction context"), this._forceRed(t) + }, a.prototype.redAdd = function(t) { + return r(this.red, "redAdd works only with red numbers"), this.red.add(this, t) + }, a.prototype.redIAdd = function(t) { + return r(this.red, "redIAdd works only with red numbers"), this.red.iadd(this, t) + }, a.prototype.redSub = function(t) { + return r(this.red, "redSub works only with red numbers"), this.red.sub(this, t) + }, a.prototype.redISub = function(t) { + return r(this.red, "redISub works only with red numbers"), this.red.isub(this, t) + }, a.prototype.redShl = function(t) { + return r(this.red, "redShl works only with red numbers"), this.red.shl(this, t) + }, a.prototype.redMul = function(t) { + return r(this.red, "redMul works only with red numbers"), this.red._verify2(this, t), this.red.mul(this, t) + }, a.prototype.redIMul = function(t) { + return r(this.red, "redMul works only with red numbers"), this.red._verify2(this, t), this.red.imul(this, t) + }, a.prototype.redSqr = function() { + return r(this.red, "redSqr works only with red numbers"), this.red._verify1(this), this.red.sqr(this) + }, a.prototype.redISqr = function() { + return r(this.red, "redISqr works only with red numbers"), this.red._verify1(this), this.red.isqr(this) + }, a.prototype.redSqrt = function() { + return r(this.red, "redSqrt works only with red numbers"), this.red._verify1(this), this.red.sqrt(this) + }, a.prototype.redInvm = function() { + return r(this.red, "redInvm works only with red numbers"), this.red._verify1(this), this.red.invm(this) + }, a.prototype.redNeg = function() { + return r(this.red, "redNeg works only with red numbers"), this.red._verify1(this), this.red.neg(this) + }, a.prototype.redPow = function(t) { + return r(this.red && !t.red, "redPow(normalNum)"), this.red._verify1(this), this.red.pow(this, t) + }; + var y = { + k256: null, + p224: null, + p192: null, + p25519: null + }; + + function b(t, e) { + this.name = t, this.p = new a(e, 16), this.n = this.p.bitLength(), this.k = new a(1).iushln(this.n).isub(this.p), this.tmp = this._tmp() + } + + function v() { + b.call(this, "k256", "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f") + } + + function m() { + b.call(this, "p224", "ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001") + } + + function _() { + b.call(this, "p192", "ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff") + } + + function w() { + b.call(this, "25519", "7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed") + } + + function x(t) { + if ("string" == typeof t) { + var e = a._prime(t); + this.m = e.p, this.prime = e + } else r(t.gtn(1), "modulus must be greater than 1"), this.m = t, this.prime = null + } + + function k(t) { + x.call(this, t), this.shift = this.m.bitLength(), this.shift % 26 != 0 && (this.shift += 26 - this.shift % 26), this.r = new a(1).iushln(this.shift), this.r2 = this.imod(this.r.sqr()), this.rinv = this.r._invmp(this.m), this.minv = this.rinv.mul(this.r).isubn(1).div(this.m), this.minv = this.minv.umod(this.r), this.minv = this.r.sub(this.minv) + } + b.prototype._tmp = function() { + var t = new a(null); + return t.words = new Array(Math.ceil(this.n / 13)), t + }, b.prototype.ireduce = function(t) { + var e, n = t; + do { + this.split(n, this.tmp), e = (n = (n = this.imulK(n)).iadd(this.tmp)).bitLength() + } while (e > this.n); + var r = e < this.n ? -1 : n.ucmp(this.p); + return 0 === r ? (n.words[0] = 0, n.length = 1) : r > 0 ? n.isub(this.p) : n.strip(), n + }, b.prototype.split = function(t, e) { + t.iushrn(this.n, 0, e) + }, b.prototype.imulK = function(t) { + return t.imul(this.k) + }, i(v, b), v.prototype.split = function(t, e) { + for (var n = Math.min(t.length, 9), r = 0; r < n; r++) e.words[r] = t.words[r]; + if (e.length = n, t.length <= 9) return t.words[0] = 0, void(t.length = 1); + var i = t.words[9]; + for (e.words[e.length++] = 4194303 & i, r = 10; r < t.length; r++) { + var a = 0 | t.words[r]; + t.words[r - 10] = (4194303 & a) << 4 | i >>> 22, i = a + } + i >>>= 22, t.words[r - 10] = i, 0 === i && t.length > 10 ? t.length -= 10 : t.length -= 9 + }, v.prototype.imulK = function(t) { + t.words[t.length] = 0, t.words[t.length + 1] = 0, t.length += 2; + for (var e = 0, n = 0; n < t.length; n++) { + var r = 0 | t.words[n]; + e += 977 * r, t.words[n] = 67108863 & e, e = 64 * r + (e / 67108864 | 0) + } + return 0 === t.words[t.length - 1] && (t.length--, 0 === t.words[t.length - 1] && t.length--), t + }, i(m, b), i(_, b), i(w, b), w.prototype.imulK = function(t) { + for (var e = 0, n = 0; n < t.length; n++) { + var r = 19 * (0 | t.words[n]) + e, + i = 67108863 & r; + r >>>= 26, t.words[n] = i, e = r + } + return 0 !== e && (t.words[t.length++] = e), t + }, a._prime = function(t) { + if (y[t]) return y[t]; + var e; + if ("k256" === t) e = new v; + else if ("p224" === t) e = new m; + else if ("p192" === t) e = new _; + else { + if ("p25519" !== t) throw new Error("Unknown prime " + t); + e = new w + } + return y[t] = e, e + }, x.prototype._verify1 = function(t) { + r(0 === t.negative, "red works only with positives"), r(t.red, "red works only with red numbers") + }, x.prototype._verify2 = function(t, e) { + r(0 == (t.negative | e.negative), "red works only with positives"), r(t.red && t.red === e.red, "red works only with red numbers") + }, x.prototype.imod = function(t) { + return this.prime ? this.prime.ireduce(t)._forceRed(this) : t.umod(this.m)._forceRed(this) + }, x.prototype.neg = function(t) { + return t.isZero() ? t.clone() : this.m.sub(t)._forceRed(this) + }, x.prototype.add = function(t, e) { + this._verify2(t, e); + var n = t.add(e); + return n.cmp(this.m) >= 0 && n.isub(this.m), n._forceRed(this) + }, x.prototype.iadd = function(t, e) { + this._verify2(t, e); + var n = t.iadd(e); + return n.cmp(this.m) >= 0 && n.isub(this.m), n + }, x.prototype.sub = function(t, e) { + this._verify2(t, e); + var n = t.sub(e); + return n.cmpn(0) < 0 && n.iadd(this.m), n._forceRed(this) + }, x.prototype.isub = function(t, e) { + this._verify2(t, e); + var n = t.isub(e); + return n.cmpn(0) < 0 && n.iadd(this.m), n + }, x.prototype.shl = function(t, e) { + return this._verify1(t), this.imod(t.ushln(e)) + }, x.prototype.imul = function(t, e) { + return this._verify2(t, e), this.imod(t.imul(e)) + }, x.prototype.mul = function(t, e) { + return this._verify2(t, e), this.imod(t.mul(e)) + }, x.prototype.isqr = function(t) { + return this.imul(t, t.clone()) + }, x.prototype.sqr = function(t) { + return this.mul(t, t) + }, x.prototype.sqrt = function(t) { + if (t.isZero()) return t.clone(); + var e = this.m.andln(3); + if (r(e % 2 == 1), 3 === e) { + var n = this.m.add(new a(1)).iushrn(2); + return this.pow(t, n) + } + for (var i = this.m.subn(1), o = 0; !i.isZero() && 0 === i.andln(1);) o++, i.iushrn(1); + r(!i.isZero()); + var s = new a(1).toRed(this), + u = s.redNeg(), + c = this.m.subn(1).iushrn(1), + f = this.m.bitLength(); + for (f = new a(2 * f * f).toRed(this); 0 !== this.pow(f, c).cmp(u);) f.redIAdd(u); + for (var l = this.pow(f, i), h = this.pow(t, i.addn(1).iushrn(1)), d = this.pow(t, i), p = o; 0 !== d.cmp(s);) { + for (var g = d, y = 0; 0 !== g.cmp(s); y++) g = g.redSqr(); + r(y < p); + var b = this.pow(l, new a(1).iushln(p - y - 1)); + h = h.redMul(b), l = b.redSqr(), d = d.redMul(l), p = y + } + return h + }, x.prototype.invm = function(t) { + var e = t._invmp(this.m); + return 0 !== e.negative ? (e.negative = 0, this.imod(e).redNeg()) : this.imod(e) + }, x.prototype.pow = function(t, e) { + if (e.isZero()) return new a(1).toRed(this); + if (0 === e.cmpn(1)) return t.clone(); + var n = new Array(16); + n[0] = new a(1).toRed(this), n[1] = t; + for (var r = 2; r < n.length; r++) n[r] = this.mul(n[r - 1], t); + var i = n[0], + o = 0, + s = 0, + u = e.bitLength() % 26; + for (0 === u && (u = 26), r = e.length - 1; r >= 0; r--) { + for (var c = e.words[r], f = u - 1; f >= 0; f--) { + var l = c >> f & 1; + i !== n[0] && (i = this.sqr(i)), 0 !== l || 0 !== o ? (o <<= 1, o |= l, (4 === ++s || 0 === r && 0 === f) && (i = this.mul(i, n[o]), s = 0, o = 0)) : s = 0 + } + u = 26 + } + return i + }, x.prototype.convertTo = function(t) { + var e = t.umod(this.m); + return e === t ? e.clone() : e + }, x.prototype.convertFrom = function(t) { + var e = t.clone(); + return e.red = null, e + }, a.mont = function(t) { + return new k(t) + }, i(k, x), k.prototype.convertTo = function(t) { + return this.imod(t.ushln(this.shift)) + }, k.prototype.convertFrom = function(t) { + var e = this.imod(t.mul(this.rinv)); + return e.red = null, e + }, k.prototype.imul = function(t, e) { + if (t.isZero() || e.isZero()) return t.words[0] = 0, t.length = 1, t; + var n = t.imul(e), + r = n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m), + i = n.isub(r).iushrn(this.shift), + a = i; + return i.cmp(this.m) >= 0 ? a = i.isub(this.m) : i.cmpn(0) < 0 && (a = i.iadd(this.m)), a._forceRed(this) + }, k.prototype.mul = function(t, e) { + if (t.isZero() || e.isZero()) return new a(0)._forceRed(this); + var n = t.mul(e), + r = n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m), + i = n.isub(r).iushrn(this.shift), + o = i; + return i.cmp(this.m) >= 0 ? o = i.isub(this.m) : i.cmpn(0) < 0 && (o = i.iadd(this.m)), o._forceRed(this) + }, k.prototype.invm = function(t) { + return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this) + } + }(t, this) + }).call(this, n(9)(t)) + }, function(t, e) { + var n = Array.isArray; + t.exports = n + }, function(t, e) { + var n, r, i = t.exports = {}; + + function a() { + throw new Error("setTimeout has not been defined") + } + + function o() { + throw new Error("clearTimeout has not been defined") + } + + function s(t) { + if (n === setTimeout) return setTimeout(t, 0); + if ((n === a || !n) && setTimeout) return n = setTimeout, setTimeout(t, 0); + try { + return n(t, 0) + } catch (e) { + try { + return n.call(null, t, 0) + } catch (e) { + return n.call(this, t, 0) + } + } + }! function() { + try { + n = "function" == typeof setTimeout ? setTimeout : a + } catch (t) { + n = a + } + try { + r = "function" == typeof clearTimeout ? clearTimeout : o + } catch (t) { + r = o + } + }(); + var u, c = [], + f = !1, + l = -1; + + function h() { + f && u && (f = !1, u.length ? c = u.concat(c) : l = -1, c.length && d()) + } + + function d() { + if (!f) { + var t = s(h); + f = !0; + for (var e = c.length; e;) { + for (u = c, c = []; ++l < e;) u && u[l].run(); + l = -1, e = c.length + } + u = null, f = !1, + function(t) { + if (r === clearTimeout) return clearTimeout(t); + if ((r === o || !r) && clearTimeout) return r = clearTimeout, clearTimeout(t); + try { + r(t) + } catch (e) { + try { + return r.call(null, t) + } catch (e) { + return r.call(this, t) + } + } + }(t) + } + } + + function p(t, e) { + this.fun = t, this.array = e + } + + function g() {} + i.nextTick = function(t) { + var e = new Array(arguments.length - 1); + if (arguments.length > 1) + for (var n = 1; n < arguments.length; n++) e[n - 1] = arguments[n]; + c.push(new p(t, e)), 1 !== c.length || f || s(d) + }, p.prototype.run = function() { + this.fun.apply(null, this.array) + }, i.title = "browser", i.browser = !0, i.env = {}, i.argv = [], i.version = "", i.versions = {}, i.on = g, i.addListener = g, i.once = g, i.off = g, i.removeListener = g, i.removeAllListeners = g, i.emit = g, i.prependListener = g, i.prependOnceListener = g, i.listeners = function(t) { + return [] + }, i.binding = function(t) { + throw new Error("process.binding is not supported") + }, i.cwd = function() { + return "/" + }, i.chdir = function(t) { + throw new Error("process.chdir is not supported") + }, i.umask = function() { + return 0 + } + }, function(t, e, n) { + "use strict"; + (function(t) { + /*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh <http://feross.org> + * @license MIT + */ + var r = n(421), + i = n(422), + a = n(191); + + function o() { + return u.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823 + } + + function s(t, e) { + if (o() < e) throw new RangeError("Invalid typed array length"); + return u.TYPED_ARRAY_SUPPORT ? (t = new Uint8Array(e)).__proto__ = u.prototype : (null === t && (t = new u(e)), t.length = e), t + } + + function u(t, e, n) { + if (!(u.TYPED_ARRAY_SUPPORT || this instanceof u)) return new u(t, e, n); + if ("number" == typeof t) { + if ("string" == typeof e) throw new Error("If encoding is specified then the first argument must be a string"); + return l(this, t) + } + return c(this, t, e, n) + } + + function c(t, e, n, r) { + if ("number" == typeof e) throw new TypeError('"value" argument must not be a number'); + return "undefined" != typeof ArrayBuffer && e instanceof ArrayBuffer ? function(t, e, n, r) { + if (e.byteLength, n < 0 || e.byteLength < n) throw new RangeError("'offset' is out of bounds"); + if (e.byteLength < n + (r || 0)) throw new RangeError("'length' is out of bounds"); + e = void 0 === n && void 0 === r ? new Uint8Array(e) : void 0 === r ? new Uint8Array(e, n) : new Uint8Array(e, n, r); + u.TYPED_ARRAY_SUPPORT ? (t = e).__proto__ = u.prototype : t = h(t, e); + return t + }(t, e, n, r) : "string" == typeof e ? function(t, e, n) { + "string" == typeof n && "" !== n || (n = "utf8"); + if (!u.isEncoding(n)) throw new TypeError('"encoding" must be a valid string encoding'); + var r = 0 | p(e, n), + i = (t = s(t, r)).write(e, n); + i !== r && (t = t.slice(0, i)); + return t + }(t, e, n) : function(t, e) { + if (u.isBuffer(e)) { + var n = 0 | d(e.length); + return 0 === (t = s(t, n)).length ? t : (e.copy(t, 0, 0, n), t) + } + if (e) { + if ("undefined" != typeof ArrayBuffer && e.buffer instanceof ArrayBuffer || "length" in e) return "number" != typeof e.length || (r = e.length) != r ? s(t, 0) : h(t, e); + if ("Buffer" === e.type && a(e.data)) return h(t, e.data) + } + var r; + throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.") + }(t, e) + } + + function f(t) { + if ("number" != typeof t) throw new TypeError('"size" argument must be a number'); + if (t < 0) throw new RangeError('"size" argument must not be negative') + } + + function l(t, e) { + if (f(e), t = s(t, e < 0 ? 0 : 0 | d(e)), !u.TYPED_ARRAY_SUPPORT) + for (var n = 0; n < e; ++n) t[n] = 0; + return t + } + + function h(t, e) { + var n = e.length < 0 ? 0 : 0 | d(e.length); + t = s(t, n); + for (var r = 0; r < n; r += 1) t[r] = 255 & e[r]; + return t + } + + function d(t) { + if (t >= o()) throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + o().toString(16) + " bytes"); + return 0 | t + } + + function p(t, e) { + if (u.isBuffer(t)) return t.length; + if ("undefined" != typeof ArrayBuffer && "function" == typeof ArrayBuffer.isView && (ArrayBuffer.isView(t) || t instanceof ArrayBuffer)) return t.byteLength; + "string" != typeof t && (t = "" + t); + var n = t.length; + if (0 === n) return 0; + for (var r = !1;;) switch (e) { + case "ascii": + case "latin1": + case "binary": + return n; + case "utf8": + case "utf-8": + case void 0: + return U(t).length; + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return 2 * n; + case "hex": + return n >>> 1; + case "base64": + return z(t).length; + default: + if (r) return U(t).length; + e = ("" + e).toLowerCase(), r = !0 + } + } + + function g(t, e, n) { + var r = !1; + if ((void 0 === e || e < 0) && (e = 0), e > this.length) return ""; + if ((void 0 === n || n > this.length) && (n = this.length), n <= 0) return ""; + if ((n >>>= 0) <= (e >>>= 0)) return ""; + for (t || (t = "utf8");;) switch (t) { + case "hex": + return C(this, e, n); + case "utf8": + case "utf-8": + return S(this, e, n); + case "ascii": + return T(this, e, n); + case "latin1": + case "binary": + return D(this, e, n); + case "base64": + return A(this, e, n); + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return N(this, e, n); + default: + if (r) throw new TypeError("Unknown encoding: " + t); + t = (t + "").toLowerCase(), r = !0 + } + } + + function y(t, e, n) { + var r = t[e]; + t[e] = t[n], t[n] = r + } + + function b(t, e, n, r, i) { + if (0 === t.length) return -1; + if ("string" == typeof n ? (r = n, n = 0) : n > 2147483647 ? n = 2147483647 : n < -2147483648 && (n = -2147483648), n = +n, isNaN(n) && (n = i ? 0 : t.length - 1), n < 0 && (n = t.length + n), n >= t.length) { + if (i) return -1; + n = t.length - 1 + } else if (n < 0) { + if (!i) return -1; + n = 0 + } + if ("string" == typeof e && (e = u.from(e, r)), u.isBuffer(e)) return 0 === e.length ? -1 : v(t, e, n, r, i); + if ("number" == typeof e) return e &= 255, u.TYPED_ARRAY_SUPPORT && "function" == typeof Uint8Array.prototype.indexOf ? i ? Uint8Array.prototype.indexOf.call(t, e, n) : Uint8Array.prototype.lastIndexOf.call(t, e, n) : v(t, [e], n, r, i); + throw new TypeError("val must be string, number or Buffer") + } + + function v(t, e, n, r, i) { + var a, o = 1, + s = t.length, + u = e.length; + if (void 0 !== r && ("ucs2" === (r = String(r).toLowerCase()) || "ucs-2" === r || "utf16le" === r || "utf-16le" === r)) { + if (t.length < 2 || e.length < 2) return -1; + o = 2, s /= 2, u /= 2, n /= 2 + } + + function c(t, e) { + return 1 === o ? t[e] : t.readUInt16BE(e * o) + } + if (i) { + var f = -1; + for (a = n; a < s; a++) + if (c(t, a) === c(e, -1 === f ? 0 : a - f)) { + if (-1 === f && (f = a), a - f + 1 === u) return f * o + } else -1 !== f && (a -= a - f), f = -1 + } else + for (n + u > s && (n = s - u), a = n; a >= 0; a--) { + for (var l = !0, h = 0; h < u; h++) + if (c(t, a + h) !== c(e, h)) { + l = !1; + break + } if (l) return a + } + return -1 + } + + function m(t, e, n, r) { + n = Number(n) || 0; + var i = t.length - n; + r ? (r = Number(r)) > i && (r = i) : r = i; + var a = e.length; + if (a % 2 != 0) throw new TypeError("Invalid hex string"); + r > a / 2 && (r = a / 2); + for (var o = 0; o < r; ++o) { + var s = parseInt(e.substr(2 * o, 2), 16); + if (isNaN(s)) return o; + t[n + o] = s + } + return o + } + + function _(t, e, n, r) { + return Y(U(e, t.length - n), t, n, r) + } + + function w(t, e, n, r) { + return Y(function(t) { + for (var e = [], n = 0; n < t.length; ++n) e.push(255 & t.charCodeAt(n)); + return e + }(e), t, n, r) + } + + function x(t, e, n, r) { + return w(t, e, n, r) + } + + function k(t, e, n, r) { + return Y(z(e), t, n, r) + } + + function E(t, e, n, r) { + return Y(function(t, e) { + for (var n, r, i, a = [], o = 0; o < t.length && !((e -= 2) < 0); ++o) n = t.charCodeAt(o), r = n >> 8, i = n % 256, a.push(i), a.push(r); + return a + }(e, t.length - n), t, n, r) + } + + function A(t, e, n) { + return 0 === e && n === t.length ? r.fromByteArray(t) : r.fromByteArray(t.slice(e, n)) + } + + function S(t, e, n) { + n = Math.min(t.length, n); + for (var r = [], i = e; i < n;) { + var a, o, s, u, c = t[i], + f = null, + l = c > 239 ? 4 : c > 223 ? 3 : c > 191 ? 2 : 1; + if (i + l <= n) switch (l) { + case 1: + c < 128 && (f = c); + break; + case 2: + 128 == (192 & (a = t[i + 1])) && (u = (31 & c) << 6 | 63 & a) > 127 && (f = u); + break; + case 3: + a = t[i + 1], o = t[i + 2], 128 == (192 & a) && 128 == (192 & o) && (u = (15 & c) << 12 | (63 & a) << 6 | 63 & o) > 2047 && (u < 55296 || u > 57343) && (f = u); + break; + case 4: + a = t[i + 1], o = t[i + 2], s = t[i + 3], 128 == (192 & a) && 128 == (192 & o) && 128 == (192 & s) && (u = (15 & c) << 18 | (63 & a) << 12 | (63 & o) << 6 | 63 & s) > 65535 && u < 1114112 && (f = u) + } + null === f ? (f = 65533, l = 1) : f > 65535 && (f -= 65536, r.push(f >>> 10 & 1023 | 55296), f = 56320 | 1023 & f), r.push(f), i += l + } + return function(t) { + var e = t.length; + if (e <= M) return String.fromCharCode.apply(String, t); + var n = "", + r = 0; + for (; r < e;) n += String.fromCharCode.apply(String, t.slice(r, r += M)); + return n + }(r) + } + e.Buffer = u, e.SlowBuffer = function(t) { + +t != t && (t = 0); + return u.alloc(+t) + }, e.INSPECT_MAX_BYTES = 50, u.TYPED_ARRAY_SUPPORT = void 0 !== t.TYPED_ARRAY_SUPPORT ? t.TYPED_ARRAY_SUPPORT : function() { + try { + var t = new Uint8Array(1); + return t.__proto__ = { + __proto__: Uint8Array.prototype, + foo: function() { + return 42 + } + }, 42 === t.foo() && "function" == typeof t.subarray && 0 === t.subarray(1, 1).byteLength + } catch (t) { + return !1 + } + }(), e.kMaxLength = o(), u.poolSize = 8192, u._augment = function(t) { + return t.__proto__ = u.prototype, t + }, u.from = function(t, e, n) { + return c(null, t, e, n) + }, u.TYPED_ARRAY_SUPPORT && (u.prototype.__proto__ = Uint8Array.prototype, u.__proto__ = Uint8Array, "undefined" != typeof Symbol && Symbol.species && u[Symbol.species] === u && Object.defineProperty(u, Symbol.species, { + value: null, + configurable: !0 + })), u.alloc = function(t, e, n) { + return function(t, e, n, r) { + return f(e), e <= 0 ? s(t, e) : void 0 !== n ? "string" == typeof r ? s(t, e).fill(n, r) : s(t, e).fill(n) : s(t, e) + }(null, t, e, n) + }, u.allocUnsafe = function(t) { + return l(null, t) + }, u.allocUnsafeSlow = function(t) { + return l(null, t) + }, u.isBuffer = function(t) { + return !(null == t || !t._isBuffer) + }, u.compare = function(t, e) { + if (!u.isBuffer(t) || !u.isBuffer(e)) throw new TypeError("Arguments must be Buffers"); + if (t === e) return 0; + for (var n = t.length, r = e.length, i = 0, a = Math.min(n, r); i < a; ++i) + if (t[i] !== e[i]) { + n = t[i], r = e[i]; + break + } return n < r ? -1 : r < n ? 1 : 0 + }, u.isEncoding = function(t) { + switch (String(t).toLowerCase()) { + case "hex": + case "utf8": + case "utf-8": + case "ascii": + case "latin1": + case "binary": + case "base64": + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return !0; + default: + return !1 + } + }, u.concat = function(t, e) { + if (!a(t)) throw new TypeError('"list" argument must be an Array of Buffers'); + if (0 === t.length) return u.alloc(0); + var n; + if (void 0 === e) + for (e = 0, n = 0; n < t.length; ++n) e += t[n].length; + var r = u.allocUnsafe(e), + i = 0; + for (n = 0; n < t.length; ++n) { + var o = t[n]; + if (!u.isBuffer(o)) throw new TypeError('"list" argument must be an Array of Buffers'); + o.copy(r, i), i += o.length + } + return r + }, u.byteLength = p, u.prototype._isBuffer = !0, u.prototype.swap16 = function() { + var t = this.length; + if (t % 2 != 0) throw new RangeError("Buffer size must be a multiple of 16-bits"); + for (var e = 0; e < t; e += 2) y(this, e, e + 1); + return this + }, u.prototype.swap32 = function() { + var t = this.length; + if (t % 4 != 0) throw new RangeError("Buffer size must be a multiple of 32-bits"); + for (var e = 0; e < t; e += 4) y(this, e, e + 3), y(this, e + 1, e + 2); + return this + }, u.prototype.swap64 = function() { + var t = this.length; + if (t % 8 != 0) throw new RangeError("Buffer size must be a multiple of 64-bits"); + for (var e = 0; e < t; e += 8) y(this, e, e + 7), y(this, e + 1, e + 6), y(this, e + 2, e + 5), y(this, e + 3, e + 4); + return this + }, u.prototype.toString = function() { + var t = 0 | this.length; + return 0 === t ? "" : 0 === arguments.length ? S(this, 0, t) : g.apply(this, arguments) + }, u.prototype.equals = function(t) { + if (!u.isBuffer(t)) throw new TypeError("Argument must be a Buffer"); + return this === t || 0 === u.compare(this, t) + }, u.prototype.inspect = function() { + var t = "", + n = e.INSPECT_MAX_BYTES; + return this.length > 0 && (t = this.toString("hex", 0, n).match(/.{2}/g).join(" "), this.length > n && (t += " ... ")), "<Buffer " + t + ">" + }, u.prototype.compare = function(t, e, n, r, i) { + if (!u.isBuffer(t)) throw new TypeError("Argument must be a Buffer"); + if (void 0 === e && (e = 0), void 0 === n && (n = t ? t.length : 0), void 0 === r && (r = 0), void 0 === i && (i = this.length), e < 0 || n > t.length || r < 0 || i > this.length) throw new RangeError("out of range index"); + if (r >= i && e >= n) return 0; + if (r >= i) return -1; + if (e >= n) return 1; + if (this === t) return 0; + for (var a = (i >>>= 0) - (r >>>= 0), o = (n >>>= 0) - (e >>>= 0), s = Math.min(a, o), c = this.slice(r, i), f = t.slice(e, n), l = 0; l < s; ++l) + if (c[l] !== f[l]) { + a = c[l], o = f[l]; + break + } return a < o ? -1 : o < a ? 1 : 0 + }, u.prototype.includes = function(t, e, n) { + return -1 !== this.indexOf(t, e, n) + }, u.prototype.indexOf = function(t, e, n) { + return b(this, t, e, n, !0) + }, u.prototype.lastIndexOf = function(t, e, n) { + return b(this, t, e, n, !1) + }, u.prototype.write = function(t, e, n, r) { + if (void 0 === e) r = "utf8", n = this.length, e = 0; + else if (void 0 === n && "string" == typeof e) r = e, n = this.length, e = 0; + else { + if (!isFinite(e)) throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported"); + e |= 0, isFinite(n) ? (n |= 0, void 0 === r && (r = "utf8")) : (r = n, n = void 0) + } + var i = this.length - e; + if ((void 0 === n || n > i) && (n = i), t.length > 0 && (n < 0 || e < 0) || e > this.length) throw new RangeError("Attempt to write outside buffer bounds"); + r || (r = "utf8"); + for (var a = !1;;) switch (r) { + case "hex": + return m(this, t, e, n); + case "utf8": + case "utf-8": + return _(this, t, e, n); + case "ascii": + return w(this, t, e, n); + case "latin1": + case "binary": + return x(this, t, e, n); + case "base64": + return k(this, t, e, n); + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return E(this, t, e, n); + default: + if (a) throw new TypeError("Unknown encoding: " + r); + r = ("" + r).toLowerCase(), a = !0 + } + }, u.prototype.toJSON = function() { + return { + type: "Buffer", + data: Array.prototype.slice.call(this._arr || this, 0) + } + }; + var M = 4096; + + function T(t, e, n) { + var r = ""; + n = Math.min(t.length, n); + for (var i = e; i < n; ++i) r += String.fromCharCode(127 & t[i]); + return r + } + + function D(t, e, n) { + var r = ""; + n = Math.min(t.length, n); + for (var i = e; i < n; ++i) r += String.fromCharCode(t[i]); + return r + } + + function C(t, e, n) { + var r = t.length; + (!e || e < 0) && (e = 0), (!n || n < 0 || n > r) && (n = r); + for (var i = "", a = e; a < n; ++a) i += j(t[a]); + return i + } + + function N(t, e, n) { + for (var r = t.slice(e, n), i = "", a = 0; a < r.length; a += 2) i += String.fromCharCode(r[a] + 256 * r[a + 1]); + return i + } + + function I(t, e, n) { + if (t % 1 != 0 || t < 0) throw new RangeError("offset is not uint"); + if (t + e > n) throw new RangeError("Trying to access beyond buffer length") + } + + function L(t, e, n, r, i, a) { + if (!u.isBuffer(t)) throw new TypeError('"buffer" argument must be a Buffer instance'); + if (e > i || e < a) throw new RangeError('"value" argument is out of bounds'); + if (n + r > t.length) throw new RangeError("Index out of range") + } + + function B(t, e, n, r) { + e < 0 && (e = 65535 + e + 1); + for (var i = 0, a = Math.min(t.length - n, 2); i < a; ++i) t[n + i] = (e & 255 << 8 * (r ? i : 1 - i)) >>> 8 * (r ? i : 1 - i) + } + + function O(t, e, n, r) { + e < 0 && (e = 4294967295 + e + 1); + for (var i = 0, a = Math.min(t.length - n, 4); i < a; ++i) t[n + i] = e >>> 8 * (r ? i : 3 - i) & 255 + } + + function R(t, e, n, r, i, a) { + if (n + r > t.length) throw new RangeError("Index out of range"); + if (n < 0) throw new RangeError("Index out of range") + } + + function P(t, e, n, r, a) { + return a || R(t, 0, n, 4), i.write(t, e, n, r, 23, 4), n + 4 + } + + function F(t, e, n, r, a) { + return a || R(t, 0, n, 8), i.write(t, e, n, r, 52, 8), n + 8 + } + u.prototype.slice = function(t, e) { + var n, r = this.length; + if ((t = ~~t) < 0 ? (t += r) < 0 && (t = 0) : t > r && (t = r), (e = void 0 === e ? r : ~~e) < 0 ? (e += r) < 0 && (e = 0) : e > r && (e = r), e < t && (e = t), u.TYPED_ARRAY_SUPPORT)(n = this.subarray(t, e)).__proto__ = u.prototype; + else { + var i = e - t; + n = new u(i, void 0); + for (var a = 0; a < i; ++a) n[a] = this[a + t] + } + return n + }, u.prototype.readUIntLE = function(t, e, n) { + t |= 0, e |= 0, n || I(t, e, this.length); + for (var r = this[t], i = 1, a = 0; ++a < e && (i *= 256);) r += this[t + a] * i; + return r + }, u.prototype.readUIntBE = function(t, e, n) { + t |= 0, e |= 0, n || I(t, e, this.length); + for (var r = this[t + --e], i = 1; e > 0 && (i *= 256);) r += this[t + --e] * i; + return r + }, u.prototype.readUInt8 = function(t, e) { + return e || I(t, 1, this.length), this[t] + }, u.prototype.readUInt16LE = function(t, e) { + return e || I(t, 2, this.length), this[t] | this[t + 1] << 8 + }, u.prototype.readUInt16BE = function(t, e) { + return e || I(t, 2, this.length), this[t] << 8 | this[t + 1] + }, u.prototype.readUInt32LE = function(t, e) { + return e || I(t, 4, this.length), (this[t] | this[t + 1] << 8 | this[t + 2] << 16) + 16777216 * this[t + 3] + }, u.prototype.readUInt32BE = function(t, e) { + return e || I(t, 4, this.length), 16777216 * this[t] + (this[t + 1] << 16 | this[t + 2] << 8 | this[t + 3]) + }, u.prototype.readIntLE = function(t, e, n) { + t |= 0, e |= 0, n || I(t, e, this.length); + for (var r = this[t], i = 1, a = 0; ++a < e && (i *= 256);) r += this[t + a] * i; + return r >= (i *= 128) && (r -= Math.pow(2, 8 * e)), r + }, u.prototype.readIntBE = function(t, e, n) { + t |= 0, e |= 0, n || I(t, e, this.length); + for (var r = e, i = 1, a = this[t + --r]; r > 0 && (i *= 256);) a += this[t + --r] * i; + return a >= (i *= 128) && (a -= Math.pow(2, 8 * e)), a + }, u.prototype.readInt8 = function(t, e) { + return e || I(t, 1, this.length), 128 & this[t] ? -1 * (255 - this[t] + 1) : this[t] + }, u.prototype.readInt16LE = function(t, e) { + e || I(t, 2, this.length); + var n = this[t] | this[t + 1] << 8; + return 32768 & n ? 4294901760 | n : n + }, u.prototype.readInt16BE = function(t, e) { + e || I(t, 2, this.length); + var n = this[t + 1] | this[t] << 8; + return 32768 & n ? 4294901760 | n : n + }, u.prototype.readInt32LE = function(t, e) { + return e || I(t, 4, this.length), this[t] | this[t + 1] << 8 | this[t + 2] << 16 | this[t + 3] << 24 + }, u.prototype.readInt32BE = function(t, e) { + return e || I(t, 4, this.length), this[t] << 24 | this[t + 1] << 16 | this[t + 2] << 8 | this[t + 3] + }, u.prototype.readFloatLE = function(t, e) { + return e || I(t, 4, this.length), i.read(this, t, !0, 23, 4) + }, u.prototype.readFloatBE = function(t, e) { + return e || I(t, 4, this.length), i.read(this, t, !1, 23, 4) + }, u.prototype.readDoubleLE = function(t, e) { + return e || I(t, 8, this.length), i.read(this, t, !0, 52, 8) + }, u.prototype.readDoubleBE = function(t, e) { + return e || I(t, 8, this.length), i.read(this, t, !1, 52, 8) + }, u.prototype.writeUIntLE = function(t, e, n, r) { + (t = +t, e |= 0, n |= 0, r) || L(this, t, e, n, Math.pow(2, 8 * n) - 1, 0); + var i = 1, + a = 0; + for (this[e] = 255 & t; ++a < n && (i *= 256);) this[e + a] = t / i & 255; + return e + n + }, u.prototype.writeUIntBE = function(t, e, n, r) { + (t = +t, e |= 0, n |= 0, r) || L(this, t, e, n, Math.pow(2, 8 * n) - 1, 0); + var i = n - 1, + a = 1; + for (this[e + i] = 255 & t; --i >= 0 && (a *= 256);) this[e + i] = t / a & 255; + return e + n + }, u.prototype.writeUInt8 = function(t, e, n) { + return t = +t, e |= 0, n || L(this, t, e, 1, 255, 0), u.TYPED_ARRAY_SUPPORT || (t = Math.floor(t)), this[e] = 255 & t, e + 1 + }, u.prototype.writeUInt16LE = function(t, e, n) { + return t = +t, e |= 0, n || L(this, t, e, 2, 65535, 0), u.TYPED_ARRAY_SUPPORT ? (this[e] = 255 & t, this[e + 1] = t >>> 8) : B(this, t, e, !0), e + 2 + }, u.prototype.writeUInt16BE = function(t, e, n) { + return t = +t, e |= 0, n || L(this, t, e, 2, 65535, 0), u.TYPED_ARRAY_SUPPORT ? (this[e] = t >>> 8, this[e + 1] = 255 & t) : B(this, t, e, !1), e + 2 + }, u.prototype.writeUInt32LE = function(t, e, n) { + return t = +t, e |= 0, n || L(this, t, e, 4, 4294967295, 0), u.TYPED_ARRAY_SUPPORT ? (this[e + 3] = t >>> 24, this[e + 2] = t >>> 16, this[e + 1] = t >>> 8, this[e] = 255 & t) : O(this, t, e, !0), e + 4 + }, u.prototype.writeUInt32BE = function(t, e, n) { + return t = +t, e |= 0, n || L(this, t, e, 4, 4294967295, 0), u.TYPED_ARRAY_SUPPORT ? (this[e] = t >>> 24, this[e + 1] = t >>> 16, this[e + 2] = t >>> 8, this[e + 3] = 255 & t) : O(this, t, e, !1), e + 4 + }, u.prototype.writeIntLE = function(t, e, n, r) { + if (t = +t, e |= 0, !r) { + var i = Math.pow(2, 8 * n - 1); + L(this, t, e, n, i - 1, -i) + } + var a = 0, + o = 1, + s = 0; + for (this[e] = 255 & t; ++a < n && (o *= 256);) t < 0 && 0 === s && 0 !== this[e + a - 1] && (s = 1), this[e + a] = (t / o >> 0) - s & 255; + return e + n + }, u.prototype.writeIntBE = function(t, e, n, r) { + if (t = +t, e |= 0, !r) { + var i = Math.pow(2, 8 * n - 1); + L(this, t, e, n, i - 1, -i) + } + var a = n - 1, + o = 1, + s = 0; + for (this[e + a] = 255 & t; --a >= 0 && (o *= 256);) t < 0 && 0 === s && 0 !== this[e + a + 1] && (s = 1), this[e + a] = (t / o >> 0) - s & 255; + return e + n + }, u.prototype.writeInt8 = function(t, e, n) { + return t = +t, e |= 0, n || L(this, t, e, 1, 127, -128), u.TYPED_ARRAY_SUPPORT || (t = Math.floor(t)), t < 0 && (t = 255 + t + 1), this[e] = 255 & t, e + 1 + }, u.prototype.writeInt16LE = function(t, e, n) { + return t = +t, e |= 0, n || L(this, t, e, 2, 32767, -32768), u.TYPED_ARRAY_SUPPORT ? (this[e] = 255 & t, this[e + 1] = t >>> 8) : B(this, t, e, !0), e + 2 + }, u.prototype.writeInt16BE = function(t, e, n) { + return t = +t, e |= 0, n || L(this, t, e, 2, 32767, -32768), u.TYPED_ARRAY_SUPPORT ? (this[e] = t >>> 8, this[e + 1] = 255 & t) : B(this, t, e, !1), e + 2 + }, u.prototype.writeInt32LE = function(t, e, n) { + return t = +t, e |= 0, n || L(this, t, e, 4, 2147483647, -2147483648), u.TYPED_ARRAY_SUPPORT ? (this[e] = 255 & t, this[e + 1] = t >>> 8, this[e + 2] = t >>> 16, this[e + 3] = t >>> 24) : O(this, t, e, !0), e + 4 + }, u.prototype.writeInt32BE = function(t, e, n) { + return t = +t, e |= 0, n || L(this, t, e, 4, 2147483647, -2147483648), t < 0 && (t = 4294967295 + t + 1), u.TYPED_ARRAY_SUPPORT ? (this[e] = t >>> 24, this[e + 1] = t >>> 16, this[e + 2] = t >>> 8, this[e + 3] = 255 & t) : O(this, t, e, !1), e + 4 + }, u.prototype.writeFloatLE = function(t, e, n) { + return P(this, t, e, !0, n) + }, u.prototype.writeFloatBE = function(t, e, n) { + return P(this, t, e, !1, n) + }, u.prototype.writeDoubleLE = function(t, e, n) { + return F(this, t, e, !0, n) + }, u.prototype.writeDoubleBE = function(t, e, n) { + return F(this, t, e, !1, n) + }, u.prototype.copy = function(t, e, n, r) { + if (n || (n = 0), r || 0 === r || (r = this.length), e >= t.length && (e = t.length), e || (e = 0), r > 0 && r < n && (r = n), r === n) return 0; + if (0 === t.length || 0 === this.length) return 0; + if (e < 0) throw new RangeError("targetStart out of bounds"); + if (n < 0 || n >= this.length) throw new RangeError("sourceStart out of bounds"); + if (r < 0) throw new RangeError("sourceEnd out of bounds"); + r > this.length && (r = this.length), t.length - e < r - n && (r = t.length - e + n); + var i, a = r - n; + if (this === t && n < e && e < r) + for (i = a - 1; i >= 0; --i) t[i + e] = this[i + n]; + else if (a < 1e3 || !u.TYPED_ARRAY_SUPPORT) + for (i = 0; i < a; ++i) t[i + e] = this[i + n]; + else Uint8Array.prototype.set.call(t, this.subarray(n, n + a), e); + return a + }, u.prototype.fill = function(t, e, n, r) { + if ("string" == typeof t) { + if ("string" == typeof e ? (r = e, e = 0, n = this.length) : "string" == typeof n && (r = n, n = this.length), 1 === t.length) { + var i = t.charCodeAt(0); + i < 256 && (t = i) + } + if (void 0 !== r && "string" != typeof r) throw new TypeError("encoding must be a string"); + if ("string" == typeof r && !u.isEncoding(r)) throw new TypeError("Unknown encoding: " + r) + } else "number" == typeof t && (t &= 255); + if (e < 0 || this.length < e || this.length < n) throw new RangeError("Out of range index"); + if (n <= e) return this; + var a; + if (e >>>= 0, n = void 0 === n ? this.length : n >>> 0, t || (t = 0), "number" == typeof t) + for (a = e; a < n; ++a) this[a] = t; + else { + var o = u.isBuffer(t) ? t : U(new u(t, r).toString()), + s = o.length; + for (a = 0; a < n - e; ++a) this[a + e] = o[a % s] + } + return this + }; + var q = /[^+\/0-9A-Za-z-_]/g; + + function j(t) { + return t < 16 ? "0" + t.toString(16) : t.toString(16) + } + + function U(t, e) { + var n; + e = e || 1 / 0; + for (var r = t.length, i = null, a = [], o = 0; o < r; ++o) { + if ((n = t.charCodeAt(o)) > 55295 && n < 57344) { + if (!i) { + if (n > 56319) { + (e -= 3) > -1 && a.push(239, 191, 189); + continue + } + if (o + 1 === r) { + (e -= 3) > -1 && a.push(239, 191, 189); + continue + } + i = n; + continue + } + if (n < 56320) { + (e -= 3) > -1 && a.push(239, 191, 189), i = n; + continue + } + n = 65536 + (i - 55296 << 10 | n - 56320) + } else i && (e -= 3) > -1 && a.push(239, 191, 189); + if (i = null, n < 128) { + if ((e -= 1) < 0) break; + a.push(n) + } else if (n < 2048) { + if ((e -= 2) < 0) break; + a.push(n >> 6 | 192, 63 & n | 128) + } else if (n < 65536) { + if ((e -= 3) < 0) break; + a.push(n >> 12 | 224, n >> 6 & 63 | 128, 63 & n | 128) + } else { + if (!(n < 1114112)) throw new Error("Invalid code point"); + if ((e -= 4) < 0) break; + a.push(n >> 18 | 240, n >> 12 & 63 | 128, n >> 6 & 63 | 128, 63 & n | 128) + } + } + return a + } + + function z(t) { + return r.toByteArray(function(t) { + if ((t = function(t) { + return t.trim ? t.trim() : t.replace(/^\s+|\s+$/g, "") + }(t).replace(q, "")).length < 2) return ""; + for (; t.length % 4 != 0;) t += "="; + return t + }(t)) + } + + function Y(t, e, n, r) { + for (var i = 0; i < r && !(i + n >= e.length || i >= t.length); ++i) e[i + n] = t[i]; + return i + } + }).call(this, n(12)) + }, function(t, e) { + t.exports = function(t) { + return t.webpackPolyfill || (t.deprecate = function() {}, t.paths = [], t.children || (t.children = []), Object.defineProperty(t, "loaded", { + enumerable: !0, + get: function() { + return t.l + } + }), Object.defineProperty(t, "id", { + enumerable: !0, + get: function() { + return t.i + } + }), t.webpackPolyfill = 1), t + } + }, function(t, e, n) { + "use strict"; + var r = n(4), + i = n(19).Graph; + + function a(t, e, n, i) { + var a; + do { + a = r.uniqueId(i) + } while (t.hasNode(a)); + return n.dummy = e, t.setNode(a, n), a + } + + function o(t) { + return r.max(r.map(t.nodes(), (function(e) { + var n = t.node(e).rank; + if (!r.isUndefined(n)) return n + }))) + } + t.exports = { + addDummyNode: a, + simplify: function(t) { + var e = (new i).setGraph(t.graph()); + return r.forEach(t.nodes(), (function(n) { + e.setNode(n, t.node(n)) + })), r.forEach(t.edges(), (function(n) { + var r = e.edge(n.v, n.w) || { + weight: 0, + minlen: 1 + }, + i = t.edge(n); + e.setEdge(n.v, n.w, { + weight: r.weight + i.weight, + minlen: Math.max(r.minlen, i.minlen) + }) + })), e + }, + asNonCompoundGraph: function(t) { + var e = new i({ + multigraph: t.isMultigraph() + }).setGraph(t.graph()); + return r.forEach(t.nodes(), (function(n) { + t.children(n).length || e.setNode(n, t.node(n)) + })), r.forEach(t.edges(), (function(n) { + e.setEdge(n, t.edge(n)) + })), e + }, + successorWeights: function(t) { + var e = r.map(t.nodes(), (function(e) { + var n = {}; + return r.forEach(t.outEdges(e), (function(e) { + n[e.w] = (n[e.w] || 0) + t.edge(e).weight + })), n + })); + return r.zipObject(t.nodes(), e) + }, + predecessorWeights: function(t) { + var e = r.map(t.nodes(), (function(e) { + var n = {}; + return r.forEach(t.inEdges(e), (function(e) { + n[e.v] = (n[e.v] || 0) + t.edge(e).weight + })), n + })); + return r.zipObject(t.nodes(), e) + }, + intersectRect: function(t, e) { + var n, r, i = t.x, + a = t.y, + o = e.x - i, + s = e.y - a, + u = t.width / 2, + c = t.height / 2; + if (!o && !s) throw new Error("Not possible to find intersection inside of the rectangle"); + Math.abs(s) * u > Math.abs(o) * c ? (s < 0 && (c = -c), n = c * o / s, r = c) : (o < 0 && (u = -u), n = u, r = u * s / o); + return { + x: i + n, + y: a + r + } + }, + buildLayerMatrix: function(t) { + var e = r.map(r.range(o(t) + 1), (function() { + return [] + })); + return r.forEach(t.nodes(), (function(n) { + var i = t.node(n), + a = i.rank; + r.isUndefined(a) || (e[a][i.order] = n) + })), e + }, + normalizeRanks: function(t) { + var e = r.min(r.map(t.nodes(), (function(e) { + return t.node(e).rank + }))); + r.forEach(t.nodes(), (function(n) { + var i = t.node(n); + r.has(i, "rank") && (i.rank -= e) + })) + }, + removeEmptyRanks: function(t) { + var e = r.min(r.map(t.nodes(), (function(e) { + return t.node(e).rank + }))), + n = []; + r.forEach(t.nodes(), (function(r) { + var i = t.node(r).rank - e; + n[i] || (n[i] = []), n[i].push(r) + })); + var i = 0, + a = t.graph().nodeRankFactor; + r.forEach(n, (function(e, n) { + r.isUndefined(e) && n % a != 0 ? --i : i && r.forEach(e, (function(e) { + t.node(e).rank += i + })) + })) + }, + addBorderNode: function(t, e, n, r) { + var i = { + width: 0, + height: 0 + }; + arguments.length >= 4 && (i.rank = n, i.order = r); + return a(t, "border", i, e) + }, + maxRank: o, + partition: function(t, e) { + var n = { + lhs: [], + rhs: [] + }; + return r.forEach(t, (function(t) { + e(t) ? n.lhs.push(t) : n.rhs.push(t) + })), n + }, + time: function(t, e) { + var n = r.now(); + try { + return e() + } finally { + console.log(t + " time: " + (r.now() - n) + "ms") + } + }, + notime: function(t, e) { + return e() + } + } + }, function(t, e, n) { + /** + * @license + * Copyright (c) 2012-2013 Chris Pettitt + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + t.exports = { + graphlib: n(348), + dagre: n(175), + intersect: n(405), + render: n(407), + util: n(15), + version: n(419) + } + }, function(t, e) { + var n; + n = function() { + return this + }(); + try { + n = n || new Function("return this")() + } catch (t) { + "object" == typeof window && (n = window) + } + t.exports = n + }, function(t, e, n) { + var r; + try { + r = { + clone: n(237), + constant: n(99), + each: n(100), + filter: n(150), + has: n(106), + isArray: n(6), + isEmpty: n(313), + isFunction: n(37), + isUndefined: n(161), + keys: n(27), + map: n(162), + reduce: n(164), + size: n(316), + transform: n(322), + union: n(323), + values: n(169) + } + } catch (t) {} + r || (r = window._), t.exports = r + }, function(t, e) { + t.exports = function(t) { + var e = typeof t; + return null != t && ("object" == e || "function" == e) + } + }, function(t, e, n) { + var r = n(43); + t.exports = { + isSubgraph: function(t, e) { + return !!t.children(e).length + }, + edgeToId: function(t) { + return a(t.v) + ":" + a(t.w) + ":" + a(t.name) + }, + applyStyle: function(t, e) { + e && t.attr("style", e) + }, + applyClass: function(t, e, n) { + e && t.attr("class", e).attr("class", n + " " + t.attr("class")) + }, + applyTransition: function(t, e) { + var n = e.graph(); + if (r.isPlainObject(n)) { + var i = n.transition; + if (r.isFunction(i)) return i(t) + } + return t + } + }; + var i = /:/g; + + function a(t) { + return t ? String(t).replace(i, "\\:") : "" + } + }, function(t, e) { + function n(t, e) { + if (!t) throw new Error(e || "Assertion failed") + } + t.exports = n, n.equal = function(t, e, n) { + if (t != e) throw new Error(n || "Assertion failed: " + t + " != " + e) + } + }, function(t, e, n) { + "use strict"; + var r = e, + i = n(5), + a = n(16), + o = n(215); + r.assert = a, r.toArray = o.toArray, r.zero2 = o.zero2, r.toHex = o.toHex, r.encode = o.encode, r.getNAF = function(t, e, n) { + var r = new Array(Math.max(t.bitLength(), n) + 1); + r.fill(0); + for (var i = 1 << e + 1, a = t.clone(), o = 0; o < r.length; o++) { + var s, u = a.andln(i - 1); + a.isOdd() ? (s = u > (i >> 1) - 1 ? (i >> 1) - u : u, a.isubn(s)) : s = 0, r[o] = s, a.iushrn(1) + } + return r + }, r.getJSF = function(t, e) { + var n = [ + [], + [] + ]; + t = t.clone(), e = e.clone(); + for (var r = 0, i = 0; t.cmpn(-r) > 0 || e.cmpn(-i) > 0;) { + var a, o, s, u = t.andln(3) + r & 3, + c = e.andln(3) + i & 3; + if (3 === u && (u = -1), 3 === c && (c = -1), 0 == (1 & u)) a = 0; + else a = 3 !== (s = t.andln(7) + r & 7) && 5 !== s || 2 !== c ? u : -u; + if (n[0].push(a), 0 == (1 & c)) o = 0; + else o = 3 !== (s = e.andln(7) + i & 7) && 5 !== s || 2 !== u ? c : -c; + n[1].push(o), 2 * r === a + 1 && (r = 1 - r), 2 * i === o + 1 && (i = 1 - i), t.iushrn(1), e.iushrn(1) + } + return n + }, r.cachedProperty = function(t, e, n) { + var r = "_" + e; + t.prototype[e] = function() { + return void 0 !== this[r] ? this[r] : this[r] = n.call(this) + } + }, r.parseBytes = function(t) { + return "string" == typeof t ? r.toArray(t, "hex") : t + }, r.intFromLE = function(t) { + return new i(t, "hex", "le") + } + }, function(t, e, n) { + var r = n(131), + i = "object" == typeof self && self && self.Object === Object && self, + a = r || i || Function("return this")(); + t.exports = a + }, function(t, e, n) { + var r; + try { + r = n(25) + } catch (t) {} + r || (r = window.graphlib), t.exports = r + }, function(t, e) { + t.exports = function(t) { + return null != t && "object" == typeof t + } + }, function(t, e, n) { + "use strict"; + var r = n(16), + i = n(2); + + function a(t, e) { + return 55296 == (64512 & t.charCodeAt(e)) && (!(e < 0 || e + 1 >= t.length) && 56320 == (64512 & t.charCodeAt(e + 1))) + } + + function o(t) { + return (t >>> 24 | t >>> 8 & 65280 | t << 8 & 16711680 | (255 & t) << 24) >>> 0 + } + + function s(t) { + return 1 === t.length ? "0" + t : t + } + + function u(t) { + return 7 === t.length ? "0" + t : 6 === t.length ? "00" + t : 5 === t.length ? "000" + t : 4 === t.length ? "0000" + t : 3 === t.length ? "00000" + t : 2 === t.length ? "000000" + t : 1 === t.length ? "0000000" + t : t + } + e.inherits = i, e.toArray = function(t, e) { + if (Array.isArray(t)) return t.slice(); + if (!t) return []; + var n = []; + if ("string" == typeof t) + if (e) { + if ("hex" === e) + for ((t = t.replace(/[^a-z0-9]+/gi, "")).length % 2 != 0 && (t = "0" + t), i = 0; i < t.length; i += 2) n.push(parseInt(t[i] + t[i + 1], 16)) + } else + for (var r = 0, i = 0; i < t.length; i++) { + var o = t.charCodeAt(i); + o < 128 ? n[r++] = o : o < 2048 ? (n[r++] = o >> 6 | 192, n[r++] = 63 & o | 128) : a(t, i) ? (o = 65536 + ((1023 & o) << 10) + (1023 & t.charCodeAt(++i)), n[r++] = o >> 18 | 240, n[r++] = o >> 12 & 63 | 128, n[r++] = o >> 6 & 63 | 128, n[r++] = 63 & o | 128) : (n[r++] = o >> 12 | 224, n[r++] = o >> 6 & 63 | 128, n[r++] = 63 & o | 128) + } else + for (i = 0; i < t.length; i++) n[i] = 0 | t[i]; + return n + }, e.toHex = function(t) { + for (var e = "", n = 0; n < t.length; n++) e += s(t[n].toString(16)); + return e + }, e.htonl = o, e.toHex32 = function(t, e) { + for (var n = "", r = 0; r < t.length; r++) { + var i = t[r]; + "little" === e && (i = o(i)), n += u(i.toString(16)) + } + return n + }, e.zero2 = s, e.zero8 = u, e.join32 = function(t, e, n, i) { + var a = n - e; + r(a % 4 == 0); + for (var o = new Array(a / 4), s = 0, u = e; s < o.length; s++, u += 4) { + var c; + c = "big" === i ? t[u] << 24 | t[u + 1] << 16 | t[u + 2] << 8 | t[u + 3] : t[u + 3] << 24 | t[u + 2] << 16 | t[u + 1] << 8 | t[u], o[s] = c >>> 0 + } + return o + }, e.split32 = function(t, e) { + for (var n = new Array(4 * t.length), r = 0, i = 0; r < t.length; r++, i += 4) { + var a = t[r]; + "big" === e ? (n[i] = a >>> 24, n[i + 1] = a >>> 16 & 255, n[i + 2] = a >>> 8 & 255, n[i + 3] = 255 & a) : (n[i + 3] = a >>> 24, n[i + 2] = a >>> 16 & 255, n[i + 1] = a >>> 8 & 255, n[i] = 255 & a) + } + return n + }, e.rotr32 = function(t, e) { + return t >>> e | t << 32 - e + }, e.rotl32 = function(t, e) { + return t << e | t >>> 32 - e + }, e.sum32 = function(t, e) { + return t + e >>> 0 + }, e.sum32_3 = function(t, e, n) { + return t + e + n >>> 0 + }, e.sum32_4 = function(t, e, n, r) { + return t + e + n + r >>> 0 + }, e.sum32_5 = function(t, e, n, r, i) { + return t + e + n + r + i >>> 0 + }, e.sum64 = function(t, e, n, r) { + var i = t[e], + a = r + t[e + 1] >>> 0, + o = (a < r ? 1 : 0) + n + i; + t[e] = o >>> 0, t[e + 1] = a + }, e.sum64_hi = function(t, e, n, r) { + return (e + r >>> 0 < e ? 1 : 0) + t + n >>> 0 + }, e.sum64_lo = function(t, e, n, r) { + return e + r >>> 0 + }, e.sum64_4_hi = function(t, e, n, r, i, a, o, s) { + var u = 0, + c = e; + return u += (c = c + r >>> 0) < e ? 1 : 0, u += (c = c + a >>> 0) < a ? 1 : 0, t + n + i + o + (u += (c = c + s >>> 0) < s ? 1 : 0) >>> 0 + }, e.sum64_4_lo = function(t, e, n, r, i, a, o, s) { + return e + r + a + s >>> 0 + }, e.sum64_5_hi = function(t, e, n, r, i, a, o, s, u, c) { + var f = 0, + l = e; + return f += (l = l + r >>> 0) < e ? 1 : 0, f += (l = l + a >>> 0) < a ? 1 : 0, f += (l = l + s >>> 0) < s ? 1 : 0, t + n + i + o + u + (f += (l = l + c >>> 0) < c ? 1 : 0) >>> 0 + }, e.sum64_5_lo = function(t, e, n, r, i, a, o, s, u, c) { + return e + r + a + s + c >>> 0 + }, e.rotr64_hi = function(t, e, n) { + return (e << 32 - n | t >>> n) >>> 0 + }, e.rotr64_lo = function(t, e, n) { + return (t << 32 - n | e >>> n) >>> 0 + }, e.shr64_hi = function(t, e, n) { + return t >>> n + }, e.shr64_lo = function(t, e, n) { + return (t << 32 - n | e >>> n) >>> 0 + } + }, function(t, e, n) { + (function(t) { + t.exports = function() { + "use strict"; + var e, r; + + function i() { + return e.apply(null, arguments) + } + + function a(t) { + return t instanceof Array || "[object Array]" === Object.prototype.toString.call(t) + } + + function o(t) { + return null != t && "[object Object]" === Object.prototype.toString.call(t) + } + + function s(t) { + return void 0 === t + } + + function u(t) { + return "number" == typeof t || "[object Number]" === Object.prototype.toString.call(t) + } + + function c(t) { + return t instanceof Date || "[object Date]" === Object.prototype.toString.call(t) + } + + function f(t, e) { + var n, r = []; + for (n = 0; n < t.length; ++n) r.push(e(t[n], n)); + return r + } + + function l(t, e) { + return Object.prototype.hasOwnProperty.call(t, e) + } + + function h(t, e) { + for (var n in e) l(e, n) && (t[n] = e[n]); + return l(e, "toString") && (t.toString = e.toString), l(e, "valueOf") && (t.valueOf = e.valueOf), t + } + + function d(t, e, n, r) { + return Me(t, e, n, r, !0).utc() + } + + function p(t) { + return null == t._pf && (t._pf = { + empty: !1, + unusedTokens: [], + unusedInput: [], + overflow: -2, + charsLeftOver: 0, + nullInput: !1, + invalidMonth: null, + invalidFormat: !1, + userInvalidated: !1, + iso: !1, + parsedDateParts: [], + meridiem: null, + rfc2822: !1, + weekdayMismatch: !1 + }), t._pf + } + + function g(t) { + if (null == t._isValid) { + var e = p(t), + n = r.call(e.parsedDateParts, (function(t) { + return null != t + })), + i = !isNaN(t._d.getTime()) && e.overflow < 0 && !e.empty && !e.invalidMonth && !e.invalidWeekday && !e.weekdayMismatch && !e.nullInput && !e.invalidFormat && !e.userInvalidated && (!e.meridiem || e.meridiem && n); + if (t._strict && (i = i && 0 === e.charsLeftOver && 0 === e.unusedTokens.length && void 0 === e.bigHour), null != Object.isFrozen && Object.isFrozen(t)) return i; + t._isValid = i + } + return t._isValid + } + + function y(t) { + var e = d(NaN); + return null != t ? h(p(e), t) : p(e).userInvalidated = !0, e + } + r = Array.prototype.some ? Array.prototype.some : function(t) { + for (var e = Object(this), n = e.length >>> 0, r = 0; r < n; r++) + if (r in e && t.call(this, e[r], r, e)) return !0; + return !1 + }; + var b = i.momentProperties = []; + + function v(t, e) { + var n, r, i; + if (s(e._isAMomentObject) || (t._isAMomentObject = e._isAMomentObject), s(e._i) || (t._i = e._i), s(e._f) || (t._f = e._f), s(e._l) || (t._l = e._l), s(e._strict) || (t._strict = e._strict), s(e._tzm) || (t._tzm = e._tzm), s(e._isUTC) || (t._isUTC = e._isUTC), s(e._offset) || (t._offset = e._offset), s(e._pf) || (t._pf = p(e)), s(e._locale) || (t._locale = e._locale), 0 < b.length) + for (n = 0; n < b.length; n++) s(i = e[r = b[n]]) || (t[r] = i); + return t + } + var m = !1; + + function _(t) { + v(this, t), this._d = new Date(null != t._d ? t._d.getTime() : NaN), this.isValid() || (this._d = new Date(NaN)), !1 === m && (m = !0, i.updateOffset(this), m = !1) + } + + function w(t) { + return t instanceof _ || null != t && null != t._isAMomentObject + } + + function x(t) { + return t < 0 ? Math.ceil(t) || 0 : Math.floor(t) + } + + function k(t) { + var e = +t, + n = 0; + return 0 !== e && isFinite(e) && (n = x(e)), n + } + + function E(t, e, n) { + var r, i = Math.min(t.length, e.length), + a = Math.abs(t.length - e.length), + o = 0; + for (r = 0; r < i; r++)(n && t[r] !== e[r] || !n && k(t[r]) !== k(e[r])) && o++; + return o + a + } + + function A(t) { + !1 === i.suppressDeprecationWarnings && "undefined" != typeof console && console.warn && console.warn("Deprecation warning: " + t) + } + + function S(t, e) { + var n = !0; + return h((function() { + if (null != i.deprecationHandler && i.deprecationHandler(null, t), n) { + for (var r, a = [], o = 0; o < arguments.length; o++) { + if (r = "", "object" == typeof arguments[o]) { + for (var s in r += "\n[" + o + "] ", arguments[0]) r += s + ": " + arguments[0][s] + ", "; + r = r.slice(0, -2) + } else r = arguments[o]; + a.push(r) + } + A(t + "\nArguments: " + Array.prototype.slice.call(a).join("") + "\n" + (new Error).stack), n = !1 + } + return e.apply(this, arguments) + }), e) + } + var M, T = {}; + + function D(t, e) { + null != i.deprecationHandler && i.deprecationHandler(t, e), T[t] || (A(e), T[t] = !0) + } + + function C(t) { + return t instanceof Function || "[object Function]" === Object.prototype.toString.call(t) + } + + function N(t, e) { + var n, r = h({}, t); + for (n in e) l(e, n) && (o(t[n]) && o(e[n]) ? (r[n] = {}, h(r[n], t[n]), h(r[n], e[n])) : null != e[n] ? r[n] = e[n] : delete r[n]); + for (n in t) l(t, n) && !l(e, n) && o(t[n]) && (r[n] = h({}, r[n])); + return r + } + + function I(t) { + null != t && this.set(t) + } + i.suppressDeprecationWarnings = !1, i.deprecationHandler = null, M = Object.keys ? Object.keys : function(t) { + var e, n = []; + for (e in t) l(t, e) && n.push(e); + return n + }; + var L = {}; + + function B(t, e) { + var n = t.toLowerCase(); + L[n] = L[n + "s"] = L[e] = t + } + + function O(t) { + return "string" == typeof t ? L[t] || L[t.toLowerCase()] : void 0 + } + + function R(t) { + var e, n, r = {}; + for (n in t) l(t, n) && (e = O(n)) && (r[e] = t[n]); + return r + } + var P = {}; + + function F(t, e) { + P[t] = e + } + + function q(t, e, n) { + var r = "" + Math.abs(t), + i = e - r.length; + return (0 <= t ? n ? "+" : "" : "-") + Math.pow(10, Math.max(0, i)).toString().substr(1) + r + } + var j = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g, + U = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, + z = {}, + Y = {}; + + function V(t, e, n, r) { + var i = r; + "string" == typeof r && (i = function() { + return this[r]() + }), t && (Y[t] = i), e && (Y[e[0]] = function() { + return q(i.apply(this, arguments), e[1], e[2]) + }), n && (Y[n] = function() { + return this.localeData().ordinal(i.apply(this, arguments), t) + }) + } + + function H(t, e) { + return t.isValid() ? (e = G(e, t.localeData()), z[e] = z[e] || function(t) { + var e, n, r, i = t.match(j); + for (e = 0, n = i.length; e < n; e++) Y[i[e]] ? i[e] = Y[i[e]] : i[e] = (r = i[e]).match(/\[[\s\S]/) ? r.replace(/^\[|\]$/g, "") : r.replace(/\\/g, ""); + return function(e) { + var r, a = ""; + for (r = 0; r < n; r++) a += C(i[r]) ? i[r].call(e, t) : i[r]; + return a + } + }(e), z[e](t)) : t.localeData().invalidDate() + } + + function G(t, e) { + var n = 5; + + function r(t) { + return e.longDateFormat(t) || t + } + for (U.lastIndex = 0; 0 <= n && U.test(t);) t = t.replace(U, r), U.lastIndex = 0, n -= 1; + return t + } + var $ = /\d/, + W = /\d\d/, + K = /\d{3}/, + X = /\d{4}/, + Z = /[+-]?\d{6}/, + J = /\d\d?/, + Q = /\d\d\d\d?/, + tt = /\d\d\d\d\d\d?/, + et = /\d{1,3}/, + nt = /\d{1,4}/, + rt = /[+-]?\d{1,6}/, + it = /\d+/, + at = /[+-]?\d+/, + ot = /Z|[+-]\d\d:?\d\d/gi, + st = /Z|[+-]\d\d(?::?\d\d)?/gi, + ut = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i, + ct = {}; + + function ft(t, e, n) { + ct[t] = C(e) ? e : function(t, r) { + return t && n ? n : e + } + } + + function lt(t, e) { + return l(ct, t) ? ct[t](e._strict, e._locale) : new RegExp(ht(t.replace("\\", "").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, (function(t, e, n, r, i) { + return e || n || r || i + })))) + } + + function ht(t) { + return t.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&") + } + var dt = {}; + + function pt(t, e) { + var n, r = e; + for ("string" == typeof t && (t = [t]), u(e) && (r = function(t, n) { + n[e] = k(t) + }), n = 0; n < t.length; n++) dt[t[n]] = r + } + + function gt(t, e) { + pt(t, (function(t, n, r, i) { + r._w = r._w || {}, e(t, r._w, r, i) + })) + } + var yt = 0, + bt = 1, + vt = 2, + mt = 3, + _t = 4, + wt = 5, + xt = 6, + kt = 7, + Et = 8; + + function At(t) { + return St(t) ? 366 : 365 + } + + function St(t) { + return t % 4 == 0 && t % 100 != 0 || t % 400 == 0 + } + V("Y", 0, 0, (function() { + var t = this.year(); + return t <= 9999 ? "" + t : "+" + t + })), V(0, ["YY", 2], 0, (function() { + return this.year() % 100 + })), V(0, ["YYYY", 4], 0, "year"), V(0, ["YYYYY", 5], 0, "year"), V(0, ["YYYYYY", 6, !0], 0, "year"), B("year", "y"), F("year", 1), ft("Y", at), ft("YY", J, W), ft("YYYY", nt, X), ft("YYYYY", rt, Z), ft("YYYYYY", rt, Z), pt(["YYYYY", "YYYYYY"], yt), pt("YYYY", (function(t, e) { + e[yt] = 2 === t.length ? i.parseTwoDigitYear(t) : k(t) + })), pt("YY", (function(t, e) { + e[yt] = i.parseTwoDigitYear(t) + })), pt("Y", (function(t, e) { + e[yt] = parseInt(t, 10) + })), i.parseTwoDigitYear = function(t) { + return k(t) + (68 < k(t) ? 1900 : 2e3) + }; + var Mt, Tt = Dt("FullYear", !0); + + function Dt(t, e) { + return function(n) { + return null != n ? (Nt(this, t, n), i.updateOffset(this, e), this) : Ct(this, t) + } + } + + function Ct(t, e) { + return t.isValid() ? t._d["get" + (t._isUTC ? "UTC" : "") + e]() : NaN + } + + function Nt(t, e, n) { + t.isValid() && !isNaN(n) && ("FullYear" === e && St(t.year()) && 1 === t.month() && 29 === t.date() ? t._d["set" + (t._isUTC ? "UTC" : "") + e](n, t.month(), It(n, t.month())) : t._d["set" + (t._isUTC ? "UTC" : "") + e](n)) + } + + function It(t, e) { + if (isNaN(t) || isNaN(e)) return NaN; + var n = (e % 12 + 12) % 12; + return t += (e - n) / 12, 1 === n ? St(t) ? 29 : 28 : 31 - n % 7 % 2 + } + Mt = Array.prototype.indexOf ? Array.prototype.indexOf : function(t) { + var e; + for (e = 0; e < this.length; ++e) + if (this[e] === t) return e; + return -1 + }, V("M", ["MM", 2], "Mo", (function() { + return this.month() + 1 + })), V("MMM", 0, 0, (function(t) { + return this.localeData().monthsShort(this, t) + })), V("MMMM", 0, 0, (function(t) { + return this.localeData().months(this, t) + })), B("month", "M"), F("month", 8), ft("M", J), ft("MM", J, W), ft("MMM", (function(t, e) { + return e.monthsShortRegex(t) + })), ft("MMMM", (function(t, e) { + return e.monthsRegex(t) + })), pt(["M", "MM"], (function(t, e) { + e[bt] = k(t) - 1 + })), pt(["MMM", "MMMM"], (function(t, e, n, r) { + var i = n._locale.monthsParse(t, r, n._strict); + null != i ? e[bt] = i : p(n).invalidMonth = t + })); + var Lt = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/, + Bt = "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), + Ot = "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"); + + function Rt(t, e) { + var n; + if (!t.isValid()) return t; + if ("string" == typeof e) + if (/^\d+$/.test(e)) e = k(e); + else if (!u(e = t.localeData().monthsParse(e))) return t; + return n = Math.min(t.date(), It(t.year(), e)), t._d["set" + (t._isUTC ? "UTC" : "") + "Month"](e, n), t + } + + function Pt(t) { + return null != t ? (Rt(this, t), i.updateOffset(this, !0), this) : Ct(this, "Month") + } + var Ft = ut, + qt = ut; + + function jt() { + function t(t, e) { + return e.length - t.length + } + var e, n, r = [], + i = [], + a = []; + for (e = 0; e < 12; e++) n = d([2e3, e]), r.push(this.monthsShort(n, "")), i.push(this.months(n, "")), a.push(this.months(n, "")), a.push(this.monthsShort(n, "")); + for (r.sort(t), i.sort(t), a.sort(t), e = 0; e < 12; e++) r[e] = ht(r[e]), i[e] = ht(i[e]); + for (e = 0; e < 24; e++) a[e] = ht(a[e]); + this._monthsRegex = new RegExp("^(" + a.join("|") + ")", "i"), this._monthsShortRegex = this._monthsRegex, this._monthsStrictRegex = new RegExp("^(" + i.join("|") + ")", "i"), this._monthsShortStrictRegex = new RegExp("^(" + r.join("|") + ")", "i") + } + + function Ut(t) { + var e = new Date(Date.UTC.apply(null, arguments)); + return t < 100 && 0 <= t && isFinite(e.getUTCFullYear()) && e.setUTCFullYear(t), e + } + + function zt(t, e, n) { + var r = 7 + e - n; + return -(7 + Ut(t, 0, r).getUTCDay() - e) % 7 + r - 1 + } + + function Yt(t, e, n, r, i) { + var a, o, s = 1 + 7 * (e - 1) + (7 + n - r) % 7 + zt(t, r, i); + return s <= 0 ? o = At(a = t - 1) + s : s > At(t) ? (a = t + 1, o = s - At(t)) : (a = t, o = s), { + year: a, + dayOfYear: o + } + } + + function Vt(t, e, n) { + var r, i, a = zt(t.year(), e, n), + o = Math.floor((t.dayOfYear() - a - 1) / 7) + 1; + return o < 1 ? r = o + Ht(i = t.year() - 1, e, n) : o > Ht(t.year(), e, n) ? (r = o - Ht(t.year(), e, n), i = t.year() + 1) : (i = t.year(), r = o), { + week: r, + year: i + } + } + + function Ht(t, e, n) { + var r = zt(t, e, n), + i = zt(t + 1, e, n); + return (At(t) - r + i) / 7 + } + V("w", ["ww", 2], "wo", "week"), V("W", ["WW", 2], "Wo", "isoWeek"), B("week", "w"), B("isoWeek", "W"), F("week", 5), F("isoWeek", 5), ft("w", J), ft("ww", J, W), ft("W", J), ft("WW", J, W), gt(["w", "ww", "W", "WW"], (function(t, e, n, r) { + e[r.substr(0, 1)] = k(t) + })), V("d", 0, "do", "day"), V("dd", 0, 0, (function(t) { + return this.localeData().weekdaysMin(this, t) + })), V("ddd", 0, 0, (function(t) { + return this.localeData().weekdaysShort(this, t) + })), V("dddd", 0, 0, (function(t) { + return this.localeData().weekdays(this, t) + })), V("e", 0, 0, "weekday"), V("E", 0, 0, "isoWeekday"), B("day", "d"), B("weekday", "e"), B("isoWeekday", "E"), F("day", 11), F("weekday", 11), F("isoWeekday", 11), ft("d", J), ft("e", J), ft("E", J), ft("dd", (function(t, e) { + return e.weekdaysMinRegex(t) + })), ft("ddd", (function(t, e) { + return e.weekdaysShortRegex(t) + })), ft("dddd", (function(t, e) { + return e.weekdaysRegex(t) + })), gt(["dd", "ddd", "dddd"], (function(t, e, n, r) { + var i = n._locale.weekdaysParse(t, r, n._strict); + null != i ? e.d = i : p(n).invalidWeekday = t + })), gt(["d", "e", "E"], (function(t, e, n, r) { + e[r] = k(t) + })); + var Gt = "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), + $t = "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"), + Wt = "Su_Mo_Tu_We_Th_Fr_Sa".split("_"), + Kt = ut, + Xt = ut, + Zt = ut; + + function Jt() { + function t(t, e) { + return e.length - t.length + } + var e, n, r, i, a, o = [], + s = [], + u = [], + c = []; + for (e = 0; e < 7; e++) n = d([2e3, 1]).day(e), r = this.weekdaysMin(n, ""), i = this.weekdaysShort(n, ""), a = this.weekdays(n, ""), o.push(r), s.push(i), u.push(a), c.push(r), c.push(i), c.push(a); + for (o.sort(t), s.sort(t), u.sort(t), c.sort(t), e = 0; e < 7; e++) s[e] = ht(s[e]), u[e] = ht(u[e]), c[e] = ht(c[e]); + this._weekdaysRegex = new RegExp("^(" + c.join("|") + ")", "i"), this._weekdaysShortRegex = this._weekdaysRegex, this._weekdaysMinRegex = this._weekdaysRegex, this._weekdaysStrictRegex = new RegExp("^(" + u.join("|") + ")", "i"), this._weekdaysShortStrictRegex = new RegExp("^(" + s.join("|") + ")", "i"), this._weekdaysMinStrictRegex = new RegExp("^(" + o.join("|") + ")", "i") + } + + function Qt() { + return this.hours() % 12 || 12 + } + + function te(t, e) { + V(t, 0, 0, (function() { + return this.localeData().meridiem(this.hours(), this.minutes(), e) + })) + } + + function ee(t, e) { + return e._meridiemParse + } + V("H", ["HH", 2], 0, "hour"), V("h", ["hh", 2], 0, Qt), V("k", ["kk", 2], 0, (function() { + return this.hours() || 24 + })), V("hmm", 0, 0, (function() { + return "" + Qt.apply(this) + q(this.minutes(), 2) + })), V("hmmss", 0, 0, (function() { + return "" + Qt.apply(this) + q(this.minutes(), 2) + q(this.seconds(), 2) + })), V("Hmm", 0, 0, (function() { + return "" + this.hours() + q(this.minutes(), 2) + })), V("Hmmss", 0, 0, (function() { + return "" + this.hours() + q(this.minutes(), 2) + q(this.seconds(), 2) + })), te("a", !0), te("A", !1), B("hour", "h"), F("hour", 13), ft("a", ee), ft("A", ee), ft("H", J), ft("h", J), ft("k", J), ft("HH", J, W), ft("hh", J, W), ft("kk", J, W), ft("hmm", Q), ft("hmmss", tt), ft("Hmm", Q), ft("Hmmss", tt), pt(["H", "HH"], mt), pt(["k", "kk"], (function(t, e, n) { + var r = k(t); + e[mt] = 24 === r ? 0 : r + })), pt(["a", "A"], (function(t, e, n) { + n._isPm = n._locale.isPM(t), n._meridiem = t + })), pt(["h", "hh"], (function(t, e, n) { + e[mt] = k(t), p(n).bigHour = !0 + })), pt("hmm", (function(t, e, n) { + var r = t.length - 2; + e[mt] = k(t.substr(0, r)), e[_t] = k(t.substr(r)), p(n).bigHour = !0 + })), pt("hmmss", (function(t, e, n) { + var r = t.length - 4, + i = t.length - 2; + e[mt] = k(t.substr(0, r)), e[_t] = k(t.substr(r, 2)), e[wt] = k(t.substr(i)), p(n).bigHour = !0 + })), pt("Hmm", (function(t, e, n) { + var r = t.length - 2; + e[mt] = k(t.substr(0, r)), e[_t] = k(t.substr(r)) + })), pt("Hmmss", (function(t, e, n) { + var r = t.length - 4, + i = t.length - 2; + e[mt] = k(t.substr(0, r)), e[_t] = k(t.substr(r, 2)), e[wt] = k(t.substr(i)) + })); + var ne, re = Dt("Hours", !0), + ie = { + calendar: { + sameDay: "[Today at] LT", + nextDay: "[Tomorrow at] LT", + nextWeek: "dddd [at] LT", + lastDay: "[Yesterday at] LT", + lastWeek: "[Last] dddd [at] LT", + sameElse: "L" + }, + longDateFormat: { + LTS: "h:mm:ss A", + LT: "h:mm A", + L: "MM/DD/YYYY", + LL: "MMMM D, YYYY", + LLL: "MMMM D, YYYY h:mm A", + LLLL: "dddd, MMMM D, YYYY h:mm A" + }, + invalidDate: "Invalid date", + ordinal: "%d", + dayOfMonthOrdinalParse: /\d{1,2}/, + relativeTime: { + future: "in %s", + past: "%s ago", + s: "a few seconds", + ss: "%d seconds", + m: "a minute", + mm: "%d minutes", + h: "an hour", + hh: "%d hours", + d: "a day", + dd: "%d days", + M: "a month", + MM: "%d months", + y: "a year", + yy: "%d years" + }, + months: Bt, + monthsShort: Ot, + week: { + dow: 0, + doy: 6 + }, + weekdays: Gt, + weekdaysMin: Wt, + weekdaysShort: $t, + meridiemParse: /[ap]\.?m?\.?/i + }, + ae = {}, + oe = {}; + + function se(t) { + return t ? t.toLowerCase().replace("_", "-") : t + } + + function ue(e) { + var r = null; + if (!ae[e] && void 0 !== t && t && t.exports) try { + r = ne._abbr, n(235)("./" + e), ce(r) + } catch (e) {} + return ae[e] + } + + function ce(t, e) { + var n; + return t && ((n = s(e) ? le(t) : fe(t, e)) ? ne = n : "undefined" != typeof console && console.warn && console.warn("Locale " + t + " not found. Did you forget to load it?")), ne._abbr + } + + function fe(t, e) { + if (null !== e) { + var n, r = ie; + if (e.abbr = t, null != ae[t]) D("defineLocaleOverride", "use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."), r = ae[t]._config; + else if (null != e.parentLocale) + if (null != ae[e.parentLocale]) r = ae[e.parentLocale]._config; + else { + if (null == (n = ue(e.parentLocale))) return oe[e.parentLocale] || (oe[e.parentLocale] = []), oe[e.parentLocale].push({ + name: t, + config: e + }), null; + r = n._config + } return ae[t] = new I(N(r, e)), oe[t] && oe[t].forEach((function(t) { + fe(t.name, t.config) + })), ce(t), ae[t] + } + return delete ae[t], null + } + + function le(t) { + var e; + if (t && t._locale && t._locale._abbr && (t = t._locale._abbr), !t) return ne; + if (!a(t)) { + if (e = ue(t)) return e; + t = [t] + } + return function(t) { + for (var e, n, r, i, a = 0; a < t.length;) { + for (e = (i = se(t[a]).split("-")).length, n = (n = se(t[a + 1])) ? n.split("-") : null; 0 < e;) { + if (r = ue(i.slice(0, e).join("-"))) return r; + if (n && n.length >= e && E(i, n, !0) >= e - 1) break; + e-- + } + a++ + } + return ne + }(t) + } + + function he(t) { + var e, n = t._a; + return n && -2 === p(t).overflow && (e = n[bt] < 0 || 11 < n[bt] ? bt : n[vt] < 1 || n[vt] > It(n[yt], n[bt]) ? vt : n[mt] < 0 || 24 < n[mt] || 24 === n[mt] && (0 !== n[_t] || 0 !== n[wt] || 0 !== n[xt]) ? mt : n[_t] < 0 || 59 < n[_t] ? _t : n[wt] < 0 || 59 < n[wt] ? wt : n[xt] < 0 || 999 < n[xt] ? xt : -1, p(t)._overflowDayOfYear && (e < yt || vt < e) && (e = vt), p(t)._overflowWeeks && -1 === e && (e = kt), p(t)._overflowWeekday && -1 === e && (e = Et), p(t).overflow = e), t + } + + function de(t, e, n) { + return null != t ? t : null != e ? e : n + } + + function pe(t) { + var e, n, r, a, o, s = []; + if (!t._d) { + var u, c; + for (u = t, c = new Date(i.now()), r = u._useUTC ? [c.getUTCFullYear(), c.getUTCMonth(), c.getUTCDate()] : [c.getFullYear(), c.getMonth(), c.getDate()], t._w && null == t._a[vt] && null == t._a[bt] && function(t) { + var e, n, r, i, a, o, s, u; + if (null != (e = t._w).GG || null != e.W || null != e.E) a = 1, o = 4, n = de(e.GG, t._a[yt], Vt(Te(), 1, 4).year), r = de(e.W, 1), ((i = de(e.E, 1)) < 1 || 7 < i) && (u = !0); + else { + a = t._locale._week.dow, o = t._locale._week.doy; + var c = Vt(Te(), a, o); + n = de(e.gg, t._a[yt], c.year), r = de(e.w, c.week), null != e.d ? ((i = e.d) < 0 || 6 < i) && (u = !0) : null != e.e ? (i = e.e + a, (e.e < 0 || 6 < e.e) && (u = !0)) : i = a + } + r < 1 || r > Ht(n, a, o) ? p(t)._overflowWeeks = !0 : null != u ? p(t)._overflowWeekday = !0 : (s = Yt(n, r, i, a, o), t._a[yt] = s.year, t._dayOfYear = s.dayOfYear) + }(t), null != t._dayOfYear && (o = de(t._a[yt], r[yt]), (t._dayOfYear > At(o) || 0 === t._dayOfYear) && (p(t)._overflowDayOfYear = !0), n = Ut(o, 0, t._dayOfYear), t._a[bt] = n.getUTCMonth(), t._a[vt] = n.getUTCDate()), e = 0; e < 3 && null == t._a[e]; ++e) t._a[e] = s[e] = r[e]; + for (; e < 7; e++) t._a[e] = s[e] = null == t._a[e] ? 2 === e ? 1 : 0 : t._a[e]; + 24 === t._a[mt] && 0 === t._a[_t] && 0 === t._a[wt] && 0 === t._a[xt] && (t._nextDay = !0, t._a[mt] = 0), t._d = (t._useUTC ? Ut : function(t, e, n, r, i, a, o) { + var s = new Date(t, e, n, r, i, a, o); + return t < 100 && 0 <= t && isFinite(s.getFullYear()) && s.setFullYear(t), s + }).apply(null, s), a = t._useUTC ? t._d.getUTCDay() : t._d.getDay(), null != t._tzm && t._d.setUTCMinutes(t._d.getUTCMinutes() - t._tzm), t._nextDay && (t._a[mt] = 24), t._w && void 0 !== t._w.d && t._w.d !== a && (p(t).weekdayMismatch = !0) + } + } + var ge = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/, + ye = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/, + be = /Z|[+-]\d\d(?::?\d\d)?/, + ve = [ + ["YYYYYY-MM-DD", /[+-]\d{6}-\d\d-\d\d/], + ["YYYY-MM-DD", /\d{4}-\d\d-\d\d/], + ["GGGG-[W]WW-E", /\d{4}-W\d\d-\d/], + ["GGGG-[W]WW", /\d{4}-W\d\d/, !1], + ["YYYY-DDD", /\d{4}-\d{3}/], + ["YYYY-MM", /\d{4}-\d\d/, !1], + ["YYYYYYMMDD", /[+-]\d{10}/], + ["YYYYMMDD", /\d{8}/], + ["GGGG[W]WWE", /\d{4}W\d{3}/], + ["GGGG[W]WW", /\d{4}W\d{2}/, !1], + ["YYYYDDD", /\d{7}/] + ], + me = [ + ["HH:mm:ss.SSSS", /\d\d:\d\d:\d\d\.\d+/], + ["HH:mm:ss,SSSS", /\d\d:\d\d:\d\d,\d+/], + ["HH:mm:ss", /\d\d:\d\d:\d\d/], + ["HH:mm", /\d\d:\d\d/], + ["HHmmss.SSSS", /\d\d\d\d\d\d\.\d+/], + ["HHmmss,SSSS", /\d\d\d\d\d\d,\d+/], + ["HHmmss", /\d\d\d\d\d\d/], + ["HHmm", /\d\d\d\d/], + ["HH", /\d\d/] + ], + _e = /^\/?Date\((\-?\d+)/i; + + function we(t) { + var e, n, r, i, a, o, s = t._i, + u = ge.exec(s) || ye.exec(s); + if (u) { + for (p(t).iso = !0, e = 0, n = ve.length; e < n; e++) + if (ve[e][1].exec(u[1])) { + i = ve[e][0], r = !1 !== ve[e][2]; + break + } if (null == i) return void(t._isValid = !1); + if (u[3]) { + for (e = 0, n = me.length; e < n; e++) + if (me[e][1].exec(u[3])) { + a = (u[2] || " ") + me[e][0]; + break + } if (null == a) return void(t._isValid = !1) + } + if (!r && null != a) return void(t._isValid = !1); + if (u[4]) { + if (!be.exec(u[4])) return void(t._isValid = !1); + o = "Z" + } + t._f = i + (a || "") + (o || ""), Ae(t) + } else t._isValid = !1 + } + var xe = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/, + ke = { + UT: 0, + GMT: 0, + EDT: -240, + EST: -300, + CDT: -300, + CST: -360, + MDT: -360, + MST: -420, + PDT: -420, + PST: -480 + }; + + function Ee(t) { + var e, n, r, i = xe.exec(t._i.replace(/\([^)]*\)|[\n\t]/g, " ").replace(/(\s\s+)/g, " ").trim()); + if (i) { + var a = function(t, e, n, r, i, a) { + var o = [function(t) { + var e = parseInt(t, 10); + return e <= 49 ? 2e3 + e : e <= 999 ? 1900 + e : e + }(t), Ot.indexOf(e), parseInt(n, 10), parseInt(r, 10), parseInt(i, 10)]; + return a && o.push(parseInt(a, 10)), o + }(i[4], i[3], i[2], i[5], i[6], i[7]); + if (n = a, r = t, (e = i[1]) && $t.indexOf(e) !== new Date(n[0], n[1], n[2]).getDay() && (p(r).weekdayMismatch = !0, !(r._isValid = !1))) return; + t._a = a, t._tzm = function(t, e, n) { + if (t) return ke[t]; + if (e) return 0; + var r = parseInt(n, 10), + i = r % 100; + return (r - i) / 100 * 60 + i + }(i[8], i[9], i[10]), t._d = Ut.apply(null, t._a), t._d.setUTCMinutes(t._d.getUTCMinutes() - t._tzm), p(t).rfc2822 = !0 + } else t._isValid = !1 + } + + function Ae(t) { + if (t._f !== i.ISO_8601) + if (t._f !== i.RFC_2822) { + t._a = [], p(t).empty = !0; + var e, n, r, a, o, s, u, c, f = "" + t._i, + h = f.length, + d = 0; + for (r = G(t._f, t._locale).match(j) || [], e = 0; e < r.length; e++) a = r[e], (n = (f.match(lt(a, t)) || [])[0]) && (0 < (o = f.substr(0, f.indexOf(n))).length && p(t).unusedInput.push(o), f = f.slice(f.indexOf(n) + n.length), d += n.length), Y[a] ? (n ? p(t).empty = !1 : p(t).unusedTokens.push(a), s = a, c = t, null != (u = n) && l(dt, s) && dt[s](u, c._a, c, s)) : t._strict && !n && p(t).unusedTokens.push(a); + p(t).charsLeftOver = h - d, 0 < f.length && p(t).unusedInput.push(f), t._a[mt] <= 12 && !0 === p(t).bigHour && 0 < t._a[mt] && (p(t).bigHour = void 0), p(t).parsedDateParts = t._a.slice(0), p(t).meridiem = t._meridiem, t._a[mt] = function(t, e, n) { + var r; + return null == n ? e : null != t.meridiemHour ? t.meridiemHour(e, n) : (null != t.isPM && ((r = t.isPM(n)) && e < 12 && (e += 12), r || 12 !== e || (e = 0)), e) + }(t._locale, t._a[mt], t._meridiem), pe(t), he(t) + } else Ee(t); + else we(t) + } + + function Se(t) { + var e, n, r, l, d = t._i, + b = t._f; + return t._locale = t._locale || le(t._l), null === d || void 0 === b && "" === d ? y({ + nullInput: !0 + }) : ("string" == typeof d && (t._i = d = t._locale.preparse(d)), w(d) ? new _(he(d)) : (c(d) ? t._d = d : a(b) ? function(t) { + var e, n, r, i, a; + if (0 === t._f.length) return p(t).invalidFormat = !0, t._d = new Date(NaN); + for (i = 0; i < t._f.length; i++) a = 0, e = v({}, t), null != t._useUTC && (e._useUTC = t._useUTC), e._f = t._f[i], Ae(e), g(e) && (a += p(e).charsLeftOver, a += 10 * p(e).unusedTokens.length, p(e).score = a, (null == r || a < r) && (r = a, n = e)); + h(t, n || e) + }(t) : b ? Ae(t) : s(n = (e = t)._i) ? e._d = new Date(i.now()) : c(n) ? e._d = new Date(n.valueOf()) : "string" == typeof n ? (r = e, null === (l = _e.exec(r._i)) ? (we(r), !1 === r._isValid && (delete r._isValid, Ee(r), !1 === r._isValid && (delete r._isValid, i.createFromInputFallback(r)))) : r._d = new Date(+l[1])) : a(n) ? (e._a = f(n.slice(0), (function(t) { + return parseInt(t, 10) + })), pe(e)) : o(n) ? function(t) { + if (!t._d) { + var e = R(t._i); + t._a = f([e.year, e.month, e.day || e.date, e.hour, e.minute, e.second, e.millisecond], (function(t) { + return t && parseInt(t, 10) + })), pe(t) + } + }(e) : u(n) ? e._d = new Date(n) : i.createFromInputFallback(e), g(t) || (t._d = null), t)) + } + + function Me(t, e, n, r, i) { + var s, u = {}; + return !0 !== n && !1 !== n || (r = n, n = void 0), (o(t) && function(t) { + if (Object.getOwnPropertyNames) return 0 === Object.getOwnPropertyNames(t).length; + var e; + for (e in t) + if (t.hasOwnProperty(e)) return !1; + return !0 + }(t) || a(t) && 0 === t.length) && (t = void 0), u._isAMomentObject = !0, u._useUTC = u._isUTC = i, u._l = n, u._i = t, u._f = e, u._strict = r, (s = new _(he(Se(u))))._nextDay && (s.add(1, "d"), s._nextDay = void 0), s + } + + function Te(t, e, n, r) { + return Me(t, e, n, r, !1) + } + i.createFromInputFallback = S("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.", (function(t) { + t._d = new Date(t._i + (t._useUTC ? " UTC" : "")) + })), i.ISO_8601 = function() {}, i.RFC_2822 = function() {}; + var De = S("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/", (function() { + var t = Te.apply(null, arguments); + return this.isValid() && t.isValid() ? t < this ? this : t : y() + })), + Ce = S("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/", (function() { + var t = Te.apply(null, arguments); + return this.isValid() && t.isValid() ? this < t ? this : t : y() + })); + + function Ne(t, e) { + var n, r; + if (1 === e.length && a(e[0]) && (e = e[0]), !e.length) return Te(); + for (n = e[0], r = 1; r < e.length; ++r) e[r].isValid() && !e[r][t](n) || (n = e[r]); + return n + } + var Ie = ["year", "quarter", "month", "week", "day", "hour", "minute", "second", "millisecond"]; + + function Le(t) { + var e = R(t), + n = e.year || 0, + r = e.quarter || 0, + i = e.month || 0, + a = e.week || 0, + o = e.day || 0, + s = e.hour || 0, + u = e.minute || 0, + c = e.second || 0, + f = e.millisecond || 0; + this._isValid = function(t) { + for (var e in t) + if (-1 === Mt.call(Ie, e) || null != t[e] && isNaN(t[e])) return !1; + for (var n = !1, r = 0; r < Ie.length; ++r) + if (t[Ie[r]]) { + if (n) return !1; + parseFloat(t[Ie[r]]) !== k(t[Ie[r]]) && (n = !0) + } return !0 + }(e), this._milliseconds = +f + 1e3 * c + 6e4 * u + 1e3 * s * 60 * 60, this._days = +o + 7 * a, this._months = +i + 3 * r + 12 * n, this._data = {}, this._locale = le(), this._bubble() + } + + function Be(t) { + return t instanceof Le + } + + function Oe(t) { + return t < 0 ? -1 * Math.round(-1 * t) : Math.round(t) + } + + function Re(t, e) { + V(t, 0, 0, (function() { + var t = this.utcOffset(), + n = "+"; + return t < 0 && (t = -t, n = "-"), n + q(~~(t / 60), 2) + e + q(~~t % 60, 2) + })) + } + Re("Z", ":"), Re("ZZ", ""), ft("Z", st), ft("ZZ", st), pt(["Z", "ZZ"], (function(t, e, n) { + n._useUTC = !0, n._tzm = Fe(st, t) + })); + var Pe = /([\+\-]|\d\d)/gi; + + function Fe(t, e) { + var n = (e || "").match(t); + if (null === n) return null; + var r = ((n[n.length - 1] || []) + "").match(Pe) || ["-", 0, 0], + i = 60 * r[1] + k(r[2]); + return 0 === i ? 0 : "+" === r[0] ? i : -i + } + + function qe(t, e) { + var n, r; + return e._isUTC ? (n = e.clone(), r = (w(t) || c(t) ? t.valueOf() : Te(t).valueOf()) - n.valueOf(), n._d.setTime(n._d.valueOf() + r), i.updateOffset(n, !1), n) : Te(t).local() + } + + function je(t) { + return 15 * -Math.round(t._d.getTimezoneOffset() / 15) + } + + function Ue() { + return !!this.isValid() && this._isUTC && 0 === this._offset + } + i.updateOffset = function() {}; + var ze = /^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/, + Ye = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/; + + function Ve(t, e) { + var n, r, i, a = t, + o = null; + return Be(t) ? a = { + ms: t._milliseconds, + d: t._days, + M: t._months + } : u(t) ? (a = {}, e ? a[e] = t : a.milliseconds = t) : (o = ze.exec(t)) ? (n = "-" === o[1] ? -1 : 1, a = { + y: 0, + d: k(o[vt]) * n, + h: k(o[mt]) * n, + m: k(o[_t]) * n, + s: k(o[wt]) * n, + ms: k(Oe(1e3 * o[xt])) * n + }) : (o = Ye.exec(t)) ? (n = "-" === o[1] ? -1 : (o[1], 1), a = { + y: He(o[2], n), + M: He(o[3], n), + w: He(o[4], n), + d: He(o[5], n), + h: He(o[6], n), + m: He(o[7], n), + s: He(o[8], n) + }) : null == a ? a = {} : "object" == typeof a && ("from" in a || "to" in a) && (i = function(t, e) { + var n; + return t.isValid() && e.isValid() ? (e = qe(e, t), t.isBefore(e) ? n = Ge(t, e) : ((n = Ge(e, t)).milliseconds = -n.milliseconds, n.months = -n.months), n) : { + milliseconds: 0, + months: 0 + } + }(Te(a.from), Te(a.to)), (a = {}).ms = i.milliseconds, a.M = i.months), r = new Le(a), Be(t) && l(t, "_locale") && (r._locale = t._locale), r + } + + function He(t, e) { + var n = t && parseFloat(t.replace(",", ".")); + return (isNaN(n) ? 0 : n) * e + } + + function Ge(t, e) { + var n = { + milliseconds: 0, + months: 0 + }; + return n.months = e.month() - t.month() + 12 * (e.year() - t.year()), t.clone().add(n.months, "M").isAfter(e) && --n.months, n.milliseconds = +e - +t.clone().add(n.months, "M"), n + } + + function $e(t, e) { + return function(n, r) { + var i; + return null === r || isNaN(+r) || (D(e, "moment()." + e + "(period, number) is deprecated. Please use moment()." + e + "(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."), i = n, n = r, r = i), We(this, Ve(n = "string" == typeof n ? +n : n, r), t), this + } + } + + function We(t, e, n, r) { + var a = e._milliseconds, + o = Oe(e._days), + s = Oe(e._months); + t.isValid() && (r = null == r || r, s && Rt(t, Ct(t, "Month") + s * n), o && Nt(t, "Date", Ct(t, "Date") + o * n), a && t._d.setTime(t._d.valueOf() + a * n), r && i.updateOffset(t, o || s)) + } + Ve.fn = Le.prototype, Ve.invalid = function() { + return Ve(NaN) + }; + var Ke = $e(1, "add"), + Xe = $e(-1, "subtract"); + + function Ze(t, e) { + var n = 12 * (e.year() - t.year()) + (e.month() - t.month()), + r = t.clone().add(n, "months"); + return -(n + (e - r < 0 ? (e - r) / (r - t.clone().add(n - 1, "months")) : (e - r) / (t.clone().add(n + 1, "months") - r))) || 0 + } + + function Je(t) { + var e; + return void 0 === t ? this._locale._abbr : (null != (e = le(t)) && (this._locale = e), this) + } + i.defaultFormat = "YYYY-MM-DDTHH:mm:ssZ", i.defaultFormatUtc = "YYYY-MM-DDTHH:mm:ss[Z]"; + var Qe = S("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.", (function(t) { + return void 0 === t ? this.localeData() : this.locale(t) + })); + + function tn() { + return this._locale + } + + function en(t, e) { + V(0, [t, t.length], 0, e) + } + + function nn(t, e, n, r, i) { + var a; + return null == t ? Vt(this, r, i).year : ((a = Ht(t, r, i)) < e && (e = a), function(t, e, n, r, i) { + var a = Yt(t, e, n, r, i), + o = Ut(a.year, 0, a.dayOfYear); + return this.year(o.getUTCFullYear()), this.month(o.getUTCMonth()), this.date(o.getUTCDate()), this + }.call(this, t, e, n, r, i)) + } + V(0, ["gg", 2], 0, (function() { + return this.weekYear() % 100 + })), V(0, ["GG", 2], 0, (function() { + return this.isoWeekYear() % 100 + })), en("gggg", "weekYear"), en("ggggg", "weekYear"), en("GGGG", "isoWeekYear"), en("GGGGG", "isoWeekYear"), B("weekYear", "gg"), B("isoWeekYear", "GG"), F("weekYear", 1), F("isoWeekYear", 1), ft("G", at), ft("g", at), ft("GG", J, W), ft("gg", J, W), ft("GGGG", nt, X), ft("gggg", nt, X), ft("GGGGG", rt, Z), ft("ggggg", rt, Z), gt(["gggg", "ggggg", "GGGG", "GGGGG"], (function(t, e, n, r) { + e[r.substr(0, 2)] = k(t) + })), gt(["gg", "GG"], (function(t, e, n, r) { + e[r] = i.parseTwoDigitYear(t) + })), V("Q", 0, "Qo", "quarter"), B("quarter", "Q"), F("quarter", 7), ft("Q", $), pt("Q", (function(t, e) { + e[bt] = 3 * (k(t) - 1) + })), V("D", ["DD", 2], "Do", "date"), B("date", "D"), F("date", 9), ft("D", J), ft("DD", J, W), ft("Do", (function(t, e) { + return t ? e._dayOfMonthOrdinalParse || e._ordinalParse : e._dayOfMonthOrdinalParseLenient + })), pt(["D", "DD"], vt), pt("Do", (function(t, e) { + e[vt] = k(t.match(J)[0]) + })); + var rn = Dt("Date", !0); + V("DDD", ["DDDD", 3], "DDDo", "dayOfYear"), B("dayOfYear", "DDD"), F("dayOfYear", 4), ft("DDD", et), ft("DDDD", K), pt(["DDD", "DDDD"], (function(t, e, n) { + n._dayOfYear = k(t) + })), V("m", ["mm", 2], 0, "minute"), B("minute", "m"), F("minute", 14), ft("m", J), ft("mm", J, W), pt(["m", "mm"], _t); + var an = Dt("Minutes", !1); + V("s", ["ss", 2], 0, "second"), B("second", "s"), F("second", 15), ft("s", J), ft("ss", J, W), pt(["s", "ss"], wt); + var on, sn = Dt("Seconds", !1); + for (V("S", 0, 0, (function() { + return ~~(this.millisecond() / 100) + })), V(0, ["SS", 2], 0, (function() { + return ~~(this.millisecond() / 10) + })), V(0, ["SSS", 3], 0, "millisecond"), V(0, ["SSSS", 4], 0, (function() { + return 10 * this.millisecond() + })), V(0, ["SSSSS", 5], 0, (function() { + return 100 * this.millisecond() + })), V(0, ["SSSSSS", 6], 0, (function() { + return 1e3 * this.millisecond() + })), V(0, ["SSSSSSS", 7], 0, (function() { + return 1e4 * this.millisecond() + })), V(0, ["SSSSSSSS", 8], 0, (function() { + return 1e5 * this.millisecond() + })), V(0, ["SSSSSSSSS", 9], 0, (function() { + return 1e6 * this.millisecond() + })), B("millisecond", "ms"), F("millisecond", 16), ft("S", et, $), ft("SS", et, W), ft("SSS", et, K), on = "SSSS"; on.length <= 9; on += "S") ft(on, it); + + function un(t, e) { + e[xt] = k(1e3 * ("0." + t)) + } + for (on = "S"; on.length <= 9; on += "S") pt(on, un); + var cn = Dt("Milliseconds", !1); + V("z", 0, 0, "zoneAbbr"), V("zz", 0, 0, "zoneName"); + var fn = _.prototype; + + function ln(t) { + return t + } + fn.add = Ke, fn.calendar = function(t, e) { + var n = t || Te(), + r = qe(n, this).startOf("day"), + a = i.calendarFormat(this, r) || "sameElse", + o = e && (C(e[a]) ? e[a].call(this, n) : e[a]); + return this.format(o || this.localeData().calendar(a, this, Te(n))) + }, fn.clone = function() { + return new _(this) + }, fn.diff = function(t, e, n) { + var r, i, a; + if (!this.isValid()) return NaN; + if (!(r = qe(t, this)).isValid()) return NaN; + switch (i = 6e4 * (r.utcOffset() - this.utcOffset()), e = O(e)) { + case "year": + a = Ze(this, r) / 12; + break; + case "month": + a = Ze(this, r); + break; + case "quarter": + a = Ze(this, r) / 3; + break; + case "second": + a = (this - r) / 1e3; + break; + case "minute": + a = (this - r) / 6e4; + break; + case "hour": + a = (this - r) / 36e5; + break; + case "day": + a = (this - r - i) / 864e5; + break; + case "week": + a = (this - r - i) / 6048e5; + break; + default: + a = this - r + } + return n ? a : x(a) + }, fn.endOf = function(t) { + return void 0 === (t = O(t)) || "millisecond" === t ? this : ("date" === t && (t = "day"), this.startOf(t).add(1, "isoWeek" === t ? "week" : t).subtract(1, "ms")) + }, fn.format = function(t) { + t || (t = this.isUtc() ? i.defaultFormatUtc : i.defaultFormat); + var e = H(this, t); + return this.localeData().postformat(e) + }, fn.from = function(t, e) { + return this.isValid() && (w(t) && t.isValid() || Te(t).isValid()) ? Ve({ + to: this, + from: t + }).locale(this.locale()).humanize(!e) : this.localeData().invalidDate() + }, fn.fromNow = function(t) { + return this.from(Te(), t) + }, fn.to = function(t, e) { + return this.isValid() && (w(t) && t.isValid() || Te(t).isValid()) ? Ve({ + from: this, + to: t + }).locale(this.locale()).humanize(!e) : this.localeData().invalidDate() + }, fn.toNow = function(t) { + return this.to(Te(), t) + }, fn.get = function(t) { + return C(this[t = O(t)]) ? this[t]() : this + }, fn.invalidAt = function() { + return p(this).overflow + }, fn.isAfter = function(t, e) { + var n = w(t) ? t : Te(t); + return !(!this.isValid() || !n.isValid()) && ("millisecond" === (e = O(s(e) ? "millisecond" : e)) ? this.valueOf() > n.valueOf() : n.valueOf() < this.clone().startOf(e).valueOf()) + }, fn.isBefore = function(t, e) { + var n = w(t) ? t : Te(t); + return !(!this.isValid() || !n.isValid()) && ("millisecond" === (e = O(s(e) ? "millisecond" : e)) ? this.valueOf() < n.valueOf() : this.clone().endOf(e).valueOf() < n.valueOf()) + }, fn.isBetween = function(t, e, n, r) { + return ("(" === (r = r || "()")[0] ? this.isAfter(t, n) : !this.isBefore(t, n)) && (")" === r[1] ? this.isBefore(e, n) : !this.isAfter(e, n)) + }, fn.isSame = function(t, e) { + var n, r = w(t) ? t : Te(t); + return !(!this.isValid() || !r.isValid()) && ("millisecond" === (e = O(e || "millisecond")) ? this.valueOf() === r.valueOf() : (n = r.valueOf(), this.clone().startOf(e).valueOf() <= n && n <= this.clone().endOf(e).valueOf())) + }, fn.isSameOrAfter = function(t, e) { + return this.isSame(t, e) || this.isAfter(t, e) + }, fn.isSameOrBefore = function(t, e) { + return this.isSame(t, e) || this.isBefore(t, e) + }, fn.isValid = function() { + return g(this) + }, fn.lang = Qe, fn.locale = Je, fn.localeData = tn, fn.max = Ce, fn.min = De, fn.parsingFlags = function() { + return h({}, p(this)) + }, fn.set = function(t, e) { + if ("object" == typeof t) + for (var n = function(t) { + var e = []; + for (var n in t) e.push({ + unit: n, + priority: P[n] + }); + return e.sort((function(t, e) { + return t.priority - e.priority + })), e + }(t = R(t)), r = 0; r < n.length; r++) this[n[r].unit](t[n[r].unit]); + else if (C(this[t = O(t)])) return this[t](e); + return this + }, fn.startOf = function(t) { + switch (t = O(t)) { + case "year": + this.month(0); + case "quarter": + case "month": + this.date(1); + case "week": + case "isoWeek": + case "day": + case "date": + this.hours(0); + case "hour": + this.minutes(0); + case "minute": + this.seconds(0); + case "second": + this.milliseconds(0) + } + return "week" === t && this.weekday(0), "isoWeek" === t && this.isoWeekday(1), "quarter" === t && this.month(3 * Math.floor(this.month() / 3)), this + }, fn.subtract = Xe, fn.toArray = function() { + var t = this; + return [t.year(), t.month(), t.date(), t.hour(), t.minute(), t.second(), t.millisecond()] + }, fn.toObject = function() { + var t = this; + return { + years: t.year(), + months: t.month(), + date: t.date(), + hours: t.hours(), + minutes: t.minutes(), + seconds: t.seconds(), + milliseconds: t.milliseconds() + } + }, fn.toDate = function() { + return new Date(this.valueOf()) + }, fn.toISOString = function(t) { + if (!this.isValid()) return null; + var e = !0 !== t, + n = e ? this.clone().utc() : this; + return n.year() < 0 || 9999 < n.year() ? H(n, e ? "YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]" : "YYYYYY-MM-DD[T]HH:mm:ss.SSSZ") : C(Date.prototype.toISOString) ? e ? this.toDate().toISOString() : new Date(this.valueOf() + 60 * this.utcOffset() * 1e3).toISOString().replace("Z", H(n, "Z")) : H(n, e ? "YYYY-MM-DD[T]HH:mm:ss.SSS[Z]" : "YYYY-MM-DD[T]HH:mm:ss.SSSZ") + }, fn.inspect = function() { + if (!this.isValid()) return "moment.invalid(/* " + this._i + " */)"; + var t = "moment", + e = ""; + this.isLocal() || (t = 0 === this.utcOffset() ? "moment.utc" : "moment.parseZone", e = "Z"); + var n = "[" + t + '("]', + r = 0 <= this.year() && this.year() <= 9999 ? "YYYY" : "YYYYYY", + i = e + '[")]'; + return this.format(n + r + "-MM-DD[T]HH:mm:ss.SSS" + i) + }, fn.toJSON = function() { + return this.isValid() ? this.toISOString() : null + }, fn.toString = function() { + return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ") + }, fn.unix = function() { + return Math.floor(this.valueOf() / 1e3) + }, fn.valueOf = function() { + return this._d.valueOf() - 6e4 * (this._offset || 0) + }, fn.creationData = function() { + return { + input: this._i, + format: this._f, + locale: this._locale, + isUTC: this._isUTC, + strict: this._strict + } + }, fn.year = Tt, fn.isLeapYear = function() { + return St(this.year()) + }, fn.weekYear = function(t) { + return nn.call(this, t, this.week(), this.weekday(), this.localeData()._week.dow, this.localeData()._week.doy) + }, fn.isoWeekYear = function(t) { + return nn.call(this, t, this.isoWeek(), this.isoWeekday(), 1, 4) + }, fn.quarter = fn.quarters = function(t) { + return null == t ? Math.ceil((this.month() + 1) / 3) : this.month(3 * (t - 1) + this.month() % 3) + }, fn.month = Pt, fn.daysInMonth = function() { + return It(this.year(), this.month()) + }, fn.week = fn.weeks = function(t) { + var e = this.localeData().week(this); + return null == t ? e : this.add(7 * (t - e), "d") + }, fn.isoWeek = fn.isoWeeks = function(t) { + var e = Vt(this, 1, 4).week; + return null == t ? e : this.add(7 * (t - e), "d") + }, fn.weeksInYear = function() { + var t = this.localeData()._week; + return Ht(this.year(), t.dow, t.doy) + }, fn.isoWeeksInYear = function() { + return Ht(this.year(), 1, 4) + }, fn.date = rn, fn.day = fn.days = function(t) { + if (!this.isValid()) return null != t ? this : NaN; + var e, n, r = this._isUTC ? this._d.getUTCDay() : this._d.getDay(); + return null != t ? (e = t, n = this.localeData(), t = "string" != typeof e ? e : isNaN(e) ? "number" == typeof(e = n.weekdaysParse(e)) ? e : null : parseInt(e, 10), this.add(t - r, "d")) : r + }, fn.weekday = function(t) { + if (!this.isValid()) return null != t ? this : NaN; + var e = (this.day() + 7 - this.localeData()._week.dow) % 7; + return null == t ? e : this.add(t - e, "d") + }, fn.isoWeekday = function(t) { + if (!this.isValid()) return null != t ? this : NaN; + if (null != t) { + var e = (n = t, r = this.localeData(), "string" == typeof n ? r.weekdaysParse(n) % 7 || 7 : isNaN(n) ? null : n); + return this.day(this.day() % 7 ? e : e - 7) + } + return this.day() || 7; + var n, r + }, fn.dayOfYear = function(t) { + var e = Math.round((this.clone().startOf("day") - this.clone().startOf("year")) / 864e5) + 1; + return null == t ? e : this.add(t - e, "d") + }, fn.hour = fn.hours = re, fn.minute = fn.minutes = an, fn.second = fn.seconds = sn, fn.millisecond = fn.milliseconds = cn, fn.utcOffset = function(t, e, n) { + var r, a = this._offset || 0; + if (!this.isValid()) return null != t ? this : NaN; + if (null != t) { + if ("string" == typeof t) { + if (null === (t = Fe(st, t))) return this + } else Math.abs(t) < 16 && !n && (t *= 60); + return !this._isUTC && e && (r = je(this)), this._offset = t, this._isUTC = !0, null != r && this.add(r, "m"), a !== t && (!e || this._changeInProgress ? We(this, Ve(t - a, "m"), 1, !1) : this._changeInProgress || (this._changeInProgress = !0, i.updateOffset(this, !0), this._changeInProgress = null)), this + } + return this._isUTC ? a : je(this) + }, fn.utc = function(t) { + return this.utcOffset(0, t) + }, fn.local = function(t) { + return this._isUTC && (this.utcOffset(0, t), this._isUTC = !1, t && this.subtract(je(this), "m")), this + }, fn.parseZone = function() { + if (null != this._tzm) this.utcOffset(this._tzm, !1, !0); + else if ("string" == typeof this._i) { + var t = Fe(ot, this._i); + null != t ? this.utcOffset(t) : this.utcOffset(0, !0) + } + return this + }, fn.hasAlignedHourOffset = function(t) { + return !!this.isValid() && (t = t ? Te(t).utcOffset() : 0, (this.utcOffset() - t) % 60 == 0) + }, fn.isDST = function() { + return this.utcOffset() > this.clone().month(0).utcOffset() || this.utcOffset() > this.clone().month(5).utcOffset() + }, fn.isLocal = function() { + return !!this.isValid() && !this._isUTC + }, fn.isUtcOffset = function() { + return !!this.isValid() && this._isUTC + }, fn.isUtc = Ue, fn.isUTC = Ue, fn.zoneAbbr = function() { + return this._isUTC ? "UTC" : "" + }, fn.zoneName = function() { + return this._isUTC ? "Coordinated Universal Time" : "" + }, fn.dates = S("dates accessor is deprecated. Use date instead.", rn), fn.months = S("months accessor is deprecated. Use month instead", Pt), fn.years = S("years accessor is deprecated. Use year instead", Tt), fn.zone = S("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/", (function(t, e) { + return null != t ? ("string" != typeof t && (t = -t), this.utcOffset(t, e), this) : -this.utcOffset() + })), fn.isDSTShifted = S("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information", (function() { + if (!s(this._isDSTShifted)) return this._isDSTShifted; + var t = {}; + if (v(t, this), (t = Se(t))._a) { + var e = t._isUTC ? d(t._a) : Te(t._a); + this._isDSTShifted = this.isValid() && 0 < E(t._a, e.toArray()) + } else this._isDSTShifted = !1; + return this._isDSTShifted + })); + var hn = I.prototype; + + function dn(t, e, n, r) { + var i = le(), + a = d().set(r, e); + return i[n](a, t) + } + + function pn(t, e, n) { + if (u(t) && (e = t, t = void 0), t = t || "", null != e) return dn(t, e, n, "month"); + var r, i = []; + for (r = 0; r < 12; r++) i[r] = dn(t, r, n, "month"); + return i + } + + function gn(t, e, n, r) { + "boolean" == typeof t ? u(e) && (n = e, e = void 0) : (e = t, t = !1, u(n = e) && (n = e, e = void 0)), e = e || ""; + var i, a = le(), + o = t ? a._week.dow : 0; + if (null != n) return dn(e, (n + o) % 7, r, "day"); + var s = []; + for (i = 0; i < 7; i++) s[i] = dn(e, (i + o) % 7, r, "day"); + return s + } + hn.calendar = function(t, e, n) { + var r = this._calendar[t] || this._calendar.sameElse; + return C(r) ? r.call(e, n) : r + }, hn.longDateFormat = function(t) { + var e = this._longDateFormat[t], + n = this._longDateFormat[t.toUpperCase()]; + return e || !n ? e : (this._longDateFormat[t] = n.replace(/MMMM|MM|DD|dddd/g, (function(t) { + return t.slice(1) + })), this._longDateFormat[t]) + }, hn.invalidDate = function() { + return this._invalidDate + }, hn.ordinal = function(t) { + return this._ordinal.replace("%d", t) + }, hn.preparse = ln, hn.postformat = ln, hn.relativeTime = function(t, e, n, r) { + var i = this._relativeTime[n]; + return C(i) ? i(t, e, n, r) : i.replace(/%d/i, t) + }, hn.pastFuture = function(t, e) { + var n = this._relativeTime[0 < t ? "future" : "past"]; + return C(n) ? n(e) : n.replace(/%s/i, e) + }, hn.set = function(t) { + var e, n; + for (n in t) C(e = t[n]) ? this[n] = e : this["_" + n] = e; + this._config = t, this._dayOfMonthOrdinalParseLenient = new RegExp((this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + "|" + /\d{1,2}/.source) + }, hn.months = function(t, e) { + return t ? a(this._months) ? this._months[t.month()] : this._months[(this._months.isFormat || Lt).test(e) ? "format" : "standalone"][t.month()] : a(this._months) ? this._months : this._months.standalone + }, hn.monthsShort = function(t, e) { + return t ? a(this._monthsShort) ? this._monthsShort[t.month()] : this._monthsShort[Lt.test(e) ? "format" : "standalone"][t.month()] : a(this._monthsShort) ? this._monthsShort : this._monthsShort.standalone + }, hn.monthsParse = function(t, e, n) { + var r, i, a; + if (this._monthsParseExact) return function(t, e, n) { + var r, i, a, o = t.toLocaleLowerCase(); + if (!this._monthsParse) + for (this._monthsParse = [], this._longMonthsParse = [], this._shortMonthsParse = [], r = 0; r < 12; ++r) a = d([2e3, r]), this._shortMonthsParse[r] = this.monthsShort(a, "").toLocaleLowerCase(), this._longMonthsParse[r] = this.months(a, "").toLocaleLowerCase(); + return n ? "MMM" === e ? -1 !== (i = Mt.call(this._shortMonthsParse, o)) ? i : null : -1 !== (i = Mt.call(this._longMonthsParse, o)) ? i : null : "MMM" === e ? -1 !== (i = Mt.call(this._shortMonthsParse, o)) ? i : -1 !== (i = Mt.call(this._longMonthsParse, o)) ? i : null : -1 !== (i = Mt.call(this._longMonthsParse, o)) ? i : -1 !== (i = Mt.call(this._shortMonthsParse, o)) ? i : null + }.call(this, t, e, n); + for (this._monthsParse || (this._monthsParse = [], this._longMonthsParse = [], this._shortMonthsParse = []), r = 0; r < 12; r++) { + if (i = d([2e3, r]), n && !this._longMonthsParse[r] && (this._longMonthsParse[r] = new RegExp("^" + this.months(i, "").replace(".", "") + "$", "i"), this._shortMonthsParse[r] = new RegExp("^" + this.monthsShort(i, "").replace(".", "") + "$", "i")), n || this._monthsParse[r] || (a = "^" + this.months(i, "") + "|^" + this.monthsShort(i, ""), this._monthsParse[r] = new RegExp(a.replace(".", ""), "i")), n && "MMMM" === e && this._longMonthsParse[r].test(t)) return r; + if (n && "MMM" === e && this._shortMonthsParse[r].test(t)) return r; + if (!n && this._monthsParse[r].test(t)) return r + } + }, hn.monthsRegex = function(t) { + return this._monthsParseExact ? (l(this, "_monthsRegex") || jt.call(this), t ? this._monthsStrictRegex : this._monthsRegex) : (l(this, "_monthsRegex") || (this._monthsRegex = qt), this._monthsStrictRegex && t ? this._monthsStrictRegex : this._monthsRegex) + }, hn.monthsShortRegex = function(t) { + return this._monthsParseExact ? (l(this, "_monthsRegex") || jt.call(this), t ? this._monthsShortStrictRegex : this._monthsShortRegex) : (l(this, "_monthsShortRegex") || (this._monthsShortRegex = Ft), this._monthsShortStrictRegex && t ? this._monthsShortStrictRegex : this._monthsShortRegex) + }, hn.week = function(t) { + return Vt(t, this._week.dow, this._week.doy).week + }, hn.firstDayOfYear = function() { + return this._week.doy + }, hn.firstDayOfWeek = function() { + return this._week.dow + }, hn.weekdays = function(t, e) { + return t ? a(this._weekdays) ? this._weekdays[t.day()] : this._weekdays[this._weekdays.isFormat.test(e) ? "format" : "standalone"][t.day()] : a(this._weekdays) ? this._weekdays : this._weekdays.standalone + }, hn.weekdaysMin = function(t) { + return t ? this._weekdaysMin[t.day()] : this._weekdaysMin + }, hn.weekdaysShort = function(t) { + return t ? this._weekdaysShort[t.day()] : this._weekdaysShort + }, hn.weekdaysParse = function(t, e, n) { + var r, i, a; + if (this._weekdaysParseExact) return function(t, e, n) { + var r, i, a, o = t.toLocaleLowerCase(); + if (!this._weekdaysParse) + for (this._weekdaysParse = [], this._shortWeekdaysParse = [], this._minWeekdaysParse = [], r = 0; r < 7; ++r) a = d([2e3, 1]).day(r), this._minWeekdaysParse[r] = this.weekdaysMin(a, "").toLocaleLowerCase(), this._shortWeekdaysParse[r] = this.weekdaysShort(a, "").toLocaleLowerCase(), this._weekdaysParse[r] = this.weekdays(a, "").toLocaleLowerCase(); + return n ? "dddd" === e ? -1 !== (i = Mt.call(this._weekdaysParse, o)) ? i : null : "ddd" === e ? -1 !== (i = Mt.call(this._shortWeekdaysParse, o)) ? i : null : -1 !== (i = Mt.call(this._minWeekdaysParse, o)) ? i : null : "dddd" === e ? -1 !== (i = Mt.call(this._weekdaysParse, o)) ? i : -1 !== (i = Mt.call(this._shortWeekdaysParse, o)) ? i : -1 !== (i = Mt.call(this._minWeekdaysParse, o)) ? i : null : "ddd" === e ? -1 !== (i = Mt.call(this._shortWeekdaysParse, o)) ? i : -1 !== (i = Mt.call(this._weekdaysParse, o)) ? i : -1 !== (i = Mt.call(this._minWeekdaysParse, o)) ? i : null : -1 !== (i = Mt.call(this._minWeekdaysParse, o)) ? i : -1 !== (i = Mt.call(this._weekdaysParse, o)) ? i : -1 !== (i = Mt.call(this._shortWeekdaysParse, o)) ? i : null + }.call(this, t, e, n); + for (this._weekdaysParse || (this._weekdaysParse = [], this._minWeekdaysParse = [], this._shortWeekdaysParse = [], this._fullWeekdaysParse = []), r = 0; r < 7; r++) { + if (i = d([2e3, 1]).day(r), n && !this._fullWeekdaysParse[r] && (this._fullWeekdaysParse[r] = new RegExp("^" + this.weekdays(i, "").replace(".", ".?") + "$", "i"), this._shortWeekdaysParse[r] = new RegExp("^" + this.weekdaysShort(i, "").replace(".", ".?") + "$", "i"), this._minWeekdaysParse[r] = new RegExp("^" + this.weekdaysMin(i, "").replace(".", ".?") + "$", "i")), this._weekdaysParse[r] || (a = "^" + this.weekdays(i, "") + "|^" + this.weekdaysShort(i, "") + "|^" + this.weekdaysMin(i, ""), this._weekdaysParse[r] = new RegExp(a.replace(".", ""), "i")), n && "dddd" === e && this._fullWeekdaysParse[r].test(t)) return r; + if (n && "ddd" === e && this._shortWeekdaysParse[r].test(t)) return r; + if (n && "dd" === e && this._minWeekdaysParse[r].test(t)) return r; + if (!n && this._weekdaysParse[r].test(t)) return r + } + }, hn.weekdaysRegex = function(t) { + return this._weekdaysParseExact ? (l(this, "_weekdaysRegex") || Jt.call(this), t ? this._weekdaysStrictRegex : this._weekdaysRegex) : (l(this, "_weekdaysRegex") || (this._weekdaysRegex = Kt), this._weekdaysStrictRegex && t ? this._weekdaysStrictRegex : this._weekdaysRegex) + }, hn.weekdaysShortRegex = function(t) { + return this._weekdaysParseExact ? (l(this, "_weekdaysRegex") || Jt.call(this), t ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex) : (l(this, "_weekdaysShortRegex") || (this._weekdaysShortRegex = Xt), this._weekdaysShortStrictRegex && t ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex) + }, hn.weekdaysMinRegex = function(t) { + return this._weekdaysParseExact ? (l(this, "_weekdaysRegex") || Jt.call(this), t ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex) : (l(this, "_weekdaysMinRegex") || (this._weekdaysMinRegex = Zt), this._weekdaysMinStrictRegex && t ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex) + }, hn.isPM = function(t) { + return "p" === (t + "").toLowerCase().charAt(0) + }, hn.meridiem = function(t, e, n) { + return 11 < t ? n ? "pm" : "PM" : n ? "am" : "AM" + }, ce("en", { + dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, + ordinal: function(t) { + var e = t % 10; + return t + (1 === k(t % 100 / 10) ? "th" : 1 === e ? "st" : 2 === e ? "nd" : 3 === e ? "rd" : "th") + } + }), i.lang = S("moment.lang is deprecated. Use moment.locale instead.", ce), i.langData = S("moment.langData is deprecated. Use moment.localeData instead.", le); + var yn = Math.abs; + + function bn(t, e, n, r) { + var i = Ve(e, n); + return t._milliseconds += r * i._milliseconds, t._days += r * i._days, t._months += r * i._months, t._bubble() + } + + function vn(t) { + return t < 0 ? Math.floor(t) : Math.ceil(t) + } + + function mn(t) { + return 4800 * t / 146097 + } + + function _n(t) { + return 146097 * t / 4800 + } + + function wn(t) { + return function() { + return this.as(t) + } + } + var xn = wn("ms"), + kn = wn("s"), + En = wn("m"), + An = wn("h"), + Sn = wn("d"), + Mn = wn("w"), + Tn = wn("M"), + Dn = wn("y"); + + function Cn(t) { + return function() { + return this.isValid() ? this._data[t] : NaN + } + } + var Nn = Cn("milliseconds"), + In = Cn("seconds"), + Ln = Cn("minutes"), + Bn = Cn("hours"), + On = Cn("days"), + Rn = Cn("months"), + Pn = Cn("years"), + Fn = Math.round, + qn = { + ss: 44, + s: 45, + m: 45, + h: 22, + d: 26, + M: 11 + }, + jn = Math.abs; + + function Un(t) { + return (0 < t) - (t < 0) || +t + } + + function zn() { + if (!this.isValid()) return this.localeData().invalidDate(); + var t, e, n = jn(this._milliseconds) / 1e3, + r = jn(this._days), + i = jn(this._months); + e = x((t = x(n / 60)) / 60), n %= 60, t %= 60; + var a = x(i / 12), + o = i %= 12, + s = r, + u = e, + c = t, + f = n ? n.toFixed(3).replace(/\.?0+$/, "") : "", + l = this.asSeconds(); + if (!l) return "P0D"; + var h = l < 0 ? "-" : "", + d = Un(this._months) !== Un(l) ? "-" : "", + p = Un(this._days) !== Un(l) ? "-" : "", + g = Un(this._milliseconds) !== Un(l) ? "-" : ""; + return h + "P" + (a ? d + a + "Y" : "") + (o ? d + o + "M" : "") + (s ? p + s + "D" : "") + (u || c || f ? "T" : "") + (u ? g + u + "H" : "") + (c ? g + c + "M" : "") + (f ? g + f + "S" : "") + } + var Yn = Le.prototype; + return Yn.isValid = function() { + return this._isValid + }, Yn.abs = function() { + var t = this._data; + return this._milliseconds = yn(this._milliseconds), this._days = yn(this._days), this._months = yn(this._months), t.milliseconds = yn(t.milliseconds), t.seconds = yn(t.seconds), t.minutes = yn(t.minutes), t.hours = yn(t.hours), t.months = yn(t.months), t.years = yn(t.years), this + }, Yn.add = function(t, e) { + return bn(this, t, e, 1) + }, Yn.subtract = function(t, e) { + return bn(this, t, e, -1) + }, Yn.as = function(t) { + if (!this.isValid()) return NaN; + var e, n, r = this._milliseconds; + if ("month" === (t = O(t)) || "year" === t) return e = this._days + r / 864e5, n = this._months + mn(e), "month" === t ? n : n / 12; + switch (e = this._days + Math.round(_n(this._months)), t) { + case "week": + return e / 7 + r / 6048e5; + case "day": + return e + r / 864e5; + case "hour": + return 24 * e + r / 36e5; + case "minute": + return 1440 * e + r / 6e4; + case "second": + return 86400 * e + r / 1e3; + case "millisecond": + return Math.floor(864e5 * e) + r; + default: + throw new Error("Unknown unit " + t) + } + }, Yn.asMilliseconds = xn, Yn.asSeconds = kn, Yn.asMinutes = En, Yn.asHours = An, Yn.asDays = Sn, Yn.asWeeks = Mn, Yn.asMonths = Tn, Yn.asYears = Dn, Yn.valueOf = function() { + return this.isValid() ? this._milliseconds + 864e5 * this._days + this._months % 12 * 2592e6 + 31536e6 * k(this._months / 12) : NaN + }, Yn._bubble = function() { + var t, e, n, r, i, a = this._milliseconds, + o = this._days, + s = this._months, + u = this._data; + return 0 <= a && 0 <= o && 0 <= s || a <= 0 && o <= 0 && s <= 0 || (a += 864e5 * vn(_n(s) + o), s = o = 0), u.milliseconds = a % 1e3, t = x(a / 1e3), u.seconds = t % 60, e = x(t / 60), u.minutes = e % 60, n = x(e / 60), u.hours = n % 24, s += i = x(mn(o += x(n / 24))), o -= vn(_n(i)), r = x(s / 12), s %= 12, u.days = o, u.months = s, u.years = r, this + }, Yn.clone = function() { + return Ve(this) + }, Yn.get = function(t) { + return t = O(t), this.isValid() ? this[t + "s"]() : NaN + }, Yn.milliseconds = Nn, Yn.seconds = In, Yn.minutes = Ln, Yn.hours = Bn, Yn.days = On, Yn.weeks = function() { + return x(this.days() / 7) + }, Yn.months = Rn, Yn.years = Pn, Yn.humanize = function(t) { + if (!this.isValid()) return this.localeData().invalidDate(); + var e, n, r, i, a, o, s, u, c, f, l = this.localeData(), + h = (e = !t, n = l, r = Ve(this).abs(), i = Fn(r.as("s")), a = Fn(r.as("m")), o = Fn(r.as("h")), s = Fn(r.as("d")), u = Fn(r.as("M")), c = Fn(r.as("y")), (f = i <= qn.ss && ["s", i] || i < qn.s && ["ss", i] || a <= 1 && ["m"] || a < qn.m && ["mm", a] || o <= 1 && ["h"] || o < qn.h && ["hh", o] || s <= 1 && ["d"] || s < qn.d && ["dd", s] || u <= 1 && ["M"] || u < qn.M && ["MM", u] || c <= 1 && ["y"] || ["yy", c])[2] = e, f[3] = 0 < +this, f[4] = n, function(t, e, n, r, i) { + return i.relativeTime(e || 1, !!n, t, r) + }.apply(null, f)); + return t && (h = l.pastFuture(+this, h)), l.postformat(h) + }, Yn.toISOString = zn, Yn.toString = zn, Yn.toJSON = zn, Yn.locale = Je, Yn.localeData = tn, Yn.toIsoString = S("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)", zn), Yn.lang = Qe, V("X", 0, 0, "unix"), V("x", 0, 0, "valueOf"), ft("x", at), ft("X", /[+-]?\d+(\.\d{1,3})?/), pt("X", (function(t, e, n) { + n._d = new Date(1e3 * parseFloat(t, 10)) + })), pt("x", (function(t, e, n) { + n._d = new Date(k(t)) + })), i.version = "2.22.1", e = Te, i.fn = fn, i.min = function() { + return Ne("isBefore", [].slice.call(arguments, 0)) + }, i.max = function() { + return Ne("isAfter", [].slice.call(arguments, 0)) + }, i.now = function() { + return Date.now ? Date.now() : +new Date + }, i.utc = d, i.unix = function(t) { + return Te(1e3 * t) + }, i.months = function(t, e) { + return pn(t, e, "months") + }, i.isDate = c, i.locale = ce, i.invalid = y, i.duration = Ve, i.isMoment = w, i.weekdays = function(t, e, n) { + return gn(t, e, n, "weekdays") + }, i.parseZone = function() { + return Te.apply(null, arguments).parseZone() + }, i.localeData = le, i.isDuration = Be, i.monthsShort = function(t, e) { + return pn(t, e, "monthsShort") + }, i.weekdaysMin = function(t, e, n) { + return gn(t, e, n, "weekdaysMin") + }, i.defineLocale = fe, i.updateLocale = function(t, e) { + if (null != e) { + var n, r, i = ie; + null != (r = ue(t)) && (i = r._config), (n = new I(e = N(i, e))).parentLocale = ae[t], ae[t] = n, ce(t) + } else null != ae[t] && (null != ae[t].parentLocale ? ae[t] = ae[t].parentLocale : null != ae[t] && delete ae[t]); + return ae[t] + }, i.locales = function() { + return M(ae) + }, i.weekdaysShort = function(t, e, n) { + return gn(t, e, n, "weekdaysShort") + }, i.normalizeUnits = O, i.relativeTimeRounding = function(t) { + return void 0 === t ? Fn : "function" == typeof t && (Fn = t, !0) + }, i.relativeTimeThreshold = function(t, e) { + return void 0 !== qn[t] && (void 0 === e ? qn[t] : (qn[t] = e, "s" === t && (qn.ss = e - 1), !0)) + }, i.calendarFormat = function(t, e) { + var n = t.diff(e, "days", !0); + return n < -6 ? "sameElse" : n < -1 ? "lastWeek" : n < 0 ? "lastDay" : n < 1 ? "sameDay" : n < 2 ? "nextDay" : n < 7 ? "nextWeek" : "sameElse" + }, i.prototype = fn, i.HTML5_FMT = { + DATETIME_LOCAL: "YYYY-MM-DDTHH:mm", + DATETIME_LOCAL_SECONDS: "YYYY-MM-DDTHH:mm:ss", + DATETIME_LOCAL_MS: "YYYY-MM-DDTHH:mm:ss.SSS", + DATE: "YYYY-MM-DD", + TIME: "HH:mm", + TIME_SECONDS: "HH:mm:ss", + TIME_MS: "HH:mm:ss.SSS", + WEEK: "YYYY-[W]WW", + MONTH: "YYYY-MM" + }, i + }() + }).call(this, n(9)(t)) + }, function(t, e, n) { + var r = n(37), + i = n(93); + t.exports = function(t) { + return null != t && i(t.length) && !r(t) + } + }, function(t, e, n) { + var r = n(293), + i = n(303), + a = n(34), + o = n(6), + s = n(310); + t.exports = function(t) { + return "function" == typeof t ? t : null == t ? a : "object" == typeof t ? o(t) ? i(t[0], t[1]) : r(t) : s(t) + } + }, function(t, e, n) { + var r = n(236); + t.exports = { + Graph: r.Graph, + json: n(338), + alg: n(339), + version: r.version + } + }, function(t, e, n) { + (function(t, r) { + var i = function() { + var t = function(t, e, n, r) { + for (n = n || {}, r = t.length; r--; n[t[r]] = e); + return n + }, + e = [6, 8, 10, 11, 12, 13, 14, 15, 16, 18, 20], + n = [1, 9], + r = [1, 10], + i = [1, 11], + a = [1, 12], + o = [1, 13], + s = [1, 14], + u = [1, 16], + c = [1, 17], + f = { + trace: function() {}, + yy: {}, + symbols_: { + error: 2, + start: 3, + gantt: 4, + document: 5, + EOF: 6, + line: 7, + SPACE: 8, + statement: 9, + NL: 10, + dateFormat: 11, + inclusiveEndDates: 12, + axisFormat: 13, + excludes: 14, + title: 15, + section: 16, + clickStatement: 17, + taskTxt: 18, + taskData: 19, + click: 20, + callbackname: 21, + callbackargs: 22, + href: 23, + clickStatementDebug: 24, + $accept: 0, + $end: 1 + }, + terminals_: { + 2: "error", + 4: "gantt", + 6: "EOF", + 8: "SPACE", + 10: "NL", + 11: "dateFormat", + 12: "inclusiveEndDates", + 13: "axisFormat", + 14: "excludes", + 15: "title", + 16: "section", + 18: "taskTxt", + 19: "taskData", + 20: "click", + 21: "callbackname", + 22: "callbackargs", + 23: "href" + }, + productions_: [0, [3, 3], + [5, 0], + [5, 2], + [7, 2], + [7, 1], + [7, 1], + [7, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 2], + [17, 2], + [17, 3], + [17, 3], + [17, 4], + [17, 3], + [17, 4], + [17, 2], + [24, 2], + [24, 3], + [24, 3], + [24, 4], + [24, 3], + [24, 4], + [24, 2] + ], + performAction: function(t, e, n, r, i, a, o) { + var s = a.length - 1; + switch (i) { + case 1: + return a[s - 1]; + case 2: + this.$ = []; + break; + case 3: + a[s - 1].push(a[s]), this.$ = a[s - 1]; + break; + case 4: + case 5: + this.$ = a[s]; + break; + case 6: + case 7: + this.$ = []; + break; + case 8: + r.setDateFormat(a[s].substr(11)), this.$ = a[s].substr(11); + break; + case 9: + r.enableInclusiveEndDates(), this.$ = a[s].substr(18); + break; + case 10: + r.setAxisFormat(a[s].substr(11)), this.$ = a[s].substr(11); + break; + case 11: + r.setExcludes(a[s].substr(9)), this.$ = a[s].substr(9); + break; + case 12: + r.setTitle(a[s].substr(6)), this.$ = a[s].substr(6); + break; + case 13: + r.addSection(a[s].substr(8)), this.$ = a[s].substr(8); + break; + case 15: + r.addTask(a[s - 1], a[s]), this.$ = "task"; + break; + case 16: + this.$ = a[s - 1], r.setClickEvent(a[s - 1], a[s], null); + break; + case 17: + this.$ = a[s - 2], r.setClickEvent(a[s - 2], a[s - 1], a[s]); + break; + case 18: + this.$ = a[s - 2], r.setClickEvent(a[s - 2], a[s - 1], null), r.setLink(a[s - 2], a[s]); + break; + case 19: + this.$ = a[s - 3], r.setClickEvent(a[s - 3], a[s - 2], a[s - 1]), r.setLink(a[s - 3], a[s]); + break; + case 20: + this.$ = a[s - 2], r.setClickEvent(a[s - 2], a[s], null), r.setLink(a[s - 2], a[s - 1]); + break; + case 21: + this.$ = a[s - 3], r.setClickEvent(a[s - 3], a[s - 1], a[s]), r.setLink(a[s - 3], a[s - 2]); + break; + case 22: + this.$ = a[s - 1], r.setLink(a[s - 1], a[s]); + break; + case 23: + case 29: + this.$ = a[s - 1] + " " + a[s]; + break; + case 24: + case 25: + case 27: + this.$ = a[s - 2] + " " + a[s - 1] + " " + a[s]; + break; + case 26: + case 28: + this.$ = a[s - 3] + " " + a[s - 2] + " " + a[s - 1] + " " + a[s] + } + }, + table: [{ + 3: 1, + 4: [1, 2] + }, { + 1: [3] + }, t(e, [2, 2], { + 5: 3 + }), { + 6: [1, 4], + 7: 5, + 8: [1, 6], + 9: 7, + 10: [1, 8], + 11: n, + 12: r, + 13: i, + 14: a, + 15: o, + 16: s, + 17: 15, + 18: u, + 20: c + }, t(e, [2, 7], { + 1: [2, 1] + }), t(e, [2, 3]), { + 9: 18, + 11: n, + 12: r, + 13: i, + 14: a, + 15: o, + 16: s, + 17: 15, + 18: u, + 20: c + }, t(e, [2, 5]), t(e, [2, 6]), t(e, [2, 8]), t(e, [2, 9]), t(e, [2, 10]), t(e, [2, 11]), t(e, [2, 12]), t(e, [2, 13]), t(e, [2, 14]), { + 19: [1, 19] + }, { + 21: [1, 20], + 23: [1, 21] + }, t(e, [2, 4]), t(e, [2, 15]), t(e, [2, 16], { + 22: [1, 22], + 23: [1, 23] + }), t(e, [2, 22], { + 21: [1, 24] + }), t(e, [2, 17], { + 23: [1, 25] + }), t(e, [2, 18]), t(e, [2, 20], { + 22: [1, 26] + }), t(e, [2, 19]), t(e, [2, 21])], + defaultActions: {}, + parseError: function(t, e) { + if (!e.recoverable) { + var n = new Error(t); + throw n.hash = e, n + } + this.trace(t) + }, + parse: function(t) { + var e = this, + n = [0], + r = [], + i = [null], + a = [], + o = this.table, + s = "", + u = 0, + c = 0, + f = 0, + l = 2, + h = 1, + d = a.slice.call(arguments, 1), + p = Object.create(this.lexer), + g = { + yy: {} + }; + for (var y in this.yy) Object.prototype.hasOwnProperty.call(this.yy, y) && (g.yy[y] = this.yy[y]); + p.setInput(t, g.yy), g.yy.lexer = p, g.yy.parser = this, void 0 === p.yylloc && (p.yylloc = {}); + var b = p.yylloc; + a.push(b); + var v = p.options && p.options.ranges; + + function m() { + var t; + return "number" != typeof(t = r.pop() || p.lex() || h) && (t instanceof Array && (t = (r = t).pop()), t = e.symbols_[t] || t), t + } + "function" == typeof g.yy.parseError ? this.parseError = g.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError; + for (var _, w, x, k, E, A, S, M, T, D = {};;) { + if (x = n[n.length - 1], this.defaultActions[x] ? k = this.defaultActions[x] : (null == _ && (_ = m()), k = o[x] && o[x][_]), void 0 === k || !k.length || !k[0]) { + var C = ""; + for (A in T = [], o[x]) this.terminals_[A] && A > l && T.push("'" + this.terminals_[A] + "'"); + C = p.showPosition ? "Parse error on line " + (u + 1) + ":\n" + p.showPosition() + "\nExpecting " + T.join(", ") + ", got '" + (this.terminals_[_] || _) + "'" : "Parse error on line " + (u + 1) + ": Unexpected " + (_ == h ? "end of input" : "'" + (this.terminals_[_] || _) + "'"), this.parseError(C, { + text: p.match, + token: this.terminals_[_] || _, + line: p.yylineno, + loc: b, + expected: T + }) + } + if (k[0] instanceof Array && k.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + x + ", token: " + _); + switch (k[0]) { + case 1: + n.push(_), i.push(p.yytext), a.push(p.yylloc), n.push(k[1]), _ = null, w ? (_ = w, w = null) : (c = p.yyleng, s = p.yytext, u = p.yylineno, b = p.yylloc, f > 0 && f--); + break; + case 2: + if (S = this.productions_[k[1]][1], D.$ = i[i.length - S], D._$ = { + first_line: a[a.length - (S || 1)].first_line, + last_line: a[a.length - 1].last_line, + first_column: a[a.length - (S || 1)].first_column, + last_column: a[a.length - 1].last_column + }, v && (D._$.range = [a[a.length - (S || 1)].range[0], a[a.length - 1].range[1]]), void 0 !== (E = this.performAction.apply(D, [s, c, u, g.yy, k[1], i, a].concat(d)))) return E; + S && (n = n.slice(0, -1 * S * 2), i = i.slice(0, -1 * S), a = a.slice(0, -1 * S)), n.push(this.productions_[k[1]][0]), i.push(D.$), a.push(D._$), M = o[n[n.length - 2]][n[n.length - 1]], n.push(M); + break; + case 3: + return !0 + } + } + return !0 + } + }, + l = { + EOF: 1, + parseError: function(t, e) { + if (!this.yy.parser) throw new Error(t); + this.yy.parser.parseError(t, e) + }, + setInput: function(t, e) { + return this.yy = e || this.yy || {}, this._input = t, this._more = this._backtrack = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this + }, + input: function() { + var t = this._input[0]; + return this.yytext += t, this.yyleng++, this.offset++, this.match += t, this.matched += t, t.match(/(?:\r\n?|\n).*/g) ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), t + }, + unput: function(t) { + var e = t.length, + n = t.split(/(?:\r\n?|\n)/g); + this._input = t + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - e), this.offset -= e; + var r = this.match.split(/(?:\r\n?|\n)/g); + this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), n.length - 1 && (this.yylineno -= n.length - 1); + var i = this.yylloc.range; + return this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: n ? (n.length === r.length ? this.yylloc.first_column : 0) + r[r.length - n.length].length - n[0].length : this.yylloc.first_column - e + }, this.options.ranges && (this.yylloc.range = [i[0], i[0] + this.yyleng - e]), this.yyleng = this.yytext.length, this + }, + more: function() { + return this._more = !0, this + }, + reject: function() { + return this.options.backtrack_lexer ? (this._backtrack = !0, this) : this.parseError("Lexical error on line " + (this.yylineno + 1) + ". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n" + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }) + }, + less: function(t) { + this.unput(this.match.slice(t)) + }, + pastInput: function() { + var t = this.matched.substr(0, this.matched.length - this.match.length); + return (t.length > 20 ? "..." : "") + t.substr(-20).replace(/\n/g, "") + }, + upcomingInput: function() { + var t = this.match; + return t.length < 20 && (t += this._input.substr(0, 20 - t.length)), (t.substr(0, 20) + (t.length > 20 ? "..." : "")).replace(/\n/g, "") + }, + showPosition: function() { + var t = this.pastInput(), + e = new Array(t.length + 1).join("-"); + return t + this.upcomingInput() + "\n" + e + "^" + }, + test_match: function(t, e) { + var n, r, i; + if (this.options.backtrack_lexer && (i = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }, this.options.ranges && (i.yylloc.range = this.yylloc.range.slice(0))), (r = t[0].match(/(?:\r\n?|\n).*/g)) && (this.yylineno += r.length), this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: r ? r[r.length - 1].length - r[r.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + t[0].length + }, this.yytext += t[0], this.match += t[0], this.matches = t, this.yyleng = this.yytext.length, this.options.ranges && (this.yylloc.range = [this.offset, this.offset += this.yyleng]), this._more = !1, this._backtrack = !1, this._input = this._input.slice(t[0].length), this.matched += t[0], n = this.performAction.call(this, this.yy, this, e, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), n) return n; + if (this._backtrack) { + for (var a in i) this[a] = i[a]; + return !1 + } + return !1 + }, + next: function() { + if (this.done) return this.EOF; + var t, e, n, r; + this._input || (this.done = !0), this._more || (this.yytext = "", this.match = ""); + for (var i = this._currentRules(), a = 0; a < i.length; a++) + if ((n = this._input.match(this.rules[i[a]])) && (!e || n[0].length > e[0].length)) { + if (e = n, r = a, this.options.backtrack_lexer) { + if (!1 !== (t = this.test_match(n, i[a]))) return t; + if (this._backtrack) { + e = !1; + continue + } + return !1 + } + if (!this.options.flex) break + } return e ? !1 !== (t = this.test_match(e, i[r])) && t : "" === this._input ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + ". Unrecognized text.\n" + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }) + }, + lex: function() { + var t = this.next(); + return t || this.lex() + }, + begin: function(t) { + this.conditionStack.push(t) + }, + popState: function() { + return this.conditionStack.length - 1 > 0 ? this.conditionStack.pop() : this.conditionStack[0] + }, + _currentRules: function() { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules + }, + topState: function(t) { + return (t = this.conditionStack.length - 1 - Math.abs(t || 0)) >= 0 ? this.conditionStack[t] : "INITIAL" + }, + pushState: function(t) { + this.begin(t) + }, + stateStackSize: function() { + return this.conditionStack.length + }, + options: { + "case-insensitive": !0 + }, + performAction: function(t, e, n, r) { + switch (n) { + case 0: + return 10; + case 1: + case 2: + case 3: + break; + case 4: + this.begin("href"); + break; + case 5: + this.popState(); + break; + case 6: + return 23; + case 7: + this.begin("callbackname"); + break; + case 8: + this.popState(); + break; + case 9: + this.popState(), this.begin("callbackargs"); + break; + case 10: + return 21; + case 11: + this.popState(); + break; + case 12: + return 22; + case 13: + this.begin("click"); + break; + case 14: + this.popState(); + break; + case 15: + return 20; + case 16: + return 4; + case 17: + return 11; + case 18: + return 12; + case 19: + return 13; + case 20: + return 14; + case 21: + return "date"; + case 22: + return 15; + case 23: + return 16; + case 24: + return 18; + case 25: + return 19; + case 26: + return ":"; + case 27: + return 6; + case 28: + return "INVALID" + } + }, + rules: [/^(?:[\n]+)/i, /^(?:\s+)/i, /^(?:#[^\n]*)/i, /^(?:%[^\n]*)/i, /^(?:href[\s]+["])/i, /^(?:["])/i, /^(?:[^"]*)/i, /^(?:call[\s]+)/i, /^(?:\([\s]*\))/i, /^(?:\()/i, /^(?:[^(]*)/i, /^(?:\))/i, /^(?:[^)]*)/i, /^(?:click[\s]+)/i, /^(?:[\s\n])/i, /^(?:[^\s\n]*)/i, /^(?:gantt\b)/i, /^(?:dateFormat\s[^#\n;]+)/i, /^(?:inclusiveEndDates\b)/i, /^(?:axisFormat\s[^#\n;]+)/i, /^(?:excludes\s[^#\n;]+)/i, /^(?:\d\d\d\d-\d\d-\d\d\b)/i, /^(?:title\s[^#\n;]+)/i, /^(?:section\s[^#:\n;]+)/i, /^(?:[^#:\n;]+)/i, /^(?::[^#\n;]+)/i, /^(?::)/i, /^(?:$)/i, /^(?:.)/i], + conditions: { + callbackargs: { + rules: [11, 12], + inclusive: !1 + }, + callbackname: { + rules: [8, 9, 10], + inclusive: !1 + }, + href: { + rules: [5, 6], + inclusive: !1 + }, + click: { + rules: [14, 15], + inclusive: !1 + }, + INITIAL: { + rules: [0, 1, 2, 3, 4, 7, 13, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], + inclusive: !0 + } + } + }; + + function h() { + this.yy = {} + } + return f.lexer = l, h.prototype = f, f.Parser = h, new h + }(); + e.parser = i, e.Parser = i.Parser, e.parse = function() { + return i.parse.apply(i, arguments) + }, e.main = function(r) { + r[1] || (console.log("Usage: " + r[0] + " FILE"), t.exit(1)); + var i = n(28).readFileSync(n(29).normalize(r[1]), "utf8"); + return e.parser.parse(i) + }, n.c[n.s] === r && e.main(t.argv.slice(1)) + }).call(this, n(7), n(9)(t)) + }, function(t, e, n) { + var r = n(134), + i = n(95), + a = n(23); + t.exports = function(t) { + return a(t) ? r(t) : i(t) + } + }, function(t, e) {}, function(t, e, n) { + (function(t) { + function n(t, e) { + for (var n = 0, r = t.length - 1; r >= 0; r--) { + var i = t[r]; + "." === i ? t.splice(r, 1) : ".." === i ? (t.splice(r, 1), n++) : n && (t.splice(r, 1), n--) + } + if (e) + for (; n--; n) t.unshift(".."); + return t + } + + function r(t, e) { + if (t.filter) return t.filter(e); + for (var n = [], r = 0; r < t.length; r++) e(t[r], r, t) && n.push(t[r]); + return n + } + e.resolve = function() { + for (var e = "", i = !1, a = arguments.length - 1; a >= -1 && !i; a--) { + var o = a >= 0 ? arguments[a] : t.cwd(); + if ("string" != typeof o) throw new TypeError("Arguments to path.resolve must be strings"); + o && (e = o + "/" + e, i = "/" === o.charAt(0)) + } + return (i ? "/" : "") + (e = n(r(e.split("/"), (function(t) { + return !!t + })), !i).join("/")) || "." + }, e.normalize = function(t) { + var a = e.isAbsolute(t), + o = "/" === i(t, -1); + return (t = n(r(t.split("/"), (function(t) { + return !!t + })), !a).join("/")) || a || (t = "."), t && o && (t += "/"), (a ? "/" : "") + t + }, e.isAbsolute = function(t) { + return "/" === t.charAt(0) + }, e.join = function() { + var t = Array.prototype.slice.call(arguments, 0); + return e.normalize(r(t, (function(t, e) { + if ("string" != typeof t) throw new TypeError("Arguments to path.join must be strings"); + return t + })).join("/")) + }, e.relative = function(t, n) { + function r(t) { + for (var e = 0; e < t.length && "" === t[e]; e++); + for (var n = t.length - 1; n >= 0 && "" === t[n]; n--); + return e > n ? [] : t.slice(e, n - e + 1) + } + t = e.resolve(t).substr(1), n = e.resolve(n).substr(1); + for (var i = r(t.split("/")), a = r(n.split("/")), o = Math.min(i.length, a.length), s = o, u = 0; u < o; u++) + if (i[u] !== a[u]) { + s = u; + break + } var c = []; + for (u = s; u < i.length; u++) c.push(".."); + return (c = c.concat(a.slice(s))).join("/") + }, e.sep = "/", e.delimiter = ":", e.dirname = function(t) { + if ("string" != typeof t && (t += ""), 0 === t.length) return "."; + for (var e = t.charCodeAt(0), n = 47 === e, r = -1, i = !0, a = t.length - 1; a >= 1; --a) + if (47 === (e = t.charCodeAt(a))) { + if (!i) { + r = a; + break + } + } else i = !1; + return -1 === r ? n ? "/" : "." : n && 1 === r ? "/" : t.slice(0, r) + }, e.basename = function(t, e) { + var n = function(t) { + "string" != typeof t && (t += ""); + var e, n = 0, + r = -1, + i = !0; + for (e = t.length - 1; e >= 0; --e) + if (47 === t.charCodeAt(e)) { + if (!i) { + n = e + 1; + break + } + } else -1 === r && (i = !1, r = e + 1); + return -1 === r ? "" : t.slice(n, r) + }(t); + return e && n.substr(-1 * e.length) === e && (n = n.substr(0, n.length - e.length)), n + }, e.extname = function(t) { + "string" != typeof t && (t += ""); + for (var e = -1, n = 0, r = -1, i = !0, a = 0, o = t.length - 1; o >= 0; --o) { + var s = t.charCodeAt(o); + if (47 !== s) - 1 === r && (i = !1, r = o + 1), 46 === s ? -1 === e ? e = o : 1 !== a && (a = 1) : -1 !== e && (a = -1); + else if (!i) { + n = o + 1; + break + } + } + return -1 === e || -1 === r || 0 === a || 1 === a && e === r - 1 && e === n + 1 ? "" : t.slice(e, r) + }; + var i = "b" === "ab".substr(-1) ? function(t, e, n) { + return t.substr(e, n) + } : function(t, e, n) { + return e < 0 && (e = t.length + e), t.substr(e, n) + } + }).call(this, n(7)) + }, function(t, e, n) { + var r; + if (!r) try { + r = n(0) + } catch (t) {} + r || (r = window.d3), t.exports = r + }, function(t, e, n) { + var r = n(3).Buffer, + i = n(112).Transform, + a = n(117).StringDecoder; + + function o(t) { + i.call(this), this.hashMode = "string" == typeof t, this.hashMode ? this[t] = this._finalOrDigest : this.final = this._finalOrDigest, this._final && (this.__final = this._final, this._final = null), this._decoder = null, this._encoding = null + } + n(2)(o, i), o.prototype.update = function(t, e, n) { + "string" == typeof t && (t = r.from(t, e)); + var i = this._update(t); + return this.hashMode ? this : (n && (i = this._toString(i, n)), i) + }, o.prototype.setAutoPadding = function() {}, o.prototype.getAuthTag = function() { + throw new Error("trying to get auth tag in unsupported state") + }, o.prototype.setAuthTag = function() { + throw new Error("trying to set auth tag in unsupported state") + }, o.prototype.setAAD = function() { + throw new Error("trying to set aad in unsupported state") + }, o.prototype._transform = function(t, e, n) { + var r; + try { + this.hashMode ? this._update(t) : this.push(this._update(t)) + } catch (t) { + r = t + } finally { + n(r) + } + }, o.prototype._flush = function(t) { + var e; + try { + this.push(this.__final()) + } catch (t) { + e = t + } + t(e) + }, o.prototype._finalOrDigest = function(t) { + var e = this.__final() || r.alloc(0); + return t && (e = this._toString(e, t, !0)), e + }, o.prototype._toString = function(t, e, n) { + if (this._decoder || (this._decoder = new a(e), this._encoding = e), this._encoding !== e) throw new Error("can't switch encodings"); + var r = this._decoder.write(t); + return n && (r += this._decoder.end()), r + }, t.exports = o + }, function(t, e, n) { + var r = n(248), + i = n(253); + t.exports = function(t, e) { + var n = i(t, e); + return r(n) ? n : void 0 + } + }, function(t, e, n) { + var r = n(38), + i = n(249), + a = n(250), + o = "[object Null]", + s = "[object Undefined]", + u = r ? r.toStringTag : void 0; + t.exports = function(t) { + return null == t ? void 0 === t ? s : o : u && u in Object(t) ? i(t) : a(t) + } + }, function(t, e) { + t.exports = function(t) { + return t + } + }, function(t, e, n) { + "use strict"; + var r = n(78), + i = Object.keys || function(t) { + var e = []; + for (var n in t) e.push(n); + return e + }; + t.exports = l; + var a = n(54); + a.inherits = n(2); + var o = n(193), + s = n(116); + a.inherits(l, o); + for (var u = i(s.prototype), c = 0; c < u.length; c++) { + var f = u[c]; + l.prototype[f] || (l.prototype[f] = s.prototype[f]) + } + + function l(t) { + if (!(this instanceof l)) return new l(t); + o.call(this, t), s.call(this, t), t && !1 === t.readable && (this.readable = !1), t && !1 === t.writable && (this.writable = !1), this.allowHalfOpen = !0, t && !1 === t.allowHalfOpen && (this.allowHalfOpen = !1), this.once("end", h) + } + + function h() { + this.allowHalfOpen || this._writableState.ended || r.nextTick(d, this) + } + + function d(t) { + t.end() + } + Object.defineProperty(l.prototype, "writableHighWaterMark", { + enumerable: !1, + get: function() { + return this._writableState.highWaterMark + } + }), Object.defineProperty(l.prototype, "destroyed", { + get: function() { + return void 0 !== this._readableState && void 0 !== this._writableState && (this._readableState.destroyed && this._writableState.destroyed) + }, + set: function(t) { + void 0 !== this._readableState && void 0 !== this._writableState && (this._readableState.destroyed = t, this._writableState.destroyed = t) + } + }), l.prototype._destroy = function(t, e) { + this.push(null), this.end(), r.nextTick(e, t) + } + }, function(t, e) { + t.exports = function(t, e) { + return t === e || t != t && e != e + } + }, function(t, e, n) { + var r = n(33), + i = n(14), + a = "[object AsyncFunction]", + o = "[object Function]", + s = "[object GeneratorFunction]", + u = "[object Proxy]"; + t.exports = function(t) { + if (!i(t)) return !1; + var e = r(t); + return e == o || e == s || e == a || e == u + } + }, function(t, e, n) { + var r = n(18).Symbol; + t.exports = r + }, function(t, e, n) { + (function(t) { + var r = n(18), + i = n(269), + a = e && !e.nodeType && e, + o = a && "object" == typeof t && t && !t.nodeType && t, + s = o && o.exports === a ? r.Buffer : void 0, + u = (s ? s.isBuffer : void 0) || i; + t.exports = u + }).call(this, n(9)(t)) + }, function(t, e, n) { + var r = n(134), + i = n(273), + a = n(23); + t.exports = function(t) { + return a(t) ? r(t, !0) : i(t) + } + }, function(t, e, n) { + var r = n(278), + i = n(90), + a = n(279), + o = n(143), + s = n(280), + u = n(33), + c = n(132), + f = c(r), + l = c(i), + h = c(a), + d = c(o), + p = c(s), + g = u; + (r && "[object DataView]" != g(new r(new ArrayBuffer(1))) || i && "[object Map]" != g(new i) || a && "[object Promise]" != g(a.resolve()) || o && "[object Set]" != g(new o) || s && "[object WeakMap]" != g(new s)) && (g = function(t) { + var e = u(t), + n = "[object Object]" == e ? t.constructor : void 0, + r = n ? c(n) : ""; + if (r) switch (r) { + case f: + return "[object DataView]"; + case l: + return "[object Map]"; + case h: + return "[object Promise]"; + case d: + return "[object Set]"; + case p: + return "[object WeakMap]" + } + return e + }), t.exports = g + }, function(t, e, n) { + var r = n(33), + i = n(20), + a = "[object Symbol]"; + t.exports = function(t) { + return "symbol" == typeof t || i(t) && r(t) == a + } + }, function(t, e, n) { + var r; + try { + r = { + defaults: n(176), + each: n(100), + isFunction: n(37), + isPlainObject: n(180), + pick: n(183), + has: n(106), + range: n(184), + uniqueId: n(185) + } + } catch (t) {} + r || (r = window._), t.exports = r + }, function(t, e, n) { + "use strict"; + (function(e, r) { + var i = 65536, + a = 4294967295; + var o = n(3).Buffer, + s = e.crypto || e.msCrypto; + s && s.getRandomValues ? t.exports = function(t, e) { + if (t > a) throw new RangeError("requested too many random bytes"); + var n = o.allocUnsafe(t); + if (t > 0) + if (t > i) + for (var u = 0; u < t; u += i) s.getRandomValues(n.slice(u, u + i)); + else s.getRandomValues(n); + if ("function" == typeof e) return r.nextTick((function() { + e(null, n) + })); + return n + } : t.exports = function() { + throw new Error("Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11") + } + }).call(this, n(12), n(7)) + }, function(t, e, n) { + var r = n(3).Buffer; + + function i(t, e) { + this._block = r.alloc(t), this._finalSize = e, this._blockSize = t, this._len = 0 + } + i.prototype.update = function(t, e) { + "string" == typeof t && (e = e || "utf8", t = r.from(t, e)); + for (var n = this._block, i = this._blockSize, a = t.length, o = this._len, s = 0; s < a;) { + for (var u = o % i, c = Math.min(a - s, i - u), f = 0; f < c; f++) n[u + f] = t[s + f]; + s += c, (o += c) % i == 0 && this._update(n) + } + return this._len += a, this + }, i.prototype.digest = function(t) { + var e = this._len % this._blockSize; + this._block[e] = 128, this._block.fill(0, e + 1), e >= this._finalSize && (this._update(this._block), this._block.fill(0)); + var n = 8 * this._len; + if (n <= 4294967295) this._block.writeUInt32BE(n, this._blockSize - 4); + else { + var r = (4294967295 & n) >>> 0, + i = (n - r) / 4294967296; + this._block.writeUInt32BE(i, this._blockSize - 8), this._block.writeUInt32BE(r, this._blockSize - 4) + } + this._update(this._block); + var a = this._hash(); + return t ? a.toString(t) : a + }, i.prototype._update = function() { + throw new Error("_update must be implemented by subclass") + }, t.exports = i + }, function(t, e, n) { + (function(t, r) { + var i = function() { + var t = function(t, e, n, r) { + for (n = n || {}, r = t.length; r--; n[t[r]] = e); + return n + }, + e = [1, 13], + n = [1, 16], + r = [1, 14], + i = [1, 15], + a = [1, 17], + o = [1, 18], + s = [1, 20], + u = [1, 21], + c = [1, 22], + f = [6, 8], + l = [1, 31], + h = [1, 32], + d = [1, 33], + p = [1, 34], + g = [1, 35], + y = [1, 36], + b = [6, 8, 14, 20, 28, 31, 32, 33, 34, 35, 36], + v = [6, 8, 12, 14, 20, 24, 28, 31, 32, 33, 34, 35, 36, 52, 53, 54], + m = [28, 52, 53, 54], + _ = [28, 35, 36, 52, 53, 54], + w = [28, 31, 32, 33, 34, 52, 53, 54], + x = [6, 8, 14], + k = [1, 59], + E = { + trace: function() {}, + yy: {}, + symbols_: { + error: 2, + mermaidDoc: 3, + graphConfig: 4, + CLASS_DIAGRAM: 5, + NEWLINE: 6, + statements: 7, + EOF: 8, + statement: 9, + className: 10, + alphaNumToken: 11, + GENERICTYPE: 12, + relationStatement: 13, + LABEL: 14, + classStatement: 15, + methodStatement: 16, + annotationStatement: 17, + clickStatement: 18, + CLASS: 19, + STRUCT_START: 20, + members: 21, + STRUCT_STOP: 22, + ANNOTATION_START: 23, + ANNOTATION_END: 24, + MEMBER: 25, + SEPARATOR: 26, + relation: 27, + STR: 28, + relationType: 29, + lineType: 30, + AGGREGATION: 31, + EXTENSION: 32, + COMPOSITION: 33, + DEPENDENCY: 34, + LINE: 35, + DOTTED_LINE: 36, + CALLBACK: 37, + LINK: 38, + commentToken: 39, + textToken: 40, + graphCodeTokens: 41, + textNoTagsToken: 42, + TAGSTART: 43, + TAGEND: 44, + "==": 45, + "--": 46, + PCT: 47, + DEFAULT: 48, + SPACE: 49, + MINUS: 50, + keywords: 51, + UNICODE_TEXT: 52, + NUM: 53, + ALPHA: 54, + $accept: 0, + $end: 1 + }, + terminals_: { + 2: "error", + 5: "CLASS_DIAGRAM", + 6: "NEWLINE", + 8: "EOF", + 12: "GENERICTYPE", + 14: "LABEL", + 19: "CLASS", + 20: "STRUCT_START", + 22: "STRUCT_STOP", + 23: "ANNOTATION_START", + 24: "ANNOTATION_END", + 25: "MEMBER", + 26: "SEPARATOR", + 28: "STR", + 31: "AGGREGATION", + 32: "EXTENSION", + 33: "COMPOSITION", + 34: "DEPENDENCY", + 35: "LINE", + 36: "DOTTED_LINE", + 37: "CALLBACK", + 38: "LINK", + 41: "graphCodeTokens", + 43: "TAGSTART", + 44: "TAGEND", + 45: "==", + 46: "--", + 47: "PCT", + 48: "DEFAULT", + 49: "SPACE", + 50: "MINUS", + 51: "keywords", + 52: "UNICODE_TEXT", + 53: "NUM", + 54: "ALPHA" + }, + productions_: [0, [3, 1], + [4, 4], + [7, 1], + [7, 2], + [7, 3], + [10, 2], + [10, 1], + [10, 3], + [10, 2], + [9, 1], + [9, 2], + [9, 1], + [9, 1], + [9, 1], + [9, 1], + [15, 2], + [15, 5], + [17, 4], + [21, 1], + [21, 2], + [16, 1], + [16, 2], + [16, 1], + [16, 1], + [13, 3], + [13, 4], + [13, 4], + [13, 5], + [27, 3], + [27, 2], + [27, 2], + [27, 1], + [29, 1], + [29, 1], + [29, 1], + [29, 1], + [30, 1], + [30, 1], + [18, 3], + [18, 4], + [18, 3], + [18, 4], + [39, 1], + [39, 1], + [40, 1], + [40, 1], + [40, 1], + [40, 1], + [40, 1], + [40, 1], + [40, 1], + [42, 1], + [42, 1], + [42, 1], + [42, 1], + [11, 1], + [11, 1], + [11, 1] + ], + performAction: function(t, e, n, r, i, a, o) { + var s = a.length - 1; + switch (i) { + case 6: + this.$ = a[s - 1] + a[s]; + break; + case 7: + this.$ = a[s]; + break; + case 8: + this.$ = a[s - 2] + "~" + a[s - 1] + a[s]; + break; + case 9: + this.$ = a[s - 1] + "~" + a[s]; + break; + case 10: + r.addRelation(a[s]); + break; + case 11: + a[s - 1].title = r.cleanupLabel(a[s]), r.addRelation(a[s - 1]); + break; + case 16: + r.addClass(a[s]); + break; + case 17: + r.addClass(a[s - 3]), r.addMembers(a[s - 3], a[s - 1]); + break; + case 18: + r.addAnnotation(a[s], a[s - 2]); + break; + case 19: + this.$ = [a[s]]; + break; + case 20: + a[s].push(a[s - 1]), this.$ = a[s]; + break; + case 21: + break; + case 22: + r.addMember(a[s - 1], r.cleanupLabel(a[s])); + break; + case 23: + case 24: + break; + case 25: + this.$ = { + id1: a[s - 2], + id2: a[s], + relation: a[s - 1], + relationTitle1: "none", + relationTitle2: "none" + }; + break; + case 26: + this.$ = { + id1: a[s - 3], + id2: a[s], + relation: a[s - 1], + relationTitle1: a[s - 2], + relationTitle2: "none" + }; + break; + case 27: + this.$ = { + id1: a[s - 3], + id2: a[s], + relation: a[s - 2], + relationTitle1: "none", + relationTitle2: a[s - 1] + }; + break; + case 28: + this.$ = { + id1: a[s - 4], + id2: a[s], + relation: a[s - 2], + relationTitle1: a[s - 3], + relationTitle2: a[s - 1] + }; + break; + case 29: + this.$ = { + type1: a[s - 2], + type2: a[s], + lineType: a[s - 1] + }; + break; + case 30: + this.$ = { + type1: "none", + type2: a[s], + lineType: a[s - 1] + }; + break; + case 31: + this.$ = { + type1: a[s - 1], + type2: "none", + lineType: a[s] + }; + break; + case 32: + this.$ = { + type1: "none", + type2: "none", + lineType: a[s] + }; + break; + case 33: + this.$ = r.relationType.AGGREGATION; + break; + case 34: + this.$ = r.relationType.EXTENSION; + break; + case 35: + this.$ = r.relationType.COMPOSITION; + break; + case 36: + this.$ = r.relationType.DEPENDENCY; + break; + case 37: + this.$ = r.lineType.LINE; + break; + case 38: + this.$ = r.lineType.DOTTED_LINE; + break; + case 39: + this.$ = a[s - 2], r.setClickEvent(a[s - 1], a[s], void 0); + break; + case 40: + this.$ = a[s - 3], r.setClickEvent(a[s - 2], a[s - 1], a[s]); + break; + case 41: + this.$ = a[s - 2], r.setLink(a[s - 1], a[s], void 0); + break; + case 42: + this.$ = a[s - 3], r.setLink(a[s - 2], a[s - 1], a[s]) + } + }, + table: [{ + 3: 1, + 4: 2, + 5: [1, 3] + }, { + 1: [3] + }, { + 1: [2, 1] + }, { + 6: [1, 4] + }, { + 7: 5, + 9: 6, + 10: 12, + 11: 19, + 13: 7, + 15: 8, + 16: 9, + 17: 10, + 18: 11, + 19: e, + 23: n, + 25: r, + 26: i, + 37: a, + 38: o, + 52: s, + 53: u, + 54: c + }, { + 8: [1, 23] + }, { + 6: [1, 24], + 8: [2, 3] + }, t(f, [2, 10], { + 14: [1, 25] + }), t(f, [2, 12]), t(f, [2, 13]), t(f, [2, 14]), t(f, [2, 15]), t(f, [2, 21], { + 27: 26, + 29: 29, + 30: 30, + 14: [1, 28], + 28: [1, 27], + 31: l, + 32: h, + 33: d, + 34: p, + 35: g, + 36: y + }), { + 10: 37, + 11: 19, + 52: s, + 53: u, + 54: c + }, t(f, [2, 23]), t(f, [2, 24]), { + 11: 38, + 52: s, + 53: u, + 54: c + }, { + 10: 39, + 11: 19, + 52: s, + 53: u, + 54: c + }, { + 10: 40, + 11: 19, + 52: s, + 53: u, + 54: c + }, t(b, [2, 7], { + 11: 19, + 10: 41, + 12: [1, 42], + 52: s, + 53: u, + 54: c + }), t(v, [2, 56]), t(v, [2, 57]), t(v, [2, 58]), { + 1: [2, 2] + }, { + 7: 43, + 8: [2, 4], + 9: 6, + 10: 12, + 11: 19, + 13: 7, + 15: 8, + 16: 9, + 17: 10, + 18: 11, + 19: e, + 23: n, + 25: r, + 26: i, + 37: a, + 38: o, + 52: s, + 53: u, + 54: c + }, t(f, [2, 11]), { + 10: 44, + 11: 19, + 28: [1, 45], + 52: s, + 53: u, + 54: c + }, { + 27: 46, + 29: 29, + 30: 30, + 31: l, + 32: h, + 33: d, + 34: p, + 35: g, + 36: y + }, t(f, [2, 22]), { + 30: 47, + 35: g, + 36: y + }, t(m, [2, 32], { + 29: 48, + 31: l, + 32: h, + 33: d, + 34: p + }), t(_, [2, 33]), t(_, [2, 34]), t(_, [2, 35]), t(_, [2, 36]), t(w, [2, 37]), t(w, [2, 38]), t(f, [2, 16], { + 20: [1, 49] + }), { + 24: [1, 50] + }, { + 28: [1, 51] + }, { + 28: [1, 52] + }, t(b, [2, 6]), t(b, [2, 9], { + 11: 19, + 10: 53, + 52: s, + 53: u, + 54: c + }), { + 8: [2, 5] + }, t(x, [2, 25]), { + 10: 54, + 11: 19, + 52: s, + 53: u, + 54: c + }, { + 10: 55, + 11: 19, + 28: [1, 56], + 52: s, + 53: u, + 54: c + }, t(m, [2, 31], { + 29: 57, + 31: l, + 32: h, + 33: d, + 34: p + }), t(m, [2, 30]), { + 21: 58, + 25: k + }, { + 10: 60, + 11: 19, + 52: s, + 53: u, + 54: c + }, t(f, [2, 39], { + 28: [1, 61] + }), t(f, [2, 41], { + 28: [1, 62] + }), t(b, [2, 8]), t(x, [2, 27]), t(x, [2, 26]), { + 10: 63, + 11: 19, + 52: s, + 53: u, + 54: c + }, t(m, [2, 29]), { + 22: [1, 64] + }, { + 21: 65, + 22: [2, 19], + 25: k + }, t(f, [2, 18]), t(f, [2, 40]), t(f, [2, 42]), t(x, [2, 28]), t(f, [2, 17]), { + 22: [2, 20] + }], + defaultActions: { + 2: [2, 1], + 23: [2, 2], + 43: [2, 5], + 65: [2, 20] + }, + parseError: function(t, e) { + if (!e.recoverable) { + var n = new Error(t); + throw n.hash = e, n + } + this.trace(t) + }, + parse: function(t) { + var e = this, + n = [0], + r = [], + i = [null], + a = [], + o = this.table, + s = "", + u = 0, + c = 0, + f = 0, + l = 2, + h = 1, + d = a.slice.call(arguments, 1), + p = Object.create(this.lexer), + g = { + yy: {} + }; + for (var y in this.yy) Object.prototype.hasOwnProperty.call(this.yy, y) && (g.yy[y] = this.yy[y]); + p.setInput(t, g.yy), g.yy.lexer = p, g.yy.parser = this, void 0 === p.yylloc && (p.yylloc = {}); + var b = p.yylloc; + a.push(b); + var v = p.options && p.options.ranges; + + function m() { + var t; + return "number" != typeof(t = r.pop() || p.lex() || h) && (t instanceof Array && (t = (r = t).pop()), t = e.symbols_[t] || t), t + } + "function" == typeof g.yy.parseError ? this.parseError = g.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError; + for (var _, w, x, k, E, A, S, M, T, D = {};;) { + if (x = n[n.length - 1], this.defaultActions[x] ? k = this.defaultActions[x] : (null == _ && (_ = m()), k = o[x] && o[x][_]), void 0 === k || !k.length || !k[0]) { + var C = ""; + for (A in T = [], o[x]) this.terminals_[A] && A > l && T.push("'" + this.terminals_[A] + "'"); + C = p.showPosition ? "Parse error on line " + (u + 1) + ":\n" + p.showPosition() + "\nExpecting " + T.join(", ") + ", got '" + (this.terminals_[_] || _) + "'" : "Parse error on line " + (u + 1) + ": Unexpected " + (_ == h ? "end of input" : "'" + (this.terminals_[_] || _) + "'"), this.parseError(C, { + text: p.match, + token: this.terminals_[_] || _, + line: p.yylineno, + loc: b, + expected: T + }) + } + if (k[0] instanceof Array && k.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + x + ", token: " + _); + switch (k[0]) { + case 1: + n.push(_), i.push(p.yytext), a.push(p.yylloc), n.push(k[1]), _ = null, w ? (_ = w, w = null) : (c = p.yyleng, s = p.yytext, u = p.yylineno, b = p.yylloc, f > 0 && f--); + break; + case 2: + if (S = this.productions_[k[1]][1], D.$ = i[i.length - S], D._$ = { + first_line: a[a.length - (S || 1)].first_line, + last_line: a[a.length - 1].last_line, + first_column: a[a.length - (S || 1)].first_column, + last_column: a[a.length - 1].last_column + }, v && (D._$.range = [a[a.length - (S || 1)].range[0], a[a.length - 1].range[1]]), void 0 !== (E = this.performAction.apply(D, [s, c, u, g.yy, k[1], i, a].concat(d)))) return E; + S && (n = n.slice(0, -1 * S * 2), i = i.slice(0, -1 * S), a = a.slice(0, -1 * S)), n.push(this.productions_[k[1]][0]), i.push(D.$), a.push(D._$), M = o[n[n.length - 2]][n[n.length - 1]], n.push(M); + break; + case 3: + return !0 + } + } + return !0 + } + }, + A = { + EOF: 1, + parseError: function(t, e) { + if (!this.yy.parser) throw new Error(t); + this.yy.parser.parseError(t, e) + }, + setInput: function(t, e) { + return this.yy = e || this.yy || {}, this._input = t, this._more = this._backtrack = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this + }, + input: function() { + var t = this._input[0]; + return this.yytext += t, this.yyleng++, this.offset++, this.match += t, this.matched += t, t.match(/(?:\r\n?|\n).*/g) ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), t + }, + unput: function(t) { + var e = t.length, + n = t.split(/(?:\r\n?|\n)/g); + this._input = t + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - e), this.offset -= e; + var r = this.match.split(/(?:\r\n?|\n)/g); + this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), n.length - 1 && (this.yylineno -= n.length - 1); + var i = this.yylloc.range; + return this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: n ? (n.length === r.length ? this.yylloc.first_column : 0) + r[r.length - n.length].length - n[0].length : this.yylloc.first_column - e + }, this.options.ranges && (this.yylloc.range = [i[0], i[0] + this.yyleng - e]), this.yyleng = this.yytext.length, this + }, + more: function() { + return this._more = !0, this + }, + reject: function() { + return this.options.backtrack_lexer ? (this._backtrack = !0, this) : this.parseError("Lexical error on line " + (this.yylineno + 1) + ". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n" + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }) + }, + less: function(t) { + this.unput(this.match.slice(t)) + }, + pastInput: function() { + var t = this.matched.substr(0, this.matched.length - this.match.length); + return (t.length > 20 ? "..." : "") + t.substr(-20).replace(/\n/g, "") + }, + upcomingInput: function() { + var t = this.match; + return t.length < 20 && (t += this._input.substr(0, 20 - t.length)), (t.substr(0, 20) + (t.length > 20 ? "..." : "")).replace(/\n/g, "") + }, + showPosition: function() { + var t = this.pastInput(), + e = new Array(t.length + 1).join("-"); + return t + this.upcomingInput() + "\n" + e + "^" + }, + test_match: function(t, e) { + var n, r, i; + if (this.options.backtrack_lexer && (i = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }, this.options.ranges && (i.yylloc.range = this.yylloc.range.slice(0))), (r = t[0].match(/(?:\r\n?|\n).*/g)) && (this.yylineno += r.length), this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: r ? r[r.length - 1].length - r[r.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + t[0].length + }, this.yytext += t[0], this.match += t[0], this.matches = t, this.yyleng = this.yytext.length, this.options.ranges && (this.yylloc.range = [this.offset, this.offset += this.yyleng]), this._more = !1, this._backtrack = !1, this._input = this._input.slice(t[0].length), this.matched += t[0], n = this.performAction.call(this, this.yy, this, e, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), n) return n; + if (this._backtrack) { + for (var a in i) this[a] = i[a]; + return !1 + } + return !1 + }, + next: function() { + if (this.done) return this.EOF; + var t, e, n, r; + this._input || (this.done = !0), this._more || (this.yytext = "", this.match = ""); + for (var i = this._currentRules(), a = 0; a < i.length; a++) + if ((n = this._input.match(this.rules[i[a]])) && (!e || n[0].length > e[0].length)) { + if (e = n, r = a, this.options.backtrack_lexer) { + if (!1 !== (t = this.test_match(n, i[a]))) return t; + if (this._backtrack) { + e = !1; + continue + } + return !1 + } + if (!this.options.flex) break + } return e ? !1 !== (t = this.test_match(e, i[r])) && t : "" === this._input ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + ". Unrecognized text.\n" + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }) + }, + lex: function() { + var t = this.next(); + return t || this.lex() + }, + begin: function(t) { + this.conditionStack.push(t) + }, + popState: function() { + return this.conditionStack.length - 1 > 0 ? this.conditionStack.pop() : this.conditionStack[0] + }, + _currentRules: function() { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules + }, + topState: function(t) { + return (t = this.conditionStack.length - 1 - Math.abs(t || 0)) >= 0 ? this.conditionStack[t] : "INITIAL" + }, + pushState: function(t) { + this.begin(t) + }, + stateStackSize: function() { + return this.conditionStack.length + }, + options: {}, + performAction: function(t, e, n, r) { + switch (n) { + case 0: + break; + case 1: + return 6; + case 2: + break; + case 3: + return 5; + case 4: + return this.begin("struct"), 20; + case 5: + return "EOF_IN_STRUCT"; + case 6: + return "OPEN_IN_STRUCT"; + case 7: + return this.popState(), 22; + case 8: + break; + case 9: + return "MEMBER"; + case 10: + return 19; + case 11: + return 37; + case 12: + return 38; + case 13: + return 23; + case 14: + return 24; + case 15: + this.begin("generic"); + break; + case 16: + this.popState(); + break; + case 17: + return "GENERICTYPE"; + case 18: + this.begin("string"); + break; + case 19: + this.popState(); + break; + case 20: + return "STR"; + case 21: + case 22: + return 32; + case 23: + case 24: + return 34; + case 25: + return 33; + case 26: + return 31; + case 27: + return 35; + case 28: + return 36; + case 29: + return 14; + case 30: + return 50; + case 31: + return "DOT"; + case 32: + return "PLUS"; + case 33: + return 47; + case 34: + case 35: + return "EQUALS"; + case 36: + return 54; + case 37: + return "PUNCTUATION"; + case 38: + return 53; + case 39: + return 52; + case 40: + return 49; + case 41: + return 8 + } + }, + rules: [/^(?:%%[^\n]*\n*)/, /^(?:\n+)/, /^(?:\s+)/, /^(?:classDiagram\b)/, /^(?:[\{])/, /^(?:$)/, /^(?:[\{])/, /^(?:\})/, /^(?:[\n])/, /^(?:[^\{\}\n]*)/, /^(?:class\b)/, /^(?:callback\b)/, /^(?:link\b)/, /^(?:<<)/, /^(?:>>)/, /^(?:[~])/, /^(?:[~])/, /^(?:[^~]*)/, /^(?:["])/, /^(?:["])/, /^(?:[^"]*)/, /^(?:\s*<\|)/, /^(?:\s*\|>)/, /^(?:\s*>)/, /^(?:\s*<)/, /^(?:\s*\*)/, /^(?:\s*o\b)/, /^(?:--)/, /^(?:\.\.)/, /^(?::[^\n;]+)/, /^(?:-)/, /^(?:\.)/, /^(?:\+)/, /^(?:%)/, /^(?:=)/, /^(?:=)/, /^(?:\w+)/, /^(?:[!"#$%&'*+,-.`?\\\/])/, /^(?:[0-9]+)/, /^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/, /^(?:\s)/, /^(?:$)/], + conditions: { + string: { + rules: [19, 20], + inclusive: !1 + }, + generic: { + rules: [16, 17], + inclusive: !1 + }, + struct: { + rules: [5, 6, 7, 8, 9], + inclusive: !1 + }, + INITIAL: { + rules: [0, 1, 2, 3, 4, 10, 11, 12, 13, 14, 15, 18, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], + inclusive: !0 + } + } + }; + + function S() { + this.yy = {} + } + return E.lexer = A, S.prototype = E, E.Parser = S, new S + }(); + e.parser = i, e.Parser = i.Parser, e.parse = function() { + return i.parse.apply(i, arguments) + }, e.main = function(r) { + r[1] || (console.log("Usage: " + r[0] + " FILE"), t.exit(1)); + var i = n(28).readFileSync(n(29).normalize(r[1]), "utf8"); + return e.parser.parse(i) + }, n.c[n.s] === r && e.main(t.argv.slice(1)) + }).call(this, n(7), n(9)(t)) + }, function(t, e, n) { + (function(t, r) { + var i = function() { + var t = function(t, e, n, r) { + for (n = n || {}, r = t.length; r--; n[t[r]] = e); + return n + }, + e = [1, 2], + n = [1, 3], + r = [1, 4], + i = [2, 4], + a = [1, 9], + o = [1, 11], + s = [1, 13], + u = [1, 14], + c = [1, 15], + f = [1, 16], + l = [1, 21], + h = [1, 17], + d = [1, 18], + p = [1, 19], + g = [1, 20], + y = [1, 22], + b = [1, 4, 5, 13, 14, 16, 18, 19, 21, 22, 23, 24, 25, 28], + v = [1, 4, 5, 11, 12, 13, 14, 16, 18, 19, 21, 22, 23, 24, 25, 28], + m = [4, 5, 13, 14, 16, 18, 19, 21, 22, 23, 24, 25, 28], + _ = { + trace: function() {}, + yy: {}, + symbols_: { + error: 2, + start: 3, + SPACE: 4, + NL: 5, + SD: 6, + document: 7, + line: 8, + statement: 9, + idStatement: 10, + DESCR: 11, + "--\x3e": 12, + HIDE_EMPTY: 13, + scale: 14, + WIDTH: 15, + COMPOSIT_STATE: 16, + STRUCT_START: 17, + STRUCT_STOP: 18, + STATE_DESCR: 19, + AS: 20, + ID: 21, + FORK: 22, + JOIN: 23, + CONCURRENT: 24, + note: 25, + notePosition: 26, + NOTE_TEXT: 27, + EDGE_STATE: 28, + left_of: 29, + right_of: 30, + $accept: 0, + $end: 1 + }, + terminals_: { + 2: "error", + 4: "SPACE", + 5: "NL", + 6: "SD", + 11: "DESCR", + 12: "--\x3e", + 13: "HIDE_EMPTY", + 14: "scale", + 15: "WIDTH", + 16: "COMPOSIT_STATE", + 17: "STRUCT_START", + 18: "STRUCT_STOP", + 19: "STATE_DESCR", + 20: "AS", + 21: "ID", + 22: "FORK", + 23: "JOIN", + 24: "CONCURRENT", + 25: "note", + 27: "NOTE_TEXT", + 28: "EDGE_STATE", + 29: "left_of", + 30: "right_of" + }, + productions_: [0, [3, 2], + [3, 2], + [3, 2], + [7, 0], + [7, 2], + [8, 2], + [8, 1], + [8, 1], + [9, 1], + [9, 2], + [9, 3], + [9, 4], + [9, 1], + [9, 2], + [9, 1], + [9, 4], + [9, 3], + [9, 6], + [9, 1], + [9, 1], + [9, 1], + [9, 4], + [9, 4], + [10, 1], + [10, 1], + [26, 1], + [26, 1] + ], + performAction: function(t, e, n, r, i, a, o) { + var s = a.length - 1; + switch (i) { + case 3: + return r.setRootDoc(a[s]), a[s]; + case 4: + this.$ = []; + break; + case 5: + "nl" != a[s] && (a[s - 1].push(a[s]), this.$ = a[s - 1]); + break; + case 6: + case 7: + this.$ = a[s]; + break; + case 8: + this.$ = "nl"; + break; + case 9: + this.$ = { + stmt: "state", + id: a[s], + type: "default", + description: "" + }; + break; + case 10: + this.$ = { + stmt: "state", + id: a[s - 1], + type: "default", + description: a[s].trim() + }; + break; + case 11: + this.$ = { + stmt: "relation", + state1: { + stmt: "state", + id: a[s - 2], + type: "default", + description: "" + }, + state2: { + stmt: "state", + id: a[s], + type: "default", + description: "" + } + }; + break; + case 12: + this.$ = { + stmt: "relation", + state1: { + stmt: "state", + id: a[s - 3], + type: "default", + description: "" + }, + state2: { + stmt: "state", + id: a[s - 1], + type: "default", + description: "" + }, + description: a[s].substr(1).trim() + }; + break; + case 16: + this.$ = { + stmt: "state", + id: a[s - 3], + type: "default", + description: "", + doc: a[s - 1] + }; + break; + case 17: + var u = a[s], + c = a[s - 2].trim(); + if (a[s].match(":")) { + var f = a[s].split(":"); + u = f[0], c = [c, f[1]] + } + this.$ = { + stmt: "state", + id: u, + type: "default", + description: c + }; + break; + case 18: + this.$ = { + stmt: "state", + id: a[s - 3], + type: "default", + description: a[s - 5], + doc: a[s - 1] + }; + break; + case 19: + this.$ = { + stmt: "state", + id: a[s], + type: "fork" + }; + break; + case 20: + this.$ = { + stmt: "state", + id: a[s], + type: "join" + }; + break; + case 21: + this.$ = { + stmt: "state", + id: r.getDividerId(), + type: "divider" + }; + break; + case 22: + this.$ = { + stmt: "state", + id: a[s - 1].trim(), + note: { + position: a[s - 2].trim(), + text: a[s].trim() + } + }; + break; + case 24: + case 25: + this.$ = a[s] + } + }, + table: [{ + 3: 1, + 4: e, + 5: n, + 6: r + }, { + 1: [3] + }, { + 3: 5, + 4: e, + 5: n, + 6: r + }, { + 3: 6, + 4: e, + 5: n, + 6: r + }, t([1, 4, 5, 13, 14, 16, 19, 21, 22, 23, 24, 25, 28], i, { + 7: 7 + }), { + 1: [2, 1] + }, { + 1: [2, 2] + }, { + 1: [2, 3], + 4: a, + 5: o, + 8: 8, + 9: 10, + 10: 12, + 13: s, + 14: u, + 16: c, + 19: f, + 21: l, + 22: h, + 23: d, + 24: p, + 25: g, + 28: y + }, t(b, [2, 5]), { + 9: 23, + 10: 12, + 13: s, + 14: u, + 16: c, + 19: f, + 21: l, + 22: h, + 23: d, + 24: p, + 25: g, + 28: y + }, t(b, [2, 7]), t(b, [2, 8]), t(b, [2, 9], { + 11: [1, 24], + 12: [1, 25] + }), t(b, [2, 13]), { + 15: [1, 26] + }, t(b, [2, 15], { + 17: [1, 27] + }), { + 20: [1, 28] + }, t(b, [2, 19]), t(b, [2, 20]), t(b, [2, 21]), { + 26: 29, + 27: [1, 30], + 29: [1, 31], + 30: [1, 32] + }, t(v, [2, 24]), t(v, [2, 25]), t(b, [2, 6]), t(b, [2, 10]), { + 10: 33, + 21: l, + 28: y + }, t(b, [2, 14]), t(m, i, { + 7: 34 + }), { + 21: [1, 35] + }, { + 21: [1, 36] + }, { + 20: [1, 37] + }, { + 21: [2, 26] + }, { + 21: [2, 27] + }, t(b, [2, 11], { + 11: [1, 38] + }), { + 4: a, + 5: o, + 8: 8, + 9: 10, + 10: 12, + 13: s, + 14: u, + 16: c, + 18: [1, 39], + 19: f, + 21: l, + 22: h, + 23: d, + 24: p, + 25: g, + 28: y + }, t(b, [2, 17], { + 17: [1, 40] + }), { + 27: [1, 41] + }, { + 21: [1, 42] + }, t(b, [2, 12]), t(b, [2, 16]), t(m, i, { + 7: 43 + }), t(b, [2, 22]), t(b, [2, 23]), { + 4: a, + 5: o, + 8: 8, + 9: 10, + 10: 12, + 13: s, + 14: u, + 16: c, + 18: [1, 44], + 19: f, + 21: l, + 22: h, + 23: d, + 24: p, + 25: g, + 28: y + }, t(b, [2, 18])], + defaultActions: { + 5: [2, 1], + 6: [2, 2], + 31: [2, 26], + 32: [2, 27] + }, + parseError: function(t, e) { + if (!e.recoverable) { + var n = new Error(t); + throw n.hash = e, n + } + this.trace(t) + }, + parse: function(t) { + var e = this, + n = [0], + r = [], + i = [null], + a = [], + o = this.table, + s = "", + u = 0, + c = 0, + f = 0, + l = 2, + h = 1, + d = a.slice.call(arguments, 1), + p = Object.create(this.lexer), + g = { + yy: {} + }; + for (var y in this.yy) Object.prototype.hasOwnProperty.call(this.yy, y) && (g.yy[y] = this.yy[y]); + p.setInput(t, g.yy), g.yy.lexer = p, g.yy.parser = this, void 0 === p.yylloc && (p.yylloc = {}); + var b = p.yylloc; + a.push(b); + var v = p.options && p.options.ranges; + + function m() { + var t; + return "number" != typeof(t = r.pop() || p.lex() || h) && (t instanceof Array && (t = (r = t).pop()), t = e.symbols_[t] || t), t + } + "function" == typeof g.yy.parseError ? this.parseError = g.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError; + for (var _, w, x, k, E, A, S, M, T, D = {};;) { + if (x = n[n.length - 1], this.defaultActions[x] ? k = this.defaultActions[x] : (null == _ && (_ = m()), k = o[x] && o[x][_]), void 0 === k || !k.length || !k[0]) { + var C = ""; + for (A in T = [], o[x]) this.terminals_[A] && A > l && T.push("'" + this.terminals_[A] + "'"); + C = p.showPosition ? "Parse error on line " + (u + 1) + ":\n" + p.showPosition() + "\nExpecting " + T.join(", ") + ", got '" + (this.terminals_[_] || _) + "'" : "Parse error on line " + (u + 1) + ": Unexpected " + (_ == h ? "end of input" : "'" + (this.terminals_[_] || _) + "'"), this.parseError(C, { + text: p.match, + token: this.terminals_[_] || _, + line: p.yylineno, + loc: b, + expected: T + }) + } + if (k[0] instanceof Array && k.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + x + ", token: " + _); + switch (k[0]) { + case 1: + n.push(_), i.push(p.yytext), a.push(p.yylloc), n.push(k[1]), _ = null, w ? (_ = w, w = null) : (c = p.yyleng, s = p.yytext, u = p.yylineno, b = p.yylloc, f > 0 && f--); + break; + case 2: + if (S = this.productions_[k[1]][1], D.$ = i[i.length - S], D._$ = { + first_line: a[a.length - (S || 1)].first_line, + last_line: a[a.length - 1].last_line, + first_column: a[a.length - (S || 1)].first_column, + last_column: a[a.length - 1].last_column + }, v && (D._$.range = [a[a.length - (S || 1)].range[0], a[a.length - 1].range[1]]), void 0 !== (E = this.performAction.apply(D, [s, c, u, g.yy, k[1], i, a].concat(d)))) return E; + S && (n = n.slice(0, -1 * S * 2), i = i.slice(0, -1 * S), a = a.slice(0, -1 * S)), n.push(this.productions_[k[1]][0]), i.push(D.$), a.push(D._$), M = o[n[n.length - 2]][n[n.length - 1]], n.push(M); + break; + case 3: + return !0 + } + } + return !0 + } + }, + w = { + EOF: 1, + parseError: function(t, e) { + if (!this.yy.parser) throw new Error(t); + this.yy.parser.parseError(t, e) + }, + setInput: function(t, e) { + return this.yy = e || this.yy || {}, this._input = t, this._more = this._backtrack = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this + }, + input: function() { + var t = this._input[0]; + return this.yytext += t, this.yyleng++, this.offset++, this.match += t, this.matched += t, t.match(/(?:\r\n?|\n).*/g) ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), t + }, + unput: function(t) { + var e = t.length, + n = t.split(/(?:\r\n?|\n)/g); + this._input = t + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - e), this.offset -= e; + var r = this.match.split(/(?:\r\n?|\n)/g); + this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), n.length - 1 && (this.yylineno -= n.length - 1); + var i = this.yylloc.range; + return this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: n ? (n.length === r.length ? this.yylloc.first_column : 0) + r[r.length - n.length].length - n[0].length : this.yylloc.first_column - e + }, this.options.ranges && (this.yylloc.range = [i[0], i[0] + this.yyleng - e]), this.yyleng = this.yytext.length, this + }, + more: function() { + return this._more = !0, this + }, + reject: function() { + return this.options.backtrack_lexer ? (this._backtrack = !0, this) : this.parseError("Lexical error on line " + (this.yylineno + 1) + ". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n" + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }) + }, + less: function(t) { + this.unput(this.match.slice(t)) + }, + pastInput: function() { + var t = this.matched.substr(0, this.matched.length - this.match.length); + return (t.length > 20 ? "..." : "") + t.substr(-20).replace(/\n/g, "") + }, + upcomingInput: function() { + var t = this.match; + return t.length < 20 && (t += this._input.substr(0, 20 - t.length)), (t.substr(0, 20) + (t.length > 20 ? "..." : "")).replace(/\n/g, "") + }, + showPosition: function() { + var t = this.pastInput(), + e = new Array(t.length + 1).join("-"); + return t + this.upcomingInput() + "\n" + e + "^" + }, + test_match: function(t, e) { + var n, r, i; + if (this.options.backtrack_lexer && (i = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }, this.options.ranges && (i.yylloc.range = this.yylloc.range.slice(0))), (r = t[0].match(/(?:\r\n?|\n).*/g)) && (this.yylineno += r.length), this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: r ? r[r.length - 1].length - r[r.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + t[0].length + }, this.yytext += t[0], this.match += t[0], this.matches = t, this.yyleng = this.yytext.length, this.options.ranges && (this.yylloc.range = [this.offset, this.offset += this.yyleng]), this._more = !1, this._backtrack = !1, this._input = this._input.slice(t[0].length), this.matched += t[0], n = this.performAction.call(this, this.yy, this, e, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), n) return n; + if (this._backtrack) { + for (var a in i) this[a] = i[a]; + return !1 + } + return !1 + }, + next: function() { + if (this.done) return this.EOF; + var t, e, n, r; + this._input || (this.done = !0), this._more || (this.yytext = "", this.match = ""); + for (var i = this._currentRules(), a = 0; a < i.length; a++) + if ((n = this._input.match(this.rules[i[a]])) && (!e || n[0].length > e[0].length)) { + if (e = n, r = a, this.options.backtrack_lexer) { + if (!1 !== (t = this.test_match(n, i[a]))) return t; + if (this._backtrack) { + e = !1; + continue + } + return !1 + } + if (!this.options.flex) break + } return e ? !1 !== (t = this.test_match(e, i[r])) && t : "" === this._input ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + ". Unrecognized text.\n" + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }) + }, + lex: function() { + var t = this.next(); + return t || this.lex() + }, + begin: function(t) { + this.conditionStack.push(t) + }, + popState: function() { + return this.conditionStack.length - 1 > 0 ? this.conditionStack.pop() : this.conditionStack[0] + }, + _currentRules: function() { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules + }, + topState: function(t) { + return (t = this.conditionStack.length - 1 - Math.abs(t || 0)) >= 0 ? this.conditionStack[t] : "INITIAL" + }, + pushState: function(t) { + this.begin(t) + }, + stateStackSize: function() { + return this.conditionStack.length + }, + options: { + "case-insensitive": !0 + }, + performAction: function(t, e, n, r) { + switch (n) { + case 0: + return 5; + case 1: + case 2: + case 3: + case 4: + break; + case 5: + return this.pushState("SCALE"), 14; + case 6: + return 15; + case 7: + this.popState(); + break; + case 8: + this.pushState("STATE"); + break; + case 9: + return this.popState(), e.yytext = e.yytext.slice(0, -8).trim(), 22; + case 10: + return this.popState(), e.yytext = e.yytext.slice(0, -8).trim(), 23; + case 11: + return this.popState(), e.yytext = e.yytext.slice(0, -8).trim(), 22; + case 12: + return this.popState(), e.yytext = e.yytext.slice(0, -8).trim(), 23; + case 13: + this.begin("STATE_STRING"); + break; + case 14: + return this.popState(), this.pushState("STATE_ID"), "AS"; + case 15: + return this.popState(), "ID"; + case 16: + this.popState(); + break; + case 17: + return "STATE_DESCR"; + case 18: + return 16; + case 19: + this.popState(); + break; + case 20: + return this.popState(), this.pushState("struct"), 17; + case 21: + return this.popState(), 18; + case 22: + break; + case 23: + return this.begin("NOTE"), 25; + case 24: + return this.popState(), this.pushState("NOTE_ID"), 29; + case 25: + return this.popState(), this.pushState("NOTE_ID"), 30; + case 26: + this.popState(), this.pushState("FLOATING_NOTE"); + break; + case 27: + return this.popState(), this.pushState("FLOATING_NOTE_ID"), "AS"; + case 28: + break; + case 29: + return "NOTE_TEXT"; + case 30: + return this.popState(), "ID"; + case 31: + return this.popState(), this.pushState("NOTE_TEXT"), 21; + case 32: + return this.popState(), e.yytext = e.yytext.substr(2).trim(), 27; + case 33: + return this.popState(), e.yytext = e.yytext.slice(0, -8).trim(), 27; + case 34: + return 6; + case 35: + return 13; + case 36: + return 28; + case 37: + return 21; + case 38: + return e.yytext = e.yytext.trim(), 11; + case 39: + return 12; + case 40: + return 24; + case 41: + return 5; + case 42: + return "INVALID" + } + }, + rules: [/^(?:[\n]+)/i, /^(?:\s+)/i, /^(?:((?!\n)\s)+)/i, /^(?:#[^\n]*)/i, /^(?:%[^\n]*)/i, /^(?:scale\s+)/i, /^(?:\d+)/i, /^(?:\s+width\b)/i, /^(?:state\s+)/i, /^(?:.*<<fork>>)/i, /^(?:.*<<join>>)/i, /^(?:.*\[\[fork\]\])/i, /^(?:.*\[\[join\]\])/i, /^(?:["])/i, /^(?:as\s*)/i, /^(?:[^\n\{]*)/i, /^(?:["])/i, /^(?:[^"]*)/i, /^(?:[^\n\s\{]+)/i, /^(?:\n)/i, /^(?:\{)/i, /^(?:\})/i, /^(?:[\n])/i, /^(?:note\s+)/i, /^(?:left of\b)/i, /^(?:right of\b)/i, /^(?:")/i, /^(?:\s*as\s*)/i, /^(?:["])/i, /^(?:[^"]*)/i, /^(?:[^\n]*)/i, /^(?:\s*[^:\n\s\-]+)/i, /^(?:\s*:[^:\n;]+)/i, /^(?:\s*[^:;]+end note\b)/i, /^(?:stateDiagram\s+)/i, /^(?:hide empty description\b)/i, /^(?:\[\*\])/i, /^(?:[^:\n\s\-\{]+)/i, /^(?:\s*:[^:\n;]+)/i, /^(?:-->)/i, /^(?:--)/i, /^(?:$)/i, /^(?:.)/i], + conditions: { + LINE: { + rules: [2, 3], + inclusive: !1 + }, + struct: { + rules: [2, 3, 8, 21, 22, 23, 36, 37, 38, 39, 40], + inclusive: !1 + }, + FLOATING_NOTE_ID: { + rules: [30], + inclusive: !1 + }, + FLOATING_NOTE: { + rules: [27, 28, 29], + inclusive: !1 + }, + NOTE_TEXT: { + rules: [32, 33], + inclusive: !1 + }, + NOTE_ID: { + rules: [31], + inclusive: !1 + }, + NOTE: { + rules: [24, 25, 26], + inclusive: !1 + }, + SCALE: { + rules: [6, 7], + inclusive: !1 + }, + ALIAS: { + rules: [], + inclusive: !1 + }, + STATE_ID: { + rules: [15], + inclusive: !1 + }, + STATE_STRING: { + rules: [16, 17], + inclusive: !1 + }, + FORK_STATE: { + rules: [], + inclusive: !1 + }, + STATE: { + rules: [2, 3, 9, 10, 11, 12, 13, 14, 18, 19, 20], + inclusive: !1 + }, + ID: { + rules: [2, 3], + inclusive: !1 + }, + INITIAL: { + rules: [0, 1, 3, 4, 5, 8, 20, 23, 34, 35, 36, 37, 38, 39, 41, 42], + inclusive: !0 + } + } + }; + + function x() { + this.yy = {} + } + return _.lexer = w, x.prototype = _, _.Parser = x, new x + }(); + e.parser = i, e.Parser = i.Parser, e.parse = function() { + return i.parse.apply(i, arguments) + }, e.main = function(r) { + r[1] || (console.log("Usage: " + r[0] + " FILE"), t.exit(1)); + var i = n(28).readFileSync(n(29).normalize(r[1]), "utf8"); + return e.parser.parse(i) + }, n.c[n.s] === r && e.main(t.argv.slice(1)) + }).call(this, n(7), n(9)(t)) + }, function(t, e, n) { + (function(t, n) { + (function() { + var r, i = 200, + a = "Unsupported core-js use. Try https://npms.io/search?q=ponyfill.", + o = "Expected a function", + s = "__lodash_hash_undefined__", + u = 500, + c = "__lodash_placeholder__", + f = 1, + l = 2, + h = 4, + d = 1, + p = 2, + g = 1, + y = 2, + b = 4, + v = 8, + m = 16, + _ = 32, + w = 64, + x = 128, + k = 256, + E = 512, + A = 30, + S = "...", + M = 800, + T = 16, + D = 1, + C = 2, + N = 1 / 0, + I = 9007199254740991, + L = 17976931348623157e292, + B = NaN, + O = 4294967295, + R = O - 1, + P = O >>> 1, + F = [ + ["ary", x], + ["bind", g], + ["bindKey", y], + ["curry", v], + ["curryRight", m], + ["flip", E], + ["partial", _], + ["partialRight", w], + ["rearg", k] + ], + q = "[object Arguments]", + j = "[object Array]", + U = "[object AsyncFunction]", + z = "[object Boolean]", + Y = "[object Date]", + V = "[object DOMException]", + H = "[object Error]", + G = "[object Function]", + $ = "[object GeneratorFunction]", + W = "[object Map]", + K = "[object Number]", + X = "[object Null]", + Z = "[object Object]", + J = "[object Proxy]", + Q = "[object RegExp]", + tt = "[object Set]", + et = "[object String]", + nt = "[object Symbol]", + rt = "[object Undefined]", + it = "[object WeakMap]", + at = "[object WeakSet]", + ot = "[object ArrayBuffer]", + st = "[object DataView]", + ut = "[object Float32Array]", + ct = "[object Float64Array]", + ft = "[object Int8Array]", + lt = "[object Int16Array]", + ht = "[object Int32Array]", + dt = "[object Uint8Array]", + pt = "[object Uint8ClampedArray]", + gt = "[object Uint16Array]", + yt = "[object Uint32Array]", + bt = /\b__p \+= '';/g, + vt = /\b(__p \+=) '' \+/g, + mt = /(__e\(.*?\)|\b__t\)) \+\n'';/g, + _t = /&(?:amp|lt|gt|quot|#39);/g, + wt = /[&<>"']/g, + xt = RegExp(_t.source), + kt = RegExp(wt.source), + Et = /<%-([\s\S]+?)%>/g, + At = /<%([\s\S]+?)%>/g, + St = /<%=([\s\S]+?)%>/g, + Mt = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + Tt = /^\w*$/, + Dt = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, + Ct = /[\\^$.*+?()[\]{}|]/g, + Nt = RegExp(Ct.source), + It = /^\s+|\s+$/g, + Lt = /^\s+/, + Bt = /\s+$/, + Ot = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/, + Rt = /\{\n\/\* \[wrapped with (.+)\] \*/, + Pt = /,? & /, + Ft = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g, + qt = /\\(\\)?/g, + jt = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g, + Ut = /\w*$/, + zt = /^[-+]0x[0-9a-f]+$/i, + Yt = /^0b[01]+$/i, + Vt = /^\[object .+?Constructor\]$/, + Ht = /^0o[0-7]+$/i, + Gt = /^(?:0|[1-9]\d*)$/, + $t = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g, + Wt = /($^)/, + Kt = /['\n\r\u2028\u2029\\]/g, + Xt = "\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff", + Zt = "\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000", + Jt = "[\\ud800-\\udfff]", + Qt = "[" + Zt + "]", + te = "[" + Xt + "]", + ee = "\\d+", + ne = "[\\u2700-\\u27bf]", + re = "[a-z\\xdf-\\xf6\\xf8-\\xff]", + ie = "[^\\ud800-\\udfff" + Zt + ee + "\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]", + ae = "\\ud83c[\\udffb-\\udfff]", + oe = "[^\\ud800-\\udfff]", + se = "(?:\\ud83c[\\udde6-\\uddff]){2}", + ue = "[\\ud800-\\udbff][\\udc00-\\udfff]", + ce = "[A-Z\\xc0-\\xd6\\xd8-\\xde]", + fe = "(?:" + re + "|" + ie + ")", + le = "(?:" + ce + "|" + ie + ")", + he = "(?:" + te + "|" + ae + ")" + "?", + de = "[\\ufe0e\\ufe0f]?" + he + ("(?:\\u200d(?:" + [oe, se, ue].join("|") + ")[\\ufe0e\\ufe0f]?" + he + ")*"), + pe = "(?:" + [ne, se, ue].join("|") + ")" + de, + ge = "(?:" + [oe + te + "?", te, se, ue, Jt].join("|") + ")", + ye = RegExp("['’]", "g"), + be = RegExp(te, "g"), + ve = RegExp(ae + "(?=" + ae + ")|" + ge + de, "g"), + me = RegExp([ce + "?" + re + "+(?:['’](?:d|ll|m|re|s|t|ve))?(?=" + [Qt, ce, "$"].join("|") + ")", le + "+(?:['’](?:D|LL|M|RE|S|T|VE))?(?=" + [Qt, ce + fe, "$"].join("|") + ")", ce + "?" + fe + "+(?:['’](?:d|ll|m|re|s|t|ve))?", ce + "+(?:['’](?:D|LL|M|RE|S|T|VE))?", "\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])", "\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])", ee, pe].join("|"), "g"), + _e = RegExp("[\\u200d\\ud800-\\udfff" + Xt + "\\ufe0e\\ufe0f]"), + we = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/, + xe = ["Array", "Buffer", "DataView", "Date", "Error", "Float32Array", "Float64Array", "Function", "Int8Array", "Int16Array", "Int32Array", "Map", "Math", "Object", "Promise", "RegExp", "Set", "String", "Symbol", "TypeError", "Uint8Array", "Uint8ClampedArray", "Uint16Array", "Uint32Array", "WeakMap", "_", "clearTimeout", "isFinite", "parseInt", "setTimeout"], + ke = -1, + Ee = {}; + Ee[ut] = Ee[ct] = Ee[ft] = Ee[lt] = Ee[ht] = Ee[dt] = Ee[pt] = Ee[gt] = Ee[yt] = !0, Ee[q] = Ee[j] = Ee[ot] = Ee[z] = Ee[st] = Ee[Y] = Ee[H] = Ee[G] = Ee[W] = Ee[K] = Ee[Z] = Ee[Q] = Ee[tt] = Ee[et] = Ee[it] = !1; + var Ae = {}; + Ae[q] = Ae[j] = Ae[ot] = Ae[st] = Ae[z] = Ae[Y] = Ae[ut] = Ae[ct] = Ae[ft] = Ae[lt] = Ae[ht] = Ae[W] = Ae[K] = Ae[Z] = Ae[Q] = Ae[tt] = Ae[et] = Ae[nt] = Ae[dt] = Ae[pt] = Ae[gt] = Ae[yt] = !0, Ae[H] = Ae[G] = Ae[it] = !1; + var Se = { + "\\": "\\", + "'": "'", + "\n": "n", + "\r": "r", + "\u2028": "u2028", + "\u2029": "u2029" + }, + Me = parseFloat, + Te = parseInt, + De = "object" == typeof t && t && t.Object === Object && t, + Ce = "object" == typeof self && self && self.Object === Object && self, + Ne = De || Ce || Function("return this")(), + Ie = e && !e.nodeType && e, + Le = Ie && "object" == typeof n && n && !n.nodeType && n, + Be = Le && Le.exports === Ie, + Oe = Be && De.process, + Re = function() { + try { + var t = Le && Le.require && Le.require("util").types; + return t || Oe && Oe.binding && Oe.binding("util") + } catch (t) {} + }(), + Pe = Re && Re.isArrayBuffer, + Fe = Re && Re.isDate, + qe = Re && Re.isMap, + je = Re && Re.isRegExp, + Ue = Re && Re.isSet, + ze = Re && Re.isTypedArray; + + function Ye(t, e, n) { + switch (n.length) { + case 0: + return t.call(e); + case 1: + return t.call(e, n[0]); + case 2: + return t.call(e, n[0], n[1]); + case 3: + return t.call(e, n[0], n[1], n[2]) + } + return t.apply(e, n) + } + + function Ve(t, e, n, r) { + for (var i = -1, a = null == t ? 0 : t.length; ++i < a;) { + var o = t[i]; + e(r, o, n(o), t) + } + return r + } + + function He(t, e) { + for (var n = -1, r = null == t ? 0 : t.length; ++n < r && !1 !== e(t[n], n, t);); + return t + } + + function Ge(t, e) { + for (var n = null == t ? 0 : t.length; n-- && !1 !== e(t[n], n, t);); + return t + } + + function $e(t, e) { + for (var n = -1, r = null == t ? 0 : t.length; ++n < r;) + if (!e(t[n], n, t)) return !1; + return !0 + } + + function We(t, e) { + for (var n = -1, r = null == t ? 0 : t.length, i = 0, a = []; ++n < r;) { + var o = t[n]; + e(o, n, t) && (a[i++] = o) + } + return a + } + + function Ke(t, e) { + return !!(null == t ? 0 : t.length) && on(t, e, 0) > -1 + } + + function Xe(t, e, n) { + for (var r = -1, i = null == t ? 0 : t.length; ++r < i;) + if (n(e, t[r])) return !0; + return !1 + } + + function Ze(t, e) { + for (var n = -1, r = null == t ? 0 : t.length, i = Array(r); ++n < r;) i[n] = e(t[n], n, t); + return i + } + + function Je(t, e) { + for (var n = -1, r = e.length, i = t.length; ++n < r;) t[i + n] = e[n]; + return t + } + + function Qe(t, e, n, r) { + var i = -1, + a = null == t ? 0 : t.length; + for (r && a && (n = t[++i]); ++i < a;) n = e(n, t[i], i, t); + return n + } + + function tn(t, e, n, r) { + var i = null == t ? 0 : t.length; + for (r && i && (n = t[--i]); i--;) n = e(n, t[i], i, t); + return n + } + + function en(t, e) { + for (var n = -1, r = null == t ? 0 : t.length; ++n < r;) + if (e(t[n], n, t)) return !0; + return !1 + } + var nn = fn("length"); + + function rn(t, e, n) { + var r; + return n(t, (function(t, n, i) { + if (e(t, n, i)) return r = n, !1 + })), r + } + + function an(t, e, n, r) { + for (var i = t.length, a = n + (r ? 1 : -1); r ? a-- : ++a < i;) + if (e(t[a], a, t)) return a; + return -1 + } + + function on(t, e, n) { + return e == e ? function(t, e, n) { + var r = n - 1, + i = t.length; + for (; ++r < i;) + if (t[r] === e) return r; + return -1 + }(t, e, n) : an(t, un, n) + } + + function sn(t, e, n, r) { + for (var i = n - 1, a = t.length; ++i < a;) + if (r(t[i], e)) return i; + return -1 + } + + function un(t) { + return t != t + } + + function cn(t, e) { + var n = null == t ? 0 : t.length; + return n ? dn(t, e) / n : B + } + + function fn(t) { + return function(e) { + return null == e ? r : e[t] + } + } + + function ln(t) { + return function(e) { + return null == t ? r : t[e] + } + } + + function hn(t, e, n, r, i) { + return i(t, (function(t, i, a) { + n = r ? (r = !1, t) : e(n, t, i, a) + })), n + } + + function dn(t, e) { + for (var n, i = -1, a = t.length; ++i < a;) { + var o = e(t[i]); + o !== r && (n = n === r ? o : n + o) + } + return n + } + + function pn(t, e) { + for (var n = -1, r = Array(t); ++n < t;) r[n] = e(n); + return r + } + + function gn(t) { + return function(e) { + return t(e) + } + } + + function yn(t, e) { + return Ze(e, (function(e) { + return t[e] + })) + } + + function bn(t, e) { + return t.has(e) + } + + function vn(t, e) { + for (var n = -1, r = t.length; ++n < r && on(e, t[n], 0) > -1;); + return n + } + + function mn(t, e) { + for (var n = t.length; n-- && on(e, t[n], 0) > -1;); + return n + } + var _n = ln({ + "À": "A", + "Ã": "A", + "Â": "A", + "Ã": "A", + "Ä": "A", + "Ã…": "A", + "à ": "a", + "á": "a", + "â": "a", + "ã": "a", + "ä": "a", + "Ã¥": "a", + "Ç": "C", + "ç": "c", + "Ã": "D", + "ð": "d", + "È": "E", + "É": "E", + "Ê": "E", + "Ë": "E", + "è": "e", + "é": "e", + "ê": "e", + "ë": "e", + "ÃŒ": "I", + "Ã": "I", + "ÃŽ": "I", + "Ã": "I", + "ì": "i", + "Ã": "i", + "î": "i", + "ï": "i", + "Ñ": "N", + "ñ": "n", + "Ã’": "O", + "Ó": "O", + "Ô": "O", + "Õ": "O", + "Ö": "O", + "Ø": "O", + "ò": "o", + "ó": "o", + "ô": "o", + "õ": "o", + "ö": "o", + "ø": "o", + "Ù": "U", + "Ú": "U", + "Û": "U", + "Ü": "U", + "ù": "u", + "ú": "u", + "û": "u", + "ü": "u", + "Ã": "Y", + "ý": "y", + "ÿ": "y", + "Æ": "Ae", + "æ": "ae", + "Þ": "Th", + "þ": "th", + "ß": "ss", + "Ä€": "A", + "Ä‚": "A", + "Ä„": "A", + "Ä": "a", + "ă": "a", + "Ä…": "a", + "Ć": "C", + "Ĉ": "C", + "ÄŠ": "C", + "ÄŒ": "C", + "ć": "c", + "ĉ": "c", + "Ä‹": "c", + "Ä": "c", + "ÄŽ": "D", + "Ä": "D", + "Ä": "d", + "Ä‘": "d", + "Ä’": "E", + "Ä”": "E", + "Ä–": "E", + "Ę": "E", + "Äš": "E", + "Ä“": "e", + "Ä•": "e", + "Ä—": "e", + "Ä™": "e", + "Ä›": "e", + "Äœ": "G", + "Äž": "G", + "Ä ": "G", + "Ä¢": "G", + "Ä": "g", + "ÄŸ": "g", + "Ä¡": "g", + "Ä£": "g", + "Ĥ": "H", + "Ħ": "H", + "Ä¥": "h", + "ħ": "h", + "Ĩ": "I", + "Ī": "I", + "Ĭ": "I", + "Ä®": "I", + "İ": "I", + "Ä©": "i", + "Ä«": "i", + "Ä": "i", + "į": "i", + "ı": "i", + "Ä´": "J", + "ĵ": "j", + "Ķ": "K", + "Ä·": "k", + "ĸ": "k", + "Ĺ": "L", + "Ä»": "L", + "Ľ": "L", + "Ä¿": "L", + "Å": "L", + "ĺ": "l", + "ļ": "l", + "ľ": "l", + "Å€": "l", + "Å‚": "l", + "Ń": "N", + "Å…": "N", + "Ň": "N", + "ÅŠ": "N", + "Å„": "n", + "ņ": "n", + "ň": "n", + "Å‹": "n", + "ÅŒ": "O", + "ÅŽ": "O", + "Å": "O", + "Å": "o", + "Å": "o", + "Å‘": "o", + "Å”": "R", + "Å–": "R", + "Ř": "R", + "Å•": "r", + "Å—": "r", + "Å™": "r", + "Åš": "S", + "Åœ": "S", + "Åž": "S", + "Å ": "S", + "Å›": "s", + "Å": "s", + "ÅŸ": "s", + "Å¡": "s", + "Å¢": "T", + "Ť": "T", + "Ŧ": "T", + "Å£": "t", + "Å¥": "t", + "ŧ": "t", + "Ũ": "U", + "Ū": "U", + "Ŭ": "U", + "Å®": "U", + "Ű": "U", + "Ų": "U", + "Å©": "u", + "Å«": "u", + "Å": "u", + "ů": "u", + "ű": "u", + "ų": "u", + "Å´": "W", + "ŵ": "w", + "Ŷ": "Y", + "Å·": "y", + "Ÿ": "Y", + "Ź": "Z", + "Å»": "Z", + "Ž": "Z", + "ź": "z", + "ż": "z", + "ž": "z", + "IJ": "IJ", + "ij": "ij", + "Å’": "Oe", + "Å“": "oe", + "ʼn": "'n", + "Å¿": "s" + }), + wn = ln({ + "&": "&", + "<": "<", + ">": ">", + '"': """, + "'": "'" + }); + + function xn(t) { + return "\\" + Se[t] + } + + function kn(t) { + return _e.test(t) + } + + function En(t) { + var e = -1, + n = Array(t.size); + return t.forEach((function(t, r) { + n[++e] = [r, t] + })), n + } + + function An(t, e) { + return function(n) { + return t(e(n)) + } + } + + function Sn(t, e) { + for (var n = -1, r = t.length, i = 0, a = []; ++n < r;) { + var o = t[n]; + o !== e && o !== c || (t[n] = c, a[i++] = n) + } + return a + } + + function Mn(t) { + var e = -1, + n = Array(t.size); + return t.forEach((function(t) { + n[++e] = t + })), n + } + + function Tn(t) { + var e = -1, + n = Array(t.size); + return t.forEach((function(t) { + n[++e] = [t, t] + })), n + } + + function Dn(t) { + return kn(t) ? function(t) { + var e = ve.lastIndex = 0; + for (; ve.test(t);) ++e; + return e + }(t) : nn(t) + } + + function Cn(t) { + return kn(t) ? function(t) { + return t.match(ve) || [] + }(t) : function(t) { + return t.split("") + }(t) + } + var Nn = ln({ + "&": "&", + "<": "<", + ">": ">", + """: '"', + "'": "'" + }); + var In = function t(e) { + var n, Xt = (e = null == e ? Ne : In.defaults(Ne.Object(), e, In.pick(Ne, xe))).Array, + Zt = e.Date, + Jt = e.Error, + Qt = e.Function, + te = e.Math, + ee = e.Object, + ne = e.RegExp, + re = e.String, + ie = e.TypeError, + ae = Xt.prototype, + oe = Qt.prototype, + se = ee.prototype, + ue = e["__core-js_shared__"], + ce = oe.toString, + fe = se.hasOwnProperty, + le = 0, + he = (n = /[^.]+$/.exec(ue && ue.keys && ue.keys.IE_PROTO || "")) ? "Symbol(src)_1." + n : "", + de = se.toString, + pe = ce.call(ee), + ge = Ne._, + ve = ne("^" + ce.call(fe).replace(Ct, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"), + _e = Be ? e.Buffer : r, + Se = e.Symbol, + De = e.Uint8Array, + Ce = _e ? _e.allocUnsafe : r, + Ie = An(ee.getPrototypeOf, ee), + Le = ee.create, + Oe = se.propertyIsEnumerable, + Re = ae.splice, + nn = Se ? Se.isConcatSpreadable : r, + ln = Se ? Se.iterator : r, + Ln = Se ? Se.toStringTag : r, + Bn = function() { + try { + var t = Fa(ee, "defineProperty"); + return t({}, "", {}), t + } catch (t) {} + }(), + On = e.clearTimeout !== Ne.clearTimeout && e.clearTimeout, + Rn = Zt && Zt.now !== Ne.Date.now && Zt.now, + Pn = e.setTimeout !== Ne.setTimeout && e.setTimeout, + Fn = te.ceil, + qn = te.floor, + jn = ee.getOwnPropertySymbols, + Un = _e ? _e.isBuffer : r, + zn = e.isFinite, + Yn = ae.join, + Vn = An(ee.keys, ee), + Hn = te.max, + Gn = te.min, + $n = Zt.now, + Wn = e.parseInt, + Kn = te.random, + Xn = ae.reverse, + Zn = Fa(e, "DataView"), + Jn = Fa(e, "Map"), + Qn = Fa(e, "Promise"), + tr = Fa(e, "Set"), + er = Fa(e, "WeakMap"), + nr = Fa(ee, "create"), + rr = er && new er, + ir = {}, + ar = fo(Zn), + or = fo(Jn), + sr = fo(Qn), + ur = fo(tr), + cr = fo(er), + fr = Se ? Se.prototype : r, + lr = fr ? fr.valueOf : r, + hr = fr ? fr.toString : r; + + function dr(t) { + if (Ts(t) && !bs(t) && !(t instanceof br)) { + if (t instanceof yr) return t; + if (fe.call(t, "__wrapped__")) return lo(t) + } + return new yr(t) + } + var pr = function() { + function t() {} + return function(e) { + if (!Ms(e)) return {}; + if (Le) return Le(e); + t.prototype = e; + var n = new t; + return t.prototype = r, n + } + }(); + + function gr() {} + + function yr(t, e) { + this.__wrapped__ = t, this.__actions__ = [], this.__chain__ = !!e, this.__index__ = 0, this.__values__ = r + } + + function br(t) { + this.__wrapped__ = t, this.__actions__ = [], this.__dir__ = 1, this.__filtered__ = !1, this.__iteratees__ = [], this.__takeCount__ = O, this.__views__ = [] + } + + function vr(t) { + var e = -1, + n = null == t ? 0 : t.length; + for (this.clear(); ++e < n;) { + var r = t[e]; + this.set(r[0], r[1]) + } + } + + function mr(t) { + var e = -1, + n = null == t ? 0 : t.length; + for (this.clear(); ++e < n;) { + var r = t[e]; + this.set(r[0], r[1]) + } + } + + function _r(t) { + var e = -1, + n = null == t ? 0 : t.length; + for (this.clear(); ++e < n;) { + var r = t[e]; + this.set(r[0], r[1]) + } + } + + function wr(t) { + var e = -1, + n = null == t ? 0 : t.length; + for (this.__data__ = new _r; ++e < n;) this.add(t[e]) + } + + function xr(t) { + var e = this.__data__ = new mr(t); + this.size = e.size + } + + function kr(t, e) { + var n = bs(t), + r = !n && ys(t), + i = !n && !r && ws(t), + a = !n && !r && !i && Rs(t), + o = n || r || i || a, + s = o ? pn(t.length, re) : [], + u = s.length; + for (var c in t) !e && !fe.call(t, c) || o && ("length" == c || i && ("offset" == c || "parent" == c) || a && ("buffer" == c || "byteLength" == c || "byteOffset" == c) || Ha(c, u)) || s.push(c); + return s + } + + function Er(t) { + var e = t.length; + return e ? t[wi(0, e - 1)] : r + } + + function Ar(t, e) { + return so(na(t), Br(e, 0, t.length)) + } + + function Sr(t) { + return so(na(t)) + } + + function Mr(t, e, n) { + (n === r || ds(t[e], n)) && (n !== r || e in t) || Ir(t, e, n) + } + + function Tr(t, e, n) { + var i = t[e]; + fe.call(t, e) && ds(i, n) && (n !== r || e in t) || Ir(t, e, n) + } + + function Dr(t, e) { + for (var n = t.length; n--;) + if (ds(t[n][0], e)) return n; + return -1 + } + + function Cr(t, e, n, r) { + return qr(t, (function(t, i, a) { + e(r, t, n(t), a) + })), r + } + + function Nr(t, e) { + return t && ra(e, iu(e), t) + } + + function Ir(t, e, n) { + "__proto__" == e && Bn ? Bn(t, e, { + configurable: !0, + enumerable: !0, + value: n, + writable: !0 + }) : t[e] = n + } + + function Lr(t, e) { + for (var n = -1, i = e.length, a = Xt(i), o = null == t; ++n < i;) a[n] = o ? r : Qs(t, e[n]); + return a + } + + function Br(t, e, n) { + return t == t && (n !== r && (t = t <= n ? t : n), e !== r && (t = t >= e ? t : e)), t + } + + function Or(t, e, n, i, a, o) { + var s, u = e & f, + c = e & l, + d = e & h; + if (n && (s = a ? n(t, i, a, o) : n(t)), s !== r) return s; + if (!Ms(t)) return t; + var p = bs(t); + if (p) { + if (s = function(t) { + var e = t.length, + n = new t.constructor(e); + e && "string" == typeof t[0] && fe.call(t, "index") && (n.index = t.index, n.input = t.input); + return n + }(t), !u) return na(t, s) + } else { + var g = Ua(t), + y = g == G || g == $; + if (ws(t)) return Xi(t, u); + if (g == Z || g == q || y && !a) { + if (s = c || y ? {} : Ya(t), !u) return c ? function(t, e) { + return ra(t, ja(t), e) + }(t, function(t, e) { + return t && ra(e, au(e), t) + }(s, t)) : function(t, e) { + return ra(t, qa(t), e) + }(t, Nr(s, t)) + } else { + if (!Ae[g]) return a ? t : {}; + s = function(t, e, n) { + var r = t.constructor; + switch (e) { + case ot: + return Zi(t); + case z: + case Y: + return new r(+t); + case st: + return function(t, e) { + var n = e ? Zi(t.buffer) : t.buffer; + return new t.constructor(n, t.byteOffset, t.byteLength) + }(t, n); + case ut: + case ct: + case ft: + case lt: + case ht: + case dt: + case pt: + case gt: + case yt: + return Ji(t, n); + case W: + return new r; + case K: + case et: + return new r(t); + case Q: + return function(t) { + var e = new t.constructor(t.source, Ut.exec(t)); + return e.lastIndex = t.lastIndex, e + }(t); + case tt: + return new r; + case nt: + return i = t, lr ? ee(lr.call(i)) : {} + } + var i + }(t, g, u) + } + } + o || (o = new xr); + var b = o.get(t); + if (b) return b; + o.set(t, s), Ls(t) ? t.forEach((function(r) { + s.add(Or(r, e, n, r, t, o)) + })) : Ds(t) && t.forEach((function(r, i) { + s.set(i, Or(r, e, n, i, t, o)) + })); + var v = p ? r : (d ? c ? Na : Ca : c ? au : iu)(t); + return He(v || t, (function(r, i) { + v && (r = t[i = r]), Tr(s, i, Or(r, e, n, i, t, o)) + })), s + } + + function Rr(t, e, n) { + var i = n.length; + if (null == t) return !i; + for (t = ee(t); i--;) { + var a = n[i], + o = e[a], + s = t[a]; + if (s === r && !(a in t) || !o(s)) return !1 + } + return !0 + } + + function Pr(t, e, n) { + if ("function" != typeof t) throw new ie(o); + return ro((function() { + t.apply(r, n) + }), e) + } + + function Fr(t, e, n, r) { + var a = -1, + o = Ke, + s = !0, + u = t.length, + c = [], + f = e.length; + if (!u) return c; + n && (e = Ze(e, gn(n))), r ? (o = Xe, s = !1) : e.length >= i && (o = bn, s = !1, e = new wr(e)); + t: for (; ++a < u;) { + var l = t[a], + h = null == n ? l : n(l); + if (l = r || 0 !== l ? l : 0, s && h == h) { + for (var d = f; d--;) + if (e[d] === h) continue t; + c.push(l) + } else o(e, h, r) || c.push(l) + } + return c + } + dr.templateSettings = { + escape: Et, + evaluate: At, + interpolate: St, + variable: "", + imports: { + _: dr + } + }, dr.prototype = gr.prototype, dr.prototype.constructor = dr, yr.prototype = pr(gr.prototype), yr.prototype.constructor = yr, br.prototype = pr(gr.prototype), br.prototype.constructor = br, vr.prototype.clear = function() { + this.__data__ = nr ? nr(null) : {}, this.size = 0 + }, vr.prototype.delete = function(t) { + var e = this.has(t) && delete this.__data__[t]; + return this.size -= e ? 1 : 0, e + }, vr.prototype.get = function(t) { + var e = this.__data__; + if (nr) { + var n = e[t]; + return n === s ? r : n + } + return fe.call(e, t) ? e[t] : r + }, vr.prototype.has = function(t) { + var e = this.__data__; + return nr ? e[t] !== r : fe.call(e, t) + }, vr.prototype.set = function(t, e) { + var n = this.__data__; + return this.size += this.has(t) ? 0 : 1, n[t] = nr && e === r ? s : e, this + }, mr.prototype.clear = function() { + this.__data__ = [], this.size = 0 + }, mr.prototype.delete = function(t) { + var e = this.__data__, + n = Dr(e, t); + return !(n < 0) && (n == e.length - 1 ? e.pop() : Re.call(e, n, 1), --this.size, !0) + }, mr.prototype.get = function(t) { + var e = this.__data__, + n = Dr(e, t); + return n < 0 ? r : e[n][1] + }, mr.prototype.has = function(t) { + return Dr(this.__data__, t) > -1 + }, mr.prototype.set = function(t, e) { + var n = this.__data__, + r = Dr(n, t); + return r < 0 ? (++this.size, n.push([t, e])) : n[r][1] = e, this + }, _r.prototype.clear = function() { + this.size = 0, this.__data__ = { + hash: new vr, + map: new(Jn || mr), + string: new vr + } + }, _r.prototype.delete = function(t) { + var e = Ra(this, t).delete(t); + return this.size -= e ? 1 : 0, e + }, _r.prototype.get = function(t) { + return Ra(this, t).get(t) + }, _r.prototype.has = function(t) { + return Ra(this, t).has(t) + }, _r.prototype.set = function(t, e) { + var n = Ra(this, t), + r = n.size; + return n.set(t, e), this.size += n.size == r ? 0 : 1, this + }, wr.prototype.add = wr.prototype.push = function(t) { + return this.__data__.set(t, s), this + }, wr.prototype.has = function(t) { + return this.__data__.has(t) + }, xr.prototype.clear = function() { + this.__data__ = new mr, this.size = 0 + }, xr.prototype.delete = function(t) { + var e = this.__data__, + n = e.delete(t); + return this.size = e.size, n + }, xr.prototype.get = function(t) { + return this.__data__.get(t) + }, xr.prototype.has = function(t) { + return this.__data__.has(t) + }, xr.prototype.set = function(t, e) { + var n = this.__data__; + if (n instanceof mr) { + var r = n.__data__; + if (!Jn || r.length < i - 1) return r.push([t, e]), this.size = ++n.size, this; + n = this.__data__ = new _r(r) + } + return n.set(t, e), this.size = n.size, this + }; + var qr = oa($r), + jr = oa(Wr, !0); + + function Ur(t, e) { + var n = !0; + return qr(t, (function(t, r, i) { + return n = !!e(t, r, i) + })), n + } + + function zr(t, e, n) { + for (var i = -1, a = t.length; ++i < a;) { + var o = t[i], + s = e(o); + if (null != s && (u === r ? s == s && !Os(s) : n(s, u))) var u = s, + c = o + } + return c + } + + function Yr(t, e) { + var n = []; + return qr(t, (function(t, r, i) { + e(t, r, i) && n.push(t) + })), n + } + + function Vr(t, e, n, r, i) { + var a = -1, + o = t.length; + for (n || (n = Va), i || (i = []); ++a < o;) { + var s = t[a]; + e > 0 && n(s) ? e > 1 ? Vr(s, e - 1, n, r, i) : Je(i, s) : r || (i[i.length] = s) + } + return i + } + var Hr = sa(), + Gr = sa(!0); + + function $r(t, e) { + return t && Hr(t, e, iu) + } + + function Wr(t, e) { + return t && Gr(t, e, iu) + } + + function Kr(t, e) { + return We(e, (function(e) { + return Es(t[e]) + })) + } + + function Xr(t, e) { + for (var n = 0, i = (e = Gi(e, t)).length; null != t && n < i;) t = t[co(e[n++])]; + return n && n == i ? t : r + } + + function Zr(t, e, n) { + var r = e(t); + return bs(t) ? r : Je(r, n(t)) + } + + function Jr(t) { + return null == t ? t === r ? rt : X : Ln && Ln in ee(t) ? function(t) { + var e = fe.call(t, Ln), + n = t[Ln]; + try { + t[Ln] = r; + var i = !0 + } catch (t) {} + var a = de.call(t); + i && (e ? t[Ln] = n : delete t[Ln]); + return a + }(t) : function(t) { + return de.call(t) + }(t) + } + + function Qr(t, e) { + return t > e + } + + function ti(t, e) { + return null != t && fe.call(t, e) + } + + function ei(t, e) { + return null != t && e in ee(t) + } + + function ni(t, e, n) { + for (var i = n ? Xe : Ke, a = t[0].length, o = t.length, s = o, u = Xt(o), c = 1 / 0, f = []; s--;) { + var l = t[s]; + s && e && (l = Ze(l, gn(e))), c = Gn(l.length, c), u[s] = !n && (e || a >= 120 && l.length >= 120) ? new wr(s && l) : r + } + l = t[0]; + var h = -1, + d = u[0]; + t: for (; ++h < a && f.length < c;) { + var p = l[h], + g = e ? e(p) : p; + if (p = n || 0 !== p ? p : 0, !(d ? bn(d, g) : i(f, g, n))) { + for (s = o; --s;) { + var y = u[s]; + if (!(y ? bn(y, g) : i(t[s], g, n))) continue t + } + d && d.push(g), f.push(p) + } + } + return f + } + + function ri(t, e, n) { + var i = null == (t = to(t, e = Gi(e, t))) ? t : t[co(ko(e))]; + return null == i ? r : Ye(i, t, n) + } + + function ii(t) { + return Ts(t) && Jr(t) == q + } + + function ai(t, e, n, i, a) { + return t === e || (null == t || null == e || !Ts(t) && !Ts(e) ? t != t && e != e : function(t, e, n, i, a, o) { + var s = bs(t), + u = bs(e), + c = s ? j : Ua(t), + f = u ? j : Ua(e), + l = (c = c == q ? Z : c) == Z, + h = (f = f == q ? Z : f) == Z, + g = c == f; + if (g && ws(t)) { + if (!ws(e)) return !1; + s = !0, l = !1 + } + if (g && !l) return o || (o = new xr), s || Rs(t) ? Ta(t, e, n, i, a, o) : function(t, e, n, r, i, a, o) { + switch (n) { + case st: + if (t.byteLength != e.byteLength || t.byteOffset != e.byteOffset) return !1; + t = t.buffer, e = e.buffer; + case ot: + return !(t.byteLength != e.byteLength || !a(new De(t), new De(e))); + case z: + case Y: + case K: + return ds(+t, +e); + case H: + return t.name == e.name && t.message == e.message; + case Q: + case et: + return t == e + ""; + case W: + var s = En; + case tt: + var u = r & d; + if (s || (s = Mn), t.size != e.size && !u) return !1; + var c = o.get(t); + if (c) return c == e; + r |= p, o.set(t, e); + var f = Ta(s(t), s(e), r, i, a, o); + return o.delete(t), f; + case nt: + if (lr) return lr.call(t) == lr.call(e) + } + return !1 + }(t, e, c, n, i, a, o); + if (!(n & d)) { + var y = l && fe.call(t, "__wrapped__"), + b = h && fe.call(e, "__wrapped__"); + if (y || b) { + var v = y ? t.value() : t, + m = b ? e.value() : e; + return o || (o = new xr), a(v, m, n, i, o) + } + } + if (!g) return !1; + return o || (o = new xr), + function(t, e, n, i, a, o) { + var s = n & d, + u = Ca(t), + c = u.length, + f = Ca(e).length; + if (c != f && !s) return !1; + var l = c; + for (; l--;) { + var h = u[l]; + if (!(s ? h in e : fe.call(e, h))) return !1 + } + var p = o.get(t); + if (p && o.get(e)) return p == e; + var g = !0; + o.set(t, e), o.set(e, t); + var y = s; + for (; ++l < c;) { + h = u[l]; + var b = t[h], + v = e[h]; + if (i) var m = s ? i(v, b, h, e, t, o) : i(b, v, h, t, e, o); + if (!(m === r ? b === v || a(b, v, n, i, o) : m)) { + g = !1; + break + } + y || (y = "constructor" == h) + } + if (g && !y) { + var _ = t.constructor, + w = e.constructor; + _ != w && "constructor" in t && "constructor" in e && !("function" == typeof _ && _ instanceof _ && "function" == typeof w && w instanceof w) && (g = !1) + } + return o.delete(t), o.delete(e), g + }(t, e, n, i, a, o) + }(t, e, n, i, ai, a)) + } + + function oi(t, e, n, i) { + var a = n.length, + o = a, + s = !i; + if (null == t) return !o; + for (t = ee(t); a--;) { + var u = n[a]; + if (s && u[2] ? u[1] !== t[u[0]] : !(u[0] in t)) return !1 + } + for (; ++a < o;) { + var c = (u = n[a])[0], + f = t[c], + l = u[1]; + if (s && u[2]) { + if (f === r && !(c in t)) return !1 + } else { + var h = new xr; + if (i) var g = i(f, l, c, t, e, h); + if (!(g === r ? ai(l, f, d | p, i, h) : g)) return !1 + } + } + return !0 + } + + function si(t) { + return !(!Ms(t) || (e = t, he && he in e)) && (Es(t) ? ve : Vt).test(fo(t)); + var e + } + + function ui(t) { + return "function" == typeof t ? t : null == t ? Cu : "object" == typeof t ? bs(t) ? pi(t[0], t[1]) : di(t) : qu(t) + } + + function ci(t) { + if (!Xa(t)) return Vn(t); + var e = []; + for (var n in ee(t)) fe.call(t, n) && "constructor" != n && e.push(n); + return e + } + + function fi(t) { + if (!Ms(t)) return function(t) { + var e = []; + if (null != t) + for (var n in ee(t)) e.push(n); + return e + }(t); + var e = Xa(t), + n = []; + for (var r in t)("constructor" != r || !e && fe.call(t, r)) && n.push(r); + return n + } + + function li(t, e) { + return t < e + } + + function hi(t, e) { + var n = -1, + r = ms(t) ? Xt(t.length) : []; + return qr(t, (function(t, i, a) { + r[++n] = e(t, i, a) + })), r + } + + function di(t) { + var e = Pa(t); + return 1 == e.length && e[0][2] ? Ja(e[0][0], e[0][1]) : function(n) { + return n === t || oi(n, t, e) + } + } + + function pi(t, e) { + return $a(t) && Za(e) ? Ja(co(t), e) : function(n) { + var i = Qs(n, t); + return i === r && i === e ? tu(n, t) : ai(e, i, d | p) + } + } + + function gi(t, e, n, i, a) { + t !== e && Hr(e, (function(o, s) { + if (a || (a = new xr), Ms(o)) ! function(t, e, n, i, a, o, s) { + var u = eo(t, n), + c = eo(e, n), + f = s.get(c); + if (f) return void Mr(t, n, f); + var l = o ? o(u, c, n + "", t, e, s) : r, + h = l === r; + if (h) { + var d = bs(c), + p = !d && ws(c), + g = !d && !p && Rs(c); + l = c, d || p || g ? bs(u) ? l = u : _s(u) ? l = na(u) : p ? (h = !1, l = Xi(c, !0)) : g ? (h = !1, l = Ji(c, !0)) : l = [] : Ns(c) || ys(c) ? (l = u, ys(u) ? l = Vs(u) : Ms(u) && !Es(u) || (l = Ya(c))) : h = !1 + } + h && (s.set(c, l), a(l, c, i, o, s), s.delete(c)); + Mr(t, n, l) + }(t, e, s, n, gi, i, a); + else { + var u = i ? i(eo(t, s), o, s + "", t, e, a) : r; + u === r && (u = o), Mr(t, s, u) + } + }), au) + } + + function yi(t, e) { + var n = t.length; + if (n) return Ha(e += e < 0 ? n : 0, n) ? t[e] : r + } + + function bi(t, e, n) { + var r = -1; + return e = Ze(e.length ? e : [Cu], gn(Oa())), + function(t, e) { + var n = t.length; + for (t.sort(e); n--;) t[n] = t[n].value; + return t + }(hi(t, (function(t, n, i) { + return { + criteria: Ze(e, (function(e) { + return e(t) + })), + index: ++r, + value: t + } + })), (function(t, e) { + return function(t, e, n) { + var r = -1, + i = t.criteria, + a = e.criteria, + o = i.length, + s = n.length; + for (; ++r < o;) { + var u = Qi(i[r], a[r]); + if (u) { + if (r >= s) return u; + var c = n[r]; + return u * ("desc" == c ? -1 : 1) + } + } + return t.index - e.index + }(t, e, n) + })) + } + + function vi(t, e, n) { + for (var r = -1, i = e.length, a = {}; ++r < i;) { + var o = e[r], + s = Xr(t, o); + n(s, o) && Si(a, Gi(o, t), s) + } + return a + } + + function mi(t, e, n, r) { + var i = r ? sn : on, + a = -1, + o = e.length, + s = t; + for (t === e && (e = na(e)), n && (s = Ze(t, gn(n))); ++a < o;) + for (var u = 0, c = e[a], f = n ? n(c) : c; + (u = i(s, f, u, r)) > -1;) s !== t && Re.call(s, u, 1), Re.call(t, u, 1); + return t + } + + function _i(t, e) { + for (var n = t ? e.length : 0, r = n - 1; n--;) { + var i = e[n]; + if (n == r || i !== a) { + var a = i; + Ha(i) ? Re.call(t, i, 1) : Fi(t, i) + } + } + return t + } + + function wi(t, e) { + return t + qn(Kn() * (e - t + 1)) + } + + function xi(t, e) { + var n = ""; + if (!t || e < 1 || e > I) return n; + do { + e % 2 && (n += t), (e = qn(e / 2)) && (t += t) + } while (e); + return n + } + + function ki(t, e) { + return io(Qa(t, e, Cu), t + "") + } + + function Ei(t) { + return Er(du(t)) + } + + function Ai(t, e) { + var n = du(t); + return so(n, Br(e, 0, n.length)) + } + + function Si(t, e, n, i) { + if (!Ms(t)) return t; + for (var a = -1, o = (e = Gi(e, t)).length, s = o - 1, u = t; null != u && ++a < o;) { + var c = co(e[a]), + f = n; + if (a != s) { + var l = u[c]; + (f = i ? i(l, c, u) : r) === r && (f = Ms(l) ? l : Ha(e[a + 1]) ? [] : {}) + } + Tr(u, c, f), u = u[c] + } + return t + } + var Mi = rr ? function(t, e) { + return rr.set(t, e), t + } : Cu, + Ti = Bn ? function(t, e) { + return Bn(t, "toString", { + configurable: !0, + enumerable: !1, + value: Mu(e), + writable: !0 + }) + } : Cu; + + function Di(t) { + return so(du(t)) + } + + function Ci(t, e, n) { + var r = -1, + i = t.length; + e < 0 && (e = -e > i ? 0 : i + e), (n = n > i ? i : n) < 0 && (n += i), i = e > n ? 0 : n - e >>> 0, e >>>= 0; + for (var a = Xt(i); ++r < i;) a[r] = t[r + e]; + return a + } + + function Ni(t, e) { + var n; + return qr(t, (function(t, r, i) { + return !(n = e(t, r, i)) + })), !!n + } + + function Ii(t, e, n) { + var r = 0, + i = null == t ? r : t.length; + if ("number" == typeof e && e == e && i <= P) { + for (; r < i;) { + var a = r + i >>> 1, + o = t[a]; + null !== o && !Os(o) && (n ? o <= e : o < e) ? r = a + 1 : i = a + } + return i + } + return Li(t, e, Cu, n) + } + + function Li(t, e, n, i) { + e = n(e); + for (var a = 0, o = null == t ? 0 : t.length, s = e != e, u = null === e, c = Os(e), f = e === r; a < o;) { + var l = qn((a + o) / 2), + h = n(t[l]), + d = h !== r, + p = null === h, + g = h == h, + y = Os(h); + if (s) var b = i || g; + else b = f ? g && (i || d) : u ? g && d && (i || !p) : c ? g && d && !p && (i || !y) : !p && !y && (i ? h <= e : h < e); + b ? a = l + 1 : o = l + } + return Gn(o, R) + } + + function Bi(t, e) { + for (var n = -1, r = t.length, i = 0, a = []; ++n < r;) { + var o = t[n], + s = e ? e(o) : o; + if (!n || !ds(s, u)) { + var u = s; + a[i++] = 0 === o ? 0 : o + } + } + return a + } + + function Oi(t) { + return "number" == typeof t ? t : Os(t) ? B : +t + } + + function Ri(t) { + if ("string" == typeof t) return t; + if (bs(t)) return Ze(t, Ri) + ""; + if (Os(t)) return hr ? hr.call(t) : ""; + var e = t + ""; + return "0" == e && 1 / t == -N ? "-0" : e + } + + function Pi(t, e, n) { + var r = -1, + a = Ke, + o = t.length, + s = !0, + u = [], + c = u; + if (n) s = !1, a = Xe; + else if (o >= i) { + var f = e ? null : xa(t); + if (f) return Mn(f); + s = !1, a = bn, c = new wr + } else c = e ? [] : u; + t: for (; ++r < o;) { + var l = t[r], + h = e ? e(l) : l; + if (l = n || 0 !== l ? l : 0, s && h == h) { + for (var d = c.length; d--;) + if (c[d] === h) continue t; + e && c.push(h), u.push(l) + } else a(c, h, n) || (c !== u && c.push(h), u.push(l)) + } + return u + } + + function Fi(t, e) { + return null == (t = to(t, e = Gi(e, t))) || delete t[co(ko(e))] + } + + function qi(t, e, n, r) { + return Si(t, e, n(Xr(t, e)), r) + } + + function ji(t, e, n, r) { + for (var i = t.length, a = r ? i : -1; + (r ? a-- : ++a < i) && e(t[a], a, t);); + return n ? Ci(t, r ? 0 : a, r ? a + 1 : i) : Ci(t, r ? a + 1 : 0, r ? i : a) + } + + function Ui(t, e) { + var n = t; + return n instanceof br && (n = n.value()), Qe(e, (function(t, e) { + return e.func.apply(e.thisArg, Je([t], e.args)) + }), n) + } + + function zi(t, e, n) { + var r = t.length; + if (r < 2) return r ? Pi(t[0]) : []; + for (var i = -1, a = Xt(r); ++i < r;) + for (var o = t[i], s = -1; ++s < r;) s != i && (a[i] = Fr(a[i] || o, t[s], e, n)); + return Pi(Vr(a, 1), e, n) + } + + function Yi(t, e, n) { + for (var i = -1, a = t.length, o = e.length, s = {}; ++i < a;) { + var u = i < o ? e[i] : r; + n(s, t[i], u) + } + return s + } + + function Vi(t) { + return _s(t) ? t : [] + } + + function Hi(t) { + return "function" == typeof t ? t : Cu + } + + function Gi(t, e) { + return bs(t) ? t : $a(t, e) ? [t] : uo(Hs(t)) + } + var $i = ki; + + function Wi(t, e, n) { + var i = t.length; + return n = n === r ? i : n, !e && n >= i ? t : Ci(t, e, n) + } + var Ki = On || function(t) { + return Ne.clearTimeout(t) + }; + + function Xi(t, e) { + if (e) return t.slice(); + var n = t.length, + r = Ce ? Ce(n) : new t.constructor(n); + return t.copy(r), r + } + + function Zi(t) { + var e = new t.constructor(t.byteLength); + return new De(e).set(new De(t)), e + } + + function Ji(t, e) { + var n = e ? Zi(t.buffer) : t.buffer; + return new t.constructor(n, t.byteOffset, t.length) + } + + function Qi(t, e) { + if (t !== e) { + var n = t !== r, + i = null === t, + a = t == t, + o = Os(t), + s = e !== r, + u = null === e, + c = e == e, + f = Os(e); + if (!u && !f && !o && t > e || o && s && c && !u && !f || i && s && c || !n && c || !a) return 1; + if (!i && !o && !f && t < e || f && n && a && !i && !o || u && n && a || !s && a || !c) return -1 + } + return 0 + } + + function ta(t, e, n, r) { + for (var i = -1, a = t.length, o = n.length, s = -1, u = e.length, c = Hn(a - o, 0), f = Xt(u + c), l = !r; ++s < u;) f[s] = e[s]; + for (; ++i < o;)(l || i < a) && (f[n[i]] = t[i]); + for (; c--;) f[s++] = t[i++]; + return f + } + + function ea(t, e, n, r) { + for (var i = -1, a = t.length, o = -1, s = n.length, u = -1, c = e.length, f = Hn(a - s, 0), l = Xt(f + c), h = !r; ++i < f;) l[i] = t[i]; + for (var d = i; ++u < c;) l[d + u] = e[u]; + for (; ++o < s;)(h || i < a) && (l[d + n[o]] = t[i++]); + return l + } + + function na(t, e) { + var n = -1, + r = t.length; + for (e || (e = Xt(r)); ++n < r;) e[n] = t[n]; + return e + } + + function ra(t, e, n, i) { + var a = !n; + n || (n = {}); + for (var o = -1, s = e.length; ++o < s;) { + var u = e[o], + c = i ? i(n[u], t[u], u, n, t) : r; + c === r && (c = t[u]), a ? Ir(n, u, c) : Tr(n, u, c) + } + return n + } + + function ia(t, e) { + return function(n, r) { + var i = bs(n) ? Ve : Cr, + a = e ? e() : {}; + return i(n, t, Oa(r, 2), a) + } + } + + function aa(t) { + return ki((function(e, n) { + var i = -1, + a = n.length, + o = a > 1 ? n[a - 1] : r, + s = a > 2 ? n[2] : r; + for (o = t.length > 3 && "function" == typeof o ? (a--, o) : r, s && Ga(n[0], n[1], s) && (o = a < 3 ? r : o, a = 1), e = ee(e); ++i < a;) { + var u = n[i]; + u && t(e, u, i, o) + } + return e + })) + } + + function oa(t, e) { + return function(n, r) { + if (null == n) return n; + if (!ms(n)) return t(n, r); + for (var i = n.length, a = e ? i : -1, o = ee(n); + (e ? a-- : ++a < i) && !1 !== r(o[a], a, o);); + return n + } + } + + function sa(t) { + return function(e, n, r) { + for (var i = -1, a = ee(e), o = r(e), s = o.length; s--;) { + var u = o[t ? s : ++i]; + if (!1 === n(a[u], u, a)) break + } + return e + } + } + + function ua(t) { + return function(e) { + var n = kn(e = Hs(e)) ? Cn(e) : r, + i = n ? n[0] : e.charAt(0), + a = n ? Wi(n, 1).join("") : e.slice(1); + return i[t]() + a + } + } + + function ca(t) { + return function(e) { + return Qe(Eu(yu(e).replace(ye, "")), t, "") + } + } + + function fa(t) { + return function() { + var e = arguments; + switch (e.length) { + case 0: + return new t; + case 1: + return new t(e[0]); + case 2: + return new t(e[0], e[1]); + case 3: + return new t(e[0], e[1], e[2]); + case 4: + return new t(e[0], e[1], e[2], e[3]); + case 5: + return new t(e[0], e[1], e[2], e[3], e[4]); + case 6: + return new t(e[0], e[1], e[2], e[3], e[4], e[5]); + case 7: + return new t(e[0], e[1], e[2], e[3], e[4], e[5], e[6]) + } + var n = pr(t.prototype), + r = t.apply(n, e); + return Ms(r) ? r : n + } + } + + function la(t) { + return function(e, n, i) { + var a = ee(e); + if (!ms(e)) { + var o = Oa(n, 3); + e = iu(e), n = function(t) { + return o(a[t], t, a) + } + } + var s = t(e, n, i); + return s > -1 ? a[o ? e[s] : s] : r + } + } + + function ha(t) { + return Da((function(e) { + var n = e.length, + i = n, + a = yr.prototype.thru; + for (t && e.reverse(); i--;) { + var s = e[i]; + if ("function" != typeof s) throw new ie(o); + if (a && !u && "wrapper" == La(s)) var u = new yr([], !0) + } + for (i = u ? i : n; ++i < n;) { + var c = La(s = e[i]), + f = "wrapper" == c ? Ia(s) : r; + u = f && Wa(f[0]) && f[1] == (x | v | _ | k) && !f[4].length && 1 == f[9] ? u[La(f[0])].apply(u, f[3]) : 1 == s.length && Wa(s) ? u[c]() : u.thru(s) + } + return function() { + var t = arguments, + r = t[0]; + if (u && 1 == t.length && bs(r)) return u.plant(r).value(); + for (var i = 0, a = n ? e[i].apply(this, t) : r; ++i < n;) a = e[i].call(this, a); + return a + } + })) + } + + function da(t, e, n, i, a, o, s, u, c, f) { + var l = e & x, + h = e & g, + d = e & y, + p = e & (v | m), + b = e & E, + _ = d ? r : fa(t); + return function g() { + for (var y = arguments.length, v = Xt(y), m = y; m--;) v[m] = arguments[m]; + if (p) var w = Ba(g), + x = function(t, e) { + for (var n = t.length, r = 0; n--;) t[n] === e && ++r; + return r + }(v, w); + if (i && (v = ta(v, i, a, p)), o && (v = ea(v, o, s, p)), y -= x, p && y < f) { + var k = Sn(v, w); + return _a(t, e, da, g.placeholder, n, v, k, u, c, f - y) + } + var E = h ? n : this, + A = d ? E[t] : t; + return y = v.length, u ? v = function(t, e) { + var n = t.length, + i = Gn(e.length, n), + a = na(t); + for (; i--;) { + var o = e[i]; + t[i] = Ha(o, n) ? a[o] : r + } + return t + }(v, u) : b && y > 1 && v.reverse(), l && c < y && (v.length = c), this && this !== Ne && this instanceof g && (A = _ || fa(A)), A.apply(E, v) + } + } + + function pa(t, e) { + return function(n, r) { + return function(t, e, n, r) { + return $r(t, (function(t, i, a) { + e(r, n(t), i, a) + })), r + }(n, t, e(r), {}) + } + } + + function ga(t, e) { + return function(n, i) { + var a; + if (n === r && i === r) return e; + if (n !== r && (a = n), i !== r) { + if (a === r) return i; + "string" == typeof n || "string" == typeof i ? (n = Ri(n), i = Ri(i)) : (n = Oi(n), i = Oi(i)), a = t(n, i) + } + return a + } + } + + function ya(t) { + return Da((function(e) { + return e = Ze(e, gn(Oa())), ki((function(n) { + var r = this; + return t(e, (function(t) { + return Ye(t, r, n) + })) + })) + })) + } + + function ba(t, e) { + var n = (e = e === r ? " " : Ri(e)).length; + if (n < 2) return n ? xi(e, t) : e; + var i = xi(e, Fn(t / Dn(e))); + return kn(e) ? Wi(Cn(i), 0, t).join("") : i.slice(0, t) + } + + function va(t) { + return function(e, n, i) { + return i && "number" != typeof i && Ga(e, n, i) && (n = i = r), e = js(e), n === r ? (n = e, e = 0) : n = js(n), + function(t, e, n, r) { + for (var i = -1, a = Hn(Fn((e - t) / (n || 1)), 0), o = Xt(a); a--;) o[r ? a : ++i] = t, t += n; + return o + }(e, n, i = i === r ? e < n ? 1 : -1 : js(i), t) + } + } + + function ma(t) { + return function(e, n) { + return "string" == typeof e && "string" == typeof n || (e = Ys(e), n = Ys(n)), t(e, n) + } + } + + function _a(t, e, n, i, a, o, s, u, c, f) { + var l = e & v; + e |= l ? _ : w, (e &= ~(l ? w : _)) & b || (e &= ~(g | y)); + var h = [t, e, a, l ? o : r, l ? s : r, l ? r : o, l ? r : s, u, c, f], + d = n.apply(r, h); + return Wa(t) && no(d, h), d.placeholder = i, ao(d, t, e) + } + + function wa(t) { + var e = te[t]; + return function(t, n) { + if (t = Ys(t), (n = null == n ? 0 : Gn(Us(n), 292)) && zn(t)) { + var r = (Hs(t) + "e").split("e"); + return +((r = (Hs(e(r[0] + "e" + (+r[1] + n))) + "e").split("e"))[0] + "e" + (+r[1] - n)) + } + return e(t) + } + } + var xa = tr && 1 / Mn(new tr([, -0]))[1] == N ? function(t) { + return new tr(t) + } : Ou; + + function ka(t) { + return function(e) { + var n = Ua(e); + return n == W ? En(e) : n == tt ? Tn(e) : function(t, e) { + return Ze(e, (function(e) { + return [e, t[e]] + })) + }(e, t(e)) + } + } + + function Ea(t, e, n, i, a, s, u, f) { + var l = e & y; + if (!l && "function" != typeof t) throw new ie(o); + var h = i ? i.length : 0; + if (h || (e &= ~(_ | w), i = a = r), u = u === r ? u : Hn(Us(u), 0), f = f === r ? f : Us(f), h -= a ? a.length : 0, e & w) { + var d = i, + p = a; + i = a = r + } + var E = l ? r : Ia(t), + A = [t, e, n, i, a, d, p, s, u, f]; + if (E && function(t, e) { + var n = t[1], + r = e[1], + i = n | r, + a = i < (g | y | x), + o = r == x && n == v || r == x && n == k && t[7].length <= e[8] || r == (x | k) && e[7].length <= e[8] && n == v; + if (!a && !o) return t; + r & g && (t[2] = e[2], i |= n & g ? 0 : b); + var s = e[3]; + if (s) { + var u = t[3]; + t[3] = u ? ta(u, s, e[4]) : s, t[4] = u ? Sn(t[3], c) : e[4] + }(s = e[5]) && (u = t[5], t[5] = u ? ea(u, s, e[6]) : s, t[6] = u ? Sn(t[5], c) : e[6]); + (s = e[7]) && (t[7] = s); + r & x && (t[8] = null == t[8] ? e[8] : Gn(t[8], e[8])); + null == t[9] && (t[9] = e[9]); + t[0] = e[0], t[1] = i + }(A, E), t = A[0], e = A[1], n = A[2], i = A[3], a = A[4], !(f = A[9] = A[9] === r ? l ? 0 : t.length : Hn(A[9] - h, 0)) && e & (v | m) && (e &= ~(v | m)), e && e != g) S = e == v || e == m ? function(t, e, n) { + var i = fa(t); + return function a() { + for (var o = arguments.length, s = Xt(o), u = o, c = Ba(a); u--;) s[u] = arguments[u]; + var f = o < 3 && s[0] !== c && s[o - 1] !== c ? [] : Sn(s, c); + return (o -= f.length) < n ? _a(t, e, da, a.placeholder, r, s, f, r, r, n - o) : Ye(this && this !== Ne && this instanceof a ? i : t, this, s) + } + }(t, e, f) : e != _ && e != (g | _) || a.length ? da.apply(r, A) : function(t, e, n, r) { + var i = e & g, + a = fa(t); + return function e() { + for (var o = -1, s = arguments.length, u = -1, c = r.length, f = Xt(c + s), l = this && this !== Ne && this instanceof e ? a : t; ++u < c;) f[u] = r[u]; + for (; s--;) f[u++] = arguments[++o]; + return Ye(l, i ? n : this, f) + } + }(t, e, n, i); + else var S = function(t, e, n) { + var r = e & g, + i = fa(t); + return function e() { + return (this && this !== Ne && this instanceof e ? i : t).apply(r ? n : this, arguments) + } + }(t, e, n); + return ao((E ? Mi : no)(S, A), t, e) + } + + function Aa(t, e, n, i) { + return t === r || ds(t, se[n]) && !fe.call(i, n) ? e : t + } + + function Sa(t, e, n, i, a, o) { + return Ms(t) && Ms(e) && (o.set(e, t), gi(t, e, r, Sa, o), o.delete(e)), t + } + + function Ma(t) { + return Ns(t) ? r : t + } + + function Ta(t, e, n, i, a, o) { + var s = n & d, + u = t.length, + c = e.length; + if (u != c && !(s && c > u)) return !1; + var f = o.get(t); + if (f && o.get(e)) return f == e; + var l = -1, + h = !0, + g = n & p ? new wr : r; + for (o.set(t, e), o.set(e, t); ++l < u;) { + var y = t[l], + b = e[l]; + if (i) var v = s ? i(b, y, l, e, t, o) : i(y, b, l, t, e, o); + if (v !== r) { + if (v) continue; + h = !1; + break + } + if (g) { + if (!en(e, (function(t, e) { + if (!bn(g, e) && (y === t || a(y, t, n, i, o))) return g.push(e) + }))) { + h = !1; + break + } + } else if (y !== b && !a(y, b, n, i, o)) { + h = !1; + break + } + } + return o.delete(t), o.delete(e), h + } + + function Da(t) { + return io(Qa(t, r, vo), t + "") + } + + function Ca(t) { + return Zr(t, iu, qa) + } + + function Na(t) { + return Zr(t, au, ja) + } + var Ia = rr ? function(t) { + return rr.get(t) + } : Ou; + + function La(t) { + for (var e = t.name + "", n = ir[e], r = fe.call(ir, e) ? n.length : 0; r--;) { + var i = n[r], + a = i.func; + if (null == a || a == t) return i.name + } + return e + } + + function Ba(t) { + return (fe.call(dr, "placeholder") ? dr : t).placeholder + } + + function Oa() { + var t = dr.iteratee || Nu; + return t = t === Nu ? ui : t, arguments.length ? t(arguments[0], arguments[1]) : t + } + + function Ra(t, e) { + var n, r, i = t.__data__; + return ("string" == (r = typeof(n = e)) || "number" == r || "symbol" == r || "boolean" == r ? "__proto__" !== n : null === n) ? i["string" == typeof e ? "string" : "hash"] : i.map + } + + function Pa(t) { + for (var e = iu(t), n = e.length; n--;) { + var r = e[n], + i = t[r]; + e[n] = [r, i, Za(i)] + } + return e + } + + function Fa(t, e) { + var n = function(t, e) { + return null == t ? r : t[e] + }(t, e); + return si(n) ? n : r + } + var qa = jn ? function(t) { + return null == t ? [] : (t = ee(t), We(jn(t), (function(e) { + return Oe.call(t, e) + }))) + } : zu, + ja = jn ? function(t) { + for (var e = []; t;) Je(e, qa(t)), t = Ie(t); + return e + } : zu, + Ua = Jr; + + function za(t, e, n) { + for (var r = -1, i = (e = Gi(e, t)).length, a = !1; ++r < i;) { + var o = co(e[r]); + if (!(a = null != t && n(t, o))) break; + t = t[o] + } + return a || ++r != i ? a : !!(i = null == t ? 0 : t.length) && Ss(i) && Ha(o, i) && (bs(t) || ys(t)) + } + + function Ya(t) { + return "function" != typeof t.constructor || Xa(t) ? {} : pr(Ie(t)) + } + + function Va(t) { + return bs(t) || ys(t) || !!(nn && t && t[nn]) + } + + function Ha(t, e) { + var n = typeof t; + return !!(e = null == e ? I : e) && ("number" == n || "symbol" != n && Gt.test(t)) && t > -1 && t % 1 == 0 && t < e + } + + function Ga(t, e, n) { + if (!Ms(n)) return !1; + var r = typeof e; + return !!("number" == r ? ms(n) && Ha(e, n.length) : "string" == r && e in n) && ds(n[e], t) + } + + function $a(t, e) { + if (bs(t)) return !1; + var n = typeof t; + return !("number" != n && "symbol" != n && "boolean" != n && null != t && !Os(t)) || (Tt.test(t) || !Mt.test(t) || null != e && t in ee(e)) + } + + function Wa(t) { + var e = La(t), + n = dr[e]; + if ("function" != typeof n || !(e in br.prototype)) return !1; + if (t === n) return !0; + var r = Ia(n); + return !!r && t === r[0] + }(Zn && Ua(new Zn(new ArrayBuffer(1))) != st || Jn && Ua(new Jn) != W || Qn && "[object Promise]" != Ua(Qn.resolve()) || tr && Ua(new tr) != tt || er && Ua(new er) != it) && (Ua = function(t) { + var e = Jr(t), + n = e == Z ? t.constructor : r, + i = n ? fo(n) : ""; + if (i) switch (i) { + case ar: + return st; + case or: + return W; + case sr: + return "[object Promise]"; + case ur: + return tt; + case cr: + return it + } + return e + }); + var Ka = ue ? Es : Yu; + + function Xa(t) { + var e = t && t.constructor; + return t === ("function" == typeof e && e.prototype || se) + } + + function Za(t) { + return t == t && !Ms(t) + } + + function Ja(t, e) { + return function(n) { + return null != n && (n[t] === e && (e !== r || t in ee(n))) + } + } + + function Qa(t, e, n) { + return e = Hn(e === r ? t.length - 1 : e, 0), + function() { + for (var r = arguments, i = -1, a = Hn(r.length - e, 0), o = Xt(a); ++i < a;) o[i] = r[e + i]; + i = -1; + for (var s = Xt(e + 1); ++i < e;) s[i] = r[i]; + return s[e] = n(o), Ye(t, this, s) + } + } + + function to(t, e) { + return e.length < 2 ? t : Xr(t, Ci(e, 0, -1)) + } + + function eo(t, e) { + if (("constructor" !== e || "function" != typeof t[e]) && "__proto__" != e) return t[e] + } + var no = oo(Mi), + ro = Pn || function(t, e) { + return Ne.setTimeout(t, e) + }, + io = oo(Ti); + + function ao(t, e, n) { + var r = e + ""; + return io(t, function(t, e) { + var n = e.length; + if (!n) return t; + var r = n - 1; + return e[r] = (n > 1 ? "& " : "") + e[r], e = e.join(n > 2 ? ", " : " "), t.replace(Ot, "{\n/* [wrapped with " + e + "] */\n") + }(r, function(t, e) { + return He(F, (function(n) { + var r = "_." + n[0]; + e & n[1] && !Ke(t, r) && t.push(r) + })), t.sort() + }(function(t) { + var e = t.match(Rt); + return e ? e[1].split(Pt) : [] + }(r), n))) + } + + function oo(t) { + var e = 0, + n = 0; + return function() { + var i = $n(), + a = T - (i - n); + if (n = i, a > 0) { + if (++e >= M) return arguments[0] + } else e = 0; + return t.apply(r, arguments) + } + } + + function so(t, e) { + var n = -1, + i = t.length, + a = i - 1; + for (e = e === r ? i : e; ++n < e;) { + var o = wi(n, a), + s = t[o]; + t[o] = t[n], t[n] = s + } + return t.length = e, t + } + var uo = function(t) { + var e = ss(t, (function(t) { + return n.size === u && n.clear(), t + })), + n = e.cache; + return e + }((function(t) { + var e = []; + return 46 === t.charCodeAt(0) && e.push(""), t.replace(Dt, (function(t, n, r, i) { + e.push(r ? i.replace(qt, "$1") : n || t) + })), e + })); + + function co(t) { + if ("string" == typeof t || Os(t)) return t; + var e = t + ""; + return "0" == e && 1 / t == -N ? "-0" : e + } + + function fo(t) { + if (null != t) { + try { + return ce.call(t) + } catch (t) {} + try { + return t + "" + } catch (t) {} + } + return "" + } + + function lo(t) { + if (t instanceof br) return t.clone(); + var e = new yr(t.__wrapped__, t.__chain__); + return e.__actions__ = na(t.__actions__), e.__index__ = t.__index__, e.__values__ = t.__values__, e + } + var ho = ki((function(t, e) { + return _s(t) ? Fr(t, Vr(e, 1, _s, !0)) : [] + })), + po = ki((function(t, e) { + var n = ko(e); + return _s(n) && (n = r), _s(t) ? Fr(t, Vr(e, 1, _s, !0), Oa(n, 2)) : [] + })), + go = ki((function(t, e) { + var n = ko(e); + return _s(n) && (n = r), _s(t) ? Fr(t, Vr(e, 1, _s, !0), r, n) : [] + })); + + function yo(t, e, n) { + var r = null == t ? 0 : t.length; + if (!r) return -1; + var i = null == n ? 0 : Us(n); + return i < 0 && (i = Hn(r + i, 0)), an(t, Oa(e, 3), i) + } + + function bo(t, e, n) { + var i = null == t ? 0 : t.length; + if (!i) return -1; + var a = i - 1; + return n !== r && (a = Us(n), a = n < 0 ? Hn(i + a, 0) : Gn(a, i - 1)), an(t, Oa(e, 3), a, !0) + } + + function vo(t) { + return (null == t ? 0 : t.length) ? Vr(t, 1) : [] + } + + function mo(t) { + return t && t.length ? t[0] : r + } + var _o = ki((function(t) { + var e = Ze(t, Vi); + return e.length && e[0] === t[0] ? ni(e) : [] + })), + wo = ki((function(t) { + var e = ko(t), + n = Ze(t, Vi); + return e === ko(n) ? e = r : n.pop(), n.length && n[0] === t[0] ? ni(n, Oa(e, 2)) : [] + })), + xo = ki((function(t) { + var e = ko(t), + n = Ze(t, Vi); + return (e = "function" == typeof e ? e : r) && n.pop(), n.length && n[0] === t[0] ? ni(n, r, e) : [] + })); + + function ko(t) { + var e = null == t ? 0 : t.length; + return e ? t[e - 1] : r + } + var Eo = ki(Ao); + + function Ao(t, e) { + return t && t.length && e && e.length ? mi(t, e) : t + } + var So = Da((function(t, e) { + var n = null == t ? 0 : t.length, + r = Lr(t, e); + return _i(t, Ze(e, (function(t) { + return Ha(t, n) ? +t : t + })).sort(Qi)), r + })); + + function Mo(t) { + return null == t ? t : Xn.call(t) + } + var To = ki((function(t) { + return Pi(Vr(t, 1, _s, !0)) + })), + Do = ki((function(t) { + var e = ko(t); + return _s(e) && (e = r), Pi(Vr(t, 1, _s, !0), Oa(e, 2)) + })), + Co = ki((function(t) { + var e = ko(t); + return e = "function" == typeof e ? e : r, Pi(Vr(t, 1, _s, !0), r, e) + })); + + function No(t) { + if (!t || !t.length) return []; + var e = 0; + return t = We(t, (function(t) { + if (_s(t)) return e = Hn(t.length, e), !0 + })), pn(e, (function(e) { + return Ze(t, fn(e)) + })) + } + + function Io(t, e) { + if (!t || !t.length) return []; + var n = No(t); + return null == e ? n : Ze(n, (function(t) { + return Ye(e, r, t) + })) + } + var Lo = ki((function(t, e) { + return _s(t) ? Fr(t, e) : [] + })), + Bo = ki((function(t) { + return zi(We(t, _s)) + })), + Oo = ki((function(t) { + var e = ko(t); + return _s(e) && (e = r), zi(We(t, _s), Oa(e, 2)) + })), + Ro = ki((function(t) { + var e = ko(t); + return e = "function" == typeof e ? e : r, zi(We(t, _s), r, e) + })), + Po = ki(No); + var Fo = ki((function(t) { + var e = t.length, + n = e > 1 ? t[e - 1] : r; + return n = "function" == typeof n ? (t.pop(), n) : r, Io(t, n) + })); + + function qo(t) { + var e = dr(t); + return e.__chain__ = !0, e + } + + function jo(t, e) { + return e(t) + } + var Uo = Da((function(t) { + var e = t.length, + n = e ? t[0] : 0, + i = this.__wrapped__, + a = function(e) { + return Lr(e, t) + }; + return !(e > 1 || this.__actions__.length) && i instanceof br && Ha(n) ? ((i = i.slice(n, +n + (e ? 1 : 0))).__actions__.push({ + func: jo, + args: [a], + thisArg: r + }), new yr(i, this.__chain__).thru((function(t) { + return e && !t.length && t.push(r), t + }))) : this.thru(a) + })); + var zo = ia((function(t, e, n) { + fe.call(t, n) ? ++t[n] : Ir(t, n, 1) + })); + var Yo = la(yo), + Vo = la(bo); + + function Ho(t, e) { + return (bs(t) ? He : qr)(t, Oa(e, 3)) + } + + function Go(t, e) { + return (bs(t) ? Ge : jr)(t, Oa(e, 3)) + } + var $o = ia((function(t, e, n) { + fe.call(t, n) ? t[n].push(e) : Ir(t, n, [e]) + })); + var Wo = ki((function(t, e, n) { + var r = -1, + i = "function" == typeof e, + a = ms(t) ? Xt(t.length) : []; + return qr(t, (function(t) { + a[++r] = i ? Ye(e, t, n) : ri(t, e, n) + })), a + })), + Ko = ia((function(t, e, n) { + Ir(t, n, e) + })); + + function Xo(t, e) { + return (bs(t) ? Ze : hi)(t, Oa(e, 3)) + } + var Zo = ia((function(t, e, n) { + t[n ? 0 : 1].push(e) + }), (function() { + return [ + [], + [] + ] + })); + var Jo = ki((function(t, e) { + if (null == t) return []; + var n = e.length; + return n > 1 && Ga(t, e[0], e[1]) ? e = [] : n > 2 && Ga(e[0], e[1], e[2]) && (e = [e[0]]), bi(t, Vr(e, 1), []) + })), + Qo = Rn || function() { + return Ne.Date.now() + }; + + function ts(t, e, n) { + return e = n ? r : e, e = t && null == e ? t.length : e, Ea(t, x, r, r, r, r, e) + } + + function es(t, e) { + var n; + if ("function" != typeof e) throw new ie(o); + return t = Us(t), + function() { + return --t > 0 && (n = e.apply(this, arguments)), t <= 1 && (e = r), n + } + } + var ns = ki((function(t, e, n) { + var r = g; + if (n.length) { + var i = Sn(n, Ba(ns)); + r |= _ + } + return Ea(t, r, e, n, i) + })), + rs = ki((function(t, e, n) { + var r = g | y; + if (n.length) { + var i = Sn(n, Ba(rs)); + r |= _ + } + return Ea(e, r, t, n, i) + })); + + function is(t, e, n) { + var i, a, s, u, c, f, l = 0, + h = !1, + d = !1, + p = !0; + if ("function" != typeof t) throw new ie(o); + + function g(e) { + var n = i, + o = a; + return i = a = r, l = e, u = t.apply(o, n) + } + + function y(t) { + var n = t - f; + return f === r || n >= e || n < 0 || d && t - l >= s + } + + function b() { + var t = Qo(); + if (y(t)) return v(t); + c = ro(b, function(t) { + var n = e - (t - f); + return d ? Gn(n, s - (t - l)) : n + }(t)) + } + + function v(t) { + return c = r, p && i ? g(t) : (i = a = r, u) + } + + function m() { + var t = Qo(), + n = y(t); + if (i = arguments, a = this, f = t, n) { + if (c === r) return function(t) { + return l = t, c = ro(b, e), h ? g(t) : u + }(f); + if (d) return Ki(c), c = ro(b, e), g(f) + } + return c === r && (c = ro(b, e)), u + } + return e = Ys(e) || 0, Ms(n) && (h = !!n.leading, s = (d = "maxWait" in n) ? Hn(Ys(n.maxWait) || 0, e) : s, p = "trailing" in n ? !!n.trailing : p), m.cancel = function() { + c !== r && Ki(c), l = 0, i = f = a = c = r + }, m.flush = function() { + return c === r ? u : v(Qo()) + }, m + } + var as = ki((function(t, e) { + return Pr(t, 1, e) + })), + os = ki((function(t, e, n) { + return Pr(t, Ys(e) || 0, n) + })); + + function ss(t, e) { + if ("function" != typeof t || null != e && "function" != typeof e) throw new ie(o); + var n = function() { + var r = arguments, + i = e ? e.apply(this, r) : r[0], + a = n.cache; + if (a.has(i)) return a.get(i); + var o = t.apply(this, r); + return n.cache = a.set(i, o) || a, o + }; + return n.cache = new(ss.Cache || _r), n + } + + function us(t) { + if ("function" != typeof t) throw new ie(o); + return function() { + var e = arguments; + switch (e.length) { + case 0: + return !t.call(this); + case 1: + return !t.call(this, e[0]); + case 2: + return !t.call(this, e[0], e[1]); + case 3: + return !t.call(this, e[0], e[1], e[2]) + } + return !t.apply(this, e) + } + } + ss.Cache = _r; + var cs = $i((function(t, e) { + var n = (e = 1 == e.length && bs(e[0]) ? Ze(e[0], gn(Oa())) : Ze(Vr(e, 1), gn(Oa()))).length; + return ki((function(r) { + for (var i = -1, a = Gn(r.length, n); ++i < a;) r[i] = e[i].call(this, r[i]); + return Ye(t, this, r) + })) + })), + fs = ki((function(t, e) { + var n = Sn(e, Ba(fs)); + return Ea(t, _, r, e, n) + })), + ls = ki((function(t, e) { + var n = Sn(e, Ba(ls)); + return Ea(t, w, r, e, n) + })), + hs = Da((function(t, e) { + return Ea(t, k, r, r, r, e) + })); + + function ds(t, e) { + return t === e || t != t && e != e + } + var ps = ma(Qr), + gs = ma((function(t, e) { + return t >= e + })), + ys = ii(function() { + return arguments + }()) ? ii : function(t) { + return Ts(t) && fe.call(t, "callee") && !Oe.call(t, "callee") + }, + bs = Xt.isArray, + vs = Pe ? gn(Pe) : function(t) { + return Ts(t) && Jr(t) == ot + }; + + function ms(t) { + return null != t && Ss(t.length) && !Es(t) + } + + function _s(t) { + return Ts(t) && ms(t) + } + var ws = Un || Yu, + xs = Fe ? gn(Fe) : function(t) { + return Ts(t) && Jr(t) == Y + }; + + function ks(t) { + if (!Ts(t)) return !1; + var e = Jr(t); + return e == H || e == V || "string" == typeof t.message && "string" == typeof t.name && !Ns(t) + } + + function Es(t) { + if (!Ms(t)) return !1; + var e = Jr(t); + return e == G || e == $ || e == U || e == J + } + + function As(t) { + return "number" == typeof t && t == Us(t) + } + + function Ss(t) { + return "number" == typeof t && t > -1 && t % 1 == 0 && t <= I + } + + function Ms(t) { + var e = typeof t; + return null != t && ("object" == e || "function" == e) + } + + function Ts(t) { + return null != t && "object" == typeof t + } + var Ds = qe ? gn(qe) : function(t) { + return Ts(t) && Ua(t) == W + }; + + function Cs(t) { + return "number" == typeof t || Ts(t) && Jr(t) == K + } + + function Ns(t) { + if (!Ts(t) || Jr(t) != Z) return !1; + var e = Ie(t); + if (null === e) return !0; + var n = fe.call(e, "constructor") && e.constructor; + return "function" == typeof n && n instanceof n && ce.call(n) == pe + } + var Is = je ? gn(je) : function(t) { + return Ts(t) && Jr(t) == Q + }; + var Ls = Ue ? gn(Ue) : function(t) { + return Ts(t) && Ua(t) == tt + }; + + function Bs(t) { + return "string" == typeof t || !bs(t) && Ts(t) && Jr(t) == et + } + + function Os(t) { + return "symbol" == typeof t || Ts(t) && Jr(t) == nt + } + var Rs = ze ? gn(ze) : function(t) { + return Ts(t) && Ss(t.length) && !!Ee[Jr(t)] + }; + var Ps = ma(li), + Fs = ma((function(t, e) { + return t <= e + })); + + function qs(t) { + if (!t) return []; + if (ms(t)) return Bs(t) ? Cn(t) : na(t); + if (ln && t[ln]) return function(t) { + for (var e, n = []; !(e = t.next()).done;) n.push(e.value); + return n + }(t[ln]()); + var e = Ua(t); + return (e == W ? En : e == tt ? Mn : du)(t) + } + + function js(t) { + return t ? (t = Ys(t)) === N || t === -N ? (t < 0 ? -1 : 1) * L : t == t ? t : 0 : 0 === t ? t : 0 + } + + function Us(t) { + var e = js(t), + n = e % 1; + return e == e ? n ? e - n : e : 0 + } + + function zs(t) { + return t ? Br(Us(t), 0, O) : 0 + } + + function Ys(t) { + if ("number" == typeof t) return t; + if (Os(t)) return B; + if (Ms(t)) { + var e = "function" == typeof t.valueOf ? t.valueOf() : t; + t = Ms(e) ? e + "" : e + } + if ("string" != typeof t) return 0 === t ? t : +t; + t = t.replace(It, ""); + var n = Yt.test(t); + return n || Ht.test(t) ? Te(t.slice(2), n ? 2 : 8) : zt.test(t) ? B : +t + } + + function Vs(t) { + return ra(t, au(t)) + } + + function Hs(t) { + return null == t ? "" : Ri(t) + } + var Gs = aa((function(t, e) { + if (Xa(e) || ms(e)) ra(e, iu(e), t); + else + for (var n in e) fe.call(e, n) && Tr(t, n, e[n]) + })), + $s = aa((function(t, e) { + ra(e, au(e), t) + })), + Ws = aa((function(t, e, n, r) { + ra(e, au(e), t, r) + })), + Ks = aa((function(t, e, n, r) { + ra(e, iu(e), t, r) + })), + Xs = Da(Lr); + var Zs = ki((function(t, e) { + t = ee(t); + var n = -1, + i = e.length, + a = i > 2 ? e[2] : r; + for (a && Ga(e[0], e[1], a) && (i = 1); ++n < i;) + for (var o = e[n], s = au(o), u = -1, c = s.length; ++u < c;) { + var f = s[u], + l = t[f]; + (l === r || ds(l, se[f]) && !fe.call(t, f)) && (t[f] = o[f]) + } + return t + })), + Js = ki((function(t) { + return t.push(r, Sa), Ye(su, r, t) + })); + + function Qs(t, e, n) { + var i = null == t ? r : Xr(t, e); + return i === r ? n : i + } + + function tu(t, e) { + return null != t && za(t, e, ei) + } + var eu = pa((function(t, e, n) { + null != e && "function" != typeof e.toString && (e = de.call(e)), t[e] = n + }), Mu(Cu)), + nu = pa((function(t, e, n) { + null != e && "function" != typeof e.toString && (e = de.call(e)), fe.call(t, e) ? t[e].push(n) : t[e] = [n] + }), Oa), + ru = ki(ri); + + function iu(t) { + return ms(t) ? kr(t) : ci(t) + } + + function au(t) { + return ms(t) ? kr(t, !0) : fi(t) + } + var ou = aa((function(t, e, n) { + gi(t, e, n) + })), + su = aa((function(t, e, n, r) { + gi(t, e, n, r) + })), + uu = Da((function(t, e) { + var n = {}; + if (null == t) return n; + var r = !1; + e = Ze(e, (function(e) { + return e = Gi(e, t), r || (r = e.length > 1), e + })), ra(t, Na(t), n), r && (n = Or(n, f | l | h, Ma)); + for (var i = e.length; i--;) Fi(n, e[i]); + return n + })); + var cu = Da((function(t, e) { + return null == t ? {} : function(t, e) { + return vi(t, e, (function(e, n) { + return tu(t, n) + })) + }(t, e) + })); + + function fu(t, e) { + if (null == t) return {}; + var n = Ze(Na(t), (function(t) { + return [t] + })); + return e = Oa(e), vi(t, n, (function(t, n) { + return e(t, n[0]) + })) + } + var lu = ka(iu), + hu = ka(au); + + function du(t) { + return null == t ? [] : yn(t, iu(t)) + } + var pu = ca((function(t, e, n) { + return e = e.toLowerCase(), t + (n ? gu(e) : e) + })); + + function gu(t) { + return ku(Hs(t).toLowerCase()) + } + + function yu(t) { + return (t = Hs(t)) && t.replace($t, _n).replace(be, "") + } + var bu = ca((function(t, e, n) { + return t + (n ? "-" : "") + e.toLowerCase() + })), + vu = ca((function(t, e, n) { + return t + (n ? " " : "") + e.toLowerCase() + })), + mu = ua("toLowerCase"); + var _u = ca((function(t, e, n) { + return t + (n ? "_" : "") + e.toLowerCase() + })); + var wu = ca((function(t, e, n) { + return t + (n ? " " : "") + ku(e) + })); + var xu = ca((function(t, e, n) { + return t + (n ? " " : "") + e.toUpperCase() + })), + ku = ua("toUpperCase"); + + function Eu(t, e, n) { + return t = Hs(t), (e = n ? r : e) === r ? function(t) { + return we.test(t) + }(t) ? function(t) { + return t.match(me) || [] + }(t) : function(t) { + return t.match(Ft) || [] + }(t) : t.match(e) || [] + } + var Au = ki((function(t, e) { + try { + return Ye(t, r, e) + } catch (t) { + return ks(t) ? t : new Jt(t) + } + })), + Su = Da((function(t, e) { + return He(e, (function(e) { + e = co(e), Ir(t, e, ns(t[e], t)) + })), t + })); + + function Mu(t) { + return function() { + return t + } + } + var Tu = ha(), + Du = ha(!0); + + function Cu(t) { + return t + } + + function Nu(t) { + return ui("function" == typeof t ? t : Or(t, f)) + } + var Iu = ki((function(t, e) { + return function(n) { + return ri(n, t, e) + } + })), + Lu = ki((function(t, e) { + return function(n) { + return ri(t, n, e) + } + })); + + function Bu(t, e, n) { + var r = iu(e), + i = Kr(e, r); + null != n || Ms(e) && (i.length || !r.length) || (n = e, e = t, t = this, i = Kr(e, iu(e))); + var a = !(Ms(n) && "chain" in n && !n.chain), + o = Es(t); + return He(i, (function(n) { + var r = e[n]; + t[n] = r, o && (t.prototype[n] = function() { + var e = this.__chain__; + if (a || e) { + var n = t(this.__wrapped__), + i = n.__actions__ = na(this.__actions__); + return i.push({ + func: r, + args: arguments, + thisArg: t + }), n.__chain__ = e, n + } + return r.apply(t, Je([this.value()], arguments)) + }) + })), t + } + + function Ou() {} + var Ru = ya(Ze), + Pu = ya($e), + Fu = ya(en); + + function qu(t) { + return $a(t) ? fn(co(t)) : function(t) { + return function(e) { + return Xr(e, t) + } + }(t) + } + var ju = va(), + Uu = va(!0); + + function zu() { + return [] + } + + function Yu() { + return !1 + } + var Vu = ga((function(t, e) { + return t + e + }), 0), + Hu = wa("ceil"), + Gu = ga((function(t, e) { + return t / e + }), 1), + $u = wa("floor"); + var Wu, Ku = ga((function(t, e) { + return t * e + }), 1), + Xu = wa("round"), + Zu = ga((function(t, e) { + return t - e + }), 0); + return dr.after = function(t, e) { + if ("function" != typeof e) throw new ie(o); + return t = Us(t), + function() { + if (--t < 1) return e.apply(this, arguments) + } + }, dr.ary = ts, dr.assign = Gs, dr.assignIn = $s, dr.assignInWith = Ws, dr.assignWith = Ks, dr.at = Xs, dr.before = es, dr.bind = ns, dr.bindAll = Su, dr.bindKey = rs, dr.castArray = function() { + if (!arguments.length) return []; + var t = arguments[0]; + return bs(t) ? t : [t] + }, dr.chain = qo, dr.chunk = function(t, e, n) { + e = (n ? Ga(t, e, n) : e === r) ? 1 : Hn(Us(e), 0); + var i = null == t ? 0 : t.length; + if (!i || e < 1) return []; + for (var a = 0, o = 0, s = Xt(Fn(i / e)); a < i;) s[o++] = Ci(t, a, a += e); + return s + }, dr.compact = function(t) { + for (var e = -1, n = null == t ? 0 : t.length, r = 0, i = []; ++e < n;) { + var a = t[e]; + a && (i[r++] = a) + } + return i + }, dr.concat = function() { + var t = arguments.length; + if (!t) return []; + for (var e = Xt(t - 1), n = arguments[0], r = t; r--;) e[r - 1] = arguments[r]; + return Je(bs(n) ? na(n) : [n], Vr(e, 1)) + }, dr.cond = function(t) { + var e = null == t ? 0 : t.length, + n = Oa(); + return t = e ? Ze(t, (function(t) { + if ("function" != typeof t[1]) throw new ie(o); + return [n(t[0]), t[1]] + })) : [], ki((function(n) { + for (var r = -1; ++r < e;) { + var i = t[r]; + if (Ye(i[0], this, n)) return Ye(i[1], this, n) + } + })) + }, dr.conforms = function(t) { + return function(t) { + var e = iu(t); + return function(n) { + return Rr(n, t, e) + } + }(Or(t, f)) + }, dr.constant = Mu, dr.countBy = zo, dr.create = function(t, e) { + var n = pr(t); + return null == e ? n : Nr(n, e) + }, dr.curry = function t(e, n, i) { + var a = Ea(e, v, r, r, r, r, r, n = i ? r : n); + return a.placeholder = t.placeholder, a + }, dr.curryRight = function t(e, n, i) { + var a = Ea(e, m, r, r, r, r, r, n = i ? r : n); + return a.placeholder = t.placeholder, a + }, dr.debounce = is, dr.defaults = Zs, dr.defaultsDeep = Js, dr.defer = as, dr.delay = os, dr.difference = ho, dr.differenceBy = po, dr.differenceWith = go, dr.drop = function(t, e, n) { + var i = null == t ? 0 : t.length; + return i ? Ci(t, (e = n || e === r ? 1 : Us(e)) < 0 ? 0 : e, i) : [] + }, dr.dropRight = function(t, e, n) { + var i = null == t ? 0 : t.length; + return i ? Ci(t, 0, (e = i - (e = n || e === r ? 1 : Us(e))) < 0 ? 0 : e) : [] + }, dr.dropRightWhile = function(t, e) { + return t && t.length ? ji(t, Oa(e, 3), !0, !0) : [] + }, dr.dropWhile = function(t, e) { + return t && t.length ? ji(t, Oa(e, 3), !0) : [] + }, dr.fill = function(t, e, n, i) { + var a = null == t ? 0 : t.length; + return a ? (n && "number" != typeof n && Ga(t, e, n) && (n = 0, i = a), function(t, e, n, i) { + var a = t.length; + for ((n = Us(n)) < 0 && (n = -n > a ? 0 : a + n), (i = i === r || i > a ? a : Us(i)) < 0 && (i += a), i = n > i ? 0 : zs(i); n < i;) t[n++] = e; + return t + }(t, e, n, i)) : [] + }, dr.filter = function(t, e) { + return (bs(t) ? We : Yr)(t, Oa(e, 3)) + }, dr.flatMap = function(t, e) { + return Vr(Xo(t, e), 1) + }, dr.flatMapDeep = function(t, e) { + return Vr(Xo(t, e), N) + }, dr.flatMapDepth = function(t, e, n) { + return n = n === r ? 1 : Us(n), Vr(Xo(t, e), n) + }, dr.flatten = vo, dr.flattenDeep = function(t) { + return (null == t ? 0 : t.length) ? Vr(t, N) : [] + }, dr.flattenDepth = function(t, e) { + return (null == t ? 0 : t.length) ? Vr(t, e = e === r ? 1 : Us(e)) : [] + }, dr.flip = function(t) { + return Ea(t, E) + }, dr.flow = Tu, dr.flowRight = Du, dr.fromPairs = function(t) { + for (var e = -1, n = null == t ? 0 : t.length, r = {}; ++e < n;) { + var i = t[e]; + r[i[0]] = i[1] + } + return r + }, dr.functions = function(t) { + return null == t ? [] : Kr(t, iu(t)) + }, dr.functionsIn = function(t) { + return null == t ? [] : Kr(t, au(t)) + }, dr.groupBy = $o, dr.initial = function(t) { + return (null == t ? 0 : t.length) ? Ci(t, 0, -1) : [] + }, dr.intersection = _o, dr.intersectionBy = wo, dr.intersectionWith = xo, dr.invert = eu, dr.invertBy = nu, dr.invokeMap = Wo, dr.iteratee = Nu, dr.keyBy = Ko, dr.keys = iu, dr.keysIn = au, dr.map = Xo, dr.mapKeys = function(t, e) { + var n = {}; + return e = Oa(e, 3), $r(t, (function(t, r, i) { + Ir(n, e(t, r, i), t) + })), n + }, dr.mapValues = function(t, e) { + var n = {}; + return e = Oa(e, 3), $r(t, (function(t, r, i) { + Ir(n, r, e(t, r, i)) + })), n + }, dr.matches = function(t) { + return di(Or(t, f)) + }, dr.matchesProperty = function(t, e) { + return pi(t, Or(e, f)) + }, dr.memoize = ss, dr.merge = ou, dr.mergeWith = su, dr.method = Iu, dr.methodOf = Lu, dr.mixin = Bu, dr.negate = us, dr.nthArg = function(t) { + return t = Us(t), ki((function(e) { + return yi(e, t) + })) + }, dr.omit = uu, dr.omitBy = function(t, e) { + return fu(t, us(Oa(e))) + }, dr.once = function(t) { + return es(2, t) + }, dr.orderBy = function(t, e, n, i) { + return null == t ? [] : (bs(e) || (e = null == e ? [] : [e]), bs(n = i ? r : n) || (n = null == n ? [] : [n]), bi(t, e, n)) + }, dr.over = Ru, dr.overArgs = cs, dr.overEvery = Pu, dr.overSome = Fu, dr.partial = fs, dr.partialRight = ls, dr.partition = Zo, dr.pick = cu, dr.pickBy = fu, dr.property = qu, dr.propertyOf = function(t) { + return function(e) { + return null == t ? r : Xr(t, e) + } + }, dr.pull = Eo, dr.pullAll = Ao, dr.pullAllBy = function(t, e, n) { + return t && t.length && e && e.length ? mi(t, e, Oa(n, 2)) : t + }, dr.pullAllWith = function(t, e, n) { + return t && t.length && e && e.length ? mi(t, e, r, n) : t + }, dr.pullAt = So, dr.range = ju, dr.rangeRight = Uu, dr.rearg = hs, dr.reject = function(t, e) { + return (bs(t) ? We : Yr)(t, us(Oa(e, 3))) + }, dr.remove = function(t, e) { + var n = []; + if (!t || !t.length) return n; + var r = -1, + i = [], + a = t.length; + for (e = Oa(e, 3); ++r < a;) { + var o = t[r]; + e(o, r, t) && (n.push(o), i.push(r)) + } + return _i(t, i), n + }, dr.rest = function(t, e) { + if ("function" != typeof t) throw new ie(o); + return ki(t, e = e === r ? e : Us(e)) + }, dr.reverse = Mo, dr.sampleSize = function(t, e, n) { + return e = (n ? Ga(t, e, n) : e === r) ? 1 : Us(e), (bs(t) ? Ar : Ai)(t, e) + }, dr.set = function(t, e, n) { + return null == t ? t : Si(t, e, n) + }, dr.setWith = function(t, e, n, i) { + return i = "function" == typeof i ? i : r, null == t ? t : Si(t, e, n, i) + }, dr.shuffle = function(t) { + return (bs(t) ? Sr : Di)(t) + }, dr.slice = function(t, e, n) { + var i = null == t ? 0 : t.length; + return i ? (n && "number" != typeof n && Ga(t, e, n) ? (e = 0, n = i) : (e = null == e ? 0 : Us(e), n = n === r ? i : Us(n)), Ci(t, e, n)) : [] + }, dr.sortBy = Jo, dr.sortedUniq = function(t) { + return t && t.length ? Bi(t) : [] + }, dr.sortedUniqBy = function(t, e) { + return t && t.length ? Bi(t, Oa(e, 2)) : [] + }, dr.split = function(t, e, n) { + return n && "number" != typeof n && Ga(t, e, n) && (e = n = r), (n = n === r ? O : n >>> 0) ? (t = Hs(t)) && ("string" == typeof e || null != e && !Is(e)) && !(e = Ri(e)) && kn(t) ? Wi(Cn(t), 0, n) : t.split(e, n) : [] + }, dr.spread = function(t, e) { + if ("function" != typeof t) throw new ie(o); + return e = null == e ? 0 : Hn(Us(e), 0), ki((function(n) { + var r = n[e], + i = Wi(n, 0, e); + return r && Je(i, r), Ye(t, this, i) + })) + }, dr.tail = function(t) { + var e = null == t ? 0 : t.length; + return e ? Ci(t, 1, e) : [] + }, dr.take = function(t, e, n) { + return t && t.length ? Ci(t, 0, (e = n || e === r ? 1 : Us(e)) < 0 ? 0 : e) : [] + }, dr.takeRight = function(t, e, n) { + var i = null == t ? 0 : t.length; + return i ? Ci(t, (e = i - (e = n || e === r ? 1 : Us(e))) < 0 ? 0 : e, i) : [] + }, dr.takeRightWhile = function(t, e) { + return t && t.length ? ji(t, Oa(e, 3), !1, !0) : [] + }, dr.takeWhile = function(t, e) { + return t && t.length ? ji(t, Oa(e, 3)) : [] + }, dr.tap = function(t, e) { + return e(t), t + }, dr.throttle = function(t, e, n) { + var r = !0, + i = !0; + if ("function" != typeof t) throw new ie(o); + return Ms(n) && (r = "leading" in n ? !!n.leading : r, i = "trailing" in n ? !!n.trailing : i), is(t, e, { + leading: r, + maxWait: e, + trailing: i + }) + }, dr.thru = jo, dr.toArray = qs, dr.toPairs = lu, dr.toPairsIn = hu, dr.toPath = function(t) { + return bs(t) ? Ze(t, co) : Os(t) ? [t] : na(uo(Hs(t))) + }, dr.toPlainObject = Vs, dr.transform = function(t, e, n) { + var r = bs(t), + i = r || ws(t) || Rs(t); + if (e = Oa(e, 4), null == n) { + var a = t && t.constructor; + n = i ? r ? new a : [] : Ms(t) && Es(a) ? pr(Ie(t)) : {} + } + return (i ? He : $r)(t, (function(t, r, i) { + return e(n, t, r, i) + })), n + }, dr.unary = function(t) { + return ts(t, 1) + }, dr.union = To, dr.unionBy = Do, dr.unionWith = Co, dr.uniq = function(t) { + return t && t.length ? Pi(t) : [] + }, dr.uniqBy = function(t, e) { + return t && t.length ? Pi(t, Oa(e, 2)) : [] + }, dr.uniqWith = function(t, e) { + return e = "function" == typeof e ? e : r, t && t.length ? Pi(t, r, e) : [] + }, dr.unset = function(t, e) { + return null == t || Fi(t, e) + }, dr.unzip = No, dr.unzipWith = Io, dr.update = function(t, e, n) { + return null == t ? t : qi(t, e, Hi(n)) + }, dr.updateWith = function(t, e, n, i) { + return i = "function" == typeof i ? i : r, null == t ? t : qi(t, e, Hi(n), i) + }, dr.values = du, dr.valuesIn = function(t) { + return null == t ? [] : yn(t, au(t)) + }, dr.without = Lo, dr.words = Eu, dr.wrap = function(t, e) { + return fs(Hi(e), t) + }, dr.xor = Bo, dr.xorBy = Oo, dr.xorWith = Ro, dr.zip = Po, dr.zipObject = function(t, e) { + return Yi(t || [], e || [], Tr) + }, dr.zipObjectDeep = function(t, e) { + return Yi(t || [], e || [], Si) + }, dr.zipWith = Fo, dr.entries = lu, dr.entriesIn = hu, dr.extend = $s, dr.extendWith = Ws, Bu(dr, dr), dr.add = Vu, dr.attempt = Au, dr.camelCase = pu, dr.capitalize = gu, dr.ceil = Hu, dr.clamp = function(t, e, n) { + return n === r && (n = e, e = r), n !== r && (n = (n = Ys(n)) == n ? n : 0), e !== r && (e = (e = Ys(e)) == e ? e : 0), Br(Ys(t), e, n) + }, dr.clone = function(t) { + return Or(t, h) + }, dr.cloneDeep = function(t) { + return Or(t, f | h) + }, dr.cloneDeepWith = function(t, e) { + return Or(t, f | h, e = "function" == typeof e ? e : r) + }, dr.cloneWith = function(t, e) { + return Or(t, h, e = "function" == typeof e ? e : r) + }, dr.conformsTo = function(t, e) { + return null == e || Rr(t, e, iu(e)) + }, dr.deburr = yu, dr.defaultTo = function(t, e) { + return null == t || t != t ? e : t + }, dr.divide = Gu, dr.endsWith = function(t, e, n) { + t = Hs(t), e = Ri(e); + var i = t.length, + a = n = n === r ? i : Br(Us(n), 0, i); + return (n -= e.length) >= 0 && t.slice(n, a) == e + }, dr.eq = ds, dr.escape = function(t) { + return (t = Hs(t)) && kt.test(t) ? t.replace(wt, wn) : t + }, dr.escapeRegExp = function(t) { + return (t = Hs(t)) && Nt.test(t) ? t.replace(Ct, "\\$&") : t + }, dr.every = function(t, e, n) { + var i = bs(t) ? $e : Ur; + return n && Ga(t, e, n) && (e = r), i(t, Oa(e, 3)) + }, dr.find = Yo, dr.findIndex = yo, dr.findKey = function(t, e) { + return rn(t, Oa(e, 3), $r) + }, dr.findLast = Vo, dr.findLastIndex = bo, dr.findLastKey = function(t, e) { + return rn(t, Oa(e, 3), Wr) + }, dr.floor = $u, dr.forEach = Ho, dr.forEachRight = Go, dr.forIn = function(t, e) { + return null == t ? t : Hr(t, Oa(e, 3), au) + }, dr.forInRight = function(t, e) { + return null == t ? t : Gr(t, Oa(e, 3), au) + }, dr.forOwn = function(t, e) { + return t && $r(t, Oa(e, 3)) + }, dr.forOwnRight = function(t, e) { + return t && Wr(t, Oa(e, 3)) + }, dr.get = Qs, dr.gt = ps, dr.gte = gs, dr.has = function(t, e) { + return null != t && za(t, e, ti) + }, dr.hasIn = tu, dr.head = mo, dr.identity = Cu, dr.includes = function(t, e, n, r) { + t = ms(t) ? t : du(t), n = n && !r ? Us(n) : 0; + var i = t.length; + return n < 0 && (n = Hn(i + n, 0)), Bs(t) ? n <= i && t.indexOf(e, n) > -1 : !!i && on(t, e, n) > -1 + }, dr.indexOf = function(t, e, n) { + var r = null == t ? 0 : t.length; + if (!r) return -1; + var i = null == n ? 0 : Us(n); + return i < 0 && (i = Hn(r + i, 0)), on(t, e, i) + }, dr.inRange = function(t, e, n) { + return e = js(e), n === r ? (n = e, e = 0) : n = js(n), + function(t, e, n) { + return t >= Gn(e, n) && t < Hn(e, n) + }(t = Ys(t), e, n) + }, dr.invoke = ru, dr.isArguments = ys, dr.isArray = bs, dr.isArrayBuffer = vs, dr.isArrayLike = ms, dr.isArrayLikeObject = _s, dr.isBoolean = function(t) { + return !0 === t || !1 === t || Ts(t) && Jr(t) == z + }, dr.isBuffer = ws, dr.isDate = xs, dr.isElement = function(t) { + return Ts(t) && 1 === t.nodeType && !Ns(t) + }, dr.isEmpty = function(t) { + if (null == t) return !0; + if (ms(t) && (bs(t) || "string" == typeof t || "function" == typeof t.splice || ws(t) || Rs(t) || ys(t))) return !t.length; + var e = Ua(t); + if (e == W || e == tt) return !t.size; + if (Xa(t)) return !ci(t).length; + for (var n in t) + if (fe.call(t, n)) return !1; + return !0 + }, dr.isEqual = function(t, e) { + return ai(t, e) + }, dr.isEqualWith = function(t, e, n) { + var i = (n = "function" == typeof n ? n : r) ? n(t, e) : r; + return i === r ? ai(t, e, r, n) : !!i + }, dr.isError = ks, dr.isFinite = function(t) { + return "number" == typeof t && zn(t) + }, dr.isFunction = Es, dr.isInteger = As, dr.isLength = Ss, dr.isMap = Ds, dr.isMatch = function(t, e) { + return t === e || oi(t, e, Pa(e)) + }, dr.isMatchWith = function(t, e, n) { + return n = "function" == typeof n ? n : r, oi(t, e, Pa(e), n) + }, dr.isNaN = function(t) { + return Cs(t) && t != +t + }, dr.isNative = function(t) { + if (Ka(t)) throw new Jt(a); + return si(t) + }, dr.isNil = function(t) { + return null == t + }, dr.isNull = function(t) { + return null === t + }, dr.isNumber = Cs, dr.isObject = Ms, dr.isObjectLike = Ts, dr.isPlainObject = Ns, dr.isRegExp = Is, dr.isSafeInteger = function(t) { + return As(t) && t >= -I && t <= I + }, dr.isSet = Ls, dr.isString = Bs, dr.isSymbol = Os, dr.isTypedArray = Rs, dr.isUndefined = function(t) { + return t === r + }, dr.isWeakMap = function(t) { + return Ts(t) && Ua(t) == it + }, dr.isWeakSet = function(t) { + return Ts(t) && Jr(t) == at + }, dr.join = function(t, e) { + return null == t ? "" : Yn.call(t, e) + }, dr.kebabCase = bu, dr.last = ko, dr.lastIndexOf = function(t, e, n) { + var i = null == t ? 0 : t.length; + if (!i) return -1; + var a = i; + return n !== r && (a = (a = Us(n)) < 0 ? Hn(i + a, 0) : Gn(a, i - 1)), e == e ? function(t, e, n) { + for (var r = n + 1; r--;) + if (t[r] === e) return r; + return r + }(t, e, a) : an(t, un, a, !0) + }, dr.lowerCase = vu, dr.lowerFirst = mu, dr.lt = Ps, dr.lte = Fs, dr.max = function(t) { + return t && t.length ? zr(t, Cu, Qr) : r + }, dr.maxBy = function(t, e) { + return t && t.length ? zr(t, Oa(e, 2), Qr) : r + }, dr.mean = function(t) { + return cn(t, Cu) + }, dr.meanBy = function(t, e) { + return cn(t, Oa(e, 2)) + }, dr.min = function(t) { + return t && t.length ? zr(t, Cu, li) : r + }, dr.minBy = function(t, e) { + return t && t.length ? zr(t, Oa(e, 2), li) : r + }, dr.stubArray = zu, dr.stubFalse = Yu, dr.stubObject = function() { + return {} + }, dr.stubString = function() { + return "" + }, dr.stubTrue = function() { + return !0 + }, dr.multiply = Ku, dr.nth = function(t, e) { + return t && t.length ? yi(t, Us(e)) : r + }, dr.noConflict = function() { + return Ne._ === this && (Ne._ = ge), this + }, dr.noop = Ou, dr.now = Qo, dr.pad = function(t, e, n) { + t = Hs(t); + var r = (e = Us(e)) ? Dn(t) : 0; + if (!e || r >= e) return t; + var i = (e - r) / 2; + return ba(qn(i), n) + t + ba(Fn(i), n) + }, dr.padEnd = function(t, e, n) { + t = Hs(t); + var r = (e = Us(e)) ? Dn(t) : 0; + return e && r < e ? t + ba(e - r, n) : t + }, dr.padStart = function(t, e, n) { + t = Hs(t); + var r = (e = Us(e)) ? Dn(t) : 0; + return e && r < e ? ba(e - r, n) + t : t + }, dr.parseInt = function(t, e, n) { + return n || null == e ? e = 0 : e && (e = +e), Wn(Hs(t).replace(Lt, ""), e || 0) + }, dr.random = function(t, e, n) { + if (n && "boolean" != typeof n && Ga(t, e, n) && (e = n = r), n === r && ("boolean" == typeof e ? (n = e, e = r) : "boolean" == typeof t && (n = t, t = r)), t === r && e === r ? (t = 0, e = 1) : (t = js(t), e === r ? (e = t, t = 0) : e = js(e)), t > e) { + var i = t; + t = e, e = i + } + if (n || t % 1 || e % 1) { + var a = Kn(); + return Gn(t + a * (e - t + Me("1e-" + ((a + "").length - 1))), e) + } + return wi(t, e) + }, dr.reduce = function(t, e, n) { + var r = bs(t) ? Qe : hn, + i = arguments.length < 3; + return r(t, Oa(e, 4), n, i, qr) + }, dr.reduceRight = function(t, e, n) { + var r = bs(t) ? tn : hn, + i = arguments.length < 3; + return r(t, Oa(e, 4), n, i, jr) + }, dr.repeat = function(t, e, n) { + return e = (n ? Ga(t, e, n) : e === r) ? 1 : Us(e), xi(Hs(t), e) + }, dr.replace = function() { + var t = arguments, + e = Hs(t[0]); + return t.length < 3 ? e : e.replace(t[1], t[2]) + }, dr.result = function(t, e, n) { + var i = -1, + a = (e = Gi(e, t)).length; + for (a || (a = 1, t = r); ++i < a;) { + var o = null == t ? r : t[co(e[i])]; + o === r && (i = a, o = n), t = Es(o) ? o.call(t) : o + } + return t + }, dr.round = Xu, dr.runInContext = t, dr.sample = function(t) { + return (bs(t) ? Er : Ei)(t) + }, dr.size = function(t) { + if (null == t) return 0; + if (ms(t)) return Bs(t) ? Dn(t) : t.length; + var e = Ua(t); + return e == W || e == tt ? t.size : ci(t).length + }, dr.snakeCase = _u, dr.some = function(t, e, n) { + var i = bs(t) ? en : Ni; + return n && Ga(t, e, n) && (e = r), i(t, Oa(e, 3)) + }, dr.sortedIndex = function(t, e) { + return Ii(t, e) + }, dr.sortedIndexBy = function(t, e, n) { + return Li(t, e, Oa(n, 2)) + }, dr.sortedIndexOf = function(t, e) { + var n = null == t ? 0 : t.length; + if (n) { + var r = Ii(t, e); + if (r < n && ds(t[r], e)) return r + } + return -1 + }, dr.sortedLastIndex = function(t, e) { + return Ii(t, e, !0) + }, dr.sortedLastIndexBy = function(t, e, n) { + return Li(t, e, Oa(n, 2), !0) + }, dr.sortedLastIndexOf = function(t, e) { + if (null == t ? 0 : t.length) { + var n = Ii(t, e, !0) - 1; + if (ds(t[n], e)) return n + } + return -1 + }, dr.startCase = wu, dr.startsWith = function(t, e, n) { + return t = Hs(t), n = null == n ? 0 : Br(Us(n), 0, t.length), e = Ri(e), t.slice(n, n + e.length) == e + }, dr.subtract = Zu, dr.sum = function(t) { + return t && t.length ? dn(t, Cu) : 0 + }, dr.sumBy = function(t, e) { + return t && t.length ? dn(t, Oa(e, 2)) : 0 + }, dr.template = function(t, e, n) { + var i = dr.templateSettings; + n && Ga(t, e, n) && (e = r), t = Hs(t), e = Ws({}, e, i, Aa); + var a, o, s = Ws({}, e.imports, i.imports, Aa), + u = iu(s), + c = yn(s, u), + f = 0, + l = e.interpolate || Wt, + h = "__p += '", + d = ne((e.escape || Wt).source + "|" + l.source + "|" + (l === St ? jt : Wt).source + "|" + (e.evaluate || Wt).source + "|$", "g"), + p = "//# sourceURL=" + (fe.call(e, "sourceURL") ? (e.sourceURL + "").replace(/[\r\n]/g, " ") : "lodash.templateSources[" + ++ke + "]") + "\n"; + t.replace(d, (function(e, n, r, i, s, u) { + return r || (r = i), h += t.slice(f, u).replace(Kt, xn), n && (a = !0, h += "' +\n__e(" + n + ") +\n'"), s && (o = !0, h += "';\n" + s + ";\n__p += '"), r && (h += "' +\n((__t = (" + r + ")) == null ? '' : __t) +\n'"), f = u + e.length, e + })), h += "';\n"; + var g = fe.call(e, "variable") && e.variable; + g || (h = "with (obj) {\n" + h + "\n}\n"), h = (o ? h.replace(bt, "") : h).replace(vt, "$1").replace(mt, "$1;"), h = "function(" + (g || "obj") + ") {\n" + (g ? "" : "obj || (obj = {});\n") + "var __t, __p = ''" + (a ? ", __e = _.escape" : "") + (o ? ", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n" : ";\n") + h + "return __p\n}"; + var y = Au((function() { + return Qt(u, p + "return " + h).apply(r, c) + })); + if (y.source = h, ks(y)) throw y; + return y + }, dr.times = function(t, e) { + if ((t = Us(t)) < 1 || t > I) return []; + var n = O, + r = Gn(t, O); + e = Oa(e), t -= O; + for (var i = pn(r, e); ++n < t;) e(n); + return i + }, dr.toFinite = js, dr.toInteger = Us, dr.toLength = zs, dr.toLower = function(t) { + return Hs(t).toLowerCase() + }, dr.toNumber = Ys, dr.toSafeInteger = function(t) { + return t ? Br(Us(t), -I, I) : 0 === t ? t : 0 + }, dr.toString = Hs, dr.toUpper = function(t) { + return Hs(t).toUpperCase() + }, dr.trim = function(t, e, n) { + if ((t = Hs(t)) && (n || e === r)) return t.replace(It, ""); + if (!t || !(e = Ri(e))) return t; + var i = Cn(t), + a = Cn(e); + return Wi(i, vn(i, a), mn(i, a) + 1).join("") + }, dr.trimEnd = function(t, e, n) { + if ((t = Hs(t)) && (n || e === r)) return t.replace(Bt, ""); + if (!t || !(e = Ri(e))) return t; + var i = Cn(t); + return Wi(i, 0, mn(i, Cn(e)) + 1).join("") + }, dr.trimStart = function(t, e, n) { + if ((t = Hs(t)) && (n || e === r)) return t.replace(Lt, ""); + if (!t || !(e = Ri(e))) return t; + var i = Cn(t); + return Wi(i, vn(i, Cn(e))).join("") + }, dr.truncate = function(t, e) { + var n = A, + i = S; + if (Ms(e)) { + var a = "separator" in e ? e.separator : a; + n = "length" in e ? Us(e.length) : n, i = "omission" in e ? Ri(e.omission) : i + } + var o = (t = Hs(t)).length; + if (kn(t)) { + var s = Cn(t); + o = s.length + } + if (n >= o) return t; + var u = n - Dn(i); + if (u < 1) return i; + var c = s ? Wi(s, 0, u).join("") : t.slice(0, u); + if (a === r) return c + i; + if (s && (u += c.length - u), Is(a)) { + if (t.slice(u).search(a)) { + var f, l = c; + for (a.global || (a = ne(a.source, Hs(Ut.exec(a)) + "g")), a.lastIndex = 0; f = a.exec(l);) var h = f.index; + c = c.slice(0, h === r ? u : h) + } + } else if (t.indexOf(Ri(a), u) != u) { + var d = c.lastIndexOf(a); + d > -1 && (c = c.slice(0, d)) + } + return c + i + }, dr.unescape = function(t) { + return (t = Hs(t)) && xt.test(t) ? t.replace(_t, Nn) : t + }, dr.uniqueId = function(t) { + var e = ++le; + return Hs(t) + e + }, dr.upperCase = xu, dr.upperFirst = ku, dr.each = Ho, dr.eachRight = Go, dr.first = mo, Bu(dr, (Wu = {}, $r(dr, (function(t, e) { + fe.call(dr.prototype, e) || (Wu[e] = t) + })), Wu), { + chain: !1 + }), dr.VERSION = "4.17.15", He(["bind", "bindKey", "curry", "curryRight", "partial", "partialRight"], (function(t) { + dr[t].placeholder = dr + })), He(["drop", "take"], (function(t, e) { + br.prototype[t] = function(n) { + n = n === r ? 1 : Hn(Us(n), 0); + var i = this.__filtered__ && !e ? new br(this) : this.clone(); + return i.__filtered__ ? i.__takeCount__ = Gn(n, i.__takeCount__) : i.__views__.push({ + size: Gn(n, O), + type: t + (i.__dir__ < 0 ? "Right" : "") + }), i + }, br.prototype[t + "Right"] = function(e) { + return this.reverse()[t](e).reverse() + } + })), He(["filter", "map", "takeWhile"], (function(t, e) { + var n = e + 1, + r = n == D || 3 == n; + br.prototype[t] = function(t) { + var e = this.clone(); + return e.__iteratees__.push({ + iteratee: Oa(t, 3), + type: n + }), e.__filtered__ = e.__filtered__ || r, e + } + })), He(["head", "last"], (function(t, e) { + var n = "take" + (e ? "Right" : ""); + br.prototype[t] = function() { + return this[n](1).value()[0] + } + })), He(["initial", "tail"], (function(t, e) { + var n = "drop" + (e ? "" : "Right"); + br.prototype[t] = function() { + return this.__filtered__ ? new br(this) : this[n](1) + } + })), br.prototype.compact = function() { + return this.filter(Cu) + }, br.prototype.find = function(t) { + return this.filter(t).head() + }, br.prototype.findLast = function(t) { + return this.reverse().find(t) + }, br.prototype.invokeMap = ki((function(t, e) { + return "function" == typeof t ? new br(this) : this.map((function(n) { + return ri(n, t, e) + })) + })), br.prototype.reject = function(t) { + return this.filter(us(Oa(t))) + }, br.prototype.slice = function(t, e) { + t = Us(t); + var n = this; + return n.__filtered__ && (t > 0 || e < 0) ? new br(n) : (t < 0 ? n = n.takeRight(-t) : t && (n = n.drop(t)), e !== r && (n = (e = Us(e)) < 0 ? n.dropRight(-e) : n.take(e - t)), n) + }, br.prototype.takeRightWhile = function(t) { + return this.reverse().takeWhile(t).reverse() + }, br.prototype.toArray = function() { + return this.take(O) + }, $r(br.prototype, (function(t, e) { + var n = /^(?:filter|find|map|reject)|While$/.test(e), + i = /^(?:head|last)$/.test(e), + a = dr[i ? "take" + ("last" == e ? "Right" : "") : e], + o = i || /^find/.test(e); + a && (dr.prototype[e] = function() { + var e = this.__wrapped__, + s = i ? [1] : arguments, + u = e instanceof br, + c = s[0], + f = u || bs(e), + l = function(t) { + var e = a.apply(dr, Je([t], s)); + return i && h ? e[0] : e + }; + f && n && "function" == typeof c && 1 != c.length && (u = f = !1); + var h = this.__chain__, + d = !!this.__actions__.length, + p = o && !h, + g = u && !d; + if (!o && f) { + e = g ? e : new br(this); + var y = t.apply(e, s); + return y.__actions__.push({ + func: jo, + args: [l], + thisArg: r + }), new yr(y, h) + } + return p && g ? t.apply(this, s) : (y = this.thru(l), p ? i ? y.value()[0] : y.value() : y) + }) + })), He(["pop", "push", "shift", "sort", "splice", "unshift"], (function(t) { + var e = ae[t], + n = /^(?:push|sort|unshift)$/.test(t) ? "tap" : "thru", + r = /^(?:pop|shift)$/.test(t); + dr.prototype[t] = function() { + var t = arguments; + if (r && !this.__chain__) { + var i = this.value(); + return e.apply(bs(i) ? i : [], t) + } + return this[n]((function(n) { + return e.apply(bs(n) ? n : [], t) + })) + } + })), $r(br.prototype, (function(t, e) { + var n = dr[e]; + if (n) { + var r = n.name + ""; + fe.call(ir, r) || (ir[r] = []), ir[r].push({ + name: e, + func: n + }) + } + })), ir[da(r, y).name] = [{ + name: "wrapper", + func: r + }], br.prototype.clone = function() { + var t = new br(this.__wrapped__); + return t.__actions__ = na(this.__actions__), t.__dir__ = this.__dir__, t.__filtered__ = this.__filtered__, t.__iteratees__ = na(this.__iteratees__), t.__takeCount__ = this.__takeCount__, t.__views__ = na(this.__views__), t + }, br.prototype.reverse = function() { + if (this.__filtered__) { + var t = new br(this); + t.__dir__ = -1, t.__filtered__ = !0 + } else(t = this.clone()).__dir__ *= -1; + return t + }, br.prototype.value = function() { + var t = this.__wrapped__.value(), + e = this.__dir__, + n = bs(t), + r = e < 0, + i = n ? t.length : 0, + a = function(t, e, n) { + var r = -1, + i = n.length; + for (; ++r < i;) { + var a = n[r], + o = a.size; + switch (a.type) { + case "drop": + t += o; + break; + case "dropRight": + e -= o; + break; + case "take": + e = Gn(e, t + o); + break; + case "takeRight": + t = Hn(t, e - o) + } + } + return { + start: t, + end: e + } + }(0, i, this.__views__), + o = a.start, + s = a.end, + u = s - o, + c = r ? s : o - 1, + f = this.__iteratees__, + l = f.length, + h = 0, + d = Gn(u, this.__takeCount__); + if (!n || !r && i == u && d == u) return Ui(t, this.__actions__); + var p = []; + t: for (; u-- && h < d;) { + for (var g = -1, y = t[c += e]; ++g < l;) { + var b = f[g], + v = b.iteratee, + m = b.type, + _ = v(y); + if (m == C) y = _; + else if (!_) { + if (m == D) continue t; + break t + } + } + p[h++] = y + } + return p + }, dr.prototype.at = Uo, dr.prototype.chain = function() { + return qo(this) + }, dr.prototype.commit = function() { + return new yr(this.value(), this.__chain__) + }, dr.prototype.next = function() { + this.__values__ === r && (this.__values__ = qs(this.value())); + var t = this.__index__ >= this.__values__.length; + return { + done: t, + value: t ? r : this.__values__[this.__index__++] + } + }, dr.prototype.plant = function(t) { + for (var e, n = this; n instanceof gr;) { + var i = lo(n); + i.__index__ = 0, i.__values__ = r, e ? a.__wrapped__ = i : e = i; + var a = i; + n = n.__wrapped__ + } + return a.__wrapped__ = t, e + }, dr.prototype.reverse = function() { + var t = this.__wrapped__; + if (t instanceof br) { + var e = t; + return this.__actions__.length && (e = new br(this)), (e = e.reverse()).__actions__.push({ + func: jo, + args: [Mo], + thisArg: r + }), new yr(e, this.__chain__) + } + return this.thru(Mo) + }, dr.prototype.toJSON = dr.prototype.valueOf = dr.prototype.value = function() { + return Ui(this.__wrapped__, this.__actions__) + }, dr.prototype.first = dr.prototype.head, ln && (dr.prototype[ln] = function() { + return this + }), dr + }(); + "function" == typeof define && "object" == typeof define.amd && define.amd ? (Ne._ = In, define((function() { + return In + }))) : Le ? ((Le.exports = In)._ = In, Ie._ = In) : Ne._ = In + }).call(this) + }).call(this, n(12), n(9)(t)) + }, function(t, e, n) { + var r = n(66), + i = n(67); + t.exports = function(t, e, n, a) { + var o = !n; + n || (n = {}); + for (var s = -1, u = e.length; ++s < u;) { + var c = e[s], + f = a ? a(n[c], t[c], c, n, t) : void 0; + void 0 === f && (f = t[c]), o ? i(n, c, f) : r(n, c, f) + } + return n + } + }, function(t, e, n) { + var r = n(268), + i = n(20), + a = Object.prototype, + o = a.hasOwnProperty, + s = a.propertyIsEnumerable, + u = r(function() { + return arguments + }()) ? r : function(t) { + return i(t) && o.call(t, "callee") && !s.call(t, "callee") + }; + t.exports = u + }, function(t, e, n) { + var r = n(270), + i = n(69), + a = n(94), + o = a && a.isTypedArray, + s = o ? i(o) : r; + t.exports = s + }, function(t, e, n) { + var r = n(42), + i = 1 / 0; + t.exports = function(t) { + if ("string" == typeof t || r(t)) return t; + var e = t + ""; + return "0" == e && 1 / t == -i ? "-0" : e + } + }, function(t, e, n) { + "use strict"; + var r = n(2), + i = n(111), + a = n(118), + o = n(119), + s = n(31); + + function u(t) { + s.call(this, "digest"), this._hash = t + } + r(u, s), u.prototype._update = function(t) { + this._hash.update(t) + }, u.prototype._final = function() { + return this._hash.digest() + }, t.exports = function(t) { + return "md5" === (t = t.toLowerCase()) ? new i : "rmd160" === t || "ripemd160" === t ? new a : new u(o(t)) + } + }, function(t, e, n) { + (function(t) { + function n(t) { + return Object.prototype.toString.call(t) + } + e.isArray = function(t) { + return Array.isArray ? Array.isArray(t) : "[object Array]" === n(t) + }, e.isBoolean = function(t) { + return "boolean" == typeof t + }, e.isNull = function(t) { + return null === t + }, e.isNullOrUndefined = function(t) { + return null == t + }, e.isNumber = function(t) { + return "number" == typeof t + }, e.isString = function(t) { + return "string" == typeof t + }, e.isSymbol = function(t) { + return "symbol" == typeof t + }, e.isUndefined = function(t) { + return void 0 === t + }, e.isRegExp = function(t) { + return "[object RegExp]" === n(t) + }, e.isObject = function(t) { + return "object" == typeof t && null !== t + }, e.isDate = function(t) { + return "[object Date]" === n(t) + }, e.isError = function(t) { + return "[object Error]" === n(t) || t instanceof Error + }, e.isFunction = function(t) { + return "function" == typeof t + }, e.isPrimitive = function(t) { + return null === t || "boolean" == typeof t || "number" == typeof t || "string" == typeof t || "symbol" == typeof t || void 0 === t + }, e.isBuffer = t.isBuffer + }).call(this, n(8).Buffer) + }, function(t, e, n) { + (function(e) { + t.exports = function(t, n) { + for (var r = Math.min(t.length, n.length), i = new e(r), a = 0; a < r; ++a) i[a] = t[a] ^ n[a]; + return i + } + }).call(this, n(8).Buffer) + }, function(t, e, n) { + "use strict"; + var r = n(21), + i = n(16); + + function a() { + this.pending = null, this.pendingTotal = 0, this.blockSize = this.constructor.blockSize, this.outSize = this.constructor.outSize, this.hmacStrength = this.constructor.hmacStrength, this.padLength = this.constructor.padLength / 8, this.endian = "big", this._delta8 = this.blockSize / 8, this._delta32 = this.blockSize / 32 + } + e.BlockHash = a, a.prototype.update = function(t, e) { + if (t = r.toArray(t, e), this.pending ? this.pending = this.pending.concat(t) : this.pending = t, this.pendingTotal += t.length, this.pending.length >= this._delta8) { + var n = (t = this.pending).length % this._delta8; + this.pending = t.slice(t.length - n, t.length), 0 === this.pending.length && (this.pending = null), t = r.join32(t, 0, t.length - n, this.endian); + for (var i = 0; i < t.length; i += this._delta32) this._update(t, i, i + this._delta32) + } + return this + }, a.prototype.digest = function(t) { + return this.update(this._pad()), i(null === this.pending), this._digest(t) + }, a.prototype._pad = function() { + var t = this.pendingTotal, + e = this._delta8, + n = e - (t + this.padLength) % e, + r = new Array(n + this.padLength); + r[0] = 128; + for (var i = 1; i < n; i++) r[i] = 0; + if (t <<= 3, "big" === this.endian) { + for (var a = 8; a < this.padLength; a++) r[i++] = 0; + r[i++] = 0, r[i++] = 0, r[i++] = 0, r[i++] = 0, r[i++] = t >>> 24 & 255, r[i++] = t >>> 16 & 255, r[i++] = t >>> 8 & 255, r[i++] = 255 & t + } else + for (r[i++] = 255 & t, r[i++] = t >>> 8 & 255, r[i++] = t >>> 16 & 255, r[i++] = t >>> 24 & 255, r[i++] = 0, r[i++] = 0, r[i++] = 0, r[i++] = 0, a = 8; a < this.padLength; a++) r[i++] = 0; + return r + } + }, function(t, e, n) { + var r = e; + r.bignum = n(5), r.define = n(482).define, r.base = n(58), r.constants = n(221), r.decoders = n(487), r.encoders = n(489) + }, function(t, e, n) { + var r = e; + r.Reporter = n(484).Reporter, r.DecoderBuffer = n(220).DecoderBuffer, r.EncoderBuffer = n(220).EncoderBuffer, r.Node = n(485) + }, function(t, e, n) { + t.exports = { + graphlib: n(19), + layout: n(349), + debug: n(403), + util: { + time: n(10).time, + notime: n(10).notime + }, + version: n(404) + } + }, function(t, e, n) { + (function(t, r) { + var i = function() { + var t = function(t, e, n, r) { + for (n = n || {}, r = t.length; r--; n[t[r]] = e); + return n + }, + e = [1, 4], + n = [1, 3], + r = [1, 5], + i = [1, 8, 9, 10, 11, 26, 34, 61, 62, 63, 64, 65, 66, 76, 77, 80, 81, 82, 84, 85, 91, 92, 93, 94, 95, 96], + a = [2, 2], + o = [1, 12], + s = [1, 13], + u = [1, 14], + c = [1, 15], + f = [1, 22], + l = [1, 46], + h = [1, 24], + d = [1, 25], + p = [1, 26], + g = [1, 27], + y = [1, 28], + b = [1, 40], + v = [1, 35], + m = [1, 37], + _ = [1, 32], + w = [1, 36], + x = [1, 39], + k = [1, 43], + E = [1, 44], + A = [1, 45], + S = [1, 34], + M = [1, 38], + T = [1, 41], + D = [1, 42], + C = [1, 33], + N = [1, 51], + I = [1, 8, 9, 10, 11, 26, 30, 34, 61, 62, 63, 64, 65, 66, 76, 77, 80, 81, 82, 84, 85, 91, 92, 93, 94, 95, 96], + L = [1, 55], + B = [1, 54], + O = [1, 56], + R = [8, 9, 11, 55, 56], + P = [8, 9, 10, 11, 55, 56], + F = [8, 9, 10, 11, 35, 55, 56], + q = [8, 9, 10, 11, 28, 34, 35, 37, 39, 41, 43, 45, 47, 48, 50, 55, 56, 66, 76, 77, 80, 81, 82, 84, 85, 91, 92, 93, 94, 95, 96], + j = [8, 9, 11, 34, 55, 56, 66, 76, 77, 80, 81, 82, 84, 85, 91, 92, 93, 94, 95, 96], + U = [34, 66, 76, 77, 80, 81, 82, 84, 85, 91, 92, 93, 94, 95, 96], + z = [1, 100], + Y = [1, 121], + V = [1, 122], + H = [1, 123], + G = [1, 124], + $ = [1, 104], + W = [1, 95], + K = [1, 96], + X = [1, 92], + Z = [1, 116], + J = [1, 117], + Q = [1, 118], + tt = [1, 119], + et = [1, 120], + nt = [1, 125], + rt = [1, 126], + it = [1, 98], + at = [1, 106], + ot = [1, 109], + st = [1, 107], + ut = [1, 108], + ct = [1, 101], + ft = [1, 114], + lt = [1, 113], + ht = [1, 97], + dt = [1, 94], + pt = [1, 103], + gt = [1, 105], + yt = [1, 110], + bt = [1, 111], + vt = [1, 112], + mt = [1, 115], + _t = [8, 9, 10, 11, 26, 30, 34, 61, 62, 63, 64, 65, 66, 76, 77, 80, 81, 82, 84, 85, 91, 92, 93, 94, 95, 96], + wt = [1, 129], + xt = [1, 133], + kt = [1, 135], + Et = [1, 136], + At = [8, 9, 10, 11, 12, 13, 26, 28, 29, 30, 34, 38, 40, 42, 44, 46, 47, 49, 51, 55, 56, 57, 61, 62, 63, 64, 65, 66, 67, 70, 76, 77, 80, 81, 82, 84, 85, 86, 87, 91, 92, 93, 94, 95, 96], + St = [8, 9, 10, 11, 13, 34, 66, 76, 77, 80, 81, 82, 84, 85, 91, 92, 93, 94, 95, 96], + Mt = [10, 77], + Tt = [1, 201], + Dt = [1, 205], + Ct = [1, 202], + Nt = [1, 199], + It = [1, 196], + Lt = [1, 197], + Bt = [1, 198], + Ot = [1, 200], + Rt = [1, 203], + Pt = [1, 204], + Ft = [1, 206], + qt = [8, 9, 11], + jt = [1, 222], + Ut = [8, 9, 11, 77], + zt = [8, 9, 10, 11, 61, 73, 76, 77, 80, 81, 82, 83, 84, 85, 86], + Yt = { + trace: function() {}, + yy: {}, + symbols_: { + error: 2, + mermaidDoc: 3, + graphConfig: 4, + document: 5, + line: 6, + statement: 7, + SEMI: 8, + NEWLINE: 9, + SPACE: 10, + EOF: 11, + GRAPH: 12, + DIR: 13, + FirstStmtSeperator: 14, + ending: 15, + endToken: 16, + spaceList: 17, + spaceListNewline: 18, + verticeStatement: 19, + separator: 20, + styleStatement: 21, + linkStyleStatement: 22, + classDefStatement: 23, + classStatement: 24, + clickStatement: 25, + subgraph: 26, + text: 27, + SQS: 28, + SQE: 29, + end: 30, + link: 31, + node: 32, + vertex: 33, + AMP: 34, + STYLE_SEPARATOR: 35, + idString: 36, + PS: 37, + PE: 38, + "(-": 39, + "-)": 40, + STADIUMSTART: 41, + STADIUMEND: 42, + CYLINDERSTART: 43, + CYLINDEREND: 44, + DIAMOND_START: 45, + DIAMOND_STOP: 46, + TAGEND: 47, + TRAPSTART: 48, + TRAPEND: 49, + INVTRAPSTART: 50, + INVTRAPEND: 51, + linkStatement: 52, + arrowText: 53, + TESTSTR: 54, + START_LINK: 55, + LINK: 56, + PIPE: 57, + textToken: 58, + STR: 59, + keywords: 60, + STYLE: 61, + LINKSTYLE: 62, + CLASSDEF: 63, + CLASS: 64, + CLICK: 65, + DOWN: 66, + UP: 67, + textNoTags: 68, + textNoTagsToken: 69, + DEFAULT: 70, + stylesOpt: 71, + alphaNum: 72, + HEX: 73, + numList: 74, + INTERPOLATE: 75, + NUM: 76, + COMMA: 77, + style: 78, + styleComponent: 79, + ALPHA: 80, + COLON: 81, + MINUS: 82, + UNIT: 83, + BRKT: 84, + DOT: 85, + PCT: 86, + TAGSTART: 87, + alphaNumToken: 88, + idStringToken: 89, + alphaNumStatement: 90, + PUNCTUATION: 91, + UNICODE_TEXT: 92, + PLUS: 93, + EQUALS: 94, + MULT: 95, + UNDERSCORE: 96, + graphCodeTokens: 97, + ARROW_CROSS: 98, + ARROW_POINT: 99, + ARROW_CIRCLE: 100, + ARROW_OPEN: 101, + QUOTE: 102, + $accept: 0, + $end: 1 + }, + terminals_: { + 2: "error", + 8: "SEMI", + 9: "NEWLINE", + 10: "SPACE", + 11: "EOF", + 12: "GRAPH", + 13: "DIR", + 26: "subgraph", + 28: "SQS", + 29: "SQE", + 30: "end", + 34: "AMP", + 35: "STYLE_SEPARATOR", + 37: "PS", + 38: "PE", + 39: "(-", + 40: "-)", + 41: "STADIUMSTART", + 42: "STADIUMEND", + 43: "CYLINDERSTART", + 44: "CYLINDEREND", + 45: "DIAMOND_START", + 46: "DIAMOND_STOP", + 47: "TAGEND", + 48: "TRAPSTART", + 49: "TRAPEND", + 50: "INVTRAPSTART", + 51: "INVTRAPEND", + 54: "TESTSTR", + 55: "START_LINK", + 56: "LINK", + 57: "PIPE", + 59: "STR", + 61: "STYLE", + 62: "LINKSTYLE", + 63: "CLASSDEF", + 64: "CLASS", + 65: "CLICK", + 66: "DOWN", + 67: "UP", + 70: "DEFAULT", + 73: "HEX", + 75: "INTERPOLATE", + 76: "NUM", + 77: "COMMA", + 80: "ALPHA", + 81: "COLON", + 82: "MINUS", + 83: "UNIT", + 84: "BRKT", + 85: "DOT", + 86: "PCT", + 87: "TAGSTART", + 91: "PUNCTUATION", + 92: "UNICODE_TEXT", + 93: "PLUS", + 94: "EQUALS", + 95: "MULT", + 96: "UNDERSCORE", + 98: "ARROW_CROSS", + 99: "ARROW_POINT", + 100: "ARROW_CIRCLE", + 101: "ARROW_OPEN", + 102: "QUOTE" + }, + productions_: [0, [3, 2], + [5, 0], + [5, 2], + [6, 1], + [6, 1], + [6, 1], + [6, 1], + [6, 1], + [4, 2], + [4, 2], + [4, 3], + [15, 2], + [15, 1], + [16, 1], + [16, 1], + [16, 1], + [14, 1], + [14, 1], + [14, 2], + [18, 2], + [18, 2], + [18, 1], + [18, 1], + [17, 2], + [17, 1], + [7, 2], + [7, 2], + [7, 2], + [7, 2], + [7, 2], + [7, 2], + [7, 9], + [7, 6], + [7, 4], + [20, 1], + [20, 1], + [20, 1], + [19, 3], + [19, 4], + [19, 2], + [19, 1], + [32, 1], + [32, 5], + [32, 3], + [33, 4], + [33, 6], + [33, 4], + [33, 4], + [33, 4], + [33, 4], + [33, 4], + [33, 6], + [33, 4], + [33, 4], + [33, 4], + [33, 4], + [33, 4], + [33, 1], + [31, 2], + [31, 3], + [31, 3], + [31, 1], + [31, 3], + [52, 1], + [53, 3], + [27, 1], + [27, 2], + [27, 1], + [60, 1], + [60, 1], + [60, 1], + [60, 1], + [60, 1], + [60, 1], + [60, 1], + [60, 1], + [60, 1], + [60, 1], + [60, 1], + [68, 1], + [68, 2], + [23, 5], + [23, 5], + [24, 5], + [25, 5], + [25, 7], + [25, 5], + [25, 7], + [21, 5], + [21, 5], + [22, 5], + [22, 5], + [22, 9], + [22, 9], + [22, 7], + [22, 7], + [74, 1], + [74, 3], + [71, 1], + [71, 3], + [78, 1], + [78, 2], + [79, 1], + [79, 1], + [79, 1], + [79, 1], + [79, 1], + [79, 1], + [79, 1], + [79, 1], + [79, 1], + [79, 1], + [79, 1], + [58, 1], + [58, 1], + [58, 1], + [58, 1], + [58, 1], + [58, 1], + [69, 1], + [69, 1], + [69, 1], + [69, 1], + [36, 1], + [36, 2], + [72, 1], + [72, 2], + [90, 1], + [90, 1], + [90, 1], + [90, 1], + [88, 1], + [88, 1], + [88, 1], + [88, 1], + [88, 1], + [88, 1], + [88, 1], + [88, 1], + [88, 1], + [88, 1], + [88, 1], + [88, 1], + [88, 1], + [89, 1], + [89, 1], + [89, 1], + [89, 1], + [89, 1], + [89, 1], + [89, 1], + [89, 1], + [89, 1], + [89, 1], + [89, 1], + [89, 1], + [89, 1], + [89, 1], + [89, 1], + [97, 1], + [97, 1], + [97, 1], + [97, 1], + [97, 1], + [97, 1], + [97, 1], + [97, 1], + [97, 1], + [97, 1], + [97, 1], + [97, 1], + [97, 1], + [97, 1], + [97, 1], + [97, 1], + [97, 1], + [97, 1], + [97, 1], + [97, 1], + [97, 1], + [97, 1], + [97, 1] + ], + performAction: function(t, e, n, r, i, a, o) { + var s = a.length - 1; + switch (i) { + case 2: + this.$ = []; + break; + case 3: + a[s] !== [] && a[s - 1].push(a[s]), this.$ = a[s - 1]; + break; + case 4: + case 66: + case 68: + case 80: + case 126: + case 128: + case 129: + this.$ = a[s]; + break; + case 11: + r.setDirection(a[s - 1]), this.$ = a[s - 1]; + break; + case 26: + this.$ = a[s - 1].nodes; + break; + case 27: + case 28: + case 29: + case 30: + case 31: + this.$ = []; + break; + case 32: + this.$ = r.addSubGraph(a[s - 6], a[s - 1], a[s - 4]); + break; + case 33: + this.$ = r.addSubGraph(a[s - 3], a[s - 1], a[s - 3]); + break; + case 34: + this.$ = r.addSubGraph(void 0, a[s - 1], void 0); + break; + case 38: + r.addLink(a[s - 2].stmt, a[s], a[s - 1]), this.$ = { + stmt: a[s], + nodes: a[s].concat(a[s - 2].nodes) + }; + break; + case 39: + r.addLink(a[s - 3].stmt, a[s - 1], a[s - 2]), this.$ = { + stmt: a[s - 1], + nodes: a[s - 1].concat(a[s - 3].nodes) + }; + break; + case 40: + this.$ = { + stmt: a[s - 1], + nodes: a[s - 1] + }; + break; + case 41: + this.$ = { + stmt: a[s], + nodes: a[s] + }; + break; + case 42: + this.$ = [a[s]]; + break; + case 43: + this.$ = a[s - 4].concat(a[s]); + break; + case 44: + this.$ = [a[s - 2]], r.setClass(a[s - 2], a[s]); + break; + case 45: + this.$ = a[s - 3], r.addVertex(a[s - 3], a[s - 1], "square"); + break; + case 46: + this.$ = a[s - 5], r.addVertex(a[s - 5], a[s - 2], "circle"); + break; + case 47: + this.$ = a[s - 3], r.addVertex(a[s - 3], a[s - 1], "ellipse"); + break; + case 48: + this.$ = a[s - 3], r.addVertex(a[s - 3], a[s - 1], "stadium"); + break; + case 49: + this.$ = a[s - 3], r.addVertex(a[s - 3], a[s - 1], "cylinder"); + break; + case 50: + this.$ = a[s - 3], r.addVertex(a[s - 3], a[s - 1], "round"); + break; + case 51: + this.$ = a[s - 3], r.addVertex(a[s - 3], a[s - 1], "diamond"); + break; + case 52: + this.$ = a[s - 5], r.addVertex(a[s - 5], a[s - 2], "hexagon"); + break; + case 53: + this.$ = a[s - 3], r.addVertex(a[s - 3], a[s - 1], "odd"); + break; + case 54: + this.$ = a[s - 3], r.addVertex(a[s - 3], a[s - 1], "trapezoid"); + break; + case 55: + this.$ = a[s - 3], r.addVertex(a[s - 3], a[s - 1], "inv_trapezoid"); + break; + case 56: + this.$ = a[s - 3], r.addVertex(a[s - 3], a[s - 1], "lean_right"); + break; + case 57: + this.$ = a[s - 3], r.addVertex(a[s - 3], a[s - 1], "lean_left"); + break; + case 58: + this.$ = a[s], r.addVertex(a[s]); + break; + case 59: + a[s - 1].text = a[s], this.$ = a[s - 1]; + break; + case 60: + case 61: + a[s - 2].text = a[s - 1], this.$ = a[s - 2]; + break; + case 62: + this.$ = a[s]; + break; + case 63: + var u = r.destructLink(a[s], a[s - 2]); + this.$ = { + type: u.type, + stroke: u.stroke, + text: a[s - 1] + }; + break; + case 64: + u = r.destructLink(a[s]); + this.$ = { + type: u.type, + stroke: u.stroke + }; + break; + case 65: + this.$ = a[s - 1]; + break; + case 67: + case 81: + case 127: + this.$ = a[s - 1] + "" + a[s]; + break; + case 82: + case 83: + this.$ = a[s - 4], r.addClass(a[s - 2], a[s]); + break; + case 84: + this.$ = a[s - 4], r.setClass(a[s - 2], a[s]); + break; + case 85: + this.$ = a[s - 4], r.setClickEvent(a[s - 2], a[s], void 0); + break; + case 86: + this.$ = a[s - 6], r.setClickEvent(a[s - 4], a[s - 2], a[s]); + break; + case 87: + this.$ = a[s - 4], r.setLink(a[s - 2], a[s], void 0); + break; + case 88: + this.$ = a[s - 6], r.setLink(a[s - 4], a[s - 2], a[s]); + break; + case 89: + this.$ = a[s - 4], r.addVertex(a[s - 2], void 0, void 0, a[s]); + break; + case 90: + case 92: + this.$ = a[s - 4], r.updateLink(a[s - 2], a[s]); + break; + case 91: + this.$ = a[s - 4], r.updateLink([a[s - 2]], a[s]); + break; + case 93: + this.$ = a[s - 8], r.updateLinkInterpolate([a[s - 6]], a[s - 2]), r.updateLink([a[s - 6]], a[s]); + break; + case 94: + this.$ = a[s - 8], r.updateLinkInterpolate(a[s - 6], a[s - 2]), r.updateLink(a[s - 6], a[s]); + break; + case 95: + this.$ = a[s - 6], r.updateLinkInterpolate([a[s - 4]], a[s]); + break; + case 96: + this.$ = a[s - 6], r.updateLinkInterpolate(a[s - 4], a[s]); + break; + case 97: + case 99: + this.$ = [a[s]]; + break; + case 98: + case 100: + a[s - 2].push(a[s]), this.$ = a[s - 2]; + break; + case 102: + this.$ = a[s - 1] + a[s]; + break; + case 124: + this.$ = a[s]; + break; + case 125: + this.$ = a[s - 1] + "" + a[s]; + break; + case 130: + this.$ = "v"; + break; + case 131: + this.$ = "-" + } + }, + table: [{ + 3: 1, + 4: 2, + 9: e, + 10: n, + 12: r + }, { + 1: [3] + }, t(i, a, { + 5: 6 + }), { + 4: 7, + 9: e, + 10: n, + 12: r + }, { + 4: 8, + 9: e, + 10: n, + 12: r + }, { + 13: [1, 9] + }, { + 1: [2, 1], + 6: 10, + 7: 11, + 8: o, + 9: s, + 10: u, + 11: c, + 19: 16, + 21: 17, + 22: 18, + 23: 19, + 24: 20, + 25: 21, + 26: f, + 32: 23, + 33: 29, + 34: l, + 36: 30, + 61: h, + 62: d, + 63: p, + 64: g, + 65: y, + 66: b, + 76: v, + 77: m, + 80: _, + 81: w, + 82: x, + 84: k, + 85: E, + 89: 31, + 91: A, + 92: S, + 93: M, + 94: T, + 95: D, + 96: C + }, t(i, [2, 9]), t(i, [2, 10]), { + 8: [1, 48], + 9: [1, 49], + 10: N, + 14: 47, + 17: 50 + }, t(I, [2, 3]), t(I, [2, 4]), t(I, [2, 5]), t(I, [2, 6]), t(I, [2, 7]), t(I, [2, 8]), { + 8: L, + 9: B, + 11: O, + 20: 52, + 31: 53, + 52: 57, + 55: [1, 58], + 56: [1, 59] + }, { + 8: L, + 9: B, + 11: O, + 20: 60 + }, { + 8: L, + 9: B, + 11: O, + 20: 61 + }, { + 8: L, + 9: B, + 11: O, + 20: 62 + }, { + 8: L, + 9: B, + 11: O, + 20: 63 + }, { + 8: L, + 9: B, + 11: O, + 20: 64 + }, { + 8: L, + 9: B, + 10: [1, 65], + 11: O, + 20: 66 + }, t(R, [2, 41], { + 17: 67, + 10: N + }), { + 10: [1, 68] + }, { + 10: [1, 69] + }, { + 10: [1, 70] + }, { + 10: [1, 71] + }, { + 10: [1, 72] + }, t(P, [2, 42], { + 35: [1, 73] + }), t(F, [2, 58], { + 89: 83, + 28: [1, 74], + 34: l, + 37: [1, 75], + 39: [1, 76], + 41: [1, 77], + 43: [1, 78], + 45: [1, 79], + 47: [1, 80], + 48: [1, 81], + 50: [1, 82], + 66: b, + 76: v, + 77: m, + 80: _, + 81: w, + 82: x, + 84: k, + 85: E, + 91: A, + 92: S, + 93: M, + 94: T, + 95: D, + 96: C + }), t(q, [2, 124]), t(q, [2, 145]), t(q, [2, 146]), t(q, [2, 147]), t(q, [2, 148]), t(q, [2, 149]), t(q, [2, 150]), t(q, [2, 151]), t(q, [2, 152]), t(q, [2, 153]), t(q, [2, 154]), t(q, [2, 155]), t(q, [2, 156]), t(q, [2, 157]), t(q, [2, 158]), t(q, [2, 159]), t(i, [2, 11]), t(i, [2, 17]), t(i, [2, 18]), { + 9: [1, 84] + }, t(j, [2, 25], { + 17: 85, + 10: N + }), t(I, [2, 26]), { + 32: 86, + 33: 29, + 34: l, + 36: 30, + 66: b, + 76: v, + 77: m, + 80: _, + 81: w, + 82: x, + 84: k, + 85: E, + 89: 31, + 91: A, + 92: S, + 93: M, + 94: T, + 95: D, + 96: C + }, t(I, [2, 35]), t(I, [2, 36]), t(I, [2, 37]), t(U, [2, 62], { + 53: 87, + 54: [1, 88], + 57: [1, 89] + }), { + 10: z, + 12: Y, + 13: V, + 26: H, + 27: 90, + 30: G, + 34: $, + 47: W, + 55: K, + 58: 91, + 59: X, + 60: 102, + 61: Z, + 62: J, + 63: Q, + 64: tt, + 65: et, + 66: nt, + 67: rt, + 69: 93, + 70: it, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: ct, + 84: ft, + 85: lt, + 86: ht, + 87: dt, + 88: 99, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, t([34, 54, 57, 66, 76, 77, 80, 81, 82, 84, 85, 91, 92, 93, 94, 95, 96], [2, 64]), t(I, [2, 27]), t(I, [2, 28]), t(I, [2, 29]), t(I, [2, 30]), t(I, [2, 31]), { + 10: z, + 12: Y, + 13: V, + 26: H, + 27: 127, + 30: G, + 34: $, + 47: W, + 55: K, + 58: 91, + 59: X, + 60: 102, + 61: Z, + 62: J, + 63: Q, + 64: tt, + 65: et, + 66: nt, + 67: rt, + 69: 93, + 70: it, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: ct, + 84: ft, + 85: lt, + 86: ht, + 87: dt, + 88: 99, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, t(_t, a, { + 5: 128 + }), t(R, [2, 40], { + 34: wt + }), { + 13: xt, + 34: $, + 66: kt, + 72: 130, + 73: [1, 131], + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: Et, + 84: ft, + 85: lt, + 88: 134, + 90: 132, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, { + 70: [1, 137], + 74: 138, + 76: [1, 139] + }, { + 13: xt, + 34: $, + 66: kt, + 70: [1, 140], + 72: 141, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: Et, + 84: ft, + 85: lt, + 88: 134, + 90: 132, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, { + 13: xt, + 34: $, + 66: kt, + 72: 142, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: Et, + 84: ft, + 85: lt, + 88: 134, + 90: 132, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, { + 13: xt, + 34: $, + 66: kt, + 72: 143, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: Et, + 84: ft, + 85: lt, + 88: 134, + 90: 132, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, { + 34: l, + 36: 144, + 66: b, + 76: v, + 77: m, + 80: _, + 81: w, + 82: x, + 84: k, + 85: E, + 89: 31, + 91: A, + 92: S, + 93: M, + 94: T, + 95: D, + 96: C + }, { + 10: z, + 12: Y, + 13: V, + 26: H, + 27: 145, + 30: G, + 34: $, + 47: W, + 55: K, + 58: 91, + 59: X, + 60: 102, + 61: Z, + 62: J, + 63: Q, + 64: tt, + 65: et, + 66: nt, + 67: rt, + 69: 93, + 70: it, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: ct, + 84: ft, + 85: lt, + 86: ht, + 87: dt, + 88: 99, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, { + 10: z, + 12: Y, + 13: V, + 26: H, + 27: 147, + 30: G, + 34: $, + 37: [1, 146], + 47: W, + 55: K, + 58: 91, + 59: X, + 60: 102, + 61: Z, + 62: J, + 63: Q, + 64: tt, + 65: et, + 66: nt, + 67: rt, + 69: 93, + 70: it, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: ct, + 84: ft, + 85: lt, + 86: ht, + 87: dt, + 88: 99, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, { + 10: z, + 12: Y, + 13: V, + 26: H, + 27: 148, + 30: G, + 34: $, + 47: W, + 55: K, + 58: 91, + 59: X, + 60: 102, + 61: Z, + 62: J, + 63: Q, + 64: tt, + 65: et, + 66: nt, + 67: rt, + 69: 93, + 70: it, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: ct, + 84: ft, + 85: lt, + 86: ht, + 87: dt, + 88: 99, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, { + 10: z, + 12: Y, + 13: V, + 26: H, + 27: 149, + 30: G, + 34: $, + 47: W, + 55: K, + 58: 91, + 59: X, + 60: 102, + 61: Z, + 62: J, + 63: Q, + 64: tt, + 65: et, + 66: nt, + 67: rt, + 69: 93, + 70: it, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: ct, + 84: ft, + 85: lt, + 86: ht, + 87: dt, + 88: 99, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, { + 10: z, + 12: Y, + 13: V, + 26: H, + 27: 150, + 30: G, + 34: $, + 47: W, + 55: K, + 58: 91, + 59: X, + 60: 102, + 61: Z, + 62: J, + 63: Q, + 64: tt, + 65: et, + 66: nt, + 67: rt, + 69: 93, + 70: it, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: ct, + 84: ft, + 85: lt, + 86: ht, + 87: dt, + 88: 99, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, { + 10: z, + 12: Y, + 13: V, + 26: H, + 27: 151, + 30: G, + 34: $, + 45: [1, 152], + 47: W, + 55: K, + 58: 91, + 59: X, + 60: 102, + 61: Z, + 62: J, + 63: Q, + 64: tt, + 65: et, + 66: nt, + 67: rt, + 69: 93, + 70: it, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: ct, + 84: ft, + 85: lt, + 86: ht, + 87: dt, + 88: 99, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, { + 10: z, + 12: Y, + 13: V, + 26: H, + 27: 153, + 30: G, + 34: $, + 47: W, + 55: K, + 58: 91, + 59: X, + 60: 102, + 61: Z, + 62: J, + 63: Q, + 64: tt, + 65: et, + 66: nt, + 67: rt, + 69: 93, + 70: it, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: ct, + 84: ft, + 85: lt, + 86: ht, + 87: dt, + 88: 99, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, { + 10: z, + 12: Y, + 13: V, + 26: H, + 27: 154, + 30: G, + 34: $, + 47: W, + 55: K, + 58: 91, + 59: X, + 60: 102, + 61: Z, + 62: J, + 63: Q, + 64: tt, + 65: et, + 66: nt, + 67: rt, + 69: 93, + 70: it, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: ct, + 84: ft, + 85: lt, + 86: ht, + 87: dt, + 88: 99, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, { + 10: z, + 12: Y, + 13: V, + 26: H, + 27: 155, + 30: G, + 34: $, + 47: W, + 55: K, + 58: 91, + 59: X, + 60: 102, + 61: Z, + 62: J, + 63: Q, + 64: tt, + 65: et, + 66: nt, + 67: rt, + 69: 93, + 70: it, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: ct, + 84: ft, + 85: lt, + 86: ht, + 87: dt, + 88: 99, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, t(q, [2, 125]), t(i, [2, 19]), t(j, [2, 24]), t(R, [2, 38], { + 17: 156, + 10: N + }), t(U, [2, 59], { + 10: [1, 157] + }), { + 10: [1, 158] + }, { + 10: z, + 12: Y, + 13: V, + 26: H, + 27: 159, + 30: G, + 34: $, + 47: W, + 55: K, + 58: 91, + 59: X, + 60: 102, + 61: Z, + 62: J, + 63: Q, + 64: tt, + 65: et, + 66: nt, + 67: rt, + 69: 93, + 70: it, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: ct, + 84: ft, + 85: lt, + 86: ht, + 87: dt, + 88: 99, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, { + 10: z, + 12: Y, + 13: V, + 26: H, + 30: G, + 34: $, + 47: W, + 55: K, + 56: [1, 160], + 58: 161, + 60: 102, + 61: Z, + 62: J, + 63: Q, + 64: tt, + 65: et, + 66: nt, + 67: rt, + 69: 93, + 70: it, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: ct, + 84: ft, + 85: lt, + 86: ht, + 87: dt, + 88: 99, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, t(At, [2, 66]), t(At, [2, 68]), t(At, [2, 114]), t(At, [2, 115]), t(At, [2, 116]), t(At, [2, 117]), t(At, [2, 118]), t(At, [2, 119]), t(At, [2, 120]), t(At, [2, 121]), t(At, [2, 122]), t(At, [2, 123]), t(At, [2, 132]), t(At, [2, 133]), t(At, [2, 134]), t(At, [2, 135]), t(At, [2, 136]), t(At, [2, 137]), t(At, [2, 138]), t(At, [2, 139]), t(At, [2, 140]), t(At, [2, 141]), t(At, [2, 142]), t(At, [2, 143]), t(At, [2, 144]), t(At, [2, 69]), t(At, [2, 70]), t(At, [2, 71]), t(At, [2, 72]), t(At, [2, 73]), t(At, [2, 74]), t(At, [2, 75]), t(At, [2, 76]), t(At, [2, 77]), t(At, [2, 78]), t(At, [2, 79]), { + 8: L, + 9: B, + 10: z, + 11: O, + 12: Y, + 13: V, + 20: 163, + 26: H, + 28: [1, 162], + 30: G, + 34: $, + 47: W, + 55: K, + 58: 161, + 60: 102, + 61: Z, + 62: J, + 63: Q, + 64: tt, + 65: et, + 66: nt, + 67: rt, + 69: 93, + 70: it, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: ct, + 84: ft, + 85: lt, + 86: ht, + 87: dt, + 88: 99, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, { + 6: 10, + 7: 11, + 8: o, + 9: s, + 10: u, + 11: c, + 19: 16, + 21: 17, + 22: 18, + 23: 19, + 24: 20, + 25: 21, + 26: f, + 30: [1, 164], + 32: 23, + 33: 29, + 34: l, + 36: 30, + 61: h, + 62: d, + 63: p, + 64: g, + 65: y, + 66: b, + 76: v, + 77: m, + 80: _, + 81: w, + 82: x, + 84: k, + 85: E, + 89: 31, + 91: A, + 92: S, + 93: M, + 94: T, + 95: D, + 96: C + }, { + 10: N, + 17: 165 + }, { + 10: [1, 166], + 13: xt, + 34: $, + 66: kt, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: Et, + 84: ft, + 85: lt, + 88: 134, + 90: 167, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, { + 10: [1, 168] + }, t(St, [2, 126]), t(St, [2, 128]), t(St, [2, 129]), t(St, [2, 130]), t(St, [2, 131]), { + 10: [1, 169] + }, { + 10: [1, 170], + 77: [1, 171] + }, t(Mt, [2, 97]), { + 10: [1, 172] + }, { + 10: [1, 173], + 13: xt, + 34: $, + 66: kt, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: Et, + 84: ft, + 85: lt, + 88: 134, + 90: 167, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, { + 10: [1, 174], + 13: xt, + 34: $, + 66: kt, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: Et, + 84: ft, + 85: lt, + 88: 134, + 90: 167, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, { + 10: [1, 175], + 13: xt, + 34: $, + 66: kt, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: Et, + 84: ft, + 85: lt, + 88: 134, + 90: 167, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, t(P, [2, 44], { + 89: 83, + 34: l, + 66: b, + 76: v, + 77: m, + 80: _, + 81: w, + 82: x, + 84: k, + 85: E, + 91: A, + 92: S, + 93: M, + 94: T, + 95: D, + 96: C + }), { + 10: z, + 12: Y, + 13: V, + 26: H, + 29: [1, 176], + 30: G, + 34: $, + 47: W, + 55: K, + 58: 161, + 60: 102, + 61: Z, + 62: J, + 63: Q, + 64: tt, + 65: et, + 66: nt, + 67: rt, + 69: 93, + 70: it, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: ct, + 84: ft, + 85: lt, + 86: ht, + 87: dt, + 88: 99, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, { + 10: z, + 12: Y, + 13: V, + 26: H, + 27: 177, + 30: G, + 34: $, + 47: W, + 55: K, + 58: 91, + 59: X, + 60: 102, + 61: Z, + 62: J, + 63: Q, + 64: tt, + 65: et, + 66: nt, + 67: rt, + 69: 93, + 70: it, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: ct, + 84: ft, + 85: lt, + 86: ht, + 87: dt, + 88: 99, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, { + 10: z, + 12: Y, + 13: V, + 26: H, + 30: G, + 34: $, + 38: [1, 178], + 47: W, + 55: K, + 58: 161, + 60: 102, + 61: Z, + 62: J, + 63: Q, + 64: tt, + 65: et, + 66: nt, + 67: rt, + 69: 93, + 70: it, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: ct, + 84: ft, + 85: lt, + 86: ht, + 87: dt, + 88: 99, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, { + 10: z, + 12: Y, + 13: V, + 26: H, + 30: G, + 34: $, + 40: [1, 179], + 47: W, + 55: K, + 58: 161, + 60: 102, + 61: Z, + 62: J, + 63: Q, + 64: tt, + 65: et, + 66: nt, + 67: rt, + 69: 93, + 70: it, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: ct, + 84: ft, + 85: lt, + 86: ht, + 87: dt, + 88: 99, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, { + 10: z, + 12: Y, + 13: V, + 26: H, + 30: G, + 34: $, + 42: [1, 180], + 47: W, + 55: K, + 58: 161, + 60: 102, + 61: Z, + 62: J, + 63: Q, + 64: tt, + 65: et, + 66: nt, + 67: rt, + 69: 93, + 70: it, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: ct, + 84: ft, + 85: lt, + 86: ht, + 87: dt, + 88: 99, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, { + 10: z, + 12: Y, + 13: V, + 26: H, + 30: G, + 34: $, + 44: [1, 181], + 47: W, + 55: K, + 58: 161, + 60: 102, + 61: Z, + 62: J, + 63: Q, + 64: tt, + 65: et, + 66: nt, + 67: rt, + 69: 93, + 70: it, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: ct, + 84: ft, + 85: lt, + 86: ht, + 87: dt, + 88: 99, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, { + 10: z, + 12: Y, + 13: V, + 26: H, + 30: G, + 34: $, + 46: [1, 182], + 47: W, + 55: K, + 58: 161, + 60: 102, + 61: Z, + 62: J, + 63: Q, + 64: tt, + 65: et, + 66: nt, + 67: rt, + 69: 93, + 70: it, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: ct, + 84: ft, + 85: lt, + 86: ht, + 87: dt, + 88: 99, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, { + 10: z, + 12: Y, + 13: V, + 26: H, + 27: 183, + 30: G, + 34: $, + 47: W, + 55: K, + 58: 91, + 59: X, + 60: 102, + 61: Z, + 62: J, + 63: Q, + 64: tt, + 65: et, + 66: nt, + 67: rt, + 69: 93, + 70: it, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: ct, + 84: ft, + 85: lt, + 86: ht, + 87: dt, + 88: 99, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, { + 10: z, + 12: Y, + 13: V, + 26: H, + 29: [1, 184], + 30: G, + 34: $, + 47: W, + 55: K, + 58: 161, + 60: 102, + 61: Z, + 62: J, + 63: Q, + 64: tt, + 65: et, + 66: nt, + 67: rt, + 69: 93, + 70: it, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: ct, + 84: ft, + 85: lt, + 86: ht, + 87: dt, + 88: 99, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, { + 10: z, + 12: Y, + 13: V, + 26: H, + 30: G, + 34: $, + 47: W, + 49: [1, 185], + 51: [1, 186], + 55: K, + 58: 161, + 60: 102, + 61: Z, + 62: J, + 63: Q, + 64: tt, + 65: et, + 66: nt, + 67: rt, + 69: 93, + 70: it, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: ct, + 84: ft, + 85: lt, + 86: ht, + 87: dt, + 88: 99, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, { + 10: z, + 12: Y, + 13: V, + 26: H, + 30: G, + 34: $, + 47: W, + 49: [1, 188], + 51: [1, 187], + 55: K, + 58: 161, + 60: 102, + 61: Z, + 62: J, + 63: Q, + 64: tt, + 65: et, + 66: nt, + 67: rt, + 69: 93, + 70: it, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: ct, + 84: ft, + 85: lt, + 86: ht, + 87: dt, + 88: 99, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, t(R, [2, 39], { + 34: wt + }), t(U, [2, 61]), t(U, [2, 60]), { + 10: z, + 12: Y, + 13: V, + 26: H, + 30: G, + 34: $, + 47: W, + 55: K, + 57: [1, 189], + 58: 161, + 60: 102, + 61: Z, + 62: J, + 63: Q, + 64: tt, + 65: et, + 66: nt, + 67: rt, + 69: 93, + 70: it, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: ct, + 84: ft, + 85: lt, + 86: ht, + 87: dt, + 88: 99, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, t(U, [2, 63]), t(At, [2, 67]), { + 10: z, + 12: Y, + 13: V, + 26: H, + 27: 190, + 30: G, + 34: $, + 47: W, + 55: K, + 58: 91, + 59: X, + 60: 102, + 61: Z, + 62: J, + 63: Q, + 64: tt, + 65: et, + 66: nt, + 67: rt, + 69: 93, + 70: it, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: ct, + 84: ft, + 85: lt, + 86: ht, + 87: dt, + 88: 99, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, t(_t, a, { + 5: 191 + }), t(I, [2, 34]), { + 33: 192, + 34: l, + 36: 30, + 66: b, + 76: v, + 77: m, + 80: _, + 81: w, + 82: x, + 84: k, + 85: E, + 89: 31, + 91: A, + 92: S, + 93: M, + 94: T, + 95: D, + 96: C + }, { + 10: Tt, + 61: Dt, + 71: 193, + 73: Ct, + 76: Nt, + 78: 194, + 79: 195, + 80: It, + 81: Lt, + 82: Bt, + 83: Ot, + 84: Rt, + 85: Pt, + 86: Ft + }, t(St, [2, 127]), { + 10: Tt, + 61: Dt, + 71: 207, + 73: Ct, + 76: Nt, + 78: 194, + 79: 195, + 80: It, + 81: Lt, + 82: Bt, + 83: Ot, + 84: Rt, + 85: Pt, + 86: Ft + }, { + 10: Tt, + 61: Dt, + 71: 208, + 73: Ct, + 75: [1, 209], + 76: Nt, + 78: 194, + 79: 195, + 80: It, + 81: Lt, + 82: Bt, + 83: Ot, + 84: Rt, + 85: Pt, + 86: Ft + }, { + 10: Tt, + 61: Dt, + 71: 210, + 73: Ct, + 75: [1, 211], + 76: Nt, + 78: 194, + 79: 195, + 80: It, + 81: Lt, + 82: Bt, + 83: Ot, + 84: Rt, + 85: Pt, + 86: Ft + }, { + 76: [1, 212] + }, { + 10: Tt, + 61: Dt, + 71: 213, + 73: Ct, + 76: Nt, + 78: 194, + 79: 195, + 80: It, + 81: Lt, + 82: Bt, + 83: Ot, + 84: Rt, + 85: Pt, + 86: Ft + }, { + 10: Tt, + 61: Dt, + 71: 214, + 73: Ct, + 76: Nt, + 78: 194, + 79: 195, + 80: It, + 81: Lt, + 82: Bt, + 83: Ot, + 84: Rt, + 85: Pt, + 86: Ft + }, { + 13: xt, + 34: $, + 66: kt, + 72: 215, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: Et, + 84: ft, + 85: lt, + 88: 134, + 90: 132, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, { + 13: xt, + 34: $, + 59: [1, 217], + 66: kt, + 72: 216, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: Et, + 84: ft, + 85: lt, + 88: 134, + 90: 132, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, t(F, [2, 45]), { + 10: z, + 12: Y, + 13: V, + 26: H, + 30: G, + 34: $, + 38: [1, 218], + 47: W, + 55: K, + 58: 161, + 60: 102, + 61: Z, + 62: J, + 63: Q, + 64: tt, + 65: et, + 66: nt, + 67: rt, + 69: 93, + 70: it, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: ct, + 84: ft, + 85: lt, + 86: ht, + 87: dt, + 88: 99, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, t(F, [2, 50]), t(F, [2, 47]), t(F, [2, 48]), t(F, [2, 49]), t(F, [2, 51]), { + 10: z, + 12: Y, + 13: V, + 26: H, + 30: G, + 34: $, + 46: [1, 219], + 47: W, + 55: K, + 58: 161, + 60: 102, + 61: Z, + 62: J, + 63: Q, + 64: tt, + 65: et, + 66: nt, + 67: rt, + 69: 93, + 70: it, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: ct, + 84: ft, + 85: lt, + 86: ht, + 87: dt, + 88: 99, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, t(F, [2, 53]), t(F, [2, 54]), t(F, [2, 56]), t(F, [2, 55]), t(F, [2, 57]), t([10, 34, 66, 76, 77, 80, 81, 82, 84, 85, 91, 92, 93, 94, 95, 96], [2, 65]), { + 10: z, + 12: Y, + 13: V, + 26: H, + 29: [1, 220], + 30: G, + 34: $, + 47: W, + 55: K, + 58: 161, + 60: 102, + 61: Z, + 62: J, + 63: Q, + 64: tt, + 65: et, + 66: nt, + 67: rt, + 69: 93, + 70: it, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: ct, + 84: ft, + 85: lt, + 86: ht, + 87: dt, + 88: 99, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, { + 6: 10, + 7: 11, + 8: o, + 9: s, + 10: u, + 11: c, + 19: 16, + 21: 17, + 22: 18, + 23: 19, + 24: 20, + 25: 21, + 26: f, + 30: [1, 221], + 32: 23, + 33: 29, + 34: l, + 36: 30, + 61: h, + 62: d, + 63: p, + 64: g, + 65: y, + 66: b, + 76: v, + 77: m, + 80: _, + 81: w, + 82: x, + 84: k, + 85: E, + 89: 31, + 91: A, + 92: S, + 93: M, + 94: T, + 95: D, + 96: C + }, t(P, [2, 43]), t(qt, [2, 89], { + 77: jt + }), t(Ut, [2, 99], { + 79: 223, + 10: Tt, + 61: Dt, + 73: Ct, + 76: Nt, + 80: It, + 81: Lt, + 82: Bt, + 83: Ot, + 84: Rt, + 85: Pt, + 86: Ft + }), t(zt, [2, 101]), t(zt, [2, 103]), t(zt, [2, 104]), t(zt, [2, 105]), t(zt, [2, 106]), t(zt, [2, 107]), t(zt, [2, 108]), t(zt, [2, 109]), t(zt, [2, 110]), t(zt, [2, 111]), t(zt, [2, 112]), t(zt, [2, 113]), t(qt, [2, 90], { + 77: jt + }), t(qt, [2, 91], { + 77: jt + }), { + 10: [1, 224] + }, t(qt, [2, 92], { + 77: jt + }), { + 10: [1, 225] + }, t(Mt, [2, 98]), t(qt, [2, 82], { + 77: jt + }), t(qt, [2, 83], { + 77: jt + }), t(qt, [2, 84], { + 88: 134, + 90: 167, + 13: xt, + 34: $, + 66: kt, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: Et, + 84: ft, + 85: lt, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }), t(qt, [2, 85], { + 88: 134, + 90: 167, + 10: [1, 226], + 13: xt, + 34: $, + 66: kt, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: Et, + 84: ft, + 85: lt, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }), t(qt, [2, 87], { + 10: [1, 227] + }), { + 38: [1, 228] + }, { + 46: [1, 229] + }, { + 8: L, + 9: B, + 11: O, + 20: 230 + }, t(I, [2, 33]), { + 10: Tt, + 61: Dt, + 73: Ct, + 76: Nt, + 78: 231, + 79: 195, + 80: It, + 81: Lt, + 82: Bt, + 83: Ot, + 84: Rt, + 85: Pt, + 86: Ft + }, t(zt, [2, 102]), { + 13: xt, + 34: $, + 66: kt, + 72: 232, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: Et, + 84: ft, + 85: lt, + 88: 134, + 90: 132, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, { + 13: xt, + 34: $, + 66: kt, + 72: 233, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: Et, + 84: ft, + 85: lt, + 88: 134, + 90: 132, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }, { + 59: [1, 234] + }, { + 59: [1, 235] + }, t(F, [2, 46]), t(F, [2, 52]), t(_t, a, { + 5: 236 + }), t(Ut, [2, 100], { + 79: 223, + 10: Tt, + 61: Dt, + 73: Ct, + 76: Nt, + 80: It, + 81: Lt, + 82: Bt, + 83: Ot, + 84: Rt, + 85: Pt, + 86: Ft + }), t(qt, [2, 95], { + 88: 134, + 90: 167, + 10: [1, 237], + 13: xt, + 34: $, + 66: kt, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: Et, + 84: ft, + 85: lt, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }), t(qt, [2, 96], { + 88: 134, + 90: 167, + 10: [1, 238], + 13: xt, + 34: $, + 66: kt, + 76: at, + 77: ot, + 80: st, + 81: ut, + 82: Et, + 84: ft, + 85: lt, + 91: pt, + 92: gt, + 93: yt, + 94: bt, + 95: vt, + 96: mt + }), t(qt, [2, 86]), t(qt, [2, 88]), { + 6: 10, + 7: 11, + 8: o, + 9: s, + 10: u, + 11: c, + 19: 16, + 21: 17, + 22: 18, + 23: 19, + 24: 20, + 25: 21, + 26: f, + 30: [1, 239], + 32: 23, + 33: 29, + 34: l, + 36: 30, + 61: h, + 62: d, + 63: p, + 64: g, + 65: y, + 66: b, + 76: v, + 77: m, + 80: _, + 81: w, + 82: x, + 84: k, + 85: E, + 89: 31, + 91: A, + 92: S, + 93: M, + 94: T, + 95: D, + 96: C + }, { + 10: Tt, + 61: Dt, + 71: 240, + 73: Ct, + 76: Nt, + 78: 194, + 79: 195, + 80: It, + 81: Lt, + 82: Bt, + 83: Ot, + 84: Rt, + 85: Pt, + 86: Ft + }, { + 10: Tt, + 61: Dt, + 71: 241, + 73: Ct, + 76: Nt, + 78: 194, + 79: 195, + 80: It, + 81: Lt, + 82: Bt, + 83: Ot, + 84: Rt, + 85: Pt, + 86: Ft + }, t(I, [2, 32]), t(qt, [2, 93], { + 77: jt + }), t(qt, [2, 94], { + 77: jt + })], + defaultActions: {}, + parseError: function(t, e) { + if (!e.recoverable) { + var n = new Error(t); + throw n.hash = e, n + } + this.trace(t) + }, + parse: function(t) { + var e = this, + n = [0], + r = [], + i = [null], + a = [], + o = this.table, + s = "", + u = 0, + c = 0, + f = 0, + l = 2, + h = 1, + d = a.slice.call(arguments, 1), + p = Object.create(this.lexer), + g = { + yy: {} + }; + for (var y in this.yy) Object.prototype.hasOwnProperty.call(this.yy, y) && (g.yy[y] = this.yy[y]); + p.setInput(t, g.yy), g.yy.lexer = p, g.yy.parser = this, void 0 === p.yylloc && (p.yylloc = {}); + var b = p.yylloc; + a.push(b); + var v = p.options && p.options.ranges; + + function m() { + var t; + return "number" != typeof(t = r.pop() || p.lex() || h) && (t instanceof Array && (t = (r = t).pop()), t = e.symbols_[t] || t), t + } + "function" == typeof g.yy.parseError ? this.parseError = g.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError; + for (var _, w, x, k, E, A, S, M, T, D = {};;) { + if (x = n[n.length - 1], this.defaultActions[x] ? k = this.defaultActions[x] : (null == _ && (_ = m()), k = o[x] && o[x][_]), void 0 === k || !k.length || !k[0]) { + var C = ""; + for (A in T = [], o[x]) this.terminals_[A] && A > l && T.push("'" + this.terminals_[A] + "'"); + C = p.showPosition ? "Parse error on line " + (u + 1) + ":\n" + p.showPosition() + "\nExpecting " + T.join(", ") + ", got '" + (this.terminals_[_] || _) + "'" : "Parse error on line " + (u + 1) + ": Unexpected " + (_ == h ? "end of input" : "'" + (this.terminals_[_] || _) + "'"), this.parseError(C, { + text: p.match, + token: this.terminals_[_] || _, + line: p.yylineno, + loc: b, + expected: T + }) + } + if (k[0] instanceof Array && k.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + x + ", token: " + _); + switch (k[0]) { + case 1: + n.push(_), i.push(p.yytext), a.push(p.yylloc), n.push(k[1]), _ = null, w ? (_ = w, w = null) : (c = p.yyleng, s = p.yytext, u = p.yylineno, b = p.yylloc, f > 0 && f--); + break; + case 2: + if (S = this.productions_[k[1]][1], D.$ = i[i.length - S], D._$ = { + first_line: a[a.length - (S || 1)].first_line, + last_line: a[a.length - 1].last_line, + first_column: a[a.length - (S || 1)].first_column, + last_column: a[a.length - 1].last_column + }, v && (D._$.range = [a[a.length - (S || 1)].range[0], a[a.length - 1].range[1]]), void 0 !== (E = this.performAction.apply(D, [s, c, u, g.yy, k[1], i, a].concat(d)))) return E; + S && (n = n.slice(0, -1 * S * 2), i = i.slice(0, -1 * S), a = a.slice(0, -1 * S)), n.push(this.productions_[k[1]][0]), i.push(D.$), a.push(D._$), M = o[n[n.length - 2]][n[n.length - 1]], n.push(M); + break; + case 3: + return !0 + } + } + return !0 + } + }, + Vt = { + EOF: 1, + parseError: function(t, e) { + if (!this.yy.parser) throw new Error(t); + this.yy.parser.parseError(t, e) + }, + setInput: function(t, e) { + return this.yy = e || this.yy || {}, this._input = t, this._more = this._backtrack = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this + }, + input: function() { + var t = this._input[0]; + return this.yytext += t, this.yyleng++, this.offset++, this.match += t, this.matched += t, t.match(/(?:\r\n?|\n).*/g) ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), t + }, + unput: function(t) { + var e = t.length, + n = t.split(/(?:\r\n?|\n)/g); + this._input = t + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - e), this.offset -= e; + var r = this.match.split(/(?:\r\n?|\n)/g); + this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), n.length - 1 && (this.yylineno -= n.length - 1); + var i = this.yylloc.range; + return this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: n ? (n.length === r.length ? this.yylloc.first_column : 0) + r[r.length - n.length].length - n[0].length : this.yylloc.first_column - e + }, this.options.ranges && (this.yylloc.range = [i[0], i[0] + this.yyleng - e]), this.yyleng = this.yytext.length, this + }, + more: function() { + return this._more = !0, this + }, + reject: function() { + return this.options.backtrack_lexer ? (this._backtrack = !0, this) : this.parseError("Lexical error on line " + (this.yylineno + 1) + ". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n" + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }) + }, + less: function(t) { + this.unput(this.match.slice(t)) + }, + pastInput: function() { + var t = this.matched.substr(0, this.matched.length - this.match.length); + return (t.length > 20 ? "..." : "") + t.substr(-20).replace(/\n/g, "") + }, + upcomingInput: function() { + var t = this.match; + return t.length < 20 && (t += this._input.substr(0, 20 - t.length)), (t.substr(0, 20) + (t.length > 20 ? "..." : "")).replace(/\n/g, "") + }, + showPosition: function() { + var t = this.pastInput(), + e = new Array(t.length + 1).join("-"); + return t + this.upcomingInput() + "\n" + e + "^" + }, + test_match: function(t, e) { + var n, r, i; + if (this.options.backtrack_lexer && (i = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }, this.options.ranges && (i.yylloc.range = this.yylloc.range.slice(0))), (r = t[0].match(/(?:\r\n?|\n).*/g)) && (this.yylineno += r.length), this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: r ? r[r.length - 1].length - r[r.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + t[0].length + }, this.yytext += t[0], this.match += t[0], this.matches = t, this.yyleng = this.yytext.length, this.options.ranges && (this.yylloc.range = [this.offset, this.offset += this.yyleng]), this._more = !1, this._backtrack = !1, this._input = this._input.slice(t[0].length), this.matched += t[0], n = this.performAction.call(this, this.yy, this, e, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), n) return n; + if (this._backtrack) { + for (var a in i) this[a] = i[a]; + return !1 + } + return !1 + }, + next: function() { + if (this.done) return this.EOF; + var t, e, n, r; + this._input || (this.done = !0), this._more || (this.yytext = "", this.match = ""); + for (var i = this._currentRules(), a = 0; a < i.length; a++) + if ((n = this._input.match(this.rules[i[a]])) && (!e || n[0].length > e[0].length)) { + if (e = n, r = a, this.options.backtrack_lexer) { + if (!1 !== (t = this.test_match(n, i[a]))) return t; + if (this._backtrack) { + e = !1; + continue + } + return !1 + } + if (!this.options.flex) break + } return e ? !1 !== (t = this.test_match(e, i[r])) && t : "" === this._input ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + ". Unrecognized text.\n" + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }) + }, + lex: function() { + var t = this.next(); + return t || this.lex() + }, + begin: function(t) { + this.conditionStack.push(t) + }, + popState: function() { + return this.conditionStack.length - 1 > 0 ? this.conditionStack.pop() : this.conditionStack[0] + }, + _currentRules: function() { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules + }, + topState: function(t) { + return (t = this.conditionStack.length - 1 - Math.abs(t || 0)) >= 0 ? this.conditionStack[t] : "INITIAL" + }, + pushState: function(t) { + this.begin(t) + }, + stateStackSize: function() { + return this.conditionStack.length + }, + options: {}, + performAction: function(t, e, n, r) { + switch (n) { + case 0: + break; + case 1: + this.begin("string"); + break; + case 2: + this.popState(); + break; + case 3: + return "STR"; + case 4: + return 61; + case 5: + return 70; + case 6: + return 62; + case 7: + return 75; + case 8: + return 63; + case 9: + return 64; + case 10: + return 65; + case 11: + return t.lex.firstGraph() && this.begin("dir"), 12; + case 12: + return 26; + case 13: + return 30; + case 14: + case 15: + case 16: + case 17: + case 18: + case 19: + case 20: + case 21: + case 22: + case 23: + return this.popState(), 13; + case 24: + return 76; + case 25: + return 84; + case 26: + return 35; + case 27: + return 81; + case 28: + return 34; + case 29: + return 8; + case 30: + return 77; + case 31: + return 95; + case 32: + case 33: + case 34: + case 35: + case 36: + case 37: + case 38: + case 39: + case 40: + case 41: + case 42: + case 43: + case 44: + case 45: + case 46: + case 47: + case 48: + case 49: + case 50: + case 51: + case 52: + case 53: + case 54: + case 55: + case 56: + case 57: + case 58: + case 59: + return 56; + case 60: + case 61: + case 62: + case 63: + case 64: + case 65: + case 66: + case 67: + case 68: + case 69: + case 70: + case 71: + return 55; + case 72: + return 39; + case 73: + return 40; + case 74: + return 41; + case 75: + return 42; + case 76: + return 43; + case 77: + return 44; + case 78: + return 82; + case 79: + return 85; + case 80: + return 96; + case 81: + return 93; + case 82: + return 86; + case 83: + case 84: + return 94; + case 85: + return 87; + case 86: + return 47; + case 87: + return 67; + case 88: + return "SEP"; + case 89: + return 66; + case 90: + return 80; + case 91: + return 49; + case 92: + return 48; + case 93: + return 51; + case 94: + return 50; + case 95: + return 91; + case 96: + return 92; + case 97: + return 57; + case 98: + return 37; + case 99: + return 38; + case 100: + return 28; + case 101: + return 29; + case 102: + return 45; + case 103: + return 46; + case 104: + return 102; + case 105: + return 9; + case 106: + return 10; + case 107: + return 11 + } + }, + rules: [/^(?:%%[^\n]*\n*)/, /^(?:["])/, /^(?:["])/, /^(?:[^"]*)/, /^(?:style\b)/, /^(?:default\b)/, /^(?:linkStyle\b)/, /^(?:interpolate\b)/, /^(?:classDef\b)/, /^(?:class\b)/, /^(?:click\b)/, /^(?:graph\b)/, /^(?:subgraph\b)/, /^(?:end\b\s*)/, /^(?:\s*LR\b)/, /^(?:\s*RL\b)/, /^(?:\s*TB\b)/, /^(?:\s*BT\b)/, /^(?:\s*TD\b)/, /^(?:\s*BR\b)/, /^(?:\s*<)/, /^(?:\s*>)/, /^(?:\s*\^)/, /^(?:\s*v\b)/, /^(?:[0-9]+)/, /^(?:#)/, /^(?::::)/, /^(?::)/, /^(?:&)/, /^(?:;)/, /^(?:,)/, /^(?:\*)/, /^(?:\s*--[x]\s*)/, /^(?:\s*-->\s*)/, /^(?:\s*<-->\s*)/, /^(?:\s*[x]--[x]\s*)/, /^(?:\s*[o]--[o]\s*)/, /^(?:\s*[o]\.-[o]\s*)/, /^(?:\s*<==>\s*)/, /^(?:\s*[o]==[o]\s*)/, /^(?:\s*[x]==[x]\s*)/, /^(?:\s*[x].-[x]\s*)/, /^(?:\s*[x]-\.-[x]\s*)/, /^(?:\s*<\.->\s*)/, /^(?:\s*<-\.->\s*)/, /^(?:\s*[o]-\.-[o]\s*)/, /^(?:\s*--[o]\s*)/, /^(?:\s*---\s*)/, /^(?:\s*-\.-[x]\s*)/, /^(?:\s*-\.->\s*)/, /^(?:\s*-\.-[o]\s*)/, /^(?:\s*-\.-\s*)/, /^(?:\s*.-[x]\s*)/, /^(?:\s*\.->\s*)/, /^(?:\s*\.-[o]\s*)/, /^(?:\s*\.-\s*)/, /^(?:\s*==[x]\s*)/, /^(?:\s*==>\s*)/, /^(?:\s*==[o]\s*)/, /^(?:\s*==[\=]\s*)/, /^(?:\s*<--\s*)/, /^(?:\s*[x]--\s*)/, /^(?:\s*[o]--\s*)/, /^(?:\s*<-\.\s*)/, /^(?:\s*[x]-\.\s*)/, /^(?:\s*[o]-\.\s*)/, /^(?:\s*<==\s*)/, /^(?:\s*[x]==\s*)/, /^(?:\s*[o]==\s*)/, /^(?:\s*--\s*)/, /^(?:\s*-\.\s*)/, /^(?:\s*==\s*)/, /^(?:\(-)/, /^(?:-\))/, /^(?:\(\[)/, /^(?:\]\))/, /^(?:\[\()/, /^(?:\)\])/, /^(?:-)/, /^(?:\.)/, /^(?:[\_])/, /^(?:\+)/, /^(?:%)/, /^(?:=)/, /^(?:=)/, /^(?:<)/, /^(?:>)/, /^(?:\^)/, /^(?:\\\|)/, /^(?:v\b)/, /^(?:[A-Za-z]+)/, /^(?:\\\])/, /^(?:\[\/)/, /^(?:\/\])/, /^(?:\[\\)/, /^(?:[!"#$%&'*+,-.`?\\_\/])/, /^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/, /^(?:\|)/, /^(?:\()/, /^(?:\))/, /^(?:\[)/, /^(?:\])/, /^(?:\{)/, /^(?:\})/, /^(?:")/, /^(?:(\r|\n|\r\n)+)/, /^(?:\s)/, /^(?:$)/], + conditions: { + vertex: { + rules: [], + inclusive: !1 + }, + dir: { + rules: [14, 15, 16, 17, 18, 19, 20, 21, 22, 23], + inclusive: !1 + }, + string: { + rules: [2, 3], + inclusive: !1 + }, + INITIAL: { + rules: [0, 1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107], + inclusive: !0 + } + } + }; + + function Ht() { + this.yy = {} + } + return Yt.lexer = Vt, Ht.prototype = Yt, Yt.Parser = Ht, new Ht + }(); + e.parser = i, e.Parser = i.Parser, e.parse = function() { + return i.parse.apply(i, arguments) + }, e.main = function(r) { + r[1] || (console.log("Usage: " + r[0] + " FILE"), t.exit(1)); + var i = n(28).readFileSync(n(29).normalize(r[1]), "utf8"); + return e.parser.parse(i) + }, n.c[n.s] === r && e.main(t.argv.slice(1)) + }).call(this, n(7), n(9)(t)) + }, function(t, e, n) { + var r = n(62), + i = n(243), + a = n(244), + o = n(245), + s = n(246), + u = n(247); + + function c(t) { + var e = this.__data__ = new r(t); + this.size = e.size + } + c.prototype.clear = i, c.prototype.delete = a, c.prototype.get = o, c.prototype.has = s, c.prototype.set = u, t.exports = c + }, function(t, e, n) { + var r = n(238), + i = n(239), + a = n(240), + o = n(241), + s = n(242); + + function u(t) { + var e = -1, + n = null == t ? 0 : t.length; + for (this.clear(); ++e < n;) { + var r = t[e]; + this.set(r[0], r[1]) + } + } + u.prototype.clear = r, u.prototype.delete = i, u.prototype.get = a, u.prototype.has = o, u.prototype.set = s, t.exports = u + }, function(t, e, n) { + var r = n(36); + t.exports = function(t, e) { + for (var n = t.length; n--;) + if (r(t[n][0], e)) return n; + return -1 + } + }, function(t, e, n) { + var r = n(32)(Object, "create"); + t.exports = r + }, function(t, e, n) { + var r = n(262); + t.exports = function(t, e) { + var n = t.__data__; + return r(e) ? n["string" == typeof e ? "string" : "hash"] : n.map + } + }, function(t, e, n) { + var r = n(67), + i = n(36), + a = Object.prototype.hasOwnProperty; + t.exports = function(t, e, n) { + var o = t[e]; + a.call(t, e) && i(o, n) && (void 0 !== n || e in t) || r(t, e, n) + } + }, function(t, e, n) { + var r = n(133); + t.exports = function(t, e, n) { + "__proto__" == e && r ? r(t, e, { + configurable: !0, + enumerable: !0, + value: n, + writable: !0 + }) : t[e] = n + } + }, function(t, e) { + var n = 9007199254740991, + r = /^(?:0|[1-9]\d*)$/; + t.exports = function(t, e) { + var i = typeof t; + return !!(e = null == e ? n : e) && ("number" == i || "symbol" != i && r.test(t)) && t > -1 && t % 1 == 0 && t < e + } + }, function(t, e) { + t.exports = function(t) { + return function(e) { + return t(e) + } + } + }, function(t, e) { + var n = Object.prototype; + t.exports = function(t) { + var e = t && t.constructor; + return t === ("function" == typeof e && e.prototype || n) + } + }, function(t, e, n) { + var r = n(135)(Object.getPrototypeOf, Object); + t.exports = r + }, function(t, e, n) { + var r = n(101), + i = n(291)(r); + t.exports = i + }, function(t, e, n) { + var r = n(6), + i = n(105), + a = n(305), + o = n(157); + t.exports = function(t, e) { + return r(t) ? t : i(t, e) ? [t] : a(o(t)) + } + }, function(t, e) { + t.exports = function(t, e) { + for (var n = -1, r = null == t ? 0 : t.length, i = Array(r); ++n < r;) i[n] = e(t[n], n, t); + return i + } + }, function(t, e, n) { + var r = n(34), + i = n(165), + a = n(166); + t.exports = function(t, e) { + return a(i(t, e, r), t + "") + } + }, function(t, e, n) { + var r = n(36), + i = n(23), + a = n(68), + o = n(14); + t.exports = function(t, e, n) { + if (!o(n)) return !1; + var s = typeof e; + return !!("number" == s ? i(n) && a(e, n.length) : "string" == s && e in n) && r(n[e], t) + } + }, function(t, e, n) { + "use strict"; + var r = n(4); + t.exports = { + longestPath: function(t) { + var e = {}; + r.forEach(t.sources(), (function n(i) { + var a = t.node(i); + if (r.has(e, i)) return a.rank; + e[i] = !0; + var o = r.min(r.map(t.outEdges(i), (function(e) { + return n(e.w) - t.edge(e).minlen + }))); + return o !== Number.POSITIVE_INFINITY && null != o || (o = 0), a.rank = o + })) + }, + slack: function(t, e) { + return t.node(e.w).rank - t.node(e.v).rank - t.edge(e).minlen + } + } + }, function(t, e, n) { + "use strict"; + (function(e) { + void 0 === e || !e.version || 0 === e.version.indexOf("v0.") || 0 === e.version.indexOf("v1.") && 0 !== e.version.indexOf("v1.8.") ? t.exports = { + nextTick: function(t, n, r, i) { + if ("function" != typeof t) throw new TypeError('"callback" argument must be a function'); + var a, o, s = arguments.length; + switch (s) { + case 0: + case 1: + return e.nextTick(t); + case 2: + return e.nextTick((function() { + t.call(null, n) + })); + case 3: + return e.nextTick((function() { + t.call(null, n, r) + })); + case 4: + return e.nextTick((function() { + t.call(null, n, r, i) + })); + default: + for (a = new Array(s - 1), o = 0; o < a.length;) a[o++] = arguments[o]; + return e.nextTick((function() { + t.apply(null, a) + })) + } + } + } : t.exports = e + }).call(this, n(7)) + }, function(t, e, n) { + var r = n(3).Buffer; + + function i(t) { + r.isBuffer(t) || (t = r.from(t)); + for (var e = t.length / 4 | 0, n = new Array(e), i = 0; i < e; i++) n[i] = t.readUInt32BE(4 * i); + return n + } + + function a(t) { + for (; 0 < t.length; t++) t[0] = 0 + } + + function o(t, e, n, r, i) { + for (var a, o, s, u, c = n[0], f = n[1], l = n[2], h = n[3], d = t[0] ^ e[0], p = t[1] ^ e[1], g = t[2] ^ e[2], y = t[3] ^ e[3], b = 4, v = 1; v < i; v++) a = c[d >>> 24] ^ f[p >>> 16 & 255] ^ l[g >>> 8 & 255] ^ h[255 & y] ^ e[b++], o = c[p >>> 24] ^ f[g >>> 16 & 255] ^ l[y >>> 8 & 255] ^ h[255 & d] ^ e[b++], s = c[g >>> 24] ^ f[y >>> 16 & 255] ^ l[d >>> 8 & 255] ^ h[255 & p] ^ e[b++], u = c[y >>> 24] ^ f[d >>> 16 & 255] ^ l[p >>> 8 & 255] ^ h[255 & g] ^ e[b++], d = a, p = o, g = s, y = u; + return a = (r[d >>> 24] << 24 | r[p >>> 16 & 255] << 16 | r[g >>> 8 & 255] << 8 | r[255 & y]) ^ e[b++], o = (r[p >>> 24] << 24 | r[g >>> 16 & 255] << 16 | r[y >>> 8 & 255] << 8 | r[255 & d]) ^ e[b++], s = (r[g >>> 24] << 24 | r[y >>> 16 & 255] << 16 | r[d >>> 8 & 255] << 8 | r[255 & p]) ^ e[b++], u = (r[y >>> 24] << 24 | r[d >>> 16 & 255] << 16 | r[p >>> 8 & 255] << 8 | r[255 & g]) ^ e[b++], [a >>>= 0, o >>>= 0, s >>>= 0, u >>>= 0] + } + var s = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54], + u = function() { + for (var t = new Array(256), e = 0; e < 256; e++) t[e] = e < 128 ? e << 1 : e << 1 ^ 283; + for (var n = [], r = [], i = [ + [], + [], + [], + [] + ], a = [ + [], + [], + [], + [] + ], o = 0, s = 0, u = 0; u < 256; ++u) { + var c = s ^ s << 1 ^ s << 2 ^ s << 3 ^ s << 4; + c = c >>> 8 ^ 255 & c ^ 99, n[o] = c, r[c] = o; + var f = t[o], + l = t[f], + h = t[l], + d = 257 * t[c] ^ 16843008 * c; + i[0][o] = d << 24 | d >>> 8, i[1][o] = d << 16 | d >>> 16, i[2][o] = d << 8 | d >>> 24, i[3][o] = d, d = 16843009 * h ^ 65537 * l ^ 257 * f ^ 16843008 * o, a[0][c] = d << 24 | d >>> 8, a[1][c] = d << 16 | d >>> 16, a[2][c] = d << 8 | d >>> 24, a[3][c] = d, 0 === o ? o = s = 1 : (o = f ^ t[t[t[h ^ f]]], s ^= t[t[s]]) + } + return { + SBOX: n, + INV_SBOX: r, + SUB_MIX: i, + INV_SUB_MIX: a + } + }(); + + function c(t) { + this._key = i(t), this._reset() + } + c.blockSize = 16, c.keySize = 32, c.prototype.blockSize = c.blockSize, c.prototype.keySize = c.keySize, c.prototype._reset = function() { + for (var t = this._key, e = t.length, n = e + 6, r = 4 * (n + 1), i = [], a = 0; a < e; a++) i[a] = t[a]; + for (a = e; a < r; a++) { + var o = i[a - 1]; + a % e == 0 ? (o = o << 8 | o >>> 24, o = u.SBOX[o >>> 24] << 24 | u.SBOX[o >>> 16 & 255] << 16 | u.SBOX[o >>> 8 & 255] << 8 | u.SBOX[255 & o], o ^= s[a / e | 0] << 24) : e > 6 && a % e == 4 && (o = u.SBOX[o >>> 24] << 24 | u.SBOX[o >>> 16 & 255] << 16 | u.SBOX[o >>> 8 & 255] << 8 | u.SBOX[255 & o]), i[a] = i[a - e] ^ o + } + for (var c = [], f = 0; f < r; f++) { + var l = r - f, + h = i[l - (f % 4 ? 0 : 4)]; + c[f] = f < 4 || l <= 4 ? h : u.INV_SUB_MIX[0][u.SBOX[h >>> 24]] ^ u.INV_SUB_MIX[1][u.SBOX[h >>> 16 & 255]] ^ u.INV_SUB_MIX[2][u.SBOX[h >>> 8 & 255]] ^ u.INV_SUB_MIX[3][u.SBOX[255 & h]] + } + this._nRounds = n, this._keySchedule = i, this._invKeySchedule = c + }, c.prototype.encryptBlockRaw = function(t) { + return o(t = i(t), this._keySchedule, u.SUB_MIX, u.SBOX, this._nRounds) + }, c.prototype.encryptBlock = function(t) { + var e = this.encryptBlockRaw(t), + n = r.allocUnsafe(16); + return n.writeUInt32BE(e[0], 0), n.writeUInt32BE(e[1], 4), n.writeUInt32BE(e[2], 8), n.writeUInt32BE(e[3], 12), n + }, c.prototype.decryptBlock = function(t) { + var e = (t = i(t))[1]; + t[1] = t[3], t[3] = e; + var n = o(t, this._invKeySchedule, u.INV_SUB_MIX, u.INV_SBOX, this._nRounds), + a = r.allocUnsafe(16); + return a.writeUInt32BE(n[0], 0), a.writeUInt32BE(n[3], 4), a.writeUInt32BE(n[2], 8), a.writeUInt32BE(n[1], 12), a + }, c.prototype.scrub = function() { + a(this._keySchedule), a(this._invKeySchedule), a(this._key) + }, t.exports.AES = c + }, function(t, e, n) { + var r = n(3).Buffer, + i = n(111); + t.exports = function(t, e, n, a) { + if (r.isBuffer(t) || (t = r.from(t, "binary")), e && (r.isBuffer(e) || (e = r.from(e, "binary")), 8 !== e.length)) throw new RangeError("salt should be Buffer with 8 byte length"); + for (var o = n / 8, s = r.alloc(o), u = r.alloc(a || 0), c = r.alloc(0); o > 0 || a > 0;) { + var f = new i; + f.update(c), f.update(t), e && f.update(e), c = f.digest(); + var l = 0; + if (o > 0) { + var h = s.length - o; + l = Math.min(o, c.length), c.copy(s, h, 0, l), o -= l + } + if (l < c.length && a > 0) { + var d = u.length - a, + p = Math.min(a, c.length - l); + c.copy(u, d, l, l + p), a -= p + } + } + return c.fill(0), { + key: s, + iv: u + } + } + }, function(t, e, n) { + "use strict"; + var r = n(5), + i = n(17), + a = i.getNAF, + o = i.getJSF, + s = i.assert; + + function u(t, e) { + this.type = t, this.p = new r(e.p, 16), this.red = e.prime ? r.red(e.prime) : r.mont(this.p), this.zero = new r(0).toRed(this.red), this.one = new r(1).toRed(this.red), this.two = new r(2).toRed(this.red), this.n = e.n && new r(e.n, 16), this.g = e.g && this.pointFromJSON(e.g, e.gRed), this._wnafT1 = new Array(4), this._wnafT2 = new Array(4), this._wnafT3 = new Array(4), this._wnafT4 = new Array(4), this._bitLength = this.n ? this.n.bitLength() : 0; + var n = this.n && this.p.div(this.n); + !n || n.cmpn(100) > 0 ? this.redN = null : (this._maxwellTrick = !0, this.redN = this.n.toRed(this.red)) + } + + function c(t, e) { + this.curve = t, this.type = e, this.precomputed = null + } + t.exports = u, u.prototype.point = function() { + throw new Error("Not implemented") + }, u.prototype.validate = function() { + throw new Error("Not implemented") + }, u.prototype._fixedNafMul = function(t, e) { + s(t.precomputed); + var n = t._getDoubles(), + r = a(e, 1, this._bitLength), + i = (1 << n.step + 1) - (n.step % 2 == 0 ? 2 : 1); + i /= 3; + for (var o = [], u = 0; u < r.length; u += n.step) { + var c = 0; + for (e = u + n.step - 1; e >= u; e--) c = (c << 1) + r[e]; + o.push(c) + } + for (var f = this.jpoint(null, null, null), l = this.jpoint(null, null, null), h = i; h > 0; h--) { + for (u = 0; u < o.length; u++) { + (c = o[u]) === h ? l = l.mixedAdd(n.points[u]) : c === -h && (l = l.mixedAdd(n.points[u].neg())) + } + f = f.add(l) + } + return f.toP() + }, u.prototype._wnafMul = function(t, e) { + var n = 4, + r = t._getNAFPoints(n); + n = r.wnd; + for (var i = r.points, o = a(e, n, this._bitLength), u = this.jpoint(null, null, null), c = o.length - 1; c >= 0; c--) { + for (e = 0; c >= 0 && 0 === o[c]; c--) e++; + if (c >= 0 && e++, u = u.dblp(e), c < 0) break; + var f = o[c]; + s(0 !== f), u = "affine" === t.type ? f > 0 ? u.mixedAdd(i[f - 1 >> 1]) : u.mixedAdd(i[-f - 1 >> 1].neg()) : f > 0 ? u.add(i[f - 1 >> 1]) : u.add(i[-f - 1 >> 1].neg()) + } + return "affine" === t.type ? u.toP() : u + }, u.prototype._wnafMulAdd = function(t, e, n, r, i) { + for (var s = this._wnafT1, u = this._wnafT2, c = this._wnafT3, f = 0, l = 0; l < r; l++) { + var h = (A = e[l])._getNAFPoints(t); + s[l] = h.wnd, u[l] = h.points + } + for (l = r - 1; l >= 1; l -= 2) { + var d = l - 1, + p = l; + if (1 === s[d] && 1 === s[p]) { + var g = [e[d], null, null, e[p]]; + 0 === e[d].y.cmp(e[p].y) ? (g[1] = e[d].add(e[p]), g[2] = e[d].toJ().mixedAdd(e[p].neg())) : 0 === e[d].y.cmp(e[p].y.redNeg()) ? (g[1] = e[d].toJ().mixedAdd(e[p]), g[2] = e[d].add(e[p].neg())) : (g[1] = e[d].toJ().mixedAdd(e[p]), g[2] = e[d].toJ().mixedAdd(e[p].neg())); + var y = [-3, -1, -5, -7, 0, 7, 5, 1, 3], + b = o(n[d], n[p]); + f = Math.max(b[0].length, f), c[d] = new Array(f), c[p] = new Array(f); + for (var v = 0; v < f; v++) { + var m = 0 | b[0][v], + _ = 0 | b[1][v]; + c[d][v] = y[3 * (m + 1) + (_ + 1)], c[p][v] = 0, u[d] = g + } + } else c[d] = a(n[d], s[d], this._bitLength), c[p] = a(n[p], s[p], this._bitLength), f = Math.max(c[d].length, f), f = Math.max(c[p].length, f) + } + var w = this.jpoint(null, null, null), + x = this._wnafT4; + for (l = f; l >= 0; l--) { + for (var k = 0; l >= 0;) { + var E = !0; + for (v = 0; v < r; v++) x[v] = 0 | c[v][l], 0 !== x[v] && (E = !1); + if (!E) break; + k++, l-- + } + if (l >= 0 && k++, w = w.dblp(k), l < 0) break; + for (v = 0; v < r; v++) { + var A, S = x[v]; + 0 !== S && (S > 0 ? A = u[v][S - 1 >> 1] : S < 0 && (A = u[v][-S - 1 >> 1].neg()), w = "affine" === A.type ? w.mixedAdd(A) : w.add(A)) + } + } + for (l = 0; l < r; l++) u[l] = null; + return i ? w : w.toP() + }, u.BasePoint = c, c.prototype.eq = function() { + throw new Error("Not implemented") + }, c.prototype.validate = function() { + return this.curve.validate(this) + }, u.prototype.decodePoint = function(t, e) { + t = i.toArray(t, e); + var n = this.p.byteLength(); + if ((4 === t[0] || 6 === t[0] || 7 === t[0]) && t.length - 1 == 2 * n) return 6 === t[0] ? s(t[t.length - 1] % 2 == 0) : 7 === t[0] && s(t[t.length - 1] % 2 == 1), this.point(t.slice(1, 1 + n), t.slice(1 + n, 1 + 2 * n)); + if ((2 === t[0] || 3 === t[0]) && t.length - 1 === n) return this.pointFromX(t.slice(1, 1 + n), 3 === t[0]); + throw new Error("Unknown point format") + }, c.prototype.encodeCompressed = function(t) { + return this.encode(t, !0) + }, c.prototype._encode = function(t) { + var e = this.curve.p.byteLength(), + n = this.getX().toArray("be", e); + return t ? [this.getY().isEven() ? 2 : 3].concat(n) : [4].concat(n, this.getY().toArray("be", e)) + }, c.prototype.encode = function(t, e) { + return i.encode(this._encode(e), t) + }, c.prototype.precompute = function(t) { + if (this.precomputed) return this; + var e = { + doubles: null, + naf: null, + beta: null + }; + return e.naf = this._getNAFPoints(8), e.doubles = this._getDoubles(4, t), e.beta = this._getBeta(), this.precomputed = e, this + }, c.prototype._hasDoubles = function(t) { + if (!this.precomputed) return !1; + var e = this.precomputed.doubles; + return !!e && e.points.length >= Math.ceil((t.bitLength() + 1) / e.step) + }, c.prototype._getDoubles = function(t, e) { + if (this.precomputed && this.precomputed.doubles) return this.precomputed.doubles; + for (var n = [this], r = this, i = 0; i < e; i += t) { + for (var a = 0; a < t; a++) r = r.dbl(); + n.push(r) + } + return { + step: t, + points: n + } + }, c.prototype._getNAFPoints = function(t) { + if (this.precomputed && this.precomputed.naf) return this.precomputed.naf; + for (var e = [this], n = (1 << t) - 1, r = 1 === n ? null : this.dbl(), i = 1; i < n; i++) e[i] = e[i - 1].add(r); + return { + wnd: t, + points: e + } + }, c.prototype._getBeta = function() { + return null + }, c.prototype.dblp = function(t) { + for (var e = this, n = 0; n < t; n++) e = e.dbl(); + return e + } + }, function(t, e, n) { + var r = n(481), + i = n(492), + a = n(493), + o = n(121), + s = n(202), + u = n(3).Buffer; + + function c(t) { + var e; + "object" != typeof t || u.isBuffer(t) || (e = t.passphrase, t = t.key), "string" == typeof t && (t = u.from(t)); + var n, c, f = a(t, e), + l = f.tag, + h = f.data; + switch (l) { + case "CERTIFICATE": + c = r.certificate.decode(h, "der").tbsCertificate.subjectPublicKeyInfo; + case "PUBLIC KEY": + switch (c || (c = r.PublicKey.decode(h, "der")), n = c.algorithm.algorithm.join(".")) { + case "1.2.840.113549.1.1.1": + return r.RSAPublicKey.decode(c.subjectPublicKey.data, "der"); + case "1.2.840.10045.2.1": + return c.subjectPrivateKey = c.subjectPublicKey, { + type: "ec", + data: c + }; + case "1.2.840.10040.4.1": + return c.algorithm.params.pub_key = r.DSAparam.decode(c.subjectPublicKey.data, "der"), { + type: "dsa", + data: c.algorithm.params + }; + default: + throw new Error("unknown key id " + n) + } + throw new Error("unknown key type " + l); + case "ENCRYPTED PRIVATE KEY": + h = function(t, e) { + var n = t.algorithm.decrypt.kde.kdeparams.salt, + r = parseInt(t.algorithm.decrypt.kde.kdeparams.iters.toString(), 10), + a = i[t.algorithm.decrypt.cipher.algo.join(".")], + c = t.algorithm.decrypt.cipher.iv, + f = t.subjectPrivateKey, + l = parseInt(a.split("-")[1], 10) / 8, + h = s.pbkdf2Sync(e, n, r, l, "sha1"), + d = o.createDecipheriv(a, h, c), + p = []; + return p.push(d.update(f)), p.push(d.final()), u.concat(p) + }(h = r.EncryptedPrivateKey.decode(h, "der"), e); + case "PRIVATE KEY": + switch (n = (c = r.PrivateKey.decode(h, "der")).algorithm.algorithm.join(".")) { + case "1.2.840.113549.1.1.1": + return r.RSAPrivateKey.decode(c.subjectPrivateKey, "der"); + case "1.2.840.10045.2.1": + return { + curve: c.algorithm.curve, privateKey: r.ECPrivateKey.decode(c.subjectPrivateKey, "der").privateKey + }; + case "1.2.840.10040.4.1": + return c.algorithm.params.priv_key = r.DSAparam.decode(c.subjectPrivateKey, "der"), { + type: "dsa", + params: c.algorithm.params + }; + default: + throw new Error("unknown key id " + n) + } + throw new Error("unknown key type " + l); + case "RSA PUBLIC KEY": + return r.RSAPublicKey.decode(h, "der"); + case "RSA PRIVATE KEY": + return r.RSAPrivateKey.decode(h, "der"); + case "DSA PRIVATE KEY": + return { + type: "dsa", params: r.DSAPrivateKey.decode(h, "der") + }; + case "EC PRIVATE KEY": + return { + curve: (h = r.ECPrivateKey.decode(h, "der")).parameters.value, privateKey: h.privateKey + }; + default: + throw new Error("unknown key type " + l) + } + } + t.exports = c, c.signature = r.signature + }, function(t, e, n) { + "use strict"; + t.exports = function(t) { + var e = []; + return e.toString = function() { + return this.map((function(e) { + var n = function(t, e) { + var n = t[1] || "", + r = t[3]; + if (!r) return n; + if (e && "function" == typeof btoa) { + var i = (o = r, "/*# sourceMappingURL=data:application/json;charset=utf-8;base64," + btoa(unescape(encodeURIComponent(JSON.stringify(o)))) + " */"), + a = r.sources.map((function(t) { + return "/*# sourceURL=" + r.sourceRoot + t + " */" + })); + return [n].concat(a).concat([i]).join("\n") + } + var o; + return [n].join("\n") + }(e, t); + return e[2] ? "@media " + e[2] + "{" + n + "}" : n + })).join("") + }, e.i = function(t, n) { + "string" == typeof t && (t = [ + [null, t, ""] + ]); + for (var r = {}, i = 0; i < this.length; i++) { + var a = this[i][0]; + null != a && (r[a] = !0) + } + for (i = 0; i < t.length; i++) { + var o = t[i]; + null != o[0] && r[o[0]] || (n && !o[2] ? o[2] = n : n && (o[2] = "(" + o[2] + ") and (" + n + ")"), e.push(o)) + } + }, e + } + }, function(t, e, n) { + "use strict"; + var r = /^(%20|\s)*(javascript|data)/im, + i = /[^\x20-\x7E]/gim, + a = /^([^:]+):/gm, + o = [".", "/"]; + t.exports = { + sanitizeUrl: function(t) { + if (!t) return "about:blank"; + var e, n, s = t.replace(i, "").trim(); + return function(t) { + return o.indexOf(t[0]) > -1 + }(s) ? s : (n = s.match(a)) ? (e = n[0], r.test(e) ? "about:blank" : s) : "about:blank" + } + } + }, function(t, e, n) { + (function(t, r) { + var i = function() { + var t = function(t, e, n, r) { + for (n = n || {}, r = t.length; r--; n[t[r]] = e); + return n + }, + e = [2, 3], + n = [1, 7], + r = [7, 12, 15, 17, 19, 20, 21], + i = [7, 11, 12, 15, 17, 19, 20, 21], + a = [2, 20], + o = [1, 32], + s = { + trace: function() {}, + yy: {}, + symbols_: { + error: 2, + start: 3, + GG: 4, + ":": 5, + document: 6, + EOF: 7, + DIR: 8, + options: 9, + body: 10, + OPT: 11, + NL: 12, + line: 13, + statement: 14, + COMMIT: 15, + commit_arg: 16, + BRANCH: 17, + ID: 18, + CHECKOUT: 19, + MERGE: 20, + RESET: 21, + reset_arg: 22, + STR: 23, + HEAD: 24, + reset_parents: 25, + CARET: 26, + $accept: 0, + $end: 1 + }, + terminals_: { + 2: "error", + 4: "GG", + 5: ":", + 7: "EOF", + 8: "DIR", + 11: "OPT", + 12: "NL", + 15: "COMMIT", + 17: "BRANCH", + 18: "ID", + 19: "CHECKOUT", + 20: "MERGE", + 21: "RESET", + 23: "STR", + 24: "HEAD", + 26: "CARET" + }, + productions_: [0, [3, 4], + [3, 5], + [6, 0], + [6, 2], + [9, 2], + [9, 1], + [10, 0], + [10, 2], + [13, 2], + [13, 1], + [14, 2], + [14, 2], + [14, 2], + [14, 2], + [14, 2], + [16, 0], + [16, 1], + [22, 2], + [22, 2], + [25, 0], + [25, 2] + ], + performAction: function(t, e, n, r, i, a, o) { + var s = a.length - 1; + switch (i) { + case 1: + return a[s - 1]; + case 2: + return r.setDirection(a[s - 3]), a[s - 1]; + case 4: + r.setOptions(a[s - 1]), this.$ = a[s]; + break; + case 5: + a[s - 1] += a[s], this.$ = a[s - 1]; + break; + case 7: + this.$ = []; + break; + case 8: + a[s - 1].push(a[s]), this.$ = a[s - 1]; + break; + case 9: + this.$ = a[s - 1]; + break; + case 11: + r.commit(a[s]); + break; + case 12: + r.branch(a[s]); + break; + case 13: + r.checkout(a[s]); + break; + case 14: + r.merge(a[s]); + break; + case 15: + r.reset(a[s]); + break; + case 16: + this.$ = ""; + break; + case 17: + this.$ = a[s]; + break; + case 18: + this.$ = a[s - 1] + ":" + a[s]; + break; + case 19: + this.$ = a[s - 1] + ":" + r.count, r.count = 0; + break; + case 20: + r.count = 0; + break; + case 21: + r.count += 1 + } + }, + table: [{ + 3: 1, + 4: [1, 2] + }, { + 1: [3] + }, { + 5: [1, 3], + 8: [1, 4] + }, { + 6: 5, + 7: e, + 9: 6, + 12: n + }, { + 5: [1, 8] + }, { + 7: [1, 9] + }, t(r, [2, 7], { + 10: 10, + 11: [1, 11] + }), t(i, [2, 6]), { + 6: 12, + 7: e, + 9: 6, + 12: n + }, { + 1: [2, 1] + }, { + 7: [2, 4], + 12: [1, 15], + 13: 13, + 14: 14, + 15: [1, 16], + 17: [1, 17], + 19: [1, 18], + 20: [1, 19], + 21: [1, 20] + }, t(i, [2, 5]), { + 7: [1, 21] + }, t(r, [2, 8]), { + 12: [1, 22] + }, t(r, [2, 10]), { + 12: [2, 16], + 16: 23, + 23: [1, 24] + }, { + 18: [1, 25] + }, { + 18: [1, 26] + }, { + 18: [1, 27] + }, { + 18: [1, 30], + 22: 28, + 24: [1, 29] + }, { + 1: [2, 2] + }, t(r, [2, 9]), { + 12: [2, 11] + }, { + 12: [2, 17] + }, { + 12: [2, 12] + }, { + 12: [2, 13] + }, { + 12: [2, 14] + }, { + 12: [2, 15] + }, { + 12: a, + 25: 31, + 26: o + }, { + 12: a, + 25: 33, + 26: o + }, { + 12: [2, 18] + }, { + 12: a, + 25: 34, + 26: o + }, { + 12: [2, 19] + }, { + 12: [2, 21] + }], + defaultActions: { + 9: [2, 1], + 21: [2, 2], + 23: [2, 11], + 24: [2, 17], + 25: [2, 12], + 26: [2, 13], + 27: [2, 14], + 28: [2, 15], + 31: [2, 18], + 33: [2, 19], + 34: [2, 21] + }, + parseError: function(t, e) { + if (!e.recoverable) { + var n = new Error(t); + throw n.hash = e, n + } + this.trace(t) + }, + parse: function(t) { + var e = this, + n = [0], + r = [], + i = [null], + a = [], + o = this.table, + s = "", + u = 0, + c = 0, + f = 0, + l = 2, + h = 1, + d = a.slice.call(arguments, 1), + p = Object.create(this.lexer), + g = { + yy: {} + }; + for (var y in this.yy) Object.prototype.hasOwnProperty.call(this.yy, y) && (g.yy[y] = this.yy[y]); + p.setInput(t, g.yy), g.yy.lexer = p, g.yy.parser = this, void 0 === p.yylloc && (p.yylloc = {}); + var b = p.yylloc; + a.push(b); + var v = p.options && p.options.ranges; + + function m() { + var t; + return "number" != typeof(t = r.pop() || p.lex() || h) && (t instanceof Array && (t = (r = t).pop()), t = e.symbols_[t] || t), t + } + "function" == typeof g.yy.parseError ? this.parseError = g.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError; + for (var _, w, x, k, E, A, S, M, T, D = {};;) { + if (x = n[n.length - 1], this.defaultActions[x] ? k = this.defaultActions[x] : (null == _ && (_ = m()), k = o[x] && o[x][_]), void 0 === k || !k.length || !k[0]) { + var C = ""; + for (A in T = [], o[x]) this.terminals_[A] && A > l && T.push("'" + this.terminals_[A] + "'"); + C = p.showPosition ? "Parse error on line " + (u + 1) + ":\n" + p.showPosition() + "\nExpecting " + T.join(", ") + ", got '" + (this.terminals_[_] || _) + "'" : "Parse error on line " + (u + 1) + ": Unexpected " + (_ == h ? "end of input" : "'" + (this.terminals_[_] || _) + "'"), this.parseError(C, { + text: p.match, + token: this.terminals_[_] || _, + line: p.yylineno, + loc: b, + expected: T + }) + } + if (k[0] instanceof Array && k.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + x + ", token: " + _); + switch (k[0]) { + case 1: + n.push(_), i.push(p.yytext), a.push(p.yylloc), n.push(k[1]), _ = null, w ? (_ = w, w = null) : (c = p.yyleng, s = p.yytext, u = p.yylineno, b = p.yylloc, f > 0 && f--); + break; + case 2: + if (S = this.productions_[k[1]][1], D.$ = i[i.length - S], D._$ = { + first_line: a[a.length - (S || 1)].first_line, + last_line: a[a.length - 1].last_line, + first_column: a[a.length - (S || 1)].first_column, + last_column: a[a.length - 1].last_column + }, v && (D._$.range = [a[a.length - (S || 1)].range[0], a[a.length - 1].range[1]]), void 0 !== (E = this.performAction.apply(D, [s, c, u, g.yy, k[1], i, a].concat(d)))) return E; + S && (n = n.slice(0, -1 * S * 2), i = i.slice(0, -1 * S), a = a.slice(0, -1 * S)), n.push(this.productions_[k[1]][0]), i.push(D.$), a.push(D._$), M = o[n[n.length - 2]][n[n.length - 1]], n.push(M); + break; + case 3: + return !0 + } + } + return !0 + } + }, + u = { + EOF: 1, + parseError: function(t, e) { + if (!this.yy.parser) throw new Error(t); + this.yy.parser.parseError(t, e) + }, + setInput: function(t, e) { + return this.yy = e || this.yy || {}, this._input = t, this._more = this._backtrack = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this + }, + input: function() { + var t = this._input[0]; + return this.yytext += t, this.yyleng++, this.offset++, this.match += t, this.matched += t, t.match(/(?:\r\n?|\n).*/g) ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), t + }, + unput: function(t) { + var e = t.length, + n = t.split(/(?:\r\n?|\n)/g); + this._input = t + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - e), this.offset -= e; + var r = this.match.split(/(?:\r\n?|\n)/g); + this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), n.length - 1 && (this.yylineno -= n.length - 1); + var i = this.yylloc.range; + return this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: n ? (n.length === r.length ? this.yylloc.first_column : 0) + r[r.length - n.length].length - n[0].length : this.yylloc.first_column - e + }, this.options.ranges && (this.yylloc.range = [i[0], i[0] + this.yyleng - e]), this.yyleng = this.yytext.length, this + }, + more: function() { + return this._more = !0, this + }, + reject: function() { + return this.options.backtrack_lexer ? (this._backtrack = !0, this) : this.parseError("Lexical error on line " + (this.yylineno + 1) + ". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n" + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }) + }, + less: function(t) { + this.unput(this.match.slice(t)) + }, + pastInput: function() { + var t = this.matched.substr(0, this.matched.length - this.match.length); + return (t.length > 20 ? "..." : "") + t.substr(-20).replace(/\n/g, "") + }, + upcomingInput: function() { + var t = this.match; + return t.length < 20 && (t += this._input.substr(0, 20 - t.length)), (t.substr(0, 20) + (t.length > 20 ? "..." : "")).replace(/\n/g, "") + }, + showPosition: function() { + var t = this.pastInput(), + e = new Array(t.length + 1).join("-"); + return t + this.upcomingInput() + "\n" + e + "^" + }, + test_match: function(t, e) { + var n, r, i; + if (this.options.backtrack_lexer && (i = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }, this.options.ranges && (i.yylloc.range = this.yylloc.range.slice(0))), (r = t[0].match(/(?:\r\n?|\n).*/g)) && (this.yylineno += r.length), this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: r ? r[r.length - 1].length - r[r.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + t[0].length + }, this.yytext += t[0], this.match += t[0], this.matches = t, this.yyleng = this.yytext.length, this.options.ranges && (this.yylloc.range = [this.offset, this.offset += this.yyleng]), this._more = !1, this._backtrack = !1, this._input = this._input.slice(t[0].length), this.matched += t[0], n = this.performAction.call(this, this.yy, this, e, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), n) return n; + if (this._backtrack) { + for (var a in i) this[a] = i[a]; + return !1 + } + return !1 + }, + next: function() { + if (this.done) return this.EOF; + var t, e, n, r; + this._input || (this.done = !0), this._more || (this.yytext = "", this.match = ""); + for (var i = this._currentRules(), a = 0; a < i.length; a++) + if ((n = this._input.match(this.rules[i[a]])) && (!e || n[0].length > e[0].length)) { + if (e = n, r = a, this.options.backtrack_lexer) { + if (!1 !== (t = this.test_match(n, i[a]))) return t; + if (this._backtrack) { + e = !1; + continue + } + return !1 + } + if (!this.options.flex) break + } return e ? !1 !== (t = this.test_match(e, i[r])) && t : "" === this._input ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + ". Unrecognized text.\n" + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }) + }, + lex: function() { + var t = this.next(); + return t || this.lex() + }, + begin: function(t) { + this.conditionStack.push(t) + }, + popState: function() { + return this.conditionStack.length - 1 > 0 ? this.conditionStack.pop() : this.conditionStack[0] + }, + _currentRules: function() { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules + }, + topState: function(t) { + return (t = this.conditionStack.length - 1 - Math.abs(t || 0)) >= 0 ? this.conditionStack[t] : "INITIAL" + }, + pushState: function(t) { + this.begin(t) + }, + stateStackSize: function() { + return this.conditionStack.length + }, + options: { + "case-insensitive": !0 + }, + performAction: function(t, e, n, r) { + switch (n) { + case 0: + return 12; + case 1: + case 2: + case 3: + break; + case 4: + return 4; + case 5: + return 15; + case 6: + return 17; + case 7: + return 20; + case 8: + return 21; + case 9: + return 19; + case 10: + case 11: + return 8; + case 12: + return 5; + case 13: + return 26; + case 14: + this.begin("options"); + break; + case 15: + this.popState(); + break; + case 16: + return 11; + case 17: + this.begin("string"); + break; + case 18: + this.popState(); + break; + case 19: + return 23; + case 20: + return 18; + case 21: + return 7 + } + }, + rules: [/^(?:(\r?\n)+)/i, /^(?:\s+)/i, /^(?:#[^\n]*)/i, /^(?:%[^\n]*)/i, /^(?:gitGraph\b)/i, /^(?:commit\b)/i, /^(?:branch\b)/i, /^(?:merge\b)/i, /^(?:reset\b)/i, /^(?:checkout\b)/i, /^(?:LR\b)/i, /^(?:BT\b)/i, /^(?::)/i, /^(?:\^)/i, /^(?:options\r?\n)/i, /^(?:end\r?\n)/i, /^(?:[^\n]+\r?\n)/i, /^(?:["])/i, /^(?:["])/i, /^(?:[^"]*)/i, /^(?:[a-zA-Z][a-zA-Z0-9_]+)/i, /^(?:$)/i], + conditions: { + options: { + rules: [15, 16], + inclusive: !1 + }, + string: { + rules: [18, 19], + inclusive: !1 + }, + INITIAL: { + rules: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 20, 21], + inclusive: !0 + } + } + }; + + function c() { + this.yy = {} + } + return s.lexer = u, c.prototype = s, s.Parser = c, new c + }(); + e.parser = i, e.Parser = i.Parser, e.parse = function() { + return i.parse.apply(i, arguments) + }, e.main = function(r) { + r[1] || (console.log("Usage: " + r[0] + " FILE"), t.exit(1)); + var i = n(28).readFileSync(n(29).normalize(r[1]), "utf8"); + return e.parser.parse(i) + }, n.c[n.s] === r && e.main(t.argv.slice(1)) + }).call(this, n(7), n(9)(t)) + }, function(t, e, n) { + (function(t, r) { + var i = function() { + var t = function(t, e, n, r) { + for (n = n || {}, r = t.length; r--; n[t[r]] = e); + return n + }, + e = [6, 9, 10], + n = { + trace: function() {}, + yy: {}, + symbols_: { + error: 2, + start: 3, + info: 4, + document: 5, + EOF: 6, + line: 7, + statement: 8, + NL: 9, + showInfo: 10, + $accept: 0, + $end: 1 + }, + terminals_: { + 2: "error", + 4: "info", + 6: "EOF", + 9: "NL", + 10: "showInfo" + }, + productions_: [0, [3, 3], + [5, 0], + [5, 2], + [7, 1], + [7, 1], + [8, 1] + ], + performAction: function(t, e, n, r, i, a, o) { + a.length; + switch (i) { + case 1: + return r; + case 4: + break; + case 6: + r.setInfo(!0) + } + }, + table: [{ + 3: 1, + 4: [1, 2] + }, { + 1: [3] + }, t(e, [2, 2], { + 5: 3 + }), { + 6: [1, 4], + 7: 5, + 8: 6, + 9: [1, 7], + 10: [1, 8] + }, { + 1: [2, 1] + }, t(e, [2, 3]), t(e, [2, 4]), t(e, [2, 5]), t(e, [2, 6])], + defaultActions: { + 4: [2, 1] + }, + parseError: function(t, e) { + if (!e.recoverable) { + var n = new Error(t); + throw n.hash = e, n + } + this.trace(t) + }, + parse: function(t) { + var e = this, + n = [0], + r = [], + i = [null], + a = [], + o = this.table, + s = "", + u = 0, + c = 0, + f = 0, + l = 2, + h = 1, + d = a.slice.call(arguments, 1), + p = Object.create(this.lexer), + g = { + yy: {} + }; + for (var y in this.yy) Object.prototype.hasOwnProperty.call(this.yy, y) && (g.yy[y] = this.yy[y]); + p.setInput(t, g.yy), g.yy.lexer = p, g.yy.parser = this, void 0 === p.yylloc && (p.yylloc = {}); + var b = p.yylloc; + a.push(b); + var v = p.options && p.options.ranges; + + function m() { + var t; + return "number" != typeof(t = r.pop() || p.lex() || h) && (t instanceof Array && (t = (r = t).pop()), t = e.symbols_[t] || t), t + } + "function" == typeof g.yy.parseError ? this.parseError = g.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError; + for (var _, w, x, k, E, A, S, M, T, D = {};;) { + if (x = n[n.length - 1], this.defaultActions[x] ? k = this.defaultActions[x] : (null == _ && (_ = m()), k = o[x] && o[x][_]), void 0 === k || !k.length || !k[0]) { + var C = ""; + for (A in T = [], o[x]) this.terminals_[A] && A > l && T.push("'" + this.terminals_[A] + "'"); + C = p.showPosition ? "Parse error on line " + (u + 1) + ":\n" + p.showPosition() + "\nExpecting " + T.join(", ") + ", got '" + (this.terminals_[_] || _) + "'" : "Parse error on line " + (u + 1) + ": Unexpected " + (_ == h ? "end of input" : "'" + (this.terminals_[_] || _) + "'"), this.parseError(C, { + text: p.match, + token: this.terminals_[_] || _, + line: p.yylineno, + loc: b, + expected: T + }) + } + if (k[0] instanceof Array && k.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + x + ", token: " + _); + switch (k[0]) { + case 1: + n.push(_), i.push(p.yytext), a.push(p.yylloc), n.push(k[1]), _ = null, w ? (_ = w, w = null) : (c = p.yyleng, s = p.yytext, u = p.yylineno, b = p.yylloc, f > 0 && f--); + break; + case 2: + if (S = this.productions_[k[1]][1], D.$ = i[i.length - S], D._$ = { + first_line: a[a.length - (S || 1)].first_line, + last_line: a[a.length - 1].last_line, + first_column: a[a.length - (S || 1)].first_column, + last_column: a[a.length - 1].last_column + }, v && (D._$.range = [a[a.length - (S || 1)].range[0], a[a.length - 1].range[1]]), void 0 !== (E = this.performAction.apply(D, [s, c, u, g.yy, k[1], i, a].concat(d)))) return E; + S && (n = n.slice(0, -1 * S * 2), i = i.slice(0, -1 * S), a = a.slice(0, -1 * S)), n.push(this.productions_[k[1]][0]), i.push(D.$), a.push(D._$), M = o[n[n.length - 2]][n[n.length - 1]], n.push(M); + break; + case 3: + return !0 + } + } + return !0 + } + }, + r = { + EOF: 1, + parseError: function(t, e) { + if (!this.yy.parser) throw new Error(t); + this.yy.parser.parseError(t, e) + }, + setInput: function(t, e) { + return this.yy = e || this.yy || {}, this._input = t, this._more = this._backtrack = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this + }, + input: function() { + var t = this._input[0]; + return this.yytext += t, this.yyleng++, this.offset++, this.match += t, this.matched += t, t.match(/(?:\r\n?|\n).*/g) ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), t + }, + unput: function(t) { + var e = t.length, + n = t.split(/(?:\r\n?|\n)/g); + this._input = t + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - e), this.offset -= e; + var r = this.match.split(/(?:\r\n?|\n)/g); + this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), n.length - 1 && (this.yylineno -= n.length - 1); + var i = this.yylloc.range; + return this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: n ? (n.length === r.length ? this.yylloc.first_column : 0) + r[r.length - n.length].length - n[0].length : this.yylloc.first_column - e + }, this.options.ranges && (this.yylloc.range = [i[0], i[0] + this.yyleng - e]), this.yyleng = this.yytext.length, this + }, + more: function() { + return this._more = !0, this + }, + reject: function() { + return this.options.backtrack_lexer ? (this._backtrack = !0, this) : this.parseError("Lexical error on line " + (this.yylineno + 1) + ". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n" + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }) + }, + less: function(t) { + this.unput(this.match.slice(t)) + }, + pastInput: function() { + var t = this.matched.substr(0, this.matched.length - this.match.length); + return (t.length > 20 ? "..." : "") + t.substr(-20).replace(/\n/g, "") + }, + upcomingInput: function() { + var t = this.match; + return t.length < 20 && (t += this._input.substr(0, 20 - t.length)), (t.substr(0, 20) + (t.length > 20 ? "..." : "")).replace(/\n/g, "") + }, + showPosition: function() { + var t = this.pastInput(), + e = new Array(t.length + 1).join("-"); + return t + this.upcomingInput() + "\n" + e + "^" + }, + test_match: function(t, e) { + var n, r, i; + if (this.options.backtrack_lexer && (i = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }, this.options.ranges && (i.yylloc.range = this.yylloc.range.slice(0))), (r = t[0].match(/(?:\r\n?|\n).*/g)) && (this.yylineno += r.length), this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: r ? r[r.length - 1].length - r[r.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + t[0].length + }, this.yytext += t[0], this.match += t[0], this.matches = t, this.yyleng = this.yytext.length, this.options.ranges && (this.yylloc.range = [this.offset, this.offset += this.yyleng]), this._more = !1, this._backtrack = !1, this._input = this._input.slice(t[0].length), this.matched += t[0], n = this.performAction.call(this, this.yy, this, e, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), n) return n; + if (this._backtrack) { + for (var a in i) this[a] = i[a]; + return !1 + } + return !1 + }, + next: function() { + if (this.done) return this.EOF; + var t, e, n, r; + this._input || (this.done = !0), this._more || (this.yytext = "", this.match = ""); + for (var i = this._currentRules(), a = 0; a < i.length; a++) + if ((n = this._input.match(this.rules[i[a]])) && (!e || n[0].length > e[0].length)) { + if (e = n, r = a, this.options.backtrack_lexer) { + if (!1 !== (t = this.test_match(n, i[a]))) return t; + if (this._backtrack) { + e = !1; + continue + } + return !1 + } + if (!this.options.flex) break + } return e ? !1 !== (t = this.test_match(e, i[r])) && t : "" === this._input ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + ". Unrecognized text.\n" + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }) + }, + lex: function() { + var t = this.next(); + return t || this.lex() + }, + begin: function(t) { + this.conditionStack.push(t) + }, + popState: function() { + return this.conditionStack.length - 1 > 0 ? this.conditionStack.pop() : this.conditionStack[0] + }, + _currentRules: function() { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules + }, + topState: function(t) { + return (t = this.conditionStack.length - 1 - Math.abs(t || 0)) >= 0 ? this.conditionStack[t] : "INITIAL" + }, + pushState: function(t) { + this.begin(t) + }, + stateStackSize: function() { + return this.conditionStack.length + }, + options: { + "case-insensitive": !0 + }, + performAction: function(t, e, n, r) { + switch (n) { + case 0: + return 4; + case 1: + return 9; + case 2: + return "space"; + case 3: + return 10; + case 4: + return 6; + case 5: + return "TXT" + } + }, + rules: [/^(?:info\b)/i, /^(?:[\s\n\r]+)/i, /^(?:[\s]+)/i, /^(?:showInfo\b)/i, /^(?:$)/i, /^(?:.)/i], + conditions: { + INITIAL: { + rules: [0, 1, 2, 3, 4, 5], + inclusive: !0 + } + } + }; + + function i() { + this.yy = {} + } + return n.lexer = r, i.prototype = n, n.Parser = i, new i + }(); + e.parser = i, e.Parser = i.Parser, e.parse = function() { + return i.parse.apply(i, arguments) + }, e.main = function(r) { + r[1] || (console.log("Usage: " + r[0] + " FILE"), t.exit(1)); + var i = n(28).readFileSync(n(29).normalize(r[1]), "utf8"); + return e.parser.parse(i) + }, n.c[n.s] === r && e.main(t.argv.slice(1)) + }).call(this, n(7), n(9)(t)) + }, function(t, e, n) { + (function(t, r) { + var i = function() { + var t = function(t, e, n, r) { + for (n = n || {}, r = t.length; r--; n[t[r]] = e); + return n + }, + e = [6, 9, 10, 12], + n = { + trace: function() {}, + yy: {}, + symbols_: { + error: 2, + start: 3, + pie: 4, + document: 5, + EOF: 6, + line: 7, + statement: 8, + NL: 9, + STR: 10, + VALUE: 11, + title: 12, + $accept: 0, + $end: 1 + }, + terminals_: { + 2: "error", + 4: "pie", + 6: "EOF", + 9: "NL", + 10: "STR", + 11: "VALUE", + 12: "title" + }, + productions_: [0, [3, 3], + [5, 0], + [5, 2], + [7, 1], + [7, 1], + [8, 2], + [8, 1] + ], + performAction: function(t, e, n, r, i, a, o) { + var s = a.length - 1; + switch (i) { + case 4: + break; + case 6: + r.addSection(a[s - 1], r.cleanupValue(a[s])); + break; + case 7: + r.setTitle(a[s].substr(6)), this.$ = a[s].substr(6) + } + }, + table: [{ + 3: 1, + 4: [1, 2] + }, { + 1: [3] + }, t(e, [2, 2], { + 5: 3 + }), { + 6: [1, 4], + 7: 5, + 8: 6, + 9: [1, 7], + 10: [1, 8], + 12: [1, 9] + }, { + 1: [2, 1] + }, t(e, [2, 3]), t(e, [2, 4]), t(e, [2, 5]), { + 11: [1, 10] + }, t(e, [2, 7]), t(e, [2, 6])], + defaultActions: { + 4: [2, 1] + }, + parseError: function(t, e) { + if (!e.recoverable) { + var n = new Error(t); + throw n.hash = e, n + } + this.trace(t) + }, + parse: function(t) { + var e = this, + n = [0], + r = [], + i = [null], + a = [], + o = this.table, + s = "", + u = 0, + c = 0, + f = 0, + l = 2, + h = 1, + d = a.slice.call(arguments, 1), + p = Object.create(this.lexer), + g = { + yy: {} + }; + for (var y in this.yy) Object.prototype.hasOwnProperty.call(this.yy, y) && (g.yy[y] = this.yy[y]); + p.setInput(t, g.yy), g.yy.lexer = p, g.yy.parser = this, void 0 === p.yylloc && (p.yylloc = {}); + var b = p.yylloc; + a.push(b); + var v = p.options && p.options.ranges; + + function m() { + var t; + return "number" != typeof(t = r.pop() || p.lex() || h) && (t instanceof Array && (t = (r = t).pop()), t = e.symbols_[t] || t), t + } + "function" == typeof g.yy.parseError ? this.parseError = g.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError; + for (var _, w, x, k, E, A, S, M, T, D = {};;) { + if (x = n[n.length - 1], this.defaultActions[x] ? k = this.defaultActions[x] : (null == _ && (_ = m()), k = o[x] && o[x][_]), void 0 === k || !k.length || !k[0]) { + var C = ""; + for (A in T = [], o[x]) this.terminals_[A] && A > l && T.push("'" + this.terminals_[A] + "'"); + C = p.showPosition ? "Parse error on line " + (u + 1) + ":\n" + p.showPosition() + "\nExpecting " + T.join(", ") + ", got '" + (this.terminals_[_] || _) + "'" : "Parse error on line " + (u + 1) + ": Unexpected " + (_ == h ? "end of input" : "'" + (this.terminals_[_] || _) + "'"), this.parseError(C, { + text: p.match, + token: this.terminals_[_] || _, + line: p.yylineno, + loc: b, + expected: T + }) + } + if (k[0] instanceof Array && k.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + x + ", token: " + _); + switch (k[0]) { + case 1: + n.push(_), i.push(p.yytext), a.push(p.yylloc), n.push(k[1]), _ = null, w ? (_ = w, w = null) : (c = p.yyleng, s = p.yytext, u = p.yylineno, b = p.yylloc, f > 0 && f--); + break; + case 2: + if (S = this.productions_[k[1]][1], D.$ = i[i.length - S], D._$ = { + first_line: a[a.length - (S || 1)].first_line, + last_line: a[a.length - 1].last_line, + first_column: a[a.length - (S || 1)].first_column, + last_column: a[a.length - 1].last_column + }, v && (D._$.range = [a[a.length - (S || 1)].range[0], a[a.length - 1].range[1]]), void 0 !== (E = this.performAction.apply(D, [s, c, u, g.yy, k[1], i, a].concat(d)))) return E; + S && (n = n.slice(0, -1 * S * 2), i = i.slice(0, -1 * S), a = a.slice(0, -1 * S)), n.push(this.productions_[k[1]][0]), i.push(D.$), a.push(D._$), M = o[n[n.length - 2]][n[n.length - 1]], n.push(M); + break; + case 3: + return !0 + } + } + return !0 + } + }, + r = { + EOF: 1, + parseError: function(t, e) { + if (!this.yy.parser) throw new Error(t); + this.yy.parser.parseError(t, e) + }, + setInput: function(t, e) { + return this.yy = e || this.yy || {}, this._input = t, this._more = this._backtrack = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this + }, + input: function() { + var t = this._input[0]; + return this.yytext += t, this.yyleng++, this.offset++, this.match += t, this.matched += t, t.match(/(?:\r\n?|\n).*/g) ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), t + }, + unput: function(t) { + var e = t.length, + n = t.split(/(?:\r\n?|\n)/g); + this._input = t + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - e), this.offset -= e; + var r = this.match.split(/(?:\r\n?|\n)/g); + this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), n.length - 1 && (this.yylineno -= n.length - 1); + var i = this.yylloc.range; + return this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: n ? (n.length === r.length ? this.yylloc.first_column : 0) + r[r.length - n.length].length - n[0].length : this.yylloc.first_column - e + }, this.options.ranges && (this.yylloc.range = [i[0], i[0] + this.yyleng - e]), this.yyleng = this.yytext.length, this + }, + more: function() { + return this._more = !0, this + }, + reject: function() { + return this.options.backtrack_lexer ? (this._backtrack = !0, this) : this.parseError("Lexical error on line " + (this.yylineno + 1) + ". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n" + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }) + }, + less: function(t) { + this.unput(this.match.slice(t)) + }, + pastInput: function() { + var t = this.matched.substr(0, this.matched.length - this.match.length); + return (t.length > 20 ? "..." : "") + t.substr(-20).replace(/\n/g, "") + }, + upcomingInput: function() { + var t = this.match; + return t.length < 20 && (t += this._input.substr(0, 20 - t.length)), (t.substr(0, 20) + (t.length > 20 ? "..." : "")).replace(/\n/g, "") + }, + showPosition: function() { + var t = this.pastInput(), + e = new Array(t.length + 1).join("-"); + return t + this.upcomingInput() + "\n" + e + "^" + }, + test_match: function(t, e) { + var n, r, i; + if (this.options.backtrack_lexer && (i = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }, this.options.ranges && (i.yylloc.range = this.yylloc.range.slice(0))), (r = t[0].match(/(?:\r\n?|\n).*/g)) && (this.yylineno += r.length), this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: r ? r[r.length - 1].length - r[r.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + t[0].length + }, this.yytext += t[0], this.match += t[0], this.matches = t, this.yyleng = this.yytext.length, this.options.ranges && (this.yylloc.range = [this.offset, this.offset += this.yyleng]), this._more = !1, this._backtrack = !1, this._input = this._input.slice(t[0].length), this.matched += t[0], n = this.performAction.call(this, this.yy, this, e, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), n) return n; + if (this._backtrack) { + for (var a in i) this[a] = i[a]; + return !1 + } + return !1 + }, + next: function() { + if (this.done) return this.EOF; + var t, e, n, r; + this._input || (this.done = !0), this._more || (this.yytext = "", this.match = ""); + for (var i = this._currentRules(), a = 0; a < i.length; a++) + if ((n = this._input.match(this.rules[i[a]])) && (!e || n[0].length > e[0].length)) { + if (e = n, r = a, this.options.backtrack_lexer) { + if (!1 !== (t = this.test_match(n, i[a]))) return t; + if (this._backtrack) { + e = !1; + continue + } + return !1 + } + if (!this.options.flex) break + } return e ? !1 !== (t = this.test_match(e, i[r])) && t : "" === this._input ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + ". Unrecognized text.\n" + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }) + }, + lex: function() { + var t = this.next(); + return t || this.lex() + }, + begin: function(t) { + this.conditionStack.push(t) + }, + popState: function() { + return this.conditionStack.length - 1 > 0 ? this.conditionStack.pop() : this.conditionStack[0] + }, + _currentRules: function() { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules + }, + topState: function(t) { + return (t = this.conditionStack.length - 1 - Math.abs(t || 0)) >= 0 ? this.conditionStack[t] : "INITIAL" + }, + pushState: function(t) { + this.begin(t) + }, + stateStackSize: function() { + return this.conditionStack.length + }, + options: { + "case-insensitive": !0 + }, + performAction: function(t, e, n, r) { + switch (n) { + case 0: + case 1: + break; + case 2: + return 4; + case 3: + return 9; + case 4: + return "space"; + case 5: + return 12; + case 6: + this.begin("string"); + break; + case 7: + this.popState(); + break; + case 8: + return "STR"; + case 9: + return "VALUE"; + case 10: + return 6 + } + }, + rules: [/^(?:%%[^\n]*)/i, /^(?:\s+)/i, /^(?:pie\b)/i, /^(?:[\s\n\r]+)/i, /^(?:[\s]+)/i, /^(?:title\s[^#\n;]+)/i, /^(?:["])/i, /^(?:["])/i, /^(?:[^"]*)/i, /^(?::[\s]*[\d]+(?:\.[\d]+)?)/i, /^(?:$)/i], + conditions: { + string: { + rules: [7, 8], + inclusive: !1 + }, + INITIAL: { + rules: [0, 1, 2, 3, 4, 5, 6, 9, 10], + inclusive: !0 + } + } + }; + + function i() { + this.yy = {} + } + return n.lexer = r, i.prototype = n, n.Parser = i, new i + }(); + e.parser = i, e.Parser = i.Parser, e.parse = function() { + return i.parse.apply(i, arguments) + }, e.main = function(r) { + r[1] || (console.log("Usage: " + r[0] + " FILE"), t.exit(1)); + var i = n(28).readFileSync(n(29).normalize(r[1]), "utf8"); + return e.parser.parse(i) + }, n.c[n.s] === r && e.main(t.argv.slice(1)) + }).call(this, n(7), n(9)(t)) + }, function(t) { + t.exports = JSON.parse('{"name":"mermaid","version":"8.4.6","description":"Markdownish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.","main":"dist/mermaid.core.js","keywords":["diagram","markdown","flowchart","sequence diagram","gantt","class diagram","git graph"],"scripts":{"build":"webpack --progress --colors","postbuild":"documentation build src/mermaidAPI.js --shallow -f md --markdown-toc false -o docs/mermaidAPI.md","build:watch":"yarn build --watch","minify":"minify ./dist/mermaid.js > ./dist/mermaid.min.js","release":"yarn build -p --config webpack.config.prod.babel.js","lint":"eslint src","e2e:depr":"yarn lint && jest e2e --config e2e/jest.config.js","cypress":"percy exec -- cypress run","e2e":"start-server-and-test dev http://localhost:9000/ cypress","e2e-upd":"yarn lint && jest e2e -u --config e2e/jest.config.js","dev":"webpack-dev-server --config webpack.config.e2e.js","test":"yarn lint && jest src/.*","test:watch":"jest --watch src","prepublishOnly":"yarn build && yarn release && yarn test && yarn e2e","prepush":"yarn test"},"repository":{"type":"git","url":"https://github.com/knsv/mermaid"},"author":"Knut Sveidqvist","license":"MIT","standard":{"ignore":["**/parser/*.js","dist/**/*.js","cypress/**/*.js"],"globals":["page"]},"dependencies":{"@braintree/sanitize-url":"^3.1.0","crypto-random-string":"^3.0.1","d3":"^5.7.0","dagre":"^0.8.4","dagre-d3":"^0.6.4","graphlib":"^2.1.7","he":"^1.2.0","lodash":"^4.17.11","minify":"^4.1.1","moment-mini":"^2.22.1","scope-css":"^1.2.1"},"devDependencies":{"@babel/core":"^7.2.2","@babel/preset-env":"^7.2.0","@babel/register":"^7.0.0","@percy/cypress":"^2.0.1","babel-core":"7.0.0-bridge.0","babel-jest":"^24.9.0","babel-loader":"^8.0.4","coveralls":"^3.0.2","css-loader":"^2.0.1","css-to-string-loader":"^0.1.3","cypress":"3.4.0","documentation":"^12.0.1","eslint":"^6.3.0","eslint-config-prettier":"^6.3.0","eslint-plugin-prettier":"^3.1.0","husky":"^1.2.1","identity-obj-proxy":"^3.0.0","jest":"^24.9.0","jison":"^0.4.18","moment":"^2.23.0","node-sass":"^4.12.0","prettier":"^1.18.2","puppeteer":"^1.17.0","sass-loader":"^7.1.0","start-server-and-test":"^1.10.6","terser-webpack-plugin":"^2.2.2","webpack":"^4.41.2","webpack-cli":"^3.1.2","webpack-dev-server":"^3.4.1","webpack-node-externals":"^1.7.2","yarn-upgrade-all":"^0.5.0"},"files":["dist"],"yarn-upgrade-all":{"ignore":["babel-core"]}}') + }, function(t, e, n) { + "use strict"; + var r = n(13); + t.exports = s; + var i = "\0", + a = "\0", + o = ""; + + function s(t) { + this._isDirected = !r.has(t, "directed") || t.directed, this._isMultigraph = !!r.has(t, "multigraph") && t.multigraph, this._isCompound = !!r.has(t, "compound") && t.compound, this._label = void 0, this._defaultNodeLabelFn = r.constant(void 0), this._defaultEdgeLabelFn = r.constant(void 0), this._nodes = {}, this._isCompound && (this._parent = {}, this._children = {}, this._children[a] = {}), this._in = {}, this._preds = {}, this._out = {}, this._sucs = {}, this._edgeObjs = {}, this._edgeLabels = {} + } + + function u(t, e) { + t[e] ? t[e]++ : t[e] = 1 + } + + function c(t, e) { + --t[e] || delete t[e] + } + + function f(t, e, n, a) { + var s = "" + e, + u = "" + n; + if (!t && s > u) { + var c = s; + s = u, u = c + } + return s + o + u + o + (r.isUndefined(a) ? i : a) + } + + function l(t, e, n, r) { + var i = "" + e, + a = "" + n; + if (!t && i > a) { + var o = i; + i = a, a = o + } + var s = { + v: i, + w: a + }; + return r && (s.name = r), s + } + + function h(t, e) { + return f(t, e.v, e.w, e.name) + } + s.prototype._nodeCount = 0, s.prototype._edgeCount = 0, s.prototype.isDirected = function() { + return this._isDirected + }, s.prototype.isMultigraph = function() { + return this._isMultigraph + }, s.prototype.isCompound = function() { + return this._isCompound + }, s.prototype.setGraph = function(t) { + return this._label = t, this + }, s.prototype.graph = function() { + return this._label + }, s.prototype.setDefaultNodeLabel = function(t) { + return r.isFunction(t) || (t = r.constant(t)), this._defaultNodeLabelFn = t, this + }, s.prototype.nodeCount = function() { + return this._nodeCount + }, s.prototype.nodes = function() { + return r.keys(this._nodes) + }, s.prototype.sources = function() { + var t = this; + return r.filter(this.nodes(), (function(e) { + return r.isEmpty(t._in[e]) + })) + }, s.prototype.sinks = function() { + var t = this; + return r.filter(this.nodes(), (function(e) { + return r.isEmpty(t._out[e]) + })) + }, s.prototype.setNodes = function(t, e) { + var n = arguments, + i = this; + return r.each(t, (function(t) { + n.length > 1 ? i.setNode(t, e) : i.setNode(t) + })), this + }, s.prototype.setNode = function(t, e) { + return r.has(this._nodes, t) ? (arguments.length > 1 && (this._nodes[t] = e), this) : (this._nodes[t] = arguments.length > 1 ? e : this._defaultNodeLabelFn(t), this._isCompound && (this._parent[t] = a, this._children[t] = {}, this._children[a][t] = !0), this._in[t] = {}, this._preds[t] = {}, this._out[t] = {}, this._sucs[t] = {}, ++this._nodeCount, this) + }, s.prototype.node = function(t) { + return this._nodes[t] + }, s.prototype.hasNode = function(t) { + return r.has(this._nodes, t) + }, s.prototype.removeNode = function(t) { + var e = this; + if (r.has(this._nodes, t)) { + var n = function(t) { + e.removeEdge(e._edgeObjs[t]) + }; + delete this._nodes[t], this._isCompound && (this._removeFromParentsChildList(t), delete this._parent[t], r.each(this.children(t), (function(t) { + e.setParent(t) + })), delete this._children[t]), r.each(r.keys(this._in[t]), n), delete this._in[t], delete this._preds[t], r.each(r.keys(this._out[t]), n), delete this._out[t], delete this._sucs[t], --this._nodeCount + } + return this + }, s.prototype.setParent = function(t, e) { + if (!this._isCompound) throw new Error("Cannot set parent in a non-compound graph"); + if (r.isUndefined(e)) e = a; + else { + for (var n = e += ""; !r.isUndefined(n); n = this.parent(n)) + if (n === t) throw new Error("Setting " + e + " as parent of " + t + " would create a cycle"); + this.setNode(e) + } + return this.setNode(t), this._removeFromParentsChildList(t), this._parent[t] = e, this._children[e][t] = !0, this + }, s.prototype._removeFromParentsChildList = function(t) { + delete this._children[this._parent[t]][t] + }, s.prototype.parent = function(t) { + if (this._isCompound) { + var e = this._parent[t]; + if (e !== a) return e + } + }, s.prototype.children = function(t) { + if (r.isUndefined(t) && (t = a), this._isCompound) { + var e = this._children[t]; + if (e) return r.keys(e) + } else { + if (t === a) return this.nodes(); + if (this.hasNode(t)) return [] + } + }, s.prototype.predecessors = function(t) { + var e = this._preds[t]; + if (e) return r.keys(e) + }, s.prototype.successors = function(t) { + var e = this._sucs[t]; + if (e) return r.keys(e) + }, s.prototype.neighbors = function(t) { + var e = this.predecessors(t); + if (e) return r.union(e, this.successors(t)) + }, s.prototype.isLeaf = function(t) { + return 0 === (this.isDirected() ? this.successors(t) : this.neighbors(t)).length + }, s.prototype.filterNodes = function(t) { + var e = new this.constructor({ + directed: this._isDirected, + multigraph: this._isMultigraph, + compound: this._isCompound + }); + e.setGraph(this.graph()); + var n = this; + r.each(this._nodes, (function(n, r) { + t(r) && e.setNode(r, n) + })), r.each(this._edgeObjs, (function(t) { + e.hasNode(t.v) && e.hasNode(t.w) && e.setEdge(t, n.edge(t)) + })); + var i = {}; + return this._isCompound && r.each(e.nodes(), (function(t) { + e.setParent(t, function t(r) { + var a = n.parent(r); + return void 0 === a || e.hasNode(a) ? (i[r] = a, a) : a in i ? i[a] : t(a) + }(t)) + })), e + }, s.prototype.setDefaultEdgeLabel = function(t) { + return r.isFunction(t) || (t = r.constant(t)), this._defaultEdgeLabelFn = t, this + }, s.prototype.edgeCount = function() { + return this._edgeCount + }, s.prototype.edges = function() { + return r.values(this._edgeObjs) + }, s.prototype.setPath = function(t, e) { + var n = this, + i = arguments; + return r.reduce(t, (function(t, r) { + return i.length > 1 ? n.setEdge(t, r, e) : n.setEdge(t, r), r + })), this + }, s.prototype.setEdge = function() { + var t, e, n, i, a = !1, + o = arguments[0]; + "object" == typeof o && null !== o && "v" in o ? (t = o.v, e = o.w, n = o.name, 2 === arguments.length && (i = arguments[1], a = !0)) : (t = o, e = arguments[1], n = arguments[3], arguments.length > 2 && (i = arguments[2], a = !0)), t = "" + t, e = "" + e, r.isUndefined(n) || (n = "" + n); + var s = f(this._isDirected, t, e, n); + if (r.has(this._edgeLabels, s)) return a && (this._edgeLabels[s] = i), this; + if (!r.isUndefined(n) && !this._isMultigraph) throw new Error("Cannot set a named edge when isMultigraph = false"); + this.setNode(t), this.setNode(e), this._edgeLabels[s] = a ? i : this._defaultEdgeLabelFn(t, e, n); + var c = l(this._isDirected, t, e, n); + return t = c.v, e = c.w, Object.freeze(c), this._edgeObjs[s] = c, u(this._preds[e], t), u(this._sucs[t], e), this._in[e][s] = c, this._out[t][s] = c, this._edgeCount++, this + }, s.prototype.edge = function(t, e, n) { + var r = 1 === arguments.length ? h(this._isDirected, arguments[0]) : f(this._isDirected, t, e, n); + return this._edgeLabels[r] + }, s.prototype.hasEdge = function(t, e, n) { + var i = 1 === arguments.length ? h(this._isDirected, arguments[0]) : f(this._isDirected, t, e, n); + return r.has(this._edgeLabels, i) + }, s.prototype.removeEdge = function(t, e, n) { + var r = 1 === arguments.length ? h(this._isDirected, arguments[0]) : f(this._isDirected, t, e, n), + i = this._edgeObjs[r]; + return i && (t = i.v, e = i.w, delete this._edgeLabels[r], delete this._edgeObjs[r], c(this._preds[e], t), c(this._sucs[t], e), delete this._in[e][r], delete this._out[t][r], this._edgeCount--), this + }, s.prototype.inEdges = function(t, e) { + var n = this._in[t]; + if (n) { + var i = r.values(n); + return e ? r.filter(i, (function(t) { + return t.v === e + })) : i + } + }, s.prototype.outEdges = function(t, e) { + var n = this._out[t]; + if (n) { + var i = r.values(n); + return e ? r.filter(i, (function(t) { + return t.w === e + })) : i + } + }, s.prototype.nodeEdges = function(t, e) { + var n = this.inEdges(t, e); + if (n) return n.concat(this.outEdges(t, e)) + } + }, function(t, e, n) { + var r = n(32)(n(18), "Map"); + t.exports = r + }, function(t, e, n) { + var r = n(254), + i = n(261), + a = n(263), + o = n(264), + s = n(265); + + function u(t) { + var e = -1, + n = null == t ? 0 : t.length; + for (this.clear(); ++e < n;) { + var r = t[e]; + this.set(r[0], r[1]) + } + } + u.prototype.clear = r, u.prototype.delete = i, u.prototype.get = a, u.prototype.has = o, u.prototype.set = s, t.exports = u + }, function(t, e) { + t.exports = function(t, e) { + for (var n = -1, r = null == t ? 0 : t.length; ++n < r && !1 !== e(t[n], n, t);); + return t + } + }, function(t, e) { + var n = 9007199254740991; + t.exports = function(t) { + return "number" == typeof t && t > -1 && t % 1 == 0 && t <= n + } + }, function(t, e, n) { + (function(t) { + var r = n(131), + i = e && !e.nodeType && e, + a = i && "object" == typeof t && t && !t.nodeType && t, + o = a && a.exports === i && r.process, + s = function() { + try { + var t = a && a.require && a.require("util").types; + return t || o && o.binding && o.binding("util") + } catch (t) {} + }(); + t.exports = s + }).call(this, n(9)(t)) + }, function(t, e, n) { + var r = n(70), + i = n(271), + a = Object.prototype.hasOwnProperty; + t.exports = function(t) { + if (!r(t)) return i(t); + var e = []; + for (var n in Object(t)) a.call(t, n) && "constructor" != n && e.push(n); + return e + } + }, function(t, e, n) { + var r = n(138), + i = n(139), + a = Object.prototype.propertyIsEnumerable, + o = Object.getOwnPropertySymbols, + s = o ? function(t) { + return null == t ? [] : (t = Object(t), r(o(t), (function(e) { + return a.call(t, e) + }))) + } : i; + t.exports = s + }, function(t, e) { + t.exports = function(t, e) { + for (var n = -1, r = e.length, i = t.length; ++n < r;) t[i + n] = e[n]; + return t + } + }, function(t, e, n) { + var r = n(144); + t.exports = function(t) { + var e = new t.constructor(t.byteLength); + return new r(e).set(new r(t)), e + } + }, function(t, e) { + t.exports = function(t) { + return function() { + return t + } + } + }, function(t, e, n) { + t.exports = n(148) + }, function(t, e, n) { + var r = n(102), + i = n(27); + t.exports = function(t, e) { + return t && r(t, e, i) + } + }, function(t, e, n) { + var r = n(290)(); + t.exports = r + }, function(t, e) { + t.exports = function(t) { + var e = -1, + n = Array(t.size); + return t.forEach((function(t) { + n[++e] = t + })), n + } + }, function(t, e, n) { + var r = n(73), + i = n(52); + t.exports = function(t, e) { + for (var n = 0, a = (e = r(e, t)).length; null != t && n < a;) t = t[i(e[n++])]; + return n && n == a ? t : void 0 + } + }, function(t, e, n) { + var r = n(6), + i = n(42), + a = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + o = /^\w*$/; + t.exports = function(t, e) { + if (r(t)) return !1; + var n = typeof t; + return !("number" != n && "symbol" != n && "boolean" != n && null != t && !i(t)) || (o.test(t) || !a.test(t) || null != e && t in Object(e)) + } + }, function(t, e, n) { + var r = n(312), + i = n(159); + t.exports = function(t, e) { + return null != t && i(t, e, r) + } + }, function(t, e, n) { + var r = n(97), + i = n(324); + t.exports = function t(e, n, a, o, s) { + var u = -1, + c = e.length; + for (a || (a = i), s || (s = []); ++u < c;) { + var f = e[u]; + n > 0 && a(f) ? n > 1 ? t(f, n - 1, a, o, s) : r(s, f) : o || (s[s.length] = f) + } + return s + } + }, function(t, e, n) { + var r = n(42); + t.exports = function(t, e, n) { + for (var i = -1, a = t.length; ++i < a;) { + var o = t[i], + s = e(o); + if (null != s && (void 0 === u ? s == s && !r(s) : n(s, u))) var u = s, + c = o + } + return c + } + }, function(t, e) { + t.exports = function(t, e, n, r) { + var i = t.x, + a = t.y, + o = i - r.x, + s = a - r.y, + u = Math.sqrt(e * e * s * s + n * n * o * o), + c = Math.abs(e * n * o / u); + r.x < i && (c = -c); + var f = Math.abs(e * n * s / u); + r.y < a && (f = -f); + return { + x: i + c, + y: a + f + } + } + }, function(t, e, n) { + var r = n(409), + i = n(128), + a = n(410); + t.exports = function(t, e, n) { + var o = e.label, + s = t.append("g"); + "svg" === e.labelType ? a(s, e) : "string" != typeof o || "html" === e.labelType ? i(s, e) : r(s, e); + var u, c = s.node().getBBox(); + switch (n) { + case "top": + u = -e.height / 2; + break; + case "bottom": + u = e.height / 2 - c.height; + break; + default: + u = -c.height / 2 + } + return s.attr("transform", "translate(" + -c.width / 2 + "," + u + ")"), s + } + }, function(t, e, n) { + "use strict"; + var r = n(2), + i = n(192), + a = n(3).Buffer, + o = new Array(16); + + function s() { + i.call(this, 64), this._a = 1732584193, this._b = 4023233417, this._c = 2562383102, this._d = 271733878 + } + + function u(t, e) { + return t << e | t >>> 32 - e + } + + function c(t, e, n, r, i, a, o) { + return u(t + (e & n | ~e & r) + i + a | 0, o) + e | 0 + } + + function f(t, e, n, r, i, a, o) { + return u(t + (e & r | n & ~r) + i + a | 0, o) + e | 0 + } + + function l(t, e, n, r, i, a, o) { + return u(t + (e ^ n ^ r) + i + a | 0, o) + e | 0 + } + + function h(t, e, n, r, i, a, o) { + return u(t + (n ^ (e | ~r)) + i + a | 0, o) + e | 0 + } + r(s, i), s.prototype._update = function() { + for (var t = o, e = 0; e < 16; ++e) t[e] = this._block.readInt32LE(4 * e); + var n = this._a, + r = this._b, + i = this._c, + a = this._d; + n = c(n, r, i, a, t[0], 3614090360, 7), a = c(a, n, r, i, t[1], 3905402710, 12), i = c(i, a, n, r, t[2], 606105819, 17), r = c(r, i, a, n, t[3], 3250441966, 22), n = c(n, r, i, a, t[4], 4118548399, 7), a = c(a, n, r, i, t[5], 1200080426, 12), i = c(i, a, n, r, t[6], 2821735955, 17), r = c(r, i, a, n, t[7], 4249261313, 22), n = c(n, r, i, a, t[8], 1770035416, 7), a = c(a, n, r, i, t[9], 2336552879, 12), i = c(i, a, n, r, t[10], 4294925233, 17), r = c(r, i, a, n, t[11], 2304563134, 22), n = c(n, r, i, a, t[12], 1804603682, 7), a = c(a, n, r, i, t[13], 4254626195, 12), i = c(i, a, n, r, t[14], 2792965006, 17), n = f(n, r = c(r, i, a, n, t[15], 1236535329, 22), i, a, t[1], 4129170786, 5), a = f(a, n, r, i, t[6], 3225465664, 9), i = f(i, a, n, r, t[11], 643717713, 14), r = f(r, i, a, n, t[0], 3921069994, 20), n = f(n, r, i, a, t[5], 3593408605, 5), a = f(a, n, r, i, t[10], 38016083, 9), i = f(i, a, n, r, t[15], 3634488961, 14), r = f(r, i, a, n, t[4], 3889429448, 20), n = f(n, r, i, a, t[9], 568446438, 5), a = f(a, n, r, i, t[14], 3275163606, 9), i = f(i, a, n, r, t[3], 4107603335, 14), r = f(r, i, a, n, t[8], 1163531501, 20), n = f(n, r, i, a, t[13], 2850285829, 5), a = f(a, n, r, i, t[2], 4243563512, 9), i = f(i, a, n, r, t[7], 1735328473, 14), n = l(n, r = f(r, i, a, n, t[12], 2368359562, 20), i, a, t[5], 4294588738, 4), a = l(a, n, r, i, t[8], 2272392833, 11), i = l(i, a, n, r, t[11], 1839030562, 16), r = l(r, i, a, n, t[14], 4259657740, 23), n = l(n, r, i, a, t[1], 2763975236, 4), a = l(a, n, r, i, t[4], 1272893353, 11), i = l(i, a, n, r, t[7], 4139469664, 16), r = l(r, i, a, n, t[10], 3200236656, 23), n = l(n, r, i, a, t[13], 681279174, 4), a = l(a, n, r, i, t[0], 3936430074, 11), i = l(i, a, n, r, t[3], 3572445317, 16), r = l(r, i, a, n, t[6], 76029189, 23), n = l(n, r, i, a, t[9], 3654602809, 4), a = l(a, n, r, i, t[12], 3873151461, 11), i = l(i, a, n, r, t[15], 530742520, 16), n = h(n, r = l(r, i, a, n, t[2], 3299628645, 23), i, a, t[0], 4096336452, 6), a = h(a, n, r, i, t[7], 1126891415, 10), i = h(i, a, n, r, t[14], 2878612391, 15), r = h(r, i, a, n, t[5], 4237533241, 21), n = h(n, r, i, a, t[12], 1700485571, 6), a = h(a, n, r, i, t[3], 2399980690, 10), i = h(i, a, n, r, t[10], 4293915773, 15), r = h(r, i, a, n, t[1], 2240044497, 21), n = h(n, r, i, a, t[8], 1873313359, 6), a = h(a, n, r, i, t[15], 4264355552, 10), i = h(i, a, n, r, t[6], 2734768916, 15), r = h(r, i, a, n, t[13], 1309151649, 21), n = h(n, r, i, a, t[4], 4149444226, 6), a = h(a, n, r, i, t[11], 3174756917, 10), i = h(i, a, n, r, t[2], 718787259, 15), r = h(r, i, a, n, t[9], 3951481745, 21), this._a = this._a + n | 0, this._b = this._b + r | 0, this._c = this._c + i | 0, this._d = this._d + a | 0 + }, s.prototype._digest = function() { + this._block[this._blockOffset++] = 128, this._blockOffset > 56 && (this._block.fill(0, this._blockOffset, 64), this._update(), this._blockOffset = 0), this._block.fill(0, this._blockOffset, 56), this._block.writeUInt32LE(this._length[0], 56), this._block.writeUInt32LE(this._length[1], 60), this._update(); + var t = a.allocUnsafe(16); + return t.writeInt32LE(this._a, 0), t.writeInt32LE(this._b, 4), t.writeInt32LE(this._c, 8), t.writeInt32LE(this._d, 12), t + }, t.exports = s + }, function(t, e, n) { + t.exports = i; + var r = n(113).EventEmitter; + + function i() { + r.call(this) + } + n(2)(i, r), i.Readable = n(114), i.Writable = n(430), i.Duplex = n(431), i.Transform = n(432), i.PassThrough = n(433), i.Stream = i, i.prototype.pipe = function(t, e) { + var n = this; + + function i(e) { + t.writable && !1 === t.write(e) && n.pause && n.pause() + } + + function a() { + n.readable && n.resume && n.resume() + } + n.on("data", i), t.on("drain", a), t._isStdio || e && !1 === e.end || (n.on("end", s), n.on("close", u)); + var o = !1; + + function s() { + o || (o = !0, t.end()) + } + + function u() { + o || (o = !0, "function" == typeof t.destroy && t.destroy()) + } + + function c(t) { + if (f(), 0 === r.listenerCount(this, "error")) throw t + } + + function f() { + n.removeListener("data", i), t.removeListener("drain", a), n.removeListener("end", s), n.removeListener("close", u), n.removeListener("error", c), t.removeListener("error", c), n.removeListener("end", f), n.removeListener("close", f), t.removeListener("close", f) + } + return n.on("error", c), t.on("error", c), n.on("end", f), n.on("close", f), t.on("close", f), t.emit("pipe", n), t + } + }, function(t, e, n) { + "use strict"; + var r, i = "object" == typeof Reflect ? Reflect : null, + a = i && "function" == typeof i.apply ? i.apply : function(t, e, n) { + return Function.prototype.apply.call(t, e, n) + }; + r = i && "function" == typeof i.ownKeys ? i.ownKeys : Object.getOwnPropertySymbols ? function(t) { + return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t)) + } : function(t) { + return Object.getOwnPropertyNames(t) + }; + var o = Number.isNaN || function(t) { + return t != t + }; + + function s() { + s.init.call(this) + } + t.exports = s, s.EventEmitter = s, s.prototype._events = void 0, s.prototype._eventsCount = 0, s.prototype._maxListeners = void 0; + var u = 10; + + function c(t) { + return void 0 === t._maxListeners ? s.defaultMaxListeners : t._maxListeners + } + + function f(t, e, n, r) { + var i, a, o, s; + if ("function" != typeof n) throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof n); + if (void 0 === (a = t._events) ? (a = t._events = Object.create(null), t._eventsCount = 0) : (void 0 !== a.newListener && (t.emit("newListener", e, n.listener ? n.listener : n), a = t._events), o = a[e]), void 0 === o) o = a[e] = n, ++t._eventsCount; + else if ("function" == typeof o ? o = a[e] = r ? [n, o] : [o, n] : r ? o.unshift(n) : o.push(n), (i = c(t)) > 0 && o.length > i && !o.warned) { + o.warned = !0; + var u = new Error("Possible EventEmitter memory leak detected. " + o.length + " " + String(e) + " listeners added. Use emitter.setMaxListeners() to increase limit"); + u.name = "MaxListenersExceededWarning", u.emitter = t, u.type = e, u.count = o.length, s = u, console && console.warn && console.warn(s) + } + return t + } + + function l() { + for (var t = [], e = 0; e < arguments.length; e++) t.push(arguments[e]); + this.fired || (this.target.removeListener(this.type, this.wrapFn), this.fired = !0, a(this.listener, this.target, t)) + } + + function h(t, e, n) { + var r = { + fired: !1, + wrapFn: void 0, + target: t, + type: e, + listener: n + }, + i = l.bind(r); + return i.listener = n, r.wrapFn = i, i + } + + function d(t, e, n) { + var r = t._events; + if (void 0 === r) return []; + var i = r[e]; + return void 0 === i ? [] : "function" == typeof i ? n ? [i.listener || i] : [i] : n ? function(t) { + for (var e = new Array(t.length), n = 0; n < e.length; ++n) e[n] = t[n].listener || t[n]; + return e + }(i) : g(i, i.length) + } + + function p(t) { + var e = this._events; + if (void 0 !== e) { + var n = e[t]; + if ("function" == typeof n) return 1; + if (void 0 !== n) return n.length + } + return 0 + } + + function g(t, e) { + for (var n = new Array(e), r = 0; r < e; ++r) n[r] = t[r]; + return n + } + Object.defineProperty(s, "defaultMaxListeners", { + enumerable: !0, + get: function() { + return u + }, + set: function(t) { + if ("number" != typeof t || t < 0 || o(t)) throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + t + "."); + u = t + } + }), s.init = function() { + void 0 !== this._events && this._events !== Object.getPrototypeOf(this)._events || (this._events = Object.create(null), this._eventsCount = 0), this._maxListeners = this._maxListeners || void 0 + }, s.prototype.setMaxListeners = function(t) { + if ("number" != typeof t || t < 0 || o(t)) throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + t + "."); + return this._maxListeners = t, this + }, s.prototype.getMaxListeners = function() { + return c(this) + }, s.prototype.emit = function(t) { + for (var e = [], n = 1; n < arguments.length; n++) e.push(arguments[n]); + var r = "error" === t, + i = this._events; + if (void 0 !== i) r = r && void 0 === i.error; + else if (!r) return !1; + if (r) { + var o; + if (e.length > 0 && (o = e[0]), o instanceof Error) throw o; + var s = new Error("Unhandled error." + (o ? " (" + o.message + ")" : "")); + throw s.context = o, s + } + var u = i[t]; + if (void 0 === u) return !1; + if ("function" == typeof u) a(u, this, e); + else { + var c = u.length, + f = g(u, c); + for (n = 0; n < c; ++n) a(f[n], this, e) + } + return !0 + }, s.prototype.addListener = function(t, e) { + return f(this, t, e, !1) + }, s.prototype.on = s.prototype.addListener, s.prototype.prependListener = function(t, e) { + return f(this, t, e, !0) + }, s.prototype.once = function(t, e) { + if ("function" != typeof e) throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof e); + return this.on(t, h(this, t, e)), this + }, s.prototype.prependOnceListener = function(t, e) { + if ("function" != typeof e) throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof e); + return this.prependListener(t, h(this, t, e)), this + }, s.prototype.removeListener = function(t, e) { + var n, r, i, a, o; + if ("function" != typeof e) throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof e); + if (void 0 === (r = this._events)) return this; + if (void 0 === (n = r[t])) return this; + if (n === e || n.listener === e) 0 == --this._eventsCount ? this._events = Object.create(null) : (delete r[t], r.removeListener && this.emit("removeListener", t, n.listener || e)); + else if ("function" != typeof n) { + for (i = -1, a = n.length - 1; a >= 0; a--) + if (n[a] === e || n[a].listener === e) { + o = n[a].listener, i = a; + break + } if (i < 0) return this; + 0 === i ? n.shift() : function(t, e) { + for (; e + 1 < t.length; e++) t[e] = t[e + 1]; + t.pop() + }(n, i), 1 === n.length && (r[t] = n[0]), void 0 !== r.removeListener && this.emit("removeListener", t, o || e) + } + return this + }, s.prototype.off = s.prototype.removeListener, s.prototype.removeAllListeners = function(t) { + var e, n, r; + if (void 0 === (n = this._events)) return this; + if (void 0 === n.removeListener) return 0 === arguments.length ? (this._events = Object.create(null), this._eventsCount = 0) : void 0 !== n[t] && (0 == --this._eventsCount ? this._events = Object.create(null) : delete n[t]), this; + if (0 === arguments.length) { + var i, a = Object.keys(n); + for (r = 0; r < a.length; ++r) "removeListener" !== (i = a[r]) && this.removeAllListeners(i); + return this.removeAllListeners("removeListener"), this._events = Object.create(null), this._eventsCount = 0, this + } + if ("function" == typeof(e = n[t])) this.removeListener(t, e); + else if (void 0 !== e) + for (r = e.length - 1; r >= 0; r--) this.removeListener(t, e[r]); + return this + }, s.prototype.listeners = function(t) { + return d(this, t, !0) + }, s.prototype.rawListeners = function(t) { + return d(this, t, !1) + }, s.listenerCount = function(t, e) { + return "function" == typeof t.listenerCount ? t.listenerCount(e) : p.call(t, e) + }, s.prototype.listenerCount = p, s.prototype.eventNames = function() { + return this._eventsCount > 0 ? r(this._events) : [] + } + }, function(t, e, n) { + (e = t.exports = n(193)).Stream = e, e.Readable = e, e.Writable = n(116), e.Duplex = n(35), e.Transform = n(196), e.PassThrough = n(429) + }, function(t, e, n) { + var r = n(8), + i = r.Buffer; + + function a(t, e) { + for (var n in t) e[n] = t[n] + } + + function o(t, e, n) { + return i(t, e, n) + } + i.from && i.alloc && i.allocUnsafe && i.allocUnsafeSlow ? t.exports = r : (a(r, e), e.Buffer = o), a(i, o), o.from = function(t, e, n) { + if ("number" == typeof t) throw new TypeError("Argument must not be a number"); + return i(t, e, n) + }, o.alloc = function(t, e, n) { + if ("number" != typeof t) throw new TypeError("Argument must be a number"); + var r = i(t); + return void 0 !== e ? "string" == typeof n ? r.fill(e, n) : r.fill(e) : r.fill(0), r + }, o.allocUnsafe = function(t) { + if ("number" != typeof t) throw new TypeError("Argument must be a number"); + return i(t) + }, o.allocUnsafeSlow = function(t) { + if ("number" != typeof t) throw new TypeError("Argument must be a number"); + return r.SlowBuffer(t) + } + }, function(t, e, n) { + "use strict"; + (function(e, r, i) { + var a = n(78); + + function o(t) { + var e = this; + this.next = null, this.entry = null, this.finish = function() { + ! function(t, e, n) { + var r = t.entry; + t.entry = null; + for (; r;) { + var i = r.callback; + e.pendingcb--, i(n), r = r.next + } + e.corkedRequestsFree ? e.corkedRequestsFree.next = t : e.corkedRequestsFree = t + }(e, t) + } + } + t.exports = v; + var s, u = !e.browser && ["v0.10", "v0.9."].indexOf(e.version.slice(0, 5)) > -1 ? r : a.nextTick; + v.WritableState = b; + var c = n(54); + c.inherits = n(2); + var f = { + deprecate: n(428) + }, + l = n(194), + h = n(115).Buffer, + d = i.Uint8Array || function() {}; + var p, g = n(195); + + function y() {} + + function b(t, e) { + s = s || n(35), t = t || {}; + var r = e instanceof s; + this.objectMode = !!t.objectMode, r && (this.objectMode = this.objectMode || !!t.writableObjectMode); + var i = t.highWaterMark, + c = t.writableHighWaterMark, + f = this.objectMode ? 16 : 16384; + this.highWaterMark = i || 0 === i ? i : r && (c || 0 === c) ? c : f, this.highWaterMark = Math.floor(this.highWaterMark), this.finalCalled = !1, this.needDrain = !1, this.ending = !1, this.ended = !1, this.finished = !1, this.destroyed = !1; + var l = !1 === t.decodeStrings; + this.decodeStrings = !l, this.defaultEncoding = t.defaultEncoding || "utf8", this.length = 0, this.writing = !1, this.corked = 0, this.sync = !0, this.bufferProcessing = !1, this.onwrite = function(t) { + ! function(t, e) { + var n = t._writableState, + r = n.sync, + i = n.writecb; + if (function(t) { + t.writing = !1, t.writecb = null, t.length -= t.writelen, t.writelen = 0 + }(n), e) ! function(t, e, n, r, i) { + --e.pendingcb, n ? (a.nextTick(i, r), a.nextTick(E, t, e), t._writableState.errorEmitted = !0, t.emit("error", r)) : (i(r), t._writableState.errorEmitted = !0, t.emit("error", r), E(t, e)) + }(t, n, r, e, i); + else { + var o = x(n); + o || n.corked || n.bufferProcessing || !n.bufferedRequest || w(t, n), r ? u(_, t, n, o, i) : _(t, n, o, i) + } + }(e, t) + }, this.writecb = null, this.writelen = 0, this.bufferedRequest = null, this.lastBufferedRequest = null, this.pendingcb = 0, this.prefinished = !1, this.errorEmitted = !1, this.bufferedRequestCount = 0, this.corkedRequestsFree = new o(this) + } + + function v(t) { + if (s = s || n(35), !(p.call(v, this) || this instanceof s)) return new v(t); + this._writableState = new b(t, this), this.writable = !0, t && ("function" == typeof t.write && (this._write = t.write), "function" == typeof t.writev && (this._writev = t.writev), "function" == typeof t.destroy && (this._destroy = t.destroy), "function" == typeof t.final && (this._final = t.final)), l.call(this) + } + + function m(t, e, n, r, i, a, o) { + e.writelen = r, e.writecb = o, e.writing = !0, e.sync = !0, n ? t._writev(i, e.onwrite) : t._write(i, a, e.onwrite), e.sync = !1 + } + + function _(t, e, n, r) { + n || function(t, e) { + 0 === e.length && e.needDrain && (e.needDrain = !1, t.emit("drain")) + }(t, e), e.pendingcb--, r(), E(t, e) + } + + function w(t, e) { + e.bufferProcessing = !0; + var n = e.bufferedRequest; + if (t._writev && n && n.next) { + var r = e.bufferedRequestCount, + i = new Array(r), + a = e.corkedRequestsFree; + a.entry = n; + for (var s = 0, u = !0; n;) i[s] = n, n.isBuf || (u = !1), n = n.next, s += 1; + i.allBuffers = u, m(t, e, !0, e.length, i, "", a.finish), e.pendingcb++, e.lastBufferedRequest = null, a.next ? (e.corkedRequestsFree = a.next, a.next = null) : e.corkedRequestsFree = new o(e), e.bufferedRequestCount = 0 + } else { + for (; n;) { + var c = n.chunk, + f = n.encoding, + l = n.callback; + if (m(t, e, !1, e.objectMode ? 1 : c.length, c, f, l), n = n.next, e.bufferedRequestCount--, e.writing) break + } + null === n && (e.lastBufferedRequest = null) + } + e.bufferedRequest = n, e.bufferProcessing = !1 + } + + function x(t) { + return t.ending && 0 === t.length && null === t.bufferedRequest && !t.finished && !t.writing + } + + function k(t, e) { + t._final((function(n) { + e.pendingcb--, n && t.emit("error", n), e.prefinished = !0, t.emit("prefinish"), E(t, e) + })) + } + + function E(t, e) { + var n = x(e); + return n && (! function(t, e) { + e.prefinished || e.finalCalled || ("function" == typeof t._final ? (e.pendingcb++, e.finalCalled = !0, a.nextTick(k, t, e)) : (e.prefinished = !0, t.emit("prefinish"))) + }(t, e), 0 === e.pendingcb && (e.finished = !0, t.emit("finish"))), n + } + c.inherits(v, l), b.prototype.getBuffer = function() { + for (var t = this.bufferedRequest, e = []; t;) e.push(t), t = t.next; + return e + }, + function() { + try { + Object.defineProperty(b.prototype, "buffer", { + get: f.deprecate((function() { + return this.getBuffer() + }), "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.", "DEP0003") + }) + } catch (t) {} + }(), "function" == typeof Symbol && Symbol.hasInstance && "function" == typeof Function.prototype[Symbol.hasInstance] ? (p = Function.prototype[Symbol.hasInstance], Object.defineProperty(v, Symbol.hasInstance, { + value: function(t) { + return !!p.call(this, t) || this === v && (t && t._writableState instanceof b) + } + })) : p = function(t) { + return t instanceof this + }, v.prototype.pipe = function() { + this.emit("error", new Error("Cannot pipe, not readable")) + }, v.prototype.write = function(t, e, n) { + var r, i = this._writableState, + o = !1, + s = !i.objectMode && (r = t, h.isBuffer(r) || r instanceof d); + return s && !h.isBuffer(t) && (t = function(t) { + return h.from(t) + }(t)), "function" == typeof e && (n = e, e = null), s ? e = "buffer" : e || (e = i.defaultEncoding), "function" != typeof n && (n = y), i.ended ? function(t, e) { + var n = new Error("write after end"); + t.emit("error", n), a.nextTick(e, n) + }(this, n) : (s || function(t, e, n, r) { + var i = !0, + o = !1; + return null === n ? o = new TypeError("May not write null values to stream") : "string" == typeof n || void 0 === n || e.objectMode || (o = new TypeError("Invalid non-string/buffer chunk")), o && (t.emit("error", o), a.nextTick(r, o), i = !1), i + }(this, i, t, n)) && (i.pendingcb++, o = function(t, e, n, r, i, a) { + if (!n) { + var o = function(t, e, n) { + t.objectMode || !1 === t.decodeStrings || "string" != typeof e || (e = h.from(e, n)); + return e + }(e, r, i); + r !== o && (n = !0, i = "buffer", r = o) + } + var s = e.objectMode ? 1 : r.length; + e.length += s; + var u = e.length < e.highWaterMark; + u || (e.needDrain = !0); + if (e.writing || e.corked) { + var c = e.lastBufferedRequest; + e.lastBufferedRequest = { + chunk: r, + encoding: i, + isBuf: n, + callback: a, + next: null + }, c ? c.next = e.lastBufferedRequest : e.bufferedRequest = e.lastBufferedRequest, e.bufferedRequestCount += 1 + } else m(t, e, !1, s, r, i, a); + return u + }(this, i, s, t, e, n)), o + }, v.prototype.cork = function() { + this._writableState.corked++ + }, v.prototype.uncork = function() { + var t = this._writableState; + t.corked && (t.corked--, t.writing || t.corked || t.finished || t.bufferProcessing || !t.bufferedRequest || w(this, t)) + }, v.prototype.setDefaultEncoding = function(t) { + if ("string" == typeof t && (t = t.toLowerCase()), !(["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((t + "").toLowerCase()) > -1)) throw new TypeError("Unknown encoding: " + t); + return this._writableState.defaultEncoding = t, this + }, Object.defineProperty(v.prototype, "writableHighWaterMark", { + enumerable: !1, + get: function() { + return this._writableState.highWaterMark + } + }), v.prototype._write = function(t, e, n) { + n(new Error("_write() is not implemented")) + }, v.prototype._writev = null, v.prototype.end = function(t, e, n) { + var r = this._writableState; + "function" == typeof t ? (n = t, t = null, e = null) : "function" == typeof e && (n = e, e = null), null != t && this.write(t, e), r.corked && (r.corked = 1, this.uncork()), r.ending || r.finished || function(t, e, n) { + e.ending = !0, E(t, e), n && (e.finished ? a.nextTick(n) : t.once("finish", n)); + e.ended = !0, t.writable = !1 + }(this, r, n) + }, Object.defineProperty(v.prototype, "destroyed", { + get: function() { + return void 0 !== this._writableState && this._writableState.destroyed + }, + set: function(t) { + this._writableState && (this._writableState.destroyed = t) + } + }), v.prototype.destroy = g.destroy, v.prototype._undestroy = g.undestroy, v.prototype._destroy = function(t, e) { + this.end(), e(t) + } + }).call(this, n(7), n(426).setImmediate, n(12)) + }, function(t, e, n) { + "use strict"; + var r = n(3).Buffer, + i = r.isEncoding || function(t) { + switch ((t = "" + t) && t.toLowerCase()) { + case "hex": + case "utf8": + case "utf-8": + case "ascii": + case "binary": + case "base64": + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + case "raw": + return !0; + default: + return !1 + } + }; + + function a(t) { + var e; + switch (this.encoding = function(t) { + var e = function(t) { + if (!t) return "utf8"; + for (var e;;) switch (t) { + case "utf8": + case "utf-8": + return "utf8"; + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return "utf16le"; + case "latin1": + case "binary": + return "latin1"; + case "base64": + case "ascii": + case "hex": + return t; + default: + if (e) return; + t = ("" + t).toLowerCase(), e = !0 + } + }(t); + if ("string" != typeof e && (r.isEncoding === i || !i(t))) throw new Error("Unknown encoding: " + t); + return e || t + }(t), this.encoding) { + case "utf16le": + this.text = u, this.end = c, e = 4; + break; + case "utf8": + this.fillLast = s, e = 4; + break; + case "base64": + this.text = f, this.end = l, e = 3; + break; + default: + return this.write = h, void(this.end = d) + } + this.lastNeed = 0, this.lastTotal = 0, this.lastChar = r.allocUnsafe(e) + } + + function o(t) { + return t <= 127 ? 0 : t >> 5 == 6 ? 2 : t >> 4 == 14 ? 3 : t >> 3 == 30 ? 4 : t >> 6 == 2 ? -1 : -2 + } + + function s(t) { + var e = this.lastTotal - this.lastNeed, + n = function(t, e, n) { + if (128 != (192 & e[0])) return t.lastNeed = 0, "�"; + if (t.lastNeed > 1 && e.length > 1) { + if (128 != (192 & e[1])) return t.lastNeed = 1, "�"; + if (t.lastNeed > 2 && e.length > 2 && 128 != (192 & e[2])) return t.lastNeed = 2, "�" + } + }(this, t); + return void 0 !== n ? n : this.lastNeed <= t.length ? (t.copy(this.lastChar, e, 0, this.lastNeed), this.lastChar.toString(this.encoding, 0, this.lastTotal)) : (t.copy(this.lastChar, e, 0, t.length), void(this.lastNeed -= t.length)) + } + + function u(t, e) { + if ((t.length - e) % 2 == 0) { + var n = t.toString("utf16le", e); + if (n) { + var r = n.charCodeAt(n.length - 1); + if (r >= 55296 && r <= 56319) return this.lastNeed = 2, this.lastTotal = 4, this.lastChar[0] = t[t.length - 2], this.lastChar[1] = t[t.length - 1], n.slice(0, -1) + } + return n + } + return this.lastNeed = 1, this.lastTotal = 2, this.lastChar[0] = t[t.length - 1], t.toString("utf16le", e, t.length - 1) + } + + function c(t) { + var e = t && t.length ? this.write(t) : ""; + if (this.lastNeed) { + var n = this.lastTotal - this.lastNeed; + return e + this.lastChar.toString("utf16le", 0, n) + } + return e + } + + function f(t, e) { + var n = (t.length - e) % 3; + return 0 === n ? t.toString("base64", e) : (this.lastNeed = 3 - n, this.lastTotal = 3, 1 === n ? this.lastChar[0] = t[t.length - 1] : (this.lastChar[0] = t[t.length - 2], this.lastChar[1] = t[t.length - 1]), t.toString("base64", e, t.length - n)) + } + + function l(t) { + var e = t && t.length ? this.write(t) : ""; + return this.lastNeed ? e + this.lastChar.toString("base64", 0, 3 - this.lastNeed) : e + } + + function h(t) { + return t.toString(this.encoding) + } + + function d(t) { + return t && t.length ? this.write(t) : "" + } + e.StringDecoder = a, a.prototype.write = function(t) { + if (0 === t.length) return ""; + var e, n; + if (this.lastNeed) { + if (void 0 === (e = this.fillLast(t))) return ""; + n = this.lastNeed, this.lastNeed = 0 + } else n = 0; + return n < t.length ? e ? e + this.text(t, n) : this.text(t, n) : e || "" + }, a.prototype.end = function(t) { + var e = t && t.length ? this.write(t) : ""; + return this.lastNeed ? e + "�" : e + }, a.prototype.text = function(t, e) { + var n = function(t, e, n) { + var r = e.length - 1; + if (r < n) return 0; + var i = o(e[r]); + if (i >= 0) return i > 0 && (t.lastNeed = i - 1), i; + if (--r < n || -2 === i) return 0; + if ((i = o(e[r])) >= 0) return i > 0 && (t.lastNeed = i - 2), i; + if (--r < n || -2 === i) return 0; + if ((i = o(e[r])) >= 0) return i > 0 && (2 === i ? i = 0 : t.lastNeed = i - 3), i; + return 0 + }(this, t, e); + if (!this.lastNeed) return t.toString("utf8", e); + this.lastTotal = n; + var r = t.length - (n - this.lastNeed); + return t.copy(this.lastChar, 0, r), t.toString("utf8", e, r) + }, a.prototype.fillLast = function(t) { + if (this.lastNeed <= t.length) return t.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed), this.lastChar.toString(this.encoding, 0, this.lastTotal); + t.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, t.length), this.lastNeed -= t.length + } + }, function(t, e, n) { + "use strict"; + var r = n(8).Buffer, + i = n(2), + a = n(192), + o = new Array(16), + s = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13], + u = [5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11], + c = [11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6], + f = [8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11], + l = [0, 1518500249, 1859775393, 2400959708, 2840853838], + h = [1352829926, 1548603684, 1836072691, 2053994217, 0]; + + function d() { + a.call(this, 64), this._a = 1732584193, this._b = 4023233417, this._c = 2562383102, this._d = 271733878, this._e = 3285377520 + } + + function p(t, e) { + return t << e | t >>> 32 - e + } + + function g(t, e, n, r, i, a, o, s) { + return p(t + (e ^ n ^ r) + a + o | 0, s) + i | 0 + } + + function y(t, e, n, r, i, a, o, s) { + return p(t + (e & n | ~e & r) + a + o | 0, s) + i | 0 + } + + function b(t, e, n, r, i, a, o, s) { + return p(t + ((e | ~n) ^ r) + a + o | 0, s) + i | 0 + } + + function v(t, e, n, r, i, a, o, s) { + return p(t + (e & r | n & ~r) + a + o | 0, s) + i | 0 + } + + function m(t, e, n, r, i, a, o, s) { + return p(t + (e ^ (n | ~r)) + a + o | 0, s) + i | 0 + } + i(d, a), d.prototype._update = function() { + for (var t = o, e = 0; e < 16; ++e) t[e] = this._block.readInt32LE(4 * e); + for (var n = 0 | this._a, r = 0 | this._b, i = 0 | this._c, a = 0 | this._d, d = 0 | this._e, _ = 0 | this._a, w = 0 | this._b, x = 0 | this._c, k = 0 | this._d, E = 0 | this._e, A = 0; A < 80; A += 1) { + var S, M; + A < 16 ? (S = g(n, r, i, a, d, t[s[A]], l[0], c[A]), M = m(_, w, x, k, E, t[u[A]], h[0], f[A])) : A < 32 ? (S = y(n, r, i, a, d, t[s[A]], l[1], c[A]), M = v(_, w, x, k, E, t[u[A]], h[1], f[A])) : A < 48 ? (S = b(n, r, i, a, d, t[s[A]], l[2], c[A]), M = b(_, w, x, k, E, t[u[A]], h[2], f[A])) : A < 64 ? (S = v(n, r, i, a, d, t[s[A]], l[3], c[A]), M = y(_, w, x, k, E, t[u[A]], h[3], f[A])) : (S = m(n, r, i, a, d, t[s[A]], l[4], c[A]), M = g(_, w, x, k, E, t[u[A]], h[4], f[A])), n = d, d = a, a = p(i, 10), i = r, r = S, _ = E, E = k, k = p(x, 10), x = w, w = M + } + var T = this._b + i + k | 0; + this._b = this._c + a + E | 0, this._c = this._d + d + _ | 0, this._d = this._e + n + w | 0, this._e = this._a + r + x | 0, this._a = T + }, d.prototype._digest = function() { + this._block[this._blockOffset++] = 128, this._blockOffset > 56 && (this._block.fill(0, this._blockOffset, 64), this._update(), this._blockOffset = 0), this._block.fill(0, this._blockOffset, 56), this._block.writeUInt32LE(this._length[0], 56), this._block.writeUInt32LE(this._length[1], 60), this._update(); + var t = r.alloc ? r.alloc(20) : new r(20); + return t.writeInt32LE(this._a, 0), t.writeInt32LE(this._b, 4), t.writeInt32LE(this._c, 8), t.writeInt32LE(this._d, 12), t.writeInt32LE(this._e, 16), t + }, t.exports = d + }, function(t, e, n) { + (e = t.exports = function(t) { + t = t.toLowerCase(); + var n = e[t]; + if (!n) throw new Error(t + " is not supported (we accept pull requests)"); + return new n + }).sha = n(434), e.sha1 = n(435), e.sha224 = n(436), e.sha256 = n(197), e.sha384 = n(437), e.sha512 = n(198) + }, function(t, e, n) { + "use strict"; + var r = n(16); + + function i(t) { + this.options = t, this.type = this.options.type, this.blockSize = 8, this._init(), this.buffer = new Array(this.blockSize), this.bufferOff = 0 + } + t.exports = i, i.prototype._init = function() {}, i.prototype.update = function(t) { + return 0 === t.length ? [] : "decrypt" === this.type ? this._updateDecrypt(t) : this._updateEncrypt(t) + }, i.prototype._buffer = function(t, e) { + for (var n = Math.min(this.buffer.length - this.bufferOff, t.length - e), r = 0; r < n; r++) this.buffer[this.bufferOff + r] = t[e + r]; + return this.bufferOff += n, n + }, i.prototype._flushBuffer = function(t, e) { + return this._update(this.buffer, 0, t, e), this.bufferOff = 0, this.blockSize + }, i.prototype._updateEncrypt = function(t) { + var e = 0, + n = 0, + r = (this.bufferOff + t.length) / this.blockSize | 0, + i = new Array(r * this.blockSize); + 0 !== this.bufferOff && (e += this._buffer(t, e), this.bufferOff === this.buffer.length && (n += this._flushBuffer(i, n))); + for (var a = t.length - (t.length - e) % this.blockSize; e < a; e += this.blockSize) this._update(t, e, i, n), n += this.blockSize; + for (; e < t.length; e++, this.bufferOff++) this.buffer[this.bufferOff] = t[e]; + return i + }, i.prototype._updateDecrypt = function(t) { + for (var e = 0, n = 0, r = Math.ceil((this.bufferOff + t.length) / this.blockSize) - 1, i = new Array(r * this.blockSize); r > 0; r--) e += this._buffer(t, e), n += this._flushBuffer(i, n); + return e += this._buffer(t, e), i + }, i.prototype.final = function(t) { + var e, n; + return t && (e = this.update(t)), n = "encrypt" === this.type ? this._finalEncrypt() : this._finalDecrypt(), e ? e.concat(n) : n + }, i.prototype._pad = function(t, e) { + if (0 === e) return !1; + for (; e < t.length;) t[e++] = 0; + return !0 + }, i.prototype._finalEncrypt = function() { + if (!this._pad(this.buffer, this.bufferOff)) return []; + var t = new Array(this.blockSize); + return this._update(this.buffer, 0, t, 0), t + }, i.prototype._unpad = function(t) { + return t + }, i.prototype._finalDecrypt = function() { + r.equal(this.bufferOff, this.blockSize, "Not enough data to decrypt"); + var t = new Array(this.blockSize); + return this._flushBuffer(t, 0), this._unpad(t) + } + }, function(t, e, n) { + var r = n(446), + i = n(454), + a = n(210); + e.createCipher = e.Cipher = r.createCipher, e.createCipheriv = e.Cipheriv = r.createCipheriv, e.createDecipher = e.Decipher = i.createDecipher, e.createDecipheriv = e.Decipheriv = i.createDecipheriv, e.listCiphers = e.getCiphers = function() { + return Object.keys(a) + } + }, function(t, e, n) { + var r = { + ECB: n(447), + CBC: n(448), + CFB: n(449), + CFB8: n(450), + CFB1: n(451), + OFB: n(452), + CTR: n(208), + GCM: n(208) + }, + i = n(210); + for (var a in i) i[a].module = r[i[a].mode]; + t.exports = i + }, function(t, e, n) { + var r; + + function i(t) { + this.rand = t + } + if (t.exports = function(t) { + return r || (r = new i(null)), r.generate(t) + }, t.exports.Rand = i, i.prototype.generate = function(t) { + return this._rand(t) + }, i.prototype._rand = function(t) { + if (this.rand.getBytes) return this.rand.getBytes(t); + for (var e = new Uint8Array(t), n = 0; n < e.length; n++) e[n] = this.rand.getByte(); + return e + }, "object" == typeof self) self.crypto && self.crypto.getRandomValues ? i.prototype._rand = function(t) { + var e = new Uint8Array(t); + return self.crypto.getRandomValues(e), e + } : self.msCrypto && self.msCrypto.getRandomValues ? i.prototype._rand = function(t) { + var e = new Uint8Array(t); + return self.msCrypto.getRandomValues(e), e + } : "object" == typeof window && (i.prototype._rand = function() { + throw new Error("Not implemented yet") + }); + else try { + var a = n(458); + if ("function" != typeof a.randomBytes) throw new Error("Not supported"); + i.prototype._rand = function(t) { + return a.randomBytes(t) + } + } catch (t) {} + }, function(t, e, n) { + (function(e) { + var r = n(5), + i = n(44); + + function a(t, n) { + var i = function(t) { + var e = o(t); + return { + blinder: e.toRed(r.mont(t.modulus)).redPow(new r(t.publicExponent)).fromRed(), + unblinder: e.invm(t.modulus) + } + }(n), + a = n.modulus.byteLength(), + s = (r.mont(n.modulus), new r(t).mul(i.blinder).umod(n.modulus)), + u = s.toRed(r.mont(n.prime1)), + c = s.toRed(r.mont(n.prime2)), + f = n.coefficient, + l = n.prime1, + h = n.prime2, + d = u.redPow(n.exponent1), + p = c.redPow(n.exponent2); + d = d.fromRed(), p = p.fromRed(); + var g = d.isub(p).imul(f).umod(l); + return g.imul(h), p.iadd(g), new e(p.imul(i.unblinder).umod(n.modulus).toArray(!1, a)) + } + + function o(t) { + for (var e = t.modulus.byteLength(), n = new r(i(e)); n.cmp(t.modulus) >= 0 || !n.umod(t.prime1) || !n.umod(t.prime2);) n = new r(i(e)); + return n + } + t.exports = a, a.getr = o + }).call(this, n(8).Buffer) + }, function(t, e, n) { + "use strict"; + var r = e; + r.version = n(463).version, r.utils = n(17), r.rand = n(123), r.curve = n(216), r.curves = n(126), r.ec = n(474), r.eddsa = n(478) + }, function(t, e, n) { + "use strict"; + var r, i = e, + a = n(127), + o = n(216), + s = n(17).assert; + + function u(t) { + "short" === t.type ? this.curve = new o.short(t) : "edwards" === t.type ? this.curve = new o.edwards(t) : this.curve = new o.mont(t), this.g = this.curve.g, this.n = this.curve.n, this.hash = t.hash, s(this.g.validate(), "Invalid curve"), s(this.g.mul(this.n).isInfinity(), "Invalid curve, G*N != O") + } + + function c(t, e) { + Object.defineProperty(i, t, { + configurable: !0, + enumerable: !0, + get: function() { + var n = new u(e); + return Object.defineProperty(i, t, { + configurable: !0, + enumerable: !0, + value: n + }), n + } + }) + } + i.PresetCurve = u, c("p192", { + type: "short", + prime: "p192", + p: "ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff", + a: "ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc", + b: "64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1", + n: "ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831", + hash: a.sha256, + gRed: !1, + g: ["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012", "07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"] + }), c("p224", { + type: "short", + prime: "p224", + p: "ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001", + a: "ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe", + b: "b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4", + n: "ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d", + hash: a.sha256, + gRed: !1, + g: ["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21", "bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"] + }), c("p256", { + type: "short", + prime: null, + p: "ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff", + a: "ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc", + b: "5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b", + n: "ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551", + hash: a.sha256, + gRed: !1, + g: ["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296", "4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"] + }), c("p384", { + type: "short", + prime: null, + p: "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff", + a: "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc", + b: "b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef", + n: "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973", + hash: a.sha384, + gRed: !1, + g: ["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7", "3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"] + }), c("p521", { + type: "short", + prime: null, + p: "000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff", + a: "000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc", + b: "00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00", + n: "000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409", + hash: a.sha512, + gRed: !1, + g: ["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66", "00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"] + }), c("curve25519", { + type: "mont", + prime: "p25519", + p: "7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed", + a: "76d06", + b: "1", + n: "1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed", + hash: a.sha256, + gRed: !1, + g: ["9"] + }), c("ed25519", { + type: "edwards", + prime: "p25519", + p: "7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed", + a: "-1", + c: "1", + d: "52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3", + n: "1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed", + hash: a.sha256, + gRed: !1, + g: ["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a", "6666666666666666666666666666666666666666666666666666666666666658"] + }); + try { + r = n(473) + } catch (t) { + r = void 0 + } + c("secp256k1", { + type: "short", + prime: "k256", + p: "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f", + a: "0", + b: "7", + n: "ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141", + h: "1", + hash: a.sha256, + beta: "7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee", + lambda: "5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72", + basis: [{ + a: "3086d221a7d46bcde86c90e49284eb15", + b: "-e4437ed6010e88286f547fa90abfe4c3" + }, { + a: "114ca50f7a8e2f3f657c1108d9d44cfd8", + b: "3086d221a7d46bcde86c90e49284eb15" + }], + gRed: !1, + g: ["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798", "483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8", r] + }) + }, function(t, e, n) { + var r = e; + r.utils = n(21), r.common = n(56), r.sha = n(467), r.ripemd = n(471), r.hmac = n(472), r.sha1 = r.sha.sha1, r.sha256 = r.sha.sha256, r.sha224 = r.sha.sha224, r.sha384 = r.sha.sha384, r.sha512 = r.sha.sha512, r.ripemd160 = r.ripemd.ripemd160 + }, function(t, e, n) { + var r = n(15); + t.exports = function(t, e) { + var n = t.append("foreignObject").attr("width", "100000"), + i = n.append("xhtml:div"); + i.attr("xmlns", "http://www.w3.org/1999/xhtml"); + var a = e.label; + switch (typeof a) { + case "function": + i.insert(a); + break; + case "object": + i.insert((function() { + return a + })); + break; + default: + i.html(a) + } + r.applyStyle(i, e.labelStyle), i.style("display", "inline-block"), i.style("white-space", "nowrap"); + var o = i.node().getBoundingClientRect(); + return n.attr("width", o.width).attr("height", o.height), n + } + }, function(t, e) {}, function(t, e, n) { + var r = n(61), + i = n(92), + a = n(66), + o = n(266), + s = n(272), + u = n(136), + c = n(137), + f = n(275), + l = n(276), + h = n(141), + d = n(277), + p = n(41), + g = n(281), + y = n(282), + b = n(146), + v = n(6), + m = n(39), + _ = n(286), + w = n(14), + x = n(288), + k = n(27), + E = 1, + A = 2, + S = 4, + M = "[object Arguments]", + T = "[object Function]", + D = "[object GeneratorFunction]", + C = "[object Object]", + N = {}; + N[M] = N["[object Array]"] = N["[object ArrayBuffer]"] = N["[object DataView]"] = N["[object Boolean]"] = N["[object Date]"] = N["[object Float32Array]"] = N["[object Float64Array]"] = N["[object Int8Array]"] = N["[object Int16Array]"] = N["[object Int32Array]"] = N["[object Map]"] = N["[object Number]"] = N[C] = N["[object RegExp]"] = N["[object Set]"] = N["[object String]"] = N["[object Symbol]"] = N["[object Uint8Array]"] = N["[object Uint8ClampedArray]"] = N["[object Uint16Array]"] = N["[object Uint32Array]"] = !0, N["[object Error]"] = N[T] = N["[object WeakMap]"] = !1, t.exports = function t(e, n, I, L, B, O) { + var R, P = n & E, + F = n & A, + q = n & S; + if (I && (R = B ? I(e, L, B, O) : I(e)), void 0 !== R) return R; + if (!w(e)) return e; + var j = v(e); + if (j) { + if (R = g(e), !P) return c(e, R) + } else { + var U = p(e), + z = U == T || U == D; + if (m(e)) return u(e, P); + if (U == C || U == M || z && !B) { + if (R = F || z ? {} : b(e), !P) return F ? l(e, s(R, e)) : f(e, o(R, e)) + } else { + if (!N[U]) return B ? e : {}; + R = y(e, U, P) + } + } + O || (O = new r); + var Y = O.get(e); + if (Y) return Y; + O.set(e, R), x(e) ? e.forEach((function(r) { + R.add(t(r, n, I, r, e, O)) + })) : _(e) && e.forEach((function(r, i) { + R.set(i, t(r, n, I, i, e, O)) + })); + var V = q ? F ? d : h : F ? keysIn : k, + H = j ? void 0 : V(e); + return i(H || e, (function(r, i) { + H && (r = e[i = r]), a(R, i, t(r, n, I, i, e, O)) + })), R + } + }, function(t, e, n) { + (function(e) { + var n = "object" == typeof e && e && e.Object === Object && e; + t.exports = n + }).call(this, n(12)) + }, function(t, e) { + var n = Function.prototype.toString; + t.exports = function(t) { + if (null != t) { + try { + return n.call(t) + } catch (t) {} + try { + return t + "" + } catch (t) {} + } + return "" + } + }, function(t, e, n) { + var r = n(32), + i = function() { + try { + var t = r(Object, "defineProperty"); + return t({}, "", {}), t + } catch (t) {} + }(); + t.exports = i + }, function(t, e, n) { + var r = n(267), + i = n(50), + a = n(6), + o = n(39), + s = n(68), + u = n(51), + c = Object.prototype.hasOwnProperty; + t.exports = function(t, e) { + var n = a(t), + f = !n && i(t), + l = !n && !f && o(t), + h = !n && !f && !l && u(t), + d = n || f || l || h, + p = d ? r(t.length, String) : [], + g = p.length; + for (var y in t) !e && !c.call(t, y) || d && ("length" == y || l && ("offset" == y || "parent" == y) || h && ("buffer" == y || "byteLength" == y || "byteOffset" == y) || s(y, g)) || p.push(y); + return p + } + }, function(t, e) { + t.exports = function(t, e) { + return function(n) { + return t(e(n)) + } + } + }, function(t, e, n) { + (function(t) { + var r = n(18), + i = e && !e.nodeType && e, + a = i && "object" == typeof t && t && !t.nodeType && t, + o = a && a.exports === i ? r.Buffer : void 0, + s = o ? o.allocUnsafe : void 0; + t.exports = function(t, e) { + if (e) return t.slice(); + var n = t.length, + r = s ? s(n) : new t.constructor(n); + return t.copy(r), r + } + }).call(this, n(9)(t)) + }, function(t, e) { + t.exports = function(t, e) { + var n = -1, + r = t.length; + for (e || (e = Array(r)); ++n < r;) e[n] = t[n]; + return e + } + }, function(t, e) { + t.exports = function(t, e) { + for (var n = -1, r = null == t ? 0 : t.length, i = 0, a = []; ++n < r;) { + var o = t[n]; + e(o, n, t) && (a[i++] = o) + } + return a + } + }, function(t, e) { + t.exports = function() { + return [] + } + }, function(t, e, n) { + var r = n(97), + i = n(71), + a = n(96), + o = n(139), + s = Object.getOwnPropertySymbols ? function(t) { + for (var e = []; t;) r(e, a(t)), t = i(t); + return e + } : o; + t.exports = s + }, function(t, e, n) { + var r = n(142), + i = n(96), + a = n(27); + t.exports = function(t) { + return r(t, a, i) + } + }, function(t, e, n) { + var r = n(97), + i = n(6); + t.exports = function(t, e, n) { + var a = e(t); + return i(t) ? a : r(a, n(t)) + } + }, function(t, e, n) { + var r = n(32)(n(18), "Set"); + t.exports = r + }, function(t, e, n) { + var r = n(18).Uint8Array; + t.exports = r + }, function(t, e, n) { + var r = n(98); + t.exports = function(t, e) { + var n = e ? r(t.buffer) : t.buffer; + return new t.constructor(n, t.byteOffset, t.length) + } + }, function(t, e, n) { + var r = n(147), + i = n(71), + a = n(70); + t.exports = function(t) { + return "function" != typeof t.constructor || a(t) ? {} : r(i(t)) + } + }, function(t, e, n) { + var r = n(14), + i = Object.create, + a = function() { + function t() {} + return function(e) { + if (!r(e)) return {}; + if (i) return i(e); + t.prototype = e; + var n = new t; + return t.prototype = void 0, n + } + }(); + t.exports = a + }, function(t, e, n) { + var r = n(92), + i = n(72), + a = n(149), + o = n(6); + t.exports = function(t, e) { + return (o(t) ? r : i)(t, a(e)) + } + }, function(t, e, n) { + var r = n(34); + t.exports = function(t) { + return "function" == typeof t ? t : r + } + }, function(t, e, n) { + var r = n(138), + i = n(292), + a = n(24), + o = n(6); + t.exports = function(t, e) { + return (o(t) ? r : i)(t, a(e, 3)) + } + }, function(t, e, n) { + var r = n(295), + i = n(20); + t.exports = function t(e, n, a, o, s) { + return e === n || (null == e || null == n || !i(e) && !i(n) ? e != e && n != n : r(e, n, a, o, t, s)) + } + }, function(t, e, n) { + var r = n(153), + i = n(298), + a = n(154), + o = 1, + s = 2; + t.exports = function(t, e, n, u, c, f) { + var l = n & o, + h = t.length, + d = e.length; + if (h != d && !(l && d > h)) return !1; + var p = f.get(t); + if (p && f.get(e)) return p == e; + var g = -1, + y = !0, + b = n & s ? new r : void 0; + for (f.set(t, e), f.set(e, t); ++g < h;) { + var v = t[g], + m = e[g]; + if (u) var _ = l ? u(m, v, g, e, t, f) : u(v, m, g, t, e, f); + if (void 0 !== _) { + if (_) continue; + y = !1; + break + } + if (b) { + if (!i(e, (function(t, e) { + if (!a(b, e) && (v === t || c(v, t, n, u, f))) return b.push(e) + }))) { + y = !1; + break + } + } else if (v !== m && !c(v, m, n, u, f)) { + y = !1; + break + } + } + return f.delete(t), f.delete(e), y + } + }, function(t, e, n) { + var r = n(91), + i = n(296), + a = n(297); + + function o(t) { + var e = -1, + n = null == t ? 0 : t.length; + for (this.__data__ = new r; ++e < n;) this.add(t[e]) + } + o.prototype.add = o.prototype.push = i, o.prototype.has = a, t.exports = o + }, function(t, e) { + t.exports = function(t, e) { + return t.has(e) + } + }, function(t, e, n) { + var r = n(14); + t.exports = function(t) { + return t == t && !r(t) + } + }, function(t, e) { + t.exports = function(t, e) { + return function(n) { + return null != n && (n[t] === e && (void 0 !== e || t in Object(n))) + } + } + }, function(t, e, n) { + var r = n(308); + t.exports = function(t) { + return null == t ? "" : r(t) + } + }, function(t, e, n) { + var r = n(309), + i = n(159); + t.exports = function(t, e) { + return null != t && i(t, e, r) + } + }, function(t, e, n) { + var r = n(73), + i = n(50), + a = n(6), + o = n(68), + s = n(93), + u = n(52); + t.exports = function(t, e, n) { + for (var c = -1, f = (e = r(e, t)).length, l = !1; ++c < f;) { + var h = u(e[c]); + if (!(l = null != t && n(t, h))) break; + t = t[h] + } + return l || ++c != f ? l : !!(f = null == t ? 0 : t.length) && s(f) && o(h, f) && (a(t) || i(t)) + } + }, function(t, e) { + t.exports = function(t) { + return function(e) { + return null == e ? void 0 : e[t] + } + } + }, function(t, e) { + t.exports = function(t) { + return void 0 === t + } + }, function(t, e, n) { + var r = n(74), + i = n(24), + a = n(163), + o = n(6); + t.exports = function(t, e) { + return (o(t) ? r : a)(t, i(e, 3)) + } + }, function(t, e, n) { + var r = n(72), + i = n(23); + t.exports = function(t, e) { + var n = -1, + a = i(t) ? Array(t.length) : []; + return r(t, (function(t, r, i) { + a[++n] = e(t, r, i) + })), a + } + }, function(t, e, n) { + var r = n(314), + i = n(72), + a = n(24), + o = n(315), + s = n(6); + t.exports = function(t, e, n) { + var u = s(t) ? r : o, + c = arguments.length < 3; + return u(t, a(e, 4), n, c, i) + } + }, function(t, e, n) { + var r = n(325), + i = Math.max; + t.exports = function(t, e, n) { + return e = i(void 0 === e ? t.length - 1 : e, 0), + function() { + for (var a = arguments, o = -1, s = i(a.length - e, 0), u = Array(s); ++o < s;) u[o] = a[e + o]; + o = -1; + for (var c = Array(e + 1); ++o < e;) c[o] = a[o]; + return c[e] = n(u), r(t, this, c) + } + } + }, function(t, e, n) { + var r = n(326), + i = n(327)(r); + t.exports = i + }, function(t, e) { + t.exports = function(t, e, n, r) { + for (var i = t.length, a = n + (r ? 1 : -1); r ? a-- : ++a < i;) + if (e(t[a], a, t)) return a; + return -1 + } + }, function(t, e, n) { + var r = n(23), + i = n(20); + t.exports = function(t) { + return i(t) && r(t) + } + }, function(t, e, n) { + var r = n(336), + i = n(27); + t.exports = function(t) { + return null == t ? [] : r(t, i(t)) + } + }, function(t, e, n) { + var r = n(13), + i = n(171); + t.exports = function(t, e, n, r) { + return function(t, e, n, r) { + var a, o, s = {}, + u = new i, + c = function(t) { + var e = t.v !== a ? t.v : t.w, + r = s[e], + i = n(t), + c = o.distance + i; + if (i < 0) throw new Error("dijkstra does not allow negative edge weights. Bad edge: " + t + " Weight: " + i); + c < r.distance && (r.distance = c, r.predecessor = a, u.decrease(e, c)) + }; + t.nodes().forEach((function(t) { + var n = t === e ? 0 : Number.POSITIVE_INFINITY; + s[t] = { + distance: n + }, u.add(t, n) + })); + for (; u.size() > 0 && (a = u.removeMin(), (o = s[a]).distance !== Number.POSITIVE_INFINITY);) r(a).forEach(c); + return s + }(t, String(e), n || a, r || function(e) { + return t.outEdges(e) + }) + }; + var a = r.constant(1) + }, function(t, e, n) { + var r = n(13); + + function i() { + this._arr = [], this._keyIndices = {} + } + t.exports = i, i.prototype.size = function() { + return this._arr.length + }, i.prototype.keys = function() { + return this._arr.map((function(t) { + return t.key + })) + }, i.prototype.has = function(t) { + return r.has(this._keyIndices, t) + }, i.prototype.priority = function(t) { + var e = this._keyIndices[t]; + if (void 0 !== e) return this._arr[e].priority + }, i.prototype.min = function() { + if (0 === this.size()) throw new Error("Queue underflow"); + return this._arr[0].key + }, i.prototype.add = function(t, e) { + var n = this._keyIndices; + if (t = String(t), !r.has(n, t)) { + var i = this._arr, + a = i.length; + return n[t] = a, i.push({ + key: t, + priority: e + }), this._decrease(a), !0 + } + return !1 + }, i.prototype.removeMin = function() { + this._swap(0, this._arr.length - 1); + var t = this._arr.pop(); + return delete this._keyIndices[t.key], this._heapify(0), t.key + }, i.prototype.decrease = function(t, e) { + var n = this._keyIndices[t]; + if (e > this._arr[n].priority) throw new Error("New priority is greater than current priority. Key: " + t + " Old: " + this._arr[n].priority + " New: " + e); + this._arr[n].priority = e, this._decrease(n) + }, i.prototype._heapify = function(t) { + var e = this._arr, + n = 2 * t, + r = n + 1, + i = t; + n < e.length && (i = e[n].priority < e[i].priority ? n : i, r < e.length && (i = e[r].priority < e[i].priority ? r : i), i !== t && (this._swap(t, i), this._heapify(i))) + }, i.prototype._decrease = function(t) { + for (var e, n = this._arr, r = n[t].priority; 0 !== t && !(n[e = t >> 1].priority < r);) this._swap(t, e), t = e + }, i.prototype._swap = function(t, e) { + var n = this._arr, + r = this._keyIndices, + i = n[t], + a = n[e]; + n[t] = a, n[e] = i, r[a.key] = t, r[i.key] = e + } + }, function(t, e, n) { + var r = n(13); + t.exports = function(t) { + var e = 0, + n = [], + i = {}, + a = []; + return t.nodes().forEach((function(o) { + r.has(i, o) || function o(s) { + var u = i[s] = { + onStack: !0, + lowlink: e, + index: e++ + }; + if (n.push(s), t.successors(s).forEach((function(t) { + r.has(i, t) ? i[t].onStack && (u.lowlink = Math.min(u.lowlink, i[t].index)) : (o(t), u.lowlink = Math.min(u.lowlink, i[t].lowlink)) + })), u.lowlink === u.index) { + var c, f = []; + do { + c = n.pop(), i[c].onStack = !1, f.push(c) + } while (s !== c); + a.push(f) + } + }(o) + })), a + } + }, function(t, e, n) { + var r = n(13); + + function i(t) { + var e = {}, + n = {}, + i = []; + if (r.each(t.sinks(), (function o(s) { + if (r.has(n, s)) throw new a; + r.has(e, s) || (n[s] = !0, e[s] = !0, r.each(t.predecessors(s), o), delete n[s], i.push(s)) + })), r.size(e) !== t.nodeCount()) throw new a; + return i + } + + function a() {} + t.exports = i, i.CycleException = a, a.prototype = new Error + }, function(t, e, n) { + var r = n(13); + t.exports = function(t, e, n) { + r.isArray(e) || (e = [e]); + var i = (t.isDirected() ? t.successors : t.neighbors).bind(t), + a = [], + o = {}; + return r.each(e, (function(e) { + if (!t.hasNode(e)) throw new Error("Graph does not have node: " + e); + ! function t(e, n, i, a, o, s) { + r.has(a, n) || (a[n] = !0, i || s.push(n), r.each(o(n), (function(n) { + t(e, n, i, a, o, s) + })), i && s.push(n)) + }(t, e, "post" === n, o, i, a) + })), a + } + }, function(t, e, n) { + var r; + try { + r = n(59) + } catch (t) {} + r || (r = window.dagre), t.exports = r + }, function(t, e, n) { + var r = n(75), + i = n(36), + a = n(76), + o = n(40), + s = Object.prototype, + u = s.hasOwnProperty, + c = r((function(t, e) { + t = Object(t); + var n = -1, + r = e.length, + c = r > 2 ? e[2] : void 0; + for (c && a(e[0], e[1], c) && (r = 1); ++n < r;) + for (var f = e[n], l = o(f), h = -1, d = l.length; ++h < d;) { + var p = l[h], + g = t[p]; + (void 0 === g || i(g, s[p]) && !u.call(t, p)) && (t[p] = f[p]) + } + return t + })); + t.exports = c + }, function(t, e, n) { + var r = n(355), + i = 1 / 0, + a = 17976931348623157e292; + t.exports = function(t) { + return t ? (t = r(t)) === i || t === -i ? (t < 0 ? -1 : 1) * a : t == t ? t : 0 : 0 === t ? t : 0 + } + }, function(t, e, n) { + var r = n(107); + t.exports = function(t) { + return (null == t ? 0 : t.length) ? r(t, 1) : [] + } + }, function(t, e, n) { + var r = n(67), + i = n(36); + t.exports = function(t, e, n) { + (void 0 === n || i(t[e], n)) && (void 0 !== n || e in t) || r(t, e, n) + } + }, function(t, e, n) { + var r = n(33), + i = n(71), + a = n(20), + o = "[object Object]", + s = Function.prototype, + u = Object.prototype, + c = s.toString, + f = u.hasOwnProperty, + l = c.call(Object); + t.exports = function(t) { + if (!a(t) || r(t) != o) return !1; + var e = i(t); + if (null === e) return !0; + var n = f.call(e, "constructor") && e.constructor; + return "function" == typeof n && n instanceof n && c.call(n) == l + } + }, function(t, e) { + t.exports = function(t, e) { + if (("constructor" !== e || "function" != typeof t[e]) && "__proto__" != e) return t[e] + } + }, function(t, e) { + t.exports = function(t, e) { + return t < e + } + }, function(t, e, n) { + var r = n(369), + i = n(372)((function(t, e) { + return null == t ? {} : r(t, e) + })); + t.exports = i + }, function(t, e, n) { + var r = n(373)(); + t.exports = r + }, function(t, e, n) { + var r = n(157), + i = 0; + t.exports = function(t) { + var e = ++i; + return r(t) + e + } + }, function(t, e, n) { + "use strict"; + var r = n(4), + i = n(19).Graph, + a = n(77).slack; + + function o(t, e) { + return r.forEach(t.nodes(), (function n(i) { + r.forEach(e.nodeEdges(i), (function(r) { + var o = r.v, + s = i === o ? r.w : o; + t.hasNode(s) || a(e, r) || (t.setNode(s, {}), t.setEdge(i, s, {}), n(s)) + })) + })), t.nodeCount() + } + + function s(t, e) { + return r.minBy(e.edges(), (function(n) { + if (t.hasNode(n.v) !== t.hasNode(n.w)) return a(e, n) + })) + } + + function u(t, e, n) { + r.forEach(t.nodes(), (function(t) { + e.node(t).rank += n + })) + } + t.exports = function(t) { + var e, n, r = new i({ + directed: !1 + }), + c = t.nodes()[0], + f = t.nodeCount(); + r.setNode(c, {}); + for (; o(r, t) < f;) e = s(r, t), n = r.hasNode(e.v) ? a(t, e) : -a(t, e), u(r, t, n); + return r + } + }, function(t, e) { + t.exports = function(t, e) { + return t.intersect(e) + } + }, function(t, e, n) { + var r = n(109); + t.exports = function(t, e, n) { + return r(t, e, e, n) + } + }, function(t, e, n) { + var r = n(406); + t.exports = function(t, e, n) { + var i = t.x, + a = t.y, + o = [], + s = Number.POSITIVE_INFINITY, + u = Number.POSITIVE_INFINITY; + e.forEach((function(t) { + s = Math.min(s, t.x), u = Math.min(u, t.y) + })); + for (var c = i - t.width / 2 - s, f = a - t.height / 2 - u, l = 0; l < e.length; l++) { + var h = e[l], + d = e[l < e.length - 1 ? l + 1 : 0], + p = r(t, n, { + x: c + h.x, + y: f + h.y + }, { + x: c + d.x, + y: f + d.y + }); + p && o.push(p) + } + if (!o.length) return console.log("NO INTERSECTION FOUND, RETURN NODE CENTER", t), t; + o.length > 1 && o.sort((function(t, e) { + var r = t.x - n.x, + i = t.y - n.y, + a = Math.sqrt(r * r + i * i), + o = e.x - n.x, + s = e.y - n.y, + u = Math.sqrt(o * o + s * s); + return a < u ? -1 : a === u ? 0 : 1 + })); + return o[0] + } + }, function(t, e) { + t.exports = function(t, e) { + var n, r, i = t.x, + a = t.y, + o = e.x - i, + s = e.y - a, + u = t.width / 2, + c = t.height / 2; + Math.abs(s) * u > Math.abs(o) * c ? (s < 0 && (c = -c), n = 0 === s ? 0 : c * o / s, r = c) : (o < 0 && (u = -u), n = u, r = 0 === o ? 0 : u * s / o); + return { + x: i + n, + y: a + r + } + } + }, function(t, e) { + var n = {}.toString; + t.exports = Array.isArray || function(t) { + return "[object Array]" == n.call(t) + } + }, function(t, e, n) { + "use strict"; + var r = n(3).Buffer, + i = n(112).Transform; + + function a(t) { + i.call(this), this._block = r.allocUnsafe(t), this._blockSize = t, this._blockOffset = 0, this._length = [0, 0, 0, 0], this._finalized = !1 + } + n(2)(a, i), a.prototype._transform = function(t, e, n) { + var r = null; + try { + this.update(t, e) + } catch (t) { + r = t + } + n(r) + }, a.prototype._flush = function(t) { + var e = null; + try { + this.push(this.digest()) + } catch (t) { + e = t + } + t(e) + }, a.prototype.update = function(t, e) { + if (function(t, e) { + if (!r.isBuffer(t) && "string" != typeof t) throw new TypeError(e + " must be a string or a buffer") + }(t, "Data"), this._finalized) throw new Error("Digest already called"); + r.isBuffer(t) || (t = r.from(t, e)); + for (var n = this._block, i = 0; this._blockOffset + t.length - i >= this._blockSize;) { + for (var a = this._blockOffset; a < this._blockSize;) n[a++] = t[i++]; + this._update(), this._blockOffset = 0 + } + for (; i < t.length;) n[this._blockOffset++] = t[i++]; + for (var o = 0, s = 8 * t.length; s > 0; ++o) this._length[o] += s, (s = this._length[o] / 4294967296 | 0) > 0 && (this._length[o] -= 4294967296 * s); + return this + }, a.prototype._update = function() { + throw new Error("_update is not implemented") + }, a.prototype.digest = function(t) { + if (this._finalized) throw new Error("Digest already called"); + this._finalized = !0; + var e = this._digest(); + void 0 !== t && (e = e.toString(t)), this._block.fill(0), this._blockOffset = 0; + for (var n = 0; n < 4; ++n) this._length[n] = 0; + return e + }, a.prototype._digest = function() { + throw new Error("_digest is not implemented") + }, t.exports = a + }, function(t, e, n) { + "use strict"; + (function(e, r) { + var i = n(78); + t.exports = m; + var a, o = n(191); + m.ReadableState = v; + n(113).EventEmitter; + var s = function(t, e) { + return t.listeners(e).length + }, + u = n(194), + c = n(115).Buffer, + f = e.Uint8Array || function() {}; + var l = n(54); + l.inherits = n(2); + var h = n(423), + d = void 0; + d = h && h.debuglog ? h.debuglog("stream") : function() {}; + var p, g = n(424), + y = n(195); + l.inherits(m, u); + var b = ["error", "close", "destroy", "pause", "resume"]; + + function v(t, e) { + t = t || {}; + var r = e instanceof(a = a || n(35)); + this.objectMode = !!t.objectMode, r && (this.objectMode = this.objectMode || !!t.readableObjectMode); + var i = t.highWaterMark, + o = t.readableHighWaterMark, + s = this.objectMode ? 16 : 16384; + this.highWaterMark = i || 0 === i ? i : r && (o || 0 === o) ? o : s, this.highWaterMark = Math.floor(this.highWaterMark), this.buffer = new g, this.length = 0, this.pipes = null, this.pipesCount = 0, this.flowing = null, this.ended = !1, this.endEmitted = !1, this.reading = !1, this.sync = !0, this.needReadable = !1, this.emittedReadable = !1, this.readableListening = !1, this.resumeScheduled = !1, this.destroyed = !1, this.defaultEncoding = t.defaultEncoding || "utf8", this.awaitDrain = 0, this.readingMore = !1, this.decoder = null, this.encoding = null, t.encoding && (p || (p = n(117).StringDecoder), this.decoder = new p(t.encoding), this.encoding = t.encoding) + } + + function m(t) { + if (a = a || n(35), !(this instanceof m)) return new m(t); + this._readableState = new v(t, this), this.readable = !0, t && ("function" == typeof t.read && (this._read = t.read), "function" == typeof t.destroy && (this._destroy = t.destroy)), u.call(this) + } + + function _(t, e, n, r, i) { + var a, o = t._readableState; + null === e ? (o.reading = !1, function(t, e) { + if (e.ended) return; + if (e.decoder) { + var n = e.decoder.end(); + n && n.length && (e.buffer.push(n), e.length += e.objectMode ? 1 : n.length) + } + e.ended = !0, E(t) + }(t, o)) : (i || (a = function(t, e) { + var n; + r = e, c.isBuffer(r) || r instanceof f || "string" == typeof e || void 0 === e || t.objectMode || (n = new TypeError("Invalid non-string/buffer chunk")); + var r; + return n + }(o, e)), a ? t.emit("error", a) : o.objectMode || e && e.length > 0 ? ("string" == typeof e || o.objectMode || Object.getPrototypeOf(e) === c.prototype || (e = function(t) { + return c.from(t) + }(e)), r ? o.endEmitted ? t.emit("error", new Error("stream.unshift() after end event")) : w(t, o, e, !0) : o.ended ? t.emit("error", new Error("stream.push() after EOF")) : (o.reading = !1, o.decoder && !n ? (e = o.decoder.write(e), o.objectMode || 0 !== e.length ? w(t, o, e, !1) : S(t, o)) : w(t, o, e, !1))) : r || (o.reading = !1)); + return function(t) { + return !t.ended && (t.needReadable || t.length < t.highWaterMark || 0 === t.length) + }(o) + } + + function w(t, e, n, r) { + e.flowing && 0 === e.length && !e.sync ? (t.emit("data", n), t.read(0)) : (e.length += e.objectMode ? 1 : n.length, r ? e.buffer.unshift(n) : e.buffer.push(n), e.needReadable && E(t)), S(t, e) + } + Object.defineProperty(m.prototype, "destroyed", { + get: function() { + return void 0 !== this._readableState && this._readableState.destroyed + }, + set: function(t) { + this._readableState && (this._readableState.destroyed = t) + } + }), m.prototype.destroy = y.destroy, m.prototype._undestroy = y.undestroy, m.prototype._destroy = function(t, e) { + this.push(null), e(t) + }, m.prototype.push = function(t, e) { + var n, r = this._readableState; + return r.objectMode ? n = !0 : "string" == typeof t && ((e = e || r.defaultEncoding) !== r.encoding && (t = c.from(t, e), e = ""), n = !0), _(this, t, e, !1, n) + }, m.prototype.unshift = function(t) { + return _(this, t, null, !0, !1) + }, m.prototype.isPaused = function() { + return !1 === this._readableState.flowing + }, m.prototype.setEncoding = function(t) { + return p || (p = n(117).StringDecoder), this._readableState.decoder = new p(t), this._readableState.encoding = t, this + }; + var x = 8388608; + + function k(t, e) { + return t <= 0 || 0 === e.length && e.ended ? 0 : e.objectMode ? 1 : t != t ? e.flowing && e.length ? e.buffer.head.data.length : e.length : (t > e.highWaterMark && (e.highWaterMark = function(t) { + return t >= x ? t = x : (t--, t |= t >>> 1, t |= t >>> 2, t |= t >>> 4, t |= t >>> 8, t |= t >>> 16, t++), t + }(t)), t <= e.length ? t : e.ended ? e.length : (e.needReadable = !0, 0)) + } + + function E(t) { + var e = t._readableState; + e.needReadable = !1, e.emittedReadable || (d("emitReadable", e.flowing), e.emittedReadable = !0, e.sync ? i.nextTick(A, t) : A(t)) + } + + function A(t) { + d("emit readable"), t.emit("readable"), C(t) + } + + function S(t, e) { + e.readingMore || (e.readingMore = !0, i.nextTick(M, t, e)) + } + + function M(t, e) { + for (var n = e.length; !e.reading && !e.flowing && !e.ended && e.length < e.highWaterMark && (d("maybeReadMore read 0"), t.read(0), n !== e.length);) n = e.length; + e.readingMore = !1 + } + + function T(t) { + d("readable nexttick read 0"), t.read(0) + } + + function D(t, e) { + e.reading || (d("resume read 0"), t.read(0)), e.resumeScheduled = !1, e.awaitDrain = 0, t.emit("resume"), C(t), e.flowing && !e.reading && t.read(0) + } + + function C(t) { + var e = t._readableState; + for (d("flow", e.flowing); e.flowing && null !== t.read();); + } + + function N(t, e) { + return 0 === e.length ? null : (e.objectMode ? n = e.buffer.shift() : !t || t >= e.length ? (n = e.decoder ? e.buffer.join("") : 1 === e.buffer.length ? e.buffer.head.data : e.buffer.concat(e.length), e.buffer.clear()) : n = function(t, e, n) { + var r; + t < e.head.data.length ? (r = e.head.data.slice(0, t), e.head.data = e.head.data.slice(t)) : r = t === e.head.data.length ? e.shift() : n ? function(t, e) { + var n = e.head, + r = 1, + i = n.data; + t -= i.length; + for (; n = n.next;) { + var a = n.data, + o = t > a.length ? a.length : t; + if (o === a.length ? i += a : i += a.slice(0, t), 0 === (t -= o)) { + o === a.length ? (++r, n.next ? e.head = n.next : e.head = e.tail = null) : (e.head = n, n.data = a.slice(o)); + break + }++r + } + return e.length -= r, i + }(t, e) : function(t, e) { + var n = c.allocUnsafe(t), + r = e.head, + i = 1; + r.data.copy(n), t -= r.data.length; + for (; r = r.next;) { + var a = r.data, + o = t > a.length ? a.length : t; + if (a.copy(n, n.length - t, 0, o), 0 === (t -= o)) { + o === a.length ? (++i, r.next ? e.head = r.next : e.head = e.tail = null) : (e.head = r, r.data = a.slice(o)); + break + }++i + } + return e.length -= i, n + }(t, e); + return r + }(t, e.buffer, e.decoder), n); + var n + } + + function I(t) { + var e = t._readableState; + if (e.length > 0) throw new Error('"endReadable()" called on non-empty stream'); + e.endEmitted || (e.ended = !0, i.nextTick(L, e, t)) + } + + function L(t, e) { + t.endEmitted || 0 !== t.length || (t.endEmitted = !0, e.readable = !1, e.emit("end")) + } + + function B(t, e) { + for (var n = 0, r = t.length; n < r; n++) + if (t[n] === e) return n; + return -1 + } + m.prototype.read = function(t) { + d("read", t), t = parseInt(t, 10); + var e = this._readableState, + n = t; + if (0 !== t && (e.emittedReadable = !1), 0 === t && e.needReadable && (e.length >= e.highWaterMark || e.ended)) return d("read: emitReadable", e.length, e.ended), 0 === e.length && e.ended ? I(this) : E(this), null; + if (0 === (t = k(t, e)) && e.ended) return 0 === e.length && I(this), null; + var r, i = e.needReadable; + return d("need readable", i), (0 === e.length || e.length - t < e.highWaterMark) && d("length less than watermark", i = !0), e.ended || e.reading ? d("reading or ended", i = !1) : i && (d("do read"), e.reading = !0, e.sync = !0, 0 === e.length && (e.needReadable = !0), this._read(e.highWaterMark), e.sync = !1, e.reading || (t = k(n, e))), null === (r = t > 0 ? N(t, e) : null) ? (e.needReadable = !0, t = 0) : e.length -= t, 0 === e.length && (e.ended || (e.needReadable = !0), n !== t && e.ended && I(this)), null !== r && this.emit("data", r), r + }, m.prototype._read = function(t) { + this.emit("error", new Error("_read() is not implemented")) + }, m.prototype.pipe = function(t, e) { + var n = this, + a = this._readableState; + switch (a.pipesCount) { + case 0: + a.pipes = t; + break; + case 1: + a.pipes = [a.pipes, t]; + break; + default: + a.pipes.push(t) + } + a.pipesCount += 1, d("pipe count=%d opts=%j", a.pipesCount, e); + var u = (!e || !1 !== e.end) && t !== r.stdout && t !== r.stderr ? f : m; + + function c(e, r) { + d("onunpipe"), e === n && r && !1 === r.hasUnpiped && (r.hasUnpiped = !0, d("cleanup"), t.removeListener("close", b), t.removeListener("finish", v), t.removeListener("drain", l), t.removeListener("error", y), t.removeListener("unpipe", c), n.removeListener("end", f), n.removeListener("end", m), n.removeListener("data", g), h = !0, !a.awaitDrain || t._writableState && !t._writableState.needDrain || l()) + } + + function f() { + d("onend"), t.end() + } + a.endEmitted ? i.nextTick(u) : n.once("end", u), t.on("unpipe", c); + var l = function(t) { + return function() { + var e = t._readableState; + d("pipeOnDrain", e.awaitDrain), e.awaitDrain && e.awaitDrain--, 0 === e.awaitDrain && s(t, "data") && (e.flowing = !0, C(t)) + } + }(n); + t.on("drain", l); + var h = !1; + var p = !1; + + function g(e) { + d("ondata"), p = !1, !1 !== t.write(e) || p || ((1 === a.pipesCount && a.pipes === t || a.pipesCount > 1 && -1 !== B(a.pipes, t)) && !h && (d("false write response, pause", n._readableState.awaitDrain), n._readableState.awaitDrain++, p = !0), n.pause()) + } + + function y(e) { + d("onerror", e), m(), t.removeListener("error", y), 0 === s(t, "error") && t.emit("error", e) + } + + function b() { + t.removeListener("finish", v), m() + } + + function v() { + d("onfinish"), t.removeListener("close", b), m() + } + + function m() { + d("unpipe"), n.unpipe(t) + } + return n.on("data", g), + function(t, e, n) { + if ("function" == typeof t.prependListener) return t.prependListener(e, n); + t._events && t._events[e] ? o(t._events[e]) ? t._events[e].unshift(n) : t._events[e] = [n, t._events[e]] : t.on(e, n) + }(t, "error", y), t.once("close", b), t.once("finish", v), t.emit("pipe", n), a.flowing || (d("pipe resume"), n.resume()), t + }, m.prototype.unpipe = function(t) { + var e = this._readableState, + n = { + hasUnpiped: !1 + }; + if (0 === e.pipesCount) return this; + if (1 === e.pipesCount) return t && t !== e.pipes ? this : (t || (t = e.pipes), e.pipes = null, e.pipesCount = 0, e.flowing = !1, t && t.emit("unpipe", this, n), this); + if (!t) { + var r = e.pipes, + i = e.pipesCount; + e.pipes = null, e.pipesCount = 0, e.flowing = !1; + for (var a = 0; a < i; a++) r[a].emit("unpipe", this, n); + return this + } + var o = B(e.pipes, t); + return -1 === o ? this : (e.pipes.splice(o, 1), e.pipesCount -= 1, 1 === e.pipesCount && (e.pipes = e.pipes[0]), t.emit("unpipe", this, n), this) + }, m.prototype.on = function(t, e) { + var n = u.prototype.on.call(this, t, e); + if ("data" === t) !1 !== this._readableState.flowing && this.resume(); + else if ("readable" === t) { + var r = this._readableState; + r.endEmitted || r.readableListening || (r.readableListening = r.needReadable = !0, r.emittedReadable = !1, r.reading ? r.length && E(this) : i.nextTick(T, this)) + } + return n + }, m.prototype.addListener = m.prototype.on, m.prototype.resume = function() { + var t = this._readableState; + return t.flowing || (d("resume"), t.flowing = !0, function(t, e) { + e.resumeScheduled || (e.resumeScheduled = !0, i.nextTick(D, t, e)) + }(this, t)), this + }, m.prototype.pause = function() { + return d("call pause flowing=%j", this._readableState.flowing), !1 !== this._readableState.flowing && (d("pause"), this._readableState.flowing = !1, this.emit("pause")), this + }, m.prototype.wrap = function(t) { + var e = this, + n = this._readableState, + r = !1; + for (var i in t.on("end", (function() { + if (d("wrapped end"), n.decoder && !n.ended) { + var t = n.decoder.end(); + t && t.length && e.push(t) + } + e.push(null) + })), t.on("data", (function(i) { + (d("wrapped data"), n.decoder && (i = n.decoder.write(i)), n.objectMode && null == i) || (n.objectMode || i && i.length) && (e.push(i) || (r = !0, t.pause())) + })), t) void 0 === this[i] && "function" == typeof t[i] && (this[i] = function(e) { + return function() { + return t[e].apply(t, arguments) + } + }(i)); + for (var a = 0; a < b.length; a++) t.on(b[a], this.emit.bind(this, b[a])); + return this._read = function(e) { + d("wrapped _read", e), r && (r = !1, t.resume()) + }, this + }, Object.defineProperty(m.prototype, "readableHighWaterMark", { + enumerable: !1, + get: function() { + return this._readableState.highWaterMark + } + }), m._fromList = N + }).call(this, n(12), n(7)) + }, function(t, e, n) { + t.exports = n(113).EventEmitter + }, function(t, e, n) { + "use strict"; + var r = n(78); + + function i(t, e) { + t.emit("error", e) + } + t.exports = { + destroy: function(t, e) { + var n = this, + a = this._readableState && this._readableState.destroyed, + o = this._writableState && this._writableState.destroyed; + return a || o ? (e ? e(t) : !t || this._writableState && this._writableState.errorEmitted || r.nextTick(i, this, t), this) : (this._readableState && (this._readableState.destroyed = !0), this._writableState && (this._writableState.destroyed = !0), this._destroy(t || null, (function(t) { + !e && t ? (r.nextTick(i, n, t), n._writableState && (n._writableState.errorEmitted = !0)) : e && e(t) + })), this) + }, + undestroy: function() { + this._readableState && (this._readableState.destroyed = !1, this._readableState.reading = !1, this._readableState.ended = !1, this._readableState.endEmitted = !1), this._writableState && (this._writableState.destroyed = !1, this._writableState.ended = !1, this._writableState.ending = !1, this._writableState.finished = !1, this._writableState.errorEmitted = !1) + } + } + }, function(t, e, n) { + "use strict"; + t.exports = o; + var r = n(35), + i = n(54); + + function a(t, e) { + var n = this._transformState; + n.transforming = !1; + var r = n.writecb; + if (!r) return this.emit("error", new Error("write callback called multiple times")); + n.writechunk = null, n.writecb = null, null != e && this.push(e), r(t); + var i = this._readableState; + i.reading = !1, (i.needReadable || i.length < i.highWaterMark) && this._read(i.highWaterMark) + } + + function o(t) { + if (!(this instanceof o)) return new o(t); + r.call(this, t), this._transformState = { + afterTransform: a.bind(this), + needTransform: !1, + transforming: !1, + writecb: null, + writechunk: null, + writeencoding: null + }, this._readableState.needReadable = !0, this._readableState.sync = !1, t && ("function" == typeof t.transform && (this._transform = t.transform), "function" == typeof t.flush && (this._flush = t.flush)), this.on("prefinish", s) + } + + function s() { + var t = this; + "function" == typeof this._flush ? this._flush((function(e, n) { + u(t, e, n) + })) : u(this, null, null) + } + + function u(t, e, n) { + if (e) return t.emit("error", e); + if (null != n && t.push(n), t._writableState.length) throw new Error("Calling transform done when ws.length != 0"); + if (t._transformState.transforming) throw new Error("Calling transform done when still transforming"); + return t.push(null) + } + i.inherits = n(2), i.inherits(o, r), o.prototype.push = function(t, e) { + return this._transformState.needTransform = !1, r.prototype.push.call(this, t, e) + }, o.prototype._transform = function(t, e, n) { + throw new Error("_transform() is not implemented") + }, o.prototype._write = function(t, e, n) { + var r = this._transformState; + if (r.writecb = n, r.writechunk = t, r.writeencoding = e, !r.transforming) { + var i = this._readableState; + (r.needTransform || i.needReadable || i.length < i.highWaterMark) && this._read(i.highWaterMark) + } + }, o.prototype._read = function(t) { + var e = this._transformState; + null !== e.writechunk && e.writecb && !e.transforming ? (e.transforming = !0, this._transform(e.writechunk, e.writeencoding, e.afterTransform)) : e.needTransform = !0 + }, o.prototype._destroy = function(t, e) { + var n = this; + r.prototype._destroy.call(this, t, (function(t) { + e(t), n.emit("close") + })) + } + }, function(t, e, n) { + var r = n(2), + i = n(45), + a = n(3).Buffer, + o = [1116352408, 1899447441, 3049323471, 3921009573, 961987163, 1508970993, 2453635748, 2870763221, 3624381080, 310598401, 607225278, 1426881987, 1925078388, 2162078206, 2614888103, 3248222580, 3835390401, 4022224774, 264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986, 2554220882, 2821834349, 2952996808, 3210313671, 3336571891, 3584528711, 113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291, 1695183700, 1986661051, 2177026350, 2456956037, 2730485921, 2820302411, 3259730800, 3345764771, 3516065817, 3600352804, 4094571909, 275423344, 430227734, 506948616, 659060556, 883997877, 958139571, 1322822218, 1537002063, 1747873779, 1955562222, 2024104815, 2227730452, 2361852424, 2428436474, 2756734187, 3204031479, 3329325298], + s = new Array(64); + + function u() { + this.init(), this._w = s, i.call(this, 64, 56) + } + + function c(t, e, n) { + return n ^ t & (e ^ n) + } + + function f(t, e, n) { + return t & e | n & (t | e) + } + + function l(t) { + return (t >>> 2 | t << 30) ^ (t >>> 13 | t << 19) ^ (t >>> 22 | t << 10) + } + + function h(t) { + return (t >>> 6 | t << 26) ^ (t >>> 11 | t << 21) ^ (t >>> 25 | t << 7) + } + + function d(t) { + return (t >>> 7 | t << 25) ^ (t >>> 18 | t << 14) ^ t >>> 3 + } + r(u, i), u.prototype.init = function() { + return this._a = 1779033703, this._b = 3144134277, this._c = 1013904242, this._d = 2773480762, this._e = 1359893119, this._f = 2600822924, this._g = 528734635, this._h = 1541459225, this + }, u.prototype._update = function(t) { + for (var e, n = this._w, r = 0 | this._a, i = 0 | this._b, a = 0 | this._c, s = 0 | this._d, u = 0 | this._e, p = 0 | this._f, g = 0 | this._g, y = 0 | this._h, b = 0; b < 16; ++b) n[b] = t.readInt32BE(4 * b); + for (; b < 64; ++b) n[b] = 0 | (((e = n[b - 2]) >>> 17 | e << 15) ^ (e >>> 19 | e << 13) ^ e >>> 10) + n[b - 7] + d(n[b - 15]) + n[b - 16]; + for (var v = 0; v < 64; ++v) { + var m = y + h(u) + c(u, p, g) + o[v] + n[v] | 0, + _ = l(r) + f(r, i, a) | 0; + y = g, g = p, p = u, u = s + m | 0, s = a, a = i, i = r, r = m + _ | 0 + } + this._a = r + this._a | 0, this._b = i + this._b | 0, this._c = a + this._c | 0, this._d = s + this._d | 0, this._e = u + this._e | 0, this._f = p + this._f | 0, this._g = g + this._g | 0, this._h = y + this._h | 0 + }, u.prototype._hash = function() { + var t = a.allocUnsafe(32); + return t.writeInt32BE(this._a, 0), t.writeInt32BE(this._b, 4), t.writeInt32BE(this._c, 8), t.writeInt32BE(this._d, 12), t.writeInt32BE(this._e, 16), t.writeInt32BE(this._f, 20), t.writeInt32BE(this._g, 24), t.writeInt32BE(this._h, 28), t + }, t.exports = u + }, function(t, e, n) { + var r = n(2), + i = n(45), + a = n(3).Buffer, + o = [1116352408, 3609767458, 1899447441, 602891725, 3049323471, 3964484399, 3921009573, 2173295548, 961987163, 4081628472, 1508970993, 3053834265, 2453635748, 2937671579, 2870763221, 3664609560, 3624381080, 2734883394, 310598401, 1164996542, 607225278, 1323610764, 1426881987, 3590304994, 1925078388, 4068182383, 2162078206, 991336113, 2614888103, 633803317, 3248222580, 3479774868, 3835390401, 2666613458, 4022224774, 944711139, 264347078, 2341262773, 604807628, 2007800933, 770255983, 1495990901, 1249150122, 1856431235, 1555081692, 3175218132, 1996064986, 2198950837, 2554220882, 3999719339, 2821834349, 766784016, 2952996808, 2566594879, 3210313671, 3203337956, 3336571891, 1034457026, 3584528711, 2466948901, 113926993, 3758326383, 338241895, 168717936, 666307205, 1188179964, 773529912, 1546045734, 1294757372, 1522805485, 1396182291, 2643833823, 1695183700, 2343527390, 1986661051, 1014477480, 2177026350, 1206759142, 2456956037, 344077627, 2730485921, 1290863460, 2820302411, 3158454273, 3259730800, 3505952657, 3345764771, 106217008, 3516065817, 3606008344, 3600352804, 1432725776, 4094571909, 1467031594, 275423344, 851169720, 430227734, 3100823752, 506948616, 1363258195, 659060556, 3750685593, 883997877, 3785050280, 958139571, 3318307427, 1322822218, 3812723403, 1537002063, 2003034995, 1747873779, 3602036899, 1955562222, 1575990012, 2024104815, 1125592928, 2227730452, 2716904306, 2361852424, 442776044, 2428436474, 593698344, 2756734187, 3733110249, 3204031479, 2999351573, 3329325298, 3815920427, 3391569614, 3928383900, 3515267271, 566280711, 3940187606, 3454069534, 4118630271, 4000239992, 116418474, 1914138554, 174292421, 2731055270, 289380356, 3203993006, 460393269, 320620315, 685471733, 587496836, 852142971, 1086792851, 1017036298, 365543100, 1126000580, 2618297676, 1288033470, 3409855158, 1501505948, 4234509866, 1607167915, 987167468, 1816402316, 1246189591], + s = new Array(160); + + function u() { + this.init(), this._w = s, i.call(this, 128, 112) + } + + function c(t, e, n) { + return n ^ t & (e ^ n) + } + + function f(t, e, n) { + return t & e | n & (t | e) + } + + function l(t, e) { + return (t >>> 28 | e << 4) ^ (e >>> 2 | t << 30) ^ (e >>> 7 | t << 25) + } + + function h(t, e) { + return (t >>> 14 | e << 18) ^ (t >>> 18 | e << 14) ^ (e >>> 9 | t << 23) + } + + function d(t, e) { + return (t >>> 1 | e << 31) ^ (t >>> 8 | e << 24) ^ t >>> 7 + } + + function p(t, e) { + return (t >>> 1 | e << 31) ^ (t >>> 8 | e << 24) ^ (t >>> 7 | e << 25) + } + + function g(t, e) { + return (t >>> 19 | e << 13) ^ (e >>> 29 | t << 3) ^ t >>> 6 + } + + function y(t, e) { + return (t >>> 19 | e << 13) ^ (e >>> 29 | t << 3) ^ (t >>> 6 | e << 26) + } + + function b(t, e) { + return t >>> 0 < e >>> 0 ? 1 : 0 + } + r(u, i), u.prototype.init = function() { + return this._ah = 1779033703, this._bh = 3144134277, this._ch = 1013904242, this._dh = 2773480762, this._eh = 1359893119, this._fh = 2600822924, this._gh = 528734635, this._hh = 1541459225, this._al = 4089235720, this._bl = 2227873595, this._cl = 4271175723, this._dl = 1595750129, this._el = 2917565137, this._fl = 725511199, this._gl = 4215389547, this._hl = 327033209, this + }, u.prototype._update = function(t) { + for (var e = this._w, n = 0 | this._ah, r = 0 | this._bh, i = 0 | this._ch, a = 0 | this._dh, s = 0 | this._eh, u = 0 | this._fh, v = 0 | this._gh, m = 0 | this._hh, _ = 0 | this._al, w = 0 | this._bl, x = 0 | this._cl, k = 0 | this._dl, E = 0 | this._el, A = 0 | this._fl, S = 0 | this._gl, M = 0 | this._hl, T = 0; T < 32; T += 2) e[T] = t.readInt32BE(4 * T), e[T + 1] = t.readInt32BE(4 * T + 4); + for (; T < 160; T += 2) { + var D = e[T - 30], + C = e[T - 30 + 1], + N = d(D, C), + I = p(C, D), + L = g(D = e[T - 4], C = e[T - 4 + 1]), + B = y(C, D), + O = e[T - 14], + R = e[T - 14 + 1], + P = e[T - 32], + F = e[T - 32 + 1], + q = I + R | 0, + j = N + O + b(q, I) | 0; + j = (j = j + L + b(q = q + B | 0, B) | 0) + P + b(q = q + F | 0, F) | 0, e[T] = j, e[T + 1] = q + } + for (var U = 0; U < 160; U += 2) { + j = e[U], q = e[U + 1]; + var z = f(n, r, i), + Y = f(_, w, x), + V = l(n, _), + H = l(_, n), + G = h(s, E), + $ = h(E, s), + W = o[U], + K = o[U + 1], + X = c(s, u, v), + Z = c(E, A, S), + J = M + $ | 0, + Q = m + G + b(J, M) | 0; + Q = (Q = (Q = Q + X + b(J = J + Z | 0, Z) | 0) + W + b(J = J + K | 0, K) | 0) + j + b(J = J + q | 0, q) | 0; + var tt = H + Y | 0, + et = V + z + b(tt, H) | 0; + m = v, M = S, v = u, S = A, u = s, A = E, s = a + Q + b(E = k + J | 0, k) | 0, a = i, k = x, i = r, x = w, r = n, w = _, n = Q + et + b(_ = J + tt | 0, J) | 0 + } + this._al = this._al + _ | 0, this._bl = this._bl + w | 0, this._cl = this._cl + x | 0, this._dl = this._dl + k | 0, this._el = this._el + E | 0, this._fl = this._fl + A | 0, this._gl = this._gl + S | 0, this._hl = this._hl + M | 0, this._ah = this._ah + n + b(this._al, _) | 0, this._bh = this._bh + r + b(this._bl, w) | 0, this._ch = this._ch + i + b(this._cl, x) | 0, this._dh = this._dh + a + b(this._dl, k) | 0, this._eh = this._eh + s + b(this._el, E) | 0, this._fh = this._fh + u + b(this._fl, A) | 0, this._gh = this._gh + v + b(this._gl, S) | 0, this._hh = this._hh + m + b(this._hl, M) | 0 + }, u.prototype._hash = function() { + var t = a.allocUnsafe(64); + + function e(e, n, r) { + t.writeInt32BE(e, r), t.writeInt32BE(n, r + 4) + } + return e(this._ah, this._al, 0), e(this._bh, this._bl, 8), e(this._ch, this._cl, 16), e(this._dh, this._dl, 24), e(this._eh, this._el, 32), e(this._fh, this._fl, 40), e(this._gh, this._gl, 48), e(this._hh, this._hl, 56), t + }, t.exports = u + }, function(t, e, n) { + "use strict"; + var r = n(2), + i = n(438), + a = n(31), + o = n(3).Buffer, + s = n(200), + u = n(118), + c = n(119), + f = o.alloc(128); + + function l(t, e) { + a.call(this, "digest"), "string" == typeof e && (e = o.from(e)); + var n = "sha512" === t || "sha384" === t ? 128 : 64; + (this._alg = t, this._key = e, e.length > n) ? e = ("rmd160" === t ? new u : c(t)).update(e).digest(): e.length < n && (e = o.concat([e, f], n)); + for (var r = this._ipad = o.allocUnsafe(n), i = this._opad = o.allocUnsafe(n), s = 0; s < n; s++) r[s] = 54 ^ e[s], i[s] = 92 ^ e[s]; + this._hash = "rmd160" === t ? new u : c(t), this._hash.update(r) + } + r(l, a), l.prototype._update = function(t) { + this._hash.update(t) + }, l.prototype._final = function() { + var t = this._hash.digest(); + return ("rmd160" === this._alg ? new u : c(this._alg)).update(this._opad).update(t).digest() + }, t.exports = function(t, e) { + return "rmd160" === (t = t.toLowerCase()) || "ripemd160" === t ? new l("rmd160", e) : "md5" === t ? new i(s, e) : new l(t, e) + } + }, function(t, e, n) { + var r = n(111); + t.exports = function(t) { + return (new r).update(t).digest() + } + }, function(t) { + t.exports = JSON.parse('{"sha224WithRSAEncryption":{"sign":"rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"RSA-SHA224":{"sign":"ecdsa/rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"sha256WithRSAEncryption":{"sign":"rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"RSA-SHA256":{"sign":"ecdsa/rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"sha384WithRSAEncryption":{"sign":"rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"RSA-SHA384":{"sign":"ecdsa/rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"sha512WithRSAEncryption":{"sign":"rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"RSA-SHA512":{"sign":"ecdsa/rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"RSA-SHA1":{"sign":"rsa","hash":"sha1","id":"3021300906052b0e03021a05000414"},"ecdsa-with-SHA1":{"sign":"ecdsa","hash":"sha1","id":""},"sha256":{"sign":"ecdsa","hash":"sha256","id":""},"sha224":{"sign":"ecdsa","hash":"sha224","id":""},"sha384":{"sign":"ecdsa","hash":"sha384","id":""},"sha512":{"sign":"ecdsa","hash":"sha512","id":""},"DSA-SHA":{"sign":"dsa","hash":"sha1","id":""},"DSA-SHA1":{"sign":"dsa","hash":"sha1","id":""},"DSA":{"sign":"dsa","hash":"sha1","id":""},"DSA-WITH-SHA224":{"sign":"dsa","hash":"sha224","id":""},"DSA-SHA224":{"sign":"dsa","hash":"sha224","id":""},"DSA-WITH-SHA256":{"sign":"dsa","hash":"sha256","id":""},"DSA-SHA256":{"sign":"dsa","hash":"sha256","id":""},"DSA-WITH-SHA384":{"sign":"dsa","hash":"sha384","id":""},"DSA-SHA384":{"sign":"dsa","hash":"sha384","id":""},"DSA-WITH-SHA512":{"sign":"dsa","hash":"sha512","id":""},"DSA-SHA512":{"sign":"dsa","hash":"sha512","id":""},"DSA-RIPEMD160":{"sign":"dsa","hash":"rmd160","id":""},"ripemd160WithRSA":{"sign":"rsa","hash":"rmd160","id":"3021300906052b2403020105000414"},"RSA-RIPEMD160":{"sign":"rsa","hash":"rmd160","id":"3021300906052b2403020105000414"},"md5WithRSAEncryption":{"sign":"rsa","hash":"md5","id":"3020300c06082a864886f70d020505000410"},"RSA-MD5":{"sign":"rsa","hash":"md5","id":"3020300c06082a864886f70d020505000410"}}') + }, function(t, e, n) { + e.pbkdf2 = n(440), e.pbkdf2Sync = n(205) + }, function(t, e, n) { + (function(e) { + var n = Math.pow(2, 30) - 1; + + function r(t, n) { + if ("string" != typeof t && !e.isBuffer(t)) throw new TypeError(n + " must be a buffer or string") + } + t.exports = function(t, e, i, a) { + if (r(t, "Password"), r(e, "Salt"), "number" != typeof i) throw new TypeError("Iterations not a number"); + if (i < 0) throw new TypeError("Bad iterations"); + if ("number" != typeof a) throw new TypeError("Key length not a number"); + if (a < 0 || a > n || a != a) throw new TypeError("Bad key length") + } + }).call(this, n(8).Buffer) + }, function(t, e, n) { + (function(e) { + var n; + e.browser ? n = "utf-8" : n = parseInt(e.version.split(".")[0].slice(1), 10) >= 6 ? "utf-8" : "binary"; + t.exports = n + }).call(this, n(7)) + }, function(t, e, n) { + var r = n(200), + i = n(118), + a = n(119), + o = n(203), + s = n(204), + u = n(3).Buffer, + c = u.alloc(128), + f = { + md5: 16, + sha1: 20, + sha224: 28, + sha256: 32, + sha384: 48, + sha512: 64, + rmd160: 20, + ripemd160: 20 + }; + + function l(t, e, n) { + var o = function(t) { + return "rmd160" === t || "ripemd160" === t ? function(t) { + return (new i).update(t).digest() + } : "md5" === t ? r : function(e) { + return a(t).update(e).digest() + } + }(t), + s = "sha512" === t || "sha384" === t ? 128 : 64; + e.length > s ? e = o(e) : e.length < s && (e = u.concat([e, c], s)); + for (var l = u.allocUnsafe(s + f[t]), h = u.allocUnsafe(s + f[t]), d = 0; d < s; d++) l[d] = 54 ^ e[d], h[d] = 92 ^ e[d]; + var p = u.allocUnsafe(s + n + 4); + l.copy(p, 0, 0, s), this.ipad1 = p, this.ipad2 = l, this.opad = h, this.alg = t, this.blocksize = s, this.hash = o, this.size = f[t] + } + l.prototype.run = function(t, e) { + return t.copy(e, this.blocksize), this.hash(e).copy(this.opad, this.blocksize), this.hash(this.opad) + }, t.exports = function(t, e, n, r, i) { + o(t, e, n, r), u.isBuffer(t) || (t = u.from(t, s)), u.isBuffer(e) || (e = u.from(e, s)); + var a = new l(i = i || "sha1", t, e.length), + c = u.allocUnsafe(r), + h = u.allocUnsafe(e.length + 4); + e.copy(h, 0, 0, e.length); + for (var d = 0, p = f[i], g = Math.ceil(r / p), y = 1; y <= g; y++) { + h.writeUInt32BE(y, e.length); + for (var b = a.run(h, a.ipad1), v = b, m = 1; m < n; m++) { + v = a.run(v, a.ipad2); + for (var _ = 0; _ < p; _++) b[_] ^= v[_] + } + b.copy(c, d), d += p + } + return c + } + }, function(t, e, n) { + "use strict"; + e.readUInt32BE = function(t, e) { + return (t[0 + e] << 24 | t[1 + e] << 16 | t[2 + e] << 8 | t[3 + e]) >>> 0 + }, e.writeUInt32BE = function(t, e, n) { + t[0 + n] = e >>> 24, t[1 + n] = e >>> 16 & 255, t[2 + n] = e >>> 8 & 255, t[3 + n] = 255 & e + }, e.ip = function(t, e, n, r) { + for (var i = 0, a = 0, o = 6; o >= 0; o -= 2) { + for (var s = 0; s <= 24; s += 8) i <<= 1, i |= e >>> s + o & 1; + for (s = 0; s <= 24; s += 8) i <<= 1, i |= t >>> s + o & 1 + } + for (o = 6; o >= 0; o -= 2) { + for (s = 1; s <= 25; s += 8) a <<= 1, a |= e >>> s + o & 1; + for (s = 1; s <= 25; s += 8) a <<= 1, a |= t >>> s + o & 1 + } + n[r + 0] = i >>> 0, n[r + 1] = a >>> 0 + }, e.rip = function(t, e, n, r) { + for (var i = 0, a = 0, o = 0; o < 4; o++) + for (var s = 24; s >= 0; s -= 8) i <<= 1, i |= e >>> s + o & 1, i <<= 1, i |= t >>> s + o & 1; + for (o = 4; o < 8; o++) + for (s = 24; s >= 0; s -= 8) a <<= 1, a |= e >>> s + o & 1, a <<= 1, a |= t >>> s + o & 1; + n[r + 0] = i >>> 0, n[r + 1] = a >>> 0 + }, e.pc1 = function(t, e, n, r) { + for (var i = 0, a = 0, o = 7; o >= 5; o--) { + for (var s = 0; s <= 24; s += 8) i <<= 1, i |= e >> s + o & 1; + for (s = 0; s <= 24; s += 8) i <<= 1, i |= t >> s + o & 1 + } + for (s = 0; s <= 24; s += 8) i <<= 1, i |= e >> s + o & 1; + for (o = 1; o <= 3; o++) { + for (s = 0; s <= 24; s += 8) a <<= 1, a |= e >> s + o & 1; + for (s = 0; s <= 24; s += 8) a <<= 1, a |= t >> s + o & 1 + } + for (s = 0; s <= 24; s += 8) a <<= 1, a |= t >> s + o & 1; + n[r + 0] = i >>> 0, n[r + 1] = a >>> 0 + }, e.r28shl = function(t, e) { + return t << e & 268435455 | t >>> 28 - e + }; + var r = [14, 11, 17, 4, 27, 23, 25, 0, 13, 22, 7, 18, 5, 9, 16, 24, 2, 20, 12, 21, 1, 8, 15, 26, 15, 4, 25, 19, 9, 1, 26, 16, 5, 11, 23, 8, 12, 7, 17, 0, 22, 3, 10, 14, 6, 20, 27, 24]; + e.pc2 = function(t, e, n, i) { + for (var a = 0, o = 0, s = r.length >>> 1, u = 0; u < s; u++) a <<= 1, a |= t >>> r[u] & 1; + for (u = s; u < r.length; u++) o <<= 1, o |= e >>> r[u] & 1; + n[i + 0] = a >>> 0, n[i + 1] = o >>> 0 + }, e.expand = function(t, e, n) { + var r = 0, + i = 0; + r = (1 & t) << 5 | t >>> 27; + for (var a = 23; a >= 15; a -= 4) r <<= 6, r |= t >>> a & 63; + for (a = 11; a >= 3; a -= 4) i |= t >>> a & 63, i <<= 6; + i |= (31 & t) << 1 | t >>> 31, e[n + 0] = r >>> 0, e[n + 1] = i >>> 0 + }; + var i = [14, 0, 4, 15, 13, 7, 1, 4, 2, 14, 15, 2, 11, 13, 8, 1, 3, 10, 10, 6, 6, 12, 12, 11, 5, 9, 9, 5, 0, 3, 7, 8, 4, 15, 1, 12, 14, 8, 8, 2, 13, 4, 6, 9, 2, 1, 11, 7, 15, 5, 12, 11, 9, 3, 7, 14, 3, 10, 10, 0, 5, 6, 0, 13, 15, 3, 1, 13, 8, 4, 14, 7, 6, 15, 11, 2, 3, 8, 4, 14, 9, 12, 7, 0, 2, 1, 13, 10, 12, 6, 0, 9, 5, 11, 10, 5, 0, 13, 14, 8, 7, 10, 11, 1, 10, 3, 4, 15, 13, 4, 1, 2, 5, 11, 8, 6, 12, 7, 6, 12, 9, 0, 3, 5, 2, 14, 15, 9, 10, 13, 0, 7, 9, 0, 14, 9, 6, 3, 3, 4, 15, 6, 5, 10, 1, 2, 13, 8, 12, 5, 7, 14, 11, 12, 4, 11, 2, 15, 8, 1, 13, 1, 6, 10, 4, 13, 9, 0, 8, 6, 15, 9, 3, 8, 0, 7, 11, 4, 1, 15, 2, 14, 12, 3, 5, 11, 10, 5, 14, 2, 7, 12, 7, 13, 13, 8, 14, 11, 3, 5, 0, 6, 6, 15, 9, 0, 10, 3, 1, 4, 2, 7, 8, 2, 5, 12, 11, 1, 12, 10, 4, 14, 15, 9, 10, 3, 6, 15, 9, 0, 0, 6, 12, 10, 11, 1, 7, 13, 13, 8, 15, 9, 1, 4, 3, 5, 14, 11, 5, 12, 2, 7, 8, 2, 4, 14, 2, 14, 12, 11, 4, 2, 1, 12, 7, 4, 10, 7, 11, 13, 6, 1, 8, 5, 5, 0, 3, 15, 15, 10, 13, 3, 0, 9, 14, 8, 9, 6, 4, 11, 2, 8, 1, 12, 11, 7, 10, 1, 13, 14, 7, 2, 8, 13, 15, 6, 9, 15, 12, 0, 5, 9, 6, 10, 3, 4, 0, 5, 14, 3, 12, 10, 1, 15, 10, 4, 15, 2, 9, 7, 2, 12, 6, 9, 8, 5, 0, 6, 13, 1, 3, 13, 4, 14, 14, 0, 7, 11, 5, 3, 11, 8, 9, 4, 14, 3, 15, 2, 5, 12, 2, 9, 8, 5, 12, 15, 3, 10, 7, 11, 0, 14, 4, 1, 10, 7, 1, 6, 13, 0, 11, 8, 6, 13, 4, 13, 11, 0, 2, 11, 14, 7, 15, 4, 0, 9, 8, 1, 13, 10, 3, 14, 12, 3, 9, 5, 7, 12, 5, 2, 10, 15, 6, 8, 1, 6, 1, 6, 4, 11, 11, 13, 13, 8, 12, 1, 3, 4, 7, 10, 14, 7, 10, 9, 15, 5, 6, 0, 8, 15, 0, 14, 5, 2, 9, 3, 2, 12, 13, 1, 2, 15, 8, 13, 4, 8, 6, 10, 15, 3, 11, 7, 1, 4, 10, 12, 9, 5, 3, 6, 14, 11, 5, 0, 0, 14, 12, 9, 7, 2, 7, 2, 11, 1, 4, 14, 1, 7, 9, 4, 12, 10, 14, 8, 2, 13, 0, 15, 6, 12, 10, 9, 13, 0, 15, 3, 3, 5, 5, 6, 8, 11]; + e.substitute = function(t, e) { + for (var n = 0, r = 0; r < 4; r++) { + n <<= 4, n |= i[64 * r + (t >>> 18 - 6 * r & 63)] + } + for (r = 0; r < 4; r++) { + n <<= 4, n |= i[256 + 64 * r + (e >>> 18 - 6 * r & 63)] + } + return n >>> 0 + }; + var a = [16, 25, 12, 11, 3, 20, 4, 15, 31, 17, 9, 6, 27, 14, 1, 22, 30, 24, 8, 18, 0, 5, 29, 23, 13, 19, 2, 26, 10, 21, 28, 7]; + e.permute = function(t) { + for (var e = 0, n = 0; n < a.length; n++) e <<= 1, e |= t >>> a[n] & 1; + return e >>> 0 + }, e.padSplit = function(t, e, n) { + for (var r = t.toString(2); r.length < e;) r = "0" + r; + for (var i = [], a = 0; a < e; a += n) i.push(r.slice(a, a + n)); + return i.join(" ") + } + }, function(t, e, n) { + "use strict"; + var r = n(16), + i = n(2), + a = n(206), + o = n(120); + + function s() { + this.tmp = new Array(2), this.keys = null + } + + function u(t) { + o.call(this, t); + var e = new s; + this._desState = e, this.deriveKeys(e, t.key) + } + i(u, o), t.exports = u, u.create = function(t) { + return new u(t) + }; + var c = [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1]; + u.prototype.deriveKeys = function(t, e) { + t.keys = new Array(32), r.equal(e.length, this.blockSize, "Invalid key length"); + var n = a.readUInt32BE(e, 0), + i = a.readUInt32BE(e, 4); + a.pc1(n, i, t.tmp, 0), n = t.tmp[0], i = t.tmp[1]; + for (var o = 0; o < t.keys.length; o += 2) { + var s = c[o >>> 1]; + n = a.r28shl(n, s), i = a.r28shl(i, s), a.pc2(n, i, t.keys, o) + } + }, u.prototype._update = function(t, e, n, r) { + var i = this._desState, + o = a.readUInt32BE(t, e), + s = a.readUInt32BE(t, e + 4); + a.ip(o, s, i.tmp, 0), o = i.tmp[0], s = i.tmp[1], "encrypt" === this.type ? this._encrypt(i, o, s, i.tmp, 0) : this._decrypt(i, o, s, i.tmp, 0), o = i.tmp[0], s = i.tmp[1], a.writeUInt32BE(n, o, r), a.writeUInt32BE(n, s, r + 4) + }, u.prototype._pad = function(t, e) { + for (var n = t.length - e, r = e; r < t.length; r++) t[r] = n; + return !0 + }, u.prototype._unpad = function(t) { + for (var e = t[t.length - 1], n = t.length - e; n < t.length; n++) r.equal(t[n], e); + return t.slice(0, t.length - e) + }, u.prototype._encrypt = function(t, e, n, r, i) { + for (var o = e, s = n, u = 0; u < t.keys.length; u += 2) { + var c = t.keys[u], + f = t.keys[u + 1]; + a.expand(s, t.tmp, 0), c ^= t.tmp[0], f ^= t.tmp[1]; + var l = a.substitute(c, f), + h = s; + s = (o ^ a.permute(l)) >>> 0, o = h + } + a.rip(s, o, r, i) + }, u.prototype._decrypt = function(t, e, n, r, i) { + for (var o = n, s = e, u = t.keys.length - 2; u >= 0; u -= 2) { + var c = t.keys[u], + f = t.keys[u + 1]; + a.expand(o, t.tmp, 0), c ^= t.tmp[0], f ^= t.tmp[1]; + var l = a.substitute(c, f), + h = o; + o = (s ^ a.permute(l)) >>> 0, s = h + } + a.rip(o, s, r, i) + } + }, function(t, e, n) { + var r = n(55), + i = n(3).Buffer, + a = n(209); + + function o(t) { + var e = t._cipher.encryptBlockRaw(t._prev); + return a(t._prev), e + } + e.encrypt = function(t, e) { + var n = Math.ceil(e.length / 16), + a = t._cache.length; + t._cache = i.concat([t._cache, i.allocUnsafe(16 * n)]); + for (var s = 0; s < n; s++) { + var u = o(t), + c = a + 16 * s; + t._cache.writeUInt32BE(u[0], c + 0), t._cache.writeUInt32BE(u[1], c + 4), t._cache.writeUInt32BE(u[2], c + 8), t._cache.writeUInt32BE(u[3], c + 12) + } + var f = t._cache.slice(0, e.length); + return t._cache = t._cache.slice(e.length), r(e, f) + } + }, function(t, e) { + t.exports = function(t) { + for (var e, n = t.length; n--;) { + if (255 !== (e = t.readUInt8(n))) { + e++, t.writeUInt8(e, n); + break + } + t.writeUInt8(0, n) + } + } + }, function(t) { + t.exports = JSON.parse('{"aes-128-ecb":{"cipher":"AES","key":128,"iv":0,"mode":"ECB","type":"block"},"aes-192-ecb":{"cipher":"AES","key":192,"iv":0,"mode":"ECB","type":"block"},"aes-256-ecb":{"cipher":"AES","key":256,"iv":0,"mode":"ECB","type":"block"},"aes-128-cbc":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes-192-cbc":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes-256-cbc":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes128":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes192":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes256":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes-128-cfb":{"cipher":"AES","key":128,"iv":16,"mode":"CFB","type":"stream"},"aes-192-cfb":{"cipher":"AES","key":192,"iv":16,"mode":"CFB","type":"stream"},"aes-256-cfb":{"cipher":"AES","key":256,"iv":16,"mode":"CFB","type":"stream"},"aes-128-cfb8":{"cipher":"AES","key":128,"iv":16,"mode":"CFB8","type":"stream"},"aes-192-cfb8":{"cipher":"AES","key":192,"iv":16,"mode":"CFB8","type":"stream"},"aes-256-cfb8":{"cipher":"AES","key":256,"iv":16,"mode":"CFB8","type":"stream"},"aes-128-cfb1":{"cipher":"AES","key":128,"iv":16,"mode":"CFB1","type":"stream"},"aes-192-cfb1":{"cipher":"AES","key":192,"iv":16,"mode":"CFB1","type":"stream"},"aes-256-cfb1":{"cipher":"AES","key":256,"iv":16,"mode":"CFB1","type":"stream"},"aes-128-ofb":{"cipher":"AES","key":128,"iv":16,"mode":"OFB","type":"stream"},"aes-192-ofb":{"cipher":"AES","key":192,"iv":16,"mode":"OFB","type":"stream"},"aes-256-ofb":{"cipher":"AES","key":256,"iv":16,"mode":"OFB","type":"stream"},"aes-128-ctr":{"cipher":"AES","key":128,"iv":16,"mode":"CTR","type":"stream"},"aes-192-ctr":{"cipher":"AES","key":192,"iv":16,"mode":"CTR","type":"stream"},"aes-256-ctr":{"cipher":"AES","key":256,"iv":16,"mode":"CTR","type":"stream"},"aes-128-gcm":{"cipher":"AES","key":128,"iv":12,"mode":"GCM","type":"auth"},"aes-192-gcm":{"cipher":"AES","key":192,"iv":12,"mode":"GCM","type":"auth"},"aes-256-gcm":{"cipher":"AES","key":256,"iv":12,"mode":"GCM","type":"auth"}}') + }, function(t, e, n) { + var r = n(79), + i = n(3).Buffer, + a = n(31), + o = n(2), + s = n(453), + u = n(55), + c = n(209); + + function f(t, e, n, o) { + a.call(this); + var u = i.alloc(4, 0); + this._cipher = new r.AES(e); + var f = this._cipher.encryptBlock(u); + this._ghash = new s(f), n = function(t, e, n) { + if (12 === e.length) return t._finID = i.concat([e, i.from([0, 0, 0, 1])]), i.concat([e, i.from([0, 0, 0, 2])]); + var r = new s(n), + a = e.length, + o = a % 16; + r.update(e), o && (o = 16 - o, r.update(i.alloc(o, 0))), r.update(i.alloc(8, 0)); + var u = 8 * a, + f = i.alloc(8); + f.writeUIntBE(u, 0, 8), r.update(f), t._finID = r.state; + var l = i.from(t._finID); + return c(l), l + }(this, n, f), this._prev = i.from(n), this._cache = i.allocUnsafe(0), this._secCache = i.allocUnsafe(0), this._decrypt = o, this._alen = 0, this._len = 0, this._mode = t, this._authTag = null, this._called = !1 + } + o(f, a), f.prototype._update = function(t) { + if (!this._called && this._alen) { + var e = 16 - this._alen % 16; + e < 16 && (e = i.alloc(e, 0), this._ghash.update(e)) + } + this._called = !0; + var n = this._mode.encrypt(this, t); + return this._decrypt ? this._ghash.update(t) : this._ghash.update(n), this._len += t.length, n + }, f.prototype._final = function() { + if (this._decrypt && !this._authTag) throw new Error("Unsupported state or unable to authenticate data"); + var t = u(this._ghash.final(8 * this._alen, 8 * this._len), this._cipher.encryptBlock(this._finID)); + if (this._decrypt && function(t, e) { + var n = 0; + t.length !== e.length && n++; + for (var r = Math.min(t.length, e.length), i = 0; i < r; ++i) n += t[i] ^ e[i]; + return n + }(t, this._authTag)) throw new Error("Unsupported state or unable to authenticate data"); + this._authTag = t, this._cipher.scrub() + }, f.prototype.getAuthTag = function() { + if (this._decrypt || !i.isBuffer(this._authTag)) throw new Error("Attempting to get auth tag in unsupported state"); + return this._authTag + }, f.prototype.setAuthTag = function(t) { + if (!this._decrypt) throw new Error("Attempting to set auth tag in unsupported state"); + this._authTag = t + }, f.prototype.setAAD = function(t) { + if (this._called) throw new Error("Attempting to set AAD in unsupported state"); + this._ghash.update(t), this._alen += t.length + }, t.exports = f + }, function(t, e, n) { + var r = n(79), + i = n(3).Buffer, + a = n(31); + + function o(t, e, n, o) { + a.call(this), this._cipher = new r.AES(e), this._prev = i.from(n), this._cache = i.allocUnsafe(0), this._secCache = i.allocUnsafe(0), this._decrypt = o, this._mode = t + } + n(2)(o, a), o.prototype._update = function(t) { + return this._mode.encrypt(this, t, this._decrypt) + }, o.prototype._final = function() { + this._cipher.scrub() + }, t.exports = o + }, function(t, e, n) { + var r = n(44); + t.exports = v, v.simpleSieve = y, v.fermatTest = b; + var i = n(5), + a = new i(24), + o = new(n(214)), + s = new i(1), + u = new i(2), + c = new i(5), + f = (new i(16), new i(8), new i(10)), + l = new i(3), + h = (new i(7), new i(11)), + d = new i(4), + p = (new i(12), null); + + function g() { + if (null !== p) return p; + var t = []; + t[0] = 2; + for (var e = 1, n = 3; n < 1048576; n += 2) { + for (var r = Math.ceil(Math.sqrt(n)), i = 0; i < e && t[i] <= r && n % t[i] != 0; i++); + e !== i && t[i] <= r || (t[e++] = n) + } + return p = t, t + } + + function y(t) { + for (var e = g(), n = 0; n < e.length; n++) + if (0 === t.modn(e[n])) return 0 === t.cmpn(e[n]); + return !0 + } + + function b(t) { + var e = i.mont(t); + return 0 === u.toRed(e).redPow(t.subn(1)).fromRed().cmpn(1) + } + + function v(t, e) { + if (t < 16) return new i(2 === e || 5 === e ? [140, 123] : [140, 39]); + var n, p; + for (e = new i(e);;) { + for (n = new i(r(Math.ceil(t / 8))); n.bitLength() > t;) n.ishrn(1); + if (n.isEven() && n.iadd(s), n.testn(1) || n.iadd(u), e.cmp(u)) { + if (!e.cmp(c)) + for (; n.mod(f).cmp(l);) n.iadd(d) + } else + for (; n.mod(a).cmp(h);) n.iadd(d); + if (y(p = n.shrn(1)) && y(n) && b(p) && b(n) && o.test(p) && o.test(n)) return n + } + } + }, function(t, e, n) { + var r = n(5), + i = n(123); + + function a(t) { + this.rand = t || new i.Rand + } + t.exports = a, a.create = function(t) { + return new a(t) + }, a.prototype._randbelow = function(t) { + var e = t.bitLength(), + n = Math.ceil(e / 8); + do { + var i = new r(this.rand.generate(n)) + } while (i.cmp(t) >= 0); + return i + }, a.prototype._randrange = function(t, e) { + var n = e.sub(t); + return t.add(this._randbelow(n)) + }, a.prototype.test = function(t, e, n) { + var i = t.bitLength(), + a = r.mont(t), + o = new r(1).toRed(a); + e || (e = Math.max(1, i / 48 | 0)); + for (var s = t.subn(1), u = 0; !s.testn(u); u++); + for (var c = t.shrn(u), f = s.toRed(a); e > 0; e--) { + var l = this._randrange(new r(2), s); + n && n(l); + var h = l.toRed(a).redPow(c); + if (0 !== h.cmp(o) && 0 !== h.cmp(f)) { + for (var d = 1; d < u; d++) { + if (0 === (h = h.redSqr()).cmp(o)) return !1; + if (0 === h.cmp(f)) break + } + if (d === u) return !1 + } + } + return !0 + }, a.prototype.getDivisor = function(t, e) { + var n = t.bitLength(), + i = r.mont(t), + a = new r(1).toRed(i); + e || (e = Math.max(1, n / 48 | 0)); + for (var o = t.subn(1), s = 0; !o.testn(s); s++); + for (var u = t.shrn(s), c = o.toRed(i); e > 0; e--) { + var f = this._randrange(new r(2), o), + l = t.gcd(f); + if (0 !== l.cmpn(1)) return l; + var h = f.toRed(i).redPow(u); + if (0 !== h.cmp(a) && 0 !== h.cmp(c)) { + for (var d = 1; d < s; d++) { + if (0 === (h = h.redSqr()).cmp(a)) return h.fromRed().subn(1).gcd(t); + if (0 === h.cmp(c)) break + } + if (d === s) return (h = h.redSqr()).fromRed().subn(1).gcd(t) + } + } + return !1 + } + }, function(t, e, n) { + "use strict"; + var r = e; + + function i(t) { + return 1 === t.length ? "0" + t : t + } + + function a(t) { + for (var e = "", n = 0; n < t.length; n++) e += i(t[n].toString(16)); + return e + } + r.toArray = function(t, e) { + if (Array.isArray(t)) return t.slice(); + if (!t) return []; + var n = []; + if ("string" != typeof t) { + for (var r = 0; r < t.length; r++) n[r] = 0 | t[r]; + return n + } + if ("hex" === e) { + (t = t.replace(/[^a-z0-9]+/gi, "")).length % 2 != 0 && (t = "0" + t); + for (r = 0; r < t.length; r += 2) n.push(parseInt(t[r] + t[r + 1], 16)) + } else + for (r = 0; r < t.length; r++) { + var i = t.charCodeAt(r), + a = i >> 8, + o = 255 & i; + a ? n.push(a, o) : n.push(o) + } + return n + }, r.zero2 = i, r.toHex = a, r.encode = function(t, e) { + return "hex" === e ? a(t) : t + } + }, function(t, e, n) { + "use strict"; + var r = e; + r.base = n(81), r.short = n(464), r.mont = n(465), r.edwards = n(466) + }, function(t, e, n) { + "use strict"; + var r = n(21).rotr32; + + function i(t, e, n) { + return t & e ^ ~t & n + } + + function a(t, e, n) { + return t & e ^ t & n ^ e & n + } + + function o(t, e, n) { + return t ^ e ^ n + } + e.ft_1 = function(t, e, n, r) { + return 0 === t ? i(e, n, r) : 1 === t || 3 === t ? o(e, n, r) : 2 === t ? a(e, n, r) : void 0 + }, e.ch32 = i, e.maj32 = a, e.p32 = o, e.s0_256 = function(t) { + return r(t, 2) ^ r(t, 13) ^ r(t, 22) + }, e.s1_256 = function(t) { + return r(t, 6) ^ r(t, 11) ^ r(t, 25) + }, e.g0_256 = function(t) { + return r(t, 7) ^ r(t, 18) ^ t >>> 3 + }, e.g1_256 = function(t) { + return r(t, 17) ^ r(t, 19) ^ t >>> 10 + } + }, function(t, e, n) { + "use strict"; + var r = n(21), + i = n(56), + a = n(217), + o = n(16), + s = r.sum32, + u = r.sum32_4, + c = r.sum32_5, + f = a.ch32, + l = a.maj32, + h = a.s0_256, + d = a.s1_256, + p = a.g0_256, + g = a.g1_256, + y = i.BlockHash, + b = [1116352408, 1899447441, 3049323471, 3921009573, 961987163, 1508970993, 2453635748, 2870763221, 3624381080, 310598401, 607225278, 1426881987, 1925078388, 2162078206, 2614888103, 3248222580, 3835390401, 4022224774, 264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986, 2554220882, 2821834349, 2952996808, 3210313671, 3336571891, 3584528711, 113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291, 1695183700, 1986661051, 2177026350, 2456956037, 2730485921, 2820302411, 3259730800, 3345764771, 3516065817, 3600352804, 4094571909, 275423344, 430227734, 506948616, 659060556, 883997877, 958139571, 1322822218, 1537002063, 1747873779, 1955562222, 2024104815, 2227730452, 2361852424, 2428436474, 2756734187, 3204031479, 3329325298]; + + function v() { + if (!(this instanceof v)) return new v; + y.call(this), this.h = [1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, 528734635, 1541459225], this.k = b, this.W = new Array(64) + } + r.inherits(v, y), t.exports = v, v.blockSize = 512, v.outSize = 256, v.hmacStrength = 192, v.padLength = 64, v.prototype._update = function(t, e) { + for (var n = this.W, r = 0; r < 16; r++) n[r] = t[e + r]; + for (; r < n.length; r++) n[r] = u(g(n[r - 2]), n[r - 7], p(n[r - 15]), n[r - 16]); + var i = this.h[0], + a = this.h[1], + y = this.h[2], + b = this.h[3], + v = this.h[4], + m = this.h[5], + _ = this.h[6], + w = this.h[7]; + for (o(this.k.length === n.length), r = 0; r < n.length; r++) { + var x = c(w, d(v), f(v, m, _), this.k[r], n[r]), + k = s(h(i), l(i, a, y)); + w = _, _ = m, m = v, v = s(b, x), b = y, y = a, a = i, i = s(x, k) + } + this.h[0] = s(this.h[0], i), this.h[1] = s(this.h[1], a), this.h[2] = s(this.h[2], y), this.h[3] = s(this.h[3], b), this.h[4] = s(this.h[4], v), this.h[5] = s(this.h[5], m), this.h[6] = s(this.h[6], _), this.h[7] = s(this.h[7], w) + }, v.prototype._digest = function(t) { + return "hex" === t ? r.toHex32(this.h, "big") : r.split32(this.h, "big") + } + }, function(t, e, n) { + "use strict"; + var r = n(21), + i = n(56), + a = n(16), + o = r.rotr64_hi, + s = r.rotr64_lo, + u = r.shr64_hi, + c = r.shr64_lo, + f = r.sum64, + l = r.sum64_hi, + h = r.sum64_lo, + d = r.sum64_4_hi, + p = r.sum64_4_lo, + g = r.sum64_5_hi, + y = r.sum64_5_lo, + b = i.BlockHash, + v = [1116352408, 3609767458, 1899447441, 602891725, 3049323471, 3964484399, 3921009573, 2173295548, 961987163, 4081628472, 1508970993, 3053834265, 2453635748, 2937671579, 2870763221, 3664609560, 3624381080, 2734883394, 310598401, 1164996542, 607225278, 1323610764, 1426881987, 3590304994, 1925078388, 4068182383, 2162078206, 991336113, 2614888103, 633803317, 3248222580, 3479774868, 3835390401, 2666613458, 4022224774, 944711139, 264347078, 2341262773, 604807628, 2007800933, 770255983, 1495990901, 1249150122, 1856431235, 1555081692, 3175218132, 1996064986, 2198950837, 2554220882, 3999719339, 2821834349, 766784016, 2952996808, 2566594879, 3210313671, 3203337956, 3336571891, 1034457026, 3584528711, 2466948901, 113926993, 3758326383, 338241895, 168717936, 666307205, 1188179964, 773529912, 1546045734, 1294757372, 1522805485, 1396182291, 2643833823, 1695183700, 2343527390, 1986661051, 1014477480, 2177026350, 1206759142, 2456956037, 344077627, 2730485921, 1290863460, 2820302411, 3158454273, 3259730800, 3505952657, 3345764771, 106217008, 3516065817, 3606008344, 3600352804, 1432725776, 4094571909, 1467031594, 275423344, 851169720, 430227734, 3100823752, 506948616, 1363258195, 659060556, 3750685593, 883997877, 3785050280, 958139571, 3318307427, 1322822218, 3812723403, 1537002063, 2003034995, 1747873779, 3602036899, 1955562222, 1575990012, 2024104815, 1125592928, 2227730452, 2716904306, 2361852424, 442776044, 2428436474, 593698344, 2756734187, 3733110249, 3204031479, 2999351573, 3329325298, 3815920427, 3391569614, 3928383900, 3515267271, 566280711, 3940187606, 3454069534, 4118630271, 4000239992, 116418474, 1914138554, 174292421, 2731055270, 289380356, 3203993006, 460393269, 320620315, 685471733, 587496836, 852142971, 1086792851, 1017036298, 365543100, 1126000580, 2618297676, 1288033470, 3409855158, 1501505948, 4234509866, 1607167915, 987167468, 1816402316, 1246189591]; + + function m() { + if (!(this instanceof m)) return new m; + b.call(this), this.h = [1779033703, 4089235720, 3144134277, 2227873595, 1013904242, 4271175723, 2773480762, 1595750129, 1359893119, 2917565137, 2600822924, 725511199, 528734635, 4215389547, 1541459225, 327033209], this.k = v, this.W = new Array(160) + } + + function _(t, e, n, r, i) { + var a = t & n ^ ~t & i; + return a < 0 && (a += 4294967296), a + } + + function w(t, e, n, r, i, a) { + var o = e & r ^ ~e & a; + return o < 0 && (o += 4294967296), o + } + + function x(t, e, n, r, i) { + var a = t & n ^ t & i ^ n & i; + return a < 0 && (a += 4294967296), a + } + + function k(t, e, n, r, i, a) { + var o = e & r ^ e & a ^ r & a; + return o < 0 && (o += 4294967296), o + } + + function E(t, e) { + var n = o(t, e, 28) ^ o(e, t, 2) ^ o(e, t, 7); + return n < 0 && (n += 4294967296), n + } + + function A(t, e) { + var n = s(t, e, 28) ^ s(e, t, 2) ^ s(e, t, 7); + return n < 0 && (n += 4294967296), n + } + + function S(t, e) { + var n = o(t, e, 14) ^ o(t, e, 18) ^ o(e, t, 9); + return n < 0 && (n += 4294967296), n + } + + function M(t, e) { + var n = s(t, e, 14) ^ s(t, e, 18) ^ s(e, t, 9); + return n < 0 && (n += 4294967296), n + } + + function T(t, e) { + var n = o(t, e, 1) ^ o(t, e, 8) ^ u(t, e, 7); + return n < 0 && (n += 4294967296), n + } + + function D(t, e) { + var n = s(t, e, 1) ^ s(t, e, 8) ^ c(t, e, 7); + return n < 0 && (n += 4294967296), n + } + + function C(t, e) { + var n = o(t, e, 19) ^ o(e, t, 29) ^ u(t, e, 6); + return n < 0 && (n += 4294967296), n + } + + function N(t, e) { + var n = s(t, e, 19) ^ s(e, t, 29) ^ c(t, e, 6); + return n < 0 && (n += 4294967296), n + } + r.inherits(m, b), t.exports = m, m.blockSize = 1024, m.outSize = 512, m.hmacStrength = 192, m.padLength = 128, m.prototype._prepareBlock = function(t, e) { + for (var n = this.W, r = 0; r < 32; r++) n[r] = t[e + r]; + for (; r < n.length; r += 2) { + var i = C(n[r - 4], n[r - 3]), + a = N(n[r - 4], n[r - 3]), + o = n[r - 14], + s = n[r - 13], + u = T(n[r - 30], n[r - 29]), + c = D(n[r - 30], n[r - 29]), + f = n[r - 32], + l = n[r - 31]; + n[r] = d(i, a, o, s, u, c, f, l), n[r + 1] = p(i, a, o, s, u, c, f, l) + } + }, m.prototype._update = function(t, e) { + this._prepareBlock(t, e); + var n = this.W, + r = this.h[0], + i = this.h[1], + o = this.h[2], + s = this.h[3], + u = this.h[4], + c = this.h[5], + d = this.h[6], + p = this.h[7], + b = this.h[8], + v = this.h[9], + m = this.h[10], + T = this.h[11], + D = this.h[12], + C = this.h[13], + N = this.h[14], + I = this.h[15]; + a(this.k.length === n.length); + for (var L = 0; L < n.length; L += 2) { + var B = N, + O = I, + R = S(b, v), + P = M(b, v), + F = _(b, v, m, T, D), + q = w(b, v, m, T, D, C), + j = this.k[L], + U = this.k[L + 1], + z = n[L], + Y = n[L + 1], + V = g(B, O, R, P, F, q, j, U, z, Y), + H = y(B, O, R, P, F, q, j, U, z, Y); + B = E(r, i), O = A(r, i), R = x(r, i, o, s, u), P = k(r, i, o, s, u, c); + var G = l(B, O, R, P), + $ = h(B, O, R, P); + N = D, I = C, D = m, C = T, m = b, T = v, b = l(d, p, V, H), v = h(p, p, V, H), d = u, p = c, u = o, c = s, o = r, s = i, r = l(V, H, G, $), i = h(V, H, G, $) + } + f(this.h, 0, r, i), f(this.h, 2, o, s), f(this.h, 4, u, c), f(this.h, 6, d, p), f(this.h, 8, b, v), f(this.h, 10, m, T), f(this.h, 12, D, C), f(this.h, 14, N, I) + }, m.prototype._digest = function(t) { + return "hex" === t ? r.toHex32(this.h, "big") : r.split32(this.h, "big") + } + }, function(t, e, n) { + var r = n(2), + i = n(58).Reporter, + a = n(8).Buffer; + + function o(t, e) { + i.call(this, e), a.isBuffer(t) ? (this.base = t, this.offset = 0, this.length = t.length) : this.error("Input not Buffer") + } + + function s(t, e) { + if (Array.isArray(t)) this.length = 0, this.value = t.map((function(t) { + return t instanceof s || (t = new s(t, e)), this.length += t.length, t + }), this); + else if ("number" == typeof t) { + if (!(0 <= t && t <= 255)) return e.error("non-byte EncoderBuffer value"); + this.value = t, this.length = 1 + } else if ("string" == typeof t) this.value = t, this.length = a.byteLength(t); + else { + if (!a.isBuffer(t)) return e.error("Unsupported type: " + typeof t); + this.value = t, this.length = t.length + } + } + r(o, i), e.DecoderBuffer = o, o.prototype.save = function() { + return { + offset: this.offset, + reporter: i.prototype.save.call(this) + } + }, o.prototype.restore = function(t) { + var e = new o(this.base); + return e.offset = t.offset, e.length = this.offset, this.offset = t.offset, i.prototype.restore.call(this, t.reporter), e + }, o.prototype.isEmpty = function() { + return this.offset === this.length + }, o.prototype.readUInt8 = function(t) { + return this.offset + 1 <= this.length ? this.base.readUInt8(this.offset++, !0) : this.error(t || "DecoderBuffer overrun") + }, o.prototype.skip = function(t, e) { + if (!(this.offset + t <= this.length)) return this.error(e || "DecoderBuffer overrun"); + var n = new o(this.base); + return n._reporterState = this._reporterState, n.offset = this.offset, n.length = this.offset + t, this.offset += t, n + }, o.prototype.raw = function(t) { + return this.base.slice(t ? t.offset : this.offset, this.length) + }, e.EncoderBuffer = s, s.prototype.join = function(t, e) { + return t || (t = new a(this.length)), e || (e = 0), 0 === this.length ? t : (Array.isArray(this.value) ? this.value.forEach((function(n) { + n.join(t, e), e += n.length + })) : ("number" == typeof this.value ? t[e] = this.value : "string" == typeof this.value ? t.write(this.value, e) : a.isBuffer(this.value) && this.value.copy(t, e), e += this.length), t) + } + }, function(t, e, n) { + var r = e; + r._reverse = function(t) { + var e = {}; + return Object.keys(t).forEach((function(n) { + (0 | n) == n && (n |= 0); + var r = t[n]; + e[r] = n + })), e + }, r.der = n(486) + }, function(t, e, n) { + var r = n(2), + i = n(57), + a = i.base, + o = i.bignum, + s = i.constants.der; + + function u(t) { + this.enc = "der", this.name = t.name, this.entity = t, this.tree = new c, this.tree._init(t.body) + } + + function c(t) { + a.Node.call(this, "der", t) + } + + function f(t, e) { + var n = t.readUInt8(e); + if (t.isError(n)) return n; + var r = s.tagClass[n >> 6], + i = 0 == (32 & n); + if (31 == (31 & n)) { + var a = n; + for (n = 0; 128 == (128 & a);) { + if (a = t.readUInt8(e), t.isError(a)) return a; + n <<= 7, n |= 127 & a + } + } else n &= 31; + return { + cls: r, + primitive: i, + tag: n, + tagStr: s.tag[n] + } + } + + function l(t, e, n) { + var r = t.readUInt8(n); + if (t.isError(r)) return r; + if (!e && 128 === r) return null; + if (0 == (128 & r)) return r; + var i = 127 & r; + if (i > 4) return t.error("length octect is too long"); + r = 0; + for (var a = 0; a < i; a++) { + r <<= 8; + var o = t.readUInt8(n); + if (t.isError(o)) return o; + r |= o + } + return r + } + t.exports = u, u.prototype.decode = function(t, e) { + return t instanceof a.DecoderBuffer || (t = new a.DecoderBuffer(t, e)), this.tree._decode(t, e) + }, r(c, a.Node), c.prototype._peekTag = function(t, e, n) { + if (t.isEmpty()) return !1; + var r = t.save(), + i = f(t, 'Failed to peek tag: "' + e + '"'); + return t.isError(i) ? i : (t.restore(r), i.tag === e || i.tagStr === e || i.tagStr + "of" === e || n) + }, c.prototype._decodeTag = function(t, e, n) { + var r = f(t, 'Failed to decode tag of "' + e + '"'); + if (t.isError(r)) return r; + var i = l(t, r.primitive, 'Failed to get length of "' + e + '"'); + if (t.isError(i)) return i; + if (!n && r.tag !== e && r.tagStr !== e && r.tagStr + "of" !== e) return t.error('Failed to match tag: "' + e + '"'); + if (r.primitive || null !== i) return t.skip(i, 'Failed to match body of: "' + e + '"'); + var a = t.save(), + o = this._skipUntilEnd(t, 'Failed to skip indefinite length body: "' + this.tag + '"'); + return t.isError(o) ? o : (i = t.offset - a.offset, t.restore(a), t.skip(i, 'Failed to match body of: "' + e + '"')) + }, c.prototype._skipUntilEnd = function(t, e) { + for (;;) { + var n = f(t, e); + if (t.isError(n)) return n; + var r, i = l(t, n.primitive, e); + if (t.isError(i)) return i; + if (r = n.primitive || null !== i ? t.skip(i) : this._skipUntilEnd(t, e), t.isError(r)) return r; + if ("end" === n.tagStr) break + } + }, c.prototype._decodeList = function(t, e, n, r) { + for (var i = []; !t.isEmpty();) { + var a = this._peekTag(t, "end"); + if (t.isError(a)) return a; + var o = n.decode(t, "der", r); + if (t.isError(o) && a) break; + i.push(o) + } + return i + }, c.prototype._decodeStr = function(t, e) { + if ("bitstr" === e) { + var n = t.readUInt8(); + return t.isError(n) ? n : { + unused: n, + data: t.raw() + } + } + if ("bmpstr" === e) { + var r = t.raw(); + if (r.length % 2 == 1) return t.error("Decoding of string type: bmpstr length mismatch"); + for (var i = "", a = 0; a < r.length / 2; a++) i += String.fromCharCode(r.readUInt16BE(2 * a)); + return i + } + if ("numstr" === e) { + var o = t.raw().toString("ascii"); + return this._isNumstr(o) ? o : t.error("Decoding of string type: numstr unsupported characters") + } + if ("octstr" === e) return t.raw(); + if ("objDesc" === e) return t.raw(); + if ("printstr" === e) { + var s = t.raw().toString("ascii"); + return this._isPrintstr(s) ? s : t.error("Decoding of string type: printstr unsupported characters") + } + return /str$/.test(e) ? t.raw().toString() : t.error("Decoding of string type: " + e + " unsupported") + }, c.prototype._decodeObjid = function(t, e, n) { + for (var r, i = [], a = 0; !t.isEmpty();) { + var o = t.readUInt8(); + a <<= 7, a |= 127 & o, 0 == (128 & o) && (i.push(a), a = 0) + } + 128 & o && i.push(a); + var s = i[0] / 40 | 0, + u = i[0] % 40; + if (r = n ? i : [s, u].concat(i.slice(1)), e) { + var c = e[r.join(" ")]; + void 0 === c && (c = e[r.join(".")]), void 0 !== c && (r = c) + } + return r + }, c.prototype._decodeTime = function(t, e) { + var n = t.raw().toString(); + if ("gentime" === e) var r = 0 | n.slice(0, 4), + i = 0 | n.slice(4, 6), + a = 0 | n.slice(6, 8), + o = 0 | n.slice(8, 10), + s = 0 | n.slice(10, 12), + u = 0 | n.slice(12, 14); + else { + if ("utctime" !== e) return t.error("Decoding " + e + " time is not supported yet"); + r = 0 | n.slice(0, 2), i = 0 | n.slice(2, 4), a = 0 | n.slice(4, 6), o = 0 | n.slice(6, 8), s = 0 | n.slice(8, 10), u = 0 | n.slice(10, 12); + r = r < 70 ? 2e3 + r : 1900 + r + } + return Date.UTC(r, i - 1, a, o, s, u, 0) + }, c.prototype._decodeNull = function(t) { + return null + }, c.prototype._decodeBool = function(t) { + var e = t.readUInt8(); + return t.isError(e) ? e : 0 !== e + }, c.prototype._decodeInt = function(t, e) { + var n = t.raw(), + r = new o(n); + return e && (r = e[r.toString(10)] || r), r + }, c.prototype._use = function(t, e) { + return "function" == typeof t && (t = t(e)), t._getDecoder("der").tree + } + }, function(t, e, n) { + var r = n(2), + i = n(8).Buffer, + a = n(57), + o = a.base, + s = a.constants.der; + + function u(t) { + this.enc = "der", this.name = t.name, this.entity = t, this.tree = new c, this.tree._init(t.body) + } + + function c(t) { + o.Node.call(this, "der", t) + } + + function f(t) { + return t < 10 ? "0" + t : t + } + t.exports = u, u.prototype.encode = function(t, e) { + return this.tree._encode(t, e).join() + }, r(c, o.Node), c.prototype._encodeComposite = function(t, e, n, r) { + var a, o = function(t, e, n, r) { + var i; + "seqof" === t ? t = "seq" : "setof" === t && (t = "set"); + if (s.tagByName.hasOwnProperty(t)) i = s.tagByName[t]; + else { + if ("number" != typeof t || (0 | t) !== t) return r.error("Unknown tag: " + t); + i = t + } + if (i >= 31) return r.error("Multi-octet tag encoding unsupported"); + e || (i |= 32); + return i |= s.tagClassByName[n || "universal"] << 6 + }(t, e, n, this.reporter); + if (r.length < 128) return (a = new i(2))[0] = o, a[1] = r.length, this._createEncoderBuffer([a, r]); + for (var u = 1, c = r.length; c >= 256; c >>= 8) u++; + (a = new i(2 + u))[0] = o, a[1] = 128 | u; + c = 1 + u; + for (var f = r.length; f > 0; c--, f >>= 8) a[c] = 255 & f; + return this._createEncoderBuffer([a, r]) + }, c.prototype._encodeStr = function(t, e) { + if ("bitstr" === e) return this._createEncoderBuffer([0 | t.unused, t.data]); + if ("bmpstr" === e) { + for (var n = new i(2 * t.length), r = 0; r < t.length; r++) n.writeUInt16BE(t.charCodeAt(r), 2 * r); + return this._createEncoderBuffer(n) + } + return "numstr" === e ? this._isNumstr(t) ? this._createEncoderBuffer(t) : this.reporter.error("Encoding of string type: numstr supports only digits and space") : "printstr" === e ? this._isPrintstr(t) ? this._createEncoderBuffer(t) : this.reporter.error("Encoding of string type: printstr supports only latin upper and lower case letters, digits, space, apostrophe, left and rigth parenthesis, plus sign, comma, hyphen, dot, slash, colon, equal sign, question mark") : /str$/.test(e) ? this._createEncoderBuffer(t) : "objDesc" === e ? this._createEncoderBuffer(t) : this.reporter.error("Encoding of string type: " + e + " unsupported") + }, c.prototype._encodeObjid = function(t, e, n) { + if ("string" == typeof t) { + if (!e) return this.reporter.error("string objid given, but no values map found"); + if (!e.hasOwnProperty(t)) return this.reporter.error("objid not found in values map"); + t = e[t].split(/[\s\.]+/g); + for (var r = 0; r < t.length; r++) t[r] |= 0 + } else if (Array.isArray(t)) { + t = t.slice(); + for (r = 0; r < t.length; r++) t[r] |= 0 + } + if (!Array.isArray(t)) return this.reporter.error("objid() should be either array or string, got: " + JSON.stringify(t)); + if (!n) { + if (t[1] >= 40) return this.reporter.error("Second objid identifier OOB"); + t.splice(0, 2, 40 * t[0] + t[1]) + } + var a = 0; + for (r = 0; r < t.length; r++) { + var o = t[r]; + for (a++; o >= 128; o >>= 7) a++ + } + var s = new i(a), + u = s.length - 1; + for (r = t.length - 1; r >= 0; r--) { + o = t[r]; + for (s[u--] = 127 & o; + (o >>= 7) > 0;) s[u--] = 128 | 127 & o + } + return this._createEncoderBuffer(s) + }, c.prototype._encodeTime = function(t, e) { + var n, r = new Date(t); + return "gentime" === e ? n = [f(r.getFullYear()), f(r.getUTCMonth() + 1), f(r.getUTCDate()), f(r.getUTCHours()), f(r.getUTCMinutes()), f(r.getUTCSeconds()), "Z"].join("") : "utctime" === e ? n = [f(r.getFullYear() % 100), f(r.getUTCMonth() + 1), f(r.getUTCDate()), f(r.getUTCHours()), f(r.getUTCMinutes()), f(r.getUTCSeconds()), "Z"].join("") : this.reporter.error("Encoding " + e + " time is not supported yet"), this._encodeStr(n, "octstr") + }, c.prototype._encodeNull = function() { + return this._createEncoderBuffer("") + }, c.prototype._encodeInt = function(t, e) { + if ("string" == typeof t) { + if (!e) return this.reporter.error("String int or enum given, but no values map"); + if (!e.hasOwnProperty(t)) return this.reporter.error("Values map doesn't contain: " + JSON.stringify(t)); + t = e[t] + } + if ("number" != typeof t && !i.isBuffer(t)) { + var n = t.toArray(); + !t.sign && 128 & n[0] && n.unshift(0), t = new i(n) + } + if (i.isBuffer(t)) { + var r = t.length; + 0 === t.length && r++; + var a = new i(r); + return t.copy(a), 0 === t.length && (a[0] = 0), this._createEncoderBuffer(a) + } + if (t < 128) return this._createEncoderBuffer(t); + if (t < 256) return this._createEncoderBuffer([0, t]); + r = 1; + for (var o = t; o >= 256; o >>= 8) r++; + for (o = (a = new Array(r)).length - 1; o >= 0; o--) a[o] = 255 & t, t >>= 8; + return 128 & a[0] && a.unshift(0), this._createEncoderBuffer(new i(a)) + }, c.prototype._encodeBool = function(t) { + return this._createEncoderBuffer(t ? 255 : 0) + }, c.prototype._use = function(t, e) { + return "function" == typeof t && (t = t(e)), t._getEncoder("der").tree + }, c.prototype._skipDefault = function(t, e, n) { + var r, i = this._baseState; + if (null === i.default) return !1; + var a = t.join(); + if (void 0 === i.defaultBuffer && (i.defaultBuffer = this._encodeValue(i.default, e, n).join()), a.length !== i.defaultBuffer.length) return !1; + for (r = 0; r < a.length; r++) + if (a[r] !== i.defaultBuffer[r]) return !1; + return !0 + } + }, function(t) { + t.exports = JSON.parse('{"1.3.132.0.10":"secp256k1","1.3.132.0.33":"p224","1.2.840.10045.3.1.1":"p192","1.2.840.10045.3.1.7":"p256","1.3.132.0.34":"p384","1.3.132.0.35":"p521"}') + }, function(t, e, n) { + var r = n(53), + i = n(3).Buffer; + + function a(t) { + var e = i.allocUnsafe(4); + return e.writeUInt32BE(t, 0), e + } + t.exports = function(t, e) { + for (var n, o = i.alloc(0), s = 0; o.length < e;) n = a(s++), o = i.concat([o, r("sha1").update(t).update(n).digest()]); + return o.slice(0, e) + } + }, function(t, e) { + t.exports = function(t, e) { + for (var n = t.length, r = -1; ++r < n;) t[r] ^= e[r]; + return t + } + }, function(t, e, n) { + var r = n(5), + i = n(3).Buffer; + t.exports = function(t, e) { + return i.from(t.toRed(r.mont(e.modulus)).redPow(new r(e.publicExponent)).fromRed().toArray()) + } + }, function(t, e, n) { + (function(t, n) { + ! function(r) { + var i = e, + a = t && t.exports == i && t, + o = "object" == typeof n && n; + o.global !== o && o.window !== o || (r = o); + var s = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g, + u = /[\x01-\x7F]/g, + c = /[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g, + f = /<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g, + l = { + "Â": "shy", + "‌": "zwnj", + "â€": "zwj", + "‎": "lrm", + "â£": "ic", + "â¢": "it", + "â¡": "af", + "â€": "rlm", + "​": "ZeroWidthSpace", + "â ": "NoBreak", + "Ì‘": "DownBreve", + "⃛": "tdot", + "⃜": "DotDot", + "\t": "Tab", + "\n": "NewLine", + " ": "puncsp", + "âŸ": "MediumSpace", + " ": "thinsp", + " ": "hairsp", + " ": "emsp13", + " ": "ensp", + " ": "emsp14", + " ": "emsp", + " ": "numsp", + " ": "nbsp", + "âŸâ€Š": "ThickSpace", + "‾": "oline", + _: "lowbar", + "â€": "dash", + "–": "ndash", + "—": "mdash", + "―": "horbar", + ",": "comma", + ";": "semi", + "â": "bsemi", + ":": "colon", + "â©´": "Colone", + "!": "excl", + "¡": "iexcl", + "?": "quest", + "¿": "iquest", + ".": "period", + "‥": "nldr", + "…": "mldr", + "·": "middot", + "'": "apos", + "‘": "lsquo", + "’": "rsquo", + "‚": "sbquo", + "‹": "lsaquo", + "›": "rsaquo", + '"': "quot", + "“": "ldquo", + "â€": "rdquo", + "„": "bdquo", + "«": "laquo", + "»": "raquo", + "(": "lpar", + ")": "rpar", + "[": "lsqb", + "]": "rsqb", + "{": "lcub", + "}": "rcub", + "⌈": "lceil", + "⌉": "rceil", + "⌊": "lfloor", + "⌋": "rfloor", + "⦅": "lopar", + "⦆": "ropar", + "⦋": "lbrke", + "⦌": "rbrke", + "â¦": "lbrkslu", + "⦎": "rbrksld", + "â¦": "lbrksld", + "â¦": "rbrkslu", + "⦑": "langd", + "⦒": "rangd", + "⦓": "lparlt", + "⦔": "rpargt", + "⦕": "gtlPar", + "⦖": "ltrPar", + "⟦": "lobrk", + "⟧": "robrk", + "⟨": "lang", + "⟩": "rang", + "⟪": "Lang", + "⟫": "Rang", + "⟬": "loang", + "âŸ": "roang", + "â²": "lbbrk", + "â³": "rbbrk", + "‖": "Vert", + "§": "sect", + "¶": "para", + "@": "commat", + "*": "ast", + "/": "sol", + undefined: null, + "&": "amp", + "#": "num", + "%": "percnt", + "‰": "permil", + "‱": "pertenk", + "†": "dagger", + "‡": "Dagger", + "•": "bull", + "âƒ": "hybull", + "′": "prime", + "″": "Prime", + "‴": "tprime", + "â—": "qprime", + "‵": "bprime", + "â": "caret", + "`": "grave", + "´": "acute", + "Ëœ": "tilde", + "^": "Hat", + "¯": "macr", + "˘": "breve", + "Ë™": "dot", + "¨": "die", + "Ëš": "ring", + "Ë": "dblac", + "¸": "cedil", + "Ë›": "ogon", + "ˆ": "circ", + "ˇ": "caron", + "°": "deg", + "©": "copy", + "®": "reg", + "â„—": "copysr", + "℘": "wp", + "℞": "rx", + "â„§": "mho", + "â„©": "iiota", + "â†": "larr", + "↚": "nlarr", + "→": "rarr", + "↛": "nrarr", + "↑": "uarr", + "↓": "darr", + "↔": "harr", + "↮": "nharr", + "↕": "varr", + "↖": "nwarr", + "↗": "nearr", + "↘": "searr", + "↙": "swarr", + "â†": "rarrw", + "â†Ì¸": "nrarrw", + "↞": "Larr", + "↟": "Uarr", + "↠": "Rarr", + "↡": "Darr", + "↢": "larrtl", + "↣": "rarrtl", + "↤": "mapstoleft", + "↥": "mapstoup", + "↦": "map", + "↧": "mapstodown", + "↩": "larrhk", + "↪": "rarrhk", + "↫": "larrlp", + "↬": "rarrlp", + "â†": "harrw", + "↰": "lsh", + "↱": "rsh", + "↲": "ldsh", + "↳": "rdsh", + "↵": "crarr", + "↶": "cularr", + "↷": "curarr", + "↺": "olarr", + "↻": "orarr", + "↼": "lharu", + "↽": "lhard", + "↾": "uharr", + "↿": "uharl", + "⇀": "rharu", + "â‡": "rhard", + "⇂": "dharr", + "⇃": "dharl", + "⇄": "rlarr", + "⇅": "udarr", + "⇆": "lrarr", + "⇇": "llarr", + "⇈": "uuarr", + "⇉": "rrarr", + "⇊": "ddarr", + "⇋": "lrhar", + "⇌": "rlhar", + "â‡": "lArr", + "â‡": "nlArr", + "⇑": "uArr", + "⇒": "rArr", + "â‡": "nrArr", + "⇓": "dArr", + "⇔": "iff", + "⇎": "nhArr", + "⇕": "vArr", + "⇖": "nwArr", + "⇗": "neArr", + "⇘": "seArr", + "⇙": "swArr", + "⇚": "lAarr", + "⇛": "rAarr", + "â‡": "zigrarr", + "⇤": "larrb", + "⇥": "rarrb", + "⇵": "duarr", + "⇽": "loarr", + "⇾": "roarr", + "⇿": "hoarr", + "∀": "forall", + "âˆ": "comp", + "∂": "part", + "∂̸": "npart", + "∃": "exist", + "∄": "nexist", + "∅": "empty", + "∇": "Del", + "∈": "in", + "∉": "notin", + "∋": "ni", + "∌": "notni", + "϶": "bepsi", + "âˆ": "prod", + "âˆ": "coprod", + "∑": "sum", + "+": "plus", + "±": "pm", + "÷": "div", + "×": "times", + "<": "lt", + "≮": "nlt", + "<⃒": "nvlt", + "=": "equals", + "≠": "ne", + "=⃥": "bne", + "⩵": "Equal", + ">": "gt", + "≯": "ngt", + ">⃒": "nvgt", + "¬": "not", + "|": "vert", + "¦": "brvbar", + "−": "minus", + "∓": "mp", + "∔": "plusdo", + "â„": "frasl", + "∖": "setmn", + "∗": "lowast", + "∘": "compfn", + "√": "Sqrt", + "âˆ": "prop", + "∞": "infin", + "∟": "angrt", + "∠": "ang", + "∠⃒": "nang", + "∡": "angmsd", + "∢": "angsph", + "∣": "mid", + "∤": "nmid", + "∥": "par", + "∦": "npar", + "∧": "and", + "∨": "or", + "∩": "cap", + "∩︀": "caps", + "∪": "cup", + "∪︀": "cups", + "∫": "int", + "∬": "Int", + "âˆ": "tint", + "⨌": "qint", + "∮": "oint", + "∯": "Conint", + "∰": "Cconint", + "∱": "cwint", + "∲": "cwconint", + "∳": "awconint", + "∴": "there4", + "∵": "becaus", + "∶": "ratio", + "∷": "Colon", + "∸": "minusd", + "∺": "mDDot", + "∻": "homtht", + "∼": "sim", + "â‰": "nsim", + "∼⃒": "nvsim", + "∽": "bsim", + "∽̱": "race", + "∾": "ac", + "∾̳": "acE", + "∿": "acd", + "≀": "wr", + "≂": "esim", + "≂̸": "nesim", + "≃": "sime", + "≄": "nsime", + "≅": "cong", + "≇": "ncong", + "≆": "simne", + "≈": "ap", + "≉": "nap", + "≊": "ape", + "≋": "apid", + "≋̸": "napid", + "≌": "bcong", + "â‰": "CupCap", + "â‰": "NotCupCap", + "â‰âƒ’": "nvap", + "≎": "bump", + "≎̸": "nbump", + "â‰": "bumpe", + "â‰Ì¸": "nbumpe", + "â‰": "doteq", + "â‰Ì¸": "nedot", + "≑": "eDot", + "≒": "efDot", + "≓": "erDot", + "≔": "colone", + "≕": "ecolon", + "≖": "ecir", + "≗": "cire", + "≙": "wedgeq", + "≚": "veeeq", + "≜": "trie", + "≟": "equest", + "≡": "equiv", + "≢": "nequiv", + "≡⃥": "bnequiv", + "≤": "le", + "≰": "nle", + "≤⃒": "nvle", + "≥": "ge", + "≱": "nge", + "≥⃒": "nvge", + "≦": "lE", + "≦̸": "nlE", + "≧": "gE", + "≧̸": "ngE", + "≨︀": "lvnE", + "≨": "lnE", + "≩": "gnE", + "≩︀": "gvnE", + "≪": "ll", + "≪̸": "nLtv", + "≪⃒": "nLt", + "≫": "gg", + "≫̸": "nGtv", + "≫⃒": "nGt", + "≬": "twixt", + "≲": "lsim", + "≴": "nlsim", + "≳": "gsim", + "≵": "ngsim", + "≶": "lg", + "≸": "ntlg", + "≷": "gl", + "≹": "ntgl", + "≺": "pr", + "⊀": "npr", + "≻": "sc", + "âŠ": "nsc", + "≼": "prcue", + "â‹ ": "nprcue", + "≽": "sccue", + "â‹¡": "nsccue", + "≾": "prsim", + "≿": "scsim", + "≿̸": "NotSucceedsTilde", + "⊂": "sub", + "⊄": "nsub", + "⊂⃒": "vnsub", + "⊃": "sup", + "⊅": "nsup", + "⊃⃒": "vnsup", + "⊆": "sube", + "⊈": "nsube", + "⊇": "supe", + "⊉": "nsupe", + "⊊︀": "vsubne", + "⊊": "subne", + "⊋︀": "vsupne", + "⊋": "supne", + "âŠ": "cupdot", + "⊎": "uplus", + "âŠ": "sqsub", + "âŠÌ¸": "NotSquareSubset", + "âŠ": "sqsup", + "âŠÌ¸": "NotSquareSuperset", + "⊑": "sqsube", + "â‹¢": "nsqsube", + "⊒": "sqsupe", + "â‹£": "nsqsupe", + "⊓": "sqcap", + "⊓︀": "sqcaps", + "⊔": "sqcup", + "⊔︀": "sqcups", + "⊕": "oplus", + "⊖": "ominus", + "⊗": "otimes", + "⊘": "osol", + "⊙": "odot", + "⊚": "ocir", + "⊛": "oast", + "âŠ": "odash", + "⊞": "plusb", + "⊟": "minusb", + "⊠": "timesb", + "⊡": "sdotb", + "⊢": "vdash", + "⊬": "nvdash", + "⊣": "dashv", + "⊤": "top", + "⊥": "bot", + "⊧": "models", + "⊨": "vDash", + "âŠ": "nvDash", + "⊩": "Vdash", + "⊮": "nVdash", + "⊪": "Vvdash", + "⊫": "VDash", + "⊯": "nVDash", + "⊰": "prurel", + "⊲": "vltri", + "⋪": "nltri", + "⊳": "vrtri", + "â‹«": "nrtri", + "⊴": "ltrie", + "⋬": "nltrie", + "⊴⃒": "nvltrie", + "⊵": "rtrie", + "â‹": "nrtrie", + "⊵⃒": "nvrtrie", + "⊶": "origof", + "⊷": "imof", + "⊸": "mumap", + "⊹": "hercon", + "⊺": "intcal", + "⊻": "veebar", + "⊽": "barvee", + "⊾": "angrtvb", + "⊿": "lrtri", + "â‹€": "Wedge", + "â‹": "Vee", + "â‹‚": "xcap", + "⋃": "xcup", + "â‹„": "diam", + "â‹…": "sdot", + "⋆": "Star", + "⋇": "divonx", + "⋈": "bowtie", + "⋉": "ltimes", + "⋊": "rtimes", + "â‹‹": "lthree", + "⋌": "rthree", + "â‹": "bsime", + "⋎": "cuvee", + "â‹": "cuwed", + "â‹": "Sub", + "â‹‘": "Sup", + "â‹’": "Cap", + "â‹“": "Cup", + "â‹”": "fork", + "â‹•": "epar", + "â‹–": "ltdot", + "â‹—": "gtdot", + "⋘": "Ll", + "⋘̸": "nLl", + "â‹™": "Gg", + "⋙̸": "nGg", + "⋚︀": "lesg", + "⋚": "leg", + "â‹›": "gel", + "⋛︀": "gesl", + "⋞": "cuepr", + "⋟": "cuesc", + "⋦": "lnsim", + "â‹§": "gnsim", + "⋨": "prnsim", + "â‹©": "scnsim", + "â‹®": "vellip", + "⋯": "ctdot", + "â‹°": "utdot", + "⋱": "dtdot", + "⋲": "disin", + "⋳": "isinsv", + "â‹´": "isins", + "⋵": "isindot", + "⋵̸": "notindot", + "â‹¶": "notinvc", + "â‹·": "notinvb", + "⋹": "isinE", + "⋹̸": "notinE", + "⋺": "nisd", + "â‹»": "xnis", + "⋼": "nis", + "⋽": "notnivc", + "⋾": "notnivb", + "⌅": "barwed", + "⌆": "Barwed", + "⌌": "drcrop", + "âŒ": "dlcrop", + "⌎": "urcrop", + "âŒ": "ulcrop", + "âŒ": "bnot", + "⌒": "profline", + "⌓": "profsurf", + "⌕": "telrec", + "⌖": "target", + "⌜": "ulcorn", + "âŒ": "urcorn", + "⌞": "dlcorn", + "⌟": "drcorn", + "⌢": "frown", + "⌣": "smile", + "âŒ": "cylcty", + "⌮": "profalar", + "⌶": "topbot", + "⌽": "ovbar", + "⌿": "solbar", + "â¼": "angzarr", + "⎰": "lmoust", + "⎱": "rmoust", + "⎴": "tbrk", + "⎵": "bbrk", + "⎶": "bbrktbrk", + "âœ": "OverParenthesis", + "â": "UnderParenthesis", + "âž": "OverBrace", + "âŸ": "UnderBrace", + "â¢": "trpezium", + "â§": "elinters", + "â£": "blank", + "─": "boxh", + "│": "boxv", + "┌": "boxdr", + "â”": "boxdl", + "â””": "boxur", + "┘": "boxul", + "├": "boxvr", + "┤": "boxvl", + "┬": "boxhd", + "â”´": "boxhu", + "┼": "boxvh", + "â•": "boxH", + "â•‘": "boxV", + "â•’": "boxdR", + "â•“": "boxDr", + "â•”": "boxDR", + "â••": "boxdL", + "â•–": "boxDl", + "â•—": "boxDL", + "╘": "boxuR", + "â•™": "boxUr", + "╚": "boxUR", + "â•›": "boxuL", + "╜": "boxUl", + "â•": "boxUL", + "╞": "boxvR", + "╟": "boxVr", + "â• ": "boxVR", + "â•¡": "boxvL", + "â•¢": "boxVl", + "â•£": "boxVL", + "╤": "boxHd", + "â•¥": "boxhD", + "╦": "boxHD", + "â•§": "boxHu", + "╨": "boxhU", + "â•©": "boxHU", + "╪": "boxvH", + "â•«": "boxVh", + "╬": "boxVH", + "â–€": "uhblk", + "â–„": "lhblk", + "â–ˆ": "block", + "â–‘": "blk14", + "â–’": "blk12", + "â–“": "blk34", + "â–¡": "squ", + "â–ª": "squf", + "â–«": "EmptyVerySmallSquare", + "â–": "rect", + "â–®": "marker", + "â–±": "fltns", + "â–³": "xutri", + "â–´": "utrif", + "â–µ": "utri", + "â–¸": "rtrif", + "â–¹": "rtri", + "â–½": "xdtri", + "â–¾": "dtrif", + "â–¿": "dtri", + "â—‚": "ltrif", + "â—ƒ": "ltri", + "â—Š": "loz", + "â—‹": "cir", + "â—¬": "tridot", + "â—¯": "xcirc", + "â—¸": "ultri", + "â—¹": "urtri", + "â—º": "lltri", + "â—»": "EmptySmallSquare", + "â—¼": "FilledSmallSquare", + "★": "starf", + "☆": "star", + "☎": "phone", + "♀": "female", + "♂": "male", + "â™ ": "spades", + "♣": "clubs", + "♥": "hearts", + "♦": "diams", + "♪": "sung", + "✓": "check", + "✗": "cross", + "✠": "malt", + "✶": "sext", + "â˜": "VerticalSeparator", + "⟈": "bsolhsub", + "⟉": "suphsol", + "⟵": "xlarr", + "⟶": "xrarr", + "⟷": "xharr", + "⟸": "xlArr", + "⟹": "xrArr", + "⟺": "xhArr", + "⟼": "xmap", + "⟿": "dzigrarr", + "⤂": "nvlArr", + "⤃": "nvrArr", + "⤄": "nvHarr", + "⤅": "Map", + "⤌": "lbarr", + "â¤": "rbarr", + "⤎": "lBarr", + "â¤": "rBarr", + "â¤": "RBarr", + "⤑": "DDotrahd", + "⤒": "UpArrowBar", + "⤓": "DownArrowBar", + "⤖": "Rarrtl", + "⤙": "latail", + "⤚": "ratail", + "⤛": "lAtail", + "⤜": "rAtail", + "â¤": "larrfs", + "⤞": "rarrfs", + "⤟": "larrbfs", + "⤠": "rarrbfs", + "⤣": "nwarhk", + "⤤": "nearhk", + "⤥": "searhk", + "⤦": "swarhk", + "⤧": "nwnear", + "⤨": "toea", + "⤩": "tosa", + "⤪": "swnwar", + "⤳": "rarrc", + "⤳̸": "nrarrc", + "⤵": "cudarrr", + "⤶": "ldca", + "⤷": "rdca", + "⤸": "cudarrl", + "⤹": "larrpl", + "⤼": "curarrm", + "⤽": "cularrp", + "⥅": "rarrpl", + "⥈": "harrcir", + "⥉": "Uarrocir", + "⥊": "lurdshar", + "⥋": "ldrushar", + "⥎": "LeftRightVector", + "â¥": "RightUpDownVector", + "â¥": "DownLeftRightVector", + "⥑": "LeftUpDownVector", + "⥒": "LeftVectorBar", + "⥓": "RightVectorBar", + "⥔": "RightUpVectorBar", + "⥕": "RightDownVectorBar", + "⥖": "DownLeftVectorBar", + "⥗": "DownRightVectorBar", + "⥘": "LeftUpVectorBar", + "⥙": "LeftDownVectorBar", + "⥚": "LeftTeeVector", + "⥛": "RightTeeVector", + "⥜": "RightUpTeeVector", + "â¥": "RightDownTeeVector", + "⥞": "DownLeftTeeVector", + "⥟": "DownRightTeeVector", + "⥠": "LeftUpTeeVector", + "⥡": "LeftDownTeeVector", + "⥢": "lHar", + "⥣": "uHar", + "⥤": "rHar", + "⥥": "dHar", + "⥦": "luruhar", + "⥧": "ldrdhar", + "⥨": "ruluhar", + "⥩": "rdldhar", + "⥪": "lharul", + "⥫": "llhard", + "⥬": "rharul", + "â¥": "lrhard", + "⥮": "udhar", + "⥯": "duhar", + "⥰": "RoundImplies", + "⥱": "erarr", + "⥲": "simrarr", + "⥳": "larrsim", + "⥴": "rarrsim", + "⥵": "rarrap", + "⥶": "ltlarr", + "⥸": "gtrarr", + "⥹": "subrarr", + "⥻": "suplarr", + "⥼": "lfisht", + "⥽": "rfisht", + "⥾": "ufisht", + "⥿": "dfisht", + "⦚": "vzigzag", + "⦜": "vangrt", + "â¦": "angrtvbd", + "⦤": "ange", + "⦥": "range", + "⦦": "dwangle", + "⦧": "uwangle", + "⦨": "angmsdaa", + "⦩": "angmsdab", + "⦪": "angmsdac", + "⦫": "angmsdad", + "⦬": "angmsdae", + "â¦": "angmsdaf", + "⦮": "angmsdag", + "⦯": "angmsdah", + "⦰": "bemptyv", + "⦱": "demptyv", + "⦲": "cemptyv", + "⦳": "raemptyv", + "⦴": "laemptyv", + "⦵": "ohbar", + "⦶": "omid", + "⦷": "opar", + "⦹": "operp", + "⦻": "olcross", + "⦼": "odsold", + "⦾": "olcir", + "⦿": "ofcir", + "â§€": "olt", + "â§": "ogt", + "â§‚": "cirscir", + "⧃": "cirE", + "â§„": "solb", + "â§…": "bsolb", + "⧉": "boxbox", + "â§": "trisb", + "â§Ž": "rtriltri", + "â§": "LeftTriangleBar", + "â§Ì¸": "NotLeftTriangleBar", + "â§": "RightTriangleBar", + "â§Ì¸": "NotRightTriangleBar", + "â§œ": "iinfin", + "â§": "infintie", + "â§ž": "nvinfin", + "â§£": "eparsl", + "⧤": "smeparsl", + "â§¥": "eqvparsl", + "â§«": "lozf", + "â§´": "RuleDelayed", + "â§¶": "dsol", + "⨀": "xodot", + "â¨": "xoplus", + "⨂": "xotime", + "⨄": "xuplus", + "⨆": "xsqcup", + "â¨": "fpartint", + "â¨": "cirfnint", + "⨑": "awint", + "⨒": "rppolint", + "⨓": "scpolint", + "⨔": "npolint", + "⨕": "pointint", + "⨖": "quatint", + "⨗": "intlarhk", + "⨢": "pluscir", + "⨣": "plusacir", + "⨤": "simplus", + "⨥": "plusdu", + "⨦": "plussim", + "⨧": "plustwo", + "⨩": "mcomma", + "⨪": "minusdu", + "â¨": "loplus", + "⨮": "roplus", + "⨯": "Cross", + "⨰": "timesd", + "⨱": "timesbar", + "⨳": "smashp", + "⨴": "lotimes", + "⨵": "rotimes", + "⨶": "otimesas", + "⨷": "Otimes", + "⨸": "odiv", + "⨹": "triplus", + "⨺": "triminus", + "⨻": "tritime", + "⨼": "iprod", + "⨿": "amalg", + "â©€": "capdot", + "â©‚": "ncup", + "⩃": "ncap", + "â©„": "capand", + "â©…": "cupor", + "⩆": "cupcap", + "⩇": "capcup", + "⩈": "cupbrcap", + "⩉": "capbrcup", + "⩊": "cupcup", + "â©‹": "capcap", + "⩌": "ccups", + "â©": "ccaps", + "â©": "ccupssm", + "â©“": "And", + "â©”": "Or", + "â©•": "andand", + "â©–": "oror", + "â©—": "orslope", + "⩘": "andslope", + "⩚": "andv", + "â©›": "orv", + "⩜": "andd", + "â©": "ord", + "⩟": "wedbar", + "⩦": "sdote", + "⩪": "simdot", + "â©": "congdot", + "â©Ì¸": "ncongdot", + "â©®": "easter", + "⩯": "apacir", + "â©°": "apE", + "⩰̸": "napE", + "⩱": "eplus", + "⩲": "pluse", + "⩳": "Esim", + "â©·": "eDDot", + "⩸": "equivDD", + "⩹": "ltcir", + "⩺": "gtcir", + "â©»": "ltquest", + "⩼": "gtquest", + "⩽": "les", + "⩽̸": "nles", + "⩾": "ges", + "⩾̸": "nges", + "â©¿": "lesdot", + "⪀": "gesdot", + "âª": "lesdoto", + "⪂": "gesdoto", + "⪃": "lesdotor", + "⪄": "gesdotol", + "⪅": "lap", + "⪆": "gap", + "⪇": "lne", + "⪈": "gne", + "⪉": "lnap", + "⪊": "gnap", + "⪋": "lEg", + "⪌": "gEl", + "âª": "lsime", + "⪎": "gsime", + "âª": "lsimg", + "âª": "gsiml", + "⪑": "lgE", + "⪒": "glE", + "⪓": "lesges", + "⪔": "gesles", + "⪕": "els", + "⪖": "egs", + "⪗": "elsdot", + "⪘": "egsdot", + "⪙": "el", + "⪚": "eg", + "âª": "siml", + "⪞": "simg", + "⪟": "simlE", + "⪠": "simgE", + "⪡": "LessLess", + "⪡̸": "NotNestedLessLess", + "⪢": "GreaterGreater", + "⪢̸": "NotNestedGreaterGreater", + "⪤": "glj", + "⪥": "gla", + "⪦": "ltcc", + "⪧": "gtcc", + "⪨": "lescc", + "⪩": "gescc", + "⪪": "smt", + "⪫": "lat", + "⪬": "smte", + "⪬︀": "smtes", + "âª": "late", + "âªï¸€": "lates", + "⪮": "bumpE", + "⪯": "pre", + "⪯̸": "npre", + "⪰": "sce", + "⪰̸": "nsce", + "⪳": "prE", + "⪴": "scE", + "⪵": "prnE", + "⪶": "scnE", + "⪷": "prap", + "⪸": "scap", + "⪹": "prnap", + "⪺": "scnap", + "⪻": "Pr", + "⪼": "Sc", + "⪽": "subdot", + "⪾": "supdot", + "⪿": "subplus", + "â«€": "supplus", + "â«": "submult", + "â«‚": "supmult", + "⫃": "subedot", + "â«„": "supedot", + "â«…": "subE", + "⫅̸": "nsubE", + "⫆": "supE", + "⫆̸": "nsupE", + "⫇": "subsim", + "⫈": "supsim", + "⫋︀": "vsubnE", + "â«‹": "subnE", + "⫌︀": "vsupnE", + "⫌": "supnE", + "â«": "csub", + "â«": "csup", + "â«‘": "csube", + "â«’": "csupe", + "â«“": "subsup", + "â«”": "supsub", + "â«•": "subsub", + "â«–": "supsup", + "â«—": "suphsub", + "⫘": "supdsub", + "â«™": "forkv", + "⫚": "topfork", + "â«›": "mlcp", + "⫤": "Dashv", + "⫦": "Vdashl", + "â«§": "Barv", + "⫨": "vBar", + "â«©": "vBarv", + "â««": "Vbar", + "⫬": "Not", + "â«": "bNot", + "â«®": "rnmid", + "⫯": "cirmid", + "â«°": "midcir", + "⫱": "topcir", + "⫲": "nhpar", + "⫳": "parsim", + "⫽": "parsl", + "⫽⃥": "nparsl", + "â™": "flat", + "â™®": "natur", + "♯": "sharp", + "¤": "curren", + "¢": "cent", + $: "dollar", + "£": "pound", + "Â¥": "yen", + "€": "euro", + "¹": "sup1", + "½": "half", + "â…“": "frac13", + "¼": "frac14", + "â…•": "frac15", + "â…™": "frac16", + "â…›": "frac18", + "²": "sup2", + "â…”": "frac23", + "â…–": "frac25", + "³": "sup3", + "¾": "frac34", + "â…—": "frac35", + "â…œ": "frac38", + "â…˜": "frac45", + "â…š": "frac56", + "â…": "frac58", + "â…ž": "frac78", + "ð’¶": "ascr", + "ð•’": "aopf", + "ð”ž": "afr", + "ð”¸": "Aopf", + "ð”„": "Afr", + "ð’œ": "Ascr", + "ª": "ordf", + "á": "aacute", + "Ã": "Aacute", + "à ": "agrave", + "À": "Agrave", + "ă": "abreve", + "Ä‚": "Abreve", + "â": "acirc", + "Â": "Acirc", + "Ã¥": "aring", + "Ã…": "angst", + "ä": "auml", + "Ä": "Auml", + "ã": "atilde", + "Ã": "Atilde", + "Ä…": "aogon", + "Ä„": "Aogon", + "Ä": "amacr", + "Ä€": "Amacr", + "æ": "aelig", + "Æ": "AElig", + "ð’·": "bscr", + "ð•“": "bopf", + "ð”Ÿ": "bfr", + "ð”¹": "Bopf", + "ℬ": "Bscr", + "ð”…": "Bfr", + "ð” ": "cfr", + "ð’¸": "cscr", + "ð•”": "copf", + "â„": "Cfr", + "ð’ž": "Cscr", + "â„‚": "Copf", + "ć": "cacute", + "Ć": "Cacute", + "ĉ": "ccirc", + "Ĉ": "Ccirc", + "Ä": "ccaron", + "ÄŒ": "Ccaron", + "Ä‹": "cdot", + "ÄŠ": "Cdot", + "ç": "ccedil", + "Ç": "Ccedil", + "â„…": "incare", + "ð”¡": "dfr", + "â…†": "dd", + "ð••": "dopf", + "ð’¹": "dscr", + "ð’Ÿ": "Dscr", + "ð”‡": "Dfr", + "â……": "DD", + "ð”»": "Dopf", + "Ä": "dcaron", + "ÄŽ": "Dcaron", + "Ä‘": "dstrok", + "Ä": "Dstrok", + "ð": "eth", + "Ã": "ETH", + "â…‡": "ee", + "ℯ": "escr", + "ð”¢": "efr", + "ð•–": "eopf", + "â„°": "Escr", + "ð”ˆ": "Efr", + "ð”¼": "Eopf", + "é": "eacute", + "É": "Eacute", + "è": "egrave", + "È": "Egrave", + "ê": "ecirc", + "Ê": "Ecirc", + "Ä›": "ecaron", + "Äš": "Ecaron", + "ë": "euml", + "Ë": "Euml", + "Ä—": "edot", + "Ä–": "Edot", + "Ä™": "eogon", + "Ę": "Eogon", + "Ä“": "emacr", + "Ä’": "Emacr", + "ð”£": "ffr", + "ð•—": "fopf", + "ð’»": "fscr", + "ð”‰": "Ffr", + "ð”½": "Fopf", + "ℱ": "Fscr", + "ff": "fflig", + "ffi": "ffilig", + "ffl": "ffllig", + "ï¬": "filig", + fj: "fjlig", + "fl": "fllig", + "Æ’": "fnof", + "ℊ": "gscr", + "ð•˜": "gopf", + "ð”¤": "gfr", + "ð’¢": "Gscr", + "ð”¾": "Gopf", + "ð”Š": "Gfr", + "ǵ": "gacute", + "ÄŸ": "gbreve", + "Äž": "Gbreve", + "Ä": "gcirc", + "Äœ": "Gcirc", + "Ä¡": "gdot", + "Ä ": "Gdot", + "Ä¢": "Gcedil", + "ð”¥": "hfr", + "ℎ": "planckh", + "ð’½": "hscr", + "ð•™": "hopf", + "â„‹": "Hscr", + "ℌ": "Hfr", + "â„": "Hopf", + "Ä¥": "hcirc", + "Ĥ": "Hcirc", + "â„": "hbar", + "ħ": "hstrok", + "Ħ": "Hstrok", + "ð•š": "iopf", + "ð”¦": "ifr", + "ð’¾": "iscr", + "â…ˆ": "ii", + "ð•€": "Iopf", + "â„": "Iscr", + "â„‘": "Im", + "Ã": "iacute", + "Ã": "Iacute", + "ì": "igrave", + "ÃŒ": "Igrave", + "î": "icirc", + "ÃŽ": "Icirc", + "ï": "iuml", + "Ã": "Iuml", + "Ä©": "itilde", + "Ĩ": "Itilde", + "İ": "Idot", + "į": "iogon", + "Ä®": "Iogon", + "Ä«": "imacr", + "Ī": "Imacr", + "ij": "ijlig", + "IJ": "IJlig", + "ı": "imath", + "ð’¿": "jscr", + "ð•›": "jopf", + "ð”§": "jfr", + "ð’¥": "Jscr", + "ð”": "Jfr", + "ð•": "Jopf", + "ĵ": "jcirc", + "Ä´": "Jcirc", + "È·": "jmath", + "ð•œ": "kopf", + "ð“€": "kscr", + "ð”¨": "kfr", + "ð’¦": "Kscr", + "ð•‚": "Kopf", + "ð”Ž": "Kfr", + "Ä·": "kcedil", + "Ķ": "Kcedil", + "ð”©": "lfr", + "ð“": "lscr", + "â„“": "ell", + "ð•": "lopf", + "â„’": "Lscr", + "ð”": "Lfr", + "ð•ƒ": "Lopf", + "ĺ": "lacute", + "Ĺ": "Lacute", + "ľ": "lcaron", + "Ľ": "Lcaron", + "ļ": "lcedil", + "Ä»": "Lcedil", + "Å‚": "lstrok", + "Å": "Lstrok", + "Å€": "lmidot", + "Ä¿": "Lmidot", + "ð”ª": "mfr", + "ð•ž": "mopf", + "ð“‚": "mscr", + "ð”": "Mfr", + "ð•„": "Mopf", + "ℳ": "Mscr", + "ð”«": "nfr", + "ð•Ÿ": "nopf", + "ð“ƒ": "nscr", + "â„•": "Nopf", + "ð’©": "Nscr", + "ð”‘": "Nfr", + "Å„": "nacute", + "Ń": "Nacute", + "ň": "ncaron", + "Ň": "Ncaron", + "ñ": "ntilde", + "Ñ": "Ntilde", + "ņ": "ncedil", + "Å…": "Ncedil", + "â„–": "numero", + "Å‹": "eng", + "ÅŠ": "ENG", + "ð• ": "oopf", + "ð”¬": "ofr", + "â„´": "oscr", + "ð’ª": "Oscr", + "ð”’": "Ofr", + "ð•†": "Oopf", + "º": "ordm", + "ó": "oacute", + "Ó": "Oacute", + "ò": "ograve", + "Ã’": "Ograve", + "ô": "ocirc", + "Ô": "Ocirc", + "ö": "ouml", + "Ö": "Ouml", + "Å‘": "odblac", + "Å": "Odblac", + "õ": "otilde", + "Õ": "Otilde", + "ø": "oslash", + "Ø": "Oslash", + "Å": "omacr", + "ÅŒ": "Omacr", + "Å“": "oelig", + "Å’": "OElig", + "ð”": "pfr", + "ð“…": "pscr", + "ð•¡": "popf", + "â„™": "Popf", + "ð”“": "Pfr", + "ð’«": "Pscr", + "ð•¢": "qopf", + "ð”®": "qfr", + "ð“†": "qscr", + "ð’¬": "Qscr", + "ð””": "Qfr", + "ℚ": "Qopf", + "ĸ": "kgreen", + "ð”¯": "rfr", + "ð•£": "ropf", + "ð“‡": "rscr", + "â„›": "Rscr", + "ℜ": "Re", + "â„": "Ropf", + "Å•": "racute", + "Å”": "Racute", + "Å™": "rcaron", + "Ř": "Rcaron", + "Å—": "rcedil", + "Å–": "Rcedil", + "ð•¤": "sopf", + "ð“ˆ": "sscr", + "ð”°": "sfr", + "ð•Š": "Sopf", + "ð”–": "Sfr", + "ð’®": "Sscr", + "Ⓢ": "oS", + "Å›": "sacute", + "Åš": "Sacute", + "Å": "scirc", + "Åœ": "Scirc", + "Å¡": "scaron", + "Å ": "Scaron", + "ÅŸ": "scedil", + "Åž": "Scedil", + "ß": "szlig", + "ð”±": "tfr", + "ð“‰": "tscr", + "ð•¥": "topf", + "ð’¯": "Tscr", + "ð”—": "Tfr", + "ð•‹": "Topf", + "Å¥": "tcaron", + "Ť": "Tcaron", + "Å£": "tcedil", + "Å¢": "Tcedil", + "â„¢": "trade", + "ŧ": "tstrok", + "Ŧ": "Tstrok", + "ð“Š": "uscr", + "ð•¦": "uopf", + "ð”²": "ufr", + "ð•Œ": "Uopf", + "ð”˜": "Ufr", + "ð’°": "Uscr", + "ú": "uacute", + "Ú": "Uacute", + "ù": "ugrave", + "Ù": "Ugrave", + "Å": "ubreve", + "Ŭ": "Ubreve", + "û": "ucirc", + "Û": "Ucirc", + "ů": "uring", + "Å®": "Uring", + "ü": "uuml", + "Ü": "Uuml", + "ű": "udblac", + "Ű": "Udblac", + "Å©": "utilde", + "Ũ": "Utilde", + "ų": "uogon", + "Ų": "Uogon", + "Å«": "umacr", + "Ū": "Umacr", + "ð”³": "vfr", + "ð•§": "vopf", + "ð“‹": "vscr", + "ð”™": "Vfr", + "ð•": "Vopf", + "ð’±": "Vscr", + "ð•¨": "wopf", + "ð“Œ": "wscr", + "ð”´": "wfr", + "ð’²": "Wscr", + "ð•Ž": "Wopf", + "ð”š": "Wfr", + "ŵ": "wcirc", + "Å´": "Wcirc", + "ð”µ": "xfr", + "ð“": "xscr", + "ð•©": "xopf", + "ð•": "Xopf", + "ð”›": "Xfr", + "ð’³": "Xscr", + "ð”¶": "yfr", + "ð“Ž": "yscr", + "ð•ª": "yopf", + "ð’´": "Yscr", + "ð”œ": "Yfr", + "ð•": "Yopf", + "ý": "yacute", + "Ã": "Yacute", + "Å·": "ycirc", + "Ŷ": "Ycirc", + "ÿ": "yuml", + "Ÿ": "Yuml", + "ð“": "zscr", + "ð”·": "zfr", + "ð•«": "zopf", + "ℨ": "Zfr", + "ℤ": "Zopf", + "ð’µ": "Zscr", + "ź": "zacute", + "Ź": "Zacute", + "ž": "zcaron", + "Ž": "Zcaron", + "ż": "zdot", + "Å»": "Zdot", + "Ƶ": "imped", + "þ": "thorn", + "Þ": "THORN", + "ʼn": "napos", + "α": "alpha", + "Α": "Alpha", + "β": "beta", + "Î’": "Beta", + "γ": "gamma", + "Γ": "Gamma", + "δ": "delta", + "Δ": "Delta", + "ε": "epsi", + "ϵ": "epsiv", + "Ε": "Epsilon", + "Ï": "gammad", + "Ïœ": "Gammad", + "ζ": "zeta", + "Ζ": "Zeta", + "η": "eta", + "Η": "Eta", + "θ": "theta", + "Ï‘": "thetav", + "Θ": "Theta", + "ι": "iota", + "Ι": "Iota", + "κ": "kappa", + "ϰ": "kappav", + "Κ": "Kappa", + "λ": "lambda", + "Λ": "Lambda", + "μ": "mu", + "µ": "micro", + "Μ": "Mu", + "ν": "nu", + "Î": "Nu", + "ξ": "xi", + "Ξ": "Xi", + "ο": "omicron", + "Ο": "Omicron", + "Ï€": "pi", + "Ï–": "piv", + "Î ": "Pi", + "Ï": "rho", + "ϱ": "rhov", + "Ρ": "Rho", + "σ": "sigma", + "Σ": "Sigma", + "Ï‚": "sigmaf", + "Ï„": "tau", + "Τ": "Tau", + "Ï…": "upsi", + "Î¥": "Upsilon", + "Ï’": "Upsi", + "φ": "phi", + "Ï•": "phiv", + "Φ": "Phi", + "χ": "chi", + "Χ": "Chi", + "ψ": "psi", + "Ψ": "Psi", + "ω": "omega", + "Ω": "ohm", + "а": "acy", + "Ð": "Acy", + "б": "bcy", + "Б": "Bcy", + "в": "vcy", + "Ð’": "Vcy", + "г": "gcy", + "Г": "Gcy", + "Ñ“": "gjcy", + "Ѓ": "GJcy", + "д": "dcy", + "Д": "Dcy", + "Ñ’": "djcy", + "Ђ": "DJcy", + "е": "iecy", + "Е": "IEcy", + "Ñ‘": "iocy", + "Ð": "IOcy", + "Ñ”": "jukcy", + "Є": "Jukcy", + "ж": "zhcy", + "Ж": "ZHcy", + "з": "zcy", + "З": "Zcy", + "Ñ•": "dscy", + "Ð…": "DScy", + "и": "icy", + "И": "Icy", + "Ñ–": "iukcy", + "І": "Iukcy", + "Ñ—": "yicy", + "Ї": "YIcy", + "й": "jcy", + "Й": "Jcy", + "ј": "jsercy", + "Ј": "Jsercy", + "к": "kcy", + "К": "Kcy", + "Ñœ": "kjcy", + "ÐŒ": "KJcy", + "л": "lcy", + "Л": "Lcy", + "Ñ™": "ljcy", + "Љ": "LJcy", + "м": "mcy", + "М": "Mcy", + "н": "ncy", + "Ð": "Ncy", + "Ñš": "njcy", + "Њ": "NJcy", + "о": "ocy", + "О": "Ocy", + "п": "pcy", + "П": "Pcy", + "Ñ€": "rcy", + "Ð ": "Rcy", + "Ñ": "scy", + "С": "Scy", + "Ñ‚": "tcy", + "Т": "Tcy", + "Ñ›": "tshcy", + "Ћ": "TSHcy", + "у": "ucy", + "У": "Ucy", + "Ñž": "ubrcy", + "ÐŽ": "Ubrcy", + "Ñ„": "fcy", + "Ф": "Fcy", + "Ñ…": "khcy", + "Ð¥": "KHcy", + "ц": "tscy", + "Ц": "TScy", + "ч": "chcy", + "Ч": "CHcy", + "ÑŸ": "dzcy", + "Ð": "DZcy", + "ш": "shcy", + "Ш": "SHcy", + "щ": "shchcy", + "Щ": "SHCHcy", + "ÑŠ": "hardcy", + "Ъ": "HARDcy", + "Ñ‹": "ycy", + "Ы": "Ycy", + "ÑŒ": "softcy", + "Ь": "SOFTcy", + "Ñ": "ecy", + "Ð": "Ecy", + "ÑŽ": "yucy", + "Ю": "YUcy", + "Ñ": "yacy", + "Я": "YAcy", + "ℵ": "aleph", + "â„¶": "beth", + "â„·": "gimel", + "ℸ": "daleth" + }, + h = /["&'<>`]/g, + d = { + '"': """, + "&": "&", + "'": "'", + "<": "<", + ">": ">", + "`": "`" + }, + p = /&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/, + g = /[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/, + y = /&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g, + b = { + aacute: "á", + Aacute: "Ã", + abreve: "ă", + Abreve: "Ä‚", + ac: "∾", + acd: "∿", + acE: "∾̳", + acirc: "â", + Acirc: "Â", + acute: "´", + acy: "а", + Acy: "Ð", + aelig: "æ", + AElig: "Æ", + af: "â¡", + afr: "ð”ž", + Afr: "ð”„", + agrave: "à ", + Agrave: "À", + alefsym: "ℵ", + aleph: "ℵ", + alpha: "α", + Alpha: "Α", + amacr: "Ä", + Amacr: "Ä€", + amalg: "⨿", + amp: "&", + AMP: "&", + and: "∧", + And: "â©“", + andand: "â©•", + andd: "⩜", + andslope: "⩘", + andv: "⩚", + ang: "∠", + ange: "⦤", + angle: "∠", + angmsd: "∡", + angmsdaa: "⦨", + angmsdab: "⦩", + angmsdac: "⦪", + angmsdad: "⦫", + angmsdae: "⦬", + angmsdaf: "â¦", + angmsdag: "⦮", + angmsdah: "⦯", + angrt: "∟", + angrtvb: "⊾", + angrtvbd: "â¦", + angsph: "∢", + angst: "Ã…", + angzarr: "â¼", + aogon: "Ä…", + Aogon: "Ä„", + aopf: "ð•’", + Aopf: "ð”¸", + ap: "≈", + apacir: "⩯", + ape: "≊", + apE: "â©°", + apid: "≋", + apos: "'", + ApplyFunction: "â¡", + approx: "≈", + approxeq: "≊", + aring: "Ã¥", + Aring: "Ã…", + ascr: "ð’¶", + Ascr: "ð’œ", + Assign: "≔", + ast: "*", + asymp: "≈", + asympeq: "â‰", + atilde: "ã", + Atilde: "Ã", + auml: "ä", + Auml: "Ä", + awconint: "∳", + awint: "⨑", + backcong: "≌", + backepsilon: "϶", + backprime: "‵", + backsim: "∽", + backsimeq: "â‹", + Backslash: "∖", + Barv: "â«§", + barvee: "⊽", + barwed: "⌅", + Barwed: "⌆", + barwedge: "⌅", + bbrk: "⎵", + bbrktbrk: "⎶", + bcong: "≌", + bcy: "б", + Bcy: "Б", + bdquo: "„", + becaus: "∵", + because: "∵", + Because: "∵", + bemptyv: "⦰", + bepsi: "϶", + bernou: "ℬ", + Bernoullis: "ℬ", + beta: "β", + Beta: "Î’", + beth: "â„¶", + between: "≬", + bfr: "ð”Ÿ", + Bfr: "ð”…", + bigcap: "â‹‚", + bigcirc: "â—¯", + bigcup: "⋃", + bigodot: "⨀", + bigoplus: "â¨", + bigotimes: "⨂", + bigsqcup: "⨆", + bigstar: "★", + bigtriangledown: "â–½", + bigtriangleup: "â–³", + biguplus: "⨄", + bigvee: "â‹", + bigwedge: "â‹€", + bkarow: "â¤", + blacklozenge: "â§«", + blacksquare: "â–ª", + blacktriangle: "â–´", + blacktriangledown: "â–¾", + blacktriangleleft: "â—‚", + blacktriangleright: "â–¸", + blank: "â£", + blk12: "â–’", + blk14: "â–‘", + blk34: "â–“", + block: "â–ˆ", + bne: "=⃥", + bnequiv: "≡⃥", + bnot: "âŒ", + bNot: "â«", + bopf: "ð•“", + Bopf: "ð”¹", + bot: "⊥", + bottom: "⊥", + bowtie: "⋈", + boxbox: "⧉", + boxdl: "â”", + boxdL: "â••", + boxDl: "â•–", + boxDL: "â•—", + boxdr: "┌", + boxdR: "â•’", + boxDr: "â•“", + boxDR: "â•”", + boxh: "─", + boxH: "â•", + boxhd: "┬", + boxhD: "â•¥", + boxHd: "╤", + boxHD: "╦", + boxhu: "â”´", + boxhU: "╨", + boxHu: "â•§", + boxHU: "â•©", + boxminus: "⊟", + boxplus: "⊞", + boxtimes: "⊠", + boxul: "┘", + boxuL: "â•›", + boxUl: "╜", + boxUL: "â•", + boxur: "â””", + boxuR: "╘", + boxUr: "â•™", + boxUR: "╚", + boxv: "│", + boxV: "â•‘", + boxvh: "┼", + boxvH: "╪", + boxVh: "â•«", + boxVH: "╬", + boxvl: "┤", + boxvL: "â•¡", + boxVl: "â•¢", + boxVL: "â•£", + boxvr: "├", + boxvR: "╞", + boxVr: "╟", + boxVR: "â• ", + bprime: "‵", + breve: "˘", + Breve: "˘", + brvbar: "¦", + bscr: "ð’·", + Bscr: "ℬ", + bsemi: "â", + bsim: "∽", + bsime: "â‹", + bsol: "\\", + bsolb: "â§…", + bsolhsub: "⟈", + bull: "•", + bullet: "•", + bump: "≎", + bumpe: "â‰", + bumpE: "⪮", + bumpeq: "â‰", + Bumpeq: "≎", + cacute: "ć", + Cacute: "Ć", + cap: "∩", + Cap: "â‹’", + capand: "â©„", + capbrcup: "⩉", + capcap: "â©‹", + capcup: "⩇", + capdot: "â©€", + CapitalDifferentialD: "â……", + caps: "∩︀", + caret: "â", + caron: "ˇ", + Cayleys: "â„", + ccaps: "â©", + ccaron: "Ä", + Ccaron: "ÄŒ", + ccedil: "ç", + Ccedil: "Ç", + ccirc: "ĉ", + Ccirc: "Ĉ", + Cconint: "∰", + ccups: "⩌", + ccupssm: "â©", + cdot: "Ä‹", + Cdot: "ÄŠ", + cedil: "¸", + Cedilla: "¸", + cemptyv: "⦲", + cent: "¢", + centerdot: "·", + CenterDot: "·", + cfr: "ð” ", + Cfr: "â„", + chcy: "ч", + CHcy: "Ч", + check: "✓", + checkmark: "✓", + chi: "χ", + Chi: "Χ", + cir: "â—‹", + circ: "ˆ", + circeq: "≗", + circlearrowleft: "↺", + circlearrowright: "↻", + circledast: "⊛", + circledcirc: "⊚", + circleddash: "âŠ", + CircleDot: "⊙", + circledR: "®", + circledS: "Ⓢ", + CircleMinus: "⊖", + CirclePlus: "⊕", + CircleTimes: "⊗", + cire: "≗", + cirE: "⧃", + cirfnint: "â¨", + cirmid: "⫯", + cirscir: "â§‚", + ClockwiseContourIntegral: "∲", + CloseCurlyDoubleQuote: "â€", + CloseCurlyQuote: "’", + clubs: "♣", + clubsuit: "♣", + colon: ":", + Colon: "∷", + colone: "≔", + Colone: "â©´", + coloneq: "≔", + comma: ",", + commat: "@", + comp: "âˆ", + compfn: "∘", + complement: "âˆ", + complexes: "â„‚", + cong: "≅", + congdot: "â©", + Congruent: "≡", + conint: "∮", + Conint: "∯", + ContourIntegral: "∮", + copf: "ð•”", + Copf: "â„‚", + coprod: "âˆ", + Coproduct: "âˆ", + copy: "©", + COPY: "©", + copysr: "â„—", + CounterClockwiseContourIntegral: "∳", + crarr: "↵", + cross: "✗", + Cross: "⨯", + cscr: "ð’¸", + Cscr: "ð’ž", + csub: "â«", + csube: "â«‘", + csup: "â«", + csupe: "â«’", + ctdot: "⋯", + cudarrl: "⤸", + cudarrr: "⤵", + cuepr: "⋞", + cuesc: "⋟", + cularr: "↶", + cularrp: "⤽", + cup: "∪", + Cup: "â‹“", + cupbrcap: "⩈", + cupcap: "⩆", + CupCap: "â‰", + cupcup: "⩊", + cupdot: "âŠ", + cupor: "â©…", + cups: "∪︀", + curarr: "↷", + curarrm: "⤼", + curlyeqprec: "⋞", + curlyeqsucc: "⋟", + curlyvee: "⋎", + curlywedge: "â‹", + curren: "¤", + curvearrowleft: "↶", + curvearrowright: "↷", + cuvee: "⋎", + cuwed: "â‹", + cwconint: "∲", + cwint: "∱", + cylcty: "âŒ", + dagger: "†", + Dagger: "‡", + daleth: "ℸ", + darr: "↓", + dArr: "⇓", + Darr: "↡", + dash: "â€", + dashv: "⊣", + Dashv: "⫤", + dbkarow: "â¤", + dblac: "Ë", + dcaron: "Ä", + Dcaron: "ÄŽ", + dcy: "д", + Dcy: "Д", + dd: "â…†", + DD: "â……", + ddagger: "‡", + ddarr: "⇊", + DDotrahd: "⤑", + ddotseq: "â©·", + deg: "°", + Del: "∇", + delta: "δ", + Delta: "Δ", + demptyv: "⦱", + dfisht: "⥿", + dfr: "ð”¡", + Dfr: "ð”‡", + dHar: "⥥", + dharl: "⇃", + dharr: "⇂", + DiacriticalAcute: "´", + DiacriticalDot: "Ë™", + DiacriticalDoubleAcute: "Ë", + DiacriticalGrave: "`", + DiacriticalTilde: "Ëœ", + diam: "â‹„", + diamond: "â‹„", + Diamond: "â‹„", + diamondsuit: "♦", + diams: "♦", + die: "¨", + DifferentialD: "â…†", + digamma: "Ï", + disin: "⋲", + div: "÷", + divide: "÷", + divideontimes: "⋇", + divonx: "⋇", + djcy: "Ñ’", + DJcy: "Ђ", + dlcorn: "⌞", + dlcrop: "âŒ", + dollar: "$", + dopf: "ð••", + Dopf: "ð”»", + dot: "Ë™", + Dot: "¨", + DotDot: "⃜", + doteq: "â‰", + doteqdot: "≑", + DotEqual: "â‰", + dotminus: "∸", + dotplus: "∔", + dotsquare: "⊡", + doublebarwedge: "⌆", + DoubleContourIntegral: "∯", + DoubleDot: "¨", + DoubleDownArrow: "⇓", + DoubleLeftArrow: "â‡", + DoubleLeftRightArrow: "⇔", + DoubleLeftTee: "⫤", + DoubleLongLeftArrow: "⟸", + DoubleLongLeftRightArrow: "⟺", + DoubleLongRightArrow: "⟹", + DoubleRightArrow: "⇒", + DoubleRightTee: "⊨", + DoubleUpArrow: "⇑", + DoubleUpDownArrow: "⇕", + DoubleVerticalBar: "∥", + downarrow: "↓", + Downarrow: "⇓", + DownArrow: "↓", + DownArrowBar: "⤓", + DownArrowUpArrow: "⇵", + DownBreve: "Ì‘", + downdownarrows: "⇊", + downharpoonleft: "⇃", + downharpoonright: "⇂", + DownLeftRightVector: "â¥", + DownLeftTeeVector: "⥞", + DownLeftVector: "↽", + DownLeftVectorBar: "⥖", + DownRightTeeVector: "⥟", + DownRightVector: "â‡", + DownRightVectorBar: "⥗", + DownTee: "⊤", + DownTeeArrow: "↧", + drbkarow: "â¤", + drcorn: "⌟", + drcrop: "⌌", + dscr: "ð’¹", + Dscr: "ð’Ÿ", + dscy: "Ñ•", + DScy: "Ð…", + dsol: "â§¶", + dstrok: "Ä‘", + Dstrok: "Ä", + dtdot: "⋱", + dtri: "â–¿", + dtrif: "â–¾", + duarr: "⇵", + duhar: "⥯", + dwangle: "⦦", + dzcy: "ÑŸ", + DZcy: "Ð", + dzigrarr: "⟿", + eacute: "é", + Eacute: "É", + easter: "â©®", + ecaron: "Ä›", + Ecaron: "Äš", + ecir: "≖", + ecirc: "ê", + Ecirc: "Ê", + ecolon: "≕", + ecy: "Ñ", + Ecy: "Ð", + eDDot: "â©·", + edot: "Ä—", + eDot: "≑", + Edot: "Ä–", + ee: "â…‡", + efDot: "≒", + efr: "ð”¢", + Efr: "ð”ˆ", + eg: "⪚", + egrave: "è", + Egrave: "È", + egs: "⪖", + egsdot: "⪘", + el: "⪙", + Element: "∈", + elinters: "â§", + ell: "â„“", + els: "⪕", + elsdot: "⪗", + emacr: "Ä“", + Emacr: "Ä’", + empty: "∅", + emptyset: "∅", + EmptySmallSquare: "â—»", + emptyv: "∅", + EmptyVerySmallSquare: "â–«", + emsp: " ", + emsp13: " ", + emsp14: " ", + eng: "Å‹", + ENG: "ÅŠ", + ensp: " ", + eogon: "Ä™", + Eogon: "Ę", + eopf: "ð•–", + Eopf: "ð”¼", + epar: "â‹•", + eparsl: "â§£", + eplus: "⩱", + epsi: "ε", + epsilon: "ε", + Epsilon: "Ε", + epsiv: "ϵ", + eqcirc: "≖", + eqcolon: "≕", + eqsim: "≂", + eqslantgtr: "⪖", + eqslantless: "⪕", + Equal: "⩵", + equals: "=", + EqualTilde: "≂", + equest: "≟", + Equilibrium: "⇌", + equiv: "≡", + equivDD: "⩸", + eqvparsl: "â§¥", + erarr: "⥱", + erDot: "≓", + escr: "ℯ", + Escr: "â„°", + esdot: "â‰", + esim: "≂", + Esim: "⩳", + eta: "η", + Eta: "Η", + eth: "ð", + ETH: "Ã", + euml: "ë", + Euml: "Ë", + euro: "€", + excl: "!", + exist: "∃", + Exists: "∃", + expectation: "â„°", + exponentiale: "â…‡", + ExponentialE: "â…‡", + fallingdotseq: "≒", + fcy: "Ñ„", + Fcy: "Ф", + female: "♀", + ffilig: "ffi", + fflig: "ff", + ffllig: "ffl", + ffr: "ð”£", + Ffr: "ð”‰", + filig: "ï¬", + FilledSmallSquare: "â—¼", + FilledVerySmallSquare: "â–ª", + fjlig: "fj", + flat: "â™", + fllig: "fl", + fltns: "â–±", + fnof: "Æ’", + fopf: "ð•—", + Fopf: "ð”½", + forall: "∀", + ForAll: "∀", + fork: "â‹”", + forkv: "â«™", + Fouriertrf: "ℱ", + fpartint: "â¨", + frac12: "½", + frac13: "â…“", + frac14: "¼", + frac15: "â…•", + frac16: "â…™", + frac18: "â…›", + frac23: "â…”", + frac25: "â…–", + frac34: "¾", + frac35: "â…—", + frac38: "â…œ", + frac45: "â…˜", + frac56: "â…š", + frac58: "â…", + frac78: "â…ž", + frasl: "â„", + frown: "⌢", + fscr: "ð’»", + Fscr: "ℱ", + gacute: "ǵ", + gamma: "γ", + Gamma: "Γ", + gammad: "Ï", + Gammad: "Ïœ", + gap: "⪆", + gbreve: "ÄŸ", + Gbreve: "Äž", + Gcedil: "Ä¢", + gcirc: "Ä", + Gcirc: "Äœ", + gcy: "г", + Gcy: "Г", + gdot: "Ä¡", + Gdot: "Ä ", + ge: "≥", + gE: "≧", + gel: "â‹›", + gEl: "⪌", + geq: "≥", + geqq: "≧", + geqslant: "⩾", + ges: "⩾", + gescc: "⪩", + gesdot: "⪀", + gesdoto: "⪂", + gesdotol: "⪄", + gesl: "⋛︀", + gesles: "⪔", + gfr: "ð”¤", + Gfr: "ð”Š", + gg: "≫", + Gg: "â‹™", + ggg: "â‹™", + gimel: "â„·", + gjcy: "Ñ“", + GJcy: "Ѓ", + gl: "≷", + gla: "⪥", + glE: "⪒", + glj: "⪤", + gnap: "⪊", + gnapprox: "⪊", + gne: "⪈", + gnE: "≩", + gneq: "⪈", + gneqq: "≩", + gnsim: "â‹§", + gopf: "ð•˜", + Gopf: "ð”¾", + grave: "`", + GreaterEqual: "≥", + GreaterEqualLess: "â‹›", + GreaterFullEqual: "≧", + GreaterGreater: "⪢", + GreaterLess: "≷", + GreaterSlantEqual: "⩾", + GreaterTilde: "≳", + gscr: "ℊ", + Gscr: "ð’¢", + gsim: "≳", + gsime: "⪎", + gsiml: "âª", + gt: ">", + Gt: "≫", + GT: ">", + gtcc: "⪧", + gtcir: "⩺", + gtdot: "â‹—", + gtlPar: "⦕", + gtquest: "⩼", + gtrapprox: "⪆", + gtrarr: "⥸", + gtrdot: "â‹—", + gtreqless: "â‹›", + gtreqqless: "⪌", + gtrless: "≷", + gtrsim: "≳", + gvertneqq: "≩︀", + gvnE: "≩︀", + Hacek: "ˇ", + hairsp: " ", + half: "½", + hamilt: "â„‹", + hardcy: "ÑŠ", + HARDcy: "Ъ", + harr: "↔", + hArr: "⇔", + harrcir: "⥈", + harrw: "â†", + Hat: "^", + hbar: "â„", + hcirc: "Ä¥", + Hcirc: "Ĥ", + hearts: "♥", + heartsuit: "♥", + hellip: "…", + hercon: "⊹", + hfr: "ð”¥", + Hfr: "ℌ", + HilbertSpace: "â„‹", + hksearow: "⤥", + hkswarow: "⤦", + hoarr: "⇿", + homtht: "∻", + hookleftarrow: "↩", + hookrightarrow: "↪", + hopf: "ð•™", + Hopf: "â„", + horbar: "―", + HorizontalLine: "─", + hscr: "ð’½", + Hscr: "â„‹", + hslash: "â„", + hstrok: "ħ", + Hstrok: "Ħ", + HumpDownHump: "≎", + HumpEqual: "â‰", + hybull: "âƒ", + hyphen: "â€", + iacute: "Ã", + Iacute: "Ã", + ic: "â£", + icirc: "î", + Icirc: "ÃŽ", + icy: "и", + Icy: "И", + Idot: "İ", + iecy: "е", + IEcy: "Е", + iexcl: "¡", + iff: "⇔", + ifr: "ð”¦", + Ifr: "â„‘", + igrave: "ì", + Igrave: "ÃŒ", + ii: "â…ˆ", + iiiint: "⨌", + iiint: "âˆ", + iinfin: "â§œ", + iiota: "â„©", + ijlig: "ij", + IJlig: "IJ", + Im: "â„‘", + imacr: "Ä«", + Imacr: "Ī", + image: "â„‘", + ImaginaryI: "â…ˆ", + imagline: "â„", + imagpart: "â„‘", + imath: "ı", + imof: "⊷", + imped: "Ƶ", + Implies: "⇒", + in : "∈", + incare: "â„…", + infin: "∞", + infintie: "â§", + inodot: "ı", + int: "∫", + Int: "∬", + intcal: "⊺", + integers: "ℤ", + Integral: "∫", + intercal: "⊺", + Intersection: "â‹‚", + intlarhk: "⨗", + intprod: "⨼", + InvisibleComma: "â£", + InvisibleTimes: "â¢", + iocy: "Ñ‘", + IOcy: "Ð", + iogon: "į", + Iogon: "Ä®", + iopf: "ð•š", + Iopf: "ð•€", + iota: "ι", + Iota: "Ι", + iprod: "⨼", + iquest: "¿", + iscr: "ð’¾", + Iscr: "â„", + isin: "∈", + isindot: "⋵", + isinE: "⋹", + isins: "â‹´", + isinsv: "⋳", + isinv: "∈", + it: "â¢", + itilde: "Ä©", + Itilde: "Ĩ", + iukcy: "Ñ–", + Iukcy: "І", + iuml: "ï", + Iuml: "Ã", + jcirc: "ĵ", + Jcirc: "Ä´", + jcy: "й", + Jcy: "Й", + jfr: "ð”§", + Jfr: "ð”", + jmath: "È·", + jopf: "ð•›", + Jopf: "ð•", + jscr: "ð’¿", + Jscr: "ð’¥", + jsercy: "ј", + Jsercy: "Ј", + jukcy: "Ñ”", + Jukcy: "Є", + kappa: "κ", + Kappa: "Κ", + kappav: "ϰ", + kcedil: "Ä·", + Kcedil: "Ķ", + kcy: "к", + Kcy: "К", + kfr: "ð”¨", + Kfr: "ð”Ž", + kgreen: "ĸ", + khcy: "Ñ…", + KHcy: "Ð¥", + kjcy: "Ñœ", + KJcy: "ÐŒ", + kopf: "ð•œ", + Kopf: "ð•‚", + kscr: "ð“€", + Kscr: "ð’¦", + lAarr: "⇚", + lacute: "ĺ", + Lacute: "Ĺ", + laemptyv: "⦴", + lagran: "â„’", + lambda: "λ", + Lambda: "Λ", + lang: "⟨", + Lang: "⟪", + langd: "⦑", + langle: "⟨", + lap: "⪅", + Laplacetrf: "â„’", + laquo: "«", + larr: "â†", + lArr: "â‡", + Larr: "↞", + larrb: "⇤", + larrbfs: "⤟", + larrfs: "â¤", + larrhk: "↩", + larrlp: "↫", + larrpl: "⤹", + larrsim: "⥳", + larrtl: "↢", + lat: "⪫", + latail: "⤙", + lAtail: "⤛", + late: "âª", + lates: "âªï¸€", + lbarr: "⤌", + lBarr: "⤎", + lbbrk: "â²", + lbrace: "{", + lbrack: "[", + lbrke: "⦋", + lbrksld: "â¦", + lbrkslu: "â¦", + lcaron: "ľ", + Lcaron: "Ľ", + lcedil: "ļ", + Lcedil: "Ä»", + lceil: "⌈", + lcub: "{", + lcy: "л", + Lcy: "Л", + ldca: "⤶", + ldquo: "“", + ldquor: "„", + ldrdhar: "⥧", + ldrushar: "⥋", + ldsh: "↲", + le: "≤", + lE: "≦", + LeftAngleBracket: "⟨", + leftarrow: "â†", + Leftarrow: "â‡", + LeftArrow: "â†", + LeftArrowBar: "⇤", + LeftArrowRightArrow: "⇆", + leftarrowtail: "↢", + LeftCeiling: "⌈", + LeftDoubleBracket: "⟦", + LeftDownTeeVector: "⥡", + LeftDownVector: "⇃", + LeftDownVectorBar: "⥙", + LeftFloor: "⌊", + leftharpoondown: "↽", + leftharpoonup: "↼", + leftleftarrows: "⇇", + leftrightarrow: "↔", + Leftrightarrow: "⇔", + LeftRightArrow: "↔", + leftrightarrows: "⇆", + leftrightharpoons: "⇋", + leftrightsquigarrow: "â†", + LeftRightVector: "⥎", + LeftTee: "⊣", + LeftTeeArrow: "↤", + LeftTeeVector: "⥚", + leftthreetimes: "â‹‹", + LeftTriangle: "⊲", + LeftTriangleBar: "â§", + LeftTriangleEqual: "⊴", + LeftUpDownVector: "⥑", + LeftUpTeeVector: "⥠", + LeftUpVector: "↿", + LeftUpVectorBar: "⥘", + LeftVector: "↼", + LeftVectorBar: "⥒", + leg: "⋚", + lEg: "⪋", + leq: "≤", + leqq: "≦", + leqslant: "⩽", + les: "⩽", + lescc: "⪨", + lesdot: "â©¿", + lesdoto: "âª", + lesdotor: "⪃", + lesg: "⋚︀", + lesges: "⪓", + lessapprox: "⪅", + lessdot: "â‹–", + lesseqgtr: "⋚", + lesseqqgtr: "⪋", + LessEqualGreater: "⋚", + LessFullEqual: "≦", + LessGreater: "≶", + lessgtr: "≶", + LessLess: "⪡", + lesssim: "≲", + LessSlantEqual: "⩽", + LessTilde: "≲", + lfisht: "⥼", + lfloor: "⌊", + lfr: "ð”©", + Lfr: "ð”", + lg: "≶", + lgE: "⪑", + lHar: "⥢", + lhard: "↽", + lharu: "↼", + lharul: "⥪", + lhblk: "â–„", + ljcy: "Ñ™", + LJcy: "Љ", + ll: "≪", + Ll: "⋘", + llarr: "⇇", + llcorner: "⌞", + Lleftarrow: "⇚", + llhard: "⥫", + lltri: "â—º", + lmidot: "Å€", + Lmidot: "Ä¿", + lmoust: "⎰", + lmoustache: "⎰", + lnap: "⪉", + lnapprox: "⪉", + lne: "⪇", + lnE: "≨", + lneq: "⪇", + lneqq: "≨", + lnsim: "⋦", + loang: "⟬", + loarr: "⇽", + lobrk: "⟦", + longleftarrow: "⟵", + Longleftarrow: "⟸", + LongLeftArrow: "⟵", + longleftrightarrow: "⟷", + Longleftrightarrow: "⟺", + LongLeftRightArrow: "⟷", + longmapsto: "⟼", + longrightarrow: "⟶", + Longrightarrow: "⟹", + LongRightArrow: "⟶", + looparrowleft: "↫", + looparrowright: "↬", + lopar: "⦅", + lopf: "ð•", + Lopf: "ð•ƒ", + loplus: "â¨", + lotimes: "⨴", + lowast: "∗", + lowbar: "_", + LowerLeftArrow: "↙", + LowerRightArrow: "↘", + loz: "â—Š", + lozenge: "â—Š", + lozf: "â§«", + lpar: "(", + lparlt: "⦓", + lrarr: "⇆", + lrcorner: "⌟", + lrhar: "⇋", + lrhard: "â¥", + lrm: "‎", + lrtri: "⊿", + lsaquo: "‹", + lscr: "ð“", + Lscr: "â„’", + lsh: "↰", + Lsh: "↰", + lsim: "≲", + lsime: "âª", + lsimg: "âª", + lsqb: "[", + lsquo: "‘", + lsquor: "‚", + lstrok: "Å‚", + Lstrok: "Å", + lt: "<", + Lt: "≪", + LT: "<", + ltcc: "⪦", + ltcir: "⩹", + ltdot: "â‹–", + lthree: "â‹‹", + ltimes: "⋉", + ltlarr: "⥶", + ltquest: "â©»", + ltri: "â—ƒ", + ltrie: "⊴", + ltrif: "â—‚", + ltrPar: "⦖", + lurdshar: "⥊", + luruhar: "⥦", + lvertneqq: "≨︀", + lvnE: "≨︀", + macr: "¯", + male: "♂", + malt: "✠", + maltese: "✠", + map: "↦", + Map: "⤅", + mapsto: "↦", + mapstodown: "↧", + mapstoleft: "↤", + mapstoup: "↥", + marker: "â–®", + mcomma: "⨩", + mcy: "м", + Mcy: "М", + mdash: "—", + mDDot: "∺", + measuredangle: "∡", + MediumSpace: "âŸ", + Mellintrf: "ℳ", + mfr: "ð”ª", + Mfr: "ð”", + mho: "â„§", + micro: "µ", + mid: "∣", + midast: "*", + midcir: "â«°", + middot: "·", + minus: "−", + minusb: "⊟", + minusd: "∸", + minusdu: "⨪", + MinusPlus: "∓", + mlcp: "â«›", + mldr: "…", + mnplus: "∓", + models: "⊧", + mopf: "ð•ž", + Mopf: "ð•„", + mp: "∓", + mscr: "ð“‚", + Mscr: "ℳ", + mstpos: "∾", + mu: "μ", + Mu: "Μ", + multimap: "⊸", + mumap: "⊸", + nabla: "∇", + nacute: "Å„", + Nacute: "Ń", + nang: "∠⃒", + nap: "≉", + napE: "⩰̸", + napid: "≋̸", + napos: "ʼn", + napprox: "≉", + natur: "â™®", + natural: "â™®", + naturals: "â„•", + nbsp: " ", + nbump: "≎̸", + nbumpe: "â‰Ì¸", + ncap: "⩃", + ncaron: "ň", + Ncaron: "Ň", + ncedil: "ņ", + Ncedil: "Å…", + ncong: "≇", + ncongdot: "â©Ì¸", + ncup: "â©‚", + ncy: "н", + Ncy: "Ð", + ndash: "–", + ne: "≠", + nearhk: "⤤", + nearr: "↗", + neArr: "⇗", + nearrow: "↗", + nedot: "â‰Ì¸", + NegativeMediumSpace: "​", + NegativeThickSpace: "​", + NegativeThinSpace: "​", + NegativeVeryThinSpace: "​", + nequiv: "≢", + nesear: "⤨", + nesim: "≂̸", + NestedGreaterGreater: "≫", + NestedLessLess: "≪", + NewLine: "\n", + nexist: "∄", + nexists: "∄", + nfr: "ð”«", + Nfr: "ð”‘", + nge: "≱", + ngE: "≧̸", + ngeq: "≱", + ngeqq: "≧̸", + ngeqslant: "⩾̸", + nges: "⩾̸", + nGg: "⋙̸", + ngsim: "≵", + ngt: "≯", + nGt: "≫⃒", + ngtr: "≯", + nGtv: "≫̸", + nharr: "↮", + nhArr: "⇎", + nhpar: "⫲", + ni: "∋", + nis: "⋼", + nisd: "⋺", + niv: "∋", + njcy: "Ñš", + NJcy: "Њ", + nlarr: "↚", + nlArr: "â‡", + nldr: "‥", + nle: "≰", + nlE: "≦̸", + nleftarrow: "↚", + nLeftarrow: "â‡", + nleftrightarrow: "↮", + nLeftrightarrow: "⇎", + nleq: "≰", + nleqq: "≦̸", + nleqslant: "⩽̸", + nles: "⩽̸", + nless: "≮", + nLl: "⋘̸", + nlsim: "≴", + nlt: "≮", + nLt: "≪⃒", + nltri: "⋪", + nltrie: "⋬", + nLtv: "≪̸", + nmid: "∤", + NoBreak: "â ", + NonBreakingSpace: " ", + nopf: "ð•Ÿ", + Nopf: "â„•", + not: "¬", + Not: "⫬", + NotCongruent: "≢", + NotCupCap: "â‰", + NotDoubleVerticalBar: "∦", + NotElement: "∉", + NotEqual: "≠", + NotEqualTilde: "≂̸", + NotExists: "∄", + NotGreater: "≯", + NotGreaterEqual: "≱", + NotGreaterFullEqual: "≧̸", + NotGreaterGreater: "≫̸", + NotGreaterLess: "≹", + NotGreaterSlantEqual: "⩾̸", + NotGreaterTilde: "≵", + NotHumpDownHump: "≎̸", + NotHumpEqual: "â‰Ì¸", + notin: "∉", + notindot: "⋵̸", + notinE: "⋹̸", + notinva: "∉", + notinvb: "â‹·", + notinvc: "â‹¶", + NotLeftTriangle: "⋪", + NotLeftTriangleBar: "â§Ì¸", + NotLeftTriangleEqual: "⋬", + NotLess: "≮", + NotLessEqual: "≰", + NotLessGreater: "≸", + NotLessLess: "≪̸", + NotLessSlantEqual: "⩽̸", + NotLessTilde: "≴", + NotNestedGreaterGreater: "⪢̸", + NotNestedLessLess: "⪡̸", + notni: "∌", + notniva: "∌", + notnivb: "⋾", + notnivc: "⋽", + NotPrecedes: "⊀", + NotPrecedesEqual: "⪯̸", + NotPrecedesSlantEqual: "â‹ ", + NotReverseElement: "∌", + NotRightTriangle: "â‹«", + NotRightTriangleBar: "â§Ì¸", + NotRightTriangleEqual: "â‹", + NotSquareSubset: "âŠÌ¸", + NotSquareSubsetEqual: "â‹¢", + NotSquareSuperset: "âŠÌ¸", + NotSquareSupersetEqual: "â‹£", + NotSubset: "⊂⃒", + NotSubsetEqual: "⊈", + NotSucceeds: "âŠ", + NotSucceedsEqual: "⪰̸", + NotSucceedsSlantEqual: "â‹¡", + NotSucceedsTilde: "≿̸", + NotSuperset: "⊃⃒", + NotSupersetEqual: "⊉", + NotTilde: "â‰", + NotTildeEqual: "≄", + NotTildeFullEqual: "≇", + NotTildeTilde: "≉", + NotVerticalBar: "∤", + npar: "∦", + nparallel: "∦", + nparsl: "⫽⃥", + npart: "∂̸", + npolint: "⨔", + npr: "⊀", + nprcue: "â‹ ", + npre: "⪯̸", + nprec: "⊀", + npreceq: "⪯̸", + nrarr: "↛", + nrArr: "â‡", + nrarrc: "⤳̸", + nrarrw: "â†Ì¸", + nrightarrow: "↛", + nRightarrow: "â‡", + nrtri: "â‹«", + nrtrie: "â‹", + nsc: "âŠ", + nsccue: "â‹¡", + nsce: "⪰̸", + nscr: "ð“ƒ", + Nscr: "ð’©", + nshortmid: "∤", + nshortparallel: "∦", + nsim: "â‰", + nsime: "≄", + nsimeq: "≄", + nsmid: "∤", + nspar: "∦", + nsqsube: "â‹¢", + nsqsupe: "â‹£", + nsub: "⊄", + nsube: "⊈", + nsubE: "⫅̸", + nsubset: "⊂⃒", + nsubseteq: "⊈", + nsubseteqq: "⫅̸", + nsucc: "âŠ", + nsucceq: "⪰̸", + nsup: "⊅", + nsupe: "⊉", + nsupE: "⫆̸", + nsupset: "⊃⃒", + nsupseteq: "⊉", + nsupseteqq: "⫆̸", + ntgl: "≹", + ntilde: "ñ", + Ntilde: "Ñ", + ntlg: "≸", + ntriangleleft: "⋪", + ntrianglelefteq: "⋬", + ntriangleright: "â‹«", + ntrianglerighteq: "â‹", + nu: "ν", + Nu: "Î", + num: "#", + numero: "â„–", + numsp: " ", + nvap: "â‰âƒ’", + nvdash: "⊬", + nvDash: "âŠ", + nVdash: "⊮", + nVDash: "⊯", + nvge: "≥⃒", + nvgt: ">⃒", + nvHarr: "⤄", + nvinfin: "â§ž", + nvlArr: "⤂", + nvle: "≤⃒", + nvlt: "<⃒", + nvltrie: "⊴⃒", + nvrArr: "⤃", + nvrtrie: "⊵⃒", + nvsim: "∼⃒", + nwarhk: "⤣", + nwarr: "↖", + nwArr: "⇖", + nwarrow: "↖", + nwnear: "⤧", + oacute: "ó", + Oacute: "Ó", + oast: "⊛", + ocir: "⊚", + ocirc: "ô", + Ocirc: "Ô", + ocy: "о", + Ocy: "О", + odash: "âŠ", + odblac: "Å‘", + Odblac: "Å", + odiv: "⨸", + odot: "⊙", + odsold: "⦼", + oelig: "Å“", + OElig: "Å’", + ofcir: "⦿", + ofr: "ð”¬", + Ofr: "ð”’", + ogon: "Ë›", + ograve: "ò", + Ograve: "Ã’", + ogt: "â§", + ohbar: "⦵", + ohm: "Ω", + oint: "∮", + olarr: "↺", + olcir: "⦾", + olcross: "⦻", + oline: "‾", + olt: "â§€", + omacr: "Å", + Omacr: "ÅŒ", + omega: "ω", + Omega: "Ω", + omicron: "ο", + Omicron: "Ο", + omid: "⦶", + ominus: "⊖", + oopf: "ð• ", + Oopf: "ð•†", + opar: "⦷", + OpenCurlyDoubleQuote: "“", + OpenCurlyQuote: "‘", + operp: "⦹", + oplus: "⊕", + or: "∨", + Or: "â©”", + orarr: "↻", + ord: "â©", + order: "â„´", + orderof: "â„´", + ordf: "ª", + ordm: "º", + origof: "⊶", + oror: "â©–", + orslope: "â©—", + orv: "â©›", + oS: "Ⓢ", + oscr: "â„´", + Oscr: "ð’ª", + oslash: "ø", + Oslash: "Ø", + osol: "⊘", + otilde: "õ", + Otilde: "Õ", + otimes: "⊗", + Otimes: "⨷", + otimesas: "⨶", + ouml: "ö", + Ouml: "Ö", + ovbar: "⌽", + OverBar: "‾", + OverBrace: "âž", + OverBracket: "⎴", + OverParenthesis: "âœ", + par: "∥", + para: "¶", + parallel: "∥", + parsim: "⫳", + parsl: "⫽", + part: "∂", + PartialD: "∂", + pcy: "п", + Pcy: "П", + percnt: "%", + period: ".", + permil: "‰", + perp: "⊥", + pertenk: "‱", + pfr: "ð”", + Pfr: "ð”“", + phi: "φ", + Phi: "Φ", + phiv: "Ï•", + phmmat: "ℳ", + phone: "☎", + pi: "Ï€", + Pi: "Î ", + pitchfork: "â‹”", + piv: "Ï–", + planck: "â„", + planckh: "ℎ", + plankv: "â„", + plus: "+", + plusacir: "⨣", + plusb: "⊞", + pluscir: "⨢", + plusdo: "∔", + plusdu: "⨥", + pluse: "⩲", + PlusMinus: "±", + plusmn: "±", + plussim: "⨦", + plustwo: "⨧", + pm: "±", + Poincareplane: "ℌ", + pointint: "⨕", + popf: "ð•¡", + Popf: "â„™", + pound: "£", + pr: "≺", + Pr: "⪻", + prap: "⪷", + prcue: "≼", + pre: "⪯", + prE: "⪳", + prec: "≺", + precapprox: "⪷", + preccurlyeq: "≼", + Precedes: "≺", + PrecedesEqual: "⪯", + PrecedesSlantEqual: "≼", + PrecedesTilde: "≾", + preceq: "⪯", + precnapprox: "⪹", + precneqq: "⪵", + precnsim: "⋨", + precsim: "≾", + prime: "′", + Prime: "″", + primes: "â„™", + prnap: "⪹", + prnE: "⪵", + prnsim: "⋨", + prod: "âˆ", + Product: "âˆ", + profalar: "⌮", + profline: "⌒", + profsurf: "⌓", + prop: "âˆ", + Proportion: "∷", + Proportional: "âˆ", + propto: "âˆ", + prsim: "≾", + prurel: "⊰", + pscr: "ð“…", + Pscr: "ð’«", + psi: "ψ", + Psi: "Ψ", + puncsp: " ", + qfr: "ð”®", + Qfr: "ð””", + qint: "⨌", + qopf: "ð•¢", + Qopf: "ℚ", + qprime: "â—", + qscr: "ð“†", + Qscr: "ð’¬", + quaternions: "â„", + quatint: "⨖", + quest: "?", + questeq: "≟", + quot: '"', + QUOT: '"', + rAarr: "⇛", + race: "∽̱", + racute: "Å•", + Racute: "Å”", + radic: "√", + raemptyv: "⦳", + rang: "⟩", + Rang: "⟫", + rangd: "⦒", + range: "⦥", + rangle: "⟩", + raquo: "»", + rarr: "→", + rArr: "⇒", + Rarr: "↠", + rarrap: "⥵", + rarrb: "⇥", + rarrbfs: "⤠", + rarrc: "⤳", + rarrfs: "⤞", + rarrhk: "↪", + rarrlp: "↬", + rarrpl: "⥅", + rarrsim: "⥴", + rarrtl: "↣", + Rarrtl: "⤖", + rarrw: "â†", + ratail: "⤚", + rAtail: "⤜", + ratio: "∶", + rationals: "ℚ", + rbarr: "â¤", + rBarr: "â¤", + RBarr: "â¤", + rbbrk: "â³", + rbrace: "}", + rbrack: "]", + rbrke: "⦌", + rbrksld: "⦎", + rbrkslu: "â¦", + rcaron: "Å™", + Rcaron: "Ř", + rcedil: "Å—", + Rcedil: "Å–", + rceil: "⌉", + rcub: "}", + rcy: "Ñ€", + Rcy: "Ð ", + rdca: "⤷", + rdldhar: "⥩", + rdquo: "â€", + rdquor: "â€", + rdsh: "↳", + Re: "ℜ", + real: "ℜ", + realine: "â„›", + realpart: "ℜ", + reals: "â„", + rect: "â–", + reg: "®", + REG: "®", + ReverseElement: "∋", + ReverseEquilibrium: "⇋", + ReverseUpEquilibrium: "⥯", + rfisht: "⥽", + rfloor: "⌋", + rfr: "ð”¯", + Rfr: "ℜ", + rHar: "⥤", + rhard: "â‡", + rharu: "⇀", + rharul: "⥬", + rho: "Ï", + Rho: "Ρ", + rhov: "ϱ", + RightAngleBracket: "⟩", + rightarrow: "→", + Rightarrow: "⇒", + RightArrow: "→", + RightArrowBar: "⇥", + RightArrowLeftArrow: "⇄", + rightarrowtail: "↣", + RightCeiling: "⌉", + RightDoubleBracket: "⟧", + RightDownTeeVector: "â¥", + RightDownVector: "⇂", + RightDownVectorBar: "⥕", + RightFloor: "⌋", + rightharpoondown: "â‡", + rightharpoonup: "⇀", + rightleftarrows: "⇄", + rightleftharpoons: "⇌", + rightrightarrows: "⇉", + rightsquigarrow: "â†", + RightTee: "⊢", + RightTeeArrow: "↦", + RightTeeVector: "⥛", + rightthreetimes: "⋌", + RightTriangle: "⊳", + RightTriangleBar: "â§", + RightTriangleEqual: "⊵", + RightUpDownVector: "â¥", + RightUpTeeVector: "⥜", + RightUpVector: "↾", + RightUpVectorBar: "⥔", + RightVector: "⇀", + RightVectorBar: "⥓", + ring: "Ëš", + risingdotseq: "≓", + rlarr: "⇄", + rlhar: "⇌", + rlm: "â€", + rmoust: "⎱", + rmoustache: "⎱", + rnmid: "â«®", + roang: "âŸ", + roarr: "⇾", + robrk: "⟧", + ropar: "⦆", + ropf: "ð•£", + Ropf: "â„", + roplus: "⨮", + rotimes: "⨵", + RoundImplies: "⥰", + rpar: ")", + rpargt: "⦔", + rppolint: "⨒", + rrarr: "⇉", + Rrightarrow: "⇛", + rsaquo: "›", + rscr: "ð“‡", + Rscr: "â„›", + rsh: "↱", + Rsh: "↱", + rsqb: "]", + rsquo: "’", + rsquor: "’", + rthree: "⋌", + rtimes: "⋊", + rtri: "â–¹", + rtrie: "⊵", + rtrif: "â–¸", + rtriltri: "â§Ž", + RuleDelayed: "â§´", + ruluhar: "⥨", + rx: "℞", + sacute: "Å›", + Sacute: "Åš", + sbquo: "‚", + sc: "≻", + Sc: "⪼", + scap: "⪸", + scaron: "Å¡", + Scaron: "Å ", + sccue: "≽", + sce: "⪰", + scE: "⪴", + scedil: "ÅŸ", + Scedil: "Åž", + scirc: "Å", + Scirc: "Åœ", + scnap: "⪺", + scnE: "⪶", + scnsim: "â‹©", + scpolint: "⨓", + scsim: "≿", + scy: "Ñ", + Scy: "С", + sdot: "â‹…", + sdotb: "⊡", + sdote: "⩦", + searhk: "⤥", + searr: "↘", + seArr: "⇘", + searrow: "↘", + sect: "§", + semi: ";", + seswar: "⤩", + setminus: "∖", + setmn: "∖", + sext: "✶", + sfr: "ð”°", + Sfr: "ð”–", + sfrown: "⌢", + sharp: "♯", + shchcy: "щ", + SHCHcy: "Щ", + shcy: "ш", + SHcy: "Ш", + ShortDownArrow: "↓", + ShortLeftArrow: "â†", + shortmid: "∣", + shortparallel: "∥", + ShortRightArrow: "→", + ShortUpArrow: "↑", + shy: "Â", + sigma: "σ", + Sigma: "Σ", + sigmaf: "Ï‚", + sigmav: "Ï‚", + sim: "∼", + simdot: "⩪", + sime: "≃", + simeq: "≃", + simg: "⪞", + simgE: "⪠", + siml: "âª", + simlE: "⪟", + simne: "≆", + simplus: "⨤", + simrarr: "⥲", + slarr: "â†", + SmallCircle: "∘", + smallsetminus: "∖", + smashp: "⨳", + smeparsl: "⧤", + smid: "∣", + smile: "⌣", + smt: "⪪", + smte: "⪬", + smtes: "⪬︀", + softcy: "ÑŒ", + SOFTcy: "Ь", + sol: "/", + solb: "â§„", + solbar: "⌿", + sopf: "ð•¤", + Sopf: "ð•Š", + spades: "â™ ", + spadesuit: "â™ ", + spar: "∥", + sqcap: "⊓", + sqcaps: "⊓︀", + sqcup: "⊔", + sqcups: "⊔︀", + Sqrt: "√", + sqsub: "âŠ", + sqsube: "⊑", + sqsubset: "âŠ", + sqsubseteq: "⊑", + sqsup: "âŠ", + sqsupe: "⊒", + sqsupset: "âŠ", + sqsupseteq: "⊒", + squ: "â–¡", + square: "â–¡", + Square: "â–¡", + SquareIntersection: "⊓", + SquareSubset: "âŠ", + SquareSubsetEqual: "⊑", + SquareSuperset: "âŠ", + SquareSupersetEqual: "⊒", + SquareUnion: "⊔", + squarf: "â–ª", + squf: "â–ª", + srarr: "→", + sscr: "ð“ˆ", + Sscr: "ð’®", + ssetmn: "∖", + ssmile: "⌣", + sstarf: "⋆", + star: "☆", + Star: "⋆", + starf: "★", + straightepsilon: "ϵ", + straightphi: "Ï•", + strns: "¯", + sub: "⊂", + Sub: "â‹", + subdot: "⪽", + sube: "⊆", + subE: "â«…", + subedot: "⫃", + submult: "â«", + subne: "⊊", + subnE: "â«‹", + subplus: "⪿", + subrarr: "⥹", + subset: "⊂", + Subset: "â‹", + subseteq: "⊆", + subseteqq: "â«…", + SubsetEqual: "⊆", + subsetneq: "⊊", + subsetneqq: "â«‹", + subsim: "⫇", + subsub: "â«•", + subsup: "â«“", + succ: "≻", + succapprox: "⪸", + succcurlyeq: "≽", + Succeeds: "≻", + SucceedsEqual: "⪰", + SucceedsSlantEqual: "≽", + SucceedsTilde: "≿", + succeq: "⪰", + succnapprox: "⪺", + succneqq: "⪶", + succnsim: "â‹©", + succsim: "≿", + SuchThat: "∋", + sum: "∑", + Sum: "∑", + sung: "♪", + sup: "⊃", + Sup: "â‹‘", + sup1: "¹", + sup2: "²", + sup3: "³", + supdot: "⪾", + supdsub: "⫘", + supe: "⊇", + supE: "⫆", + supedot: "â«„", + Superset: "⊃", + SupersetEqual: "⊇", + suphsol: "⟉", + suphsub: "â«—", + suplarr: "⥻", + supmult: "â«‚", + supne: "⊋", + supnE: "⫌", + supplus: "â«€", + supset: "⊃", + Supset: "â‹‘", + supseteq: "⊇", + supseteqq: "⫆", + supsetneq: "⊋", + supsetneqq: "⫌", + supsim: "⫈", + supsub: "â«”", + supsup: "â«–", + swarhk: "⤦", + swarr: "↙", + swArr: "⇙", + swarrow: "↙", + swnwar: "⤪", + szlig: "ß", + Tab: "\t", + target: "⌖", + tau: "Ï„", + Tau: "Τ", + tbrk: "⎴", + tcaron: "Å¥", + Tcaron: "Ť", + tcedil: "Å£", + Tcedil: "Å¢", + tcy: "Ñ‚", + Tcy: "Т", + tdot: "⃛", + telrec: "⌕", + tfr: "ð”±", + Tfr: "ð”—", + there4: "∴", + therefore: "∴", + Therefore: "∴", + theta: "θ", + Theta: "Θ", + thetasym: "Ï‘", + thetav: "Ï‘", + thickapprox: "≈", + thicksim: "∼", + ThickSpace: "âŸâ€Š", + thinsp: " ", + ThinSpace: " ", + thkap: "≈", + thksim: "∼", + thorn: "þ", + THORN: "Þ", + tilde: "Ëœ", + Tilde: "∼", + TildeEqual: "≃", + TildeFullEqual: "≅", + TildeTilde: "≈", + times: "×", + timesb: "⊠", + timesbar: "⨱", + timesd: "⨰", + tint: "âˆ", + toea: "⤨", + top: "⊤", + topbot: "⌶", + topcir: "⫱", + topf: "ð•¥", + Topf: "ð•‹", + topfork: "⫚", + tosa: "⤩", + tprime: "‴", + trade: "â„¢", + TRADE: "â„¢", + triangle: "â–µ", + triangledown: "â–¿", + triangleleft: "â—ƒ", + trianglelefteq: "⊴", + triangleq: "≜", + triangleright: "â–¹", + trianglerighteq: "⊵", + tridot: "â—¬", + trie: "≜", + triminus: "⨺", + TripleDot: "⃛", + triplus: "⨹", + trisb: "â§", + tritime: "⨻", + trpezium: "â¢", + tscr: "ð“‰", + Tscr: "ð’¯", + tscy: "ц", + TScy: "Ц", + tshcy: "Ñ›", + TSHcy: "Ћ", + tstrok: "ŧ", + Tstrok: "Ŧ", + twixt: "≬", + twoheadleftarrow: "↞", + twoheadrightarrow: "↠", + uacute: "ú", + Uacute: "Ú", + uarr: "↑", + uArr: "⇑", + Uarr: "↟", + Uarrocir: "⥉", + ubrcy: "Ñž", + Ubrcy: "ÐŽ", + ubreve: "Å", + Ubreve: "Ŭ", + ucirc: "û", + Ucirc: "Û", + ucy: "у", + Ucy: "У", + udarr: "⇅", + udblac: "ű", + Udblac: "Ű", + udhar: "⥮", + ufisht: "⥾", + ufr: "ð”²", + Ufr: "ð”˜", + ugrave: "ù", + Ugrave: "Ù", + uHar: "⥣", + uharl: "↿", + uharr: "↾", + uhblk: "â–€", + ulcorn: "⌜", + ulcorner: "⌜", + ulcrop: "âŒ", + ultri: "â—¸", + umacr: "Å«", + Umacr: "Ū", + uml: "¨", + UnderBar: "_", + UnderBrace: "âŸ", + UnderBracket: "⎵", + UnderParenthesis: "â", + Union: "⋃", + UnionPlus: "⊎", + uogon: "ų", + Uogon: "Ų", + uopf: "ð•¦", + Uopf: "ð•Œ", + uparrow: "↑", + Uparrow: "⇑", + UpArrow: "↑", + UpArrowBar: "⤒", + UpArrowDownArrow: "⇅", + updownarrow: "↕", + Updownarrow: "⇕", + UpDownArrow: "↕", + UpEquilibrium: "⥮", + upharpoonleft: "↿", + upharpoonright: "↾", + uplus: "⊎", + UpperLeftArrow: "↖", + UpperRightArrow: "↗", + upsi: "Ï…", + Upsi: "Ï’", + upsih: "Ï’", + upsilon: "Ï…", + Upsilon: "Î¥", + UpTee: "⊥", + UpTeeArrow: "↥", + upuparrows: "⇈", + urcorn: "âŒ", + urcorner: "âŒ", + urcrop: "⌎", + uring: "ů", + Uring: "Å®", + urtri: "â—¹", + uscr: "ð“Š", + Uscr: "ð’°", + utdot: "â‹°", + utilde: "Å©", + Utilde: "Ũ", + utri: "â–µ", + utrif: "â–´", + uuarr: "⇈", + uuml: "ü", + Uuml: "Ü", + uwangle: "⦧", + vangrt: "⦜", + varepsilon: "ϵ", + varkappa: "ϰ", + varnothing: "∅", + varphi: "Ï•", + varpi: "Ï–", + varpropto: "âˆ", + varr: "↕", + vArr: "⇕", + varrho: "ϱ", + varsigma: "Ï‚", + varsubsetneq: "⊊︀", + varsubsetneqq: "⫋︀", + varsupsetneq: "⊋︀", + varsupsetneqq: "⫌︀", + vartheta: "Ï‘", + vartriangleleft: "⊲", + vartriangleright: "⊳", + vBar: "⫨", + Vbar: "â««", + vBarv: "â«©", + vcy: "в", + Vcy: "Ð’", + vdash: "⊢", + vDash: "⊨", + Vdash: "⊩", + VDash: "⊫", + Vdashl: "⫦", + vee: "∨", + Vee: "â‹", + veebar: "⊻", + veeeq: "≚", + vellip: "â‹®", + verbar: "|", + Verbar: "‖", + vert: "|", + Vert: "‖", + VerticalBar: "∣", + VerticalLine: "|", + VerticalSeparator: "â˜", + VerticalTilde: "≀", + VeryThinSpace: " ", + vfr: "ð”³", + Vfr: "ð”™", + vltri: "⊲", + vnsub: "⊂⃒", + vnsup: "⊃⃒", + vopf: "ð•§", + Vopf: "ð•", + vprop: "âˆ", + vrtri: "⊳", + vscr: "ð“‹", + Vscr: "ð’±", + vsubne: "⊊︀", + vsubnE: "⫋︀", + vsupne: "⊋︀", + vsupnE: "⫌︀", + Vvdash: "⊪", + vzigzag: "⦚", + wcirc: "ŵ", + Wcirc: "Å´", + wedbar: "⩟", + wedge: "∧", + Wedge: "â‹€", + wedgeq: "≙", + weierp: "℘", + wfr: "ð”´", + Wfr: "ð”š", + wopf: "ð•¨", + Wopf: "ð•Ž", + wp: "℘", + wr: "≀", + wreath: "≀", + wscr: "ð“Œ", + Wscr: "ð’²", + xcap: "â‹‚", + xcirc: "â—¯", + xcup: "⋃", + xdtri: "â–½", + xfr: "ð”µ", + Xfr: "ð”›", + xharr: "⟷", + xhArr: "⟺", + xi: "ξ", + Xi: "Ξ", + xlarr: "⟵", + xlArr: "⟸", + xmap: "⟼", + xnis: "â‹»", + xodot: "⨀", + xopf: "ð•©", + Xopf: "ð•", + xoplus: "â¨", + xotime: "⨂", + xrarr: "⟶", + xrArr: "⟹", + xscr: "ð“", + Xscr: "ð’³", + xsqcup: "⨆", + xuplus: "⨄", + xutri: "â–³", + xvee: "â‹", + xwedge: "â‹€", + yacute: "ý", + Yacute: "Ã", + yacy: "Ñ", + YAcy: "Я", + ycirc: "Å·", + Ycirc: "Ŷ", + ycy: "Ñ‹", + Ycy: "Ы", + yen: "Â¥", + yfr: "ð”¶", + Yfr: "ð”œ", + yicy: "Ñ—", + YIcy: "Ї", + yopf: "ð•ª", + Yopf: "ð•", + yscr: "ð“Ž", + Yscr: "ð’´", + yucy: "ÑŽ", + YUcy: "Ю", + yuml: "ÿ", + Yuml: "Ÿ", + zacute: "ź", + Zacute: "Ź", + zcaron: "ž", + Zcaron: "Ž", + zcy: "з", + Zcy: "З", + zdot: "ż", + Zdot: "Å»", + zeetrf: "ℨ", + ZeroWidthSpace: "​", + zeta: "ζ", + Zeta: "Ζ", + zfr: "ð”·", + Zfr: "ℨ", + zhcy: "ж", + ZHcy: "Ж", + zigrarr: "â‡", + zopf: "ð•«", + Zopf: "ℤ", + zscr: "ð“", + Zscr: "ð’µ", + zwj: "â€", + zwnj: "‌" + }, + v = { + aacute: "á", + Aacute: "Ã", + acirc: "â", + Acirc: "Â", + acute: "´", + aelig: "æ", + AElig: "Æ", + agrave: "à ", + Agrave: "À", + amp: "&", + AMP: "&", + aring: "Ã¥", + Aring: "Ã…", + atilde: "ã", + Atilde: "Ã", + auml: "ä", + Auml: "Ä", + brvbar: "¦", + ccedil: "ç", + Ccedil: "Ç", + cedil: "¸", + cent: "¢", + copy: "©", + COPY: "©", + curren: "¤", + deg: "°", + divide: "÷", + eacute: "é", + Eacute: "É", + ecirc: "ê", + Ecirc: "Ê", + egrave: "è", + Egrave: "È", + eth: "ð", + ETH: "Ã", + euml: "ë", + Euml: "Ë", + frac12: "½", + frac14: "¼", + frac34: "¾", + gt: ">", + GT: ">", + iacute: "Ã", + Iacute: "Ã", + icirc: "î", + Icirc: "ÃŽ", + iexcl: "¡", + igrave: "ì", + Igrave: "ÃŒ", + iquest: "¿", + iuml: "ï", + Iuml: "Ã", + laquo: "«", + lt: "<", + LT: "<", + macr: "¯", + micro: "µ", + middot: "·", + nbsp: " ", + not: "¬", + ntilde: "ñ", + Ntilde: "Ñ", + oacute: "ó", + Oacute: "Ó", + ocirc: "ô", + Ocirc: "Ô", + ograve: "ò", + Ograve: "Ã’", + ordf: "ª", + ordm: "º", + oslash: "ø", + Oslash: "Ø", + otilde: "õ", + Otilde: "Õ", + ouml: "ö", + Ouml: "Ö", + para: "¶", + plusmn: "±", + pound: "£", + quot: '"', + QUOT: '"', + raquo: "»", + reg: "®", + REG: "®", + sect: "§", + shy: "Â", + sup1: "¹", + sup2: "²", + sup3: "³", + szlig: "ß", + thorn: "þ", + THORN: "Þ", + times: "×", + uacute: "ú", + Uacute: "Ú", + ucirc: "û", + Ucirc: "Û", + ugrave: "ù", + Ugrave: "Ù", + uml: "¨", + uuml: "ü", + Uuml: "Ü", + yacute: "ý", + Yacute: "Ã", + yen: "Â¥", + yuml: "ÿ" + }, + m = { + 0: "�", + 128: "€", + 130: "‚", + 131: "Æ’", + 132: "„", + 133: "…", + 134: "†", + 135: "‡", + 136: "ˆ", + 137: "‰", + 138: "Å ", + 139: "‹", + 140: "Å’", + 142: "Ž", + 145: "‘", + 146: "’", + 147: "“", + 148: "â€", + 149: "•", + 150: "–", + 151: "—", + 152: "Ëœ", + 153: "â„¢", + 154: "Å¡", + 155: "›", + 156: "Å“", + 158: "ž", + 159: "Ÿ" + }, + _ = [1, 2, 3, 4, 5, 6, 7, 8, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 64976, 64977, 64978, 64979, 64980, 64981, 64982, 64983, 64984, 64985, 64986, 64987, 64988, 64989, 64990, 64991, 64992, 64993, 64994, 64995, 64996, 64997, 64998, 64999, 65e3, 65001, 65002, 65003, 65004, 65005, 65006, 65007, 65534, 65535, 131070, 131071, 196606, 196607, 262142, 262143, 327678, 327679, 393214, 393215, 458750, 458751, 524286, 524287, 589822, 589823, 655358, 655359, 720894, 720895, 786430, 786431, 851966, 851967, 917502, 917503, 983038, 983039, 1048574, 1048575, 1114110, 1114111], + w = String.fromCharCode, + x = {}.hasOwnProperty, + k = function(t, e) { + return x.call(t, e) + }, + E = function(t, e) { + if (!t) return e; + var n, r = {}; + for (n in e) r[n] = k(t, n) ? t[n] : e[n]; + return r + }, + A = function(t, e) { + var n = ""; + return t >= 55296 && t <= 57343 || t > 1114111 ? (e && T("character reference outside the permissible Unicode range"), "�") : k(m, t) ? (e && T("disallowed character reference"), m[t]) : (e && function(t, e) { + for (var n = -1, r = t.length; ++n < r;) + if (t[n] == e) return !0; + return !1 + }(_, t) && T("disallowed character reference"), t > 65535 && (n += w((t -= 65536) >>> 10 & 1023 | 55296), t = 56320 | 1023 & t), n += w(t)) + }, + S = function(t) { + return "&#x" + t.toString(16).toUpperCase() + ";" + }, + M = function(t) { + return "&#" + t + ";" + }, + T = function(t) { + throw Error("Parse error: " + t) + }, + D = function(t, e) { + (e = E(e, D.options)).strict && g.test(t) && T("forbidden code point"); + var n = e.encodeEverything, + r = e.useNamedReferences, + i = e.allowUnsafeSymbols, + a = e.decimal ? M : S, + o = function(t) { + return a(t.charCodeAt(0)) + }; + return n ? (t = t.replace(u, (function(t) { + return r && k(l, t) ? "&" + l[t] + ";" : o(t) + })), r && (t = t.replace(/>\u20D2/g, ">⃒").replace(/<\u20D2/g, "<⃒").replace(/fj/g, "fj")), r && (t = t.replace(f, (function(t) { + return "&" + l[t] + ";" + })))) : r ? (i || (t = t.replace(h, (function(t) { + return "&" + l[t] + ";" + }))), t = (t = t.replace(/>\u20D2/g, ">⃒").replace(/<\u20D2/g, "<⃒")).replace(f, (function(t) { + return "&" + l[t] + ";" + }))) : i || (t = t.replace(h, o)), t.replace(s, (function(t) { + var e = t.charCodeAt(0), + n = t.charCodeAt(1); + return a(1024 * (e - 55296) + n - 56320 + 65536) + })).replace(c, o) + }; + D.options = { + allowUnsafeSymbols: !1, + encodeEverything: !1, + strict: !1, + useNamedReferences: !1, + decimal: !1 + }; + var C = function(t, e) { + var n = (e = E(e, C.options)).strict; + return n && p.test(t) && T("malformed character reference"), t.replace(y, (function(t, r, i, a, o, s, u, c, f) { + var l, h, d, p, g, y; + return r ? b[g = r] : i ? (g = i, (y = a) && e.isAttributeValue ? (n && "=" == y && T("`&` did not start a character reference"), t) : (n && T("named character reference was not terminated by a semicolon"), v[g] + (y || ""))) : o ? (d = o, h = s, n && !h && T("character reference was not terminated by a semicolon"), l = parseInt(d, 10), A(l, n)) : u ? (p = u, h = c, n && !h && T("character reference was not terminated by a semicolon"), l = parseInt(p, 16), A(l, n)) : (n && T("named character reference was not terminated by a semicolon"), t) + })) + }; + C.options = { + isAttributeValue: !1, + strict: !1 + }; + var N = { + version: "1.2.0", + encode: D, + decode: C, + escape: function(t) { + return t.replace(h, (function(t) { + return d[t] + })) + }, + unescape: C + }; + if ("function" == typeof define && "object" == typeof define.amd && define.amd) define((function() { + return N + })); + else if (i && !i.nodeType) + if (a) a.exports = N; + else + for (var I in N) k(N, I) && (i[I] = N[I]); + else r.he = N + }(this) + }).call(this, n(9)(t), n(12)) + }, function(t, e, n) { + "use strict"; + var r = n(231), + i = n(232), + a = n(233); + + function o(t, e, n) { + if (!t) return t; + if (!e) return t; + "string" == typeof n && (n = { + keyframes: n + }), n || (n = { + keyframes: !1 + }), t = s(t, e + " $1$2"); + var i = e.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&"); + t = (t = (t = (t = t.replace(new RegExp("(" + i + ")\\s*\\1(?=[\\s\\r\\n,{])", "g"), "$1")).replace(new RegExp("(" + i + ")\\s*:host", "g"), "$1")).replace(new RegExp("(" + i + ")\\s*@", "g"), "@")).replace(new RegExp("(" + i + ")\\s*:root", "g"), ":root"); + for (var a, o = [], u = /@keyframes\s+([a-zA-Z0-9_-]+)\s*{/g; null !== (a = u.exec(t));) o.indexOf(a[1]) < 0 && o.push(a[1]); + var c = r(e); + return o.forEach((function(e) { + var r = (!0 === n.keyframes ? c + "-" : "string" == typeof n.keyframes ? n.keyframes : "") + e; + t = (t = t.replace(new RegExp("(@keyframes\\s+)" + e + "(\\s*{)", "g"), "$1" + r + "$2")).replace(new RegExp("(animation(?:-name)?\\s*:[^;]*\\s*)" + e + "([\\s;}])", "g"), "$1" + r + "$2") + })), t = t.replace(new RegExp("(" + i + " )(\\s*(?:to|from|[+-]?(?:(?:\\.\\d+)|(?:\\d+(?:\\.\\d*)?))%))(?=[\\s\\r\\n,{])", "g"), "$2") + } + + function s(t, e) { + var n = []; + return t = a(t), t = (t = i.replace(t, !0, n)).replace(/([^\r\n,{}]+)(,(?=[^}]*{)|\s*{)/g, e), t = i.paste(t, n) + } + t.exports = o, o.replace = s + }, function(t, e, n) { + "use strict"; + const r = n(420), + i = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~".split(""), + a = (t, e) => { + const n = e.length, + i = Math.floor(65536 / n) * n - 1, + a = 2 * Math.ceil(1.1 * t); + let o = "", + s = 0; + for (; s < t;) { + const u = r.randomBytes(a); + let c = 0; + for (; c < a && s < t;) { + const t = u.readUInt16LE(c); + c += 2, t > i || (o += e[t % n], s++) + } + } + return o + }, + o = [void 0, "hex", "base64", "url-safe"]; + t.exports = ({ + length: t, + type: e, + characters: n + }) => { + if (!(t >= 0 && Number.isFinite(t))) throw new TypeError("Expected a `length` to be a non-negative finite number"); + if (void 0 !== e && void 0 !== n) throw new TypeError("Expected either `type` or `characters`"); + if (void 0 !== n && "string" != typeof n) throw new TypeError("Expected `characters` to be string"); + if (!o.includes(e)) throw new TypeError(`Unknown type: ${e}`); + if (void 0 === e && void 0 === n && (e = "hex"), "hex" === e || void 0 === e && void 0 === n) return r.randomBytes(Math.ceil(.5 * t)).toString("hex").slice(0, t); + if ("base64" === e) return r.randomBytes(Math.ceil(.75 * t)).toString("base64").slice(0, t); + if ("url-safe" === e) return a(t, i); + if (0 === n.length) throw new TypeError("Expected `characters` string length to be greater than or equal to 1"); + if (n.length > 65536) throw new TypeError("Expected `characters` string length to be less or equal to 65536"); + return a(t, n.split("")) + } + }, function(t, e, n) { + var r; + r = function() { + var t = JSON.parse('{"$":"dollar","%":"percent","&":"and","<":"less",">":"greater","|":"or","¢":"cent","£":"pound","¤":"currency","Â¥":"yen","©":"(c)","ª":"a","®":"(r)","º":"o","À":"A","Ã":"A","Â":"A","Ã":"A","Ä":"A","Ã…":"A","Æ":"AE","Ç":"C","È":"E","É":"E","Ê":"E","Ë":"E","ÃŒ":"I","Ã":"I","ÃŽ":"I","Ã":"I","Ã":"D","Ñ":"N","Ã’":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","Ù":"U","Ú":"U","Û":"U","Ü":"U","Ã":"Y","Þ":"TH","ß":"ss","à ":"a","á":"a","â":"a","ã":"a","ä":"a","Ã¥":"a","æ":"ae","ç":"c","è":"e","é":"e","ê":"e","ë":"e","ì":"i","Ã":"i","î":"i","ï":"i","ð":"d","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","ù":"u","ú":"u","û":"u","ü":"u","ý":"y","þ":"th","ÿ":"y","Ä€":"A","Ä":"a","Ä‚":"A","ă":"a","Ä„":"A","Ä…":"a","Ć":"C","ć":"c","ÄŒ":"C","Ä":"c","ÄŽ":"D","Ä":"d","Ä":"DJ","Ä‘":"dj","Ä’":"E","Ä“":"e","Ä–":"E","Ä—":"e","Ę":"e","Ä™":"e","Äš":"E","Ä›":"e","Äž":"G","ÄŸ":"g","Ä¢":"G","Ä£":"g","Ĩ":"I","Ä©":"i","Ī":"i","Ä«":"i","Ä®":"I","į":"i","İ":"I","ı":"i","Ķ":"k","Ä·":"k","Ä»":"L","ļ":"l","Ľ":"L","ľ":"l","Å":"L","Å‚":"l","Ń":"N","Å„":"n","Å…":"N","ņ":"n","Ň":"N","ň":"n","Å":"O","Å‘":"o","Å’":"OE","Å“":"oe","Å”":"R","Å•":"r","Ř":"R","Å™":"r","Åš":"S","Å›":"s","Åž":"S","ÅŸ":"s","Å ":"S","Å¡":"s","Å¢":"T","Å£":"t","Ť":"T","Å¥":"t","Ũ":"U","Å©":"u","Ū":"u","Å«":"u","Å®":"U","ů":"u","Ű":"U","ű":"u","Ų":"U","ų":"u","Å´":"W","ŵ":"w","Ŷ":"Y","Å·":"y","Ÿ":"Y","Ź":"Z","ź":"z","Å»":"Z","ż":"z","Ž":"Z","ž":"z","Æ’":"f","Æ ":"O","Æ¡":"o","Ư":"U","ư":"u","Lj":"LJ","lj":"lj","Ç‹":"NJ","ÇŒ":"nj","Ș":"S","È™":"s","Èš":"T","È›":"t","Ëš":"o","Ά":"A","Έ":"E","Ή":"H","Ί":"I","ÎŒ":"O","ÎŽ":"Y","Î":"W","Î":"i","Α":"A","Î’":"B","Γ":"G","Δ":"D","Ε":"E","Ζ":"Z","Η":"H","Θ":"8","Ι":"I","Κ":"K","Λ":"L","Μ":"M","Î":"N","Ξ":"3","Ο":"O","Î ":"P","Ρ":"R","Σ":"S","Τ":"T","Î¥":"Y","Φ":"F","Χ":"X","Ψ":"PS","Ω":"W","Ϊ":"I","Ϋ":"Y","ά":"a","Î":"e","ή":"h","ί":"i","ΰ":"y","α":"a","β":"b","γ":"g","δ":"d","ε":"e","ζ":"z","η":"h","θ":"8","ι":"i","κ":"k","λ":"l","μ":"m","ν":"n","ξ":"3","ο":"o","Ï€":"p","Ï":"r","Ï‚":"s","σ":"s","Ï„":"t","Ï…":"y","φ":"f","χ":"x","ψ":"ps","ω":"w","ÏŠ":"i","Ï‹":"y","ÏŒ":"o","Ï":"y","ÏŽ":"w","Ð":"Yo","Ђ":"DJ","Є":"Ye","І":"I","Ї":"Yi","Ј":"J","Љ":"LJ","Њ":"NJ","Ћ":"C","Ð":"DZ","Ð":"A","Б":"B","Ð’":"V","Г":"G","Д":"D","Е":"E","Ж":"Zh","З":"Z","И":"I","Й":"J","К":"K","Л":"L","М":"M","Ð":"N","О":"O","П":"P","Ð ":"R","С":"S","Т":"T","У":"U","Ф":"F","Ð¥":"H","Ц":"C","Ч":"Ch","Ш":"Sh","Щ":"Sh","Ъ":"U","Ы":"Y","Ь":"","Ð":"E","Ю":"Yu","Я":"Ya","а":"a","б":"b","в":"v","г":"g","д":"d","е":"e","ж":"zh","з":"z","и":"i","й":"j","к":"k","л":"l","м":"m","н":"n","о":"o","п":"p","Ñ€":"r","Ñ":"s","Ñ‚":"t","у":"u","Ñ„":"f","Ñ…":"h","ц":"c","ч":"ch","ш":"sh","щ":"sh","ÑŠ":"u","Ñ‹":"y","ÑŒ":"","Ñ":"e","ÑŽ":"yu","Ñ":"ya","Ñ‘":"yo","Ñ’":"dj","Ñ”":"ye","Ñ–":"i","Ñ—":"yi","ј":"j","Ñ™":"lj","Ñš":"nj","Ñ›":"c","Ñ":"u","ÑŸ":"dz","Ò":"G","Ò‘":"g","Ò’":"GH","Ò“":"gh","Òš":"KH","Ò›":"kh","Ò¢":"NG","Ò£":"ng","Ò®":"UE","Ò¯":"ue","Ò°":"U","Ò±":"u","Òº":"H","Ò»":"h","Ó˜":"AE","Ó™":"ae","Ó¨":"OE","Ó©":"oe","฿":"baht","áƒ":"a","ბ":"b","გ":"g","დ":"d","ე":"e","ვ":"v","ზ":"z","თ":"t","ი":"i","კ":"k","ლ":"l","მ":"m","ნ":"n","áƒ":"o","პ":"p","ჟ":"zh","რ":"r","ს":"s","ტ":"t","უ":"u","ფ":"f","ქ":"k","ღ":"gh","ყ":"q","შ":"sh","ჩ":"ch","ც":"ts","ძ":"dz","წ":"ts","áƒ":"ch","ხ":"kh","ჯ":"j","ჰ":"h","Ẁ":"W","áº":"w","Ẃ":"W","ẃ":"w","Ẅ":"W","ẅ":"w","ẞ":"SS","Ạ":"A","ạ":"a","Ả":"A","ả":"a","Ấ":"A","ấ":"a","Ầ":"A","ầ":"a","Ẩ":"A","ẩ":"a","Ẫ":"A","ẫ":"a","Ậ":"A","áº":"a","Ắ":"A","ắ":"a","Ằ":"A","ằ":"a","Ẳ":"A","ẳ":"a","Ẵ":"A","ẵ":"a","Ặ":"A","ặ":"a","Ẹ":"E","ẹ":"e","Ẻ":"E","ẻ":"e","Ẽ":"E","ẽ":"e","Ế":"E","ế":"e","Ề":"E","á»":"e","Ể":"E","ể":"e","Ễ":"E","á»…":"e","Ệ":"E","ệ":"e","Ỉ":"I","ỉ":"i","Ị":"I","ị":"i","Ọ":"O","á»":"o","Ỏ":"O","á»":"o","á»":"O","ố":"o","á»’":"O","ồ":"o","á»”":"O","ổ":"o","á»–":"O","á»—":"o","Ộ":"O","á»™":"o","Ớ":"O","á»›":"o","Ờ":"O","á»":"o","Ở":"O","ở":"o","á» ":"O","ỡ":"o","Ợ":"O","ợ":"o","Ụ":"U","ụ":"u","Ủ":"U","á»§":"u","Ứ":"U","ứ":"u","Ừ":"U","ừ":"u","Ử":"U","á»":"u","á»®":"U","ữ":"u","á»°":"U","á»±":"u","Ỳ":"Y","ỳ":"y","á»´":"Y","ỵ":"y","á»¶":"Y","á»·":"y","Ỹ":"Y","ỹ":"y","‘":"\'","’":"\'","“":"\\"","â€":"\\"","†":"+","•":"*","…":"...","â‚ ":"ecu","â‚¢":"cruzeiro","â‚£":"french franc","₤":"lira","â‚¥":"mill","₦":"naira","â‚§":"peseta","₨":"rupee","â‚©":"won","₪":"new shequel","â‚«":"dong","€":"euro","â‚":"kip","â‚®":"tugrik","₯":"drachma","â‚°":"penny","₱":"peso","₲":"guarani","₳":"austral","â‚´":"hryvnia","₵":"cedi","₸":"kazakhstani tenge","₹":"indian rupee","₽":"russian ruble","â‚¿":"bitcoin","â„ ":"sm","â„¢":"tm","∂":"d","∆":"delta","∑":"sum","∞":"infinity","♥":"love","å…ƒ":"yuan","円":"yen","ï·¼":"rial"}'), + e = JSON.parse('{"vi":{"Ä":"D","Ä‘":"d"}}'); + + function n(n, r) { + if ("string" != typeof n) throw new Error("slugify: string argument expected"); + var i = e[(r = "string" == typeof r ? { + replacement: r + } : r || {}).locale] || {}, + a = n.split("").reduce((function(e, n) { + return e + (i[n] || t[n] || n).replace(r.remove || /[^\w\s$*_+~.()'"!\-:@]/g, "") + }), "").trim().replace(/[-\s]+/g, r.replacement || "-"); + return r.lower ? a.toLowerCase() : a + } + return n.extend = function(e) { + for (var n in e) t[n] = e[n] + }, n + }, t.exports = r(), t.exports.default = r() + }, function(t, e, n) { + /*! + * Escaper v2.5.3 + * https://github.com/kobezzza/Escaper + * + * Released under the MIT license + * https://github.com/kobezzza/Escaper/blob/master/LICENSE + * + * Date: Tue, 23 Jan 2018 15:58:45 GMT + */ + ! function(t) { + "use strict"; + var e = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) { + return typeof t + } : function(t) { + return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t + }, + n = void 0, + r = n = { + VERSION: [2, 5, 3], + content: [], + cache: {}, + snakeskinRgxp: null, + symbols: null, + replace: T, + paste: C + }, + i = { + '"': !0, + "'": !0, + "`": !0 + }, + a = { + "/": !0 + }; + for (var o in i) { + if (!i.hasOwnProperty(o)) break; + a[o] = !0 + } + var s = { + "//": !0, + "//*": !0, + "//!": !0, + "//#": !0, + "//@": !0, + "//$": !0 + }, + u = { + "/*": !0, + "/**": !0, + "/*!": !0, + "/*#": !0, + "/*@": !0, + "/*$": !0 + }, + c = [], + f = {}; + for (var l in a) { + if (!a.hasOwnProperty(l)) break; + c.push(l), f[l] = !0 + } + for (var h in s) { + if (!s.hasOwnProperty(h)) break; + c.push(h), f[h] = !0 + } + for (var d in u) { + if (!u.hasOwnProperty(d)) break; + c.push(d), f[d] = !0 + } + var p = [], + g = { + g: !0, + m: !0, + i: !0, + y: !0, + u: !0 + }; + for (var y in g) { + if (!g.hasOwnProperty(y)) break; + p.push(y) + } + var b = { + "-": !0, + "+": !0, + "*": !0, + "%": !0, + "~": !0, + ">": !0, + "<": !0, + "^": !0, + ",": !0, + ";": !0, + "=": !0, + "|": !0, + "&": !0, + "!": !0, + "?": !0, + ":": !0, + "(": !0, + "{": !0, + "[": !0 + }, + v = { + return: !0, + yield: !0, + await: !0, + typeof: !0, + void: !0, + instanceof: !0, + delete: !0, + in : !0, + new: !0, + of : !0 + }; + + function m(t, e, n) { + for (var r in t) { + if (!t.hasOwnProperty(r)) break; + r in e == 0 && (e[r] = n) + } + } + var _ = void 0, + w = void 0, + x = /[^\s/]/, + k = /[a-z]/, + E = /\s/, + A = /[\r\n]/, + S = /\${pos}/g, + M = { + object: !0, + function: !0 + }; + + function T(t, r, o, l) { + _ = _ || n.symbols || "a-z", w = w || n.snakeskinRgxp || new RegExp("[!$" + _ + "_]", "i"); + var h = n, + d = h.cache, + y = h.content, + T = Boolean(r && M[void 0 === r ? "undefined" : e(r)]), + D = T ? Object(r) : {}; + + function C(t) { + return D["@label"] ? D["@label"].replace(S, t) : "__ESCAPER_QUOT__" + t + "_" + } + var N = !1; + "boolean" == typeof r && (N = Boolean(r)), "@comments" in D && (m(u, D, D["@comments"]), m(s, D, D["@comments"]), delete D["@comments"]), "@strings" in D && (m(i, D, D["@strings"]), delete D["@strings"]), "@literals" in D && (m(a, D, D["@literals"]), delete D["@literals"]), "@all" in D && (m(f, D, D["@all"]), delete D["@all"]); + for (var I = "", L = -1; ++L < c.length;) { + var B = c[L]; + u[B] || s[B] ? D[B] = N || D[B] : D[B] = D[B] || !T, I += D[B] + "," + } + var O = t, + R = o || y; + if (R === y && d[I] && d[I][O]) return d[I][O]; + for (var P = !1, F = !0, q = !1, j = !1, U = 0, z = !1, Y = 0, V = !1, H = void 0, G = void 0, $ = "", W = "", K = -1; ++K < t.length;) { + var X = t.charAt(K), + Z = t.charAt(K + 1), + J = t.substr(K, 2), + Q = t.substr(K, 3); + if (j)(A.test(Z) && s[j] || u[X + t.charAt(K - 1)] && K - U > 2 && u[j]) && (D[j] && (H = t.substring(U, K + 1), -1 === D[j] ? G = "" : (G = C(R.length), R.push(H)), t = t.substring(0, U) + G + t.substring(K + 1), K += G.length - H.length), j = !1); + else { + if (!P) { + if ("/" === X && ((s[J] || u[J]) && (j = s[Q] || u[Q] ? Q : J), j)) { + U = K; + continue + } + b[X] || v[W] ? (F = !0, W = "") : x.test(X) && (F = !1), k.test(X) ? $ += X : (W = $, $ = ""); + var tt = !1; + l && ("|" === X && w.test(Z) ? (V = !0, F = !1, tt = !0) : V && E.test(X) && (V = !1, F = !0, tt = !0)), tt || (b[X] ? F = !0 : x.test(X) && (F = !1)) + } + if ("/" !== P || q || ("[" === X ? z = !0 : "]" === X && (z = !1)), !P && Y && ("}" === X ? Y-- : "{" === X && Y++, Y || (X = "`")), "`" !== P || q || "${" !== J || (X = "`", K++, Y++), !f[X] || "/" === X && !F || P) { + if (P && ("\\" === X || q)) q = !q; + else if (f[X] && P === X && !q && ("/" !== P || !z)) { + if ("/" === X) + for (var et = -1; ++et < p.length;) g[t.charAt(K + 1)] && K++; + P = !1, F = !1, D[X] && (H = t.substring(U, K + 1), -1 === D[X] ? G = "" : (G = C(R.length), R.push(H)), t = t.substring(0, U) + G + t.substring(K + 1), K += G.length - H.length) + } + } else P = X, U = K + } + } + return R === y && (d[I] = d[I] || {}, d[I][O] = t), t + } + var D = /__ESCAPER_QUOT__(\d+)_/g; + + function C(t, e, r) { + return t.replace(r || D, (function(t, r) { + return (e || n.content)[r] + })) + } + t.default = r, t.replace = T, t.paste = C, Object.defineProperty(t, "__esModule", { + value: !0 + }) + }(e) + }, function(t, e, n) { + "use strict"; + var r = n(234); + t.exports = function(t, e) { + var n; + t = t.toString(); + var i = "", + a = "", + o = !1, + s = !(!1 === (e = e || {}).preserve || !0 === e.all), + u = ""; + "function" == typeof e.preserve ? (s = !1, n = e.preserve) : r(e.preserve) && (s = !1, n = function(t) { + return e.preserve.test(t) + }); + for (var c = 0; c < t.length; c++) + if (a = t[c], "\\" !== t[c - 1] && ('"' !== a && "'" !== a || (o === a ? o = !1 : o || (o = a))), o || "/" !== a || "*" !== t[c + 1] || s && "!" === t[c + 2]) u += a; + else { + for (var f = c + 2; f < t.length; f++) { + if ("*" === t[f] && "/" === t[f + 1]) { + n && (u = n(i) ? u + "/*" + i + "*/" : u, i = ""); + break + } + n && (i += t[f]) + } + c = f + 1 + } return u + } + }, function(t, e, n) { + "use strict"; + t.exports = function(t) { + return "[object RegExp]" === Object.prototype.toString.call(t) + } + }, function(t, e, n) { + var r = { + "./locale": 129, + "./locale.js": 129 + }; + + function i(t) { + var e = a(t); + return n(e) + } + + function a(t) { + if (!n.o(r, t)) { + var e = new Error("Cannot find module '" + t + "'"); + throw e.code = "MODULE_NOT_FOUND", e + } + return r[t] + } + i.keys = function() { + return Object.keys(r) + }, i.resolve = a, t.exports = i, i.id = 235 + }, function(t, e, n) { + t.exports = { + Graph: n(89), + version: n(337) + } + }, function(t, e, n) { + var r = n(130), + i = 4; + t.exports = function(t) { + return r(t, i) + } + }, function(t, e) { + t.exports = function() { + this.__data__ = [], this.size = 0 + } + }, function(t, e, n) { + var r = n(63), + i = Array.prototype.splice; + t.exports = function(t) { + var e = this.__data__, + n = r(e, t); + return !(n < 0) && (n == e.length - 1 ? e.pop() : i.call(e, n, 1), --this.size, !0) + } + }, function(t, e, n) { + var r = n(63); + t.exports = function(t) { + var e = this.__data__, + n = r(e, t); + return n < 0 ? void 0 : e[n][1] + } + }, function(t, e, n) { + var r = n(63); + t.exports = function(t) { + return r(this.__data__, t) > -1 + } + }, function(t, e, n) { + var r = n(63); + t.exports = function(t, e) { + var n = this.__data__, + i = r(n, t); + return i < 0 ? (++this.size, n.push([t, e])) : n[i][1] = e, this + } + }, function(t, e, n) { + var r = n(62); + t.exports = function() { + this.__data__ = new r, this.size = 0 + } + }, function(t, e) { + t.exports = function(t) { + var e = this.__data__, + n = e.delete(t); + return this.size = e.size, n + } + }, function(t, e) { + t.exports = function(t) { + return this.__data__.get(t) + } + }, function(t, e) { + t.exports = function(t) { + return this.__data__.has(t) + } + }, function(t, e, n) { + var r = n(62), + i = n(90), + a = n(91), + o = 200; + t.exports = function(t, e) { + var n = this.__data__; + if (n instanceof r) { + var s = n.__data__; + if (!i || s.length < o - 1) return s.push([t, e]), this.size = ++n.size, this; + n = this.__data__ = new a(s) + } + return n.set(t, e), this.size = n.size, this + } + }, function(t, e, n) { + var r = n(37), + i = n(251), + a = n(14), + o = n(132), + s = /^\[object .+?Constructor\]$/, + u = Function.prototype, + c = Object.prototype, + f = u.toString, + l = c.hasOwnProperty, + h = RegExp("^" + f.call(l).replace(/[\\^$.*+?()[\]{}|]/g, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"); + t.exports = function(t) { + return !(!a(t) || i(t)) && (r(t) ? h : s).test(o(t)) + } + }, function(t, e, n) { + var r = n(38), + i = Object.prototype, + a = i.hasOwnProperty, + o = i.toString, + s = r ? r.toStringTag : void 0; + t.exports = function(t) { + var e = a.call(t, s), + n = t[s]; + try { + t[s] = void 0; + var r = !0 + } catch (t) {} + var i = o.call(t); + return r && (e ? t[s] = n : delete t[s]), i + } + }, function(t, e) { + var n = Object.prototype.toString; + t.exports = function(t) { + return n.call(t) + } + }, function(t, e, n) { + var r, i = n(252), + a = (r = /[^.]+$/.exec(i && i.keys && i.keys.IE_PROTO || "")) ? "Symbol(src)_1." + r : ""; + t.exports = function(t) { + return !!a && a in t + } + }, function(t, e, n) { + var r = n(18)["__core-js_shared__"]; + t.exports = r + }, function(t, e) { + t.exports = function(t, e) { + return null == t ? void 0 : t[e] + } + }, function(t, e, n) { + var r = n(255), + i = n(62), + a = n(90); + t.exports = function() { + this.size = 0, this.__data__ = { + hash: new r, + map: new(a || i), + string: new r + } + } + }, function(t, e, n) { + var r = n(256), + i = n(257), + a = n(258), + o = n(259), + s = n(260); + + function u(t) { + var e = -1, + n = null == t ? 0 : t.length; + for (this.clear(); ++e < n;) { + var r = t[e]; + this.set(r[0], r[1]) + } + } + u.prototype.clear = r, u.prototype.delete = i, u.prototype.get = a, u.prototype.has = o, u.prototype.set = s, t.exports = u + }, function(t, e, n) { + var r = n(64); + t.exports = function() { + this.__data__ = r ? r(null) : {}, this.size = 0 + } + }, function(t, e) { + t.exports = function(t) { + var e = this.has(t) && delete this.__data__[t]; + return this.size -= e ? 1 : 0, e + } + }, function(t, e, n) { + var r = n(64), + i = "__lodash_hash_undefined__", + a = Object.prototype.hasOwnProperty; + t.exports = function(t) { + var e = this.__data__; + if (r) { + var n = e[t]; + return n === i ? void 0 : n + } + return a.call(e, t) ? e[t] : void 0 + } + }, function(t, e, n) { + var r = n(64), + i = Object.prototype.hasOwnProperty; + t.exports = function(t) { + var e = this.__data__; + return r ? void 0 !== e[t] : i.call(e, t) + } + }, function(t, e, n) { + var r = n(64), + i = "__lodash_hash_undefined__"; + t.exports = function(t, e) { + var n = this.__data__; + return this.size += this.has(t) ? 0 : 1, n[t] = r && void 0 === e ? i : e, this + } + }, function(t, e, n) { + var r = n(65); + t.exports = function(t) { + var e = r(this, t).delete(t); + return this.size -= e ? 1 : 0, e + } + }, function(t, e) { + t.exports = function(t) { + var e = typeof t; + return "string" == e || "number" == e || "symbol" == e || "boolean" == e ? "__proto__" !== t : null === t + } + }, function(t, e, n) { + var r = n(65); + t.exports = function(t) { + return r(this, t).get(t) + } + }, function(t, e, n) { + var r = n(65); + t.exports = function(t) { + return r(this, t).has(t) + } + }, function(t, e, n) { + var r = n(65); + t.exports = function(t, e) { + var n = r(this, t), + i = n.size; + return n.set(t, e), this.size += n.size == i ? 0 : 1, this + } + }, function(t, e, n) { + var r = n(49), + i = n(27); + t.exports = function(t, e) { + return t && r(e, i(e), t) + } + }, function(t, e) { + t.exports = function(t, e) { + for (var n = -1, r = Array(t); ++n < t;) r[n] = e(n); + return r + } + }, function(t, e, n) { + var r = n(33), + i = n(20), + a = "[object Arguments]"; + t.exports = function(t) { + return i(t) && r(t) == a + } + }, function(t, e) { + t.exports = function() { + return !1 + } + }, function(t, e, n) { + var r = n(33), + i = n(93), + a = n(20), + o = {}; + o["[object Float32Array]"] = o["[object Float64Array]"] = o["[object Int8Array]"] = o["[object Int16Array]"] = o["[object Int32Array]"] = o["[object Uint8Array]"] = o["[object Uint8ClampedArray]"] = o["[object Uint16Array]"] = o["[object Uint32Array]"] = !0, o["[object Arguments]"] = o["[object Array]"] = o["[object ArrayBuffer]"] = o["[object Boolean]"] = o["[object DataView]"] = o["[object Date]"] = o["[object Error]"] = o["[object Function]"] = o["[object Map]"] = o["[object Number]"] = o["[object Object]"] = o["[object RegExp]"] = o["[object Set]"] = o["[object String]"] = o["[object WeakMap]"] = !1, t.exports = function(t) { + return a(t) && i(t.length) && !!o[r(t)] + } + }, function(t, e, n) { + var r = n(135)(Object.keys, Object); + t.exports = r + }, function(t, e, n) { + var r = n(49), + i = n(40); + t.exports = function(t, e) { + return t && r(e, i(e), t) + } + }, function(t, e, n) { + var r = n(14), + i = n(70), + a = n(274), + o = Object.prototype.hasOwnProperty; + t.exports = function(t) { + if (!r(t)) return a(t); + var e = i(t), + n = []; + for (var s in t)("constructor" != s || !e && o.call(t, s)) && n.push(s); + return n + } + }, function(t, e) { + t.exports = function(t) { + var e = []; + if (null != t) + for (var n in Object(t)) e.push(n); + return e + } + }, function(t, e, n) { + var r = n(49), + i = n(96); + t.exports = function(t, e) { + return r(t, i(t), e) + } + }, function(t, e, n) { + var r = n(49), + i = n(140); + t.exports = function(t, e) { + return r(t, i(t), e) + } + }, function(t, e, n) { + var r = n(142), + i = n(140), + a = n(40); + t.exports = function(t) { + return r(t, a, i) + } + }, function(t, e, n) { + var r = n(32)(n(18), "DataView"); + t.exports = r + }, function(t, e, n) { + var r = n(32)(n(18), "Promise"); + t.exports = r + }, function(t, e, n) { + var r = n(32)(n(18), "WeakMap"); + t.exports = r + }, function(t, e) { + var n = Object.prototype.hasOwnProperty; + t.exports = function(t) { + var e = t.length, + r = new t.constructor(e); + return e && "string" == typeof t[0] && n.call(t, "index") && (r.index = t.index, r.input = t.input), r + } + }, function(t, e, n) { + var r = n(98), + i = n(283), + a = n(284), + o = n(285), + s = n(145), + u = "[object Boolean]", + c = "[object Date]", + f = "[object Map]", + l = "[object Number]", + h = "[object RegExp]", + d = "[object Set]", + p = "[object String]", + g = "[object Symbol]", + y = "[object ArrayBuffer]", + b = "[object DataView]", + v = "[object Float32Array]", + m = "[object Float64Array]", + _ = "[object Int8Array]", + w = "[object Int16Array]", + x = "[object Int32Array]", + k = "[object Uint8Array]", + E = "[object Uint8ClampedArray]", + A = "[object Uint16Array]", + S = "[object Uint32Array]"; + t.exports = function(t, e, n) { + var M = t.constructor; + switch (e) { + case y: + return r(t); + case u: + case c: + return new M(+t); + case b: + return i(t, n); + case v: + case m: + case _: + case w: + case x: + case k: + case E: + case A: + case S: + return s(t, n); + case f: + return new M; + case l: + case p: + return new M(t); + case h: + return a(t); + case d: + return new M; + case g: + return o(t) + } + } + }, function(t, e, n) { + var r = n(98); + t.exports = function(t, e) { + var n = e ? r(t.buffer) : t.buffer; + return new t.constructor(n, t.byteOffset, t.byteLength) + } + }, function(t, e) { + var n = /\w*$/; + t.exports = function(t) { + var e = new t.constructor(t.source, n.exec(t)); + return e.lastIndex = t.lastIndex, e + } + }, function(t, e, n) { + var r = n(38), + i = r ? r.prototype : void 0, + a = i ? i.valueOf : void 0; + t.exports = function(t) { + return a ? Object(a.call(t)) : {} + } + }, function(t, e, n) { + var r = n(287), + i = n(69), + a = n(94), + o = a && a.isMap, + s = o ? i(o) : r; + t.exports = s + }, function(t, e, n) { + var r = n(41), + i = n(20), + a = "[object Map]"; + t.exports = function(t) { + return i(t) && r(t) == a + } + }, function(t, e, n) { + var r = n(289), + i = n(69), + a = n(94), + o = a && a.isSet, + s = o ? i(o) : r; + t.exports = s + }, function(t, e, n) { + var r = n(41), + i = n(20), + a = "[object Set]"; + t.exports = function(t) { + return i(t) && r(t) == a + } + }, function(t, e) { + t.exports = function(t) { + return function(e, n, r) { + for (var i = -1, a = Object(e), o = r(e), s = o.length; s--;) { + var u = o[t ? s : ++i]; + if (!1 === n(a[u], u, a)) break + } + return e + } + } + }, function(t, e, n) { + var r = n(23); + t.exports = function(t, e) { + return function(n, i) { + if (null == n) return n; + if (!r(n)) return t(n, i); + for (var a = n.length, o = e ? a : -1, s = Object(n); + (e ? o-- : ++o < a) && !1 !== i(s[o], o, s);); + return n + } + } + }, function(t, e, n) { + var r = n(72); + t.exports = function(t, e) { + var n = []; + return r(t, (function(t, r, i) { + e(t, r, i) && n.push(t) + })), n + } + }, function(t, e, n) { + var r = n(294), + i = n(302), + a = n(156); + t.exports = function(t) { + var e = i(t); + return 1 == e.length && e[0][2] ? a(e[0][0], e[0][1]) : function(n) { + return n === t || r(n, t, e) + } + } + }, function(t, e, n) { + var r = n(61), + i = n(151), + a = 1, + o = 2; + t.exports = function(t, e, n, s) { + var u = n.length, + c = u, + f = !s; + if (null == t) return !c; + for (t = Object(t); u--;) { + var l = n[u]; + if (f && l[2] ? l[1] !== t[l[0]] : !(l[0] in t)) return !1 + } + for (; ++u < c;) { + var h = (l = n[u])[0], + d = t[h], + p = l[1]; + if (f && l[2]) { + if (void 0 === d && !(h in t)) return !1 + } else { + var g = new r; + if (s) var y = s(d, p, h, t, e, g); + if (!(void 0 === y ? i(p, d, a | o, s, g) : y)) return !1 + } + } + return !0 + } + }, function(t, e, n) { + var r = n(61), + i = n(152), + a = n(299), + o = n(301), + s = n(41), + u = n(6), + c = n(39), + f = n(51), + l = 1, + h = "[object Arguments]", + d = "[object Array]", + p = "[object Object]", + g = Object.prototype.hasOwnProperty; + t.exports = function(t, e, n, y, b, v) { + var m = u(t), + _ = u(e), + w = m ? d : s(t), + x = _ ? d : s(e), + k = (w = w == h ? p : w) == p, + E = (x = x == h ? p : x) == p, + A = w == x; + if (A && c(t)) { + if (!c(e)) return !1; + m = !0, k = !1 + } + if (A && !k) return v || (v = new r), m || f(t) ? i(t, e, n, y, b, v) : a(t, e, w, n, y, b, v); + if (!(n & l)) { + var S = k && g.call(t, "__wrapped__"), + M = E && g.call(e, "__wrapped__"); + if (S || M) { + var T = S ? t.value() : t, + D = M ? e.value() : e; + return v || (v = new r), b(T, D, n, y, v) + } + } + return !!A && (v || (v = new r), o(t, e, n, y, b, v)) + } + }, function(t, e) { + var n = "__lodash_hash_undefined__"; + t.exports = function(t) { + return this.__data__.set(t, n), this + } + }, function(t, e) { + t.exports = function(t) { + return this.__data__.has(t) + } + }, function(t, e) { + t.exports = function(t, e) { + for (var n = -1, r = null == t ? 0 : t.length; ++n < r;) + if (e(t[n], n, t)) return !0; + return !1 + } + }, function(t, e, n) { + var r = n(38), + i = n(144), + a = n(36), + o = n(152), + s = n(300), + u = n(103), + c = 1, + f = 2, + l = "[object Boolean]", + h = "[object Date]", + d = "[object Error]", + p = "[object Map]", + g = "[object Number]", + y = "[object RegExp]", + b = "[object Set]", + v = "[object String]", + m = "[object Symbol]", + _ = "[object ArrayBuffer]", + w = "[object DataView]", + x = r ? r.prototype : void 0, + k = x ? x.valueOf : void 0; + t.exports = function(t, e, n, r, x, E, A) { + switch (n) { + case w: + if (t.byteLength != e.byteLength || t.byteOffset != e.byteOffset) return !1; + t = t.buffer, e = e.buffer; + case _: + return !(t.byteLength != e.byteLength || !E(new i(t), new i(e))); + case l: + case h: + case g: + return a(+t, +e); + case d: + return t.name == e.name && t.message == e.message; + case y: + case v: + return t == e + ""; + case p: + var S = s; + case b: + var M = r & c; + if (S || (S = u), t.size != e.size && !M) return !1; + var T = A.get(t); + if (T) return T == e; + r |= f, A.set(t, e); + var D = o(S(t), S(e), r, x, E, A); + return A.delete(t), D; + case m: + if (k) return k.call(t) == k.call(e) + } + return !1 + } + }, function(t, e) { + t.exports = function(t) { + var e = -1, + n = Array(t.size); + return t.forEach((function(t, r) { + n[++e] = [r, t] + })), n + } + }, function(t, e, n) { + var r = n(141), + i = 1, + a = Object.prototype.hasOwnProperty; + t.exports = function(t, e, n, o, s, u) { + var c = n & i, + f = r(t), + l = f.length; + if (l != r(e).length && !c) return !1; + for (var h = l; h--;) { + var d = f[h]; + if (!(c ? d in e : a.call(e, d))) return !1 + } + var p = u.get(t); + if (p && u.get(e)) return p == e; + var g = !0; + u.set(t, e), u.set(e, t); + for (var y = c; ++h < l;) { + var b = t[d = f[h]], + v = e[d]; + if (o) var m = c ? o(v, b, d, e, t, u) : o(b, v, d, t, e, u); + if (!(void 0 === m ? b === v || s(b, v, n, o, u) : m)) { + g = !1; + break + } + y || (y = "constructor" == d) + } + if (g && !y) { + var _ = t.constructor, + w = e.constructor; + _ != w && "constructor" in t && "constructor" in e && !("function" == typeof _ && _ instanceof _ && "function" == typeof w && w instanceof w) && (g = !1) + } + return u.delete(t), u.delete(e), g + } + }, function(t, e, n) { + var r = n(155), + i = n(27); + t.exports = function(t) { + for (var e = i(t), n = e.length; n--;) { + var a = e[n], + o = t[a]; + e[n] = [a, o, r(o)] + } + return e + } + }, function(t, e, n) { + var r = n(151), + i = n(304), + a = n(158), + o = n(105), + s = n(155), + u = n(156), + c = n(52), + f = 1, + l = 2; + t.exports = function(t, e) { + return o(t) && s(e) ? u(c(t), e) : function(n) { + var o = i(n, t); + return void 0 === o && o === e ? a(n, t) : r(e, o, f | l) + } + } + }, function(t, e, n) { + var r = n(104); + t.exports = function(t, e, n) { + var i = null == t ? void 0 : r(t, e); + return void 0 === i ? n : i + } + }, function(t, e, n) { + var r = n(306), + i = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, + a = /\\(\\)?/g, + o = r((function(t) { + var e = []; + return 46 === t.charCodeAt(0) && e.push(""), t.replace(i, (function(t, n, r, i) { + e.push(r ? i.replace(a, "$1") : n || t) + })), e + })); + t.exports = o + }, function(t, e, n) { + var r = n(307), + i = 500; + t.exports = function(t) { + var e = r(t, (function(t) { + return n.size === i && n.clear(), t + })), + n = e.cache; + return e + } + }, function(t, e, n) { + var r = n(91), + i = "Expected a function"; + + function a(t, e) { + if ("function" != typeof t || null != e && "function" != typeof e) throw new TypeError(i); + var n = function() { + var r = arguments, + i = e ? e.apply(this, r) : r[0], + a = n.cache; + if (a.has(i)) return a.get(i); + var o = t.apply(this, r); + return n.cache = a.set(i, o) || a, o + }; + return n.cache = new(a.Cache || r), n + } + a.Cache = r, t.exports = a + }, function(t, e, n) { + var r = n(38), + i = n(74), + a = n(6), + o = n(42), + s = 1 / 0, + u = r ? r.prototype : void 0, + c = u ? u.toString : void 0; + t.exports = function t(e) { + if ("string" == typeof e) return e; + if (a(e)) return i(e, t) + ""; + if (o(e)) return c ? c.call(e) : ""; + var n = e + ""; + return "0" == n && 1 / e == -s ? "-0" : n + } + }, function(t, e) { + t.exports = function(t, e) { + return null != t && e in Object(t) + } + }, function(t, e, n) { + var r = n(160), + i = n(311), + a = n(105), + o = n(52); + t.exports = function(t) { + return a(t) ? r(o(t)) : i(t) + } + }, function(t, e, n) { + var r = n(104); + t.exports = function(t) { + return function(e) { + return r(e, t) + } + } + }, function(t, e) { + var n = Object.prototype.hasOwnProperty; + t.exports = function(t, e) { + return null != t && n.call(t, e) + } + }, function(t, e, n) { + var r = n(95), + i = n(41), + a = n(50), + o = n(6), + s = n(23), + u = n(39), + c = n(70), + f = n(51), + l = "[object Map]", + h = "[object Set]", + d = Object.prototype.hasOwnProperty; + t.exports = function(t) { + if (null == t) return !0; + if (s(t) && (o(t) || "string" == typeof t || "function" == typeof t.splice || u(t) || f(t) || a(t))) return !t.length; + var e = i(t); + if (e == l || e == h) return !t.size; + if (c(t)) return !r(t).length; + for (var n in t) + if (d.call(t, n)) return !1; + return !0 + } + }, function(t, e) { + t.exports = function(t, e, n, r) { + var i = -1, + a = null == t ? 0 : t.length; + for (r && a && (n = t[++i]); ++i < a;) n = e(n, t[i], i, t); + return n + } + }, function(t, e) { + t.exports = function(t, e, n, r, i) { + return i(t, (function(t, i, a) { + n = r ? (r = !1, t) : e(n, t, i, a) + })), n + } + }, function(t, e, n) { + var r = n(95), + i = n(41), + a = n(23), + o = n(317), + s = n(318), + u = "[object Map]", + c = "[object Set]"; + t.exports = function(t) { + if (null == t) return 0; + if (a(t)) return o(t) ? s(t) : t.length; + var e = i(t); + return e == u || e == c ? t.size : r(t).length + } + }, function(t, e, n) { + var r = n(33), + i = n(6), + a = n(20), + o = "[object String]"; + t.exports = function(t) { + return "string" == typeof t || !i(t) && a(t) && r(t) == o + } + }, function(t, e, n) { + var r = n(319), + i = n(320), + a = n(321); + t.exports = function(t) { + return i(t) ? a(t) : r(t) + } + }, function(t, e, n) { + var r = n(160)("length"); + t.exports = r + }, function(t, e) { + var n = RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]"); + t.exports = function(t) { + return n.test(t) + } + }, function(t, e) { + var n = "[\\ud800-\\udfff]", + r = "[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]", + i = "\\ud83c[\\udffb-\\udfff]", + a = "[^\\ud800-\\udfff]", + o = "(?:\\ud83c[\\udde6-\\uddff]){2}", + s = "[\\ud800-\\udbff][\\udc00-\\udfff]", + u = "(?:" + r + "|" + i + ")" + "?", + c = "[\\ufe0e\\ufe0f]?" + u + ("(?:\\u200d(?:" + [a, o, s].join("|") + ")[\\ufe0e\\ufe0f]?" + u + ")*"), + f = "(?:" + [a + r + "?", r, o, s, n].join("|") + ")", + l = RegExp(i + "(?=" + i + ")|" + f + c, "g"); + t.exports = function(t) { + for (var e = l.lastIndex = 0; l.test(t);) ++e; + return e + } + }, function(t, e, n) { + var r = n(92), + i = n(147), + a = n(101), + o = n(24), + s = n(71), + u = n(6), + c = n(39), + f = n(37), + l = n(14), + h = n(51); + t.exports = function(t, e, n) { + var d = u(t), + p = d || c(t) || h(t); + if (e = o(e, 4), null == n) { + var g = t && t.constructor; + n = p ? d ? new g : [] : l(t) && f(g) ? i(s(t)) : {} + } + return (p ? r : a)(t, (function(t, r, i) { + return e(n, t, r, i) + })), n + } + }, function(t, e, n) { + var r = n(107), + i = n(75), + a = n(328), + o = n(168), + s = i((function(t) { + return a(r(t, 1, o, !0)) + })); + t.exports = s + }, function(t, e, n) { + var r = n(38), + i = n(50), + a = n(6), + o = r ? r.isConcatSpreadable : void 0; + t.exports = function(t) { + return a(t) || i(t) || !!(o && t && t[o]) + } + }, function(t, e) { + t.exports = function(t, e, n) { + switch (n.length) { + case 0: + return t.call(e); + case 1: + return t.call(e, n[0]); + case 2: + return t.call(e, n[0], n[1]); + case 3: + return t.call(e, n[0], n[1], n[2]) + } + return t.apply(e, n) + } + }, function(t, e, n) { + var r = n(99), + i = n(133), + a = n(34), + o = i ? function(t, e) { + return i(t, "toString", { + configurable: !0, + enumerable: !1, + value: r(e), + writable: !0 + }) + } : a; + t.exports = o + }, function(t, e) { + var n = 800, + r = 16, + i = Date.now; + t.exports = function(t) { + var e = 0, + a = 0; + return function() { + var o = i(), + s = r - (o - a); + if (a = o, s > 0) { + if (++e >= n) return arguments[0] + } else e = 0; + return t.apply(void 0, arguments) + } + } + }, function(t, e, n) { + var r = n(153), + i = n(329), + a = n(333), + o = n(154), + s = n(334), + u = n(103), + c = 200; + t.exports = function(t, e, n) { + var f = -1, + l = i, + h = t.length, + d = !0, + p = [], + g = p; + if (n) d = !1, l = a; + else if (h >= c) { + var y = e ? null : s(t); + if (y) return u(y); + d = !1, l = o, g = new r + } else g = e ? [] : p; + t: for (; ++f < h;) { + var b = t[f], + v = e ? e(b) : b; + if (b = n || 0 !== b ? b : 0, d && v == v) { + for (var m = g.length; m--;) + if (g[m] === v) continue t; + e && g.push(v), p.push(b) + } else l(g, v, n) || (g !== p && g.push(v), p.push(b)) + } + return p + } + }, function(t, e, n) { + var r = n(330); + t.exports = function(t, e) { + return !!(null == t ? 0 : t.length) && r(t, e, 0) > -1 + } + }, function(t, e, n) { + var r = n(167), + i = n(331), + a = n(332); + t.exports = function(t, e, n) { + return e == e ? a(t, e, n) : r(t, i, n) + } + }, function(t, e) { + t.exports = function(t) { + return t != t + } + }, function(t, e) { + t.exports = function(t, e, n) { + for (var r = n - 1, i = t.length; ++r < i;) + if (t[r] === e) return r; + return -1 + } + }, function(t, e) { + t.exports = function(t, e, n) { + for (var r = -1, i = null == t ? 0 : t.length; ++r < i;) + if (n(e, t[r])) return !0; + return !1 + } + }, function(t, e, n) { + var r = n(143), + i = n(335), + a = n(103), + o = r && 1 / a(new r([, -0]))[1] == 1 / 0 ? function(t) { + return new r(t) + } : i; + t.exports = o + }, function(t, e) { + t.exports = function() {} + }, function(t, e, n) { + var r = n(74); + t.exports = function(t, e) { + return r(e, (function(e) { + return t[e] + })) + } + }, function(t, e) { + t.exports = "2.1.8" + }, function(t, e, n) { + var r = n(13), + i = n(89); + + function a(t) { + return r.map(t.nodes(), (function(e) { + var n = t.node(e), + i = t.parent(e), + a = { + v: e + }; + return r.isUndefined(n) || (a.value = n), r.isUndefined(i) || (a.parent = i), a + })) + } + + function o(t) { + return r.map(t.edges(), (function(e) { + var n = t.edge(e), + i = { + v: e.v, + w: e.w + }; + return r.isUndefined(e.name) || (i.name = e.name), r.isUndefined(n) || (i.value = n), i + })) + } + t.exports = { + write: function(t) { + var e = { + options: { + directed: t.isDirected(), + multigraph: t.isMultigraph(), + compound: t.isCompound() + }, + nodes: a(t), + edges: o(t) + }; + r.isUndefined(t.graph()) || (e.value = r.clone(t.graph())); + return e + }, + read: function(t) { + var e = new i(t.options).setGraph(t.value); + return r.each(t.nodes, (function(t) { + e.setNode(t.v, t.value), t.parent && e.setParent(t.v, t.parent) + })), r.each(t.edges, (function(t) { + e.setEdge({ + v: t.v, + w: t.w, + name: t.name + }, t.value) + })), e + } + } + }, function(t, e, n) { + t.exports = { + components: n(340), + dijkstra: n(170), + dijkstraAll: n(341), + findCycles: n(342), + floydWarshall: n(343), + isAcyclic: n(344), + postorder: n(345), + preorder: n(346), + prim: n(347), + tarjan: n(172), + topsort: n(173) + } + }, function(t, e, n) { + var r = n(13); + t.exports = function(t) { + var e, n = {}, + i = []; + + function a(i) { + r.has(n, i) || (n[i] = !0, e.push(i), r.each(t.successors(i), a), r.each(t.predecessors(i), a)) + } + return r.each(t.nodes(), (function(t) { + e = [], a(t), e.length && i.push(e) + })), i + } + }, function(t, e, n) { + var r = n(170), + i = n(13); + t.exports = function(t, e, n) { + return i.transform(t.nodes(), (function(i, a) { + i[a] = r(t, a, e, n) + }), {}) + } + }, function(t, e, n) { + var r = n(13), + i = n(172); + t.exports = function(t) { + return r.filter(i(t), (function(e) { + return e.length > 1 || 1 === e.length && t.hasEdge(e[0], e[0]) + })) + } + }, function(t, e, n) { + var r = n(13); + t.exports = function(t, e, n) { + return function(t, e, n) { + var r = {}, + i = t.nodes(); + return i.forEach((function(t) { + r[t] = {}, r[t][t] = { + distance: 0 + }, i.forEach((function(e) { + t !== e && (r[t][e] = { + distance: Number.POSITIVE_INFINITY + }) + })), n(t).forEach((function(n) { + var i = n.v === t ? n.w : n.v, + a = e(n); + r[t][i] = { + distance: a, + predecessor: t + } + })) + })), i.forEach((function(t) { + var e = r[t]; + i.forEach((function(n) { + var a = r[n]; + i.forEach((function(n) { + var r = a[t], + i = e[n], + o = a[n], + s = r.distance + i.distance; + s < o.distance && (o.distance = s, o.predecessor = i.predecessor) + })) + })) + })), r + }(t, e || i, n || function(e) { + return t.outEdges(e) + }) + }; + var i = r.constant(1) + }, function(t, e, n) { + var r = n(173); + t.exports = function(t) { + try { + r(t) + } catch (t) { + if (t instanceof r.CycleException) return !1; + throw t + } + return !0 + } + }, function(t, e, n) { + var r = n(174); + t.exports = function(t, e) { + return r(t, e, "post") + } + }, function(t, e, n) { + var r = n(174); + t.exports = function(t, e) { + return r(t, e, "pre") + } + }, function(t, e, n) { + var r = n(13), + i = n(89), + a = n(171); + t.exports = function(t, e) { + var n, o = new i, + s = {}, + u = new a; + + function c(t) { + var r = t.v === n ? t.w : t.v, + i = u.priority(r); + if (void 0 !== i) { + var a = e(t); + a < i && (s[r] = n, u.decrease(r, a)) + } + } + if (0 === t.nodeCount()) return o; + r.each(t.nodes(), (function(t) { + u.add(t, Number.POSITIVE_INFINITY), o.setNode(t) + })), u.decrease(t.nodes()[0], 0); + var f = !1; + for (; u.size() > 0;) { + if (n = u.removeMin(), r.has(s, n)) o.setEdge(n, s[n]); + else { + if (f) throw new Error("Input graph is not connected: " + t); + f = !0 + } + t.nodeEdges(n).forEach(c) + } + return o + } + }, function(t, e, n) { + var r; + try { + r = n(25) + } catch (t) {} + r || (r = window.graphlib), t.exports = r + }, function(t, e, n) { + "use strict"; + var r = n(4), + i = n(382), + a = n(385), + o = n(386), + s = n(10).normalizeRanks, + u = n(388), + c = n(10).removeEmptyRanks, + f = n(389), + l = n(390), + h = n(391), + d = n(392), + p = n(401), + g = n(10), + y = n(19).Graph; + t.exports = function(t, e) { + var n = e && e.debugTiming ? g.time : g.notime; + n("layout", (function() { + var e = n(" buildLayoutGraph", (function() { + return function(t) { + var e = new y({ + multigraph: !0, + compound: !0 + }), + n = S(t.graph()); + return e.setGraph(r.merge({}, v, A(n, b), r.pick(n, m))), r.forEach(t.nodes(), (function(n) { + var i = S(t.node(n)); + e.setNode(n, r.defaults(A(i, _), w)), e.setParent(n, t.parent(n)) + })), r.forEach(t.edges(), (function(n) { + var i = S(t.edge(n)); + e.setEdge(n, r.merge({}, k, A(i, x), r.pick(i, E))) + })), e + }(t) + })); + n(" runLayout", (function() { + ! function(t, e) { + e(" makeSpaceForEdgeLabels", (function() { + ! function(t) { + var e = t.graph(); + e.ranksep /= 2, r.forEach(t.edges(), (function(n) { + var r = t.edge(n); + r.minlen *= 2, "c" !== r.labelpos.toLowerCase() && ("TB" === e.rankdir || "BT" === e.rankdir ? r.width += r.labeloffset : r.height += r.labeloffset) + })) + }(t) + })), e(" removeSelfEdges", (function() { + ! function(t) { + r.forEach(t.edges(), (function(e) { + if (e.v === e.w) { + var n = t.node(e.v); + n.selfEdges || (n.selfEdges = []), n.selfEdges.push({ + e: e, + label: t.edge(e) + }), t.removeEdge(e) + } + })) + }(t) + })), e(" acyclic", (function() { + i.run(t) + })), e(" nestingGraph.run", (function() { + f.run(t) + })), e(" rank", (function() { + o(g.asNonCompoundGraph(t)) + })), e(" injectEdgeLabelProxies", (function() { + ! function(t) { + r.forEach(t.edges(), (function(e) { + var n = t.edge(e); + if (n.width && n.height) { + var r = t.node(e.v), + i = { + rank: (t.node(e.w).rank - r.rank) / 2 + r.rank, + e: e + }; + g.addDummyNode(t, "edge-proxy", i, "_ep") + } + })) + }(t) + })), e(" removeEmptyRanks", (function() { + c(t) + })), e(" nestingGraph.cleanup", (function() { + f.cleanup(t) + })), e(" normalizeRanks", (function() { + s(t) + })), e(" assignRankMinMax", (function() { + ! function(t) { + var e = 0; + r.forEach(t.nodes(), (function(n) { + var i = t.node(n); + i.borderTop && (i.minRank = t.node(i.borderTop).rank, i.maxRank = t.node(i.borderBottom).rank, e = r.max(e, i.maxRank)) + })), t.graph().maxRank = e + }(t) + })), e(" removeEdgeLabelProxies", (function() { + ! function(t) { + r.forEach(t.nodes(), (function(e) { + var n = t.node(e); + "edge-proxy" === n.dummy && (t.edge(n.e).labelRank = n.rank, t.removeNode(e)) + })) + }(t) + })), e(" normalize.run", (function() { + a.run(t) + })), e(" parentDummyChains", (function() { + u(t) + })), e(" addBorderSegments", (function() { + l(t) + })), e(" order", (function() { + d(t) + })), e(" insertSelfEdges", (function() { + ! function(t) { + var e = g.buildLayerMatrix(t); + r.forEach(e, (function(e) { + var n = 0; + r.forEach(e, (function(e, i) { + var a = t.node(e); + a.order = i + n, r.forEach(a.selfEdges, (function(e) { + g.addDummyNode(t, "selfedge", { + width: e.label.width, + height: e.label.height, + rank: a.rank, + order: i + ++n, + e: e.e, + label: e.label + }, "_se") + })), delete a.selfEdges + })) + })) + }(t) + })), e(" adjustCoordinateSystem", (function() { + h.adjust(t) + })), e(" position", (function() { + p(t) + })), e(" positionSelfEdges", (function() { + ! function(t) { + r.forEach(t.nodes(), (function(e) { + var n = t.node(e); + if ("selfedge" === n.dummy) { + var r = t.node(n.e.v), + i = r.x + r.width / 2, + a = r.y, + o = n.x - i, + s = r.height / 2; + t.setEdge(n.e, n.label), t.removeNode(e), n.label.points = [{ + x: i + 2 * o / 3, + y: a - s + }, { + x: i + 5 * o / 6, + y: a - s + }, { + x: i + o, + y: a + }, { + x: i + 5 * o / 6, + y: a + s + }, { + x: i + 2 * o / 3, + y: a + s + }], n.label.x = n.x, n.label.y = n.y + } + })) + }(t) + })), e(" removeBorderNodes", (function() { + ! function(t) { + r.forEach(t.nodes(), (function(e) { + if (t.children(e).length) { + var n = t.node(e), + i = t.node(n.borderTop), + a = t.node(n.borderBottom), + o = t.node(r.last(n.borderLeft)), + s = t.node(r.last(n.borderRight)); + n.width = Math.abs(s.x - o.x), n.height = Math.abs(a.y - i.y), n.x = o.x + n.width / 2, n.y = i.y + n.height / 2 + } + })), r.forEach(t.nodes(), (function(e) { + "border" === t.node(e).dummy && t.removeNode(e) + })) + }(t) + })), e(" normalize.undo", (function() { + a.undo(t) + })), e(" fixupEdgeLabelCoords", (function() { + ! function(t) { + r.forEach(t.edges(), (function(e) { + var n = t.edge(e); + if (r.has(n, "x")) switch ("l" !== n.labelpos && "r" !== n.labelpos || (n.width -= n.labeloffset), n.labelpos) { + case "l": + n.x -= n.width / 2 + n.labeloffset; + break; + case "r": + n.x += n.width / 2 + n.labeloffset + } + })) + }(t) + })), e(" undoCoordinateSystem", (function() { + h.undo(t) + })), e(" translateGraph", (function() { + ! function(t) { + var e = Number.POSITIVE_INFINITY, + n = 0, + i = Number.POSITIVE_INFINITY, + a = 0, + o = t.graph(), + s = o.marginx || 0, + u = o.marginy || 0; + + function c(t) { + var r = t.x, + o = t.y, + s = t.width, + u = t.height; + e = Math.min(e, r - s / 2), n = Math.max(n, r + s / 2), i = Math.min(i, o - u / 2), a = Math.max(a, o + u / 2) + } + r.forEach(t.nodes(), (function(e) { + c(t.node(e)) + })), r.forEach(t.edges(), (function(e) { + var n = t.edge(e); + r.has(n, "x") && c(n) + })), e -= s, i -= u, r.forEach(t.nodes(), (function(n) { + var r = t.node(n); + r.x -= e, r.y -= i + })), r.forEach(t.edges(), (function(n) { + var a = t.edge(n); + r.forEach(a.points, (function(t) { + t.x -= e, t.y -= i + })), r.has(a, "x") && (a.x -= e), r.has(a, "y") && (a.y -= i) + })), o.width = n - e + s, o.height = a - i + u + }(t) + })), e(" assignNodeIntersects", (function() { + ! function(t) { + r.forEach(t.edges(), (function(e) { + var n, r, i = t.edge(e), + a = t.node(e.v), + o = t.node(e.w); + i.points ? (n = i.points[0], r = i.points[i.points.length - 1]) : (i.points = [], n = o, r = a), i.points.unshift(g.intersectRect(a, n)), i.points.push(g.intersectRect(o, r)) + })) + }(t) + })), e(" reversePoints", (function() { + ! function(t) { + r.forEach(t.edges(), (function(e) { + var n = t.edge(e); + n.reversed && n.points.reverse() + })) + }(t) + })), e(" acyclic.undo", (function() { + i.undo(t) + })) + }(e, n) + })), n(" updateInputGraph", (function() { + ! function(t, e) { + r.forEach(t.nodes(), (function(n) { + var r = t.node(n), + i = e.node(n); + r && (r.x = i.x, r.y = i.y, e.children(n).length && (r.width = i.width, r.height = i.height)) + })), r.forEach(t.edges(), (function(n) { + var i = t.edge(n), + a = e.edge(n); + i.points = a.points, r.has(a, "x") && (i.x = a.x, i.y = a.y) + })), t.graph().width = e.graph().width, t.graph().height = e.graph().height + }(t, e) + })) + })) + }; + var b = ["nodesep", "edgesep", "ranksep", "marginx", "marginy"], + v = { + ranksep: 50, + edgesep: 20, + nodesep: 50, + rankdir: "tb" + }, + m = ["acyclicer", "ranker", "rankdir", "align"], + _ = ["width", "height"], + w = { + width: 0, + height: 0 + }, + x = ["minlen", "weight", "width", "height", "labeloffset"], + k = { + minlen: 1, + weight: 1, + width: 0, + height: 0, + labeloffset: 10, + labelpos: "r" + }, + E = ["labelpos"]; + + function A(t, e) { + return r.mapValues(r.pick(t, e), Number) + } + + function S(t) { + var e = {}; + return r.forEach(t, (function(t, n) { + e[n.toLowerCase()] = t + })), e + } + }, function(t, e, n) { + var r = n(130), + i = 1, + a = 4; + t.exports = function(t) { + return r(t, i | a) + } + }, function(t, e, n) { + var r = n(352)(n(353)); + t.exports = r + }, function(t, e, n) { + var r = n(24), + i = n(23), + a = n(27); + t.exports = function(t) { + return function(e, n, o) { + var s = Object(e); + if (!i(e)) { + var u = r(n, 3); + e = a(e), n = function(t) { + return u(s[t], t, s) + } + } + var c = t(e, n, o); + return c > -1 ? s[u ? e[c] : c] : void 0 + } + } + }, function(t, e, n) { + var r = n(167), + i = n(24), + a = n(354), + o = Math.max; + t.exports = function(t, e, n) { + var s = null == t ? 0 : t.length; + if (!s) return -1; + var u = null == n ? 0 : a(n); + return u < 0 && (u = o(s + u, 0)), r(t, i(e, 3), u) + } + }, function(t, e, n) { + var r = n(177); + t.exports = function(t) { + var e = r(t), + n = e % 1; + return e == e ? n ? e - n : e : 0 + } + }, function(t, e, n) { + var r = n(14), + i = n(42), + a = NaN, + o = /^\s+|\s+$/g, + s = /^[-+]0x[0-9a-f]+$/i, + u = /^0b[01]+$/i, + c = /^0o[0-7]+$/i, + f = parseInt; + t.exports = function(t) { + if ("number" == typeof t) return t; + if (i(t)) return a; + if (r(t)) { + var e = "function" == typeof t.valueOf ? t.valueOf() : t; + t = r(e) ? e + "" : e + } + if ("string" != typeof t) return 0 === t ? t : +t; + t = t.replace(o, ""); + var n = u.test(t); + return n || c.test(t) ? f(t.slice(2), n ? 2 : 8) : s.test(t) ? a : +t + } + }, function(t, e, n) { + var r = n(102), + i = n(149), + a = n(40); + t.exports = function(t, e) { + return null == t ? t : r(t, i(e), a) + } + }, function(t, e) { + t.exports = function(t) { + var e = null == t ? 0 : t.length; + return e ? t[e - 1] : void 0 + } + }, function(t, e, n) { + var r = n(67), + i = n(101), + a = n(24); + t.exports = function(t, e) { + var n = {}; + return e = a(e, 3), i(t, (function(t, i, a) { + r(n, i, e(t, i, a)) + })), n + } + }, function(t, e, n) { + var r = n(108), + i = n(360), + a = n(34); + t.exports = function(t) { + return t && t.length ? r(t, a, i) : void 0 + } + }, function(t, e) { + t.exports = function(t, e) { + return t > e + } + }, function(t, e, n) { + var r = n(362), + i = n(365)((function(t, e, n) { + r(t, e, n) + })); + t.exports = i + }, function(t, e, n) { + var r = n(61), + i = n(179), + a = n(102), + o = n(363), + s = n(14), + u = n(40), + c = n(181); + t.exports = function t(e, n, f, l, h) { + e !== n && a(n, (function(a, u) { + if (h || (h = new r), s(a)) o(e, n, u, f, t, l, h); + else { + var d = l ? l(c(e, u), a, u + "", e, n, h) : void 0; + void 0 === d && (d = a), i(e, u, d) + } + }), u) + } + }, function(t, e, n) { + var r = n(179), + i = n(136), + a = n(145), + o = n(137), + s = n(146), + u = n(50), + c = n(6), + f = n(168), + l = n(39), + h = n(37), + d = n(14), + p = n(180), + g = n(51), + y = n(181), + b = n(364); + t.exports = function(t, e, n, v, m, _, w) { + var x = y(t, n), + k = y(e, n), + E = w.get(k); + if (E) r(t, n, E); + else { + var A = _ ? _(x, k, n + "", t, e, w) : void 0, + S = void 0 === A; + if (S) { + var M = c(k), + T = !M && l(k), + D = !M && !T && g(k); + A = k, M || T || D ? c(x) ? A = x : f(x) ? A = o(x) : T ? (S = !1, A = i(k, !0)) : D ? (S = !1, A = a(k, !0)) : A = [] : p(k) || u(k) ? (A = x, u(x) ? A = b(x) : d(x) && !h(x) || (A = s(k))) : S = !1 + } + S && (w.set(k, A), m(A, k, v, _, w), w.delete(k)), r(t, n, A) + } + } + }, function(t, e, n) { + var r = n(49), + i = n(40); + t.exports = function(t) { + return r(t, i(t)) + } + }, function(t, e, n) { + var r = n(75), + i = n(76); + t.exports = function(t) { + return r((function(e, n) { + var r = -1, + a = n.length, + o = a > 1 ? n[a - 1] : void 0, + s = a > 2 ? n[2] : void 0; + for (o = t.length > 3 && "function" == typeof o ? (a--, o) : void 0, s && i(n[0], n[1], s) && (o = a < 3 ? void 0 : o, a = 1), e = Object(e); ++r < a;) { + var u = n[r]; + u && t(e, u, r, o) + } + return e + })) + } + }, function(t, e, n) { + var r = n(108), + i = n(182), + a = n(34); + t.exports = function(t) { + return t && t.length ? r(t, a, i) : void 0 + } + }, function(t, e, n) { + var r = n(108), + i = n(24), + a = n(182); + t.exports = function(t, e) { + return t && t.length ? r(t, i(e, 2), a) : void 0 + } + }, function(t, e, n) { + var r = n(18); + t.exports = function() { + return r.Date.now() + } + }, function(t, e, n) { + var r = n(370), + i = n(158); + t.exports = function(t, e) { + return r(t, e, (function(e, n) { + return i(t, n) + })) + } + }, function(t, e, n) { + var r = n(104), + i = n(371), + a = n(73); + t.exports = function(t, e, n) { + for (var o = -1, s = e.length, u = {}; ++o < s;) { + var c = e[o], + f = r(t, c); + n(f, c) && i(u, a(c, t), f) + } + return u + } + }, function(t, e, n) { + var r = n(66), + i = n(73), + a = n(68), + o = n(14), + s = n(52); + t.exports = function(t, e, n, u) { + if (!o(t)) return t; + for (var c = -1, f = (e = i(e, t)).length, l = f - 1, h = t; null != h && ++c < f;) { + var d = s(e[c]), + p = n; + if (c != l) { + var g = h[d]; + void 0 === (p = u ? u(g, d, h) : void 0) && (p = o(g) ? g : a(e[c + 1]) ? [] : {}) + } + r(h, d, p), h = h[d] + } + return t + } + }, function(t, e, n) { + var r = n(178), + i = n(165), + a = n(166); + t.exports = function(t) { + return a(i(t, void 0, r), t + "") + } + }, function(t, e, n) { + var r = n(374), + i = n(76), + a = n(177); + t.exports = function(t) { + return function(e, n, o) { + return o && "number" != typeof o && i(e, n, o) && (n = o = void 0), e = a(e), void 0 === n ? (n = e, e = 0) : n = a(n), o = void 0 === o ? e < n ? 1 : -1 : a(o), r(e, n, o, t) + } + } + }, function(t, e) { + var n = Math.ceil, + r = Math.max; + t.exports = function(t, e, i, a) { + for (var o = -1, s = r(n((e - t) / (i || 1)), 0), u = Array(s); s--;) u[a ? s : ++o] = t, t += i; + return u + } + }, function(t, e, n) { + var r = n(107), + i = n(376), + a = n(75), + o = n(76), + s = a((function(t, e) { + if (null == t) return []; + var n = e.length; + return n > 1 && o(t, e[0], e[1]) ? e = [] : n > 2 && o(e[0], e[1], e[2]) && (e = [e[0]]), i(t, r(e, 1), []) + })); + t.exports = s + }, function(t, e, n) { + var r = n(74), + i = n(24), + a = n(163), + o = n(377), + s = n(69), + u = n(378), + c = n(34); + t.exports = function(t, e, n) { + var f = -1; + e = r(e.length ? e : [c], s(i)); + var l = a(t, (function(t, n, i) { + return { + criteria: r(e, (function(e) { + return e(t) + })), + index: ++f, + value: t + } + })); + return o(l, (function(t, e) { + return u(t, e, n) + })) + } + }, function(t, e) { + t.exports = function(t, e) { + var n = t.length; + for (t.sort(e); n--;) t[n] = t[n].value; + return t + } + }, function(t, e, n) { + var r = n(379); + t.exports = function(t, e, n) { + for (var i = -1, a = t.criteria, o = e.criteria, s = a.length, u = n.length; ++i < s;) { + var c = r(a[i], o[i]); + if (c) return i >= u ? c : c * ("desc" == n[i] ? -1 : 1) + } + return t.index - e.index + } + }, function(t, e, n) { + var r = n(42); + t.exports = function(t, e) { + if (t !== e) { + var n = void 0 !== t, + i = null === t, + a = t == t, + o = r(t), + s = void 0 !== e, + u = null === e, + c = e == e, + f = r(e); + if (!u && !f && !o && t > e || o && s && c && !u && !f || i && s && c || !n && c || !a) return 1; + if (!i && !o && !f && t < e || f && n && a && !i && !o || u && n && a || !s && a || !c) return -1 + } + return 0 + } + }, function(t, e, n) { + var r = n(66), + i = n(381); + t.exports = function(t, e) { + return i(t || [], e || [], r) + } + }, function(t, e) { + t.exports = function(t, e, n) { + for (var r = -1, i = t.length, a = e.length, o = {}; ++r < i;) { + var s = r < a ? e[r] : void 0; + n(o, t[r], s) + } + return o + } + }, function(t, e, n) { + "use strict"; + var r = n(4), + i = n(383); + t.exports = { + run: function(t) { + var e = "greedy" === t.graph().acyclicer ? i(t, function(t) { + return function(e) { + return t.edge(e).weight + } + }(t)) : function(t) { + var e = [], + n = {}, + i = {}; + return r.forEach(t.nodes(), (function a(o) { + if (r.has(i, o)) return; + i[o] = !0, n[o] = !0, r.forEach(t.outEdges(o), (function(t) { + r.has(n, t.w) ? e.push(t) : a(t.w) + })), delete n[o] + })), e + }(t); + r.forEach(e, (function(e) { + var n = t.edge(e); + t.removeEdge(e), n.forwardName = e.name, n.reversed = !0, t.setEdge(e.w, e.v, n, r.uniqueId("rev")) + })) + }, + undo: function(t) { + r.forEach(t.edges(), (function(e) { + var n = t.edge(e); + if (n.reversed) { + t.removeEdge(e); + var r = n.forwardName; + delete n.reversed, delete n.forwardName, t.setEdge(e.w, e.v, n, r) + } + })) + } + } + }, function(t, e, n) { + var r = n(4), + i = n(19).Graph, + a = n(384); + t.exports = function(t, e) { + if (t.nodeCount() <= 1) return []; + var n = function(t, e) { + var n = new i, + o = 0, + s = 0; + r.forEach(t.nodes(), (function(t) { + n.setNode(t, { + v: t, + in : 0, + out: 0 + }) + })), r.forEach(t.edges(), (function(t) { + var r = n.edge(t.v, t.w) || 0, + i = e(t), + a = r + i; + n.setEdge(t.v, t.w, a), s = Math.max(s, n.node(t.v).out += i), o = Math.max(o, n.node(t.w).in += i) + })); + var c = r.range(s + o + 3).map((function() { + return new a + })), + f = o + 1; + return r.forEach(n.nodes(), (function(t) { + u(c, f, n.node(t)) + })), { + graph: n, + buckets: c, + zeroIdx: f + } + }(t, e || o), + c = function(t, e, n) { + var r, i = [], + a = e[e.length - 1], + o = e[0]; + for (; t.nodeCount();) { + for (; r = o.dequeue();) s(t, e, n, r); + for (; r = a.dequeue();) s(t, e, n, r); + if (t.nodeCount()) + for (var u = e.length - 2; u > 0; --u) + if (r = e[u].dequeue()) { + i = i.concat(s(t, e, n, r, !0)); + break + } + } + return i + }(n.graph, n.buckets, n.zeroIdx); + return r.flatten(r.map(c, (function(e) { + return t.outEdges(e.v, e.w) + })), !0) + }; + var o = r.constant(1); + + function s(t, e, n, i, a) { + var o = a ? [] : void 0; + return r.forEach(t.inEdges(i.v), (function(r) { + var i = t.edge(r), + s = t.node(r.v); + a && o.push({ + v: r.v, + w: r.w + }), s.out -= i, u(e, n, s) + })), r.forEach(t.outEdges(i.v), (function(r) { + var i = t.edge(r), + a = r.w, + o = t.node(a); + o.in -= i, u(e, n, o) + })), t.removeNode(i.v), o + } + + function u(t, e, n) { + n.out ? n.in ? t[n.out - n.in + e].enqueue(n) : t[t.length - 1].enqueue(n) : t[0].enqueue(n) + } + }, function(t, e) { + function n() { + var t = {}; + t._next = t._prev = t, this._sentinel = t + } + + function r(t) { + t._prev._next = t._next, t._next._prev = t._prev, delete t._next, delete t._prev + } + + function i(t, e) { + if ("_next" !== t && "_prev" !== t) return e + } + t.exports = n, n.prototype.dequeue = function() { + var t = this._sentinel, + e = t._prev; + if (e !== t) return r(e), e + }, n.prototype.enqueue = function(t) { + var e = this._sentinel; + t._prev && t._next && r(t), t._next = e._next, e._next._prev = t, e._next = t, t._prev = e + }, n.prototype.toString = function() { + for (var t = [], e = this._sentinel, n = e._prev; n !== e;) t.push(JSON.stringify(n, i)), n = n._prev; + return "[" + t.join(", ") + "]" + } + }, function(t, e, n) { + "use strict"; + var r = n(4), + i = n(10); + t.exports = { + run: function(t) { + t.graph().dummyChains = [], r.forEach(t.edges(), (function(e) { + ! function(t, e) { + var n, r, a, o = e.v, + s = t.node(o).rank, + u = e.w, + c = t.node(u).rank, + f = e.name, + l = t.edge(e), + h = l.labelRank; + if (c === s + 1) return; + for (t.removeEdge(e), a = 0, ++s; s < c; ++a, ++s) l.points = [], r = { + width: 0, + height: 0, + edgeLabel: l, + edgeObj: e, + rank: s + }, n = i.addDummyNode(t, "edge", r, "_d"), s === h && (r.width = l.width, r.height = l.height, r.dummy = "edge-label", r.labelpos = l.labelpos), t.setEdge(o, n, { + weight: l.weight + }, f), 0 === a && t.graph().dummyChains.push(n), o = n; + t.setEdge(o, u, { + weight: l.weight + }, f) + }(t, e) + })) + }, + undo: function(t) { + r.forEach(t.graph().dummyChains, (function(e) { + var n, r = t.node(e), + i = r.edgeLabel; + for (t.setEdge(r.edgeObj, i); r.dummy;) n = t.successors(e)[0], t.removeNode(e), i.points.push({ + x: r.x, + y: r.y + }), "edge-label" === r.dummy && (i.x = r.x, i.y = r.y, i.width = r.width, i.height = r.height), e = n, r = t.node(e) + })) + } + } + }, function(t, e, n) { + "use strict"; + var r = n(77).longestPath, + i = n(186), + a = n(387); + t.exports = function(t) { + switch (t.graph().ranker) { + case "network-simplex": + s(t); + break; + case "tight-tree": + ! function(t) { + r(t), i(t) + }(t); + break; + case "longest-path": + o(t); + break; + default: + s(t) + } + }; + var o = r; + + function s(t) { + a(t) + } + }, function(t, e, n) { + "use strict"; + var r = n(4), + i = n(186), + a = n(77).slack, + o = n(77).longestPath, + s = n(19).alg.preorder, + u = n(19).alg.postorder, + c = n(10).simplify; + + function f(t) { + t = c(t), o(t); + var e, n = i(t); + for (d(n), l(n, t); e = p(n);) y(n, t, e, g(n, t, e)) + } + + function l(t, e) { + var n = u(t, t.nodes()); + n = n.slice(0, n.length - 1), r.forEach(n, (function(n) { + ! function(t, e, n) { + var r = t.node(n).parent; + t.edge(n, r).cutvalue = h(t, e, n) + }(t, e, n) + })) + } + + function h(t, e, n) { + var i = t.node(n).parent, + a = !0, + o = e.edge(n, i), + s = 0; + return o || (a = !1, o = e.edge(i, n)), s = o.weight, r.forEach(e.nodeEdges(n), (function(r) { + var o, u, c = r.v === n, + f = c ? r.w : r.v; + if (f !== i) { + var l = c === a, + h = e.edge(r).weight; + if (s += l ? h : -h, o = n, u = f, t.hasEdge(o, u)) { + var d = t.edge(n, f).cutvalue; + s += l ? -d : d + } + } + })), s + } + + function d(t, e) { + arguments.length < 2 && (e = t.nodes()[0]), + function t(e, n, i, a, o) { + var s = i, + u = e.node(a); + n[a] = !0, r.forEach(e.neighbors(a), (function(o) { + r.has(n, o) || (i = t(e, n, i, o, a)) + })), u.low = s, u.lim = i++, o ? u.parent = o : delete u.parent; + return i + }(t, {}, 1, e) + } + + function p(t) { + return r.find(t.edges(), (function(e) { + return t.edge(e).cutvalue < 0 + })) + } + + function g(t, e, n) { + var i = n.v, + o = n.w; + e.hasEdge(i, o) || (i = n.w, o = n.v); + var s = t.node(i), + u = t.node(o), + c = s, + f = !1; + s.lim > u.lim && (c = u, f = !0); + var l = r.filter(e.edges(), (function(e) { + return f === b(t, t.node(e.v), c) && f !== b(t, t.node(e.w), c) + })); + return r.minBy(l, (function(t) { + return a(e, t) + })) + } + + function y(t, e, n, i) { + var a = n.v, + o = n.w; + t.removeEdge(a, o), t.setEdge(i.v, i.w, {}), d(t), l(t, e), + function(t, e) { + var n = r.find(t.nodes(), (function(t) { + return !e.node(t).parent + })), + i = s(t, n); + i = i.slice(1), r.forEach(i, (function(n) { + var r = t.node(n).parent, + i = e.edge(n, r), + a = !1; + i || (i = e.edge(r, n), a = !0), e.node(n).rank = e.node(r).rank + (a ? i.minlen : -i.minlen) + })) + }(t, e) + } + + function b(t, e, n) { + return n.low <= e.lim && e.lim <= n.lim + } + t.exports = f, f.initLowLimValues = d, f.initCutValues = l, f.calcCutValue = h, f.leaveEdge = p, f.enterEdge = g, f.exchangeEdges = y + }, function(t, e, n) { + var r = n(4); + t.exports = function(t) { + var e = function(t) { + var e = {}, + n = 0; + return r.forEach(t.children(), (function i(a) { + var o = n; + r.forEach(t.children(a), i), e[a] = { + low: o, + lim: n++ + } + })), e + }(t); + r.forEach(t.graph().dummyChains, (function(n) { + for (var r = t.node(n), i = r.edgeObj, a = function(t, e, n, r) { + var i, a, o = [], + s = [], + u = Math.min(e[n].low, e[r].low), + c = Math.max(e[n].lim, e[r].lim); + i = n; + do { + i = t.parent(i), o.push(i) + } while (i && (e[i].low > u || c > e[i].lim)); + a = i, i = r; + for (; + (i = t.parent(i)) !== a;) s.push(i); + return { + path: o.concat(s.reverse()), + lca: a + } + }(t, e, i.v, i.w), o = a.path, s = a.lca, u = 0, c = o[u], f = !0; n !== i.w;) { + if (r = t.node(n), f) { + for (; + (c = o[u]) !== s && t.node(c).maxRank < r.rank;) u++; + c === s && (f = !1) + } + if (!f) { + for (; u < o.length - 1 && t.node(c = o[u + 1]).minRank <= r.rank;) u++; + c = o[u] + } + t.setParent(n, c), n = t.successors(n)[0] + } + })) + } + }, function(t, e, n) { + var r = n(4), + i = n(10); + t.exports = { + run: function(t) { + var e = i.addDummyNode(t, "root", {}, "_root"), + n = function(t) { + var e = {}; + return r.forEach(t.children(), (function(n) { + ! function n(i, a) { + var o = t.children(i); + o && o.length && r.forEach(o, (function(t) { + n(t, a + 1) + })); + e[i] = a + }(n, 1) + })), e + }(t), + a = r.max(r.values(n)) - 1, + o = 2 * a + 1; + t.graph().nestingRoot = e, r.forEach(t.edges(), (function(e) { + t.edge(e).minlen *= o + })); + var s = function(t) { + return r.reduce(t.edges(), (function(e, n) { + return e + t.edge(n).weight + }), 0) + }(t) + 1; + r.forEach(t.children(), (function(u) { + ! function t(e, n, a, o, s, u, c) { + var f = e.children(c); + if (!f.length) return void(c !== n && e.setEdge(n, c, { + weight: 0, + minlen: a + })); + var l = i.addBorderNode(e, "_bt"), + h = i.addBorderNode(e, "_bb"), + d = e.node(c); + e.setParent(l, c), d.borderTop = l, e.setParent(h, c), d.borderBottom = h, r.forEach(f, (function(r) { + t(e, n, a, o, s, u, r); + var i = e.node(r), + f = i.borderTop ? i.borderTop : r, + d = i.borderBottom ? i.borderBottom : r, + p = i.borderTop ? o : 2 * o, + g = f !== d ? 1 : s - u[c] + 1; + e.setEdge(l, f, { + weight: p, + minlen: g, + nestingEdge: !0 + }), e.setEdge(d, h, { + weight: p, + minlen: g, + nestingEdge: !0 + }) + })), e.parent(c) || e.setEdge(n, l, { + weight: 0, + minlen: s + u[c] + }) + }(t, e, o, s, a, n, u) + })), t.graph().nodeRankFactor = o + }, + cleanup: function(t) { + var e = t.graph(); + t.removeNode(e.nestingRoot), delete e.nestingRoot, r.forEach(t.edges(), (function(e) { + t.edge(e).nestingEdge && t.removeEdge(e) + })) + } + } + }, function(t, e, n) { + var r = n(4), + i = n(10); + + function a(t, e, n, r, a, o) { + var s = { + width: 0, + height: 0, + rank: o, + borderType: e + }, + u = a[e][o - 1], + c = i.addDummyNode(t, "border", s, n); + a[e][o] = c, t.setParent(c, r), u && t.setEdge(u, c, { + weight: 1 + }) + } + t.exports = function(t) { + r.forEach(t.children(), (function e(n) { + var i = t.children(n), + o = t.node(n); + if (i.length && r.forEach(i, e), r.has(o, "minRank")) { + o.borderLeft = [], o.borderRight = []; + for (var s = o.minRank, u = o.maxRank + 1; s < u; ++s) a(t, "borderLeft", "_bl", n, o, s), a(t, "borderRight", "_br", n, o, s) + } + })) + } + }, function(t, e, n) { + "use strict"; + var r = n(4); + + function i(t) { + r.forEach(t.nodes(), (function(e) { + a(t.node(e)) + })), r.forEach(t.edges(), (function(e) { + a(t.edge(e)) + })) + } + + function a(t) { + var e = t.width; + t.width = t.height, t.height = e + } + + function o(t) { + t.y = -t.y + } + + function s(t) { + var e = t.x; + t.x = t.y, t.y = e + } + t.exports = { + adjust: function(t) { + var e = t.graph().rankdir.toLowerCase(); + "lr" !== e && "rl" !== e || i(t) + }, + undo: function(t) { + var e = t.graph().rankdir.toLowerCase(); + "bt" !== e && "rl" !== e || function(t) { + r.forEach(t.nodes(), (function(e) { + o(t.node(e)) + })), r.forEach(t.edges(), (function(e) { + var n = t.edge(e); + r.forEach(n.points, o), r.has(n, "y") && o(n) + })) + }(t); + "lr" !== e && "rl" !== e || (! function(t) { + r.forEach(t.nodes(), (function(e) { + s(t.node(e)) + })), r.forEach(t.edges(), (function(e) { + var n = t.edge(e); + r.forEach(n.points, s), r.has(n, "x") && s(n) + })) + }(t), i(t)) + } + } + }, function(t, e, n) { + "use strict"; + var r = n(4), + i = n(393), + a = n(394), + o = n(395), + s = n(399), + u = n(400), + c = n(19).Graph, + f = n(10); + + function l(t, e, n) { + return r.map(e, (function(e) { + return s(t, e, n) + })) + } + + function h(t, e) { + var n = new c; + r.forEach(t, (function(t) { + var i = t.graph().root, + a = o(t, i, n, e); + r.forEach(a.vs, (function(e, n) { + t.node(e).order = n + })), u(t, n, a.vs) + })) + } + + function d(t, e) { + r.forEach(e, (function(e) { + r.forEach(e, (function(e, n) { + t.node(e).order = n + })) + })) + } + t.exports = function(t) { + var e = f.maxRank(t), + n = l(t, r.range(1, e + 1), "inEdges"), + o = l(t, r.range(e - 1, -1, -1), "outEdges"), + s = i(t); + d(t, s); + for (var u, c = Number.POSITIVE_INFINITY, p = 0, g = 0; g < 4; ++p, ++g) { + h(p % 2 ? n : o, p % 4 >= 2), s = f.buildLayerMatrix(t); + var y = a(t, s); + y < c && (g = 0, u = r.cloneDeep(s), c = y) + } + d(t, u) + } + }, function(t, e, n) { + "use strict"; + var r = n(4); + t.exports = function(t) { + var e = {}, + n = r.filter(t.nodes(), (function(e) { + return !t.children(e).length + })), + i = r.max(r.map(n, (function(e) { + return t.node(e).rank + }))), + a = r.map(r.range(i + 1), (function() { + return [] + })); + var o = r.sortBy(n, (function(e) { + return t.node(e).rank + })); + return r.forEach(o, (function n(i) { + if (r.has(e, i)) return; + e[i] = !0; + var o = t.node(i); + a[o.rank].push(i), r.forEach(t.successors(i), n) + })), a + } + }, function(t, e, n) { + "use strict"; + var r = n(4); + + function i(t, e, n) { + for (var i = r.zipObject(n, r.map(n, (function(t, e) { + return e + }))), a = r.flatten(r.map(e, (function(e) { + return r.sortBy(r.map(t.outEdges(e), (function(e) { + return { + pos: i[e.w], + weight: t.edge(e).weight + } + })), "pos") + })), !0), o = 1; o < n.length;) o <<= 1; + var s = 2 * o - 1; + o -= 1; + var u = r.map(new Array(s), (function() { + return 0 + })), + c = 0; + return r.forEach(a.forEach((function(t) { + var e = t.pos + o; + u[e] += t.weight; + for (var n = 0; e > 0;) e % 2 && (n += u[e + 1]), u[e = e - 1 >> 1] += t.weight; + c += t.weight * n + }))), c + } + t.exports = function(t, e) { + for (var n = 0, r = 1; r < e.length; ++r) n += i(t, e[r - 1], e[r]); + return n + } + }, function(t, e, n) { + var r = n(4), + i = n(396), + a = n(397), + o = n(398); + t.exports = function t(e, n, s, u) { + var c = e.children(n), + f = e.node(n), + l = f ? f.borderLeft : void 0, + h = f ? f.borderRight : void 0, + d = {}; + l && (c = r.filter(c, (function(t) { + return t !== l && t !== h + }))); + var p = i(e, c); + r.forEach(p, (function(n) { + if (e.children(n.v).length) { + var i = t(e, n.v, s, u); + d[n.v] = i, r.has(i, "barycenter") && (a = n, o = i, r.isUndefined(a.barycenter) ? (a.barycenter = o.barycenter, a.weight = o.weight) : (a.barycenter = (a.barycenter * a.weight + o.barycenter * o.weight) / (a.weight + o.weight), a.weight += o.weight)) + } + var a, o + })); + var g = a(p, s); + ! function(t, e) { + r.forEach(t, (function(t) { + t.vs = r.flatten(t.vs.map((function(t) { + return e[t] ? e[t].vs : t + })), !0) + })) + }(g, d); + var y = o(g, u); + if (l && (y.vs = r.flatten([l, y.vs, h], !0), e.predecessors(l).length)) { + var b = e.node(e.predecessors(l)[0]), + v = e.node(e.predecessors(h)[0]); + r.has(y, "barycenter") || (y.barycenter = 0, y.weight = 0), y.barycenter = (y.barycenter * y.weight + b.order + v.order) / (y.weight + 2), y.weight += 2 + } + return y + } + }, function(t, e, n) { + var r = n(4); + t.exports = function(t, e) { + return r.map(e, (function(e) { + var n = t.inEdges(e); + if (n.length) { + var i = r.reduce(n, (function(e, n) { + var r = t.edge(n), + i = t.node(n.v); + return { + sum: e.sum + r.weight * i.order, + weight: e.weight + r.weight + } + }), { + sum: 0, + weight: 0 + }); + return { + v: e, + barycenter: i.sum / i.weight, + weight: i.weight + } + } + return { + v: e + } + })) + } + }, function(t, e, n) { + "use strict"; + var r = n(4); + t.exports = function(t, e) { + var n = {}; + return r.forEach(t, (function(t, e) { + var i = n[t.v] = { + indegree: 0, + in : [], + out: [], + vs: [t.v], + i: e + }; + r.isUndefined(t.barycenter) || (i.barycenter = t.barycenter, i.weight = t.weight) + })), r.forEach(e.edges(), (function(t) { + var e = n[t.v], + i = n[t.w]; + r.isUndefined(e) || r.isUndefined(i) || (i.indegree++, e.out.push(n[t.w])) + })), + function(t) { + var e = []; + + function n(t) { + return function(e) { + e.merged || (r.isUndefined(e.barycenter) || r.isUndefined(t.barycenter) || e.barycenter >= t.barycenter) && function(t, e) { + var n = 0, + r = 0; + t.weight && (n += t.barycenter * t.weight, r += t.weight); + e.weight && (n += e.barycenter * e.weight, r += e.weight); + t.vs = e.vs.concat(t.vs), t.barycenter = n / r, t.weight = r, t.i = Math.min(e.i, t.i), e.merged = !0 + }(t, e) + } + } + + function i(e) { + return function(n) { + n.in.push(e), 0 == --n.indegree && t.push(n) + } + } + for (; t.length;) { + var a = t.pop(); + e.push(a), r.forEach(a.in.reverse(), n(a)), r.forEach(a.out, i(a)) + } + return r.map(r.filter(e, (function(t) { + return !t.merged + })), (function(t) { + return r.pick(t, ["vs", "i", "barycenter", "weight"]) + })) + }(r.filter(n, (function(t) { + return !t.indegree + }))) + } + }, function(t, e, n) { + var r = n(4), + i = n(10); + + function a(t, e, n) { + for (var i; e.length && (i = r.last(e)).i <= n;) e.pop(), t.push(i.vs), n++; + return n + } + t.exports = function(t, e) { + var n = i.partition(t, (function(t) { + return r.has(t, "barycenter") + })), + o = n.lhs, + s = r.sortBy(n.rhs, (function(t) { + return -t.i + })), + u = [], + c = 0, + f = 0, + l = 0; + o.sort((h = !!e, function(t, e) { + return t.barycenter < e.barycenter ? -1 : t.barycenter > e.barycenter ? 1 : h ? e.i - t.i : t.i - e.i + })), l = a(u, s, l), r.forEach(o, (function(t) { + l += t.vs.length, u.push(t.vs), c += t.barycenter * t.weight, f += t.weight, l = a(u, s, l) + })); + var h; + var d = { + vs: r.flatten(u, !0) + }; + f && (d.barycenter = c / f, d.weight = f); + return d + } + }, function(t, e, n) { + var r = n(4), + i = n(19).Graph; + t.exports = function(t, e, n) { + var a = function(t) { + var e; + for (; t.hasNode(e = r.uniqueId("_root"));); + return e + }(t), + o = new i({ + compound: !0 + }).setGraph({ + root: a + }).setDefaultNodeLabel((function(e) { + return t.node(e) + })); + return r.forEach(t.nodes(), (function(i) { + var s = t.node(i), + u = t.parent(i); + (s.rank === e || s.minRank <= e && e <= s.maxRank) && (o.setNode(i), o.setParent(i, u || a), r.forEach(t[n](i), (function(e) { + var n = e.v === i ? e.w : e.v, + a = o.edge(n, i), + s = r.isUndefined(a) ? 0 : a.weight; + o.setEdge(n, i, { + weight: t.edge(e).weight + s + }) + })), r.has(s, "minRank") && o.setNode(i, { + borderLeft: s.borderLeft[e], + borderRight: s.borderRight[e] + })) + })), o + } + }, function(t, e, n) { + var r = n(4); + t.exports = function(t, e, n) { + var i, a = {}; + r.forEach(n, (function(n) { + for (var r, o, s = t.parent(n); s;) { + if ((r = t.parent(s)) ? (o = a[r], a[r] = s) : (o = i, i = s), o && o !== s) return void e.setEdge(o, s); + s = r + } + })) + } + }, function(t, e, n) { + "use strict"; + var r = n(4), + i = n(10), + a = n(402).positionX; + t.exports = function(t) { + (function(t) { + var e = i.buildLayerMatrix(t), + n = t.graph().ranksep, + a = 0; + r.forEach(e, (function(e) { + var i = r.max(r.map(e, (function(e) { + return t.node(e).height + }))); + r.forEach(e, (function(e) { + t.node(e).y = a + i / 2 + })), a += i + n + })) + })(t = i.asNonCompoundGraph(t)), r.forEach(a(t), (function(e, n) { + t.node(n).x = e + })) + } + }, function(t, e, n) { + "use strict"; + var r = n(4), + i = n(19).Graph, + a = n(10); + + function o(t, e) { + var n = {}; + return r.reduce(e, (function(e, i) { + var a = 0, + o = 0, + s = e.length, + c = r.last(i); + return r.forEach(i, (function(e, f) { + var l = function(t, e) { + if (t.node(e).dummy) return r.find(t.predecessors(e), (function(e) { + return t.node(e).dummy + })) + }(t, e), + h = l ? t.node(l).order : s; + (l || e === c) && (r.forEach(i.slice(o, f + 1), (function(e) { + r.forEach(t.predecessors(e), (function(r) { + var i = t.node(r), + o = i.order; + !(o < a || h < o) || i.dummy && t.node(e).dummy || u(n, r, e) + })) + })), o = f + 1, a = h) + })), i + })), n + } + + function s(t, e) { + var n = {}; + + function i(e, i, a, o, s) { + var c; + r.forEach(r.range(i, a), (function(i) { + c = e[i], t.node(c).dummy && r.forEach(t.predecessors(c), (function(e) { + var r = t.node(e); + r.dummy && (r.order < o || r.order > s) && u(n, e, c) + })) + })) + } + return r.reduce(e, (function(e, n) { + var a, o = -1, + s = 0; + return r.forEach(n, (function(r, u) { + if ("border" === t.node(r).dummy) { + var c = t.predecessors(r); + c.length && (a = t.node(c[0]).order, i(n, s, u, o, a), s = u, o = a) + } + i(n, s, n.length, a, e.length) + })), n + })), n + } + + function u(t, e, n) { + if (e > n) { + var r = e; + e = n, n = r + } + var i = t[e]; + i || (t[e] = i = {}), i[n] = !0 + } + + function c(t, e, n) { + if (e > n) { + var i = e; + e = n, n = i + } + return r.has(t[e], n) + } + + function f(t, e, n, i) { + var a = {}, + o = {}, + s = {}; + return r.forEach(e, (function(t) { + r.forEach(t, (function(t, e) { + a[t] = t, o[t] = t, s[t] = e + })) + })), r.forEach(e, (function(t) { + var e = -1; + r.forEach(t, (function(t) { + var u = i(t); + if (u.length) + for (var f = ((u = r.sortBy(u, (function(t) { + return s[t] + }))).length - 1) / 2, l = Math.floor(f), h = Math.ceil(f); l <= h; ++l) { + var d = u[l]; + o[t] === t && e < s[d] && !c(n, t, d) && (o[d] = t, o[t] = a[t] = a[d], e = s[d]) + } + })) + })), { + root: a, + align: o + } + } + + function l(t, e, n, a, o) { + var s = {}, + u = function(t, e, n, a) { + var o = new i, + s = t.graph(), + u = function(t, e, n) { + return function(i, a, o) { + var s, u = i.node(a), + c = i.node(o), + f = 0; + if (f += u.width / 2, r.has(u, "labelpos")) switch (u.labelpos.toLowerCase()) { + case "l": + s = -u.width / 2; + break; + case "r": + s = u.width / 2 + } + if (s && (f += n ? s : -s), s = 0, f += (u.dummy ? e : t) / 2, f += (c.dummy ? e : t) / 2, f += c.width / 2, r.has(c, "labelpos")) switch (c.labelpos.toLowerCase()) { + case "l": + s = c.width / 2; + break; + case "r": + s = -c.width / 2 + } + return s && (f += n ? s : -s), s = 0, f + } + }(s.nodesep, s.edgesep, a); + return r.forEach(e, (function(e) { + var i; + r.forEach(e, (function(e) { + var r = n[e]; + if (o.setNode(r), i) { + var a = n[i], + s = o.edge(a, r); + o.setEdge(a, r, Math.max(u(t, e, i), s || 0)) + } + i = e + })) + })), o + }(t, e, n, o), + c = o ? "borderLeft" : "borderRight"; + + function f(t, e) { + for (var n = u.nodes(), r = n.pop(), i = {}; r;) i[r] ? t(r) : (i[r] = !0, n.push(r), n = n.concat(e(r))), r = n.pop() + } + return f((function(t) { + s[t] = u.inEdges(t).reduce((function(t, e) { + return Math.max(t, s[e.v] + u.edge(e)) + }), 0) + }), u.predecessors.bind(u)), f((function(e) { + var n = u.outEdges(e).reduce((function(t, e) { + return Math.min(t, s[e.w] - u.edge(e)) + }), Number.POSITIVE_INFINITY), + r = t.node(e); + n !== Number.POSITIVE_INFINITY && r.borderType !== c && (s[e] = Math.max(s[e], n)) + }), u.successors.bind(u)), r.forEach(a, (function(t) { + s[t] = s[n[t]] + })), s + } + + function h(t, e) { + return r.minBy(r.values(e), (function(e) { + var n = Number.NEGATIVE_INFINITY, + i = Number.POSITIVE_INFINITY; + return r.forIn(e, (function(e, r) { + var a = function(t, e) { + return t.node(e).width + }(t, r) / 2; + n = Math.max(e + a, n), i = Math.min(e - a, i) + })), n - i + })) + } + + function d(t, e) { + var n = r.values(e), + i = r.min(n), + a = r.max(n); + r.forEach(["u", "d"], (function(n) { + r.forEach(["l", "r"], (function(o) { + var s, u = n + o, + c = t[u]; + if (c !== e) { + var f = r.values(c); + (s = "l" === o ? i - r.min(f) : a - r.max(f)) && (t[u] = r.mapValues(c, (function(t) { + return t + s + }))) + } + })) + })) + } + + function p(t, e) { + return r.mapValues(t.ul, (function(n, i) { + if (e) return t[e.toLowerCase()][i]; + var a = r.sortBy(r.map(t, i)); + return (a[1] + a[2]) / 2 + })) + } + t.exports = { + positionX: function(t) { + var e, n = a.buildLayerMatrix(t), + i = r.merge(o(t, n), s(t, n)), + u = {}; + r.forEach(["u", "d"], (function(a) { + e = "u" === a ? n : r.values(n).reverse(), r.forEach(["l", "r"], (function(n) { + "r" === n && (e = r.map(e, (function(t) { + return r.values(t).reverse() + }))); + var o = ("u" === a ? t.predecessors : t.successors).bind(t), + s = f(t, e, i, o), + c = l(t, e, s.root, s.align, "r" === n); + "r" === n && (c = r.mapValues(c, (function(t) { + return -t + }))), u[a + n] = c + })) + })); + var c = h(t, u); + return d(u, c), p(u, t.graph().align) + }, + findType1Conflicts: o, + findType2Conflicts: s, + addConflict: u, + hasConflict: c, + verticalAlignment: f, + horizontalCompaction: l, + alignCoordinates: d, + findSmallestWidthAlignment: h, + balance: p + } + }, function(t, e, n) { + var r = n(4), + i = n(10), + a = n(19).Graph; + t.exports = { + debugOrdering: function(t) { + var e = i.buildLayerMatrix(t), + n = new a({ + compound: !0, + multigraph: !0 + }).setGraph({}); + return r.forEach(t.nodes(), (function(e) { + n.setNode(e, { + label: e + }), n.setParent(e, "layer" + t.node(e).rank) + })), r.forEach(t.edges(), (function(t) { + n.setEdge(t.v, t.w, {}, t.name) + })), r.forEach(e, (function(t, e) { + var i = "layer" + e; + n.setNode(i, { + rank: "same" + }), r.reduce(t, (function(t, e) { + return n.setEdge(t, e, { + style: "invis" + }), e + })) + })), n + } + } + }, function(t, e) { + t.exports = "0.8.5" + }, function(t, e, n) { + t.exports = { + node: n(187), + circle: n(188), + ellipse: n(109), + polygon: n(189), + rect: n(190) + } + }, function(t, e) { + function n(t, e) { + return t * e > 0 + } + t.exports = function(t, e, r, i) { + var a, o, s, u, c, f, l, h, d, p, g, y, b; + if (a = e.y - t.y, s = t.x - e.x, c = e.x * t.y - t.x * e.y, d = a * r.x + s * r.y + c, p = a * i.x + s * i.y + c, 0 !== d && 0 !== p && n(d, p)) return; + if (o = i.y - r.y, u = r.x - i.x, f = i.x * r.y - r.x * i.y, l = o * t.x + u * t.y + f, h = o * e.x + u * e.y + f, 0 !== l && 0 !== h && n(l, h)) return; + if (0 === (g = a * u - o * s)) return; + return y = Math.abs(g / 2), { + x: (b = s * f - u * c) < 0 ? (b - y) / g : (b + y) / g, + y: (b = o * c - a * f) < 0 ? (b - y) / g : (b + y) / g + } + } + }, function(t, e, n) { + var r = n(43), + i = n(30), + a = n(175).layout; + t.exports = function() { + var t = n(408), + e = n(411), + i = n(412), + c = n(413), + f = n(414), + l = n(415), + h = n(416), + d = n(417), + p = n(418), + g = function(n, g) { + ! function(t) { + t.nodes().forEach((function(e) { + var n = t.node(e); + r.has(n, "label") || t.children(e).length || (n.label = e), r.has(n, "paddingX") && r.defaults(n, { + paddingLeft: n.paddingX, + paddingRight: n.paddingX + }), r.has(n, "paddingY") && r.defaults(n, { + paddingTop: n.paddingY, + paddingBottom: n.paddingY + }), r.has(n, "padding") && r.defaults(n, { + paddingLeft: n.padding, + paddingRight: n.padding, + paddingTop: n.padding, + paddingBottom: n.padding + }), r.defaults(n, o), r.each(["paddingLeft", "paddingRight", "paddingTop", "paddingBottom"], (function(t) { + n[t] = Number(n[t]) + })), r.has(n, "width") && (n._prevWidth = n.width), r.has(n, "height") && (n._prevHeight = n.height) + })), t.edges().forEach((function(e) { + var n = t.edge(e); + r.has(n, "label") || (n.label = ""), r.defaults(n, s) + })) + }(g); + var y = u(n, "output"), + b = u(y, "clusters"), + v = u(y, "edgePaths"), + m = i(u(y, "edgeLabels"), g), + _ = t(u(y, "nodes"), g, d); + a(g), f(_, g), l(m, g), c(v, g, p); + var w = e(b, g); + h(w, g), + function(t) { + r.each(t.nodes(), (function(e) { + var n = t.node(e); + r.has(n, "_prevWidth") ? n.width = n._prevWidth : delete n.width, r.has(n, "_prevHeight") ? n.height = n._prevHeight : delete n.height, delete n._prevWidth, delete n._prevHeight + })) + }(g) + }; + return g.createNodes = function(e) { + return arguments.length ? (t = e, g) : t + }, g.createClusters = function(t) { + return arguments.length ? (e = t, g) : e + }, g.createEdgeLabels = function(t) { + return arguments.length ? (i = t, g) : i + }, g.createEdgePaths = function(t) { + return arguments.length ? (c = t, g) : c + }, g.shapes = function(t) { + return arguments.length ? (d = t, g) : d + }, g.arrows = function(t) { + return arguments.length ? (p = t, g) : p + }, g + }; + var o = { + paddingLeft: 10, + paddingRight: 10, + paddingTop: 10, + paddingBottom: 10, + rx: 0, + ry: 0, + shape: "rect" + }, + s = { + arrowhead: "normal", + curve: i.curveLinear + }; + + function u(t, e) { + var n = t.select("g." + e); + return n.empty() && (n = t.append("g").attr("class", e)), n + } + }, function(t, e, n) { + "use strict"; + var r = n(43), + i = n(110), + a = n(15), + o = n(30); + t.exports = function(t, e, n) { + var s, u = e.nodes().filter((function(t) { + return !a.isSubgraph(e, t) + })), + c = t.selectAll("g.node").data(u, (function(t) { + return t + })).classed("update", !0); + c.exit().remove(), c.enter().append("g").attr("class", "node").style("opacity", 0), (c = t.selectAll("g.node")).each((function(t) { + var s = e.node(t), + u = o.select(this); + a.applyClass(u, s.class, (u.classed("update") ? "update " : "") + "node"), u.select("g.label").remove(); + var c = u.append("g").attr("class", "label"), + f = i(c, s), + l = n[s.shape], + h = r.pick(f.node().getBBox(), "width", "height"); + s.elem = this, s.id && u.attr("id", s.id), s.labelId && c.attr("id", s.labelId), r.has(s, "width") && (h.width = s.width), r.has(s, "height") && (h.height = s.height), h.width += s.paddingLeft + s.paddingRight, h.height += s.paddingTop + s.paddingBottom, c.attr("transform", "translate(" + (s.paddingLeft - s.paddingRight) / 2 + "," + (s.paddingTop - s.paddingBottom) / 2 + ")"); + var d = o.select(this); + d.select(".label-container").remove(); + var p = l(d, h, s).classed("label-container", !0); + a.applyStyle(p, s.style); + var g = p.node().getBBox(); + s.width = g.width, s.height = g.height + })), s = c.exit ? c.exit() : c.selectAll(null); + return a.applyTransition(s, e).style("opacity", 0).remove(), c + } + }, function(t, e, n) { + var r = n(15); + t.exports = function(t, e) { + for (var n = t.append("text"), i = function(t) { + for (var e, n = "", r = !1, i = 0; i < t.length; ++i) + if (e = t[i], r) { + switch (e) { + case "n": + n += "\n"; + break; + default: + n += e + } + r = !1 + } else "\\" === e ? r = !0 : n += e; + return n + }(e.label).split("\n"), a = 0; a < i.length; a++) n.append("tspan").attr("xml:space", "preserve").attr("dy", "1em").attr("x", "1").text(i[a]); + return r.applyStyle(n, e.labelStyle), n + } + }, function(t, e, n) { + var r = n(15); + t.exports = function(t, e) { + var n = t; + return n.node().appendChild(e.label), r.applyStyle(n, e.labelStyle), n + } + }, function(t, e, n) { + var r = n(15), + i = n(30), + a = n(110); + t.exports = function(t, e) { + var n, o = e.nodes().filter((function(t) { + return r.isSubgraph(e, t) + })), + s = t.selectAll("g.cluster").data(o, (function(t) { + return t + })); + s.selectAll("*").remove(), s.enter().append("g").attr("class", "cluster").attr("id", (function(t) { + return e.node(t).id + })).style("opacity", 0), s = t.selectAll("g.cluster"), r.applyTransition(s, e).style("opacity", 1), s.each((function(t) { + var n = e.node(t), + r = i.select(this); + i.select(this).append("rect"); + var o = r.append("g").attr("class", "label"); + a(o, n, n.clusterLabelPos) + })), s.selectAll("rect").each((function(t) { + var n = e.node(t), + a = i.select(this); + r.applyStyle(a, n.style) + })), n = s.exit ? s.exit() : s.selectAll(null); + return r.applyTransition(n, e).style("opacity", 0).remove(), s + } + }, function(t, e, n) { + "use strict"; + var r = n(43), + i = n(110), + a = n(15), + o = n(30); + t.exports = function(t, e) { + var n, s = t.selectAll("g.edgeLabel").data(e.edges(), (function(t) { + return a.edgeToId(t) + })).classed("update", !0); + s.exit().remove(), s.enter().append("g").classed("edgeLabel", !0).style("opacity", 0), (s = t.selectAll("g.edgeLabel")).each((function(t) { + var n = o.select(this); + n.select(".label").remove(); + var a = e.edge(t), + s = i(n, e.edge(t), 0, 0).classed("label", !0), + u = s.node().getBBox(); + a.labelId && s.attr("id", a.labelId), r.has(a, "width") || (a.width = u.width), r.has(a, "height") || (a.height = u.height) + })), n = s.exit ? s.exit() : s.selectAll(null); + return a.applyTransition(n, e).style("opacity", 0).remove(), s + } + }, function(t, e, n) { + "use strict"; + var r = n(43), + i = n(187), + a = n(15), + o = n(30); + + function s(t, e) { + var n = (o.line || o.svg.line)().x((function(t) { + return t.x + })).y((function(t) { + return t.y + })); + return (n.curve || n.interpolate)(t.curve), n(e) + } + t.exports = function(t, e, n) { + var u = t.selectAll("g.edgePath").data(e.edges(), (function(t) { + return a.edgeToId(t) + })).classed("update", !0), + c = function(t, e) { + var n = t.enter().append("g").attr("class", "edgePath").style("opacity", 0); + return n.append("path").attr("class", "path").attr("d", (function(t) { + var n = e.edge(t), + i = e.node(t.v).elem; + return s(n, r.range(n.points.length).map((function() { + return e = (t = i).getBBox(), { + x: (n = t.ownerSVGElement.getScreenCTM().inverse().multiply(t.getScreenCTM()).translate(e.width / 2, e.height / 2)).e, + y: n.f + }; + var t, e, n + }))) + })), n.append("defs"), n + }(u, e); + ! function(t, e) { + var n = t.exit(); + a.applyTransition(n, e).style("opacity", 0).remove() + }(u, e); + var f = void 0 !== u.merge ? u.merge(c) : u; + return a.applyTransition(f, e).style("opacity", 1), f.each((function(t) { + var n = o.select(this), + r = e.edge(t); + r.elem = this, r.id && n.attr("id", r.id), a.applyClass(n, r.class, (n.classed("update") ? "update " : "") + "edgePath") + })), f.selectAll("path.path").each((function(t) { + var n = e.edge(t); + n.arrowheadId = r.uniqueId("arrowhead"); + var u = o.select(this).attr("marker-end", (function() { + return "url(" + (t = location.href, e = n.arrowheadId, t.split("#")[0] + "#" + e) + ")"; + var t, e + })).style("fill", "none"); + a.applyTransition(u, e).attr("d", (function(t) { + return function(t, e) { + var n = t.edge(e), + r = t.node(e.v), + a = t.node(e.w), + o = n.points.slice(1, n.points.length - 1); + return o.unshift(i(r, o[0])), o.push(i(a, o[o.length - 1])), s(n, o) + }(e, t) + })), a.applyStyle(u, n.style) + })), f.selectAll("defs *").remove(), f.selectAll("defs").each((function(t) { + var r = e.edge(t); + (0, n[r.arrowhead])(o.select(this), r.arrowheadId, r, "arrowhead") + })), f + } + }, function(t, e, n) { + "use strict"; + var r = n(15), + i = n(30); + t.exports = function(t, e) { + function n(t) { + var n = e.node(t); + return "translate(" + n.x + "," + n.y + ")" + } + t.filter((function() { + return !i.select(this).classed("update") + })).attr("transform", n), r.applyTransition(t, e).style("opacity", 1).attr("transform", n) + } + }, function(t, e, n) { + "use strict"; + var r = n(15), + i = n(30), + a = n(43); + t.exports = function(t, e) { + function n(t) { + var n = e.edge(t); + return a.has(n, "x") ? "translate(" + n.x + "," + n.y + ")" : "" + } + t.filter((function() { + return !i.select(this).classed("update") + })).attr("transform", n), r.applyTransition(t, e).style("opacity", 1).attr("transform", n) + } + }, function(t, e, n) { + "use strict"; + var r = n(15), + i = n(30); + t.exports = function(t, e) { + var n = t.filter((function() { + return !i.select(this).classed("update") + })); + + function a(t) { + var n = e.node(t); + return "translate(" + n.x + "," + n.y + ")" + } + n.attr("transform", a), r.applyTransition(t, e).style("opacity", 1).attr("transform", a), r.applyTransition(n.selectAll("rect"), e).attr("width", (function(t) { + return e.node(t).width + })).attr("height", (function(t) { + return e.node(t).height + })).attr("x", (function(t) { + return -e.node(t).width / 2 + })).attr("y", (function(t) { + return -e.node(t).height / 2 + })) + } + }, function(t, e, n) { + "use strict"; + var r = n(190), + i = n(109), + a = n(188), + o = n(189); + t.exports = { + rect: function(t, e, n) { + var i = t.insert("rect", ":first-child").attr("rx", n.rx).attr("ry", n.ry).attr("x", -e.width / 2).attr("y", -e.height / 2).attr("width", e.width).attr("height", e.height); + return n.intersect = function(t) { + return r(n, t) + }, i + }, + ellipse: function(t, e, n) { + var r = e.width / 2, + a = e.height / 2, + o = t.insert("ellipse", ":first-child").attr("x", -e.width / 2).attr("y", -e.height / 2).attr("rx", r).attr("ry", a); + return n.intersect = function(t) { + return i(n, r, a, t) + }, o + }, + circle: function(t, e, n) { + var r = Math.max(e.width, e.height) / 2, + i = t.insert("circle", ":first-child").attr("x", -e.width / 2).attr("y", -e.height / 2).attr("r", r); + return n.intersect = function(t) { + return a(n, r, t) + }, i + }, + diamond: function(t, e, n) { + var r = e.width * Math.SQRT2 / 2, + i = e.height * Math.SQRT2 / 2, + a = [{ + x: 0, + y: -i + }, { + x: -r, + y: 0 + }, { + x: 0, + y: i + }, { + x: r, + y: 0 + }], + s = t.insert("polygon", ":first-child").attr("points", a.map((function(t) { + return t.x + "," + t.y + })).join(" ")); + return n.intersect = function(t) { + return o(n, a, t) + }, s + } + } + }, function(t, e, n) { + var r = n(15); + + function i(t, e, n, i) { + var a = t.append("marker").attr("id", e).attr("viewBox", "0 0 10 10").attr("refX", 9).attr("refY", 5).attr("markerUnits", "strokeWidth").attr("markerWidth", 8).attr("markerHeight", 6).attr("orient", "auto").append("path").attr("d", "M 0 0 L 10 5 L 0 10 z").style("stroke-width", 1).style("stroke-dasharray", "1,0"); + r.applyStyle(a, n[i + "Style"]), n[i + "Class"] && a.attr("class", n[i + "Class"]) + } + t.exports = { + default: i, + normal: i, + vee: function(t, e, n, i) { + var a = t.append("marker").attr("id", e).attr("viewBox", "0 0 10 10").attr("refX", 9).attr("refY", 5).attr("markerUnits", "strokeWidth").attr("markerWidth", 8).attr("markerHeight", 6).attr("orient", "auto").append("path").attr("d", "M 0 0 L 10 5 L 0 10 L 4 5 z").style("stroke-width", 1).style("stroke-dasharray", "1,0"); + r.applyStyle(a, n[i + "Style"]), n[i + "Class"] && a.attr("class", n[i + "Class"]) + }, + undirected: function(t, e, n, i) { + var a = t.append("marker").attr("id", e).attr("viewBox", "0 0 10 10").attr("refX", 9).attr("refY", 5).attr("markerUnits", "strokeWidth").attr("markerWidth", 8).attr("markerHeight", 6).attr("orient", "auto").append("path").attr("d", "M 0 5 L 10 5").style("stroke-width", 1).style("stroke-dasharray", "1,0"); + r.applyStyle(a, n[i + "Style"]), n[i + "Class"] && a.attr("class", n[i + "Class"]) + } + } + }, function(t, e) { + t.exports = "0.6.4" + }, function(t, e, n) { + "use strict"; + e.randomBytes = e.rng = e.pseudoRandomBytes = e.prng = n(44), e.createHash = e.Hash = n(53), e.createHmac = e.Hmac = n(199); + var r = n(439), + i = Object.keys(r), + a = ["sha1", "sha224", "sha256", "sha384", "sha512", "md5", "rmd160"].concat(i); + e.getHashes = function() { + return a + }; + var o = n(202); + e.pbkdf2 = o.pbkdf2, e.pbkdf2Sync = o.pbkdf2Sync; + var s = n(441); + e.Cipher = s.Cipher, e.createCipher = s.createCipher, e.Cipheriv = s.Cipheriv, e.createCipheriv = s.createCipheriv, e.Decipher = s.Decipher, e.createDecipher = s.createDecipher, e.Decipheriv = s.Decipheriv, e.createDecipheriv = s.createDecipheriv, e.getCiphers = s.getCiphers, e.listCiphers = s.listCiphers; + var u = n(456); + e.DiffieHellmanGroup = u.DiffieHellmanGroup, e.createDiffieHellmanGroup = u.createDiffieHellmanGroup, e.getDiffieHellman = u.getDiffieHellman, e.createDiffieHellman = u.createDiffieHellman, e.DiffieHellman = u.DiffieHellman; + var c = n(461); + e.createSign = c.createSign, e.Sign = c.Sign, e.createVerify = c.createVerify, e.Verify = c.Verify, e.createECDH = n(495); + var f = n(496); + e.publicEncrypt = f.publicEncrypt, e.privateEncrypt = f.privateEncrypt, e.publicDecrypt = f.publicDecrypt, e.privateDecrypt = f.privateDecrypt; + var l = n(499); + e.randomFill = l.randomFill, e.randomFillSync = l.randomFillSync, e.createCredentials = function() { + throw new Error(["sorry, createCredentials is not implemented yet", "we accept pull requests", "https://github.com/crypto-browserify/crypto-browserify"].join("\n")) + }, e.constants = { + DH_CHECK_P_NOT_SAFE_PRIME: 2, + DH_CHECK_P_NOT_PRIME: 1, + DH_UNABLE_TO_CHECK_GENERATOR: 4, + DH_NOT_SUITABLE_GENERATOR: 8, + NPN_ENABLED: 1, + ALPN_ENABLED: 1, + RSA_PKCS1_PADDING: 1, + RSA_SSLV23_PADDING: 2, + RSA_NO_PADDING: 3, + RSA_PKCS1_OAEP_PADDING: 4, + RSA_X931_PADDING: 5, + RSA_PKCS1_PSS_PADDING: 6, + POINT_CONVERSION_COMPRESSED: 2, + POINT_CONVERSION_UNCOMPRESSED: 4, + POINT_CONVERSION_HYBRID: 6 + } + }, function(t, e, n) { + "use strict"; + e.byteLength = function(t) { + var e = c(t), + n = e[0], + r = e[1]; + return 3 * (n + r) / 4 - r + }, e.toByteArray = function(t) { + var e, n, r = c(t), + o = r[0], + s = r[1], + u = new a(function(t, e, n) { + return 3 * (e + n) / 4 - n + }(0, o, s)), + f = 0, + l = s > 0 ? o - 4 : o; + for (n = 0; n < l; n += 4) e = i[t.charCodeAt(n)] << 18 | i[t.charCodeAt(n + 1)] << 12 | i[t.charCodeAt(n + 2)] << 6 | i[t.charCodeAt(n + 3)], u[f++] = e >> 16 & 255, u[f++] = e >> 8 & 255, u[f++] = 255 & e; + 2 === s && (e = i[t.charCodeAt(n)] << 2 | i[t.charCodeAt(n + 1)] >> 4, u[f++] = 255 & e); + 1 === s && (e = i[t.charCodeAt(n)] << 10 | i[t.charCodeAt(n + 1)] << 4 | i[t.charCodeAt(n + 2)] >> 2, u[f++] = e >> 8 & 255, u[f++] = 255 & e); + return u + }, e.fromByteArray = function(t) { + for (var e, n = t.length, i = n % 3, a = [], o = 0, s = n - i; o < s; o += 16383) a.push(f(t, o, o + 16383 > s ? s : o + 16383)); + 1 === i ? (e = t[n - 1], a.push(r[e >> 2] + r[e << 4 & 63] + "==")) : 2 === i && (e = (t[n - 2] << 8) + t[n - 1], a.push(r[e >> 10] + r[e >> 4 & 63] + r[e << 2 & 63] + "=")); + return a.join("") + }; + for (var r = [], i = [], a = "undefined" != typeof Uint8Array ? Uint8Array : Array, o = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", s = 0, u = o.length; s < u; ++s) r[s] = o[s], i[o.charCodeAt(s)] = s; + + function c(t) { + var e = t.length; + if (e % 4 > 0) throw new Error("Invalid string. Length must be a multiple of 4"); + var n = t.indexOf("="); + return -1 === n && (n = e), [n, n === e ? 0 : 4 - n % 4] + } + + function f(t, e, n) { + for (var i, a, o = [], s = e; s < n; s += 3) i = (t[s] << 16 & 16711680) + (t[s + 1] << 8 & 65280) + (255 & t[s + 2]), o.push(r[(a = i) >> 18 & 63] + r[a >> 12 & 63] + r[a >> 6 & 63] + r[63 & a]); + return o.join("") + } + i["-".charCodeAt(0)] = 62, i["_".charCodeAt(0)] = 63 + }, function(t, e) { + e.read = function(t, e, n, r, i) { + var a, o, s = 8 * i - r - 1, + u = (1 << s) - 1, + c = u >> 1, + f = -7, + l = n ? i - 1 : 0, + h = n ? -1 : 1, + d = t[e + l]; + for (l += h, a = d & (1 << -f) - 1, d >>= -f, f += s; f > 0; a = 256 * a + t[e + l], l += h, f -= 8); + for (o = a & (1 << -f) - 1, a >>= -f, f += r; f > 0; o = 256 * o + t[e + l], l += h, f -= 8); + if (0 === a) a = 1 - c; + else { + if (a === u) return o ? NaN : 1 / 0 * (d ? -1 : 1); + o += Math.pow(2, r), a -= c + } + return (d ? -1 : 1) * o * Math.pow(2, a - r) + }, e.write = function(t, e, n, r, i, a) { + var o, s, u, c = 8 * a - i - 1, + f = (1 << c) - 1, + l = f >> 1, + h = 23 === i ? Math.pow(2, -24) - Math.pow(2, -77) : 0, + d = r ? 0 : a - 1, + p = r ? 1 : -1, + g = e < 0 || 0 === e && 1 / e < 0 ? 1 : 0; + for (e = Math.abs(e), isNaN(e) || e === 1 / 0 ? (s = isNaN(e) ? 1 : 0, o = f) : (o = Math.floor(Math.log(e) / Math.LN2), e * (u = Math.pow(2, -o)) < 1 && (o--, u *= 2), (e += o + l >= 1 ? h / u : h * Math.pow(2, 1 - l)) * u >= 2 && (o++, u /= 2), o + l >= f ? (s = 0, o = f) : o + l >= 1 ? (s = (e * u - 1) * Math.pow(2, i), o += l) : (s = e * Math.pow(2, l - 1) * Math.pow(2, i), o = 0)); i >= 8; t[n + d] = 255 & s, d += p, s /= 256, i -= 8); + for (o = o << i | s, c += i; c > 0; t[n + d] = 255 & o, d += p, o /= 256, c -= 8); + t[n + d - p] |= 128 * g + } + }, function(t, e) {}, function(t, e, n) { + "use strict"; + var r = n(115).Buffer, + i = n(425); + t.exports = function() { + function t() { + ! function(t, e) { + if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") + }(this, t), this.head = null, this.tail = null, this.length = 0 + } + return t.prototype.push = function(t) { + var e = { + data: t, + next: null + }; + this.length > 0 ? this.tail.next = e : this.head = e, this.tail = e, ++this.length + }, t.prototype.unshift = function(t) { + var e = { + data: t, + next: this.head + }; + 0 === this.length && (this.tail = e), this.head = e, ++this.length + }, t.prototype.shift = function() { + if (0 !== this.length) { + var t = this.head.data; + return 1 === this.length ? this.head = this.tail = null : this.head = this.head.next, --this.length, t + } + }, t.prototype.clear = function() { + this.head = this.tail = null, this.length = 0 + }, t.prototype.join = function(t) { + if (0 === this.length) return ""; + for (var e = this.head, n = "" + e.data; e = e.next;) n += t + e.data; + return n + }, t.prototype.concat = function(t) { + if (0 === this.length) return r.alloc(0); + if (1 === this.length) return this.head.data; + for (var e, n, i, a = r.allocUnsafe(t >>> 0), o = this.head, s = 0; o;) e = o.data, n = a, i = s, e.copy(n, i), s += o.data.length, o = o.next; + return a + }, t + }(), i && i.inspect && i.inspect.custom && (t.exports.prototype[i.inspect.custom] = function() { + var t = i.inspect({ + length: this.length + }); + return this.constructor.name + " " + t + }) + }, function(t, e) {}, function(t, e, n) { + (function(t) { + var r = void 0 !== t && t || "undefined" != typeof self && self || window, + i = Function.prototype.apply; + + function a(t, e) { + this._id = t, this._clearFn = e + } + e.setTimeout = function() { + return new a(i.call(setTimeout, r, arguments), clearTimeout) + }, e.setInterval = function() { + return new a(i.call(setInterval, r, arguments), clearInterval) + }, e.clearTimeout = e.clearInterval = function(t) { + t && t.close() + }, a.prototype.unref = a.prototype.ref = function() {}, a.prototype.close = function() { + this._clearFn.call(r, this._id) + }, e.enroll = function(t, e) { + clearTimeout(t._idleTimeoutId), t._idleTimeout = e + }, e.unenroll = function(t) { + clearTimeout(t._idleTimeoutId), t._idleTimeout = -1 + }, e._unrefActive = e.active = function(t) { + clearTimeout(t._idleTimeoutId); + var e = t._idleTimeout; + e >= 0 && (t._idleTimeoutId = setTimeout((function() { + t._onTimeout && t._onTimeout() + }), e)) + }, n(427), e.setImmediate = "undefined" != typeof self && self.setImmediate || void 0 !== t && t.setImmediate || this && this.setImmediate, e.clearImmediate = "undefined" != typeof self && self.clearImmediate || void 0 !== t && t.clearImmediate || this && this.clearImmediate + }).call(this, n(12)) + }, function(t, e, n) { + (function(t, e) { + ! function(t, n) { + "use strict"; + if (!t.setImmediate) { + var r, i, a, o, s, u = 1, + c = {}, + f = !1, + l = t.document, + h = Object.getPrototypeOf && Object.getPrototypeOf(t); + h = h && h.setTimeout ? h : t, "[object process]" === {}.toString.call(t.process) ? r = function(t) { + e.nextTick((function() { + p(t) + })) + } : ! function() { + if (t.postMessage && !t.importScripts) { + var e = !0, + n = t.onmessage; + return t.onmessage = function() { + e = !1 + }, t.postMessage("", "*"), t.onmessage = n, e + } + }() ? t.MessageChannel ? ((a = new MessageChannel).port1.onmessage = function(t) { + p(t.data) + }, r = function(t) { + a.port2.postMessage(t) + }) : l && "onreadystatechange" in l.createElement("script") ? (i = l.documentElement, r = function(t) { + var e = l.createElement("script"); + e.onreadystatechange = function() { + p(t), e.onreadystatechange = null, i.removeChild(e), e = null + }, i.appendChild(e) + }) : r = function(t) { + setTimeout(p, 0, t) + } : (o = "setImmediate$" + Math.random() + "$", s = function(e) { + e.source === t && "string" == typeof e.data && 0 === e.data.indexOf(o) && p(+e.data.slice(o.length)) + }, t.addEventListener ? t.addEventListener("message", s, !1) : t.attachEvent("onmessage", s), r = function(e) { + t.postMessage(o + e, "*") + }), h.setImmediate = function(t) { + "function" != typeof t && (t = new Function("" + t)); + for (var e = new Array(arguments.length - 1), n = 0; n < e.length; n++) e[n] = arguments[n + 1]; + var i = { + callback: t, + args: e + }; + return c[u] = i, r(u), u++ + }, h.clearImmediate = d + } + + function d(t) { + delete c[t] + } + + function p(t) { + if (f) setTimeout(p, 0, t); + else { + var e = c[t]; + if (e) { + f = !0; + try { + ! function(t) { + var e = t.callback, + r = t.args; + switch (r.length) { + case 0: + e(); + break; + case 1: + e(r[0]); + break; + case 2: + e(r[0], r[1]); + break; + case 3: + e(r[0], r[1], r[2]); + break; + default: + e.apply(n, r) + } + }(e) + } finally { + d(t), f = !1 + } + } + } + } + }("undefined" == typeof self ? void 0 === t ? this : t : self) + }).call(this, n(12), n(7)) + }, function(t, e, n) { + (function(e) { + function n(t) { + try { + if (!e.localStorage) return !1 + } catch (t) { + return !1 + } + var n = e.localStorage[t]; + return null != n && "true" === String(n).toLowerCase() + } + t.exports = function(t, e) { + if (n("noDeprecation")) return t; + var r = !1; + return function() { + if (!r) { + if (n("throwDeprecation")) throw new Error(e); + n("traceDeprecation") ? console.trace(e) : console.warn(e), r = !0 + } + return t.apply(this, arguments) + } + } + }).call(this, n(12)) + }, function(t, e, n) { + "use strict"; + t.exports = a; + var r = n(196), + i = n(54); + + function a(t) { + if (!(this instanceof a)) return new a(t); + r.call(this, t) + } + i.inherits = n(2), i.inherits(a, r), a.prototype._transform = function(t, e, n) { + n(null, t) + } + }, function(t, e, n) { + t.exports = n(116) + }, function(t, e, n) { + t.exports = n(35) + }, function(t, e, n) { + t.exports = n(114).Transform + }, function(t, e, n) { + t.exports = n(114).PassThrough + }, function(t, e, n) { + var r = n(2), + i = n(45), + a = n(3).Buffer, + o = [1518500249, 1859775393, -1894007588, -899497514], + s = new Array(80); + + function u() { + this.init(), this._w = s, i.call(this, 64, 56) + } + + function c(t) { + return t << 30 | t >>> 2 + } + + function f(t, e, n, r) { + return 0 === t ? e & n | ~e & r : 2 === t ? e & n | e & r | n & r : e ^ n ^ r + } + r(u, i), u.prototype.init = function() { + return this._a = 1732584193, this._b = 4023233417, this._c = 2562383102, this._d = 271733878, this._e = 3285377520, this + }, u.prototype._update = function(t) { + for (var e, n = this._w, r = 0 | this._a, i = 0 | this._b, a = 0 | this._c, s = 0 | this._d, u = 0 | this._e, l = 0; l < 16; ++l) n[l] = t.readInt32BE(4 * l); + for (; l < 80; ++l) n[l] = n[l - 3] ^ n[l - 8] ^ n[l - 14] ^ n[l - 16]; + for (var h = 0; h < 80; ++h) { + var d = ~~(h / 20), + p = 0 | ((e = r) << 5 | e >>> 27) + f(d, i, a, s) + u + n[h] + o[d]; + u = s, s = a, a = c(i), i = r, r = p + } + this._a = r + this._a | 0, this._b = i + this._b | 0, this._c = a + this._c | 0, this._d = s + this._d | 0, this._e = u + this._e | 0 + }, u.prototype._hash = function() { + var t = a.allocUnsafe(20); + return t.writeInt32BE(0 | this._a, 0), t.writeInt32BE(0 | this._b, 4), t.writeInt32BE(0 | this._c, 8), t.writeInt32BE(0 | this._d, 12), t.writeInt32BE(0 | this._e, 16), t + }, t.exports = u + }, function(t, e, n) { + var r = n(2), + i = n(45), + a = n(3).Buffer, + o = [1518500249, 1859775393, -1894007588, -899497514], + s = new Array(80); + + function u() { + this.init(), this._w = s, i.call(this, 64, 56) + } + + function c(t) { + return t << 5 | t >>> 27 + } + + function f(t) { + return t << 30 | t >>> 2 + } + + function l(t, e, n, r) { + return 0 === t ? e & n | ~e & r : 2 === t ? e & n | e & r | n & r : e ^ n ^ r + } + r(u, i), u.prototype.init = function() { + return this._a = 1732584193, this._b = 4023233417, this._c = 2562383102, this._d = 271733878, this._e = 3285377520, this + }, u.prototype._update = function(t) { + for (var e, n = this._w, r = 0 | this._a, i = 0 | this._b, a = 0 | this._c, s = 0 | this._d, u = 0 | this._e, h = 0; h < 16; ++h) n[h] = t.readInt32BE(4 * h); + for (; h < 80; ++h) n[h] = (e = n[h - 3] ^ n[h - 8] ^ n[h - 14] ^ n[h - 16]) << 1 | e >>> 31; + for (var d = 0; d < 80; ++d) { + var p = ~~(d / 20), + g = c(r) + l(p, i, a, s) + u + n[d] + o[p] | 0; + u = s, s = a, a = f(i), i = r, r = g + } + this._a = r + this._a | 0, this._b = i + this._b | 0, this._c = a + this._c | 0, this._d = s + this._d | 0, this._e = u + this._e | 0 + }, u.prototype._hash = function() { + var t = a.allocUnsafe(20); + return t.writeInt32BE(0 | this._a, 0), t.writeInt32BE(0 | this._b, 4), t.writeInt32BE(0 | this._c, 8), t.writeInt32BE(0 | this._d, 12), t.writeInt32BE(0 | this._e, 16), t + }, t.exports = u + }, function(t, e, n) { + var r = n(2), + i = n(197), + a = n(45), + o = n(3).Buffer, + s = new Array(64); + + function u() { + this.init(), this._w = s, a.call(this, 64, 56) + } + r(u, i), u.prototype.init = function() { + return this._a = 3238371032, this._b = 914150663, this._c = 812702999, this._d = 4144912697, this._e = 4290775857, this._f = 1750603025, this._g = 1694076839, this._h = 3204075428, this + }, u.prototype._hash = function() { + var t = o.allocUnsafe(28); + return t.writeInt32BE(this._a, 0), t.writeInt32BE(this._b, 4), t.writeInt32BE(this._c, 8), t.writeInt32BE(this._d, 12), t.writeInt32BE(this._e, 16), t.writeInt32BE(this._f, 20), t.writeInt32BE(this._g, 24), t + }, t.exports = u + }, function(t, e, n) { + var r = n(2), + i = n(198), + a = n(45), + o = n(3).Buffer, + s = new Array(160); + + function u() { + this.init(), this._w = s, a.call(this, 128, 112) + } + r(u, i), u.prototype.init = function() { + return this._ah = 3418070365, this._bh = 1654270250, this._ch = 2438529370, this._dh = 355462360, this._eh = 1731405415, this._fh = 2394180231, this._gh = 3675008525, this._hh = 1203062813, this._al = 3238371032, this._bl = 914150663, this._cl = 812702999, this._dl = 4144912697, this._el = 4290775857, this._fl = 1750603025, this._gl = 1694076839, this._hl = 3204075428, this + }, u.prototype._hash = function() { + var t = o.allocUnsafe(48); + + function e(e, n, r) { + t.writeInt32BE(e, r), t.writeInt32BE(n, r + 4) + } + return e(this._ah, this._al, 0), e(this._bh, this._bl, 8), e(this._ch, this._cl, 16), e(this._dh, this._dl, 24), e(this._eh, this._el, 32), e(this._fh, this._fl, 40), t + }, t.exports = u + }, function(t, e, n) { + "use strict"; + var r = n(2), + i = n(3).Buffer, + a = n(31), + o = i.alloc(128), + s = 64; + + function u(t, e) { + a.call(this, "digest"), "string" == typeof e && (e = i.from(e)), this._alg = t, this._key = e, e.length > s ? e = t(e) : e.length < s && (e = i.concat([e, o], s)); + for (var n = this._ipad = i.allocUnsafe(s), r = this._opad = i.allocUnsafe(s), u = 0; u < s; u++) n[u] = 54 ^ e[u], r[u] = 92 ^ e[u]; + this._hash = [n] + } + r(u, a), u.prototype._update = function(t) { + this._hash.push(t) + }, u.prototype._final = function() { + var t = this._alg(i.concat(this._hash)); + return this._alg(i.concat([this._opad, t])) + }, t.exports = u + }, function(t, e, n) { + t.exports = n(201) + }, function(t, e, n) { + (function(e, r) { + var i, a = n(203), + o = n(204), + s = n(205), + u = n(3).Buffer, + c = e.crypto && e.crypto.subtle, + f = { + sha: "SHA-1", + "sha-1": "SHA-1", + sha1: "SHA-1", + sha256: "SHA-256", + "sha-256": "SHA-256", + sha384: "SHA-384", + "sha-384": "SHA-384", + "sha-512": "SHA-512", + sha512: "SHA-512" + }, + l = []; + + function h(t, e, n, r, i) { + return c.importKey("raw", t, { + name: "PBKDF2" + }, !1, ["deriveBits"]).then((function(t) { + return c.deriveBits({ + name: "PBKDF2", + salt: e, + iterations: n, + hash: { + name: i + } + }, t, r << 3) + })).then((function(t) { + return u.from(t) + })) + } + t.exports = function(t, n, d, p, g, y) { + "function" == typeof g && (y = g, g = void 0); + var b = f[(g = g || "sha1").toLowerCase()]; + if (!b || "function" != typeof e.Promise) return r.nextTick((function() { + var e; + try { + e = s(t, n, d, p, g) + } catch (t) { + return y(t) + } + y(null, e) + })); + if (a(t, n, d, p), "function" != typeof y) throw new Error("No callback provided to pbkdf2"); + u.isBuffer(t) || (t = u.from(t, o)), u.isBuffer(n) || (n = u.from(n, o)), + function(t, e) { + t.then((function(t) { + r.nextTick((function() { + e(null, t) + })) + }), (function(t) { + r.nextTick((function() { + e(t) + })) + })) + }(function(t) { + if (e.process && !e.process.browser) return Promise.resolve(!1); + if (!c || !c.importKey || !c.deriveBits) return Promise.resolve(!1); + if (void 0 !== l[t]) return l[t]; + var n = h(i = i || u.alloc(8), i, 10, 128, t).then((function() { + return !0 + })).catch((function() { + return !1 + })); + return l[t] = n, n + }(b).then((function(e) { + return e ? h(t, n, d, p, b) : s(t, n, d, p, g) + })), y) + } + }).call(this, n(12), n(7)) + }, function(t, e, n) { + var r = n(442), + i = n(121), + a = n(122), + o = n(455), + s = n(80); + + function u(t, e, n) { + if (t = t.toLowerCase(), a[t]) return i.createCipheriv(t, e, n); + if (o[t]) return new r({ + key: e, + iv: n, + mode: t + }); + throw new TypeError("invalid suite type") + } + + function c(t, e, n) { + if (t = t.toLowerCase(), a[t]) return i.createDecipheriv(t, e, n); + if (o[t]) return new r({ + key: e, + iv: n, + mode: t, + decrypt: !0 + }); + throw new TypeError("invalid suite type") + } + e.createCipher = e.Cipher = function(t, e) { + var n, r; + if (t = t.toLowerCase(), a[t]) n = a[t].key, r = a[t].iv; + else { + if (!o[t]) throw new TypeError("invalid suite type"); + n = 8 * o[t].key, r = o[t].iv + } + var i = s(e, !1, n, r); + return u(t, i.key, i.iv) + }, e.createCipheriv = e.Cipheriv = u, e.createDecipher = e.Decipher = function(t, e) { + var n, r; + if (t = t.toLowerCase(), a[t]) n = a[t].key, r = a[t].iv; + else { + if (!o[t]) throw new TypeError("invalid suite type"); + n = 8 * o[t].key, r = o[t].iv + } + var i = s(e, !1, n, r); + return c(t, i.key, i.iv) + }, e.createDecipheriv = e.Decipheriv = c, e.listCiphers = e.getCiphers = function() { + return Object.keys(o).concat(i.getCiphers()) + } + }, function(t, e, n) { + var r = n(31), + i = n(443), + a = n(2), + o = n(3).Buffer, + s = { + "des-ede3-cbc": i.CBC.instantiate(i.EDE), + "des-ede3": i.EDE, + "des-ede-cbc": i.CBC.instantiate(i.EDE), + "des-ede": i.EDE, + "des-cbc": i.CBC.instantiate(i.DES), + "des-ecb": i.DES + }; + + function u(t) { + r.call(this); + var e, n = t.mode.toLowerCase(), + i = s[n]; + e = t.decrypt ? "decrypt" : "encrypt"; + var a = t.key; + o.isBuffer(a) || (a = o.from(a)), "des-ede" !== n && "des-ede-cbc" !== n || (a = o.concat([a, a.slice(0, 8)])); + var u = t.iv; + o.isBuffer(u) || (u = o.from(u)), this._des = i.create({ + key: a, + iv: u, + type: e + }) + } + s.des = s["des-cbc"], s.des3 = s["des-ede3-cbc"], t.exports = u, a(u, r), u.prototype._update = function(t) { + return o.from(this._des.update(t)) + }, u.prototype._final = function() { + return o.from(this._des.final()) + } + }, function(t, e, n) { + "use strict"; + e.utils = n(206), e.Cipher = n(120), e.DES = n(207), e.CBC = n(444), e.EDE = n(445) + }, function(t, e, n) { + "use strict"; + var r = n(16), + i = n(2), + a = {}; + + function o(t) { + r.equal(t.length, 8, "Invalid IV length"), this.iv = new Array(8); + for (var e = 0; e < this.iv.length; e++) this.iv[e] = t[e] + } + e.instantiate = function(t) { + function e(e) { + t.call(this, e), this._cbcInit() + } + i(e, t); + for (var n = Object.keys(a), r = 0; r < n.length; r++) { + var o = n[r]; + e.prototype[o] = a[o] + } + return e.create = function(t) { + return new e(t) + }, e + }, a._cbcInit = function() { + var t = new o(this.options.iv); + this._cbcState = t + }, a._update = function(t, e, n, r) { + var i = this._cbcState, + a = this.constructor.super_.prototype, + o = i.iv; + if ("encrypt" === this.type) { + for (var s = 0; s < this.blockSize; s++) o[s] ^= t[e + s]; + a._update.call(this, o, 0, n, r); + for (s = 0; s < this.blockSize; s++) o[s] = n[r + s] + } else { + a._update.call(this, t, e, n, r); + for (s = 0; s < this.blockSize; s++) n[r + s] ^= o[s]; + for (s = 0; s < this.blockSize; s++) o[s] = t[e + s] + } + } + }, function(t, e, n) { + "use strict"; + var r = n(16), + i = n(2), + a = n(120), + o = n(207); + + function s(t, e) { + r.equal(e.length, 24, "Invalid key length"); + var n = e.slice(0, 8), + i = e.slice(8, 16), + a = e.slice(16, 24); + this.ciphers = "encrypt" === t ? [o.create({ + type: "encrypt", + key: n + }), o.create({ + type: "decrypt", + key: i + }), o.create({ + type: "encrypt", + key: a + })] : [o.create({ + type: "decrypt", + key: a + }), o.create({ + type: "encrypt", + key: i + }), o.create({ + type: "decrypt", + key: n + })] + } + + function u(t) { + a.call(this, t); + var e = new s(this.type, this.options.key); + this._edeState = e + } + i(u, a), t.exports = u, u.create = function(t) { + return new u(t) + }, u.prototype._update = function(t, e, n, r) { + var i = this._edeState; + i.ciphers[0]._update(t, e, n, r), i.ciphers[1]._update(n, r, n, r), i.ciphers[2]._update(n, r, n, r) + }, u.prototype._pad = o.prototype._pad, u.prototype._unpad = o.prototype._unpad + }, function(t, e, n) { + var r = n(122), + i = n(211), + a = n(3).Buffer, + o = n(212), + s = n(31), + u = n(79), + c = n(80); + + function f(t, e, n) { + s.call(this), this._cache = new h, this._cipher = new u.AES(e), this._prev = a.from(n), this._mode = t, this._autopadding = !0 + } + n(2)(f, s), f.prototype._update = function(t) { + var e, n; + this._cache.add(t); + for (var r = []; e = this._cache.get();) n = this._mode.encrypt(this, e), r.push(n); + return a.concat(r) + }; + var l = a.alloc(16, 16); + + function h() { + this.cache = a.allocUnsafe(0) + } + + function d(t, e, n) { + var s = r[t.toLowerCase()]; + if (!s) throw new TypeError("invalid suite type"); + if ("string" == typeof e && (e = a.from(e)), e.length !== s.key / 8) throw new TypeError("invalid key length " + e.length); + if ("string" == typeof n && (n = a.from(n)), "GCM" !== s.mode && n.length !== s.iv) throw new TypeError("invalid iv length " + n.length); + return "stream" === s.type ? new o(s.module, e, n) : "auth" === s.type ? new i(s.module, e, n) : new f(s.module, e, n) + } + f.prototype._final = function() { + var t = this._cache.flush(); + if (this._autopadding) return t = this._mode.encrypt(this, t), this._cipher.scrub(), t; + if (!t.equals(l)) throw this._cipher.scrub(), new Error("data not multiple of block length") + }, f.prototype.setAutoPadding = function(t) { + return this._autopadding = !!t, this + }, h.prototype.add = function(t) { + this.cache = a.concat([this.cache, t]) + }, h.prototype.get = function() { + if (this.cache.length > 15) { + var t = this.cache.slice(0, 16); + return this.cache = this.cache.slice(16), t + } + return null + }, h.prototype.flush = function() { + for (var t = 16 - this.cache.length, e = a.allocUnsafe(t), n = -1; ++n < t;) e.writeUInt8(t, n); + return a.concat([this.cache, e]) + }, e.createCipheriv = d, e.createCipher = function(t, e) { + var n = r[t.toLowerCase()]; + if (!n) throw new TypeError("invalid suite type"); + var i = c(e, !1, n.key, n.iv); + return d(t, i.key, i.iv) + } + }, function(t, e) { + e.encrypt = function(t, e) { + return t._cipher.encryptBlock(e) + }, e.decrypt = function(t, e) { + return t._cipher.decryptBlock(e) + } + }, function(t, e, n) { + var r = n(55); + e.encrypt = function(t, e) { + var n = r(e, t._prev); + return t._prev = t._cipher.encryptBlock(n), t._prev + }, e.decrypt = function(t, e) { + var n = t._prev; + t._prev = e; + var i = t._cipher.decryptBlock(e); + return r(i, n) + } + }, function(t, e, n) { + var r = n(3).Buffer, + i = n(55); + + function a(t, e, n) { + var a = e.length, + o = i(e, t._cache); + return t._cache = t._cache.slice(a), t._prev = r.concat([t._prev, n ? e : o]), o + } + e.encrypt = function(t, e, n) { + for (var i, o = r.allocUnsafe(0); e.length;) { + if (0 === t._cache.length && (t._cache = t._cipher.encryptBlock(t._prev), t._prev = r.allocUnsafe(0)), !(t._cache.length <= e.length)) { + o = r.concat([o, a(t, e, n)]); + break + } + i = t._cache.length, o = r.concat([o, a(t, e.slice(0, i), n)]), e = e.slice(i) + } + return o + } + }, function(t, e, n) { + var r = n(3).Buffer; + + function i(t, e, n) { + var i = t._cipher.encryptBlock(t._prev)[0] ^ e; + return t._prev = r.concat([t._prev.slice(1), r.from([n ? e : i])]), i + } + e.encrypt = function(t, e, n) { + for (var a = e.length, o = r.allocUnsafe(a), s = -1; ++s < a;) o[s] = i(t, e[s], n); + return o + } + }, function(t, e, n) { + var r = n(3).Buffer; + + function i(t, e, n) { + for (var r, i, o = -1, s = 0; ++o < 8;) r = e & 1 << 7 - o ? 128 : 0, s += (128 & (i = t._cipher.encryptBlock(t._prev)[0] ^ r)) >> o % 8, t._prev = a(t._prev, n ? r : i); + return s + } + + function a(t, e) { + var n = t.length, + i = -1, + a = r.allocUnsafe(t.length); + for (t = r.concat([t, r.from([e])]); ++i < n;) a[i] = t[i] << 1 | t[i + 1] >> 7; + return a + } + e.encrypt = function(t, e, n) { + for (var a = e.length, o = r.allocUnsafe(a), s = -1; ++s < a;) o[s] = i(t, e[s], n); + return o + } + }, function(t, e, n) { + (function(t) { + var r = n(55); + + function i(t) { + return t._prev = t._cipher.encryptBlock(t._prev), t._prev + } + e.encrypt = function(e, n) { + for (; e._cache.length < n.length;) e._cache = t.concat([e._cache, i(e)]); + var a = e._cache.slice(0, n.length); + return e._cache = e._cache.slice(n.length), r(n, a) + } + }).call(this, n(8).Buffer) + }, function(t, e, n) { + var r = n(3).Buffer, + i = r.alloc(16, 0); + + function a(t) { + var e = r.allocUnsafe(16); + return e.writeUInt32BE(t[0] >>> 0, 0), e.writeUInt32BE(t[1] >>> 0, 4), e.writeUInt32BE(t[2] >>> 0, 8), e.writeUInt32BE(t[3] >>> 0, 12), e + } + + function o(t) { + this.h = t, this.state = r.alloc(16, 0), this.cache = r.allocUnsafe(0) + } + o.prototype.ghash = function(t) { + for (var e = -1; ++e < t.length;) this.state[e] ^= t[e]; + this._multiply() + }, o.prototype._multiply = function() { + for (var t, e, n, r = [(t = this.h).readUInt32BE(0), t.readUInt32BE(4), t.readUInt32BE(8), t.readUInt32BE(12)], i = [0, 0, 0, 0], o = -1; ++o < 128;) { + for (0 != (this.state[~~(o / 8)] & 1 << 7 - o % 8) && (i[0] ^= r[0], i[1] ^= r[1], i[2] ^= r[2], i[3] ^= r[3]), n = 0 != (1 & r[3]), e = 3; e > 0; e--) r[e] = r[e] >>> 1 | (1 & r[e - 1]) << 31; + r[0] = r[0] >>> 1, n && (r[0] = r[0] ^ 225 << 24) + } + this.state = a(i) + }, o.prototype.update = function(t) { + var e; + for (this.cache = r.concat([this.cache, t]); this.cache.length >= 16;) e = this.cache.slice(0, 16), this.cache = this.cache.slice(16), this.ghash(e) + }, o.prototype.final = function(t, e) { + return this.cache.length && this.ghash(r.concat([this.cache, i], 16)), this.ghash(a([0, t, 0, e])), this.state + }, t.exports = o + }, function(t, e, n) { + var r = n(211), + i = n(3).Buffer, + a = n(122), + o = n(212), + s = n(31), + u = n(79), + c = n(80); + + function f(t, e, n) { + s.call(this), this._cache = new l, this._last = void 0, this._cipher = new u.AES(e), this._prev = i.from(n), this._mode = t, this._autopadding = !0 + } + + function l() { + this.cache = i.allocUnsafe(0) + } + + function h(t, e, n) { + var s = a[t.toLowerCase()]; + if (!s) throw new TypeError("invalid suite type"); + if ("string" == typeof n && (n = i.from(n)), "GCM" !== s.mode && n.length !== s.iv) throw new TypeError("invalid iv length " + n.length); + if ("string" == typeof e && (e = i.from(e)), e.length !== s.key / 8) throw new TypeError("invalid key length " + e.length); + return "stream" === s.type ? new o(s.module, e, n, !0) : "auth" === s.type ? new r(s.module, e, n, !0) : new f(s.module, e, n) + } + n(2)(f, s), f.prototype._update = function(t) { + var e, n; + this._cache.add(t); + for (var r = []; e = this._cache.get(this._autopadding);) n = this._mode.decrypt(this, e), r.push(n); + return i.concat(r) + }, f.prototype._final = function() { + var t = this._cache.flush(); + if (this._autopadding) return function(t) { + var e = t[15]; + if (e < 1 || e > 16) throw new Error("unable to decrypt data"); + var n = -1; + for (; ++n < e;) + if (t[n + (16 - e)] !== e) throw new Error("unable to decrypt data"); + if (16 === e) return; + return t.slice(0, 16 - e) + }(this._mode.decrypt(this, t)); + if (t) throw new Error("data not multiple of block length") + }, f.prototype.setAutoPadding = function(t) { + return this._autopadding = !!t, this + }, l.prototype.add = function(t) { + this.cache = i.concat([this.cache, t]) + }, l.prototype.get = function(t) { + var e; + if (t) { + if (this.cache.length > 16) return e = this.cache.slice(0, 16), this.cache = this.cache.slice(16), e + } else if (this.cache.length >= 16) return e = this.cache.slice(0, 16), this.cache = this.cache.slice(16), e; + return null + }, l.prototype.flush = function() { + if (this.cache.length) return this.cache + }, e.createDecipher = function(t, e) { + var n = a[t.toLowerCase()]; + if (!n) throw new TypeError("invalid suite type"); + var r = c(e, !1, n.key, n.iv); + return h(t, r.key, r.iv) + }, e.createDecipheriv = h + }, function(t, e) { + e["des-ecb"] = { + key: 8, + iv: 0 + }, e["des-cbc"] = e.des = { + key: 8, + iv: 8 + }, e["des-ede3-cbc"] = e.des3 = { + key: 24, + iv: 8 + }, e["des-ede3"] = { + key: 24, + iv: 0 + }, e["des-ede-cbc"] = { + key: 16, + iv: 8 + }, e["des-ede"] = { + key: 16, + iv: 0 + } + }, function(t, e, n) { + (function(t) { + var r = n(213), + i = n(459), + a = n(460); + var o = { + binary: !0, + hex: !0, + base64: !0 + }; + e.DiffieHellmanGroup = e.createDiffieHellmanGroup = e.getDiffieHellman = function(e) { + var n = new t(i[e].prime, "hex"), + r = new t(i[e].gen, "hex"); + return new a(n, r) + }, e.createDiffieHellman = e.DiffieHellman = function e(n, i, s, u) { + return t.isBuffer(i) || void 0 === o[i] ? e(n, "binary", i, s) : (i = i || "binary", u = u || "binary", s = s || new t([2]), t.isBuffer(s) || (s = new t(s, u)), "number" == typeof n ? new a(r(n, s), s, !0) : (t.isBuffer(n) || (n = new t(n, i)), new a(n, s, !0))) + } + }).call(this, n(8).Buffer) + }, function(t, e) {}, function(t, e) {}, function(t) { + t.exports = JSON.parse('{"modp1":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},"modp2":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},"modp5":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},"modp14":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},"modp15":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},"modp16":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},"modp17":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},"modp18":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}}') + }, function(t, e, n) { + (function(e) { + var r = n(5), + i = new(n(214)), + a = new r(24), + o = new r(11), + s = new r(10), + u = new r(3), + c = new r(7), + f = n(213), + l = n(44); + + function h(t, n) { + return n = n || "utf8", e.isBuffer(t) || (t = new e(t, n)), this._pub = new r(t), this + } + + function d(t, n) { + return n = n || "utf8", e.isBuffer(t) || (t = new e(t, n)), this._priv = new r(t), this + } + t.exports = g; + var p = {}; + + function g(t, e, n) { + this.setGenerator(e), this.__prime = new r(t), this._prime = r.mont(this.__prime), this._primeLen = t.length, this._pub = void 0, this._priv = void 0, this._primeCode = void 0, n ? (this.setPublicKey = h, this.setPrivateKey = d) : this._primeCode = 8 + } + + function y(t, n) { + var r = new e(t.toArray()); + return n ? r.toString(n) : r + } + Object.defineProperty(g.prototype, "verifyError", { + enumerable: !0, + get: function() { + return "number" != typeof this._primeCode && (this._primeCode = function(t, e) { + var n = e.toString("hex"), + r = [n, t.toString(16)].join("_"); + if (r in p) return p[r]; + var l, h = 0; + if (t.isEven() || !f.simpleSieve || !f.fermatTest(t) || !i.test(t)) return h += 1, h += "02" === n || "05" === n ? 8 : 4, p[r] = h, h; + switch (i.test(t.shrn(1)) || (h += 2), n) { + case "02": + t.mod(a).cmp(o) && (h += 8); + break; + case "05": + (l = t.mod(s)).cmp(u) && l.cmp(c) && (h += 8); + break; + default: + h += 4 + } + return p[r] = h, h + }(this.__prime, this.__gen)), this._primeCode + } + }), g.prototype.generateKeys = function() { + return this._priv || (this._priv = new r(l(this._primeLen))), this._pub = this._gen.toRed(this._prime).redPow(this._priv).fromRed(), this.getPublicKey() + }, g.prototype.computeSecret = function(t) { + var n = (t = (t = new r(t)).toRed(this._prime)).redPow(this._priv).fromRed(), + i = new e(n.toArray()), + a = this.getPrime(); + if (i.length < a.length) { + var o = new e(a.length - i.length); + o.fill(0), i = e.concat([o, i]) + } + return i + }, g.prototype.getPublicKey = function(t) { + return y(this._pub, t) + }, g.prototype.getPrivateKey = function(t) { + return y(this._priv, t) + }, g.prototype.getPrime = function(t) { + return y(this.__prime, t) + }, g.prototype.getGenerator = function(t) { + return y(this._gen, t) + }, g.prototype.setGenerator = function(t, n) { + return n = n || "utf8", e.isBuffer(t) || (t = new e(t, n)), this.__gen = t, this._gen = new r(t), this + } + }).call(this, n(8).Buffer) + }, function(t, e, n) { + (function(e) { + var r = n(53), + i = n(112), + a = n(2), + o = n(462), + s = n(494), + u = n(201); + + function c(t) { + i.Writable.call(this); + var e = u[t]; + if (!e) throw new Error("Unknown message digest"); + this._hashType = e.hash, this._hash = r(e.hash), this._tag = e.id, this._signType = e.sign + } + + function f(t) { + i.Writable.call(this); + var e = u[t]; + if (!e) throw new Error("Unknown message digest"); + this._hash = r(e.hash), this._tag = e.id, this._signType = e.sign + } + + function l(t) { + return new c(t) + } + + function h(t) { + return new f(t) + } + Object.keys(u).forEach((function(t) { + u[t].id = new e(u[t].id, "hex"), u[t.toLowerCase()] = u[t] + })), a(c, i.Writable), c.prototype._write = function(t, e, n) { + this._hash.update(t), n() + }, c.prototype.update = function(t, n) { + return "string" == typeof t && (t = new e(t, n)), this._hash.update(t), this + }, c.prototype.sign = function(t, e) { + this.end(); + var n = this._hash.digest(), + r = o(n, t, this._hashType, this._signType, this._tag); + return e ? r.toString(e) : r + }, a(f, i.Writable), f.prototype._write = function(t, e, n) { + this._hash.update(t), n() + }, f.prototype.update = function(t, n) { + return "string" == typeof t && (t = new e(t, n)), this._hash.update(t), this + }, f.prototype.verify = function(t, n, r) { + "string" == typeof n && (n = new e(n, r)), this.end(); + var i = this._hash.digest(); + return s(n, i, t, this._signType, this._tag) + }, t.exports = { + Sign: l, + Verify: h, + createSign: l, + createVerify: h + } + }).call(this, n(8).Buffer) + }, function(t, e, n) { + (function(e) { + var r = n(199), + i = n(124), + a = n(125).ec, + o = n(5), + s = n(82), + u = n(224); + + function c(t, n, i, a) { + if ((t = new e(t.toArray())).length < n.byteLength()) { + var o = new e(n.byteLength() - t.length); + o.fill(0), t = e.concat([o, t]) + } + var s = i.length, + u = function(t, n) { + t = (t = f(t, n)).mod(n); + var r = new e(t.toArray()); + if (r.length < n.byteLength()) { + var i = new e(n.byteLength() - r.length); + i.fill(0), r = e.concat([i, r]) + } + return r + }(i, n), + c = new e(s); + c.fill(1); + var l = new e(s); + return l.fill(0), l = r(a, l).update(c).update(new e([0])).update(t).update(u).digest(), c = r(a, l).update(c).digest(), { + k: l = r(a, l).update(c).update(new e([1])).update(t).update(u).digest(), + v: c = r(a, l).update(c).digest() + } + } + + function f(t, e) { + var n = new o(t), + r = (t.length << 3) - e.bitLength(); + return r > 0 && n.ishrn(r), n + } + + function l(t, n, i) { + var a, o; + do { + for (a = new e(0); 8 * a.length < t.bitLength();) n.v = r(i, n.k).update(n.v).digest(), a = e.concat([a, n.v]); + o = f(a, t), n.k = r(i, n.k).update(n.v).update(new e([0])).digest(), n.v = r(i, n.k).update(n.v).digest() + } while (-1 !== o.cmp(t)); + return o + } + + function h(t, e, n, r) { + return t.toRed(o.mont(n)).redPow(e).fromRed().mod(r) + } + t.exports = function(t, n, r, d, p) { + var g = s(n); + if (g.curve) { + if ("ecdsa" !== d && "ecdsa/rsa" !== d) throw new Error("wrong private key type"); + return function(t, n) { + var r = u[n.curve.join(".")]; + if (!r) throw new Error("unknown curve " + n.curve.join(".")); + var i = new a(r).keyFromPrivate(n.privateKey).sign(t); + return new e(i.toDER()) + }(t, g) + } + if ("dsa" === g.type) { + if ("dsa" !== d) throw new Error("wrong private key type"); + return function(t, n, r) { + var i, a = n.params.priv_key, + s = n.params.p, + u = n.params.q, + d = n.params.g, + p = new o(0), + g = f(t, u).mod(u), + y = !1, + b = c(a, u, t, r); + for (; !1 === y;) i = l(u, b, r), p = h(d, i, s, u), 0 === (y = i.invm(u).imul(g.add(a.mul(p))).mod(u)).cmpn(0) && (y = !1, p = new o(0)); + return function(t, n) { + t = t.toArray(), n = n.toArray(), 128 & t[0] && (t = [0].concat(t)); + 128 & n[0] && (n = [0].concat(n)); + var r = [48, t.length + n.length + 4, 2, t.length]; + return r = r.concat(t, [2, n.length], n), new e(r) + }(p, y) + }(t, g, r) + } + if ("rsa" !== d && "ecdsa/rsa" !== d) throw new Error("wrong private key type"); + t = e.concat([p, t]); + for (var y = g.modulus.byteLength(), b = [0, 1]; t.length + b.length + 1 < y;) b.push(255); + b.push(0); + for (var v = -1; ++v < t.length;) b.push(t[v]); + return i(b, g) + }, t.exports.getKey = c, t.exports.makeKey = l + }).call(this, n(8).Buffer) + }, function(t) { + t.exports = JSON.parse('{"name":"elliptic","version":"6.5.2","description":"EC cryptography","main":"lib/elliptic.js","files":["lib"],"scripts":{"jscs":"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js","jshint":"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js","lint":"npm run jscs && npm run jshint","unit":"istanbul test _mocha --reporter=spec test/index.js","test":"npm run lint && npm run unit","version":"grunt dist && git add dist/"},"repository":{"type":"git","url":"git@github.com:indutny/elliptic"},"keywords":["EC","Elliptic","curve","Cryptography"],"author":"Fedor Indutny <fedor@indutny.com>","license":"MIT","bugs":{"url":"https://github.com/indutny/elliptic/issues"},"homepage":"https://github.com/indutny/elliptic","devDependencies":{"brfs":"^1.4.3","coveralls":"^3.0.8","grunt":"^1.0.4","grunt-browserify":"^5.0.0","grunt-cli":"^1.2.0","grunt-contrib-connect":"^1.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-mocha-istanbul":"^3.0.1","grunt-saucelabs":"^9.0.1","istanbul":"^0.4.2","jscs":"^3.0.7","jshint":"^2.10.3","mocha":"^6.2.2"},"dependencies":{"bn.js":"^4.4.0","brorand":"^1.0.1","hash.js":"^1.0.0","hmac-drbg":"^1.0.0","inherits":"^2.0.1","minimalistic-assert":"^1.0.0","minimalistic-crypto-utils":"^1.0.0"}}') + }, function(t, e, n) { + "use strict"; + var r = n(17), + i = n(5), + a = n(2), + o = n(81), + s = r.assert; + + function u(t) { + o.call(this, "short", t), this.a = new i(t.a, 16).toRed(this.red), this.b = new i(t.b, 16).toRed(this.red), this.tinv = this.two.redInvm(), this.zeroA = 0 === this.a.fromRed().cmpn(0), this.threeA = 0 === this.a.fromRed().sub(this.p).cmpn(-3), this.endo = this._getEndomorphism(t), this._endoWnafT1 = new Array(4), this._endoWnafT2 = new Array(4) + } + + function c(t, e, n, r) { + o.BasePoint.call(this, t, "affine"), null === e && null === n ? (this.x = null, this.y = null, this.inf = !0) : (this.x = new i(e, 16), this.y = new i(n, 16), r && (this.x.forceRed(this.curve.red), this.y.forceRed(this.curve.red)), this.x.red || (this.x = this.x.toRed(this.curve.red)), this.y.red || (this.y = this.y.toRed(this.curve.red)), this.inf = !1) + } + + function f(t, e, n, r) { + o.BasePoint.call(this, t, "jacobian"), null === e && null === n && null === r ? (this.x = this.curve.one, this.y = this.curve.one, this.z = new i(0)) : (this.x = new i(e, 16), this.y = new i(n, 16), this.z = new i(r, 16)), this.x.red || (this.x = this.x.toRed(this.curve.red)), this.y.red || (this.y = this.y.toRed(this.curve.red)), this.z.red || (this.z = this.z.toRed(this.curve.red)), this.zOne = this.z === this.curve.one + } + a(u, o), t.exports = u, u.prototype._getEndomorphism = function(t) { + if (this.zeroA && this.g && this.n && 1 === this.p.modn(3)) { + var e, n; + if (t.beta) e = new i(t.beta, 16).toRed(this.red); + else { + var r = this._getEndoRoots(this.p); + e = (e = r[0].cmp(r[1]) < 0 ? r[0] : r[1]).toRed(this.red) + } + if (t.lambda) n = new i(t.lambda, 16); + else { + var a = this._getEndoRoots(this.n); + 0 === this.g.mul(a[0]).x.cmp(this.g.x.redMul(e)) ? n = a[0] : (n = a[1], s(0 === this.g.mul(n).x.cmp(this.g.x.redMul(e)))) + } + return { + beta: e, + lambda: n, + basis: t.basis ? t.basis.map((function(t) { + return { + a: new i(t.a, 16), + b: new i(t.b, 16) + } + })) : this._getEndoBasis(n) + } + } + }, u.prototype._getEndoRoots = function(t) { + var e = t === this.p ? this.red : i.mont(t), + n = new i(2).toRed(e).redInvm(), + r = n.redNeg(), + a = new i(3).toRed(e).redNeg().redSqrt().redMul(n); + return [r.redAdd(a).fromRed(), r.redSub(a).fromRed()] + }, u.prototype._getEndoBasis = function(t) { + for (var e, n, r, a, o, s, u, c, f, l = this.n.ushrn(Math.floor(this.n.bitLength() / 2)), h = t, d = this.n.clone(), p = new i(1), g = new i(0), y = new i(0), b = new i(1), v = 0; 0 !== h.cmpn(0);) { + var m = d.div(h); + c = d.sub(m.mul(h)), f = y.sub(m.mul(p)); + var _ = b.sub(m.mul(g)); + if (!r && c.cmp(l) < 0) e = u.neg(), n = p, r = c.neg(), a = f; + else if (r && 2 == ++v) break; + u = c, d = h, h = c, y = p, p = f, b = g, g = _ + } + o = c.neg(), s = f; + var w = r.sqr().add(a.sqr()); + return o.sqr().add(s.sqr()).cmp(w) >= 0 && (o = e, s = n), r.negative && (r = r.neg(), a = a.neg()), o.negative && (o = o.neg(), s = s.neg()), [{ + a: r, + b: a + }, { + a: o, + b: s + }] + }, u.prototype._endoSplit = function(t) { + var e = this.endo.basis, + n = e[0], + r = e[1], + i = r.b.mul(t).divRound(this.n), + a = n.b.neg().mul(t).divRound(this.n), + o = i.mul(n.a), + s = a.mul(r.a), + u = i.mul(n.b), + c = a.mul(r.b); + return { + k1: t.sub(o).sub(s), + k2: u.add(c).neg() + } + }, u.prototype.pointFromX = function(t, e) { + (t = new i(t, 16)).red || (t = t.toRed(this.red)); + var n = t.redSqr().redMul(t).redIAdd(t.redMul(this.a)).redIAdd(this.b), + r = n.redSqrt(); + if (0 !== r.redSqr().redSub(n).cmp(this.zero)) throw new Error("invalid point"); + var a = r.fromRed().isOdd(); + return (e && !a || !e && a) && (r = r.redNeg()), this.point(t, r) + }, u.prototype.validate = function(t) { + if (t.inf) return !0; + var e = t.x, + n = t.y, + r = this.a.redMul(e), + i = e.redSqr().redMul(e).redIAdd(r).redIAdd(this.b); + return 0 === n.redSqr().redISub(i).cmpn(0) + }, u.prototype._endoWnafMulAdd = function(t, e, n) { + for (var r = this._endoWnafT1, i = this._endoWnafT2, a = 0; a < t.length; a++) { + var o = this._endoSplit(e[a]), + s = t[a], + u = s._getBeta(); + o.k1.negative && (o.k1.ineg(), s = s.neg(!0)), o.k2.negative && (o.k2.ineg(), u = u.neg(!0)), r[2 * a] = s, r[2 * a + 1] = u, i[2 * a] = o.k1, i[2 * a + 1] = o.k2 + } + for (var c = this._wnafMulAdd(1, r, i, 2 * a, n), f = 0; f < 2 * a; f++) r[f] = null, i[f] = null; + return c + }, a(c, o.BasePoint), u.prototype.point = function(t, e, n) { + return new c(this, t, e, n) + }, u.prototype.pointFromJSON = function(t, e) { + return c.fromJSON(this, t, e) + }, c.prototype._getBeta = function() { + if (this.curve.endo) { + var t = this.precomputed; + if (t && t.beta) return t.beta; + var e = this.curve.point(this.x.redMul(this.curve.endo.beta), this.y); + if (t) { + var n = this.curve, + r = function(t) { + return n.point(t.x.redMul(n.endo.beta), t.y) + }; + t.beta = e, e.precomputed = { + beta: null, + naf: t.naf && { + wnd: t.naf.wnd, + points: t.naf.points.map(r) + }, + doubles: t.doubles && { + step: t.doubles.step, + points: t.doubles.points.map(r) + } + } + } + return e + } + }, c.prototype.toJSON = function() { + return this.precomputed ? [this.x, this.y, this.precomputed && { + doubles: this.precomputed.doubles && { + step: this.precomputed.doubles.step, + points: this.precomputed.doubles.points.slice(1) + }, + naf: this.precomputed.naf && { + wnd: this.precomputed.naf.wnd, + points: this.precomputed.naf.points.slice(1) + } + }] : [this.x, this.y] + }, c.fromJSON = function(t, e, n) { + "string" == typeof e && (e = JSON.parse(e)); + var r = t.point(e[0], e[1], n); + if (!e[2]) return r; + + function i(e) { + return t.point(e[0], e[1], n) + } + var a = e[2]; + return r.precomputed = { + beta: null, + doubles: a.doubles && { + step: a.doubles.step, + points: [r].concat(a.doubles.points.map(i)) + }, + naf: a.naf && { + wnd: a.naf.wnd, + points: [r].concat(a.naf.points.map(i)) + } + }, r + }, c.prototype.inspect = function() { + return this.isInfinity() ? "<EC Point Infinity>" : "<EC Point x: " + this.x.fromRed().toString(16, 2) + " y: " + this.y.fromRed().toString(16, 2) + ">" + }, c.prototype.isInfinity = function() { + return this.inf + }, c.prototype.add = function(t) { + if (this.inf) return t; + if (t.inf) return this; + if (this.eq(t)) return this.dbl(); + if (this.neg().eq(t)) return this.curve.point(null, null); + if (0 === this.x.cmp(t.x)) return this.curve.point(null, null); + var e = this.y.redSub(t.y); + 0 !== e.cmpn(0) && (e = e.redMul(this.x.redSub(t.x).redInvm())); + var n = e.redSqr().redISub(this.x).redISub(t.x), + r = e.redMul(this.x.redSub(n)).redISub(this.y); + return this.curve.point(n, r) + }, c.prototype.dbl = function() { + if (this.inf) return this; + var t = this.y.redAdd(this.y); + if (0 === t.cmpn(0)) return this.curve.point(null, null); + var e = this.curve.a, + n = this.x.redSqr(), + r = t.redInvm(), + i = n.redAdd(n).redIAdd(n).redIAdd(e).redMul(r), + a = i.redSqr().redISub(this.x.redAdd(this.x)), + o = i.redMul(this.x.redSub(a)).redISub(this.y); + return this.curve.point(a, o) + }, c.prototype.getX = function() { + return this.x.fromRed() + }, c.prototype.getY = function() { + return this.y.fromRed() + }, c.prototype.mul = function(t) { + return t = new i(t, 16), this.isInfinity() ? this : this._hasDoubles(t) ? this.curve._fixedNafMul(this, t) : this.curve.endo ? this.curve._endoWnafMulAdd([this], [t]) : this.curve._wnafMul(this, t) + }, c.prototype.mulAdd = function(t, e, n) { + var r = [this, e], + i = [t, n]; + return this.curve.endo ? this.curve._endoWnafMulAdd(r, i) : this.curve._wnafMulAdd(1, r, i, 2) + }, c.prototype.jmulAdd = function(t, e, n) { + var r = [this, e], + i = [t, n]; + return this.curve.endo ? this.curve._endoWnafMulAdd(r, i, !0) : this.curve._wnafMulAdd(1, r, i, 2, !0) + }, c.prototype.eq = function(t) { + return this === t || this.inf === t.inf && (this.inf || 0 === this.x.cmp(t.x) && 0 === this.y.cmp(t.y)) + }, c.prototype.neg = function(t) { + if (this.inf) return this; + var e = this.curve.point(this.x, this.y.redNeg()); + if (t && this.precomputed) { + var n = this.precomputed, + r = function(t) { + return t.neg() + }; + e.precomputed = { + naf: n.naf && { + wnd: n.naf.wnd, + points: n.naf.points.map(r) + }, + doubles: n.doubles && { + step: n.doubles.step, + points: n.doubles.points.map(r) + } + } + } + return e + }, c.prototype.toJ = function() { + return this.inf ? this.curve.jpoint(null, null, null) : this.curve.jpoint(this.x, this.y, this.curve.one) + }, a(f, o.BasePoint), u.prototype.jpoint = function(t, e, n) { + return new f(this, t, e, n) + }, f.prototype.toP = function() { + if (this.isInfinity()) return this.curve.point(null, null); + var t = this.z.redInvm(), + e = t.redSqr(), + n = this.x.redMul(e), + r = this.y.redMul(e).redMul(t); + return this.curve.point(n, r) + }, f.prototype.neg = function() { + return this.curve.jpoint(this.x, this.y.redNeg(), this.z) + }, f.prototype.add = function(t) { + if (this.isInfinity()) return t; + if (t.isInfinity()) return this; + var e = t.z.redSqr(), + n = this.z.redSqr(), + r = this.x.redMul(e), + i = t.x.redMul(n), + a = this.y.redMul(e.redMul(t.z)), + o = t.y.redMul(n.redMul(this.z)), + s = r.redSub(i), + u = a.redSub(o); + if (0 === s.cmpn(0)) return 0 !== u.cmpn(0) ? this.curve.jpoint(null, null, null) : this.dbl(); + var c = s.redSqr(), + f = c.redMul(s), + l = r.redMul(c), + h = u.redSqr().redIAdd(f).redISub(l).redISub(l), + d = u.redMul(l.redISub(h)).redISub(a.redMul(f)), + p = this.z.redMul(t.z).redMul(s); + return this.curve.jpoint(h, d, p) + }, f.prototype.mixedAdd = function(t) { + if (this.isInfinity()) return t.toJ(); + if (t.isInfinity()) return this; + var e = this.z.redSqr(), + n = this.x, + r = t.x.redMul(e), + i = this.y, + a = t.y.redMul(e).redMul(this.z), + o = n.redSub(r), + s = i.redSub(a); + if (0 === o.cmpn(0)) return 0 !== s.cmpn(0) ? this.curve.jpoint(null, null, null) : this.dbl(); + var u = o.redSqr(), + c = u.redMul(o), + f = n.redMul(u), + l = s.redSqr().redIAdd(c).redISub(f).redISub(f), + h = s.redMul(f.redISub(l)).redISub(i.redMul(c)), + d = this.z.redMul(o); + return this.curve.jpoint(l, h, d) + }, f.prototype.dblp = function(t) { + if (0 === t) return this; + if (this.isInfinity()) return this; + if (!t) return this.dbl(); + if (this.curve.zeroA || this.curve.threeA) { + for (var e = this, n = 0; n < t; n++) e = e.dbl(); + return e + } + var r = this.curve.a, + i = this.curve.tinv, + a = this.x, + o = this.y, + s = this.z, + u = s.redSqr().redSqr(), + c = o.redAdd(o); + for (n = 0; n < t; n++) { + var f = a.redSqr(), + l = c.redSqr(), + h = l.redSqr(), + d = f.redAdd(f).redIAdd(f).redIAdd(r.redMul(u)), + p = a.redMul(l), + g = d.redSqr().redISub(p.redAdd(p)), + y = p.redISub(g), + b = d.redMul(y); + b = b.redIAdd(b).redISub(h); + var v = c.redMul(s); + n + 1 < t && (u = u.redMul(h)), a = g, s = v, c = b + } + return this.curve.jpoint(a, c.redMul(i), s) + }, f.prototype.dbl = function() { + return this.isInfinity() ? this : this.curve.zeroA ? this._zeroDbl() : this.curve.threeA ? this._threeDbl() : this._dbl() + }, f.prototype._zeroDbl = function() { + var t, e, n; + if (this.zOne) { + var r = this.x.redSqr(), + i = this.y.redSqr(), + a = i.redSqr(), + o = this.x.redAdd(i).redSqr().redISub(r).redISub(a); + o = o.redIAdd(o); + var s = r.redAdd(r).redIAdd(r), + u = s.redSqr().redISub(o).redISub(o), + c = a.redIAdd(a); + c = (c = c.redIAdd(c)).redIAdd(c), t = u, e = s.redMul(o.redISub(u)).redISub(c), n = this.y.redAdd(this.y) + } else { + var f = this.x.redSqr(), + l = this.y.redSqr(), + h = l.redSqr(), + d = this.x.redAdd(l).redSqr().redISub(f).redISub(h); + d = d.redIAdd(d); + var p = f.redAdd(f).redIAdd(f), + g = p.redSqr(), + y = h.redIAdd(h); + y = (y = y.redIAdd(y)).redIAdd(y), t = g.redISub(d).redISub(d), e = p.redMul(d.redISub(t)).redISub(y), n = (n = this.y.redMul(this.z)).redIAdd(n) + } + return this.curve.jpoint(t, e, n) + }, f.prototype._threeDbl = function() { + var t, e, n; + if (this.zOne) { + var r = this.x.redSqr(), + i = this.y.redSqr(), + a = i.redSqr(), + o = this.x.redAdd(i).redSqr().redISub(r).redISub(a); + o = o.redIAdd(o); + var s = r.redAdd(r).redIAdd(r).redIAdd(this.curve.a), + u = s.redSqr().redISub(o).redISub(o); + t = u; + var c = a.redIAdd(a); + c = (c = c.redIAdd(c)).redIAdd(c), e = s.redMul(o.redISub(u)).redISub(c), n = this.y.redAdd(this.y) + } else { + var f = this.z.redSqr(), + l = this.y.redSqr(), + h = this.x.redMul(l), + d = this.x.redSub(f).redMul(this.x.redAdd(f)); + d = d.redAdd(d).redIAdd(d); + var p = h.redIAdd(h), + g = (p = p.redIAdd(p)).redAdd(p); + t = d.redSqr().redISub(g), n = this.y.redAdd(this.z).redSqr().redISub(l).redISub(f); + var y = l.redSqr(); + y = (y = (y = y.redIAdd(y)).redIAdd(y)).redIAdd(y), e = d.redMul(p.redISub(t)).redISub(y) + } + return this.curve.jpoint(t, e, n) + }, f.prototype._dbl = function() { + var t = this.curve.a, + e = this.x, + n = this.y, + r = this.z, + i = r.redSqr().redSqr(), + a = e.redSqr(), + o = n.redSqr(), + s = a.redAdd(a).redIAdd(a).redIAdd(t.redMul(i)), + u = e.redAdd(e), + c = (u = u.redIAdd(u)).redMul(o), + f = s.redSqr().redISub(c.redAdd(c)), + l = c.redISub(f), + h = o.redSqr(); + h = (h = (h = h.redIAdd(h)).redIAdd(h)).redIAdd(h); + var d = s.redMul(l).redISub(h), + p = n.redAdd(n).redMul(r); + return this.curve.jpoint(f, d, p) + }, f.prototype.trpl = function() { + if (!this.curve.zeroA) return this.dbl().add(this); + var t = this.x.redSqr(), + e = this.y.redSqr(), + n = this.z.redSqr(), + r = e.redSqr(), + i = t.redAdd(t).redIAdd(t), + a = i.redSqr(), + o = this.x.redAdd(e).redSqr().redISub(t).redISub(r), + s = (o = (o = (o = o.redIAdd(o)).redAdd(o).redIAdd(o)).redISub(a)).redSqr(), + u = r.redIAdd(r); + u = (u = (u = u.redIAdd(u)).redIAdd(u)).redIAdd(u); + var c = i.redIAdd(o).redSqr().redISub(a).redISub(s).redISub(u), + f = e.redMul(c); + f = (f = f.redIAdd(f)).redIAdd(f); + var l = this.x.redMul(s).redISub(f); + l = (l = l.redIAdd(l)).redIAdd(l); + var h = this.y.redMul(c.redMul(u.redISub(c)).redISub(o.redMul(s))); + h = (h = (h = h.redIAdd(h)).redIAdd(h)).redIAdd(h); + var d = this.z.redAdd(o).redSqr().redISub(n).redISub(s); + return this.curve.jpoint(l, h, d) + }, f.prototype.mul = function(t, e) { + return t = new i(t, e), this.curve._wnafMul(this, t) + }, f.prototype.eq = function(t) { + if ("affine" === t.type) return this.eq(t.toJ()); + if (this === t) return !0; + var e = this.z.redSqr(), + n = t.z.redSqr(); + if (0 !== this.x.redMul(n).redISub(t.x.redMul(e)).cmpn(0)) return !1; + var r = e.redMul(this.z), + i = n.redMul(t.z); + return 0 === this.y.redMul(i).redISub(t.y.redMul(r)).cmpn(0) + }, f.prototype.eqXToP = function(t) { + var e = this.z.redSqr(), + n = t.toRed(this.curve.red).redMul(e); + if (0 === this.x.cmp(n)) return !0; + for (var r = t.clone(), i = this.curve.redN.redMul(e);;) { + if (r.iadd(this.curve.n), r.cmp(this.curve.p) >= 0) return !1; + if (n.redIAdd(i), 0 === this.x.cmp(n)) return !0 + } + }, f.prototype.inspect = function() { + return this.isInfinity() ? "<EC JPoint Infinity>" : "<EC JPoint x: " + this.x.toString(16, 2) + " y: " + this.y.toString(16, 2) + " z: " + this.z.toString(16, 2) + ">" + }, f.prototype.isInfinity = function() { + return 0 === this.z.cmpn(0) + } + }, function(t, e, n) { + "use strict"; + var r = n(5), + i = n(2), + a = n(81), + o = n(17); + + function s(t) { + a.call(this, "mont", t), this.a = new r(t.a, 16).toRed(this.red), this.b = new r(t.b, 16).toRed(this.red), this.i4 = new r(4).toRed(this.red).redInvm(), this.two = new r(2).toRed(this.red), this.a24 = this.i4.redMul(this.a.redAdd(this.two)) + } + + function u(t, e, n) { + a.BasePoint.call(this, t, "projective"), null === e && null === n ? (this.x = this.curve.one, this.z = this.curve.zero) : (this.x = new r(e, 16), this.z = new r(n, 16), this.x.red || (this.x = this.x.toRed(this.curve.red)), this.z.red || (this.z = this.z.toRed(this.curve.red))) + } + i(s, a), t.exports = s, s.prototype.validate = function(t) { + var e = t.normalize().x, + n = e.redSqr(), + r = n.redMul(e).redAdd(n.redMul(this.a)).redAdd(e); + return 0 === r.redSqrt().redSqr().cmp(r) + }, i(u, a.BasePoint), s.prototype.decodePoint = function(t, e) { + return this.point(o.toArray(t, e), 1) + }, s.prototype.point = function(t, e) { + return new u(this, t, e) + }, s.prototype.pointFromJSON = function(t) { + return u.fromJSON(this, t) + }, u.prototype.precompute = function() {}, u.prototype._encode = function() { + return this.getX().toArray("be", this.curve.p.byteLength()) + }, u.fromJSON = function(t, e) { + return new u(t, e[0], e[1] || t.one) + }, u.prototype.inspect = function() { + return this.isInfinity() ? "<EC Point Infinity>" : "<EC Point x: " + this.x.fromRed().toString(16, 2) + " z: " + this.z.fromRed().toString(16, 2) + ">" + }, u.prototype.isInfinity = function() { + return 0 === this.z.cmpn(0) + }, u.prototype.dbl = function() { + var t = this.x.redAdd(this.z).redSqr(), + e = this.x.redSub(this.z).redSqr(), + n = t.redSub(e), + r = t.redMul(e), + i = n.redMul(e.redAdd(this.curve.a24.redMul(n))); + return this.curve.point(r, i) + }, u.prototype.add = function() { + throw new Error("Not supported on Montgomery curve") + }, u.prototype.diffAdd = function(t, e) { + var n = this.x.redAdd(this.z), + r = this.x.redSub(this.z), + i = t.x.redAdd(t.z), + a = t.x.redSub(t.z).redMul(n), + o = i.redMul(r), + s = e.z.redMul(a.redAdd(o).redSqr()), + u = e.x.redMul(a.redISub(o).redSqr()); + return this.curve.point(s, u) + }, u.prototype.mul = function(t) { + for (var e = t.clone(), n = this, r = this.curve.point(null, null), i = []; 0 !== e.cmpn(0); e.iushrn(1)) i.push(e.andln(1)); + for (var a = i.length - 1; a >= 0; a--) 0 === i[a] ? (n = n.diffAdd(r, this), r = r.dbl()) : (r = n.diffAdd(r, this), n = n.dbl()); + return r + }, u.prototype.mulAdd = function() { + throw new Error("Not supported on Montgomery curve") + }, u.prototype.jumlAdd = function() { + throw new Error("Not supported on Montgomery curve") + }, u.prototype.eq = function(t) { + return 0 === this.getX().cmp(t.getX()) + }, u.prototype.normalize = function() { + return this.x = this.x.redMul(this.z.redInvm()), this.z = this.curve.one, this + }, u.prototype.getX = function() { + return this.normalize(), this.x.fromRed() + } + }, function(t, e, n) { + "use strict"; + var r = n(17), + i = n(5), + a = n(2), + o = n(81), + s = r.assert; + + function u(t) { + this.twisted = 1 != (0 | t.a), this.mOneA = this.twisted && -1 == (0 | t.a), this.extended = this.mOneA, o.call(this, "edwards", t), this.a = new i(t.a, 16).umod(this.red.m), this.a = this.a.toRed(this.red), this.c = new i(t.c, 16).toRed(this.red), this.c2 = this.c.redSqr(), this.d = new i(t.d, 16).toRed(this.red), this.dd = this.d.redAdd(this.d), s(!this.twisted || 0 === this.c.fromRed().cmpn(1)), this.oneC = 1 == (0 | t.c) + } + + function c(t, e, n, r, a) { + o.BasePoint.call(this, t, "projective"), null === e && null === n && null === r ? (this.x = this.curve.zero, this.y = this.curve.one, this.z = this.curve.one, this.t = this.curve.zero, this.zOne = !0) : (this.x = new i(e, 16), this.y = new i(n, 16), this.z = r ? new i(r, 16) : this.curve.one, this.t = a && new i(a, 16), this.x.red || (this.x = this.x.toRed(this.curve.red)), this.y.red || (this.y = this.y.toRed(this.curve.red)), this.z.red || (this.z = this.z.toRed(this.curve.red)), this.t && !this.t.red && (this.t = this.t.toRed(this.curve.red)), this.zOne = this.z === this.curve.one, this.curve.extended && !this.t && (this.t = this.x.redMul(this.y), this.zOne || (this.t = this.t.redMul(this.z.redInvm())))) + } + a(u, o), t.exports = u, u.prototype._mulA = function(t) { + return this.mOneA ? t.redNeg() : this.a.redMul(t) + }, u.prototype._mulC = function(t) { + return this.oneC ? t : this.c.redMul(t) + }, u.prototype.jpoint = function(t, e, n, r) { + return this.point(t, e, n, r) + }, u.prototype.pointFromX = function(t, e) { + (t = new i(t, 16)).red || (t = t.toRed(this.red)); + var n = t.redSqr(), + r = this.c2.redSub(this.a.redMul(n)), + a = this.one.redSub(this.c2.redMul(this.d).redMul(n)), + o = r.redMul(a.redInvm()), + s = o.redSqrt(); + if (0 !== s.redSqr().redSub(o).cmp(this.zero)) throw new Error("invalid point"); + var u = s.fromRed().isOdd(); + return (e && !u || !e && u) && (s = s.redNeg()), this.point(t, s) + }, u.prototype.pointFromY = function(t, e) { + (t = new i(t, 16)).red || (t = t.toRed(this.red)); + var n = t.redSqr(), + r = n.redSub(this.c2), + a = n.redMul(this.d).redMul(this.c2).redSub(this.a), + o = r.redMul(a.redInvm()); + if (0 === o.cmp(this.zero)) { + if (e) throw new Error("invalid point"); + return this.point(this.zero, t) + } + var s = o.redSqrt(); + if (0 !== s.redSqr().redSub(o).cmp(this.zero)) throw new Error("invalid point"); + return s.fromRed().isOdd() !== e && (s = s.redNeg()), this.point(s, t) + }, u.prototype.validate = function(t) { + if (t.isInfinity()) return !0; + t.normalize(); + var e = t.x.redSqr(), + n = t.y.redSqr(), + r = e.redMul(this.a).redAdd(n), + i = this.c2.redMul(this.one.redAdd(this.d.redMul(e).redMul(n))); + return 0 === r.cmp(i) + }, a(c, o.BasePoint), u.prototype.pointFromJSON = function(t) { + return c.fromJSON(this, t) + }, u.prototype.point = function(t, e, n, r) { + return new c(this, t, e, n, r) + }, c.fromJSON = function(t, e) { + return new c(t, e[0], e[1], e[2]) + }, c.prototype.inspect = function() { + return this.isInfinity() ? "<EC Point Infinity>" : "<EC Point x: " + this.x.fromRed().toString(16, 2) + " y: " + this.y.fromRed().toString(16, 2) + " z: " + this.z.fromRed().toString(16, 2) + ">" + }, c.prototype.isInfinity = function() { + return 0 === this.x.cmpn(0) && (0 === this.y.cmp(this.z) || this.zOne && 0 === this.y.cmp(this.curve.c)) + }, c.prototype._extDbl = function() { + var t = this.x.redSqr(), + e = this.y.redSqr(), + n = this.z.redSqr(); + n = n.redIAdd(n); + var r = this.curve._mulA(t), + i = this.x.redAdd(this.y).redSqr().redISub(t).redISub(e), + a = r.redAdd(e), + o = a.redSub(n), + s = r.redSub(e), + u = i.redMul(o), + c = a.redMul(s), + f = i.redMul(s), + l = o.redMul(a); + return this.curve.point(u, c, l, f) + }, c.prototype._projDbl = function() { + var t, e, n, r = this.x.redAdd(this.y).redSqr(), + i = this.x.redSqr(), + a = this.y.redSqr(); + if (this.curve.twisted) { + var o = (c = this.curve._mulA(i)).redAdd(a); + if (this.zOne) t = r.redSub(i).redSub(a).redMul(o.redSub(this.curve.two)), e = o.redMul(c.redSub(a)), n = o.redSqr().redSub(o).redSub(o); + else { + var s = this.z.redSqr(), + u = o.redSub(s).redISub(s); + t = r.redSub(i).redISub(a).redMul(u), e = o.redMul(c.redSub(a)), n = o.redMul(u) + } + } else { + var c = i.redAdd(a); + s = this.curve._mulC(this.z).redSqr(), u = c.redSub(s).redSub(s); + t = this.curve._mulC(r.redISub(c)).redMul(u), e = this.curve._mulC(c).redMul(i.redISub(a)), n = c.redMul(u) + } + return this.curve.point(t, e, n) + }, c.prototype.dbl = function() { + return this.isInfinity() ? this : this.curve.extended ? this._extDbl() : this._projDbl() + }, c.prototype._extAdd = function(t) { + var e = this.y.redSub(this.x).redMul(t.y.redSub(t.x)), + n = this.y.redAdd(this.x).redMul(t.y.redAdd(t.x)), + r = this.t.redMul(this.curve.dd).redMul(t.t), + i = this.z.redMul(t.z.redAdd(t.z)), + a = n.redSub(e), + o = i.redSub(r), + s = i.redAdd(r), + u = n.redAdd(e), + c = a.redMul(o), + f = s.redMul(u), + l = a.redMul(u), + h = o.redMul(s); + return this.curve.point(c, f, h, l) + }, c.prototype._projAdd = function(t) { + var e, n, r = this.z.redMul(t.z), + i = r.redSqr(), + a = this.x.redMul(t.x), + o = this.y.redMul(t.y), + s = this.curve.d.redMul(a).redMul(o), + u = i.redSub(s), + c = i.redAdd(s), + f = this.x.redAdd(this.y).redMul(t.x.redAdd(t.y)).redISub(a).redISub(o), + l = r.redMul(u).redMul(f); + return this.curve.twisted ? (e = r.redMul(c).redMul(o.redSub(this.curve._mulA(a))), n = u.redMul(c)) : (e = r.redMul(c).redMul(o.redSub(a)), n = this.curve._mulC(u).redMul(c)), this.curve.point(l, e, n) + }, c.prototype.add = function(t) { + return this.isInfinity() ? t : t.isInfinity() ? this : this.curve.extended ? this._extAdd(t) : this._projAdd(t) + }, c.prototype.mul = function(t) { + return this._hasDoubles(t) ? this.curve._fixedNafMul(this, t) : this.curve._wnafMul(this, t) + }, c.prototype.mulAdd = function(t, e, n) { + return this.curve._wnafMulAdd(1, [this, e], [t, n], 2, !1) + }, c.prototype.jmulAdd = function(t, e, n) { + return this.curve._wnafMulAdd(1, [this, e], [t, n], 2, !0) + }, c.prototype.normalize = function() { + if (this.zOne) return this; + var t = this.z.redInvm(); + return this.x = this.x.redMul(t), this.y = this.y.redMul(t), this.t && (this.t = this.t.redMul(t)), this.z = this.curve.one, this.zOne = !0, this + }, c.prototype.neg = function() { + return this.curve.point(this.x.redNeg(), this.y, this.z, this.t && this.t.redNeg()) + }, c.prototype.getX = function() { + return this.normalize(), this.x.fromRed() + }, c.prototype.getY = function() { + return this.normalize(), this.y.fromRed() + }, c.prototype.eq = function(t) { + return this === t || 0 === this.getX().cmp(t.getX()) && 0 === this.getY().cmp(t.getY()) + }, c.prototype.eqXToP = function(t) { + var e = t.toRed(this.curve.red).redMul(this.z); + if (0 === this.x.cmp(e)) return !0; + for (var n = t.clone(), r = this.curve.redN.redMul(this.z);;) { + if (n.iadd(this.curve.n), n.cmp(this.curve.p) >= 0) return !1; + if (e.redIAdd(r), 0 === this.x.cmp(e)) return !0 + } + }, c.prototype.toP = c.prototype.normalize, c.prototype.mixedAdd = c.prototype.add + }, function(t, e, n) { + "use strict"; + e.sha1 = n(468), e.sha224 = n(469), e.sha256 = n(218), e.sha384 = n(470), e.sha512 = n(219) + }, function(t, e, n) { + "use strict"; + var r = n(21), + i = n(56), + a = n(217), + o = r.rotl32, + s = r.sum32, + u = r.sum32_5, + c = a.ft_1, + f = i.BlockHash, + l = [1518500249, 1859775393, 2400959708, 3395469782]; + + function h() { + if (!(this instanceof h)) return new h; + f.call(this), this.h = [1732584193, 4023233417, 2562383102, 271733878, 3285377520], this.W = new Array(80) + } + r.inherits(h, f), t.exports = h, h.blockSize = 512, h.outSize = 160, h.hmacStrength = 80, h.padLength = 64, h.prototype._update = function(t, e) { + for (var n = this.W, r = 0; r < 16; r++) n[r] = t[e + r]; + for (; r < n.length; r++) n[r] = o(n[r - 3] ^ n[r - 8] ^ n[r - 14] ^ n[r - 16], 1); + var i = this.h[0], + a = this.h[1], + f = this.h[2], + h = this.h[3], + d = this.h[4]; + for (r = 0; r < n.length; r++) { + var p = ~~(r / 20), + g = u(o(i, 5), c(p, a, f, h), d, n[r], l[p]); + d = h, h = f, f = o(a, 30), a = i, i = g + } + this.h[0] = s(this.h[0], i), this.h[1] = s(this.h[1], a), this.h[2] = s(this.h[2], f), this.h[3] = s(this.h[3], h), this.h[4] = s(this.h[4], d) + }, h.prototype._digest = function(t) { + return "hex" === t ? r.toHex32(this.h, "big") : r.split32(this.h, "big") + } + }, function(t, e, n) { + "use strict"; + var r = n(21), + i = n(218); + + function a() { + if (!(this instanceof a)) return new a; + i.call(this), this.h = [3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428] + } + r.inherits(a, i), t.exports = a, a.blockSize = 512, a.outSize = 224, a.hmacStrength = 192, a.padLength = 64, a.prototype._digest = function(t) { + return "hex" === t ? r.toHex32(this.h.slice(0, 7), "big") : r.split32(this.h.slice(0, 7), "big") + } + }, function(t, e, n) { + "use strict"; + var r = n(21), + i = n(219); + + function a() { + if (!(this instanceof a)) return new a; + i.call(this), this.h = [3418070365, 3238371032, 1654270250, 914150663, 2438529370, 812702999, 355462360, 4144912697, 1731405415, 4290775857, 2394180231, 1750603025, 3675008525, 1694076839, 1203062813, 3204075428] + } + r.inherits(a, i), t.exports = a, a.blockSize = 1024, a.outSize = 384, a.hmacStrength = 192, a.padLength = 128, a.prototype._digest = function(t) { + return "hex" === t ? r.toHex32(this.h.slice(0, 12), "big") : r.split32(this.h.slice(0, 12), "big") + } + }, function(t, e, n) { + "use strict"; + var r = n(21), + i = n(56), + a = r.rotl32, + o = r.sum32, + s = r.sum32_3, + u = r.sum32_4, + c = i.BlockHash; + + function f() { + if (!(this instanceof f)) return new f; + c.call(this), this.h = [1732584193, 4023233417, 2562383102, 271733878, 3285377520], this.endian = "little" + } + + function l(t, e, n, r) { + return t <= 15 ? e ^ n ^ r : t <= 31 ? e & n | ~e & r : t <= 47 ? (e | ~n) ^ r : t <= 63 ? e & r | n & ~r : e ^ (n | ~r) + } + + function h(t) { + return t <= 15 ? 0 : t <= 31 ? 1518500249 : t <= 47 ? 1859775393 : t <= 63 ? 2400959708 : 2840853838 + } + + function d(t) { + return t <= 15 ? 1352829926 : t <= 31 ? 1548603684 : t <= 47 ? 1836072691 : t <= 63 ? 2053994217 : 0 + } + r.inherits(f, c), e.ripemd160 = f, f.blockSize = 512, f.outSize = 160, f.hmacStrength = 192, f.padLength = 64, f.prototype._update = function(t, e) { + for (var n = this.h[0], r = this.h[1], i = this.h[2], c = this.h[3], f = this.h[4], v = n, m = r, _ = i, w = c, x = f, k = 0; k < 80; k++) { + var E = o(a(u(n, l(k, r, i, c), t[p[k] + e], h(k)), y[k]), f); + n = f, f = c, c = a(i, 10), i = r, r = E, E = o(a(u(v, l(79 - k, m, _, w), t[g[k] + e], d(k)), b[k]), x), v = x, x = w, w = a(_, 10), _ = m, m = E + } + E = s(this.h[1], i, w), this.h[1] = s(this.h[2], c, x), this.h[2] = s(this.h[3], f, v), this.h[3] = s(this.h[4], n, m), this.h[4] = s(this.h[0], r, _), this.h[0] = E + }, f.prototype._digest = function(t) { + return "hex" === t ? r.toHex32(this.h, "little") : r.split32(this.h, "little") + }; + var p = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13], + g = [5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11], + y = [11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6], + b = [8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11] + }, function(t, e, n) { + "use strict"; + var r = n(21), + i = n(16); + + function a(t, e, n) { + if (!(this instanceof a)) return new a(t, e, n); + this.Hash = t, this.blockSize = t.blockSize / 8, this.outSize = t.outSize / 8, this.inner = null, this.outer = null, this._init(r.toArray(e, n)) + } + t.exports = a, a.prototype._init = function(t) { + t.length > this.blockSize && (t = (new this.Hash).update(t).digest()), i(t.length <= this.blockSize); + for (var e = t.length; e < this.blockSize; e++) t.push(0); + for (e = 0; e < t.length; e++) t[e] ^= 54; + for (this.inner = (new this.Hash).update(t), e = 0; e < t.length; e++) t[e] ^= 106; + this.outer = (new this.Hash).update(t) + }, a.prototype.update = function(t, e) { + return this.inner.update(t, e), this + }, a.prototype.digest = function(t) { + return this.outer.update(this.inner.digest()), this.outer.digest(t) + } + }, function(t, e) { + t.exports = { + doubles: { + step: 4, + points: [ + ["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a", "f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"], + ["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508", "11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"], + ["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739", "d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"], + ["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640", "4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"], + ["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c", "4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"], + ["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda", "96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"], + ["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa", "5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"], + ["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0", "cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"], + ["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d", "9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"], + ["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d", "e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"], + ["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1", "9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"], + ["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0", "5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"], + ["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047", "10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"], + ["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862", "283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"], + ["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7", "7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"], + ["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd", "56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"], + ["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83", "7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"], + ["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a", "53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"], + ["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8", "bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"], + ["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d", "4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"], + ["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725", "7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"], + ["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754", "4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"], + ["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c", "17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"], + ["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6", "6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"], + ["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39", "c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"], + ["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891", "893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"], + ["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b", "febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"], + ["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03", "2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"], + ["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d", "eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"], + ["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070", "7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"], + ["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4", "e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"], + ["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da", "662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"], + ["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11", "1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"], + ["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e", "efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"], + ["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41", "2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"], + ["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef", "67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"], + ["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8", "db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"], + ["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d", "648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"], + ["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96", "35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"], + ["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd", "ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"], + ["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5", "9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"], + ["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266", "40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"], + ["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71", "34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"], + ["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac", "c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"], + ["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751", "1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"], + ["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e", "493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"], + ["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241", "c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"], + ["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3", "be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"], + ["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f", "4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"], + ["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19", "aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"], + ["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be", "b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"], + ["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9", "6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"], + ["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2", "8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"], + ["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13", "7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"], + ["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c", "ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"], + ["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba", "2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"], + ["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151", "e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"], + ["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073", "d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"], + ["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458", "38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"], + ["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b", "69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"], + ["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366", "d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"], + ["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa", "40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"], + ["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0", "620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"], + ["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787", "7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"], + ["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e", "ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"] + ] + }, + naf: { + wnd: 7, + points: [ + ["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9", "388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"], + ["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4", "d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"], + ["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc", "6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"], + ["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe", "cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"], + ["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb", "d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"], + ["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8", "ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"], + ["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e", "581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"], + ["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34", "4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"], + ["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c", "85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"], + ["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5", "321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"], + ["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f", "2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"], + ["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714", "73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"], + ["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729", "a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"], + ["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db", "2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"], + ["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4", "e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"], + ["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5", "b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"], + ["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479", "2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"], + ["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d", "80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"], + ["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f", "1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"], + ["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb", "d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"], + ["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9", "eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"], + ["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963", "758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"], + ["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74", "958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"], + ["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530", "e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"], + ["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b", "5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"], + ["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247", "cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"], + ["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1", "cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"], + ["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120", "4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"], + ["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435", "91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"], + ["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18", "673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"], + ["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8", "59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"], + ["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb", "3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"], + ["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f", "55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"], + ["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143", "efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"], + ["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba", "e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"], + ["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45", "f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"], + ["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a", "744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"], + ["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e", "c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"], + ["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8", "e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"], + ["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c", "30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"], + ["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519", "e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"], + ["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab", "100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"], + ["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca", "ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"], + ["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf", "8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"], + ["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610", "68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"], + ["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4", "f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"], + ["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c", "d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"], + ["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940", "edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"], + ["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980", "a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"], + ["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3", "66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"], + ["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf", "9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"], + ["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63", "4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"], + ["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448", "fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"], + ["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf", "5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"], + ["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5", "8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"], + ["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6", "8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"], + ["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5", "5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"], + ["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99", "f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"], + ["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51", "f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"], + ["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5", "42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"], + ["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5", "204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"], + ["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997", "4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"], + ["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881", "73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"], + ["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5", "39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"], + ["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66", "d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"], + ["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726", "ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"], + ["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede", "6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"], + ["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94", "60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"], + ["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31", "3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"], + ["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51", "b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"], + ["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252", "ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"], + ["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5", "cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"], + ["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b", "6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"], + ["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4", "322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"], + ["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f", "6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"], + ["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889", "2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"], + ["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246", "b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"], + ["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984", "998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"], + ["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a", "b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"], + ["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030", "bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"], + ["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197", "6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"], + ["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593", "c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"], + ["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef", "21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"], + ["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38", "60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"], + ["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a", "49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"], + ["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111", "5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"], + ["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502", "7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"], + ["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea", "be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"], + ["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26", "8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"], + ["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986", "39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"], + ["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e", "62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"], + ["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4", "25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"], + ["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda", "ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"], + ["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859", "cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"], + ["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f", "f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"], + ["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c", "6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"], + ["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942", "fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"], + ["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a", "1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"], + ["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80", "5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"], + ["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d", "438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"], + ["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1", "cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"], + ["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63", "c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"], + ["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352", "6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"], + ["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193", "ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"], + ["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00", "9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"], + ["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58", "ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"], + ["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7", "d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"], + ["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8", "c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"], + ["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e", "67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"], + ["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d", "cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"], + ["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b", "299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"], + ["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f", "f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"], + ["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6", "462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"], + ["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297", "62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"], + ["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a", "7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"], + ["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c", "ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"], + ["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52", "4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"], + ["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb", "bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"], + ["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065", "bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"], + ["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917", "603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"], + ["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9", "cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"], + ["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3", "553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"], + ["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57", "712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"], + ["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66", "ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"], + ["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8", "9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"], + ["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721", "9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"], + ["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180", "4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"] + ] + } + } + }, function(t, e, n) { + "use strict"; + var r = n(5), + i = n(475), + a = n(17), + o = n(126), + s = n(123), + u = a.assert, + c = n(476), + f = n(477); + + function l(t) { + if (!(this instanceof l)) return new l(t); + "string" == typeof t && (u(o.hasOwnProperty(t), "Unknown curve " + t), t = o[t]), t instanceof o.PresetCurve && (t = { + curve: t + }), this.curve = t.curve.curve, this.n = this.curve.n, this.nh = this.n.ushrn(1), this.g = this.curve.g, this.g = t.curve.g, this.g.precompute(t.curve.n.bitLength() + 1), this.hash = t.hash || t.curve.hash + } + t.exports = l, l.prototype.keyPair = function(t) { + return new c(this, t) + }, l.prototype.keyFromPrivate = function(t, e) { + return c.fromPrivate(this, t, e) + }, l.prototype.keyFromPublic = function(t, e) { + return c.fromPublic(this, t, e) + }, l.prototype.genKeyPair = function(t) { + t || (t = {}); + for (var e = new i({ + hash: this.hash, + pers: t.pers, + persEnc: t.persEnc || "utf8", + entropy: t.entropy || s(this.hash.hmacStrength), + entropyEnc: t.entropy && t.entropyEnc || "utf8", + nonce: this.n.toArray() + }), n = this.n.byteLength(), a = this.n.sub(new r(2));;) { + var o = new r(e.generate(n)); + if (!(o.cmp(a) > 0)) return o.iaddn(1), this.keyFromPrivate(o) + } + }, l.prototype._truncateToN = function(t, e) { + var n = 8 * t.byteLength() - this.n.bitLength(); + return n > 0 && (t = t.ushrn(n)), !e && t.cmp(this.n) >= 0 ? t.sub(this.n) : t + }, l.prototype.sign = function(t, e, n, a) { + "object" == typeof n && (a = n, n = null), a || (a = {}), e = this.keyFromPrivate(e, n), t = this._truncateToN(new r(t, 16)); + for (var o = this.n.byteLength(), s = e.getPrivate().toArray("be", o), u = t.toArray("be", o), c = new i({ + hash: this.hash, + entropy: s, + nonce: u, + pers: a.pers, + persEnc: a.persEnc || "utf8" + }), l = this.n.sub(new r(1)), h = 0;; h++) { + var d = a.k ? a.k(h) : new r(c.generate(this.n.byteLength())); + if (!((d = this._truncateToN(d, !0)).cmpn(1) <= 0 || d.cmp(l) >= 0)) { + var p = this.g.mul(d); + if (!p.isInfinity()) { + var g = p.getX(), + y = g.umod(this.n); + if (0 !== y.cmpn(0)) { + var b = d.invm(this.n).mul(y.mul(e.getPrivate()).iadd(t)); + if (0 !== (b = b.umod(this.n)).cmpn(0)) { + var v = (p.getY().isOdd() ? 1 : 0) | (0 !== g.cmp(y) ? 2 : 0); + return a.canonical && b.cmp(this.nh) > 0 && (b = this.n.sub(b), v ^= 1), new f({ + r: y, + s: b, + recoveryParam: v + }) + } + } + } + } + } + }, l.prototype.verify = function(t, e, n, i) { + t = this._truncateToN(new r(t, 16)), n = this.keyFromPublic(n, i); + var a = (e = new f(e, "hex")).r, + o = e.s; + if (a.cmpn(1) < 0 || a.cmp(this.n) >= 0) return !1; + if (o.cmpn(1) < 0 || o.cmp(this.n) >= 0) return !1; + var s, u = o.invm(this.n), + c = u.mul(t).umod(this.n), + l = u.mul(a).umod(this.n); + return this.curve._maxwellTrick ? !(s = this.g.jmulAdd(c, n.getPublic(), l)).isInfinity() && s.eqXToP(a) : !(s = this.g.mulAdd(c, n.getPublic(), l)).isInfinity() && 0 === s.getX().umod(this.n).cmp(a) + }, l.prototype.recoverPubKey = function(t, e, n, i) { + u((3 & n) === n, "The recovery param is more than two bits"), e = new f(e, i); + var a = this.n, + o = new r(t), + s = e.r, + c = e.s, + l = 1 & n, + h = n >> 1; + if (s.cmp(this.curve.p.umod(this.curve.n)) >= 0 && h) throw new Error("Unable to find sencond key candinate"); + s = h ? this.curve.pointFromX(s.add(this.curve.n), l) : this.curve.pointFromX(s, l); + var d = e.r.invm(a), + p = a.sub(o).mul(d).umod(a), + g = c.mul(d).umod(a); + return this.g.mulAdd(p, s, g) + }, l.prototype.getKeyRecoveryParam = function(t, e, n, r) { + if (null !== (e = new f(e, r)).recoveryParam) return e.recoveryParam; + for (var i = 0; i < 4; i++) { + var a; + try { + a = this.recoverPubKey(t, e, i) + } catch (t) { + continue + } + if (a.eq(n)) return i + } + throw new Error("Unable to find valid recovery factor") + } + }, function(t, e, n) { + "use strict"; + var r = n(127), + i = n(215), + a = n(16); + + function o(t) { + if (!(this instanceof o)) return new o(t); + this.hash = t.hash, this.predResist = !!t.predResist, this.outLen = this.hash.outSize, this.minEntropy = t.minEntropy || this.hash.hmacStrength, this._reseed = null, this.reseedInterval = null, this.K = null, this.V = null; + var e = i.toArray(t.entropy, t.entropyEnc || "hex"), + n = i.toArray(t.nonce, t.nonceEnc || "hex"), + r = i.toArray(t.pers, t.persEnc || "hex"); + a(e.length >= this.minEntropy / 8, "Not enough entropy. Minimum is: " + this.minEntropy + " bits"), this._init(e, n, r) + } + t.exports = o, o.prototype._init = function(t, e, n) { + var r = t.concat(e).concat(n); + this.K = new Array(this.outLen / 8), this.V = new Array(this.outLen / 8); + for (var i = 0; i < this.V.length; i++) this.K[i] = 0, this.V[i] = 1; + this._update(r), this._reseed = 1, this.reseedInterval = 281474976710656 + }, o.prototype._hmac = function() { + return new r.hmac(this.hash, this.K) + }, o.prototype._update = function(t) { + var e = this._hmac().update(this.V).update([0]); + t && (e = e.update(t)), this.K = e.digest(), this.V = this._hmac().update(this.V).digest(), t && (this.K = this._hmac().update(this.V).update([1]).update(t).digest(), this.V = this._hmac().update(this.V).digest()) + }, o.prototype.reseed = function(t, e, n, r) { + "string" != typeof e && (r = n, n = e, e = null), t = i.toArray(t, e), n = i.toArray(n, r), a(t.length >= this.minEntropy / 8, "Not enough entropy. Minimum is: " + this.minEntropy + " bits"), this._update(t.concat(n || [])), this._reseed = 1 + }, o.prototype.generate = function(t, e, n, r) { + if (this._reseed > this.reseedInterval) throw new Error("Reseed is required"); + "string" != typeof e && (r = n, n = e, e = null), n && (n = i.toArray(n, r || "hex"), this._update(n)); + for (var a = []; a.length < t;) this.V = this._hmac().update(this.V).digest(), a = a.concat(this.V); + var o = a.slice(0, t); + return this._update(n), this._reseed++, i.encode(o, e) + } + }, function(t, e, n) { + "use strict"; + var r = n(5), + i = n(17).assert; + + function a(t, e) { + this.ec = t, this.priv = null, this.pub = null, e.priv && this._importPrivate(e.priv, e.privEnc), e.pub && this._importPublic(e.pub, e.pubEnc) + } + t.exports = a, a.fromPublic = function(t, e, n) { + return e instanceof a ? e : new a(t, { + pub: e, + pubEnc: n + }) + }, a.fromPrivate = function(t, e, n) { + return e instanceof a ? e : new a(t, { + priv: e, + privEnc: n + }) + }, a.prototype.validate = function() { + var t = this.getPublic(); + return t.isInfinity() ? { + result: !1, + reason: "Invalid public key" + } : t.validate() ? t.mul(this.ec.curve.n).isInfinity() ? { + result: !0, + reason: null + } : { + result: !1, + reason: "Public key * N != O" + } : { + result: !1, + reason: "Public key is not a point" + } + }, a.prototype.getPublic = function(t, e) { + return "string" == typeof t && (e = t, t = null), this.pub || (this.pub = this.ec.g.mul(this.priv)), e ? this.pub.encode(e, t) : this.pub + }, a.prototype.getPrivate = function(t) { + return "hex" === t ? this.priv.toString(16, 2) : this.priv + }, a.prototype._importPrivate = function(t, e) { + this.priv = new r(t, e || 16), this.priv = this.priv.umod(this.ec.curve.n) + }, a.prototype._importPublic = function(t, e) { + if (t.x || t.y) return "mont" === this.ec.curve.type ? i(t.x, "Need x coordinate") : "short" !== this.ec.curve.type && "edwards" !== this.ec.curve.type || i(t.x && t.y, "Need both x and y coordinate"), void(this.pub = this.ec.curve.point(t.x, t.y)); + this.pub = this.ec.curve.decodePoint(t, e) + }, a.prototype.derive = function(t) { + return t.mul(this.priv).getX() + }, a.prototype.sign = function(t, e, n) { + return this.ec.sign(t, this, e, n) + }, a.prototype.verify = function(t, e) { + return this.ec.verify(t, e, this) + }, a.prototype.inspect = function() { + return "<Key priv: " + (this.priv && this.priv.toString(16, 2)) + " pub: " + (this.pub && this.pub.inspect()) + " >" + } + }, function(t, e, n) { + "use strict"; + var r = n(5), + i = n(17), + a = i.assert; + + function o(t, e) { + if (t instanceof o) return t; + this._importDER(t, e) || (a(t.r && t.s, "Signature without r or s"), this.r = new r(t.r, 16), this.s = new r(t.s, 16), void 0 === t.recoveryParam ? this.recoveryParam = null : this.recoveryParam = t.recoveryParam) + } + + function s() { + this.place = 0 + } + + function u(t, e) { + var n = t[e.place++]; + if (!(128 & n)) return n; + for (var r = 15 & n, i = 0, a = 0, o = e.place; a < r; a++, o++) i <<= 8, i |= t[o]; + return e.place = o, i + } + + function c(t) { + for (var e = 0, n = t.length - 1; !t[e] && !(128 & t[e + 1]) && e < n;) e++; + return 0 === e ? t : t.slice(e) + } + + function f(t, e) { + if (e < 128) t.push(e); + else { + var n = 1 + (Math.log(e) / Math.LN2 >>> 3); + for (t.push(128 | n); --n;) t.push(e >>> (n << 3) & 255); + t.push(e) + } + } + t.exports = o, o.prototype._importDER = function(t, e) { + t = i.toArray(t, e); + var n = new s; + if (48 !== t[n.place++]) return !1; + if (u(t, n) + n.place !== t.length) return !1; + if (2 !== t[n.place++]) return !1; + var a = u(t, n), + o = t.slice(n.place, a + n.place); + if (n.place += a, 2 !== t[n.place++]) return !1; + var c = u(t, n); + if (t.length !== c + n.place) return !1; + var f = t.slice(n.place, c + n.place); + return 0 === o[0] && 128 & o[1] && (o = o.slice(1)), 0 === f[0] && 128 & f[1] && (f = f.slice(1)), this.r = new r(o), this.s = new r(f), this.recoveryParam = null, !0 + }, o.prototype.toDER = function(t) { + var e = this.r.toArray(), + n = this.s.toArray(); + for (128 & e[0] && (e = [0].concat(e)), 128 & n[0] && (n = [0].concat(n)), e = c(e), n = c(n); !(n[0] || 128 & n[1]);) n = n.slice(1); + var r = [2]; + f(r, e.length), (r = r.concat(e)).push(2), f(r, n.length); + var a = r.concat(n), + o = [48]; + return f(o, a.length), o = o.concat(a), i.encode(o, t) + } + }, function(t, e, n) { + "use strict"; + var r = n(127), + i = n(126), + a = n(17), + o = a.assert, + s = a.parseBytes, + u = n(479), + c = n(480); + + function f(t) { + if (o("ed25519" === t, "only tested with ed25519 so far"), !(this instanceof f)) return new f(t); + t = i[t].curve; + this.curve = t, this.g = t.g, this.g.precompute(t.n.bitLength() + 1), this.pointClass = t.point().constructor, this.encodingLength = Math.ceil(t.n.bitLength() / 8), this.hash = r.sha512 + } + t.exports = f, f.prototype.sign = function(t, e) { + t = s(t); + var n = this.keyFromSecret(e), + r = this.hashInt(n.messagePrefix(), t), + i = this.g.mul(r), + a = this.encodePoint(i), + o = this.hashInt(a, n.pubBytes(), t).mul(n.priv()), + u = r.add(o).umod(this.curve.n); + return this.makeSignature({ + R: i, + S: u, + Rencoded: a + }) + }, f.prototype.verify = function(t, e, n) { + t = s(t), e = this.makeSignature(e); + var r = this.keyFromPublic(n), + i = this.hashInt(e.Rencoded(), r.pubBytes(), t), + a = this.g.mul(e.S()); + return e.R().add(r.pub().mul(i)).eq(a) + }, f.prototype.hashInt = function() { + for (var t = this.hash(), e = 0; e < arguments.length; e++) t.update(arguments[e]); + return a.intFromLE(t.digest()).umod(this.curve.n) + }, f.prototype.keyFromPublic = function(t) { + return u.fromPublic(this, t) + }, f.prototype.keyFromSecret = function(t) { + return u.fromSecret(this, t) + }, f.prototype.makeSignature = function(t) { + return t instanceof c ? t : new c(this, t) + }, f.prototype.encodePoint = function(t) { + var e = t.getY().toArray("le", this.encodingLength); + return e[this.encodingLength - 1] |= t.getX().isOdd() ? 128 : 0, e + }, f.prototype.decodePoint = function(t) { + var e = (t = a.parseBytes(t)).length - 1, + n = t.slice(0, e).concat(-129 & t[e]), + r = 0 != (128 & t[e]), + i = a.intFromLE(n); + return this.curve.pointFromY(i, r) + }, f.prototype.encodeInt = function(t) { + return t.toArray("le", this.encodingLength) + }, f.prototype.decodeInt = function(t) { + return a.intFromLE(t) + }, f.prototype.isPoint = function(t) { + return t instanceof this.pointClass + } + }, function(t, e, n) { + "use strict"; + var r = n(17), + i = r.assert, + a = r.parseBytes, + o = r.cachedProperty; + + function s(t, e) { + this.eddsa = t, this._secret = a(e.secret), t.isPoint(e.pub) ? this._pub = e.pub : this._pubBytes = a(e.pub) + } + s.fromPublic = function(t, e) { + return e instanceof s ? e : new s(t, { + pub: e + }) + }, s.fromSecret = function(t, e) { + return e instanceof s ? e : new s(t, { + secret: e + }) + }, s.prototype.secret = function() { + return this._secret + }, o(s, "pubBytes", (function() { + return this.eddsa.encodePoint(this.pub()) + })), o(s, "pub", (function() { + return this._pubBytes ? this.eddsa.decodePoint(this._pubBytes) : this.eddsa.g.mul(this.priv()) + })), o(s, "privBytes", (function() { + var t = this.eddsa, + e = this.hash(), + n = t.encodingLength - 1, + r = e.slice(0, t.encodingLength); + return r[0] &= 248, r[n] &= 127, r[n] |= 64, r + })), o(s, "priv", (function() { + return this.eddsa.decodeInt(this.privBytes()) + })), o(s, "hash", (function() { + return this.eddsa.hash().update(this.secret()).digest() + })), o(s, "messagePrefix", (function() { + return this.hash().slice(this.eddsa.encodingLength) + })), s.prototype.sign = function(t) { + return i(this._secret, "KeyPair can only verify"), this.eddsa.sign(t, this) + }, s.prototype.verify = function(t, e) { + return this.eddsa.verify(t, e, this) + }, s.prototype.getSecret = function(t) { + return i(this._secret, "KeyPair is public only"), r.encode(this.secret(), t) + }, s.prototype.getPublic = function(t) { + return r.encode(this.pubBytes(), t) + }, t.exports = s + }, function(t, e, n) { + "use strict"; + var r = n(5), + i = n(17), + a = i.assert, + o = i.cachedProperty, + s = i.parseBytes; + + function u(t, e) { + this.eddsa = t, "object" != typeof e && (e = s(e)), Array.isArray(e) && (e = { + R: e.slice(0, t.encodingLength), + S: e.slice(t.encodingLength) + }), a(e.R && e.S, "Signature without R or S"), t.isPoint(e.R) && (this._R = e.R), e.S instanceof r && (this._S = e.S), this._Rencoded = Array.isArray(e.R) ? e.R : e.Rencoded, this._Sencoded = Array.isArray(e.S) ? e.S : e.Sencoded + } + o(u, "S", (function() { + return this.eddsa.decodeInt(this.Sencoded()) + })), o(u, "R", (function() { + return this.eddsa.decodePoint(this.Rencoded()) + })), o(u, "Rencoded", (function() { + return this.eddsa.encodePoint(this.R()) + })), o(u, "Sencoded", (function() { + return this.eddsa.encodeInt(this.S()) + })), u.prototype.toBytes = function() { + return this.Rencoded().concat(this.Sencoded()) + }, u.prototype.toHex = function() { + return i.encode(this.toBytes(), "hex").toUpperCase() + }, t.exports = u + }, function(t, e, n) { + "use strict"; + var r = n(57); + e.certificate = n(491); + var i = r.define("RSAPrivateKey", (function() { + this.seq().obj(this.key("version").int(), this.key("modulus").int(), this.key("publicExponent").int(), this.key("privateExponent").int(), this.key("prime1").int(), this.key("prime2").int(), this.key("exponent1").int(), this.key("exponent2").int(), this.key("coefficient").int()) + })); + e.RSAPrivateKey = i; + var a = r.define("RSAPublicKey", (function() { + this.seq().obj(this.key("modulus").int(), this.key("publicExponent").int()) + })); + e.RSAPublicKey = a; + var o = r.define("SubjectPublicKeyInfo", (function() { + this.seq().obj(this.key("algorithm").use(s), this.key("subjectPublicKey").bitstr()) + })); + e.PublicKey = o; + var s = r.define("AlgorithmIdentifier", (function() { + this.seq().obj(this.key("algorithm").objid(), this.key("none").null_().optional(), this.key("curve").objid().optional(), this.key("params").seq().obj(this.key("p").int(), this.key("q").int(), this.key("g").int()).optional()) + })), + u = r.define("PrivateKeyInfo", (function() { + this.seq().obj(this.key("version").int(), this.key("algorithm").use(s), this.key("subjectPrivateKey").octstr()) + })); + e.PrivateKey = u; + var c = r.define("EncryptedPrivateKeyInfo", (function() { + this.seq().obj(this.key("algorithm").seq().obj(this.key("id").objid(), this.key("decrypt").seq().obj(this.key("kde").seq().obj(this.key("id").objid(), this.key("kdeparams").seq().obj(this.key("salt").octstr(), this.key("iters").int())), this.key("cipher").seq().obj(this.key("algo").objid(), this.key("iv").octstr()))), this.key("subjectPrivateKey").octstr()) + })); + e.EncryptedPrivateKey = c; + var f = r.define("DSAPrivateKey", (function() { + this.seq().obj(this.key("version").int(), this.key("p").int(), this.key("q").int(), this.key("g").int(), this.key("pub_key").int(), this.key("priv_key").int()) + })); + e.DSAPrivateKey = f, e.DSAparam = r.define("DSAparam", (function() { + this.int() + })); + var l = r.define("ECPrivateKey", (function() { + this.seq().obj(this.key("version").int(), this.key("privateKey").octstr(), this.key("parameters").optional().explicit(0).use(h), this.key("publicKey").optional().explicit(1).bitstr()) + })); + e.ECPrivateKey = l; + var h = r.define("ECParameters", (function() { + this.choice({ + namedCurve: this.objid() + }) + })); + e.signature = r.define("signature", (function() { + this.seq().obj(this.key("r").int(), this.key("s").int()) + })) + }, function(t, e, n) { + var r = n(57), + i = n(2); + + function a(t, e) { + this.name = t, this.body = e, this.decoders = {}, this.encoders = {} + } + e.define = function(t, e) { + return new a(t, e) + }, a.prototype._createNamed = function(t) { + var e; + try { + e = n(483).runInThisContext("(function " + this.name + "(entity) {\n this._initNamed(entity);\n})") + } catch (t) { + e = function(t) { + this._initNamed(t) + } + } + return i(e, t), e.prototype._initNamed = function(e) { + t.call(this, e) + }, new e(this) + }, a.prototype._getDecoder = function(t) { + return t = t || "der", this.decoders.hasOwnProperty(t) || (this.decoders[t] = this._createNamed(r.decoders[t])), this.decoders[t] + }, a.prototype.decode = function(t, e, n) { + return this._getDecoder(e).decode(t, n) + }, a.prototype._getEncoder = function(t) { + return t = t || "der", this.encoders.hasOwnProperty(t) || (this.encoders[t] = this._createNamed(r.encoders[t])), this.encoders[t] + }, a.prototype.encode = function(t, e, n) { + return this._getEncoder(e).encode(t, n) + } + }, function(module, exports) { + var indexOf = function(t, e) { + if (t.indexOf) return t.indexOf(e); + for (var n = 0; n < t.length; n++) + if (t[n] === e) return n; + return -1 + }, + Object_keys = function(t) { + if (Object.keys) return Object.keys(t); + var e = []; + for (var n in t) e.push(n); + return e + }, + forEach = function(t, e) { + if (t.forEach) return t.forEach(e); + for (var n = 0; n < t.length; n++) e(t[n], n, t) + }, + defineProp = function() { + try { + return Object.defineProperty({}, "_", {}), + function(t, e, n) { + Object.defineProperty(t, e, { + writable: !0, + enumerable: !1, + configurable: !0, + value: n + }) + } + } catch (t) { + return function(t, e, n) { + t[e] = n + } + } + }(), + globals = ["Array", "Boolean", "Date", "Error", "EvalError", "Function", "Infinity", "JSON", "Math", "NaN", "Number", "Object", "RangeError", "ReferenceError", "RegExp", "String", "SyntaxError", "TypeError", "URIError", "decodeURI", "decodeURIComponent", "encodeURI", "encodeURIComponent", "escape", "eval", "isFinite", "isNaN", "parseFloat", "parseInt", "undefined", "unescape"]; + + function Context() {} + Context.prototype = {}; + var Script = exports.Script = function(t) { + if (!(this instanceof Script)) return new Script(t); + this.code = t + }; + Script.prototype.runInContext = function(t) { + if (!(t instanceof Context)) throw new TypeError("needs a 'context' argument."); + var e = document.createElement("iframe"); + e.style || (e.style = {}), e.style.display = "none", document.body.appendChild(e); + var n = e.contentWindow, + r = n.eval, + i = n.execScript; + !r && i && (i.call(n, "null"), r = n.eval), forEach(Object_keys(t), (function(e) { + n[e] = t[e] + })), forEach(globals, (function(e) { + t[e] && (n[e] = t[e]) + })); + var a = Object_keys(n), + o = r.call(n, this.code); + return forEach(Object_keys(n), (function(e) { + (e in t || -1 === indexOf(a, e)) && (t[e] = n[e]) + })), forEach(globals, (function(e) { + e in t || defineProp(t, e, n[e]) + })), document.body.removeChild(e), o + }, Script.prototype.runInThisContext = function() { + return eval(this.code) + }, Script.prototype.runInNewContext = function(t) { + var e = Script.createContext(t), + n = this.runInContext(e); + return t && forEach(Object_keys(e), (function(n) { + t[n] = e[n] + })), n + }, forEach(Object_keys(Script.prototype), (function(t) { + exports[t] = Script[t] = function(e) { + var n = Script(e); + return n[t].apply(n, [].slice.call(arguments, 1)) + } + })), exports.isContext = function(t) { + return t instanceof Context + }, exports.createScript = function(t) { + return exports.Script(t) + }, exports.createContext = Script.createContext = function(t) { + var e = new Context; + return "object" == typeof t && forEach(Object_keys(t), (function(n) { + e[n] = t[n] + })), e + } + }, function(t, e, n) { + var r = n(2); + + function i(t) { + this._reporterState = { + obj: null, + path: [], + options: t || {}, + errors: [] + } + } + + function a(t, e) { + this.path = t, this.rethrow(e) + } + e.Reporter = i, i.prototype.isError = function(t) { + return t instanceof a + }, i.prototype.save = function() { + var t = this._reporterState; + return { + obj: t.obj, + pathLen: t.path.length + } + }, i.prototype.restore = function(t) { + var e = this._reporterState; + e.obj = t.obj, e.path = e.path.slice(0, t.pathLen) + }, i.prototype.enterKey = function(t) { + return this._reporterState.path.push(t) + }, i.prototype.exitKey = function(t) { + var e = this._reporterState; + e.path = e.path.slice(0, t - 1) + }, i.prototype.leaveKey = function(t, e, n) { + var r = this._reporterState; + this.exitKey(t), null !== r.obj && (r.obj[e] = n) + }, i.prototype.path = function() { + return this._reporterState.path.join("/") + }, i.prototype.enterObject = function() { + var t = this._reporterState, + e = t.obj; + return t.obj = {}, e + }, i.prototype.leaveObject = function(t) { + var e = this._reporterState, + n = e.obj; + return e.obj = t, n + }, i.prototype.error = function(t) { + var e, n = this._reporterState, + r = t instanceof a; + if (e = r ? t : new a(n.path.map((function(t) { + return "[" + JSON.stringify(t) + "]" + })).join(""), t.message || t, t.stack), !n.options.partial) throw e; + return r || n.errors.push(e), e + }, i.prototype.wrapResult = function(t) { + var e = this._reporterState; + return e.options.partial ? { + result: this.isError(t) ? null : t, + errors: e.errors + } : t + }, r(a, Error), a.prototype.rethrow = function(t) { + if (this.message = t + " at: " + (this.path || "(shallow)"), Error.captureStackTrace && Error.captureStackTrace(this, a), !this.stack) try { + throw new Error(this.message) + } catch (t) { + this.stack = t.stack + } + return this + } + }, function(t, e, n) { + var r = n(58).Reporter, + i = n(58).EncoderBuffer, + a = n(58).DecoderBuffer, + o = n(16), + s = ["seq", "seqof", "set", "setof", "objid", "bool", "gentime", "utctime", "null_", "enum", "int", "objDesc", "bitstr", "bmpstr", "charstr", "genstr", "graphstr", "ia5str", "iso646str", "numstr", "octstr", "printstr", "t61str", "unistr", "utf8str", "videostr"], + u = ["key", "obj", "use", "optional", "explicit", "implicit", "def", "choice", "any", "contains"].concat(s); + + function c(t, e) { + var n = {}; + this._baseState = n, n.enc = t, n.parent = e || null, n.children = null, n.tag = null, n.args = null, n.reverseArgs = null, n.choice = null, n.optional = !1, n.any = !1, n.obj = !1, n.use = null, n.useDecoder = null, n.key = null, n.default = null, n.explicit = null, n.implicit = null, n.contains = null, n.parent || (n.children = [], this._wrap()) + } + t.exports = c; + var f = ["enc", "parent", "children", "tag", "args", "reverseArgs", "choice", "optional", "any", "obj", "use", "alteredUse", "key", "default", "explicit", "implicit", "contains"]; + c.prototype.clone = function() { + var t = this._baseState, + e = {}; + f.forEach((function(n) { + e[n] = t[n] + })); + var n = new this.constructor(e.parent); + return n._baseState = e, n + }, c.prototype._wrap = function() { + var t = this._baseState; + u.forEach((function(e) { + this[e] = function() { + var n = new this.constructor(this); + return t.children.push(n), n[e].apply(n, arguments) + } + }), this) + }, c.prototype._init = function(t) { + var e = this._baseState; + o(null === e.parent), t.call(this), e.children = e.children.filter((function(t) { + return t._baseState.parent === this + }), this), o.equal(e.children.length, 1, "Root node can have only one child") + }, c.prototype._useArgs = function(t) { + var e = this._baseState, + n = t.filter((function(t) { + return t instanceof this.constructor + }), this); + t = t.filter((function(t) { + return !(t instanceof this.constructor) + }), this), 0 !== n.length && (o(null === e.children), e.children = n, n.forEach((function(t) { + t._baseState.parent = this + }), this)), 0 !== t.length && (o(null === e.args), e.args = t, e.reverseArgs = t.map((function(t) { + if ("object" != typeof t || t.constructor !== Object) return t; + var e = {}; + return Object.keys(t).forEach((function(n) { + n == (0 | n) && (n |= 0); + var r = t[n]; + e[r] = n + })), e + }))) + }, ["_peekTag", "_decodeTag", "_use", "_decodeStr", "_decodeObjid", "_decodeTime", "_decodeNull", "_decodeInt", "_decodeBool", "_decodeList", "_encodeComposite", "_encodeStr", "_encodeObjid", "_encodeTime", "_encodeNull", "_encodeInt", "_encodeBool"].forEach((function(t) { + c.prototype[t] = function() { + var e = this._baseState; + throw new Error(t + " not implemented for encoding: " + e.enc) + } + })), s.forEach((function(t) { + c.prototype[t] = function() { + var e = this._baseState, + n = Array.prototype.slice.call(arguments); + return o(null === e.tag), e.tag = t, this._useArgs(n), this + } + })), c.prototype.use = function(t) { + o(t); + var e = this._baseState; + return o(null === e.use), e.use = t, this + }, c.prototype.optional = function() { + return this._baseState.optional = !0, this + }, c.prototype.def = function(t) { + var e = this._baseState; + return o(null === e.default), e.default = t, e.optional = !0, this + }, c.prototype.explicit = function(t) { + var e = this._baseState; + return o(null === e.explicit && null === e.implicit), e.explicit = t, this + }, c.prototype.implicit = function(t) { + var e = this._baseState; + return o(null === e.explicit && null === e.implicit), e.implicit = t, this + }, c.prototype.obj = function() { + var t = this._baseState, + e = Array.prototype.slice.call(arguments); + return t.obj = !0, 0 !== e.length && this._useArgs(e), this + }, c.prototype.key = function(t) { + var e = this._baseState; + return o(null === e.key), e.key = t, this + }, c.prototype.any = function() { + return this._baseState.any = !0, this + }, c.prototype.choice = function(t) { + var e = this._baseState; + return o(null === e.choice), e.choice = t, this._useArgs(Object.keys(t).map((function(e) { + return t[e] + }))), this + }, c.prototype.contains = function(t) { + var e = this._baseState; + return o(null === e.use), e.contains = t, this + }, c.prototype._decode = function(t, e) { + var n = this._baseState; + if (null === n.parent) return t.wrapResult(n.children[0]._decode(t, e)); + var r, i = n.default, + o = !0, + s = null; + if (null !== n.key && (s = t.enterKey(n.key)), n.optional) { + var u = null; + if (null !== n.explicit ? u = n.explicit : null !== n.implicit ? u = n.implicit : null !== n.tag && (u = n.tag), null !== u || n.any) { + if (o = this._peekTag(t, u, n.any), t.isError(o)) return o + } else { + var c = t.save(); + try { + null === n.choice ? this._decodeGeneric(n.tag, t, e) : this._decodeChoice(t, e), o = !0 + } catch (t) { + o = !1 + } + t.restore(c) + } + } + if (n.obj && o && (r = t.enterObject()), o) { + if (null !== n.explicit) { + var f = this._decodeTag(t, n.explicit); + if (t.isError(f)) return f; + t = f + } + var l = t.offset; + if (null === n.use && null === n.choice) { + if (n.any) c = t.save(); + var h = this._decodeTag(t, null !== n.implicit ? n.implicit : n.tag, n.any); + if (t.isError(h)) return h; + n.any ? i = t.raw(c) : t = h + } + if (e && e.track && null !== n.tag && e.track(t.path(), l, t.length, "tagged"), e && e.track && null !== n.tag && e.track(t.path(), t.offset, t.length, "content"), i = n.any ? i : null === n.choice ? this._decodeGeneric(n.tag, t, e) : this._decodeChoice(t, e), t.isError(i)) return i; + if (n.any || null !== n.choice || null === n.children || n.children.forEach((function(n) { + n._decode(t, e) + })), n.contains && ("octstr" === n.tag || "bitstr" === n.tag)) { + var d = new a(i); + i = this._getUse(n.contains, t._reporterState.obj)._decode(d, e) + } + } + return n.obj && o && (i = t.leaveObject(r)), null === n.key || null === i && !0 !== o ? null !== s && t.exitKey(s) : t.leaveKey(s, n.key, i), i + }, c.prototype._decodeGeneric = function(t, e, n) { + var r = this._baseState; + return "seq" === t || "set" === t ? null : "seqof" === t || "setof" === t ? this._decodeList(e, t, r.args[0], n) : /str$/.test(t) ? this._decodeStr(e, t, n) : "objid" === t && r.args ? this._decodeObjid(e, r.args[0], r.args[1], n) : "objid" === t ? this._decodeObjid(e, null, null, n) : "gentime" === t || "utctime" === t ? this._decodeTime(e, t, n) : "null_" === t ? this._decodeNull(e, n) : "bool" === t ? this._decodeBool(e, n) : "objDesc" === t ? this._decodeStr(e, t, n) : "int" === t || "enum" === t ? this._decodeInt(e, r.args && r.args[0], n) : null !== r.use ? this._getUse(r.use, e._reporterState.obj)._decode(e, n) : e.error("unknown tag: " + t) + }, c.prototype._getUse = function(t, e) { + var n = this._baseState; + return n.useDecoder = this._use(t, e), o(null === n.useDecoder._baseState.parent), n.useDecoder = n.useDecoder._baseState.children[0], n.implicit !== n.useDecoder._baseState.implicit && (n.useDecoder = n.useDecoder.clone(), n.useDecoder._baseState.implicit = n.implicit), n.useDecoder + }, c.prototype._decodeChoice = function(t, e) { + var n = this._baseState, + r = null, + i = !1; + return Object.keys(n.choice).some((function(a) { + var o = t.save(), + s = n.choice[a]; + try { + var u = s._decode(t, e); + if (t.isError(u)) return !1; + r = { + type: a, + value: u + }, i = !0 + } catch (e) { + return t.restore(o), !1 + } + return !0 + }), this), i ? r : t.error("Choice not matched") + }, c.prototype._createEncoderBuffer = function(t) { + return new i(t, this.reporter) + }, c.prototype._encode = function(t, e, n) { + var r = this._baseState; + if (null === r.default || r.default !== t) { + var i = this._encodeValue(t, e, n); + if (void 0 !== i && !this._skipDefault(i, e, n)) return i + } + }, c.prototype._encodeValue = function(t, e, n) { + var i = this._baseState; + if (null === i.parent) return i.children[0]._encode(t, e || new r); + var a = null; + if (this.reporter = e, i.optional && void 0 === t) { + if (null === i.default) return; + t = i.default + } + var o = null, + s = !1; + if (i.any) a = this._createEncoderBuffer(t); + else if (i.choice) a = this._encodeChoice(t, e); + else if (i.contains) o = this._getUse(i.contains, n)._encode(t, e), s = !0; + else if (i.children) o = i.children.map((function(n) { + if ("null_" === n._baseState.tag) return n._encode(null, e, t); + if (null === n._baseState.key) return e.error("Child should have a key"); + var r = e.enterKey(n._baseState.key); + if ("object" != typeof t) return e.error("Child expected, but input is not object"); + var i = n._encode(t[n._baseState.key], e, t); + return e.leaveKey(r), i + }), this).filter((function(t) { + return t + })), o = this._createEncoderBuffer(o); + else if ("seqof" === i.tag || "setof" === i.tag) { + if (!i.args || 1 !== i.args.length) return e.error("Too many args for : " + i.tag); + if (!Array.isArray(t)) return e.error("seqof/setof, but data is not Array"); + var u = this.clone(); + u._baseState.implicit = null, o = this._createEncoderBuffer(t.map((function(n) { + var r = this._baseState; + return this._getUse(r.args[0], t)._encode(n, e) + }), u)) + } else null !== i.use ? a = this._getUse(i.use, n)._encode(t, e) : (o = this._encodePrimitive(i.tag, t), s = !0); + if (!i.any && null === i.choice) { + var c = null !== i.implicit ? i.implicit : i.tag, + f = null === i.implicit ? "universal" : "context"; + null === c ? null === i.use && e.error("Tag could be omitted only for .use()") : null === i.use && (a = this._encodeComposite(c, s, f, o)) + } + return null !== i.explicit && (a = this._encodeComposite(i.explicit, !1, "context", a)), a + }, c.prototype._encodeChoice = function(t, e) { + var n = this._baseState, + r = n.choice[t.type]; + return r || o(!1, t.type + " not found in " + JSON.stringify(Object.keys(n.choice))), r._encode(t.value, e) + }, c.prototype._encodePrimitive = function(t, e) { + var n = this._baseState; + if (/str$/.test(t)) return this._encodeStr(e, t); + if ("objid" === t && n.args) return this._encodeObjid(e, n.reverseArgs[0], n.args[1]); + if ("objid" === t) return this._encodeObjid(e, null, null); + if ("gentime" === t || "utctime" === t) return this._encodeTime(e, t); + if ("null_" === t) return this._encodeNull(); + if ("int" === t || "enum" === t) return this._encodeInt(e, n.args && n.reverseArgs[0]); + if ("bool" === t) return this._encodeBool(e); + if ("objDesc" === t) return this._encodeStr(e, t); + throw new Error("Unsupported tag: " + t) + }, c.prototype._isNumstr = function(t) { + return /^[0-9 ]*$/.test(t) + }, c.prototype._isPrintstr = function(t) { + return /^[A-Za-z0-9 '\(\)\+,\-\.\/:=\?]*$/.test(t) + } + }, function(t, e, n) { + var r = n(221); + e.tagClass = { + 0: "universal", + 1: "application", + 2: "context", + 3: "private" + }, e.tagClassByName = r._reverse(e.tagClass), e.tag = { + 0: "end", + 1: "bool", + 2: "int", + 3: "bitstr", + 4: "octstr", + 5: "null_", + 6: "objid", + 7: "objDesc", + 8: "external", + 9: "real", + 10: "enum", + 11: "embed", + 12: "utf8str", + 13: "relativeOid", + 16: "seq", + 17: "set", + 18: "numstr", + 19: "printstr", + 20: "t61str", + 21: "videostr", + 22: "ia5str", + 23: "utctime", + 24: "gentime", + 25: "graphstr", + 26: "iso646str", + 27: "genstr", + 28: "unistr", + 29: "charstr", + 30: "bmpstr" + }, e.tagByName = r._reverse(e.tag) + }, function(t, e, n) { + var r = e; + r.der = n(222), r.pem = n(488) + }, function(t, e, n) { + var r = n(2), + i = n(8).Buffer, + a = n(222); + + function o(t) { + a.call(this, t), this.enc = "pem" + } + r(o, a), t.exports = o, o.prototype.decode = function(t, e) { + for (var n = t.toString().split(/[\r\n]+/g), r = e.label.toUpperCase(), o = /^-----(BEGIN|END) ([^-]+)-----$/, s = -1, u = -1, c = 0; c < n.length; c++) { + var f = n[c].match(o); + if (null !== f && f[2] === r) { + if (-1 !== s) { + if ("END" !== f[1]) break; + u = c; + break + } + if ("BEGIN" !== f[1]) break; + s = c + } + } + if (-1 === s || -1 === u) throw new Error("PEM section not found for: " + r); + var l = n.slice(s + 1, u).join(""); + l.replace(/[^a-z0-9\+\/=]+/gi, ""); + var h = new i(l, "base64"); + return a.prototype.decode.call(this, h, e) + } + }, function(t, e, n) { + var r = e; + r.der = n(223), r.pem = n(490) + }, function(t, e, n) { + var r = n(2), + i = n(223); + + function a(t) { + i.call(this, t), this.enc = "pem" + } + r(a, i), t.exports = a, a.prototype.encode = function(t, e) { + for (var n = i.prototype.encode.call(this, t).toString("base64"), r = ["-----BEGIN " + e.label + "-----"], a = 0; a < n.length; a += 64) r.push(n.slice(a, a + 64)); + return r.push("-----END " + e.label + "-----"), r.join("\n") + } + }, function(t, e, n) { + "use strict"; + var r = n(57), + i = r.define("Time", (function() { + this.choice({ + utcTime: this.utctime(), + generalTime: this.gentime() + }) + })), + a = r.define("AttributeTypeValue", (function() { + this.seq().obj(this.key("type").objid(), this.key("value").any()) + })), + o = r.define("AlgorithmIdentifier", (function() { + this.seq().obj(this.key("algorithm").objid(), this.key("parameters").optional(), this.key("curve").objid().optional()) + })), + s = r.define("SubjectPublicKeyInfo", (function() { + this.seq().obj(this.key("algorithm").use(o), this.key("subjectPublicKey").bitstr()) + })), + u = r.define("RelativeDistinguishedName", (function() { + this.setof(a) + })), + c = r.define("RDNSequence", (function() { + this.seqof(u) + })), + f = r.define("Name", (function() { + this.choice({ + rdnSequence: this.use(c) + }) + })), + l = r.define("Validity", (function() { + this.seq().obj(this.key("notBefore").use(i), this.key("notAfter").use(i)) + })), + h = r.define("Extension", (function() { + this.seq().obj(this.key("extnID").objid(), this.key("critical").bool().def(!1), this.key("extnValue").octstr()) + })), + d = r.define("TBSCertificate", (function() { + this.seq().obj(this.key("version").explicit(0).int().optional(), this.key("serialNumber").int(), this.key("signature").use(o), this.key("issuer").use(f), this.key("validity").use(l), this.key("subject").use(f), this.key("subjectPublicKeyInfo").use(s), this.key("issuerUniqueID").implicit(1).bitstr().optional(), this.key("subjectUniqueID").implicit(2).bitstr().optional(), this.key("extensions").explicit(3).seqof(h).optional()) + })), + p = r.define("X509Certificate", (function() { + this.seq().obj(this.key("tbsCertificate").use(d), this.key("signatureAlgorithm").use(o), this.key("signatureValue").bitstr()) + })); + t.exports = p + }, function(t) { + t.exports = JSON.parse('{"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"}') + }, function(t, e, n) { + var r = /Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r\+\/\=]+)[\n\r]+/m, + i = /^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m, + a = /^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r\+\/\=]+)-----END \1-----$/m, + o = n(80), + s = n(121), + u = n(3).Buffer; + t.exports = function(t, e) { + var n, c = t.toString(), + f = c.match(r); + if (f) { + var l = "aes" + f[1], + h = u.from(f[2], "hex"), + d = u.from(f[3].replace(/[\r\n]/g, ""), "base64"), + p = o(e, h.slice(0, 8), parseInt(f[1], 10)).key, + g = [], + y = s.createDecipheriv(l, p, h); + g.push(y.update(d)), g.push(y.final()), n = u.concat(g) + } else { + var b = c.match(a); + n = new u(b[2].replace(/[\r\n]/g, ""), "base64") + } + return { + tag: c.match(i)[1], + data: n + } + } + }, function(t, e, n) { + (function(e) { + var r = n(5), + i = n(125).ec, + a = n(82), + o = n(224); + + function s(t, e) { + if (t.cmpn(0) <= 0) throw new Error("invalid sig"); + if (t.cmp(e) >= e) throw new Error("invalid sig") + } + t.exports = function(t, n, u, c, f) { + var l = a(u); + if ("ec" === l.type) { + if ("ecdsa" !== c && "ecdsa/rsa" !== c) throw new Error("wrong public key type"); + return function(t, e, n) { + var r = o[n.data.algorithm.curve.join(".")]; + if (!r) throw new Error("unknown curve " + n.data.algorithm.curve.join(".")); + var a = new i(r), + s = n.data.subjectPrivateKey.data; + return a.verify(e, t, s) + }(t, n, l) + } + if ("dsa" === l.type) { + if ("dsa" !== c) throw new Error("wrong public key type"); + return function(t, e, n) { + var i = n.data.p, + o = n.data.q, + u = n.data.g, + c = n.data.pub_key, + f = a.signature.decode(t, "der"), + l = f.s, + h = f.r; + s(l, o), s(h, o); + var d = r.mont(i), + p = l.invm(o); + return 0 === u.toRed(d).redPow(new r(e).mul(p).mod(o)).fromRed().mul(c.toRed(d).redPow(h.mul(p).mod(o)).fromRed()).mod(i).mod(o).cmp(h) + }(t, n, l) + } + if ("rsa" !== c && "ecdsa/rsa" !== c) throw new Error("wrong public key type"); + n = e.concat([f, n]); + for (var h = l.modulus.byteLength(), d = [1], p = 0; n.length + d.length + 2 < h;) d.push(255), p++; + d.push(0); + for (var g = -1; ++g < n.length;) d.push(n[g]); + d = new e(d); + var y = r.mont(l.modulus); + t = (t = new r(t).toRed(y)).redPow(new r(l.publicExponent)), t = new e(t.fromRed().toArray()); + var b = p < 8 ? 1 : 0; + for (h = Math.min(t.length, d.length), t.length !== d.length && (b = 1), g = -1; ++g < h;) b |= t[g] ^ d[g]; + return 0 === b + } + }).call(this, n(8).Buffer) + }, function(t, e, n) { + (function(e) { + var r = n(125), + i = n(5); + t.exports = function(t) { + return new o(t) + }; + var a = { + secp256k1: { + name: "secp256k1", + byteLength: 32 + }, + secp224r1: { + name: "p224", + byteLength: 28 + }, + prime256v1: { + name: "p256", + byteLength: 32 + }, + prime192v1: { + name: "p192", + byteLength: 24 + }, + ed25519: { + name: "ed25519", + byteLength: 32 + }, + secp384r1: { + name: "p384", + byteLength: 48 + }, + secp521r1: { + name: "p521", + byteLength: 66 + } + }; + + function o(t) { + this.curveType = a[t], this.curveType || (this.curveType = { + name: t + }), this.curve = new r.ec(this.curveType.name), this.keys = void 0 + } + + function s(t, n, r) { + Array.isArray(t) || (t = t.toArray()); + var i = new e(t); + if (r && i.length < r) { + var a = new e(r - i.length); + a.fill(0), i = e.concat([a, i]) + } + return n ? i.toString(n) : i + } + a.p224 = a.secp224r1, a.p256 = a.secp256r1 = a.prime256v1, a.p192 = a.secp192r1 = a.prime192v1, a.p384 = a.secp384r1, a.p521 = a.secp521r1, o.prototype.generateKeys = function(t, e) { + return this.keys = this.curve.genKeyPair(), this.getPublicKey(t, e) + }, o.prototype.computeSecret = function(t, n, r) { + return n = n || "utf8", e.isBuffer(t) || (t = new e(t, n)), s(this.curve.keyFromPublic(t).getPublic().mul(this.keys.getPrivate()).getX(), r, this.curveType.byteLength) + }, o.prototype.getPublicKey = function(t, e) { + var n = this.keys.getPublic("compressed" === e, !0); + return "hybrid" === e && (n[n.length - 1] % 2 ? n[0] = 7 : n[0] = 6), s(n, t) + }, o.prototype.getPrivateKey = function(t) { + return s(this.keys.getPrivate(), t) + }, o.prototype.setPublicKey = function(t, n) { + return n = n || "utf8", e.isBuffer(t) || (t = new e(t, n)), this.keys._importPublic(t), this + }, o.prototype.setPrivateKey = function(t, n) { + n = n || "utf8", e.isBuffer(t) || (t = new e(t, n)); + var r = new i(t); + return r = r.toString(16), this.keys = this.curve.genKeyPair(), this.keys._importPrivate(r), this + } + }).call(this, n(8).Buffer) + }, function(t, e, n) { + e.publicEncrypt = n(497), e.privateDecrypt = n(498), e.privateEncrypt = function(t, n) { + return e.publicEncrypt(t, n, !0) + }, e.publicDecrypt = function(t, n) { + return e.privateDecrypt(t, n, !0) + } + }, function(t, e, n) { + var r = n(82), + i = n(44), + a = n(53), + o = n(225), + s = n(226), + u = n(5), + c = n(227), + f = n(124), + l = n(3).Buffer; + t.exports = function(t, e, n) { + var h; + h = t.padding ? t.padding : n ? 1 : 4; + var d, p = r(t); + if (4 === h) d = function(t, e) { + var n = t.modulus.byteLength(), + r = e.length, + c = a("sha1").update(l.alloc(0)).digest(), + f = c.length, + h = 2 * f; + if (r > n - h - 2) throw new Error("message too long"); + var d = l.alloc(n - r - h - 2), + p = n - f - 1, + g = i(f), + y = s(l.concat([c, d, l.alloc(1, 1), e], p), o(g, p)), + b = s(g, o(y, f)); + return new u(l.concat([l.alloc(1), b, y], n)) + }(p, e); + else if (1 === h) d = function(t, e, n) { + var r, a = e.length, + o = t.modulus.byteLength(); + if (a > o - 11) throw new Error("message too long"); + r = n ? l.alloc(o - a - 3, 255) : function(t) { + var e, n = l.allocUnsafe(t), + r = 0, + a = i(2 * t), + o = 0; + for (; r < t;) o === a.length && (a = i(2 * t), o = 0), (e = a[o++]) && (n[r++] = e); + return n + }(o - a - 3); + return new u(l.concat([l.from([0, n ? 1 : 2]), r, l.alloc(1), e], o)) + }(p, e, n); + else { + if (3 !== h) throw new Error("unknown padding"); + if ((d = new u(e)).cmp(p.modulus) >= 0) throw new Error("data too long for modulus") + } + return n ? f(d, p) : c(d, p) + } + }, function(t, e, n) { + var r = n(82), + i = n(225), + a = n(226), + o = n(5), + s = n(124), + u = n(53), + c = n(227), + f = n(3).Buffer; + t.exports = function(t, e, n) { + var l; + l = t.padding ? t.padding : n ? 1 : 4; + var h, d = r(t), + p = d.modulus.byteLength(); + if (e.length > p || new o(e).cmp(d.modulus) >= 0) throw new Error("decryption error"); + h = n ? c(new o(e), d) : s(e, d); + var g = f.alloc(p - h.length); + if (h = f.concat([g, h], p), 4 === l) return function(t, e) { + var n = t.modulus.byteLength(), + r = u("sha1").update(f.alloc(0)).digest(), + o = r.length; + if (0 !== e[0]) throw new Error("decryption error"); + var s = e.slice(1, o + 1), + c = e.slice(o + 1), + l = a(s, i(c, o)), + h = a(c, i(l, n - o - 1)); + if (function(t, e) { + t = f.from(t), e = f.from(e); + var n = 0, + r = t.length; + t.length !== e.length && (n++, r = Math.min(t.length, e.length)); + var i = -1; + for (; ++i < r;) n += t[i] ^ e[i]; + return n + }(r, h.slice(0, o))) throw new Error("decryption error"); + var d = o; + for (; 0 === h[d];) d++; + if (1 !== h[d++]) throw new Error("decryption error"); + return h.slice(d) + }(d, h); + if (1 === l) return function(t, e, n) { + var r = e.slice(0, 2), + i = 2, + a = 0; + for (; 0 !== e[i++];) + if (i >= e.length) { + a++; + break + } var o = e.slice(2, i - 1); + ("0002" !== r.toString("hex") && !n || "0001" !== r.toString("hex") && n) && a++; + o.length < 8 && a++; + if (a) throw new Error("decryption error"); + return e.slice(i) + }(0, h, n); + if (3 === l) return h; + throw new Error("unknown padding") + } + }, function(t, e, n) { + "use strict"; + (function(t, r) { + function i() { + throw new Error("secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11") + } + var a = n(3), + o = n(44), + s = a.Buffer, + u = a.kMaxLength, + c = t.crypto || t.msCrypto, + f = Math.pow(2, 32) - 1; + + function l(t, e) { + if ("number" != typeof t || t != t) throw new TypeError("offset must be a number"); + if (t > f || t < 0) throw new TypeError("offset must be a uint32"); + if (t > u || t > e) throw new RangeError("offset out of range") + } + + function h(t, e, n) { + if ("number" != typeof t || t != t) throw new TypeError("size must be a number"); + if (t > f || t < 0) throw new TypeError("size must be a uint32"); + if (t + e > n || t > u) throw new RangeError("buffer too small") + } + + function d(t, e, n, i) { + if (r.browser) { + var a = t.buffer, + s = new Uint8Array(a, e, n); + return c.getRandomValues(s), i ? void r.nextTick((function() { + i(null, t) + })) : t + } + if (!i) return o(n).copy(t, e), t; + o(n, (function(n, r) { + if (n) return i(n); + r.copy(t, e), i(null, t) + })) + } + c && c.getRandomValues || !r.browser ? (e.randomFill = function(e, n, r, i) { + if (!(s.isBuffer(e) || e instanceof t.Uint8Array)) throw new TypeError('"buf" argument must be a Buffer or Uint8Array'); + if ("function" == typeof n) i = n, n = 0, r = e.length; + else if ("function" == typeof r) i = r, r = e.length - n; + else if ("function" != typeof i) throw new TypeError('"cb" argument must be a function'); + return l(n, e.length), h(r, n, e.length), d(e, n, r, i) + }, e.randomFillSync = function(e, n, r) { + void 0 === n && (n = 0); + if (!(s.isBuffer(e) || e instanceof t.Uint8Array)) throw new TypeError('"buf" argument must be a Buffer or Uint8Array'); + l(n, e.length), void 0 === r && (r = e.length - n); + return h(r, n, e.length), d(e, n, r) + }) : (e.randomFill = i, e.randomFillSync = i) + }).call(this, n(12), n(7)) + }, function(t, e, n) { + var r = { + "./dark/index.scss": 501, + "./default/index.scss": 503, + "./forest/index.scss": 505, + "./neutral/index.scss": 507 + }; + + function i(t) { + var e = a(t); + return n(e) + } + + function a(t) { + if (!n.o(r, t)) { + var e = new Error("Cannot find module '" + t + "'"); + throw e.code = "MODULE_NOT_FOUND", e + } + return r[t] + } + i.keys = function() { + return Object.keys(r) + }, i.resolve = a, t.exports = i, i.id = 500 + }, function(t, e, n) { + var r = n(502); + t.exports = "string" == typeof r ? r : r.toString() + }, function(t, e, n) { + (t.exports = n(83)(!1)).push([t.i, ".label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);color:#333}.label text{fill:#333}.node rect,.node circle,.node ellipse,.node polygon,.node path{fill:#BDD5EA;stroke:purple;stroke-width:1px}.node .label{text-align:center}.node.clickable{cursor:pointer}.arrowheadPath{fill:#d3d3d3}.edgePath .path{stroke:#d3d3d3;stroke-width:1.5px}.edgeLabel{background-color:#e8e8e8;text-align:center}.cluster rect{fill:#6D6D65;stroke:rgba(255,255,255,0.25);stroke-width:1px}.cluster text{fill:#F9FFFE}div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#6D6D65;border:1px solid rgba(255,255,255,0.25);border-radius:2px;pointer-events:none;z-index:100}.actor{stroke:#81B1DB;fill:#BDD5EA}text.actor{fill:#000;stroke:none}.actor-line{stroke:#d3d3d3}.messageLine0{stroke-width:1.5;stroke-dasharray:'2 2';stroke:#d3d3d3}.messageLine1{stroke-width:1.5;stroke-dasharray:'2 2';stroke:#d3d3d3}#arrowhead{fill:#d3d3d3}.sequenceNumber{fill:#fff}#sequencenumber{fill:#d3d3d3}#crosshead path{fill:#d3d3d3 !important;stroke:#d3d3d3 !important}.messageText{fill:#d3d3d3;stroke:none}.labelBox{stroke:#81B1DB;fill:#BDD5EA}.labelText{fill:#323D47;stroke:none}.loopText{fill:#d3d3d3;stroke:none}.loopLine{stroke-width:2;stroke-dasharray:'2 2';stroke:#81B1DB}.note{stroke:rgba(255,255,255,0.25);fill:#fff5ad}.noteText{fill:black;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:14px}.activation0{fill:#f4f4f4;stroke:#666}.activation1{fill:#f4f4f4;stroke:#666}.activation2{fill:#f4f4f4;stroke:#666}.mermaid-main-font{font-family:\"trebuchet ms\", verdana, arial;font-family:var(--mermaid-font-family)}.section{stroke:none;opacity:0.2}.section0{fill:rgba(255,255,255,0.3)}.section2{fill:#EAE8B9}.section1,.section3{fill:#fff;opacity:0.2}.sectionTitle0{fill:#F9FFFE}.sectionTitle1{fill:#F9FFFE}.sectionTitle2{fill:#F9FFFE}.sectionTitle3{fill:#F9FFFE}.sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}.grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.grid path{stroke-width:0}.today{fill:none;stroke:#DB5757;stroke-width:2px}.task{stroke-width:2}.taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.taskText:not([font-size]){font-size:11px}.taskTextOutsideRight{fill:#323D47;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.taskTextOutsideLeft{fill:#323D47;text-anchor:end;font-size:11px}.task.clickable{cursor:pointer}.taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.taskText0,.taskText1,.taskText2,.taskText3{fill:#323D47}.task0,.task1,.task2,.task3{fill:#BDD5EA;stroke:rgba(255,255,255,0.5)}.taskTextOutside0,.taskTextOutside2{fill:#d3d3d3}.taskTextOutside1,.taskTextOutside3{fill:#d3d3d3}.active0,.active1,.active2,.active3{fill:#81B1DB;stroke:rgba(255,255,255,0.5)}.activeText0,.activeText1,.activeText2,.activeText3{fill:#323D47 !important}.done0,.done1,.done2,.done3{stroke:grey;fill:#d3d3d3;stroke-width:2}.doneText0,.doneText1,.doneText2,.doneText3{fill:#323D47 !important}.crit0,.crit1,.crit2,.crit3{stroke:#E83737;fill:#E83737;stroke-width:2}.activeCrit0,.activeCrit1,.activeCrit2,.activeCrit3{stroke:#E83737;fill:#81B1DB;stroke-width:2}.doneCrit0,.doneCrit1,.doneCrit2,.doneCrit3{stroke:#E83737;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}.milestone{transform:rotate(45deg) scale(0.8, 0.8)}.milestoneText{font-style:italic}.doneCritText0,.doneCritText1,.doneCritText2,.doneCritText3{fill:#323D47 !important}.activeCritText0,.activeCritText1,.activeCritText2,.activeCritText3{fill:#323D47 !important}.titleText{text-anchor:middle;font-size:18px;fill:#323D47;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}g.classGroup text{fill:purple;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}g.classGroup text .title{font-weight:bolder}g.clickable{cursor:pointer}g.classGroup rect{fill:#BDD5EA;stroke:purple}g.classGroup line{stroke:purple;stroke-width:1}.classLabel .box{stroke:none;stroke-width:0;fill:#BDD5EA;opacity:0.5}.classLabel .label{fill:purple;font-size:10px}.relation{stroke:purple;stroke-width:1;fill:none}.dashed-line{stroke-dasharray:3}#compositionStart{fill:purple;stroke:purple;stroke-width:1}#compositionEnd{fill:purple;stroke:purple;stroke-width:1}#aggregationStart{fill:#BDD5EA;stroke:purple;stroke-width:1}#aggregationEnd{fill:#BDD5EA;stroke:purple;stroke-width:1}#dependencyStart{fill:purple;stroke:purple;stroke-width:1}#dependencyEnd{fill:purple;stroke:purple;stroke-width:1}#extensionStart{fill:purple;stroke:purple;stroke-width:1}#extensionEnd{fill:purple;stroke:purple;stroke-width:1}.commit-id,.commit-msg,.branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.pieTitleText{text-anchor:middle;font-size:25px;fill:#323D47;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}g.stateGroup text{fill:purple;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}g.stateGroup text{fill:purple;stroke:none;font-size:10px}g.stateGroup .state-title{font-weight:bolder;fill:#000}g.stateGroup rect{fill:#BDD5EA;stroke:purple}g.stateGroup line{stroke:purple;stroke-width:1}.transition{stroke:purple;stroke-width:1;fill:none}.stateGroup .composit{fill:white;border-bottom:1px}.stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}.state-note{stroke:rgba(255,255,255,0.25);fill:#fff5ad}.state-note text{fill:black;stroke:none;font-size:10px}.stateLabel .box{stroke:none;stroke-width:0;fill:#BDD5EA;opacity:0.5}.stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}:root{--mermaid-font-family: '\"trebuchet ms\", verdana, arial';--mermaid-font-family: \"Comic Sans MS\", \"Comic Sans\", cursive}\n", ""]) + }, function(t, e, n) { + var r = n(504); + t.exports = "string" == typeof r ? r : r.toString() + }, function(t, e, n) { + (t.exports = n(83)(!1)).push([t.i, ".label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);color:#333}.label text{fill:#333}.node rect,.node circle,.node ellipse,.node polygon,.node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}.node .label{text-align:center}.node.clickable{cursor:pointer}.arrowheadPath{fill:#333}.edgePath .path{stroke:#333;stroke-width:1.5px}.edgeLabel{background-color:#e8e8e8;text-align:center}.cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}.cluster text{fill:#333}div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}.actor{stroke:#ccf;fill:#ECECFF}text.actor{fill:#000;stroke:none}.actor-line{stroke:grey}.messageLine0{stroke-width:1.5;stroke-dasharray:'2 2';stroke:#333}.messageLine1{stroke-width:1.5;stroke-dasharray:'2 2';stroke:#333}#arrowhead{fill:#333}.sequenceNumber{fill:#fff}#sequencenumber{fill:#333}#crosshead path{fill:#333 !important;stroke:#333 !important}.messageText{fill:#333;stroke:none}.labelBox{stroke:#ccf;fill:#ECECFF}.labelText{fill:#000;stroke:none}.loopText{fill:#000;stroke:none}.loopLine{stroke-width:2;stroke-dasharray:'2 2';stroke:#ccf}.note{stroke:#aa3;fill:#fff5ad}.noteText{fill:black;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:14px}.activation0{fill:#f4f4f4;stroke:#666}.activation1{fill:#f4f4f4;stroke:#666}.activation2{fill:#f4f4f4;stroke:#666}.mermaid-main-font{font-family:\"trebuchet ms\", verdana, arial;font-family:var(--mermaid-font-family)}.section{stroke:none;opacity:0.2}.section0{fill:rgba(102,102,255,0.49)}.section2{fill:#fff400}.section1,.section3{fill:#fff;opacity:0.2}.sectionTitle0{fill:#333}.sectionTitle1{fill:#333}.sectionTitle2{fill:#333}.sectionTitle3{fill:#333}.sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}.grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.grid path{stroke-width:0}.today{fill:none;stroke:red;stroke-width:2px}.task{stroke-width:2}.taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.taskText:not([font-size]){font-size:11px}.taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}.task.clickable{cursor:pointer}.taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.taskText0,.taskText1,.taskText2,.taskText3{fill:#fff}.task0,.task1,.task2,.task3{fill:#8a90dd;stroke:#534fbc}.taskTextOutside0,.taskTextOutside2{fill:#000}.taskTextOutside1,.taskTextOutside3{fill:#000}.active0,.active1,.active2,.active3{fill:#bfc7ff;stroke:#534fbc}.activeText0,.activeText1,.activeText2,.activeText3{fill:#000 !important}.done0,.done1,.done2,.done3{stroke:grey;fill:#d3d3d3;stroke-width:2}.doneText0,.doneText1,.doneText2,.doneText3{fill:#000 !important}.crit0,.crit1,.crit2,.crit3{stroke:#f88;fill:red;stroke-width:2}.activeCrit0,.activeCrit1,.activeCrit2,.activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}.doneCrit0,.doneCrit1,.doneCrit2,.doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}.milestone{transform:rotate(45deg) scale(0.8, 0.8)}.milestoneText{font-style:italic}.doneCritText0,.doneCritText1,.doneCritText2,.doneCritText3{fill:#000 !important}.activeCritText0,.activeCritText1,.activeCritText2,.activeCritText3{fill:#000 !important}.titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}g.classGroup text .title{font-weight:bolder}g.clickable{cursor:pointer}g.classGroup rect{fill:#ECECFF;stroke:#9370db}g.classGroup line{stroke:#9370db;stroke-width:1}.classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}.classLabel .label{fill:#9370db;font-size:10px}.relation{stroke:#9370db;stroke-width:1;fill:none}.dashed-line{stroke-dasharray:3}#compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}.commit-id,.commit-msg,.branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}g.stateGroup text{fill:#9370db;stroke:none;font-size:10px}g.stateGroup .state-title{font-weight:bolder;fill:#000}g.stateGroup rect{fill:#ECECFF;stroke:#9370db}g.stateGroup line{stroke:#9370db;stroke-width:1}.transition{stroke:#9370db;stroke-width:1;fill:none}.stateGroup .composit{fill:white;border-bottom:1px}.stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}.state-note{stroke:#aa3;fill:#fff5ad}.state-note text{fill:black;stroke:none;font-size:10px}.stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}.stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}:root{--mermaid-font-family: '\"trebuchet ms\", verdana, arial';--mermaid-font-family: \"Comic Sans MS\", \"Comic Sans\", cursive}\n", ""]) + }, function(t, e, n) { + var r = n(506); + t.exports = "string" == typeof r ? r : r.toString() + }, function(t, e, n) { + (t.exports = n(83)(!1)).push([t.i, ".label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);color:#333}.label text{fill:#333}.node rect,.node circle,.node ellipse,.node polygon,.node path{fill:#cde498;stroke:#13540c;stroke-width:1px}.node .label{text-align:center}.node.clickable{cursor:pointer}.arrowheadPath{fill:green}.edgePath .path{stroke:green;stroke-width:1.5px}.edgeLabel{background-color:#e8e8e8;text-align:center}.cluster rect{fill:#cdffb2;stroke:#6eaa49;stroke-width:1px}.cluster text{fill:#333}div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#cdffb2;border:1px solid #6eaa49;border-radius:2px;pointer-events:none;z-index:100}.actor{stroke:#13540c;fill:#cde498}text.actor{fill:#000;stroke:none}.actor-line{stroke:grey}.messageLine0{stroke-width:1.5;stroke-dasharray:'2 2';stroke:#333}.messageLine1{stroke-width:1.5;stroke-dasharray:'2 2';stroke:#333}#arrowhead{fill:#333}.sequenceNumber{fill:#fff}#sequencenumber{fill:#333}#crosshead path{fill:#333 !important;stroke:#333 !important}.messageText{fill:#333;stroke:none}.labelBox{stroke:#326932;fill:#cde498}.labelText{fill:#000;stroke:none}.loopText{fill:#000;stroke:none}.loopLine{stroke-width:2;stroke-dasharray:'2 2';stroke:#326932}.note{stroke:#6eaa49;fill:#fff5ad}.noteText{fill:black;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:14px}.activation0{fill:#f4f4f4;stroke:#666}.activation1{fill:#f4f4f4;stroke:#666}.activation2{fill:#f4f4f4;stroke:#666}.mermaid-main-font{font-family:\"trebuchet ms\", verdana, arial;font-family:var(--mermaid-font-family)}.section{stroke:none;opacity:0.2}.section0{fill:#6eaa49}.section2{fill:#6eaa49}.section1,.section3{fill:#fff;opacity:0.2}.sectionTitle0{fill:#333}.sectionTitle1{fill:#333}.sectionTitle2{fill:#333}.sectionTitle3{fill:#333}.sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}.grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.grid path{stroke-width:0}.today{fill:none;stroke:red;stroke-width:2px}.task{stroke-width:2}.taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.taskText:not([font-size]){font-size:11px}.taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}.task.clickable{cursor:pointer}.taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.taskText0,.taskText1,.taskText2,.taskText3{fill:#fff}.task0,.task1,.task2,.task3{fill:#487e3a;stroke:#13540c}.taskTextOutside0,.taskTextOutside2{fill:#000}.taskTextOutside1,.taskTextOutside3{fill:#000}.active0,.active1,.active2,.active3{fill:#cde498;stroke:#13540c}.activeText0,.activeText1,.activeText2,.activeText3{fill:#000 !important}.done0,.done1,.done2,.done3{stroke:grey;fill:#d3d3d3;stroke-width:2}.doneText0,.doneText1,.doneText2,.doneText3{fill:#000 !important}.crit0,.crit1,.crit2,.crit3{stroke:#f88;fill:red;stroke-width:2}.activeCrit0,.activeCrit1,.activeCrit2,.activeCrit3{stroke:#f88;fill:#cde498;stroke-width:2}.doneCrit0,.doneCrit1,.doneCrit2,.doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}.milestone{transform:rotate(45deg) scale(0.8, 0.8)}.milestoneText{font-style:italic}.doneCritText0,.doneCritText1,.doneCritText2,.doneCritText3{fill:#000 !important}.activeCritText0,.activeCritText1,.activeCritText2,.activeCritText3{fill:#000 !important}.titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}g.classGroup text{fill:#13540c;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}g.classGroup text .title{font-weight:bolder}g.clickable{cursor:pointer}g.classGroup rect{fill:#cde498;stroke:#13540c}g.classGroup line{stroke:#13540c;stroke-width:1}.classLabel .box{stroke:none;stroke-width:0;fill:#cde498;opacity:0.5}.classLabel .label{fill:#13540c;font-size:10px}.relation{stroke:#13540c;stroke-width:1;fill:none}.dashed-line{stroke-dasharray:3}#compositionStart{fill:#13540c;stroke:#13540c;stroke-width:1}#compositionEnd{fill:#13540c;stroke:#13540c;stroke-width:1}#aggregationStart{fill:#cde498;stroke:#13540c;stroke-width:1}#aggregationEnd{fill:#cde498;stroke:#13540c;stroke-width:1}#dependencyStart{fill:#13540c;stroke:#13540c;stroke-width:1}#dependencyEnd{fill:#13540c;stroke:#13540c;stroke-width:1}#extensionStart{fill:#13540c;stroke:#13540c;stroke-width:1}#extensionEnd{fill:#13540c;stroke:#13540c;stroke-width:1}.commit-id,.commit-msg,.branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}g.stateGroup text{fill:#13540c;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}g.stateGroup text{fill:#13540c;stroke:none;font-size:10px}g.stateGroup .state-title{font-weight:bolder;fill:#000}g.stateGroup rect{fill:#cde498;stroke:#13540c}g.stateGroup line{stroke:#13540c;stroke-width:1}.transition{stroke:#13540c;stroke-width:1;fill:none}.stateGroup .composit{fill:white;border-bottom:1px}.stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}.state-note{stroke:#6eaa49;fill:#fff5ad}.state-note text{fill:black;stroke:none;font-size:10px}.stateLabel .box{stroke:none;stroke-width:0;fill:#cde498;opacity:0.5}.stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}:root{--mermaid-font-family: '\"trebuchet ms\", verdana, arial';--mermaid-font-family: \"Comic Sans MS\", \"Comic Sans\", cursive}\n", ""]) + }, function(t, e, n) { + var r = n(508); + t.exports = "string" == typeof r ? r : r.toString() + }, function(t, e, n) { + (t.exports = n(83)(!1)).push([t.i, ".label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);color:#333}.label text{fill:#333}.node rect,.node circle,.node ellipse,.node polygon,.node path{fill:#eee;stroke:#999;stroke-width:1px}.node .label{text-align:center}.node.clickable{cursor:pointer}.arrowheadPath{fill:#333}.edgePath .path{stroke:#666;stroke-width:1.5px}.edgeLabel{background-color:#fff;text-align:center}.cluster rect{fill:#eaf2fb;stroke:#26a;stroke-width:1px}.cluster text{fill:#333}div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#eaf2fb;border:1px solid #26a;border-radius:2px;pointer-events:none;z-index:100}.actor{stroke:#999;fill:#eee}text.actor{fill:#333;stroke:none}.actor-line{stroke:#666}.messageLine0{stroke-width:1.5;stroke-dasharray:'2 2';stroke:#333}.messageLine1{stroke-width:1.5;stroke-dasharray:'2 2';stroke:#333}#arrowhead{fill:#333}.sequenceNumber{fill:#fff}#sequencenumber{fill:#333}#crosshead path{fill:#333 !important;stroke:#333 !important}.messageText{fill:#333;stroke:none}.labelBox{stroke:#999;fill:#eee}.labelText{fill:#333;stroke:none}.loopText{fill:#333;stroke:none}.loopLine{stroke-width:2;stroke-dasharray:'2 2';stroke:#999}.note{stroke:#770;fill:#ffa}.noteText{fill:black;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:14px}.activation0{fill:#f4f4f4;stroke:#666}.activation1{fill:#f4f4f4;stroke:#666}.activation2{fill:#f4f4f4;stroke:#666}.mermaid-main-font{font-family:\"trebuchet ms\", verdana, arial;font-family:var(--mermaid-font-family)}.section{stroke:none;opacity:0.2}.section0{fill:#80b3e6}.section2{fill:#80b3e6}.section1,.section3{fill:#fff;opacity:0.2}.sectionTitle0{fill:#333}.sectionTitle1{fill:#333}.sectionTitle2{fill:#333}.sectionTitle3{fill:#333}.sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.grid .tick{stroke:#e6e6e6;opacity:0.8;shape-rendering:crispEdges}.grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.grid path{stroke-width:0}.today{fill:none;stroke:#d42;stroke-width:2px}.task{stroke-width:2}.taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.taskText:not([font-size]){font-size:11px}.taskTextOutsideRight{fill:#333;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.taskTextOutsideLeft{fill:#333;text-anchor:end;font-size:11px}.task.clickable{cursor:pointer}.taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.taskText0,.taskText1,.taskText2,.taskText3{fill:#fff}.task0,.task1,.task2,.task3{fill:#26a;stroke:#1a4d80}.taskTextOutside0,.taskTextOutside2{fill:#333}.taskTextOutside1,.taskTextOutside3{fill:#333}.active0,.active1,.active2,.active3{fill:#eee;stroke:#1a4d80}.activeText0,.activeText1,.activeText2,.activeText3{fill:#333 !important}.done0,.done1,.done2,.done3{stroke:#666;fill:#bbb;stroke-width:2}.doneText0,.doneText1,.doneText2,.doneText3{fill:#333 !important}.crit0,.crit1,.crit2,.crit3{stroke:#b1361b;fill:#d42;stroke-width:2}.activeCrit0,.activeCrit1,.activeCrit2,.activeCrit3{stroke:#b1361b;fill:#eee;stroke-width:2}.doneCrit0,.doneCrit1,.doneCrit2,.doneCrit3{stroke:#b1361b;fill:#bbb;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}.milestone{transform:rotate(45deg) scale(0.8, 0.8)}.milestoneText{font-style:italic}.doneCritText0,.doneCritText1,.doneCritText2,.doneCritText3{fill:#333 !important}.activeCritText0,.activeCritText1,.activeCritText2,.activeCritText3{fill:#333 !important}.titleText{text-anchor:middle;font-size:18px;fill:#333;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}g.classGroup text{fill:#999;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}g.classGroup text .title{font-weight:bolder}g.clickable{cursor:pointer}g.classGroup rect{fill:#eee;stroke:#999}g.classGroup line{stroke:#999;stroke-width:1}.classLabel .box{stroke:none;stroke-width:0;fill:#eee;opacity:0.5}.classLabel .label{fill:#999;font-size:10px}.relation{stroke:#999;stroke-width:1;fill:none}.dashed-line{stroke-dasharray:3}#compositionStart{fill:#999;stroke:#999;stroke-width:1}#compositionEnd{fill:#999;stroke:#999;stroke-width:1}#aggregationStart{fill:#eee;stroke:#999;stroke-width:1}#aggregationEnd{fill:#eee;stroke:#999;stroke-width:1}#dependencyStart{fill:#999;stroke:#999;stroke-width:1}#dependencyEnd{fill:#999;stroke:#999;stroke-width:1}#extensionStart{fill:#999;stroke:#999;stroke-width:1}#extensionEnd{fill:#999;stroke:#999;stroke-width:1}.commit-id,.commit-msg,.branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.pieTitleText{text-anchor:middle;font-size:25px;fill:#333;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}g.stateGroup text{fill:#999;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}g.stateGroup text{fill:#999;stroke:none;font-size:10px}g.stateGroup .state-title{font-weight:bolder;fill:#000}g.stateGroup rect{fill:#eee;stroke:#999}g.stateGroup line{stroke:#999;stroke-width:1}.transition{stroke:#999;stroke-width:1;fill:none}.stateGroup .composit{fill:white;border-bottom:1px}.stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}.state-note{stroke:#770;fill:#ffa}.state-note text{fill:black;stroke:none;font-size:10px}.stateLabel .box{stroke:none;stroke-width:0;fill:#eee;opacity:0.5}.stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}:root{--mermaid-font-family: '\"trebuchet ms\", verdana, arial';--mermaid-font-family: \"Comic Sans MS\", \"Comic Sans\", cursive}\n", ""]) + }, function(t, e, n) { + "use strict"; + n.r(e); + var r = n(228), + i = n.n(r), + a = n(0), + o = n(229), + s = n.n(o), + u = n(88); + + function c(t) { + return (c = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) { + return typeof t + } : function(t) { + return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t + })(t) + } + var f = {}, + l = function(t) { + ! function(t) { + for (var e = Object.keys(t), n = 0; n < e.length; n++) + if ("object" === c(t[e[n]]) && null != t[e[n]]) + for (var r = Object.keys(t[e[n]]), i = 0; i < r.length; i++) void 0 === f[e[n]] && (f[e[n]] = {}), f[e[n]][r[i]] = t[e[n]][r[i]]; + else f[e[n]] = t[e[n]] + }(t) + }, + h = function() { + return f + }, + d = n(22), + p = n.n(d), + g = 1, + y = 2, + b = 3, + v = 4, + m = 5, + _ = { + debug: function() {}, + info: function() {}, + warn: function() {}, + error: function() {}, + fatal: function() {} + }, + w = function(t) { + _.debug = function() {}, _.info = function() {}, _.warn = function() {}, _.error = function() {}, _.fatal = function() {}, t <= m && (_.fatal = console.error ? console.error.bind(console, x("FATAL"), "color: orange") : console.log.bind(console, "[35m", x("FATAL"))), t <= v && (_.error = console.error ? console.error.bind(console, x("ERROR"), "color: orange") : console.log.bind(console, "[31m", x("ERROR"))), t <= b && (_.warn = console.warn ? console.warn.bind(console, x("WARN"), "color: orange") : console.log.bind(console, "[33m", x("WARN"))), t <= y && (_.info = console.info ? console.info.bind(console, x("INFO"), "color: lightblue") : console.log.bind(console, "[34m", x("INFO"))), t <= g && (_.debug = console.debug ? console.debug.bind(console, x("DEBUG"), "color: lightgreen") : console.log.bind(console, "[32m", x("DEBUG"))) + }, + x = function(t) { + var e = p()().format("ss.SSS"); + return "%c".concat(e, " : ").concat(t, " : ") + }, + k = n(84), + E = function(t, e) { + if (!t) return e; + var n = "curve".concat(t.charAt(0).toUpperCase() + t.slice(1)); + return a[n] || e + }, + A = function(t, e) { + return t && e ? Math.sqrt(Math.pow(e.x - t.x, 2) + Math.pow(e.y - t.y, 2)) : 0 + }, + S = { + detectType: function(t) { + return t = t.replace(/^\s*%%.*\n/g, "\n"), _.debug("Detecting diagram type based on the text " + t), t.match(/^\s*sequenceDiagram/) ? "sequence" : t.match(/^\s*gantt/) ? "gantt" : t.match(/^\s*classDiagram/) ? "class" : t.match(/^\s*stateDiagram/) ? "state" : t.match(/^\s*gitGraph/) ? "git" : t.match(/^\s*info/) ? "info" : t.match(/^\s*pie/) ? "pie" : "flowchart" + }, + isSubstringInArray: function(t, e) { + for (var n = 0; n < e.length; n++) + if (e[n].match(t)) return n; + return -1 + }, + interpolateToCurve: E, + calcLabelPosition: function(t) { + return function(t) { + var e, n = 0; + t.forEach((function(t) { + n += A(t, e), e = t + })); + var r, i = n / 2; + return e = void 0, t.forEach((function(t) { + if (e && !r) { + var n = A(t, e); + if (n < i) i -= n; + else { + var a = i / n; + a <= 0 && (r = e), a >= 1 && (r = { + x: t.x, + y: t.y + }), a > 0 && a < 1 && (r = { + x: (1 - a) * e.x + a * t.x, + y: (1 - a) * e.y + a * t.y + }) + } + } + e = t + })), r + }(t) + }, + calcCardinalityPosition: function(t, e, n) { + var r; + e[0] !== n && (e = e.reverse()), e.forEach((function(t) { + A(t, r), r = t + })); + var i, a = 25; + r = void 0, e.forEach((function(t) { + if (r && !i) { + var e = A(t, r); + if (e < a) a -= e; + else { + var n = a / e; + n <= 0 && (i = r), n >= 1 && (i = { + x: t.x, + y: t.y + }), n > 0 && n < 1 && (i = { + x: (1 - n) * r.x + n * t.x, + y: (1 - n) * r.y + n * t.y + }) + } + } + r = t + })); + var o = t ? 10 : 5, + s = Math.atan2(e[0].y - i.y, e[0].x - i.x), + u = { + x: 0, + y: 0 + }; + return u.x = Math.sin(s) * o + (e[0].x + i.x) / 2, u.y = -Math.cos(s) * o + (e[0].y + i.y) / 2, u + }, + sanitize: function(t, e) { + var n = t, + r = !0; + return !e.flowchart || !1 !== e.flowchart.htmlLabels && "false" !== e.flowchart.htmlLabels || (r = !1), "loose" !== e.securityLevel && r && (n = (n = (n = (n = n.replace(/<br\s*\/?>/gi, "#br#")).replace(/</g, "<").replace(/>/g, ">")).replace(/=/g, "=")).replace(/#br#/g, "<br/>")), n + }, + formatUrl: function(t, e) { + var n = t.trim(); + if (n) return "loose" !== e.securityLevel ? Object(k.sanitizeUrl)(n) : (/^(https?:)?\/\//i.test(n) || (n = "http://" + n), n) + } + }, + M = n(25), + T = n.n(M); + + function D(t) { + return (D = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) { + return typeof t + } : function(t) { + return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t + })(t) + } + var C, N = h(), + I = {}, + L = [], + B = [], + O = [], + R = {}, + P = {}, + F = 0, + q = !0, + j = [], + U = function(t, e, n, r) { + var i = t, + a = e; + i[0].match(/\d/) && (i = "" + i), a[0].match(/\d/) && (a = "" + a), _.info("Got edge...", i, a); + var o = { + start: i, + end: a, + type: void 0, + text: "" + }; + void 0 !== (r = n.text) && (o.text = S.sanitize(r.trim(), N), '"' === o.text[0] && '"' === o.text[o.text.length - 1] && (o.text = o.text.substring(1, o.text.length - 1))), void 0 !== n && (o.type = n.type, o.stroke = n.stroke), L.push(o) + }, + z = function(t, e) { + t.split(",").forEach((function(t) { + var n = t; + t[0].match(/\d/) && (n = "" + n), void 0 !== I[n] && I[n].classes.push(e), void 0 !== R[n] && R[n].classes.push(e) + })) + }, + Y = function(t, e) { + t.split(",").forEach((function(t) { + void 0 !== e && (P[t] = S.sanitize(e, N)) + })) + }, + V = function(t) { + var e = a.select(".mermaidTooltip"); + null === (e._groups || e)[0][0] && (e = a.select("body").append("div").attr("class", "mermaidTooltip").style("opacity", 0)), a.select(t).select("svg").selectAll("g.node").on("mouseover", (function() { + var t = a.select(this); + if (null !== t.attr("title")) { + var n = this.getBoundingClientRect(); + e.transition().duration(200).style("opacity", ".9"), e.html(t.attr("title")).style("left", n.left + (n.right - n.left) / 2 + "px").style("top", n.top - 14 + document.body.scrollTop + "px"), t.classed("hover", !0) + } + })).on("mouseout", (function() { + e.transition().duration(500).style("opacity", 0), a.select(this).classed("hover", !1) + })) + }; + j.push(V); + var H = function(t) { + for (var e = 0; e < O.length; e++) + if (O[e].id === t) return e; + return -1 + }, + G = -1, + $ = [], + W = { + addVertex: function(t, e, n, r, i) { + var a, o = t; + void 0 !== o && 0 !== o.trim().length && (o[0].match(/\d/) && (o = "" + o), void 0 === I[o] && (I[o] = { + id: o, + styles: [], + classes: [] + }), void 0 !== e ? ('"' === (a = S.sanitize(e.trim(), N))[0] && '"' === a[a.length - 1] && (a = a.substring(1, a.length - 1)), I[o].text = a) : void 0 === I[o].text && (I[o].text = t), void 0 !== n && (I[o].type = n), null != r && r.forEach((function(t) { + I[o].styles.push(t) + })), null != i && i.forEach((function(t) { + I[o].classes.push(t) + }))) + }, + addLink: function(t, e, n, r) { + var i, a; + for (i = 0; i < t.length; i++) + for (a = 0; a < e.length; a++) U(t[i], e[a], n, r) + }, + updateLinkInterpolate: function(t, e) { + t.forEach((function(t) { + "default" === t ? L.defaultInterpolate = e : L[t].interpolate = e + })) + }, + updateLink: function(t, e) { + t.forEach((function(t) { + "default" === t ? L.defaultStyle = e : (-1 === S.isSubstringInArray("fill", e) && e.push("fill:none"), L[t].style = e) + })) + }, + addClass: function(t, e) { + void 0 === B[t] && (B[t] = { + id: t, + styles: [] + }), null != e && e.forEach((function(e) { + B[t].styles.push(e) + })) + }, + setDirection: function(t) { + (C = t).match(/.*</) && (C = "RL"), C.match(/.*\^/) && (C = "BT"), C.match(/.*>/) && (C = "LR"), C.match(/.*v/) && (C = "TB") + }, + setClass: z, + getTooltip: function(t) { + return P[t] + }, + setClickEvent: function(t, e, n) { + t.split(",").forEach((function(t) { + ! function(t, e) { + var n = t; + t[0].match(/\d/) && (n = "" + n), "loose" === N.securityLevel && void 0 !== e && void 0 !== I[n] && j.push((function() { + var t = document.querySelector('[id="'.concat(n, '"]')); + null !== t && t.addEventListener("click", (function() { + window[e](n) + }), !1) + })) + }(t, e) + })), Y(t, n), z(t, "clickable") + }, + setLink: function(t, e, n) { + t.split(",").forEach((function(t) { + var n = t; + t[0].match(/\d/) && (n = "" + n), void 0 !== I[n] && (I[n].link = S.formatUrl(e, N)) + })), Y(t, n), z(t, "clickable") + }, + bindFunctions: function(t) { + j.forEach((function(e) { + e(t) + })) + }, + getDirection: function() { + return C.trim() + }, + getVertices: function() { + return I + }, + getEdges: function() { + return L + }, + getClasses: function() { + return B + }, + clear: function() { + I = {}, B = {}, L = [], (j = []).push(V), O = [], R = {}, F = 0, P = [], q = !0 + }, + defaultStyle: function() { + return "fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;" + }, + addSubGraph: function(t, e, n) { + var r = t, + i = n; + t === n && n.match(/\s/) && (r = void 0); + var a, o, s, u = []; + a = u.concat.apply(u, e), o = { + boolean: {}, + number: {}, + string: {} + }, s = [], u = a.filter((function(t) { + var e = D(t); + return "" !== t.trim() && (e in o ? !o[e].hasOwnProperty(t) && (o[e][t] = !0) : !(s.indexOf(t) >= 0) && s.push(t)) + })); + for (var c = 0; c < u.length; c++) u[c][0].match(/\d/) && (u[c] = "" + u[c]); + (r = r || "subGraph" + F)[0].match(/\d/) && (r = "" + r), i = i || "", i = S.sanitize(i, N), F += 1; + var f = { + id: r, + nodes: u, + title: i.trim(), + classes: [] + }; + return O.push(f), R[r] = f, r + }, + getDepthFirstPos: function(t) { + return $[t] + }, + indexNodes: function() { + G = -1, O.length > 0 && function t(e, n) { + var r = O[n].nodes; + if (!((G += 1) > 2e3)) { + if ($[G] = n, O[n].id === e) return { + result: !0, + count: 0 + }; + for (var i = 0, a = 1; i < r.length;) { + var o = H(r[i]); + if (o >= 0) { + var s = t(e, o); + if (s.result) return { + result: !0, + count: a + s.count + }; + a += s.count + } + i += 1 + } + return { + result: !1, + count: a + } + } + }("none", O.length - 1) + }, + getSubGraphs: function() { + return O + }, + destructLink: function(t, e) { + var n, r = function(t) { + switch (t.trim()) { + case "--x": + return { + type: "arrow_cross", stroke: "normal" + }; + case "--\x3e": + return { + type: "arrow", stroke: "normal" + }; + case "<--\x3e": + return { + type: "double_arrow_point", stroke: "normal" + }; + case "x--x": + return { + type: "double_arrow_cross", stroke: "normal" + }; + case "o--o": + return { + type: "double_arrow_circle", stroke: "normal" + }; + case "o.-o": + return { + type: "double_arrow_circle", stroke: "dotted" + }; + case "<==>": + return { + type: "double_arrow_point", stroke: "thick" + }; + case "o==o": + return { + type: "double_arrow_circle", stroke: "thick" + }; + case "x==x": + return { + type: "double_arrow_cross", stroke: "thick" + }; + case "x.-x": + case "x-.-x": + return { + type: "double_arrow_cross", stroke: "dotted" + }; + case "<.->": + case "<-.->": + return { + type: "double_arrow_point", stroke: "dotted" + }; + case "o-.-o": + return { + type: "double_arrow_circle", stroke: "dotted" + }; + case "--o": + return { + type: "arrow_circle", stroke: "normal" + }; + case "---": + return { + type: "arrow_open", stroke: "normal" + }; + case "-.-x": + return { + type: "arrow_cross", stroke: "dotted" + }; + case "-.->": + return { + type: "arrow", stroke: "dotted" + }; + case "-.-o": + return { + type: "arrow_circle", stroke: "dotted" + }; + case "-.-": + return { + type: "arrow_open", stroke: "dotted" + }; + case ".-x": + return { + type: "arrow_cross", stroke: "dotted" + }; + case ".->": + return { + type: "arrow", stroke: "dotted" + }; + case ".-o": + return { + type: "arrow_circle", stroke: "dotted" + }; + case ".-": + return { + type: "arrow_open", stroke: "dotted" + }; + case "==x": + return { + type: "arrow_cross", stroke: "thick" + }; + case "==>": + return { + type: "arrow", stroke: "thick" + }; + case "==o": + return { + type: "arrow_circle", stroke: "thick" + }; + case "===": + return { + type: "arrow_open", stroke: "thick" + } + } + }(t); + if (e) { + if ((n = function(t) { + switch (t.trim()) { + case "<--": + return { + type: "arrow", stroke: "normal" + }; + case "x--": + return { + type: "arrow_cross", stroke: "normal" + }; + case "o--": + return { + type: "arrow_circle", stroke: "normal" + }; + case "<-.": + return { + type: "arrow", stroke: "dotted" + }; + case "x-.": + return { + type: "arrow_cross", stroke: "dotted" + }; + case "o-.": + return { + type: "arrow_circle", stroke: "dotted" + }; + case "<==": + return { + type: "arrow", stroke: "thick" + }; + case "x==": + return { + type: "arrow_cross", stroke: "thick" + }; + case "o==": + return { + type: "arrow_circle", stroke: "thick" + }; + case "--": + return { + type: "arrow_open", stroke: "normal" + }; + case "==": + return { + type: "arrow_open", stroke: "thick" + }; + case "-.": + return { + type: "arrow_open", stroke: "dotted" + } + } + }(e)).stroke !== r.stroke) return { + type: "INVALID", + stroke: "INVALID" + }; + if ("arrow_open" === n.type) n.type = r.type; + else { + if (n.type !== r.type) return { + type: "INVALID", + stroke: "INVALID" + }; + n.type = "double_" + n.type + } + return "double_arrow" === n.type && (n.type = "double_arrow_point"), n + } + return r + }, + lex: { + firstGraph: function() { + return !!q && (q = !1, !0) + } + } + }, + K = n(60), + X = n.n(K), + Z = n(11), + J = n.n(Z), + Q = n(128), + tt = n.n(Q); + + function et(t, e, n) { + var r = .9 * (e.width + e.height), + i = [{ + x: r / 2, + y: 0 + }, { + x: r, + y: -r / 2 + }, { + x: r / 2, + y: -r + }, { + x: 0, + y: -r / 2 + }], + a = lt(t, r, r, i); + return n.intersect = function(t) { + return J.a.intersect.polygon(n, i, t) + }, a + } + + function nt(t, e, n) { + var r = e.height, + i = r / 4, + a = e.width + 2 * i, + o = [{ + x: i, + y: 0 + }, { + x: a - i, + y: 0 + }, { + x: a, + y: -r / 2 + }, { + x: a - i, + y: -r + }, { + x: i, + y: -r + }, { + x: 0, + y: -r / 2 + }], + s = lt(t, a, r, o); + return n.intersect = function(t) { + return J.a.intersect.polygon(n, o, t) + }, s + } + + function rt(t, e, n) { + var r = e.width, + i = e.height, + a = [{ + x: -i / 2, + y: 0 + }, { + x: r, + y: 0 + }, { + x: r, + y: -i + }, { + x: -i / 2, + y: -i + }, { + x: 0, + y: -i / 2 + }], + o = lt(t, r, i, a); + return n.intersect = function(t) { + return J.a.intersect.polygon(n, a, t) + }, o + } + + function it(t, e, n) { + var r = e.width, + i = e.height, + a = [{ + x: -2 * i / 6, + y: 0 + }, { + x: r - i / 6, + y: 0 + }, { + x: r + 2 * i / 6, + y: -i + }, { + x: i / 6, + y: -i + }], + o = lt(t, r, i, a); + return n.intersect = function(t) { + return J.a.intersect.polygon(n, a, t) + }, o + } + + function at(t, e, n) { + var r = e.width, + i = e.height, + a = [{ + x: 2 * i / 6, + y: 0 + }, { + x: r + i / 6, + y: 0 + }, { + x: r - 2 * i / 6, + y: -i + }, { + x: -i / 6, + y: -i + }], + o = lt(t, r, i, a); + return n.intersect = function(t) { + return J.a.intersect.polygon(n, a, t) + }, o + } + + function ot(t, e, n) { + var r = e.width, + i = e.height, + a = [{ + x: -2 * i / 6, + y: 0 + }, { + x: r + 2 * i / 6, + y: 0 + }, { + x: r - i / 6, + y: -i + }, { + x: i / 6, + y: -i + }], + o = lt(t, r, i, a); + return n.intersect = function(t) { + return J.a.intersect.polygon(n, a, t) + }, o + } + + function st(t, e, n) { + var r = e.width, + i = e.height, + a = [{ + x: i / 6, + y: 0 + }, { + x: r - i / 6, + y: 0 + }, { + x: r + 2 * i / 6, + y: -i + }, { + x: -2 * i / 6, + y: -i + }], + o = lt(t, r, i, a); + return n.intersect = function(t) { + return J.a.intersect.polygon(n, a, t) + }, o + } + + function ut(t, e, n) { + var r = e.width, + i = e.height, + a = [{ + x: 0, + y: 0 + }, { + x: r + i / 2, + y: 0 + }, { + x: r, + y: -i / 2 + }, { + x: r + i / 2, + y: -i + }, { + x: 0, + y: -i + }], + o = lt(t, r, i, a); + return n.intersect = function(t) { + return J.a.intersect.polygon(n, a, t) + }, o + } + + function ct(t, e, n) { + var r = e.height, + i = e.width + r / 4, + a = t.insert("rect", ":first-child").attr("rx", r / 2).attr("ry", r / 2).attr("x", -i / 2).attr("y", -r / 2).attr("width", i).attr("height", r); + return n.intersect = function(t) { + return J.a.intersect.rect(n, t) + }, a + } + + function ft(t, e, n) { + var r = e.width, + i = r / 2, + a = i / (2.5 + r / 50), + o = e.height + a, + s = "M 0," + a + " a " + i + "," + a + " 0,0,0 " + r + " 0 a " + i + "," + a + " 0,0,0 " + -r + " 0 l 0," + o + " a " + i + "," + a + " 0,0,0 " + r + " 0 l 0," + -o, + u = t.attr("label-offset-y", a).insert("path", ":first-child").attr("d", s).attr("transform", "translate(" + -r / 2 + "," + -(o / 2 + a) + ")"); + return n.intersect = function(t) { + var e = J.a.intersect.rect(n, t), + r = e.x - n.x; + if (0 != i && (Math.abs(r) < n.width / 2 || Math.abs(r) == n.width / 2 && Math.abs(e.y - n.y) > n.height / 2 - a)) { + var o = a * a * (1 - r * r / (i * i)); + 0 != o && (o = Math.sqrt(o)), o = a - o, t.y - n.y > 0 && (o = -o), e.y += o + } + return e + }, u + } + + function lt(t, e, n, r) { + return t.insert("polygon", ":first-child").attr("points", r.map((function(t) { + return t.x + "," + t.y + })).join(" ")).attr("transform", "translate(" + -e / 2 + "," + n / 2 + ")") + } + var ht = { + addToRender: function(t) { + t.shapes().question = et, t.shapes().hexagon = nt, t.shapes().stadium = ct, t.shapes().cylinder = ft, t.shapes().rect_left_inv_arrow = rt, t.shapes().lean_right = it, t.shapes().lean_left = at, t.shapes().trapezoid = ot, t.shapes().inv_trapezoid = st, t.shapes().rect_right_inv_arrow = ut + } + }, + dt = {}, + pt = function(t, e, n) { + var r = a.select('[id="'.concat(n, '"]')), + i = Object.keys(t), + o = function(t, e, n) { + if (n.label) + for (var r = 0; r < e.length; r++) void 0 !== e[r] && e[r].match("^color:|^text-align:") && (t = t + e[r] + ";"); + else + for (var i = 0; i < e.length; i++) void 0 !== e[i] && (t = t + e[i] + ";"); + return t + }; + i.forEach((function(n) { + var i = t[n], + a = ""; + i.classes.length > 0 && (a = i.classes.join(" ")); + var s = ""; + s = o(s, i.styles, { + label: !1 + }); + var u = ""; + u = o(u, i.styles, { + label: !0 + }); + var c, f = void 0 !== i.text ? i.text : i.id; + if (h().flowchart.htmlLabels) { + var l = { + label: f.replace(/fa[lrsb]?:fa-[\w-]+/g, (function(t) { + return "<i class='".concat(t.replace(":", " "), "'></i>") + })) + }; + (c = tt()(r, l).node()).parentNode.removeChild(c) + } else { + for (var d = document.createElementNS("http://www.w3.org/2000/svg", "text"), p = f.split(/<br\s*\/?>/gi), g = 0; g < p.length; g++) { + var y = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); + y.setAttributeNS("http://www.w3.org/XML/1998/namespace", "xml:space", "preserve"), y.setAttribute("dy", "1em"), y.setAttribute("x", "1"), y.textContent = p[g], d.appendChild(y) + } + c = d + } + var b = 0, + v = ""; + switch (i.type) { + case "round": + b = 5, v = "rect"; + break; + case "square": + v = "rect"; + break; + case "diamond": + v = "question"; + break; + case "hexagon": + v = "hexagon"; + break; + case "odd": + v = "rect_left_inv_arrow"; + break; + case "lean_right": + v = "lean_right"; + break; + case "lean_left": + v = "lean_left"; + break; + case "trapezoid": + v = "trapezoid"; + break; + case "inv_trapezoid": + v = "inv_trapezoid"; + break; + case "odd_right": + v = "rect_left_inv_arrow"; + break; + case "circle": + v = "circle"; + break; + case "ellipse": + v = "ellipse"; + break; + case "stadium": + v = "stadium"; + break; + case "cylinder": + v = "cylinder"; + break; + case "group": + v = "rect"; + break; + default: + v = "rect" + } + e.setNode(i.id, { + labelType: "svg", + labelStyle: u, + shape: v, + label: c, + rx: b, + ry: b, + class: a, + style: s, + id: i.id + }) + })) + }, + gt = function(t, e) { + var n, r = 0; + void 0 !== t.defaultStyle && (n = t.defaultStyle.toString().replace(/,/g, ";")), t.forEach((function(i) { + r++; + var o = {}; + "arrow_open" === i.type ? o.arrowhead = "none" : o.arrowhead = "normal"; + var s = ""; + if (void 0 !== i.style) i.style.forEach((function(t) { + s = s + t + ";" + })); + else switch (i.stroke) { + case "normal": + s = "fill:none", void 0 !== n && (s = n); + break; + case "dotted": + s = "fill:none;stroke-width:2px;stroke-dasharray:3;"; + break; + case "thick": + s = " stroke-width: 3.5px;fill:none" + } + o.style = s, void 0 !== i.interpolate ? o.curve = E(i.interpolate, a.curveLinear) : void 0 !== t.defaultInterpolate ? o.curve = E(t.defaultInterpolate, a.curveLinear) : o.curve = E(dt.curve, a.curveLinear), void 0 === i.text ? void 0 !== i.style && (o.arrowheadStyle = "fill: #333") : (o.arrowheadStyle = "fill: #333", o.labelpos = "c", h().flowchart.htmlLabels ? (o.labelType = "html", o.label = '<span class="edgeLabel">' + i.text + "</span>") : (o.labelType = "text", o.label = i.text.replace(/<br\s*\/?>/gi, "\n"), void 0 === i.style && (o.style = o.style || "stroke: #333; stroke-width: 1.5px;fill:none"))), e.setEdge(i.start, i.end, o, r) + })) + }, + yt = function(t) { + for (var e = Object.keys(t), n = 0; n < e.length; n++) dt[e[n]] = t[e[n]] + }, + bt = function(t) { + _.info("Extracting classes"), W.clear(); + var e = X.a.parser; + return e.yy = W, e.parse(t), W.getClasses() + }, + vt = function(t, e) { + _.info("Drawing flowchart"), W.clear(); + var n = X.a.parser; + n.yy = W; + try { + n.parse(t) + } catch (t) { + _.debug("Parsing failed") + } + var r = W.getDirection(); + void 0 === r && (r = "TD"); + for (var i, o = h().flowchart, s = o.nodeSpacing || 50, u = o.rankSpacing || 50, c = new T.a.Graph({ + multigraph: !0, + compound: !0 + }).setGraph({ + rankdir: r, + nodesep: s, + ranksep: u, + marginx: 8, + marginy: 8 + }).setDefaultEdgeLabel((function() { + return {} + })), f = W.getSubGraphs(), l = f.length - 1; l >= 0; l--) i = f[l], W.addVertex(i.id, i.title, "group", void 0, i.classes); + var d = W.getVertices(), + p = W.getEdges(), + g = 0; + for (g = f.length - 1; g >= 0; g--) { + i = f[g], a.selectAll("cluster").append("text"); + for (var y = 0; y < i.nodes.length; y++) c.setParent(i.nodes[y], i.id) + } + pt(d, c, e), gt(p, c); + var b = new(0, J.a.render); + ht.addToRender(b), b.arrows().none = function(t, e, n, r) { + var i = t.append("marker").attr("id", e).attr("viewBox", "0 0 10 10").attr("refX", 9).attr("refY", 5).attr("markerUnits", "strokeWidth").attr("markerWidth", 8).attr("markerHeight", 6).attr("orient", "auto").append("path").attr("d", "M 0 0 L 0 0 L 0 0 z"); + J.a.util.applyStyle(i, n[r + "Style"]) + }, b.arrows().normal = function(t, e) { + t.append("marker").attr("id", e).attr("viewBox", "0 0 10 10").attr("refX", 9).attr("refY", 5).attr("markerUnits", "strokeWidth").attr("markerWidth", 8).attr("markerHeight", 6).attr("orient", "auto").append("path").attr("d", "M 0 0 L 10 5 L 0 10 z").attr("class", "arrowheadPath").style("stroke-width", 1).style("stroke-dasharray", "1,0") + }; + var v = a.select('[id="'.concat(e, '"]')), + m = a.select("#" + e + " g"); + b(m, c), m.selectAll("g.node").attr("title", (function() { + return W.getTooltip(this.id) + })); + var w = v.node().getBBox(), + x = w.width + 16, + k = w.height + 16; + for (_.debug("new ViewBox 0 0 ".concat(x, " ").concat(k), "translate(".concat(8 - c._label.marginx, ", ").concat(8 - c._label.marginy, ")")), o.useMaxWidth ? (v.attr("width", "100%"), v.attr("style", "max-width: ".concat(x, "px;"))) : (v.attr("height", k), v.attr("width", x)), v.attr("viewBox", "0 0 ".concat(x, " ").concat(k)), v.select("g").attr("transform", "translate(".concat(8 - c._label.marginx, ", ").concat(8 - w.y, ")")), W.indexNodes("subGraph" + g), g = 0; g < f.length; g++) + if ("undefined" !== (i = f[g]).title) { + var E = document.querySelectorAll("#" + e + ' [id="' + i.id + '"] rect'), + A = document.querySelectorAll("#" + e + ' [id="' + i.id + '"]'), + S = E[0].x.baseVal.value, + M = E[0].y.baseVal.value, + D = E[0].width.baseVal.value, + C = a.select(A[0]).select(".label"); + C.attr("transform", "translate(".concat(S + D / 2, ", ").concat(M + 14, ")")), C.attr("id", e + "Text") + } if (!o.htmlLabels) + for (var N = document.querySelectorAll('[id="' + e + '"] .edgeLabel .label'), I = 0; I < N.length; I++) { + var L = N[I], + B = L.getBBox(), + O = document.createElementNS("http://www.w3.org/2000/svg", "rect"); + O.setAttribute("rx", 0), O.setAttribute("ry", 0), O.setAttribute("width", B.width), O.setAttribute("height", B.height), O.setAttribute("style", "fill:#e8e8e8;"), L.insertBefore(O, L.firstChild) + } + Object.keys(d).forEach((function(t) { + var n = d[t]; + if (n.link) { + var r = a.select("#" + e + ' [id="' + t + '"]'); + if (r) { + var i = document.createElementNS("http://www.w3.org/2000/svg", "a"); + i.setAttributeNS("http://www.w3.org/2000/svg", "class", n.classes.join(" ")), i.setAttributeNS("http://www.w3.org/2000/svg", "href", n.link), i.setAttributeNS("http://www.w3.org/2000/svg", "rel", "noopener"); + var o = r.insert((function() { + return i + }), ":first-child"), + s = r.select(".label-container"); + s && o.append((function() { + return s.node() + })); + var u = r.select(".label"); + u && o.append((function() { + return u.node() + })) + } + } + })) + }, + mt = function(t, e) { + var n = t.append("rect"); + return n.attr("x", e.x), n.attr("y", e.y), n.attr("fill", e.fill), n.attr("stroke", e.stroke), n.attr("width", e.width), n.attr("height", e.height), n.attr("rx", e.rx), n.attr("ry", e.ry), void 0 !== e.class && n.attr("class", e.class), n + }, + _t = function(t, e) { + var n = e.text.replace(/<br\s*\/?>/gi, " "), + r = t.append("text"); + r.attr("x", e.x), r.attr("y", e.y), r.style("text-anchor", e.anchor), r.attr("fill", e.fill), void 0 !== e.class && r.attr("class", e.class); + var i = r.append("tspan"); + return i.attr("x", e.x + 2 * e.textMargin), i.attr("fill", e.fill), i.text(n), r + }, + wt = function(t, e) { + var n, r, i, a, o, s = t.append("polygon"); + s.attr("points", (n = e.x, r = e.y, n + "," + r + " " + (n + (i = 50)) + "," + r + " " + (n + i) + "," + (r + (a = 20) - (o = 7)) + " " + (n + i - 1.2 * o) + "," + (r + a) + " " + n + "," + (r + a))), s.attr("class", "labelBox"), e.y = e.y + e.labelMargin, e.x = e.x + .5 * e.labelMargin, _t(t, e) + }, + xt = -1, + kt = function() { + return { + x: 0, + y: 0, + fill: void 0, + "text-anchor": "start", + style: "#666", + width: 100, + height: 100, + textMargin: 0, + rx: 0, + ry: 0 + } + }, + Et = function() { + return { + x: 0, + y: 0, + fill: "#EDF2AE", + stroke: "#666", + width: 100, + anchor: "start", + height: 100, + rx: 0, + ry: 0 + } + }, + At = function() { + function t(t, e, n, i, a, o, s) { + r(e.append("text").attr("x", n + a / 2).attr("y", i + o / 2 + 5).style("text-anchor", "middle").text(t), s) + } + + function e(t, e, n, i, a, o, s, u) { + for (var c = u.actorFontSize, f = u.actorFontFamily, l = t.split(/<br\s*\/?>/gi), h = 0; h < l.length; h++) { + var d = h * c - c * (l.length - 1) / 2, + p = e.append("text").attr("x", n + a / 2).attr("y", i).style("text-anchor", "middle").style("font-size", c).style("font-family", f); + p.append("tspan").attr("x", n + a / 2).attr("dy", d).text(l[h]), p.attr("y", i + o / 2).attr("dominant-baseline", "central").attr("alignment-baseline", "central"), r(p, s) + } + } + + function n(t, n, i, a, o, s, u, c) { + var f = n.append("switch"), + l = f.append("foreignObject").attr("x", i).attr("y", a).attr("width", o).attr("height", s).append("div").style("display", "table").style("height", "100%").style("width", "100%"); + l.append("div").style("display", "table-cell").style("text-align", "center").style("vertical-align", "middle").text(t), e(t, f, i, a, o, s, u, c), r(l, u) + } + + function r(t, e) { + for (var n in e) e.hasOwnProperty(n) && t.attr(n, e[n]) + } + return function(r) { + return "fo" === r.textPlacement ? n : "old" === r.textPlacement ? t : e + } + }(), + St = { + drawRect: mt, + drawText: _t, + drawLabel: wt, + drawActor: function(t, e, n, r, i) { + var a = e + i.width / 2, + o = t.append("g"); + 0 === n && (xt++, o.append("line").attr("id", "actor" + xt).attr("x1", a).attr("y1", 5).attr("x2", a).attr("y2", 2e3).attr("class", "actor-line").attr("stroke-width", "0.5px").attr("stroke", "#999")); + var s = Et(); + s.x = e, s.y = n, s.fill = "#eaeaea", s.width = i.width, s.height = i.height, s.class = "actor", s.rx = 3, s.ry = 3, mt(o, s), At(i)(r, o, s.x, s.y, s.width, s.height, { + class: "actor" + }, i) + }, + anchorElement: function(t) { + return t.append("g") + }, + drawActivation: function(t, e, n, r, i) { + var a = Et(), + o = e.anchored; + a.x = e.startx, a.y = e.starty, a.class = "activation" + i % 3, a.width = e.stopx - e.startx, a.height = n - e.starty, mt(o, a) + }, + drawLoop: function(t, e, n, r) { + var i = t.append("g"), + a = function(t, e, n, r) { + return i.append("line").attr("x1", t).attr("y1", e).attr("x2", n).attr("y2", r).attr("class", "loopLine") + }; + a(e.startx, e.starty, e.stopx, e.starty), a(e.stopx, e.starty, e.stopx, e.stopy), a(e.startx, e.stopy, e.stopx, e.stopy), a(e.startx, e.starty, e.startx, e.stopy), void 0 !== e.sections && e.sections.forEach((function(t) { + a(e.startx, t, e.stopx, t).style("stroke-dasharray", "3, 3") + })); + var o = kt(); + o.text = n, o.x = e.startx, o.y = e.starty, o.labelMargin = 15, o.class = "labelText", wt(i, o), (o = kt()).text = "[ " + e.title + " ]", o.x = e.startx + (e.stopx - e.startx) / 2, o.y = e.starty + 1.5 * r.boxMargin, o.anchor = "middle", o.class = "loopText", _t(i, o), void 0 !== e.sectionTitles && e.sectionTitles.forEach((function(t, n) { + "" !== t && (o.text = "[ " + t + " ]", o.y = e.sections[n] + 1.5 * r.boxMargin, _t(i, o)) + })) + }, + drawBackgroundRect: function(t, e) { + mt(t, { + x: e.startx, + y: e.starty, + width: e.stopx - e.startx, + height: e.stopy - e.starty, + fill: e.fill, + class: "rect" + }).lower() + }, + insertArrowHead: function(t) { + t.append("defs").append("marker").attr("id", "arrowhead").attr("refX", 5).attr("refY", 2).attr("markerWidth", 6).attr("markerHeight", 4).attr("orient", "auto").append("path").attr("d", "M 0,0 V 4 L6,2 Z") + }, + insertSequenceNumber: function(t) { + t.append("defs").append("marker").attr("id", "sequencenumber").attr("refX", 15).attr("refY", 15).attr("markerWidth", 60).attr("markerHeight", 40).attr("orient", "auto").append("circle").attr("cx", 15).attr("cy", 15).attr("r", 6) + }, + insertArrowCrossHead: function(t) { + var e = t.append("defs").append("marker").attr("id", "crosshead").attr("markerWidth", 15).attr("markerHeight", 8).attr("orient", "auto").attr("refX", 16).attr("refY", 4); + e.append("path").attr("fill", "black").attr("stroke", "#000000").style("stroke-dasharray", "0, 0").attr("stroke-width", "1px").attr("d", "M 9,2 V 6 L16,4 Z"), e.append("path").attr("fill", "none").attr("stroke", "#000000").style("stroke-dasharray", "0, 0").attr("stroke-width", "1px").attr("d", "M 0,1 L 6,7 M 6,1 L 0,7") + }, + getTextObj: kt, + getNoteRect: Et + }, + Mt = n(1), + Tt = n.n(Mt), + Dt = {}, + Ct = [], + Nt = [], + It = "", + Lt = function(t, e, n) { + var r = Dt[t]; + r && e === r.name && null == n || (null == n && (n = e), Dt[t] = { + name: e, + description: n + }) + }, + Bt = function(t, e, n, r) { + if (_.debug("Adding message from=" + t + " to=" + e + " message=" + n + " type=" + r), r === Ot.ACTIVE_END) { + var i = function(t) { + var e = 0, + n = 0; + for (e = 0; e < Ct.length; e++) Ct[e].type === Ot.ACTIVE_START && Ct[e].from.actor === t && n++, Ct[e].type === Ot.ACTIVE_END && Ct[e].from.actor === t && n--; + return n + }(t.actor); + if (_.debug("Adding message from=", Ct, i), i < 1) { + var a = new Error("Trying to inactivate an inactive participant (" + t.actor + ")"); + throw a.hash = { + text: "->>-", + token: "->>-", + line: "1", + loc: { + first_line: 1, + last_line: 1, + first_column: 1, + last_column: 1 + }, + expected: ["'ACTIVE_PARTICIPANT'"] + }, a + } + } + return Ct.push({ + from: t, + to: e, + message: n, + type: r + }), !0 + }, + Ot = { + SOLID: 0, + DOTTED: 1, + NOTE: 2, + SOLID_CROSS: 3, + DOTTED_CROSS: 4, + SOLID_OPEN: 5, + DOTTED_OPEN: 6, + LOOP_START: 10, + LOOP_END: 11, + ALT_START: 12, + ALT_ELSE: 13, + ALT_END: 14, + OPT_START: 15, + OPT_END: 16, + ACTIVE_START: 17, + ACTIVE_END: 18, + PAR_START: 19, + PAR_AND: 20, + PAR_END: 21, + RECT_START: 22, + RECT_END: 23 + }, + Rt = function(t, e, n) { + var r = { + actor: t, + placement: e, + message: n + }, + i = [].concat(t, t); + Nt.push(r), Ct.push({ + from: i[0], + to: i[1], + message: n, + type: Ot.NOTE, + placement: e + }) + }, + Pt = function(t) { + It = t + }, + Ft = { + addActor: Lt, + addMessage: function(t, e, n, r) { + Ct.push({ + from: t, + to: e, + message: n, + answer: r + }) + }, + addSignal: Bt, + getMessages: function() { + return Ct + }, + getActors: function() { + return Dt + }, + getActor: function(t) { + return Dt[t] + }, + getActorKeys: function() { + return Object.keys(Dt) + }, + getTitle: function() { + return It + }, + clear: function() { + Dt = {}, Ct = [] + }, + LINETYPE: Ot, + ARROWTYPE: { + FILLED: 0, + OPEN: 1 + }, + PLACEMENT: { + LEFTOF: 0, + RIGHTOF: 1, + OVER: 2 + }, + addNote: Rt, + setTitle: Pt, + apply: function t(e) { + if (e instanceof Array) e.forEach((function(e) { + t(e) + })); + else switch (e.type) { + case "addActor": + Lt(e.actor, e.actor, e.description); + break; + case "activeStart": + case "activeEnd": + Bt(e.actor, void 0, void 0, e.signalType); + break; + case "addNote": + Rt(e.actor, e.placement, e.text); + break; + case "addMessage": + Bt(e.from, e.to, e.msg, e.signalType); + break; + case "loopStart": + Bt(void 0, void 0, e.loopText, e.signalType); + break; + case "loopEnd": + Bt(void 0, void 0, void 0, e.signalType); + break; + case "rectStart": + Bt(void 0, void 0, e.color, e.signalType); + break; + case "rectEnd": + Bt(void 0, void 0, void 0, e.signalType); + break; + case "optStart": + Bt(void 0, void 0, e.optText, e.signalType); + break; + case "optEnd": + Bt(void 0, void 0, void 0, e.signalType); + break; + case "altStart": + case "else": + Bt(void 0, void 0, e.altText, e.signalType); + break; + case "altEnd": + Bt(void 0, void 0, void 0, e.signalType); + break; + case "setTitle": + Pt(e.text); + break; + case "parStart": + case "and": + Bt(void 0, void 0, e.parText, e.signalType); + break; + case "parEnd": + Bt(void 0, void 0, void 0, e.signalType) + } + } + }; + Mt.parser.yy = Ft; + var qt = { + diagramMarginX: 50, + diagramMarginY: 30, + actorMargin: 50, + width: 150, + height: 65, + actorFontSize: 14, + actorFontFamily: '"Open-Sans", "sans-serif"', + boxMargin: 10, + boxTextMargin: 5, + noteMargin: 10, + messageMargin: 35, + mirrorActors: !1, + bottomMarginAdj: 1, + activationWidth: 10, + textPlacement: "tspan", + showSequenceNumbers: !1 + }, + jt = { + data: { + startx: void 0, + stopx: void 0, + starty: void 0, + stopy: void 0 + }, + verticalPos: 0, + sequenceItems: [], + activations: [], + init: function() { + this.sequenceItems = [], this.activations = [], this.data = { + startx: void 0, + stopx: void 0, + starty: void 0, + stopy: void 0 + }, this.verticalPos = 0 + }, + updateVal: function(t, e, n, r) { + void 0 === t[e] ? t[e] = n : t[e] = r(n, t[e]) + }, + updateBounds: function(t, e, n, r) { + var i = this, + a = 0; + + function o(o) { + return function(s) { + a++; + var u = i.sequenceItems.length - a + 1; + i.updateVal(s, "starty", e - u * qt.boxMargin, Math.min), i.updateVal(s, "stopy", r + u * qt.boxMargin, Math.max), i.updateVal(jt.data, "startx", t - u * qt.boxMargin, Math.min), i.updateVal(jt.data, "stopx", n + u * qt.boxMargin, Math.max), "activation" !== o && (i.updateVal(s, "startx", t - u * qt.boxMargin, Math.min), i.updateVal(s, "stopx", n + u * qt.boxMargin, Math.max), i.updateVal(jt.data, "starty", e - u * qt.boxMargin, Math.min), i.updateVal(jt.data, "stopy", r + u * qt.boxMargin, Math.max)) + } + } + this.sequenceItems.forEach(o()), this.activations.forEach(o("activation")) + }, + insert: function(t, e, n, r) { + var i = Math.min(t, n), + a = Math.max(t, n), + o = Math.min(e, r), + s = Math.max(e, r); + this.updateVal(jt.data, "startx", i, Math.min), this.updateVal(jt.data, "starty", o, Math.min), this.updateVal(jt.data, "stopx", a, Math.max), this.updateVal(jt.data, "stopy", s, Math.max), this.updateBounds(i, o, a, s) + }, + newActivation: function(t, e) { + var n = Mt.parser.yy.getActors()[t.from.actor], + r = Yt(t.from.actor).length, + i = n.x + qt.width / 2 + (r - 1) * qt.activationWidth / 2; + this.activations.push({ + startx: i, + starty: this.verticalPos + 2, + stopx: i + qt.activationWidth, + stopy: void 0, + actor: t.from.actor, + anchored: St.anchorElement(e) + }) + }, + endActivation: function(t) { + var e = this.activations.map((function(t) { + return t.actor + })).lastIndexOf(t.from.actor); + return this.activations.splice(e, 1)[0] + }, + newLoop: function(t, e) { + this.sequenceItems.push({ + startx: void 0, + starty: this.verticalPos, + stopx: void 0, + stopy: void 0, + title: t, + fill: e + }) + }, + endLoop: function() { + return this.sequenceItems.pop() + }, + addSectionToLoop: function(t) { + var e = this.sequenceItems.pop(); + e.sections = e.sections || [], e.sectionTitles = e.sectionTitles || [], e.sections.push(jt.getVerticalPos()), e.sectionTitles.push(t), this.sequenceItems.push(e) + }, + bumpVerticalPos: function(t) { + this.verticalPos = this.verticalPos + t, this.data.stopy = this.verticalPos + }, + getVerticalPos: function() { + return this.verticalPos + }, + getBounds: function() { + return this.data + } + }, + Ut = function(t, e, n, r, i) { + var a = St.getNoteRect(); + a.x = e, a.y = n, a.width = i || qt.width, a.class = "note"; + var o = t.append("g"), + s = St.drawRect(o, a), + u = function(t, e, n, r, i) { + var a = 0, + o = t.split(/<br\s*\/?>/gi), + s = !0, + u = !1, + c = void 0; + try { + for (var f, l = o[Symbol.iterator](); !(s = (f = l.next()).done); s = !0) { + var h = f.value, + d = St.getTextObj(); + d.x = e, d.y = n + a, d.textMargin = qt.noteMargin, d.dy = "1em", d.text = h, d.class = "noteText"; + var p = St.drawText(r, d, i); + a += (p._groups || p)[0][0].getBBox().height + } + } catch (t) { + u = !0, c = t + } finally { + try { + s || null == l.return || l.return() + } finally { + if (u) throw c + } + } + return a + }(r.message, e - 4, n + 24, o, a.width - qt.noteMargin); + jt.insert(e, n, e + a.width, n + 2 * qt.noteMargin + u), s.attr("height", u + 2 * qt.noteMargin), jt.bumpVerticalPos(u + 2 * qt.noteMargin) + }, + zt = function(t, e, n, r) { + for (var i = 0; i < n.length; i++) { + var a = n[i]; + e[a].x = i * qt.actorMargin + i * qt.width, e[a].y = r, e[a].width = qt.diagramMarginX, e[a].height = qt.diagramMarginY, St.drawActor(t, e[a].x, r, e[a].description, qt), jt.insert(e[a].x, r, e[a].x + qt.width, qt.height) + } + jt.bumpVerticalPos(qt.height) + }, + Yt = function(t) { + return jt.activations.filter((function(e) { + return e.actor === t + })) + }, + Vt = function(t) { + var e = Mt.parser.yy.getActors(), + n = Yt(t); + return [n.reduce((function(t, e) { + return Math.min(t, e.startx) + }), e[t].x + qt.width / 2), n.reduce((function(t, e) { + return Math.max(t, e.stopx) + }), e[t].x + qt.width / 2)] + }, + Ht = function(t) { + Object.keys(t).forEach((function(e) { + qt[e] = t[e] + })), qt.actorFontFamily = t.fontFamily + }, + Gt = function(t, e) { + Mt.parser.yy.clear(), Mt.parser.parse(t + "\n"), jt.init(); + var n, r, i, o = a.select('[id="'.concat(e, '"]')), + s = Mt.parser.yy.getActors(), + u = Mt.parser.yy.getActorKeys(), + c = Mt.parser.yy.getMessages(), + f = Mt.parser.yy.getTitle(); + zt(o, s, u, 0), St.insertArrowHead(o), St.insertArrowCrossHead(o), St.insertSequenceNumber(o); + var l = 1; + c.forEach((function(t) { + var e; + switch (t.type) { + case Mt.parser.yy.LINETYPE.NOTE: + jt.bumpVerticalPos(qt.boxMargin), n = s[t.from].x, r = s[t.to].x, t.placement === Mt.parser.yy.PLACEMENT.RIGHTOF ? Ut(o, n + (qt.width + qt.actorMargin) / 2, jt.getVerticalPos(), t) : t.placement === Mt.parser.yy.PLACEMENT.LEFTOF ? Ut(o, n - (qt.width + qt.actorMargin) / 2, jt.getVerticalPos(), t) : t.to === t.from ? Ut(o, n, jt.getVerticalPos(), t) : (i = Math.abs(n - r) + qt.actorMargin, Ut(o, (n + r + qt.width - i) / 2, jt.getVerticalPos(), t, i)); + break; + case Mt.parser.yy.LINETYPE.ACTIVE_START: + jt.newActivation(t, o); + break; + case Mt.parser.yy.LINETYPE.ACTIVE_END: + ! function(t, e) { + var n = jt.endActivation(t); + n.starty + 18 > e && (n.starty = e - 6, e += 12), St.drawActivation(o, n, e, qt, Yt(t.from.actor).length), jt.insert(n.startx, e - 10, n.stopx, e) + }(t, jt.getVerticalPos()); + break; + case Mt.parser.yy.LINETYPE.LOOP_START: + jt.bumpVerticalPos(qt.boxMargin), jt.newLoop(t.message), jt.bumpVerticalPos(qt.boxMargin + qt.boxTextMargin); + break; + case Mt.parser.yy.LINETYPE.LOOP_END: + e = jt.endLoop(), St.drawLoop(o, e, "loop", qt), jt.bumpVerticalPos(qt.boxMargin); + break; + case Mt.parser.yy.LINETYPE.RECT_START: + jt.bumpVerticalPos(qt.boxMargin), jt.newLoop(void 0, t.message), jt.bumpVerticalPos(qt.boxMargin); + break; + case Mt.parser.yy.LINETYPE.RECT_END: + var a = jt.endLoop(); + St.drawBackgroundRect(o, a), jt.bumpVerticalPos(qt.boxMargin); + break; + case Mt.parser.yy.LINETYPE.OPT_START: + jt.bumpVerticalPos(qt.boxMargin), jt.newLoop(t.message), jt.bumpVerticalPos(qt.boxMargin + qt.boxTextMargin); + break; + case Mt.parser.yy.LINETYPE.OPT_END: + e = jt.endLoop(), St.drawLoop(o, e, "opt", qt), jt.bumpVerticalPos(qt.boxMargin); + break; + case Mt.parser.yy.LINETYPE.ALT_START: + jt.bumpVerticalPos(qt.boxMargin), jt.newLoop(t.message), jt.bumpVerticalPos(qt.boxMargin + qt.boxTextMargin); + break; + case Mt.parser.yy.LINETYPE.ALT_ELSE: + jt.bumpVerticalPos(qt.boxMargin), e = jt.addSectionToLoop(t.message), jt.bumpVerticalPos(qt.boxMargin); + break; + case Mt.parser.yy.LINETYPE.ALT_END: + e = jt.endLoop(), St.drawLoop(o, e, "alt", qt), jt.bumpVerticalPos(qt.boxMargin); + break; + case Mt.parser.yy.LINETYPE.PAR_START: + jt.bumpVerticalPos(qt.boxMargin), jt.newLoop(t.message), jt.bumpVerticalPos(qt.boxMargin + qt.boxTextMargin); + break; + case Mt.parser.yy.LINETYPE.PAR_AND: + jt.bumpVerticalPos(qt.boxMargin), e = jt.addSectionToLoop(t.message), jt.bumpVerticalPos(qt.boxMargin); + break; + case Mt.parser.yy.LINETYPE.PAR_END: + e = jt.endLoop(), St.drawLoop(o, e, "par", qt), jt.bumpVerticalPos(qt.boxMargin); + break; + default: + try { + jt.bumpVerticalPos(qt.messageMargin); + var u = Vt(t.from), + c = Vt(t.to), + f = u[0] <= c[0] ? 1 : 0, + h = u[0] < c[0] ? 0 : 1; + n = u[f], r = c[h]; + var d = jt.getVerticalPos(); + ! function(t, e, n, r, i, a) { + var o, s = t.append("g"), + u = e + (n - e) / 2, + c = 0, + f = i.message.split(/<br\s*\/?>/gi), + l = !0, + h = !1, + d = void 0; + try { + for (var p, g = f[Symbol.iterator](); !(l = (p = g.next()).done); l = !0) { + var y = p.value; + o = s.append("text").attr("x", u).attr("y", r - 7 + 17 * c).style("text-anchor", "middle").attr("class", "messageText").text(y.trim()), c++ + } + } catch (t) { + h = !0, d = t + } finally { + try { + l || null == g.return || g.return() + } finally { + if (h) throw d + } + } + var b, v = 17 * (c - 1), + m = (o._groups || o)[0][0].getBBox().width; + if (e === n) { + b = qt.rightAngles ? s.append("path").attr("d", "M ".concat(e, ",").concat(r + v, " H ").concat(e + qt.width / 2, " V ").concat(r + 25 + v, " H ").concat(e)) : s.append("path").attr("d", "M " + e + "," + (r + v) + " C " + (e + 60) + "," + (r - 10 + v) + " " + (e + 60) + "," + (r + 30 + v) + " " + e + "," + (r + 20 + v)), jt.bumpVerticalPos(30 + v); + var _ = Math.max(m / 2, 100); + jt.insert(e - _, jt.getVerticalPos() - 10 + v, n + _, jt.getVerticalPos() + v) + } else(b = s.append("line")).attr("x1", e), b.attr("y1", r), b.attr("x2", n), b.attr("y2", r), jt.insert(e, jt.getVerticalPos() - 10 + v, n, jt.getVerticalPos() + v); + i.type === Mt.parser.yy.LINETYPE.DOTTED || i.type === Mt.parser.yy.LINETYPE.DOTTED_CROSS || i.type === Mt.parser.yy.LINETYPE.DOTTED_OPEN ? (b.style("stroke-dasharray", "3, 3"), b.attr("class", "messageLine1")) : b.attr("class", "messageLine0"); + var w = ""; + qt.arrowMarkerAbsolute && (w = (w = (w = window.location.protocol + "//" + window.location.host + window.location.pathname + window.location.search).replace(/\(/g, "\\(")).replace(/\)/g, "\\)")), b.attr("stroke-width", 2), b.attr("stroke", "black"), b.style("fill", "none"), i.type !== Mt.parser.yy.LINETYPE.SOLID && i.type !== Mt.parser.yy.LINETYPE.DOTTED || b.attr("marker-end", "url(" + w + "#arrowhead)"), i.type !== Mt.parser.yy.LINETYPE.SOLID_CROSS && i.type !== Mt.parser.yy.LINETYPE.DOTTED_CROSS || b.attr("marker-end", "url(" + w + "#crosshead)"), qt.showSequenceNumbers && (b.attr("marker-start", "url(" + w + "#sequencenumber)"), s.append("text").attr("x", e).attr("y", r + 4).attr("font-family", "sans-serif").attr("font-size", "12px").attr("text-anchor", "middle").attr("textLength", "16px").attr("class", "sequenceNumber").text(a)) + }(o, n, r, d, t, l); + var p = u.concat(c); + jt.insert(Math.min.apply(null, p), d, Math.max.apply(null, p), d) + } catch (t) { + _.error("error while drawing message", t) + } + } [Mt.parser.yy.LINETYPE.SOLID_OPEN, Mt.parser.yy.LINETYPE.DOTTED_OPEN, Mt.parser.yy.LINETYPE.SOLID, Mt.parser.yy.LINETYPE.DOTTED, Mt.parser.yy.LINETYPE.SOLID_CROSS, Mt.parser.yy.LINETYPE.DOTTED_CROSS].includes(t.type) && l++ + })), qt.mirrorActors && (jt.bumpVerticalPos(2 * qt.boxMargin), zt(o, s, u, jt.getVerticalPos())); + var h = jt.getBounds(); + _.debug("For line height fix Querying: #" + e + " .actor-line"), a.selectAll("#" + e + " .actor-line").attr("y2", h.stopy); + var d = h.stopy - h.starty + 2 * qt.diagramMarginY; + qt.mirrorActors && (d = d - qt.boxMargin + qt.bottomMarginAdj); + var p = h.stopx - h.startx + 2 * qt.diagramMarginX; + f && o.append("text").text(f).attr("x", (h.stopx - h.startx) / 2 - 2 * qt.diagramMarginX).attr("y", -25), qt.useMaxWidth ? (o.attr("height", "100%"), o.attr("width", "100%"), o.attr("style", "max-width:" + p + "px;")) : (o.attr("height", d), o.attr("width", p)); + var g = f ? 40 : 0; + o.attr("viewBox", h.startx - qt.diagramMarginX + " -" + (qt.diagramMarginY + g) + " " + p + " " + (d + g)) + }, + $t = n(26), + Wt = n.n($t); + + function Kt(t) { + return function(t) { + if (Array.isArray(t)) { + for (var e = 0, n = new Array(t.length); e < t.length; e++) n[e] = t[e]; + return n + } + }(t) || function(t) { + if (Symbol.iterator in Object(t) || "[object Arguments]" === Object.prototype.toString.call(t)) return Array.from(t) + }(t) || function() { + throw new TypeError("Invalid attempt to spread non-iterable instance") + }() + } + var Xt, Zt, Jt = h(), + Qt = "", + te = "", + ee = [], + ne = "", + re = [], + ie = [], + ae = "", + oe = ["active", "done", "crit", "milestone"], + se = [], + ue = !1, + ce = function(t, e, n) { + return t.isoWeekday() >= 6 && n.indexOf("weekends") >= 0 || (n.indexOf(t.format("dddd").toLowerCase()) >= 0 || n.indexOf(t.format(e.trim())) >= 0) + }, + fe = function(t, e, n) { + if (n.length && !t.manualEndTime) { + var r = p()(t.startTime, e, !0); + r.add(1, "d"); + var i = p()(t.endTime, e, !0), + a = le(r, i, e, n); + t.endTime = i.toDate(), t.renderEndTime = a + } + }, + le = function(t, e, n, r) { + for (var i = !1, a = null; t <= e;) i || (a = e.toDate()), (i = ce(t, n, r)) && e.add(1, "d"), t.add(1, "d"); + return a + }, + he = function(t, e, n) { + n = n.trim(); + var r = /^after\s+([\d\w- ]+)/.exec(n.trim()); + if (null !== r) { + var i = null; + if (r[1].split(" ").forEach((function(t) { + var e = me(t); + void 0 !== e && (i ? e.endTime > i.endTime && (i = e) : i = e) + })), i) return i.endTime; + var a = new Date; + return a.setHours(0, 0, 0, 0), a + } + var o = p()(n, e.trim(), !0); + return o.isValid() ? o.toDate() : (_.debug("Invalid date:" + n), _.debug("With date format:" + e.trim()), new Date) + }, + de = function(t, e) { + if (null !== t) switch (t[2]) { + case "s": + e.add(t[1], "seconds"); + break; + case "m": + e.add(t[1], "minutes"); + break; + case "h": + e.add(t[1], "hours"); + break; + case "d": + e.add(t[1], "days"); + break; + case "w": + e.add(t[1], "weeks") + } + return e.toDate() + }, + pe = function(t, e, n, r) { + r = r || !1, n = n.trim(); + var i = p()(n, e.trim(), !0); + return i.isValid() ? (r && i.add(1, "d"), i.toDate()) : de(/^([\d]+)([wdhms])/.exec(n.trim()), p()(t)) + }, + ge = 0, + ye = function(t) { + return void 0 === t ? "task" + (ge += 1) : t + }, + be = [], + ve = {}, + me = function(t) { + var e = ve[t]; + return be[e] + }, + _e = function() { + for (var t = function(t) { + var e = be[t], + n = ""; + switch (be[t].raw.startTime.type) { + case "prevTaskEnd": + var r = me(e.prevTaskId); + e.startTime = r.endTime; + break; + case "getStartDate": + (n = he(0, Qt, be[t].raw.startTime.startData)) && (be[t].startTime = n) + } + return be[t].startTime && (be[t].endTime = pe(be[t].startTime, Qt, be[t].raw.endTime.data, ue), be[t].endTime && (be[t].processed = !0, be[t].manualEndTime = p()(be[t].raw.endTime.data, "YYYY-MM-DD", !0).isValid(), fe(be[t], Qt, ee))), be[t].processed + }, e = !0, n = 0; n < be.length; n++) t(n), e = e && be[n].processed; + return e + }, + we = function(t, e) { + t.split(",").forEach((function(t) { + var n = me(t); + void 0 !== n && n.classes.push(e) + })) + }, + xe = function(t, e) { + se.push((function() { + var n = document.querySelector('[id="'.concat(t, '"]')); + null !== n && n.addEventListener("click", (function() { + e() + })) + })), se.push((function() { + var n = document.querySelector('[id="'.concat(t, '-text"]')); + null !== n && n.addEventListener("click", (function() { + e() + })) + })) + }, + ke = { + clear: function() { + re = [], ie = [], ae = "", se = [], ne = "", ge = 0, Xt = void 0, Zt = void 0, be = [], Qt = "", te = "", ee = [], ue = !1 + }, + setDateFormat: function(t) { + Qt = t + }, + getDateFormat: function() { + return Qt + }, + enableInclusiveEndDates: function() { + ue = !0 + }, + endDatesAreInclusive: function() { + return ue + }, + setAxisFormat: function(t) { + te = t + }, + getAxisFormat: function() { + return te + }, + setTitle: function(t) { + ne = t + }, + getTitle: function() { + return ne + }, + addSection: function(t) { + ae = t, re.push(t) + }, + getSections: function() { + return re + }, + getTasks: function() { + for (var t = _e(), e = 0; !t && e < 10;) t = _e(), e++; + return ie = be + }, + addTask: function(t, e) { + var n = { + section: ae, + type: ae, + processed: !1, + manualEndTime: !1, + renderEndTime: null, + raw: { + data: e + }, + task: t, + classes: [] + }, + r = function(t, e) { + var n = (":" === e.substr(0, 1) ? e.substr(1, e.length) : e).split(","), + r = {}; + Ee(n, r, oe); + for (var i = 0; i < n.length; i++) n[i] = n[i].trim(); + switch (n.length) { + case 1: + r.id = ye(), r.startTime = { + type: "prevTaskEnd", + id: t + }, r.endTime = { + data: n[0] + }; + break; + case 2: + r.id = ye(), r.startTime = { + type: "getStartDate", + startData: n[0] + }, r.endTime = { + data: n[1] + }; + break; + case 3: + r.id = ye(n[0]), r.startTime = { + type: "getStartDate", + startData: n[1] + }, r.endTime = { + data: n[2] + } + } + return r + }(Zt, e); + n.raw.startTime = r.startTime, n.raw.endTime = r.endTime, n.id = r.id, n.prevTaskId = Zt, n.active = r.active, n.done = r.done, n.crit = r.crit, n.milestone = r.milestone; + var i = be.push(n); + Zt = n.id, ve[n.id] = i - 1 + }, + findTaskById: me, + addTaskOrg: function(t, e) { + var n = { + section: ae, + type: ae, + description: t, + task: t, + classes: [] + }, + r = function(t, e) { + var n = (":" === e.substr(0, 1) ? e.substr(1, e.length) : e).split(","), + r = {}; + Ee(n, r, oe); + for (var i = 0; i < n.length; i++) n[i] = n[i].trim(); + var a = ""; + switch (n.length) { + case 1: + r.id = ye(), r.startTime = t.endTime, a = n[0]; + break; + case 2: + r.id = ye(), r.startTime = he(0, Qt, n[0]), a = n[1]; + break; + case 3: + r.id = ye(n[0]), r.startTime = he(0, Qt, n[1]), a = n[2] + } + return a && (r.endTime = pe(r.startTime, Qt, a, ue), r.manualEndTime = p()(a, "YYYY-MM-DD", !0).isValid(), fe(r, Qt, ee)), r + }(Xt, e); + n.startTime = r.startTime, n.endTime = r.endTime, n.id = r.id, n.active = r.active, n.done = r.done, n.crit = r.crit, n.milestone = r.milestone, Xt = n, ie.push(n) + }, + setExcludes: function(t) { + ee = t.toLowerCase().split(/[\s,]+/) + }, + getExcludes: function() { + return ee + }, + setClickEvent: function(t, e, n) { + t.split(",").forEach((function(t) { + ! function(t, e, n) { + if ("loose" === Jt.securityLevel && void 0 !== e) { + var r = []; + if ("string" == typeof n) { + r = n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/); + for (var i = 0; i < r.length; i++) { + var a = r[i].trim(); + '"' === a.charAt(0) && '"' === a.charAt(a.length - 1) && (a = a.substr(1, a.length - 2)), r[i] = a + } + } + 0 === r.length && r.push(t), void 0 !== me(t) && xe(t, (function() { + var t; + (t = window)[e].apply(t, Kt(r)) + })) + } + }(t, e, n) + })), we(t, "clickable") + }, + setLink: function(t, e) { + var n = e; + "loose" !== Jt.securityLevel && (n = Object(k.sanitizeUrl)(e)), t.split(",").forEach((function(t) { + void 0 !== me(t) && xe(t, (function() { + window.open(n, "_self") + })) + })), we(t, "clickable") + }, + bindFunctions: function(t) { + se.forEach((function(e) { + e(t) + })) + }, + durationToDate: de + }; + + function Ee(t, e, n) { + for (var r = !0; r;) r = !1, n.forEach((function(n) { + var i = new RegExp("^\\s*" + n + "\\s*$"); + t[0].match(i) && (e[n] = !0, t.shift(1), r = !0) + })) + } + $t.parser.yy = ke; + var Ae, Se = { + titleTopMargin: 25, + barHeight: 20, + barGap: 4, + topPadding: 50, + rightPadding: 75, + leftPadding: 75, + gridLineStartPadding: 35, + fontSize: 11, + fontFamily: '"Open-Sans", "sans-serif"' + }, + Me = function(t) { + Object.keys(t).forEach((function(e) { + Se[e] = t[e] + })) + }, + Te = function(t, e) { + $t.parser.yy.clear(), $t.parser.parse(t); + var n = document.getElementById(e); + void 0 === (Ae = n.parentElement.offsetWidth) && (Ae = 1200), void 0 !== Se.useWidth && (Ae = Se.useWidth); + var r = $t.parser.yy.getTasks(), + i = r.length * (Se.barHeight + Se.barGap) + 2 * Se.topPadding; + n.setAttribute("height", "100%"), n.setAttribute("viewBox", "0 0 " + Ae + " " + i); + for (var o = a.select('[id="'.concat(e, '"]')), s = a.scaleTime().domain([a.min(r, (function(t) { + return t.startTime + })), a.max(r, (function(t) { + return t.endTime + }))]).rangeRound([0, Ae - Se.leftPadding - Se.rightPadding]), u = [], c = 0; c < r.length; c++) u.push(r[c].type); + var f = u; + + function l(t) { + for (var e = t.length, n = {}; e;) n[t[--e]] = (n[t[e]] || 0) + 1; + return n + } + u = function(t) { + for (var e = {}, n = [], r = 0, i = t.length; r < i; ++r) e.hasOwnProperty(t[r]) || (e[t[r]] = !0, n.push(t[r])); + return n + }(u), + function(t, e, n) { + var r = Se.barHeight, + i = r + Se.barGap, + c = Se.topPadding, + h = Se.leftPadding; + a.scaleLinear().domain([0, u.length]).range(["#00B9FA", "#F95002"]).interpolate(a.interpolateHcl); + (function(t, e, n, r) { + var i = a.axisBottom(s).tickSize(-r + e + Se.gridLineStartPadding).tickFormat(a.timeFormat($t.parser.yy.getAxisFormat() || Se.axisFormat || "%Y-%m-%d")); + o.append("g").attr("class", "grid").attr("transform", "translate(" + t + ", " + (r - 50) + ")").call(i).selectAll("text").style("text-anchor", "middle").attr("fill", "#000").attr("stroke", "none").attr("font-size", 10).attr("dy", "1em") + })(h, c, 0, n), + function(t, e, n, r, i, a, c) { + o.append("g").selectAll("rect").data(t).enter().append("rect").attr("x", 0).attr("y", (function(t, r) { + return r * e + n - 2 + })).attr("width", (function() { + return c - Se.rightPadding / 2 + })).attr("height", e).attr("class", (function(t) { + for (var e = 0; e < u.length; e++) + if (t.type === u[e]) return "section section" + e % Se.numberSectionStyles; + return "section section0" + })); + var f = o.append("g").selectAll("rect").data(t).enter(); + f.append("rect").attr("id", (function(t) { + return t.id + })).attr("rx", 3).attr("ry", 3).attr("x", (function(t) { + return t.milestone ? s(t.startTime) + r + .5 * (s(t.endTime) - s(t.startTime)) - .5 * i : s(t.startTime) + r + })).attr("y", (function(t, r) { + return r * e + n + })).attr("width", (function(t) { + return t.milestone ? i : s(t.renderEndTime || t.endTime) - s(t.startTime) + })).attr("height", i).attr("transform-origin", (function(t, a) { + return (s(t.startTime) + r + .5 * (s(t.endTime) - s(t.startTime))).toString() + "px " + (a * e + n + .5 * i).toString() + "px" + })).attr("class", (function(t) { + var e = ""; + t.classes.length > 0 && (e = t.classes.join(" ")); + for (var n = 0, r = 0; r < u.length; r++) t.type === u[r] && (n = r % Se.numberSectionStyles); + var i = ""; + return t.active ? t.crit ? i += " activeCrit" : i = " active" : t.done ? i = t.crit ? " doneCrit" : " done" : t.crit && (i += " crit"), 0 === i.length && (i = " task"), t.milestone && (i = " milestone " + i), i += n, "task" + (i += " " + e) + })), f.append("text").attr("id", (function(t) { + return t.id + "-text" + })).text((function(t) { + return t.task + })).attr("font-size", Se.fontSize).attr("x", (function(t) { + var e = s(t.startTime), + n = s(t.renderEndTime || t.endTime); + t.milestone && (e += .5 * (s(t.endTime) - s(t.startTime)) - .5 * i), t.milestone && (n = e + i); + var a = this.getBBox().width; + return a > n - e ? n + a + 1.5 * Se.leftPadding > c ? e + r - 5 : n + r + 5 : (n - e) / 2 + e + r + })).attr("y", (function(t, r) { + return r * e + Se.barHeight / 2 + (Se.fontSize / 2 - 2) + n + })).attr("text-height", i).attr("class", (function(t) { + var e = s(t.startTime), + n = s(t.endTime); + t.milestone && (n = e + i); + var r = this.getBBox().width, + a = ""; + t.classes.length > 0 && (a = t.classes.join(" ")); + for (var o = 0, f = 0; f < u.length; f++) t.type === u[f] && (o = f % Se.numberSectionStyles); + var l = ""; + return t.active && (l = t.crit ? "activeCritText" + o : "activeText" + o), t.done ? l = t.crit ? l + " doneCritText" + o : l + " doneText" + o : t.crit && (l = l + " critText" + o), t.milestone && (l += " milestoneText"), r > n - e ? n + r + 1.5 * Se.leftPadding > c ? a + " taskTextOutsideLeft taskTextOutside" + o + " " + l : a + " taskTextOutsideRight taskTextOutside" + o + " " + l + " width-" + r : a + " taskText taskText" + o + " " + l + " width-" + r + })) + }(t, i, c, h, r, 0, e), + function(t, e) { + for (var n = [], r = 0, i = 0; i < u.length; i++) n[i] = [u[i], (a = u[i], s = f, l(s)[a] || 0)]; + var a, s; + o.append("g").selectAll("text").data(n).enter().append((function(t) { + var e = t[0].split(/<br\s*\/?>/gi), + n = -(e.length - 1) / 2, + r = document.createElementNS("http://www.w3.org/2000/svg", "text"); + r.setAttribute("dy", n + "em"); + for (var i = 0; i < e.length; i++) { + var a = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); + a.setAttribute("alignment-baseline", "central"), a.setAttribute("x", "10"), i > 0 && a.setAttribute("dy", "1em"), a.textContent = e[i], r.appendChild(a) + } + return r + })).attr("x", 10).attr("y", (function(i, a) { + if (!(a > 0)) return i[1] * t / 2 + e; + for (var o = 0; o < a; o++) return r += n[a - 1][1], i[1] * t / 2 + r * t + e + })).attr("class", (function(t) { + for (var e = 0; e < u.length; e++) + if (t[0] === u[e]) return "sectionTitle sectionTitle" + e % Se.numberSectionStyles; + return "sectionTitle" + })) + }(i, c), + function(t, e, n, r) { + var i = o.append("g").attr("class", "today"), + a = new Date; + i.append("line").attr("x1", s(a) + t).attr("x2", s(a) + t).attr("y1", Se.titleTopMargin).attr("y2", r - Se.titleTopMargin).attr("class", "today") + }(h, 0, 0, n) + }(r, Ae, i), void 0 !== Se.useWidth && n.setAttribute("width", Ae), o.append("text").text($t.parser.yy.getTitle()).attr("x", Ae / 2).attr("y", Se.titleTopMargin).attr("class", "titleText") + }, + De = n(59), + Ce = n.n(De), + Ne = h(), + Ie = [], + Le = {}, + Be = 0, + Oe = [], + Re = function(t) { + var e = "", + n = t; + if (t.indexOf("~") > 0) { + var r = t.split("~"); + n = r[0], e = r[1] + } + return { + className: n, + type: e + } + }, + Pe = function(t) { + var e = Re(t); + void 0 === Le[e.className] && (Le[e.className] = { + id: e.className, + type: e.type, + cssClasses: [], + methods: [], + members: [], + annotations: [], + domId: "classid-" + e.className + "-" + Be + }, Be++) + }, + Fe = function(t) { + for (var e = Object.keys(Le), n = 0; n < e.length; n++) + if (Le[e[n]].id === t) return Le[e[n]].domId + }, + qe = function(t, e) { + var n = Re(t).className, + r = Le[n]; + if ("string" == typeof e) { + var i = e.trim(); + i.startsWith("<<") && i.endsWith(">>") ? r.annotations.push(i.substring(2, i.length - 2)) : i.indexOf(")") > 0 ? r.methods.push(i) : i && r.members.push(i) + } + }, + je = function(t, e) { + t.split(",").forEach((function(t) { + var n = t; + t[0].match(/\d/) && (n = "classid-" + n), void 0 !== Le[n] && Le[n].cssClasses.push(e) + })) + }, + Ue = function(t, e, n) { + var r = t, + i = Fe(r); + "loose" === Ne.securityLevel && void 0 !== e && void 0 !== Le[r] && (n && (Le[r].tooltip = S.sanitize(n, Ne)), Oe.push((function() { + var t = document.querySelector('[id="'.concat(i, '"]')); + null !== t && t.addEventListener("click", (function() { + window[e](i) + }), !1) + }))) + }, + ze = function(t) { + var e = a.select(".mermaidTooltip"); + null === (e._groups || e)[0][0] && (e = a.select("body").append("div").attr("class", "mermaidTooltip").style("opacity", 0)), a.select(t).select("svg").selectAll("g.node").on("mouseover", (function() { + var t = a.select(this); + if (null !== t.attr("title")) { + var n = this.getBoundingClientRect(); + e.transition().duration(200).style("opacity", ".9"), e.html(t.attr("title")).style("left", n.left + (n.right - n.left) / 2 + "px").style("top", n.top - 14 + document.body.scrollTop + "px"), t.classed("hover", !0) + } + })).on("mouseout", (function() { + e.transition().duration(500).style("opacity", 0), a.select(this).classed("hover", !1) + })) + }; + Oe.push(ze); + var Ye = { + addClass: Pe, + bindFunctions: function(t) { + Oe.forEach((function(e) { + e(t) + })) + }, + clear: function() { + Ie = [], Le = {}, (Oe = []).push(ze) + }, + getClass: function(t) { + return Le[t] + }, + getClasses: function() { + return Le + }, + addAnnotation: function(t, e) { + var n = Re(t).className; + Le[n].annotations.push(e) + }, + getRelations: function() { + return Ie + }, + addRelation: function(t) { + _.debug("Adding relation: " + JSON.stringify(t)), Pe(t.id1), Pe(t.id2), t.id1 = Re(t.id1).className, t.id2 = Re(t.id2).className, Ie.push(t) + }, + addMember: qe, + addMembers: function(t, e) { + Array.isArray(e) && (e.reverse(), e.forEach((function(e) { + return qe(t, e) + }))) + }, + cleanupLabel: function(t) { + return ":" === t.substring(0, 1) ? t.substr(1).trim() : t.trim() + }, + lineType: { + LINE: 0, + DOTTED_LINE: 1 + }, + relationType: { + AGGREGATION: 0, + EXTENSION: 1, + COMPOSITION: 2, + DEPENDENCY: 3 + }, + setClickEvent: function(t, e, n) { + t.split(",").forEach((function(t) { + Ue(t, e, n) + })), je(t, "clickable") + }, + setCssClass: je, + setLink: function(t, e, n) { + t.split(",").forEach((function(t) { + var r = t; + t[0].match(/\d/) && (r = "classid-" + r), void 0 !== Le[r] && (Le[r].link = S.formatUrl(e, Ne), n && (Le[r].tooltip = S.sanitize(n, Ne))) + })), je(t, "clickable") + }, + lookUpDomId: Fe + }, + Ve = n(46), + He = n.n(Ve); + Ve.parser.yy = Ye; + var Ge = {}, + $e = { + dividerMargin: 10, + padding: 5, + textHeight: 10 + }, + We = function(t) { + for (var e = Object.keys(Ge), n = 0; n < e.length; n++) + if (Ge[e[n]].label === t) return e[n] + }, + Ke = 0, + Xe = function(t, e) { + _.info("Rendering class " + e); + var n = "classGroup "; + e.cssClasses.length > 0 && (n += e.cssClasses.join(" ")); + var r, i = function(t, e, n) { + var r = e.indexOf(")") > 1, + i = e, + o = ""; + if (r) { + var s = a(e); + i = s.displayText, o = s.cssStyle + } + var u = t.append("tspan").attr("x", $e.padding).text(i); + "" !== o && u.attr("style", o), n || u.attr("dy", $e.textHeight) + }, + a = function(t) { + var e = "", + n = t, + r = t, + i = "", + a = t.match(/(\+|-|~|#)?(\w+)\s?\((\w+(<\w+>|\[\])?\s?(\w+)?)?\)\s?([*|$])?\s?(\w+(<\w+>|\[\])?)?/); + if (a) { + var o = a[1] ? a[1].trim() : ""; + r = a[2] ? a[2].trim() : ""; + var s = a[3] ? a[3].trim() : ""; + i = a[6] ? a[6].trim() : "", n = o + r + "(" + s + ")" + (a[7] ? " : " + a[7].trim() : "") + } else { + var u = n.indexOf(")") + 1; + "" !== (i = n.substring(u, u + 1)) && " " !== i && (n = n.replace(i, "")) + } + switch (i) { + case "*": + e = "font-style:italic;"; + break; + case "$": + e = "text-decoration:underline;" + } + return { + methodname: r, + displayText: n, + cssStyle: e + } + }, + o = e.id, + s = { + id: o, + label: e.id, + width: 0, + height: 0 + }, + u = t.append("g").attr("id", Fe(o)).attr("class", n); + r = e.link ? u.append("svg:a").attr("xlink:href", e.link).attr("target", "_blank").append("text").attr("y", $e.textHeight + $e.padding).attr("x", 0) : u.append("text").attr("y", $e.textHeight + $e.padding).attr("x", 0); + var c = !0; + e.annotations.forEach((function(t) { + var e = r.append("tspan").text("«" + t + "»"); + c || e.attr("dy", $e.textHeight), c = !1 + })); + var f = e.id; + void 0 !== e.type && "" !== e.type && (f += "<" + e.type + ">"); + var l = r.append("tspan").text(f).attr("class", "title"); + c || l.attr("dy", $e.textHeight); + var h = r.node().getBBox().height, + d = u.append("line").attr("x1", 0).attr("y1", $e.padding + h + $e.dividerMargin / 2).attr("y2", $e.padding + h + $e.dividerMargin / 2), + p = u.append("text").attr("x", $e.padding).attr("y", h + $e.dividerMargin + $e.textHeight).attr("fill", "white").attr("class", "classText"); + c = !0, e.members.forEach((function(t) { + i(p, t, c), c = !1 + })); + var g = p.node().getBBox(), + y = u.append("line").attr("x1", 0).attr("y1", $e.padding + h + $e.dividerMargin + g.height).attr("y2", $e.padding + h + $e.dividerMargin + g.height), + b = u.append("text").attr("x", $e.padding).attr("y", h + 2 * $e.dividerMargin + g.height + $e.textHeight).attr("fill", "white").attr("class", "classText"); + c = !0, e.methods.forEach((function(t) { + i(b, t, c), c = !1 + })); + var v = u.node().getBBox(), + m = u.insert("rect", ":first-child").attr("x", 0).attr("y", 0).attr("width", v.width + 2 * $e.padding).attr("height", v.height + $e.padding + .5 * $e.dividerMargin).node().getBBox().width; + return r.node().childNodes.forEach((function(t) { + t.setAttribute("x", (m - t.getBBox().width) / 2) + })), e.tooltip && r.insert("title").text(e.tooltip), d.attr("x2", m), y.attr("x2", m), s.width = m, s.height = v.height + $e.padding + .5 * $e.dividerMargin, Ge[o] = s, s + }, + Ze = function(t) { + Object.keys(t).forEach((function(e) { + $e[e] = t[e] + })) + }, + Je = function(t, e) { + Ge = {}, Ve.parser.yy.clear(), Ve.parser.parse(t), _.info("Rendering diagram " + t); + var n, r = a.select("[id='".concat(e, "']")); + (n = r).append("defs").append("marker").attr("id", "extensionStart").attr("class", "extension").attr("refX", 0).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("path").attr("d", "M 1,7 L18,13 V 1 Z"), n.append("defs").append("marker").attr("id", "extensionEnd").attr("refX", 19).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 1,1 V 13 L18,7 Z"), n.append("defs").append("marker").attr("id", "compositionStart").attr("class", "extension").attr("refX", 0).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z"), n.append("defs").append("marker").attr("id", "compositionEnd").attr("refX", 19).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z"), n.append("defs").append("marker").attr("id", "aggregationStart").attr("class", "extension").attr("refX", 0).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z"), n.append("defs").append("marker").attr("id", "aggregationEnd").attr("refX", 19).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z"), n.append("defs").append("marker").attr("id", "dependencyStart").attr("class", "extension").attr("refX", 0).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("path").attr("d", "M 5,7 L9,13 L1,7 L9,1 Z"), n.append("defs").append("marker").attr("id", "dependencyEnd").attr("refX", 19).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L14,7 L9,1 Z"); + var i = new T.a.Graph({ + multigraph: !0 + }); + i.setGraph({ + isMultiGraph: !0 + }), i.setDefaultEdgeLabel((function() { + return {} + })); + for (var o = Ye.getClasses(), s = Object.keys(o), u = 0; u < s.length; u++) { + var c = o[s[u]], + f = Xe(r, c); + i.setNode(f.id, f), _.info("Org height: " + f.height) + } + Ye.getRelations().forEach((function(t) { + _.info("tjoho" + We(t.id1) + We(t.id2) + JSON.stringify(t)), i.setEdge(We(t.id1), We(t.id2), { + relation: t + }, t.title || "DEFAULT") + })), Ce.a.layout(i), i.nodes().forEach((function(t) { + void 0 !== t && void 0 !== i.node(t) && (_.debug("Node " + t + ": " + JSON.stringify(i.node(t))), a.select("#" + Fe(t)).attr("transform", "translate(" + (i.node(t).x - i.node(t).width / 2) + "," + (i.node(t).y - i.node(t).height / 2) + " )")) + })), i.edges().forEach((function(t) { + void 0 !== t && void 0 !== i.edge(t) && (_.debug("Edge " + t.v + " -> " + t.w + ": " + JSON.stringify(i.edge(t))), function(t, e, n) { + var r = function(t) { + switch (t) { + case Ye.relationType.AGGREGATION: + return "aggregation"; + case Ye.relationType.EXTENSION: + return "extension"; + case Ye.relationType.COMPOSITION: + return "composition"; + case Ye.relationType.DEPENDENCY: + return "dependency" + } + }; + e.points = e.points.filter((function(t) { + return !Number.isNaN(t.y) + })); + var i, o, s = e.points, + u = a.line().x((function(t) { + return t.x + })).y((function(t) { + return t.y + })).curve(a.curveBasis), + c = t.append("path").attr("d", u(s)).attr("id", "edge" + Ke).attr("class", "relation"), + f = ""; + $e.arrowMarkerAbsolute && (f = (f = (f = window.location.protocol + "//" + window.location.host + window.location.pathname + window.location.search).replace(/\(/g, "\\(")).replace(/\)/g, "\\)")), 1 == n.relation.lineType && c.attr("class", "relation dashed-line"), "none" !== n.relation.type1 && c.attr("marker-start", "url(" + f + "#" + r(n.relation.type1) + "Start)"), "none" !== n.relation.type2 && c.attr("marker-end", "url(" + f + "#" + r(n.relation.type2) + "End)"); + var l, h, d, p, g = e.points.length, + y = S.calcLabelPosition(e.points); + if (i = y.x, o = y.y, g % 2 != 0 && g > 1) { + var b = S.calcCardinalityPosition("none" !== n.relation.type1, e.points, e.points[0]), + v = S.calcCardinalityPosition("none" !== n.relation.type2, e.points, e.points[g - 1]); + _.debug("cardinality_1_point " + JSON.stringify(b)), _.debug("cardinality_2_point " + JSON.stringify(v)), l = b.x, h = b.y, d = v.x, p = v.y + } + if (void 0 !== n.title) { + var m = t.append("g").attr("class", "classLabel"), + w = m.append("text").attr("class", "label").attr("x", i).attr("y", o).attr("fill", "red").attr("text-anchor", "middle").text(n.title); + window.label = w; + var x = w.node().getBBox(); + m.insert("rect", ":first-child").attr("class", "box").attr("x", x.x - $e.padding / 2).attr("y", x.y - $e.padding / 2).attr("width", x.width + $e.padding).attr("height", x.height + $e.padding) + }(_.info("Rendering relation " + JSON.stringify(n)), void 0 !== n.relationTitle1 && "none" !== n.relationTitle1) && t.append("g").attr("class", "cardinality").append("text").attr("class", "type1").attr("x", l).attr("y", h).attr("fill", "black").attr("font-size", "6").text(n.relationTitle1); + void 0 !== n.relationTitle2 && "none" !== n.relationTitle2 && t.append("g").attr("class", "cardinality").append("text").attr("class", "type2").attr("x", d).attr("y", p).attr("fill", "black").attr("font-size", "6").text(n.relationTitle2); + Ke++ + }(r, i.edge(t), i.edge(t).relation)) + })), r.attr("height", "100%"), r.attr("width", "".concat(1.5 * i.graph().width + 20)), r.attr("viewBox", "-10 -10 " + (i.graph().width + 20) + " " + (i.graph().height + 20)) + }; + + function Qe(t) { + return (Qe = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) { + return typeof t + } : function(t) { + return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t + })(t) + } + var tn, en = [], + nn = { + root: { + relations: [], + states: {}, + documents: {} + } + }, + rn = nn.root, + an = 0, + on = function(t, e, n, r, i) { + void 0 === rn.states[t] ? rn.states[t] = { + id: t, + descriptions: [], + type: e, + doc: n, + note: i + } : (rn.states[t].doc || (rn.states[t].doc = n), rn.states[t].type || (rn.states[t].type = e)), r && ("string" == typeof r && cn(t, r.trim()), "object" === Qe(r) && r.forEach((function(e) { + return cn(t, e.trim()) + }))), i && (rn.states[t].note = i) + }, + sn = function() { + rn = (nn = { + root: { + relations: [], + states: {}, + documents: {} + } + }).root + }, + un = function(t, e, n) { + var r = t, + i = e, + a = "default", + o = "default"; + "[*]" === t && (r = "start" + ++an, a = "start"), "[*]" === e && (i = "end" + an, o = "end"), on(r, a), on(i, o), rn.relations.push({ + id1: r, + id2: i, + title: n + }) + }, + cn = function(t, e) { + var n = rn.states[t], + r = e; + ":" === r[0] && (r = r.substr(1).trim()), n.descriptions.push(r) + }, + fn = 0, + ln = { + addState: on, + clear: sn, + getState: function(t) { + return rn.states[t] + }, + getStates: function() { + return rn.states + }, + getRelations: function() { + return rn.relations + }, + addRelation: un, + getDividerId: function() { + return "divider-id-" + ++fn + }, + cleanupLabel: function(t) { + return ":" === t.substring(0, 1) ? t.substr(2).trim() : t.trim() + }, + lineType: { + LINE: 0, + DOTTED_LINE: 1 + }, + relationType: { + AGGREGATION: 0, + EXTENSION: 1, + COMPOSITION: 2, + DEPENDENCY: 3 + }, + logDocuments: function() { + _.info("Documents = ", nn) + }, + getRootDoc: function() { + return en + }, + setRootDoc: function(t) { + _.info("Setting root doc", t), en = t + }, + extract: function(t) { + sn(), t.forEach((function(t) { + "state" === t.stmt && on(t.id, t.type, t.doc, t.description, t.note), "relation" === t.stmt && un(t.state1.id, t.state2.id, t.description) + })) + } + }, + hn = n(47), + dn = n.n(hn), + pn = {}, + gn = function(t, e) { + pn[t] = e + }, + yn = function(t, e) { + var n = t.append("text").attr("x", 2 * h().state.padding).attr("y", h().state.textHeight + 1.3 * h().state.padding).attr("font-size", h().state.fontSize).attr("class", "state-title").text(e.descriptions[0]).node().getBBox(), + r = n.height, + i = t.append("text").attr("x", h().state.padding).attr("y", r + .4 * h().state.padding + h().state.dividerMargin + h().state.textHeight).attr("class", "state-description"), + a = !0, + o = !0; + e.descriptions.forEach((function(t) { + a || (! function(t, e, n) { + var r = t.append("tspan").attr("x", 2 * h().state.padding).text(e); + n || r.attr("dy", h().state.textHeight) + }(i, t, o), o = !1), a = !1 + })); + var s = t.append("line").attr("x1", h().state.padding).attr("y1", h().state.padding + r + h().state.dividerMargin / 2).attr("y2", h().state.padding + r + h().state.dividerMargin / 2).attr("class", "descr-divider"), + u = i.node().getBBox(), + c = Math.max(u.width, n.width); + return s.attr("x2", c + 3 * h().state.padding), t.insert("rect", ":first-child").attr("x", h().state.padding).attr("y", h().state.padding).attr("width", c + 2 * h().state.padding).attr("height", u.height + r + 2 * h().state.padding).attr("rx", h().state.radius), t + }, + bn = function(t, e, n) { + var r, i = h().state.padding, + a = 2 * h().state.padding, + o = t.node().getBBox(), + s = o.width, + u = o.x, + c = t.append("text").attr("x", 0).attr("y", h().state.titleShift).attr("font-size", h().state.fontSize).attr("class", "state-title").text(e.id), + f = c.node().getBBox().width + a, + l = Math.max(f, s); + l === s && (l += a); + var d = t.node().getBBox(); + e.doc, r = u - i, f > s && (r = (s - l) / 2 + i), Math.abs(u - d.x) < i && f > s && (r = u - (f - s) / 2); + var p = 1 - h().state.textHeight; + return t.insert("rect", ":first-child").attr("x", r).attr("y", p).attr("class", n ? "alt-composit" : "composit").attr("width", l).attr("height", d.height + h().state.textHeight + h().state.titleShift + 1).attr("rx", "0"), c.attr("x", r + i), f <= s && c.attr("x", u + (l - a) / 2 - f / 2 + i), t.insert("rect", ":first-child").attr("x", r).attr("y", h().state.titleShift - h().state.textHeight - h().state.padding).attr("width", l).attr("height", 3 * h().state.textHeight).attr("rx", h().state.radius), t.insert("rect", ":first-child").attr("x", r).attr("y", h().state.titleShift - h().state.textHeight - h().state.padding).attr("width", l).attr("height", d.height + 3 + 2 * h().state.textHeight).attr("rx", h().state.radius), t + }, + vn = function(t, e) { + e.attr("class", "state-note"); + var n = e.append("rect").attr("x", 0).attr("y", h().state.padding), + r = function(t, e, n, r) { + var i = 0, + a = r.append("text"); + a.style("text-anchor", "start"), a.attr("class", "noteText"); + var o = t.replace(/\r\n/g, "<br/>"), + s = (o = o.replace(/\n/g, "<br/>")).split(/<br\s*\/?>/gi), + u = 1.25 * h().state.noteMargin, + c = !0, + f = !1, + l = void 0; + try { + for (var d, p = s[Symbol.iterator](); !(c = (d = p.next()).done); c = !0) { + var g = d.value.trim(); + if (g.length > 0) { + var y = a.append("tspan"); + if (y.text(g), 0 === u) u += y.node().getBBox().height; + i += u, y.attr("x", e + h().state.noteMargin), y.attr("y", n + i + 1.25 * h().state.noteMargin) + } + } + } catch (t) { + f = !0, l = t + } finally { + try { + c || null == p.return || p.return() + } finally { + if (f) throw l + } + } + return { + textWidth: a.node().getBBox().width, + textHeight: i + } + }(t, 0, 0, e.append("g")), + i = r.textWidth, + a = r.textHeight; + return n.attr("height", a + 2 * h().state.noteMargin), n.attr("width", i + 2 * h().state.noteMargin), n + }, + mn = function(t, e) { + var n = e.id, + r = { + id: n, + label: e.id, + width: 0, + height: 0 + }, + i = t.append("g").attr("id", n).attr("class", "stateGroup"); + "start" === e.type && function(t) { + t.append("circle").style("stroke", "black").style("fill", "black").attr("r", h().state.sizeUnit).attr("cx", h().state.padding + h().state.sizeUnit).attr("cy", h().state.padding + h().state.sizeUnit) + }(i), "end" === e.type && function(t) { + t.append("circle").style("stroke", "black").style("fill", "white").attr("r", h().state.sizeUnit + h().state.miniPadding).attr("cx", h().state.padding + h().state.sizeUnit + h().state.miniPadding).attr("cy", h().state.padding + h().state.sizeUnit + h().state.miniPadding), t.append("circle").style("stroke", "black").style("fill", "black").attr("r", h().state.sizeUnit).attr("cx", h().state.padding + h().state.sizeUnit + 2).attr("cy", h().state.padding + h().state.sizeUnit + 2) + }(i), "fork" !== e.type && "join" !== e.type || function(t, e) { + var n = h().state.forkWidth, + r = h().state.forkHeight; + if (e.parentId) { + var i = n; + n = r, r = i + } + t.append("rect").style("stroke", "black").style("fill", "black").attr("width", n).attr("height", r).attr("x", h().state.padding).attr("y", h().state.padding) + }(i, e), "note" === e.type && vn(e.note.text, i), "divider" === e.type && function(t) { + t.append("line").style("stroke", "grey").style("stroke-dasharray", "3").attr("x1", h().state.textHeight).attr("class", "divider").attr("x2", 2 * h().state.textHeight).attr("y1", 0).attr("y2", 0) + }(i), "default" === e.type && 0 === e.descriptions.length && function(t, e) { + var n = t.append("text").attr("x", 2 * h().state.padding).attr("y", h().state.textHeight + 2 * h().state.padding).attr("font-size", h().state.fontSize).attr("class", "state-title").text(e.id), + r = n.node().getBBox(); + t.insert("rect", ":first-child").attr("x", h().state.padding).attr("y", h().state.padding).attr("width", r.width + 2 * h().state.padding).attr("height", r.height + 2 * h().state.padding).attr("rx", h().state.radius) + }(i, e), "default" === e.type && e.descriptions.length > 0 && yn(i, e); + var a = i.node().getBBox(); + return r.width = a.width + 2 * h().state.padding, r.height = a.height + 2 * h().state.padding, gn(n, r), r + }, + _n = 0; + hn.parser.yy = ln; + var wn = {}, + xn = function(t) { + if (!t) return 1; + var e = t.replace(/<br\s*\/?>/gi, "#br#"); + return (e = e.replace(/\\n/g, "#br#")).split("#br#") + }, + kn = function t(e, n, r, i) { + var o, s = new T.a.Graph({ + compound: !0 + }), + u = !0; + for (o = 0; o < e.length; o++) + if ("relation" === e[o].stmt) { + u = !1; + break + } r ? s.setGraph({ + rankdir: "LR", + compound: !0, + ranker: "tight-tree", + ranksep: u ? 1 : tn.edgeLengthFactor, + nodeSep: u ? 1 : 50 + }) : s.setGraph({ + rankdir: "TB", + compound: !0, + ranksep: u ? 1 : tn.edgeLengthFactor, + nodeSep: u ? 1 : 50, + ranker: "tight-tree" + }), s.setDefaultEdgeLabel((function() { + return {} + })), ln.extract(e); + for (var c = ln.getStates(), f = ln.getRelations(), l = Object.keys(c), d = 0; d < l.length; d++) { + var p = c[l[d]]; + r && (p.parentId = r); + var g = void 0; + if (p.doc) { + var y = n.append("g").attr("id", p.id).attr("class", "stateGroup"); + g = t(p.doc, y, p.id, !i); + var b = (y = bn(y, p, i)).node().getBBox(); + g.width = b.width, g.height = b.height + tn.padding / 2, wn[p.id] = { + y: tn.compositTitleSize + } + } else g = mn(n, p); + if (p.note) { + var v = { + descriptions: [], + id: p.id + "-note", + note: p.note, + type: "note" + }, + m = mn(n, v); + "left of" === p.note.position ? (s.setNode(g.id + "-note", m), s.setNode(g.id, g)) : (s.setNode(g.id, g), s.setNode(g.id + "-note", m)), s.setParent(g.id, g.id + "-group"), s.setParent(g.id + "-note", g.id + "-group") + } else s.setNode(g.id, g) + } + _.info("Count=", s.nodeCount()), f.forEach((function(t) { + var e; + s.setEdge(t.id1, t.id2, { + relation: t, + width: (e = t.title, e ? e.length * tn.fontSizeFactor : 1), + height: tn.labelHeight * xn(t.title).length, + labelpos: "c" + }) + })), Ce.a.layout(s), _.debug("Graph after layout", s.nodes()); + var w = n.node(); + s.nodes().forEach((function(t) { + void 0 !== t && void 0 !== s.node(t) ? (_.warn("Node " + t + ": " + JSON.stringify(s.node(t))), a.select("#" + w.id + " #" + t).attr("transform", "translate(" + (s.node(t).x - s.node(t).width / 2) + "," + (s.node(t).y + (wn[t] ? wn[t].y : 0) - s.node(t).height / 2) + " )"), a.select("#" + w.id + " #" + t).attr("data-x-shift", s.node(t).x - s.node(t).width / 2), document.querySelectorAll("#" + w.id + " #" + t + " .divider").forEach((function(t) { + var e = t.parentElement, + n = 0, + r = 0; + e && (e.parentElement && (n = e.parentElement.getBBox().width), r = parseInt(e.getAttribute("data-x-shift"), 10), Number.isNaN(r) && (r = 0)), t.setAttribute("x1", 0 - r + 8), t.setAttribute("x2", n - r - 8) + }))) : _.debug("No Node " + t + ": " + JSON.stringify(s.node(t))) + })); + var x = w.getBBox(); + s.edges().forEach((function(t) { + void 0 !== t && void 0 !== s.edge(t) && (_.debug("Edge " + t.v + " -> " + t.w + ": " + JSON.stringify(s.edge(t))), function(t, e, n) { + e.points = e.points.filter((function(t) { + return !Number.isNaN(t.y) + })); + var r, i = e.points, + o = a.line().x((function(t) { + return t.x + })).y((function(t) { + return t.y + })).curve(a.curveBasis), + s = t.append("path").attr("d", o(i)).attr("id", "edge" + _n).attr("class", "transition"), + u = ""; + if (h().state.arrowMarkerAbsolute && (u = (u = (u = window.location.protocol + "//" + window.location.host + window.location.pathname + window.location.search).replace(/\(/g, "\\(")).replace(/\)/g, "\\)")), s.attr("marker-end", "url(" + u + "#" + function(t) { + switch (t) { + case ln.relationType.AGGREGATION: + return "aggregation"; + case ln.relationType.EXTENSION: + return "extension"; + case ln.relationType.COMPOSITION: + return "composition"; + case ln.relationType.DEPENDENCY: + return "dependency" + } + }(ln.relationType.DEPENDENCY) + "End)"), void 0 !== n.title) { + for (var c = t.append("g").attr("class", "stateLabel"), f = S.calcLabelPosition(e.points), l = f.x, d = f.y, p = (r = n.title, r.replace(/<br\s*\/?>/gi, "#br#").replace(/\\n/g, "#br#").split("#br#")), g = 0, y = [], b = 0; b <= p.length; b++) { + var v = c.append("text").attr("text-anchor", "middle").text(p[b]).attr("x", l).attr("y", d + g); + if (0 === g) { + var m = v.node().getBBox(); + g = m.height + } + y.push(v) + } + if (p.length > 1) { + var _ = p.length * g * .25; + y.forEach((function(t, e) { + return t.attr("y", d + e * g - _) + })) + } + var w = c.node().getBBox(); + c.insert("rect", ":first-child").attr("class", "box").attr("x", w.x - h().state.padding / 2).attr("y", w.y - h().state.padding / 2).attr("width", w.width + h().state.padding).attr("height", w.height + h().state.padding) + } + _n++ + }(n, s.edge(t), s.edge(t).relation)) + })), x = w.getBBox(); + var k = { + id: r || "root", + label: r || "root", + width: 0, + height: 0 + }; + return k.width = x.width + 2 * tn.padding, k.height = x.height + 2 * tn.padding, _.info("Doc rendered", k, s), k + }, + En = function() {}, + An = function(t, e) { + tn = h().state, hn.parser.yy.clear(), hn.parser.parse(t), _.debug("Rendering diagram " + t); + var n = a.select("[id='".concat(e, "']")); + n.append("defs").append("marker").attr("id", "dependencyEnd").attr("refX", 19).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 19,7 L9,13 L14,7 L9,1 Z"), new T.a.Graph({ + multigraph: !1, + compound: !0, + rankdir: "RL" + }).setDefaultEdgeLabel((function() { + return {} + })); + var r = ln.getRootDoc(); + kn(r, n, void 0, !1); + var i = tn.padding, + o = n.node().getBBox(), + s = o.width + 2 * i, + u = o.height + 2 * i; + n.attr("width", 1.75 * s), n.attr("viewBox", "".concat(o.x - tn.padding, " ").concat(o.y - tn.padding, " ") + s + " " + u) + }, + Sn = n(48), + Mn = n.n(Sn), + Tn = n(230), + Dn = n.n(Tn), + Cn = {}, + Nn = null, + In = { + master: Nn + }, + Ln = "master", + Bn = "LR", + On = 0; + + function Rn() { + return Dn()({ + length: 7, + characters: "0123456789abcdef" + }) + } + + function Pn(t, e) { + for (_.debug("Entering isfastforwardable:", t.id, e.id); t.seq <= e.seq && t !== e && null != e.parent;) { + if (Array.isArray(e.parent)) return _.debug("In merge commit:", e.parent), Pn(t, Cn[e.parent[0]]) || Pn(t, Cn[e.parent[1]]); + e = Cn[e.parent] + } + return _.debug(t.id, e.id), t.id === e.id + } + var Fn = {}; + + function qn(t, e, n) { + var r = t.indexOf(e); - 1 === r ? t.push(n) : t.splice(r, 1, n) + } + var jn, Un = function() { + var t = Object.keys(Cn).map((function(t) { + return Cn[t] + })); + return t.forEach((function(t) { + _.debug(t.id) + })), Mn.a.orderBy(t, ["seq"], ["desc"]) + }, + zn = { + setDirection: function(t) { + Bn = t + }, + setOptions: function(t) { + _.debug("options str", t), t = (t = t && t.trim()) || "{}"; + try { + Fn = JSON.parse(t) + } catch (t) { + _.error("error while parsing gitGraph options", t.message) + } + }, + getOptions: function() { + return Fn + }, + commit: function(t) { + var e = { + id: Rn(), + message: t, + seq: On++, + parent: null == Nn ? null : Nn.id + }; + Nn = e, Cn[e.id] = e, In[Ln] = e.id, _.debug("in pushCommit " + e.id) + }, + branch: function(t) { + In[t] = null != Nn ? Nn.id : null, _.debug("in createBranch") + }, + merge: function(t) { + var e = Cn[In[Ln]], + n = Cn[In[t]]; + if (function(t, e) { + return t.seq > e.seq && Pn(e, t) + }(e, n)) _.debug("Already merged"); + else { + if (Pn(e, n)) In[Ln] = In[t], Nn = Cn[In[Ln]]; + else { + var r = { + id: Rn(), + message: "merged branch " + t + " into " + Ln, + seq: On++, + parent: [null == Nn ? null : Nn.id, In[t]] + }; + Nn = r, Cn[r.id] = r, In[Ln] = r.id + } + _.debug(In), _.debug("in mergeBranch") + } + }, + checkout: function(t) { + _.debug("in checkout"); + var e = In[Ln = t]; + Nn = Cn[e] + }, + reset: function(t) { + _.debug("in reset", t); + var e = t.split(":")[0], + n = parseInt(t.split(":")[1]), + r = "HEAD" === e ? Nn : Cn[In[e]]; + for (_.debug(r, n); n > 0;) + if (n--, !(r = Cn[r.parent])) { + var i = "Critical error - unique parent commit not found during reset"; + throw _.error(i), i + } Nn = r, In[Ln] = r.id + }, + prettyPrint: function() { + _.debug(Cn), + function t(e) { + var n = Mn.a.maxBy(e, "seq"), + r = ""; + e.forEach((function(t) { + r += t === n ? "\t*" : "\t|" + })); + var i = [r, n.id, n.seq]; + for (var a in In) In[a] === n.id && i.push(a); + if (_.debug(i.join(" ")), Array.isArray(n.parent)) { + var o = Cn[n.parent[0]]; + qn(e, n, o), e.push(Cn[n.parent[1]]) + } else { + if (null == n.parent) return; + var s = Cn[n.parent]; + qn(e, n, s) + } + t(e = Mn.a.uniqBy(e, "id")) + }([Un()[0]]) + }, + clear: function() { + Cn = {}, In = { + master: Nn = null + }, Ln = "master", On = 0 + }, + getBranchesAsObjArray: function() { + var t = []; + for (var e in In) t.push({ + name: e, + commit: Cn[In[e]] + }); + return t + }, + getBranches: function() { + return In + }, + getCommits: function() { + return Cn + }, + getCommitsArray: Un, + getCurrentBranch: function() { + return Ln + }, + getDirection: function() { + return Bn + }, + getHead: function() { + return Nn + } + }, + Yn = n(85), + Vn = n.n(Yn), + Hn = {}, + Gn = { + nodeSpacing: 150, + nodeFillColor: "yellow", + nodeStrokeWidth: 2, + nodeStrokeColor: "grey", + lineStrokeWidth: 4, + branchOffset: 50, + lineColor: "grey", + leftMargin: 50, + branchColors: ["#442f74", "#983351", "#609732", "#AA9A39"], + nodeRadius: 10, + nodeLabel: { + width: 75, + height: 100, + x: -25, + y: 0 + } + }, + $n = {}; + + function Wn(t, e, n, r) { + var i = E(r, a.curveBasis), + o = Gn.branchColors[n % Gn.branchColors.length], + s = a.line().x((function(t) { + return Math.round(t.x) + })).y((function(t) { + return Math.round(t.y) + })).curve(i); + t.append("svg:path").attr("d", s(e)).style("stroke", o).style("stroke-width", Gn.lineStrokeWidth).style("fill", "none") + } + + function Kn(t, e) { + e = e || t.node().getBBox(); + var n = t.node().getCTM(); + return { + left: n.e + e.x * n.a, + top: n.f + e.y * n.d, + width: e.width, + height: e.height + } + } + + function Xn(t, e, n, r, i) { + _.debug("svgDrawLineForCommits: ", e, n); + var a = Kn(t.select("#node-" + e + " circle")), + o = Kn(t.select("#node-" + n + " circle")); + switch (r) { + case "LR": + if (a.left - o.left > Gn.nodeSpacing) { + var s = { + x: a.left - Gn.nodeSpacing, + y: o.top + o.height / 2 + }; + Wn(t, [s, { + x: o.left + o.width, + y: o.top + o.height / 2 + }], i, "linear"), Wn(t, [{ + x: a.left, + y: a.top + a.height / 2 + }, { + x: a.left - Gn.nodeSpacing / 2, + y: a.top + a.height / 2 + }, { + x: a.left - Gn.nodeSpacing / 2, + y: s.y + }, s], i) + } else Wn(t, [{ + x: a.left, + y: a.top + a.height / 2 + }, { + x: a.left - Gn.nodeSpacing / 2, + y: a.top + a.height / 2 + }, { + x: a.left - Gn.nodeSpacing / 2, + y: o.top + o.height / 2 + }, { + x: o.left + o.width, + y: o.top + o.height / 2 + }], i); + break; + case "BT": + if (o.top - a.top > Gn.nodeSpacing) { + var u = { + x: o.left + o.width / 2, + y: a.top + a.height + Gn.nodeSpacing + }; + Wn(t, [u, { + x: o.left + o.width / 2, + y: o.top + }], i, "linear"), Wn(t, [{ + x: a.left + a.width / 2, + y: a.top + a.height + }, { + x: a.left + a.width / 2, + y: a.top + a.height + Gn.nodeSpacing / 2 + }, { + x: o.left + o.width / 2, + y: u.y - Gn.nodeSpacing / 2 + }, u], i) + } else Wn(t, [{ + x: a.left + a.width / 2, + y: a.top + a.height + }, { + x: a.left + a.width / 2, + y: a.top + Gn.nodeSpacing / 2 + }, { + x: o.left + o.width / 2, + y: o.top - Gn.nodeSpacing / 2 + }, { + x: o.left + o.width / 2, + y: o.top + }], i) + } + } + + function Zn(t, e) { + return t.select(e).node().cloneNode(!0) + } + + function Jn(t, e, n, r) { + var i, a = Object.keys(Hn).length; + if ("string" == typeof e) + do { + if (i = Hn[e], _.debug("in renderCommitHistory", i.id, i.seq), t.select("#node-" + e).size() > 0) return; + t.append((function() { + return Zn(t, "#def-commit") + })).attr("class", "commit").attr("id", (function() { + return "node-" + i.id + })).attr("transform", (function() { + switch (r) { + case "LR": + return "translate(" + (i.seq * Gn.nodeSpacing + Gn.leftMargin) + ", " + jn * Gn.branchOffset + ")"; + case "BT": + return "translate(" + (jn * Gn.branchOffset + Gn.leftMargin) + ", " + (a - i.seq) * Gn.nodeSpacing + ")" + } + })).attr("fill", Gn.nodeFillColor).attr("stroke", Gn.nodeStrokeColor).attr("stroke-width", Gn.nodeStrokeWidth); + var o = void 0; + for (var s in n) + if (n[s].commit === i) { + o = n[s]; + break + } o && (_.debug("found branch ", o.name), t.select("#node-" + i.id + " p").append("xhtml:span").attr("class", "branch-label").text(o.name + ", ")), t.select("#node-" + i.id + " p").append("xhtml:span").attr("class", "commit-id").text(i.id), "" !== i.message && "BT" === r && t.select("#node-" + i.id + " p").append("xhtml:span").attr("class", "commit-msg").text(", " + i.message), e = i.parent + } while (e && Hn[e]); + Array.isArray(e) && (_.debug("found merge commmit", e), Jn(t, e[0], n, r), jn++, Jn(t, e[1], n, r), jn--) + } + + function Qn(t, e, n, r) { + for (r = r || 0; e.seq > 0 && !e.lineDrawn;) "string" == typeof e.parent ? (Xn(t, e.id, e.parent, n, r), e.lineDrawn = !0, e = Hn[e.parent]) : Array.isArray(e.parent) && (Xn(t, e.id, e.parent[0], n, r), Xn(t, e.id, e.parent[1], n, r + 1), Qn(t, Hn[e.parent[1]], n, r + 1), e.lineDrawn = !0, e = Hn[e.parent[0]]) + } + var tr, er = function(t) { + $n = t + }, + nr = function(t, e, n) { + try { + var r = Vn.a.parser; + r.yy = zn, r.yy.clear(), _.debug("in gitgraph renderer", t + "\n", "id:", e, n), r.parse(t + "\n"), Gn = Mn.a.assign(Gn, $n, zn.getOptions()), _.debug("effective options", Gn); + var i = zn.getDirection(); + Hn = zn.getCommits(); + var o = zn.getBranchesAsObjArray(); + "BT" === i && (Gn.nodeLabel.x = o.length * Gn.branchOffset, Gn.nodeLabel.width = "100%", Gn.nodeLabel.y = -2 * Gn.nodeRadius); + var s = a.select('[id="'.concat(e, '"]')); + for (var u in function(t) { + t.append("defs").append("g").attr("id", "def-commit").append("circle").attr("r", Gn.nodeRadius).attr("cx", 0).attr("cy", 0), t.select("#def-commit").append("foreignObject").attr("width", Gn.nodeLabel.width).attr("height", Gn.nodeLabel.height).attr("x", Gn.nodeLabel.x).attr("y", Gn.nodeLabel.y).attr("class", "node-label").attr("requiredFeatures", "http://www.w3.org/TR/SVG11/feature#Extensibility").append("p").html("") + }(s), jn = 1, o) { + var c = o[u]; + Jn(s, c.commit.id, o, i), Qn(s, c.commit, i), jn++ + } + s.attr("height", (function() { + return "BT" === i ? Object.keys(Hn).length * Gn.nodeSpacing : (o.length + 1) * Gn.branchOffset + })) + } catch (t) { + _.error("Error while rendering gitgraph"), _.error(t.message) + } + }, + rr = "", + ir = !1, + ar = { + setMessage: function(t) { + _.debug("Setting message to: " + t), rr = t + }, + getMessage: function() { + return rr + }, + setInfo: function(t) { + ir = t + }, + getInfo: function() { + return ir + } + }, + or = n(86), + sr = n.n(or), + ur = {}, + cr = function(t) { + Object.keys(t).forEach((function(e) { + ur[e] = t[e] + })) + }, + fr = function(t, e, n) { + try { + var r = sr.a.parser; + r.yy = ar, _.debug("Renering info diagram\n" + t), r.parse(t), _.debug("Parsed info diagram"); + var i = a.select("#" + e); + i.append("g").append("text").attr("x", 100).attr("y", 40).attr("class", "version").attr("font-size", "32px").style("text-anchor", "middle").text("v " + n), i.attr("height", 100), i.attr("width", 400) + } catch (t) { + _.error("Error while rendering info diagram"), _.error(t.message) + } + }, + lr = {}, + hr = "", + dr = { + addSection: function(t, e) { + void 0 === lr[t] && (lr[t] = e, _.debug("Added new section :", t)) + }, + getSections: function() { + return lr + }, + cleanupValue: function(t) { + return ":" === t.substring(0, 1) ? (t = t.substring(1).trim(), Number(t.trim())) : Number(t.trim()) + }, + clear: function() { + lr = {}, hr = "" + }, + setTitle: function(t) { + hr = t + }, + getTitle: function() { + return hr + } + }, + pr = n(87), + gr = n.n(pr), + yr = {}, + br = function(t) { + Object.keys(t).forEach((function(e) { + yr[e] = t[e] + })) + }, + vr = function(t, e) { + try { + var n = gr.a.parser; + n.yy = dr, _.debug("Rendering info diagram\n" + t), n.yy.clear(), n.parse(t), _.debug("Parsed info diagram"); + var r = document.getElementById(e); + void 0 === (tr = r.parentElement.offsetWidth) && (tr = 1200), void 0 !== yr.useWidth && (tr = yr.useWidth); + r.setAttribute("height", "100%"), r.setAttribute("viewBox", "0 0 " + tr + " 450"); + var i = tr, + o = Math.min(i, 450) / 2 - 40, + s = a.select("#" + e).append("svg").attr("width", i).attr("height", 450).append("g").attr("transform", "translate(" + i / 2 + ",225)"), + u = dr.getSections(), + c = 0; + Object.keys(u).forEach((function(t) { + c += u[t] + })), _.info(u); + var f = a.scaleOrdinal().domain(u).range(a.schemeSet2), + l = a.pie().value((function(t) { + return t.value + }))(a.entries(u)), + h = a.arc().innerRadius(0).outerRadius(o); + s.selectAll("mySlices").data(l).enter().append("path").attr("d", h).attr("fill", (function(t) { + return f(t.data.key) + })).attr("stroke", "black").style("stroke-width", "2px").style("opacity", .7), s.selectAll("mySlices").data(l).enter().append("text").text((function(t) { + return (t.data.value / c * 100).toFixed(0) + "%" + })).attr("transform", (function(t) { + return "translate(" + h.centroid(t) + ")" + })).style("text-anchor", "middle").attr("class", "slice").style("font-size", 17), s.append("text").text(n.yy.getTitle()).attr("x", 0).attr("y", -200).attr("class", "pieTitleText"); + var d = s.selectAll(".legend").data(f.domain()).enter().append("g").attr("class", "legend").attr("transform", (function(t, e) { + return "translate(216," + (22 * e - 22 * f.domain().length / 2) + ")" + })); + d.append("rect").attr("width", 18).attr("height", 18).style("fill", f).style("stroke", f), d.append("text").attr("x", 22).attr("y", 14).text((function(t) { + return t + })) + } catch (t) { + _.error("Error while rendering info diagram"), _.error(t.message) + } + }; + + function mr(t) { + return (mr = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) { + return typeof t + } : function(t) { + return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t + })(t) + } + for (var _r = {}, wr = 0, xr = ["default", "forest", "dark", "neutral"]; wr < xr.length; wr++) { + var kr = xr[wr]; + _r[kr] = n(500)("./".concat(kr, "/index.scss")) + } + var Er = { + theme: "default", + themeCSS: void 0, + fontFamily: '"trebuchet ms", verdana, arial;', + logLevel: 5, + securityLevel: "strict", + startOnLoad: !0, + arrowMarkerAbsolute: !1, + flowchart: { + htmlLabels: !0, + nodeSpacing: 50, + rankSpacing: 50, + curve: "linear" + }, + sequence: { + diagramMarginX: 50, + diagramMarginY: 10, + actorMargin: 50, + width: 150, + height: 65, + boxMargin: 10, + boxTextMargin: 5, + noteMargin: 10, + messageMargin: 35, + mirrorActors: !0, + bottomMarginAdj: 1, + useMaxWidth: !0, + rightAngles: !1, + showSequenceNumbers: !1 + }, + gantt: { + titleTopMargin: 25, + barHeight: 20, + barGap: 4, + topPadding: 50, + leftPadding: 75, + gridLineStartPadding: 35, + fontSize: 11, + fontFamily: '"Open-Sans", "sans-serif"', + numberSectionStyles: 4, + axisFormat: "%Y-%m-%d" + }, + class: {}, + git: {}, + state: { + dividerMargin: 10, + sizeUnit: 5, + padding: 8, + textHeight: 10, + titleShift: -15, + noteMargin: 10, + forkWidth: 70, + forkHeight: 7, + miniPadding: 2, + fontSizeFactor: 5.02, + fontSize: 24, + labelHeight: 16, + edgeLengthFactor: "20", + compositTitleSize: 35, + radius: 5 + } + }; + w(Er.logLevel), l(Er); + var Ar = function(t) { + for (var e = Object.keys(t), n = 0; n < e.length; n++) + if ("object" === mr(t[e[n]]) && null != t[e[n]]) + for (var r = Object.keys(t[e[n]]), i = 0; i < r.length; i++) _.debug("Setting conf ", e[n], "-", r[i]), void 0 === Er[e[n]] && (Er[e[n]] = {}), _.debug("Setting config: " + e[n] + " " + r[i] + " to " + t[e[n]][r[i]]), Er[e[n]][r[i]] = t[e[n]][r[i]]; + else Er[e[n]] = t[e[n]] + }; + var Sr = { + render: function(t, e, n, r) { + if (void 0 !== r) r.innerHTML = "", a.select(r).append("div").attr("id", "d" + t).attr("style", "font-family: " + Er.fontFamily).append("svg").attr("id", t).attr("width", "100%").attr("xmlns", "http://www.w3.org/2000/svg").append("g"); + else { + var i = document.getElementById(t); + i && i.remove(); + var o = document.querySelector("#d" + t); + o && (o.innerHTML = ""), a.select("body").append("div").attr("id", "d" + t).append("svg").attr("id", t).attr("width", "100%").attr("xmlns", "http://www.w3.org/2000/svg").append("g") + } + window.txt = e, e = function(t) { + var e = t; + return e = (e = (e = e.replace(/style.*:\S*#.*;/g, (function(t) { + return t.substring(0, t.length - 1) + }))).replace(/classDef.*:\S*#.*;/g, (function(t) { + return t.substring(0, t.length - 1) + }))).replace(/#\w+;/g, (function(t) { + var e = t.substring(1, t.length - 1); + return /^\+?\d+$/.test(e) ? "fl°°" + e + "¶ß" : "fl°" + e + "¶ß" + })) + }(e); + var c = a.select("#d" + t).node(), + f = S.detectType(e), + l = c.firstChild, + h = l.firstChild, + d = _r[Er.theme]; + if (void 0 === d && (d = ""), void 0 !== Er.themeCSS && (d += "\n".concat(Er.themeCSS)), void 0 !== Er.fontFamily && (d += "\n:root { --mermaid-font-family: ".concat(Er.fontFamily, "}")), void 0 !== Er.altFontFamily && (d += "\n:root { --mermaid-alt-font-family: ".concat(Er.altFontFamily, "}")), "flowchart" === f) { + var p = bt(e); + for (var g in p) d += "\n.".concat(g, " > * { ").concat(p[g].styles.join(" !important; "), " !important; }") + } + var y = document.createElement("style"); + y.innerHTML = s()(d, "#".concat(t)), l.insertBefore(y, h); + var b = document.createElement("style"), + v = window.getComputedStyle(l); + switch (b.innerHTML = "#".concat(t, " {\n color: ").concat(v.color, ";\n font: ").concat(v.font, ";\n }"), l.insertBefore(b, h), f) { + case "git": + Er.flowchart.arrowMarkerAbsolute = Er.arrowMarkerAbsolute, er(Er.git), nr(e, t, !1); + break; + case "flowchart": + Er.flowchart.arrowMarkerAbsolute = Er.arrowMarkerAbsolute, yt(Er.flowchart), vt(e, t, !1); + break; + case "sequence": + Er.sequence.arrowMarkerAbsolute = Er.arrowMarkerAbsolute, Er.sequenceDiagram ? (Ht(Object.assign(Er.sequence, Er.sequenceDiagram)), console.error("`mermaid config.sequenceDiagram` has been renamed to `config.sequence`. Please update your mermaid config.")) : Ht(Er.sequence), Gt(e, t); + break; + case "gantt": + Er.gantt.arrowMarkerAbsolute = Er.arrowMarkerAbsolute, Me(Er.gantt), Te(e, t); + break; + case "class": + Er.class.arrowMarkerAbsolute = Er.arrowMarkerAbsolute, Ze(Er.class), Je(e, t); + break; + case "state": + En(Er.state), An(e, t); + break; + case "info": + Er.class.arrowMarkerAbsolute = Er.arrowMarkerAbsolute, cr(Er.class), fr(e, t, u.version); + break; + case "pie": + Er.class.arrowMarkerAbsolute = Er.arrowMarkerAbsolute, br(Er.class), vr(e, t, u.version) + } + a.select('[id="'.concat(t, '"]')).selectAll("foreignobject > *").attr("xmlns", "http://www.w3.org/1999/xhtml"); + var m = a.select("#d" + t).node().innerHTML; + if (Er.arrowMarkerAbsolute && "false" !== Er.arrowMarkerAbsolute || (m = m.replace(/marker-end="url\(.*?#/g, 'marker-end="url(#', "g")), m = function(t) { + var e = t; + return e = (e = (e = e.replace(/fl°°/g, (function() { + return "&#" + }))).replace(/fl°/g, (function() { + return "&" + }))).replace(/¶ß/g, (function() { + return ";" + })) + }(m), void 0 !== n) switch (f) { + case "flowchart": + n(m, W.bindFunctions); + break; + case "gantt": + n(m, ke.bindFunctions); + break; + case "class": + n(m, Ye.bindFunctions); + break; + default: + n(m) + } else _.debug("CB = undefined!"); + var w = a.select("#d" + t).node(); + return null !== w && "function" == typeof w.remove && a.select("#d" + t).node().remove(), m + }, + parse: function(t) { + var e, n = S.detectType(t); + switch (_.debug("Type " + n), n) { + case "git": + (e = Vn.a).parser.yy = zn; + break; + case "flowchart": + W.clear(), (e = X.a).parser.yy = W; + break; + case "sequence": + (e = Tt.a).parser.yy = Ft; + break; + case "gantt": + (e = Wt.a).parser.yy = ke; + break; + case "class": + (e = He.a).parser.yy = Ye; + break; + case "state": + (e = dn.a).parser.yy = ln; + break; + case "info": + _.debug("info info info"), (e = sr.a).parser.yy = ar; + break; + case "pie": + _.debug("pie"), (e = gr.a).parser.yy = dr + } + e.parser.yy.parseError = function(t, e) { + throw { + str: t, + hash: e + } + }, e.parse(t) + }, + initialize: function(t) { + _.debug("Initializing mermaidAPI ", u.version), "object" === mr(t) && Ar(t), l(Er), w(Er.logLevel) + }, + getConfig: h + }, + Mr = function() { + Tr.startOnLoad ? Sr.getConfig().startOnLoad && Tr.init() : void 0 === Tr.startOnLoad && (_.debug("In start, no config"), Sr.getConfig().startOnLoad && Tr.init()) + }; + "undefined" != typeof document && + /*! + * Wait for document loaded before starting the execution + */ + window.addEventListener("load", (function() { + Mr() + }), !1); + var Tr = { + startOnLoad: !0, + htmlLabels: !0, + mermaidAPI: Sr, + parse: Sr.parse, + render: Sr.render, + init: function() { + var t, e, n, r = Sr.getConfig(); + _.debug("Starting rendering diagrams"), arguments.length >= 2 ? ( + /*! sequence config was passed as #1 */ + void 0 !== arguments[0] && (Tr.sequenceConfig = arguments[0]), t = arguments[1]) : t = arguments[0], "function" == typeof arguments[arguments.length - 1] ? (e = arguments[arguments.length - 1], _.debug("Callback function found")) : void 0 !== r.mermaid && ("function" == typeof r.mermaid.callback ? (e = r.mermaid.callback, _.debug("Callback function found")) : _.debug("No Callback function found")), t = void 0 === t ? document.querySelectorAll(".mermaid") : "string" == typeof t ? document.querySelectorAll(t) : t instanceof window.Node ? [t] : t, _.debug("Start On Load before: " + Tr.startOnLoad), void 0 !== Tr.startOnLoad && (_.debug("Start On Load inner: " + Tr.startOnLoad), Sr.initialize({ + startOnLoad: Tr.startOnLoad + })), void 0 !== Tr.ganttConfig && Sr.initialize({ + gantt: Tr.ganttConfig + }); + for (var a = function(r) { + var a = t[r]; + /*! Check if previously processed */ + if (a.getAttribute("data-processed")) return "continue"; + a.setAttribute("data-processed", !0); + var o = "mermaid-".concat(Date.now()); + n = a.innerHTML, n = i.a.decode(n).trim().replace(/<br\s*\/?>/gi, "<br/>"), Sr.render(o, n, (function(t, n) { + a.innerHTML = t, void 0 !== e && e(o), n && n(a) + }), a) + }, o = 0; o < t.length; o++) a(o) + }, + initialize: function(t) { + void 0 !== t.mermaid && (void 0 !== t.mermaid.startOnLoad && (Tr.startOnLoad = t.mermaid.startOnLoad), void 0 !== t.mermaid.htmlLabels && (Tr.htmlLabels = t.mermaid.htmlLabels)), Sr.initialize(t), _.debug("Initializing mermaid ") + }, + contentLoaded: Mr + }; + e.default = Tr + }]).default +})); +//# sourceMappingURL=mermaid.min.js.map diff --git a/assets/js/presentation-export.js b/assets/js/presentation-export.js new file mode 100644 index 0000000000000000000000000000000000000000..e71d1d080c91dc6ac3e714628a7f0885a87b28dc --- /dev/null +++ b/assets/js/presentation-export.js @@ -0,0 +1,87 @@ +(function () { + let status = 0; // 0 = no canvas generated, 1 = processing, 2 = done + let canvases = []; + + window.addEventListener("load", function () { + initBtn(); + }); + + function initBtn() { + let btn = document.createElement("button"); + btn.id = "export-btn"; + btn.textContent = "PDF"; + + btn.style.position = "fixed"; + btn.style.top = "10px"; + btn.style.zIndex = "9999"; + btn.style.right = "10px"; + + document.body.appendChild(btn); + + btn.addEventListener("click", exportBtnClick); + } + + function exportBtnClick() { + if (status == 0) { + makeExport(); + } + if (status == 2) { + let win = window.open(); + let title = document.createElement("title"); + title.textContent = "CSE 340 Presentation Export"; + let style = document.createElement("style"); + style.textContent = ` + * { + margin: 0; + } + canvas { + width: 100%; + height: auto !important; + max-width: 100vw; + } + `; + win.document.head.appendChild(title); + win.document.head.appendChild(style); + for (let i = 0; i < canvases.length; i++) { + let canvas = canvases[i]; + win.document.body.appendChild(canvas); + } + } + } + + function makeExport() { + let slides = document.querySelectorAll(".remark-slide"); + canvases = new Array(slideshow.getSlideCount()); + + status = 1; + document.getElementById("export-btn").textContent = "Generating... please wait! (" + canvases.length + " left)"; + document.getElementById("export-btn").disabled = true; + + captureNextSlide(slides, 0); + } + + function captureNextSlide(slides, idx) { + let empties = canvases.length - canvases.filter(String).length; + if (empties == 0) { + status = 2; + document.getElementById("export-btn").disabled = false; + document.getElementById("export-btn").textContent = "Export complete! Click to open."; + } else { + document.getElementById("export-btn").textContent = "Generating... please wait! (" + empties + " left)"; + let slide = slides[idx]; + + slideshow.gotoSlide(idx + 1); + + let oldTransform = slide.parentElement.style.transform; + slide.parentElement.style.transform = "scale(1)"; + + setTimeout(function () { + html2canvas(slide).then(function(canvas) { + canvases[idx] = canvas; + slide.parentElement.style.transform = oldTransform; + captureNextSlide(slides, idx + 1); + }); + }, 50); + } + } +})(); \ No newline at end of file diff --git a/assets/js/remark-latest.min.js b/assets/js/remark-latest.min.js new file mode 100644 index 0000000000000000000000000000000000000000..bcdbcf7af642c3cdb5bef12804bb3dd5a0759832 --- /dev/null +++ b/assets/js/remark-latest.min.js @@ -0,0 +1,31 @@ +require=function(){function e(t,a,r){function i(n,o){if(!a[n]){if(!t[n]){var l="function"==typeof require&&require;if(!o&&l)return l(n,!0);if(s)return s(n,!0);var c=new Error("Cannot find module '"+n+"'");throw c.code="MODULE_NOT_FOUND",c}var d=a[n]={exports:{}};t[n][0].call(d.exports,function(e){return i(t[n][1][e]||e)},d,d.exports,e,t,a,r)}return a[n].exports}for(var s="function"==typeof require&&require,n=0;n<r.length;n++)i(r[n]);return i}return e}()({1:[function(e,t,a){function r(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function i(e){return"function"==typeof e}function s(e){return"number"==typeof e}function n(e){return"object"==typeof e&&null!==e}function o(e){return void 0===e}t.exports=r,r.EventEmitter=r,r.prototype._events=void 0,r.prototype._maxListeners=void 0,r.defaultMaxListeners=10,r.prototype.setMaxListeners=function(e){if(!s(e)||e<0||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},r.prototype.emit=function(e){var t,a,r,s,l,c;if(this._events||(this._events={}),"error"===e&&(!this._events.error||n(this._events.error)&&!this._events.error.length)){if((t=arguments[1])instanceof Error)throw t;var d=new Error('Uncaught, unspecified "error" event. ('+t+")");throw d.context=t,d}if(a=this._events[e],o(a))return!1;if(i(a))switch(arguments.length){case 1:a.call(this);break;case 2:a.call(this,arguments[1]);break;case 3:a.call(this,arguments[1],arguments[2]);break;default:s=Array.prototype.slice.call(arguments,1),a.apply(this,s)}else if(n(a))for(s=Array.prototype.slice.call(arguments,1),c=a.slice(),r=c.length,l=0;l<r;l++)c[l].apply(this,s);return!0},r.prototype.addListener=function(e,t){var a;if(!i(t))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",e,i(t.listener)?t.listener:t),this._events[e]?n(this._events[e])?this._events[e].push(t):this._events[e]=[this._events[e],t]:this._events[e]=t,n(this._events[e])&&!this._events[e].warned&&(a=o(this._maxListeners)?r.defaultMaxListeners:this._maxListeners)&&a>0&&this._events[e].length>a&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},r.prototype.on=r.prototype.addListener,r.prototype.once=function(e,t){function a(){this.removeListener(e,a),r||(r=!0,t.apply(this,arguments))}if(!i(t))throw TypeError("listener must be a function");var r=!1;return a.listener=t,this.on(e,a),this},r.prototype.removeListener=function(e,t){var a,r,s,o;if(!i(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(a=this._events[e],s=a.length,r=-1,a===t||i(a.listener)&&a.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(n(a)){for(o=s;o-- >0;)if(a[o]===t||a[o].listener&&a[o].listener===t){r=o;break}if(r<0)return this;1===a.length?(a.length=0,delete this._events[e]):a.splice(r,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},r.prototype.removeAllListeners=function(e){var t,a;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(a=this._events[e],i(a))this.removeListener(e,a);else if(a)for(;a.length;)this.removeListener(e,a[a.length-1]);return delete this._events[e],this},r.prototype.listeners=function(e){return this._events&&this._events[e]?i(this._events[e])?[this._events[e]]:this._events[e].slice():[]},r.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(i(t))return 1;if(t)return t.length}return 0},r.listenerCount=function(e,t){return e.listenerCount(t)}},{}],2:[function(e,t,a){"use strict";var r=Object.prototype.hasOwnProperty,i=Object.prototype.toString,s=Object.defineProperty,n=Object.getOwnPropertyDescriptor,o=function(e){return"function"==typeof Array.isArray?Array.isArray(e):"[object Array]"===i.call(e)},l=function(e){if(!e||"[object Object]"!==i.call(e))return!1;var t=r.call(e,"constructor"),a=e.constructor&&e.constructor.prototype&&r.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!t&&!a)return!1;var s;for(s in e);return void 0===s||r.call(e,s)},c=function(e,t){s&&"__proto__"===t.name?s(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},d=function(e,t){if("__proto__"===t){if(!r.call(e,t))return;if(n)return n(e,t).value}return e[t]};t.exports=function e(){var t,a,r,i,s,n,_=arguments[0],m=1,u=arguments.length,p=!1;for("boolean"==typeof _&&(p=_,_=arguments[1]||{},m=2),(null==_||"object"!=typeof _&&"function"!=typeof _)&&(_={});m<u;++m)if(null!=(t=arguments[m]))for(a in t)r=d(_,a),i=d(t,a),_!==i&&(p&&i&&(l(i)||(s=o(i)))?(s?(s=!1,n=r&&o(r)?r:[]):n=r&&l(r)?r:{},c(_,{name:a,newValue:e(p,n,i)})):void 0!==i&&c(_,{name:a,newValue:i}));return _}},{}],3:[function(e,t,a){(function(e){(function(){function e(e){this.tokens=[],this.tokens.links={},this.options=e||m.defaults,this.rules=u.normal,this.options.gfm&&(this.options.tables?this.rules=u.tables:this.rules=u.gfm)}function r(e,t){if(this.options=t||m.defaults,this.links=e,this.rules=p.normal,this.renderer=this.options.renderer||new i,this.renderer.options=this.options,!this.links)throw new Error("Tokens array requires a `links` property.");this.options.gfm?this.options.breaks?this.rules=p.breaks:this.rules=p.gfm:this.options.pedantic&&(this.rules=p.pedantic)}function i(e){this.options=e||{}}function s(e){this.tokens=[],this.token=null,this.options=e||m.defaults,this.options.renderer=this.options.renderer||new i,this.renderer=this.options.renderer,this.renderer.options=this.options}function n(e,t){return e.replace(t?/&/g:/&(?!#?\w+;)/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function o(e){return e.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,function(e,t){return t=t.toLowerCase(),"colon"===t?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""})}function l(e,t){return e=e.source,t=t||"",function a(r,i){return r?(i=i.source||i,i=i.replace(/(^|[^\[])\^/g,"$1"),e=e.replace(r,i),a):new RegExp(e,t)}}function c(e,t){return baseUrls[" "+e]||(/^[^:]+:\/*[^/]*$/.test(e)?baseUrls[" "+e]=e+"/":baseUrls[" "+e]=e.replace(/[^/]*$/,"")),e=baseUrls[" "+e],"//"===t.slice(0,2)?e.replace(/:[^]*/,":")+t:"/"===t.charAt(0)?e.replace(/(:\/*[^/]*)[^]*/,"$1")+t:e+t}function d(){}function _(e){for(var t,a,r=1;r<arguments.length;r++){t=arguments[r];for(a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e}function m(t,a,r){if(r||"function"==typeof a){r||(r=a,a=null),a=_({},m.defaults,a||{});var i,o,l=a.highlight,c=0;try{i=e.lex(t,a)}catch(e){return r(e)}o=i.length;var d=function(e){if(e)return a.highlight=l,r(e);var t;try{t=s.parse(i,a)}catch(t){e=t}return a.highlight=l,e?r(e):r(null,t)};if(!l||l.length<3)return d();if(delete a.highlight,!o)return d();for(;c<i.length;c++)!function(e){"code"!==e.type?--o||d():l(e.text,e.lang,function(t,a){return t?d(t):null==a||a===e.text?--o||d():(e.text=a,e.escaped=!0,void(--o||d()))})}(i[c])}else try{return a&&(a=_({},m.defaults,a)),s.parse(e.lex(t,a),a)}catch(e){if(e.message+="\nPlease report this to https://github.com/chjj/marked.",(a||m.defaults).silent)return"<p>An error occured:</p><pre>"+n(e.message+"",!0)+"</pre>";throw e}}var u={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:d,hr:/^( *[-*_]){3,} *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,nptable:d,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,blockquote:/^( *>[^\n]+(\n(?!def)[^\n]+)*\n*)+/,list:/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/,def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,table:d,paragraph:/^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,text:/^[^\n]+/};u.bullet=/(?:[*+-]|\d+\.)/,u.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,u.item=l(u.item,"gm")(/bull/g,u.bullet)(),u.list=l(u.list)(/bull/g,u.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+u.def.source+")")(),u._tag="(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|[^\\w\\s@]*@)\\b",u.html=l(u.html)("comment",/<!--[\s\S]*?-->/)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/<tag(?:"[^"]*"|'[^']*'|[^'">])*?>/)(/tag/g,u._tag)(),u.paragraph=l(u.paragraph)("hr",u.hr)("heading",u.heading)("lheading",u.lheading)("blockquote",u.blockquote)("tag","<"+u._tag)("def",u.def)(),u.normal=_({},u),u.gfm=_({},u.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),u.gfm.paragraph=l(u.paragraph)("(?!","(?!"+u.gfm.fences.source.replace("\\1","\\2")+"|"+u.list.source.replace("\\1","\\3")+"|")(),u.tables=_({},u.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),e.rules=u,e.lex=function(t,a){return new e(a).lex(t)},e.prototype.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(e,!0)},e.prototype.token=function(e,t,a){for(var r,i,s,n,o,l,c,d,_,e=e.replace(/^ +$/gm,"");e;)if((s=this.rules.newline.exec(e))&&(e=e.substring(s[0].length),s[0].length>1&&this.tokens.push({type:"space"})),s=this.rules.code.exec(e))e=e.substring(s[0].length),s=s[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",text:this.options.pedantic?s:s.replace(/\n+$/,"")});else if(s=this.rules.fences.exec(e))e=e.substring(s[0].length),this.tokens.push({type:"code",lang:s[2],text:s[3]||""});else if(s=this.rules.heading.exec(e))e=e.substring(s[0].length),this.tokens.push({type:"heading",depth:s[1].length,text:s[2]});else if(t&&(s=this.rules.nptable.exec(e))){for(e=e.substring(s[0].length),l={type:"table",header:s[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:s[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:s[3].replace(/\n$/,"").split("\n")},d=0;d<l.align.length;d++)/^ *-+: *$/.test(l.align[d])?l.align[d]="right":/^ *:-+: *$/.test(l.align[d])?l.align[d]="center":/^ *:-+ *$/.test(l.align[d])?l.align[d]="left":l.align[d]=null;for(d=0;d<l.cells.length;d++)l.cells[d]=l.cells[d].split(/ *\| */);this.tokens.push(l)}else if(s=this.rules.lheading.exec(e))e=e.substring(s[0].length),this.tokens.push({type:"heading",depth:"="===s[2]?1:2,text:s[1]});else if(s=this.rules.hr.exec(e))e=e.substring(s[0].length),this.tokens.push({type:"hr"});else if(s=this.rules.blockquote.exec(e))e=e.substring(s[0].length),this.tokens.push({type:"blockquote_start"}),s=s[0].replace(/^ *> ?/gm,""),this.token(s,t,!0),this.tokens.push({type:"blockquote_end"});else if(s=this.rules.list.exec(e)){for(e=e.substring(s[0].length),n=s[2],this.tokens.push({type:"list_start",ordered:n.length>1}),s=s[0].match(this.rules.item),r=!1,_=s.length,d=0;d<_;d++)l=s[d],c=l.length,l=l.replace(/^ *([*+-]|\d+\.) +/,""),~l.indexOf("\n ")&&(c-=l.length,l=this.options.pedantic?l.replace(/^ {1,4}/gm,""):l.replace(new RegExp("^ {1,"+c+"}","gm"),"")),this.options.smartLists&&d!==_-1&&(o=u.bullet.exec(s[d+1])[0],n===o||n.length>1&&o.length>1||(e=s.slice(d+1).join("\n")+e,d=_-1)),i=r||/\n\n(?!\s*$)/.test(l),d!==_-1&&(r="\n"===l.charAt(l.length-1),i||(i=r)),this.tokens.push({type:i?"loose_item_start":"list_item_start"}),this.token(l,!1,a),this.tokens.push({type:"list_item_end"});this.tokens.push({type:"list_end"})}else if(s=this.rules.html.exec(e))e=e.substring(s[0].length),this.tokens.push({type:this.options.sanitize?"paragraph":"html",pre:!this.options.sanitizer&&("pre"===s[1]||"script"===s[1]||"style"===s[1]),text:s[0]});else if(!a&&t&&(s=this.rules.def.exec(e)))e=e.substring(s[0].length),this.tokens.links[s[1].toLowerCase()]={href:s[2],title:s[3]};else if(t&&(s=this.rules.table.exec(e))){for(e=e.substring(s[0].length),l={type:"table",header:s[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:s[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:s[3].replace(/(?: *\| *)?\n$/,"").split("\n")},d=0;d<l.align.length;d++)/^ *-+: *$/.test(l.align[d])?l.align[d]="right":/^ *:-+: *$/.test(l.align[d])?l.align[d]="center":/^ *:-+ *$/.test(l.align[d])?l.align[d]="left":l.align[d]=null;for(d=0;d<l.cells.length;d++)l.cells[d]=l.cells[d].replace(/^ *\| *| *\| *$/g,"").split(/ *\| */);this.tokens.push(l)}else if(t&&(s=this.rules.paragraph.exec(e)))e=e.substring(s[0].length),this.tokens.push({type:"paragraph",text:"\n"===s[1].charAt(s[1].length-1)?s[1].slice(0,-1):s[1]});else if(s=this.rules.text.exec(e))e=e.substring(s[0].length),this.tokens.push({type:"text",text:s[0]});else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0));return this.tokens};var p={escape:/^\\([\\`*{}\[\]()#+\-.!_>])/,autolink:/^<([^ >]+(@|:\/)[^ >]+)>/,url:d,tag:/^<!--[\s\S]*?-->|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^\b_((?:[^_]|__)+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,code:/^(`+)([\s\S]*?[^`])\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:d,text:/^[\s\S]+?(?=[\\<!\[_*`]| {2,}\n|$)/};p._inside=/(?:\[[^\]]*\]|[^\[\]]|\](?=[^\[]*\]))*/,p._href=/\s*<?([\s\S]*?)>?(?:\s+['"]([\s\S]*?)['"])?\s*/,p.link=l(p.link)("inside",p._inside)("href",p._href)(),p.reflink=l(p.reflink)("inside",p._inside)(),p.normal=_({},p),p.pedantic=_({},p.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),p.gfm=_({},p.normal,{escape:l(p.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:l(p.text)("]|","~]|")("|","|https?://|")()}),p.breaks=_({},p.gfm,{br:l(p.br)("{2,}","*")(),text:l(p.gfm.text)("{2,}","*")()}),r.rules=p,r.output=function(e,t,a){return new r(t,a).output(e)},r.prototype.output=function(e){for(var t,a,r,i,s="";e;)if(i=this.rules.escape.exec(e))e=e.substring(i[0].length),s+=i[1];else if(i=this.rules.autolink.exec(e))e=e.substring(i[0].length),"@"===i[2]?(a=n(":"===i[1].charAt(6)?this.mangle(i[1].substring(7)):this.mangle(i[1])),r=this.mangle("mailto:")+a):(a=n(i[1]),r=a),s+=this.renderer.link(r,null,a);else if(this.inLink||!(i=this.rules.url.exec(e))){if(i=this.rules.tag.exec(e))!this.inLink&&/^<a /i.test(i[0])?this.inLink=!0:this.inLink&&/^<\/a>/i.test(i[0])&&(this.inLink=!1),e=e.substring(i[0].length),s+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(i[0]):n(i[0]):i[0];else if(i=this.rules.link.exec(e))e=e.substring(i[0].length),this.inLink=!0,s+=this.outputLink(i,{href:i[2],title:i[3]}),this.inLink=!1;else if((i=this.rules.reflink.exec(e))||(i=this.rules.nolink.exec(e))){if(e=e.substring(i[0].length),t=(i[2]||i[1]).replace(/\s+/g," "),!(t=this.links[t.toLowerCase()])||!t.href){s+=i[0].charAt(0),e=i[0].substring(1)+e;continue}this.inLink=!0,s+=this.outputLink(i,t),this.inLink=!1}else if(i=this.rules.strong.exec(e))e=e.substring(i[0].length),s+=this.renderer.strong(this.output(i[2]||i[1]));else if(i=this.rules.em.exec(e))e=e.substring(i[0].length),s+=this.renderer.em(this.output(i[2]||i[1]));else if(i=this.rules.code.exec(e))e=e.substring(i[0].length),s+=this.renderer.codespan(n(i[2].trim(),!0));else if(i=this.rules.br.exec(e))e=e.substring(i[0].length),s+=this.renderer.br();else if(i=this.rules.del.exec(e))e=e.substring(i[0].length),s+=this.renderer.del(this.output(i[1]));else if(i=this.rules.text.exec(e))e=e.substring(i[0].length),s+=this.renderer.text(n(this.smartypants(i[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else e=e.substring(i[0].length),a=n(i[1]),r=a,s+=this.renderer.link(r,null,a);return s},r.prototype.outputLink=function(e,t){var a=n(t.href),r=t.title?n(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(a,r,this.output(e[1])):this.renderer.image(a,r,n(e[1]))},r.prototype.smartypants=function(e){return this.options.smartypants?e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"â€").replace(/\.{3}/g,"…"):e},r.prototype.mangle=function(e){if(!this.options.mangle)return e;for(var t,a="",r=e.length,i=0;i<r;i++)t=e.charCodeAt(i),Math.random()>.5&&(t="x"+t.toString(16)),a+="&#"+t+";";return a},i.prototype.code=function(e,t,a){if(this.options.highlight){var r=this.options.highlight(e,t);null!=r&&r!==e&&(a=!0,e=r)}return t?'<pre><code class="'+this.options.langPrefix+n(t,!0)+'">'+(a?e:n(e,!0))+"\n</code></pre>\n":"<pre><code>"+(a?e:n(e,!0))+"\n</code></pre>"},i.prototype.blockquote=function(e){return"<blockquote>\n"+e+"</blockquote>\n"},i.prototype.html=function(e){return e},i.prototype.heading=function(e,t,a){return"<h"+t+' id="'+this.options.headerPrefix+a.toLowerCase().replace(/[^\w]+/g,"-")+'">'+e+"</h"+t+">\n"},i.prototype.hr=function(){return this.options.xhtml?"<hr/>\n":"<hr>\n"},i.prototype.list=function(e,t){var a=t?"ol":"ul";return"<"+a+">\n"+e+"</"+a+">\n"},i.prototype.listitem=function(e){return"<li>"+e+"</li>\n"},i.prototype.paragraph=function(e){return"<p>"+e+"</p>\n"},i.prototype.table=function(e,t){return"<table>\n<thead>\n"+e+"</thead>\n<tbody>\n"+t+"</tbody>\n</table>\n"},i.prototype.tablerow=function(e){return"<tr>\n"+e+"</tr>\n"},i.prototype.tablecell=function(e,t){var a=t.header?"th":"td";return(t.align?"<"+a+' style="text-align:'+t.align+'">':"<"+a+">")+e+"</"+a+">\n"},i.prototype.strong=function(e){return"<strong>"+e+"</strong>"},i.prototype.em=function(e){return"<em>"+e+"</em>"},i.prototype.codespan=function(e){return"<code>"+e+"</code>"},i.prototype.br=function(){return this.options.xhtml?"<br/>":"<br>"},i.prototype.del=function(e){return"<del>"+e+"</del>"},i.prototype.link=function(e,t,a){if(this.options.sanitize){try{var r=decodeURIComponent(o(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return""}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:")||0===r.indexOf("data:"))return""}this.options.baseUrl&&!originIndependentUrl.test(e)&&(e=c(this.options.baseUrl,e));var i='<a href="'+e+'"';return t&&(i+=' title="'+t+'"'),i+=">"+a+"</a>"},i.prototype.image=function(e,t,a){this.options.baseUrl&&!originIndependentUrl.test(e)&&(e=c(this.options.baseUrl,e));var r='<img src="'+e+'" alt="'+a+'"';return t&&(r+=' title="'+t+'"'),r+=this.options.xhtml?"/>":">"},i.prototype.text=function(e){return e},s.parse=function(e,t,a){return new s(t,a).parse(e)},s.prototype.parse=function(e){this.inline=new r(e.links,this.options,this.renderer),this.tokens=e.reverse();for(var t="";this.next();)t+=this.tok();return t},s.prototype.next=function(){return this.token=this.tokens.pop()},s.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},s.prototype.parseText=function(){for(var e=this.token.text;"text"===this.peek().type;)e+="\n"+this.next().text;return this.inline.output(e)},s.prototype.tok=function(){switch(this.token.type){case"space":return"";case"hr":return this.renderer.hr();case"heading":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,this.token.text);case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var e,t,a,r,i="",s="";for(a="",e=0;e<this.token.header.length;e++)({header:!0,align:this.token.align[e]}),a+=this.renderer.tablecell(this.inline.output(this.token.header[e]),{header:!0,align:this.token.align[e]});for(i+=this.renderer.tablerow(a),e=0;e<this.token.cells.length;e++){for(t=this.token.cells[e],a="",r=0;r<t.length;r++)a+=this.renderer.tablecell(this.inline.output(t[r]),{header:!1,align:this.token.align[r]});s+=this.renderer.tablerow(a)}return this.renderer.table(i,s);case"blockquote_start":for(var s="";"blockquote_end"!==this.next().type;)s+=this.tok();return this.renderer.blockquote(s);case"list_start":for(var s="",n=this.token.ordered;"list_end"!==this.next().type;)s+=this.tok();return this.renderer.list(s,n);case"list_item_start":for(var s="";"list_item_end"!==this.next().type;)s+="text"===this.token.type?this.parseText():this.tok();return this.renderer.listitem(s);case"loose_item_start":for(var s="";"list_item_end"!==this.next().type;)s+=this.tok();return this.renderer.listitem(s);case"html":var o=this.token.pre||this.options.pedantic?this.token.text:this.inline.output(this.token.text);return this.renderer.html(o);case"paragraph":return this.renderer.paragraph(this.inline.output(this.token.text));case"text":return this.renderer.paragraph(this.parseText())}},baseUrls={},originIndependentUrl=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i,d.exec=d,m.options=m.setOptions=function(e){return _(m.defaults,e),m},m.defaults={gfm:!0,tables:!0,breaks:!1,pedantic:!1,sanitize:!1,sanitizer:null,mangle:!0,smartLists:!1,silent:!1,highlight:null,langPrefix:"lang-",smartypants:!1,headerPrefix:"",renderer:new i,xhtml:!1,baseUrl:null},m.Parser=s,m.parser=s.parse,m.Renderer=i,m.Lexer=e,m.lexer=e.lex,m.InlineLexer=r,m.inlineLexer=r.output,m.parse=m,void 0!==t&&"object"==typeof a?t.exports=m:"function"==typeof define&&define.amd?define(function(){return m}):this.marked=m}).call(function(){return this||("undefined"!=typeof window?window:e)}())}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],4:[function(e,t,a){function r(e,t){var a;for(a=0;a<e.length;++a)t(e[a],a)}function i(e){var t=e&&e.prototype;t&&(t.forEach=t.forEach||function(e){r(this,e)},t.filter=t.filter||function(e){var t=[];return this.forEach(function(a){e(a,t.length)&&t.push(a)}),t},t.map=t.map||function(e){var t=[];return this.forEach(function(a){t.push(e(a,t.length))}),t})}a.apply=function(){r([Array,window.NodeList,window.HTMLCollection],i)}},{}],5:[function(e,t,a){var r=e("./remark/api"),i=e("./polyfills"),s=e("./remark/components/styler/styler");window.remark=new r,i.apply(),s.styleDocument()},{"./polyfills":4,"./remark/api":6,"./remark/components/styler/styler":"components/styler"}],6:[function(e,t,a){function r(e){this.dom=e||new p,this.macros=h,this.version=c.version}function i(e,t){var a;return t=t||{},t.hasOwnProperty("source")||(a=e.getElementById("source"))&&(t.source=s(a.innerHTML),a.style.display="none"),t.container instanceof window.HTMLElement||(t.container=e.getBodyElement()),t}function s(e){return e=e.replace(/&[l|g]t;/g,function(e){return"<"===e?"<":">"}),e=e.replace(/&/g,"&"),e=e.replace(/"/g,'"')}var n=e("events").EventEmitter,o=e("./highlighter"),l=e("./converter"),c=e("./resources"),d=e("./parser"),_=e("./models/slideshow"),m=e("./views/slideshowView"),u=e("./controllers/defaultController"),p=e("./dom"),h=e("./macros");t.exports=r,r.prototype.highlighter=o,r.prototype.convert=function(e){var t=new d,a=t.parse(e||"",h)[0].content;return l.convertMarkdown(a,{},!0)},r.prototype.create=function(e,t){var a,r,s,o=this;return e=i(this.dom,e),a=new n,a.setMaxListeners(0),new _(a,this.dom,e,function(i){r=new m(a,o.dom,e,i),s=e.controller||new u(a,o.dom,r,e.navigation),"function"==typeof t&&t(i)})}},{"./controllers/defaultController":7,"./converter":13,"./dom":14,"./highlighter":15,"./macros":17,"./models/slideshow":19,"./parser":22,"./resources":23,"./views/slideshowView":28,events:1}],7:[function(e,t,a){function r(e,t,a,r){r=r||{};var d=new s(e);l.register(e),c.register(e,t,a),n.register(e,r),o.register(e,r),i(e,d,a,r)}function i(e,t,a,r){e.on("pause",function(a){t.deactivate(),n.unregister(e),o.unregister(e)}),e.on("resume",function(a){t.activate(),n.register(e,r),o.register(e,r)})}t.exports=r;var s=e("./inputs/keyboard"),n=e("./inputs/mouse"),o=e("./inputs/touch"),l=e("./inputs/message"),c=e("./inputs/location")},{"./inputs/keyboard":8,"./inputs/location":9,"./inputs/message":10,"./inputs/mouse":11,"./inputs/touch":12}],8:[function(e,t,a){function r(e){this._events=e,this.activate()}t.exports=r,r.prototype.activate=function(){this._gotoSlideNumber="",this.addKeyboardEventListeners()},r.prototype.deactivate=function(){this.removeKeyboardEventListeners()},r.prototype.addKeyboardEventListeners=function(){var e=this,t=this._events;t.on("keydown",function(a){if(!(a.metaKey||a.ctrlKey||a.altKey))switch(a.keyCode){case 33:case 37:case 38:t.emit("gotoPreviousSlide");break;case 32:a.shiftKey?t.emit("gotoPreviousSlide"):t.emit("gotoNextSlide");break;case 34:case 39:case 40:t.emit("gotoNextSlide");break;case 36:t.emit("gotoFirstSlide");break;case 35:t.emit("gotoLastSlide");break;case 27:t.emit("hideOverlay");break;case 13:e._gotoSlideNumber&&(t.emit("gotoSlideNumber",e._gotoSlideNumber),e._gotoSlideNumber="")}}),t.on("keypress",function(a){if(!a.metaKey&&!a.ctrlKey){var r=String.fromCharCode(a.which).toLowerCase(),i=!0;switch(r){case"j":t.emit("gotoNextSlide");break;case"k":t.emit("gotoPreviousSlide");break;case"b":t.emit("toggleBlackout");break;case"m":t.emit("toggleMirrored");break;case"c":t.emit("createClone");break;case"p":t.emit("togglePresenterMode");break;case"f":t.emit("toggleFullscreen");break;case"s":t.emit("toggleTimer");break;case"t":t.emit("resetTimer");break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"0":e._gotoSlideNumber+=r;break;case"h":case"?":t.emit("toggleHelp");break;default:i=!1}i&&a&&a.preventDefault&&a.preventDefault()}})},r.prototype.removeKeyboardEventListeners=function(){var e=this._events;e.removeAllListeners("keydown"),e.removeAllListeners("keypress")}},{}],9:[function(e,t,a){function r(e,t,a){function r(){var a=(t.getLocationHash()||"").substr(1);e.emit("gotoSlide",a)}function s(e){i.hasClass(a.containerElement,"remark-presenter-mode")?t.setLocationHash("#p"+e):t.setLocationHash("#"+e)}a.isEmbedded()?e.emit("gotoSlide",1):(e.on("hashchange",r),e.on("slideChanged",s),e.on("toggledPresenter",s),r())}var i=e("../../utils.js");a.register=function(e,t,a){r(e,t,a)}},{"../../utils.js":25}],10:[function(e,t,a){function r(e){function t(t){var a;null!==(a=/^gotoSlide:(\d+)$/.exec(t.data))?e.emit("gotoSlide",parseInt(a[1],10),!0):"toggleBlackout"===t.data&&e.emit("toggleBlackout",{propagate:!1})}e.on("message",t)}a.register=function(e){r(e)}},{}],11:[function(e,t,a){function r(e,t){if(t.click&&(e.on("click",function(t){"A"!==t.target.nodeName&&0===t.button&&e.emit("gotoNextSlide")}),e.on("contextmenu",function(t){"A"!==t.target.nodeName&&(t.preventDefault(),e.emit("gotoPreviousSlide"))})),!1!==t.scroll){var a=function(t){t.wheelDeltaY>0||t.detail<0?e.emit("gotoPreviousSlide"):(t.wheelDeltaY<0||t.detail>0)&&e.emit("gotoNextSlide")};e.on("mousewheel",a),e.on("DOMMouseScroll",a)}}function i(e){e.removeAllListeners("click"),e.removeAllListeners("contextmenu"),e.removeAllListeners("mousewheel")}a.register=function(e,t){r(e,t)},a.unregister=function(e){i(e)}},{}],12:[function(e,t,a){function r(e,t){var a,r,i;if(!1!==t.touch){var s=function(){return Math.abs(r-i)<10},n=function(){e.emit("tap",i)},o=function(){r>i?e.emit("gotoNextSlide"):e.emit("gotoPreviousSlide")};e.on("touchstart",function(e){a=e.touches[0],r=a.clientX}),e.on("touchend",function(e){"A"!==e.target.nodeName.toUpperCase()&&(a=e.changedTouches[0],i=a.clientX,s()?n():o())}),e.on("touchmove",function(e){e.preventDefault()})}}function i(e){e.removeAllListeners("touchstart"),e.removeAllListeners("touchend"),e.removeAllListeners("touchmove")}a.register=function(e,t){r(e,t)},a.unregister=function(e){i(e)}},{}],13:[function(e,t,a){function r(e,t,a){var s,o,l,c="";for(s=0;s<e.length;++s)"string"==typeof e[s]?c+=e[s]:(o=e[s].block?"div":"span",c+="<"+o+' class="'+e[s].class+'">',c+=r(e[s].content,t,!e[s].block),c+="</"+o+">");var d=i.Lexer.lex(c.replace(/^\s+/,""));return d.links=t,l=i.Parser.parse(d),a&&(n.innerHTML=l,1===n.children.length&&"P"===n.children[0].tagName&&(l=n.children[0].innerHTML)),l}var i=e("marked"),s=t.exports={},n=document.createElement("div");i.setOptions({gfm:!0,tables:!0,breaks:!1,pedantic:!0,sanitize:!1,smartLists:!0,langPrefix:""}),s.convertMarkdown=function(e,t,a){return n.innerHTML=r(e,t||{},a),n.innerHTML=n.innerHTML.replace(/<p>\s*<\/p>/g,""),n.innerHTML.replace(/\n\r?$/,"")}},{marked:3}],14:[function(e,t,a){function r(){}t.exports=r,r.prototype.XMLHttpRequest=XMLHttpRequest,r.prototype.getHTMLElement=function(){return document.getElementsByTagName("html")[0]},r.prototype.getBodyElement=function(){return document.body},r.prototype.getElementById=function(e){return document.getElementById(e)},r.prototype.getLocationHash=function(){return window.location.hash},r.prototype.setLocationHash=function(e){"function"==typeof window.history.replaceState&&"null"!==window.origin?window.history.replaceState(void 0,void 0,e):window.location.hash=e}},{}],15:[function(e,t,a){for(var r=function(){var e={};return function(t){var a="object"==typeof window&&window||"object"==typeof self&&self;void 0===e||e.nodeType?a&&(a.hljs=t({}),"function"==typeof define&&define.amd&&define([],function(){return a.hljs})):t(e)}(function(e){function t(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function a(e){return e.nodeName.toLowerCase()}function r(e,t){var a=e&&e.exec(t);return a&&0===a.index}function i(e){return I.test(e)}function s(e){var t,a,r,s,n=e.className+" ";if(n+=e.parentNode?e.parentNode.className:"",a=j.exec(n))return C(a[1])?a[1]:"no-highlight";for(n=n.split(/\s+/),t=0,r=n.length;t<r;t++)if(s=n[t],i(s)||C(s))return s}function n(e){var t,a={},r=Array.prototype.slice.call(arguments,1);for(t in e)a[t]=e[t];return r.forEach(function(e){for(t in e)a[t]=e[t]}),a}function o(e){var t=[];return function e(r,i){for(var s=r.firstChild;s;s=s.nextSibling)3===s.nodeType?i+=s.nodeValue.length:1===s.nodeType&&(t.push({event:"start",offset:i,node:s}),i=e(s,i),a(s).match(/br|hr|img|input/)||t.push({event:"stop",offset:i,node:s}));return i}(e,0),t}function l(e,r,i){function s(){return e.length&&r.length?e[0].offset!==r[0].offset?e[0].offset<r[0].offset?e:r:"start"===r[0].event?e:r:e.length?e:r}function n(e){function r(e){return" "+e.nodeName+'="'+t(e.value).replace('"',""")+'"'}d+="<"+a(e)+v.map.call(e.attributes,r).join("")+">"}function o(e){d+="</"+a(e)+">"}function l(e){("start"===e.event?n:o)(e.node)}for(var c=0,d="",_=[];e.length||r.length;){var m=s();if(d+=t(i.substring(c,m[0].offset)),c=m[0].offset,m===e){_.reverse().forEach(o);do{l(m.splice(0,1)[0]),m=s()}while(m===e&&m.length&&m[0].offset===c);_.reverse().forEach(n)}else"start"===m[0].event?_.push(m[0].node):_.pop(),l(m.splice(0,1)[0])}return d+t(i.substr(c))}function c(e){return e.variants&&!e.cached_variants&&(e.cached_variants=e.variants.map(function(t){return n(e,{variants:null},t)})),e.cached_variants||e.endsWithParent&&[n(e)]||[e]}function d(e){if(R&&!e.langApiRestored){e.langApiRestored=!0;for(var t in R)e[t]&&(e[R[t]]=e[t]);(e.contains||[]).concat(e.variants||[]).forEach(d)}}function _(e){function t(e){return e&&e.source||e}function a(a,r){return new RegExp(t(a),"m"+(e.case_insensitive?"i":"")+(r?"g":""))}function r(e,a){for(var r=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./,i=0,s="",n=0;n<e.length;n++){var o=i,l=t(e[n]);for(n>0&&(s+=a);l.length>0;){var c=r.exec(l);if(null==c){s+=l;break}s+=l.substring(0,c.index),l=l.substring(c.index+c[0].length),"\\"==c[0][0]&&c[1]?s+="\\"+String(Number(c[1])+o):(s+=c[0],"("==c[0]&&i++)}}return s}function i(s,n){if(!s.compiled){if(s.compiled=!0,s.keywords=s.keywords||s.beginKeywords,s.keywords){var o={},l=function(t,a){e.case_insensitive&&(a=a.toLowerCase()),a.split(" ").forEach(function(e){var a=e.split("|");o[a[0]]=[t,a[1]?Number(a[1]):1]})} +;"string"==typeof s.keywords?l("keyword",s.keywords):O(s.keywords).forEach(function(e){l(e,s.keywords[e])}),s.keywords=o}s.lexemesRe=a(s.lexemes||/\w+/,!0),n&&(s.beginKeywords&&(s.begin="\\b("+s.beginKeywords.split(" ").join("|")+")\\b"),s.begin||(s.begin=/\B|\b/),s.beginRe=a(s.begin),s.endSameAsBegin&&(s.end=s.begin),s.end||s.endsWithParent||(s.end=/\B|\b/),s.end&&(s.endRe=a(s.end)),s.terminator_end=t(s.end)||"",s.endsWithParent&&n.terminator_end&&(s.terminator_end+=(s.end?"|":"")+n.terminator_end)),s.illegal&&(s.illegalRe=a(s.illegal)),null==s.relevance&&(s.relevance=1),s.contains||(s.contains=[]),s.contains=Array.prototype.concat.apply([],s.contains.map(function(e){return c("self"===e?s:e)})),s.contains.forEach(function(e){i(e,s)}),s.starts&&i(s.starts,n);var d=s.contains.map(function(e){return e.beginKeywords?"\\.?(?:"+e.begin+")\\.?":e.begin}).concat([s.terminator_end,s.illegal]).map(t).filter(Boolean);s.terminators=d.length?a(r(d,"|"),!0):{exec:function(){return null}}}}i(e)}function m(e,a,i,s){function n(e){return new RegExp(e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")}function o(e,t){var a,i;for(a=0,i=t.contains.length;a<i;a++)if(r(t.contains[a].beginRe,e))return t.contains[a].endSameAsBegin&&(t.contains[a].endRe=n(t.contains[a].beginRe.exec(e)[0])),t.contains[a]}function l(e,t){if(r(e.endRe,t)){for(;e.endsParent&&e.parent;)e=e.parent;return e}if(e.endsWithParent)return l(e.parent,t)}function c(e,t){return!i&&r(t.illegalRe,e)}function d(e,t){var a=T.case_insensitive?t[0].toLowerCase():t[0];return e.keywords.hasOwnProperty(a)&&e.keywords[a]}function p(e,t,a,r){var i=r?"":x.classPrefix,s='<span class="'+i,n=a?"":w;return s+=e+'">',e?s+t+n:t}function h(){var e,a,r,i;if(!N.keywords)return t(O);for(i="",a=0,N.lexemesRe.lastIndex=0,r=N.lexemesRe.exec(O);r;)i+=t(O.substring(a,r.index)),e=d(N,r),e?(A+=e[1],i+=p(e[0],t(r[0]))):i+=t(r[0]),a=N.lexemesRe.lastIndex,r=N.lexemesRe.exec(O);return i+t(O.substr(a))}function g(){var e="string"==typeof N.subLanguage;if(e&&!y[N.subLanguage])return t(O);var a=e?m(N.subLanguage,O,!0,R[N.subLanguage]):u(O,N.subLanguage.length?N.subLanguage:void 0);return N.relevance>0&&(A+=a.relevance),e&&(R[N.subLanguage]=a.top),p(a.language,a.value,!1,!0)}function E(){v+=null!=N.subLanguage?g():h(),O=""}function S(e){v+=e.className?p(e.className,"",!0):"",N=Object.create(e,{parent:{value:N}})}function b(e,t){if(O+=e,null==t)return E(),0;var a=o(t,N);if(a)return a.skip?O+=t:(a.excludeBegin&&(O+=t),E(),a.returnBegin||a.excludeBegin||(O=t)),S(a,t),a.returnBegin?0:t.length;var r=l(N,t);if(r){var i=N;i.skip?O+=t:(i.returnEnd||i.excludeEnd||(O+=t),E(),i.excludeEnd&&(O=t));do{N.className&&(v+=w),N.skip||N.subLanguage||(A+=N.relevance),N=N.parent}while(N!==r.parent);return r.starts&&(r.endSameAsBegin&&(r.starts.endRe=r.endRe),S(r.starts,"")),i.returnEnd?0:t.length}if(c(t,N))throw new Error('Illegal lexeme "'+t+'" for mode "'+(N.className||"<unnamed>")+'"');return O+=t,t.length||1}var T=C(e);if(!T)throw new Error('Unknown language: "'+e+'"');_(T);var f,N=s||T,R={},v="";for(f=N;f!==T;f=f.parent)f.className&&(v=p(f.className,"",!0)+v);var O="",A=0;try{for(var I,j,D=0;;){if(N.terminators.lastIndex=D,!(I=N.terminators.exec(a)))break;j=b(a.substring(D,I.index),I[0]),D=I.index+j}for(b(a.substr(D)),f=N;f.parent;f=f.parent)f.className&&(v+=w);return{relevance:A,value:v,language:e,top:N}}catch(e){if(e.message&&-1!==e.message.indexOf("Illegal"))return{relevance:0,value:t(a)};throw e}}function u(e,a){a=a||x.languages||O(y);var r={relevance:0,value:t(e)},i=r;return a.filter(C).filter(N).forEach(function(t){var a=m(t,e,!1);a.language=t,a.relevance>i.relevance&&(i=a),a.relevance>r.relevance&&(i=r,r=a)}),i.language&&(r.second_best=i),r}function p(e){return x.tabReplace||x.useBR?e.replace(D,function(e,t){return x.useBR&&"\n"===e?"<br>":x.tabReplace?t.replace(/\t/g,x.tabReplace):""}):e}function h(e,t,a){var r=t?A[t]:a,i=[e.trim()];return e.match(/\bhljs\b/)||i.push("hljs"),-1===e.indexOf(r)&&i.push(r),i.join(" ").trim()}function g(e){var t,a,r,n,c,d=s(e);i(d)||(x.useBR?(t=document.createElementNS("http://www.w3.org/1999/xhtml","div"),t.innerHTML=e.innerHTML.replace(/\n/g,"").replace(/<br[ \/]*>/g,"\n")):t=e,c=t.textContent,r=d?m(d,c,!0):u(c),a=o(t),a.length&&(n=document.createElementNS("http://www.w3.org/1999/xhtml","div"),n.innerHTML=r.value,r.value=l(a,o(n),c)),r.value=p(r.value),e.innerHTML=r.value,e.className=h(e.className,d,r.language),e.result={language:r.language,re:r.relevance},r.second_best&&(e.second_best={language:r.second_best.language,re:r.second_best.relevance}))}function E(e){x=n(x,e)}function S(){if(!S.called){S.called=!0;var e=document.querySelectorAll("pre code");v.forEach.call(e,g)}}function b(){addEventListener("DOMContentLoaded",S,!1),addEventListener("load",S,!1)}function T(t,a){var r=y[t]=a(e);d(r),r.aliases&&r.aliases.forEach(function(e){A[e]=t})}function f(){return O(y)}function C(e){return e=(e||"").toLowerCase(),y[e]||y[A[e]]}function N(e){var t=C(e);return t&&!t.disableAutodetect}var R,v=[],O=Object.keys,y={},A={},I=/^(no-?highlight|plain|text)$/i,j=/\blang(?:uage)?-([\w-]+)\b/i,D=/((^(<[^>]+>|\t|)+|(?:\n)))/gm,w="</span>",x={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0};return e.highlight=m,e.highlightAuto=u,e.fixMarkup=p,e.highlightBlock=g,e.configure=E,e.initHighlighting=S,e.initHighlightingOnLoad=b,e.registerLanguage=T,e.listLanguages=f,e.getLanguage=C,e.autoDetection=N,e.inherit=n,e.IDENT_RE="[a-zA-Z]\\w*",e.UNDERSCORE_IDENT_RE="[a-zA-Z_]\\w*",e.NUMBER_RE="\\b\\d+(\\.\\d+)?",e.C_NUMBER_RE="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",e.BINARY_NUMBER_RE="\\b(0b[01]+)",e.RE_STARTERS_RE="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",e.BACKSLASH_ESCAPE={begin:"\\\\[\\s\\S]",relevance:0},e.APOS_STRING_MODE={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},e.QUOTE_STRING_MODE={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},e.PHRASAL_WORDS_MODE={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},e.COMMENT=function(t,a,r){var i=e.inherit({className:"comment",begin:t,end:a,contains:[]},r||{});return i.contains.push(e.PHRASAL_WORDS_MODE),i.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|XXX):",relevance:0}),i},e.C_LINE_COMMENT_MODE=e.COMMENT("//","$"),e.C_BLOCK_COMMENT_MODE=e.COMMENT("/\\*","\\*/"),e.HASH_COMMENT_MODE=e.COMMENT("#","$"),e.NUMBER_MODE={className:"number",begin:e.NUMBER_RE,relevance:0},e.C_NUMBER_MODE={className:"number",begin:e.C_NUMBER_RE,relevance:0},e.BINARY_NUMBER_MODE={className:"number",begin:e.BINARY_NUMBER_RE,relevance:0},e.CSS_NUMBER_MODE={className:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},e.REGEXP_MODE={className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[e.BACKSLASH_ESCAPE]}]},e.TITLE_MODE={className:"title",begin:e.IDENT_RE,relevance:0},e.UNDERSCORE_TITLE_MODE={className:"title",begin:e.UNDERSCORE_IDENT_RE,relevance:0},e.METHOD_GUARD={begin:"\\.\\s*"+e.UNDERSCORE_IDENT_RE,relevance:0},e}),e}(),i=[{name:"cpp",create:function(e){var t={className:"keyword",begin:"\\b[a-z\\d_]*_t\\b"},a={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\((?:.|\n)*?\)\1"/},{begin:"'\\\\?.",end:"'",illegal:"."}]},r={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},i={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{"meta-keyword":"if else elif endif define undef warning error line pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(a,{className:"meta-string"}),{className:"meta-string",begin:/<[^\n>]*>/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},s=e.IDENT_RE+"\\s*\\(",n={keyword:"int float while private char catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignof constexpr decltype noexcept static_assert thread_local restrict _Bool complex _Complex _Imaginary atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and or not",built_in:"std string cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr abort abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr",literal:"true false nullptr NULL"},o=[t,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,r,a];return{aliases:["c","cc","h","c++","h++","hpp","hh","hxx","cxx"],keywords:n,illegal:"</",contains:o.concat([i,{begin:"\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<",end:">",keywords:n,contains:["self",t]},{begin:e.IDENT_RE+"::",keywords:n},{variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:n,contains:o.concat([{begin:/\(/,end:/\)/,keywords:n,contains:o.concat(["self"]),relevance:0}]),relevance:0},{className:"function",begin:"("+e.IDENT_RE+"[\\*&\\s]+)+"+s,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:n,illegal:/[^\w\s\*&]/,contains:[{begin:s,returnBegin:!0,contains:[e.TITLE_MODE],relevance:0},{className:"params",begin:/\(/,end:/\)/,keywords:n,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,r,t,{begin:/\(/,end:/\)/,keywords:n,relevance:0,contains:["self",e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,r,t]}]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,i]},{className:"class",beginKeywords:"class struct",end:/[{;:]/,contains:[{begin:/</,end:/>/,contains:["self"]},e.TITLE_MODE]}]),exports:{preprocessor:i,strings:a,keywords:n}}}},{name:"1c",create:function(e){var t="[A-Za-zÐ-Яа-ÑÑ‘Ð_][A-Za-zÐ-Яа-ÑÑ‘Ð_0-9]+",a="далее возврат вызватьиÑключение выполнить Ð´Ð»Ñ ÐµÑли и из или иначе иначееÑли иÑключение каждого конецеÑли конецпопытки конеццикла не новый перейти перем по пока попытка прервать продолжить тогда цикл ÑкÑпорт ",r="null иÑтина ложь неопределено",i=e.inherit(e.NUMBER_MODE),s={className:"string",begin:'"|\\|',end:'"|$',contains:[{begin:'""'}]},n={begin:"'",end:"'",excludeBegin:!0,excludeEnd:!0,contains:[{className:"number",begin:"\\d{4}([\\.\\\\/:-]?\\d{2}){0,5}"}]},o=e.inherit(e.C_LINE_COMMENT_MODE),l={className:"meta",lexemes:t,begin:"#|&",end:"$",keywords:{"meta-keyword":a+"загрузитьизфайла вебклиент вмеÑто внешнееÑоединение клиент конецоблаÑти мобильноеприложениеклиент мобильноеприложениеÑервер наклиенте наклиентенаÑервере наклиентенаÑерверебезконтекÑта наÑервере наÑерверебезконтекÑта облаÑть перед поÑле Ñервер толÑтыйклиентобычноеприложение толÑтыйклиентуправлÑемоеприложение тонкийклиент "},contains:[o]},c={className:"symbol",begin:"~",end:";|:",excludeEnd:!0};return{case_insensitive:!0,lexemes:t,keywords:{keyword:a,built_in:"разделительÑтраниц разделительÑтрок ÑимволтабулÑции ansitooem oemtoansi ввеÑтивидÑубконто ввеÑтиперечиÑление ввеÑтипериод ввеÑтипланÑчетов выбранныйпланÑчетов датагод датамеÑÑц датачиÑло заголовокÑиÑтемы значениевÑтроку значениеизÑтроки каталогиб ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ ÐºÐ¾Ð´Ñимв конгода конецпериодаби конецраÑÑчитанногопериодаби конецÑтандартногоинтервала конквартала конмеÑÑца коннедели лог лог10 макÑимальноеколичеÑтвоÑубконто названиеинтерфейÑа названиенабораправ назначитьвид назначитьÑчет найтиÑÑылки началопериодаби началоÑтандартногоинтервала начгода начквартала начмеÑÑца начнедели номерднÑгода номерднÑнедели номернеделигода Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ°Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð¾ÑновнойжурналраÑчетов оÑновнойпланÑчетов оÑновнойÑзык очиÑтитьокноÑообщений периодÑтр получитьвремÑта получитьдатута получитьдокументта получитьзначениÑотбора получитьпозициюта получитьпуÑтоезначение получитьта префикÑавтонумерации пропиÑÑŒ пуÑтоезначение разм разобратьпозициюдокумента раÑÑчитатьрегиÑтрына раÑÑчитатьрегиÑтрыпо Ñимв Ñоздатьобъект ÑтатуÑвозврата ÑтрколичеÑтвоÑтрок Ñформироватьпозициюдокумента Ñчетпокоду Ñ‚ÐµÐºÑƒÑ‰ÐµÐµÐ²Ñ€ÐµÐ¼Ñ Ñ‚Ð¸Ð¿Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñ‚Ð¸Ð¿Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸ÑÑтр уÑтановитьтана уÑтановитьтапо фикÑшаблон шаблон acos asin atan base64значение base64Ñтрока cos exp log log10 pow sin sqrt tan xmlзначение xmlÑтрока xmlтип xmlтипзнч активноеокно безопаÑныйрежим безопаÑныйрежимразделениÑданных булево ввеÑтидату ввеÑтизначение ввеÑтиÑтроку ввеÑтичиÑло возможноÑтьчтениÑxml Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð²Ð¾ÑÑтановитьзначение врег выгрузитьжурналрегиÑтрации Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑŒÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÑƒÐ¾Ð¿Ð¾Ð²ÐµÑ‰ÐµÐ½Ð¸Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑŒÐ¿Ñ€Ð¾Ð²ÐµÑ€ÐºÑƒÐ¿Ñ€Ð°Ð²Ð´Ð¾Ñтупа вычиÑлить год данныеформывзначение дата день деньгода деньнедели добавитьмеÑÑц заблокироватьданныедлÑÑ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð·Ð°Ð±Ð»Ð¾ÐºÐ¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒÑ€Ð°Ð±Ð¾Ñ‚ÑƒÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐ¸Ñ‚ÑŒÑ€Ð°Ð±Ð¾Ñ‚ÑƒÑиÑтемы загрузитьвнешнююкомпоненту закрытьÑправку запиÑатьjson запиÑатьxml запиÑатьдатуjson запиÑьжурналарегиÑтрации заполнитьзначениÑÑвойÑтв запроÑÐ¸Ñ‚ÑŒÑ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸ÐµÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð·Ð°Ð¿ÑƒÑтитьприложение запуÑтитьÑиÑтему зафикÑироватьтранзакцию значениевданныеформы значениевÑтрокувнутр значениевфайл значениезаполнено значениеизÑтрокивнутр значениеизфайла изxmlтипа импортмоделиxdto имÑкомпьютера имÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒÐ¿Ñ€ÐµÐ´Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð½Ñ‹ÐµÐ´Ð°Ð½Ð½Ñ‹Ðµ информациÑобошибке каталогбиблиотекимобильногоуÑтройÑтва каталогвременныхфайлов каталогдокументов каталогпрограммы кодироватьÑтроку кодлокализацииинформационнойбазы кодÑимвола командаÑиÑтемы конецгода ÐºÐ¾Ð½ÐµÑ†Ð´Ð½Ñ ÐºÐ¾Ð½ÐµÑ†ÐºÐ²Ð°Ñ€Ñ‚Ð°Ð»Ð° конецмеÑÑца конецминуты конецнедели конецчаÑа конфигурациÑбазыданныхизмененадинамичеÑки конфигурациÑизменена копироватьданныеформы копироватьфайл краткоепредÑтавлениеошибки лев Ð¼Ð°ÐºÑ Ð¼ÐµÑÑ‚Ð½Ð¾ÐµÐ²Ñ€ÐµÐ¼Ñ Ð¼ÐµÑÑц мин минута монопольныйрежим найти найтинедопуÑтимыеÑимволыxml найтиокнопонавигационнойÑÑылке найтипомеченныенаудаление найтипоÑÑылкам найтифайлы началогода Ð½Ð°Ñ‡Ð°Ð»Ð¾Ð´Ð½Ñ Ð½Ð°Ñ‡Ð°Ð»Ð¾ÐºÐ²Ð°Ñ€Ñ‚Ð°Ð»Ð° началомеÑÑца началоминуты началонедели началочаÑа начатьзапроÑразрешениÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð½Ð°Ñ‡Ð°Ñ‚ÑŒÐ·Ð°Ð¿ÑƒÑÐºÐ¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð½Ð°Ñ‡Ð°Ñ‚ÑŒÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸ÐµÑ„Ð°Ð¹Ð»Ð° начатьперемещениефайла начатьподключениевнешнейкомпоненты начатьподключениераÑширениÑработыÑкриптографией начатьподключениераÑширениÑработыÑфайлами начатьпоиÑкфайлов начатьполучениекаталогавременныхфайлов начатьполучениекаталогадокументов Ð½Ð°Ñ‡Ð°Ñ‚ÑŒÐ¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸ÐµÑ€Ð°Ð±Ð¾Ñ‡ÐµÐ³Ð¾ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð°Ð´Ð°Ð½Ð½Ñ‹Ñ…Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð½Ð°Ñ‡Ð°Ñ‚ÑŒÐ¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸ÐµÑ„Ð°Ð¹Ð»Ð¾Ð² начатьпомещениефайла начатьпомещениефайлов начатьÑозданиедвоичныхданныхизфайла начатьÑозданиекаталога начатьтранзакцию начатьудалениефайлов начатьуÑтановкувнешнейкомпоненты начатьуÑтановкураÑширениÑработыÑкриптографией начатьуÑтановкураÑширениÑработыÑфайлами неделÑгода необходимоÑтьзавершениÑÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð½Ð¾Ð¼ÐµÑ€ÑеанÑаинформационнойбазы номерÑоединениÑинформационнойбазы нрег нÑтр Ð¾Ð±Ð½Ð¾Ð²Ð¸Ñ‚ÑŒÐ¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð¾Ð±Ð½Ð¾Ð²Ð¸Ñ‚ÑŒÐ½ÑƒÐ¼ÐµÑ€Ð°Ñ†Ð¸ÑŽÐ¾Ð±ÑŠÐµÐºÑ‚Ð¾Ð² обновитьповторноиÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÐµÐ¼Ñ‹ÐµÐ·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ°Ð¿Ñ€ÐµÑ€Ñ‹Ð²Ð°Ð½Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½Ð¸Ñ‚ÑŒÑ„Ð°Ð¹Ð»Ñ‹ окр опиÑаниеошибки оповеÑтить оповеÑтитьобизменении отключитьобработчикзапроÑанаÑÑ‚Ñ€Ð¾ÐµÐºÐºÐ»Ð¸ÐµÐ½Ñ‚Ð°Ð»Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ñ‚ÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÑŒÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ñ‡Ð¸ÐºÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð¾Ñ‚ÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÑŒÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ñ‡Ð¸ÐºÐ¾Ð¿Ð¾Ð²ÐµÑ‰ÐµÐ½Ð¸Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒÐ·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ открытьиндекÑÑправки открытьÑодержаниеÑправки открытьÑправку открытьформу открытьформумодально отменитьтранзакцию очиÑтитьжурналрегиÑтрации очиÑтитьнаÑÑ‚Ñ€Ð¾Ð¹ÐºÐ¸Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¾Ñ‡Ð¸ÑтитьÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹Ð´Ð¾Ñтупа перейтипонавигационнойÑÑылке перемеÑтитьфайл подключитьвнешнююкомпоненту подключитьобработчикзапроÑанаÑÑ‚Ñ€Ð¾ÐµÐºÐºÐ»Ð¸ÐµÐ½Ñ‚Ð°Ð»Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÑŒÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ñ‡Ð¸ÐºÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÑŒÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ñ‡Ð¸ÐºÐ¾Ð¿Ð¾Ð²ÐµÑ‰ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÑŒÑ€Ð°ÑширениеработыÑкриптографией подключитьраÑширениеработыÑфайлами подробноепредÑтавлениеошибки показатьвводдаты Ð¿Ð¾ÐºÐ°Ð·Ð°Ñ‚ÑŒÐ²Ð²Ð¾Ð´Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾ÐºÐ°Ð·Ð°Ñ‚ÑŒÐ²Ð²Ð¾Ð´Ñтроки показатьвводчиÑла Ð¿Ð¾ÐºÐ°Ð·Ð°Ñ‚ÑŒÐ²Ð¾Ð¿Ñ€Ð¾Ñ Ð¿Ð¾ÐºÐ°Ð·Ð°Ñ‚ÑŒÐ·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ показатьинформациюобошибке показатьнакарте Ð¿Ð¾ÐºÐ°Ð·Ð°Ñ‚ÑŒÐ¾Ð¿Ð¾Ð²ÐµÑ‰ÐµÐ½Ð¸ÐµÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¿Ð¾ÐºÐ°Ð·Ð°Ñ‚ÑŒÐ¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ðµ полноеимÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¿Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚ÑŒcomобъект получитьxmlтип получитьадреÑпомеÑтоположению получитьблокировкуÑеанÑов получитьвремÑзавершениÑÑпÑщегоÑеанÑа получитьвремÑзаÑыпаниÑпаÑÑивногоÑеанÑа получитьвремÑожиданиÑблокировкиданных получитьданныевыбора Ð¿Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚ÑŒÐ´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ð¹Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ÐºÐ»Ð¸ÐµÐ½Ñ‚Ð°Ð»Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚ÑŒÐ´Ð¾Ð¿ÑƒÑтимыекодылокализации получитьдопуÑтимыечаÑовыепоÑÑа получитьзаголовокклиентÑÐºÐ¾Ð³Ð¾Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚ÑŒÐ·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾ÐºÑиÑтемы получитьзначениÑотборажурналарегиÑтрации получитьидентификаторконфигурации получитьизвременногохранилища получитьимÑвременногофайла получитьимÑÐºÐ»Ð¸ÐµÐ½Ñ‚Ð°Ð»Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚ÑŒÐ¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸ÑŽÑкрановклиента получитьиÑпользованиежурналарегиÑтрации получитьиÑпользованиеÑобытиÑжурналарегиÑтрации Ð¿Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚ÑŒÐºÑ€Ð°Ñ‚ÐºÐ¸Ð¹Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾ÐºÐ¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚ÑŒÐ¼Ð°ÐºÐµÑ‚Ð¾Ñ„Ð¾Ñ€Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚ÑŒÐ¼Ð°ÑкувÑефайлы получитьмаÑкувÑефайлыклиента получитьмаÑкувÑефайлыÑервера получитьмеÑтоположениепоадреÑу получитьминимальнуюдлинупаролейпользователей получитьнавигационнуюÑÑылку получитьнавигационнуюÑÑылкуинформационнойбазы получитьобновлениеконфигурациибазыданных получитьобновлениепредопределенныхданныхинформационнойбазы получитьобщиймакет получитьобщуюформу получитьокна получитьоперативнуюотметкувремени получитьотключениебезопаÑногорежима получитьпараметрыфункциональныхопцийинтерфейÑа получитьполноеимÑÐ¿Ñ€ÐµÐ´Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð½Ð¾Ð³Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚ÑŒÐ¿Ñ€ÐµÐ´ÑтавлениÑнавигационныхÑÑылок получитьпроверкуÑложноÑтипаролейпользователей получитьразделительпути получитьразделительпутиклиента получитьразделительпутиÑервера получитьÑеанÑыинформационнойбазы получитьÑкороÑтьклиентÑкогоÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚ÑŒÑоединениÑинформационнойбазы получитьÑообщениÑпользователю получитьÑоответÑтвиеобъектаиформы получитьÑоÑтавÑтандартногоинтерфейÑаodata получитьÑтруктурухранениÑбазыданных получитьтекущийÑеанÑинформационнойбазы получитьфайл получитьфайлы получитьформу получитьфункциональнуюопцию получитьфункциональнуюопциюинтерфейÑа получитьчаÑовойпоÑÑинформационнойбазы Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ð¸Ð¾Ñ Ð¿Ð¾Ð¼ÐµÑтитьвовременноехранилище помеÑтитьфайл помеÑтитьфайлы прав праводоÑтупа предопределенноезначение предÑтавлениекодалокализации предÑтавлениепериода предÑтавлениеправа предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¿Ñ€ÐµÐ´ÑтавлениеÑобытиÑжурналарегиÑтрации предÑтавлениечаÑовогопоÑÑа предупреждение прекратитьработуÑиÑтемы привилегированныйрежим продолжитьвызов прочитатьjson прочитатьxml прочитатьдатуjson пуÑтаÑÑтрока Ñ€Ð°Ð±Ð¾Ñ‡Ð¸Ð¹ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð´Ð°Ð½Ð½Ñ‹Ñ…Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ñ€Ð°Ð·Ð±Ð»Ð¾ÐºÐ¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒÐ´Ð°Ð½Ð½Ñ‹ÐµÐ´Ð»ÑÑ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ€Ð°Ð·Ð´ÐµÐ»Ð¸Ñ‚ÑŒÑ„Ð°Ð¹Ð» разорватьÑоединениеÑвнешнимиÑточникомданных раÑкодироватьÑтроку рольдоÑтупна Ñекунда Ñигнал Ñимвол ÑкопироватьжурналрегиÑтрации Ñмещениелетнеговремени ÑмещениеÑтандартноговремени Ñоединитьбуферыдвоичныхданных Ñоздатькаталог Ñоздатьфабрикуxdto Ñокрл Ñокрлп Ñокрп Ñообщить ÑоÑтоÑние Ñохранитьзначение ÑохранитьнаÑÑ‚Ñ€Ð¾Ð¹ÐºÐ¸Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ñред Ñтрдлина ÑтрзаканчиваетÑÑна Ñтрзаменить Ñтрнайти ÑтрначинаетÑÑÑ Ñтрока ÑтрокаÑоединениÑинформационнойбазы ÑтрполучитьÑтроку Ñтрразделить ÑтрÑоединить ÑтрÑравнить ÑтрчиÑловхождений ÑтрчиÑлоÑтрок Ñтршаблон текущаÑдата текущаÑдатаÑеанÑа текущаÑуниверÑальнаÑдата текущаÑуниверÑальнаÑдатавмиллиÑекундах текущийвариантинтерфейÑаклиентÑÐºÐ¾Ð³Ð¾Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ñ‚ÐµÐºÑƒÑ‰Ð¸Ð¹Ð²Ð°Ñ€Ð¸Ð°Ð½Ñ‚Ð¾ÑновногошрифтаклиентÑÐºÐ¾Ð³Ð¾Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ñ‚ÐµÐºÑƒÑ‰Ð¸Ð¹ÐºÐ¾Ð´Ð»Ð¾ÐºÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ð¸ текущийрежимзапуÑка текущийÑзык текущийÑзыкÑиÑтемы тип типзнч транзакциÑактивна трег удалитьданныеинформационнойбазы удалитьизвременногохранилища удалитьобъекты удалитьфайлы универÑÐ°Ð»ÑŒÐ½Ð¾ÐµÐ²Ñ€ÐµÐ¼Ñ ÑƒÑтановитьбезопаÑныйрежим уÑтановитьбезопаÑныйрежимразделениÑданных уÑтановитьблокировкуÑеанÑов уÑтановитьвнешнююкомпоненту уÑтановитьвремÑзавершениÑÑпÑщегоÑеанÑа уÑтановитьвремÑзаÑыпаниÑпаÑÑивногоÑеанÑа уÑтановитьвремÑожиданиÑблокировкиданных уÑтановитьзаголовокклиентÑÐºÐ¾Ð³Ð¾Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ ÑƒÑтановитьзаголовокÑиÑтемы уÑтановитьиÑпользованиежурналарегиÑтрации уÑтановитьиÑпользованиеÑобытиÑжурналарегиÑтрации уÑÑ‚Ð°Ð½Ð¾Ð²Ð¸Ñ‚ÑŒÐºÑ€Ð°Ñ‚ÐºÐ¸Ð¹Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾ÐºÐ¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ ÑƒÑтановитьминимальнуюдлинупаролейпользователей уÑтановитьмонопольныйрежим уÑтановитьнаÑÑ‚Ñ€Ð¾Ð¹ÐºÐ¸ÐºÐ»Ð¸ÐµÐ½Ñ‚Ð°Ð»Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑƒÑтановитьобновлениепредопределенныхданныхинформационнойбазы уÑтановитьотключениебезопаÑногорежима уÑтановитьпараметрыфункциональныхопцийинтерфейÑа уÑтановитьпривилегированныйрежим уÑтановитьпроверкуÑложноÑтипаролейпользователей уÑтановитьраÑширениеработыÑкриптографией уÑтановитьраÑширениеработыÑфайлами уÑтановитьÑоединениеÑвнешнимиÑточникомданных уÑтановитьÑоответÑтвиеобъектаиформы уÑтановитьÑоÑтавÑтандартногоинтерфейÑаodata уÑтановитьчаÑовойпоÑÑинформационнойбазы уÑтановитьчаÑовойпоÑÑÑеанÑа формат цел Ñ‡Ð°Ñ Ñ‡Ð°ÑовойпоÑÑ Ñ‡Ð°ÑовойпоÑÑÑеанÑа чиÑло чиÑлопропиÑью ÑтоадреÑвременногохранилища wsÑÑылки библиотекакартинок библиотекамакетовоформлениÑкомпоновкиданных библиотекаÑтилей бизнеÑпроцеÑÑÑ‹ внешниеиÑточникиданных внешниеобработки внешниеотчеты вÑтроенныепокупки Ð³Ð»Ð°Ð²Ð½Ñ‹Ð¹Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð³Ð»Ð°Ð²Ð½Ñ‹Ð¹Ñтиль документы доÑтавлÑÐµÐ¼Ñ‹ÐµÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¶ÑƒÑ€Ð½Ð°Ð»Ñ‹Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð¾Ð² задачи информациÑобинтернетÑоединении иÑпользованиерабочейдаты иÑториÑÑ€Ð°Ð±Ð¾Ñ‚Ñ‹Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ ÐºÐ¾Ð½Ñтанты критерииотбора метаданные обработки отображениерекламы отправкадоÑтавлÑемыхуведомлений отчеты Ð¿Ð°Ð½ÐµÐ»ÑŒÐ·Ð°Ð´Ð°Ñ‡Ð¾Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð·Ð°Ð¿ÑƒÑка параметрыÑеанÑа перечиÑÐ»ÐµÐ½Ð¸Ñ Ð¿Ð»Ð°Ð½Ñ‹Ð²Ð¸Ð´Ð¾Ð²Ñ€Ð°Ñчета планывидовхарактериÑтик планыобмена планыÑчетов полнотекÑтовыйпоиÑк пользователиинформационнойбазы поÑледовательноÑти проверкавÑтроенныхпокупок рабочаÑдата раÑширениÑконфигурации региÑтрыбухгалтерии региÑÑ‚Ñ€Ñ‹Ð½Ð°ÐºÐ¾Ð¿Ð»ÐµÐ½Ð¸Ñ Ñ€ÐµÐ³Ð¸ÑтрыраÑчета региÑтрыÑведений Ñ€ÐµÐ³Ð»Ð°Ð¼ÐµÐ½Ñ‚Ð½Ñ‹ÐµÐ·Ð°Ð´Ð°Ð½Ð¸Ñ Ñериализаторxdto Ñправочники ÑредÑÑ‚Ð²Ð°Ð³ÐµÐ¾Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¾Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑредÑтвакриптографии ÑредÑтвамультимедиа ÑредÑтваотображениÑрекламы ÑредÑтвапочты ÑредÑтвателефонии фабрикаxdto файловыепотоки Ñ„Ð¾Ð½Ð¾Ð²Ñ‹ÐµÐ·Ð°Ð´Ð°Ð½Ð¸Ñ Ñ…Ñ€Ð°Ð½Ð¸Ð»Ð¸Ñ‰Ð°Ð½Ð°Ñтроек хранилищевариантовотчетов хранилищенаÑтроекданныхформ хранилищеобщихнаÑтроек хранилищепользовательÑкихнаÑтроекдинамичеÑкихÑпиÑков хранилищепользовательÑкихнаÑтроекотчетов хранилищеÑиÑтемныхнаÑтроек ", +class:"webцвета windowsцвета windowsшрифты библиотекакартинок рамкиÑÑ‚Ð¸Ð»Ñ Ñимволы цветаÑÑ‚Ð¸Ð»Ñ ÑˆÑ€Ð¸Ñ„Ñ‚Ñ‹ÑÑ‚Ð¸Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑкоеÑохранениеданныхформывнаÑтройках автонумерациÑвформе автораздвижениеÑерий анимациÑдиаграммы вариантвыравниваниÑÑлементовизаголовков вариантуправлениÑвыÑотойтаблицы вертикальнаÑпрокруткаформы вертикальноеположение вертикальноеположениеÑлемента видгруппыформы виддекорацииформы виддополнениÑÑлементаформы видизменениÑданных видкнопкиформы Ð²Ð¸Ð´Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡Ð°Ñ‚ÐµÐ»Ñ Ð²Ð¸Ð´Ð¿Ð¾Ð´Ð¿Ð¸Ñейкдиаграмме видполÑформы видфлажка влиÑниеразмеранапузырекдиаграммы горизонтальноеположение горизонтальноеположениеÑлемента группировкаколонок группировкаподчиненныхÑлементовформы группыиÑлементы дейÑтвиеперетаÑÐºÐ¸Ð²Ð°Ð½Ð¸Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ð¹Ñ€ÐµÐ¶Ð¸Ð¼Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð´Ð¾Ð¿ÑƒÑтимыедейÑтвиÑперетаÑÐºÐ¸Ð²Ð°Ð½Ð¸Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð²Ð°Ð»Ð¼ÐµÐ¶Ð´ÑƒÑлементамиформы иÑпользованиевывода иÑпользованиеполоÑыпрокрутки иÑпользуемоезначениеточкибиржевойдиаграммы иÑториÑвыборапривводе иÑточникзначенийоÑиточекдиаграммы иÑточникзначениÑразмерапузырькадиаграммы категориÑгруппыкоманд макÑимумÑерий начальноеотображениедерева начальноеотображениеÑпиÑка обновлениетекÑÑ‚Ð°Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ñ€Ð¸ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñдендрограммы ориентациÑдиаграммы ориентациÑметокдиаграммы ориентациÑметокÑводнойдиаграммы ориентациÑÑлементаформы отображениевдиаграмме отображениевлегендедиаграммы отображениегруппыкнопок отображениезаголовкашкалыдиаграммы отображениезначенийÑводнойдиаграммы отображениезначениÑизмерительнойдиаграммы отображениеинтерваладиаграммыганта отображениекнопки отображениекнопкивыбора отображениеобÑужденийформы отображениеобычнойгруппы отображениеотрицательныхзначенийпузырьковойдиаграммы отображениепанелипоиÑка отображениеподÑказки отображениепредупреждениÑприредактировании отображениеразметкиполоÑÑ‹Ñ€ÐµÐ³ÑƒÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸ÐµÑтраницформы отображениетаблицы отображениетекÑтазначениÑдиаграммыганта отображениеуправлениÑобычнойгруппы отображениефигурыкнопки палитрацветовдиаграммы поведениеобычнойгруппы поддержкамаÑштабадендрограммы поддержкамаÑштабадиаграммыганта поддержкамаÑштабаÑводнойдиаграммы поиÑквтаблицепривводе положениезаголовкаÑлементаформы положениекартинкикнопкиформы положениекартинкиÑлементаграфичеÑкойÑхемы положениекоманднойпанелиформы положениекоманднойпанелиÑлементаформы положениеопорнойточкиотриÑовки положениеподпиÑейкдиаграмме положениеподпиÑейшкалызначенийизмерительнойдиаграммы положениеÑоÑтоÑниÑпроÑмотра положениеÑтрокипоиÑка положениетекÑтаÑоединительнойлинии положениеуправлениÑпоиÑком положениешкалывремени порÑдокотображениÑточекгоризонтальнойгиÑтограммы порÑдокÑерийвлегендедиаграммы размеркартинки раÑположениезаголовкашкалыдиаграммы раÑÑ‚Ñгиваниеповертикалидиаграммыганта режимавтоотображениÑÑоÑтоÑÐ½Ð¸Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ð²Ð²Ð¾Ð´Ð°Ñтроктаблицы режимвыборанезаполненного режимвыделениÑдаты режимвыделениÑÑтрокитаблицы режимвыделениÑтаблицы режимизменениÑразмера режимизменениÑÑвÑÐ·Ð°Ð½Ð½Ð¾Ð³Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ð¸ÑпользованиÑдиалогапечати режимиÑпользованиÑпараметракоманды режиммаÑштабированиÑпроÑмотра режимоÑновногоокнаклиентÑÐºÐ¾Ð³Ð¾Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñокнаформы режимотображениÑÐ²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸ÑгеографичеÑкойÑхемы режимотображениÑзначенийÑерии режимотриÑовкиÑеткиграфичеÑкойÑхемы режимполупрозрачноÑтидиаграммы режимпробеловдиаграммы режимразмещениÑнаÑтранице режимредактированиÑколонки режимÑглаживаниÑдиаграммы режимÑглаживаниÑиндикатора режимÑпиÑказадач Ñквозноевыравнивание ÑохранениеданныхформывнаÑтройках ÑпоÑобзаполнениÑтекÑтазаголовкашкалыдиаграммы ÑпоÑобопределениÑограничивающегозначениÑдиаграммы ÑтандартнаÑгруппакоманд Ñтандартноеоформление ÑтатуÑоповещениÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ ÑтильÑтрелки типаппрокÑимациилиниитрендадиаграммы типдиаграммы типединицышкалывремени типимпортаÑерийÑлоÑгеографичеÑкойÑхемы типлиниигеографичеÑкойÑхемы типлиниидиаграммы типмаркерагеографичеÑкойÑхемы типмаркерадиаграммы типоблаÑÑ‚Ð¸Ð¾Ñ„Ð¾Ñ€Ð¼Ð»ÐµÐ½Ð¸Ñ Ñ‚Ð¸Ð¿Ð¾Ñ€Ð³Ð°Ð½Ð¸Ð·Ð°Ñ†Ð¸Ð¸Ð¸ÑточникаданныхгеографичеÑкойÑхемы типотображениÑÑерииÑлоÑгеографичеÑкойÑхемы типотображениÑточечногообъектагеографичеÑкойÑхемы типотображениÑшкалыÑлементалегендыгеографичеÑкойÑхемы типпоиÑкаобъектовгеографичеÑкойÑхемы типпроекциигеографичеÑкойÑхемы типразмещениÑизмерений типразмещениÑреквизитовизмерений типрамкиÑÐ»ÐµÐ¼ÐµÐ½Ñ‚Ð°ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ‚Ð¸Ð¿Ñводнойдиаграммы типÑвÑзидиаграммыганта типÑоединениÑзначенийпоÑериÑмдиаграммы типÑоединениÑточекдиаграммы типÑоединительнойлинии типÑтороныÑлементаграфичеÑкойÑхемы типформыотчета типшкалырадарнойдиаграммы факторлиниитрендадиаграммы фигуракнопки фигурыграфичеÑкойÑхемы фикÑациÑвтаблице форматднÑшкалывремени форматкартинки ширинаподчиненныхÑлементовформы виддвижениÑбухгалтерии виддвижениÑÐ½Ð°ÐºÐ¾Ð¿Ð»ÐµÐ½Ð¸Ñ Ð²Ð¸Ð´Ð¿ÐµÑ€Ð¸Ð¾Ð´Ð°Ñ€ÐµÐ³Ð¸ÑтрараÑчета видÑчета видточкимаршрутабизнеÑпроцеÑÑа иÑпользованиеагрегатарегиÑÑ‚Ñ€Ð°Ð½Ð°ÐºÐ¾Ð¿Ð»ÐµÐ½Ð¸Ñ Ð¸ÑпользованиегруппиÑлементов иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸ÐµÑ€ÐµÐ¶Ð¸Ð¼Ð°Ð¿Ñ€Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¸ÑпользованиеÑреза периодичноÑтьагрегатарегиÑÑ‚Ñ€Ð°Ð½Ð°ÐºÐ¾Ð¿Ð»ÐµÐ½Ð¸Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ð°Ð²Ñ‚Ð¾Ð²Ñ€ÐµÐ¼Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ð·Ð°Ð¿Ð¸Ñидокумента режимпроведениÑдокумента авторегиÑтрациÑизменений допуÑтимыйномерÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ°Ñлементаданных получениеÑлементаданных иÑпользованиераÑшифровкитабличногодокумента ориентациÑÑтраницы положениеитоговколонокÑводнойтаблицы положениеитоговÑтрокÑводнойтаблицы положениетекÑтаотноÑительнокартинки раÑположениезаголовкагруппировкитабличногодокумента ÑпоÑобчтениÑзначенийтабличногодокумента типдвуÑтороннейпечати типзаполнениÑоблаÑтитабличногодокумента типкурÑоровтабличногодокумента типлиниириÑункатабличногодокумента типлинииÑчейкитабличногодокумента типнаправлениÑпереходатабличногодокумента типотображениÑвыделениÑтабличногодокумента типотображениÑлинийÑводнойтаблицы типразмещениÑтекÑтатабличногодокумента типриÑункатабличногодокумента типÑмещениÑтабличногодокумента типузоратабличногодокумента типфайлатабличногодокумента точноÑтьпечати чередованиераÑположениÑÑтраниц отображениевремениÑлементовпланировщика типфайлаформатированногодокумента обходрезультатазапроÑа типзапиÑизапроÑа видзаполнениÑраÑшифровкипоÑтроителÑотчета типдобавлениÑпредÑтавлений типизмерениÑпоÑтроителÑотчета типразмещениÑитогов доÑтупкфайлу режимдиалогавыборафайла режимоткрытиÑфайла типизмерениÑпоÑтроителÑзапроÑа видданныханализа методклаÑтеризации типединицыинтервалавременианализаданных типзаполнениÑтаблицырезультатаанализаданных типиÑпользованиÑчиÑловыхзначенийанализаданных типиÑточникаданныхпоиÑкааÑÑоциаций типколонкианализаданныхдереворешений типколонкианализаданныхклаÑÑ‚ÐµÑ€Ð¸Ð·Ð°Ñ†Ð¸Ñ Ñ‚Ð¸Ð¿ÐºÐ¾Ð»Ð¾Ð½ÐºÐ¸Ð°Ð½Ð°Ð»Ð¸Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ñ…Ð¾Ð±Ñ‰Ð°ÑÑтатиÑтика типколонкианализаданныхпоиÑкаÑÑоциаций типколонкианализаданныхпоиÑкпоÑледовательноÑтей типколонкимоделипрогноза типмерыраÑÑтоÑниÑанализаданных типотÑечениÑправилаÑÑоциации типполÑанализаданных типÑтандартизациианализаданных типупорÑдочиваниÑправилаÑÑоциациианализаданных типупорÑдочиваниÑшаблоновпоÑледовательноÑтейанализаданных типупрощениÑдереварешений wsнаправлениепараметра вариантxpathxs вариантзапиÑидатыjson вариантпроÑтоготипаxs видгруппымоделиxs видфаÑетаxdto дейÑтвиепоÑтроителÑdom завершенноÑтьпроÑтоготипаxs завершенноÑтьÑоÑтавноготипаxs завершенноÑтьÑхемыxs запрещенныеподÑтановкиxs иÑключениÑгруппподÑтановкиxs категориÑиÑпользованиÑатрибутаxs категориÑограничениÑидентичноÑтиxs категориÑограничениÑпроÑтранÑтвименxs методнаÑледованиÑxs модельÑодержимогоxs назначениетипаxml недопуÑтимыеподÑтановкиxs обработкапробельныхÑимволовxs обработкаÑодержимогоxs ограничениезначениÑxs параметрыотбораузловdom переноÑÑтрокjson позициÑвдокументеdom пробельныеÑимволыxml типатрибутаxml типзначениÑjson типканоничеÑкогоxml типкомпонентыxs типпроверкиxml типрезультатаdomxpath типузлаdom типузлаxml формаxml формапредÑтавлениÑxs форматдатыjson ÑкранированиеÑимволовjson видÑравнениÑкомпоновкиданных дейÑтвиеобработкираÑшифровкикомпоновкиданных направлениеÑортировкикомпоновкиданных раÑположениевложенныхÑлементоврезультатакомпоновкиданных раÑположениеитоговкомпоновкиданных раÑположениегруппировкикомпоновкиданных раÑположениеполейгруппировкикомпоновкиданных раÑположениеполÑкомпоновкиданных раÑположениереквизитовкомпоновкиданных раÑположениереÑурÑовкомпоновкиданных типбухгалтерÑкогооÑтаткакомпоновкиданных типвыводатекÑтакомпоновкиданных типгруппировкикомпоновкиданных типгруппыÑлементовотборакомпоновкиданных типдополнениÑпериодакомпоновкиданных типзаголовкаполейкомпоновкиданных типмакетагруппировкикомпоновкиданных типмакетаоблаÑтикомпоновкиданных типоÑтаткакомпоновкиданных типпериодакомпоновкиданных типразмещениÑтекÑтакомпоновкиданных типÑвÑзинаборовданныхкомпоновкиданных типÑлементарезультатакомпоновкиданных раÑположениелегендыдиаграммыкомпоновкиданных типприменениÑотборакомпоновкиданных режимотображениÑÑлементанаÑтройкикомпоновкиданных режимотображениÑнаÑтроеккомпоновкиданных ÑоÑтоÑниеÑлементанаÑтройкикомпоновкиданных ÑпоÑобвоÑÑтановлениÑнаÑтроеккомпоновкиданных режимкомпоновкирезультата иÑпользованиепараметракомпоновкиданных автопозициÑреÑурÑовкомпоновкиданных вариантиÑпользованиÑгруппировкикомпоновкиданных раÑположениереÑурÑоввдиаграммекомпоновкиданных фикÑациÑкомпоновкиданных иÑпользованиеуÑловногооформлениÑкомпоновкиданных важноÑтьинтернетпочтовогоÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ°Ñ‚ÐµÐºÑтаинтернетпочтовогоÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ ÑпоÑобкодированиÑÐ¸Ð½Ñ‚ÐµÑ€Ð½ÐµÑ‚Ð¿Ð¾Ñ‡Ñ‚Ð¾Ð²Ð¾Ð³Ð¾Ð²Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ ÑпоÑобкодированиÑнеasciiÑимволовинтернетпочтовогоÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ñ‚Ð¸Ð¿Ñ‚ÐµÐºÑтапочтовогоÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ñ‚Ð¾ÐºÐ¾Ð»Ð¸Ð½Ñ‚ÐµÑ€Ð½ÐµÑ‚Ð¿Ð¾Ñ‡Ñ‚Ñ‹ ÑтатуÑразборапочтовогоÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñ‚Ñ€Ð°Ð½Ð·Ð°ÐºÑ†Ð¸Ð¸Ð·Ð°Ð¿Ð¸ÑижурналарегиÑтрации ÑтатуÑтранзакциизапиÑижурналарегиÑтрации уровеньжурналарегиÑтрации раÑположениехранилищаÑертификатовкриптографии режимвключениÑÑертификатовкриптографии режимпроверкиÑертификатакриптографии типхранилищаÑертификатовкриптографии кодировкаименфайловвzipфайле методÑжатиÑzip методшифрованиÑzip режимвоÑÑтановлениÑпутейфайловzip режимобработкиподкаталоговzip режимÑохранениÑпутейzip уровеньÑжатиÑzip звуковоеоповещение направлениепереходакÑтроке позициÑвпотоке порÑдокбайтов режимблокировкиданных режимуправлениÑблокировкойданных ÑервиÑвÑтроенныхпокупок ÑоÑтоÑÐ½Ð¸ÐµÑ„Ð¾Ð½Ð¾Ð²Ð¾Ð³Ð¾Ð·Ð°Ð´Ð°Ð½Ð¸Ñ Ñ‚Ð¸Ð¿Ð¿Ð¾Ð´Ð¿Ð¸ÑчикадоÑтавлÑемыхуведомлений уровеньиÑпользованиÑзащищенногоÑоединениÑftp направлениепорÑдкаÑхемызапроÑа типдополнениÑпериодамиÑхемызапроÑа типконтрольнойточкиÑхемызапроÑа типобъединениÑÑхемызапроÑа типпараметрадоÑтупнойтаблицыÑхемызапроÑа типÑоединениÑÑхемызапроÑа httpметод автоиÑпользованиеобщегореквизита автопрефикÑномеразадачи вариантвÑтроенногоÑзыка видиерархии видрегиÑÑ‚Ñ€Ð°Ð½Ð°ÐºÐ¾Ð¿Ð»ÐµÐ½Ð¸Ñ Ð²Ð¸Ð´Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹Ð²Ð½ÐµÑˆÐ½ÐµÐ³Ð¾Ð¸Ñточникаданных запиÑьдвиженийприпроведении заполнениепоÑледовательноÑтей индекÑирование иÑпользованиебазыпланавидовраÑчета иÑпользованиебыÑтроговыбора иÑпользованиеобщегореквизита иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸ÐµÐ¿Ð¾Ð´Ñ‡Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¸ÑпользованиеполнотекÑтовогопоиÑка иÑпользованиеразделÑемыхданныхобщегореквизита иÑпользованиереквизита назначениеиÑпользованиÑÐ¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸ÐµÑ€Ð°ÑширениÑконфигурации направлениепередачи обновлениепредопределенныхданных оперативноепроведение оÑновноепредÑтавлениевидараÑчета оÑновноепредÑтавлениевидахарактериÑтики оÑновноепредÑтавлениезадачи оÑновноепредÑтавлениепланаобмена оÑновноепредÑтавлениеÑправочника оÑновноепредÑтавлениеÑчета перемещениеграницыприпроведении периодичноÑтьномерабизнеÑпроцеÑÑа периодичноÑтьномерадокумента периодичноÑтьрегиÑтрараÑчета периодичноÑтьрегиÑтраÑведений повторноеиÑпользованиевозвращаемыхзначений полнотекÑтовыйпоиÑкпривводепоÑтроке принадлежноÑтьобъекта проведение разделениеаутентификацииобщегореквизита разделениеданныхобщегореквизита разделениераÑширенийконфигурацииобщегореквизита режимавтонумерацииобъектов режимзапиÑирегиÑтра режимиÑпользованиÑмодальноÑти режимиÑпользованиÑÑинхронныхвызововраÑширенийплатформыивнешнихкомпонент режимповторногоиÑпользованиÑÑеанÑов режимполучениÑданныхвыборапривводепоÑтроке режимÑовмеÑтимоÑти режимÑовмеÑтимоÑтиинтерфейÑа режимуправлениÑблокировкойданныхпоумолчанию ÑериикодовпланавидовхарактериÑтик ÑериикодовпланаÑчетов ÑериикодовÑправочника Ñозданиепривводе ÑпоÑобвыбора ÑпоÑобпоиÑкаÑтрокипривводепоÑтроке ÑпоÑÐ¾Ð±Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ‚Ð¸Ð¿Ð´Ð°Ð½Ð½Ñ‹Ñ…Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹Ð²Ð½ÐµÑˆÐ½ÐµÐ³Ð¾Ð¸Ñточникаданных типкодапланавидовраÑчета типкодаÑправочника типмакета типномерабизнеÑпроцеÑÑа типномерадокумента типномеразадачи типформы удалениедвижений важноÑтьпроблемыприменениÑраÑширениÑконфигурации вариантинтерфейÑаклиентÑÐºÐ¾Ð³Ð¾Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð²Ð°Ñ€Ð¸Ð°Ð½Ñ‚Ð¼Ð°ÑштабаформклиентÑÐºÐ¾Ð³Ð¾Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð²Ð°Ñ€Ð¸Ð°Ð½Ñ‚Ð¾ÑновногошрифтаклиентÑÐºÐ¾Ð³Ð¾Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð²Ð°Ñ€Ð¸Ð°Ð½Ñ‚Ñтандартногопериода вариантÑтандартнойдатыначала видграницы видкартинки видотображениÑполнотекÑтовогопоиÑка видрамки видÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ Ð²Ð¸Ð´Ñ†Ð²ÐµÑ‚Ð° видчиÑÐ»Ð¾Ð²Ð¾Ð³Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð²Ð¸Ð´ÑˆÑ€Ð¸Ñ„Ñ‚Ð° допуÑтимаÑдлина допуÑтимыйзнак иÑпользованиеbyteordermark иÑпользованиеметаданныхполнотекÑтовогопоиÑка иÑточникраÑширенийконфигурации клавиша кодвозвратадиалога кодировкаxbase кодировкатекÑта направлениепоиÑка направлениеÑортировки обновлениепредопределенныхданных обновлениеприизмененииданных отображениепанелиразделов Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ°Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ð´Ð¸Ð°Ð»Ð¾Ð³Ð°Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ð·Ð°Ð¿ÑƒÑкаклиентÑÐºÐ¾Ð³Ð¾Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ð¾ÐºÑ€ÑƒÐ³Ð»ÐµÐ½Ð¸Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸ÑÑ„Ð¾Ñ€Ð¼Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ð¿Ð¾Ð»Ð½Ð¾Ñ‚ÐµÐºÑтовогопоиÑка ÑкороÑтьклиентÑкогоÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ ÑоÑтоÑниевнешнегоиÑточникаданных ÑоÑтоÑниеобновлениÑконфигурациибазыданных ÑпоÑобвыбораÑертификатаwindows ÑпоÑобкодированиÑÑтроки ÑтатуÑÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ñ‚Ð¸Ð¿Ð²Ð½ÐµÑˆÐ½ÐµÐ¹ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ñ‹ типплатформы типповедениÑклавишиenter типÑлементаинформацииовыполненииобновлениÑконфигурациибазыданных уровеньизолÑциитранзакций Ñ…ÐµÑˆÑ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ñ‡Ð°Ñтидаты",type:"comобъект ftpÑоединение httpÐ·Ð°Ð¿Ñ€Ð¾Ñ httpÑервиÑответ httpÑоединение wsÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ wsпрокÑи xbase анализданных аннотациÑxs блокировкаданных буфердвоичныхданных включениеxs выражениекомпоновкиданных генераторÑлучайныхчиÑел географичеÑкаÑÑхема географичеÑкиекоординаты графичеÑкаÑÑхема группамоделиxs данныераÑшифровкикомпоновкиданных двоичныеданные дендрограмма диаграмма диаграммаганта диалогвыборафайла диалогвыборацвета диалогвыборашрифта диалограÑпиÑаниÑÑ€ÐµÐ³Ð»Ð°Ð¼ÐµÐ½Ñ‚Ð½Ð¾Ð³Ð¾Ð·Ð°Ð´Ð°Ð½Ð¸Ñ Ð´Ð¸Ð°Ð»Ð¾Ð³Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸ÑÑтандартногопериода диапазон документdom документhtml документациÑxs доÑтавлÑемоеуведомление запиÑÑŒdom запиÑÑŒfastinfoset запиÑÑŒhtml запиÑÑŒjson запиÑÑŒxml запиÑÑŒzipфайла запиÑьданных запиÑьтекÑта запиÑьузловdom Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð·Ð°Ñ‰Ð¸Ñ‰ÐµÐ½Ð½Ð¾ÐµÑоединениеopenssl значениÑполейраÑшифровкикомпоновкиданных извлечениетекÑта импортxs интернетпочта интернетпочтовоеÑообщение интернетпочтовыйпрофиль интернетпрокÑи интернетÑоединение информациÑдлÑприложениÑxs иÑпользованиеатрибутаxs иÑпользованиеÑобытиÑжурналарегиÑтрации иÑточникдоÑтупныхнаÑтроеккомпоновкиданных итераторузловdom картинка квалификаторыдаты квалификаторыдвоичныхданных квалификаторыÑтроки квалификаторычиÑла компоновщикмакетакомпоновкиданных компоновщикнаÑтроеккомпоновкиданных конÑтруктормакетаоформлениÑкомпоновкиданных конÑтрукторнаÑтроеккомпоновкиданных конÑтрукторформатнойÑтроки Ð»Ð¸Ð½Ð¸Ñ Ð¼Ð°ÐºÐµÑ‚ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸Ð´Ð°Ð½Ð½Ñ‹Ñ… макетоблаÑтикомпоновкиданных макетоформлениÑкомпоновкиданных маÑкаxs менеджеркриптографии наборÑхемxml наÑтройкикомпоновкиданных наÑтройкиÑериализацииjson обработкакартинок обработкараÑшифровкикомпоновкиданных обходдереваdom объÑвлениеатрибутаxs объÑвлениенотацииxs объÑвлениеÑлементаxs опиÑаниеиÑпользованиÑÑобытиÑдоÑтупжурналарегиÑтрации опиÑаниеиÑпользованиÑÑобытиÑотказвдоÑтупежурналарегиÑтрации опиÑаниеобработкираÑшифровкикомпоновкиданных опиÑаниепередаваемогофайла опиÑаниетипов определениегруппыатрибутовxs определениегруппымоделиxs определениеограничениÑидентичноÑтиxs определениепроÑтоготипаxs определениеÑоÑтавноготипаxs определениетипадокументаdom определениÑxpathxs отборкомпоновкиданных пакетотображаемыхдокументов параметрвыбора параметркомпоновкиданных параметрызапиÑиjson параметрызапиÑиxml параметрычтениÑxml переопределениеxs планировщик полеанализаданных полекомпоновкиданных поÑтроительdom поÑтроительзапроÑа поÑтроительотчета поÑтроительотчетаанализаданных поÑтроительÑхемxml поток потоквпамÑти почта почтовоеÑообщение преобразованиеxsl преобразованиекканоничеÑкомуxml процеÑÑорвыводарезультатакомпоновкиданныхвколлекциюзначений процеÑÑорвыводарезультатакомпоновкиданныхвтабличныйдокумент процеÑÑоркомпоновкиданных разыменовательпроÑтранÑтвименdom рамка раÑпиÑÐ°Ð½Ð¸ÐµÑ€ÐµÐ³Ð»Ð°Ð¼ÐµÐ½Ñ‚Ð½Ð¾Ð³Ð¾Ð·Ð°Ð´Ð°Ð½Ð¸Ñ Ñ€Ð°ÑширенноеимÑxml результатчтениÑданных ÑводнаÑдиаграмма ÑвÑзьпараметравыбора ÑвÑзьпотипу ÑвÑзьпотипукомпоновкиданных Ñериализаторxdto Ñертификатклиентаwindows Ñертификатклиентафайл Ñертификаткриптографии ÑертификатыудоÑтоверÑющихцентровwindows ÑертификатыудоÑтоверÑющихцентровфайл Ñжатиеданных ÑиÑтемнаÑÐ¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ñообщениепользователю Ñочетаниеклавиш Ñравнениезначений ÑтандартнаÑдатаначала Ñтандартныйпериод Ñхемаxml Ñхемакомпоновкиданных табличныйдокумент текÑтовыйдокумент теÑтируемоеприложение типданныхxml уникальныйидентификатор фабрикаxdto файл файловыйпоток фаÑетдлиныxs фаÑетколичеÑтваразрÑдовдробнойчаÑтиxs фаÑетмакÑимальноговключающегозначениÑxs фаÑетмакÑимальногоиÑключающегозначениÑxs фаÑетмакÑимальнойдлиныxs фаÑетминимальноговключающегозначениÑxs фаÑетминимальногоиÑключающегозначениÑxs фаÑетминимальнойдлиныxs фаÑетобразцаxs фаÑетобщегоколичеÑтваразрÑдовxs фаÑетперечиÑлениÑxs фаÑетпробельныхÑимволовxs фильтрузловdom форматированнаÑÑтрока форматированныйдокумент фрагментxs хешированиеданных Ñ…Ñ€Ð°Ð½Ð¸Ð»Ð¸Ñ‰ÐµÐ·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñ†Ð²ÐµÑ‚ чтениеfastinfoset чтениеhtml чтениеjson чтениеxml чтениеzipфайла чтениеданных чтениетекÑта чтениеузловdom шрифт Ñлементрезультатакомпоновкиданных comsafearray деревозначений маÑÑив ÑоответÑтвие ÑпиÑокзначений Ñтруктура таблицазначений фикÑированнаÑÑтруктура фикÑированноеÑоответÑтвие фикÑированныймаÑÑив ",literal:r},contains:[l,{className:"function",lexemes:t,variants:[{begin:"процедура|функциÑ",end:"\\)",keywords:"процедура функциÑ"},{begin:"конецпроцедуры|конецфункции",keywords:"конецпроцедуры конецфункции"}],contains:[{begin:"\\(",end:"\\)",endsParent:!0,contains:[{className:"params",lexemes:t,begin:t,end:",",excludeEnd:!0,endsWithParent:!0,keywords:{keyword:"знач",literal:r},contains:[i,s,n]},o]},e.inherit(e.TITLE_MODE,{begin:t})]},o,c,i,s,n]}}},{name:"abnf",create:function(e){var t={ruleDeclaration:"^[a-zA-Z][a-zA-Z0-9-]*",unexpectedChars:"[!@#$^&',?+~`|:]"},a=["ALPHA","BIT","CHAR","CR","CRLF","CTL","DIGIT","DQUOTE","HEXDIG","HTAB","LF","LWSP","OCTET","SP","VCHAR","WSP"],r=e.COMMENT(";","$"),i={className:"symbol",begin:/%b[0-1]+(-[0-1]+|(\.[0-1]+)+){0,1}/},s={className:"symbol",begin:/%d[0-9]+(-[0-9]+|(\.[0-9]+)+){0,1}/},n={className:"symbol",begin:/%x[0-9A-F]+(-[0-9A-F]+|(\.[0-9A-F]+)+){0,1}/},o={className:"symbol",begin:/%[si]/},l={begin:t.ruleDeclaration+"\\s*=",returnBegin:!0,end:/=/,relevance:0,contains:[{className:"attribute",begin:t.ruleDeclaration}]};return{illegal:t.unexpectedChars,keywords:a.join(" "),contains:[l,r,i,s,n,o,e.QUOTE_STRING_MODE,e.NUMBER_MODE]}}},{name:"accesslog",create:function(e){return{contains:[{className:"number",begin:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{className:"number",begin:"\\b\\d+\\b",relevance:0},{className:"string",begin:'"(GET|POST|HEAD|PUT|DELETE|CONNECT|OPTIONS|PATCH|TRACE)',end:'"',keywords:"GET POST HEAD PUT DELETE CONNECT OPTIONS PATCH TRACE",illegal:"\\n",relevance:10},{className:"string",begin:/\[/,end:/\]/,illegal:"\\n"},{className:"string",begin:'"',end:'"',illegal:"\\n"}]}}},{name:"actionscript",create:function(e){var t={className:"rest_arg",begin:"[.]{3}",end:"[a-zA-Z_$][a-zA-Z0-9_$]*",relevance:10};return{aliases:["as"],keywords:{keyword:"as break case catch class const continue default delete do dynamic each else extends final finally for function get if implements import in include instanceof interface internal is namespace native new override package private protected public return set static super switch this throw try typeof use var void while with",literal:"true false null undefined"},contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.C_NUMBER_MODE,{className:"class",beginKeywords:"package",end:"{",contains:[e.TITLE_MODE]},{className:"class",beginKeywords:"class interface",end:"{",excludeEnd:!0,contains:[{beginKeywords:"extends implements"},e.TITLE_MODE]},{className:"meta",beginKeywords:"import include",end:";",keywords:{"meta-keyword":"import include"}},{className:"function",beginKeywords:"function",end:"[{;]",excludeEnd:!0,illegal:"\\S",contains:[e.TITLE_MODE,{className:"params",begin:"\\(",end:"\\)",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t]},{begin:":\\s*([*]|[a-zA-Z_$][a-zA-Z0-9_$]*)"}]},e.METHOD_GUARD],illegal:/#/}}},{name:"ada",create:function(e){var t="[A-Za-z](_?[A-Za-z0-9.])*",a=e.COMMENT("--","$"),r={begin:"\\s+:\\s+",end:"\\s*(:=|;|\\)|=>|$)",illegal:"[]{}%#'\"",contains:[{beginKeywords:"loop for declare others",endsParent:!0},{className:"keyword",beginKeywords:"not null constant access function procedure in out aliased exception"},{className:"type",begin:t,endsParent:!0,relevance:0}]};return{case_insensitive:!0,keywords:{keyword:"abort else new return abs elsif not reverse abstract end accept entry select access exception of separate aliased exit or some all others subtype and for out synchronized array function overriding at tagged generic package task begin goto pragma terminate body private then if procedure type case in protected constant interface is raise use declare range delay limited record when delta loop rem while digits renames with do mod requeue xor",literal:"True False"},contains:[a,{className:"string",begin:/"/,end:/"/,contains:[{begin:/""/,relevance:0}]},{className:"string",begin:/'.'/},{className:"number",begin:"\\b(\\d(_|\\d)*#\\w+(\\.\\w+)?#([eE][-+]?\\d(_|\\d)*)?|\\d(_|\\d)*(\\.\\d(_|\\d)*)?([eE][-+]?\\d(_|\\d)*)?)",relevance:0},{className:"symbol",begin:"'"+t},{className:"title",begin:"(\\bwith\\s+)?(\\bprivate\\s+)?\\bpackage\\s+(\\bbody\\s+)?",end:"(is|$)",keywords:"package body",excludeBegin:!0,excludeEnd:!0,illegal:"[]{}%#'\""},{begin:"(\\b(with|overriding)\\s+)?\\b(function|procedure)\\s+",end:"(\\bis|\\bwith|\\brenames|\\)\\s*;)",keywords:"overriding function procedure with is renames return",returnBegin:!0,contains:[a,{className:"title",begin:"(\\bwith\\s+)?\\b(function|procedure)\\s+",end:"(\\(|\\s+|$)",excludeBegin:!0,excludeEnd:!0,illegal:"[]{}%#'\""},r,{className:"type",begin:"\\breturn\\s+",end:"(\\s+|;|$)",keywords:"return",excludeBegin:!0,excludeEnd:!0,endsParent:!0,illegal:"[]{}%#'\""}]},{className:"type",begin:"\\b(sub)?type\\s+",end:"\\s+",keywords:"type",excludeBegin:!0,illegal:"[]{}%#'\""},r]}}},{name:"angelscript",create:function(e){var t={className:"built_in",begin:"\\b(void|bool|int|int8|int16|int32|int64|uint|uint8|uint16|uint32|uint64|string|ref|array|double|float|auto|dictionary)"},a={className:"symbol",begin:"[a-zA-Z0-9_]+@"},r={className:"keyword",begin:"<",end:">",contains:[t,a]};return t.contains=[r],a.contains=[r],{aliases:["asc"],keywords:"for in|0 break continue while do|0 return if else case switch namespace is cast or and xor not get|0 in inout|10 out override set|0 private public const default|0 final shared external mixin|10 enum typedef funcdef this super import from interface abstract|0 try catch protected explicit",illegal:"(^using\\s+[A-Za-z0-9_\\.]+;$|\\bfunctions*[^\\(])",contains:[{className:"string",begin:"'",end:"'",illegal:"\\n",contains:[e.BACKSLASH_ESCAPE],relevance:0},{className:"string",begin:'"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE],relevance:0},{className:"string",begin:'"""',end:'"""'},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{beginKeywords:"interface namespace",end:"{",illegal:"[;.\\-]",contains:[{className:"symbol",begin:"[a-zA-Z0-9_]+"}]},{beginKeywords:"class",end:"{",illegal:"[;.\\-]",contains:[{className:"symbol",begin:"[a-zA-Z0-9_]+",contains:[{begin:"[:,]\\s*",contains:[{className:"symbol",begin:"[a-zA-Z0-9_]+"}]}]}]},t,a,{className:"literal",begin:"\\b(null|true|false)"},{className:"number",begin:"(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?f?|\\.\\d+f?)([eE][-+]?\\d+f?)?)"}]}}},{name:"apache",create:function(e){var t={className:"number",begin:"[\\$%]\\d+"};return{aliases:["apacheconf"],case_insensitive:!0,contains:[e.HASH_COMMENT_MODE,{className:"section",begin:"</?",end:">"},{className:"attribute",begin:/\w+/,relevance:0,keywords:{nomarkup:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{end:/$/,relevance:0,keywords:{literal:"on off all"},contains:[{className:"meta",begin:"\\s\\[",end:"\\]$"},{className:"variable",begin:"[\\$%]\\{",end:"\\}",contains:["self",t]},t,e.QUOTE_STRING_MODE]}}],illegal:/\S/}}},{name:"applescript",create:function(e){var t=e.inherit(e.QUOTE_STRING_MODE,{illegal:""}),a={className:"params",begin:"\\(",end:"\\)",contains:["self",e.C_NUMBER_MODE,t]},r=e.COMMENT("--","$"),i=e.COMMENT("\\(\\*","\\*\\)",{contains:["self",r]}),s=[r,i,e.HASH_COMMENT_MODE];return{aliases:["osascript"],keywords:{keyword:"about above after against and around as at back before beginning behind below beneath beside between but by considering contain contains continue copy div does eighth else end equal equals error every exit fifth first for fourth from front get given global if ignoring in into is it its last local me middle mod my ninth not of on onto or over prop property put ref reference repeat returning script second set seventh since sixth some tell tenth that the|0 then third through thru timeout times to transaction try until where while whose with without",literal:"AppleScript false linefeed return pi quote result space tab true",built_in:"alias application boolean class constant date file integer list number real record string text activate beep count delay launch log offset read round run say summarize write character characters contents day frontmost id item length month name paragraph paragraphs rest reverse running time version weekday word words year"},contains:[t,e.C_NUMBER_MODE,{className:"built_in",begin:"\\b(clipboard info|the clipboard|info for|list (disks|folder)|mount volume|path to|(close|open for) access|(get|set) eof|current date|do shell script|get volume settings|random number|set volume|system attribute|system info|time to GMT|(load|run|store) script|scripting components|ASCII (character|number)|localized string|choose (application|color|file|file name|folder|from list|remote application|URL)|display (alert|dialog))\\b|^\\s*return\\b"},{className:"literal",begin:"\\b(text item delimiters|current application|missing value)\\b"},{className:"keyword",begin:"\\b(apart from|aside from|instead of|out of|greater than|isn't|(doesn't|does not) (equal|come before|come after|contain)|(greater|less) than( or equal)?|(starts?|ends|begins?) with|contained by|comes (before|after)|a (ref|reference)|POSIX file|POSIX path|(date|time) string|quoted form)\\b"},{beginKeywords:"on",illegal:"[${=;\\n]",contains:[e.UNDERSCORE_TITLE_MODE,a]}].concat(s),illegal:"//|->|=>|\\[\\["}}},{name:"arcade",create:function(e){var t="[A-Za-z_][0-9A-Za-z_]*",a={keyword:"if for while var new function do return void else break",literal:"true false null undefined NaN Infinity PI BackSlash DoubleQuote ForwardSlash NewLine SingleQuote Tab",built_in:"Abs Acos Area AreaGeodetic Asin Atan Atan2 Average Boolean Buffer BufferGeodetic Ceil Centroid Clip Console Constrain Contains Cos Count Crosses Cut Date DateAdd DateDiff Day Decode DefaultValue Dictionary Difference Disjoint Distance Distinct DomainCode DomainName Equals Exp Extent Feature FeatureSet FeatureSetById FeatureSetByTitle FeatureSetByUrl Filter First Floor Geometry Guid HasKey Hour IIf IndexOf Intersection Intersects IsEmpty Length LengthGeodetic Log Max Mean Millisecond Min Minute Month MultiPartToSinglePart Multipoint NextSequenceValue Now Number OrderBy Overlaps Point Polygon Polyline Pow Random Relate Reverse Round Second SetGeometry Sin Sort Sqrt Stdev Sum SymmetricDifference Tan Text Timestamp Today ToLocal Top Touches ToUTC TypeOf Union Variance Weekday When Within Year "},r={className:"symbol",begin:"\\$[feature|layer|map|value|view]+"},i={className:"number",variants:[{begin:"\\b(0[bB][01]+)"},{begin:"\\b(0[oO][0-7]+)"},{begin:e.C_NUMBER_RE}],relevance:0},s={className:"subst",begin:"\\$\\{",end:"\\}",keywords:a,contains:[]},n={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,s]};s.contains=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,n,i,e.REGEXP_MODE];var o=s.contains.concat([e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]);return{aliases:["arcade"],keywords:a,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,n,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,r,i,{begin:/[{,]\s*/,relevance:0,contains:[{begin:t+"\\s*:",returnBegin:!0,relevance:0,contains:[{className:"attr",begin:t,relevance:0}]}]},{begin:"("+e.RE_STARTERS_RE+"|\\b(return)\\b)\\s*",keywords:"return",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.REGEXP_MODE,{className:"function",begin:"(\\(.*?\\)|"+t+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t},{begin:/\(\s*\)/},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:o}]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/\{/,excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:t}),{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:o}],illegal:/\[|%/},{begin:/\$[(.]/}],illegal:/#(?!!)/}}},{name:"arduino",create:function(e){var t=e.getLanguage("cpp").exports;return{keywords:{keyword:"boolean byte word string String array "+t.keywords.keyword, +built_in:"setup loop while catch for if do goto try switch case else default break continue return KeyboardController MouseController SoftwareSerial EthernetServer EthernetClient LiquidCrystal RobotControl GSMVoiceCall EthernetUDP EsploraTFT HttpClient RobotMotor WiFiClient GSMScanner FileSystem Scheduler GSMServer YunClient YunServer IPAddress GSMClient GSMModem Keyboard Ethernet Console GSMBand Esplora Stepper Process WiFiUDP GSM_SMS Mailbox USBHost Firmata PImage Client Server GSMPIN FileIO Bridge Serial EEPROM Stream Mouse Audio Servo File Task GPRS WiFi Wire TFT GSM SPI SD runShellCommandAsynchronously analogWriteResolution retrieveCallingNumber printFirmwareVersion analogReadResolution sendDigitalPortPair noListenOnLocalhost readJoystickButton setFirmwareVersion readJoystickSwitch scrollDisplayRight getVoiceCallStatus scrollDisplayLeft writeMicroseconds delayMicroseconds beginTransmission getSignalStrength runAsynchronously getAsynchronously listenOnLocalhost getCurrentCarrier readAccelerometer messageAvailable sendDigitalPorts lineFollowConfig countryNameWrite runShellCommand readStringUntil rewindDirectory readTemperature setClockDivider readLightSensor endTransmission analogReference detachInterrupt countryNameRead attachInterrupt encryptionType readBytesUntil robotNameWrite readMicrophone robotNameRead cityNameWrite userNameWrite readJoystickY readJoystickX mouseReleased openNextFile scanNetworks noInterrupts digitalWrite beginSpeaker mousePressed isActionDone mouseDragged displayLogos noAutoscroll addParameter remoteNumber getModifiers keyboardRead userNameRead waitContinue processInput parseCommand printVersion readNetworks writeMessage blinkVersion cityNameRead readMessage setDataMode parsePacket isListening setBitOrder beginPacket isDirectory motorsWrite drawCompass digitalRead clearScreen serialEvent rightToLeft setTextSize leftToRight requestFrom keyReleased compassRead analogWrite interrupts WiFiServer disconnect playMelody parseFloat autoscroll getPINUsed setPINUsed setTimeout sendAnalog readSlider analogRead beginWrite createChar motorsStop keyPressed tempoWrite readButton subnetMask debugPrint macAddress writeGreen randomSeed attachGPRS readString sendString remotePort releaseAll mouseMoved background getXChange getYChange answerCall getResult voiceCall endPacket constrain getSocket writeJSON getButton available connected findUntil readBytes exitValue readGreen writeBlue startLoop IPAddress isPressed sendSysex pauseMode gatewayIP setCursor getOemKey tuneWrite noDisplay loadImage switchPIN onRequest onReceive changePIN playFile noBuffer parseInt overflow checkPIN knobRead beginTFT bitClear updateIR bitWrite position writeRGB highByte writeRed setSpeed readBlue noStroke remoteIP transfer shutdown hangCall beginSMS endWrite attached maintain noCursor checkReg checkPUK shiftOut isValid shiftIn pulseIn connect println localIP pinMode getIMEI display noBlink process getBand running beginSD drawBMP lowByte setBand release bitRead prepare pointTo readRed setMode noFill remove listen stroke detach attach noTone exists buffer height bitSet circle config cursor random IRread setDNS endSMS getKey micros millis begin print write ready flush width isPIN blink clear press mkdir rmdir close point yield image BSSID click delay read text move peek beep rect line open seek fill size turn stop home find step tone sqrt RSSI SSID end bit tan cos sin pow map abs max min get run put",literal:"DIGITAL_MESSAGE FIRMATA_STRING ANALOG_MESSAGE REPORT_DIGITAL REPORT_ANALOG INPUT_PULLUP SET_PIN_MODE INTERNAL2V56 SYSTEM_RESET LED_BUILTIN INTERNAL1V1 SYSEX_START INTERNAL EXTERNAL DEFAULT OUTPUT INPUT HIGH LOW"},contains:[t.preprocessor,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE]}}},{name:"armasm",create:function(e){return{case_insensitive:!0,aliases:["arm"],lexemes:"\\.?"+e.IDENT_RE,keywords:{meta:".2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .arm .thumb .code16 .code32 .force_thumb .thumb_func .ltorg ALIAS ALIGN ARM AREA ASSERT ATTR CN CODE CODE16 CODE32 COMMON CP DATA DCB DCD DCDU DCDO DCFD DCFDU DCI DCQ DCQU DCW DCWU DN ELIF ELSE END ENDFUNC ENDIF ENDP ENTRY EQU EXPORT EXPORTAS EXTERN FIELD FILL FUNCTION GBLA GBLL GBLS GET GLOBAL IF IMPORT INCBIN INCLUDE INFO KEEP LCLA LCLL LCLS LTORG MACRO MAP MEND MEXIT NOFP OPT PRESERVE8 PROC QN READONLY RELOC REQUIRE REQUIRE8 RLIST FN ROUT SETA SETL SETS SN SPACE SUBT THUMB THUMBX TTL WHILE WEND ",built_in:"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 pc lr sp ip sl sb fp a1 a2 a3 a4 v1 v2 v3 v4 v5 v6 v7 v8 f0 f1 f2 f3 f4 f5 f6 f7 p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 q12 q13 q14 q15 cpsr_c cpsr_x cpsr_s cpsr_f cpsr_cx cpsr_cxs cpsr_xs cpsr_xsf cpsr_sf cpsr_cxsf spsr_c spsr_x spsr_s spsr_f spsr_cx spsr_cxs spsr_xs spsr_xsf spsr_sf spsr_cxsf s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 d16 d17 d18 d19 d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30 d31 {PC} {VAR} {TRUE} {FALSE} {OPT} {CONFIG} {ENDIAN} {CODESIZE} {CPU} {FPU} {ARCHITECTURE} {PCSTOREOFFSET} {ARMASM_VERSION} {INTER} {ROPI} {RWPI} {SWST} {NOSWST} . @"},contains:[{className:"keyword",begin:"\\b(adc|(qd?|sh?|u[qh]?)?add(8|16)?|usada?8|(q|sh?|u[qh]?)?(as|sa)x|and|adrl?|sbc|rs[bc]|asr|b[lx]?|blx|bxj|cbn?z|tb[bh]|bic|bfc|bfi|[su]bfx|bkpt|cdp2?|clz|clrex|cmp|cmn|cpsi[ed]|cps|setend|dbg|dmb|dsb|eor|isb|it[te]{0,3}|lsl|lsr|ror|rrx|ldm(([id][ab])|f[ds])?|ldr((s|ex)?[bhd])?|movt?|mvn|mra|mar|mul|[us]mull|smul[bwt][bt]|smu[as]d|smmul|smmla|mla|umlaal|smlal?([wbt][bt]|d)|mls|smlsl?[ds]|smc|svc|sev|mia([bt]{2}|ph)?|mrr?c2?|mcrr2?|mrs|msr|orr|orn|pkh(tb|bt)|rbit|rev(16|sh)?|sel|[su]sat(16)?|nop|pop|push|rfe([id][ab])?|stm([id][ab])?|str(ex)?[bhd]?|(qd?)?sub|(sh?|q|u[qh]?)?sub(8|16)|[su]xt(a?h|a?b(16)?)|srs([id][ab])?|swpb?|swi|smi|tst|teq|wfe|wfi|yield)(eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|hs|lo)?[sptrx]?",end:"\\s"},e.COMMENT("[;@]","$",{relevance:0}),e.C_BLOCK_COMMENT_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:"'",end:"[^\\\\]'",relevance:0},{className:"title",begin:"\\|",end:"\\|",illegal:"\\n",relevance:0},{className:"number",variants:[{begin:"[#$=]?0x[0-9a-f]+"},{begin:"[#$=]?0b[01]+"},{begin:"[#$=]\\d+"},{begin:"\\b\\d+"}],relevance:0},{className:"symbol",variants:[{begin:"^[a-z_\\.\\$][a-z0-9_\\.\\$]+"},{begin:"^\\s*[a-z_\\.\\$][a-z0-9_\\.\\$]+:"},{begin:"[=#]\\w+"}],relevance:0}]}}},{name:"asciidoc",create:function(e){return{aliases:["adoc"],contains:[e.COMMENT("^/{4,}\\n","\\n/{4,}$",{relevance:10}),e.COMMENT("^//","$",{relevance:0}),{className:"title",begin:"^\\.\\w.*$"},{begin:"^[=\\*]{4,}\\n",end:"\\n^[=\\*]{4,}$",relevance:10},{className:"section",relevance:10,variants:[{begin:"^(={1,5}) .+?( \\1)?$"},{begin:"^[^\\[\\]\\n]+?\\n[=\\-~\\^\\+]{2,}$"}]},{className:"meta",begin:"^:.+?:",end:"\\s",excludeEnd:!0,relevance:10},{className:"meta",begin:"^\\[.+?\\]$",relevance:0},{className:"quote",begin:"^_{4,}\\n",end:"\\n_{4,}$",relevance:10},{className:"code",begin:"^[\\-\\.]{4,}\\n",end:"\\n[\\-\\.]{4,}$",relevance:10},{begin:"^\\+{4,}\\n",end:"\\n\\+{4,}$",contains:[{begin:"<",end:">",subLanguage:"xml",relevance:0}],relevance:10},{className:"bullet",begin:"^(\\*+|\\-+|\\.+|[^\\n]+?::)\\s+"},{className:"symbol",begin:"^(NOTE|TIP|IMPORTANT|WARNING|CAUTION):\\s+",relevance:10},{className:"strong",begin:"\\B\\*(?![\\*\\s])",end:"(\\n{2}|\\*)",contains:[{begin:"\\\\*\\w",relevance:0}]},{className:"emphasis",begin:"\\B'(?!['\\s])",end:"(\\n{2}|')",contains:[{begin:"\\\\'\\w",relevance:0}],relevance:0},{className:"emphasis",begin:"_(?![_\\s])",end:"(\\n{2}|_)",relevance:0},{className:"string",variants:[{begin:"``.+?''"},{begin:"`.+?'"}]},{className:"code",begin:"(`.+?`|\\+.+?\\+)",relevance:0},{className:"code",begin:"^[ \\t]",end:"$",relevance:0},{begin:"^'{3,}[ \\t]*$",relevance:10},{begin:"(link:)?(http|https|ftp|file|irc|image:?):\\S+\\[.*?\\]",returnBegin:!0,contains:[{begin:"(link|image:?):",relevance:0},{className:"link",begin:"\\w",end:"[^\\[]+",relevance:0},{className:"string",begin:"\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0,relevance:0}],relevance:10}]}}},{name:"aspectj",create:function(e){var t="false synchronized int abstract float private char boolean static null if const for true while long throw strictfp finally protected import native final return void enum else extends implements break transient new catch instanceof byte super volatile case assert short package default double public try this switch continue throws privileged aspectOf adviceexecution proceed cflowbelow cflow initialization preinitialization staticinitialization withincode target within execution getWithinTypeName handler thisJoinPoint thisJoinPointStaticPart thisEnclosingJoinPointStaticPart declare parents warning error soft precedence thisAspectInstance";return{keywords:t,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"class",beginKeywords:"aspect",end:/[{;=]/,excludeEnd:!0,illegal:/[:;"\[\]]/,contains:[{beginKeywords:"extends implements pertypewithin perthis pertarget percflowbelow percflow issingleton"},e.UNDERSCORE_TITLE_MODE,{begin:/\([^\)]*/,end:/[)]+/,keywords:t+" get set args call",excludeEnd:!1}]},{className:"class",beginKeywords:"class interface",end:/[{;=]/,excludeEnd:!0,relevance:0,keywords:"class interface",illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"pointcut after before around throwing returning",end:/[)]/,excludeEnd:!1,illegal:/["\[\]]/,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,contains:[e.UNDERSCORE_TITLE_MODE]}]},{begin:/[:]/,returnBegin:!0,end:/[{;]/,relevance:0,excludeEnd:!1,keywords:t,illegal:/["\[\]]/,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",keywords:t+" get set args call",relevance:0},e.QUOTE_STRING_MODE]},{beginKeywords:"new throw",relevance:0},{className:"function",begin:/\w+ +\w+(\.)?\w+\s*\([^\)]*\)\s*((throws)[\w\s,]+)?[\{;]/,returnBegin:!0,end:/[{;=]/,keywords:t,excludeEnd:!0,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"params",begin:/\(/,end:/\)/,relevance:0,keywords:t,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},e.C_NUMBER_MODE,{className:"meta",begin:"@[A-Za-z]+"}]}}},{name:"autohotkey",create:function(e){var t={begin:"`[\\s\\S]"};return{case_insensitive:!0,aliases:["ahk"],keywords:{keyword:"Break Continue Critical Exit ExitApp Gosub Goto New OnExit Pause return SetBatchLines SetTimer Suspend Thread Throw Until ahk_id ahk_class ahk_pid ahk_exe ahk_group",literal:"true false NOT AND OR",built_in:"ComSpec Clipboard ClipboardAll ErrorLevel"},contains:[t,e.inherit(e.QUOTE_STRING_MODE,{contains:[t]}),e.COMMENT(";","$",{relevance:0}),e.C_BLOCK_COMMENT_MODE,{className:"number",begin:e.NUMBER_RE,relevance:0},{className:"variable",begin:"%[a-zA-Z0-9#_$@]+%"},{className:"built_in",begin:"^\\s*\\w+\\s*(,|%)"},{className:"title",variants:[{begin:'^[^\\n";]+::(?!=)'},{begin:'^[^\\n";]+:(?!=)',relevance:0}]},{className:"meta",begin:"^\\s*#\\w+",end:"$",relevance:0},{className:"built_in",begin:"A_[a-zA-Z0-9]+"},{begin:",\\s*,"}]}}},{name:"autoit",create:function(e){var t={variants:[e.COMMENT(";","$",{relevance:0}),e.COMMENT("#cs","#ce"),e.COMMENT("#comments-start","#comments-end")]},a={begin:"\\$[A-z0-9_]+"},r={className:"string",variants:[{begin:/"/,end:/"/,contains:[{begin:/""/,relevance:0}]},{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]}]},i={variants:[e.BINARY_NUMBER_MODE,e.C_NUMBER_MODE]};return{case_insensitive:!0,illegal:/\/\*/,keywords:{keyword:"ByRef Case Const ContinueCase ContinueLoop Default Dim Do Else ElseIf EndFunc EndIf EndSelect EndSwitch EndWith Enum Exit ExitLoop For Func Global If In Local Next ReDim Return Select Static Step Switch Then To Until Volatile WEnd While With",built_in:"Abs ACos AdlibRegister AdlibUnRegister Asc AscW ASin Assign ATan AutoItSetOption AutoItWinGetTitle AutoItWinSetTitle Beep Binary BinaryLen BinaryMid BinaryToString BitAND BitNOT BitOR BitRotate BitShift BitXOR BlockInput Break Call CDTray Ceiling Chr ChrW ClipGet ClipPut ConsoleRead ConsoleWrite ConsoleWriteError ControlClick ControlCommand ControlDisable ControlEnable ControlFocus ControlGetFocus ControlGetHandle ControlGetPos ControlGetText ControlHide ControlListView ControlMove ControlSend ControlSetText ControlShow ControlTreeView Cos Dec DirCopy DirCreate DirGetSize DirMove DirRemove DllCall DllCallAddress DllCallbackFree DllCallbackGetPtr DllCallbackRegister DllClose DllOpen DllStructCreate DllStructGetData DllStructGetPtr DllStructGetSize DllStructSetData DriveGetDrive DriveGetFileSystem DriveGetLabel DriveGetSerial DriveGetType DriveMapAdd DriveMapDel DriveMapGet DriveSetLabel DriveSpaceFree DriveSpaceTotal DriveStatus EnvGet EnvSet EnvUpdate Eval Execute Exp FileChangeDir FileClose FileCopy FileCreateNTFSLink FileCreateShortcut FileDelete FileExists FileFindFirstFile FileFindNextFile FileFlush FileGetAttrib FileGetEncoding FileGetLongName FileGetPos FileGetShortcut FileGetShortName FileGetSize FileGetTime FileGetVersion FileInstall FileMove FileOpen FileOpenDialog FileRead FileReadLine FileReadToArray FileRecycle FileRecycleEmpty FileSaveDialog FileSelectFolder FileSetAttrib FileSetEnd FileSetPos FileSetTime FileWrite FileWriteLine Floor FtpSetProxy FuncName GUICreate GUICtrlCreateAvi GUICtrlCreateButton GUICtrlCreateCheckbox GUICtrlCreateCombo GUICtrlCreateContextMenu GUICtrlCreateDate GUICtrlCreateDummy GUICtrlCreateEdit GUICtrlCreateGraphic GUICtrlCreateGroup GUICtrlCreateIcon GUICtrlCreateInput GUICtrlCreateLabel GUICtrlCreateList GUICtrlCreateListView GUICtrlCreateListViewItem GUICtrlCreateMenu GUICtrlCreateMenuItem GUICtrlCreateMonthCal GUICtrlCreateObj GUICtrlCreatePic GUICtrlCreateProgress GUICtrlCreateRadio GUICtrlCreateSlider GUICtrlCreateTab GUICtrlCreateTabItem GUICtrlCreateTreeView GUICtrlCreateTreeViewItem GUICtrlCreateUpdown GUICtrlDelete GUICtrlGetHandle GUICtrlGetState GUICtrlRead GUICtrlRecvMsg GUICtrlRegisterListViewSort GUICtrlSendMsg GUICtrlSendToDummy GUICtrlSetBkColor GUICtrlSetColor GUICtrlSetCursor GUICtrlSetData GUICtrlSetDefBkColor GUICtrlSetDefColor GUICtrlSetFont GUICtrlSetGraphic GUICtrlSetImage GUICtrlSetLimit GUICtrlSetOnEvent GUICtrlSetPos GUICtrlSetResizing GUICtrlSetState GUICtrlSetStyle GUICtrlSetTip GUIDelete GUIGetCursorInfo GUIGetMsg GUIGetStyle GUIRegisterMsg GUISetAccelerators GUISetBkColor GUISetCoord GUISetCursor GUISetFont GUISetHelp GUISetIcon GUISetOnEvent GUISetState GUISetStyle GUIStartGroup GUISwitch Hex HotKeySet HttpSetProxy HttpSetUserAgent HWnd InetClose InetGet InetGetInfo InetGetSize InetRead IniDelete IniRead IniReadSection IniReadSectionNames IniRenameSection IniWrite IniWriteSection InputBox Int IsAdmin IsArray IsBinary IsBool IsDeclared IsDllStruct IsFloat IsFunc IsHWnd IsInt IsKeyword IsNumber IsObj IsPtr IsString Log MemGetStats Mod MouseClick MouseClickDrag MouseDown MouseGetCursor MouseGetPos MouseMove MouseUp MouseWheel MsgBox Number ObjCreate ObjCreateInterface ObjEvent ObjGet ObjName OnAutoItExitRegister OnAutoItExitUnRegister Ping PixelChecksum PixelGetColor PixelSearch ProcessClose ProcessExists ProcessGetStats ProcessList ProcessSetPriority ProcessWait ProcessWaitClose ProgressOff ProgressOn ProgressSet Ptr Random RegDelete RegEnumKey RegEnumVal RegRead RegWrite Round Run RunAs RunAsWait RunWait Send SendKeepActive SetError SetExtended ShellExecute ShellExecuteWait Shutdown Sin Sleep SoundPlay SoundSetWaveVolume SplashImageOn SplashOff SplashTextOn Sqrt SRandom StatusbarGetText StderrRead StdinWrite StdioClose StdoutRead String StringAddCR StringCompare StringFormat StringFromASCIIArray StringInStr StringIsAlNum StringIsAlpha StringIsASCII StringIsDigit StringIsFloat StringIsInt StringIsLower StringIsSpace StringIsUpper StringIsXDigit StringLeft StringLen StringLower StringMid StringRegExp StringRegExpReplace StringReplace StringReverse StringRight StringSplit StringStripCR StringStripWS StringToASCIIArray StringToBinary StringTrimLeft StringTrimRight StringUpper Tan TCPAccept TCPCloseSocket TCPConnect TCPListen TCPNameToIP TCPRecv TCPSend TCPShutdown, UDPShutdown TCPStartup, UDPStartup TimerDiff TimerInit ToolTip TrayCreateItem TrayCreateMenu TrayGetMsg TrayItemDelete TrayItemGetHandle TrayItemGetState TrayItemGetText TrayItemSetOnEvent TrayItemSetState TrayItemSetText TraySetClick TraySetIcon TraySetOnEvent TraySetPauseIcon TraySetState TraySetToolTip TrayTip UBound UDPBind UDPCloseSocket UDPOpen UDPRecv UDPSend VarGetType WinActivate WinActive WinClose WinExists WinFlash WinGetCaretPos WinGetClassList WinGetClientSize WinGetHandle WinGetPos WinGetProcess WinGetState WinGetText WinGetTitle WinKill WinList WinMenuSelectItem WinMinimizeAll WinMinimizeAllUndo WinMove WinSetOnTop WinSetState WinSetTitle WinSetTrans WinWait",literal:"True False And Null Not Or"},contains:[t,a,r,i,{className:"meta",begin:"#",end:"$",keywords:{"meta-keyword":"comments include include-once NoTrayIcon OnAutoItStartRegister pragma compile RequireAdmin"},contains:[{begin:/\\\n/,relevance:0},{beginKeywords:"include",keywords:{"meta-keyword":"include"},end:"$",contains:[r,{className:"meta-string",variants:[{begin:"<",end:">"},{begin:/"/,end:/"/,contains:[{begin:/""/,relevance:0}]},{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]}]}]},r,t]},{className:"symbol",begin:"@[A-z0-9_]+"},{className:"function",beginKeywords:"Func",end:"$",illegal:"\\$|\\[|%",contains:[e.UNDERSCORE_TITLE_MODE,{className:"params",begin:"\\(",end:"\\)",contains:[a,r,i]}]}]}}},{name:"avrasm",create:function(e){return{case_insensitive:!0,lexemes:"\\.?"+e.IDENT_RE,keywords:{keyword:"adc add adiw and andi asr bclr bld brbc brbs brcc brcs break breq brge brhc brhs brid brie brlo brlt brmi brne brpl brsh brtc brts brvc brvs bset bst call cbi cbr clc clh cli cln clr cls clt clv clz com cp cpc cpi cpse dec eicall eijmp elpm eor fmul fmuls fmulsu icall ijmp in inc jmp ld ldd ldi lds lpm lsl lsr mov movw mul muls mulsu neg nop or ori out pop push rcall ret reti rjmp rol ror sbc sbr sbrc sbrs sec seh sbi sbci sbic sbis sbiw sei sen ser ses set sev sez sleep spm st std sts sub subi swap tst wdr",built_in:"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 r28 r29 r30 r31 x|0 xh xl y|0 yh yl z|0 zh zl ucsr1c udr1 ucsr1a ucsr1b ubrr1l ubrr1h ucsr0c ubrr0h tccr3c tccr3a tccr3b tcnt3h tcnt3l ocr3ah ocr3al ocr3bh ocr3bl ocr3ch ocr3cl icr3h icr3l etimsk etifr tccr1c ocr1ch ocr1cl twcr twdr twar twsr twbr osccal xmcra xmcrb eicra spmcsr spmcr portg ddrg ping portf ddrf sreg sph spl xdiv rampz eicrb eimsk gimsk gicr eifr gifr timsk tifr mcucr mcucsr tccr0 tcnt0 ocr0 assr tccr1a tccr1b tcnt1h tcnt1l ocr1ah ocr1al ocr1bh ocr1bl icr1h icr1l tccr2 tcnt2 ocr2 ocdr wdtcr sfior eearh eearl eedr eecr porta ddra pina portb ddrb pinb portc ddrc pinc portd ddrd pind spdr spsr spcr udr0 ucsr0a ucsr0b ubrr0l acsr admux adcsr adch adcl porte ddre pine pinf",meta:".byte .cseg .db .def .device .dseg .dw .endmacro .equ .eseg .exit .include .list .listmac .macro .nolist .org .set"},contains:[e.C_BLOCK_COMMENT_MODE,e.COMMENT(";","$",{relevance:0}),e.C_NUMBER_MODE,e.BINARY_NUMBER_MODE,{className:"number",begin:"\\b(\\$[a-zA-Z0-9]+|0o[0-7]+)"},e.QUOTE_STRING_MODE,{className:"string",begin:"'",end:"[^\\\\]'",illegal:"[^\\\\][^']"},{className:"symbol",begin:"^[A-Za-z0-9_.$]+:"},{className:"meta",begin:"#",end:"$"},{className:"subst",begin:"@[0-9]+"}]}}},{name:"awk",create:function(e){return{keywords:{keyword:"BEGIN END if else while do for in break continue delete next nextfile function func exit|10"},contains:[{className:"variable",variants:[{begin:/\$[\w\d#@][\w\d_]*/},{begin:/\$\{(.*?)}/}]},{className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/(u|b)?r?'''/,end:/'''/,relevance:10},{begin:/(u|b)?r?"""/,end:/"""/,relevance:10},{begin:/(u|r|ur)'/,end:/'/,relevance:10},{begin:/(u|r|ur)"/,end:/"/,relevance:10},{begin:/(b|br)'/,end:/'/},{begin:/(b|br)"/,end:/"/},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},e.REGEXP_MODE,e.HASH_COMMENT_MODE,e.NUMBER_MODE]}}},{name:"axapta",create:function(e){return{keywords:"false int abstract private char boolean static null if for true while long throw finally protected final return void enum else break new catch byte super case short default double public try this switch continue reverse firstfast firstonly forupdate nofetch sum avg minof maxof count order group by asc desc index hint like dispaly edit client server ttsbegin ttscommit str real date container anytype common div mod",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,{className:"meta",begin:"#",end:"$"},{className:"class",beginKeywords:"class interface",end:"{",excludeEnd:!0,illegal:":",contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]}]}}},{name:"bash",create:function(e){var t={className:"variable",variants:[{begin:/\$[\w\d#@][\w\d_]*/},{begin:/\$\{(.*?)}/}]},a={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,t,{className:"variable",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]}]},r={className:"",begin:/\\"/},i={className:"string",begin:/'/,end:/'/};return{aliases:["sh","zsh"],lexemes:/\b-?[a-z\._]+\b/,keywords:{keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},contains:[{className:"meta",begin:/^#![^\n]+sh\s*$/,relevance:10},{className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},e.HASH_COMMENT_MODE,a,r,i,t]}}},{name:"basic",create:function(e){return{case_insensitive:!0,illegal:"^.",lexemes:"[a-zA-Z][a-zA-Z0-9_$%!#]*",keywords:{keyword:"ABS ASC AND ATN AUTO|0 BEEP BLOAD|10 BSAVE|10 CALL CALLS CDBL CHAIN CHDIR CHR$|10 CINT CIRCLE CLEAR CLOSE CLS COLOR COM COMMON CONT COS CSNG CSRLIN CVD CVI CVS DATA DATE$ DEFDBL DEFINT DEFSNG DEFSTR DEF|0 SEG USR DELETE DIM DRAW EDIT END ENVIRON ENVIRON$ EOF EQV ERASE ERDEV ERDEV$ ERL ERR ERROR EXP FIELD FILES FIX FOR|0 FRE GET GOSUB|10 GOTO HEX$ IF|0 THEN ELSE|0 INKEY$ INP INPUT INPUT# INPUT$ INSTR IMP INT IOCTL IOCTL$ KEY ON OFF LIST KILL LEFT$ LEN LET LINE LLIST LOAD LOC LOCATE LOF LOG LPRINT USING LSET MERGE MID$ MKDIR MKD$ MKI$ MKS$ MOD NAME NEW NEXT NOISE NOT OCT$ ON OR PEN PLAY STRIG OPEN OPTION BASE OUT PAINT PALETTE PCOPY PEEK PMAP POINT POKE POS PRINT PRINT] PSET PRESET PUT RANDOMIZE READ REM RENUM RESET|0 RESTORE RESUME RETURN|0 RIGHT$ RMDIR RND RSET RUN SAVE SCREEN SGN SHELL SIN SOUND SPACE$ SPC SQR STEP STICK STOP STR$ STRING$ SWAP SYSTEM TAB TAN TIME$ TIMER TROFF TRON TO USR VAL VARPTR VARPTR$ VIEW WAIT WHILE WEND WIDTH WINDOW WRITE XOR"},contains:[e.QUOTE_STRING_MODE,e.COMMENT("REM","$",{relevance:10}),e.COMMENT("'","$",{relevance:0}),{className:"symbol",begin:"^[0-9]+ ",relevance:10},{className:"number",begin:"\\b([0-9]+[0-9edED.]*[#!]?)",relevance:0},{className:"number",begin:"(&[hH][0-9a-fA-F]{1,4})"},{className:"number",begin:"(&[oO][0-7]{1,6})"}]}}},{name:"bnf",create:function(e){return{contains:[{className:"attribute",begin:/</,end:/>/},{begin:/::=/,starts:{end:/$/,contains:[{begin:/</,end:/>/},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]}}]}}},{name:"brainfuck",create:function(e){var t={className:"literal",begin:"[\\+\\-]",relevance:0};return{aliases:["bf"],contains:[e.COMMENT("[^\\[\\]\\.,\\+\\-<> \r\n]","[\\[\\]\\.,\\+\\-<> \r\n]",{returnEnd:!0,relevance:0}),{className:"title",begin:"[\\[\\]]",relevance:0},{className:"string",begin:"[\\.,]",relevance:0},{begin:/\+\+|\-\-/,returnBegin:!0,contains:[t]},t]}}},{name:"cal",create:function(e){var t="div mod in and or not xor asserterror begin case do downto else end exit for if of repeat then to until while with var",a=[e.C_LINE_COMMENT_MODE,e.COMMENT(/\{/,/\}/,{relevance:0}),e.COMMENT(/\(\*/,/\*\)/,{relevance:10})],r={className:"string",begin:/'/,end:/'/,contains:[{begin:/''/}]},i={className:"string",begin:/(#\d+)+/},s={className:"number",begin:"\\b\\d+(\\.\\d+)?(DT|D|T)",relevance:0},n={className:"string",begin:'"',end:'"'},o={className:"function",beginKeywords:"procedure",end:/[:;]/,keywords:"procedure|10",contains:[e.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,keywords:t,contains:[r,i]}].concat(a)},l={className:"class",begin:"OBJECT (Table|Form|Report|Dataport|Codeunit|XMLport|MenuSuite|Page|Query) (\\d+) ([^\\r\\n]+)",returnBegin:!0,contains:[e.TITLE_MODE,o]};return{case_insensitive:!0,keywords:{keyword:t,literal:"false true"},illegal:/\/\*/,contains:[r,i,s,n,e.NUMBER_MODE,l,o]}}},{name:"capnproto",create:function(e){return{aliases:["capnp"],keywords:{keyword:"struct enum interface union group import using const annotation extends in of on as with from fixed",built_in:"Void Bool Int8 Int16 Int32 Int64 UInt8 UInt16 UInt32 UInt64 Float32 Float64 Text Data AnyPointer AnyStruct Capability List",literal:"true false"},contains:[e.QUOTE_STRING_MODE,e.NUMBER_MODE,e.HASH_COMMENT_MODE,{className:"meta",begin:/@0x[\w\d]{16};/,illegal:/\n/},{className:"symbol",begin:/@\d+\b/},{className:"class",beginKeywords:"struct enum",end:/\{/,illegal:/\n/,contains:[e.inherit(e.TITLE_MODE,{starts:{endsWithParent:!0,excludeEnd:!0}})]},{className:"class",beginKeywords:"interface",end:/\{/,illegal:/\n/,contains:[e.inherit(e.TITLE_MODE,{starts:{endsWithParent:!0,excludeEnd:!0}})]}]}}},{name:"ceylon",create:function(e){var t="assembly module package import alias class interface object given value assign void function new of extends satisfies abstracts in out return break continue throw assert dynamic if else switch case for while try catch finally then let this outer super is exists nonempty",a={className:"subst",excludeBegin:!0,excludeEnd:!0,begin:/``/,end:/``/,keywords:t,relevance:10},r=[{className:"string",begin:'"""',end:'"""',relevance:10},{className:"string",begin:'"',end:'"',contains:[a]},{className:"string",begin:"'",end:"'"},{className:"number",begin:"#[0-9a-fA-F_]+|\\$[01_]+|[0-9_]+(?:\\.[0-9_](?:[eE][+-]?\\d+)?)?[kMGTPmunpf]?",relevance:0}];return a.contains=r,{keywords:{keyword:t+" shared abstract formal default actual variable late native deprecatedfinal sealed annotation suppressWarnings small",meta:"doc by license see throws tagged"},illegal:"\\$[^01]|#[^0-9a-fA-F]",contains:[e.C_LINE_COMMENT_MODE,e.COMMENT("/\\*","\\*/",{contains:["self"]}),{className:"meta",begin:'@[a-z]\\w*(?:\\:"[^"]*")?'}].concat(r)}}},{name:"clean",create:function(e){return{aliases:["clean","icl","dcl"],keywords:{keyword:"if let in with where case of class instance otherwise implementation definition system module from import qualified as special code inline foreign export ccall stdcall generic derive infix infixl infixr",built_in:"Int Real Char Bool",literal:"True False"},contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,{begin:"->|<-[|:]?|#!?|>>=|\\{\\||\\|\\}|:==|=:|<>"}]}}},{name:"clojure-repl",create:function(e){return{contains:[{className:"meta",begin:/^([\w.-]+|\s*#_)?=>/,starts:{end:/$/,subLanguage:"clojure"}}]}}},{name:"clojure",create:function(e){var t={"builtin-name":"def defonce cond apply if-not if-let if not not= = < > <= >= == + / * - rem quot neg? pos? delay? symbol? keyword? true? false? integer? empty? coll? list? set? ifn? fn? associative? sequential? sorted? counted? reversible? number? decimal? class? distinct? isa? float? rational? reduced? ratio? odd? even? char? seq? vector? string? map? nil? contains? zero? instance? not-every? not-any? libspec? -> ->> .. . inc compare do dotimes mapcat take remove take-while drop letfn drop-last take-last drop-while while intern condp case reduced cycle split-at split-with repeat replicate iterate range merge zipmap declare line-seq sort comparator sort-by dorun doall nthnext nthrest partition eval doseq await await-for let agent atom send send-off release-pending-sends add-watch mapv filterv remove-watch agent-error restart-agent set-error-handler error-handler set-error-mode! error-mode shutdown-agents quote var fn loop recur throw try monitor-enter monitor-exit defmacro defn defn- macroexpand macroexpand-1 for dosync and or when when-not when-let comp juxt partial sequence memoize constantly complement identity assert peek pop doto proxy defstruct first rest cons defprotocol cast coll deftype defrecord last butlast sigs reify second ffirst fnext nfirst nnext defmulti defmethod meta with-meta ns in-ns create-ns import refer keys select-keys vals key val rseq name namespace promise into transient persistent! conj! assoc! dissoc! pop! disj! use class type num float double short byte boolean bigint biginteger bigdec print-method print-dup throw-if printf format load compile get-in update-in pr pr-on newline flush read slurp read-line subvec with-open memfn time re-find re-groups rand-int rand mod locking assert-valid-fdecl alias resolve ref deref refset swap! reset! set-validator! compare-and-set! alter-meta! reset-meta! commute get-validator alter ref-set ref-history-count ref-min-history ref-max-history ensure sync io! new next conj set! to-array future future-call into-array aset gen-class reduce map filter find empty hash-map hash-set sorted-map sorted-map-by sorted-set sorted-set-by vec vector seq flatten reverse assoc dissoc list disj get union difference intersection extend extend-type extend-protocol int nth delay count concat chunk chunk-buffer chunk-append chunk-first chunk-rest max min dec unchecked-inc-int unchecked-inc unchecked-dec-inc unchecked-dec unchecked-negate unchecked-add-int unchecked-add unchecked-subtract-int unchecked-subtract chunk-next chunk-cons chunked-seq? prn vary-meta lazy-seq spread list* str find-keyword keyword symbol gensym force rationalize"},a="[a-zA-Z_\\-!.?+*=<>&#'][a-zA-Z_\\-!.?+*=<>&#'0-9/;:]*",r={begin:a,relevance:0},i={className:"number",begin:"[-+]?\\d+(\\.\\d+)?",relevance:0},s=e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),n=e.COMMENT(";","$",{relevance:0}),o={className:"literal",begin:/\b(true|false|nil)\b/},l={begin:"[\\[\\{]",end:"[\\]\\}]"},c={className:"comment",begin:"\\^"+a},d=e.COMMENT("\\^\\{","\\}"),_={className:"symbol",begin:"[:]{1,2}"+a},m={begin:"\\(",end:"\\)"},u={endsWithParent:!0,relevance:0},p={keywords:t,lexemes:a,className:"name",begin:a,starts:u},h=[m,s,c,d,n,_,l,i,o,r];return m.contains=[e.COMMENT("comment",""),p,u],u.contains=h,l.contains=h,d.contains=[l],{aliases:["clj"],illegal:/\S/,contains:[m,s,c,d,n,_,l,i,o]}}},{name:"cmake",create:function(e){return{aliases:["cmake.in"],case_insensitive:!0,keywords:{ +keyword:"break cmake_host_system_information cmake_minimum_required cmake_parse_arguments cmake_policy configure_file continue elseif else endforeach endfunction endif endmacro endwhile execute_process file find_file find_library find_package find_path find_program foreach function get_cmake_property get_directory_property get_filename_component get_property if include include_guard list macro mark_as_advanced math message option return separate_arguments set_directory_properties set_property set site_name string unset variable_watch while add_compile_definitions add_compile_options add_custom_command add_custom_target add_definitions add_dependencies add_executable add_library add_link_options add_subdirectory add_test aux_source_directory build_command create_test_sourcelist define_property enable_language enable_testing export fltk_wrap_ui get_source_file_property get_target_property get_test_property include_directories include_external_msproject include_regular_expression install link_directories link_libraries load_cache project qt_wrap_cpp qt_wrap_ui remove_definitions set_source_files_properties set_target_properties set_tests_properties source_group target_compile_definitions target_compile_features target_compile_options target_include_directories target_link_directories target_link_libraries target_link_options target_sources try_compile try_run ctest_build ctest_configure ctest_coverage ctest_empty_binary_directory ctest_memcheck ctest_read_custom_files ctest_run_script ctest_sleep ctest_start ctest_submit ctest_test ctest_update ctest_upload build_name exec_program export_library_dependencies install_files install_programs install_targets load_command make_directory output_required_files remove subdir_depends subdirs use_mangled_mesa utility_source variable_requires write_file qt5_use_modules qt5_use_package qt5_wrap_cpp on off true false and or not command policy target test exists is_newer_than is_directory is_symlink is_absolute matches less greater equal less_equal greater_equal strless strgreater strequal strless_equal strgreater_equal version_less version_greater version_equal version_less_equal version_greater_equal in_list defined"},contains:[{className:"variable",begin:"\\${",end:"}"},e.HASH_COMMENT_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE]}}},{name:"coffeescript",create:function(e){var t={keyword:"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super yield import export from as default await then unless until loop of by when and or is isnt not",literal:"true false null undefined yes no on off",built_in:"npm require console print module global window document"},a="[A-Za-z$_][0-9A-Za-z$_]*",r={className:"subst",begin:/#\{/,end:/}/,keywords:t},i=[e.BINARY_NUMBER_MODE,e.inherit(e.C_NUMBER_MODE,{starts:{end:"(\\s*/)?",relevance:0}}),{className:"string",variants:[{begin:/'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE]},{begin:/'/,end:/'/,contains:[e.BACKSLASH_ESCAPE]},{begin:/"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,r]},{begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,r]}]},{className:"regexp",variants:[{begin:"///",end:"///",contains:[r,e.HASH_COMMENT_MODE]},{begin:"//[gim]*",relevance:0},{begin:/\/(?![ *])(\\\/|.)*?\/[gim]*(?=\W|$)/}]},{begin:"@"+a},{subLanguage:"javascript",excludeBegin:!0,excludeEnd:!0,variants:[{begin:"```",end:"```"},{begin:"`",end:"`"}]}];r.contains=i;var s=e.inherit(e.TITLE_MODE,{begin:a}),n={className:"params",begin:"\\([^\\(]",returnBegin:!0,contains:[{begin:/\(/,end:/\)/,keywords:t,contains:["self"].concat(i)}]};return{aliases:["coffee","cson","iced"],keywords:t,illegal:/\/\*/,contains:i.concat([e.COMMENT("###","###"),e.HASH_COMMENT_MODE,{className:"function",begin:"^\\s*"+a+"\\s*=\\s*(\\(.*\\))?\\s*\\B[-=]>",end:"[-=]>",returnBegin:!0,contains:[s,n]},{begin:/[:\(,=]\s*/,relevance:0,contains:[{className:"function",begin:"(\\(.*\\))?\\s*\\B[-=]>",end:"[-=]>",returnBegin:!0,contains:[n]}]},{className:"class",beginKeywords:"class",end:"$",illegal:/[:="\[\]]/,contains:[{beginKeywords:"extends",endsWithParent:!0,illegal:/[:="\[\]]/,contains:[s]},s]},{begin:a+":",end:":",returnBegin:!0,returnEnd:!0,relevance:0}])}}},{name:"coq",create:function(e){return{keywords:{keyword:"_ as at cofix else end exists exists2 fix for forall fun if IF in let match mod Prop return Set then Type using where with Abort About Add Admit Admitted All Arguments Assumptions Axiom Back BackTo Backtrack Bind Blacklist Canonical Cd Check Class Classes Close Coercion Coercions CoFixpoint CoInductive Collection Combined Compute Conjecture Conjectures Constant constr Constraint Constructors Context Corollary CreateHintDb Cut Declare Defined Definition Delimit Dependencies DependentDerive Drop eauto End Equality Eval Example Existential Existentials Existing Export exporting Extern Extract Extraction Fact Field Fields File Fixpoint Focus for From Function Functional Generalizable Global Goal Grab Grammar Graph Guarded Heap Hint HintDb Hints Hypotheses Hypothesis ident Identity If Immediate Implicit Import Include Inductive Infix Info Initial Inline Inspect Instance Instances Intro Intros Inversion Inversion_clear Language Left Lemma Let Libraries Library Load LoadPath Local Locate Ltac ML Mode Module Modules Monomorphic Morphism Next NoInline Notation Obligation Obligations Opaque Open Optimize Options Parameter Parameters Parametric Path Paths pattern Polymorphic Preterm Print Printing Program Projections Proof Proposition Pwd Qed Quit Rec Record Recursive Redirect Relation Remark Remove Require Reserved Reset Resolve Restart Rewrite Right Ring Rings Save Scheme Scope Scopes Script Search SearchAbout SearchHead SearchPattern SearchRewrite Section Separate Set Setoid Show Solve Sorted Step Strategies Strategy Structure SubClass Table Tables Tactic Term Test Theorem Time Timeout Transparent Type Typeclasses Types Undelimit Undo Unfocus Unfocused Unfold Universe Universes Unset Unshelve using Variable Variables Variant Verbose Visibility where with",built_in:"abstract absurd admit after apply as assert assumption at auto autorewrite autounfold before bottom btauto by case case_eq cbn cbv change classical_left classical_right clear clearbody cofix compare compute congruence constr_eq constructor contradict contradiction cut cutrewrite cycle decide decompose dependent destruct destruction dintuition discriminate discrR do double dtauto eapply eassumption eauto ecase econstructor edestruct ediscriminate eelim eexact eexists einduction einjection eleft elim elimtype enough equality erewrite eright esimplify_eq esplit evar exact exactly_once exfalso exists f_equal fail field field_simplify field_simplify_eq first firstorder fix fold fourier functional generalize generalizing gfail give_up has_evar hnf idtac in induction injection instantiate intro intro_pattern intros intuition inversion inversion_clear is_evar is_var lapply lazy left lia lra move native_compute nia nsatz omega once pattern pose progress proof psatz quote record red refine reflexivity remember rename repeat replace revert revgoals rewrite rewrite_strat right ring ring_simplify rtauto set setoid_reflexivity setoid_replace setoid_rewrite setoid_symmetry setoid_transitivity shelve shelve_unifiable simpl simple simplify_eq solve specialize split split_Rabs split_Rmult stepl stepr subst sum swap symmetry tactic tauto time timeout top transitivity trivial try tryif unfold unify until using vm_compute with"},contains:[e.QUOTE_STRING_MODE,e.COMMENT("\\(\\*","\\*\\)"),e.C_NUMBER_MODE,{className:"type",excludeBegin:!0,begin:"\\|\\s*",end:"\\w+"},{begin:/[-=]>/}]}}},{name:"cos",create:function(e){return{case_insensitive:!0,aliases:["cos","cls"],keywords:"property parameter class classmethod clientmethod extends as break catch close continue do d|0 else elseif for goto halt hang h|0 if job j|0 kill k|0 lock l|0 merge new open quit q|0 read r|0 return set s|0 tcommit throw trollback try tstart use view while write w|0 xecute x|0 zkill znspace zn ztrap zwrite zw zzdump zzwrite print zbreak zinsert zload zprint zremove zsave zzprint mv mvcall mvcrt mvdim mvprint zquit zsync ascii",contains:[{className:"number",begin:"\\b(\\d+(\\.\\d*)?|\\.\\d+)",relevance:0},{className:"string",variants:[{begin:'"',end:'"',contains:[{begin:'""',relevance:0}]}]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"comment",begin:/;/,end:"$",relevance:0},{className:"built_in",begin:/(?:\$\$?|\.\.)\^?[a-zA-Z]+/},{className:"built_in",begin:/\$\$\$[a-zA-Z]+/},{className:"built_in",begin:/%[a-z]+(?:\.[a-z]+)*/},{className:"symbol",begin:/\^%?[a-zA-Z][\w]*/},{className:"keyword",begin:/##class|##super|#define|#dim/},{begin:/&sql\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,subLanguage:"sql"},{begin:/&(js|jscript|javascript)</,end:/>/,excludeBegin:!0,excludeEnd:!0,subLanguage:"javascript"},{begin:/&html<\s*</,end:/>\s*>/,subLanguage:"xml"}]}}},{name:"crmsh",create:function(e){var t="group clone ms master location colocation order fencing_topology rsc_ticket acl_target acl_group user role tag xml";return{aliases:["crm","pcmk"],case_insensitive:!0,keywords:{keyword:"params meta operations op rule attributes utilization read write deny defined not_defined in_range date spec in ref reference attribute type xpath version and or lt gt tag lte gte eq ne \\ number string",literal:"Master Started Slave Stopped start promote demote stop monitor true false"},contains:[e.HASH_COMMENT_MODE,{beginKeywords:"node",starts:{end:"\\s*([\\w_-]+:)?",starts:{className:"title",end:"\\s*[\\$\\w_][\\w_-]*"}}},{beginKeywords:"primitive rsc_template",starts:{className:"title",end:"\\s*[\\$\\w_][\\w_-]*",starts:{end:"\\s*@?[\\w_][\\w_\\.:-]*"}}},{begin:"\\b("+t.split(" ").join("|")+")\\s+",keywords:t,starts:{className:"title",end:"[\\$\\w_][\\w_-]*"}},{beginKeywords:"property rsc_defaults op_defaults",starts:{className:"title",end:"\\s*([\\w_-]+:)?"}},e.QUOTE_STRING_MODE,{className:"meta",begin:"(ocf|systemd|service|lsb):[\\w_:-]+",relevance:0},{className:"number",begin:"\\b\\d+(\\.\\d+)?(ms|s|h|m)?",relevance:0},{className:"literal",begin:"[-]?(infinity|inf)",relevance:0},{className:"attr",begin:/([A-Za-z\$_\#][\w_-]+)=/,relevance:0},{className:"tag",begin:"</?",end:"/?>",relevance:0}]}}},{name:"crystal",create:function(e){function t(e,t){var a=[{begin:e,end:t}];return a[0].contains=a,a}var a="(_*[ui](8|16|32|64|128))?",r="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~|]|//|//=|&[-+*]=?|&\\*\\*|\\[\\][=?]?",i="[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?",s={keyword:"abstract alias annotation as as? asm begin break case class def do else elsif end ensure enum extend for fun if include instance_sizeof is_a? lib macro module next nil? of out pointerof private protected rescue responds_to? return require select self sizeof struct super then type typeof union uninitialized unless until verbatim when while with yield __DIR__ __END_LINE__ __FILE__ __LINE__",literal:"false nil true"},n={className:"subst",begin:"#{",end:"}",keywords:s},o={className:"template-variable",variants:[{begin:"\\{\\{",end:"\\}\\}"},{begin:"\\{%",end:"%\\}"}],keywords:s},l={className:"string",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:"%[Qwi]?\\(",end:"\\)",contains:t("\\(","\\)")},{begin:"%[Qwi]?\\[",end:"\\]",contains:t("\\[","\\]")},{begin:"%[Qwi]?{",end:"}",contains:t("{","}")},{begin:"%[Qwi]?<",end:">",contains:t("<",">")},{begin:"%[Qwi]?\\|",end:"\\|"},{begin:/<<-\w+$/,end:/^\s*\w+$/}],relevance:0},c={className:"string",variants:[{begin:"%q\\(",end:"\\)",contains:t("\\(","\\)")},{begin:"%q\\[",end:"\\]",contains:t("\\[","\\]")},{begin:"%q{",end:"}",contains:t("{","}")},{begin:"%q<",end:">",contains:t("<",">")},{begin:"%q\\|",end:"\\|"},{begin:/<<-'\w+'$/,end:/^\s*\w+$/}],relevance:0},d={begin:"(?!%})("+e.RE_STARTERS_RE+"|\\n|\\b(case|if|select|unless|until|when|while)\\b)\\s*",keywords:"case if select unless until when while",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:"//[a-z]*",relevance:0},{begin:"/(?!\\/)",end:"/[a-z]*"}]}],relevance:0},_={className:"regexp",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:"%r\\(",end:"\\)",contains:t("\\(","\\)")},{begin:"%r\\[",end:"\\]",contains:t("\\[","\\]")},{begin:"%r{",end:"}",contains:t("{","}")},{begin:"%r<",end:">",contains:t("<",">")},{begin:"%r\\|",end:"\\|"}],relevance:0},m={className:"meta",begin:"@\\[",end:"\\]",contains:[e.inherit(e.QUOTE_STRING_MODE,{className:"meta-string"})]},u=[o,l,c,_,d,m,e.HASH_COMMENT_MODE,{className:"class",beginKeywords:"class module struct",end:"$|;",illegal:/=/,contains:[e.HASH_COMMENT_MODE,e.inherit(e.TITLE_MODE,{begin:i}),{begin:"<"}]},{className:"class",beginKeywords:"lib enum union",end:"$|;",illegal:/=/,contains:[e.HASH_COMMENT_MODE,e.inherit(e.TITLE_MODE,{begin:i})],relevance:10},{beginKeywords:"annotation",end:"$|;",illegal:/=/,contains:[e.HASH_COMMENT_MODE,e.inherit(e.TITLE_MODE,{begin:i})],relevance:10},{className:"function",beginKeywords:"def",end:/\B\b/,contains:[e.inherit(e.TITLE_MODE,{begin:r,endsParent:!0})]},{className:"function",beginKeywords:"fun macro",end:/\B\b/,contains:[e.inherit(e.TITLE_MODE,{begin:r,endsParent:!0})],relevance:5},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(\\!|\\?)?:",relevance:0},{className:"symbol",begin:":",contains:[l,{begin:r}],relevance:0},{className:"number",variants:[{begin:"\\b0b([01_]+)"+a},{begin:"\\b0o([0-7_]+)"+a},{begin:"\\b0x([A-Fa-f0-9_]+)"+a},{begin:"\\b([1-9][0-9_]*[0-9]|[0-9])(\\.[0-9][0-9_]*)?([eE]_*[-+]?[0-9_]*)?(_*f(32|64))?(?!_)"},{begin:"\\b([1-9][0-9_]*|0)"+a}],relevance:0}];return n.contains=u,o.contains=u.slice(1),{aliases:["cr"],lexemes:"[a-zA-Z_]\\w*[!?=]?",keywords:s,contains:u}}},{name:"cs",create:function(e){var t={keyword:"abstract as base bool break byte case catch char checked const continue decimal default delegate do double enum event explicit extern finally fixed float for foreach goto if implicit in int interface internal is lock long nameof object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this try typeof uint ulong unchecked unsafe ushort using virtual void volatile while add alias ascending async await by descending dynamic equals from get global group into join let on orderby partial remove select set value var where yield",literal:"null false true"},a={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},r={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},i=e.inherit(r,{illegal:/\n/}),s={className:"subst",begin:"{",end:"}",keywords:t},n=e.inherit(s,{illegal:/\n/}),o={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:"{{"},{begin:"}}"},e.BACKSLASH_ESCAPE,n]},l={className:"string",begin:/\$@"/,end:'"',contains:[{begin:"{{"},{begin:"}}"},{begin:'""'},s]},c=e.inherit(l,{illegal:/\n/,contains:[{begin:"{{"},{begin:"}}"},{begin:'""'},n]});s.contains=[l,o,r,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.C_BLOCK_COMMENT_MODE],n.contains=[c,o,i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];var d={variants:[l,o,r,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},_=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?";return{aliases:["csharp","c#"],keywords:t,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"\x3c!--|--\x3e"},{begin:"</?",end:">"}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{"meta-keyword":"if else elif endif define undef warning error line region endregion pragma checksum"}},d,a,{beginKeywords:"class interface",end:/[{;=]/,illegal:/[^\s:,]/,contains:[e.TITLE_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",end:/[{;=]/,illegal:/[^\s:]/,contains:[e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"meta-string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+_+"\\s+)+"+e.IDENT_RE+"\\s*\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:t,contains:[{begin:e.IDENT_RE+"\\s*\\(",returnBegin:!0,contains:[e.TITLE_MODE],relevance:0},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,relevance:0,contains:[d,a,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]}]}}},{name:"csp",create:function(e){return{case_insensitive:!1,lexemes:"[a-zA-Z][a-zA-Z0-9_-]*",keywords:{keyword:"base-uri child-src connect-src default-src font-src form-action frame-ancestors frame-src img-src media-src object-src plugin-types report-uri sandbox script-src style-src"},contains:[{className:"string",begin:"'",end:"'"},{className:"attribute",begin:"^Content",end:":",excludeEnd:!0}]}}},{name:"css",create:function(e){var t={begin:/(?:[A-Z\_\.\-]+|--[a-zA-Z0-9_-]+)\s*:/,returnBegin:!0,end:";",endsWithParent:!0,contains:[{className:"attribute",begin:/\S/,end:":",excludeEnd:!0,starts:{endsWithParent:!0,excludeEnd:!0,contains:[{begin:/[\w-]+\(/,returnBegin:!0,contains:[{className:"built_in",begin:/[\w-]+/},{begin:/\(/,end:/\)/,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]}]},e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_BLOCK_COMMENT_MODE,{className:"number",begin:"#[0-9A-Fa-f]+"},{className:"meta",begin:"!important"}]}}]};return{case_insensitive:!0,illegal:/[=\/|'\$]/,contains:[e.C_BLOCK_COMMENT_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/},{className:"selector-class",begin:/\.[A-Za-z0-9_-]+/},{className:"selector-attr",begin:/\[/,end:/\]/,illegal:"$"},{className:"selector-pseudo",begin:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{begin:"@(font-face|page)",lexemes:"[a-z-]+",keywords:"font-face page"},{begin:"@",end:"[{;]",illegal:/:/,contains:[{className:"keyword",begin:/\w+/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},{begin:"{",end:"}",illegal:/\S/,contains:[e.C_BLOCK_COMMENT_MODE,t]}]}}},{name:"d",create:function(e){var t={keyword:"abstract alias align asm assert auto body break byte case cast catch class const continue debug default delete deprecated do else enum export extern final finally for foreach foreach_reverse|10 goto if immutable import in inout int interface invariant is lazy macro mixin module new nothrow out override package pragma private protected public pure ref return scope shared static struct super switch synchronized template this throw try typedef typeid typeof union unittest version void volatile while with __FILE__ __LINE__ __gshared|10 __thread __traits __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__",built_in:"bool cdouble cent cfloat char creal dchar delegate double dstring float function idouble ifloat ireal long real short string ubyte ucent uint ulong ushort wchar wstring",literal:"false null true"},a="((0|[1-9][\\d_]*)|0[bB][01_]+|0[xX]([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*))",r="\\\\(['\"\\?\\\\abfnrtv]|u[\\dA-Fa-f]{4}|[0-7]{1,3}|x[\\dA-Fa-f]{2}|U[\\dA-Fa-f]{8})|&[a-zA-Z\\d]{2,};",i={className:"number",begin:"\\b"+a+"(L|u|U|Lu|LU|uL|UL)?",relevance:0},s={className:"number",begin:"\\b(((0[xX](([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)\\.([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)|\\.?([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*))[pP][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d))|((0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)(\\.\\d*|([eE][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)))|\\d+\\.(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)|\\.(0|[1-9][\\d_]*)([eE][+-]?(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d))?))([fF]|L|i|[fF]i|Li)?|"+a+"(i|[fF]i|Li))",relevance:0},n={className:"string",begin:"'("+r+"|.)",end:"'",illegal:"."},o={begin:r,relevance:0},l={className:"string",begin:'"',contains:[o],end:'"[cwd]?'},c={className:"string",begin:'[rq]"',end:'"[cwd]?',relevance:5},d={className:"string",begin:"`",end:"`[cwd]?"},_={className:"string",begin:'x"[\\da-fA-F\\s\\n\\r]*"[cwd]?',relevance:10},m={className:"string",begin:'q"\\{',end:'\\}"'},u={className:"meta",begin:"^#!",end:"$",relevance:5},p={className:"meta",begin:"#(line)",end:"$",relevance:5},h={className:"keyword",begin:"@[a-zA-Z_][a-zA-Z_\\d]*"},g=e.COMMENT("\\/\\+","\\+\\/",{contains:["self"],relevance:10});return{lexemes:e.UNDERSCORE_IDENT_RE,keywords:t,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,g,_,l,c,d,m,s,i,n,u,p,h]}}},{name:"dart",create:function(e){var t={className:"subst",variants:[{begin:"\\$[A-Za-z0-9_]+"}]},a={className:"subst",variants:[{begin:"\\${",end:"}"}],keywords:"true false null this is new super"},r={className:"string",variants:[{begin:"r'''",end:"'''"},{begin:'r"""',end:'"""'},{begin:"r'",end:"'",illegal:"\\n"},{begin:'r"',end:'"',illegal:"\\n"},{begin:"'''",end:"'''",contains:[e.BACKSLASH_ESCAPE,t,a]},{begin:'"""',end:'"""',contains:[e.BACKSLASH_ESCAPE,t,a]},{begin:"'",end:"'",illegal:"\\n",contains:[e.BACKSLASH_ESCAPE,t,a]},{begin:'"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE,t,a]}]};return a.contains=[e.C_NUMBER_MODE,r],{keywords:{keyword:"assert async await break case catch class const continue default do else enum extends false final finally for if in is new null rethrow return super switch sync this throw true try var void while with yield abstract as dynamic export external factory get implements import library operator part set static typedef",built_in:"print Comparable DateTime Duration Function Iterable Iterator List Map Match Null Object Pattern RegExp Set Stopwatch String StringBuffer StringSink Symbol Type Uri bool double int num document window querySelector querySelectorAll Element ElementList"},contains:[r,e.COMMENT("/\\*\\*","\\*/",{subLanguage:"markdown"}),e.COMMENT("///","$",{subLanguage:"markdown"}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"class",beginKeywords:"class interface",end:"{",excludeEnd:!0,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},e.C_NUMBER_MODE,{className:"meta",begin:"@[A-Za-z]+"},{begin:"=>"}]}}},{name:"delphi",create:function(e){var t="exports register file shl array record property for mod while set ally label uses raise not stored class safecall var interface or private static exit index inherited to else stdcall override shr asm far resourcestring finalization packed virtual out and protected library do xorwrite goto near function end div overload object unit begin string on inline repeat until destructor write message program with read initialization except default nil if case cdecl in downto threadvar of try pascal const external constructor type public then implementation finally published procedure absolute reintroduce operator as is abstract alias assembler bitpacked break continue cppdecl cvar enumerator experimental platform deprecated unimplemented dynamic export far16 forward generic helper implements interrupt iochecks local name nodefault noreturn nostackframe oldfpccall otherwise saveregisters softfloat specialize strict unaligned varargs ",a=[e.C_LINE_COMMENT_MODE,e.COMMENT(/\{/,/\}/,{relevance:0}),e.COMMENT(/\(\*/,/\*\)/,{relevance:10})],r={className:"meta",variants:[{begin:/\{\$/,end:/\}/},{begin:/\(\*\$/,end:/\*\)/}]},i={className:"string",begin:/'/,end:/'/,contains:[{begin:/''/}]},s={className:"string",begin:/(#\d+)+/},n={begin:e.IDENT_RE+"\\s*=\\s*class\\s*\\(",returnBegin:!0,contains:[e.TITLE_MODE]},o={className:"function",beginKeywords:"function constructor destructor procedure",end:/[:;]/,keywords:"function constructor|10 destructor|10 procedure|10",contains:[e.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,keywords:t,contains:[i,s,r].concat(a)},r].concat(a)};return{aliases:["dpr","dfm","pas","pascal","freepascal","lazarus","lpr","lfm"],case_insensitive:!0,keywords:t,illegal:/"|\$[G-Zg-z]|\/\*|<\/|\|/,contains:[i,s,e.NUMBER_MODE,n,o,r].concat(a)}}},{name:"diff",create:function(e){return{aliases:["patch"],contains:[{className:"meta",relevance:10,variants:[{begin:/^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/},{begin:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{begin:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{className:"comment",variants:[{begin:/Index: /,end:/$/},{begin:/={3,}/,end:/$/},{begin:/^\-{3}/,end:/$/},{begin:/^\*{3} /,end:/$/},{begin:/^\+{3}/,end:/$/},{begin:/\*{5}/,end:/\*{5}$/}]},{className:"addition",begin:"^\\+",end:"$"},{className:"deletion",begin:"^\\-",end:"$"},{className:"addition",begin:"^\\!",end:"$"}]}}},{name:"django",create:function(e){var t={begin:/\|[A-Za-z]+:?/,keywords:{name:"truncatewords removetags linebreaksbr yesno get_digit timesince random striptags filesizeformat escape linebreaks length_is ljust rjust cut urlize fix_ampersands title floatformat capfirst pprint divisibleby add make_list unordered_list urlencode timeuntil urlizetrunc wordcount stringformat linenumbers slice date dictsort dictsortreversed default_if_none pluralize lower join center default truncatewords_html upper length phone2numeric wordwrap time addslashes slugify first escapejs force_escape iriencode last safe safeseq truncatechars localize unlocalize localtime utc timezone"},contains:[e.QUOTE_STRING_MODE,e.APOS_STRING_MODE]};return{aliases:["jinja"],case_insensitive:!0,subLanguage:"xml",contains:[e.COMMENT(/\{%\s*comment\s*%}/,/\{%\s*endcomment\s*%}/),e.COMMENT(/\{#/,/#}/),{className:"template-tag",begin:/\{%/,end:/%}/,contains:[{className:"name",begin:/\w+/,keywords:{name:"comment endcomment load templatetag ifchanged endifchanged if endif firstof for endfor ifnotequal endifnotequal widthratio extends include spaceless endspaceless regroup ifequal endifequal ssi now with cycle url filter endfilter debug block endblock else autoescape endautoescape csrf_token empty elif endwith static trans blocktrans endblocktrans get_static_prefix get_media_prefix plural get_current_language language get_available_languages get_current_language_bidi get_language_info get_language_info_list localize endlocalize localtime endlocaltime timezone endtimezone get_current_timezone verbatim"},starts:{endsWithParent:!0,keywords:"in by as",contains:[t],relevance:0}}]},{className:"template-variable",begin:/\{\{/,end:/}}/,contains:[t]}]}}},{name:"dns",create:function(e){return{aliases:["bind","zone"],keywords:{keyword:"IN A AAAA AFSDB APL CAA CDNSKEY CDS CERT CNAME DHCID DLV DNAME DNSKEY DS HIP IPSECKEY KEY KX LOC MX NAPTR NS NSEC NSEC3 NSEC3PARAM PTR RRSIG RP SIG SOA SRV SSHFP TA TKEY TLSA TSIG TXT"},contains:[e.COMMENT(";","$",{relevance:0}),{className:"meta",begin:/^\$(TTL|GENERATE|INCLUDE|ORIGIN)\b/},{className:"number",begin:"((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))\\b"},{className:"number",begin:"((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\b"},e.inherit(e.NUMBER_MODE,{begin:/\b\d+[dhwm]?/})]}}},{name:"dockerfile",create:function(e){return{aliases:["docker"],case_insensitive:!0,keywords:"from maintainer expose env arg user onbuild stopsignal",contains:[e.HASH_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE,{beginKeywords:"run cmd entrypoint volume add copy workdir label healthcheck shell",starts:{end:/[^\\]$/,subLanguage:"bash"}}],illegal:"</"}}},{name:"dos",create:function(e){var t=e.COMMENT(/^\s*@?rem\b/,/$/,{relevance:10});return{aliases:["bat","cmd"],case_insensitive:!0,illegal:/\/\*/,keywords:{keyword:"if else goto for in do call exit not exist errorlevel defined equ neq lss leq gtr geq",built_in:"prn nul lpt3 lpt2 lpt1 con com4 com3 com2 com1 aux shift cd dir echo setlocal endlocal set pause copy append assoc at attrib break cacls cd chcp chdir chkdsk chkntfs cls cmd color comp compact convert date dir diskcomp diskcopy doskey erase fs find findstr format ftype graftabl help keyb label md mkdir mode more move path pause print popd pushd promt rd recover rem rename replace restore rmdir shiftsort start subst time title tree type ver verify vol ping net ipconfig taskkill xcopy ren del"},contains:[{className:"variable",begin:/%%[^ ]|%[^ ]+?%|![^ ]+?!/},{className:"function",begin:{className:"symbol",begin:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)",relevance:0}.begin,end:"goto:eof",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),t]},{className:"number",begin:"\\b\\d+",relevance:0},t]}}},{name:"dsconfig",create:function(e){return{keywords:"dsconfig",contains:[{className:"keyword",begin:"^dsconfig",end:"\\s",excludeEnd:!0,relevance:10},{className:"built_in",begin:"(list|create|get|set|delete)-(\\w+)",end:"\\s",excludeEnd:!0,illegal:"!@#$%^&*()",relevance:10},{className:"built_in",begin:"--(\\w+)",end:"\\s",excludeEnd:!0},{className:"string",begin:/"/,end:/"/},{className:"string",begin:/'/,end:/'/},{className:"string",begin:"[\\w-?]+:\\w+",end:"\\W",relevance:0},{className:"string",begin:"\\w+-?\\w+",end:"\\W",relevance:0},e.HASH_COMMENT_MODE]}}},{name:"dts",create:function(e){var t={className:"string",variants:[e.inherit(e.QUOTE_STRING_MODE,{begin:'((u8?|U)|L)?"'}),{begin:'(u8?|U)?R"',end:'"',contains:[e.BACKSLASH_ESCAPE]},{begin:"'\\\\?.",end:"'",illegal:"."}]},a={className:"number",variants:[{begin:"\\b(\\d+(\\.\\d*)?|\\.\\d+)(u|U|l|L|ul|UL|f|F)"},{begin:e.C_NUMBER_RE}],relevance:0},r={className:"meta",begin:"#",end:"$",keywords:{"meta-keyword":"if else elif endif define undef ifdef ifndef"},contains:[{begin:/\\\n/,relevance:0},{beginKeywords:"include",end:"$",keywords:{"meta-keyword":"include"},contains:[e.inherit(t,{className:"meta-string"}),{className:"meta-string",begin:"<",end:">",illegal:"\\n"}]},t,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},i={className:"variable",begin:"\\&[a-z\\d_]*\\b"},s={className:"meta-keyword",begin:"/[a-z][a-z\\d-]*/"},n={className:"symbol",begin:"^\\s*[a-zA-Z_][a-zA-Z\\d_]*:"},o={className:"params",begin:"<",end:">",contains:[a,i]},l={className:"class",begin:/[a-zA-Z_][a-zA-Z\d_@]*\s{/,end:/[{;=]/,returnBegin:!0,excludeEnd:!0};return{keywords:"",contains:[{className:"class",begin:"/\\s*{",end:"};",relevance:10,contains:[i,s,n,l,o,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,t]},i,s,n,l,o,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,t,r,{begin:e.IDENT_RE+"::",keywords:""}]}}},{name:"dust",create:function(e){return{aliases:["dst"],case_insensitive:!0,subLanguage:"xml",contains:[{className:"template-tag",begin:/\{[#\/]/,end:/\}/,illegal:/;/,contains:[{className:"name",begin:/[a-zA-Z\.-]+/,starts:{endsWithParent:!0,relevance:0,contains:[e.QUOTE_STRING_MODE]}}]},{ +className:"template-variable",begin:/\{/,end:/\}/,illegal:/;/,keywords:"if eq ne lt lte gt gte select default math sep"}]}}},{name:"ebnf",create:function(e){var t=e.COMMENT(/\(\*/,/\*\)/);return{illegal:/\S/,contains:[t,{className:"attribute",begin:/^[ ]*[a-zA-Z][a-zA-Z-]*([\s-]+[a-zA-Z][a-zA-Z]*)*/},{begin:/=/,end:/;/,contains:[t,{className:"meta",begin:/\?.*\?/},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]}]}}},{name:"elixir",create:function(e){var t="[a-zA-Z_][a-zA-Z0-9_.]*(\\!|\\?)?",a="and false then defined module in return redo retry end for true self when next until do begin unless nil break not case cond alias while ensure or include use alias fn quote require import with|0",r={className:"subst",begin:"#\\{",end:"}",lexemes:t,keywords:a},i={className:"string",contains:[e.BACKSLASH_ESCAPE,r],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/}]},s={className:"function",beginKeywords:"def defp defmacro",end:/\B\b/,contains:[e.inherit(e.TITLE_MODE,{begin:t,endsParent:!0})]},n=e.inherit(s,{className:"class",beginKeywords:"defimpl defmodule defprotocol defrecord",end:/\bdo\b|$|;/}),o=[i,e.HASH_COMMENT_MODE,n,s,{begin:"::"},{className:"symbol",begin:":(?![\\s:])",contains:[i,{begin:"[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?"}],relevance:0},{className:"symbol",begin:t+":(?!:)",relevance:0},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{className:"variable",begin:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{begin:"->"},{begin:"("+e.RE_STARTERS_RE+")\\s*",contains:[e.HASH_COMMENT_MODE,{className:"regexp",illegal:"\\n",contains:[e.BACKSLASH_ESCAPE,r],variants:[{begin:"/",end:"/[a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}],relevance:0}];return r.contains=o,{lexemes:t,keywords:a,contains:o}}},{name:"elm",create:function(e){var t={variants:[e.COMMENT("--","$"),e.COMMENT("{-","-}",{contains:["self"]})]},a={className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},r={begin:"\\(",end:"\\)",illegal:'"',contains:[{className:"type",begin:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},t]},i={begin:"{",end:"}",contains:r.contains},s={className:"string",begin:"'\\\\?.",end:"'",illegal:"."};return{keywords:"let in if then else case of where module import exposing type alias as infix infixl infixr port effect command subscription",contains:[{beginKeywords:"port effect module",end:"exposing",keywords:"port effect module where command subscription exposing",contains:[r,t],illegal:"\\W\\.|;"},{begin:"import",end:"$",keywords:"import as exposing",contains:[r,t],illegal:"\\W\\.|;"},{begin:"type",end:"$",keywords:"type alias",contains:[a,r,i,t]},{beginKeywords:"infix infixl infixr",end:"$",contains:[e.C_NUMBER_MODE,t]},{begin:"port",end:"$",keywords:"port",contains:[t]},s,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,a,e.inherit(e.TITLE_MODE,{begin:"^[_a-z][\\w']*"}),t,{begin:"->|<-"}],illegal:/;/}}},{name:"erb",create:function(e){return{subLanguage:"xml",contains:[e.COMMENT("<%#","%>"),{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0}]}}},{name:"erlang-repl",create:function(e){return{keywords:{built_in:"spawn spawn_link self",keyword:"after and andalso|10 band begin bnot bor bsl bsr bxor case catch cond div end fun if let not of or orelse|10 query receive rem try when xor"},contains:[{className:"meta",begin:"^[0-9]+> ",relevance:10},e.COMMENT("%","$"),{className:"number",begin:"\\b(\\d+#[a-fA-F0-9]+|\\d+(\\.\\d+)?([eE][-+]?\\d+)?)",relevance:0},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{begin:"\\?(::)?([A-Z]\\w*(::)?)+"},{begin:"->"},{begin:"ok"},{begin:"!"},{begin:"(\\b[a-z'][a-zA-Z0-9_']*:[a-z'][a-zA-Z0-9_']*)|(\\b[a-z'][a-zA-Z0-9_']*)",relevance:0},{begin:"[A-Z][a-zA-Z0-9_']*",relevance:0}]}}},{name:"erlang",create:function(e){var t="[a-z'][a-zA-Z0-9_']*",a="("+t+":"+t+"|"+t+")",r={keyword:"after and andalso|10 band begin bnot bor bsl bzr bxor case catch cond div end fun if let not of orelse|10 query receive rem try when xor",literal:"false true"},i=e.COMMENT("%","$"),s={className:"number",begin:"\\b(\\d+#[a-fA-F0-9]+|\\d+(\\.\\d+)?([eE][-+]?\\d+)?)",relevance:0},n={begin:"fun\\s+"+t+"/\\d+"},o={begin:a+"\\(",end:"\\)",returnBegin:!0,relevance:0,contains:[{begin:a,relevance:0},{begin:"\\(",end:"\\)",endsWithParent:!0,returnEnd:!0,relevance:0}]},l={begin:"{",end:"}",relevance:0},c={begin:"\\b_([A-Z][A-Za-z0-9_]*)?",relevance:0},d={begin:"[A-Z][a-zA-Z0-9_]*",relevance:0},_={begin:"#"+e.UNDERSCORE_IDENT_RE,relevance:0,returnBegin:!0,contains:[{begin:"#"+e.UNDERSCORE_IDENT_RE,relevance:0},{begin:"{",end:"}",relevance:0}]},m={beginKeywords:"fun receive if try case",end:"end",keywords:r};m.contains=[i,n,e.inherit(e.APOS_STRING_MODE,{className:""}),m,o,e.QUOTE_STRING_MODE,s,l,c,d,_];var u=[i,n,m,o,e.QUOTE_STRING_MODE,s,l,c,d,_];o.contains[1].contains=u,l.contains=u,_.contains[1].contains=u;var p={className:"params",begin:"\\(",end:"\\)",contains:u};return{aliases:["erl"],keywords:r,illegal:"(</|\\*=|\\+=|-=|/\\*|\\*/|\\(\\*|\\*\\))",contains:[{className:"function",begin:"^"+t+"\\s*\\(",end:"->",returnBegin:!0,illegal:"\\(|#|//|/\\*|\\\\|:|;",contains:[p,e.inherit(e.TITLE_MODE,{begin:t})],starts:{end:";|\\.",keywords:r,contains:u}},i,{begin:"^-",end:"\\.",relevance:0,excludeEnd:!0,returnBegin:!0,lexemes:"-"+e.IDENT_RE,keywords:"-module -record -undef -export -ifdef -ifndef -author -copyright -doc -vsn -import -include -include_lib -compile -define -else -endif -file -behaviour -behavior -spec",contains:[p]},s,e.QUOTE_STRING_MODE,_,c,d,l,{begin:/\.$/}]}}},{name:"excel",create:function(e){return{aliases:["xlsx","xls"],case_insensitive:!0,lexemes:/[a-zA-Z][\w\.]*/,keywords:{built_in:"ABS ACCRINT ACCRINTM ACOS ACOSH ACOT ACOTH AGGREGATE ADDRESS AMORDEGRC AMORLINC AND ARABIC AREAS ASC ASIN ASINH ATAN ATAN2 ATANH AVEDEV AVERAGE AVERAGEA AVERAGEIF AVERAGEIFS BAHTTEXT BASE BESSELI BESSELJ BESSELK BESSELY BETADIST BETA.DIST BETAINV BETA.INV BIN2DEC BIN2HEX BIN2OCT BINOMDIST BINOM.DIST BINOM.DIST.RANGE BINOM.INV BITAND BITLSHIFT BITOR BITRSHIFT BITXOR CALL CEILING CEILING.MATH CEILING.PRECISE CELL CHAR CHIDIST CHIINV CHITEST CHISQ.DIST CHISQ.DIST.RT CHISQ.INV CHISQ.INV.RT CHISQ.TEST CHOOSE CLEAN CODE COLUMN COLUMNS COMBIN COMBINA COMPLEX CONCAT CONCATENATE CONFIDENCE CONFIDENCE.NORM CONFIDENCE.T CONVERT CORREL COS COSH COT COTH COUNT COUNTA COUNTBLANK COUNTIF COUNTIFS COUPDAYBS COUPDAYS COUPDAYSNC COUPNCD COUPNUM COUPPCD COVAR COVARIANCE.P COVARIANCE.S CRITBINOM CSC CSCH CUBEKPIMEMBER CUBEMEMBER CUBEMEMBERPROPERTY CUBERANKEDMEMBER CUBESET CUBESETCOUNT CUBEVALUE CUMIPMT CUMPRINC DATE DATEDIF DATEVALUE DAVERAGE DAY DAYS DAYS360 DB DBCS DCOUNT DCOUNTA DDB DEC2BIN DEC2HEX DEC2OCT DECIMAL DEGREES DELTA DEVSQ DGET DISC DMAX DMIN DOLLAR DOLLARDE DOLLARFR DPRODUCT DSTDEV DSTDEVP DSUM DURATION DVAR DVARP EDATE EFFECT ENCODEURL EOMONTH ERF ERF.PRECISE ERFC ERFC.PRECISE ERROR.TYPE EUROCONVERT EVEN EXACT EXP EXPON.DIST EXPONDIST FACT FACTDOUBLE FALSE|0 F.DIST FDIST F.DIST.RT FILTERXML FIND FINDB F.INV F.INV.RT FINV FISHER FISHERINV FIXED FLOOR FLOOR.MATH FLOOR.PRECISE FORECAST FORECAST.ETS FORECAST.ETS.CONFINT FORECAST.ETS.SEASONALITY FORECAST.ETS.STAT FORECAST.LINEAR FORMULATEXT FREQUENCY F.TEST FTEST FV FVSCHEDULE GAMMA GAMMA.DIST GAMMADIST GAMMA.INV GAMMAINV GAMMALN GAMMALN.PRECISE GAUSS GCD GEOMEAN GESTEP GETPIVOTDATA GROWTH HARMEAN HEX2BIN HEX2DEC HEX2OCT HLOOKUP HOUR HYPERLINK HYPGEOM.DIST HYPGEOMDIST IF|0 IFERROR IFNA IFS IMABS IMAGINARY IMARGUMENT IMCONJUGATE IMCOS IMCOSH IMCOT IMCSC IMCSCH IMDIV IMEXP IMLN IMLOG10 IMLOG2 IMPOWER IMPRODUCT IMREAL IMSEC IMSECH IMSIN IMSINH IMSQRT IMSUB IMSUM IMTAN INDEX INDIRECT INFO INT INTERCEPT INTRATE IPMT IRR ISBLANK ISERR ISERROR ISEVEN ISFORMULA ISLOGICAL ISNA ISNONTEXT ISNUMBER ISODD ISREF ISTEXT ISO.CEILING ISOWEEKNUM ISPMT JIS KURT LARGE LCM LEFT LEFTB LEN LENB LINEST LN LOG LOG10 LOGEST LOGINV LOGNORM.DIST LOGNORMDIST LOGNORM.INV LOOKUP LOWER MATCH MAX MAXA MAXIFS MDETERM MDURATION MEDIAN MID MIDBs MIN MINIFS MINA MINUTE MINVERSE MIRR MMULT MOD MODE MODE.MULT MODE.SNGL MONTH MROUND MULTINOMIAL MUNIT N NA NEGBINOM.DIST NEGBINOMDIST NETWORKDAYS NETWORKDAYS.INTL NOMINAL NORM.DIST NORMDIST NORMINV NORM.INV NORM.S.DIST NORMSDIST NORM.S.INV NORMSINV NOT NOW NPER NPV NUMBERVALUE OCT2BIN OCT2DEC OCT2HEX ODD ODDFPRICE ODDFYIELD ODDLPRICE ODDLYIELD OFFSET OR PDURATION PEARSON PERCENTILE.EXC PERCENTILE.INC PERCENTILE PERCENTRANK.EXC PERCENTRANK.INC PERCENTRANK PERMUT PERMUTATIONA PHI PHONETIC PI PMT POISSON.DIST POISSON POWER PPMT PRICE PRICEDISC PRICEMAT PROB PRODUCT PROPER PV QUARTILE QUARTILE.EXC QUARTILE.INC QUOTIENT RADIANS RAND RANDBETWEEN RANK.AVG RANK.EQ RANK RATE RECEIVED REGISTER.ID REPLACE REPLACEB REPT RIGHT RIGHTB ROMAN ROUND ROUNDDOWN ROUNDUP ROW ROWS RRI RSQ RTD SEARCH SEARCHB SEC SECH SECOND SERIESSUM SHEET SHEETS SIGN SIN SINH SKEW SKEW.P SLN SLOPE SMALL SQL.REQUEST SQRT SQRTPI STANDARDIZE STDEV STDEV.P STDEV.S STDEVA STDEVP STDEVPA STEYX SUBSTITUTE SUBTOTAL SUM SUMIF SUMIFS SUMPRODUCT SUMSQ SUMX2MY2 SUMX2PY2 SUMXMY2 SWITCH SYD T TAN TANH TBILLEQ TBILLPRICE TBILLYIELD T.DIST T.DIST.2T T.DIST.RT TDIST TEXT TEXTJOIN TIME TIMEVALUE T.INV T.INV.2T TINV TODAY TRANSPOSE TREND TRIM TRIMMEAN TRUE|0 TRUNC T.TEST TTEST TYPE UNICHAR UNICODE UPPER VALUE VAR VAR.P VAR.S VARA VARP VARPA VDB VLOOKUP WEBSERVICE WEEKDAY WEEKNUM WEIBULL WEIBULL.DIST WORKDAY WORKDAY.INTL XIRR XNPV XOR YEAR YEARFRAC YIELD YIELDDISC YIELDMAT Z.TEST ZTEST"},contains:[{begin:/^=/,end:/[^=]/,returnEnd:!0,illegal:/=/,relevance:10},{className:"symbol",begin:/\b[A-Z]{1,2}\d+\b/,end:/[^\d]/,excludeEnd:!0,relevance:0},{className:"symbol",begin:/[A-Z]{0,2}\d*:[A-Z]{0,2}\d*/,relevance:0},e.BACKSLASH_ESCAPE,e.QUOTE_STRING_MODE,{className:"number",begin:e.NUMBER_RE+"(%)?",relevance:0},e.COMMENT(/\bN\(/,/\)/,{excludeBegin:!0,excludeEnd:!0,illegal:/\n/})]}}},{name:"fix",create:function(e){return{contains:[{begin:/[^\u2401\u0001]+/,end:/[\u2401\u0001]/,excludeEnd:!0,returnBegin:!0,returnEnd:!1,contains:[{begin:/([^\u2401\u0001=]+)/,end:/=([^\u2401\u0001=]+)/,returnEnd:!0,returnBegin:!1,className:"attr"},{begin:/=/,end:/([\u2401\u0001])/,excludeEnd:!0,excludeBegin:!0,className:"string"}]}],case_insensitive:!0}}},{name:"flix",create:function(e){var t={className:"string",begin:/'(.|\\[xXuU][a-zA-Z0-9]+)'/},a={className:"string",variants:[{begin:'"',end:'"'}]},r={className:"title",begin:/[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/},i={className:"function",beginKeywords:"def",end:/[:={\[(\n;]/,excludeEnd:!0,contains:[r]};return{keywords:{literal:"true false",keyword:"case class def else enum if impl import in lat rel index let match namespace switch type yield with"},contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t,a,i,e.C_NUMBER_MODE]}}},{name:"fortran",create:function(e){var t={className:"params",begin:"\\(",end:"\\)"};return{case_insensitive:!0,aliases:["f90","f95"],keywords:{literal:".False. .True.",keyword:"kind do while private call intrinsic where elsewhere type endtype endmodule endselect endinterface end enddo endif if forall endforall only contains default return stop then public subroutine|10 function program .and. .or. .not. .le. .eq. .ge. .gt. .lt. goto save else use module select case access blank direct exist file fmt form formatted iostat name named nextrec number opened rec recl sequential status unformatted unit continue format pause cycle exit c_null_char c_alert c_backspace c_form_feed flush wait decimal round iomsg synchronous nopass non_overridable pass protected volatile abstract extends import non_intrinsic value deferred generic final enumerator class associate bind enum c_int c_short c_long c_long_long c_signed_char c_size_t c_int8_t c_int16_t c_int32_t c_int64_t c_int_least8_t c_int_least16_t c_int_least32_t c_int_least64_t c_int_fast8_t c_int_fast16_t c_int_fast32_t c_int_fast64_t c_intmax_t C_intptr_t c_float c_double c_long_double c_float_complex c_double_complex c_long_double_complex c_bool c_char c_null_ptr c_null_funptr c_new_line c_carriage_return c_horizontal_tab c_vertical_tab iso_c_binding c_loc c_funloc c_associated c_f_pointer c_ptr c_funptr iso_fortran_env character_storage_size error_unit file_storage_size input_unit iostat_end iostat_eor numeric_storage_size output_unit c_f_procpointer ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode newunit contiguous recursive pad position action delim readwrite eor advance nml interface procedure namelist include sequence elemental pure integer real character complex logical dimension allocatable|10 parameter external implicit|10 none double precision assign intent optional pointer target in out common equivalence data",built_in:"alog alog10 amax0 amax1 amin0 amin1 amod cabs ccos cexp clog csin csqrt dabs dacos dasin datan datan2 dcos dcosh ddim dexp dint dlog dlog10 dmax1 dmin1 dmod dnint dsign dsin dsinh dsqrt dtan dtanh float iabs idim idint idnint ifix isign max0 max1 min0 min1 sngl algama cdabs cdcos cdexp cdlog cdsin cdsqrt cqabs cqcos cqexp cqlog cqsin cqsqrt dcmplx dconjg derf derfc dfloat dgamma dimag dlgama iqint qabs qacos qasin qatan qatan2 qcmplx qconjg qcos qcosh qdim qerf qerfc qexp qgamma qimag qlgama qlog qlog10 qmax1 qmin1 qmod qnint qsign qsin qsinh qsqrt qtan qtanh abs acos aimag aint anint asin atan atan2 char cmplx conjg cos cosh exp ichar index int log log10 max min nint sign sin sinh sqrt tan tanh print write dim lge lgt lle llt mod nullify allocate deallocate adjustl adjustr all allocated any associated bit_size btest ceiling count cshift date_and_time digits dot_product eoshift epsilon exponent floor fraction huge iand ibclr ibits ibset ieor ior ishft ishftc lbound len_trim matmul maxexponent maxloc maxval merge minexponent minloc minval modulo mvbits nearest pack present product radix random_number random_seed range repeat reshape rrspacing scale scan selected_int_kind selected_real_kind set_exponent shape size spacing spread sum system_clock tiny transpose trim ubound unpack verify achar iachar transfer dble entry dprod cpu_time command_argument_count get_command get_command_argument get_environment_variable is_iostat_end ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode is_iostat_eor move_alloc new_line selected_char_kind same_type_as extends_type_ofacosh asinh atanh bessel_j0 bessel_j1 bessel_jn bessel_y0 bessel_y1 bessel_yn erf erfc erfc_scaled gamma log_gamma hypot norm2 atomic_define atomic_ref execute_command_line leadz trailz storage_size merge_bits bge bgt ble blt dshiftl dshiftr findloc iall iany iparity image_index lcobound ucobound maskl maskr num_images parity popcnt poppar shifta shiftl shiftr this_image"},illegal:/\/\*/,contains:[e.inherit(e.APOS_STRING_MODE,{className:"string",relevance:0}),e.inherit(e.QUOTE_STRING_MODE,{className:"string",relevance:0}),{className:"function",beginKeywords:"subroutine function program",illegal:"[${=\\n]",contains:[e.UNDERSCORE_TITLE_MODE,t]},e.COMMENT("!","$",{relevance:0}),{className:"number",begin:"(?=\\b|\\+|\\-|\\.)(?=\\.\\d|\\d)(?:\\d+)?(?:\\.?\\d*)(?:[de][+-]?\\d+)?\\b\\.?",relevance:0}]}}},{name:"fsharp",create:function(e){var t={begin:"<",end:">",contains:[e.inherit(e.TITLE_MODE,{begin:/'[a-zA-Z0-9_]+/})]};return{aliases:["fs"],keywords:"abstract and as assert base begin class default delegate do done downcast downto elif else end exception extern false finally for fun function global if in inherit inline interface internal lazy let match member module mutable namespace new null of open or override private public rec return sig static struct then to true try type upcast use val void when while with yield",illegal:/\/\*/,contains:[{className:"keyword",begin:/\b(yield|return|let|do)!/},{className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},{className:"string",begin:'"""',end:'"""'},e.COMMENT("\\(\\*","\\*\\)"),{className:"class",beginKeywords:"type",end:"\\(|=|$",excludeEnd:!0,contains:[e.UNDERSCORE_TITLE_MODE,t]},{className:"meta",begin:"\\[<",end:">\\]",relevance:10},{className:"symbol",begin:"\\B('[A-Za-z])\\b",contains:[e.BACKSLASH_ESCAPE]},e.C_LINE_COMMENT_MODE,e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),e.C_NUMBER_MODE]}}},{name:"gams",create:function(e){var t={keyword:"abort acronym acronyms alias all and assign binary card diag display else eq file files for free ge gt if integer le loop lt maximizing minimizing model models ne negative no not option options or ord positive prod put putpage puttl repeat sameas semicont semiint smax smin solve sos1 sos2 sum system table then until using while xor yes",literal:"eps inf na","built-in":"abs arccos arcsin arctan arctan2 Beta betaReg binomial ceil centropy cos cosh cvPower div div0 eDist entropy errorf execSeed exp fact floor frac gamma gammaReg log logBeta logGamma log10 log2 mapVal max min mod ncpCM ncpF ncpVUpow ncpVUsin normal pi poly power randBinomial randLinear randTriangle round rPower sigmoid sign signPower sin sinh slexp sllog10 slrec sqexp sqlog10 sqr sqrec sqrt tan tanh trunc uniform uniformInt vcPower bool_and bool_eqv bool_imp bool_not bool_or bool_xor ifThen rel_eq rel_ge rel_gt rel_le rel_lt rel_ne gday gdow ghour gleap gmillisec gminute gmonth gsecond gyear jdate jnow jstart jtime errorLevel execError gamsRelease gamsVersion handleCollect handleDelete handleStatus handleSubmit heapFree heapLimit heapSize jobHandle jobKill jobStatus jobTerminate licenseLevel licenseStatus maxExecError sleep timeClose timeComp timeElapsed timeExec timeStart"},a={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0},r={className:"symbol",variants:[{begin:/\=[lgenxc]=/},{begin:/\$/}]},i={className:"comment",variants:[{begin:"'",end:"'"},{begin:'"',end:'"'}],illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},s={begin:"/",end:"/",keywords:t,contains:[i,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_NUMBER_MODE]},n={begin:/[a-z][a-z0-9_]*(\([a-z0-9_, ]*\))?[ \t]+/,excludeBegin:!0,end:"$",endsWithParent:!0,contains:[i,s,{className:"comment",begin:/([ ]*[a-z0-9&#*=?@>\\<:\-,()$\[\]_.{}!+%^]+)+/,relevance:0}]};return{aliases:["gms"],case_insensitive:!0,keywords:t,contains:[e.COMMENT(/^\$ontext/,/^\$offtext/),{className:"meta",begin:"^\\$[a-z0-9]+",end:"$",returnBegin:!0,contains:[{className:"meta-keyword",begin:"^\\$[a-z0-9]+"}]},e.COMMENT("^\\*","$"),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{beginKeywords:"set sets parameter parameters variable variables scalar scalars equation equations",end:";",contains:[e.COMMENT("^\\*","$"),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,s,n]},{beginKeywords:"table",end:";",returnBegin:!0,contains:[{beginKeywords:"table",end:"$",contains:[n]},e.COMMENT("^\\*","$"),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_NUMBER_MODE]},{className:"function",begin:/^[a-z][a-z0-9_,\-+' ()$]+\.{2}/,returnBegin:!0,contains:[{className:"title",begin:/^[a-z0-9_]+/},a,r]},e.C_NUMBER_MODE,r]}}},{name:"gauss",create:function(e){var t={keyword:"bool break call callexe checkinterrupt clear clearg closeall cls comlog compile continue create debug declare delete disable dlibrary dllcall do dos ed edit else elseif enable end endfor endif endp endo errorlog errorlogat expr external fn for format goto gosub graph if keyword let lib library line load loadarray loadexe loadf loadk loadm loadp loads loadx local locate loopnextindex lprint lpwidth lshow matrix msym ndpclex new open output outwidth plot plotsym pop prcsn print printdos proc push retp return rndcon rndmod rndmult rndseed run save saveall screen scroll setarray show sparse stop string struct system trace trap threadfor threadendfor threadbegin threadjoin threadstat threadend until use while winprint ne ge le gt lt and xor or not eq eqv",built_in:"abs acf aconcat aeye amax amean AmericanBinomCall AmericanBinomCall_Greeks AmericanBinomCall_ImpVol AmericanBinomPut AmericanBinomPut_Greeks AmericanBinomPut_ImpVol AmericanBSCall AmericanBSCall_Greeks AmericanBSCall_ImpVol AmericanBSPut AmericanBSPut_Greeks AmericanBSPut_ImpVol amin amult annotationGetDefaults annotationSetBkd annotationSetFont annotationSetLineColor annotationSetLineStyle annotationSetLineThickness annualTradingDays arccos arcsin areshape arrayalloc arrayindex arrayinit arraytomat asciiload asclabel astd astds asum atan atan2 atranspose axmargin balance band bandchol bandcholsol bandltsol bandrv bandsolpd bar base10 begwind besselj bessely beta box boxcox cdfBeta cdfBetaInv cdfBinomial cdfBinomialInv cdfBvn cdfBvn2 cdfBvn2e cdfCauchy cdfCauchyInv cdfChic cdfChii cdfChinc cdfChincInv cdfExp cdfExpInv cdfFc cdfFnc cdfFncInv cdfGam cdfGenPareto cdfHyperGeo cdfLaplace cdfLaplaceInv cdfLogistic cdfLogisticInv cdfmControlCreate cdfMvn cdfMvn2e cdfMvnce cdfMvne cdfMvt2e cdfMvtce cdfMvte cdfN cdfN2 cdfNc cdfNegBinomial cdfNegBinomialInv cdfNi cdfPoisson cdfPoissonInv cdfRayleigh cdfRayleighInv cdfTc cdfTci cdfTnc cdfTvn cdfWeibull cdfWeibullInv cdir ceil ChangeDir chdir chiBarSquare chol choldn cholsol cholup chrs close code cols colsf combinate combinated complex con cond conj cons ConScore contour conv convertsatostr convertstrtosa corrm corrms corrvc corrx corrxs cos cosh counts countwts crossprd crout croutp csrcol csrlin csvReadM csvReadSA cumprodc cumsumc curve cvtos datacreate datacreatecomplex datalist dataload dataloop dataopen datasave date datestr datestring datestrymd dayinyr dayofweek dbAddDatabase dbClose dbCommit dbCreateQuery dbExecQuery dbGetConnectOptions dbGetDatabaseName dbGetDriverName dbGetDrivers dbGetHostName dbGetLastErrorNum dbGetLastErrorText dbGetNumericalPrecPolicy dbGetPassword dbGetPort dbGetTableHeaders dbGetTables dbGetUserName dbHasFeature dbIsDriverAvailable dbIsOpen dbIsOpenError dbOpen dbQueryBindValue dbQueryClear dbQueryCols dbQueryExecPrepared dbQueryFetchAllM dbQueryFetchAllSA dbQueryFetchOneM dbQueryFetchOneSA dbQueryFinish dbQueryGetBoundValue dbQueryGetBoundValues dbQueryGetField dbQueryGetLastErrorNum dbQueryGetLastErrorText dbQueryGetLastInsertID dbQueryGetLastQuery dbQueryGetPosition dbQueryIsActive dbQueryIsForwardOnly dbQueryIsNull dbQueryIsSelect dbQueryIsValid dbQueryPrepare dbQueryRows dbQuerySeek dbQuerySeekFirst dbQuerySeekLast dbQuerySeekNext dbQuerySeekPrevious dbQuerySetForwardOnly dbRemoveDatabase dbRollback dbSetConnectOptions dbSetDatabaseName dbSetHostName dbSetNumericalPrecPolicy dbSetPort dbSetUserName dbTransaction DeleteFile delif delrows denseToSp denseToSpRE denToZero design det detl dfft dffti diag diagrv digamma doswin DOSWinCloseall DOSWinOpen dotfeq dotfeqmt dotfge dotfgemt dotfgt dotfgtmt dotfle dotflemt dotflt dotfltmt dotfne dotfnemt draw drop dsCreate dstat dstatmt dstatmtControlCreate dtdate dtday dttime dttodtv dttostr dttoutc dtvnormal dtvtodt dtvtoutc dummy dummybr dummydn eig eigh eighv eigv elapsedTradingDays endwind envget eof eqSolve eqSolvemt eqSolvemtControlCreate eqSolvemtOutCreate eqSolveset erf erfc erfccplx erfcplx error etdays ethsec etstr EuropeanBinomCall EuropeanBinomCall_Greeks EuropeanBinomCall_ImpVol EuropeanBinomPut EuropeanBinomPut_Greeks EuropeanBinomPut_ImpVol EuropeanBSCall EuropeanBSCall_Greeks EuropeanBSCall_ImpVol EuropeanBSPut EuropeanBSPut_Greeks EuropeanBSPut_ImpVol exctsmpl exec execbg exp extern eye fcheckerr fclearerr feq feqmt fflush fft ffti fftm fftmi fftn fge fgemt fgets fgetsa fgetsat fgetst fgt fgtmt fileinfo filesa fle flemt floor flt fltmt fmod fne fnemt fonts fopen formatcv formatnv fputs fputst fseek fstrerror ftell ftocv ftos ftostrC gamma gammacplx gammaii gausset gdaAppend gdaCreate gdaDStat gdaDStatMat gdaGetIndex gdaGetName gdaGetNames gdaGetOrders gdaGetType gdaGetTypes gdaGetVarInfo gdaIsCplx gdaLoad gdaPack gdaRead gdaReadByIndex gdaReadSome gdaReadSparse gdaReadStruct gdaReportVarInfo gdaSave gdaUpdate gdaUpdateAndPack gdaVars gdaWrite gdaWrite32 gdaWriteSome getarray getdims getf getGAUSShome getmatrix getmatrix4D getname getnamef getNextTradingDay getNextWeekDay getnr getorders getpath getPreviousTradingDay getPreviousWeekDay getRow getscalar3D getscalar4D getTrRow getwind glm gradcplx gradMT gradMTm gradMTT gradMTTm gradp graphprt graphset hasimag header headermt hess hessMT hessMTg hessMTgw hessMTm hessMTmw hessMTT hessMTTg hessMTTgw hessMTTm hessMTw hessp hist histf histp hsec imag indcv indexcat indices indices2 indicesf indicesfn indnv indsav integrate1d integrateControlCreate intgrat2 intgrat3 inthp1 inthp2 inthp3 inthp4 inthpControlCreate intquad1 intquad2 intquad3 intrleav intrleavsa intrsect intsimp inv invpd invswp iscplx iscplxf isden isinfnanmiss ismiss key keyav keyw lag lag1 lagn lapEighb lapEighi lapEighvb lapEighvi lapgEig lapgEigh lapgEighv lapgEigv lapgSchur lapgSvdcst lapgSvds lapgSvdst lapSvdcusv lapSvds lapSvdusv ldlp ldlsol linSolve listwise ln lncdfbvn lncdfbvn2 lncdfmvn lncdfn lncdfn2 lncdfnc lnfact lngammacplx lnpdfmvn lnpdfmvt lnpdfn lnpdft loadd loadstruct loadwind loess loessmt loessmtControlCreate log loglog logx logy lower lowmat lowmat1 ltrisol lu lusol machEpsilon make makevars makewind margin matalloc matinit mattoarray maxbytes maxc maxindc maxv maxvec mbesselei mbesselei0 mbesselei1 mbesseli mbesseli0 mbesseli1 meanc median mergeby mergevar minc minindc minv miss missex missrv moment momentd movingave movingaveExpwgt movingaveWgt nextindex nextn nextnevn nextwind ntos null null1 numCombinations ols olsmt olsmtControlCreate olsqr olsqr2 olsqrmt ones optn optnevn orth outtyp pacf packedToSp packr parse pause pdfCauchy pdfChi pdfExp pdfGenPareto pdfHyperGeo pdfLaplace pdfLogistic pdfn pdfPoisson pdfRayleigh pdfWeibull pi pinv pinvmt plotAddArrow plotAddBar plotAddBox plotAddHist plotAddHistF plotAddHistP plotAddPolar plotAddScatter plotAddShape plotAddTextbox plotAddTS plotAddXY plotArea plotBar plotBox plotClearLayout plotContour plotCustomLayout plotGetDefaults plotHist plotHistF plotHistP plotLayout plotLogLog plotLogX plotLogY plotOpenWindow plotPolar plotSave plotScatter plotSetAxesPen plotSetBar plotSetBarFill plotSetBarStacked plotSetBkdColor plotSetFill plotSetGrid plotSetLegend plotSetLineColor plotSetLineStyle plotSetLineSymbol plotSetLineThickness plotSetNewWindow plotSetTitle plotSetWhichYAxis plotSetXAxisShow plotSetXLabel plotSetXRange plotSetXTicInterval plotSetXTicLabel plotSetYAxisShow plotSetYLabel plotSetYRange plotSetZAxisShow plotSetZLabel plotSurface plotTS plotXY polar polychar polyeval polygamma polyint polymake polymat polymroot polymult polyroot pqgwin previousindex princomp printfm printfmt prodc psi putarray putf putvals pvCreate pvGetIndex pvGetParNames pvGetParVector pvLength pvList pvPack pvPacki pvPackm pvPackmi pvPacks pvPacksi pvPacksm pvPacksmi pvPutParVector pvTest pvUnpack QNewton QNewtonmt QNewtonmtControlCreate QNewtonmtOutCreate QNewtonSet QProg QProgmt QProgmtInCreate qqr qqre qqrep qr qre qrep qrsol qrtsol qtyr qtyre qtyrep quantile quantiled qyr qyre qyrep qz rank rankindx readr real reclassify reclassifyCuts recode recserar recsercp recserrc rerun rescale reshape rets rev rfft rffti rfftip rfftn rfftnp rfftp rndBernoulli rndBeta rndBinomial rndCauchy rndChiSquare rndCon rndCreateState rndExp rndGamma rndGeo rndGumbel rndHyperGeo rndi rndKMbeta rndKMgam rndKMi rndKMn rndKMnb rndKMp rndKMu rndKMvm rndLaplace rndLCbeta rndLCgam rndLCi rndLCn rndLCnb rndLCp rndLCu rndLCvm rndLogNorm rndMTu rndMVn rndMVt rndn rndnb rndNegBinomial rndp rndPoisson rndRayleigh rndStateSkip rndu rndvm rndWeibull rndWishart rotater round rows rowsf rref sampleData satostrC saved saveStruct savewind scale scale3d scalerr scalinfnanmiss scalmiss schtoc schur searchsourcepath seekr select selif seqa seqm setdif setdifsa setvars setvwrmode setwind shell shiftr sin singleindex sinh sleep solpd sortc sortcc sortd sorthc sorthcc sortind sortindc sortmc sortr sortrc spBiconjGradSol spChol spConjGradSol spCreate spDenseSubmat spDiagRvMat spEigv spEye spLDL spline spLU spNumNZE spOnes spreadSheetReadM spreadSheetReadSA spreadSheetWrite spScale spSubmat spToDense spTrTDense spTScalar spZeros sqpSolve sqpSolveMT sqpSolveMTControlCreate sqpSolveMTlagrangeCreate sqpSolveMToutCreate sqpSolveSet sqrt statements stdc stdsc stocv stof strcombine strindx strlen strput strrindx strsect strsplit strsplitPad strtodt strtof strtofcplx strtriml strtrimr strtrunc strtruncl strtruncpad strtruncr submat subscat substute subvec sumc sumr surface svd svd1 svd2 svdcusv svds svdusv sysstate tab tan tanh tempname time timedt timestr timeutc title tkf2eps tkf2ps tocart todaydt toeplitz token topolar trapchk trigamma trimr trunc type typecv typef union unionsa uniqindx uniqindxsa unique uniquesa upmat upmat1 upper utctodt utctodtv utrisol vals varCovMS varCovXS varget vargetl varmall varmares varput varputl vartypef vcm vcms vcx vcxs vec vech vecr vector vget view viewxyz vlist vnamecv volume vput vread vtypecv wait waitc walkindex where window writer xlabel xlsGetSheetCount xlsGetSheetSize xlsGetSheetTypes xlsMakeRange xlsReadM xlsReadSA xlsWrite xlsWriteM xlsWriteSA xpnd xtics xy xyz ylabel ytics zeros zeta zlabel ztics cdfEmpirical dot h5create h5open h5read h5readAttribute h5write h5writeAttribute ldl plotAddErrorBar plotAddSurface plotCDFEmpirical plotSetColormap plotSetContourLabels plotSetLegendFont plotSetTextInterpreter plotSetXTicCount plotSetYTicCount plotSetZLevels powerm strjoin sylvester strtrim",literal:"DB_AFTER_LAST_ROW DB_ALL_TABLES DB_BATCH_OPERATIONS DB_BEFORE_FIRST_ROW DB_BLOB DB_EVENT_NOTIFICATIONS DB_FINISH_QUERY DB_HIGH_PRECISION DB_LAST_INSERT_ID DB_LOW_PRECISION_DOUBLE DB_LOW_PRECISION_INT32 DB_LOW_PRECISION_INT64 DB_LOW_PRECISION_NUMBERS DB_MULTIPLE_RESULT_SETS DB_NAMED_PLACEHOLDERS DB_POSITIONAL_PLACEHOLDERS DB_PREPARED_QUERIES DB_QUERY_SIZE DB_SIMPLE_LOCKING DB_SYSTEM_TABLES DB_TABLES DB_TRANSACTIONS DB_UNICODE DB_VIEWS __STDIN __STDOUT __STDERR __FILE_DIR"},a=e.COMMENT("@","@"),r={className:"meta",begin:"#",end:"$",keywords:{"meta-keyword":"define definecs|10 undef ifdef ifndef iflight ifdllcall ifmac ifos2win ifunix else endif lineson linesoff srcfile srcline"},contains:[{begin:/\\\n/,relevance:0},{beginKeywords:"include",end:"$",keywords:{"meta-keyword":"include"},contains:[{className:"meta-string",begin:'"',end:'"',illegal:"\\n"}]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a]},i={begin:/\bstruct\s+/,end:/\s/,keywords:"struct",contains:[{className:"type",begin:e.UNDERSCORE_IDENT_RE,relevance:0}]},s=[{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,endsWithParent:!0,relevance:0,contains:[{className:"literal",begin:/\.\.\./},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,a,i]}],n={className:"title",begin:e.UNDERSCORE_IDENT_RE,relevance:0},o=function(t,r,i){var o=e.inherit({className:"function",beginKeywords:t,end:r,excludeEnd:!0,contains:[].concat(s)},i||{});return o.contains.push(n),o.contains.push(e.C_NUMBER_MODE),o.contains.push(e.C_BLOCK_COMMENT_MODE),o.contains.push(a),o},l={className:"built_in",begin:"\\b("+t.built_in.split(" ").join("|")+")\\b"},c={className:"string",begin:'"',end:'"',contains:[e.BACKSLASH_ESCAPE],relevance:0},d={begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,keywords:t,relevance:0,contains:[{beginKeywords:t.keyword},l,{className:"built_in",begin:e.UNDERSCORE_IDENT_RE,relevance:0}]},_={begin:/\(/,end:/\)/,relevance:0,keywords:{built_in:t.built_in,literal:t.literal},contains:[e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,a,l,d,c,"self"]};return d.contains.push(_),{aliases:["gss"],case_insensitive:!0,keywords:t,illegal:/(\{[%#]|[%#]\}| <- )/,contains:[e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,c,r,{className:"keyword",begin:/\bexternal (matrix|string|array|sparse matrix|struct|proc|keyword|fn)/},o("proc keyword",";"),o("fn","="),{beginKeywords:"for threadfor",end:/;/,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE,a,_]},{variants:[{begin:e.UNDERSCORE_IDENT_RE+"\\."+e.UNDERSCORE_IDENT_RE},{begin:e.UNDERSCORE_IDENT_RE+"\\s*="}],relevance:0},d,i]}}},{name:"gcode", +create:function(e){return{aliases:["nc"],case_insensitive:!0,lexemes:"[A-Z_][A-Z0-9_.]*",keywords:"IF DO WHILE ENDWHILE CALL ENDIF SUB ENDSUB GOTO REPEAT ENDREPEAT EQ LT GT NE GE LE OR XOR",contains:[{className:"meta",begin:"\\%"},{className:"meta",begin:"([O])([0-9]+)"}].concat([e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.COMMENT(/\(/,/\)/),e.inherit(e.C_NUMBER_MODE,{begin:"([-+]?([0-9]*\\.?[0-9]+\\.?))|"+e.C_NUMBER_RE}),e.inherit(e.APOS_STRING_MODE,{illegal:null}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),{className:"name",begin:"([G])([0-9]+\\.?[0-9]?)"},{className:"name",begin:"([M])([0-9]+\\.?[0-9]?)"},{className:"attr",begin:"(VC|VS|#)",end:"(\\d+)"},{className:"attr",begin:"(VZOFX|VZOFY|VZOFZ)"},{className:"built_in",begin:"(ATAN|ABS|ACOS|ASIN|SIN|COS|EXP|FIX|FUP|ROUND|LN|TAN)(\\[)",end:"([-+]?([0-9]*\\.?[0-9]+\\.?))(\\])"},{className:"symbol",variants:[{begin:"N",end:"\\d+",illegal:"\\W"}]}])}}},{name:"gherkin",create:function(e){return{aliases:["feature"],keywords:"Feature Background Ability Business Need Scenario Scenarios Scenario Outline Scenario Template Examples Given And Then But When",contains:[{className:"symbol",begin:"\\*",relevance:0},{className:"meta",begin:"@[^@\\s]+"},{begin:"\\|",end:"\\|\\w*$",contains:[{className:"string",begin:"[^|]+"}]},{className:"variable",begin:"<",end:">"},e.HASH_COMMENT_MODE,{className:"string",begin:'"""',end:'"""'},e.QUOTE_STRING_MODE]}}},{name:"glsl",create:function(e){return{keywords:{keyword:"break continue discard do else for if return while switch case default attribute binding buffer ccw centroid centroid varying coherent column_major const cw depth_any depth_greater depth_less depth_unchanged early_fragment_tests equal_spacing flat fractional_even_spacing fractional_odd_spacing highp in index inout invariant invocations isolines layout line_strip lines lines_adjacency local_size_x local_size_y local_size_z location lowp max_vertices mediump noperspective offset origin_upper_left out packed patch pixel_center_integer point_mode points precise precision quads r11f_g11f_b10f r16 r16_snorm r16f r16i r16ui r32f r32i r32ui r8 r8_snorm r8i r8ui readonly restrict rg16 rg16_snorm rg16f rg16i rg16ui rg32f rg32i rg32ui rg8 rg8_snorm rg8i rg8ui rgb10_a2 rgb10_a2ui rgba16 rgba16_snorm rgba16f rgba16i rgba16ui rgba32f rgba32i rgba32ui rgba8 rgba8_snorm rgba8i rgba8ui row_major sample shared smooth std140 std430 stream triangle_strip triangles triangles_adjacency uniform varying vertices volatile writeonly",type:"atomic_uint bool bvec2 bvec3 bvec4 dmat2 dmat2x2 dmat2x3 dmat2x4 dmat3 dmat3x2 dmat3x3 dmat3x4 dmat4 dmat4x2 dmat4x3 dmat4x4 double dvec2 dvec3 dvec4 float iimage1D iimage1DArray iimage2D iimage2DArray iimage2DMS iimage2DMSArray iimage2DRect iimage3D iimageBufferiimageCube iimageCubeArray image1D image1DArray image2D image2DArray image2DMS image2DMSArray image2DRect image3D imageBuffer imageCube imageCubeArray int isampler1D isampler1DArray isampler2D isampler2DArray isampler2DMS isampler2DMSArray isampler2DRect isampler3D isamplerBuffer isamplerCube isamplerCubeArray ivec2 ivec3 ivec4 mat2 mat2x2 mat2x3 mat2x4 mat3 mat3x2 mat3x3 mat3x4 mat4 mat4x2 mat4x3 mat4x4 sampler1D sampler1DArray sampler1DArrayShadow sampler1DShadow sampler2D sampler2DArray sampler2DArrayShadow sampler2DMS sampler2DMSArray sampler2DRect sampler2DRectShadow sampler2DShadow sampler3D samplerBuffer samplerCube samplerCubeArray samplerCubeArrayShadow samplerCubeShadow image1D uimage1DArray uimage2D uimage2DArray uimage2DMS uimage2DMSArray uimage2DRect uimage3D uimageBuffer uimageCube uimageCubeArray uint usampler1D usampler1DArray usampler2D usampler2DArray usampler2DMS usampler2DMSArray usampler2DRect usampler3D samplerBuffer usamplerCube usamplerCubeArray uvec2 uvec3 uvec4 vec2 vec3 vec4 void",built_in:"gl_MaxAtomicCounterBindings gl_MaxAtomicCounterBufferSize gl_MaxClipDistances gl_MaxClipPlanes gl_MaxCombinedAtomicCounterBuffers gl_MaxCombinedAtomicCounters gl_MaxCombinedImageUniforms gl_MaxCombinedImageUnitsAndFragmentOutputs gl_MaxCombinedTextureImageUnits gl_MaxComputeAtomicCounterBuffers gl_MaxComputeAtomicCounters gl_MaxComputeImageUniforms gl_MaxComputeTextureImageUnits gl_MaxComputeUniformComponents gl_MaxComputeWorkGroupCount gl_MaxComputeWorkGroupSize gl_MaxDrawBuffers gl_MaxFragmentAtomicCounterBuffers gl_MaxFragmentAtomicCounters gl_MaxFragmentImageUniforms gl_MaxFragmentInputComponents gl_MaxFragmentInputVectors gl_MaxFragmentUniformComponents gl_MaxFragmentUniformVectors gl_MaxGeometryAtomicCounterBuffers gl_MaxGeometryAtomicCounters gl_MaxGeometryImageUniforms gl_MaxGeometryInputComponents gl_MaxGeometryOutputComponents gl_MaxGeometryOutputVertices gl_MaxGeometryTextureImageUnits gl_MaxGeometryTotalOutputComponents gl_MaxGeometryUniformComponents gl_MaxGeometryVaryingComponents gl_MaxImageSamples gl_MaxImageUnits gl_MaxLights gl_MaxPatchVertices gl_MaxProgramTexelOffset gl_MaxTessControlAtomicCounterBuffers gl_MaxTessControlAtomicCounters gl_MaxTessControlImageUniforms gl_MaxTessControlInputComponents gl_MaxTessControlOutputComponents gl_MaxTessControlTextureImageUnits gl_MaxTessControlTotalOutputComponents gl_MaxTessControlUniformComponents gl_MaxTessEvaluationAtomicCounterBuffers gl_MaxTessEvaluationAtomicCounters gl_MaxTessEvaluationImageUniforms gl_MaxTessEvaluationInputComponents gl_MaxTessEvaluationOutputComponents gl_MaxTessEvaluationTextureImageUnits gl_MaxTessEvaluationUniformComponents gl_MaxTessGenLevel gl_MaxTessPatchComponents gl_MaxTextureCoords gl_MaxTextureImageUnits gl_MaxTextureUnits gl_MaxVaryingComponents gl_MaxVaryingFloats gl_MaxVaryingVectors gl_MaxVertexAtomicCounterBuffers gl_MaxVertexAtomicCounters gl_MaxVertexAttribs gl_MaxVertexImageUniforms gl_MaxVertexOutputComponents gl_MaxVertexOutputVectors gl_MaxVertexTextureImageUnits gl_MaxVertexUniformComponents gl_MaxVertexUniformVectors gl_MaxViewports gl_MinProgramTexelOffset gl_BackColor gl_BackLightModelProduct gl_BackLightProduct gl_BackMaterial gl_BackSecondaryColor gl_ClipDistance gl_ClipPlane gl_ClipVertex gl_Color gl_DepthRange gl_EyePlaneQ gl_EyePlaneR gl_EyePlaneS gl_EyePlaneT gl_Fog gl_FogCoord gl_FogFragCoord gl_FragColor gl_FragCoord gl_FragData gl_FragDepth gl_FrontColor gl_FrontFacing gl_FrontLightModelProduct gl_FrontLightProduct gl_FrontMaterial gl_FrontSecondaryColor gl_GlobalInvocationID gl_InstanceID gl_InvocationID gl_Layer gl_LightModel gl_LightSource gl_LocalInvocationID gl_LocalInvocationIndex gl_ModelViewMatrix gl_ModelViewMatrixInverse gl_ModelViewMatrixInverseTranspose gl_ModelViewMatrixTranspose gl_ModelViewProjectionMatrix gl_ModelViewProjectionMatrixInverse gl_ModelViewProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixTranspose gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_Normal gl_NormalMatrix gl_NormalScale gl_NumSamples gl_NumWorkGroups gl_ObjectPlaneQ gl_ObjectPlaneR gl_ObjectPlaneS gl_ObjectPlaneT gl_PatchVerticesIn gl_Point gl_PointCoord gl_PointSize gl_Position gl_PrimitiveID gl_PrimitiveIDIn gl_ProjectionMatrix gl_ProjectionMatrixInverse gl_ProjectionMatrixInverseTranspose gl_ProjectionMatrixTranspose gl_SampleID gl_SampleMask gl_SampleMaskIn gl_SamplePosition gl_SecondaryColor gl_TessCoord gl_TessLevelInner gl_TessLevelOuter gl_TexCoord gl_TextureEnvColor gl_TextureMatrix gl_TextureMatrixInverse gl_TextureMatrixInverseTranspose gl_TextureMatrixTranspose gl_Vertex gl_VertexID gl_ViewportIndex gl_WorkGroupID gl_WorkGroupSize gl_in gl_out EmitStreamVertex EmitVertex EndPrimitive EndStreamPrimitive abs acos acosh all any asin asinh atan atanh atomicAdd atomicAnd atomicCompSwap atomicCounter atomicCounterDecrement atomicCounterIncrement atomicExchange atomicMax atomicMin atomicOr atomicXor barrier bitCount bitfieldExtract bitfieldInsert bitfieldReverse ceil clamp cos cosh cross dFdx dFdy degrees determinant distance dot equal exp exp2 faceforward findLSB findMSB floatBitsToInt floatBitsToUint floor fma fract frexp ftransform fwidth greaterThan greaterThanEqual groupMemoryBarrier imageAtomicAdd imageAtomicAnd imageAtomicCompSwap imageAtomicExchange imageAtomicMax imageAtomicMin imageAtomicOr imageAtomicXor imageLoad imageSize imageStore imulExtended intBitsToFloat interpolateAtCentroid interpolateAtOffset interpolateAtSample inverse inversesqrt isinf isnan ldexp length lessThan lessThanEqual log log2 matrixCompMult max memoryBarrier memoryBarrierAtomicCounter memoryBarrierBuffer memoryBarrierImage memoryBarrierShared min mix mod modf noise1 noise2 noise3 noise4 normalize not notEqual outerProduct packDouble2x32 packHalf2x16 packSnorm2x16 packSnorm4x8 packUnorm2x16 packUnorm4x8 pow radians reflect refract round roundEven shadow1D shadow1DLod shadow1DProj shadow1DProjLod shadow2D shadow2DLod shadow2DProj shadow2DProjLod sign sin sinh smoothstep sqrt step tan tanh texelFetch texelFetchOffset texture texture1D texture1DLod texture1DProj texture1DProjLod texture2D texture2DLod texture2DProj texture2DProjLod texture3D texture3DLod texture3DProj texture3DProjLod textureCube textureCubeLod textureGather textureGatherOffset textureGatherOffsets textureGrad textureGradOffset textureLod textureLodOffset textureOffset textureProj textureProjGrad textureProjGradOffset textureProjLod textureProjLodOffset textureProjOffset textureQueryLevels textureQueryLod textureSize transpose trunc uaddCarry uintBitsToFloat umulExtended unpackDouble2x32 unpackHalf2x16 unpackSnorm2x16 unpackSnorm4x8 unpackUnorm2x16 unpackUnorm4x8 usubBorrow",literal:"true false"},illegal:'"',contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.C_NUMBER_MODE,{className:"meta",begin:"#",end:"$"}]}}},{name:"gml",create:function(e){return{aliases:["gml","GML"],case_insensitive:!1,keywords:{keywords:"begin end if then else while do for break continue with until repeat exit and or xor not return mod div switch case default var globalvar enum #macro #region #endregion", +built_in:"is_real is_string is_array is_undefined is_int32 is_int64 is_ptr is_vec3 is_vec4 is_matrix is_bool typeof variable_global_exists variable_global_get variable_global_set variable_instance_exists variable_instance_get variable_instance_set variable_instance_get_names array_length_1d array_length_2d array_height_2d array_equals array_create array_copy random random_range irandom irandom_range random_set_seed random_get_seed randomize randomise choose abs round floor ceil sign frac sqrt sqr exp ln log2 log10 sin cos tan arcsin arccos arctan arctan2 dsin dcos dtan darcsin darccos darctan darctan2 degtorad radtodeg power logn min max mean median clamp lerp dot_product dot_product_3d dot_product_normalised dot_product_3d_normalised dot_product_normalized dot_product_3d_normalized math_set_epsilon math_get_epsilon angle_difference point_distance_3d point_distance point_direction lengthdir_x lengthdir_y real string int64 ptr string_format chr ansi_char ord string_length string_byte_length string_pos string_copy string_char_at string_ord_at string_byte_at string_set_byte_at string_delete string_insert string_lower string_upper string_repeat string_letters string_digits string_lettersdigits string_replace string_replace_all string_count string_hash_to_newline clipboard_has_text clipboard_set_text clipboard_get_text date_current_datetime date_create_datetime date_valid_datetime date_inc_year date_inc_month date_inc_week date_inc_day date_inc_hour date_inc_minute date_inc_second date_get_year date_get_month date_get_week date_get_day date_get_hour date_get_minute date_get_second date_get_weekday date_get_day_of_year date_get_hour_of_year date_get_minute_of_year date_get_second_of_year date_year_span date_month_span date_week_span date_day_span date_hour_span date_minute_span date_second_span date_compare_datetime date_compare_date date_compare_time date_date_of date_time_of date_datetime_string date_date_string date_time_string date_days_in_month date_days_in_year date_leap_year date_is_today date_set_timezone date_get_timezone game_set_speed game_get_speed motion_set motion_add place_free place_empty place_meeting place_snapped move_random move_snap move_towards_point move_contact_solid move_contact_all move_outside_solid move_outside_all move_bounce_solid move_bounce_all move_wrap distance_to_point distance_to_object position_empty position_meeting path_start path_end mp_linear_step mp_potential_step mp_linear_step_object mp_potential_step_object mp_potential_settings mp_linear_path mp_potential_path mp_linear_path_object mp_potential_path_object mp_grid_create mp_grid_destroy mp_grid_clear_all mp_grid_clear_cell mp_grid_clear_rectangle mp_grid_add_cell mp_grid_get_cell mp_grid_add_rectangle mp_grid_add_instances mp_grid_path mp_grid_draw mp_grid_to_ds_grid collision_point collision_rectangle collision_circle collision_ellipse collision_line collision_point_list collision_rectangle_list collision_circle_list collision_ellipse_list collision_line_list instance_position_list instance_place_list point_in_rectangle point_in_triangle point_in_circle rectangle_in_rectangle rectangle_in_triangle rectangle_in_circle instance_find instance_exists instance_number instance_position instance_nearest instance_furthest instance_place instance_create_depth instance_create_layer instance_copy instance_change instance_destroy position_destroy position_change instance_id_get instance_deactivate_all instance_deactivate_object instance_deactivate_region instance_activate_all instance_activate_object instance_activate_region room_goto room_goto_previous room_goto_next room_previous room_next room_restart game_end game_restart game_load game_save game_save_buffer game_load_buffer event_perform event_user event_perform_object event_inherited show_debug_message show_debug_overlay debug_event debug_get_callstack alarm_get alarm_set font_texture_page_size keyboard_set_map keyboard_get_map keyboard_unset_map keyboard_check keyboard_check_pressed keyboard_check_released keyboard_check_direct keyboard_get_numlock keyboard_set_numlock keyboard_key_press keyboard_key_release keyboard_clear io_clear mouse_check_button mouse_check_button_pressed mouse_check_button_released mouse_wheel_up mouse_wheel_down mouse_clear draw_self draw_sprite draw_sprite_pos draw_sprite_ext draw_sprite_stretched draw_sprite_stretched_ext draw_sprite_tiled draw_sprite_tiled_ext draw_sprite_part draw_sprite_part_ext draw_sprite_general draw_clear draw_clear_alpha draw_point draw_line draw_line_width draw_rectangle draw_roundrect draw_roundrect_ext draw_triangle draw_circle draw_ellipse draw_set_circle_precision draw_arrow draw_button draw_path draw_healthbar draw_getpixel draw_getpixel_ext draw_set_colour draw_set_color draw_set_alpha draw_get_colour draw_get_color draw_get_alpha merge_colour make_colour_rgb make_colour_hsv colour_get_red colour_get_green colour_get_blue colour_get_hue colour_get_saturation colour_get_value merge_color make_color_rgb make_color_hsv color_get_red color_get_green color_get_blue color_get_hue color_get_saturation color_get_value merge_color screen_save screen_save_part draw_set_font draw_set_halign draw_set_valign draw_text draw_text_ext string_width string_height string_width_ext string_height_ext draw_text_transformed draw_text_ext_transformed draw_text_colour draw_text_ext_colour draw_text_transformed_colour draw_text_ext_transformed_colour draw_text_color draw_text_ext_color draw_text_transformed_color draw_text_ext_transformed_color draw_point_colour draw_line_colour draw_line_width_colour draw_rectangle_colour draw_roundrect_colour draw_roundrect_colour_ext draw_triangle_colour draw_circle_colour draw_ellipse_colour draw_point_color draw_line_color draw_line_width_color draw_rectangle_color draw_roundrect_color draw_roundrect_color_ext draw_triangle_color draw_circle_color draw_ellipse_color draw_primitive_begin draw_vertex draw_vertex_colour draw_vertex_color draw_primitive_end sprite_get_uvs font_get_uvs sprite_get_texture font_get_texture texture_get_width texture_get_height texture_get_uvs draw_primitive_begin_texture draw_vertex_texture draw_vertex_texture_colour draw_vertex_texture_color texture_global_scale surface_create surface_create_ext surface_resize surface_free surface_exists surface_get_width surface_get_height surface_get_texture surface_set_target surface_set_target_ext surface_reset_target surface_depth_disable surface_get_depth_disable draw_surface draw_surface_stretched draw_surface_tiled draw_surface_part draw_surface_ext draw_surface_stretched_ext draw_surface_tiled_ext draw_surface_part_ext draw_surface_general surface_getpixel surface_getpixel_ext surface_save surface_save_part surface_copy surface_copy_part application_surface_draw_enable application_get_position application_surface_enable application_surface_is_enabled display_get_width display_get_height display_get_orientation display_get_gui_width display_get_gui_height display_reset display_mouse_get_x display_mouse_get_y display_mouse_set display_set_ui_visibility window_set_fullscreen window_get_fullscreen window_set_caption window_set_min_width window_set_max_width window_set_min_height window_set_max_height window_get_visible_rects window_get_caption window_set_cursor window_get_cursor window_set_colour window_get_colour window_set_color window_get_color window_set_position window_set_size window_set_rectangle window_center window_get_x window_get_y window_get_width window_get_height window_mouse_get_x window_mouse_get_y window_mouse_set window_view_mouse_get_x window_view_mouse_get_y window_views_mouse_get_x window_views_mouse_get_y audio_listener_position audio_listener_velocity audio_listener_orientation audio_emitter_position audio_emitter_create audio_emitter_free audio_emitter_exists audio_emitter_pitch audio_emitter_velocity audio_emitter_falloff audio_emitter_gain audio_play_sound audio_play_sound_on audio_play_sound_at audio_stop_sound audio_resume_music audio_music_is_playing audio_resume_sound audio_pause_sound audio_pause_music audio_channel_num audio_sound_length audio_get_type audio_falloff_set_model audio_play_music audio_stop_music audio_master_gain audio_music_gain audio_sound_gain audio_sound_pitch audio_stop_all audio_resume_all audio_pause_all audio_is_playing audio_is_paused audio_exists audio_sound_set_track_position audio_sound_get_track_position audio_emitter_get_gain audio_emitter_get_pitch audio_emitter_get_x audio_emitter_get_y audio_emitter_get_z audio_emitter_get_vx audio_emitter_get_vy audio_emitter_get_vz audio_listener_set_position audio_listener_set_velocity audio_listener_set_orientation audio_listener_get_data audio_set_master_gain audio_get_master_gain audio_sound_get_gain audio_sound_get_pitch audio_get_name audio_sound_set_track_position audio_sound_get_track_position audio_create_stream audio_destroy_stream audio_create_sync_group audio_destroy_sync_group audio_play_in_sync_group audio_start_sync_group audio_stop_sync_group audio_pause_sync_group audio_resume_sync_group audio_sync_group_get_track_pos audio_sync_group_debug audio_sync_group_is_playing audio_debug audio_group_load audio_group_unload audio_group_is_loaded audio_group_load_progress audio_group_name audio_group_stop_all audio_group_set_gain audio_create_buffer_sound audio_free_buffer_sound audio_create_play_queue audio_free_play_queue audio_queue_sound audio_get_recorder_count audio_get_recorder_info audio_start_recording audio_stop_recording audio_sound_get_listener_mask audio_emitter_get_listener_mask audio_get_listener_mask audio_sound_set_listener_mask audio_emitter_set_listener_mask audio_set_listener_mask audio_get_listener_count audio_get_listener_info audio_system show_message show_message_async clickable_add clickable_add_ext clickable_change clickable_change_ext clickable_delete clickable_exists clickable_set_style show_question show_question_async get_integer get_string get_integer_async get_string_async get_login_async get_open_filename get_save_filename get_open_filename_ext get_save_filename_ext show_error highscore_clear highscore_add highscore_value highscore_name draw_highscore sprite_exists sprite_get_name sprite_get_number sprite_get_width sprite_get_height sprite_get_xoffset sprite_get_yoffset sprite_get_bbox_left sprite_get_bbox_right sprite_get_bbox_top sprite_get_bbox_bottom sprite_save sprite_save_strip sprite_set_cache_size sprite_set_cache_size_ext sprite_get_tpe sprite_prefetch sprite_prefetch_multi sprite_flush sprite_flush_multi sprite_set_speed sprite_get_speed_type sprite_get_speed font_exists font_get_name font_get_fontname font_get_bold font_get_italic font_get_first font_get_last font_get_size font_set_cache_size path_exists path_get_name path_get_length path_get_time path_get_kind path_get_closed path_get_precision path_get_number path_get_point_x path_get_point_y path_get_point_speed path_get_x path_get_y path_get_speed script_exists script_get_name timeline_add timeline_delete timeline_clear timeline_exists timeline_get_name timeline_moment_clear timeline_moment_add_script timeline_size timeline_max_moment object_exists object_get_name object_get_sprite object_get_solid object_get_visible object_get_persistent object_get_mask object_get_parent object_get_physics object_is_ancestor room_exists room_get_name sprite_set_offset sprite_duplicate sprite_assign sprite_merge sprite_add sprite_replace sprite_create_from_surface sprite_add_from_surface sprite_delete sprite_set_alpha_from_sprite sprite_collision_mask font_add_enable_aa font_add_get_enable_aa font_add font_add_sprite font_add_sprite_ext font_replace font_replace_sprite font_replace_sprite_ext font_delete path_set_kind path_set_closed path_set_precision path_add path_assign path_duplicate path_append path_delete path_add_point path_insert_point path_change_point path_delete_point path_clear_points path_reverse path_mirror path_flip path_rotate path_rescale path_shift script_execute object_set_sprite object_set_solid object_set_visible object_set_persistent object_set_mask room_set_width room_set_height room_set_persistent room_set_background_colour room_set_background_color room_set_view room_set_viewport room_get_viewport room_set_view_enabled room_add room_duplicate room_assign room_instance_add room_instance_clear room_get_camera room_set_camera asset_get_index asset_get_type file_text_open_from_string file_text_open_read file_text_open_write file_text_open_append file_text_close file_text_write_string file_text_write_real file_text_writeln file_text_read_string file_text_read_real file_text_readln file_text_eof file_text_eoln file_exists file_delete file_rename file_copy directory_exists directory_create directory_destroy file_find_first file_find_next file_find_close file_attributes filename_name filename_path filename_dir filename_drive filename_ext filename_change_ext file_bin_open file_bin_rewrite file_bin_close file_bin_position file_bin_size file_bin_seek file_bin_write_byte file_bin_read_byte parameter_count parameter_string environment_get_variable ini_open_from_string ini_open ini_close ini_read_string ini_read_real ini_write_string ini_write_real ini_key_exists ini_section_exists ini_key_delete ini_section_delete ds_set_precision ds_exists ds_stack_create ds_stack_destroy ds_stack_clear ds_stack_copy ds_stack_size ds_stack_empty ds_stack_push ds_stack_pop ds_stack_top ds_stack_write ds_stack_read ds_queue_create ds_queue_destroy ds_queue_clear ds_queue_copy ds_queue_size ds_queue_empty ds_queue_enqueue ds_queue_dequeue ds_queue_head ds_queue_tail ds_queue_write ds_queue_read ds_list_create ds_list_destroy ds_list_clear ds_list_copy ds_list_size ds_list_empty ds_list_add ds_list_insert ds_list_replace ds_list_delete ds_list_find_index ds_list_find_value ds_list_mark_as_list ds_list_mark_as_map ds_list_sort ds_list_shuffle ds_list_write ds_list_read ds_list_set ds_map_create ds_map_destroy ds_map_clear ds_map_copy ds_map_size ds_map_empty ds_map_add ds_map_add_list ds_map_add_map ds_map_replace ds_map_replace_map ds_map_replace_list ds_map_delete ds_map_exists ds_map_find_value ds_map_find_previous ds_map_find_next ds_map_find_first ds_map_find_last ds_map_write ds_map_read ds_map_secure_save ds_map_secure_load ds_map_secure_load_buffer ds_map_secure_save_buffer ds_map_set ds_priority_create ds_priority_destroy ds_priority_clear ds_priority_copy ds_priority_size ds_priority_empty ds_priority_add ds_priority_change_priority ds_priority_find_priority ds_priority_delete_value ds_priority_delete_min ds_priority_find_min ds_priority_delete_max ds_priority_find_max ds_priority_write ds_priority_read ds_grid_create ds_grid_destroy ds_grid_copy ds_grid_resize ds_grid_width ds_grid_height ds_grid_clear ds_grid_set ds_grid_add ds_grid_multiply ds_grid_set_region ds_grid_add_region ds_grid_multiply_region ds_grid_set_disk ds_grid_add_disk ds_grid_multiply_disk ds_grid_set_grid_region ds_grid_add_grid_region ds_grid_multiply_grid_region ds_grid_get ds_grid_get_sum ds_grid_get_max ds_grid_get_min ds_grid_get_mean ds_grid_get_disk_sum ds_grid_get_disk_min ds_grid_get_disk_max ds_grid_get_disk_mean ds_grid_value_exists ds_grid_value_x ds_grid_value_y ds_grid_value_disk_exists ds_grid_value_disk_x ds_grid_value_disk_y ds_grid_shuffle ds_grid_write ds_grid_read ds_grid_sort ds_grid_set ds_grid_get effect_create_below effect_create_above effect_clear part_type_create part_type_destroy part_type_exists part_type_clear part_type_shape part_type_sprite part_type_size part_type_scale part_type_orientation part_type_life part_type_step part_type_death part_type_speed part_type_direction part_type_gravity part_type_colour1 part_type_colour2 part_type_colour3 part_type_colour_mix part_type_colour_rgb part_type_colour_hsv part_type_color1 part_type_color2 part_type_color3 part_type_color_mix part_type_color_rgb part_type_color_hsv part_type_alpha1 part_type_alpha2 part_type_alpha3 part_type_blend part_system_create part_system_create_layer part_system_destroy part_system_exists part_system_clear part_system_draw_order part_system_depth part_system_position part_system_automatic_update part_system_automatic_draw part_system_update part_system_drawit part_system_get_layer part_system_layer part_particles_create part_particles_create_colour part_particles_create_color part_particles_clear part_particles_count part_emitter_create part_emitter_destroy part_emitter_destroy_all part_emitter_exists part_emitter_clear part_emitter_region part_emitter_burst part_emitter_stream external_call external_define external_free window_handle window_device matrix_get matrix_set matrix_build_identity matrix_build matrix_build_lookat matrix_build_projection_ortho matrix_build_projection_perspective matrix_build_projection_perspective_fov matrix_multiply matrix_transform_vertex matrix_stack_push matrix_stack_pop matrix_stack_multiply matrix_stack_set matrix_stack_clear matrix_stack_top matrix_stack_is_empty browser_input_capture os_get_config os_get_info os_get_language os_get_region os_lock_orientation display_get_dpi_x display_get_dpi_y display_set_gui_size display_set_gui_maximise display_set_gui_maximize device_mouse_dbclick_enable display_set_timing_method display_get_timing_method display_set_sleep_margin display_get_sleep_margin virtual_key_add virtual_key_hide virtual_key_delete virtual_key_show draw_enable_drawevent draw_enable_swf_aa draw_set_swf_aa_level draw_get_swf_aa_level draw_texture_flush draw_flush gpu_set_blendenable gpu_set_ztestenable gpu_set_zfunc gpu_set_zwriteenable gpu_set_lightingenable gpu_set_fog gpu_set_cullmode gpu_set_blendmode gpu_set_blendmode_ext gpu_set_blendmode_ext_sepalpha gpu_set_colorwriteenable gpu_set_colourwriteenable gpu_set_alphatestenable gpu_set_alphatestref gpu_set_alphatestfunc gpu_set_texfilter gpu_set_texfilter_ext gpu_set_texrepeat gpu_set_texrepeat_ext gpu_set_tex_filter gpu_set_tex_filter_ext gpu_set_tex_repeat gpu_set_tex_repeat_ext gpu_set_tex_mip_filter gpu_set_tex_mip_filter_ext gpu_set_tex_mip_bias gpu_set_tex_mip_bias_ext gpu_set_tex_min_mip gpu_set_tex_min_mip_ext gpu_set_tex_max_mip gpu_set_tex_max_mip_ext gpu_set_tex_max_aniso gpu_set_tex_max_aniso_ext gpu_set_tex_mip_enable gpu_set_tex_mip_enable_ext gpu_get_blendenable gpu_get_ztestenable gpu_get_zfunc gpu_get_zwriteenable gpu_get_lightingenable gpu_get_fog gpu_get_cullmode gpu_get_blendmode gpu_get_blendmode_ext gpu_get_blendmode_ext_sepalpha gpu_get_blendmode_src gpu_get_blendmode_dest gpu_get_blendmode_srcalpha gpu_get_blendmode_destalpha gpu_get_colorwriteenable gpu_get_colourwriteenable gpu_get_alphatestenable gpu_get_alphatestref gpu_get_alphatestfunc gpu_get_texfilter gpu_get_texfilter_ext gpu_get_texrepeat gpu_get_texrepeat_ext gpu_get_tex_filter gpu_get_tex_filter_ext gpu_get_tex_repeat gpu_get_tex_repeat_ext gpu_get_tex_mip_filter gpu_get_tex_mip_filter_ext gpu_get_tex_mip_bias gpu_get_tex_mip_bias_ext gpu_get_tex_min_mip gpu_get_tex_min_mip_ext gpu_get_tex_max_mip gpu_get_tex_max_mip_ext gpu_get_tex_max_aniso gpu_get_tex_max_aniso_ext gpu_get_tex_mip_enable gpu_get_tex_mip_enable_ext gpu_push_state gpu_pop_state gpu_get_state gpu_set_state draw_light_define_ambient draw_light_define_direction draw_light_define_point draw_light_enable draw_set_lighting draw_light_get_ambient draw_light_get draw_get_lighting shop_leave_rating url_get_domain url_open url_open_ext url_open_full get_timer achievement_login achievement_logout achievement_post achievement_increment achievement_post_score achievement_available achievement_show_achievements achievement_show_leaderboards achievement_load_friends achievement_load_leaderboard achievement_send_challenge achievement_load_progress achievement_reset achievement_login_status achievement_get_pic achievement_show_challenge_notifications achievement_get_challenges achievement_event achievement_show achievement_get_info cloud_file_save cloud_string_save cloud_synchronise ads_enable ads_disable ads_setup ads_engagement_launch ads_engagement_available ads_engagement_active ads_event ads_event_preload ads_set_reward_callback ads_get_display_height ads_get_display_width ads_move ads_interstitial_available ads_interstitial_display device_get_tilt_x device_get_tilt_y device_get_tilt_z device_is_keypad_open device_mouse_check_button device_mouse_check_button_pressed device_mouse_check_button_released device_mouse_x device_mouse_y device_mouse_raw_x device_mouse_raw_y device_mouse_x_to_gui device_mouse_y_to_gui iap_activate iap_status iap_enumerate_products iap_restore_all iap_acquire iap_consume iap_product_details iap_purchase_details facebook_init facebook_login facebook_status facebook_graph_request facebook_dialog facebook_logout facebook_launch_offerwall facebook_post_message facebook_send_invite facebook_user_id facebook_accesstoken facebook_check_permission facebook_request_read_permissions facebook_request_publish_permissions gamepad_is_supported gamepad_get_device_count gamepad_is_connected gamepad_get_description gamepad_get_button_threshold gamepad_set_button_threshold gamepad_get_axis_deadzone gamepad_set_axis_deadzone gamepad_button_count gamepad_button_check gamepad_button_check_pressed gamepad_button_check_released gamepad_button_value gamepad_axis_count gamepad_axis_value gamepad_set_vibration gamepad_set_colour gamepad_set_color os_is_paused window_has_focus code_is_compiled http_get http_get_file http_post_string http_request json_encode json_decode zip_unzip load_csv base64_encode base64_decode md5_string_unicode md5_string_utf8 md5_file os_is_network_connected sha1_string_unicode sha1_string_utf8 sha1_file os_powersave_enable analytics_event analytics_event_ext win8_livetile_tile_notification win8_livetile_tile_clear win8_livetile_badge_notification win8_livetile_badge_clear win8_livetile_queue_enable win8_secondarytile_pin win8_secondarytile_badge_notification win8_secondarytile_delete win8_livetile_notification_begin win8_livetile_notification_secondary_begin win8_livetile_notification_expiry win8_livetile_notification_tag win8_livetile_notification_text_add win8_livetile_notification_image_add win8_livetile_notification_end win8_appbar_enable win8_appbar_add_element win8_appbar_remove_element win8_settingscharm_add_entry win8_settingscharm_add_html_entry win8_settingscharm_add_xaml_entry win8_settingscharm_set_xaml_property win8_settingscharm_get_xaml_property win8_settingscharm_remove_entry win8_share_image win8_share_screenshot win8_share_file win8_share_url win8_share_text win8_search_enable win8_search_disable win8_search_add_suggestions win8_device_touchscreen_available win8_license_initialize_sandbox win8_license_trial_version winphone_license_trial_version winphone_tile_title winphone_tile_count winphone_tile_back_title winphone_tile_back_content winphone_tile_back_content_wide winphone_tile_front_image winphone_tile_front_image_small winphone_tile_front_image_wide winphone_tile_back_image winphone_tile_back_image_wide winphone_tile_background_colour winphone_tile_background_color winphone_tile_icon_image winphone_tile_small_icon_image winphone_tile_wide_content winphone_tile_cycle_images winphone_tile_small_background_image physics_world_create physics_world_gravity physics_world_update_speed physics_world_update_iterations physics_world_draw_debug physics_pause_enable physics_fixture_create physics_fixture_set_kinematic physics_fixture_set_density physics_fixture_set_awake physics_fixture_set_restitution physics_fixture_set_friction physics_fixture_set_collision_group physics_fixture_set_sensor physics_fixture_set_linear_damping physics_fixture_set_angular_damping physics_fixture_set_circle_shape physics_fixture_set_box_shape physics_fixture_set_edge_shape physics_fixture_set_polygon_shape physics_fixture_set_chain_shape physics_fixture_add_point physics_fixture_bind physics_fixture_bind_ext physics_fixture_delete physics_apply_force physics_apply_impulse physics_apply_angular_impulse physics_apply_local_force physics_apply_local_impulse physics_apply_torque physics_mass_properties physics_draw_debug physics_test_overlap physics_remove_fixture physics_set_friction physics_set_density physics_set_restitution physics_get_friction physics_get_density physics_get_restitution physics_joint_distance_create physics_joint_rope_create physics_joint_revolute_create physics_joint_prismatic_create physics_joint_pulley_create physics_joint_wheel_create physics_joint_weld_create physics_joint_friction_create physics_joint_gear_create physics_joint_enable_motor physics_joint_get_value physics_joint_set_value physics_joint_delete physics_particle_create physics_particle_delete physics_particle_delete_region_circle physics_particle_delete_region_box physics_particle_delete_region_poly physics_particle_set_flags physics_particle_set_category_flags physics_particle_draw physics_particle_draw_ext physics_particle_count physics_particle_get_data physics_particle_get_data_particle physics_particle_group_begin physics_particle_group_circle physics_particle_group_box physics_particle_group_polygon physics_particle_group_add_point physics_particle_group_end physics_particle_group_join physics_particle_group_delete physics_particle_group_count physics_particle_group_get_data physics_particle_group_get_mass physics_particle_group_get_inertia physics_particle_group_get_centre_x physics_particle_group_get_centre_y physics_particle_group_get_vel_x physics_particle_group_get_vel_y physics_particle_group_get_ang_vel physics_particle_group_get_x physics_particle_group_get_y physics_particle_group_get_angle physics_particle_set_group_flags physics_particle_get_group_flags physics_particle_get_max_count physics_particle_get_radius physics_particle_get_density physics_particle_get_damping physics_particle_get_gravity_scale physics_particle_set_max_count physics_particle_set_radius physics_particle_set_density physics_particle_set_damping physics_particle_set_gravity_scale network_create_socket network_create_socket_ext network_create_server network_create_server_raw network_connect network_connect_raw network_send_packet network_send_raw network_send_broadcast network_send_udp network_send_udp_raw network_set_timeout network_set_config network_resolve network_destroy buffer_create buffer_write buffer_read buffer_seek buffer_get_surface buffer_set_surface buffer_delete buffer_exists buffer_get_type buffer_get_alignment buffer_poke buffer_peek buffer_save buffer_save_ext buffer_load buffer_load_ext buffer_load_partial buffer_copy buffer_fill buffer_get_size buffer_tell buffer_resize buffer_md5 buffer_sha1 buffer_base64_encode buffer_base64_decode buffer_base64_decode_ext buffer_sizeof buffer_get_address buffer_create_from_vertex_buffer buffer_create_from_vertex_buffer_ext buffer_copy_from_vertex_buffer buffer_async_group_begin buffer_async_group_option buffer_async_group_end buffer_load_async buffer_save_async gml_release_mode gml_pragma steam_activate_overlay steam_is_overlay_enabled steam_is_overlay_activated steam_get_persona_name steam_initialised steam_is_cloud_enabled_for_app steam_is_cloud_enabled_for_account steam_file_persisted steam_get_quota_total steam_get_quota_free steam_file_write steam_file_write_file steam_file_read steam_file_delete steam_file_exists steam_file_size steam_file_share steam_is_screenshot_requested steam_send_screenshot steam_is_user_logged_on steam_get_user_steam_id steam_user_owns_dlc steam_user_installed_dlc steam_set_achievement steam_get_achievement steam_clear_achievement steam_set_stat_int steam_set_stat_float steam_set_stat_avg_rate steam_get_stat_int steam_get_stat_float steam_get_stat_avg_rate steam_reset_all_stats steam_reset_all_stats_achievements steam_stats_ready steam_create_leaderboard steam_upload_score steam_upload_score_ext steam_download_scores_around_user steam_download_scores steam_download_friends_scores steam_upload_score_buffer steam_upload_score_buffer_ext steam_current_game_language steam_available_languages steam_activate_overlay_browser steam_activate_overlay_user steam_activate_overlay_store steam_get_user_persona_name steam_get_app_id steam_get_user_account_id steam_ugc_download steam_ugc_create_item steam_ugc_start_item_update steam_ugc_set_item_title steam_ugc_set_item_description steam_ugc_set_item_visibility steam_ugc_set_item_tags steam_ugc_set_item_content steam_ugc_set_item_preview steam_ugc_submit_item_update steam_ugc_get_item_update_progress steam_ugc_subscribe_item steam_ugc_unsubscribe_item steam_ugc_num_subscribed_items steam_ugc_get_subscribed_items steam_ugc_get_item_install_info steam_ugc_get_item_update_info steam_ugc_request_item_details steam_ugc_create_query_user steam_ugc_create_query_user_ex steam_ugc_create_query_all steam_ugc_create_query_all_ex steam_ugc_query_set_cloud_filename_filter steam_ugc_query_set_match_any_tag steam_ugc_query_set_search_text steam_ugc_query_set_ranked_by_trend_days steam_ugc_query_add_required_tag steam_ugc_query_add_excluded_tag steam_ugc_query_set_return_long_description steam_ugc_query_set_return_total_only steam_ugc_query_set_allow_cached_response steam_ugc_send_query shader_set shader_get_name shader_reset shader_current shader_is_compiled shader_get_sampler_index shader_get_uniform shader_set_uniform_i shader_set_uniform_i_array shader_set_uniform_f shader_set_uniform_f_array shader_set_uniform_matrix shader_set_uniform_matrix_array shader_enable_corner_id texture_set_stage texture_get_texel_width texture_get_texel_height shaders_are_supported vertex_format_begin vertex_format_end vertex_format_delete vertex_format_add_position vertex_format_add_position_3d vertex_format_add_colour vertex_format_add_color vertex_format_add_normal vertex_format_add_texcoord vertex_format_add_textcoord vertex_format_add_custom vertex_create_buffer vertex_create_buffer_ext vertex_delete_buffer vertex_begin vertex_end vertex_position vertex_position_3d vertex_colour vertex_color vertex_argb vertex_texcoord vertex_normal vertex_float1 vertex_float2 vertex_float3 vertex_float4 vertex_ubyte4 vertex_submit vertex_freeze vertex_get_number vertex_get_buffer_size vertex_create_buffer_from_buffer vertex_create_buffer_from_buffer_ext push_local_notification push_get_first_local_notification push_get_next_local_notification push_cancel_local_notification skeleton_animation_set skeleton_animation_get skeleton_animation_mix skeleton_animation_set_ext skeleton_animation_get_ext skeleton_animation_get_duration skeleton_animation_get_frames skeleton_animation_clear skeleton_skin_set skeleton_skin_get skeleton_attachment_set skeleton_attachment_get skeleton_attachment_create skeleton_collision_draw_set skeleton_bone_data_get skeleton_bone_data_set skeleton_bone_state_get skeleton_bone_state_set skeleton_get_minmax skeleton_get_num_bounds skeleton_get_bounds skeleton_animation_get_frame skeleton_animation_set_frame draw_skeleton draw_skeleton_time draw_skeleton_instance draw_skeleton_collision skeleton_animation_list skeleton_skin_list skeleton_slot_data layer_get_id layer_get_id_at_depth layer_get_depth layer_create layer_destroy layer_destroy_instances layer_add_instance layer_has_instance layer_set_visible layer_get_visible layer_exists layer_x layer_y layer_get_x layer_get_y layer_hspeed layer_vspeed layer_get_hspeed layer_get_vspeed layer_script_begin layer_script_end layer_shader layer_get_script_begin layer_get_script_end layer_get_shader layer_set_target_room layer_get_target_room layer_reset_target_room layer_get_all layer_get_all_elements layer_get_name layer_depth layer_get_element_layer layer_get_element_type layer_element_move layer_force_draw_depth layer_is_draw_depth_forced layer_get_forced_depth layer_background_get_id layer_background_exists layer_background_create layer_background_destroy layer_background_visible layer_background_change layer_background_sprite layer_background_htiled layer_background_vtiled layer_background_stretch layer_background_yscale layer_background_xscale layer_background_blend layer_background_alpha layer_background_index layer_background_speed layer_background_get_visible layer_background_get_sprite layer_background_get_htiled layer_background_get_vtiled layer_background_get_stretch layer_background_get_yscale layer_background_get_xscale layer_background_get_blend layer_background_get_alpha layer_background_get_index layer_background_get_speed layer_sprite_get_id layer_sprite_exists layer_sprite_create layer_sprite_destroy layer_sprite_change layer_sprite_index layer_sprite_speed layer_sprite_xscale layer_sprite_yscale layer_sprite_angle layer_sprite_blend layer_sprite_alpha layer_sprite_x layer_sprite_y layer_sprite_get_sprite layer_sprite_get_index layer_sprite_get_speed layer_sprite_get_xscale layer_sprite_get_yscale layer_sprite_get_angle layer_sprite_get_blend layer_sprite_get_alpha layer_sprite_get_x layer_sprite_get_y layer_tilemap_get_id layer_tilemap_exists layer_tilemap_create layer_tilemap_destroy tilemap_tileset tilemap_x tilemap_y tilemap_set tilemap_set_at_pixel tilemap_get_tileset tilemap_get_tile_width tilemap_get_tile_height tilemap_get_width tilemap_get_height tilemap_get_x tilemap_get_y tilemap_get tilemap_get_at_pixel tilemap_get_cell_x_at_pixel tilemap_get_cell_y_at_pixel tilemap_clear draw_tilemap draw_tile tilemap_set_global_mask tilemap_get_global_mask tilemap_set_mask tilemap_get_mask tilemap_get_frame tile_set_empty tile_set_index tile_set_flip tile_set_mirror tile_set_rotate tile_get_empty tile_get_index tile_get_flip tile_get_mirror tile_get_rotate layer_tile_exists layer_tile_create layer_tile_destroy layer_tile_change layer_tile_xscale layer_tile_yscale layer_tile_blend layer_tile_alpha layer_tile_x layer_tile_y layer_tile_region layer_tile_visible layer_tile_get_sprite layer_tile_get_xscale layer_tile_get_yscale layer_tile_get_blend layer_tile_get_alpha layer_tile_get_x layer_tile_get_y layer_tile_get_region layer_tile_get_visible layer_instance_get_instance instance_activate_layer instance_deactivate_layer camera_create camera_create_view camera_destroy camera_apply camera_get_active camera_get_default camera_set_default camera_set_view_mat camera_set_proj_mat camera_set_update_script camera_set_begin_script camera_set_end_script camera_set_view_pos camera_set_view_size camera_set_view_speed camera_set_view_border camera_set_view_angle camera_set_view_target camera_get_view_mat camera_get_proj_mat camera_get_update_script camera_get_begin_script camera_get_end_script camera_get_view_x camera_get_view_y camera_get_view_width camera_get_view_height camera_get_view_speed_x camera_get_view_speed_y camera_get_view_border_x camera_get_view_border_y camera_get_view_angle camera_get_view_target view_get_camera view_get_visible view_get_xport view_get_yport view_get_wport view_get_hport view_get_surface_id view_set_camera view_set_visible view_set_xport view_set_yport view_set_wport view_set_hport view_set_surface_id gesture_drag_time gesture_drag_distance gesture_flick_speed gesture_double_tap_time gesture_double_tap_distance gesture_pinch_distance gesture_pinch_angle_towards gesture_pinch_angle_away gesture_rotate_time gesture_rotate_angle gesture_tap_count gesture_get_drag_time gesture_get_drag_distance gesture_get_flick_speed gesture_get_double_tap_time gesture_get_double_tap_distance gesture_get_pinch_distance gesture_get_pinch_angle_towards gesture_get_pinch_angle_away gesture_get_rotate_time gesture_get_rotate_angle gesture_get_tap_count keyboard_virtual_show keyboard_virtual_hide keyboard_virtual_status keyboard_virtual_height", +literal:"self other all noone global local undefined pointer_invalid pointer_null path_action_stop path_action_restart path_action_continue path_action_reverse true false pi GM_build_date GM_version GM_runtime_version timezone_local timezone_utc gamespeed_fps gamespeed_microseconds ev_create ev_destroy ev_step ev_alarm ev_keyboard ev_mouse ev_collision ev_other ev_draw ev_draw_begin ev_draw_end ev_draw_pre ev_draw_post ev_keypress ev_keyrelease ev_trigger ev_left_button ev_right_button ev_middle_button ev_no_button ev_left_press ev_right_press ev_middle_press ev_left_release ev_right_release ev_middle_release ev_mouse_enter ev_mouse_leave ev_mouse_wheel_up ev_mouse_wheel_down ev_global_left_button ev_global_right_button ev_global_middle_button ev_global_left_press ev_global_right_press ev_global_middle_press ev_global_left_release ev_global_right_release ev_global_middle_release ev_joystick1_left ev_joystick1_right ev_joystick1_up ev_joystick1_down ev_joystick1_button1 ev_joystick1_button2 ev_joystick1_button3 ev_joystick1_button4 ev_joystick1_button5 ev_joystick1_button6 ev_joystick1_button7 ev_joystick1_button8 ev_joystick2_left ev_joystick2_right ev_joystick2_up ev_joystick2_down ev_joystick2_button1 ev_joystick2_button2 ev_joystick2_button3 ev_joystick2_button4 ev_joystick2_button5 ev_joystick2_button6 ev_joystick2_button7 ev_joystick2_button8 ev_outside ev_boundary ev_game_start ev_game_end ev_room_start ev_room_end ev_no_more_lives ev_animation_end ev_end_of_path ev_no_more_health ev_close_button ev_user0 ev_user1 ev_user2 ev_user3 ev_user4 ev_user5 ev_user6 ev_user7 ev_user8 ev_user9 ev_user10 ev_user11 ev_user12 ev_user13 ev_user14 ev_user15 ev_step_normal ev_step_begin ev_step_end ev_gui ev_gui_begin ev_gui_end ev_cleanup ev_gesture ev_gesture_tap ev_gesture_double_tap ev_gesture_drag_start ev_gesture_dragging ev_gesture_drag_end ev_gesture_flick ev_gesture_pinch_start ev_gesture_pinch_in ev_gesture_pinch_out ev_gesture_pinch_end ev_gesture_rotate_start ev_gesture_rotating ev_gesture_rotate_end ev_global_gesture_tap ev_global_gesture_double_tap ev_global_gesture_drag_start ev_global_gesture_dragging ev_global_gesture_drag_end ev_global_gesture_flick ev_global_gesture_pinch_start ev_global_gesture_pinch_in ev_global_gesture_pinch_out ev_global_gesture_pinch_end ev_global_gesture_rotate_start ev_global_gesture_rotating ev_global_gesture_rotate_end vk_nokey vk_anykey vk_enter vk_return vk_shift vk_control vk_alt vk_escape vk_space vk_backspace vk_tab vk_pause vk_printscreen vk_left vk_right vk_up vk_down vk_home vk_end vk_delete vk_insert vk_pageup vk_pagedown vk_f1 vk_f2 vk_f3 vk_f4 vk_f5 vk_f6 vk_f7 vk_f8 vk_f9 vk_f10 vk_f11 vk_f12 vk_numpad0 vk_numpad1 vk_numpad2 vk_numpad3 vk_numpad4 vk_numpad5 vk_numpad6 vk_numpad7 vk_numpad8 vk_numpad9 vk_divide vk_multiply vk_subtract vk_add vk_decimal vk_lshift vk_lcontrol vk_lalt vk_rshift vk_rcontrol vk_ralt mb_any mb_none mb_left mb_right mb_middle c_aqua c_black c_blue c_dkgray c_fuchsia c_gray c_green c_lime c_ltgray c_maroon c_navy c_olive c_purple c_red c_silver c_teal c_white c_yellow c_orange fa_left fa_center fa_right fa_top fa_middle fa_bottom pr_pointlist pr_linelist pr_linestrip pr_trianglelist pr_trianglestrip pr_trianglefan bm_complex bm_normal bm_add bm_max bm_subtract bm_zero bm_one bm_src_colour bm_inv_src_colour bm_src_color bm_inv_src_color bm_src_alpha bm_inv_src_alpha bm_dest_alpha bm_inv_dest_alpha bm_dest_colour bm_inv_dest_colour bm_dest_color bm_inv_dest_color bm_src_alpha_sat tf_point tf_linear tf_anisotropic mip_off mip_on mip_markedonly audio_falloff_none audio_falloff_inverse_distance audio_falloff_inverse_distance_clamped audio_falloff_linear_distance audio_falloff_linear_distance_clamped audio_falloff_exponent_distance audio_falloff_exponent_distance_clamped audio_old_system audio_new_system audio_mono audio_stereo audio_3d cr_default cr_none cr_arrow cr_cross cr_beam cr_size_nesw cr_size_ns cr_size_nwse cr_size_we cr_uparrow cr_hourglass cr_drag cr_appstart cr_handpoint cr_size_all spritespeed_framespersecond spritespeed_framespergameframe asset_object asset_unknown asset_sprite asset_sound asset_room asset_path asset_script asset_font asset_timeline asset_tiles asset_shader fa_readonly fa_hidden fa_sysfile fa_volumeid fa_directory fa_archive ds_type_map ds_type_list ds_type_stack ds_type_queue ds_type_grid ds_type_priority ef_explosion ef_ring ef_ellipse ef_firework ef_smoke ef_smokeup ef_star ef_spark ef_flare ef_cloud ef_rain ef_snow pt_shape_pixel pt_shape_disk pt_shape_square pt_shape_line pt_shape_star pt_shape_circle pt_shape_ring pt_shape_sphere pt_shape_flare pt_shape_spark pt_shape_explosion pt_shape_cloud pt_shape_smoke pt_shape_snow ps_distr_linear ps_distr_gaussian ps_distr_invgaussian ps_shape_rectangle ps_shape_ellipse ps_shape_diamond ps_shape_line ty_real ty_string dll_cdecl dll_stdcall matrix_view matrix_projection matrix_world os_win32 os_windows os_macosx os_ios os_android os_symbian os_linux os_unknown os_winphone os_tizen os_win8native os_wiiu os_3ds os_psvita os_bb10 os_ps4 os_xboxone os_ps3 os_xbox360 os_uwp os_tvos os_switch browser_not_a_browser browser_unknown browser_ie browser_firefox browser_chrome browser_safari browser_safari_mobile browser_opera browser_tizen browser_edge browser_windows_store browser_ie_mobile device_ios_unknown device_ios_iphone device_ios_iphone_retina device_ios_ipad device_ios_ipad_retina device_ios_iphone5 device_ios_iphone6 device_ios_iphone6plus device_emulator device_tablet display_landscape display_landscape_flipped display_portrait display_portrait_flipped tm_sleep tm_countvsyncs of_challenge_win of_challen ge_lose of_challenge_tie leaderboard_type_number leaderboard_type_time_mins_secs cmpfunc_never cmpfunc_less cmpfunc_equal cmpfunc_lessequal cmpfunc_greater cmpfunc_notequal cmpfunc_greaterequal cmpfunc_always cull_noculling cull_clockwise cull_counterclockwise lighttype_dir lighttype_point iap_ev_storeload iap_ev_product iap_ev_purchase iap_ev_consume iap_ev_restore iap_storeload_ok iap_storeload_failed iap_status_uninitialised iap_status_unavailable iap_status_loading iap_status_available iap_status_processing iap_status_restoring iap_failed iap_unavailable iap_available iap_purchased iap_canceled iap_refunded fb_login_default fb_login_fallback_to_webview fb_login_no_fallback_to_webview fb_login_forcing_webview fb_login_use_system_account fb_login_forcing_safari phy_joint_anchor_1_x phy_joint_anchor_1_y phy_joint_anchor_2_x phy_joint_anchor_2_y phy_joint_reaction_force_x phy_joint_reaction_force_y phy_joint_reaction_torque phy_joint_motor_speed phy_joint_angle phy_joint_motor_torque phy_joint_max_motor_torque phy_joint_translation phy_joint_speed phy_joint_motor_force phy_joint_max_motor_force phy_joint_length_1 phy_joint_length_2 phy_joint_damping_ratio phy_joint_frequency phy_joint_lower_angle_limit phy_joint_upper_angle_limit phy_joint_angle_limits phy_joint_max_length phy_joint_max_torque phy_joint_max_force phy_debug_render_aabb phy_debug_render_collision_pairs phy_debug_render_coms phy_debug_render_core_shapes phy_debug_render_joints phy_debug_render_obb phy_debug_render_shapes phy_particle_flag_water phy_particle_flag_zombie phy_particle_flag_wall phy_particle_flag_spring phy_particle_flag_elastic phy_particle_flag_viscous phy_particle_flag_powder phy_particle_flag_tensile phy_particle_flag_colourmixing phy_particle_flag_colormixing phy_particle_group_flag_solid phy_particle_group_flag_rigid phy_particle_data_flag_typeflags phy_particle_data_flag_position phy_particle_data_flag_velocity phy_particle_data_flag_colour phy_particle_data_flag_color phy_particle_data_flag_category achievement_our_info achievement_friends_info achievement_leaderboard_info achievement_achievement_info achievement_filter_all_players achievement_filter_friends_only achievement_filter_favorites_only achievement_type_achievement_challenge achievement_type_score_challenge achievement_pic_loaded achievement_show_ui achievement_show_profile achievement_show_leaderboard achievement_show_achievement achievement_show_bank achievement_show_friend_picker achievement_show_purchase_prompt network_socket_tcp network_socket_udp network_socket_bluetooth network_type_connect network_type_disconnect network_type_data network_type_non_blocking_connect network_config_connect_timeout network_config_use_non_blocking_socket network_config_enable_reliable_udp network_config_disable_reliable_udp buffer_fixed buffer_grow buffer_wrap buffer_fast buffer_vbuffer buffer_network buffer_u8 buffer_s8 buffer_u16 buffer_s16 buffer_u32 buffer_s32 buffer_u64 buffer_f16 buffer_f32 buffer_f64 buffer_bool buffer_text buffer_string buffer_surface_copy buffer_seek_start buffer_seek_relative buffer_seek_end buffer_generalerror buffer_outofspace buffer_outofbounds buffer_invalidtype text_type button_type input_type ANSI_CHARSET DEFAULT_CHARSET EASTEUROPE_CHARSET RUSSIAN_CHARSET SYMBOL_CHARSET SHIFTJIS_CHARSET HANGEUL_CHARSET GB2312_CHARSET CHINESEBIG5_CHARSET JOHAB_CHARSET HEBREW_CHARSET ARABIC_CHARSET GREEK_CHARSET TURKISH_CHARSET VIETNAMESE_CHARSET THAI_CHARSET MAC_CHARSET BALTIC_CHARSET OEM_CHARSET gp_face1 gp_face2 gp_face3 gp_face4 gp_shoulderl gp_shoulderr gp_shoulderlb gp_shoulderrb gp_select gp_start gp_stickl gp_stickr gp_padu gp_padd gp_padl gp_padr gp_axislh gp_axislv gp_axisrh gp_axisrv ov_friends ov_community ov_players ov_settings ov_gamegroup ov_achievements lb_sort_none lb_sort_ascending lb_sort_descending lb_disp_none lb_disp_numeric lb_disp_time_sec lb_disp_time_ms ugc_result_success ugc_filetype_community ugc_filetype_microtrans ugc_visibility_public ugc_visibility_friends_only ugc_visibility_private ugc_query_RankedByVote ugc_query_RankedByPublicationDate ugc_query_AcceptedForGameRankedByAcceptanceDate ugc_query_RankedByTrend ugc_query_FavoritedByFriendsRankedByPublicationDate ugc_query_CreatedByFriendsRankedByPublicationDate ugc_query_RankedByNumTimesReported ugc_query_CreatedByFollowedUsersRankedByPublicationDate ugc_query_NotYetRated ugc_query_RankedByTotalVotesAsc ugc_query_RankedByVotesUp ugc_query_RankedByTextSearch ugc_sortorder_CreationOrderDesc ugc_sortorder_CreationOrderAsc ugc_sortorder_TitleAsc ugc_sortorder_LastUpdatedDesc ugc_sortorder_SubscriptionDateDesc ugc_sortorder_VoteScoreDesc ugc_sortorder_ForModeration ugc_list_Published ugc_list_VotedOn ugc_list_VotedUp ugc_list_VotedDown ugc_list_WillVoteLater ugc_list_Favorited ugc_list_Subscribed ugc_list_UsedOrPlayed ugc_list_Followed ugc_match_Items ugc_match_Items_Mtx ugc_match_Items_ReadyToUse ugc_match_Collections ugc_match_Artwork ugc_match_Videos ugc_match_Screenshots ugc_match_AllGuides ugc_match_WebGuides ugc_match_IntegratedGuides ugc_match_UsableInGame ugc_match_ControllerBindings vertex_usage_position vertex_usage_colour vertex_usage_color vertex_usage_normal vertex_usage_texcoord vertex_usage_textcoord vertex_usage_blendweight vertex_usage_blendindices vertex_usage_psize vertex_usage_tangent vertex_usage_binormal vertex_usage_fog vertex_usage_depth vertex_usage_sample vertex_type_float1 vertex_type_float2 vertex_type_float3 vertex_type_float4 vertex_type_colour vertex_type_color vertex_type_ubyte4 layerelementtype_undefined layerelementtype_background layerelementtype_instance layerelementtype_oldtilemap layerelementtype_sprite layerelementtype_tilemap layerelementtype_particlesystem layerelementtype_tile tile_rotate tile_flip tile_mirror tile_index_mask kbv_type_default kbv_type_ascii kbv_type_url kbv_type_email kbv_type_numbers kbv_type_phone kbv_type_phone_name kbv_returnkey_default kbv_returnkey_go kbv_returnkey_google kbv_returnkey_join kbv_returnkey_next kbv_returnkey_route kbv_returnkey_search kbv_returnkey_send kbv_returnkey_yahoo kbv_returnkey_done kbv_returnkey_continue kbv_returnkey_emergency kbv_autocapitalize_none kbv_autocapitalize_words kbv_autocapitalize_sentences kbv_autocapitalize_characters",symbol:"argument_relative argument argument0 argument1 argument2 argument3 argument4 argument5 argument6 argument7 argument8 argument9 argument10 argument11 argument12 argument13 argument14 argument15 argument_count x y xprevious yprevious xstart ystart hspeed vspeed direction speed friction gravity gravity_direction path_index path_position path_positionprevious path_speed path_scale path_orientation path_endaction object_index id solid persistent mask_index instance_count instance_id room_speed fps fps_real current_time current_year current_month current_day current_weekday current_hour current_minute current_second alarm timeline_index timeline_position timeline_speed timeline_running timeline_loop room room_first room_last room_width room_height room_caption room_persistent score lives health show_score show_lives show_health caption_score caption_lives caption_health event_type event_number event_object event_action application_surface gamemaker_pro gamemaker_registered gamemaker_version error_occurred error_last debug_mode keyboard_key keyboard_lastkey keyboard_lastchar keyboard_string mouse_x mouse_y mouse_button mouse_lastbutton cursor_sprite visible sprite_index sprite_width sprite_height sprite_xoffset sprite_yoffset image_number image_index image_speed depth image_xscale image_yscale image_angle image_alpha image_blend bbox_left bbox_right bbox_top bbox_bottom layer background_colour background_showcolour background_color background_showcolor view_enabled view_current view_visible view_xview view_yview view_wview view_hview view_xport view_yport view_wport view_hport view_angle view_hborder view_vborder view_hspeed view_vspeed view_object view_surface_id view_camera game_id game_display_name game_project_name game_save_id working_directory temp_directory program_directory browser_width browser_height os_type os_device os_browser os_version display_aa async_load delta_time webgl_enabled event_data iap_data phy_rotation phy_position_x phy_position_y phy_angular_velocity phy_linear_velocity_x phy_linear_velocity_y phy_speed_x phy_speed_y phy_speed phy_angular_damping phy_linear_damping phy_bullet phy_fixed_rotation phy_active phy_mass phy_inertia phy_com_x phy_com_y phy_dynamic phy_kinematic phy_sleeping phy_collision_points phy_collision_x phy_collision_y phy_col_normal_x phy_col_normal_y phy_position_xprevious phy_position_yprevious"},contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE]}}},{name:"go",create:function(e){var t={keyword:"break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune",literal:"true false iota nil",built_in:"append cap close complex copy imag len make new panic print println real recover delete"};return{aliases:["golang"],keywords:t,illegal:"</",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"string",variants:[e.QUOTE_STRING_MODE,{begin:"'",end:"[^\\\\]'"},{begin:"`",end:"`"}]},{className:"number",variants:[{begin:e.C_NUMBER_RE+"[i]",relevance:1},e.C_NUMBER_MODE]},{begin:/:=/},{className:"function",beginKeywords:"func",end:/\s*\{/,excludeEnd:!0,contains:[e.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,keywords:t,illegal:/["']/}]}]}}},{name:"golo",create:function(e){return{keywords:{keyword:"println readln print import module function local return let var while for foreach times in case when match with break continue augment augmentation each find filter reduce if then else otherwise try catch finally raise throw orIfNull DynamicObject|10 DynamicVariable struct Observable map set vector list array",literal:"true false null"},contains:[e.HASH_COMMENT_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,{className:"meta",begin:"@[A-Za-z]+"}]}}},{name:"gradle",create:function(e){return{case_insensitive:!0,keywords:{keyword:"task project allprojects subprojects artifacts buildscript configurations dependencies repositories sourceSets description delete from into include exclude source classpath destinationDir includes options sourceCompatibility targetCompatibility group flatDir doLast doFirst flatten todir fromdir ant def abstract break case catch continue default do else extends final finally for if implements instanceof native new private protected public return static switch synchronized throw throws transient try volatile while strictfp package import false null super this true antlrtask checkstyle codenarc copy boolean byte char class double float int interface long short void compile runTime file fileTree abs any append asList asWritable call collect compareTo count div dump each eachByte eachFile eachLine every find findAll flatten getAt getErr getIn getOut getText grep immutable inject inspect intersect invokeMethods isCase join leftShift minus multiply newInputStream newOutputStream newPrintWriter newReader newWriter next plus pop power previous print println push putAt read readBytes readLines reverse reverseEach round size sort splitEachLine step subMap times toInteger toList tokenize upto waitForOrKill withPrintWriter withReader withStream withWriter withWriterAppend write writeLine"},contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE,e.REGEXP_MODE]}}},{name:"groovy",create:function(e){return{keywords:{literal:"true false null",keyword:"byte short char int long boolean float double void def as in assert trait super this abstract static volatile transient public private protected synchronized final class interface enum if else for while switch case break default continue throw throws try catch finally implements extends new import package return instanceof"},contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"string",begin:'"""',end:'"""'},{className:"string",begin:"'''",end:"'''"},{className:"string",begin:"\\$/",end:"/\\$",relevance:10},e.APOS_STRING_MODE,{className:"regexp",begin:/~?\/[^\/\n]+\//,contains:[e.BACKSLASH_ESCAPE]},e.QUOTE_STRING_MODE,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:"\n"},e.BINARY_NUMBER_MODE,{className:"class",beginKeywords:"class interface trait enum",end:"{",illegal:":",contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},e.C_NUMBER_MODE,{className:"meta",begin:"@[A-Za-z]+"},{className:"string",begin:/[^\?]{0}[A-Za-z0-9_$]+ *:/},{begin:/\?/,end:/\:/},{className:"symbol",begin:"^\\s*[A-Za-z0-9_$]+:",relevance:0}],illegal:/#|<\//}}},{name:"haml",create:function(e){return{case_insensitive:!0,contains:[{className:"meta",begin:"^!!!( (5|1\\.1|Strict|Frameset|Basic|Mobile|RDFa|XML\\b.*))?$",relevance:10},e.COMMENT("^\\s*(!=#|=#|-#|/).*$",!1,{relevance:0}),{begin:"^\\s*(-|=|!=)(?!#)",starts:{end:"\\n",subLanguage:"ruby"}},{className:"tag",begin:"^\\s*%",contains:[{className:"selector-tag",begin:"\\w+"},{className:"selector-id",begin:"#[\\w-]+"},{className:"selector-class",begin:"\\.[\\w-]+"},{begin:"{\\s*",end:"\\s*}",contains:[{begin:":\\w+\\s*=>",end:",\\s+",returnBegin:!0,endsWithParent:!0,contains:[{className:"attr",begin:":\\w+"},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{begin:"\\w+",relevance:0}]}]},{begin:"\\(\\s*",end:"\\s*\\)",excludeEnd:!0,contains:[{begin:"\\w+\\s*=",end:"\\s+",returnBegin:!0,endsWithParent:!0,contains:[{className:"attr",begin:"\\w+",relevance:0},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{begin:"\\w+",relevance:0}]}]}]},{begin:"^\\s*[=~]\\s*"},{begin:"#{",starts:{end:"}",subLanguage:"ruby"}}]}}},{name:"handlebars",create:function(e){var t={"builtin-name":"each in with if else unless bindattr action collection debugger log outlet template unbound view yield"};return{aliases:["hbs","html.hbs","html.handlebars"],case_insensitive:!0,subLanguage:"xml",contains:[e.COMMENT("{{!(--)?","(--)?}}"),{className:"template-tag",begin:/\{\{[#\/]/,end:/\}\}/,contains:[{className:"name",begin:/[a-zA-Z\.-]+/,keywords:t,starts:{endsWithParent:!0,relevance:0,contains:[e.QUOTE_STRING_MODE]}}]},{className:"template-variable",begin:/\{\{/,end:/\}\}/,keywords:t}]}}},{name:"haskell",create:function(e){var t={variants:[e.COMMENT("--","$"),e.COMMENT("{-","-}",{contains:["self"]})]},a={className:"meta",begin:"{-#",end:"#-}"},r={className:"meta",begin:"^#",end:"$"},i={className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},s={begin:"\\(",end:"\\)",illegal:'"',contains:[a,r,{className:"type",begin:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},e.inherit(e.TITLE_MODE,{begin:"[_a-z][\\w']*"}),t]};return{aliases:["hs"],keywords:"let in if then else case of where do module import hiding qualified type data newtype deriving class instance as default infix infixl infixr foreign export ccall stdcall cplusplus jvm dotnet safe unsafe family forall mdo proc rec",contains:[{beginKeywords:"module",end:"where",keywords:"module where",contains:[s,t],illegal:"\\W\\.|;"},{begin:"\\bimport\\b",end:"$",keywords:"import qualified as hiding",contains:[s,t],illegal:"\\W\\.|;"},{className:"class",begin:"^(\\s*)?(class|instance)\\b",end:"where",keywords:"class family instance where",contains:[i,s,t]},{className:"class",begin:"\\b(data|(new)?type)\\b",end:"$",keywords:"data family type newtype deriving",contains:[a,i,s,{begin:"{",end:"}",contains:s.contains},t]},{beginKeywords:"default",end:"$",contains:[i,s,t]},{beginKeywords:"infix infixl infixr",end:"$",contains:[e.C_NUMBER_MODE,t]},{begin:"\\bforeign\\b",end:"$",keywords:"foreign import export ccall stdcall cplusplus jvm dotnet safe unsafe",contains:[i,e.QUOTE_STRING_MODE,t]},{className:"meta",begin:"#!\\/usr\\/bin\\/env runhaskell",end:"$"},a,r,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,i,e.inherit(e.TITLE_MODE,{begin:"^[_a-z][\\w']*"}),t,{begin:"->|<-"}]}}},{name:"haxe",create:function(e){return{aliases:["hx"],keywords:{keyword:"break case cast catch continue default do dynamic else enum extern for function here if import in inline never new override package private get set public return static super switch this throw trace try typedef untyped using var while Int Float String Bool Dynamic Void Array ",built_in:"trace this",literal:"true false null _"},contains:[{className:"string",begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE,{className:"subst",begin:"\\$\\{",end:"\\}"},{className:"subst",begin:"\\$",end:"\\W}"}]},e.QUOTE_STRING_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.C_NUMBER_MODE,{className:"meta",begin:"@:",end:"$"},{className:"meta",begin:"#",end:"$",keywords:{"meta-keyword":"if else elseif end error"}},{className:"type",begin:":[ \t]*",end:"[^A-Za-z0-9_ \t\\->]",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:":[ \t]*",end:"\\W",excludeBegin:!0,excludeEnd:!0},{className:"type",begin:"new *",end:"\\W",excludeBegin:!0,excludeEnd:!0},{className:"class",beginKeywords:"enum",end:"\\{",contains:[e.TITLE_MODE]},{className:"class",beginKeywords:"abstract",end:"[\\{$]",contains:[{className:"type",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"type",begin:"from +",end:"\\W",excludeBegin:!0,excludeEnd:!0},{className:"type",begin:"to +",end:"\\W",excludeBegin:!0,excludeEnd:!0},e.TITLE_MODE],keywords:{keyword:"abstract from to"}},{className:"class",begin:"\\b(class|interface) +",end:"[\\{$]",excludeEnd:!0,keywords:"class interface",contains:[{className:"keyword",begin:"\\b(extends|implements) +",keywords:"extends implements",contains:[{className:"type",begin:e.IDENT_RE,relevance:0}]},e.TITLE_MODE]},{className:"function",beginKeywords:"function",end:"\\(",excludeEnd:!0,illegal:"\\S",contains:[e.TITLE_MODE]}],illegal:/<\//}}},{name:"hsp",create:function(e){return{case_insensitive:!0,lexemes:/[\w\._]+/,keywords:"goto gosub return break repeat loop continue wait await dim sdim foreach dimtype dup dupptr end stop newmod delmod mref run exgoto on mcall assert logmes newlab resume yield onexit onerror onkey onclick oncmd exist delete mkdir chdir dirlist bload bsave bcopy memfile if else poke wpoke lpoke getstr chdpm memexpand memcpy memset notesel noteadd notedel noteload notesave randomize noteunsel noteget split strrep setease button chgdisp exec dialog mmload mmplay mmstop mci pset pget syscolor mes print title pos circle cls font sysfont objsize picload color palcolor palette redraw width gsel gcopy gzoom gmode bmpsave hsvcolor getkey listbox chkbox combox input mesbox buffer screen bgscr mouse objsel groll line clrobj boxf objprm objmode stick grect grotate gsquare gradf objimage objskip objenable celload celdiv celput newcom querycom delcom cnvstow comres axobj winobj sendmsg comevent comevarg sarrayconv callfunc cnvwtos comevdisp libptr system hspstat hspver stat cnt err strsize looplev sublev iparam wparam lparam refstr refdval int rnd strlen length length2 length3 length4 vartype gettime peek wpeek lpeek varptr varuse noteinfo instr abs limit getease str strmid strf getpath strtrim sin cos tan atan sqrt double absf expf logf limitf powf geteasef mousex mousey mousew hwnd hinstance hdc ginfo objinfo dirinfo sysinfo thismod __hspver__ __hsp30__ __date__ __time__ __line__ __file__ _debug __hspdef__ and or xor not screen_normal screen_palette screen_hide screen_fixedsize screen_tool screen_frame gmode_gdi gmode_mem gmode_rgb0 gmode_alpha gmode_rgb0alpha gmode_add gmode_sub gmode_pixela ginfo_mx ginfo_my ginfo_act ginfo_sel ginfo_wx1 ginfo_wy1 ginfo_wx2 ginfo_wy2 ginfo_vx ginfo_vy ginfo_sizex ginfo_sizey ginfo_winx ginfo_winy ginfo_mesx ginfo_mesy ginfo_r ginfo_g ginfo_b ginfo_paluse ginfo_dispx ginfo_dispy ginfo_cx ginfo_cy ginfo_intid ginfo_newid ginfo_sx ginfo_sy objinfo_mode objinfo_bmscr objinfo_hwnd notemax notesize dir_cur dir_exe dir_win dir_sys dir_cmdline dir_desktop dir_mydoc dir_tv font_normal font_bold font_italic font_underline font_strikeout font_antialias objmode_normal objmode_guifont objmode_usefont gsquare_grad msgothic msmincho do until while wend for next _break _continue switch case default swbreak swend ddim ldim alloc m_pi rad2deg deg2rad ease_linear ease_quad_in ease_quad_out ease_quad_inout ease_cubic_in ease_cubic_out ease_cubic_inout ease_quartic_in ease_quartic_out ease_quartic_inout ease_bounce_in ease_bounce_out ease_bounce_inout ease_shake_in ease_shake_out ease_shake_inout ease_loop",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{className:"string",begin:'{"',end:'"}',contains:[e.BACKSLASH_ESCAPE]},e.COMMENT(";","$",{relevance:0}),{className:"meta",begin:"#",end:"$",keywords:{"meta-keyword":"addion cfunc cmd cmpopt comfunc const defcfunc deffunc define else endif enum epack func global if ifdef ifndef include modcfunc modfunc modinit modterm module pack packopt regcmd runtime undef usecom uselib"},contains:[e.inherit(e.QUOTE_STRING_MODE,{className:"meta-string"}),e.NUMBER_MODE,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"symbol",begin:"^\\*(\\w+|@)"},e.NUMBER_MODE,e.C_NUMBER_MODE]}}},{name:"htmlbars",create:function(e){var t="action collection component concat debugger each each-in else get hash if input link-to loc log mut outlet partial query-params render textarea unbound unless with yield view",a={illegal:/\}\}/,begin:/[a-zA-Z0-9_]+=/,returnBegin:!0,relevance:0,contains:[{className:"attr",begin:/[a-zA-Z0-9_]+/}]},r=(e.QUOTE_STRING_MODE,{endsWithParent:!0,relevance:0,keywords:{keyword:"as",built_in:t},contains:[e.QUOTE_STRING_MODE,a,e.NUMBER_MODE]});return{case_insensitive:!0,subLanguage:"xml",contains:[e.COMMENT("{{!(--)?","(--)?}}"),{className:"template-tag",begin:/\{\{[#\/]/,end:/\}\}/,contains:[{className:"name",begin:/[a-zA-Z\.\-]+/,keywords:{"builtin-name":t},starts:r}]},{className:"template-variable",begin:/\{\{[a-zA-Z][a-zA-Z\-]+/,end:/\}\}/,keywords:{keyword:"as",built_in:t},contains:[e.QUOTE_STRING_MODE]}]}}},{name:"http",create:function(e){var t="HTTP/[0-9\\.]+";return{aliases:["https"],illegal:"\\S",contains:[{begin:"^"+t,end:"$",contains:[{className:"number",begin:"\\b\\d{3}\\b"}]},{begin:"^[A-Z]+ (.*?) "+t+"$",returnBegin:!0,end:"$",contains:[{className:"string",begin:" ",end:" ",excludeBegin:!0,excludeEnd:!0},{begin:t},{className:"keyword",begin:"[A-Z]+"}]},{className:"attribute",begin:"^\\w",end:": ",excludeEnd:!0,illegal:"\\n|\\s|=",starts:{end:"$",relevance:0}},{begin:"\\n\\n",starts:{subLanguage:[],endsWithParent:!0}}]}}},{name:"hy",create:function(e){var t={"builtin-name":"!= % %= & &= * ** **= *= *map + += , --build-class-- --import-- -= . / // //= /= < << <<= <= = > >= >> >>= @ @= ^ ^= abs accumulate all and any ap-compose ap-dotimes ap-each ap-each-while ap-filter ap-first ap-if ap-last ap-map ap-map-when ap-pipe ap-reduce ap-reject apply as-> ascii assert assoc bin break butlast callable calling-module-name car case cdr chain chr coll? combinations compile compress cond cons cons? continue count curry cut cycle dec def default-method defclass defmacro defmacro-alias defmacro/g! defmain defmethod defmulti defn defn-alias defnc defnr defreader defseq del delattr delete-route dict-comp dir disassemble dispatch-reader-macro distinct divmod do doto drop drop-last drop-while empty? end-sequence eval eval-and-compile eval-when-compile even? every? except exec filter first flatten float? fn fnc fnr for for* format fraction genexpr gensym get getattr global globals group-by hasattr hash hex id identity if if* if-not if-python2 import in inc input instance? integer integer-char? integer? interleave interpose is is-coll is-cons is-empty is-even is-every is-float is-instance is-integer is-integer-char is-iterable is-iterator is-keyword is-neg is-none is-not is-numeric is-odd is-pos is-string is-symbol is-zero isinstance islice issubclass iter iterable? iterate iterator? keyword keyword? lambda last len let lif lif-not list* list-comp locals loop macro-error macroexpand macroexpand-1 macroexpand-all map max merge-with method-decorator min multi-decorator multicombinations name neg? next none? nonlocal not not-in not? nth numeric? oct odd? open or ord partition permutations pos? post-route postwalk pow prewalk print product profile/calls profile/cpu put-route quasiquote quote raise range read read-str recursive-replace reduce remove repeat repeatedly repr require rest round route route-with-methods rwm second seq set-comp setattr setv some sorted string string? sum switch symbol? take take-nth take-while tee try unless unquote unquote-splicing vars walk when while with with* with-decorator with-gensyms xi xor yield yield-from zero? zip zip-longest | |= ~"},a="[a-zA-Z_\\-!.?+*=<>&#'][a-zA-Z_\\-!.?+*=<>&#'0-9/;:]*",r={className:"meta",begin:"^#!",end:"$"},i={begin:a,relevance:0},s={className:"number",begin:"[-+]?\\d+(\\.\\d+)?",relevance:0},n=e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),o=e.COMMENT(";","$",{relevance:0}),l={className:"literal",begin:/\b([Tt]rue|[Ff]alse|nil|None)\b/},c={begin:"[\\[\\{]",end:"[\\]\\}]"},d={className:"comment",begin:"\\^"+a},_=e.COMMENT("\\^\\{","\\}"),m={className:"symbol",begin:"[:]{1,2}"+a},u={begin:"\\(",end:"\\)"},p={endsWithParent:!0,relevance:0},h={keywords:t,lexemes:a,className:"name",begin:a,starts:p},g=[u,n,d,_,o,m,c,s,l,i];return u.contains=[e.COMMENT("comment",""),h,p],p.contains=g,c.contains=g,{aliases:["hylang"],illegal:/\S/,contains:[r,u,n,d,_,o,m,c,s,l]}}},{name:"inform7",create:function(e){return{aliases:["i7"],case_insensitive:!0,keywords:{keyword:"thing room person man woman animal container supporter backdrop door scenery open closed locked inside gender is are say understand kind of rule"},contains:[{className:"string",begin:'"',end:'"',relevance:0,contains:[{className:"subst",begin:"\\[",end:"\\]"}]},{className:"section",begin:/^(Volume|Book|Part|Chapter|Section|Table)\b/,end:"$"},{begin:/^(Check|Carry out|Report|Instead of|To|Rule|When|Before|After)\b/,end:":",contains:[{begin:"\\(This",end:"\\)"}]},{className:"comment",begin:"\\[",end:"\\]",contains:["self"]}]}}},{name:"ini", +create:function(e){var t={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]};return{aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[e.COMMENT(";","$"),e.HASH_COMMENT_MODE,{className:"section",begin:/^\s*\[+/,end:/\]+/},{begin:/^[a-z0-9\[\]_\.-]+\s*=\s*/,end:"$",returnBegin:!0,contains:[{className:"attr",begin:/[a-z0-9\[\]_\.-]+/},{begin:/=/,endsWithParent:!0,relevance:0,contains:[e.COMMENT(";","$"),e.HASH_COMMENT_MODE,{className:"literal",begin:/\bon|off|true|false|yes|no\b/},{className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)}/}]},t,{className:"number",begin:/([\+\-]+)?[\d]+_[\d_]+/},e.NUMBER_MODE]}]}]}}},{name:"irpf90",create:function(e){var t={className:"params",begin:"\\(",end:"\\)"};return{case_insensitive:!0,keywords:{literal:".False. .True.",keyword:"kind do while private call intrinsic where elsewhere type endtype endmodule endselect endinterface end enddo endif if forall endforall only contains default return stop then public subroutine|10 function program .and. .or. .not. .le. .eq. .ge. .gt. .lt. goto save else use module select case access blank direct exist file fmt form formatted iostat name named nextrec number opened rec recl sequential status unformatted unit continue format pause cycle exit c_null_char c_alert c_backspace c_form_feed flush wait decimal round iomsg synchronous nopass non_overridable pass protected volatile abstract extends import non_intrinsic value deferred generic final enumerator class associate bind enum c_int c_short c_long c_long_long c_signed_char c_size_t c_int8_t c_int16_t c_int32_t c_int64_t c_int_least8_t c_int_least16_t c_int_least32_t c_int_least64_t c_int_fast8_t c_int_fast16_t c_int_fast32_t c_int_fast64_t c_intmax_t C_intptr_t c_float c_double c_long_double c_float_complex c_double_complex c_long_double_complex c_bool c_char c_null_ptr c_null_funptr c_new_line c_carriage_return c_horizontal_tab c_vertical_tab iso_c_binding c_loc c_funloc c_associated c_f_pointer c_ptr c_funptr iso_fortran_env character_storage_size error_unit file_storage_size input_unit iostat_end iostat_eor numeric_storage_size output_unit c_f_procpointer ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode newunit contiguous recursive pad position action delim readwrite eor advance nml interface procedure namelist include sequence elemental pure integer real character complex logical dimension allocatable|10 parameter external implicit|10 none double precision assign intent optional pointer target in out common equivalence data begin_provider &begin_provider end_provider begin_shell end_shell begin_template end_template subst assert touch soft_touch provide no_dep free irp_if irp_else irp_endif irp_write irp_read",built_in:"alog alog10 amax0 amax1 amin0 amin1 amod cabs ccos cexp clog csin csqrt dabs dacos dasin datan datan2 dcos dcosh ddim dexp dint dlog dlog10 dmax1 dmin1 dmod dnint dsign dsin dsinh dsqrt dtan dtanh float iabs idim idint idnint ifix isign max0 max1 min0 min1 sngl algama cdabs cdcos cdexp cdlog cdsin cdsqrt cqabs cqcos cqexp cqlog cqsin cqsqrt dcmplx dconjg derf derfc dfloat dgamma dimag dlgama iqint qabs qacos qasin qatan qatan2 qcmplx qconjg qcos qcosh qdim qerf qerfc qexp qgamma qimag qlgama qlog qlog10 qmax1 qmin1 qmod qnint qsign qsin qsinh qsqrt qtan qtanh abs acos aimag aint anint asin atan atan2 char cmplx conjg cos cosh exp ichar index int log log10 max min nint sign sin sinh sqrt tan tanh print write dim lge lgt lle llt mod nullify allocate deallocate adjustl adjustr all allocated any associated bit_size btest ceiling count cshift date_and_time digits dot_product eoshift epsilon exponent floor fraction huge iand ibclr ibits ibset ieor ior ishft ishftc lbound len_trim matmul maxexponent maxloc maxval merge minexponent minloc minval modulo mvbits nearest pack present product radix random_number random_seed range repeat reshape rrspacing scale scan selected_int_kind selected_real_kind set_exponent shape size spacing spread sum system_clock tiny transpose trim ubound unpack verify achar iachar transfer dble entry dprod cpu_time command_argument_count get_command get_command_argument get_environment_variable is_iostat_end ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode is_iostat_eor move_alloc new_line selected_char_kind same_type_as extends_type_ofacosh asinh atanh bessel_j0 bessel_j1 bessel_jn bessel_y0 bessel_y1 bessel_yn erf erfc erfc_scaled gamma log_gamma hypot norm2 atomic_define atomic_ref execute_command_line leadz trailz storage_size merge_bits bge bgt ble blt dshiftl dshiftr findloc iall iany iparity image_index lcobound ucobound maskl maskr num_images parity popcnt poppar shifta shiftl shiftr this_image IRP_ALIGN irp_here"},illegal:/\/\*/,contains:[e.inherit(e.APOS_STRING_MODE,{className:"string",relevance:0}),e.inherit(e.QUOTE_STRING_MODE,{className:"string",relevance:0}),{className:"function",beginKeywords:"subroutine function program",illegal:"[${=\\n]",contains:[e.UNDERSCORE_TITLE_MODE,t]},e.COMMENT("!","$",{relevance:0}),e.COMMENT("begin_doc","end_doc",{relevance:10}),{className:"number",begin:"(?=\\b|\\+|\\-|\\.)(?=\\.\\d|\\d)(?:\\d+)?(?:\\.?\\d*)(?:[de][+-]?\\d+)?\\b\\.?",relevance:0}]}}},{name:"isbl",create:function(e){var t="[A-Za-zÐ-Яа-ÑÑ‘Ð_!][A-Za-zÐ-Яа-ÑÑ‘Ð_0-9]*",a="IApplication IAccessRights IAccountRepository IAccountSelectionRestrictions IAction IActionList IAdministrationHistoryDescription IAnchors IApplication IArchiveInfo IAttachment IAttachmentList ICheckListBox ICheckPointedList IColumn IComponent IComponentDescription IComponentToken IComponentTokenFactory IComponentTokenInfo ICompRecordInfo IConnection IContents IControl IControlJob IControlJobInfo IControlList ICrypto ICrypto2 ICustomJob ICustomJobInfo ICustomListBox ICustomObjectWizardStep ICustomWork ICustomWorkInfo IDataSet IDataSetAccessInfo IDataSigner IDateCriterion IDateRequisite IDateRequisiteDescription IDateValue IDeaAccessRights IDeaObjectInfo IDevelopmentComponentLock IDialog IDialogFactory IDialogPickRequisiteItems IDialogsFactory IDICSFactory IDocRequisite IDocumentInfo IDualListDialog IECertificate IECertificateInfo IECertificates IEditControl IEditorForm IEdmsExplorer IEdmsObject IEdmsObjectDescription IEdmsObjectFactory IEdmsObjectInfo IEDocument IEDocumentAccessRights IEDocumentDescription IEDocumentEditor IEDocumentFactory IEDocumentInfo IEDocumentStorage IEDocumentVersion IEDocumentVersionListDialog IEDocumentVersionSource IEDocumentWizardStep IEDocVerSignature IEDocVersionState IEnabledMode IEncodeProvider IEncrypter IEvent IEventList IException IExternalEvents IExternalHandler IFactory IField IFileDialog IFolder IFolderDescription IFolderDialog IFolderFactory IFolderInfo IForEach IForm IFormTitle IFormWizardStep IGlobalIDFactory IGlobalIDInfo IGrid IHasher IHistoryDescription IHyperLinkControl IImageButton IImageControl IInnerPanel IInplaceHint IIntegerCriterion IIntegerList IIntegerRequisite IIntegerValue IISBLEditorForm IJob IJobDescription IJobFactory IJobForm IJobInfo ILabelControl ILargeIntegerCriterion ILargeIntegerRequisite ILargeIntegerValue ILicenseInfo ILifeCycleStage IList IListBox ILocalIDInfo ILocalization ILock IMemoryDataSet IMessagingFactory IMetadataRepository INotice INoticeInfo INumericCriterion INumericRequisite INumericValue IObject IObjectDescription IObjectImporter IObjectInfo IObserver IPanelGroup IPickCriterion IPickProperty IPickRequisite IPickRequisiteDescription IPickRequisiteItem IPickRequisiteItems IPickValue IPrivilege IPrivilegeList IProcess IProcessFactory IProcessMessage IProgress IProperty IPropertyChangeEvent IQuery IReference IReferenceCriterion IReferenceEnabledMode IReferenceFactory IReferenceHistoryDescription IReferenceInfo IReferenceRecordCardWizardStep IReferenceRequisiteDescription IReferencesFactory IReferenceValue IRefRequisite IReport IReportFactory IRequisite IRequisiteDescription IRequisiteDescriptionList IRequisiteFactory IRichEdit IRouteStep IRule IRuleList ISchemeBlock IScript IScriptFactory ISearchCriteria ISearchCriterion ISearchDescription ISearchFactory ISearchFolderInfo ISearchForObjectDescription ISearchResultRestrictions ISecuredContext ISelectDialog IServerEvent IServerEventFactory IServiceDialog IServiceFactory ISignature ISignProvider ISignProvider2 ISignProvider3 ISimpleCriterion IStringCriterion IStringList IStringRequisite IStringRequisiteDescription IStringValue ISystemDialogsFactory ISystemInfo ITabSheet ITask ITaskAbortReasonInfo ITaskCardWizardStep ITaskDescription ITaskFactory ITaskInfo ITaskRoute ITextCriterion ITextRequisite ITextValue ITreeListSelectDialog IUser IUserList IValue IView IWebBrowserControl IWizard IWizardAction IWizardFactory IWizardFormElement IWizardParam IWizardPickParam IWizardReferenceParam IWizardStep IWorkAccessRights IWorkDescription IWorkflowAskableParam IWorkflowAskableParams IWorkflowBlock IWorkflowBlockResult IWorkflowEnabledMode IWorkflowParam IWorkflowPickParam IWorkflowReferenceParam IWorkState IWorkTreeCustomNode IWorkTreeJobNode IWorkTreeTaskNode IXMLEditorForm SBCrypto ",r={className:"number",begin:e.NUMBER_RE,relevance:0},i={className:"string",variants:[{begin:'"',end:'"'},{begin:"'",end:"'"}]},s={className:"doctag",begin:"\\b(?:TODO|DONE|BEGIN|END|STUB|CHG|FIXME|NOTE|BUG|XXX)\\b",relevance:0},n={className:"comment",begin:"//",end:"$",relevance:0,contains:[e.PHRASAL_WORDS_MODE,s]},o={className:"comment",begin:"/\\*",end:"\\*/",relevance:0,contains:[e.PHRASAL_WORDS_MODE,s]},l={variants:[n,o]},c={keyword:"and и else иначе endexcept endfinally endforeach конецвÑе endif конецеÑли endwhile конецпока except exitfor finally foreach вÑе if еÑли in в not не or или try while пока ", +built_in:"SYSRES_CONST_ACCES_RIGHT_TYPE_EDIT SYSRES_CONST_ACCES_RIGHT_TYPE_FULL SYSRES_CONST_ACCES_RIGHT_TYPE_VIEW SYSRES_CONST_ACCESS_MODE_REQUISITE_CODE SYSRES_CONST_ACCESS_NO_ACCESS_VIEW SYSRES_CONST_ACCESS_NO_ACCESS_VIEW_CODE SYSRES_CONST_ACCESS_RIGHTS_ADD_REQUISITE_CODE SYSRES_CONST_ACCESS_RIGHTS_ADD_REQUISITE_YES_CODE SYSRES_CONST_ACCESS_RIGHTS_CHANGE_REQUISITE_CODE SYSRES_CONST_ACCESS_RIGHTS_CHANGE_REQUISITE_YES_CODE SYSRES_CONST_ACCESS_RIGHTS_DELETE_REQUISITE_CODE SYSRES_CONST_ACCESS_RIGHTS_DELETE_REQUISITE_YES_CODE SYSRES_CONST_ACCESS_RIGHTS_EXECUTE_REQUISITE_CODE SYSRES_CONST_ACCESS_RIGHTS_EXECUTE_REQUISITE_YES_CODE SYSRES_CONST_ACCESS_RIGHTS_NO_ACCESS_REQUISITE_CODE SYSRES_CONST_ACCESS_RIGHTS_NO_ACCESS_REQUISITE_YES_CODE SYSRES_CONST_ACCESS_RIGHTS_RATIFY_REQUISITE_CODE SYSRES_CONST_ACCESS_RIGHTS_RATIFY_REQUISITE_YES_CODE SYSRES_CONST_ACCESS_RIGHTS_REQUISITE_CODE SYSRES_CONST_ACCESS_RIGHTS_VIEW SYSRES_CONST_ACCESS_RIGHTS_VIEW_CODE SYSRES_CONST_ACCESS_RIGHTS_VIEW_REQUISITE_CODE SYSRES_CONST_ACCESS_RIGHTS_VIEW_REQUISITE_YES_CODE SYSRES_CONST_ACCESS_TYPE_CHANGE SYSRES_CONST_ACCESS_TYPE_CHANGE_CODE SYSRES_CONST_ACCESS_TYPE_EXISTS SYSRES_CONST_ACCESS_TYPE_EXISTS_CODE SYSRES_CONST_ACCESS_TYPE_FULL SYSRES_CONST_ACCESS_TYPE_FULL_CODE SYSRES_CONST_ACCESS_TYPE_VIEW SYSRES_CONST_ACCESS_TYPE_VIEW_CODE SYSRES_CONST_ACTION_TYPE_ABORT SYSRES_CONST_ACTION_TYPE_ACCEPT SYSRES_CONST_ACTION_TYPE_ACCESS_RIGHTS SYSRES_CONST_ACTION_TYPE_ADD_ATTACHMENT SYSRES_CONST_ACTION_TYPE_CHANGE_CARD SYSRES_CONST_ACTION_TYPE_CHANGE_KIND SYSRES_CONST_ACTION_TYPE_CHANGE_STORAGE SYSRES_CONST_ACTION_TYPE_CONTINUE SYSRES_CONST_ACTION_TYPE_COPY SYSRES_CONST_ACTION_TYPE_CREATE SYSRES_CONST_ACTION_TYPE_CREATE_VERSION SYSRES_CONST_ACTION_TYPE_DELETE SYSRES_CONST_ACTION_TYPE_DELETE_ATTACHMENT SYSRES_CONST_ACTION_TYPE_DELETE_VERSION SYSRES_CONST_ACTION_TYPE_DISABLE_DELEGATE_ACCESS_RIGHTS SYSRES_CONST_ACTION_TYPE_ENABLE_DELEGATE_ACCESS_RIGHTS SYSRES_CONST_ACTION_TYPE_ENCRYPTION_BY_CERTIFICATE SYSRES_CONST_ACTION_TYPE_ENCRYPTION_BY_CERTIFICATE_AND_PASSWORD SYSRES_CONST_ACTION_TYPE_ENCRYPTION_BY_PASSWORD SYSRES_CONST_ACTION_TYPE_EXPORT_WITH_LOCK SYSRES_CONST_ACTION_TYPE_EXPORT_WITHOUT_LOCK SYSRES_CONST_ACTION_TYPE_IMPORT_WITH_UNLOCK SYSRES_CONST_ACTION_TYPE_IMPORT_WITHOUT_UNLOCK SYSRES_CONST_ACTION_TYPE_LIFE_CYCLE_STAGE SYSRES_CONST_ACTION_TYPE_LOCK SYSRES_CONST_ACTION_TYPE_LOCK_FOR_SERVER SYSRES_CONST_ACTION_TYPE_LOCK_MODIFY SYSRES_CONST_ACTION_TYPE_MARK_AS_READED SYSRES_CONST_ACTION_TYPE_MARK_AS_UNREADED SYSRES_CONST_ACTION_TYPE_MODIFY SYSRES_CONST_ACTION_TYPE_MODIFY_CARD SYSRES_CONST_ACTION_TYPE_MOVE_TO_ARCHIVE SYSRES_CONST_ACTION_TYPE_OFF_ENCRYPTION SYSRES_CONST_ACTION_TYPE_PASSWORD_CHANGE SYSRES_CONST_ACTION_TYPE_PERFORM SYSRES_CONST_ACTION_TYPE_RECOVER_FROM_LOCAL_COPY SYSRES_CONST_ACTION_TYPE_RESTART SYSRES_CONST_ACTION_TYPE_RESTORE_FROM_ARCHIVE SYSRES_CONST_ACTION_TYPE_REVISION SYSRES_CONST_ACTION_TYPE_SEND_BY_MAIL SYSRES_CONST_ACTION_TYPE_SIGN SYSRES_CONST_ACTION_TYPE_START SYSRES_CONST_ACTION_TYPE_UNLOCK SYSRES_CONST_ACTION_TYPE_UNLOCK_FROM_SERVER SYSRES_CONST_ACTION_TYPE_VERSION_STATE SYSRES_CONST_ACTION_TYPE_VERSION_VISIBILITY SYSRES_CONST_ACTION_TYPE_VIEW SYSRES_CONST_ACTION_TYPE_VIEW_SHADOW_COPY SYSRES_CONST_ACTION_TYPE_WORKFLOW_DESCRIPTION_MODIFY SYSRES_CONST_ACTION_TYPE_WRITE_HISTORY SYSRES_CONST_ACTIVE_VERSION_STATE_PICK_VALUE SYSRES_CONST_ADD_REFERENCE_MODE_NAME SYSRES_CONST_ADDITION_REQUISITE_CODE SYSRES_CONST_ADDITIONAL_PARAMS_REQUISITE_CODE SYSRES_CONST_ADITIONAL_JOB_END_DATE_REQUISITE_NAME SYSRES_CONST_ADITIONAL_JOB_READ_REQUISITE_NAME SYSRES_CONST_ADITIONAL_JOB_START_DATE_REQUISITE_NAME SYSRES_CONST_ADITIONAL_JOB_STATE_REQUISITE_NAME SYSRES_CONST_ADMINISTRATION_HISTORY_ADDING_USER_TO_GROUP_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_ADDING_USER_TO_GROUP_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_COMP_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_COMP_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_GROUP_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_GROUP_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_USER_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_USER_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_DATABASE_USER_CREATION SYSRES_CONST_ADMINISTRATION_HISTORY_DATABASE_USER_CREATION_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_DATABASE_USER_DELETION SYSRES_CONST_ADMINISTRATION_HISTORY_DATABASE_USER_DELETION_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_COMP_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_COMP_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_GROUP_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_GROUP_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_USER_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_USER_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_USER_FROM_GROUP_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_USER_FROM_GROUP_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_FILTERER_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_FILTERER_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_FILTERER_RESTRICTION_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_FILTERER_RESTRICTION_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_PRIVILEGE_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_PRIVILEGE_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_RIGHTS_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_RIGHTS_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_IS_MAIN_SERVER_CHANGED_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_IS_MAIN_SERVER_CHANGED_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_IS_PUBLIC_CHANGED_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_IS_PUBLIC_CHANGED_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_FILTERER_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_FILTERER_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_FILTERER_RESTRICTION_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_FILTERER_RESTRICTION_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_PRIVILEGE_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_PRIVILEGE_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_RIGHTS_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_RIGHTS_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_SERVER_LOGIN_CREATION SYSRES_CONST_ADMINISTRATION_HISTORY_SERVER_LOGIN_CREATION_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_SERVER_LOGIN_DELETION SYSRES_CONST_ADMINISTRATION_HISTORY_SERVER_LOGIN_DELETION_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_CATEGORY_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_CATEGORY_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_COMP_TITLE_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_COMP_TITLE_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_FULL_NAME_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_FULL_NAME_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_GROUP_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_GROUP_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_PARENT_GROUP_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_PARENT_GROUP_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_AUTH_TYPE_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_AUTH_TYPE_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_LOGIN_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_LOGIN_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_STATUS_ACTION SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_STATUS_ACTION_CODE SYSRES_CONST_ADMINISTRATION_HISTORY_USER_PASSWORD_CHANGE SYSRES_CONST_ADMINISTRATION_HISTORY_USER_PASSWORD_CHANGE_ACTION SYSRES_CONST_ALL_ACCEPT_CONDITION_RUS SYSRES_CONST_ALL_USERS_GROUP SYSRES_CONST_ALL_USERS_GROUP_NAME SYSRES_CONST_ALL_USERS_SERVER_GROUP_NAME SYSRES_CONST_ALLOWED_ACCESS_TYPE_CODE SYSRES_CONST_ALLOWED_ACCESS_TYPE_NAME SYSRES_CONST_APP_VIEWER_TYPE_REQUISITE_CODE SYSRES_CONST_APPROVING_SIGNATURE_NAME SYSRES_CONST_APPROVING_SIGNATURE_REQUISITE_CODE SYSRES_CONST_ASSISTANT_SUBSTITUE_TYPE SYSRES_CONST_ASSISTANT_SUBSTITUE_TYPE_CODE SYSRES_CONST_ATTACH_TYPE_COMPONENT_TOKEN SYSRES_CONST_ATTACH_TYPE_DOC SYSRES_CONST_ATTACH_TYPE_EDOC SYSRES_CONST_ATTACH_TYPE_FOLDER SYSRES_CONST_ATTACH_TYPE_JOB SYSRES_CONST_ATTACH_TYPE_REFERENCE SYSRES_CONST_ATTACH_TYPE_TASK SYSRES_CONST_AUTH_ENCODED_PASSWORD SYSRES_CONST_AUTH_ENCODED_PASSWORD_CODE SYSRES_CONST_AUTH_NOVELL SYSRES_CONST_AUTH_PASSWORD SYSRES_CONST_AUTH_PASSWORD_CODE SYSRES_CONST_AUTH_WINDOWS SYSRES_CONST_AUTHENTICATING_SIGNATURE_NAME SYSRES_CONST_AUTHENTICATING_SIGNATURE_REQUISITE_CODE SYSRES_CONST_AUTO_ENUM_METHOD_FLAG SYSRES_CONST_AUTO_NUMERATION_CODE SYSRES_CONST_AUTO_STRONG_ENUM_METHOD_FLAG SYSRES_CONST_AUTOTEXT_NAME_REQUISITE_CODE SYSRES_CONST_AUTOTEXT_TEXT_REQUISITE_CODE SYSRES_CONST_AUTOTEXT_USAGE_ALL SYSRES_CONST_AUTOTEXT_USAGE_ALL_CODE SYSRES_CONST_AUTOTEXT_USAGE_SIGN SYSRES_CONST_AUTOTEXT_USAGE_SIGN_CODE SYSRES_CONST_AUTOTEXT_USAGE_WORK SYSRES_CONST_AUTOTEXT_USAGE_WORK_CODE SYSRES_CONST_AUTOTEXT_USE_ANYWHERE_CODE SYSRES_CONST_AUTOTEXT_USE_ON_SIGNING_CODE SYSRES_CONST_AUTOTEXT_USE_ON_WORK_CODE SYSRES_CONST_BEGIN_DATE_REQUISITE_CODE SYSRES_CONST_BLACK_LIFE_CYCLE_STAGE_FONT_COLOR SYSRES_CONST_BLUE_LIFE_CYCLE_STAGE_FONT_COLOR SYSRES_CONST_BTN_PART SYSRES_CONST_CALCULATED_ROLE_TYPE_CODE SYSRES_CONST_CALL_TYPE_VARIABLE_BUTTON_VALUE SYSRES_CONST_CALL_TYPE_VARIABLE_PROGRAM_VALUE SYSRES_CONST_CANCEL_MESSAGE_FUNCTION_RESULT SYSRES_CONST_CARD_PART SYSRES_CONST_CARD_REFERENCE_MODE_NAME SYSRES_CONST_CERTIFICATE_TYPE_REQUISITE_ENCRYPT_VALUE SYSRES_CONST_CERTIFICATE_TYPE_REQUISITE_SIGN_AND_ENCRYPT_VALUE SYSRES_CONST_CERTIFICATE_TYPE_REQUISITE_SIGN_VALUE SYSRES_CONST_CHECK_PARAM_VALUE_DATE_PARAM_TYPE SYSRES_CONST_CHECK_PARAM_VALUE_FLOAT_PARAM_TYPE SYSRES_CONST_CHECK_PARAM_VALUE_INTEGER_PARAM_TYPE SYSRES_CONST_CHECK_PARAM_VALUE_PICK_PARAM_TYPE SYSRES_CONST_CHECK_PARAM_VALUE_REEFRENCE_PARAM_TYPE SYSRES_CONST_CLOSED_RECORD_FLAG_VALUE_FEMININE SYSRES_CONST_CLOSED_RECORD_FLAG_VALUE_MASCULINE SYSRES_CONST_CODE_COMPONENT_TYPE_ADMIN SYSRES_CONST_CODE_COMPONENT_TYPE_DEVELOPER SYSRES_CONST_CODE_COMPONENT_TYPE_DOCS SYSRES_CONST_CODE_COMPONENT_TYPE_EDOC_CARDS SYSRES_CONST_CODE_COMPONENT_TYPE_EXTERNAL_EXECUTABLE SYSRES_CONST_CODE_COMPONENT_TYPE_OTHER SYSRES_CONST_CODE_COMPONENT_TYPE_REFERENCE SYSRES_CONST_CODE_COMPONENT_TYPE_REPORT SYSRES_CONST_CODE_COMPONENT_TYPE_SCRIPT SYSRES_CONST_CODE_COMPONENT_TYPE_URL SYSRES_CONST_CODE_REQUISITE_ACCESS SYSRES_CONST_CODE_REQUISITE_CODE SYSRES_CONST_CODE_REQUISITE_COMPONENT SYSRES_CONST_CODE_REQUISITE_DESCRIPTION SYSRES_CONST_CODE_REQUISITE_EXCLUDE_COMPONENT SYSRES_CONST_CODE_REQUISITE_RECORD SYSRES_CONST_COMMENT_REQ_CODE SYSRES_CONST_COMMON_SETTINGS_REQUISITE_CODE SYSRES_CONST_COMP_CODE_GRD SYSRES_CONST_COMPONENT_GROUP_TYPE_REQUISITE_CODE SYSRES_CONST_COMPONENT_TYPE_ADMIN_COMPONENTS SYSRES_CONST_COMPONENT_TYPE_DEVELOPER_COMPONENTS SYSRES_CONST_COMPONENT_TYPE_DOCS SYSRES_CONST_COMPONENT_TYPE_EDOC_CARDS SYSRES_CONST_COMPONENT_TYPE_EDOCS SYSRES_CONST_COMPONENT_TYPE_EXTERNAL_EXECUTABLE SYSRES_CONST_COMPONENT_TYPE_OTHER SYSRES_CONST_COMPONENT_TYPE_REFERENCE_TYPES SYSRES_CONST_COMPONENT_TYPE_REFERENCES SYSRES_CONST_COMPONENT_TYPE_REPORTS SYSRES_CONST_COMPONENT_TYPE_SCRIPTS SYSRES_CONST_COMPONENT_TYPE_URL SYSRES_CONST_COMPONENTS_REMOTE_SERVERS_VIEW_CODE SYSRES_CONST_CONDITION_BLOCK_DESCRIPTION SYSRES_CONST_CONST_FIRM_STATUS_COMMON SYSRES_CONST_CONST_FIRM_STATUS_INDIVIDUAL SYSRES_CONST_CONST_NEGATIVE_VALUE SYSRES_CONST_CONST_POSITIVE_VALUE SYSRES_CONST_CONST_SERVER_STATUS_DONT_REPLICATE SYSRES_CONST_CONST_SERVER_STATUS_REPLICATE SYSRES_CONST_CONTENTS_REQUISITE_CODE SYSRES_CONST_DATA_TYPE_BOOLEAN SYSRES_CONST_DATA_TYPE_DATE SYSRES_CONST_DATA_TYPE_FLOAT SYSRES_CONST_DATA_TYPE_INTEGER SYSRES_CONST_DATA_TYPE_PICK SYSRES_CONST_DATA_TYPE_REFERENCE SYSRES_CONST_DATA_TYPE_STRING SYSRES_CONST_DATA_TYPE_TEXT SYSRES_CONST_DATA_TYPE_VARIANT SYSRES_CONST_DATE_CLOSE_REQ_CODE SYSRES_CONST_DATE_FORMAT_DATE_ONLY_CHAR SYSRES_CONST_DATE_OPEN_REQ_CODE SYSRES_CONST_DATE_REQUISITE SYSRES_CONST_DATE_REQUISITE_CODE SYSRES_CONST_DATE_REQUISITE_NAME SYSRES_CONST_DATE_REQUISITE_TYPE SYSRES_CONST_DATE_TYPE_CHAR SYSRES_CONST_DATETIME_FORMAT_VALUE SYSRES_CONST_DEA_ACCESS_RIGHTS_ACTION_CODE SYSRES_CONST_DESCRIPTION_LOCALIZE_ID_REQUISITE_CODE SYSRES_CONST_DESCRIPTION_REQUISITE_CODE SYSRES_CONST_DET1_PART SYSRES_CONST_DET2_PART SYSRES_CONST_DET3_PART SYSRES_CONST_DET4_PART SYSRES_CONST_DET5_PART SYSRES_CONST_DET6_PART SYSRES_CONST_DETAIL_DATASET_KEY_REQUISITE_CODE SYSRES_CONST_DETAIL_PICK_REQUISITE_CODE SYSRES_CONST_DETAIL_REQ_CODE SYSRES_CONST_DO_NOT_USE_ACCESS_TYPE_CODE SYSRES_CONST_DO_NOT_USE_ACCESS_TYPE_NAME SYSRES_CONST_DO_NOT_USE_ON_VIEW_ACCESS_TYPE_CODE SYSRES_CONST_DO_NOT_USE_ON_VIEW_ACCESS_TYPE_NAME SYSRES_CONST_DOCUMENT_STORAGES_CODE SYSRES_CONST_DOCUMENT_TEMPLATES_TYPE_NAME SYSRES_CONST_DOUBLE_REQUISITE_CODE SYSRES_CONST_EDITOR_CLOSE_FILE_OBSERV_TYPE_CODE SYSRES_CONST_EDITOR_CLOSE_PROCESS_OBSERV_TYPE_CODE SYSRES_CONST_EDITOR_TYPE_REQUISITE_CODE SYSRES_CONST_EDITORS_APPLICATION_NAME_REQUISITE_CODE SYSRES_CONST_EDITORS_CREATE_SEVERAL_PROCESSES_REQUISITE_CODE SYSRES_CONST_EDITORS_EXTENSION_REQUISITE_CODE SYSRES_CONST_EDITORS_OBSERVER_BY_PROCESS_TYPE SYSRES_CONST_EDITORS_REFERENCE_CODE SYSRES_CONST_EDITORS_REPLACE_SPEC_CHARS_REQUISITE_CODE SYSRES_CONST_EDITORS_USE_PLUGINS_REQUISITE_CODE SYSRES_CONST_EDITORS_VIEW_DOCUMENT_OPENED_TO_EDIT_CODE SYSRES_CONST_EDOC_CARD_TYPE_REQUISITE_CODE SYSRES_CONST_EDOC_CARD_TYPES_LINK_REQUISITE_CODE SYSRES_CONST_EDOC_CERTIFICATE_AND_PASSWORD_ENCODE_CODE SYSRES_CONST_EDOC_CERTIFICATE_ENCODE_CODE SYSRES_CONST_EDOC_DATE_REQUISITE_CODE SYSRES_CONST_EDOC_KIND_REFERENCE_CODE SYSRES_CONST_EDOC_KINDS_BY_TEMPLATE_ACTION_CODE SYSRES_CONST_EDOC_MANAGE_ACCESS_CODE SYSRES_CONST_EDOC_NONE_ENCODE_CODE SYSRES_CONST_EDOC_NUMBER_REQUISITE_CODE SYSRES_CONST_EDOC_PASSWORD_ENCODE_CODE SYSRES_CONST_EDOC_READONLY_ACCESS_CODE SYSRES_CONST_EDOC_SHELL_LIFE_TYPE_VIEW_VALUE SYSRES_CONST_EDOC_SIZE_RESTRICTION_PRIORITY_REQUISITE_CODE SYSRES_CONST_EDOC_STORAGE_CHECK_ACCESS_RIGHTS_REQUISITE_CODE SYSRES_CONST_EDOC_STORAGE_COMPUTER_NAME_REQUISITE_CODE SYSRES_CONST_EDOC_STORAGE_DATABASE_NAME_REQUISITE_CODE SYSRES_CONST_EDOC_STORAGE_EDIT_IN_STORAGE_REQUISITE_CODE SYSRES_CONST_EDOC_STORAGE_LOCAL_PATH_REQUISITE_CODE SYSRES_CONST_EDOC_STORAGE_SHARED_SOURCE_NAME_REQUISITE_CODE SYSRES_CONST_EDOC_TEMPLATE_REQUISITE_CODE SYSRES_CONST_EDOC_TYPES_REFERENCE_CODE SYSRES_CONST_EDOC_VERSION_ACTIVE_STAGE_CODE SYSRES_CONST_EDOC_VERSION_DESIGN_STAGE_CODE SYSRES_CONST_EDOC_VERSION_OBSOLETE_STAGE_CODE SYSRES_CONST_EDOC_WRITE_ACCES_CODE SYSRES_CONST_EDOCUMENT_CARD_REQUISITES_REFERENCE_CODE_SELECTED_REQUISITE SYSRES_CONST_ENCODE_CERTIFICATE_TYPE_CODE SYSRES_CONST_END_DATE_REQUISITE_CODE SYSRES_CONST_ENUMERATION_TYPE_REQUISITE_CODE SYSRES_CONST_EXECUTE_ACCESS_RIGHTS_TYPE_CODE SYSRES_CONST_EXECUTIVE_FILE_STORAGE_TYPE SYSRES_CONST_EXIST_CONST SYSRES_CONST_EXIST_VALUE SYSRES_CONST_EXPORT_LOCK_TYPE_ASK SYSRES_CONST_EXPORT_LOCK_TYPE_WITH_LOCK SYSRES_CONST_EXPORT_LOCK_TYPE_WITHOUT_LOCK SYSRES_CONST_EXPORT_VERSION_TYPE_ASK SYSRES_CONST_EXPORT_VERSION_TYPE_LAST SYSRES_CONST_EXPORT_VERSION_TYPE_LAST_ACTIVE SYSRES_CONST_EXTENSION_REQUISITE_CODE SYSRES_CONST_FILTER_NAME_REQUISITE_CODE SYSRES_CONST_FILTER_REQUISITE_CODE SYSRES_CONST_FILTER_TYPE_COMMON_CODE SYSRES_CONST_FILTER_TYPE_COMMON_NAME SYSRES_CONST_FILTER_TYPE_USER_CODE SYSRES_CONST_FILTER_TYPE_USER_NAME SYSRES_CONST_FILTER_VALUE_REQUISITE_NAME SYSRES_CONST_FLOAT_NUMBER_FORMAT_CHAR SYSRES_CONST_FLOAT_REQUISITE_TYPE SYSRES_CONST_FOLDER_AUTHOR_VALUE SYSRES_CONST_FOLDER_KIND_ANY_OBJECTS SYSRES_CONST_FOLDER_KIND_COMPONENTS SYSRES_CONST_FOLDER_KIND_EDOCS SYSRES_CONST_FOLDER_KIND_JOBS SYSRES_CONST_FOLDER_KIND_TASKS SYSRES_CONST_FOLDER_TYPE_COMMON SYSRES_CONST_FOLDER_TYPE_COMPONENT SYSRES_CONST_FOLDER_TYPE_FAVORITES SYSRES_CONST_FOLDER_TYPE_INBOX SYSRES_CONST_FOLDER_TYPE_OUTBOX SYSRES_CONST_FOLDER_TYPE_QUICK_LAUNCH SYSRES_CONST_FOLDER_TYPE_SEARCH SYSRES_CONST_FOLDER_TYPE_SHORTCUTS SYSRES_CONST_FOLDER_TYPE_USER SYSRES_CONST_FROM_DICTIONARY_ENUM_METHOD_FLAG SYSRES_CONST_FULL_SUBSTITUTE_TYPE SYSRES_CONST_FULL_SUBSTITUTE_TYPE_CODE SYSRES_CONST_FUNCTION_CANCEL_RESULT SYSRES_CONST_FUNCTION_CATEGORY_SYSTEM SYSRES_CONST_FUNCTION_CATEGORY_USER SYSRES_CONST_FUNCTION_FAILURE_RESULT SYSRES_CONST_FUNCTION_SAVE_RESULT SYSRES_CONST_GENERATED_REQUISITE SYSRES_CONST_GREEN_LIFE_CYCLE_STAGE_FONT_COLOR SYSRES_CONST_GROUP_ACCOUNT_TYPE_VALUE_CODE SYSRES_CONST_GROUP_CATEGORY_NORMAL_CODE SYSRES_CONST_GROUP_CATEGORY_NORMAL_NAME SYSRES_CONST_GROUP_CATEGORY_SERVICE_CODE SYSRES_CONST_GROUP_CATEGORY_SERVICE_NAME SYSRES_CONST_GROUP_COMMON_CATEGORY_FIELD_VALUE SYSRES_CONST_GROUP_FULL_NAME_REQUISITE_CODE SYSRES_CONST_GROUP_NAME_REQUISITE_CODE SYSRES_CONST_GROUP_RIGHTS_T_REQUISITE_CODE SYSRES_CONST_GROUP_SERVER_CODES_REQUISITE_CODE SYSRES_CONST_GROUP_SERVER_NAME_REQUISITE_CODE SYSRES_CONST_GROUP_SERVICE_CATEGORY_FIELD_VALUE SYSRES_CONST_GROUP_USER_REQUISITE_CODE SYSRES_CONST_GROUPS_REFERENCE_CODE SYSRES_CONST_GROUPS_REQUISITE_CODE SYSRES_CONST_HIDDEN_MODE_NAME SYSRES_CONST_HIGH_LVL_REQUISITE_CODE SYSRES_CONST_HISTORY_ACTION_CREATE_CODE SYSRES_CONST_HISTORY_ACTION_DELETE_CODE SYSRES_CONST_HISTORY_ACTION_EDIT_CODE SYSRES_CONST_HOUR_CHAR SYSRES_CONST_ID_REQUISITE_CODE SYSRES_CONST_IDSPS_REQUISITE_CODE SYSRES_CONST_IMAGE_MODE_COLOR SYSRES_CONST_IMAGE_MODE_GREYSCALE SYSRES_CONST_IMAGE_MODE_MONOCHROME SYSRES_CONST_IMPORTANCE_HIGH SYSRES_CONST_IMPORTANCE_LOW SYSRES_CONST_IMPORTANCE_NORMAL SYSRES_CONST_IN_DESIGN_VERSION_STATE_PICK_VALUE SYSRES_CONST_INCOMING_WORK_RULE_TYPE_CODE SYSRES_CONST_INT_REQUISITE SYSRES_CONST_INT_REQUISITE_TYPE SYSRES_CONST_INTEGER_NUMBER_FORMAT_CHAR SYSRES_CONST_INTEGER_TYPE_CHAR SYSRES_CONST_IS_GENERATED_REQUISITE_NEGATIVE_VALUE SYSRES_CONST_IS_PUBLIC_ROLE_REQUISITE_CODE SYSRES_CONST_IS_REMOTE_USER_NEGATIVE_VALUE SYSRES_CONST_IS_REMOTE_USER_POSITIVE_VALUE SYSRES_CONST_IS_STORED_REQUISITE_NEGATIVE_VALUE SYSRES_CONST_IS_STORED_REQUISITE_STORED_VALUE SYSRES_CONST_ITALIC_LIFE_CYCLE_STAGE_DRAW_STYLE SYSRES_CONST_JOB_BLOCK_DESCRIPTION SYSRES_CONST_JOB_KIND_CONTROL_JOB SYSRES_CONST_JOB_KIND_JOB SYSRES_CONST_JOB_KIND_NOTICE SYSRES_CONST_JOB_STATE_ABORTED SYSRES_CONST_JOB_STATE_COMPLETE SYSRES_CONST_JOB_STATE_WORKING SYSRES_CONST_KIND_REQUISITE_CODE SYSRES_CONST_KIND_REQUISITE_NAME SYSRES_CONST_KINDS_CREATE_SHADOW_COPIES_REQUISITE_CODE SYSRES_CONST_KINDS_DEFAULT_EDOC_LIFE_STAGE_REQUISITE_CODE SYSRES_CONST_KINDS_EDOC_ALL_TEPLATES_ALLOWED_REQUISITE_CODE SYSRES_CONST_KINDS_EDOC_ALLOW_LIFE_CYCLE_STAGE_CHANGING_REQUISITE_CODE SYSRES_CONST_KINDS_EDOC_ALLOW_MULTIPLE_ACTIVE_VERSIONS_REQUISITE_CODE SYSRES_CONST_KINDS_EDOC_SHARE_ACCES_RIGHTS_BY_DEFAULT_CODE SYSRES_CONST_KINDS_EDOC_TEMPLATE_REQUISITE_CODE SYSRES_CONST_KINDS_EDOC_TYPE_REQUISITE_CODE SYSRES_CONST_KINDS_SIGNERS_REQUISITES_CODE SYSRES_CONST_KOD_INPUT_TYPE SYSRES_CONST_LAST_UPDATE_DATE_REQUISITE_CODE SYSRES_CONST_LIFE_CYCLE_START_STAGE_REQUISITE_CODE SYSRES_CONST_LILAC_LIFE_CYCLE_STAGE_FONT_COLOR SYSRES_CONST_LINK_OBJECT_KIND_COMPONENT SYSRES_CONST_LINK_OBJECT_KIND_DOCUMENT SYSRES_CONST_LINK_OBJECT_KIND_EDOC SYSRES_CONST_LINK_OBJECT_KIND_FOLDER SYSRES_CONST_LINK_OBJECT_KIND_JOB SYSRES_CONST_LINK_OBJECT_KIND_REFERENCE SYSRES_CONST_LINK_OBJECT_KIND_TASK SYSRES_CONST_LINK_REF_TYPE_REQUISITE_CODE SYSRES_CONST_LIST_REFERENCE_MODE_NAME SYSRES_CONST_LOCALIZATION_DICTIONARY_MAIN_VIEW_CODE SYSRES_CONST_MAIN_VIEW_CODE SYSRES_CONST_MANUAL_ENUM_METHOD_FLAG SYSRES_CONST_MASTER_COMP_TYPE_REQUISITE_CODE SYSRES_CONST_MASTER_TABLE_REC_ID_REQUISITE_CODE SYSRES_CONST_MAXIMIZED_MODE_NAME SYSRES_CONST_ME_VALUE SYSRES_CONST_MESSAGE_ATTENTION_CAPTION SYSRES_CONST_MESSAGE_CONFIRMATION_CAPTION SYSRES_CONST_MESSAGE_ERROR_CAPTION SYSRES_CONST_MESSAGE_INFORMATION_CAPTION SYSRES_CONST_MINIMIZED_MODE_NAME SYSRES_CONST_MINUTE_CHAR SYSRES_CONST_MODULE_REQUISITE_CODE SYSRES_CONST_MONITORING_BLOCK_DESCRIPTION SYSRES_CONST_MONTH_FORMAT_VALUE SYSRES_CONST_NAME_LOCALIZE_ID_REQUISITE_CODE SYSRES_CONST_NAME_REQUISITE_CODE SYSRES_CONST_NAME_SINGULAR_REQUISITE_CODE SYSRES_CONST_NAMEAN_INPUT_TYPE SYSRES_CONST_NEGATIVE_PICK_VALUE SYSRES_CONST_NEGATIVE_VALUE SYSRES_CONST_NO SYSRES_CONST_NO_PICK_VALUE SYSRES_CONST_NO_SIGNATURE_REQUISITE_CODE SYSRES_CONST_NO_VALUE SYSRES_CONST_NONE_ACCESS_RIGHTS_TYPE_CODE SYSRES_CONST_NONOPERATING_RECORD_FLAG_VALUE SYSRES_CONST_NONOPERATING_RECORD_FLAG_VALUE_MASCULINE SYSRES_CONST_NORMAL_ACCESS_RIGHTS_TYPE_CODE SYSRES_CONST_NORMAL_LIFE_CYCLE_STAGE_DRAW_STYLE SYSRES_CONST_NORMAL_MODE_NAME SYSRES_CONST_NOT_ALLOWED_ACCESS_TYPE_CODE SYSRES_CONST_NOT_ALLOWED_ACCESS_TYPE_NAME SYSRES_CONST_NOTE_REQUISITE_CODE SYSRES_CONST_NOTICE_BLOCK_DESCRIPTION SYSRES_CONST_NUM_REQUISITE SYSRES_CONST_NUM_STR_REQUISITE_CODE SYSRES_CONST_NUMERATION_AUTO_NOT_STRONG SYSRES_CONST_NUMERATION_AUTO_STRONG SYSRES_CONST_NUMERATION_FROM_DICTONARY SYSRES_CONST_NUMERATION_MANUAL SYSRES_CONST_NUMERIC_TYPE_CHAR SYSRES_CONST_NUMREQ_REQUISITE_CODE SYSRES_CONST_OBSOLETE_VERSION_STATE_PICK_VALUE SYSRES_CONST_OPERATING_RECORD_FLAG_VALUE SYSRES_CONST_OPERATING_RECORD_FLAG_VALUE_CODE SYSRES_CONST_OPERATING_RECORD_FLAG_VALUE_FEMININE SYSRES_CONST_OPERATING_RECORD_FLAG_VALUE_MASCULINE SYSRES_CONST_OPTIONAL_FORM_COMP_REQCODE_PREFIX SYSRES_CONST_ORANGE_LIFE_CYCLE_STAGE_FONT_COLOR SYSRES_CONST_ORIGINALREF_REQUISITE_CODE SYSRES_CONST_OURFIRM_REF_CODE SYSRES_CONST_OURFIRM_REQUISITE_CODE SYSRES_CONST_OURFIRM_VAR SYSRES_CONST_OUTGOING_WORK_RULE_TYPE_CODE SYSRES_CONST_PICK_NEGATIVE_RESULT SYSRES_CONST_PICK_POSITIVE_RESULT SYSRES_CONST_PICK_REQUISITE SYSRES_CONST_PICK_REQUISITE_TYPE SYSRES_CONST_PICK_TYPE_CHAR SYSRES_CONST_PLAN_STATUS_REQUISITE_CODE SYSRES_CONST_PLATFORM_VERSION_COMMENT SYSRES_CONST_PLUGINS_SETTINGS_DESCRIPTION_REQUISITE_CODE SYSRES_CONST_POSITIVE_PICK_VALUE SYSRES_CONST_POWER_TO_CREATE_ACTION_CODE SYSRES_CONST_POWER_TO_SIGN_ACTION_CODE SYSRES_CONST_PRIORITY_REQUISITE_CODE SYSRES_CONST_QUALIFIED_TASK_TYPE SYSRES_CONST_QUALIFIED_TASK_TYPE_CODE SYSRES_CONST_RECSTAT_REQUISITE_CODE SYSRES_CONST_RED_LIFE_CYCLE_STAGE_FONT_COLOR SYSRES_CONST_REF_ID_T_REF_TYPE_REQUISITE_CODE SYSRES_CONST_REF_REQUISITE SYSRES_CONST_REF_REQUISITE_TYPE SYSRES_CONST_REF_REQUISITES_REFERENCE_CODE_SELECTED_REQUISITE SYSRES_CONST_REFERENCE_RECORD_HISTORY_CREATE_ACTION_CODE SYSRES_CONST_REFERENCE_RECORD_HISTORY_DELETE_ACTION_CODE SYSRES_CONST_REFERENCE_RECORD_HISTORY_MODIFY_ACTION_CODE SYSRES_CONST_REFERENCE_TYPE_CHAR SYSRES_CONST_REFERENCE_TYPE_REQUISITE_NAME SYSRES_CONST_REFERENCES_ADD_PARAMS_REQUISITE_CODE SYSRES_CONST_REFERENCES_DISPLAY_REQUISITE_REQUISITE_CODE SYSRES_CONST_REMOTE_SERVER_STATUS_WORKING SYSRES_CONST_REMOTE_SERVER_TYPE_MAIN SYSRES_CONST_REMOTE_SERVER_TYPE_SECONDARY SYSRES_CONST_REMOTE_USER_FLAG_VALUE_CODE SYSRES_CONST_REPORT_APP_EDITOR_INTERNAL SYSRES_CONST_REPORT_BASE_REPORT_ID_REQUISITE_CODE SYSRES_CONST_REPORT_BASE_REPORT_REQUISITE_CODE SYSRES_CONST_REPORT_SCRIPT_REQUISITE_CODE SYSRES_CONST_REPORT_TEMPLATE_REQUISITE_CODE SYSRES_CONST_REPORT_VIEWER_CODE_REQUISITE_CODE SYSRES_CONST_REQ_ALLOW_COMPONENT_DEFAULT_VALUE SYSRES_CONST_REQ_ALLOW_RECORD_DEFAULT_VALUE SYSRES_CONST_REQ_ALLOW_SERVER_COMPONENT_DEFAULT_VALUE SYSRES_CONST_REQ_MODE_AVAILABLE_CODE SYSRES_CONST_REQ_MODE_EDIT_CODE SYSRES_CONST_REQ_MODE_HIDDEN_CODE SYSRES_CONST_REQ_MODE_NOT_AVAILABLE_CODE SYSRES_CONST_REQ_MODE_VIEW_CODE SYSRES_CONST_REQ_NUMBER_REQUISITE_CODE SYSRES_CONST_REQ_SECTION_VALUE SYSRES_CONST_REQ_TYPE_VALUE SYSRES_CONST_REQUISITE_FORMAT_BY_UNIT SYSRES_CONST_REQUISITE_FORMAT_DATE_FULL SYSRES_CONST_REQUISITE_FORMAT_DATE_TIME SYSRES_CONST_REQUISITE_FORMAT_LEFT SYSRES_CONST_REQUISITE_FORMAT_RIGHT SYSRES_CONST_REQUISITE_FORMAT_WITHOUT_UNIT SYSRES_CONST_REQUISITE_NUMBER_REQUISITE_CODE SYSRES_CONST_REQUISITE_SECTION_ACTIONS SYSRES_CONST_REQUISITE_SECTION_BUTTON SYSRES_CONST_REQUISITE_SECTION_BUTTONS SYSRES_CONST_REQUISITE_SECTION_CARD SYSRES_CONST_REQUISITE_SECTION_TABLE SYSRES_CONST_REQUISITE_SECTION_TABLE10 SYSRES_CONST_REQUISITE_SECTION_TABLE11 SYSRES_CONST_REQUISITE_SECTION_TABLE12 SYSRES_CONST_REQUISITE_SECTION_TABLE13 SYSRES_CONST_REQUISITE_SECTION_TABLE14 SYSRES_CONST_REQUISITE_SECTION_TABLE15 SYSRES_CONST_REQUISITE_SECTION_TABLE16 SYSRES_CONST_REQUISITE_SECTION_TABLE17 SYSRES_CONST_REQUISITE_SECTION_TABLE18 SYSRES_CONST_REQUISITE_SECTION_TABLE19 SYSRES_CONST_REQUISITE_SECTION_TABLE2 SYSRES_CONST_REQUISITE_SECTION_TABLE20 SYSRES_CONST_REQUISITE_SECTION_TABLE21 SYSRES_CONST_REQUISITE_SECTION_TABLE22 SYSRES_CONST_REQUISITE_SECTION_TABLE23 SYSRES_CONST_REQUISITE_SECTION_TABLE24 SYSRES_CONST_REQUISITE_SECTION_TABLE3 SYSRES_CONST_REQUISITE_SECTION_TABLE4 SYSRES_CONST_REQUISITE_SECTION_TABLE5 SYSRES_CONST_REQUISITE_SECTION_TABLE6 SYSRES_CONST_REQUISITE_SECTION_TABLE7 SYSRES_CONST_REQUISITE_SECTION_TABLE8 SYSRES_CONST_REQUISITE_SECTION_TABLE9 SYSRES_CONST_REQUISITES_PSEUDOREFERENCE_REQUISITE_NUMBER_REQUISITE_CODE SYSRES_CONST_RIGHT_ALIGNMENT_CODE SYSRES_CONST_ROLES_REFERENCE_CODE SYSRES_CONST_ROUTE_STEP_AFTER_RUS SYSRES_CONST_ROUTE_STEP_AND_CONDITION_RUS SYSRES_CONST_ROUTE_STEP_OR_CONDITION_RUS SYSRES_CONST_ROUTE_TYPE_COMPLEX SYSRES_CONST_ROUTE_TYPE_PARALLEL SYSRES_CONST_ROUTE_TYPE_SERIAL SYSRES_CONST_SBDATASETDESC_NEGATIVE_VALUE SYSRES_CONST_SBDATASETDESC_POSITIVE_VALUE SYSRES_CONST_SBVIEWSDESC_POSITIVE_VALUE SYSRES_CONST_SCRIPT_BLOCK_DESCRIPTION SYSRES_CONST_SEARCH_BY_TEXT_REQUISITE_CODE SYSRES_CONST_SEARCHES_COMPONENT_CONTENT SYSRES_CONST_SEARCHES_CRITERIA_ACTION_NAME SYSRES_CONST_SEARCHES_EDOC_CONTENT SYSRES_CONST_SEARCHES_FOLDER_CONTENT SYSRES_CONST_SEARCHES_JOB_CONTENT SYSRES_CONST_SEARCHES_REFERENCE_CODE SYSRES_CONST_SEARCHES_TASK_CONTENT SYSRES_CONST_SECOND_CHAR SYSRES_CONST_SECTION_REQUISITE_ACTIONS_VALUE SYSRES_CONST_SECTION_REQUISITE_CARD_VALUE SYSRES_CONST_SECTION_REQUISITE_CODE SYSRES_CONST_SECTION_REQUISITE_DETAIL_1_VALUE SYSRES_CONST_SECTION_REQUISITE_DETAIL_2_VALUE SYSRES_CONST_SECTION_REQUISITE_DETAIL_3_VALUE SYSRES_CONST_SECTION_REQUISITE_DETAIL_4_VALUE SYSRES_CONST_SECTION_REQUISITE_DETAIL_5_VALUE SYSRES_CONST_SECTION_REQUISITE_DETAIL_6_VALUE SYSRES_CONST_SELECT_REFERENCE_MODE_NAME SYSRES_CONST_SELECT_TYPE_SELECTABLE SYSRES_CONST_SELECT_TYPE_SELECTABLE_ONLY_CHILD SYSRES_CONST_SELECT_TYPE_SELECTABLE_WITH_CHILD SYSRES_CONST_SELECT_TYPE_UNSLECTABLE SYSRES_CONST_SERVER_TYPE_MAIN SYSRES_CONST_SERVICE_USER_CATEGORY_FIELD_VALUE SYSRES_CONST_SETTINGS_USER_REQUISITE_CODE SYSRES_CONST_SIGNATURE_AND_ENCODE_CERTIFICATE_TYPE_CODE SYSRES_CONST_SIGNATURE_CERTIFICATE_TYPE_CODE SYSRES_CONST_SINGULAR_TITLE_REQUISITE_CODE SYSRES_CONST_SQL_SERVER_AUTHENTIFICATION_FLAG_VALUE_CODE SYSRES_CONST_SQL_SERVER_ENCODE_AUTHENTIFICATION_FLAG_VALUE_CODE SYSRES_CONST_STANDART_ROUTE_REFERENCE_CODE SYSRES_CONST_STANDART_ROUTE_REFERENCE_COMMENT_REQUISITE_CODE SYSRES_CONST_STANDART_ROUTES_GROUPS_REFERENCE_CODE SYSRES_CONST_STATE_REQ_NAME SYSRES_CONST_STATE_REQUISITE_ACTIVE_VALUE SYSRES_CONST_STATE_REQUISITE_CLOSED_VALUE SYSRES_CONST_STATE_REQUISITE_CODE SYSRES_CONST_STATIC_ROLE_TYPE_CODE SYSRES_CONST_STATUS_PLAN_DEFAULT_VALUE SYSRES_CONST_STATUS_VALUE_AUTOCLEANING SYSRES_CONST_STATUS_VALUE_BLUE_SQUARE SYSRES_CONST_STATUS_VALUE_COMPLETE SYSRES_CONST_STATUS_VALUE_GREEN_SQUARE SYSRES_CONST_STATUS_VALUE_ORANGE_SQUARE SYSRES_CONST_STATUS_VALUE_PURPLE_SQUARE SYSRES_CONST_STATUS_VALUE_RED_SQUARE SYSRES_CONST_STATUS_VALUE_SUSPEND SYSRES_CONST_STATUS_VALUE_YELLOW_SQUARE SYSRES_CONST_STDROUTE_SHOW_TO_USERS_REQUISITE_CODE SYSRES_CONST_STORAGE_TYPE_FILE SYSRES_CONST_STORAGE_TYPE_SQL_SERVER SYSRES_CONST_STR_REQUISITE SYSRES_CONST_STRIKEOUT_LIFE_CYCLE_STAGE_DRAW_STYLE SYSRES_CONST_STRING_FORMAT_LEFT_ALIGN_CHAR SYSRES_CONST_STRING_FORMAT_RIGHT_ALIGN_CHAR SYSRES_CONST_STRING_REQUISITE_CODE SYSRES_CONST_STRING_REQUISITE_TYPE SYSRES_CONST_STRING_TYPE_CHAR SYSRES_CONST_SUBSTITUTES_PSEUDOREFERENCE_CODE SYSRES_CONST_SUBTASK_BLOCK_DESCRIPTION SYSRES_CONST_SYSTEM_SETTING_CURRENT_USER_PARAM_VALUE SYSRES_CONST_SYSTEM_SETTING_EMPTY_VALUE_PARAM_VALUE SYSRES_CONST_SYSTEM_VERSION_COMMENT SYSRES_CONST_TASK_ACCESS_TYPE_ALL SYSRES_CONST_TASK_ACCESS_TYPE_ALL_MEMBERS SYSRES_CONST_TASK_ACCESS_TYPE_MANUAL SYSRES_CONST_TASK_ENCODE_TYPE_CERTIFICATION SYSRES_CONST_TASK_ENCODE_TYPE_CERTIFICATION_AND_PASSWORD SYSRES_CONST_TASK_ENCODE_TYPE_NONE SYSRES_CONST_TASK_ENCODE_TYPE_PASSWORD SYSRES_CONST_TASK_ROUTE_ALL_CONDITION SYSRES_CONST_TASK_ROUTE_AND_CONDITION SYSRES_CONST_TASK_ROUTE_OR_CONDITION SYSRES_CONST_TASK_STATE_ABORTED SYSRES_CONST_TASK_STATE_COMPLETE SYSRES_CONST_TASK_STATE_CONTINUED SYSRES_CONST_TASK_STATE_CONTROL SYSRES_CONST_TASK_STATE_INIT SYSRES_CONST_TASK_STATE_WORKING SYSRES_CONST_TASK_TITLE SYSRES_CONST_TASK_TYPES_GROUPS_REFERENCE_CODE SYSRES_CONST_TASK_TYPES_REFERENCE_CODE SYSRES_CONST_TEMPLATES_REFERENCE_CODE SYSRES_CONST_TEST_DATE_REQUISITE_NAME SYSRES_CONST_TEST_DEV_DATABASE_NAME SYSRES_CONST_TEST_DEV_SYSTEM_CODE SYSRES_CONST_TEST_EDMS_DATABASE_NAME SYSRES_CONST_TEST_EDMS_MAIN_CODE SYSRES_CONST_TEST_EDMS_MAIN_DB_NAME SYSRES_CONST_TEST_EDMS_SECOND_CODE SYSRES_CONST_TEST_EDMS_SECOND_DB_NAME SYSRES_CONST_TEST_EDMS_SYSTEM_CODE SYSRES_CONST_TEST_NUMERIC_REQUISITE_NAME SYSRES_CONST_TEXT_REQUISITE SYSRES_CONST_TEXT_REQUISITE_CODE SYSRES_CONST_TEXT_REQUISITE_TYPE SYSRES_CONST_TEXT_TYPE_CHAR SYSRES_CONST_TYPE_CODE_REQUISITE_CODE SYSRES_CONST_TYPE_REQUISITE_CODE SYSRES_CONST_UNDEFINED_LIFE_CYCLE_STAGE_FONT_COLOR SYSRES_CONST_UNITS_SECTION_ID_REQUISITE_CODE SYSRES_CONST_UNITS_SECTION_REQUISITE_CODE SYSRES_CONST_UNOPERATING_RECORD_FLAG_VALUE_CODE SYSRES_CONST_UNSTORED_DATA_REQUISITE_CODE SYSRES_CONST_UNSTORED_DATA_REQUISITE_NAME SYSRES_CONST_USE_ACCESS_TYPE_CODE SYSRES_CONST_USE_ACCESS_TYPE_NAME SYSRES_CONST_USER_ACCOUNT_TYPE_VALUE_CODE SYSRES_CONST_USER_ADDITIONAL_INFORMATION_REQUISITE_CODE SYSRES_CONST_USER_AND_GROUP_ID_FROM_PSEUDOREFERENCE_REQUISITE_CODE SYSRES_CONST_USER_CATEGORY_NORMAL SYSRES_CONST_USER_CERTIFICATE_REQUISITE_CODE SYSRES_CONST_USER_CERTIFICATE_STATE_REQUISITE_CODE SYSRES_CONST_USER_CERTIFICATE_SUBJECT_NAME_REQUISITE_CODE SYSRES_CONST_USER_CERTIFICATE_THUMBPRINT_REQUISITE_CODE SYSRES_CONST_USER_COMMON_CATEGORY SYSRES_CONST_USER_COMMON_CATEGORY_CODE SYSRES_CONST_USER_FULL_NAME_REQUISITE_CODE SYSRES_CONST_USER_GROUP_TYPE_REQUISITE_CODE SYSRES_CONST_USER_LOGIN_REQUISITE_CODE SYSRES_CONST_USER_REMOTE_CONTROLLER_REQUISITE_CODE SYSRES_CONST_USER_REMOTE_SYSTEM_REQUISITE_CODE SYSRES_CONST_USER_RIGHTS_T_REQUISITE_CODE SYSRES_CONST_USER_SERVER_NAME_REQUISITE_CODE SYSRES_CONST_USER_SERVICE_CATEGORY SYSRES_CONST_USER_SERVICE_CATEGORY_CODE SYSRES_CONST_USER_STATUS_ADMINISTRATOR_CODE SYSRES_CONST_USER_STATUS_ADMINISTRATOR_NAME SYSRES_CONST_USER_STATUS_DEVELOPER_CODE SYSRES_CONST_USER_STATUS_DEVELOPER_NAME SYSRES_CONST_USER_STATUS_DISABLED_CODE SYSRES_CONST_USER_STATUS_DISABLED_NAME SYSRES_CONST_USER_STATUS_SYSTEM_DEVELOPER_CODE SYSRES_CONST_USER_STATUS_USER_CODE SYSRES_CONST_USER_STATUS_USER_NAME SYSRES_CONST_USER_STATUS_USER_NAME_DEPRECATED SYSRES_CONST_USER_TYPE_FIELD_VALUE_USER SYSRES_CONST_USER_TYPE_REQUISITE_CODE SYSRES_CONST_USERS_CONTROLLER_REQUISITE_CODE SYSRES_CONST_USERS_IS_MAIN_SERVER_REQUISITE_CODE SYSRES_CONST_USERS_REFERENCE_CODE SYSRES_CONST_USERS_REGISTRATION_CERTIFICATES_ACTION_NAME SYSRES_CONST_USERS_REQUISITE_CODE SYSRES_CONST_USERS_SYSTEM_REQUISITE_CODE SYSRES_CONST_USERS_USER_ACCESS_RIGHTS_TYPR_REQUISITE_CODE SYSRES_CONST_USERS_USER_AUTHENTICATION_REQUISITE_CODE SYSRES_CONST_USERS_USER_COMPONENT_REQUISITE_CODE SYSRES_CONST_USERS_USER_GROUP_REQUISITE_CODE SYSRES_CONST_USERS_VIEW_CERTIFICATES_ACTION_NAME SYSRES_CONST_VIEW_DEFAULT_CODE SYSRES_CONST_VIEW_DEFAULT_NAME SYSRES_CONST_VIEWER_REQUISITE_CODE SYSRES_CONST_WAITING_BLOCK_DESCRIPTION SYSRES_CONST_WIZARD_FORM_LABEL_TEST_STRING SYSRES_CONST_WIZARD_QUERY_PARAM_HEIGHT_ETALON_STRING SYSRES_CONST_WIZARD_REFERENCE_COMMENT_REQUISITE_CODE SYSRES_CONST_WORK_RULES_DESCRIPTION_REQUISITE_CODE SYSRES_CONST_WORK_TIME_CALENDAR_REFERENCE_CODE SYSRES_CONST_WORK_WORKFLOW_HARD_ROUTE_TYPE_VALUE SYSRES_CONST_WORK_WORKFLOW_HARD_ROUTE_TYPE_VALUE_CODE SYSRES_CONST_WORK_WORKFLOW_HARD_ROUTE_TYPE_VALUE_CODE_RUS SYSRES_CONST_WORK_WORKFLOW_SOFT_ROUTE_TYPE_VALUE_CODE_RUS SYSRES_CONST_WORKFLOW_ROUTE_TYPR_HARD SYSRES_CONST_WORKFLOW_ROUTE_TYPR_SOFT SYSRES_CONST_XML_ENCODING SYSRES_CONST_XREC_STAT_REQUISITE_CODE SYSRES_CONST_XRECID_FIELD_NAME SYSRES_CONST_YES SYSRES_CONST_YES_NO_2_REQUISITE_CODE SYSRES_CONST_YES_NO_REQUISITE_CODE SYSRES_CONST_YES_NO_T_REF_TYPE_REQUISITE_CODE SYSRES_CONST_YES_PICK_VALUE SYSRES_CONST_YES_VALUE CR FALSE nil NO_VALUE NULL TAB TRUE YES_VALUE ADMINISTRATORS_GROUP_NAME CUSTOMIZERS_GROUP_NAME DEVELOPERS_GROUP_NAME SERVICE_USERS_GROUP_NAME DECISION_BLOCK_FIRST_OPERAND_PROPERTY DECISION_BLOCK_NAME_PROPERTY DECISION_BLOCK_OPERATION_PROPERTY DECISION_BLOCK_RESULT_TYPE_PROPERTY DECISION_BLOCK_SECOND_OPERAND_PROPERTY ANY_FILE_EXTENTION COMPRESSED_DOCUMENT_EXTENSION EXTENDED_DOCUMENT_EXTENSION SHORT_COMPRESSED_DOCUMENT_EXTENSION SHORT_EXTENDED_DOCUMENT_EXTENSION JOB_BLOCK_ABORT_DEADLINE_PROPERTY JOB_BLOCK_AFTER_FINISH_EVENT JOB_BLOCK_AFTER_QUERY_PARAMETERS_EVENT JOB_BLOCK_ATTACHMENT_PROPERTY JOB_BLOCK_ATTACHMENTS_RIGHTS_GROUP_PROPERTY JOB_BLOCK_ATTACHMENTS_RIGHTS_TYPE_PROPERTY JOB_BLOCK_BEFORE_QUERY_PARAMETERS_EVENT JOB_BLOCK_BEFORE_START_EVENT JOB_BLOCK_CREATED_JOBS_PROPERTY JOB_BLOCK_DEADLINE_PROPERTY JOB_BLOCK_EXECUTION_RESULTS_PROPERTY JOB_BLOCK_IS_PARALLEL_PROPERTY JOB_BLOCK_IS_RELATIVE_ABORT_DEADLINE_PROPERTY JOB_BLOCK_IS_RELATIVE_DEADLINE_PROPERTY JOB_BLOCK_JOB_TEXT_PROPERTY JOB_BLOCK_NAME_PROPERTY JOB_BLOCK_NEED_SIGN_ON_PERFORM_PROPERTY JOB_BLOCK_PERFORMER_PROPERTY JOB_BLOCK_RELATIVE_ABORT_DEADLINE_TYPE_PROPERTY JOB_BLOCK_RELATIVE_DEADLINE_TYPE_PROPERTY JOB_BLOCK_SUBJECT_PROPERTY ENGLISH_LANGUAGE_CODE RUSSIAN_LANGUAGE_CODE smHidden smMaximized smMinimized smNormal wmNo wmYes COMPONENT_TOKEN_LINK_KIND DOCUMENT_LINK_KIND EDOCUMENT_LINK_KIND FOLDER_LINK_KIND JOB_LINK_KIND REFERENCE_LINK_KIND TASK_LINK_KIND COMPONENT_TOKEN_LOCK_TYPE EDOCUMENT_VERSION_LOCK_TYPE MONITOR_BLOCK_AFTER_FINISH_EVENT MONITOR_BLOCK_BEFORE_START_EVENT MONITOR_BLOCK_DEADLINE_PROPERTY MONITOR_BLOCK_INTERVAL_PROPERTY MONITOR_BLOCK_INTERVAL_TYPE_PROPERTY MONITOR_BLOCK_IS_RELATIVE_DEADLINE_PROPERTY MONITOR_BLOCK_NAME_PROPERTY MONITOR_BLOCK_RELATIVE_DEADLINE_TYPE_PROPERTY MONITOR_BLOCK_SEARCH_SCRIPT_PROPERTY NOTICE_BLOCK_AFTER_FINISH_EVENT NOTICE_BLOCK_ATTACHMENT_PROPERTY NOTICE_BLOCK_ATTACHMENTS_RIGHTS_GROUP_PROPERTY NOTICE_BLOCK_ATTACHMENTS_RIGHTS_TYPE_PROPERTY NOTICE_BLOCK_BEFORE_START_EVENT NOTICE_BLOCK_CREATED_NOTICES_PROPERTY NOTICE_BLOCK_DEADLINE_PROPERTY NOTICE_BLOCK_IS_RELATIVE_DEADLINE_PROPERTY NOTICE_BLOCK_NAME_PROPERTY NOTICE_BLOCK_NOTICE_TEXT_PROPERTY NOTICE_BLOCK_PERFORMER_PROPERTY NOTICE_BLOCK_RELATIVE_DEADLINE_TYPE_PROPERTY NOTICE_BLOCK_SUBJECT_PROPERTY dseAfterCancel dseAfterClose dseAfterDelete dseAfterDeleteOutOfTransaction dseAfterInsert dseAfterOpen dseAfterScroll dseAfterUpdate dseAfterUpdateOutOfTransaction dseBeforeCancel dseBeforeClose dseBeforeDelete dseBeforeDetailUpdate dseBeforeInsert dseBeforeOpen dseBeforeUpdate dseOnAnyRequisiteChange dseOnCloseRecord dseOnDeleteError dseOnOpenRecord dseOnPrepareUpdate dseOnUpdateError dseOnUpdateRatifiedRecord dseOnValidDelete dseOnValidUpdate reOnChange reOnChangeValues SELECTION_BEGIN_ROUTE_EVENT SELECTION_END_ROUTE_EVENT CURRENT_PERIOD_IS_REQUIRED PREVIOUS_CARD_TYPE_NAME SHOW_RECORD_PROPERTIES_FORM ACCESS_RIGHTS_SETTING_DIALOG_CODE ADMINISTRATOR_USER_CODE ANALYTIC_REPORT_TYPE asrtHideLocal asrtHideRemote CALCULATED_ROLE_TYPE_CODE COMPONENTS_REFERENCE_DEVELOPER_VIEW_CODE DCTS_TEST_PROTOCOLS_FOLDER_PATH E_EDOC_VERSION_ALREADY_APPROVINGLY_SIGNED E_EDOC_VERSION_ALREADY_APPROVINGLY_SIGNED_BY_USER E_EDOC_VERSION_ALREDY_SIGNED E_EDOC_VERSION_ALREDY_SIGNED_BY_USER EDOC_TYPES_CODE_REQUISITE_FIELD_NAME EDOCUMENTS_ALIAS_NAME FILES_FOLDER_PATH FILTER_OPERANDS_DELIMITER FILTER_OPERATIONS_DELIMITER FORMCARD_NAME FORMLIST_NAME GET_EXTENDED_DOCUMENT_EXTENSION_CREATION_MODE GET_EXTENDED_DOCUMENT_EXTENSION_IMPORT_MODE INTEGRATED_REPORT_TYPE IS_BUILDER_APPLICATION_ROLE IS_BUILDER_APPLICATION_ROLE2 IS_BUILDER_USERS ISBSYSDEV LOG_FOLDER_PATH mbCancel mbNo mbNoToAll mbOK mbYes mbYesToAll MEMORY_DATASET_DESRIPTIONS_FILENAME mrNo mrNoToAll mrYes mrYesToAll MULTIPLE_SELECT_DIALOG_CODE NONOPERATING_RECORD_FLAG_FEMININE NONOPERATING_RECORD_FLAG_MASCULINE OPERATING_RECORD_FLAG_FEMININE OPERATING_RECORD_FLAG_MASCULINE PROFILING_SETTINGS_COMMON_SETTINGS_CODE_VALUE PROGRAM_INITIATED_LOOKUP_ACTION ratDelete ratEdit ratInsert REPORT_TYPE REQUIRED_PICK_VALUES_VARIABLE rmCard rmList SBRTE_PROGID_DEV SBRTE_PROGID_RELEASE STATIC_ROLE_TYPE_CODE SUPPRESS_EMPTY_TEMPLATE_CREATION SYSTEM_USER_CODE UPDATE_DIALOG_DATASET USED_IN_OBJECT_HINT_PARAM USER_INITIATED_LOOKUP_ACTION USER_NAME_FORMAT USER_SELECTION_RESTRICTIONS WORKFLOW_TEST_PROTOCOLS_FOLDER_PATH ELS_SUBTYPE_CONTROL_NAME ELS_FOLDER_KIND_CONTROL_NAME REPEAT_PROCESS_CURRENT_OBJECT_EXCEPTION_NAME PRIVILEGE_COMPONENT_FULL_ACCESS PRIVILEGE_DEVELOPMENT_EXPORT PRIVILEGE_DEVELOPMENT_IMPORT PRIVILEGE_DOCUMENT_DELETE PRIVILEGE_ESD PRIVILEGE_FOLDER_DELETE PRIVILEGE_MANAGE_ACCESS_RIGHTS PRIVILEGE_MANAGE_REPLICATION PRIVILEGE_MANAGE_SESSION_SERVER PRIVILEGE_OBJECT_FULL_ACCESS PRIVILEGE_OBJECT_VIEW PRIVILEGE_RESERVE_LICENSE PRIVILEGE_SYSTEM_CUSTOMIZE PRIVILEGE_SYSTEM_DEVELOP PRIVILEGE_SYSTEM_INSTALL PRIVILEGE_TASK_DELETE PRIVILEGE_USER_PLUGIN_SETTINGS_CUSTOMIZE PRIVILEGES_PSEUDOREFERENCE_CODE ACCESS_TYPES_PSEUDOREFERENCE_CODE ALL_AVAILABLE_COMPONENTS_PSEUDOREFERENCE_CODE ALL_AVAILABLE_PRIVILEGES_PSEUDOREFERENCE_CODE ALL_REPLICATE_COMPONENTS_PSEUDOREFERENCE_CODE AVAILABLE_DEVELOPERS_COMPONENTS_PSEUDOREFERENCE_CODE COMPONENTS_PSEUDOREFERENCE_CODE FILTRATER_SETTINGS_CONFLICTS_PSEUDOREFERENCE_CODE GROUPS_PSEUDOREFERENCE_CODE RECEIVE_PROTOCOL_PSEUDOREFERENCE_CODE REFERENCE_REQUISITE_PSEUDOREFERENCE_CODE REFERENCE_REQUISITES_PSEUDOREFERENCE_CODE REFTYPES_PSEUDOREFERENCE_CODE REPLICATION_SEANCES_DIARY_PSEUDOREFERENCE_CODE SEND_PROTOCOL_PSEUDOREFERENCE_CODE SUBSTITUTES_PSEUDOREFERENCE_CODE SYSTEM_SETTINGS_PSEUDOREFERENCE_CODE UNITS_PSEUDOREFERENCE_CODE USERS_PSEUDOREFERENCE_CODE VIEWERS_PSEUDOREFERENCE_CODE CERTIFICATE_TYPE_ENCRYPT CERTIFICATE_TYPE_SIGN CERTIFICATE_TYPE_SIGN_AND_ENCRYPT STORAGE_TYPE_FILE STORAGE_TYPE_NAS_CIFS STORAGE_TYPE_SAPERION STORAGE_TYPE_SQL_SERVER COMPTYPE2_REQUISITE_DOCUMENTS_VALUE COMPTYPE2_REQUISITE_TASKS_VALUE COMPTYPE2_REQUISITE_FOLDERS_VALUE COMPTYPE2_REQUISITE_REFERENCES_VALUE SYSREQ_CODE SYSREQ_COMPTYPE2 SYSREQ_CONST_AVAILABLE_FOR_WEB SYSREQ_CONST_COMMON_CODE SYSREQ_CONST_COMMON_VALUE SYSREQ_CONST_FIRM_CODE SYSREQ_CONST_FIRM_STATUS SYSREQ_CONST_FIRM_VALUE SYSREQ_CONST_SERVER_STATUS SYSREQ_CONTENTS SYSREQ_DATE_OPEN SYSREQ_DATE_CLOSE SYSREQ_DESCRIPTION SYSREQ_DESCRIPTION_LOCALIZE_ID SYSREQ_DOUBLE SYSREQ_EDOC_ACCESS_TYPE SYSREQ_EDOC_AUTHOR SYSREQ_EDOC_CREATED SYSREQ_EDOC_DELEGATE_RIGHTS_REQUISITE_CODE SYSREQ_EDOC_EDITOR SYSREQ_EDOC_ENCODE_TYPE SYSREQ_EDOC_ENCRYPTION_PLUGIN_NAME SYSREQ_EDOC_ENCRYPTION_PLUGIN_VERSION SYSREQ_EDOC_EXPORT_DATE SYSREQ_EDOC_EXPORTER SYSREQ_EDOC_KIND SYSREQ_EDOC_LIFE_STAGE_NAME SYSREQ_EDOC_LOCKED_FOR_SERVER_CODE SYSREQ_EDOC_MODIFIED SYSREQ_EDOC_NAME SYSREQ_EDOC_NOTE SYSREQ_EDOC_QUALIFIED_ID SYSREQ_EDOC_SESSION_KEY SYSREQ_EDOC_SESSION_KEY_ENCRYPTION_PLUGIN_NAME SYSREQ_EDOC_SESSION_KEY_ENCRYPTION_PLUGIN_VERSION SYSREQ_EDOC_SIGNATURE_TYPE SYSREQ_EDOC_SIGNED SYSREQ_EDOC_STORAGE SYSREQ_EDOC_STORAGES_ARCHIVE_STORAGE SYSREQ_EDOC_STORAGES_CHECK_RIGHTS SYSREQ_EDOC_STORAGES_COMPUTER_NAME SYSREQ_EDOC_STORAGES_EDIT_IN_STORAGE SYSREQ_EDOC_STORAGES_EXECUTIVE_STORAGE SYSREQ_EDOC_STORAGES_FUNCTION SYSREQ_EDOC_STORAGES_INITIALIZED SYSREQ_EDOC_STORAGES_LOCAL_PATH SYSREQ_EDOC_STORAGES_SAPERION_DATABASE_NAME SYSREQ_EDOC_STORAGES_SEARCH_BY_TEXT SYSREQ_EDOC_STORAGES_SERVER_NAME SYSREQ_EDOC_STORAGES_SHARED_SOURCE_NAME SYSREQ_EDOC_STORAGES_TYPE SYSREQ_EDOC_TEXT_MODIFIED SYSREQ_EDOC_TYPE_ACT_CODE SYSREQ_EDOC_TYPE_ACT_DESCRIPTION SYSREQ_EDOC_TYPE_ACT_DESCRIPTION_LOCALIZE_ID SYSREQ_EDOC_TYPE_ACT_ON_EXECUTE SYSREQ_EDOC_TYPE_ACT_ON_EXECUTE_EXISTS SYSREQ_EDOC_TYPE_ACT_SECTION SYSREQ_EDOC_TYPE_ADD_PARAMS SYSREQ_EDOC_TYPE_COMMENT SYSREQ_EDOC_TYPE_EVENT_TEXT SYSREQ_EDOC_TYPE_NAME_IN_SINGULAR SYSREQ_EDOC_TYPE_NAME_IN_SINGULAR_LOCALIZE_ID SYSREQ_EDOC_TYPE_NAME_LOCALIZE_ID SYSREQ_EDOC_TYPE_NUMERATION_METHOD SYSREQ_EDOC_TYPE_PSEUDO_REQUISITE_CODE SYSREQ_EDOC_TYPE_REQ_CODE SYSREQ_EDOC_TYPE_REQ_DESCRIPTION SYSREQ_EDOC_TYPE_REQ_DESCRIPTION_LOCALIZE_ID SYSREQ_EDOC_TYPE_REQ_IS_LEADING SYSREQ_EDOC_TYPE_REQ_IS_REQUIRED SYSREQ_EDOC_TYPE_REQ_NUMBER SYSREQ_EDOC_TYPE_REQ_ON_CHANGE SYSREQ_EDOC_TYPE_REQ_ON_CHANGE_EXISTS SYSREQ_EDOC_TYPE_REQ_ON_SELECT SYSREQ_EDOC_TYPE_REQ_ON_SELECT_KIND SYSREQ_EDOC_TYPE_REQ_SECTION SYSREQ_EDOC_TYPE_VIEW_CARD SYSREQ_EDOC_TYPE_VIEW_CODE SYSREQ_EDOC_TYPE_VIEW_COMMENT SYSREQ_EDOC_TYPE_VIEW_IS_MAIN SYSREQ_EDOC_TYPE_VIEW_NAME SYSREQ_EDOC_TYPE_VIEW_NAME_LOCALIZE_ID SYSREQ_EDOC_VERSION_AUTHOR SYSREQ_EDOC_VERSION_CRC SYSREQ_EDOC_VERSION_DATA SYSREQ_EDOC_VERSION_EDITOR SYSREQ_EDOC_VERSION_EXPORT_DATE SYSREQ_EDOC_VERSION_EXPORTER SYSREQ_EDOC_VERSION_HIDDEN SYSREQ_EDOC_VERSION_LIFE_STAGE SYSREQ_EDOC_VERSION_MODIFIED SYSREQ_EDOC_VERSION_NOTE SYSREQ_EDOC_VERSION_SIGNATURE_TYPE SYSREQ_EDOC_VERSION_SIGNED SYSREQ_EDOC_VERSION_SIZE SYSREQ_EDOC_VERSION_SOURCE SYSREQ_EDOC_VERSION_TEXT_MODIFIED SYSREQ_EDOCKIND_DEFAULT_VERSION_STATE_CODE SYSREQ_FOLDER_KIND SYSREQ_FUNC_CATEGORY SYSREQ_FUNC_COMMENT SYSREQ_FUNC_GROUP SYSREQ_FUNC_GROUP_COMMENT SYSREQ_FUNC_GROUP_NUMBER SYSREQ_FUNC_HELP SYSREQ_FUNC_PARAM_DEF_VALUE SYSREQ_FUNC_PARAM_IDENT SYSREQ_FUNC_PARAM_NUMBER SYSREQ_FUNC_PARAM_TYPE SYSREQ_FUNC_TEXT SYSREQ_GROUP_CATEGORY SYSREQ_ID SYSREQ_LAST_UPDATE SYSREQ_LEADER_REFERENCE SYSREQ_LINE_NUMBER SYSREQ_MAIN_RECORD_ID SYSREQ_NAME SYSREQ_NAME_LOCALIZE_ID SYSREQ_NOTE SYSREQ_ORIGINAL_RECORD SYSREQ_OUR_FIRM SYSREQ_PROFILING_SETTINGS_BATCH_LOGING SYSREQ_PROFILING_SETTINGS_BATCH_SIZE SYSREQ_PROFILING_SETTINGS_PROFILING_ENABLED SYSREQ_PROFILING_SETTINGS_SQL_PROFILING_ENABLED SYSREQ_PROFILING_SETTINGS_START_LOGGED SYSREQ_RECORD_STATUS SYSREQ_REF_REQ_FIELD_NAME SYSREQ_REF_REQ_FORMAT SYSREQ_REF_REQ_GENERATED SYSREQ_REF_REQ_LENGTH SYSREQ_REF_REQ_PRECISION SYSREQ_REF_REQ_REFERENCE SYSREQ_REF_REQ_SECTION SYSREQ_REF_REQ_STORED SYSREQ_REF_REQ_TOKENS SYSREQ_REF_REQ_TYPE SYSREQ_REF_REQ_VIEW SYSREQ_REF_TYPE_ACT_CODE SYSREQ_REF_TYPE_ACT_DESCRIPTION SYSREQ_REF_TYPE_ACT_DESCRIPTION_LOCALIZE_ID SYSREQ_REF_TYPE_ACT_ON_EXECUTE SYSREQ_REF_TYPE_ACT_ON_EXECUTE_EXISTS SYSREQ_REF_TYPE_ACT_SECTION SYSREQ_REF_TYPE_ADD_PARAMS SYSREQ_REF_TYPE_COMMENT SYSREQ_REF_TYPE_COMMON_SETTINGS SYSREQ_REF_TYPE_DISPLAY_REQUISITE_NAME SYSREQ_REF_TYPE_EVENT_TEXT SYSREQ_REF_TYPE_MAIN_LEADING_REF SYSREQ_REF_TYPE_NAME_IN_SINGULAR SYSREQ_REF_TYPE_NAME_IN_SINGULAR_LOCALIZE_ID SYSREQ_REF_TYPE_NAME_LOCALIZE_ID SYSREQ_REF_TYPE_NUMERATION_METHOD SYSREQ_REF_TYPE_REQ_CODE SYSREQ_REF_TYPE_REQ_DESCRIPTION SYSREQ_REF_TYPE_REQ_DESCRIPTION_LOCALIZE_ID SYSREQ_REF_TYPE_REQ_IS_CONTROL SYSREQ_REF_TYPE_REQ_IS_FILTER SYSREQ_REF_TYPE_REQ_IS_LEADING SYSREQ_REF_TYPE_REQ_IS_REQUIRED SYSREQ_REF_TYPE_REQ_NUMBER SYSREQ_REF_TYPE_REQ_ON_CHANGE SYSREQ_REF_TYPE_REQ_ON_CHANGE_EXISTS SYSREQ_REF_TYPE_REQ_ON_SELECT SYSREQ_REF_TYPE_REQ_ON_SELECT_KIND SYSREQ_REF_TYPE_REQ_SECTION SYSREQ_REF_TYPE_VIEW_CARD SYSREQ_REF_TYPE_VIEW_CODE SYSREQ_REF_TYPE_VIEW_COMMENT SYSREQ_REF_TYPE_VIEW_IS_MAIN SYSREQ_REF_TYPE_VIEW_NAME SYSREQ_REF_TYPE_VIEW_NAME_LOCALIZE_ID SYSREQ_REFERENCE_TYPE_ID SYSREQ_STATE SYSREQ_STATЕ SYSREQ_SYSTEM_SETTINGS_VALUE SYSREQ_TYPE SYSREQ_UNIT SYSREQ_UNIT_ID SYSREQ_USER_GROUPS_GROUP_FULL_NAME SYSREQ_USER_GROUPS_GROUP_NAME SYSREQ_USER_GROUPS_GROUP_SERVER_NAME SYSREQ_USERS_ACCESS_RIGHTS SYSREQ_USERS_AUTHENTICATION SYSREQ_USERS_CATEGORY SYSREQ_USERS_COMPONENT SYSREQ_USERS_COMPONENT_USER_IS_PUBLIC SYSREQ_USERS_DOMAIN SYSREQ_USERS_FULL_USER_NAME SYSREQ_USERS_GROUP SYSREQ_USERS_IS_MAIN_SERVER SYSREQ_USERS_LOGIN SYSREQ_USERS_REFERENCE_USER_IS_PUBLIC SYSREQ_USERS_STATUS SYSREQ_USERS_USER_CERTIFICATE SYSREQ_USERS_USER_CERTIFICATE_INFO SYSREQ_USERS_USER_CERTIFICATE_PLUGIN_NAME SYSREQ_USERS_USER_CERTIFICATE_PLUGIN_VERSION SYSREQ_USERS_USER_CERTIFICATE_STATE SYSREQ_USERS_USER_CERTIFICATE_SUBJECT_NAME SYSREQ_USERS_USER_CERTIFICATE_THUMBPRINT SYSREQ_USERS_USER_DEFAULT_CERTIFICATE SYSREQ_USERS_USER_DESCRIPTION SYSREQ_USERS_USER_GLOBAL_NAME SYSREQ_USERS_USER_LOGIN SYSREQ_USERS_USER_MAIN_SERVER SYSREQ_USERS_USER_TYPE SYSREQ_WORK_RULES_FOLDER_ID RESULT_VAR_NAME RESULT_VAR_NAME_ENG AUTO_NUMERATION_RULE_ID CANT_CHANGE_ID_REQUISITE_RULE_ID CANT_CHANGE_OURFIRM_REQUISITE_RULE_ID CHECK_CHANGING_REFERENCE_RECORD_USE_RULE_ID CHECK_CODE_REQUISITE_RULE_ID CHECK_DELETING_REFERENCE_RECORD_USE_RULE_ID CHECK_FILTRATER_CHANGES_RULE_ID CHECK_RECORD_INTERVAL_RULE_ID CHECK_REFERENCE_INTERVAL_RULE_ID CHECK_REQUIRED_DATA_FULLNESS_RULE_ID CHECK_REQUIRED_REQUISITES_FULLNESS_RULE_ID MAKE_RECORD_UNRATIFIED_RULE_ID RESTORE_AUTO_NUMERATION_RULE_ID SET_FIRM_CONTEXT_FROM_RECORD_RULE_ID SET_FIRST_RECORD_IN_LIST_FORM_RULE_ID SET_IDSPS_VALUE_RULE_ID SET_NEXT_CODE_VALUE_RULE_ID SET_OURFIRM_BOUNDS_RULE_ID SET_OURFIRM_REQUISITE_RULE_ID SCRIPT_BLOCK_AFTER_FINISH_EVENT SCRIPT_BLOCK_BEFORE_START_EVENT SCRIPT_BLOCK_EXECUTION_RESULTS_PROPERTY SCRIPT_BLOCK_NAME_PROPERTY SCRIPT_BLOCK_SCRIPT_PROPERTY SUBTASK_BLOCK_ABORT_DEADLINE_PROPERTY SUBTASK_BLOCK_AFTER_FINISH_EVENT SUBTASK_BLOCK_ASSIGN_PARAMS_EVENT SUBTASK_BLOCK_ATTACHMENTS_PROPERTY SUBTASK_BLOCK_ATTACHMENTS_RIGHTS_GROUP_PROPERTY SUBTASK_BLOCK_ATTACHMENTS_RIGHTS_TYPE_PROPERTY SUBTASK_BLOCK_BEFORE_START_EVENT SUBTASK_BLOCK_CREATED_TASK_PROPERTY SUBTASK_BLOCK_CREATION_EVENT SUBTASK_BLOCK_DEADLINE_PROPERTY SUBTASK_BLOCK_IMPORTANCE_PROPERTY SUBTASK_BLOCK_INITIATOR_PROPERTY SUBTASK_BLOCK_IS_RELATIVE_ABORT_DEADLINE_PROPERTY SUBTASK_BLOCK_IS_RELATIVE_DEADLINE_PROPERTY SUBTASK_BLOCK_JOBS_TYPE_PROPERTY SUBTASK_BLOCK_NAME_PROPERTY SUBTASK_BLOCK_PARALLEL_ROUTE_PROPERTY SUBTASK_BLOCK_PERFORMERS_PROPERTY SUBTASK_BLOCK_RELATIVE_ABORT_DEADLINE_TYPE_PROPERTY SUBTASK_BLOCK_RELATIVE_DEADLINE_TYPE_PROPERTY SUBTASK_BLOCK_REQUIRE_SIGN_PROPERTY SUBTASK_BLOCK_STANDARD_ROUTE_PROPERTY SUBTASK_BLOCK_START_EVENT SUBTASK_BLOCK_STEP_CONTROL_PROPERTY SUBTASK_BLOCK_SUBJECT_PROPERTY SUBTASK_BLOCK_TASK_CONTROL_PROPERTY SUBTASK_BLOCK_TEXT_PROPERTY SUBTASK_BLOCK_UNLOCK_ATTACHMENTS_ON_STOP_PROPERTY SUBTASK_BLOCK_USE_STANDARD_ROUTE_PROPERTY SUBTASK_BLOCK_WAIT_FOR_TASK_COMPLETE_PROPERTY SYSCOMP_CONTROL_JOBS SYSCOMP_FOLDERS SYSCOMP_JOBS SYSCOMP_NOTICES SYSCOMP_TASKS SYSDLG_CREATE_EDOCUMENT SYSDLG_CREATE_EDOCUMENT_VERSION SYSDLG_CURRENT_PERIOD SYSDLG_EDIT_FUNCTION_HELP SYSDLG_EDOCUMENT_KINDS_FOR_TEMPLATE SYSDLG_EXPORT_MULTIPLE_EDOCUMENTS SYSDLG_EXPORT_SINGLE_EDOCUMENT SYSDLG_IMPORT_EDOCUMENT SYSDLG_MULTIPLE_SELECT SYSDLG_SETUP_ACCESS_RIGHTS SYSDLG_SETUP_DEFAULT_RIGHTS SYSDLG_SETUP_FILTER_CONDITION SYSDLG_SETUP_SIGN_RIGHTS SYSDLG_SETUP_TASK_OBSERVERS SYSDLG_SETUP_TASK_ROUTE SYSDLG_SETUP_USERS_LIST SYSDLG_SIGN_EDOCUMENT SYSDLG_SIGN_MULTIPLE_EDOCUMENTS SYSREF_ACCESS_RIGHTS_TYPES SYSREF_ADMINISTRATION_HISTORY SYSREF_ALL_AVAILABLE_COMPONENTS SYSREF_ALL_AVAILABLE_PRIVILEGES SYSREF_ALL_REPLICATING_COMPONENTS SYSREF_AVAILABLE_DEVELOPERS_COMPONENTS SYSREF_CALENDAR_EVENTS SYSREF_COMPONENT_TOKEN_HISTORY SYSREF_COMPONENT_TOKENS SYSREF_COMPONENTS SYSREF_CONSTANTS SYSREF_DATA_RECEIVE_PROTOCOL SYSREF_DATA_SEND_PROTOCOL SYSREF_DIALOGS SYSREF_DIALOGS_REQUISITES SYSREF_EDITORS SYSREF_EDOC_CARDS SYSREF_EDOC_TYPES SYSREF_EDOCUMENT_CARD_REQUISITES SYSREF_EDOCUMENT_CARD_TYPES SYSREF_EDOCUMENT_CARD_TYPES_REFERENCE SYSREF_EDOCUMENT_CARDS SYSREF_EDOCUMENT_HISTORY SYSREF_EDOCUMENT_KINDS SYSREF_EDOCUMENT_REQUISITES SYSREF_EDOCUMENT_SIGNATURES SYSREF_EDOCUMENT_TEMPLATES SYSREF_EDOCUMENT_TEXT_STORAGES SYSREF_EDOCUMENT_VIEWS SYSREF_FILTERER_SETUP_CONFLICTS SYSREF_FILTRATER_SETTING_CONFLICTS SYSREF_FOLDER_HISTORY SYSREF_FOLDERS SYSREF_FUNCTION_GROUPS SYSREF_FUNCTION_PARAMS SYSREF_FUNCTIONS SYSREF_JOB_HISTORY SYSREF_LINKS SYSREF_LOCALIZATION_DICTIONARY SYSREF_LOCALIZATION_LANGUAGES SYSREF_MODULES SYSREF_PRIVILEGES SYSREF_RECORD_HISTORY SYSREF_REFERENCE_REQUISITES SYSREF_REFERENCE_TYPE_VIEWS SYSREF_REFERENCE_TYPES SYSREF_REFERENCES SYSREF_REFERENCES_REQUISITES SYSREF_REMOTE_SERVERS SYSREF_REPLICATION_SESSIONS_LOG SYSREF_REPLICATION_SESSIONS_PROTOCOL SYSREF_REPORTS SYSREF_ROLES SYSREF_ROUTE_BLOCK_GROUPS SYSREF_ROUTE_BLOCKS SYSREF_SCRIPTS SYSREF_SEARCHES SYSREF_SERVER_EVENTS SYSREF_SERVER_EVENTS_HISTORY SYSREF_STANDARD_ROUTE_GROUPS SYSREF_STANDARD_ROUTES SYSREF_STATUSES SYSREF_SYSTEM_SETTINGS SYSREF_TASK_HISTORY SYSREF_TASK_KIND_GROUPS SYSREF_TASK_KINDS SYSREF_TASK_RIGHTS SYSREF_TASK_SIGNATURES SYSREF_TASKS SYSREF_UNITS SYSREF_USER_GROUPS SYSREF_USER_GROUPS_REFERENCE SYSREF_USER_SUBSTITUTION SYSREF_USERS SYSREF_USERS_REFERENCE SYSREF_VIEWERS SYSREF_WORKING_TIME_CALENDARS ACCESS_RIGHTS_TABLE_NAME EDMS_ACCESS_TABLE_NAME EDOC_TYPES_TABLE_NAME TEST_DEV_DB_NAME TEST_DEV_SYSTEM_CODE TEST_EDMS_DB_NAME TEST_EDMS_MAIN_CODE TEST_EDMS_MAIN_DB_NAME TEST_EDMS_SECOND_CODE TEST_EDMS_SECOND_DB_NAME TEST_EDMS_SYSTEM_CODE TEST_ISB5_MAIN_CODE TEST_ISB5_SECOND_CODE TEST_SQL_SERVER_2005_NAME TEST_SQL_SERVER_NAME ATTENTION_CAPTION cbsCommandLinks cbsDefault CONFIRMATION_CAPTION ERROR_CAPTION INFORMATION_CAPTION mrCancel mrOk EDOC_VERSION_ACTIVE_STAGE_CODE EDOC_VERSION_DESIGN_STAGE_CODE EDOC_VERSION_OBSOLETE_STAGE_CODE cpDataEnciphermentEnabled cpDigitalSignatureEnabled cpID cpIssuer cpPluginVersion cpSerial cpSubjectName cpSubjSimpleName cpValidFromDate cpValidToDate ISBL_SYNTAX NO_SYNTAX XML_SYNTAX WAIT_BLOCK_AFTER_FINISH_EVENT WAIT_BLOCK_BEFORE_START_EVENT WAIT_BLOCK_DEADLINE_PROPERTY WAIT_BLOCK_IS_RELATIVE_DEADLINE_PROPERTY WAIT_BLOCK_NAME_PROPERTY WAIT_BLOCK_RELATIVE_DEADLINE_TYPE_PROPERTY SYSRES_COMMON SYSRES_CONST SYSRES_MBFUNC SYSRES_SBDATA SYSRES_SBGUI SYSRES_SBINTF SYSRES_SBREFDSC SYSRES_SQLERRORS SYSRES_SYSCOMP atUser atGroup atRole aemEnabledAlways aemDisabledAlways aemEnabledOnBrowse aemEnabledOnEdit aemDisabledOnBrowseEmpty apBegin apEnd alLeft alRight asmNever asmNoButCustomize asmAsLastTime asmYesButCustomize asmAlways cirCommon cirRevoked ctSignature ctEncode ctSignatureEncode clbUnchecked clbChecked clbGrayed ceISB ceAlways ceNever ctDocument ctReference ctScript ctUnknown ctReport ctDialog ctFunction ctFolder ctEDocument ctTask ctJob ctNotice ctControlJob cfInternal cfDisplay ciUnspecified ciWrite ciRead ckFolder ckEDocument ckTask ckJob ckComponentToken ckAny ckReference ckScript ckReport ckDialog ctISBLEditor ctBevel ctButton ctCheckListBox ctComboBox ctComboEdit ctGrid ctDBCheckBox ctDBComboBox ctDBEdit ctDBEllipsis ctDBMemo ctDBNavigator ctDBRadioGroup ctDBStatusLabel ctEdit ctGroupBox ctInplaceHint ctMemo ctPanel ctListBox ctRadioButton ctRichEdit ctTabSheet ctWebBrowser ctImage ctHyperLink ctLabel ctDBMultiEllipsis ctRibbon ctRichView ctInnerPanel ctPanelGroup ctBitButton cctDate cctInteger cctNumeric cctPick cctReference cctString cctText cltInternal cltPrimary cltGUI dseBeforeOpen dseAfterOpen dseBeforeClose dseAfterClose dseOnValidDelete dseBeforeDelete dseAfterDelete dseAfterDeleteOutOfTransaction dseOnDeleteError dseBeforeInsert dseAfterInsert dseOnValidUpdate dseBeforeUpdate dseOnUpdateRatifiedRecord dseAfterUpdate dseAfterUpdateOutOfTransaction dseOnUpdateError dseAfterScroll dseOnOpenRecord dseOnCloseRecord dseBeforeCancel dseAfterCancel dseOnUpdateDeadlockError dseBeforeDetailUpdate dseOnPrepareUpdate dseOnAnyRequisiteChange dssEdit dssInsert dssBrowse dssInActive dftDate dftShortDate dftDateTime dftTimeStamp dotDays dotHours dotMinutes dotSeconds dtkndLocal dtkndUTC arNone arView arEdit arFull ddaView ddaEdit emLock emEdit emSign emExportWithLock emImportWithUnlock emChangeVersionNote emOpenForModify emChangeLifeStage emDelete emCreateVersion emImport emUnlockExportedWithLock emStart emAbort emReInit emMarkAsReaded emMarkAsUnreaded emPerform emAccept emResume emChangeRights emEditRoute emEditObserver emRecoveryFromLocalCopy emChangeWorkAccessType emChangeEncodeTypeToCertificate emChangeEncodeTypeToPassword emChangeEncodeTypeToNone emChangeEncodeTypeToCertificatePassword emChangeStandardRoute emGetText emOpenForView emMoveToStorage emCreateObject emChangeVersionHidden emDeleteVersion emChangeLifeCycleStage emApprovingSign emExport emContinue emLockFromEdit emUnLockForEdit emLockForServer emUnlockFromServer emDelegateAccessRights emReEncode ecotFile ecotProcess eaGet eaCopy eaCreate eaCreateStandardRoute edltAll edltNothing edltQuery essmText essmCard esvtLast esvtLastActive esvtSpecified edsfExecutive edsfArchive edstSQLServer edstFile edvstNone edvstEDocumentVersionCopy edvstFile edvstTemplate edvstScannedFile vsDefault vsDesign vsActive vsObsolete etNone etCertificate etPassword etCertificatePassword ecException ecWarning ecInformation estAll estApprovingOnly evtLast evtLastActive evtQuery fdtString fdtNumeric fdtInteger fdtDate fdtText fdtUnknown fdtWideString fdtLargeInteger ftInbox ftOutbox ftFavorites ftCommonFolder ftUserFolder ftComponents ftQuickLaunch ftShortcuts ftSearch grhAuto grhX1 grhX2 grhX3 hltText hltRTF hltHTML iffBMP iffJPEG iffMultiPageTIFF iffSinglePageTIFF iffTIFF iffPNG im8bGrayscale im24bRGB im1bMonochrome itBMP itJPEG itWMF itPNG ikhInformation ikhWarning ikhError ikhNoIcon icUnknown icScript icFunction icIntegratedReport icAnalyticReport icDataSetEventHandler icActionHandler icFormEventHandler icLookUpEventHandler icRequisiteChangeEventHandler icBeforeSearchEventHandler icRoleCalculation icSelectRouteEventHandler icBlockPropertyCalculation icBlockQueryParamsEventHandler icChangeSearchResultEventHandler icBlockEventHandler icSubTaskInitEventHandler icEDocDataSetEventHandler icEDocLookUpEventHandler icEDocActionHandler icEDocFormEventHandler icEDocRequisiteChangeEventHandler icStructuredConversionRule icStructuredConversionEventBefore icStructuredConversionEventAfter icWizardEventHandler icWizardFinishEventHandler icWizardStepEventHandler icWizardStepFinishEventHandler icWizardActionEnableEventHandler icWizardActionExecuteEventHandler icCreateJobsHandler icCreateNoticesHandler icBeforeLookUpEventHandler icAfterLookUpEventHandler icTaskAbortEventHandler icWorkflowBlockActionHandler icDialogDataSetEventHandler icDialogActionHandler icDialogLookUpEventHandler icDialogRequisiteChangeEventHandler icDialogFormEventHandler icDialogValidCloseEventHandler icBlockFormEventHandler icTaskFormEventHandler icReferenceMethod icEDocMethod icDialogMethod icProcessMessageHandler isShow isHide isByUserSettings jkJob jkNotice jkControlJob jtInner jtLeft jtRight jtFull jtCross lbpAbove lbpBelow lbpLeft lbpRight eltPerConnection eltPerUser sfcUndefined sfcBlack sfcGreen sfcRed sfcBlue sfcOrange sfcLilac sfsItalic sfsStrikeout sfsNormal ldctStandardRoute ldctWizard ldctScript ldctFunction ldctRouteBlock ldctIntegratedReport ldctAnalyticReport ldctReferenceType ldctEDocumentType ldctDialog ldctServerEvents mrcrtNone mrcrtUser mrcrtMaximal mrcrtCustom vtEqual vtGreaterOrEqual vtLessOrEqual vtRange rdYesterday rdToday rdTomorrow rdThisWeek rdThisMonth rdThisYear rdNextMonth rdNextWeek rdLastWeek rdLastMonth rdWindow rdFile rdPrinter rdtString rdtNumeric rdtInteger rdtDate rdtReference rdtAccount rdtText rdtPick rdtUnknown rdtLargeInteger rdtDocument reOnChange reOnChangeValues ttGlobal ttLocal ttUser ttSystem ssmBrowse ssmSelect ssmMultiSelect ssmBrowseModal smSelect smLike smCard stNone stAuthenticating stApproving sctString sctStream sstAnsiSort sstNaturalSort svtEqual svtContain soatString soatNumeric soatInteger soatDatetime soatReferenceRecord soatText soatPick soatBoolean soatEDocument soatAccount soatIntegerCollection soatNumericCollection soatStringCollection soatPickCollection soatDatetimeCollection soatBooleanCollection soatReferenceRecordCollection soatEDocumentCollection soatAccountCollection soatContents soatUnknown tarAbortByUser tarAbortByWorkflowException tvtAllWords tvtExactPhrase tvtAnyWord usNone usCompleted usRedSquare usBlueSquare usYellowSquare usGreenSquare usOrangeSquare usPurpleSquare usFollowUp utUnknown utUser utDeveloper utAdministrator utSystemDeveloper utDisconnected btAnd btDetailAnd btOr btNotOr btOnly vmView vmSelect vmNavigation vsmSingle vsmMultiple vsmMultipleCheck vsmNoSelection wfatPrevious wfatNext wfatCancel wfatFinish wfepUndefined wfepText3 wfepText6 wfepText9 wfepSpinEdit wfepDropDown wfepRadioGroup wfepFlag wfepText12 wfepText15 wfepText18 wfepText21 wfepText24 wfepText27 wfepText30 wfepRadioGroupColumn1 wfepRadioGroupColumn2 wfepRadioGroupColumn3 wfetQueryParameter wfetText wfetDelimiter wfetLabel wptString wptInteger wptNumeric wptBoolean wptDateTime wptPick wptText wptUser wptUserList wptEDocumentInfo wptEDocumentInfoList wptReferenceRecordInfo wptReferenceRecordInfoList wptFolderInfo wptTaskInfo wptContents wptFileName wptDate wsrComplete wsrGoNext wsrGoPrevious wsrCustom wsrCancel wsrGoFinal wstForm wstEDocument wstTaskCard wstReferenceRecordCard wstFinal waAll waPerformers waManual wsbStart wsbFinish wsbNotice wsbStep wsbDecision wsbWait wsbMonitor wsbScript wsbConnector wsbSubTask wsbLifeCycleStage wsbPause wdtInteger wdtFloat wdtString wdtPick wdtDateTime wdtBoolean wdtTask wdtJob wdtFolder wdtEDocument wdtReferenceRecord wdtUser wdtGroup wdtRole wdtIntegerCollection wdtFloatCollection wdtStringCollection wdtPickCollection wdtDateTimeCollection wdtBooleanCollection wdtTaskCollection wdtJobCollection wdtFolderCollection wdtEDocumentCollection wdtReferenceRecordCollection wdtUserCollection wdtGroupCollection wdtRoleCollection wdtContents wdtUserList wdtSearchDescription wdtDeadLine wdtPickSet wdtAccountCollection wiLow wiNormal wiHigh wrtSoft wrtHard wsInit wsRunning wsDone wsControlled wsAborted wsContinued wtmFull wtmFromCurrent wtmOnlyCurrent ", +class:"AltState Application CallType ComponentTokens CreatedJobs CreatedNotices ControlState DialogResult Dialogs EDocuments EDocumentVersionSource Folders GlobalIDs Job Jobs InputValue LookUpReference LookUpRequisiteNames LookUpSearch Object ParentComponent Processes References Requisite ReportName Reports Result Scripts Searches SelectedAttachments SelectedItems SelectMode Sender ServerEvents ServiceFactory ShiftState SubTask SystemDialogs Tasks Wizard Wizards Work ВызовСпоÑоб ИмÑОтчета РеквЗнач ",literal:"null true false nil "},d={begin:"\\.\\s*"+e.UNDERSCORE_IDENT_RE,keywords:c,relevance:0},_={className:"type",begin:":[ \\t]*("+a.trim().replace(/\s/g,"|")+")",end:"[ \\t]*=",excludeEnd:!0},m={className:"variable",lexemes:t,keywords:c,begin:t,relevance:0,contains:[_,d]};return{aliases:["isbl"],case_insensitive:!0,lexemes:t,keywords:c,illegal:"\\$|\\?|%|,|;$|~|#|@|</",contains:[{className:"function",begin:"[A-Za-zÐ-Яа-ÑÑ‘Ð_][A-Za-zÐ-Яа-ÑÑ‘Ð_0-9]*\\(",end:"\\)$",returnBegin:!0,lexemes:t,keywords:c,illegal:"[\\[\\]\\|\\$\\?%,~#@]",contains:[{className:"title",lexemes:t,keywords:{built_in:"AddSubString AdjustLineBreaks AmountInWords Analysis ArrayDimCount ArrayHighBound ArrayLowBound ArrayOf ArrayReDim Assert Assigned BeginOfMonth BeginOfPeriod BuildProfilingOperationAnalysis CallProcedure CanReadFile CArrayElement CDataSetRequisite ChangeDate ChangeReferenceDataset Char CharPos CheckParam CheckParamValue CompareStrings ConstantExists ControlState ConvertDateStr Copy CopyFile CreateArray CreateCachedReference CreateConnection CreateDialog CreateDualListDialog CreateEditor CreateException CreateFile CreateFolderDialog CreateInputDialog CreateLinkFile CreateList CreateLock CreateMemoryDataSet CreateObject CreateOpenDialog CreateProgress CreateQuery CreateReference CreateReport CreateSaveDialog CreateScript CreateSQLPivotFunction CreateStringList CreateTreeListSelectDialog CSelectSQL CSQL CSubString CurrentUserID CurrentUserName CurrentVersion DataSetLocateEx DateDiff DateTimeDiff DateToStr DayOfWeek DeleteFile DirectoryExists DisableCheckAccessRights DisableCheckFullShowingRestriction DisableMassTaskSendingRestrictions DropTable DupeString EditText EnableCheckAccessRights EnableCheckFullShowingRestriction EnableMassTaskSendingRestrictions EndOfMonth EndOfPeriod ExceptionExists ExceptionsOff ExceptionsOn Execute ExecuteProcess Exit ExpandEnvironmentVariables ExtractFileDrive ExtractFileExt ExtractFileName ExtractFilePath ExtractParams FileExists FileSize FindFile FindSubString FirmContext ForceDirectories Format FormatDate FormatNumeric FormatSQLDate FormatString FreeException GetComponent GetComponentLaunchParam GetConstant GetLastException GetReferenceRecord GetRefTypeByRefID GetTableID GetTempFolder IfThen In IndexOf InputDialog InputDialogEx InteractiveMode IsFileLocked IsGraphicFile IsNumeric Length LoadString LoadStringFmt LocalTimeToUTC LowerCase Max MessageBox MessageBoxEx MimeDecodeBinary MimeDecodeString MimeEncodeBinary MimeEncodeString Min MoneyInWords MoveFile NewID Now OpenFile Ord Precision Raise ReadCertificateFromFile ReadFile ReferenceCodeByID ReferenceNumber ReferenceRequisiteMode ReferenceRequisiteValue RegionDateSettings RegionNumberSettings RegionTimeSettings RegRead RegWrite RenameFile Replace Round SelectServerCode SelectSQL ServerDateTime SetConstant SetManagedFolderFieldsState ShowConstantsInputDialog ShowMessage Sleep Split SQL SQL2XLSTAB SQLProfilingSendReport StrToDate SubString SubStringCount SystemSetting Time TimeDiff Today Transliterate Trim UpperCase UserStatus UTCToLocalTime ValidateXML VarIsClear VarIsEmpty VarIsNull WorkTimeDiff WriteFile WriteFileEx WriteObjectHistory Ðнализ БазаДанных БлокЕÑть БлокЕÑтьРаÑш БлокИнфо БлокСнÑть БлокСнÑтьРаÑш БлокУÑтановить Ввод ВводМеню ВедС ВедСпр ВерхнÑÑГраницаМаÑÑива ВнешПрогр ВоÑÑÑ‚ ВременнаÑПапка Ð’Ñ€ÐµÐ¼Ñ Ð’Ñ‹Ð±Ð¾Ñ€SQL ВыбратьЗапиÑÑŒ ВыделитьСтр Вызвать Выполнить ВыпПрогр ГрафичеÑкийФайл ГруппаДополнительно ДатаВремÑСерв ДеньÐедели ДиалогДаÐет ДлинаСтр ДобПодÑтр ЕПуÑто ЕÑлиТо ЕЧиÑло ЗамПодÑтр ЗапиÑьСправочника ЗначПолÑСпр ИДТипСпр ИзвлечьДиÑк ИзвлечьИмÑФайла ИзвлечьПуть ИзвлечьРаÑширение ИзмДат ИзменитьРазмерМаÑÑива ИзмеренийМаÑÑива ИмÑОрг ИмÑПолÑСпр Ð˜Ð½Ð´ÐµÐºÑ Ð˜Ð½Ð´Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð—Ð°ÐºÑ€Ñ‹Ñ‚ÑŒ ИндикаторОткрыть ИндикаторШаг ИнтерактивныйРежим ИтогТблСпр КодВидВедСпр КодВидСпрПоИД КодПоAnalit КодСимвола КодСпр КолПодÑтр КолПроп ÐšÐ¾Ð½ÐœÐµÑ ÐšÐ¾Ð½ÑÑ‚ КонÑтЕÑть КонÑтЗнач КонТран КопироватьФайл КопиÑСтр КПериод КСтрТблСпр ÐœÐ°ÐºÑ ÐœÐ°ÐºÑСтрТблСпр МаÑÑив Меню МенюРаÑш Мин ÐаборДанныхÐайтиРаÑш ÐаимВидСпр ÐаимПоAnalit ÐаимСпр ÐаÑтроитьПереводыСтрок ÐÐ°Ñ‡ÐœÐµÑ ÐачТран ÐижнÑÑГраницаМаÑÑива ÐомерСпр ÐПериод Окно Окр Окружение ОтлИнфДобавить ОтлИнфУдалить Отчет ОтчетÐнал ОтчетИнт ПапкаСущеÑтвует Пауза ПВыборSQL ПереименоватьФайл Переменные ПеремеÑтитьФайл ПодÑтр ПоиÑкПодÑтр ПоиÑкСтр ПолучитьИДТаблицы ПользовательДополнительно ПользовательИД ÐŸÐ¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÐ˜Ð¼Ñ ÐŸÐ¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÐ¡Ñ‚Ð°Ñ‚ÑƒÑ ÐŸÑ€ÐµÑ€Ð²Ð°Ñ‚ÑŒ ПроверитьПараметр ПроверитьПараметрЗнач ПроверитьУÑловие РазбСтр Ð Ð°Ð·Ð½Ð’Ñ€ÐµÐ¼Ñ Ð Ð°Ð·Ð½Ð”Ð°Ñ‚ Ð Ð°Ð·Ð½Ð”Ð°Ñ‚Ð°Ð’Ñ€ÐµÐ¼Ñ Ð Ð°Ð·Ð½Ð Ð°Ð±Ð’Ñ€ÐµÐ¼Ñ Ð ÐµÐ³Ð£ÑтВрем РегУÑтДат РегУÑтЧÑл РедТекÑÑ‚ РееÑтрЗапиÑÑŒ РееÑтрСпиÑокИменПарам РееÑтрЧтение РеквСпр РеквСпрПр Ð¡ÐµÐ³Ð¾Ð´Ð½Ñ Ð¡ÐµÐ¹Ñ‡Ð°Ñ Ð¡ÐµÑ€Ð²ÐµÑ€ СерверПроцеÑÑИД СертификатФайлСчитать СжПроб Символ СиÑтемаДиректумКод СиÑÑ‚ÐµÐ¼Ð°Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¡Ð¸ÑтемаКод Содержит СоединениеЗакрыть СоединениеОткрыть СоздатьДиалог СоздатьДиалогВыбораИзДвухСпиÑков СоздатьДиалогВыбораПапки СоздатьДиалогОткрытиÑФайла СоздатьДиалогСохранениÑФайла Ð¡Ð¾Ð·Ð´Ð°Ñ‚ÑŒÐ—Ð°Ð¿Ñ€Ð¾Ñ Ð¡Ð¾Ð·Ð´Ð°Ñ‚ÑŒÐ˜Ð½Ð´Ð¸ÐºÐ°Ñ‚Ð¾Ñ€ СоздатьИÑключение СоздатьКÑшированныйСправочник СоздатьМаÑÑив СоздатьÐаборДанных СоздатьОбъект СоздатьОтчет СоздатьПапку СоздатьРедактор СоздатьСоединение СоздатьСпиÑок СоздатьСпиÑокСтрок СоздатьСправочник СоздатьСценарий СоздСпр СоÑтСпр Сохр СохрСпр СпиÑокСиÑтем Спр Справочник СпрБлокЕÑть СпрБлокСнÑть СпрБлокСнÑтьРаÑш СпрБлокУÑтановить СпрИзмÐабДан СпрКод СпрÐомер СпрОбновить СпрОткрыть СпрОтменить СпрПарам СпрПолеЗнач Ð¡Ð¿Ñ€ÐŸÐ¾Ð»ÐµÐ˜Ð¼Ñ Ð¡Ð¿Ñ€Ð ÐµÐºÐ² СпрРеквВведЗн СпрРеквÐовые СпрРеквПр СпрРеквПредЗн СпрРеквРежим СпрРеквТипТекÑÑ‚ СпрСоздать СпрСоÑÑ‚ СпрСохранить СпрТблИтог СпрТблСтр СпрТблСтрКол Ð¡Ð¿Ñ€Ð¢Ð±Ð»Ð¡Ñ‚Ñ€ÐœÐ°ÐºÑ Ð¡Ð¿Ñ€Ð¢Ð±Ð»Ð¡Ñ‚Ñ€ÐœÐ¸Ð½ СпрТблСтрПред СпрТблСтрСлед СпрТблСтрСозд СпрТблСтрУд СпрТекПредÑÑ‚ СпрУдалить СравнитьСтр СтрВерхРегиÑтр СтрÐижнРегиÑтр СтрТблСпр СумПроп Сценарий СценарийПарам ТекВерÑÐ¸Ñ Ð¢ÐµÐºÐžÑ€Ð³ Точн Тран ТранÑÐ»Ð¸Ñ‚ÐµÑ€Ð°Ñ†Ð¸Ñ Ð£Ð´Ð°Ð»Ð¸Ñ‚ÑŒÐ¢Ð°Ð±Ð»Ð¸Ñ†Ñƒ УдалитьФайл УдСпр УдСтрТблСпр УÑÑ‚ УÑтановкиКонÑтант ФайлÐтрибутСчитать ФайлÐтрибутУÑтановить Ð¤Ð°Ð¹Ð»Ð’Ñ€ÐµÐ¼Ñ Ð¤Ð°Ð¹Ð»Ð’Ñ€ÐµÐ¼ÑУÑтановить ФайлВыбрать ФайлЗанÑÑ‚ ФайлЗапиÑать ФайлИÑкать ФайлКопировать ФайлМожноЧитать ФайлОткрыть ФайлПереименовать ФайлПерекодировать ФайлПеремеÑтить ФайлПроÑмотреть ФайлРазмер ФайлСоздать ФайлСÑылкаСоздать ФайлСущеÑтвует ФайлСчитать ФайлУдалить ФмтSQLДат ФмтДат ФмтСтр ФмтЧÑл Формат ЦМаÑÑивÐлемент ЦÐаборДанныхРеквизит ЦПодÑтр "},begin:"[A-Za-zÐ-Яа-ÑÑ‘Ð_][A-Za-zÐ-Яа-ÑÑ‘Ð_0-9]*\\(",end:"\\(",returnBegin:!0,excludeEnd:!0},d,m,i,r,l]},_,d,m,i,r,l]}}},{name:"java",create:function(e){var t="false synchronized int abstract float private char boolean var static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do",a={className:"number",begin:"\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?|\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))([eE][-+]?\\d+)?)[lLfF]?",relevance:0};return{aliases:["jsp"],keywords:t,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"class",beginKeywords:"class interface",end:/[{;=]/,excludeEnd:!0,keywords:"class interface",illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"new throw return else",relevance:0},{className:"function",begin:"([À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(<[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(\\s*,\\s*[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*)*>)?\\s+)+"+e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:t,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"params",begin:/\(/,end:/\)/,keywords:t,relevance:0,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},a,{className:"meta",begin:"@[A-Za-z]+"}]}}},{name:"javascript",create:function(e){var t="[A-Za-z$_][0-9A-Za-z$_]*",a={keyword:"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await static import from as",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise"},r={className:"number",variants:[{begin:"\\b(0[bB][01]+)"},{begin:"\\b(0[oO][0-7]+)"},{begin:e.C_NUMBER_RE}],relevance:0},i={className:"subst",begin:"\\$\\{",end:"\\}",keywords:a,contains:[]},s={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,i],subLanguage:"xml"}},n={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,i],subLanguage:"css"}},o={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,i]};i.contains=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,s,n,o,r,e.REGEXP_MODE];var l=i.contains.concat([e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]);return{aliases:["js","jsx"],keywords:a,contains:[{className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},{className:"meta",begin:/^#!/,end:/$/},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,s,n,o,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,r,{begin:/[{,]\s*/,relevance:0,contains:[{begin:t+"\\s*:",returnBegin:!0,relevance:0,contains:[{className:"attr",begin:t,relevance:0}]}]},{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.REGEXP_MODE,{className:"function",begin:"(\\(.*?\\)|"+t+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t},{begin:/\(\s*\)/},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:l}]}]},{className:"",begin:/\s/,end:/\s*/,skip:!0},{begin:/</,end:/(\/[A-Za-z0-9\\._:-]+|[A-Za-z0-9\\._:-]+\/)>/,subLanguage:"xml",contains:[{begin:/<[A-Za-z0-9\\._:-]+\s*\/>/,skip:!0},{begin:/<[A-Za-z0-9\\._:-]+/,end:/(\/[A-Za-z0-9\\._:-]+|[A-Za-z0-9\\._:-]+\/)>/,skip:!0,contains:[{begin:/<[A-Za-z0-9\\._:-]+\s*\/>/,skip:!0},"self"]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/\{/,excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:t}),{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:l}],illegal:/\[|%/},{begin:/\$[(.]/},e.METHOD_GUARD,{className:"class",beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"constructor get set",end:/\{/,excludeEnd:!0}],illegal:/#(?!!)/}}},{name:"jboss-cli",create:function(e){var t={begin:/[\w-]+ *=/,returnBegin:!0,relevance:0,contains:[{className:"attr",begin:/[\w-]+/}]},a={className:"params",begin:/\(/,end:/\)/,contains:[t],relevance:0},r={className:"function",begin:/:[\w\-.]+/,relevance:0},i={className:"string",begin:/\B(([\/.])[\w\-.\/=]+)+/},s={className:"params",begin:/--[\w\-=\/]+/};return{aliases:["wildfly-cli"],lexemes:"[a-z-]+",keywords:{keyword:"alias batch cd clear command connect connection-factory connection-info data-source deploy deployment-info deployment-overlay echo echo-dmr help history if jdbc-driver-info jms-queue|20 jms-topic|20 ls patch pwd quit read-attribute read-operation reload rollout-plan run-batch set shutdown try unalias undeploy unset version xa-data-source",literal:"true false"},contains:[e.HASH_COMMENT_MODE,e.QUOTE_STRING_MODE,s,r,i,a]}}},{name:"json",create:function(e){var t={literal:"true false null"},a=[e.QUOTE_STRING_MODE,e.C_NUMBER_MODE],r={end:",",endsWithParent:!0,excludeEnd:!0,contains:a,keywords:t},i={begin:"{",end:"}",contains:[{className:"attr",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE],illegal:"\\n"},e.inherit(r,{begin:/:/})],illegal:"\\S"},s={begin:"\\[",end:"\\]",contains:[e.inherit(r)],illegal:"\\S"};return a.splice(a.length,0,i,s),{contains:a,keywords:t,illegal:"\\S"}}},{name:"julia-repl",create:function(e){return{contains:[{className:"meta",begin:/^julia>/,relevance:10,starts:{end:/^(?![ ]{6})/,subLanguage:"julia"},aliases:["jldoctest"]}]}}},{name:"julia",create:function(e){var t={keyword:"in isa where baremodule begin break catch ccall const continue do else elseif end export false finally for function global if import importall let local macro module quote return true try using while type immutable abstract bitstype typealias ",literal:"true false ARGS C_NULL DevNull ENDIAN_BOM ENV I Inf Inf16 Inf32 Inf64 InsertionSort JULIA_HOME LOAD_PATH MergeSort NaN NaN16 NaN32 NaN64 PROGRAM_FILE QuickSort RoundDown RoundFromZero RoundNearest RoundNearestTiesAway RoundNearestTiesUp RoundToZero RoundUp STDERR STDIN STDOUT VERSION catalan e|0 eu|0 eulergamma golden im nothing pi γ Ï€ φ ",built_in:"ANY AbstractArray AbstractChannel AbstractFloat AbstractMatrix AbstractRNG AbstractSerializer AbstractSet AbstractSparseArray AbstractSparseMatrix AbstractSparseVector AbstractString AbstractUnitRange AbstractVecOrMat AbstractVector Any ArgumentError Array AssertionError Associative Base64DecodePipe Base64EncodePipe Bidiagonal BigFloat BigInt BitArray BitMatrix BitVector Bool BoundsError BufferStream CachingPool CapturedException CartesianIndex CartesianRange Cchar Cdouble Cfloat Channel Char Cint Cintmax_t Clong Clonglong ClusterManager Cmd CodeInfo Colon Complex Complex128 Complex32 Complex64 CompositeException Condition ConjArray ConjMatrix ConjVector Cptrdiff_t Cshort Csize_t Cssize_t Cstring Cuchar Cuint Cuintmax_t Culong Culonglong Cushort Cwchar_t Cwstring DataType Date DateFormat DateTime DenseArray DenseMatrix DenseVecOrMat DenseVector Diagonal Dict DimensionMismatch Dims DirectIndexString Display DivideError DomainError EOFError EachLine Enum Enumerate ErrorException Exception ExponentialBackOff Expr Factorization FileMonitor Float16 Float32 Float64 Function Future GlobalRef GotoNode HTML Hermitian IO IOBuffer IOContext IOStream IPAddr IPv4 IPv6 IndexCartesian IndexLinear IndexStyle InexactError InitError Int Int128 Int16 Int32 Int64 Int8 IntSet Integer InterruptException InvalidStateException Irrational KeyError LabelNode LinSpace LineNumberNode LoadError LowerTriangular MIME Matrix MersenneTwister Method MethodError MethodTable Module NTuple NewvarNode NullException Nullable Number ObjectIdDict OrdinalRange OutOfMemoryError OverflowError Pair ParseError PartialQuickSort PermutedDimsArray Pipe PollingFileWatcher ProcessExitedException Ptr QuoteNode RandomDevice Range RangeIndex Rational RawFD ReadOnlyMemoryError Real ReentrantLock Ref Regex RegexMatch RemoteChannel RemoteException RevString RoundingMode RowVector SSAValue SegmentationFault SerializationState Set SharedArray SharedMatrix SharedVector Signed SimpleVector Slot SlotNumber SparseMatrixCSC SparseVector StackFrame StackOverflowError StackTrace StepRange StepRangeLen StridedArray StridedMatrix StridedVecOrMat StridedVector String SubArray SubString SymTridiagonal Symbol Symmetric SystemError TCPSocket Task Text TextDisplay Timer Tridiagonal Tuple Type TypeError TypeMapEntry TypeMapLevel TypeName TypeVar TypedSlot UDPSocket UInt UInt128 UInt16 UInt32 UInt64 UInt8 UndefRefError UndefVarError UnicodeError UniformScaling Union UnionAll UnitRange Unsigned UpperTriangular Val Vararg VecElement VecOrMat Vector VersionNumber Void WeakKeyDict WeakRef WorkerConfig WorkerPool "},a="[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*",r={lexemes:a,keywords:t,illegal:/<\//},i={className:"number",begin:/(\b0x[\d_]*(\.[\d_]*)?|0x\.\d[\d_]*)p[-+]?\d+|\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\b\d[\d_]*(\.[\d_]*)?|\.\d[\d_]*)([eEfF][-+]?\d+)?/,relevance:0},s={className:"string",begin:/'(.|\\[xXuU][a-zA-Z0-9]+)'/},n={className:"subst",begin:/\$\(/,end:/\)/,keywords:t},o={className:"variable",begin:"\\$"+a},l={className:"string",contains:[e.BACKSLASH_ESCAPE,n,o],variants:[{begin:/\w*"""/,end:/"""\w*/,relevance:10},{begin:/\w*"/,end:/"\w*/}]},c={className:"string",contains:[e.BACKSLASH_ESCAPE,n,o],begin:"`",end:"`"},d={className:"meta",begin:"@"+a},_={className:"comment",variants:[{begin:"#=",end:"=#",relevance:10},{begin:"#",end:"$"}]};return r.contains=[i,s,l,c,d,_,e.HASH_COMMENT_MODE,{className:"keyword",begin:"\\b(((abstract|primitive)\\s+)type|(mutable\\s+)?struct)\\b"},{begin:/<:/}],n.contains=r.contains,r}},{name:"kotlin",create:function(e){var t={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual trait volatile transient native default",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},a={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},r={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},i={className:"subst",begin:"\\${",end:"}",contains:[e.APOS_STRING_MODE,e.C_NUMBER_MODE]},s={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},n={className:"string",variants:[{begin:'"""',end:'"""',contains:[s,i]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,s,i]}]},o={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},l={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(n,{className:"meta-string"})]}]},c={className:"number",begin:"\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?|\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))([eE][-+]?\\d+)?)[lLfF]?",relevance:0},d=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),_={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},m=_;return m.variants[1].contains=[_],_.variants[1].contains=[m],{aliases:["kt"],keywords:t,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,d,a,r,o,l,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:t,illegal:/fun\s+(<.*>)?[^\s\(]+(\s+[^\s\(]+)\s*=/,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin:/</,end:/>/,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:t,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[_,e.C_LINE_COMMENT_MODE,d],relevance:0},e.C_LINE_COMMENT_MODE,d,o,l,n,e.C_NUMBER_MODE]},d]},{className:"class",beginKeywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},e.UNDERSCORE_TITLE_MODE,{className:"type",begin:/</,end:/>/,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,]|$/,excludeBegin:!0,returnEnd:!0},o,l]},n,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:"\n"},c]}}},{name:"lasso",create:function(e){var t={literal:"true false none minimal full all void and or not bw nbw ew new cn ncn lt lte gt gte eq neq rx nrx ft",built_in:"array date decimal duration integer map pair string tag xml null boolean bytes keyword list locale queue set stack staticarray local var variable global data self inherited currentcapture givenblock",keyword:"cache database_names database_schemanames database_tablenames define_tag define_type email_batch encode_set html_comment handle handle_error header if inline iterate ljax_target link link_currentaction link_currentgroup link_currentrecord link_detail link_firstgroup link_firstrecord link_lastgroup link_lastrecord link_nextgroup link_nextrecord link_prevgroup link_prevrecord log loop namespace_using output_none portal private protect records referer referrer repeating resultset rows search_args search_arguments select sort_args sort_arguments thread_atomic value_list while abort case else fail_if fail_ifnot fail if_empty if_false if_null if_true loop_abort loop_continue loop_count params params_up return return_value run_children soap_definetag soap_lastrequest soap_lastresponse tag_name ascending average by define descending do equals frozen group handle_failure import in into join let match max min on order parent protected provide public require returnhome skip split_thread sum take thread to trait type where with yield yieldhome"},a=e.COMMENT("\x3c!--","--\x3e",{relevance:0}),r={className:"meta",begin:"\\[noprocess\\]",starts:{end:"\\[/noprocess\\]",returnEnd:!0,contains:[a]}},i={className:"meta",begin:"\\[/noprocess|<\\?(lasso(script)?|=)"},s={className:"symbol",begin:"'[a-zA-Z_][\\w.]*'"},n=[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.inherit(e.C_NUMBER_MODE,{begin:e.C_NUMBER_RE+"|(-?infinity|NaN)\\b"}),e.inherit(e.APOS_STRING_MODE,{illegal:null}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),{className:"string",begin:"`",end:"`"},{variants:[{begin:"[#$][a-zA-Z_][\\w.]*"},{begin:"#",end:"\\d+",illegal:"\\W"}]},{className:"type",begin:"::\\s*",end:"[a-zA-Z_][\\w.]*",illegal:"\\W"},{className:"params",variants:[{begin:"-(?!infinity)[a-zA-Z_][\\w.]*",relevance:0},{begin:"(\\.\\.\\.)"}]},{begin:/(->|\.)\s*/,relevance:0,contains:[s]},{className:"class",beginKeywords:"define",returnEnd:!0,end:"\\(|=>",contains:[e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z_][\\w.]*(=(?!>))?|[-+*/%](?!>)"})]}];return{aliases:["ls","lassoscript"],case_insensitive:!0,lexemes:"[a-zA-Z_][\\w.]*|&[lg]t;",keywords:t,contains:[{className:"meta",begin:"\\]|\\?>",relevance:0,starts:{end:"\\[|<\\?(lasso(script)?|=)",returnEnd:!0,relevance:0,contains:[a]}},r,i,{className:"meta",begin:"\\[no_square_brackets",starts:{end:"\\[/no_square_brackets\\]",lexemes:"[a-zA-Z_][\\w.]*|&[lg]t;",keywords:t,contains:[{className:"meta",begin:"\\]|\\?>",relevance:0,starts:{end:"\\[noprocess\\]|<\\?(lasso(script)?|=)",returnEnd:!0,contains:[a]}},r,i].concat(n)}},{className:"meta",begin:"\\[",relevance:0},{className:"meta",begin:"^#!",end:"lasso9$",relevance:10}].concat(n)}}},{name:"ldif",create:function(e){return{contains:[{className:"attribute",begin:"^dn",end:": ",excludeEnd:!0,starts:{end:"$",relevance:0},relevance:10},{className:"attribute",begin:"^\\w",end:": ",excludeEnd:!0,starts:{end:"$",relevance:0}},{className:"literal",begin:"^-",end:"$"},e.HASH_COMMENT_MODE]}}},{name:"leaf",create:function(e){return{contains:[{className:"function",begin:"#+[A-Za-z_0-9]*\\(",end:" {",returnBegin:!0,excludeEnd:!0,contains:[{className:"keyword",begin:"#+"},{className:"title",begin:"[A-Za-z_][A-Za-z_0-9]*"},{className:"params",begin:"\\(",end:"\\)",endsParent:!0,contains:[{className:"string",begin:'"',end:'"'},{className:"variable",begin:"[A-Za-z_][A-Za-z_0-9]*"}]}]}]}}},{name:"less",create:function(e){var t="([\\w-]+|@{[\\w-]+})",a=[],r=[],i=function(e){return{className:"string",begin:"~?"+e+".*?"+e}},s=function(e,t,a){return{className:e,begin:t,relevance:a}},n={begin:"\\(",end:"\\)",contains:r,relevance:0};r.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,i("'"),i('"'),e.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},s("number","#[0-9A-Fa-f]+\\b"),n,s("variable","@@?[\\w-]+",10),s("variable","@{[\\w-]+}"),s("built_in","~?`[^`]*?`"),{className:"attribute",begin:"[\\w-]+\\s*:",end:":",returnBegin:!0,excludeEnd:!0},{className:"meta",begin:"!important"});var o=r.concat({begin:"{",end:"}",contains:a}),l={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(r)},c={begin:t+"\\s*:",returnBegin:!0,end:"[;}]",relevance:0,contains:[{className:"attribute",begin:t,end:":",excludeEnd:!0,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:r}}]},d={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",returnEnd:!0,contains:r,relevance:0}},_={className:"variable",variants:[{begin:"@[\\w-]+\\s*:",relevance:15},{begin:"@[\\w-]+"}],starts:{end:"[;}]",returnEnd:!0,contains:o}},m={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:t,end:"{"}],returnBegin:!0,returnEnd:!0,illegal:"[<='$\"]",relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,l,s("keyword","all\\b"),s("variable","@{[\\w-]+}"),s("selector-tag",t+"%?",0),s("selector-id","#"+t),s("selector-class","\\."+t,0),s("selector-tag","&",0),{className:"selector-attr",begin:"\\[",end:"\\]"},{className:"selector-pseudo",begin:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{begin:"\\(",end:"\\)",contains:o},{begin:"!important"}]};return a.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,d,_,c,m),{case_insensitive:!0,illegal:"[=>'/<($\"]",contains:a}}},{name:"lisp",create:function(e){var t="[a-zA-Z_\\-\\+\\*\\/\\<\\=\\>\\&\\#][a-zA-Z0-9_\\-\\+\\*\\/\\<\\=\\>\\&\\#!]*",a="(\\-|\\+)?\\d+(\\.\\d+|\\/\\d+)?((d|e|f|l|s|D|E|F|L|S)(\\+|\\-)?\\d+)?",r={className:"meta",begin:"^#!",end:"$"},i={className:"literal",begin:"\\b(t{1}|nil)\\b"},s={className:"number",variants:[{begin:a,relevance:0},{begin:"#(b|B)[0-1]+(/[0-1]+)?"},{begin:"#(o|O)[0-7]+(/[0-7]+)?"},{begin:"#(x|X)[0-9a-fA-F]+(/[0-9a-fA-F]+)?"},{begin:"#(c|C)\\("+a+" +"+a,end:"\\)"}]},n=e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),o=e.COMMENT(";","$",{relevance:0}),l={begin:"\\*",end:"\\*"},c={className:"symbol",begin:"[:&]"+t},d={begin:t,relevance:0},_={begin:"\\|[^]*?\\|"},m={begin:"\\(",end:"\\)",contains:["self",i,n,s,d]},u={contains:[s,n,l,c,m,d],variants:[{begin:"['`]\\(",end:"\\)"},{begin:"\\(quote ",end:"\\)",keywords:{name:"quote"}},{begin:"'\\|[^]*?\\|"}]},p={variants:[{begin:"'"+t},{begin:"#'"+t+"(::"+t+")*"}]},h={begin:"\\(\\s*",end:"\\)"},g={endsWithParent:!0,relevance:0};return h.contains=[{className:"name",variants:[{begin:t},{begin:"\\|[^]*?\\|"}]},g],g.contains=[u,p,h,i,s,n,o,l,c,_,d],{illegal:/\S/,contains:[s,r,i,n,o,u,p,h,d]}}},{name:"livecodeserver",create:function(e){var t={className:"variable",variants:[{begin:"\\b([gtps][A-Z]{1}[a-zA-Z0-9]*)(\\[.+\\])?(?:\\s*?)"},{begin:"\\$_[A-Z]+"}],relevance:0},a=[e.C_BLOCK_COMMENT_MODE,e.HASH_COMMENT_MODE,e.COMMENT("--","$"),e.COMMENT("[^:]//","$")],r=e.inherit(e.TITLE_MODE,{variants:[{begin:"\\b_*rig[A-Z]+[A-Za-z0-9_\\-]*"},{begin:"\\b_[a-z0-9\\-]+"}]}),i=e.inherit(e.TITLE_MODE,{begin:"\\b([A-Za-z0-9_\\-]+)\\b"});return{case_insensitive:!1,keywords:{keyword:"$_COOKIE $_FILES $_GET $_GET_BINARY $_GET_RAW $_POST $_POST_BINARY $_POST_RAW $_SESSION $_SERVER codepoint codepoints segment segments codeunit codeunits sentence sentences trueWord trueWords paragraph after byte bytes english the until http forever descending using line real8 with seventh for stdout finally element word words fourth before black ninth sixth characters chars stderr uInt1 uInt1s uInt2 uInt2s stdin string lines relative rel any fifth items from middle mid at else of catch then third it file milliseconds seconds second secs sec int1 int1s int4 int4s internet int2 int2s normal text item last long detailed effective uInt4 uInt4s repeat end repeat URL in try into switch to words https token binfile each tenth as ticks tick system real4 by dateItems without char character ascending eighth whole dateTime numeric short first ftp integer abbreviated abbr abbrev private case while if div mod wrap and or bitAnd bitNot bitOr bitXor among not in a an within contains ends with begins the keys of keys",literal:"SIX TEN FORMFEED NINE ZERO NONE SPACE FOUR FALSE COLON CRLF PI COMMA ENDOFFILE EOF EIGHT FIVE QUOTE EMPTY ONE TRUE RETURN CR LINEFEED RIGHT BACKSLASH NULL SEVEN TAB THREE TWO six ten formfeed nine zero none space four false colon crlf pi comma endoffile eof eight five quote empty one true return cr linefeed right backslash null seven tab three two RIVERSION RISTATE FILE_READ_MODE FILE_WRITE_MODE FILE_WRITE_MODE DIR_WRITE_MODE FILE_READ_UMASK FILE_WRITE_UMASK DIR_READ_UMASK DIR_WRITE_UMASK", +built_in:"put abs acos aliasReference annuity arrayDecode arrayEncode asin atan atan2 average avg avgDev base64Decode base64Encode baseConvert binaryDecode binaryEncode byteOffset byteToNum cachedURL cachedURLs charToNum cipherNames codepointOffset codepointProperty codepointToNum codeunitOffset commandNames compound compress constantNames cos date dateFormat decompress difference directories diskSpace DNSServers exp exp1 exp2 exp10 extents files flushEvents folders format functionNames geometricMean global globals hasMemory harmonicMean hostAddress hostAddressToName hostName hostNameToAddress isNumber ISOToMac itemOffset keys len length libURLErrorData libUrlFormData libURLftpCommand libURLLastHTTPHeaders libURLLastRHHeaders libUrlMultipartFormAddPart libUrlMultipartFormData libURLVersion lineOffset ln ln1 localNames log log2 log10 longFilePath lower macToISO matchChunk matchText matrixMultiply max md5Digest median merge messageAuthenticationCode messageDigest millisec millisecs millisecond milliseconds min monthNames nativeCharToNum normalizeText num number numToByte numToChar numToCodepoint numToNativeChar offset open openfiles openProcesses openProcessIDs openSockets paragraphOffset paramCount param params peerAddress pendingMessages platform popStdDev populationStandardDeviation populationVariance popVariance processID random randomBytes replaceText result revCreateXMLTree revCreateXMLTreeFromFile revCurrentRecord revCurrentRecordIsFirst revCurrentRecordIsLast revDatabaseColumnCount revDatabaseColumnIsNull revDatabaseColumnLengths revDatabaseColumnNames revDatabaseColumnNamed revDatabaseColumnNumbered revDatabaseColumnTypes revDatabaseConnectResult revDatabaseCursors revDatabaseID revDatabaseTableNames revDatabaseType revDataFromQuery revdb_closeCursor revdb_columnbynumber revdb_columncount revdb_columnisnull revdb_columnlengths revdb_columnnames revdb_columntypes revdb_commit revdb_connect revdb_connections revdb_connectionerr revdb_currentrecord revdb_cursorconnection revdb_cursorerr revdb_cursors revdb_dbtype revdb_disconnect revdb_execute revdb_iseof revdb_isbof revdb_movefirst revdb_movelast revdb_movenext revdb_moveprev revdb_query revdb_querylist revdb_recordcount revdb_rollback revdb_tablenames revGetDatabaseDriverPath revNumberOfRecords revOpenDatabase revOpenDatabases revQueryDatabase revQueryDatabaseBlob revQueryResult revQueryIsAtStart revQueryIsAtEnd revUnixFromMacPath revXMLAttribute revXMLAttributes revXMLAttributeValues revXMLChildContents revXMLChildNames revXMLCreateTreeFromFileWithNamespaces revXMLCreateTreeWithNamespaces revXMLDataFromXPathQuery revXMLEvaluateXPath revXMLFirstChild revXMLMatchingNode revXMLNextSibling revXMLNodeContents revXMLNumberOfChildren revXMLParent revXMLPreviousSibling revXMLRootNode revXMLRPC_CreateRequest revXMLRPC_Documents revXMLRPC_Error revXMLRPC_GetHost revXMLRPC_GetMethod revXMLRPC_GetParam revXMLText revXMLRPC_Execute revXMLRPC_GetParamCount revXMLRPC_GetParamNode revXMLRPC_GetParamType revXMLRPC_GetPath revXMLRPC_GetPort revXMLRPC_GetProtocol revXMLRPC_GetRequest revXMLRPC_GetResponse revXMLRPC_GetSocket revXMLTree revXMLTrees revXMLValidateDTD revZipDescribeItem revZipEnumerateItems revZipOpenArchives round sampVariance sec secs seconds sentenceOffset sha1Digest shell shortFilePath sin specialFolderPath sqrt standardDeviation statRound stdDev sum sysError systemVersion tan tempName textDecode textEncode tick ticks time to tokenOffset toLower toUpper transpose truewordOffset trunc uniDecode uniEncode upper URLDecode URLEncode URLStatus uuid value variableNames variance version waitDepth weekdayNames wordOffset xsltApplyStylesheet xsltApplyStylesheetFromFile xsltLoadStylesheet xsltLoadStylesheetFromFile add breakpoint cancel clear local variable file word line folder directory URL close socket process combine constant convert create new alias folder directory decrypt delete variable word line folder directory URL dispatch divide do encrypt filter get include intersect kill libURLDownloadToFile libURLFollowHttpRedirects libURLftpUpload libURLftpUploadFile libURLresetAll libUrlSetAuthCallback libURLSetDriver libURLSetCustomHTTPHeaders libUrlSetExpect100 libURLSetFTPListCommand libURLSetFTPMode libURLSetFTPStopTime libURLSetStatusCallback load extension loadedExtensions multiply socket prepare process post seek rel relative read from process rename replace require resetAll resolve revAddXMLNode revAppendXML revCloseCursor revCloseDatabase revCommitDatabase revCopyFile revCopyFolder revCopyXMLNode revDeleteFolder revDeleteXMLNode revDeleteAllXMLTrees revDeleteXMLTree revExecuteSQL revGoURL revInsertXMLNode revMoveFolder revMoveToFirstRecord revMoveToLastRecord revMoveToNextRecord revMoveToPreviousRecord revMoveToRecord revMoveXMLNode revPutIntoXMLNode revRollBackDatabase revSetDatabaseDriverPath revSetXMLAttribute revXMLRPC_AddParam revXMLRPC_DeleteAllDocuments revXMLAddDTD revXMLRPC_Free revXMLRPC_FreeAll revXMLRPC_DeleteDocument revXMLRPC_DeleteParam revXMLRPC_SetHost revXMLRPC_SetMethod revXMLRPC_SetPort revXMLRPC_SetProtocol revXMLRPC_SetSocket revZipAddItemWithData revZipAddItemWithFile revZipAddUncompressedItemWithData revZipAddUncompressedItemWithFile revZipCancel revZipCloseArchive revZipDeleteItem revZipExtractItemToFile revZipExtractItemToVariable revZipSetProgressCallback revZipRenameItem revZipReplaceItemWithData revZipReplaceItemWithFile revZipOpenArchive send set sort split start stop subtract symmetric union unload vectorDotProduct wait write"},contains:[t,{className:"keyword",begin:"\\bend\\sif\\b"},{className:"function",beginKeywords:"function",end:"$",contains:[t,i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.BINARY_NUMBER_MODE,e.C_NUMBER_MODE,r]},{className:"function",begin:"\\bend\\s+",end:"$",keywords:"end",contains:[i,r],relevance:0},{beginKeywords:"command on",end:"$",contains:[t,i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.BINARY_NUMBER_MODE,e.C_NUMBER_MODE,r]},{className:"meta",variants:[{begin:"<\\?(rev|lc|livecode)",relevance:10},{begin:"<\\?"},{begin:"\\?>"}]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.BINARY_NUMBER_MODE,e.C_NUMBER_MODE,r].concat(a),illegal:";$|^\\[|^=|&|{"}}},{name:"livescript",create:function(e){var t={keyword:"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger case default function var with then unless until loop of by when and or is isnt not it that otherwise from to til fallthrough super case default function var void const let enum export import native __hasProp __extends __slice __bind __indexOf",literal:"true false null undefined yes no on off it that void",built_in:"npm require console print module global window document"},a="[A-Za-z$_](?:-[0-9A-Za-z$_]|[0-9A-Za-z$_])*",r=e.inherit(e.TITLE_MODE,{begin:a}),i={className:"subst",begin:/#\{/,end:/}/,keywords:t},s={className:"subst",begin:/#[A-Za-z$_]/,end:/(?:\-[0-9A-Za-z$_]|[0-9A-Za-z$_])*/,keywords:t},n=[e.BINARY_NUMBER_MODE,{className:"number",begin:"(\\b0[xX][a-fA-F0-9_]+)|(\\b\\d(\\d|_\\d)*(\\.(\\d(\\d|_\\d)*)?)?(_*[eE]([-+]\\d(_\\d|\\d)*)?)?[_a-z]*)",relevance:0,starts:{end:"(\\s*/)?",relevance:0}},{className:"string",variants:[{begin:/'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE]},{begin:/'/,end:/'/,contains:[e.BACKSLASH_ESCAPE]},{begin:/"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,i,s]},{begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,i,s]},{begin:/\\/,end:/(\s|$)/,excludeEnd:!0}]},{className:"regexp",variants:[{begin:"//",end:"//[gim]*",contains:[i,e.HASH_COMMENT_MODE]},{begin:/\/(?![ *])(\\\/|.)*?\/[gim]*(?=\W|$)/}]},{begin:"@"+a},{begin:"``",end:"``",excludeBegin:!0,excludeEnd:!0,subLanguage:"javascript"}];i.contains=n;var o={className:"params",begin:"\\(",returnBegin:!0,contains:[{begin:/\(/,end:/\)/,keywords:t,contains:["self"].concat(n)}]};return{aliases:["ls"],keywords:t,illegal:/\/\*/,contains:n.concat([e.COMMENT("\\/\\*","\\*\\/"),e.HASH_COMMENT_MODE,{className:"function",contains:[r,o],returnBegin:!0,variants:[{begin:"("+a+"\\s*(?:=|:=)\\s*)?(\\(.*\\))?\\s*\\B\\->\\*?",end:"\\->\\*?"},{begin:"("+a+"\\s*(?:=|:=)\\s*)?!?(\\(.*\\))?\\s*\\B[-~]{1,2}>\\*?",end:"[-~]{1,2}>\\*?"},{begin:"("+a+"\\s*(?:=|:=)\\s*)?(\\(.*\\))?\\s*\\B!?[-~]{1,2}>\\*?",end:"!?[-~]{1,2}>\\*?"}]},{className:"class",beginKeywords:"class",end:"$",illegal:/[:="\[\]]/,contains:[{beginKeywords:"extends",endsWithParent:!0,illegal:/[:="\[\]]/,contains:[r]},r]},{begin:a+":",end:":",returnBegin:!0,returnEnd:!0,relevance:0}])}}},{name:"llvm",create:function(e){var t="([-a-zA-Z$._][\\w\\-$.]*)";return{keywords:"begin end true false declare define global constant private linker_private internal available_externally linkonce linkonce_odr weak weak_odr appending dllimport dllexport common default hidden protected extern_weak external thread_local zeroinitializer undef null to tail target triple datalayout volatile nuw nsw nnan ninf nsz arcp fast exact inbounds align addrspace section alias module asm sideeffect gc dbg linker_private_weak attributes blockaddress initialexec localdynamic localexec prefix unnamed_addr ccc fastcc coldcc x86_stdcallcc x86_fastcallcc arm_apcscc arm_aapcscc arm_aapcs_vfpcc ptx_device ptx_kernel intel_ocl_bicc msp430_intrcc spir_func spir_kernel x86_64_sysvcc x86_64_win64cc x86_thiscallcc cc c signext zeroext inreg sret nounwind noreturn noalias nocapture byval nest readnone readonly inlinehint noinline alwaysinline optsize ssp sspreq noredzone noimplicitfloat naked builtin cold nobuiltin noduplicate nonlazybind optnone returns_twice sanitize_address sanitize_memory sanitize_thread sspstrong uwtable returned type opaque eq ne slt sgt sle sge ult ugt ule uge oeq one olt ogt ole oge ord uno ueq une x acq_rel acquire alignstack atomic catch cleanup filter inteldialect max min monotonic nand personality release seq_cst singlethread umax umin unordered xchg add fadd sub fsub mul fmul udiv sdiv fdiv urem srem frem shl lshr ashr and or xor icmp fcmp phi call trunc zext sext fptrunc fpext uitofp sitofp fptoui fptosi inttoptr ptrtoint bitcast addrspacecast select va_arg ret br switch invoke unwind unreachable indirectbr landingpad resume malloc alloca free load store getelementptr extractelement insertelement shufflevector getresult extractvalue insertvalue atomicrmw cmpxchg fence argmemonly double",contains:[{className:"keyword",begin:"i\\d+"},e.COMMENT(";","\\n",{relevance:0}),e.QUOTE_STRING_MODE,{className:"string",variants:[{begin:'"',end:'[^\\\\]"'}],relevance:0},{className:"title",variants:[{begin:"@"+t},{begin:"@\\d+"},{begin:"!"+t},{begin:"!\\d+"+t}]},{className:"symbol",variants:[{begin:"%"+t},{begin:"%\\d+"},{begin:"#\\d+"}]},{className:"number",variants:[{begin:"0[xX][a-fA-F0-9]+"},{begin:"-?\\d+(?:[.]\\d+)?(?:[eE][-+]?\\d+(?:[.]\\d+)?)?"}],relevance:0}]}}},{name:"lsl",create:function(e){var t={className:"subst",begin:/\\[tn"\\]/},a={className:"string",begin:'"',end:'"',contains:[t]},r={className:"number",begin:e.C_NUMBER_RE},i={className:"literal",variants:[{begin:"\\b(?:PI|TWO_PI|PI_BY_TWO|DEG_TO_RAD|RAD_TO_DEG|SQRT2)\\b"},{begin:"\\b(?:XP_ERROR_(?:EXPERIENCES_DISABLED|EXPERIENCE_(?:DISABLED|SUSPENDED)|INVALID_(?:EXPERIENCE|PARAMETERS)|KEY_NOT_FOUND|MATURITY_EXCEEDED|NONE|NOT_(?:FOUND|PERMITTED(?:_LAND)?)|NO_EXPERIENCE|QUOTA_EXCEEDED|RETRY_UPDATE|STORAGE_EXCEPTION|STORE_DISABLED|THROTTLED|UNKNOWN_ERROR)|JSON_APPEND|STATUS_(?:PHYSICS|ROTATE_[XYZ]|PHANTOM|SANDBOX|BLOCK_GRAB(?:_OBJECT)?|(?:DIE|RETURN)_AT_EDGE|CAST_SHADOWS|OK|MALFORMED_PARAMS|TYPE_MISMATCH|BOUNDS_ERROR|NOT_(?:FOUND|SUPPORTED)|INTERNAL_ERROR|WHITELIST_FAILED)|AGENT(?:_(?:BY_(?:LEGACY_|USER)NAME|FLYING|ATTACHMENTS|SCRIPTED|MOUSELOOK|SITTING|ON_OBJECT|AWAY|WALKING|IN_AIR|TYPING|CROUCHING|BUSY|ALWAYS_RUN|AUTOPILOT|LIST_(?:PARCEL(?:_OWNER)?|REGION)))?|CAMERA_(?:PITCH|DISTANCE|BEHINDNESS_(?:ANGLE|LAG)|(?:FOCUS|POSITION)(?:_(?:THRESHOLD|LOCKED|LAG))?|FOCUS_OFFSET|ACTIVE)|ANIM_ON|LOOP|REVERSE|PING_PONG|SMOOTH|ROTATE|SCALE|ALL_SIDES|LINK_(?:ROOT|SET|ALL_(?:OTHERS|CHILDREN)|THIS)|ACTIVE|PASS(?:IVE|_(?:ALWAYS|IF_NOT_HANDLED|NEVER))|SCRIPTED|CONTROL_(?:FWD|BACK|(?:ROT_)?(?:LEFT|RIGHT)|UP|DOWN|(?:ML_)?LBUTTON)|PERMISSION_(?:RETURN_OBJECTS|DEBIT|OVERRIDE_ANIMATIONS|SILENT_ESTATE_MANAGEMENT|TAKE_CONTROLS|TRIGGER_ANIMATION|ATTACH|CHANGE_LINKS|(?:CONTROL|TRACK)_CAMERA|TELEPORT)|INVENTORY_(?:TEXTURE|SOUND|OBJECT|SCRIPT|LANDMARK|CLOTHING|NOTECARD|BODYPART|ANIMATION|GESTURE|ALL|NONE)|CHANGED_(?:INVENTORY|COLOR|SHAPE|SCALE|TEXTURE|LINK|ALLOWED_DROP|OWNER|REGION(?:_START)?|TELEPORT|MEDIA)|OBJECT_(?:CLICK_ACTION|HOVER_HEIGHT|LAST_OWNER_ID|(?:PHYSICS|SERVER|STREAMING)_COST|UNKNOWN_DETAIL|CHARACTER_TIME|PHANTOM|PHYSICS|TEMP_ON_REZ|NAME|DESC|POS|PRIM_(?:COUNT|EQUIVALENCE)|RETURN_(?:PARCEL(?:_OWNER)?|REGION)|REZZER_KEY|ROO?T|VELOCITY|OMEGA|OWNER|GROUP|CREATOR|ATTACHED_POINT|RENDER_WEIGHT|(?:BODY_SHAPE|PATHFINDING)_TYPE|(?:RUNNING|TOTAL)_SCRIPT_COUNT|TOTAL_INVENTORY_COUNT|SCRIPT_(?:MEMORY|TIME))|TYPE_(?:INTEGER|FLOAT|STRING|KEY|VECTOR|ROTATION|INVALID)|(?:DEBUG|PUBLIC)_CHANNEL|ATTACH_(?:AVATAR_CENTER|CHEST|HEAD|BACK|PELVIS|MOUTH|CHIN|NECK|NOSE|BELLY|[LR](?:SHOULDER|HAND|FOOT|EAR|EYE|[UL](?:ARM|LEG)|HIP)|(?:LEFT|RIGHT)_PEC|HUD_(?:CENTER_[12]|TOP_(?:RIGHT|CENTER|LEFT)|BOTTOM(?:_(?:RIGHT|LEFT))?)|[LR]HAND_RING1|TAIL_(?:BASE|TIP)|[LR]WING|FACE_(?:JAW|[LR]EAR|[LR]EYE|TOUNGE)|GROIN|HIND_[LR]FOOT)|LAND_(?:LEVEL|RAISE|LOWER|SMOOTH|NOISE|REVERT)|DATA_(?:ONLINE|NAME|BORN|SIM_(?:POS|STATUS|RATING)|PAYINFO)|PAYMENT_INFO_(?:ON_FILE|USED)|REMOTE_DATA_(?:CHANNEL|REQUEST|REPLY)|PSYS_(?:PART_(?:BF_(?:ZERO|ONE(?:_MINUS_(?:DEST_COLOR|SOURCE_(ALPHA|COLOR)))?|DEST_COLOR|SOURCE_(ALPHA|COLOR))|BLEND_FUNC_(DEST|SOURCE)|FLAGS|(?:START|END)_(?:COLOR|ALPHA|SCALE|GLOW)|MAX_AGE|(?:RIBBON|WIND|INTERP_(?:COLOR|SCALE)|BOUNCE|FOLLOW_(?:SRC|VELOCITY)|TARGET_(?:POS|LINEAR)|EMISSIVE)_MASK)|SRC_(?:MAX_AGE|PATTERN|ANGLE_(?:BEGIN|END)|BURST_(?:RATE|PART_COUNT|RADIUS|SPEED_(?:MIN|MAX))|ACCEL|TEXTURE|TARGET_KEY|OMEGA|PATTERN_(?:DROP|EXPLODE|ANGLE(?:_CONE(?:_EMPTY)?)?)))|VEHICLE_(?:REFERENCE_FRAME|TYPE_(?:NONE|SLED|CAR|BOAT|AIRPLANE|BALLOON)|(?:LINEAR|ANGULAR)_(?:FRICTION_TIMESCALE|MOTOR_DIRECTION)|LINEAR_MOTOR_OFFSET|HOVER_(?:HEIGHT|EFFICIENCY|TIMESCALE)|BUOYANCY|(?:LINEAR|ANGULAR)_(?:DEFLECTION_(?:EFFICIENCY|TIMESCALE)|MOTOR_(?:DECAY_)?TIMESCALE)|VERTICAL_ATTRACTION_(?:EFFICIENCY|TIMESCALE)|BANKING_(?:EFFICIENCY|MIX|TIMESCALE)|FLAG_(?:NO_DEFLECTION_UP|LIMIT_(?:ROLL_ONLY|MOTOR_UP)|HOVER_(?:(?:WATER|TERRAIN|UP)_ONLY|GLOBAL_HEIGHT)|MOUSELOOK_(?:STEER|BANK)|CAMERA_DECOUPLED))|PRIM_(?:ALPHA_MODE(?:_(?:BLEND|EMISSIVE|MASK|NONE))?|NORMAL|SPECULAR|TYPE(?:_(?:BOX|CYLINDER|PRISM|SPHERE|TORUS|TUBE|RING|SCULPT))?|HOLE_(?:DEFAULT|CIRCLE|SQUARE|TRIANGLE)|MATERIAL(?:_(?:STONE|METAL|GLASS|WOOD|FLESH|PLASTIC|RUBBER))?|SHINY_(?:NONE|LOW|MEDIUM|HIGH)|BUMP_(?:NONE|BRIGHT|DARK|WOOD|BARK|BRICKS|CHECKER|CONCRETE|TILE|STONE|DISKS|GRAVEL|BLOBS|SIDING|LARGETILE|STUCCO|SUCTION|WEAVE)|TEXGEN_(?:DEFAULT|PLANAR)|SCULPT_(?:TYPE_(?:SPHERE|TORUS|PLANE|CYLINDER|MASK)|FLAG_(?:MIRROR|INVERT))|PHYSICS(?:_(?:SHAPE_(?:CONVEX|NONE|PRIM|TYPE)))?|(?:POS|ROT)_LOCAL|SLICE|TEXT|FLEXIBLE|POINT_LIGHT|TEMP_ON_REZ|PHANTOM|POSITION|SIZE|ROTATION|TEXTURE|NAME|OMEGA|DESC|LINK_TARGET|COLOR|BUMP_SHINY|FULLBRIGHT|TEXGEN|GLOW|MEDIA_(?:ALT_IMAGE_ENABLE|CONTROLS|(?:CURRENT|HOME)_URL|AUTO_(?:LOOP|PLAY|SCALE|ZOOM)|FIRST_CLICK_INTERACT|(?:WIDTH|HEIGHT)_PIXELS|WHITELIST(?:_ENABLE)?|PERMS_(?:INTERACT|CONTROL)|PARAM_MAX|CONTROLS_(?:STANDARD|MINI)|PERM_(?:NONE|OWNER|GROUP|ANYONE)|MAX_(?:URL_LENGTH|WHITELIST_(?:SIZE|COUNT)|(?:WIDTH|HEIGHT)_PIXELS)))|MASK_(?:BASE|OWNER|GROUP|EVERYONE|NEXT)|PERM_(?:TRANSFER|MODIFY|COPY|MOVE|ALL)|PARCEL_(?:MEDIA_COMMAND_(?:STOP|PAUSE|PLAY|LOOP|TEXTURE|URL|TIME|AGENT|UNLOAD|AUTO_ALIGN|TYPE|SIZE|DESC|LOOP_SET)|FLAG_(?:ALLOW_(?:FLY|(?:GROUP_)?SCRIPTS|LANDMARK|TERRAFORM|DAMAGE|CREATE_(?:GROUP_)?OBJECTS)|USE_(?:ACCESS_(?:GROUP|LIST)|BAN_LIST|LAND_PASS_LIST)|LOCAL_SOUND_ONLY|RESTRICT_PUSHOBJECT|ALLOW_(?:GROUP|ALL)_OBJECT_ENTRY)|COUNT_(?:TOTAL|OWNER|GROUP|OTHER|SELECTED|TEMP)|DETAILS_(?:NAME|DESC|OWNER|GROUP|AREA|ID|SEE_AVATARS))|LIST_STAT_(?:MAX|MIN|MEAN|MEDIAN|STD_DEV|SUM(?:_SQUARES)?|NUM_COUNT|GEOMETRIC_MEAN|RANGE)|PAY_(?:HIDE|DEFAULT)|REGION_FLAG_(?:ALLOW_DAMAGE|FIXED_SUN|BLOCK_TERRAFORM|SANDBOX|DISABLE_(?:COLLISIONS|PHYSICS)|BLOCK_FLY|ALLOW_DIRECT_TELEPORT|RESTRICT_PUSHOBJECT)|HTTP_(?:METHOD|MIMETYPE|BODY_(?:MAXLENGTH|TRUNCATED)|CUSTOM_HEADER|PRAGMA_NO_CACHE|VERBOSE_THROTTLE|VERIFY_CERT)|STRING_(?:TRIM(?:_(?:HEAD|TAIL))?)|CLICK_ACTION_(?:NONE|TOUCH|SIT|BUY|PAY|OPEN(?:_MEDIA)?|PLAY|ZOOM)|TOUCH_INVALID_FACE|PROFILE_(?:NONE|SCRIPT_MEMORY)|RC_(?:DATA_FLAGS|DETECT_PHANTOM|GET_(?:LINK_NUM|NORMAL|ROOT_KEY)|MAX_HITS|REJECT_(?:TYPES|AGENTS|(?:NON)?PHYSICAL|LAND))|RCERR_(?:CAST_TIME_EXCEEDED|SIM_PERF_LOW|UNKNOWN)|ESTATE_ACCESS_(?:ALLOWED_(?:AGENT|GROUP)_(?:ADD|REMOVE)|BANNED_AGENT_(?:ADD|REMOVE))|DENSITY|FRICTION|RESTITUTION|GRAVITY_MULTIPLIER|KFM_(?:COMMAND|CMD_(?:PLAY|STOP|PAUSE)|MODE|FORWARD|LOOP|PING_PONG|REVERSE|DATA|ROTATION|TRANSLATION)|ERR_(?:GENERIC|PARCEL_PERMISSIONS|MALFORMED_PARAMS|RUNTIME_PERMISSIONS|THROTTLED)|CHARACTER_(?:CMD_(?:(?:SMOOTH_)?STOP|JUMP)|DESIRED_(?:TURN_)?SPEED|RADIUS|STAY_WITHIN_PARCEL|LENGTH|ORIENTATION|ACCOUNT_FOR_SKIPPED_FRAMES|AVOIDANCE_MODE|TYPE(?:_(?:[ABCD]|NONE))?|MAX_(?:DECEL|TURN_RADIUS|(?:ACCEL|SPEED)))|PURSUIT_(?:OFFSET|FUZZ_FACTOR|GOAL_TOLERANCE|INTERCEPT)|REQUIRE_LINE_OF_SIGHT|FORCE_DIRECT_PATH|VERTICAL|HORIZONTAL|AVOID_(?:CHARACTERS|DYNAMIC_OBSTACLES|NONE)|PU_(?:EVADE_(?:HIDDEN|SPOTTED)|FAILURE_(?:DYNAMIC_PATHFINDING_DISABLED|INVALID_(?:GOAL|START)|NO_(?:NAVMESH|VALID_DESTINATION)|OTHER|TARGET_GONE|(?:PARCEL_)?UNREACHABLE)|(?:GOAL|SLOWDOWN_DISTANCE)_REACHED)|TRAVERSAL_TYPE(?:_(?:FAST|NONE|SLOW))?|CONTENT_TYPE_(?:ATOM|FORM|HTML|JSON|LLSD|RSS|TEXT|XHTML|XML)|GCNP_(?:RADIUS|STATIC)|(?:PATROL|WANDER)_PAUSE_AT_WAYPOINTS|OPT_(?:AVATAR|CHARACTER|EXCLUSION_VOLUME|LEGACY_LINKSET|MATERIAL_VOLUME|OTHER|STATIC_OBSTACLE|WALKABLE)|SIM_STAT_PCT_CHARS_STEPPED)\\b"},{begin:"\\b(?:FALSE|TRUE)\\b"},{begin:"\\b(?:ZERO_ROTATION)\\b"},{begin:"\\b(?:EOF|JSON_(?:ARRAY|DELETE|FALSE|INVALID|NULL|NUMBER|OBJECT|STRING|TRUE)|NULL_KEY|TEXTURE_(?:BLANK|DEFAULT|MEDIA|PLYWOOD|TRANSPARENT)|URL_REQUEST_(?:GRANTED|DENIED))\\b"},{begin:"\\b(?:ZERO_VECTOR|TOUCH_INVALID_(?:TEXCOORD|VECTOR))\\b"}]},s={className:"built_in",begin:"\\b(?:ll(?:AgentInExperience|(?:Create|DataSize|Delete|KeyCount|Keys|Read|Update)KeyValue|GetExperience(?:Details|ErrorMessage)|ReturnObjectsBy(?:ID|Owner)|Json(?:2List|[GS]etValue|ValueType)|Sin|Cos|Tan|Atan2|Sqrt|Pow|Abs|Fabs|Frand|Floor|Ceil|Round|Vec(?:Mag|Norm|Dist)|Rot(?:Between|2(?:Euler|Fwd|Left|Up))|(?:Euler|Axes)2Rot|Whisper|(?:Region|Owner)?Say|Shout|Listen(?:Control|Remove)?|Sensor(?:Repeat|Remove)?|Detected(?:Name|Key|Owner|Type|Pos|Vel|Grab|Rot|Group|LinkNumber)|Die|Ground|Wind|(?:[GS]et)(?:AnimationOverride|MemoryLimit|PrimMediaParams|ParcelMusicURL|Object(?:Desc|Name)|PhysicsMaterial|Status|Scale|Color|Alpha|Texture|Pos|Rot|Force|Torque)|ResetAnimationOverride|(?:Scale|Offset|Rotate)Texture|(?:Rot)?Target(?:Remove)?|(?:Stop)?MoveToTarget|Apply(?:Rotational)?Impulse|Set(?:KeyframedMotion|ContentType|RegionPos|(?:Angular)?Velocity|Buoyancy|HoverHeight|ForceAndTorque|TimerEvent|ScriptState|Damage|TextureAnim|Sound(?:Queueing|Radius)|Vehicle(?:Type|(?:Float|Vector|Rotation)Param)|(?:Touch|Sit)?Text|Camera(?:Eye|At)Offset|PrimitiveParams|ClickAction|Link(?:Alpha|Color|PrimitiveParams(?:Fast)?|Texture(?:Anim)?|Camera|Media)|RemoteScriptAccessPin|PayPrice|LocalRot)|ScaleByFactor|Get(?:(?:Max|Min)ScaleFactor|ClosestNavPoint|StaticPath|SimStats|Env|PrimitiveParams|Link(?:PrimitiveParams|Number(?:OfSides)?|Key|Name|Media)|HTTPHeader|FreeURLs|Object(?:Details|PermMask|PrimCount)|Parcel(?:MaxPrims|Details|Prim(?:Count|Owners))|Attached(?:List)?|(?:SPMax|Free|Used)Memory|Region(?:Name|TimeDilation|FPS|Corner|AgentCount)|Root(?:Position|Rotation)|UnixTime|(?:Parcel|Region)Flags|(?:Wall|GMT)clock|SimulatorHostname|BoundingBox|GeometricCenter|Creator|NumberOf(?:Prims|NotecardLines|Sides)|Animation(?:List)?|(?:Camera|Local)(?:Pos|Rot)|Vel|Accel|Omega|Time(?:stamp|OfDay)|(?:Object|CenterOf)?Mass|MassMKS|Energy|Owner|(?:Owner)?Key|SunDirection|Texture(?:Offset|Scale|Rot)|Inventory(?:Number|Name|Key|Type|Creator|PermMask)|Permissions(?:Key)?|StartParameter|List(?:Length|EntryType)|Date|Agent(?:Size|Info|Language|List)|LandOwnerAt|NotecardLine|Script(?:Name|State))|(?:Get|Reset|GetAndReset)Time|PlaySound(?:Slave)?|LoopSound(?:Master|Slave)?|(?:Trigger|Stop|Preload)Sound|(?:(?:Get|Delete)Sub|Insert)String|To(?:Upper|Lower)|Give(?:InventoryList|Money)|RezObject|(?:Stop)?LookAt|Sleep|CollisionFilter|(?:Take|Release)Controls|DetachFromAvatar|AttachToAvatar(?:Temp)?|InstantMessage|(?:GetNext)?Email|StopHover|MinEventDelay|RotLookAt|String(?:Length|Trim)|(?:Start|Stop)Animation|TargetOmega|Request(?:Experience)?Permissions|(?:Create|Break)Link|BreakAllLinks|(?:Give|Remove)Inventory|Water|PassTouches|Request(?:Agent|Inventory)Data|TeleportAgent(?:Home|GlobalCoords)?|ModifyLand|CollisionSound|ResetScript|MessageLinked|PushObject|PassCollisions|AxisAngle2Rot|Rot2(?:Axis|Angle)|A(?:cos|sin)|AngleBetween|AllowInventoryDrop|SubStringIndex|List2(?:CSV|Integer|Json|Float|String|Key|Vector|Rot|List(?:Strided)?)|DeleteSubList|List(?:Statistics|Sort|Randomize|(?:Insert|Find|Replace)List)|EdgeOfWorld|AdjustSoundVolume|Key2Name|TriggerSoundLimited|EjectFromLand|(?:CSV|ParseString)2List|OverMyLand|SameGroup|UnSit|Ground(?:Slope|Normal|Contour)|GroundRepel|(?:Set|Remove)VehicleFlags|(?:AvatarOn)?(?:Link)?SitTarget|Script(?:Danger|Profiler)|Dialog|VolumeDetect|ResetOtherScript|RemoteLoadScriptPin|(?:Open|Close)RemoteDataChannel|SendRemoteData|RemoteDataReply|(?:Integer|String)ToBase64|XorBase64|Log(?:10)?|Base64To(?:String|Integer)|ParseStringKeepNulls|RezAtRoot|RequestSimulatorData|ForceMouselook|(?:Load|Release|(?:E|Une)scape)URL|ParcelMedia(?:CommandList|Query)|ModPow|MapDestination|(?:RemoveFrom|AddTo|Reset)Land(?:Pass|Ban)List|(?:Set|Clear)CameraParams|HTTP(?:Request|Response)|TextBox|DetectedTouch(?:UV|Face|Pos|(?:N|Bin)ormal|ST)|(?:MD5|SHA1|DumpList2)String|Request(?:Secure)?URL|Clear(?:Prim|Link)Media|(?:Link)?ParticleSystem|(?:Get|Request)(?:Username|DisplayName)|RegionSayTo|CastRay|GenerateKey|TransferLindenDollars|ManageEstateAccess|(?:Create|Delete)Character|ExecCharacterCmd|Evade|FleeFrom|NavigateTo|PatrolPoints|Pursue|UpdateCharacter|WanderWithin))\\b"};return{illegal:":",contains:[a,{className:"comment",variants:[e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/")]},r,{className:"section",variants:[{begin:"\\b(?:state|default)\\b"},{begin:"\\b(?:state_(?:entry|exit)|touch(?:_(?:start|end))?|(?:land_)?collision(?:_(?:start|end))?|timer|listen|(?:no_)?sensor|control|(?:not_)?at_(?:rot_)?target|money|email|experience_permissions(?:_denied)?|run_time_permissions|changed|attach|dataserver|moving_(?:start|end)|link_message|(?:on|object)_rez|remote_data|http_re(?:sponse|quest)|path_update|transaction_result)\\b"}]},s,i,{className:"type",begin:"\\b(?:integer|float|string|key|vector|quaternion|rotation|list)\\b"}]}}},{name:"lua",create:function(e){var t={begin:"\\[=*\\[",end:"\\]=*\\]",contains:["self"]},a=[e.COMMENT("--(?!\\[=*\\[)","$"),e.COMMENT("--\\[=*\\[","\\]=*\\]",{contains:[t],relevance:10})];return{lexemes:e.UNDERSCORE_IDENT_RE,keywords:{literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstringmodule next pairs pcall print rawequal rawget rawset require select setfenvsetmetatable tonumber tostring type unpack xpcall arg selfcoroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:a.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:a}].concat(a)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:"\\[=*\\[",end:"\\]=*\\]",contains:[t],relevance:5}])}}},{name:"makefile",create:function(e){var t={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%<?\^\+\*]/}]},a={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,t]},r={className:"variable",begin:/\$\([\w-]+\s/,end:/\)/,keywords:{built_in:"subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value"},contains:[t]},i={begin:"^"+e.UNDERSCORE_IDENT_RE+"\\s*[:+?]?=",illegal:"\\n",returnBegin:!0,contains:[{begin:"^"+e.UNDERSCORE_IDENT_RE,end:"[:+?]?=",excludeEnd:!0}]},s={className:"meta",begin:/^\.PHONY:/,end:/$/,keywords:{"meta-keyword":".PHONY"},lexemes:/[\.\w]+/},n={className:"section",begin:/^[^\s]+:/,end:/$/,contains:[t]};return{aliases:["mk","mak"],keywords:"define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath",lexemes:/[\w-]+/,contains:[e.HASH_COMMENT_MODE,t,a,r,i,s,n]}}},{name:"markdown",create:function(e){return{aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$"},{begin:"^.+?\\n[=-]{2,}$"}]},{begin:"<",end:">",subLanguage:"xml",relevance:0},{className:"bullet",begin:"^\\s*([*+-]|(\\d+\\.))\\s+"},{className:"strong",begin:"[*_]{2}.+?[*_]{2}"},{className:"emphasis",variants:[{begin:"\\*.+?\\*"},{begin:"_.+?_",relevance:0}]},{className:"quote",begin:"^>\\s+",end:"$"},{className:"code",variants:[{begin:"^```w*s*$",end:"^```s*$"},{begin:"`.+?`"},{begin:"^( {4}|\t)",end:"$",relevance:0}]},{begin:"^[-\\*]{3,}",end:"$"},{begin:"\\[.+?\\][\\(\\[].*?[\\)\\]]",returnBegin:!0,contains:[{className:"string",begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0,relevance:0},{className:"link",begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}],relevance:10},{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}}},{name:"mathematica",create:function(e){return{aliases:["mma","wl"],lexemes:"(\\$|\\b)"+e.IDENT_RE+"\\b", +keywords:"AASTriangle AbelianGroup Abort AbortKernels AbortProtect AbortScheduledTask Above Abs AbsArg AbsArgPlot Absolute AbsoluteCorrelation AbsoluteCorrelationFunction AbsoluteCurrentValue AbsoluteDashing AbsoluteFileName AbsoluteOptions AbsolutePointSize AbsoluteThickness AbsoluteTime AbsoluteTiming AcceptanceThreshold AccountingForm Accumulate Accuracy AccuracyGoal ActionDelay ActionMenu ActionMenuBox ActionMenuBoxOptions Activate Active ActiveClassification ActiveClassificationObject ActiveItem ActivePrediction ActivePredictionObject ActiveStyle AcyclicGraphQ AddOnHelpPath AddSides AddTo AddToSearchIndex AddUsers AdjacencyGraph AdjacencyList AdjacencyMatrix AdjustmentBox AdjustmentBoxOptions AdjustTimeSeriesForecast AdministrativeDivisionData AffineHalfSpace AffineSpace AffineStateSpaceModel AffineTransform After AggregatedEntityClass AggregationLayer AircraftData AirportData AirPressureData AirTemperatureData AiryAi AiryAiPrime AiryAiZero AiryBi AiryBiPrime AiryBiZero AlgebraicIntegerQ AlgebraicNumber AlgebraicNumberDenominator AlgebraicNumberNorm AlgebraicNumberPolynomial AlgebraicNumberTrace AlgebraicRules AlgebraicRulesData Algebraics AlgebraicUnitQ Alignment AlignmentMarker AlignmentPoint All AllowAdultContent AllowedCloudExtraParameters AllowedCloudParameterExtensions AllowedDimensions AllowedFrequencyRange AllowedHeads AllowGroupClose AllowIncomplete AllowInlineCells AllowKernelInitialization AllowLooseGrammar AllowReverseGroupClose AllowScriptLevelChange AllTrue Alphabet AlphabeticOrder AlphabeticSort AlphaChannel AlternateImage AlternatingFactorial AlternatingGroup AlternativeHypothesis Alternatives AltitudeMethod AmbientLight AmbiguityFunction AmbiguityList Analytic AnatomyData AnatomyForm AnatomyPlot3D AnatomySkinStyle AnatomyStyling AnchoredSearch And AndersonDarlingTest AngerJ AngleBisector AngleBracket AnglePath AnglePath3D AngleVector AngularGauge Animate AnimationCycleOffset AnimationCycleRepetitions AnimationDirection AnimationDisplayTime AnimationRate AnimationRepetitions AnimationRunning AnimationRunTime AnimationTimeIndex Animator AnimatorBox AnimatorBoxOptions AnimatorElements Annotate Annotation AnnotationDelete AnnotationNames AnnotationRules AnnotationValue Annuity AnnuityDue Annulus AnomalyDetection AnomalyDetectorFunction Anonymous Antialiasing AntihermitianMatrixQ Antisymmetric AntisymmetricMatrixQ Antonyms AnyOrder AnySubset AnyTrue Apart ApartSquareFree APIFunction Appearance AppearanceElements AppearanceRules AppellF1 Append AppendCheck AppendLayer AppendTo ApplicationIdentificationKey Apply ApplySides ArcCos ArcCosh ArcCot ArcCoth ArcCsc ArcCsch ArcCurvature ARCHProcess ArcLength ArcSec ArcSech ArcSin ArcSinDistribution ArcSinh ArcTan ArcTanh Area Arg ArgMax ArgMin ArgumentCountQ ARIMAProcess ArithmeticGeometricMean ARMAProcess Around AroundReplace ARProcess Array ArrayComponents ArrayDepth ArrayFilter ArrayFlatten ArrayMesh ArrayPad ArrayPlot ArrayQ ArrayResample ArrayReshape ArrayRules Arrays Arrow Arrow3DBox ArrowBox Arrowheads ASATriangle Ask AskAppend AskConfirm AskDisplay AskedQ AskedValue AskFunction AskState AskTemplateDisplay AspectRatio AspectRatioFixed Assert AssociateTo Association AssociationFormat AssociationMap AssociationQ AssociationThread AssumeDeterministic Assuming Assumptions AstronomicalData AsymptoticDSolveValue AsymptoticEqual AsymptoticEquivalent AsymptoticGreater AsymptoticGreaterEqual AsymptoticIntegrate AsymptoticLess AsymptoticLessEqual AsymptoticOutputTracker AsymptoticRSolveValue AsymptoticSolve AsymptoticSum Asynchronous AsynchronousTaskObject AsynchronousTasks Atom AtomCoordinates AtomCount AtomDiagramCoordinates AtomList AtomQ AttentionLayer Attributes Audio AudioAmplify AudioAnnotate AudioAnnotationLookup AudioBlockMap AudioCapture AudioChannelAssignment AudioChannelCombine AudioChannelMix AudioChannels AudioChannelSeparate AudioData AudioDelay AudioDelete AudioDevice AudioDistance AudioFade AudioFrequencyShift AudioGenerator AudioIdentify AudioInputDevice AudioInsert AudioIntervals AudioJoin AudioLabel AudioLength AudioLocalMeasurements AudioLooping AudioLoudness AudioMeasurements AudioNormalize AudioOutputDevice AudioOverlay AudioPad AudioPan AudioPartition AudioPause AudioPitchShift AudioPlay AudioPlot AudioQ AudioRecord AudioReplace AudioResample AudioReverb AudioSampleRate AudioSpectralMap AudioSpectralTransformation AudioSplit AudioStop AudioStream AudioStreams AudioTimeStretch AudioTrim AudioType AugmentedPolyhedron AugmentedSymmetricPolynomial Authenticate Authentication AuthenticationDialog AutoAction Autocomplete AutocompletionFunction AutoCopy AutocorrelationTest AutoDelete AutoEvaluateEvents AutoGeneratedPackage AutoIndent AutoIndentSpacings AutoItalicWords AutoloadPath AutoMatch Automatic AutomaticImageSize AutoMultiplicationSymbol AutoNumberFormatting AutoOpenNotebooks AutoOpenPalettes AutoQuoteCharacters AutoRefreshed AutoRemove AutorunSequencing AutoScaling AutoScroll AutoSpacing AutoStyleOptions AutoStyleWords AutoSubmitting Axes AxesEdge AxesLabel AxesOrigin AxesStyle AxiomaticTheory AxisBabyMonsterGroupB Back Background BackgroundAppearance BackgroundTasksSettings Backslash Backsubstitution Backward Ball Band BandpassFilter BandstopFilter BarabasiAlbertGraphDistribution BarChart BarChart3D BarcodeImage BarcodeRecognize BaringhausHenzeTest BarLegend BarlowProschanImportance BarnesG BarOrigin BarSpacing BartlettHannWindow BartlettWindow BaseDecode BaseEncode BaseForm Baseline BaselinePosition BaseStyle BasicRecurrentLayer BatchNormalizationLayer BatchSize BatesDistribution BattleLemarieWavelet BayesianMaximization BayesianMaximizationObject BayesianMinimization BayesianMinimizationObject Because BeckmannDistribution Beep Before Begin BeginDialogPacket BeginFrontEndInteractionPacket BeginPackage BellB BellY Below BenfordDistribution BeniniDistribution BenktanderGibratDistribution BenktanderWeibullDistribution BernoulliB BernoulliDistribution BernoulliGraphDistribution BernoulliProcess BernsteinBasis BesselFilterModel BesselI BesselJ BesselJZero BesselK BesselY BesselYZero Beta BetaBinomialDistribution BetaDistribution BetaNegativeBinomialDistribution BetaPrimeDistribution BetaRegularized Between BetweennessCentrality BeveledPolyhedron BezierCurve BezierCurve3DBox BezierCurve3DBoxOptions BezierCurveBox BezierCurveBoxOptions BezierFunction BilateralFilter Binarize BinaryDeserialize BinaryDistance BinaryFormat BinaryImageQ BinaryRead BinaryReadList BinarySerialize BinaryWrite BinCounts BinLists Binomial BinomialDistribution BinomialProcess BinormalDistribution BiorthogonalSplineWavelet BipartiteGraphQ BiquadraticFilterModel BirnbaumImportance BirnbaumSaundersDistribution BitAnd BitClear BitGet BitLength BitNot BitOr BitSet BitShiftLeft BitShiftRight BitXor BiweightLocation BiweightMidvariance Black BlackmanHarrisWindow BlackmanNuttallWindow BlackmanWindow Blank BlankForm BlankNullSequence BlankSequence Blend Block BlockchainAddressData BlockchainBase BlockchainBlockData BlockchainContractValue BlockchainData BlockchainGet BlockchainKeyEncode BlockchainPut BlockchainTokenData BlockchainTransaction BlockchainTransactionData BlockchainTransactionSign BlockchainTransactionSubmit BlockMap BlockRandom BlomqvistBeta BlomqvistBetaTest Blue Blur BodePlot BohmanWindow Bold Bond BondCount BondList BondQ Bookmarks Boole BooleanConsecutiveFunction BooleanConvert BooleanCountingFunction BooleanFunction BooleanGraph BooleanMaxterms BooleanMinimize BooleanMinterms BooleanQ BooleanRegion Booleans BooleanStrings BooleanTable BooleanVariables BorderDimensions BorelTannerDistribution Bottom BottomHatTransform BoundaryDiscretizeGraphics BoundaryDiscretizeRegion BoundaryMesh BoundaryMeshRegion BoundaryMeshRegionQ BoundaryStyle BoundedRegionQ BoundingRegion Bounds Box BoxBaselineShift BoxData BoxDimensions Boxed Boxes BoxForm BoxFormFormatTypes BoxFrame BoxID BoxMargins BoxMatrix BoxObject BoxRatios BoxRotation BoxRotationPoint BoxStyle BoxWhiskerChart Bra BracketingBar BraKet BrayCurtisDistance BreadthFirstScan Break BridgeData BrightnessEqualize BroadcastStationData Brown BrownForsytheTest BrownianBridgeProcess BrowserCategory BSplineBasis BSplineCurve BSplineCurve3DBox BSplineCurve3DBoxOptions BSplineCurveBox BSplineCurveBoxOptions BSplineFunction BSplineSurface BSplineSurface3DBox BSplineSurface3DBoxOptions BubbleChart BubbleChart3D BubbleScale BubbleSizes BuildingData BulletGauge BusinessDayQ ButterflyGraph ButterworthFilterModel Button ButtonBar ButtonBox ButtonBoxOptions ButtonCell ButtonContents ButtonData ButtonEvaluator ButtonExpandable ButtonFrame ButtonFunction ButtonMargins ButtonMinHeight ButtonNote ButtonNotebook ButtonSource ButtonStyle ButtonStyleMenuListing Byte ByteArray ByteArrayFormat ByteArrayQ ByteArrayToString ByteCount ByteOrderingC CachedValue CacheGraphics CachePersistence CalendarConvert CalendarData CalendarType Callout CalloutMarker CalloutStyle CallPacket CanberraDistance Cancel CancelButton CandlestickChart CanonicalGraph CanonicalizePolygon CanonicalizePolyhedron CanonicalName CanonicalWarpingCorrespondence CanonicalWarpingDistance CantorMesh CantorStaircase Cap CapForm CapitalDifferentialD Capitalize CapsuleShape CaptureRunning CardinalBSplineBasis CarlemanLinearize CarmichaelLambda CaseOrdering Cases CaseSensitive Cashflow Casoratian Catalan CatalanNumber Catch Catenate CatenateLayer CauchyDistribution CauchyWindow CayleyGraph CDF CDFDeploy CDFInformation CDFWavelet Ceiling CelestialSystem Cell CellAutoOverwrite CellBaseline CellBoundingBox CellBracketOptions CellChangeTimes CellContents CellContext CellDingbat CellDynamicExpression CellEditDuplicate CellElementsBoundingBox CellElementSpacings CellEpilog CellEvaluationDuplicate CellEvaluationFunction CellEvaluationLanguage CellEventActions CellFrame CellFrameColor CellFrameLabelMargins CellFrameLabels CellFrameMargins CellGroup CellGroupData CellGrouping CellGroupingRules CellHorizontalScrolling CellID CellLabel CellLabelAutoDelete CellLabelMargins CellLabelPositioning CellLabelStyle CellLabelTemplate CellMargins CellObject CellOpen CellPrint CellProlog Cells CellSize CellStyle CellTags CellularAutomaton CensoredDistribution Censoring Center CenterArray CenterDot CentralFeature CentralMoment CentralMomentGeneratingFunction Cepstrogram CepstrogramArray CepstrumArray CForm ChampernowneNumber ChangeOptions ChannelBase ChannelBrokerAction ChannelDatabin ChannelHistoryLength ChannelListen ChannelListener ChannelListeners ChannelListenerWait ChannelObject ChannelPreSendFunction ChannelReceiverFunction ChannelSend ChannelSubscribers ChanVeseBinarize Character CharacterCounts CharacterEncoding CharacterEncodingsPath CharacteristicFunction CharacteristicPolynomial CharacterName CharacterRange Characters ChartBaseStyle ChartElementData ChartElementDataFunction ChartElementFunction ChartElements ChartLabels ChartLayout ChartLegends ChartStyle Chebyshev1FilterModel Chebyshev2FilterModel ChebyshevDistance ChebyshevT ChebyshevU Check CheckAbort CheckAll Checkbox CheckboxBar CheckboxBox CheckboxBoxOptions ChemicalData ChessboardDistance ChiDistribution ChineseRemainder ChiSquareDistribution ChoiceButtons ChoiceDialog CholeskyDecomposition Chop ChromaticityPlot ChromaticityPlot3D ChromaticPolynomial Circle CircleBox CircleDot CircleMinus CirclePlus CirclePoints CircleThrough CircleTimes CirculantGraph CircularOrthogonalMatrixDistribution CircularQuaternionMatrixDistribution CircularRealMatrixDistribution CircularSymplecticMatrixDistribution CircularUnitaryMatrixDistribution Circumsphere CityData ClassifierFunction ClassifierInformation ClassifierMeasurements ClassifierMeasurementsObject Classify ClassPriors Clear ClearAll ClearAttributes ClearCookies ClearPermissions ClearSystemCache ClebschGordan ClickPane Clip ClipboardNotebook ClipFill ClippingStyle ClipPlanes ClipPlanesStyle ClipRange Clock ClockGauge ClockwiseContourIntegral Close Closed CloseKernels ClosenessCentrality Closing ClosingAutoSave ClosingEvent CloudAccountData CloudBase CloudConnect CloudDeploy CloudDirectory CloudDisconnect CloudEvaluate CloudExport CloudExpression CloudExpressions CloudFunction CloudGet CloudImport CloudLoggingData CloudObject CloudObjectInformation CloudObjectInformationData CloudObjectNameFormat CloudObjects CloudObjectURLType CloudPublish CloudPut CloudRenderingMethod CloudSave CloudShare CloudSubmit CloudSymbol CloudUnshare ClusterClassify ClusterDissimilarityFunction ClusteringComponents ClusteringTree CMYKColor Coarse CodeAssistOptions Coefficient CoefficientArrays CoefficientDomain CoefficientList CoefficientRules CoifletWavelet Collect Colon ColonForm ColorBalance ColorCombine ColorConvert ColorCoverage ColorData ColorDataFunction ColorDetect ColorDistance ColorFunction ColorFunctionScaling Colorize ColorNegate ColorOutput ColorProfileData ColorQ ColorQuantize ColorReplace ColorRules ColorSelectorSettings ColorSeparate ColorSetter ColorSetterBox ColorSetterBoxOptions ColorSlider ColorsNear ColorSpace ColorToneMapping Column ColumnAlignments ColumnBackgrounds ColumnForm ColumnLines ColumnsEqual ColumnSpacings ColumnWidths CombinedEntityClass CombinerFunction CometData CommonDefaultFormatTypes Commonest CommonestFilter CommonName CommonUnits CommunityBoundaryStyle CommunityGraphPlot CommunityLabels CommunityRegionStyle CompanyData CompatibleUnitQ CompilationOptions CompilationTarget Compile Compiled CompiledCodeFunction CompiledFunction CompilerOptions Complement CompleteGraph CompleteGraphQ CompleteKaryTree CompletionsListPacket Complex Complexes ComplexExpand ComplexInfinity ComplexityFunction ComplexListPlot ComplexPlot ComplexPlot3D ComponentMeasurements ComponentwiseContextMenu Compose ComposeList ComposeSeries CompositeQ Composition CompoundElement CompoundExpression CompoundPoissonDistribution CompoundPoissonProcess CompoundRenewalProcess Compress CompressedData ComputeUncertainty Condition ConditionalExpression Conditioned Cone ConeBox ConfidenceLevel ConfidenceRange ConfidenceTransform ConfigurationPath ConformAudio ConformImages Congruent ConicHullRegion ConicHullRegion3DBox ConicHullRegionBox ConicOptimization Conjugate ConjugateTranspose Conjunction Connect ConnectedComponents ConnectedGraphComponents ConnectedGraphQ ConnectedMeshComponents ConnectedMoleculeComponents ConnectedMoleculeQ ConnectionSettings ConnectLibraryCallbackFunction ConnectSystemModelComponents ConnesWindow ConoverTest ConsoleMessage ConsoleMessagePacket ConsolePrint Constant ConstantArray ConstantArrayLayer ConstantImage ConstantPlusLayer ConstantRegionQ Constants ConstantTimesLayer ConstellationData ConstrainedMax ConstrainedMin Construct Containing ContainsAll ContainsAny ContainsExactly ContainsNone ContainsOnly ContentFieldOptions ContentLocationFunction ContentObject ContentPadding ContentsBoundingBox ContentSelectable ContentSize Context ContextMenu Contexts ContextToFileName Continuation Continue ContinuedFraction ContinuedFractionK ContinuousAction ContinuousMarkovProcess ContinuousTask ContinuousTimeModelQ ContinuousWaveletData ContinuousWaveletTransform ContourDetect ContourGraphics ContourIntegral ContourLabels ContourLines ContourPlot ContourPlot3D Contours ContourShading ContourSmoothing ContourStyle ContraharmonicMean ContrastiveLossLayer Control ControlActive ControlAlignment ControlGroupContentsBox ControllabilityGramian ControllabilityMatrix ControllableDecomposition ControllableModelQ ControllerDuration ControllerInformation ControllerInformationData ControllerLinking ControllerManipulate ControllerMethod ControllerPath ControllerState ControlPlacement ControlsRendering ControlType Convergents ConversionOptions ConversionRules ConvertToBitmapPacket ConvertToPostScript ConvertToPostScriptPacket ConvexHullMesh ConvexPolygonQ ConvexPolyhedronQ ConvolutionLayer Convolve ConwayGroupCo1 ConwayGroupCo2 ConwayGroupCo3 CookieFunction Cookies CoordinateBoundingBox CoordinateBoundingBoxArray CoordinateBounds CoordinateBoundsArray CoordinateChartData CoordinatesToolOptions CoordinateTransform CoordinateTransformData CoprimeQ Coproduct CopulaDistribution Copyable CopyDatabin CopyDirectory CopyFile CopyTag CopyToClipboard CornerFilter CornerNeighbors Correlation CorrelationDistance CorrelationFunction CorrelationTest Cos Cosh CoshIntegral CosineDistance CosineWindow CosIntegral Cot Coth Count CountDistinct CountDistinctBy CounterAssignments CounterBox CounterBoxOptions CounterClockwiseContourIntegral CounterEvaluator CounterFunction CounterIncrements CounterStyle CounterStyleMenuListing CountRoots CountryData Counts CountsBy Covariance CovarianceEstimatorFunction CovarianceFunction CoxianDistribution CoxIngersollRossProcess CoxModel CoxModelFit CramerVonMisesTest CreateArchive CreateCellID CreateChannel CreateCloudExpression CreateDatabin CreateDataSystemModel CreateDialog CreateDirectory CreateDocument CreateFile CreateIntermediateDirectories CreateManagedLibraryExpression CreateNotebook CreatePalette CreatePalettePacket CreatePermissionsGroup CreateScheduledTask CreateSearchIndex CreateSystemModel CreateTemporary CreateUUID CreateWindow CriterionFunction CriticalityFailureImportance CriticalitySuccessImportance CriticalSection Cross CrossEntropyLossLayer CrossingCount CrossingDetect CrossingPolygon CrossMatrix Csc Csch CTCLossLayer Cube CubeRoot Cubics Cuboid CuboidBox Cumulant CumulantGeneratingFunction Cup CupCap Curl CurlyDoubleQuote CurlyQuote CurrencyConvert CurrentDate CurrentImage CurrentlySpeakingPacket CurrentNotebookImage CurrentScreenImage CurrentValue Curry CurvatureFlowFilter CurveClosed Cyan CycleGraph CycleIndexPolynomial Cycles CyclicGroup Cyclotomic Cylinder CylinderBox CylindricalDecompositionD DagumDistribution DamData DamerauLevenshteinDistance DampingFactor Darker Dashed Dashing DatabaseConnect DatabaseDisconnect DatabaseReference Databin DatabinAdd DatabinRemove Databins DatabinUpload DataCompression DataDistribution DataRange DataReversed Dataset Date DateBounds Dated DateDelimiters DateDifference DatedUnit DateFormat DateFunction DateHistogram DateList DateListLogPlot DateListPlot DateListStepPlot DateObject DateObjectQ DateOverlapsQ DatePattern DatePlus DateRange DateReduction DateString DateTicksFormat DateValue DateWithinQ DaubechiesWavelet DavisDistribution DawsonF DayCount DayCountConvention DayHemisphere DaylightQ DayMatchQ DayName DayNightTerminator DayPlus DayRange DayRound DeBruijnGraph DeBruijnSequence Debug DebugTag Decapitalize Decimal DecimalForm DeclareKnownSymbols DeclarePackage Decompose DeconvolutionLayer Decrement Decrypt DecryptFile DedekindEta DeepSpaceProbeData Default DefaultAxesStyle DefaultBaseStyle DefaultBoxStyle DefaultButton DefaultColor DefaultControlPlacement DefaultDuplicateCellStyle DefaultDuration DefaultElement DefaultFaceGridsStyle DefaultFieldHintStyle DefaultFont DefaultFontProperties DefaultFormatType DefaultFormatTypeForStyle DefaultFrameStyle DefaultFrameTicksStyle DefaultGridLinesStyle DefaultInlineFormatType DefaultInputFormatType DefaultLabelStyle DefaultMenuStyle DefaultNaturalLanguage DefaultNewCellStyle DefaultNewInlineCellStyle DefaultNotebook DefaultOptions DefaultOutputFormatType DefaultPrintPrecision DefaultStyle DefaultStyleDefinitions DefaultTextFormatType DefaultTextInlineFormatType DefaultTicksStyle DefaultTooltipStyle DefaultValue DefaultValues Defer DefineExternal DefineInputStreamMethod DefineOutputStreamMethod DefineResourceFunction Definition Degree DegreeCentrality DegreeGraphDistribution DegreeLexicographic DegreeReverseLexicographic DEigensystem DEigenvalues Deinitialization Del DelaunayMesh Delayed Deletable Delete DeleteAnomalies DeleteBorderComponents DeleteCases DeleteChannel DeleteCloudExpression DeleteContents DeleteDirectory DeleteDuplicates DeleteDuplicatesBy DeleteFile DeleteMissing DeleteObject DeletePermissionsKey DeleteSearchIndex DeleteSmallComponents DeleteStopwords DeleteWithContents DeletionWarning DelimitedArray DelimitedSequence Delimiter DelimiterFlashTime DelimiterMatching Delimiters DeliveryFunction Dendrogram Denominator DensityGraphics DensityHistogram DensityPlot DensityPlot3D DependentVariables Deploy Deployed Depth DepthFirstScan Derivative DerivativeFilter DerivedKey DescriptorStateSpace DesignMatrix DestroyAfterEvaluation Det DeviceClose DeviceConfigure DeviceExecute DeviceExecuteAsynchronous DeviceObject DeviceOpen DeviceOpenQ DeviceRead DeviceReadBuffer DeviceReadLatest DeviceReadList DeviceReadTimeSeries Devices DeviceStreams DeviceWrite DeviceWriteBuffer DGaussianWavelet DiacriticalPositioning Diagonal DiagonalizableMatrixQ DiagonalMatrix DiagonalMatrixQ Dialog DialogIndent DialogInput DialogLevel DialogNotebook DialogProlog DialogReturn DialogSymbols Diamond DiamondMatrix DiceDissimilarity DictionaryLookup DictionaryWordQ DifferenceDelta DifferenceOrder DifferenceQuotient DifferenceRoot DifferenceRootReduce Differences DifferentialD DifferentialRoot DifferentialRootReduce DifferentiatorFilter DigitalSignature DigitBlock DigitBlockMinimum DigitCharacter DigitCount DigitQ DihedralAngle DihedralGroup Dilation DimensionalCombinations DimensionalMeshComponents DimensionReduce DimensionReducerFunction DimensionReduction Dimensions DiracComb DiracDelta DirectedEdge DirectedEdges DirectedGraph DirectedGraphQ DirectedInfinity Direction Directive Directory DirectoryName DirectoryQ DirectoryStack DirichletBeta DirichletCharacter DirichletCondition DirichletConvolve DirichletDistribution DirichletEta DirichletL DirichletLambda DirichletTransform DirichletWindow DisableConsolePrintPacket DisableFormatting DiscreteChirpZTransform DiscreteConvolve DiscreteDelta DiscreteHadamardTransform DiscreteIndicator DiscreteLimit DiscreteLQEstimatorGains DiscreteLQRegulatorGains DiscreteLyapunovSolve DiscreteMarkovProcess DiscreteMaxLimit DiscreteMinLimit DiscretePlot DiscretePlot3D DiscreteRatio DiscreteRiccatiSolve DiscreteShift DiscreteTimeModelQ DiscreteUniformDistribution DiscreteVariables DiscreteWaveletData DiscreteWaveletPacketTransform DiscreteWaveletTransform DiscretizeGraphics DiscretizeRegion Discriminant DisjointQ Disjunction Disk DiskBox DiskMatrix DiskSegment Dispatch DispatchQ DispersionEstimatorFunction Display DisplayAllSteps DisplayEndPacket DisplayFlushImagePacket DisplayForm DisplayFunction DisplayPacket DisplayRules DisplaySetSizePacket DisplayString DisplayTemporary DisplayWith DisplayWithRef DisplayWithVariable DistanceFunction DistanceMatrix DistanceTransform Distribute Distributed DistributedContexts DistributeDefinitions DistributionChart DistributionDomain DistributionFitTest DistributionParameterAssumptions DistributionParameterQ Dithering Div Divergence Divide DivideBy Dividers DivideSides Divisible Divisors DivisorSigma DivisorSum DMSList DMSString Do DockedCells DocumentGenerator DocumentGeneratorInformation DocumentGeneratorInformationData DocumentGenerators DocumentNotebook DocumentWeightingRules Dodecahedron DomainRegistrationInformation DominantColors DOSTextFormat Dot DotDashed DotEqual DotLayer DotPlusLayer Dotted DoubleBracketingBar DoubleContourIntegral DoubleDownArrow DoubleLeftArrow DoubleLeftRightArrow DoubleLeftTee DoubleLongLeftArrow DoubleLongLeftRightArrow DoubleLongRightArrow DoubleRightArrow DoubleRightTee DoubleUpArrow DoubleUpDownArrow DoubleVerticalBar DoublyInfinite Down DownArrow DownArrowBar DownArrowUpArrow DownLeftRightVector DownLeftTeeVector DownLeftVector DownLeftVectorBar DownRightTeeVector DownRightVector DownRightVectorBar Downsample DownTee DownTeeArrow DownValues DragAndDrop DrawEdges DrawFrontFaces DrawHighlighted Drop DropoutLayer DSolve DSolveValue Dt DualLinearProgramming DualPolyhedron DualSystemsModel DumpGet DumpSave DuplicateFreeQ Duration Dynamic DynamicBox DynamicBoxOptions DynamicEvaluationTimeout DynamicGeoGraphics DynamicImage DynamicLocation DynamicModule DynamicModuleBox DynamicModuleBoxOptions DynamicModuleParent DynamicModuleValues DynamicName DynamicNamespace DynamicReference DynamicSetting DynamicUpdating DynamicWrapper DynamicWrapperBox DynamicWrapperBoxOptionsE EarthImpactData EarthquakeData EccentricityCentrality Echo EchoFunction EclipseType EdgeAdd EdgeBetweennessCentrality EdgeCapacity EdgeCapForm EdgeColor EdgeConnectivity EdgeContract EdgeCost EdgeCount EdgeCoverQ EdgeCycleMatrix EdgeDashing EdgeDelete EdgeDetect EdgeForm EdgeIndex EdgeJoinForm EdgeLabeling EdgeLabels EdgeLabelStyle EdgeList EdgeOpacity EdgeQ EdgeRenderingFunction EdgeRules EdgeShapeFunction EdgeStyle EdgeThickness EdgeWeight EdgeWeightedGraphQ Editable EditButtonSettings EditCellTagsSettings EditDistance EffectiveInterest Eigensystem Eigenvalues EigenvectorCentrality Eigenvectors Element ElementData ElementwiseLayer ElidedForms Eliminate EliminationOrder Ellipsoid EllipticE EllipticExp EllipticExpPrime EllipticF EllipticFilterModel EllipticK EllipticLog EllipticNomeQ EllipticPi EllipticReducedHalfPeriods EllipticTheta EllipticThetaPrime EmbedCode EmbeddedHTML EmbeddedService EmbeddingLayer EmbeddingObject EmitSound EmphasizeSyntaxErrors EmpiricalDistribution Empty EmptyGraphQ EmptyRegion EnableConsolePrintPacket Enabled Encode Encrypt EncryptedObject EncryptFile End EndAdd EndDialogPacket EndFrontEndInteractionPacket EndOfBuffer EndOfFile EndOfLine EndOfString EndPackage EngineEnvironment EngineeringForm Enter EnterExpressionPacket EnterTextPacket Entity EntityClass EntityClassList EntityCopies EntityFunction EntityGroup EntityInstance EntityList EntityPrefetch EntityProperties EntityProperty EntityPropertyClass EntityRegister EntityStore EntityStores EntityTypeName EntityUnregister EntityValue Entropy EntropyFilter Environment Epilog EpilogFunction Equal EqualColumns EqualRows EqualTilde EqualTo EquatedTo Equilibrium EquirippleFilterKernel Equivalent Erf Erfc Erfi ErlangB ErlangC ErlangDistribution Erosion ErrorBox ErrorBoxOptions ErrorNorm ErrorPacket ErrorsDialogSettings EscapeRadius EstimatedBackground EstimatedDistribution EstimatedProcess EstimatorGains EstimatorRegulator EuclideanDistance EulerAngles EulerCharacteristic EulerE EulerGamma EulerianGraphQ EulerMatrix EulerPhi Evaluatable Evaluate Evaluated EvaluatePacket EvaluateScheduledTask EvaluationBox EvaluationCell EvaluationCompletionAction EvaluationData EvaluationElements EvaluationEnvironment EvaluationMode EvaluationMonitor EvaluationNotebook EvaluationObject EvaluationOrder Evaluator EvaluatorNames EvenQ EventData EventEvaluator EventHandler EventHandlerTag EventLabels EventSeries ExactBlackmanWindow ExactNumberQ ExactRootIsolation ExampleData Except ExcludedForms ExcludedLines ExcludedPhysicalQuantities ExcludePods Exclusions ExclusionsStyle Exists Exit ExitDialog ExoplanetData Exp Expand ExpandAll ExpandDenominator ExpandFileName ExpandNumerator Expectation ExpectationE ExpectedValue ExpGammaDistribution ExpIntegralE ExpIntegralEi ExpirationDate Exponent ExponentFunction ExponentialDistribution ExponentialFamily ExponentialGeneratingFunction ExponentialMovingAverage ExponentialPowerDistribution ExponentPosition ExponentStep Export ExportAutoReplacements ExportByteArray ExportForm ExportPacket ExportString Expression ExpressionCell ExpressionPacket ExpressionUUID ExpToTrig ExtendedEntityClass ExtendedGCD Extension ExtentElementFunction ExtentMarkers ExtentSize ExternalBundle ExternalCall ExternalDataCharacterEncoding ExternalEvaluate ExternalFunction ExternalFunctionName ExternalObject ExternalOptions ExternalSessionObject ExternalSessions ExternalTypeSignature ExternalValue Extract ExtractArchive ExtractLayer ExtremeValueDistributionFaceForm FaceGrids FaceGridsStyle FacialFeatures Factor FactorComplete Factorial Factorial2 FactorialMoment FactorialMomentGeneratingFunction FactorialPower FactorInteger FactorList FactorSquareFree FactorSquareFreeList FactorTerms FactorTermsList Fail Failure FailureAction FailureDistribution FailureQ False FareySequence FARIMAProcess FeatureDistance FeatureExtract FeatureExtraction FeatureExtractor FeatureExtractorFunction FeatureNames FeatureNearest FeatureSpacePlot FeatureSpacePlot3D FeatureTypes FEDisableConsolePrintPacket FeedbackLinearize FeedbackSector FeedbackSectorStyle FeedbackType FEEnableConsolePrintPacket FetalGrowthData Fibonacci Fibonorial FieldCompletionFunction FieldHint FieldHintStyle FieldMasked FieldSize File FileBaseName FileByteCount FileConvert FileDate FileExistsQ FileExtension FileFormat FileHandler FileHash FileInformation FileName FileNameDepth FileNameDialogSettings FileNameDrop FileNameForms FileNameJoin FileNames FileNameSetter FileNameSplit FileNameTake FilePrint FileSize FileSystemMap FileSystemScan FileTemplate FileTemplateApply FileType FilledCurve FilledCurveBox FilledCurveBoxOptions Filling FillingStyle FillingTransform FilteredEntityClass FilterRules FinancialBond FinancialData FinancialDerivative FinancialIndicator Find FindAnomalies FindArgMax FindArgMin FindChannels FindClique FindClusters FindCookies FindCurvePath FindCycle FindDevices FindDistribution FindDistributionParameters FindDivisions FindEdgeCover FindEdgeCut FindEdgeIndependentPaths FindEquationalProof FindEulerianCycle FindExternalEvaluators FindFaces FindFile FindFit FindFormula FindFundamentalCycles FindGeneratingFunction FindGeoLocation FindGeometricConjectures FindGeometricTransform FindGraphCommunities FindGraphIsomorphism FindGraphPartition FindHamiltonianCycle FindHamiltonianPath FindHiddenMarkovStates FindIndependentEdgeSet FindIndependentVertexSet FindInstance FindIntegerNullVector FindKClan FindKClique FindKClub FindKPlex FindLibrary FindLinearRecurrence FindList FindMatchingColor FindMaximum FindMaximumFlow FindMaxValue FindMeshDefects FindMinimum FindMinimumCostFlow FindMinimumCut FindMinValue FindMoleculeSubstructure FindPath FindPeaks FindPermutation FindPostmanTour FindProcessParameters FindRepeat FindRoot FindSequenceFunction FindSettings FindShortestPath FindShortestTour FindSpanningTree FindSystemModelEquilibrium FindTextualAnswer FindThreshold FindTransientRepeat FindVertexCover FindVertexCut FindVertexIndependentPaths Fine FinishDynamic FiniteAbelianGroupCount FiniteGroupCount FiniteGroupData First FirstCase FirstPassageTimeDistribution FirstPosition FischerGroupFi22 FischerGroupFi23 FischerGroupFi24Prime FisherHypergeometricDistribution FisherRatioTest FisherZDistribution Fit FitAll FitRegularization FittedModel FixedOrder FixedPoint FixedPointList FlashSelection Flat Flatten FlattenAt FlattenLayer FlatTopWindow FlipView Floor FlowPolynomial FlushPrintOutputPacket Fold FoldList FoldPair FoldPairList FollowRedirects Font FontColor FontFamily FontForm FontName FontOpacity FontPostScriptName FontProperties FontReencoding FontSize FontSlant FontSubstitutions FontTracking FontVariations FontWeight For ForAll Format FormatRules FormatType FormatTypeAutoConvert FormatValues FormBox FormBoxOptions FormControl FormFunction FormLayoutFunction FormObject FormPage FormTheme FormulaData FormulaLookup FortranForm Forward ForwardBackward Fourier FourierCoefficient FourierCosCoefficient FourierCosSeries FourierCosTransform FourierDCT FourierDCTFilter FourierDCTMatrix FourierDST FourierDSTMatrix FourierMatrix FourierParameters FourierSequenceTransform FourierSeries FourierSinCoefficient FourierSinSeries FourierSinTransform FourierTransform FourierTrigSeries FractionalBrownianMotionProcess FractionalGaussianNoiseProcess FractionalPart FractionBox FractionBoxOptions FractionLine Frame FrameBox FrameBoxOptions Framed FrameInset FrameLabel Frameless FrameMargins FrameRate FrameStyle FrameTicks FrameTicksStyle FRatioDistribution FrechetDistribution FreeQ FrenetSerretSystem FrequencySamplingFilterKernel FresnelC FresnelF FresnelG FresnelS Friday FrobeniusNumber FrobeniusSolve FromAbsoluteTime FromCharacterCode FromCoefficientRules FromContinuedFraction FromDate FromDigits FromDMS FromEntity FromJulianDate FromLetterNumber FromPolarCoordinates FromRomanNumeral FromSphericalCoordinates FromUnixTime Front FrontEndDynamicExpression FrontEndEventActions FrontEndExecute FrontEndObject FrontEndResource FrontEndResourceString FrontEndStackSize FrontEndToken FrontEndTokenExecute FrontEndValueCache FrontEndVersion FrontFaceColor FrontFaceOpacity Full FullAxes FullDefinition FullForm FullGraphics FullInformationOutputRegulator FullOptions FullRegion FullSimplify Function FunctionCompile FunctionCompileExport FunctionCompileExportByteArray FunctionCompileExportLibrary FunctionCompileExportString FunctionDomain FunctionExpand FunctionInterpolation FunctionPeriod FunctionRange FunctionSpace FussellVeselyImportanceGaborFilter GaborMatrix GaborWavelet GainMargins GainPhaseMargins GalaxyData GalleryView Gamma GammaDistribution GammaRegularized GapPenalty GARCHProcess GatedRecurrentLayer Gather GatherBy GaugeFaceElementFunction GaugeFaceStyle GaugeFrameElementFunction GaugeFrameSize GaugeFrameStyle GaugeLabels GaugeMarkers GaugeStyle GaussianFilter GaussianIntegers GaussianMatrix GaussianOrthogonalMatrixDistribution GaussianSymplecticMatrixDistribution GaussianUnitaryMatrixDistribution GaussianWindow GCD GegenbauerC General GeneralizedLinearModelFit GenerateAsymmetricKeyPair GenerateConditions GeneratedCell GeneratedDocumentBinding GenerateDerivedKey GenerateDigitalSignature GenerateDocument GeneratedParameters GeneratedQuantityMagnitudes GenerateHTTPResponse GenerateSecuredAuthenticationKey GenerateSymmetricKey GeneratingFunction GeneratorDescription GeneratorHistoryLength GeneratorOutputType Generic GenericCylindricalDecomposition GenomeData GenomeLookup GeoAntipode GeoArea GeoArraySize GeoBackground GeoBoundingBox GeoBounds GeoBoundsRegion GeoBubbleChart GeoCenter GeoCircle GeodesicClosing GeodesicDilation GeodesicErosion GeodesicOpening GeoDestination GeodesyData GeoDirection GeoDisk GeoDisplacement GeoDistance GeoDistanceList GeoElevationData GeoEntities GeoGraphics GeogravityModelData GeoGridDirectionDifference GeoGridLines GeoGridLinesStyle GeoGridPosition GeoGridRange GeoGridRangePadding GeoGridUnitArea GeoGridUnitDistance GeoGridVector GeoGroup GeoHemisphere GeoHemisphereBoundary GeoHistogram GeoIdentify GeoImage GeoLabels GeoLength GeoListPlot GeoLocation GeologicalPeriodData GeomagneticModelData GeoMarker GeometricAssertion GeometricBrownianMotionProcess GeometricDistribution GeometricMean GeometricMeanFilter GeometricScene GeometricTransformation GeometricTransformation3DBox GeometricTransformation3DBoxOptions GeometricTransformationBox GeometricTransformationBoxOptions GeoModel GeoNearest GeoPath GeoPosition GeoPositionENU GeoPositionXYZ GeoProjection GeoProjectionData GeoRange GeoRangePadding GeoRegionValuePlot GeoResolution GeoScaleBar GeoServer GeoSmoothHistogram GeoStreamPlot GeoStyling GeoStylingImageFunction GeoVariant GeoVector GeoVectorENU GeoVectorPlot GeoVectorXYZ GeoVisibleRegion GeoVisibleRegionBoundary GeoWithinQ GeoZoomLevel GestureHandler GestureHandlerTag Get GetBoundingBoxSizePacket GetContext GetEnvironment GetFileName GetFrontEndOptionsDataPacket GetLinebreakInformationPacket GetMenusPacket GetPageBreakInformationPacket Glaisher GlobalClusteringCoefficient GlobalPreferences GlobalSession Glow GoldenAngle GoldenRatio GompertzMakehamDistribution GoodmanKruskalGamma GoodmanKruskalGammaTest Goto Grad Gradient GradientFilter GradientOrientationFilter GrammarApply GrammarRules GrammarToken Graph Graph3D GraphAssortativity GraphAutomorphismGroup GraphCenter GraphComplement GraphData GraphDensity GraphDiameter GraphDifference GraphDisjointUnion GraphDistance GraphDistanceMatrix GraphElementData GraphEmbedding GraphHighlight GraphHighlightStyle GraphHub Graphics Graphics3D Graphics3DBox Graphics3DBoxOptions GraphicsArray GraphicsBaseline GraphicsBox GraphicsBoxOptions GraphicsColor GraphicsColumn GraphicsComplex GraphicsComplex3DBox GraphicsComplex3DBoxOptions GraphicsComplexBox GraphicsComplexBoxOptions GraphicsContents GraphicsData GraphicsGrid GraphicsGridBox GraphicsGroup GraphicsGroup3DBox GraphicsGroup3DBoxOptions GraphicsGroupBox GraphicsGroupBoxOptions GraphicsGrouping GraphicsHighlightColor GraphicsRow GraphicsSpacing GraphicsStyle GraphIntersection GraphLayout GraphLinkEfficiency GraphPeriphery GraphPlot GraphPlot3D GraphPower GraphPropertyDistribution GraphQ GraphRadius GraphReciprocity GraphRoot GraphStyle GraphUnion Gray GrayLevel Greater GreaterEqual GreaterEqualLess GreaterEqualThan GreaterFullEqual GreaterGreater GreaterLess GreaterSlantEqual GreaterThan GreaterTilde Green GreenFunction Grid GridBaseline GridBox GridBoxAlignment GridBoxBackground GridBoxDividers GridBoxFrame GridBoxItemSize GridBoxItemStyle GridBoxOptions GridBoxSpacings GridCreationSettings GridDefaultElement GridElementStyleOptions GridFrame GridFrameMargins GridGraph GridLines GridLinesStyle GroebnerBasis GroupActionBase GroupBy GroupCentralizer GroupElementFromWord GroupElementPosition GroupElementQ GroupElements GroupElementToWord GroupGenerators Groupings GroupMultiplicationTable GroupOrbits GroupOrder GroupPageBreakWithin GroupSetwiseStabilizer GroupStabilizer GroupStabilizerChain GroupTogetherGrouping GroupTogetherNestedGrouping GrowCutComponents Gudermannian GuidedFilter GumbelDistributionHaarWavelet HadamardMatrix HalfLine HalfNormalDistribution HalfPlane HalfSpace HamiltonianGraphQ HammingDistance HammingWindow HandlerFunctions HandlerFunctionsKeys HankelH1 HankelH2 HankelMatrix HankelTransform HannPoissonWindow HannWindow HaradaNortonGroupHN HararyGraph HarmonicMean HarmonicMeanFilter HarmonicNumber Hash Haversine HazardFunction Head HeadCompose HeaderLines Heads HeavisideLambda HeavisidePi HeavisideTheta HeldGroupHe HeldPart HelpBrowserLookup HelpBrowserNotebook HelpBrowserSettings Here HermiteDecomposition HermiteH HermitianMatrixQ HessenbergDecomposition Hessian HexadecimalCharacter Hexahedron HexahedronBox HexahedronBoxOptions HiddenMarkovProcess HiddenSurface Highlighted HighlightGraph HighlightImage HighlightMesh HighpassFilter HigmanSimsGroupHS HilbertCurve HilbertFilter HilbertMatrix Histogram Histogram3D HistogramDistribution HistogramList HistogramTransform HistogramTransformInterpolation HistoricalPeriodData HitMissTransform HITSCentrality HjorthDistribution HodgeDual HoeffdingD HoeffdingDTest Hold HoldAll HoldAllComplete HoldComplete HoldFirst HoldForm HoldPattern HoldRest HolidayCalendar HomeDirectory HomePage Horizontal HorizontalForm HorizontalGauge HorizontalScrollPosition HornerForm HostLookup HotellingTSquareDistribution HoytDistribution HTMLSave HTTPErrorResponse HTTPRedirect HTTPRequest HTTPRequestData HTTPResponse Hue HumanGrowthData HumpDownHump HumpEqual HurwitzLerchPhi HurwitzZeta HyperbolicDistribution HypercubeGraph HyperexponentialDistribution Hyperfactorial Hypergeometric0F1 Hypergeometric0F1Regularized Hypergeometric1F1 Hypergeometric1F1Regularized Hypergeometric2F1 Hypergeometric2F1Regularized HypergeometricDistribution HypergeometricPFQ HypergeometricPFQRegularized HypergeometricU Hyperlink HyperlinkCreationSettings Hyperplane Hyphenation HyphenationOptions HypoexponentialDistribution HypothesisTestDataI IconData Iconize IconizedObject IconRules Icosahedron Identity IdentityMatrix If IgnoreCase IgnoreDiacritics IgnorePunctuation IgnoreSpellCheck IgnoringInactive Im Image Image3D Image3DProjection Image3DSlices ImageAccumulate ImageAdd ImageAdjust ImageAlign ImageApply ImageApplyIndexed ImageAspectRatio ImageAssemble ImageAugmentationLayer ImageBoundingBoxes ImageCache ImageCacheValid ImageCapture ImageCaptureFunction ImageCases ImageChannels ImageClip ImageCollage ImageColorSpace ImageCompose ImageContainsQ ImageContents ImageConvolve ImageCooccurrence ImageCorners ImageCorrelate ImageCorrespondingPoints ImageCrop ImageData ImageDeconvolve ImageDemosaic ImageDifference ImageDimensions ImageDisplacements ImageDistance ImageEffect ImageExposureCombine ImageFeatureTrack ImageFileApply ImageFileFilter ImageFileScan ImageFilter ImageFocusCombine ImageForestingComponents ImageFormattingWidth ImageForwardTransformation ImageGraphics ImageHistogram ImageIdentify ImageInstanceQ ImageKeypoints ImageLevels ImageLines ImageMargins ImageMarker ImageMarkers ImageMeasurements ImageMesh ImageMultiply ImageOffset ImagePad ImagePadding ImagePartition ImagePeriodogram ImagePerspectiveTransformation ImagePosition ImagePreviewFunction ImagePyramid ImagePyramidApply ImageQ ImageRangeCache ImageRecolor ImageReflect ImageRegion ImageResize ImageResolution ImageRestyle ImageRotate ImageRotated ImageSaliencyFilter ImageScaled ImageScan ImageSize ImageSizeAction ImageSizeCache ImageSizeMultipliers ImageSizeRaw ImageSubtract ImageTake ImageTransformation ImageTrim ImageType ImageValue ImageValuePositions ImagingDevice ImplicitRegion Implies Import ImportAutoReplacements ImportByteArray ImportOptions ImportString ImprovementImportance In Inactivate Inactive IncidenceGraph IncidenceList IncidenceMatrix IncludeAromaticBonds IncludeConstantBasis IncludeDefinitions IncludeDirectories IncludeFileExtension IncludeGeneratorTasks IncludeHydrogens IncludeInflections IncludeMetaInformation IncludePods IncludeQuantities IncludeRelatedTables IncludeSingularTerm IncludeWindowTimes Increment IndefiniteMatrixQ Indent IndentingNewlineSpacings IndentMaxFraction IndependenceTest IndependentEdgeSetQ IndependentPhysicalQuantity IndependentUnit IndependentUnitDimension IndependentVertexSetQ Indeterminate IndeterminateThreshold IndexCreationOptions Indexed IndexGraph IndexTag Inequality InexactNumberQ InexactNumbers InfiniteLine InfinitePlane Infinity Infix InflationAdjust InflationMethod Information InformationData InformationDataGrid Inherited InheritScope InhomogeneousPoissonProcess InitialEvaluationHistory Initialization InitializationCell InitializationCellEvaluation InitializationCellWarning InitializationObjects InitializationValue Initialize InitialSeeding InlineCounterAssignments InlineCounterIncrements InlineRules Inner InnerPolygon InnerPolyhedron Inpaint Input InputAliases InputAssumptions InputAutoReplacements InputField InputFieldBox InputFieldBoxOptions InputForm InputGrouping InputNamePacket InputNotebook InputPacket InputSettings InputStream InputString InputStringPacket InputToBoxFormPacket Insert InsertionFunction InsertionPointObject InsertLinebreaks InsertResults Inset Inset3DBox Inset3DBoxOptions InsetBox InsetBoxOptions Insphere Install InstallService InstanceNormalizationLayer InString Integer IntegerDigits IntegerExponent IntegerLength IntegerName IntegerPart IntegerPartitions IntegerQ IntegerReverse Integers IntegerString Integral Integrate Interactive InteractiveTradingChart Interlaced Interleaving InternallyBalancedDecomposition InterpolatingFunction InterpolatingPolynomial Interpolation InterpolationOrder InterpolationPoints InterpolationPrecision Interpretation InterpretationBox InterpretationBoxOptions InterpretationFunction Interpreter InterpretTemplate InterquartileRange Interrupt InterruptSettings IntersectingQ Intersection Interval IntervalIntersection IntervalMarkers IntervalMarkersStyle IntervalMemberQ IntervalSlider IntervalUnion Into Inverse InverseBetaRegularized InverseCDF InverseChiSquareDistribution InverseContinuousWaveletTransform InverseDistanceTransform InverseEllipticNomeQ InverseErf InverseErfc InverseFourier InverseFourierCosTransform InverseFourierSequenceTransform InverseFourierSinTransform InverseFourierTransform InverseFunction InverseFunctions InverseGammaDistribution InverseGammaRegularized InverseGaussianDistribution InverseGudermannian InverseHankelTransform InverseHaversine InverseImagePyramid InverseJacobiCD InverseJacobiCN InverseJacobiCS InverseJacobiDC InverseJacobiDN InverseJacobiDS InverseJacobiNC InverseJacobiND InverseJacobiNS InverseJacobiSC InverseJacobiSD InverseJacobiSN InverseLaplaceTransform InverseMellinTransform InversePermutation InverseRadon InverseRadonTransform InverseSeries InverseShortTimeFourier InverseSpectrogram InverseSurvivalFunction InverseTransformedRegion InverseWaveletTransform InverseWeierstrassP InverseWishartMatrixDistribution InverseZTransform Invisible InvisibleApplication InvisibleTimes IPAddress IrreduciblePolynomialQ IslandData IsolatingInterval IsomorphicGraphQ IsotopeData Italic Item ItemAspectRatio ItemBox ItemBoxOptions ItemSize ItemStyle ItoProcessJaccardDissimilarity JacobiAmplitude Jacobian JacobiCD JacobiCN JacobiCS JacobiDC JacobiDN JacobiDS JacobiNC JacobiND JacobiNS JacobiP JacobiSC JacobiSD JacobiSN JacobiSymbol JacobiZeta JankoGroupJ1 JankoGroupJ2 JankoGroupJ3 JankoGroupJ4 JarqueBeraALMTest JohnsonDistribution Join JoinAcross Joined JoinedCurve JoinedCurveBox JoinedCurveBoxOptions JoinForm JordanDecomposition JordanModelDecomposition JulianDate JuliaSetBoettcher JuliaSetIterationCount JuliaSetPlot JuliaSetPointsK KagiChart KaiserBesselWindow KaiserWindow KalmanEstimator KalmanFilter KarhunenLoeveDecomposition KaryTree KatzCentrality KCoreComponents KDistribution KEdgeConnectedComponents KEdgeConnectedGraphQ KelvinBei KelvinBer KelvinKei KelvinKer KendallTau KendallTauTest KernelExecute KernelFunction KernelMixtureDistribution Kernels Ket Key KeyCollisionFunction KeyComplement KeyDrop KeyDropFrom KeyExistsQ KeyFreeQ KeyIntersection KeyMap KeyMemberQ KeypointStrength Keys KeySelect KeySort KeySortBy KeyTake KeyUnion KeyValueMap KeyValuePattern Khinchin KillProcess KirchhoffGraph KirchhoffMatrix KleinInvariantJ KnapsackSolve KnightTourGraph KnotData KnownUnitQ KochCurve KolmogorovSmirnovTest KroneckerDelta KroneckerModelDecomposition KroneckerProduct KroneckerSymbol KuiperTest KumaraswamyDistribution Kurtosis KuwaharaFilter KVertexConnectedComponents KVertexConnectedGraphQLABColor Label Labeled LabeledSlider LabelingFunction LabelingSize LabelStyle LabelVisibility LaguerreL LakeData LambdaComponents LambertW LaminaData LanczosWindow LandauDistribution Language LanguageCategory LanguageData LanguageIdentify LanguageOptions LaplaceDistribution LaplaceTransform Laplacian LaplacianFilter LaplacianGaussianFilter Large Larger Last Latitude LatitudeLongitude LatticeData LatticeReduce Launch LaunchKernels LayeredGraphPlot LayerSizeFunction LayoutInformation LCHColor LCM LeaderSize LeafCount LeapYearQ LearnDistribution LearnedDistribution LearningRate LearningRateMultipliers LeastSquares LeastSquaresFilterKernel Left LeftArrow LeftArrowBar LeftArrowRightArrow LeftDownTeeVector LeftDownVector LeftDownVectorBar LeftRightArrow LeftRightVector LeftTee LeftTeeArrow LeftTeeVector LeftTriangle LeftTriangleBar LeftTriangleEqual LeftUpDownVector LeftUpTeeVector LeftUpVector LeftUpVectorBar LeftVector LeftVectorBar LegendAppearance Legended LegendFunction LegendLabel LegendLayout LegendMargins LegendMarkers LegendMarkerSize LegendreP LegendreQ LegendreType Length LengthWhile LerchPhi Less LessEqual LessEqualGreater LessEqualThan LessFullEqual LessGreater LessLess LessSlantEqual LessThan LessTilde LetterCharacter LetterCounts LetterNumber LetterQ Level LeveneTest LeviCivitaTensor LevyDistribution Lexicographic LibraryDataType LibraryFunction LibraryFunctionError LibraryFunctionInformation LibraryFunctionLoad LibraryFunctionUnload LibraryLoad LibraryUnload LicenseID LiftingFilterData LiftingWaveletTransform LightBlue LightBrown LightCyan Lighter LightGray LightGreen Lighting LightingAngle LightMagenta LightOrange LightPink LightPurple LightRed LightSources LightYellow Likelihood Limit LimitsPositioning LimitsPositioningTokens LindleyDistribution Line Line3DBox Line3DBoxOptions LinearFilter LinearFractionalOptimization LinearFractionalTransform LinearGradientImage LinearizingTransformationData LinearLayer LinearModelFit LinearOffsetFunction LinearOptimization LinearProgramming LinearRecurrence LinearSolve LinearSolveFunction LineBox LineBoxOptions LineBreak LinebreakAdjustments LineBreakChart LinebreakSemicolonWeighting LineBreakWithin LineColor LineGraph LineIndent LineIndentMaxFraction LineIntegralConvolutionPlot LineIntegralConvolutionScale LineLegend LineOpacity LineSpacing LineWrapParts LinkActivate LinkClose LinkConnect LinkConnectedQ LinkCreate LinkError LinkFlush LinkFunction LinkHost LinkInterrupt LinkLaunch LinkMode LinkObject LinkOpen LinkOptions LinkPatterns LinkProtocol LinkRankCentrality LinkRead LinkReadHeld LinkReadyQ Links LinkService LinkWrite LinkWriteHeld LiouvilleLambda List Listable ListAnimate ListContourPlot ListContourPlot3D ListConvolve ListCorrelate ListCurvePathPlot ListDeconvolve ListDensityPlot ListDensityPlot3D Listen ListFormat ListFourierSequenceTransform ListInterpolation ListLineIntegralConvolutionPlot ListLinePlot ListLogLinearPlot ListLogLogPlot ListLogPlot ListPicker ListPickerBox ListPickerBoxBackground ListPickerBoxOptions ListPlay ListPlot ListPlot3D ListPointPlot3D ListPolarPlot ListQ ListSliceContourPlot3D ListSliceDensityPlot3D ListSliceVectorPlot3D ListStepPlot ListStreamDensityPlot ListStreamPlot ListSurfacePlot3D ListVectorDensityPlot ListVectorPlot ListVectorPlot3D ListZTransform Literal LiteralSearch LocalAdaptiveBinarize LocalCache LocalClusteringCoefficient LocalizeDefinitions LocalizeVariables LocalObject LocalObjects LocalResponseNormalizationLayer LocalSubmit LocalSymbol LocalTime LocalTimeZone LocationEquivalenceTest LocationTest Locator LocatorAutoCreate LocatorBox LocatorBoxOptions LocatorCentering LocatorPane LocatorPaneBox LocatorPaneBoxOptions LocatorRegion Locked Log Log10 Log2 LogBarnesG LogGamma LogGammaDistribution LogicalExpand LogIntegral LogisticDistribution LogisticSigmoid LogitModelFit LogLikelihood LogLinearPlot LogLogisticDistribution LogLogPlot LogMultinormalDistribution LogNormalDistribution LogPlot LogRankTest LogSeriesDistribution LongEqual Longest LongestCommonSequence LongestCommonSequencePositions LongestCommonSubsequence LongestCommonSubsequencePositions LongestMatch LongestOrderedSequence LongForm Longitude LongLeftArrow LongLeftRightArrow LongRightArrow LongShortTermMemoryLayer Lookup Loopback LoopFreeGraphQ LossFunction LowerCaseQ LowerLeftArrow LowerRightArrow LowerTriangularize LowerTriangularMatrixQ LowpassFilter LQEstimatorGains LQGRegulator LQOutputRegulatorGains LQRegulatorGains LUBackSubstitution LucasL LuccioSamiComponents LUDecomposition LunarEclipse LUVColor LyapunovSolve LyonsGroupLyMachineID MachineName MachineNumberQ MachinePrecision MacintoshSystemPageSetup Magenta Magnification Magnify MailAddressValidation MailExecute MailFolder MailItem MailReceiverFunction MailResponseFunction MailSearch MailServerConnect MailServerConnection MailSettings MainSolve MaintainDynamicCaches Majority MakeBoxes MakeExpression MakeRules ManagedLibraryExpressionID ManagedLibraryExpressionQ MandelbrotSetBoettcher MandelbrotSetDistance MandelbrotSetIterationCount MandelbrotSetMemberQ MandelbrotSetPlot MangoldtLambda ManhattanDistance Manipulate Manipulator MannedSpaceMissionData MannWhitneyTest MantissaExponent Manual Map MapAll MapAt MapIndexed MAProcess MapThread MarchenkoPasturDistribution MarcumQ MardiaCombinedTest MardiaKurtosisTest MardiaSkewnessTest MarginalDistribution MarkovProcessProperties Masking MatchingDissimilarity MatchLocalNameQ MatchLocalNames MatchQ Material MathematicalFunctionData MathematicaNotation MathieuC MathieuCharacteristicA MathieuCharacteristicB MathieuCharacteristicExponent MathieuCPrime MathieuGroupM11 MathieuGroupM12 MathieuGroupM22 MathieuGroupM23 MathieuGroupM24 MathieuS MathieuSPrime MathMLForm MathMLText Matrices MatrixExp MatrixForm MatrixFunction MatrixLog MatrixNormalDistribution MatrixPlot MatrixPower MatrixPropertyDistribution MatrixQ MatrixRank MatrixTDistribution Max MaxBend MaxCellMeasure MaxColorDistance MaxDetect MaxDuration MaxExtraBandwidths MaxExtraConditions MaxFeatureDisplacement MaxFeatures MaxFilter MaximalBy Maximize MaxItems MaxIterations MaxLimit MaxMemoryUsed MaxMixtureKernels MaxOverlapFraction MaxPlotPoints MaxPoints MaxRecursion MaxStableDistribution MaxStepFraction MaxSteps MaxStepSize MaxTrainingRounds MaxValue MaxwellDistribution MaxWordGap McLaughlinGroupMcL Mean MeanAbsoluteLossLayer MeanAround MeanClusteringCoefficient MeanDegreeConnectivity MeanDeviation MeanFilter MeanGraphDistance MeanNeighborDegree MeanShift MeanShiftFilter MeanSquaredLossLayer Median MedianDeviation MedianFilter MedicalTestData Medium MeijerG MeijerGReduce MeixnerDistribution MellinConvolve MellinTransform MemberQ MemoryAvailable MemoryConstrained MemoryConstraint MemoryInUse MengerMesh Menu MenuAppearance MenuCommandKey MenuEvaluator MenuItem MenuList MenuPacket MenuSortingValue MenuStyle MenuView Merge MergeDifferences MergingFunction MersennePrimeExponent MersennePrimeExponentQ Mesh MeshCellCentroid MeshCellCount MeshCellHighlight MeshCellIndex MeshCellLabel MeshCellMarker MeshCellMeasure MeshCellQuality MeshCells MeshCellShapeFunction MeshCellStyle MeshCoordinates MeshFunctions MeshPrimitives MeshQualityGoal MeshRange MeshRefinementFunction MeshRegion MeshRegionQ MeshShading MeshStyle Message MessageDialog MessageList MessageName MessageObject MessageOptions MessagePacket Messages MessagesNotebook MetaCharacters MetaInformation MeteorShowerData Method MethodOptions MexicanHatWavelet MeyerWavelet Midpoint Min MinColorDistance MinDetect MineralData MinFilter MinimalBy MinimalPolynomial MinimalStateSpaceModel Minimize MinimumTimeIncrement MinIntervalSize MinkowskiQuestionMark MinLimit MinMax MinorPlanetData Minors MinRecursion MinSize MinStableDistribution Minus MinusPlus MinValue Missing MissingBehavior MissingDataMethod MissingDataRules MissingQ MissingString MissingStyle MissingValuePattern MittagLefflerE MixedFractionParts MixedGraphQ MixedMagnitude MixedRadix MixedRadixQuantity MixedUnit MixtureDistribution Mod Modal Mode Modular ModularInverse ModularLambda Module Modulus MoebiusMu Molecule MoleculeContainsQ MoleculeEquivalentQ MoleculeGraph MoleculeModify MoleculePattern MoleculePlot MoleculePlot3D MoleculeProperty MoleculeQ MoleculeValue Moment Momentary MomentConvert MomentEvaluate MomentGeneratingFunction MomentOfInertia Monday Monitor MonomialList MonomialOrder MonsterGroupM MoonPhase MoonPosition MorletWavelet MorphologicalBinarize MorphologicalBranchPoints MorphologicalComponents MorphologicalEulerNumber MorphologicalGraph MorphologicalPerimeter MorphologicalTransform MortalityData Most MountainData MouseAnnotation MouseAppearance MouseAppearanceTag MouseButtons Mouseover MousePointerNote MousePosition MovieData MovingAverage MovingMap MovingMedian MoyalDistribution Multicolumn MultiedgeStyle MultigraphQ MultilaunchWarning MultiLetterItalics MultiLetterStyle MultilineFunction Multinomial MultinomialDistribution MultinormalDistribution MultiplicativeOrder Multiplicity MultiplySides Multiselection MultivariateHypergeometricDistribution MultivariatePoissonDistribution MultivariateTDistributionN NakagamiDistribution NameQ Names NamespaceBox NamespaceBoxOptions Nand NArgMax NArgMin NBernoulliB NBodySimulation NBodySimulationData NCache NDEigensystem NDEigenvalues NDSolve NDSolveValue Nearest NearestFunction NearestNeighborGraph NearestTo NebulaData NeedCurrentFrontEndPackagePacket NeedCurrentFrontEndSymbolsPacket NeedlemanWunschSimilarity Needs Negative NegativeBinomialDistribution NegativeDefiniteMatrixQ NegativeIntegers NegativeMultinomialDistribution NegativeRationals NegativeReals NegativeSemidefiniteMatrixQ NeighborhoodData NeighborhoodGraph Nest NestedGreaterGreater NestedLessLess NestedScriptRules NestGraph NestList NestWhile NestWhileList NetAppend NetBidirectionalOperator NetChain NetDecoder NetDelete NetDrop NetEncoder NetEvaluationMode NetExtract NetFlatten NetFoldOperator NetGraph NetInformation NetInitialize NetInsert NetInsertSharedArrays NetJoin NetMapOperator NetMapThreadOperator NetMeasurements NetModel NetNestOperator NetPairEmbeddingOperator NetPort NetPortGradient NetPrepend NetRename NetReplace NetReplacePart NetSharedArray NetStateObject NetTake NetTrain NetTrainResultsObject NetworkPacketCapture NetworkPacketRecording NetworkPacketRecordingDuring NetworkPacketTrace NeumannValue NevilleThetaC NevilleThetaD NevilleThetaN NevilleThetaS NewPrimitiveStyle NExpectation Next NextCell NextDate NextPrime NextScheduledTaskTime NHoldAll NHoldFirst NHoldRest NicholsGridLines NicholsPlot NightHemisphere NIntegrate NMaximize NMaxValue NMinimize NMinValue NominalVariables NonAssociative NoncentralBetaDistribution NoncentralChiSquareDistribution NoncentralFRatioDistribution NoncentralStudentTDistribution NonCommutativeMultiply NonConstants NondimensionalizationTransform None NoneTrue NonlinearModelFit NonlinearStateSpaceModel NonlocalMeansFilter NonNegative NonNegativeIntegers NonNegativeRationals NonNegativeReals NonPositive NonPositiveIntegers NonPositiveRationals NonPositiveReals Nor NorlundB Norm Normal NormalDistribution NormalGrouping NormalizationLayer Normalize Normalized NormalizedSquaredEuclideanDistance NormalMatrixQ NormalsFunction NormFunction Not NotCongruent NotCupCap NotDoubleVerticalBar Notebook NotebookApply NotebookAutoSave NotebookClose NotebookConvertSettings NotebookCreate NotebookCreateReturnObject NotebookDefault NotebookDelete NotebookDirectory NotebookDynamicExpression NotebookEvaluate NotebookEventActions NotebookFileName NotebookFind NotebookFindReturnObject NotebookGet NotebookGetLayoutInformationPacket NotebookGetMisspellingsPacket NotebookImport NotebookInformation NotebookInterfaceObject NotebookLocate NotebookObject NotebookOpen NotebookOpenReturnObject NotebookPath NotebookPrint NotebookPut NotebookPutReturnObject NotebookRead NotebookResetGeneratedCells Notebooks NotebookSave NotebookSaveAs NotebookSelection NotebookSetupLayoutInformationPacket NotebooksMenu NotebookTemplate NotebookWrite NotElement NotEqualTilde NotExists NotGreater NotGreaterEqual NotGreaterFullEqual NotGreaterGreater NotGreaterLess NotGreaterSlantEqual NotGreaterTilde Nothing NotHumpDownHump NotHumpEqual NotificationFunction NotLeftTriangle NotLeftTriangleBar NotLeftTriangleEqual NotLess NotLessEqual NotLessFullEqual NotLessGreater NotLessLess NotLessSlantEqual NotLessTilde NotNestedGreaterGreater NotNestedLessLess NotPrecedes NotPrecedesEqual NotPrecedesSlantEqual NotPrecedesTilde NotReverseElement NotRightTriangle NotRightTriangleBar NotRightTriangleEqual NotSquareSubset NotSquareSubsetEqual NotSquareSuperset NotSquareSupersetEqual NotSubset NotSubsetEqual NotSucceeds NotSucceedsEqual NotSucceedsSlantEqual NotSucceedsTilde NotSuperset NotSupersetEqual NotTilde NotTildeEqual NotTildeFullEqual NotTildeTilde NotVerticalBar Now NoWhitespace NProbability NProduct NProductFactors NRoots NSolve NSum NSumTerms NuclearExplosionData NuclearReactorData Null NullRecords NullSpace NullWords Number NumberCompose NumberDecompose NumberExpand NumberFieldClassNumber NumberFieldDiscriminant NumberFieldFundamentalUnits NumberFieldIntegralBasis NumberFieldNormRepresentatives NumberFieldRegulator NumberFieldRootsOfUnity NumberFieldSignature NumberForm NumberFormat NumberLinePlot NumberMarks NumberMultiplier NumberPadding NumberPoint NumberQ NumberSeparator NumberSigns NumberString Numerator NumeratorDenominator NumericalOrder NumericalSort NumericArray NumericArrayQ NumericArrayType NumericFunction NumericQ NuttallWindow NValues NyquistGridLines NyquistPlotO ObservabilityGramian ObservabilityMatrix ObservableDecomposition ObservableModelQ OceanData Octahedron OddQ Off Offset OLEData On ONanGroupON Once OneIdentity Opacity OpacityFunction OpacityFunctionScaling Open OpenAppend Opener OpenerBox OpenerBoxOptions OpenerView OpenFunctionInspectorPacket Opening OpenRead OpenSpecialOptions OpenTemporary OpenWrite Operate OperatingSystem OptimumFlowData Optional OptionalElement OptionInspectorSettings OptionQ Options OptionsPacket OptionsPattern OptionValue OptionValueBox OptionValueBoxOptions Or Orange Order OrderDistribution OrderedQ Ordering OrderingBy OrderingLayer Orderless OrderlessPatternSequence OrnsteinUhlenbeckProcess Orthogonalize OrthogonalMatrixQ Out Outer OuterPolygon OuterPolyhedron OutputAutoOverwrite OutputControllabilityMatrix OutputControllableModelQ OutputForm OutputFormData OutputGrouping OutputMathEditExpression OutputNamePacket OutputResponse OutputSizeLimit OutputStream Over OverBar OverDot Overflow OverHat Overlaps Overlay OverlayBox OverlayBoxOptions Overscript OverscriptBox OverscriptBoxOptions OverTilde OverVector OverwriteTarget OwenT OwnValuesPackage PackingMethod PaddedForm Padding PaddingLayer PaddingSize PadeApproximant PadLeft PadRight PageBreakAbove PageBreakBelow PageBreakWithin PageFooterLines PageFooters PageHeaderLines PageHeaders PageHeight PageRankCentrality PageTheme PageWidth Pagination PairedBarChart PairedHistogram PairedSmoothHistogram PairedTTest PairedZTest PaletteNotebook PalettePath PalindromeQ Pane PaneBox PaneBoxOptions Panel PanelBox PanelBoxOptions Paneled PaneSelector PaneSelectorBox PaneSelectorBoxOptions PaperWidth ParabolicCylinderD ParagraphIndent ParagraphSpacing ParallelArray ParallelCombine ParallelDo Parallelepiped ParallelEvaluate Parallelization Parallelize ParallelMap ParallelNeeds Parallelogram ParallelProduct ParallelSubmit ParallelSum ParallelTable ParallelTry Parameter ParameterEstimator ParameterMixtureDistribution ParameterVariables ParametricFunction ParametricNDSolve ParametricNDSolveValue ParametricPlot ParametricPlot3D ParametricRegion ParentBox ParentCell ParentConnect ParentDirectory ParentForm Parenthesize ParentList ParentNotebook ParetoDistribution ParetoPickandsDistribution ParkData Part PartBehavior PartialCorrelationFunction PartialD ParticleAcceleratorData ParticleData Partition PartitionGranularity PartitionsP PartitionsQ PartLayer PartOfSpeech PartProtection ParzenWindow PascalDistribution PassEventsDown PassEventsUp Paste PasteAutoQuoteCharacters PasteBoxFormInlineCells PasteButton Path PathGraph PathGraphQ Pattern PatternSequence PatternTest PauliMatrix PaulWavelet Pause PausedTime PDF PeakDetect PeanoCurve PearsonChiSquareTest PearsonCorrelationTest PearsonDistribution PercentForm PerfectNumber PerfectNumberQ PerformanceGoal Perimeter PeriodicBoundaryCondition PeriodicInterpolation Periodogram PeriodogramArray Permanent Permissions PermissionsGroup PermissionsGroupMemberQ PermissionsGroups PermissionsKey PermissionsKeys PermutationCycles PermutationCyclesQ PermutationGroup PermutationLength PermutationList PermutationListQ PermutationMax PermutationMin PermutationOrder PermutationPower PermutationProduct PermutationReplace Permutations PermutationSupport Permute PeronaMalikFilter Perpendicular PerpendicularBisector PersistenceLocation PersistenceTime PersistentObject PersistentObjects PersistentValue PersonData PERTDistribution PetersenGraph PhaseMargins PhaseRange PhysicalSystemData Pi Pick PIDData PIDDerivativeFilter PIDFeedforward PIDTune Piecewise PiecewiseExpand PieChart PieChart3D PillaiTrace PillaiTraceTest PingTime Pink PitchRecognize Pivoting PixelConstrained PixelValue PixelValuePositions Placed Placeholder PlaceholderReplace Plain PlanarAngle PlanarGraph PlanarGraphQ PlanckRadiationLaw PlaneCurveData PlanetaryMoonData PlanetData PlantData Play PlayRange Plot Plot3D Plot3Matrix PlotDivision PlotJoined PlotLabel PlotLabels PlotLayout PlotLegends PlotMarkers PlotPoints PlotRange PlotRangeClipping PlotRangeClipPlanesStyle PlotRangePadding PlotRegion PlotStyle PlotTheme Pluralize Plus PlusMinus Pochhammer PodStates PodWidth Point Point3DBox Point3DBoxOptions PointBox PointBoxOptions PointFigureChart PointLegend PointSize PoissonConsulDistribution PoissonDistribution PoissonProcess PoissonWindow PolarAxes PolarAxesOrigin PolarGridLines PolarPlot PolarTicks PoleZeroMarkers PolyaAeppliDistribution PolyGamma Polygon Polygon3DBox Polygon3DBoxOptions PolygonalNumber PolygonAngle PolygonBox PolygonBoxOptions PolygonCoordinates PolygonDecomposition PolygonHoleScale PolygonIntersections PolygonScale Polyhedron PolyhedronAngle PolyhedronCoordinates PolyhedronData PolyhedronDecomposition PolyhedronGenus PolyLog PolynomialExtendedGCD PolynomialForm PolynomialGCD PolynomialLCM PolynomialMod PolynomialQ PolynomialQuotient PolynomialQuotientRemainder PolynomialReduce PolynomialRemainder Polynomials PoolingLayer PopupMenu PopupMenuBox PopupMenuBoxOptions PopupView PopupWindow Position PositionIndex Positive PositiveDefiniteMatrixQ PositiveIntegers PositiveRationals PositiveReals PositiveSemidefiniteMatrixQ PossibleZeroQ Postfix PostScript Power PowerDistribution PowerExpand PowerMod PowerModList PowerRange PowerSpectralDensity PowersRepresentations PowerSymmetricPolynomial Precedence PrecedenceForm Precedes PrecedesEqual PrecedesSlantEqual PrecedesTilde Precision PrecisionGoal PreDecrement Predict PredictionRoot PredictorFunction PredictorInformation PredictorMeasurements PredictorMeasurementsObject PreemptProtect PreferencesPath Prefix PreIncrement Prepend PrependLayer PrependTo PreprocessingRules PreserveColor PreserveImageOptions Previous PreviousCell PreviousDate PriceGraphDistribution PrimaryPlaceholder Prime PrimeNu PrimeOmega PrimePi PrimePowerQ PrimeQ Primes PrimeZetaP PrimitivePolynomialQ PrimitiveRoot PrimitiveRootList PrincipalComponents PrincipalValue Print PrintableASCIIQ PrintAction PrintForm PrintingCopies PrintingOptions PrintingPageRange PrintingStartingPageNumber PrintingStyleEnvironment Printout3D Printout3DPreviewer PrintPrecision PrintTemporary Prism PrismBox PrismBoxOptions PrivateCellOptions PrivateEvaluationOptions PrivateFontOptions PrivateFrontEndOptions PrivateKey PrivateNotebookOptions PrivatePaths Probability ProbabilityDistribution ProbabilityPlot ProbabilityPr ProbabilityScalePlot ProbitModelFit ProcessConnection ProcessDirectory ProcessEnvironment Processes ProcessEstimator ProcessInformation ProcessObject ProcessParameterAssumptions ProcessParameterQ ProcessStateDomain ProcessStatus ProcessTimeDomain Product ProductDistribution ProductLog ProgressIndicator ProgressIndicatorBox ProgressIndicatorBoxOptions Projection Prolog PromptForm ProofObject Properties Property PropertyList PropertyValue Proportion Proportional Protect Protected ProteinData Pruning PseudoInverse PsychrometricPropertyData PublicKey PublisherID PulsarData PunctuationCharacter Purple Put PutAppend Pyramid PyramidBox PyramidBoxOptionsQBinomial QFactorial QGamma QHypergeometricPFQ QnDispersion QPochhammer QPolyGamma QRDecomposition QuadraticIrrationalQ QuadraticOptimization Quantile QuantilePlot Quantity QuantityArray QuantityDistribution QuantityForm QuantityMagnitude QuantityQ QuantityUnit QuantityVariable QuantityVariableCanonicalUnit QuantityVariableDimensions QuantityVariableIdentifier QuantityVariablePhysicalQuantity Quartics QuartileDeviation Quartiles QuartileSkewness Query QueueingNetworkProcess QueueingProcess QueueProperties Quiet Quit Quotient QuotientRemainderRadialGradientImage RadialityCentrality RadicalBox RadicalBoxOptions RadioButton RadioButtonBar RadioButtonBox RadioButtonBoxOptions Radon RadonTransform RamanujanTau RamanujanTauL RamanujanTauTheta RamanujanTauZ Ramp Random RandomChoice RandomColor RandomComplex RandomEntity RandomFunction RandomGeoPosition RandomGraph RandomImage RandomInstance RandomInteger RandomPermutation RandomPoint RandomPolygon RandomPolyhedron RandomPrime RandomReal RandomSample RandomSeed RandomSeeding RandomVariate RandomWalkProcess RandomWord Range RangeFilter RangeSpecification RankedMax RankedMin RarerProbability Raster Raster3D Raster3DBox Raster3DBoxOptions RasterArray RasterBox RasterBoxOptions Rasterize RasterSize Rational RationalFunctions Rationalize Rationals Ratios RawArray RawBoxes RawData RawMedium RayleighDistribution Re Read ReadByteArray ReadLine ReadList ReadProtected ReadString Real RealAbs RealBlockDiagonalForm RealDigits RealExponent Reals RealSign Reap RecognitionPrior RecognitionThreshold Record RecordLists RecordSeparators Rectangle RectangleBox RectangleBoxOptions RectangleChart RectangleChart3D RectangularRepeatingElement RecurrenceFilter RecurrenceTable RecurringDigitsForm Red Reduce RefBox ReferenceLineStyle ReferenceMarkers ReferenceMarkerStyle Refine ReflectionMatrix ReflectionTransform Refresh RefreshRate Region RegionBinarize RegionBoundary RegionBounds RegionCentroid RegionDifference RegionDimension RegionDisjoint RegionDistance RegionDistanceFunction RegionEmbeddingDimension RegionEqual RegionFunction RegionImage RegionIntersection RegionMeasure RegionMember RegionMemberFunction RegionMoment RegionNearest RegionNearestFunction RegionPlot RegionPlot3D RegionProduct RegionQ RegionResize RegionSize RegionSymmetricDifference RegionUnion RegionWithin RegisterExternalEvaluator RegularExpression Regularization RegularlySampledQ RegularPolygon ReIm ReImLabels ReImPlot ReImStyle Reinstall RelationalDatabase RelationGraph Release ReleaseHold ReliabilityDistribution ReliefImage ReliefPlot RemoteAuthorizationCaching RemoteConnect RemoteConnectionObject RemoteFile RemoteRun RemoteRunProcess Remove RemoveAlphaChannel RemoveAsynchronousTask RemoveAudioStream RemoveBackground RemoveChannelListener RemoveChannelSubscribers Removed RemoveDiacritics RemoveInputStreamMethod RemoveOutputStreamMethod RemoveProperty RemoveScheduledTask RemoveUsers RenameDirectory RenameFile RenderAll RenderingOptions RenewalProcess RenkoChart RepairMesh Repeated RepeatedNull RepeatedString RepeatedTiming RepeatingElement Replace ReplaceAll ReplaceHeldPart ReplaceImageValue ReplaceList ReplacePart ReplacePixelValue ReplaceRepeated ReplicateLayer RequiredPhysicalQuantities Resampling ResamplingAlgorithmData ResamplingMethod Rescale RescalingTransform ResetDirectory ResetMenusPacket ResetScheduledTask ReshapeLayer Residue ResizeLayer Resolve ResourceAcquire ResourceData ResourceFunction ResourceObject ResourceRegister ResourceRemove ResourceSearch ResourceSubmissionObject ResourceSubmit ResourceSystemBase ResourceUpdate ResponseForm Rest RestartInterval Restricted Resultant ResumePacket Return ReturnEntersInput ReturnExpressionPacket ReturnInputFormPacket ReturnPacket ReturnReceiptFunction ReturnTextPacket Reverse ReverseBiorthogonalSplineWavelet ReverseElement ReverseEquilibrium ReverseGraph ReverseSort ReverseSortBy ReverseUpEquilibrium RevolutionAxis RevolutionPlot3D RGBColor RiccatiSolve RiceDistribution RidgeFilter RiemannR RiemannSiegelTheta RiemannSiegelZ RiemannXi Riffle Right RightArrow RightArrowBar RightArrowLeftArrow RightComposition RightCosetRepresentative RightDownTeeVector RightDownVector RightDownVectorBar RightTee RightTeeArrow RightTeeVector RightTriangle RightTriangleBar RightTriangleEqual RightUpDownVector RightUpTeeVector RightUpVector RightUpVectorBar RightVector RightVectorBar RiskAchievementImportance RiskReductionImportance RogersTanimotoDissimilarity RollPitchYawAngles RollPitchYawMatrix RomanNumeral Root RootApproximant RootIntervals RootLocusPlot RootMeanSquare RootOfUnityQ RootReduce Roots RootSum Rotate RotateLabel RotateLeft RotateRight RotationAction RotationBox RotationBoxOptions RotationMatrix RotationTransform Round RoundImplies RoundingRadius Row RowAlignments RowBackgrounds RowBox RowHeights RowLines RowMinHeight RowReduce RowsEqual RowSpacings RSolve RSolveValue RudinShapiro RudvalisGroupRu Rule RuleCondition RuleDelayed RuleForm RulePlot RulerUnits Run RunProcess RunScheduledTask RunThrough RuntimeAttributes RuntimeOptions RussellRaoDissimilaritySameQ SameTest SampledEntityClass SampleDepth SampledSoundFunction SampledSoundList SampleRate SamplingPeriod SARIMAProcess SARMAProcess SASTriangle SatelliteData SatisfiabilityCount SatisfiabilityInstances SatisfiableQ Saturday Save Saveable SaveAutoDelete SaveConnection SaveDefinitions SavitzkyGolayMatrix SawtoothWave Scale Scaled ScaleDivisions ScaledMousePosition ScaleOrigin ScalePadding ScaleRanges ScaleRangeStyle ScalingFunctions ScalingMatrix ScalingTransform Scan ScheduledTask ScheduledTaskActiveQ ScheduledTaskInformation ScheduledTaskInformationData ScheduledTaskObject ScheduledTasks SchurDecomposition ScientificForm ScientificNotationThreshold ScorerGi ScorerGiPrime ScorerHi ScorerHiPrime ScreenRectangle ScreenStyleEnvironment ScriptBaselineShifts ScriptForm ScriptLevel ScriptMinSize ScriptRules ScriptSizeMultipliers Scrollbars ScrollingOptions ScrollPosition SearchAdjustment SearchIndexObject SearchIndices SearchQueryString SearchResultObject Sec Sech SechDistribution SecondOrderConeOptimization SectionGrouping SectorChart SectorChart3D SectorOrigin SectorSpacing SecuredAuthenticationKey SecuredAuthenticationKeys SeedRandom Select Selectable SelectComponents SelectedCells SelectedNotebook SelectFirst Selection SelectionAnimate SelectionCell SelectionCellCreateCell SelectionCellDefaultStyle SelectionCellParentStyle SelectionCreateCell SelectionDebuggerTag SelectionDuplicateCell SelectionEvaluate SelectionEvaluateCreateCell SelectionMove SelectionPlaceholder SelectionSetStyle SelectWithContents SelfLoops SelfLoopStyle SemanticImport SemanticImportString SemanticInterpretation SemialgebraicComponentInstances SemidefiniteOptimization SendMail SendMessage Sequence SequenceAlignment SequenceAttentionLayer SequenceCases SequenceCount SequenceFold SequenceFoldList SequenceForm SequenceHold SequenceLastLayer SequenceMostLayer SequencePosition SequencePredict SequencePredictorFunction SequenceReplace SequenceRestLayer SequenceReverseLayer SequenceSplit Series SeriesCoefficient SeriesData ServiceConnect ServiceDisconnect ServiceExecute ServiceObject ServiceRequest ServiceResponse ServiceSubmit SessionSubmit SessionTime Set SetAccuracy SetAlphaChannel SetAttributes Setbacks SetBoxFormNamesPacket SetCloudDirectory SetCookies SetDelayed SetDirectory SetEnvironment SetEvaluationNotebook SetFileDate SetFileLoadingContext SetNotebookStatusLine SetOptions SetOptionsPacket SetPermissions SetPrecision SetProperty SetSecuredAuthenticationKey SetSelectedNotebook SetSharedFunction SetSharedVariable SetSpeechParametersPacket SetStreamPosition SetSystemModel SetSystemOptions Setter SetterBar SetterBox SetterBoxOptions Setting SetUsers SetValue Shading Shallow ShannonWavelet ShapiroWilkTest Share SharingList Sharpen ShearingMatrix ShearingTransform ShellRegion ShenCastanMatrix ShiftedGompertzDistribution ShiftRegisterSequence Short ShortDownArrow Shortest ShortestMatch ShortestPathFunction ShortLeftArrow ShortRightArrow ShortTimeFourier ShortTimeFourierData ShortUpArrow Show ShowAutoConvert ShowAutoSpellCheck ShowAutoStyles ShowCellBracket ShowCellLabel ShowCellTags ShowClosedCellArea ShowCodeAssist ShowContents ShowControls ShowCursorTracker ShowGroupOpenCloseIcon ShowGroupOpener ShowInvisibleCharacters ShowPageBreaks ShowPredictiveInterface ShowSelection ShowShortBoxForm ShowSpecialCharacters ShowStringCharacters ShowSyntaxStyles ShrinkingDelay ShrinkWrapBoundingBox SiderealTime SiegelTheta SiegelTukeyTest SierpinskiCurve SierpinskiMesh Sign Signature SignedRankTest SignedRegionDistance SignificanceLevel SignPadding SignTest SimilarityRules SimpleGraph SimpleGraphQ SimplePolygonQ SimplePolyhedronQ Simplex Simplify Sin Sinc SinghMaddalaDistribution SingleEvaluation SingleLetterItalics SingleLetterStyle SingularValueDecomposition SingularValueList SingularValuePlot SingularValues Sinh SinhIntegral SinIntegral SixJSymbol Skeleton SkeletonTransform SkellamDistribution Skewness SkewNormalDistribution SkinStyle Skip SliceContourPlot3D SliceDensityPlot3D SliceDistribution SliceVectorPlot3D Slider Slider2D Slider2DBox Slider2DBoxOptions SliderBox SliderBoxOptions SlideView Slot SlotSequence Small SmallCircle Smaller SmithDecomposition SmithDelayCompensator SmithWatermanSimilarity SmoothDensityHistogram SmoothHistogram SmoothHistogram3D SmoothKernelDistribution SnDispersion Snippet SnubPolyhedron SocialMediaData Socket SocketConnect SocketListen SocketListener SocketObject SocketOpen SocketReadMessage SocketReadyQ Sockets SocketWaitAll SocketWaitNext SoftmaxLayer SokalSneathDissimilarity SolarEclipse SolarSystemFeatureData SolidAngle SolidData SolidRegionQ Solve SolveAlways SolveDelayed Sort SortBy SortedBy SortedEntityClass Sound SoundAndGraphics SoundNote SoundVolume SourceLink Sow Space SpaceCurveData SpaceForm Spacer Spacings Span SpanAdjustments SpanCharacterRounding SpanFromAbove SpanFromBoth SpanFromLeft SpanLineThickness SpanMaxSize SpanMinSize SpanningCharacters SpanSymmetric SparseArray SpatialGraphDistribution SpatialMedian SpatialTransformationLayer Speak SpeakTextPacket SpearmanRankTest SpearmanRho SpeciesData SpecificityGoal SpectralLineData Spectrogram SpectrogramArray Specularity SpeechRecognize SpeechSynthesize SpellingCorrection SpellingCorrectionList SpellingDictionaries SpellingDictionariesPath SpellingOptions SpellingSuggestionsPacket Sphere SphereBox SpherePoints SphericalBesselJ SphericalBesselY SphericalHankelH1 SphericalHankelH2 SphericalHarmonicY SphericalPlot3D SphericalRegion SphericalShell SpheroidalEigenvalue SpheroidalJoiningFactor SpheroidalPS SpheroidalPSPrime SpheroidalQS SpheroidalQSPrime SpheroidalRadialFactor SpheroidalS1 SpheroidalS1Prime SpheroidalS2 SpheroidalS2Prime Splice SplicedDistribution SplineClosed SplineDegree SplineKnots SplineWeights Split SplitBy SpokenString Sqrt SqrtBox SqrtBoxOptions Square SquaredEuclideanDistance SquareFreeQ SquareIntersection SquareMatrixQ SquareRepeatingElement SquaresR SquareSubset SquareSubsetEqual SquareSuperset SquareSupersetEqual SquareUnion SquareWave SSSTriangle StabilityMargins StabilityMarginsStyle StableDistribution Stack StackBegin StackComplete StackedDateListPlot StackedListPlot StackInhibit StadiumShape StandardAtmosphereData StandardDeviation StandardDeviationFilter StandardForm Standardize Standardized StandardOceanData StandbyDistribution Star StarClusterData StarData StarGraph StartAsynchronousTask StartExternalSession StartingStepSize StartOfLine StartOfString StartProcess StartScheduledTask StartupSound StartWebSession StateDimensions StateFeedbackGains StateOutputEstimator StateResponse StateSpaceModel StateSpaceRealization StateSpaceTransform StateTransformationLinearize StationaryDistribution StationaryWaveletPacketTransform StationaryWaveletTransform StatusArea StatusCentrality StepMonitor StereochemistryElements StieltjesGamma StirlingS1 StirlingS2 StopAsynchronousTask StoppingPowerData StopScheduledTask StrataVariables StratonovichProcess StreamColorFunction StreamColorFunctionScaling StreamDensityPlot StreamMarkers StreamPlot StreamPoints StreamPosition Streams StreamScale StreamStyle String StringBreak StringByteCount StringCases StringContainsQ StringCount StringDelete StringDrop StringEndsQ StringExpression StringExtract StringForm StringFormat StringFreeQ StringInsert StringJoin StringLength StringMatchQ StringPadLeft StringPadRight StringPart StringPartition StringPosition StringQ StringRepeat StringReplace StringReplaceList StringReplacePart StringReverse StringRiffle StringRotateLeft StringRotateRight StringSkeleton StringSplit StringStartsQ StringTake StringTemplate StringToByteArray StringToStream StringTrim StripBoxes StripOnInput StripWrapperBoxes StrokeForm StructuralImportance StructuredArray StructuredSelection StruveH StruveL Stub StudentTDistribution Style StyleBox StyleBoxAutoDelete StyleData StyleDefinitions StyleForm StyleHints StyleKeyMapping StyleMenuListing StyleNameDialogSettings StyleNames StylePrint StyleSheetPath Subdivide Subfactorial Subgraph SubMinus SubPlus SubresultantPolynomialRemainders SubresultantPolynomials Subresultants Subscript SubscriptBox SubscriptBoxOptions Subscripted Subsequences Subset SubsetEqual SubsetMap SubsetQ Subsets SubStar SubstitutionSystem Subsuperscript SubsuperscriptBox SubsuperscriptBoxOptions Subtract SubtractFrom SubtractSides SubValues Succeeds SucceedsEqual SucceedsSlantEqual SucceedsTilde Success SuchThat Sum SumConvergence SummationLayer Sunday SunPosition Sunrise Sunset SuperDagger SuperMinus SupernovaData SuperPlus Superscript SuperscriptBox SuperscriptBoxOptions Superset SupersetEqual SuperStar Surd SurdForm SurfaceArea SurfaceColor SurfaceData SurfaceGraphics SurvivalDistribution SurvivalFunction SurvivalModel SurvivalModelFit SuspendPacket SuzukiDistribution SuzukiGroupSuz SwatchLegend Switch Symbol SymbolName SymletWavelet Symmetric SymmetricGroup SymmetricKey SymmetricMatrixQ SymmetricPolynomial SymmetricReduction Symmetrize SymmetrizedArray SymmetrizedArrayRules SymmetrizedDependentComponents SymmetrizedIndependentComponents SymmetrizedReplacePart SynchronousInitialization SynchronousUpdating Synonyms Syntax SyntaxForm SyntaxInformation SyntaxLength SyntaxPacket SyntaxQ SynthesizeMissingValues SystemDialogInput SystemException SystemGet SystemHelpPath SystemInformation SystemInformationData SystemInstall SystemModel SystemModeler SystemModelExamples SystemModelLinearize SystemModelParametricSimulate SystemModelPlot SystemModelProgressReporting SystemModelReliability SystemModels SystemModelSimulate SystemModelSimulateSensitivity SystemModelSimulationData SystemOpen SystemOptions SystemProcessData SystemProcesses SystemsConnectionsModel SystemsModelDelay SystemsModelDelayApproximate SystemsModelDelete SystemsModelDimensions SystemsModelExtract SystemsModelFeedbackConnect SystemsModelLabels SystemsModelLinearity SystemsModelMerge SystemsModelOrder SystemsModelParallelConnect SystemsModelSeriesConnect SystemsModelStateFeedbackConnect SystemsModelVectorRelativeOrders SystemStub SystemTestTab TabFilling Table TableAlignments TableDepth TableDirections TableForm TableHeadings TableSpacing TableView TableViewBox TableViewBoxBackground TableViewBoxOptions TabSpacings TabView TabViewBox TabViewBoxOptions TagBox TagBoxNote TagBoxOptions TaggingRules TagSet TagSetDelayed TagStyle TagUnset Take TakeDrop TakeLargest TakeLargestBy TakeList TakeSmallest TakeSmallestBy TakeWhile Tally Tan Tanh TargetDevice TargetFunctions TargetSystem TargetUnits TaskAbort TaskExecute TaskObject TaskRemove TaskResume Tasks TaskSuspend TaskWait TautologyQ TelegraphProcess TemplateApply TemplateArgBox TemplateBox TemplateBoxOptions TemplateEvaluate TemplateExpression TemplateIf TemplateObject TemplateSequence TemplateSlot TemplateSlotSequence TemplateUnevaluated TemplateVerbatim TemplateWith TemporalData TemporalRegularity Temporary TemporaryVariable TensorContract TensorDimensions TensorExpand TensorProduct TensorQ TensorRank TensorReduce TensorSymmetry TensorTranspose TensorWedge TestID TestReport TestReportObject TestResultObject Tetrahedron TetrahedronBox TetrahedronBoxOptions TeXForm TeXSave Text Text3DBox Text3DBoxOptions TextAlignment TextBand TextBoundingBox TextBox TextCases TextCell TextClipboardType TextContents TextData TextElement TextForm TextGrid TextJustification TextLine TextPacket TextParagraph TextPosition TextRecognize TextSearch TextSearchReport TextSentences TextString TextStructure TextStyle TextTranslation Texture TextureCoordinateFunction TextureCoordinateScaling TextWords Therefore ThermodynamicData ThermometerGauge Thick Thickness Thin Thinning ThisLink ThompsonGroupTh Thread ThreadingLayer ThreeJSymbol Threshold Through Throw ThueMorse Thumbnail Thursday Ticks TicksStyle TideData Tilde TildeEqual TildeFullEqual TildeTilde TimeConstrained TimeConstraint TimeDirection TimeFormat TimeGoal TimelinePlot TimeObject TimeObjectQ Times TimesBy TimeSeries TimeSeriesAggregate TimeSeriesForecast TimeSeriesInsert TimeSeriesInvertibility TimeSeriesMap TimeSeriesMapThread TimeSeriesModel TimeSeriesModelFit TimeSeriesResample TimeSeriesRescale TimeSeriesShift TimeSeriesThread TimeSeriesWindow TimeUsed TimeValue TimeWarpingCorrespondence TimeWarpingDistance TimeZone TimeZoneConvert TimeZoneOffset Timing Tiny TitleGrouping TitsGroupT ToBoxes ToCharacterCode ToColor ToContinuousTimeModel ToDate Today ToDiscreteTimeModel ToEntity ToeplitzMatrix ToExpression ToFileName Together Toggle ToggleFalse Toggler TogglerBar TogglerBox TogglerBoxOptions ToHeldExpression ToInvertibleTimeSeries TokenWords Tolerance ToLowerCase Tomorrow ToNumberField TooBig Tooltip TooltipBox TooltipBoxOptions TooltipDelay TooltipStyle Top TopHatTransform ToPolarCoordinates TopologicalSort ToRadicals ToRules ToSphericalCoordinates ToString Total TotalHeight TotalLayer TotalVariationFilter TotalWidth TouchPosition TouchscreenAutoZoom TouchscreenControlPlacement ToUpperCase Tr Trace TraceAbove TraceAction TraceBackward TraceDepth TraceDialog TraceForward TraceInternal TraceLevel TraceOff TraceOn TraceOriginal TracePrint TraceScan TrackedSymbols TrackingFunction TracyWidomDistribution TradingChart TraditionalForm TraditionalFunctionNotation TraditionalNotation TraditionalOrder TrainingProgressCheckpointing TrainingProgressFunction TrainingProgressMeasurements TrainingProgressReporting TrainingStoppingCriterion TransferFunctionCancel TransferFunctionExpand TransferFunctionFactor TransferFunctionModel TransferFunctionPoles TransferFunctionTransform TransferFunctionZeros TransformationClass TransformationFunction TransformationFunctions TransformationMatrix TransformedDistribution TransformedField TransformedProcess TransformedRegion TransitionDirection TransitionDuration TransitionEffect TransitiveClosureGraph TransitiveReductionGraph Translate TranslationOptions TranslationTransform Transliterate Transparent TransparentColor Transpose TransposeLayer TrapSelection TravelDirections TravelDirectionsData TravelDistance TravelDistanceList TravelMethod TravelTime TreeForm TreeGraph TreeGraphQ TreePlot TrendStyle Triangle TriangleCenter TriangleConstruct TriangleMeasurement TriangleWave TriangularDistribution TriangulateMesh Trig TrigExpand TrigFactor TrigFactorList Trigger TrigReduce TrigToExp TrimmedMean TrimmedVariance TropicalStormData True TrueQ TruncatedDistribution TruncatedPolyhedron TsallisQExponentialDistribution TsallisQGaussianDistribution TTest Tube TubeBezierCurveBox TubeBezierCurveBoxOptions TubeBox TubeBoxOptions TubeBSplineCurveBox TubeBSplineCurveBoxOptions Tuesday TukeyLambdaDistribution TukeyWindow TunnelData Tuples TuranGraph TuringMachine TuttePolynomial TwoWayRule Typed TypeSpecifierUnateQ Uncompress UnconstrainedParameters Undefined UnderBar Underflow Underlined Underoverscript UnderoverscriptBox UnderoverscriptBoxOptions Underscript UnderscriptBox UnderscriptBoxOptions UnderseaFeatureData UndirectedEdge UndirectedGraph UndirectedGraphQ UndoOptions UndoTrackedVariables Unequal UnequalTo Unevaluated UniformDistribution UniformGraphDistribution UniformPolyhedron UniformSumDistribution Uninstall Union UnionPlus Unique UnitaryMatrixQ UnitBox UnitConvert UnitDimensions Unitize UnitRootTest UnitSimplify UnitStep UnitSystem UnitTriangle UnitVector UnitVectorLayer UnityDimensions UniverseModelData UniversityData UnixTime Unprotect UnregisterExternalEvaluator UnsameQ UnsavedVariables Unset UnsetShared UntrackedVariables Up UpArrow UpArrowBar UpArrowDownArrow Update UpdateDynamicObjects UpdateDynamicObjectsSynchronous UpdateInterval UpdateSearchIndex UpDownArrow UpEquilibrium UpperCaseQ UpperLeftArrow UpperRightArrow UpperTriangularize UpperTriangularMatrixQ Upsample UpSet UpSetDelayed UpTee UpTeeArrow UpTo UpValues URL URLBuild URLDecode URLDispatcher URLDownload URLDownloadSubmit URLEncode URLExecute URLExpand URLFetch URLFetchAsynchronous URLParse URLQueryDecode URLQueryEncode URLRead URLResponseTime URLSave URLSaveAsynchronous URLShorten URLSubmit UseGraphicsRange UserDefinedWavelet Using UsingFrontEnd UtilityFunctionV2Get ValenceErrorHandling ValidationLength ValidationSet Value ValueBox ValueBoxOptions ValueDimensions ValueForm ValuePreprocessingFunction ValueQ Values ValuesData Variables Variance VarianceEquivalenceTest VarianceEstimatorFunction VarianceGammaDistribution VarianceTest VectorAngle VectorAround VectorColorFunction VectorColorFunctionScaling VectorDensityPlot VectorGlyphData VectorGreater VectorGreaterEqual VectorLess VectorLessEqual VectorMarkers VectorPlot VectorPlot3D VectorPoints VectorQ Vectors VectorScale VectorStyle Vee Verbatim Verbose VerboseConvertToPostScriptPacket VerificationTest VerifyConvergence VerifyDerivedKey VerifyDigitalSignature VerifyInterpretation VerifySecurityCertificates VerifySolutions VerifyTestAssumptions Version VersionNumber VertexAdd VertexCapacity VertexColors VertexComponent VertexConnectivity VertexContract VertexCoordinateRules VertexCoordinates VertexCorrelationSimilarity VertexCosineSimilarity VertexCount VertexCoverQ VertexDataCoordinates VertexDegree VertexDelete VertexDiceSimilarity VertexEccentricity VertexInComponent VertexInDegree VertexIndex VertexJaccardSimilarity VertexLabeling VertexLabels VertexLabelStyle VertexList VertexNormals VertexOutComponent VertexOutDegree VertexQ VertexRenderingFunction VertexReplace VertexShape VertexShapeFunction VertexSize VertexStyle VertexTextureCoordinates VertexWeight VertexWeightedGraphQ Vertical VerticalBar VerticalForm VerticalGauge VerticalSeparator VerticalSlider VerticalTilde ViewAngle ViewCenter ViewMatrix ViewPoint ViewPointSelectorSettings ViewPort ViewProjection ViewRange ViewVector ViewVertical VirtualGroupData Visible VisibleCell VoiceStyleData VoigtDistribution VolcanoData Volume VonMisesDistribution VoronoiMeshWaitAll WaitAsynchronousTask WaitNext WaitUntil WakebyDistribution WalleniusHypergeometricDistribution WaringYuleDistribution WarpingCorrespondence WarpingDistance WatershedComponents WatsonUSquareTest WattsStrogatzGraphDistribution WaveletBestBasis WaveletFilterCoefficients WaveletImagePlot WaveletListPlot WaveletMapIndexed WaveletMatrixPlot WaveletPhi WaveletPsi WaveletScale WaveletScalogram WaveletThreshold WeaklyConnectedComponents WeaklyConnectedGraphComponents WeaklyConnectedGraphQ WeakStationarity WeatherData WeatherForecastData WebAudioSearch WebElementObject WeberE WebExecute WebImage WebImageSearch WebSearch WebSessionObject WebSessions WebWindowObject Wedge Wednesday WeibullDistribution WeierstrassE1 WeierstrassE2 WeierstrassE3 WeierstrassEta1 WeierstrassEta2 WeierstrassEta3 WeierstrassHalfPeriods WeierstrassHalfPeriodW1 WeierstrassHalfPeriodW2 WeierstrassHalfPeriodW3 WeierstrassInvariantG2 WeierstrassInvariantG3 WeierstrassInvariants WeierstrassP WeierstrassPPrime WeierstrassSigma WeierstrassZeta WeightedAdjacencyGraph WeightedAdjacencyMatrix WeightedData WeightedGraphQ Weights WelchWindow WheelGraph WhenEvent Which While White WhiteNoiseProcess WhitePoint Whitespace WhitespaceCharacter WhittakerM WhittakerW WienerFilter WienerProcess WignerD WignerSemicircleDistribution WikipediaData WikipediaSearch WilksW WilksWTest WindDirectionData WindingCount WindingPolygon WindowClickSelect WindowElements WindowFloating WindowFrame WindowFrameElements WindowMargins WindowMovable WindowOpacity WindowPersistentStyles WindowSelected WindowSize WindowStatusArea WindowTitle WindowToolbars WindowWidth WindSpeedData WindVectorData WinsorizedMean WinsorizedVariance WishartMatrixDistribution With WolframAlpha WolframAlphaDate WolframAlphaQuantity WolframAlphaResult WolframLanguageData Word WordBoundary WordCharacter WordCloud WordCount WordCounts WordData WordDefinition WordFrequency WordFrequencyData WordList WordOrientation WordSearch WordSelectionFunction WordSeparators WordSpacings WordStem WordTranslation WorkingPrecision WrapAround Write WriteLine WriteString WronskianXMLElement XMLObject XMLTemplate Xnor Xor XYZColorYellow Yesterday YuleDissimilarityZernikeR ZeroSymmetric ZeroTest ZeroWidthTimes Zeta ZetaZero ZIPCodeData ZipfDistribution ZoomCenter ZoomFactor ZTest ZTransform$Aborted $ActivationGroupID $ActivationKey $ActivationUserRegistered $AddOnsDirectory $AllowExternalChannelFunctions $AssertFunction $Assumptions $AsynchronousTask $AudioInputDevices $AudioOutputDevices $BaseDirectory $BatchInput $BatchOutput $BlockchainBase $BoxForms $ByteOrdering $CacheBaseDirectory $Canceled $ChannelBase $CharacterEncoding $CharacterEncodings $CloudBase $CloudConnected $CloudCreditsAvailable $CloudEvaluation $CloudExpressionBase $CloudObjectNameFormat $CloudObjectURLType $CloudRootDirectory $CloudSymbolBase $CloudUserID $CloudUserUUID $CloudVersion $CloudVersionNumber $CloudWolframEngineVersionNumber $CommandLine $CompilationTarget $ConditionHold $ConfiguredKernels $Context $ContextPath $ControlActiveSetting $Cookies $CookieStore $CreationDate $CurrentLink $CurrentTask $CurrentWebSession $DateStringFormat $DefaultAudioInputDevice $DefaultAudioOutputDevice $DefaultFont $DefaultFrontEnd $DefaultImagingDevice $DefaultLocalBase $DefaultMailbox $DefaultNetworkInterface $DefaultPath $Display $DisplayFunction $DistributedContexts $DynamicEvaluation $Echo $EmbedCodeEnvironments $EmbeddableServices $EntityStores $Epilog $EvaluationCloudBase $EvaluationCloudObject $EvaluationEnvironment $ExportFormats $Failed $FinancialDataSource $FontFamilies $FormatType $FrontEnd $FrontEndSession $GeoEntityTypes $GeoLocation $GeoLocationCity $GeoLocationCountry $GeoLocationPrecision $GeoLocationSource $HistoryLength $HomeDirectory $HTMLExportRules $HTTPCookies $HTTPRequest $IgnoreEOF $ImageFormattingWidth $ImagingDevice $ImagingDevices $ImportFormats $IncomingMailSettings $InitialDirectory $Initialization $InitializationContexts $Input $InputFileName $InputStreamMethods $Inspector $InstallationDate $InstallationDirectory $InterfaceEnvironment $InterpreterTypes $IterationLimit $KernelCount $KernelID $Language $LaunchDirectory $LibraryPath $LicenseExpirationDate $LicenseID $LicenseProcesses $LicenseServer $LicenseSubprocesses $LicenseType $Line $Linked $LinkSupported $LoadedFiles $LocalBase $LocalSymbolBase $MachineAddresses $MachineDomain $MachineDomains $MachineEpsilon $MachineID $MachineName $MachinePrecision $MachineType $MaxExtraPrecision $MaxLicenseProcesses $MaxLicenseSubprocesses $MaxMachineNumber $MaxNumber $MaxPiecewiseCases $MaxPrecision $MaxRootDegree $MessageGroups $MessageList $MessagePrePrint $Messages $MinMachineNumber $MinNumber $MinorReleaseNumber $MinPrecision $MobilePhone $ModuleNumber $NetworkConnected $NetworkInterfaces $NetworkLicense $NewMessage $NewSymbol $Notebooks $NoValue $NumberMarks $Off $OperatingSystem $Output $OutputForms $OutputSizeLimit $OutputStreamMethods $Packages $ParentLink $ParentProcessID $PasswordFile $PatchLevelID $Path $PathnameSeparator $PerformanceGoal $Permissions $PermissionsGroupBase $PersistenceBase $PersistencePath $PipeSupported $PlotTheme $Post $Pre $PreferencesDirectory $PreInitialization $PrePrint $PreRead $PrintForms $PrintLiteral $Printout3DPreviewer $ProcessID $ProcessorCount $ProcessorType $ProductInformation $ProgramName $PublisherID $RandomState $RecursionLimit $RegisteredDeviceClasses $RegisteredUserName $ReleaseNumber $RequesterAddress $RequesterWolframID $RequesterWolframUUID $ResourceSystemBase $RootDirectory $ScheduledTask $ScriptCommandLine $ScriptInputString $SecuredAuthenticationKeyTokens $ServiceCreditsAvailable $Services $SessionID $SetParentLink $SharedFunctions $SharedVariables $SoundDisplay $SoundDisplayFunction $SourceLink $SSHAuthentication $SummaryBoxDataSizeLimit $SuppressInputFormHeads $SynchronousEvaluation $SyntaxHandler $System $SystemCharacterEncoding $SystemID $SystemMemory $SystemShell $SystemTimeZone $SystemWordLength $TemplatePath $TemporaryDirectory $TemporaryPrefix $TestFileName $TextStyle $TimedOut $TimeUnit $TimeZone $TimeZoneEntity $TopDirectory $TraceOff $TraceOn $TracePattern $TracePostAction $TracePreAction $UnitSystem $Urgent $UserAddOnsDirectory $UserAgentLanguages $UserAgentMachine $UserAgentName $UserAgentOperatingSystem $UserAgentString $UserAgentVersion $UserBaseDirectory $UserDocumentsDirectory $Username $UserName $UserURLBase $Version $VersionNumber $VoiceStyles $WolframID $WolframUUID", +contains:[e.COMMENT("\\(\\*","\\*\\)",{contains:["self"]}),e.QUOTE_STRING_MODE,e.C_NUMBER_MODE]}}},{name:"matlab",create:function(e){var t={relevance:0,contains:[{begin:"('|\\.')+"}]};return{keywords:{keyword:"break case catch classdef continue else elseif end enumerated events for function global if methods otherwise parfor persistent properties return spmd switch try while",built_in:"sin sind sinh asin asind asinh cos cosd cosh acos acosd acosh tan tand tanh atan atand atan2 atanh sec secd sech asec asecd asech csc cscd csch acsc acscd acsch cot cotd coth acot acotd acoth hypot exp expm1 log log1p log10 log2 pow2 realpow reallog realsqrt sqrt nthroot nextpow2 abs angle complex conj imag real unwrap isreal cplxpair fix floor ceil round mod rem sign airy besselj bessely besselh besseli besselk beta betainc betaln ellipj ellipke erf erfc erfcx erfinv expint gamma gammainc gammaln psi legendre cross dot factor isprime primes gcd lcm rat rats perms nchoosek factorial cart2sph cart2pol pol2cart sph2cart hsv2rgb rgb2hsv zeros ones eye repmat rand randn linspace logspace freqspace meshgrid accumarray size length ndims numel disp isempty isequal isequalwithequalnans cat reshape diag blkdiag tril triu fliplr flipud flipdim rot90 find sub2ind ind2sub bsxfun ndgrid permute ipermute shiftdim circshift squeeze isscalar isvector ans eps realmax realmin pi i inf nan isnan isinf isfinite j why compan gallery hadamard hankel hilb invhilb magic pascal rosser toeplitz vander wilkinson max min nanmax nanmin mean nanmean type table readtable writetable sortrows sort figure plot plot3 scatter scatter3 cellfun legend intersect ismember procrustes hold num2cell "},illegal:'(//|"|#|/\\*|\\s+/\\w+)',contains:[{className:"function",beginKeywords:"function",end:"$",contains:[e.UNDERSCORE_TITLE_MODE,{className:"params",variants:[{begin:"\\(",end:"\\)"},{begin:"\\[",end:"\\]"}]}]},{className:"built_in",begin:/true|false/,relevance:0,starts:t},{begin:"[a-zA-Z][a-zA-Z_0-9]*('|\\.')+",relevance:0},{className:"number",begin:e.C_NUMBER_RE,relevance:0,starts:t},{className:"string",begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE,{begin:"''"}]},{begin:/\]|}|\)/,relevance:0,starts:t},{className:"string",begin:'"',end:'"',contains:[e.BACKSLASH_ESCAPE,{begin:'""'}],starts:t},e.COMMENT("^\\s*\\%\\{\\s*$","^\\s*\\%\\}\\s*$"),e.COMMENT("\\%","$")]}}},{name:"maxima",create:function(e){return{lexemes:"[A-Za-z_%][0-9A-Za-z_%]*",keywords:{keyword:"if then else elseif for thru do while unless step in and or not",literal:"true false unknown inf minf ind und %e %i %pi %phi %gamma",built_in:" abasep abs absint absolute_real_time acos acosh acot acoth acsc acsch activate addcol add_edge add_edges addmatrices addrow add_vertex add_vertices adjacency_matrix adjoin adjoint af agd airy airy_ai airy_bi airy_dai airy_dbi algsys alg_type alias allroots alphacharp alphanumericp amortization %and annuity_fv annuity_pv antid antidiff AntiDifference append appendfile apply apply1 apply2 applyb1 apropos args arit_amortization arithmetic arithsum array arrayapply arrayinfo arraymake arraysetapply ascii asec asech asin asinh askinteger asksign assoc assoc_legendre_p assoc_legendre_q assume assume_external_byte_order asympa at atan atan2 atanh atensimp atom atvalue augcoefmatrix augmented_lagrangian_method av average_degree backtrace bars barsplot barsplot_description base64 base64_decode bashindices batch batchload bc2 bdvac belln benefit_cost bern bernpoly bernstein_approx bernstein_expand bernstein_poly bessel bessel_i bessel_j bessel_k bessel_simplify bessel_y beta beta_incomplete beta_incomplete_generalized beta_incomplete_regularized bezout bfallroots bffac bf_find_root bf_fmin_cobyla bfhzeta bfloat bfloatp bfpsi bfpsi0 bfzeta biconnected_components bimetric binomial bipartition block blockmatrixp bode_gain bode_phase bothcoef box boxplot boxplot_description break bug_report build_info|10 buildq build_sample burn cabs canform canten cardinality carg cartan cartesian_product catch cauchy_matrix cbffac cdf_bernoulli cdf_beta cdf_binomial cdf_cauchy cdf_chi2 cdf_continuous_uniform cdf_discrete_uniform cdf_exp cdf_f cdf_gamma cdf_general_finite_discrete cdf_geometric cdf_gumbel cdf_hypergeometric cdf_laplace cdf_logistic cdf_lognormal cdf_negative_binomial cdf_noncentral_chi2 cdf_noncentral_student_t cdf_normal cdf_pareto cdf_poisson cdf_rank_sum cdf_rayleigh cdf_signed_rank cdf_student_t cdf_weibull cdisplay ceiling central_moment cequal cequalignore cf cfdisrep cfexpand cgeodesic cgreaterp cgreaterpignore changename changevar chaosgame charat charfun charfun2 charlist charp charpoly chdir chebyshev_t chebyshev_u checkdiv check_overlaps chinese cholesky christof chromatic_index chromatic_number cint circulant_graph clear_edge_weight clear_rules clear_vertex_label clebsch_gordan clebsch_graph clessp clesspignore close closefile cmetric coeff coefmatrix cograd col collapse collectterms columnop columnspace columnswap columnvector combination combine comp2pui compare compfile compile compile_file complement_graph complete_bipartite_graph complete_graph complex_number_p components compose_functions concan concat conjugate conmetderiv connected_components connect_vertices cons constant constantp constituent constvalue cont2part content continuous_freq contortion contour_plot contract contract_edge contragrad contrib_ode convert coord copy copy_file copy_graph copylist copymatrix cor cos cosh cot coth cov cov1 covdiff covect covers crc24sum create_graph create_list csc csch csetup cspline ctaylor ct_coordsys ctransform ctranspose cube_graph cuboctahedron_graph cunlisp cv cycle_digraph cycle_graph cylindrical days360 dblint deactivate declare declare_constvalue declare_dimensions declare_fundamental_dimensions declare_fundamental_units declare_qty declare_translated declare_unit_conversion declare_units declare_weights decsym defcon define define_alt_display define_variable defint defmatch defrule defstruct deftaylor degree_sequence del delete deleten delta demo demoivre denom depends derivdegree derivlist describe desolve determinant dfloat dgauss_a dgauss_b dgeev dgemm dgeqrf dgesv dgesvd diag diagmatrix diag_matrix diagmatrixp diameter diff digitcharp dimacs_export dimacs_import dimension dimensionless dimensions dimensions_as_list direct directory discrete_freq disjoin disjointp disolate disp dispcon dispform dispfun dispJordan display disprule dispterms distrib divide divisors divsum dkummer_m dkummer_u dlange dodecahedron_graph dotproduct dotsimp dpart draw draw2d draw3d drawdf draw_file draw_graph dscalar echelon edge_coloring edge_connectivity edges eigens_by_jacobi eigenvalues eigenvectors eighth einstein eivals eivects elapsed_real_time elapsed_run_time ele2comp ele2polynome ele2pui elem elementp elevation_grid elim elim_allbut eliminate eliminate_using ellipse elliptic_e elliptic_ec elliptic_eu elliptic_f elliptic_kc elliptic_pi ematrix empty_graph emptyp endcons entermatrix entertensor entier equal equalp equiv_classes erf erfc erf_generalized erfi errcatch error errormsg errors euler ev eval_string evenp every evolution evolution2d evundiff example exp expand expandwrt expandwrt_factored expint expintegral_chi expintegral_ci expintegral_e expintegral_e1 expintegral_ei expintegral_e_simplify expintegral_li expintegral_shi expintegral_si explicit explose exponentialize express expt exsec extdiff extract_linear_equations extremal_subset ezgcd %f f90 facsum factcomb factor factorfacsum factorial factorout factorsum facts fast_central_elements fast_linsolve fasttimes featurep fernfale fft fib fibtophi fifth filename_merge file_search file_type fillarray findde find_root find_root_abs find_root_error find_root_rel first fix flatten flength float floatnump floor flower_snark flush flush1deriv flushd flushnd flush_output fmin_cobyla forget fortran fourcos fourexpand fourier fourier_elim fourint fourintcos fourintsin foursimp foursin fourth fposition frame_bracket freeof freshline fresnel_c fresnel_s from_adjacency_matrix frucht_graph full_listify fullmap fullmapl fullratsimp fullratsubst fullsetify funcsolve fundamental_dimensions fundamental_units fundef funmake funp fv g0 g1 gamma gamma_greek gamma_incomplete gamma_incomplete_generalized gamma_incomplete_regularized gauss gauss_a gauss_b gaussprob gcd gcdex gcdivide gcfac gcfactor gd generalized_lambert_w genfact gen_laguerre genmatrix gensym geo_amortization geo_annuity_fv geo_annuity_pv geomap geometric geometric_mean geosum get getcurrentdirectory get_edge_weight getenv get_lu_factors get_output_stream_string get_pixel get_plot_option get_tex_environment get_tex_environment_default get_vertex_label gfactor gfactorsum ggf girth global_variances gn gnuplot_close gnuplot_replot gnuplot_reset gnuplot_restart gnuplot_start go Gosper GosperSum gr2d gr3d gradef gramschmidt graph6_decode graph6_encode graph6_export graph6_import graph_center graph_charpoly graph_eigenvalues graph_flow graph_order graph_periphery graph_product graph_size graph_union great_rhombicosidodecahedron_graph great_rhombicuboctahedron_graph grid_graph grind grobner_basis grotzch_graph hamilton_cycle hamilton_path hankel hankel_1 hankel_2 harmonic harmonic_mean hav heawood_graph hermite hessian hgfred hilbertmap hilbert_matrix hipow histogram histogram_description hodge horner hypergeometric i0 i1 %ibes ic1 ic2 ic_convert ichr1 ichr2 icosahedron_graph icosidodecahedron_graph icurvature ident identfor identity idiff idim idummy ieqn %if ifactors iframes ifs igcdex igeodesic_coords ilt image imagpart imetric implicit implicit_derivative implicit_plot indexed_tensor indices induced_subgraph inferencep inference_result infix info_display init_atensor init_ctensor in_neighbors innerproduct inpart inprod inrt integerp integer_partitions integrate intersect intersection intervalp intopois intosum invariant1 invariant2 inverse_fft inverse_jacobi_cd inverse_jacobi_cn inverse_jacobi_cs inverse_jacobi_dc inverse_jacobi_dn inverse_jacobi_ds inverse_jacobi_nc inverse_jacobi_nd inverse_jacobi_ns inverse_jacobi_sc inverse_jacobi_sd inverse_jacobi_sn invert invert_by_adjoint invert_by_lu inv_mod irr is is_biconnected is_bipartite is_connected is_digraph is_edge_in_graph is_graph is_graph_or_digraph ishow is_isomorphic isolate isomorphism is_planar isqrt isreal_p is_sconnected is_tree is_vertex_in_graph items_inference %j j0 j1 jacobi jacobian jacobi_cd jacobi_cn jacobi_cs jacobi_dc jacobi_dn jacobi_ds jacobi_nc jacobi_nd jacobi_ns jacobi_p jacobi_sc jacobi_sd jacobi_sn JF jn join jordan julia julia_set julia_sin %k kdels kdelta kill killcontext kostka kron_delta kronecker_product kummer_m kummer_u kurtosis kurtosis_bernoulli kurtosis_beta kurtosis_binomial kurtosis_chi2 kurtosis_continuous_uniform kurtosis_discrete_uniform kurtosis_exp kurtosis_f kurtosis_gamma kurtosis_general_finite_discrete kurtosis_geometric kurtosis_gumbel kurtosis_hypergeometric kurtosis_laplace kurtosis_logistic kurtosis_lognormal kurtosis_negative_binomial kurtosis_noncentral_chi2 kurtosis_noncentral_student_t kurtosis_normal kurtosis_pareto kurtosis_poisson kurtosis_rayleigh kurtosis_student_t kurtosis_weibull label labels lagrange laguerre lambda lambert_w laplace laplacian_matrix last lbfgs lc2kdt lcharp lc_l lcm lc_u ldefint ldisp ldisplay legendre_p legendre_q leinstein length let letrules letsimp levi_civita lfreeof lgtreillis lhs li liediff limit Lindstedt linear linearinterpol linear_program linear_regression line_graph linsolve listarray list_correlations listify list_matrix_entries list_nc_monomials listoftens listofvars listp lmax lmin load loadfile local locate_matrix_entry log logcontract log_gamma lopow lorentz_gauge lowercasep lpart lratsubst lreduce lriemann lsquares_estimates lsquares_estimates_approximate lsquares_estimates_exact lsquares_mse lsquares_residual_mse lsquares_residuals lsum ltreillis lu_backsub lucas lu_factor %m macroexpand macroexpand1 make_array makebox makefact makegamma make_graph make_level_picture makelist makeOrders make_poly_continent make_poly_country make_polygon make_random_state make_rgb_picture makeset make_string_input_stream make_string_output_stream make_transform mandelbrot mandelbrot_set map mapatom maplist matchdeclare matchfix mat_cond mat_fullunblocker mat_function mathml_display mat_norm matrix matrixmap matrixp matrix_size mattrace mat_trace mat_unblocker max max_clique max_degree max_flow maximize_lp max_independent_set max_matching maybe md5sum mean mean_bernoulli mean_beta mean_binomial mean_chi2 mean_continuous_uniform mean_deviation mean_discrete_uniform mean_exp mean_f mean_gamma mean_general_finite_discrete mean_geometric mean_gumbel mean_hypergeometric mean_laplace mean_logistic mean_lognormal mean_negative_binomial mean_noncentral_chi2 mean_noncentral_student_t mean_normal mean_pareto mean_poisson mean_rayleigh mean_student_t mean_weibull median median_deviation member mesh metricexpandall mgf1_sha1 min min_degree min_edge_cut minfactorial minimalPoly minimize_lp minimum_spanning_tree minor minpack_lsquares minpack_solve min_vertex_cover min_vertex_cut mkdir mnewton mod mode_declare mode_identity ModeMatrix moebius mon2schur mono monomial_dimensions multibernstein_poly multi_display_for_texinfo multi_elem multinomial multinomial_coeff multi_orbit multiplot_mode multi_pui multsym multthru mycielski_graph nary natural_unit nc_degree ncexpt ncharpoly negative_picture neighbors new newcontext newdet new_graph newline newton new_variable next_prime nicedummies niceindices ninth nofix nonarray noncentral_moment nonmetricity nonnegintegerp nonscalarp nonzeroandfreeof notequal nounify nptetrad npv nroots nterms ntermst nthroot nullity nullspace num numbered_boundaries numberp number_to_octets num_distinct_partitions numerval numfactor num_partitions nusum nzeta nzetai nzetar octets_to_number octets_to_oid odd_girth oddp ode2 ode_check odelin oid_to_octets op opena opena_binary openr openr_binary openw openw_binary operatorp opsubst optimize %or orbit orbits ordergreat ordergreatp orderless orderlessp orthogonal_complement orthopoly_recur orthopoly_weight outermap out_neighbors outofpois pade parabolic_cylinder_d parametric parametric_surface parg parGosper parse_string parse_timedate part part2cont partfrac partition partition_set partpol path_digraph path_graph pathname_directory pathname_name pathname_type pdf_bernoulli pdf_beta pdf_binomial pdf_cauchy pdf_chi2 pdf_continuous_uniform pdf_discrete_uniform pdf_exp pdf_f pdf_gamma pdf_general_finite_discrete pdf_geometric pdf_gumbel pdf_hypergeometric pdf_laplace pdf_logistic pdf_lognormal pdf_negative_binomial pdf_noncentral_chi2 pdf_noncentral_student_t pdf_normal pdf_pareto pdf_poisson pdf_rank_sum pdf_rayleigh pdf_signed_rank pdf_student_t pdf_weibull pearson_skewness permanent permut permutation permutations petersen_graph petrov pickapart picture_equalp picturep piechart piechart_description planar_embedding playback plog plot2d plot3d plotdf ploteq plsquares pochhammer points poisdiff poisexpt poisint poismap poisplus poissimp poissubst poistimes poistrim polar polarform polartorect polar_to_xy poly_add poly_buchberger poly_buchberger_criterion poly_colon_ideal poly_content polydecomp poly_depends_p poly_elimination_ideal poly_exact_divide poly_expand poly_expt poly_gcd polygon poly_grobner poly_grobner_equal poly_grobner_member poly_grobner_subsetp poly_ideal_intersection poly_ideal_polysaturation poly_ideal_polysaturation1 poly_ideal_saturation poly_ideal_saturation1 poly_lcm poly_minimization polymod poly_multiply polynome2ele polynomialp poly_normal_form poly_normalize poly_normalize_list poly_polysaturation_extension poly_primitive_part poly_pseudo_divide poly_reduced_grobner poly_reduction poly_saturation_extension poly_s_polynomial poly_subtract polytocompanion pop postfix potential power_mod powerseries powerset prefix prev_prime primep primes principal_components print printf printfile print_graph printpois printprops prodrac product properties propvars psi psubst ptriangularize pui pui2comp pui2ele pui2polynome pui_direct puireduc push put pv qput qrange qty quad_control quad_qag quad_qagi quad_qagp quad_qags quad_qawc quad_qawf quad_qawo quad_qaws quadrilateral quantile quantile_bernoulli quantile_beta quantile_binomial quantile_cauchy quantile_chi2 quantile_continuous_uniform quantile_discrete_uniform quantile_exp quantile_f quantile_gamma quantile_general_finite_discrete quantile_geometric quantile_gumbel quantile_hypergeometric quantile_laplace quantile_logistic quantile_lognormal quantile_negative_binomial quantile_noncentral_chi2 quantile_noncentral_student_t quantile_normal quantile_pareto quantile_poisson quantile_rayleigh quantile_student_t quantile_weibull quartile_skewness quit qunit quotient racah_v racah_w radcan radius random random_bernoulli random_beta random_binomial random_bipartite_graph random_cauchy random_chi2 random_continuous_uniform random_digraph random_discrete_uniform random_exp random_f random_gamma random_general_finite_discrete random_geometric random_graph random_graph1 random_gumbel random_hypergeometric random_laplace random_logistic random_lognormal random_negative_binomial random_network random_noncentral_chi2 random_noncentral_student_t random_normal random_pareto random_permutation random_poisson random_rayleigh random_regular_graph random_student_t random_tournament random_tree random_weibull range rank rat ratcoef ratdenom ratdiff ratdisrep ratexpand ratinterpol rational rationalize ratnumer ratnump ratp ratsimp ratsubst ratvars ratweight read read_array read_binary_array read_binary_list read_binary_matrix readbyte readchar read_hashed_array readline read_list read_matrix read_nested_list readonly read_xpm real_imagpart_to_conjugate realpart realroots rearray rectangle rectform rectform_log_if_constant recttopolar rediff reduce_consts reduce_order region region_boundaries region_boundaries_plus rem remainder remarray rembox remcomps remcon remcoord remfun remfunction remlet remove remove_constvalue remove_dimensions remove_edge remove_fundamental_dimensions remove_fundamental_units remove_plot_option remove_vertex rempart remrule remsym remvalue rename rename_file reset reset_displays residue resolvante resolvante_alternee1 resolvante_bipartite resolvante_diedrale resolvante_klein resolvante_klein3 resolvante_produit_sym resolvante_unitaire resolvante_vierer rest resultant return reveal reverse revert revert2 rgb2level rhs ricci riemann rinvariant risch rk rmdir rncombine romberg room rootscontract round row rowop rowswap rreduce run_testsuite %s save saving scalarp scaled_bessel_i scaled_bessel_i0 scaled_bessel_i1 scalefactors scanmap scatterplot scatterplot_description scene schur2comp sconcat scopy scsimp scurvature sdowncase sec sech second sequal sequalignore set_alt_display setdifference set_draw_defaults set_edge_weight setelmx setequalp setify setp set_partitions set_plot_option set_prompt set_random_state set_tex_environment set_tex_environment_default setunits setup_autoload set_up_dot_simplifications set_vertex_label seventh sexplode sf sha1sum sha256sum shortest_path shortest_weighted_path show showcomps showratvars sierpinskiale sierpinskimap sign signum similaritytransform simp_inequality simplify_sum simplode simpmetderiv simtran sin sinh sinsert sinvertcase sixth skewness skewness_bernoulli skewness_beta skewness_binomial skewness_chi2 skewness_continuous_uniform skewness_discrete_uniform skewness_exp skewness_f skewness_gamma skewness_general_finite_discrete skewness_geometric skewness_gumbel skewness_hypergeometric skewness_laplace skewness_logistic skewness_lognormal skewness_negative_binomial skewness_noncentral_chi2 skewness_noncentral_student_t skewness_normal skewness_pareto skewness_poisson skewness_rayleigh skewness_student_t skewness_weibull slength smake small_rhombicosidodecahedron_graph small_rhombicuboctahedron_graph smax smin smismatch snowmap snub_cube_graph snub_dodecahedron_graph solve solve_rec solve_rec_rat some somrac sort sparse6_decode sparse6_encode sparse6_export sparse6_import specint spherical spherical_bessel_j spherical_bessel_y spherical_hankel1 spherical_hankel2 spherical_harmonic spherical_to_xyz splice split sposition sprint sqfr sqrt sqrtdenest sremove sremovefirst sreverse ssearch ssort sstatus ssubst ssubstfirst staircase standardize standardize_inverse_trig starplot starplot_description status std std1 std_bernoulli std_beta std_binomial std_chi2 std_continuous_uniform std_discrete_uniform std_exp std_f std_gamma std_general_finite_discrete std_geometric std_gumbel std_hypergeometric std_laplace std_logistic std_lognormal std_negative_binomial std_noncentral_chi2 std_noncentral_student_t std_normal std_pareto std_poisson std_rayleigh std_student_t std_weibull stemplot stirling stirling1 stirling2 strim striml strimr string stringout stringp strong_components struve_h struve_l sublis sublist sublist_indices submatrix subsample subset subsetp subst substinpart subst_parallel substpart substring subvar subvarp sum sumcontract summand_to_rec supcase supcontext symbolp symmdifference symmetricp system take_channel take_inference tan tanh taylor taylorinfo taylorp taylor_simplifier taytorat tcl_output tcontract tellrat tellsimp tellsimpafter tentex tenth test_mean test_means_difference test_normality test_proportion test_proportions_difference test_rank_sum test_sign test_signed_rank test_variance test_variance_ratio tex tex1 tex_display texput %th third throw time timedate timer timer_info tldefint tlimit todd_coxeter toeplitz tokens to_lisp topological_sort to_poly to_poly_solve totaldisrep totalfourier totient tpartpol trace tracematrix trace_options transform_sample translate translate_file transpose treefale tree_reduce treillis treinat triangle triangularize trigexpand trigrat trigreduce trigsimp trunc truncate truncated_cube_graph truncated_dodecahedron_graph truncated_icosahedron_graph truncated_tetrahedron_graph tr_warnings_get tube tutte_graph ueivects uforget ultraspherical underlying_graph undiff union unique uniteigenvectors unitp units unit_step unitvector unorder unsum untellrat untimer untrace uppercasep uricci uriemann uvect vandermonde_matrix var var1 var_bernoulli var_beta var_binomial var_chi2 var_continuous_uniform var_discrete_uniform var_exp var_f var_gamma var_general_finite_discrete var_geometric var_gumbel var_hypergeometric var_laplace var_logistic var_lognormal var_negative_binomial var_noncentral_chi2 var_noncentral_student_t var_normal var_pareto var_poisson var_rayleigh var_student_t var_weibull vector vectorpotential vectorsimp verbify vers vertex_coloring vertex_connectivity vertex_degree vertex_distance vertex_eccentricity vertex_in_degree vertex_out_degree vertices vertices_to_cycle vertices_to_path %w weyl wheel_graph wiener_index wigner_3j wigner_6j wigner_9j with_stdout write_binary_data writebyte write_data writefile wronskian xreduce xthru %y Zeilberger zeroequiv zerofor zeromatrix zeromatrixp zeta zgeev zheev zlange zn_add_table zn_carmichael_lambda zn_characteristic_factors zn_determinant zn_factor_generators zn_invert_by_lu zn_log zn_mult_table absboxchar activecontexts adapt_depth additive adim aform algebraic algepsilon algexact aliases allbut all_dotsimp_denoms allocation allsym alphabetic animation antisymmetric arrays askexp assume_pos assume_pos_pred assumescalar asymbol atomgrad atrig1 axes axis_3d axis_bottom axis_left axis_right axis_top azimuth background background_color backsubst berlefact bernstein_explicit besselexpand beta_args_sum_to_integer beta_expand bftorat bftrunc bindtest border boundaries_array box boxchar breakup %c capping cauchysum cbrange cbtics center cflength cframe_flag cnonmet_flag color color_bar color_bar_tics colorbox columns commutative complex cone context contexts contour contour_levels cosnpiflag ctaypov ctaypt ctayswitch ctayvar ct_coords ctorsion_flag ctrgsimp cube current_let_rule_package cylinder data_file_name debugmode decreasing default_let_rule_package delay dependencies derivabbrev derivsubst detout diagmetric diff dim dimensions dispflag display2d|10 display_format_internal distribute_over doallmxops domain domxexpt domxmxops domxnctimes dontfactor doscmxops doscmxplus dot0nscsimp dot0simp dot1simp dotassoc dotconstrules dotdistrib dotexptsimp dotident dotscrules draw_graph_program draw_realpart edge_color edge_coloring edge_partition edge_type edge_width %edispflag elevation %emode endphi endtheta engineering_format_floats enhanced3d %enumer epsilon_lp erfflag erf_representation errormsg error_size error_syms error_type %e_to_numlog eval even evenfun evflag evfun ev_point expandwrt_denom expintexpand expintrep expon expop exptdispflag exptisolate exptsubst facexpand facsum_combine factlim factorflag factorial_expand factors_only fb feature features file_name file_output_append file_search_demo file_search_lisp file_search_maxima|10 file_search_tests file_search_usage file_type_lisp file_type_maxima|10 fill_color fill_density filled_func fixed_vertices flipflag float2bf font font_size fortindent fortspaces fpprec fpprintprec functions gamma_expand gammalim gdet genindex gensumnum GGFCFMAX GGFINFINITY globalsolve gnuplot_command gnuplot_curve_styles gnuplot_curve_titles gnuplot_default_term_command gnuplot_dumb_term_command gnuplot_file_args gnuplot_file_name gnuplot_out_file gnuplot_pdf_term_command gnuplot_pm3d gnuplot_png_term_command gnuplot_postamble gnuplot_preamble gnuplot_ps_term_command gnuplot_svg_term_command gnuplot_term gnuplot_view_args Gosper_in_Zeilberger gradefs grid grid2d grind halfangles head_angle head_both head_length head_type height hypergeometric_representation %iargs ibase icc1 icc2 icounter idummyx ieqnprint ifb ifc1 ifc2 ifg ifgi ifr iframe_bracket_form ifri igeowedge_flag ikt1 ikt2 imaginary inchar increasing infeval infinity inflag infolists inm inmc1 inmc2 intanalysis integer integervalued integrate_use_rootsof integration_constant integration_constant_counter interpolate_color intfaclim ip_grid ip_grid_in irrational isolate_wrt_times iterations itr julia_parameter %k1 %k2 keepfloat key key_pos kinvariant kt label label_alignment label_orientation labels lassociative lbfgs_ncorrections lbfgs_nfeval_max leftjust legend letrat let_rule_packages lfg lg lhospitallim limsubst linear linear_solver linechar linel|10 linenum line_type linewidth line_width linsolve_params linsolvewarn lispdisp listarith listconstvars listdummyvars lmxchar load_pathname loadprint logabs logarc logcb logconcoeffp logexpand lognegint logsimp logx logx_secondary logy logy_secondary logz lriem m1pbranch macroexpansion macros mainvar manual_demo maperror mapprint matrix_element_add matrix_element_mult matrix_element_transpose maxapplydepth maxapplyheight maxima_tempdir|10 maxima_userdir|10 maxnegex MAX_ORD maxposex maxpsifracdenom maxpsifracnum maxpsinegint maxpsiposint maxtayorder mesh_lines_color method mod_big_prime mode_check_errorp mode_checkp mode_check_warnp mod_test mod_threshold modular_linear_solver modulus multiplicative multiplicities myoptions nary negdistrib negsumdispflag newline newtonepsilon newtonmaxiter nextlayerfactor niceindicespref nm nmc noeval nolabels nonegative_lp noninteger nonscalar noun noundisp nouns np npi nticks ntrig numer numer_pbranch obase odd oddfun opacity opproperties opsubst optimprefix optionset orientation origin orthopoly_returns_intervals outative outchar packagefile palette partswitch pdf_file pfeformat phiresolution %piargs piece pivot_count_sx pivot_max_sx plot_format plot_options plot_realpart png_file pochhammer_max_index points pointsize point_size points_joined point_type poislim poisson poly_coefficient_ring poly_elimination_order polyfactor poly_grobner_algorithm poly_grobner_debug poly_monomial_order poly_primary_elimination_order poly_return_term_list poly_secondary_elimination_order poly_top_reduction_only posfun position powerdisp pred prederror primep_number_of_tests product_use_gamma program programmode promote_float_to_bigfloat prompt proportional_axes props psexpand ps_file radexpand radius radsubstflag rassociative ratalgdenom ratchristof ratdenomdivide rateinstein ratepsilon ratfac rational ratmx ratprint ratriemann ratsimpexpons ratvarswitch ratweights ratweyl ratwtlvl real realonly redraw refcheck resolution restart resultant ric riem rmxchar %rnum_list rombergabs rombergit rombergmin rombergtol rootsconmode rootsepsilon run_viewer same_xy same_xyz savedef savefactors scalar scalarmatrixp scale scale_lp setcheck setcheckbreak setval show_edge_color show_edges show_edge_type show_edge_width show_id show_label showtime show_vertex_color show_vertex_size show_vertex_type show_vertices show_weight simp simplified_output simplify_products simpproduct simpsum sinnpiflag solvedecomposes solveexplicit solvefactors solvenullwarn solveradcan solvetrigwarn space sparse sphere spring_embedding_depth sqrtdispflag stardisp startphi starttheta stats_numer stringdisp structures style sublis_apply_lambda subnumsimp sumexpand sumsplitfact surface surface_hide svg_file symmetric tab taylordepth taylor_logexpand taylor_order_coefficients taylor_truncate_polynomials tensorkill terminal testsuite_files thetaresolution timer_devalue title tlimswitch tr track transcompile transform transform_xy translate_fast_arrays transparent transrun tr_array_as_ref tr_bound_function_applyp tr_file_tty_messagesp tr_float_can_branch_complex tr_function_call_default trigexpandplus trigexpandtimes triginverses trigsign trivial_solutions tr_numer tr_optimize_max_loop tr_semicompile tr_state_vars tr_warn_bad_function_calls tr_warn_fexpr tr_warn_meval tr_warn_mode tr_warn_undeclared tr_warn_undefined_variable tstep ttyoff tube_extremes ufg ug %unitexpand unit_vectors uric uriem use_fast_arrays user_preamble usersetunits values vect_cross verbose vertex_color vertex_coloring vertex_partition vertex_size vertex_type view warnings weyl width windowname windowtitle wired_surface wireframe xaxis xaxis_color xaxis_secondary xaxis_type xaxis_width xlabel xlabel_secondary xlength xrange xrange_secondary xtics xtics_axis xtics_rotate xtics_rotate_secondary xtics_secondary xtics_secondary_axis xu_grid x_voxel xy_file xyplane xy_scale yaxis yaxis_color yaxis_secondary yaxis_type yaxis_width ylabel ylabel_secondary ylength yrange yrange_secondary ytics ytics_axis ytics_rotate ytics_rotate_secondary ytics_secondary ytics_secondary_axis yv_grid y_voxel yx_ratio zaxis zaxis_color zaxis_type zaxis_width zeroa zerob zerobern zeta%pi zlabel zlabel_rotate zlength zmin zn_primroot_limit zn_primroot_pretest",symbol:"_ __ %|0 %%|0"},contains:[{className:"comment",begin:"/\\*",end:"\\*/",contains:["self"]},e.QUOTE_STRING_MODE,{className:"number",relevance:0,variants:[{begin:"\\b(\\d+|\\d+\\.|\\.\\d+|\\d+\\.\\d+)[Ee][-+]?\\d+\\b"},{begin:"\\b(\\d+|\\d+\\.|\\.\\d+|\\d+\\.\\d+)[Bb][-+]?\\d+\\b",relevance:10},{begin:"\\b(\\.\\d+|\\d+\\.\\d+)\\b"},{begin:"\\b(\\d+|0[0-9A-Za-z]+)\\.?\\b"}]}],illegal:/@/}}},{name:"mel",create:function(e){return{ +keywords:"int float string vector matrix if else switch case default while do for in break continue global proc return about abs addAttr addAttributeEditorNodeHelp addDynamic addNewShelfTab addPP addPanelCategory addPrefixToName advanceToNextDrivenKey affectedNet affects aimConstraint air alias aliasAttr align alignCtx alignCurve alignSurface allViewFit ambientLight angle angleBetween animCone animCurveEditor animDisplay animView annotate appendStringArray applicationName applyAttrPreset applyTake arcLenDimContext arcLengthDimension arclen arrayMapper art3dPaintCtx artAttrCtx artAttrPaintVertexCtx artAttrSkinPaintCtx artAttrTool artBuildPaintMenu artFluidAttrCtx artPuttyCtx artSelectCtx artSetPaintCtx artUserPaintCtx assignCommand assignInputDevice assignViewportFactories attachCurve attachDeviceAttr attachSurface attrColorSliderGrp attrCompatibility attrControlGrp attrEnumOptionMenu attrEnumOptionMenuGrp attrFieldGrp attrFieldSliderGrp attrNavigationControlGrp attrPresetEditWin attributeExists attributeInfo attributeMenu attributeQuery autoKeyframe autoPlace bakeClip bakeFluidShading bakePartialHistory bakeResults bakeSimulation basename basenameEx batchRender bessel bevel bevelPlus binMembership bindSkin blend2 blendShape blendShapeEditor blendShapePanel blendTwoAttr blindDataType boneLattice boundary boxDollyCtx boxZoomCtx bufferCurve buildBookmarkMenu buildKeyframeMenu button buttonManip CBG cacheFile cacheFileCombine cacheFileMerge cacheFileTrack camera cameraView canCreateManip canvas capitalizeString catch catchQuiet ceil changeSubdivComponentDisplayLevel changeSubdivRegion channelBox character characterMap characterOutlineEditor characterize chdir checkBox checkBoxGrp checkDefaultRenderGlobals choice circle circularFillet clamp clear clearCache clip clipEditor clipEditorCurrentTimeCtx clipSchedule clipSchedulerOutliner clipTrimBefore closeCurve closeSurface cluster cmdFileOutput cmdScrollFieldExecuter cmdScrollFieldReporter cmdShell coarsenSubdivSelectionList collision color colorAtPoint colorEditor colorIndex colorIndexSliderGrp colorSliderButtonGrp colorSliderGrp columnLayout commandEcho commandLine commandPort compactHairSystem componentEditor compositingInterop computePolysetVolume condition cone confirmDialog connectAttr connectControl connectDynamic connectJoint connectionInfo constrain constrainValue constructionHistory container containsMultibyte contextInfo control convertFromOldLayers convertIffToPsd convertLightmap convertSolidTx convertTessellation convertUnit copyArray copyFlexor copyKey copySkinWeights cos cpButton cpCache cpClothSet cpCollision cpConstraint cpConvClothToMesh cpForces cpGetSolverAttr cpPanel cpProperty cpRigidCollisionFilter cpSeam cpSetEdit cpSetSolverAttr cpSolver cpSolverTypes cpTool cpUpdateClothUVs createDisplayLayer createDrawCtx createEditor createLayeredPsdFile createMotionField createNewShelf createNode createRenderLayer createSubdivRegion cross crossProduct ctxAbort ctxCompletion ctxEditMode ctxTraverse currentCtx currentTime currentTimeCtx currentUnit curve curveAddPtCtx curveCVCtx curveEPCtx curveEditorCtx curveIntersect curveMoveEPCtx curveOnSurface curveSketchCtx cutKey cycleCheck cylinder dagPose date defaultLightListCheckBox defaultNavigation defineDataServer defineVirtualDevice deformer deg_to_rad delete deleteAttr deleteShadingGroupsAndMaterials deleteShelfTab deleteUI deleteUnusedBrushes delrandstr detachCurve detachDeviceAttr detachSurface deviceEditor devicePanel dgInfo dgdirty dgeval dgtimer dimWhen directKeyCtx directionalLight dirmap dirname disable disconnectAttr disconnectJoint diskCache displacementToPoly displayAffected displayColor displayCull displayLevelOfDetail displayPref displayRGBColor displaySmoothness displayStats displayString displaySurface distanceDimContext distanceDimension doBlur dolly dollyCtx dopeSheetEditor dot dotProduct doubleProfileBirailSurface drag dragAttrContext draggerContext dropoffLocator duplicate duplicateCurve duplicateSurface dynCache dynControl dynExport dynExpression dynGlobals dynPaintEditor dynParticleCtx dynPref dynRelEdPanel dynRelEditor dynamicLoad editAttrLimits editDisplayLayerGlobals editDisplayLayerMembers editRenderLayerAdjustment editRenderLayerGlobals editRenderLayerMembers editor editorTemplate effector emit emitter enableDevice encodeString endString endsWith env equivalent equivalentTol erf error eval evalDeferred evalEcho event exactWorldBoundingBox exclusiveLightCheckBox exec executeForEachObject exists exp expression expressionEditorListen extendCurve extendSurface extrude fcheck fclose feof fflush fgetline fgetword file fileBrowserDialog fileDialog fileExtension fileInfo filetest filletCurve filter filterCurve filterExpand filterStudioImport findAllIntersections findAnimCurves findKeyframe findMenuItem findRelatedSkinCluster finder firstParentOf fitBspline flexor floatEq floatField floatFieldGrp floatScrollBar floatSlider floatSlider2 floatSliderButtonGrp floatSliderGrp floor flow fluidCacheInfo fluidEmitter fluidVoxelInfo flushUndo fmod fontDialog fopen formLayout format fprint frameLayout fread freeFormFillet frewind fromNativePath fwrite gamma gauss geometryConstraint getApplicationVersionAsFloat getAttr getClassification getDefaultBrush getFileList getFluidAttr getInputDeviceRange getMayaPanelTypes getModifiers getPanel getParticleAttr getPluginResource getenv getpid glRender glRenderEditor globalStitch gmatch goal gotoBindPose grabColor gradientControl gradientControlNoAttr graphDollyCtx graphSelectContext graphTrackCtx gravity grid gridLayout group groupObjectsByName HfAddAttractorToAS HfAssignAS HfBuildEqualMap HfBuildFurFiles HfBuildFurImages HfCancelAFR HfConnectASToHF HfCreateAttractor HfDeleteAS HfEditAS HfPerformCreateAS HfRemoveAttractorFromAS HfSelectAttached HfSelectAttractors HfUnAssignAS hardenPointCurve hardware hardwareRenderPanel headsUpDisplay headsUpMessage help helpLine hermite hide hilite hitTest hotBox hotkey hotkeyCheck hsv_to_rgb hudButton hudSlider hudSliderButton hwReflectionMap hwRender hwRenderLoad hyperGraph hyperPanel hyperShade hypot iconTextButton iconTextCheckBox iconTextRadioButton iconTextRadioCollection iconTextScrollList iconTextStaticLabel ikHandle ikHandleCtx ikHandleDisplayScale ikSolver ikSplineHandleCtx ikSystem ikSystemInfo ikfkDisplayMethod illustratorCurves image imfPlugins inheritTransform insertJoint insertJointCtx insertKeyCtx insertKnotCurve insertKnotSurface instance instanceable instancer intField intFieldGrp intScrollBar intSlider intSliderGrp interToUI internalVar intersect iprEngine isAnimCurve isConnected isDirty isParentOf isSameObject isTrue isValidObjectName isValidString isValidUiName isolateSelect itemFilter itemFilterAttr itemFilterRender itemFilterType joint jointCluster jointCtx jointDisplayScale jointLattice keyTangent keyframe keyframeOutliner keyframeRegionCurrentTimeCtx keyframeRegionDirectKeyCtx keyframeRegionDollyCtx keyframeRegionInsertKeyCtx keyframeRegionMoveKeyCtx keyframeRegionScaleKeyCtx keyframeRegionSelectKeyCtx keyframeRegionSetKeyCtx keyframeRegionTrackCtx keyframeStats lassoContext lattice latticeDeformKeyCtx launch launchImageEditor layerButton layeredShaderPort layeredTexturePort layout layoutDialog lightList lightListEditor lightListPanel lightlink lineIntersection linearPrecision linstep listAnimatable listAttr listCameras listConnections listDeviceAttachments listHistory listInputDeviceAxes listInputDeviceButtons listInputDevices listMenuAnnotation listNodeTypes listPanelCategories listRelatives listSets listTransforms listUnselected listerEditor loadFluid loadNewShelf loadPlugin loadPluginLanguageResources loadPrefObjects localizedPanelLabel lockNode loft log longNameOf lookThru ls lsThroughFilter lsType lsUI Mayatomr mag makeIdentity makeLive makePaintable makeRoll makeSingleSurface makeTubeOn makebot manipMoveContext manipMoveLimitsCtx manipOptions manipRotateContext manipRotateLimitsCtx manipScaleContext manipScaleLimitsCtx marker match max memory menu menuBarLayout menuEditor menuItem menuItemToShelf menuSet menuSetPref messageLine min minimizeApp mirrorJoint modelCurrentTimeCtx modelEditor modelPanel mouse movIn movOut move moveIKtoFK moveKeyCtx moveVertexAlongDirection multiProfileBirailSurface mute nParticle nameCommand nameField namespace namespaceInfo newPanelItems newton nodeCast nodeIconButton nodeOutliner nodePreset nodeType noise nonLinear normalConstraint normalize nurbsBoolean nurbsCopyUVSet nurbsCube nurbsEditUV nurbsPlane nurbsSelect nurbsSquare nurbsToPoly nurbsToPolygonsPref nurbsToSubdiv nurbsToSubdivPref nurbsUVSet nurbsViewDirectionVector objExists objectCenter objectLayer objectType objectTypeUI obsoleteProc oceanNurbsPreviewPlane offsetCurve offsetCurveOnSurface offsetSurface openGLExtension openMayaPref optionMenu optionMenuGrp optionVar orbit orbitCtx orientConstraint outlinerEditor outlinerPanel overrideModifier paintEffectsDisplay pairBlend palettePort paneLayout panel panelConfiguration panelHistory paramDimContext paramDimension paramLocator parent parentConstraint particle particleExists particleInstancer particleRenderInfo partition pasteKey pathAnimation pause pclose percent performanceOptions pfxstrokes pickWalk picture pixelMove planarSrf plane play playbackOptions playblast plugAttr plugNode pluginInfo pluginResourceUtil pointConstraint pointCurveConstraint pointLight pointMatrixMult pointOnCurve pointOnSurface pointPosition poleVectorConstraint polyAppend polyAppendFacetCtx polyAppendVertex polyAutoProjection polyAverageNormal polyAverageVertex polyBevel polyBlendColor polyBlindData polyBoolOp polyBridgeEdge polyCacheMonitor polyCheck polyChipOff polyClipboard polyCloseBorder polyCollapseEdge polyCollapseFacet polyColorBlindData polyColorDel polyColorPerVertex polyColorSet polyCompare polyCone polyCopyUV polyCrease polyCreaseCtx polyCreateFacet polyCreateFacetCtx polyCube polyCut polyCutCtx polyCylinder polyCylindricalProjection polyDelEdge polyDelFacet polyDelVertex polyDuplicateAndConnect polyDuplicateEdge polyEditUV polyEditUVShell polyEvaluate polyExtrudeEdge polyExtrudeFacet polyExtrudeVertex polyFlipEdge polyFlipUV polyForceUV polyGeoSampler polyHelix polyInfo polyInstallAction polyLayoutUV polyListComponentConversion polyMapCut polyMapDel polyMapSew polyMapSewMove polyMergeEdge polyMergeEdgeCtx polyMergeFacet polyMergeFacetCtx polyMergeUV polyMergeVertex polyMirrorFace polyMoveEdge polyMoveFacet polyMoveFacetUV polyMoveUV polyMoveVertex polyNormal polyNormalPerVertex polyNormalizeUV polyOptUvs polyOptions polyOutput polyPipe polyPlanarProjection polyPlane polyPlatonicSolid polyPoke polyPrimitive polyPrism polyProjection polyPyramid polyQuad polyQueryBlindData polyReduce polySelect polySelectConstraint polySelectConstraintMonitor polySelectCtx polySelectEditCtx polySeparate polySetToFaceNormal polySewEdge polyShortestPathCtx polySmooth polySoftEdge polySphere polySphericalProjection polySplit polySplitCtx polySplitEdge polySplitRing polySplitVertex polyStraightenUVBorder polySubdivideEdge polySubdivideFacet polyToSubdiv polyTorus polyTransfer polyTriangulate polyUVSet polyUnite polyWedgeFace popen popupMenu pose pow preloadRefEd print progressBar progressWindow projFileViewer projectCurve projectTangent projectionContext projectionManip promptDialog propModCtx propMove psdChannelOutliner psdEditTextureFile psdExport psdTextureFile putenv pwd python querySubdiv quit rad_to_deg radial radioButton radioButtonGrp radioCollection radioMenuItemCollection rampColorPort rand randomizeFollicles randstate rangeControl readTake rebuildCurve rebuildSurface recordAttr recordDevice redo reference referenceEdit referenceQuery refineSubdivSelectionList refresh refreshAE registerPluginResource rehash reloadImage removeJoint removeMultiInstance removePanelCategory rename renameAttr renameSelectionList renameUI render renderGlobalsNode renderInfo renderLayerButton renderLayerParent renderLayerPostProcess renderLayerUnparent renderManip renderPartition renderQualityNode renderSettings renderThumbnailUpdate renderWindowEditor renderWindowSelectContext renderer reorder reorderDeformers requires reroot resampleFluid resetAE resetPfxToPolyCamera resetTool resolutionNode retarget reverseCurve reverseSurface revolve rgb_to_hsv rigidBody rigidSolver roll rollCtx rootOf rot rotate rotationInterpolation roundConstantRadius rowColumnLayout rowLayout runTimeCommand runup sampleImage saveAllShelves saveAttrPreset saveFluid saveImage saveInitialState saveMenu savePrefObjects savePrefs saveShelf saveToolSettings scale scaleBrushBrightness scaleComponents scaleConstraint scaleKey scaleKeyCtx sceneEditor sceneUIReplacement scmh scriptCtx scriptEditorInfo scriptJob scriptNode scriptTable scriptToShelf scriptedPanel scriptedPanelType scrollField scrollLayout sculpt searchPathArray seed selLoadSettings select selectContext selectCurveCV selectKey selectKeyCtx selectKeyframeRegionCtx selectMode selectPref selectPriority selectType selectedNodes selectionConnection separator setAttr setAttrEnumResource setAttrMapping setAttrNiceNameResource setConstraintRestPosition setDefaultShadingGroup setDrivenKeyframe setDynamic setEditCtx setEditor setFluidAttr setFocus setInfinity setInputDeviceMapping setKeyCtx setKeyPath setKeyframe setKeyframeBlendshapeTargetWts setMenuMode setNodeNiceNameResource setNodeTypeFlag setParent setParticleAttr setPfxToPolyCamera setPluginResource setProject setStampDensity setStartupMessage setState setToolTo setUITemplate setXformManip sets shadingConnection shadingGeometryRelCtx shadingLightRelCtx shadingNetworkCompare shadingNode shapeCompare shelfButton shelfLayout shelfTabLayout shellField shortNameOf showHelp showHidden showManipCtx showSelectionInTitle showShadingGroupAttrEditor showWindow sign simplify sin singleProfileBirailSurface size sizeBytes skinCluster skinPercent smoothCurve smoothTangentSurface smoothstep snap2to2 snapKey snapMode snapTogetherCtx snapshot soft softMod softModCtx sort sound soundControl source spaceLocator sphere sphrand spotLight spotLightPreviewPort spreadSheetEditor spring sqrt squareSurface srtContext stackTrace startString startsWith stitchAndExplodeShell stitchSurface stitchSurfacePoints strcmp stringArrayCatenate stringArrayContains stringArrayCount stringArrayInsertAtIndex stringArrayIntersector stringArrayRemove stringArrayRemoveAtIndex stringArrayRemoveDuplicates stringArrayRemoveExact stringArrayToString stringToStringArray strip stripPrefixFromName stroke subdAutoProjection subdCleanTopology subdCollapse subdDuplicateAndConnect subdEditUV subdListComponentConversion subdMapCut subdMapSewMove subdMatchTopology subdMirror subdToBlind subdToPoly subdTransferUVsToCache subdiv subdivCrease subdivDisplaySmoothness substitute substituteAllString substituteGeometry substring surface surfaceSampler surfaceShaderList swatchDisplayPort switchTable symbolButton symbolCheckBox sysFile system tabLayout tan tangentConstraint texLatticeDeformContext texManipContext texMoveContext texMoveUVShellContext texRotateContext texScaleContext texSelectContext texSelectShortestPathCtx texSmudgeUVContext texWinToolCtx text textCurves textField textFieldButtonGrp textFieldGrp textManip textScrollList textToShelf textureDisplacePlane textureHairColor texturePlacementContext textureWindow threadCount threePointArcCtx timeControl timePort timerX toNativePath toggle toggleAxis toggleWindowVisibility tokenize tokenizeList tolerance tolower toolButton toolCollection toolDropped toolHasOptions toolPropertyWindow torus toupper trace track trackCtx transferAttributes transformCompare transformLimits translator trim trunc truncateFluidCache truncateHairCache tumble tumbleCtx turbulence twoPointArcCtx uiRes uiTemplate unassignInputDevice undo undoInfo ungroup uniform unit unloadPlugin untangleUV untitledFileName untrim upAxis updateAE userCtx uvLink uvSnapshot validateShelfName vectorize view2dToolCtx viewCamera viewClipPlane viewFit viewHeadOn viewLookAt viewManip viewPlace viewSet visor volumeAxis vortex waitCursor warning webBrowser webBrowserPrefs whatIs window windowPref wire wireContext workspace wrinkle wrinkleContext writeTake xbmLangPathList xform",illegal:"</",contains:[e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:"[\\$\\%\\@](\\^\\w\\b|#\\w+|[^\\s\\w{]|{\\w+}|\\w+)"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]}}},{name:"mercury",create:function(e){var t={keyword:"module use_module import_module include_module end_module initialise mutable initialize finalize finalise interface implementation pred mode func type inst solver any_pred any_func is semidet det nondet multi erroneous failure cc_nondet cc_multi typeclass instance where pragma promise external trace atomic or_else require_complete_switch require_det require_semidet require_multi require_nondet require_cc_multi require_cc_nondet require_erroneous require_failure",meta:"inline no_inline type_spec source_file fact_table obsolete memo loop_check minimal_model terminates does_not_terminate check_termination promise_equivalent_clauses foreign_proc foreign_decl foreign_code foreign_type foreign_import_module foreign_export_enum foreign_export foreign_enum may_call_mercury will_not_call_mercury thread_safe not_thread_safe maybe_thread_safe promise_pure promise_semipure tabled_for_io local untrailed trailed attach_to_io_state can_pass_as_mercury_type stable will_not_throw_exception may_modify_trail will_not_modify_trail may_duplicate may_not_duplicate affects_liveness does_not_affect_liveness doesnt_affect_liveness no_sharing unknown_sharing sharing",built_in:"some all not if then else true fail false try catch catch_any semidet_true semidet_false semidet_fail impure_true impure semipure"},a=e.COMMENT("%","$"),r={className:"number",begin:"0'.\\|0[box][0-9a-fA-F]*"},i=e.inherit(e.APOS_STRING_MODE,{relevance:0}),s=e.inherit(e.QUOTE_STRING_MODE,{relevance:0}),n={className:"subst",begin:"\\\\[abfnrtv]\\|\\\\x[0-9a-fA-F]*\\\\\\|%[-+# *.0-9]*[dioxXucsfeEgGp]",relevance:0};return s.contains.push(n),{aliases:["m","moo"],keywords:t,contains:[{className:"built_in",variants:[{begin:"<=>"},{begin:"<=",relevance:0},{begin:"=>",relevance:0},{begin:"/\\\\"},{begin:"\\\\/"}]},{className:"built_in",variants:[{begin:":-\\|--\x3e"},{begin:"=",relevance:0}]},a,e.C_BLOCK_COMMENT_MODE,r,e.NUMBER_MODE,i,s,{begin:/:-/}]}}},{name:"mipsasm",create:function(e){return{case_insensitive:!0,aliases:["mips"],lexemes:"\\.?"+e.IDENT_RE,keywords:{meta:".2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .ltorg ",built_in:"$0 $1 $2 $3 $4 $5 $6 $7 $8 $9 $10 $11 $12 $13 $14 $15 $16 $17 $18 $19 $20 $21 $22 $23 $24 $25 $26 $27 $28 $29 $30 $31 zero at v0 v1 a0 a1 a2 a3 a4 a5 a6 a7 t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 s0 s1 s2 s3 s4 s5 s6 s7 s8 k0 k1 gp sp fp ra $f0 $f1 $f2 $f2 $f4 $f5 $f6 $f7 $f8 $f9 $f10 $f11 $f12 $f13 $f14 $f15 $f16 $f17 $f18 $f19 $f20 $f21 $f22 $f23 $f24 $f25 $f26 $f27 $f28 $f29 $f30 $f31 Context Random EntryLo0 EntryLo1 Context PageMask Wired EntryHi HWREna BadVAddr Count Compare SR IntCtl SRSCtl SRSMap Cause EPC PRId EBase Config Config1 Config2 Config3 LLAddr Debug DEPC DESAVE CacheErr ECC ErrorEPC TagLo DataLo TagHi DataHi WatchLo WatchHi PerfCtl PerfCnt "},contains:[{className:"keyword",begin:"\\b(addi?u?|andi?|b(al)?|beql?|bgez(al)?l?|bgtzl?|blezl?|bltz(al)?l?|bnel?|cl[oz]|divu?|ext|ins|j(al)?|jalr(.hb)?|jr(.hb)?|lbu?|lhu?|ll|lui|lw[lr]?|maddu?|mfhi|mflo|movn|movz|move|msubu?|mthi|mtlo|mul|multu?|nop|nor|ori?|rotrv?|sb|sc|se[bh]|sh|sllv?|slti?u?|srav?|srlv?|subu?|sw[lr]?|xori?|wsbh|abs.[sd]|add.[sd]|alnv.ps|bc1[ft]l?|c.(s?f|un|u?eq|[ou]lt|[ou]le|ngle?|seq|l[et]|ng[et]).[sd]|(ceil|floor|round|trunc).[lw].[sd]|cfc1|cvt.d.[lsw]|cvt.l.[dsw]|cvt.ps.s|cvt.s.[dlw]|cvt.s.p[lu]|cvt.w.[dls]|div.[ds]|ldx?c1|luxc1|lwx?c1|madd.[sd]|mfc1|mov[fntz]?.[ds]|msub.[sd]|mth?c1|mul.[ds]|neg.[ds]|nmadd.[ds]|nmsub.[ds]|p[lu][lu].ps|recip.fmt|r?sqrt.[ds]|sdx?c1|sub.[ds]|suxc1|swx?c1|break|cache|d?eret|[de]i|ehb|mfc0|mtc0|pause|prefx?|rdhwr|rdpgpr|sdbbp|ssnop|synci?|syscall|teqi?|tgei?u?|tlb(p|r|w[ir])|tlti?u?|tnei?|wait|wrpgpr)",end:"\\s"},e.COMMENT("[;#]","$"),e.C_BLOCK_COMMENT_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:"'",end:"[^\\\\]'",relevance:0},{className:"title",begin:"\\|",end:"\\|",illegal:"\\n",relevance:0},{className:"number",variants:[{begin:"0x[0-9a-f]+"},{begin:"\\b-?\\d+"}],relevance:0},{className:"symbol",variants:[{begin:"^\\s*[a-z_\\.\\$][a-z0-9_\\.\\$]+:"},{begin:"^\\s*[0-9]+:"},{begin:"[0-9]+[bf]"}],relevance:0}],illegal:"/"}}},{name:"mizar",create:function(e){return{keywords:"environ vocabularies notations constructors definitions registrations theorems schemes requirements begin end definition registration cluster existence pred func defpred deffunc theorem proof let take assume then thus hence ex for st holds consider reconsider such that and in provided of as from be being by means equals implies iff redefine define now not or attr is mode suppose per cases set thesis contradiction scheme reserve struct correctness compatibility coherence symmetry assymetry reflexivity irreflexivity connectedness uniqueness commutativity idempotence involutiveness projectivity",contains:[e.COMMENT("::","$")]}}},{name:"mojolicious",create:function(e){return{subLanguage:"xml",contains:[{className:"meta",begin:"^__(END|DATA)__$"},{begin:"^\\s*%{1,2}={0,2}",end:"$",subLanguage:"perl"},{begin:"<%{1,2}={0,2}",end:"={0,1}%>",subLanguage:"perl",excludeBegin:!0,excludeEnd:!0}]}}},{name:"monkey",create:function(e){var t={className:"number",relevance:0,variants:[{begin:"[$][a-fA-F0-9]+"},e.NUMBER_MODE]};return{case_insensitive:!0,keywords:{keyword:"public private property continue exit extern new try catch eachin not abstract final select case default const local global field end if then else elseif endif while wend repeat until forever for to step next return module inline throw import",built_in:"DebugLog DebugStop Error Print ACos ACosr ASin ASinr ATan ATan2 ATan2r ATanr Abs Abs Ceil Clamp Clamp Cos Cosr Exp Floor Log Max Max Min Min Pow Sgn Sgn Sin Sinr Sqrt Tan Tanr Seed PI HALFPI TWOPI",literal:"true false null and or shl shr mod"},illegal:/\/\*/,contains:[e.COMMENT("#rem","#end"),e.COMMENT("'","$",{relevance:0}),{className:"function",beginKeywords:"function method",end:"[(=:]|$",illegal:/\n/,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"class",beginKeywords:"class interface",end:"$",contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{className:"built_in",begin:"\\b(self|super)\\b"},{className:"meta",begin:"\\s*#",end:"$",keywords:{"meta-keyword":"if else elseif endif end then"}},{className:"meta",begin:"^\\s*strict\\b"},{beginKeywords:"alias",end:"=",contains:[e.UNDERSCORE_TITLE_MODE]},e.QUOTE_STRING_MODE,t]}}},{name:"moonscript",create:function(e){var t={keyword:"if then not for in while do return else elseif break continue switch and or unless when class extends super local import export from using",literal:"true false nil",built_in:"_G _VERSION assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall coroutine debug io math os package string table"},a="[A-Za-z$_][0-9A-Za-z$_]*",r={className:"subst",begin:/#\{/,end:/}/,keywords:t},i=[e.inherit(e.C_NUMBER_MODE,{starts:{end:"(\\s*/)?",relevance:0}}),{className:"string",variants:[{begin:/'/,end:/'/,contains:[e.BACKSLASH_ESCAPE]},{begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,r]}]},{className:"built_in",begin:"@__"+e.IDENT_RE},{begin:"@"+e.IDENT_RE},{begin:e.IDENT_RE+"\\\\"+e.IDENT_RE}];r.contains=i;var s=e.inherit(e.TITLE_MODE,{begin:a}),n={className:"params",begin:"\\([^\\(]",returnBegin:!0,contains:[{begin:/\(/,end:/\)/,keywords:t,contains:["self"].concat(i)}]};return{aliases:["moon"],keywords:t,illegal:/\/\*/,contains:i.concat([e.COMMENT("--","$"),{className:"function",begin:"^\\s*"+a+"\\s*=\\s*(\\(.*\\))?\\s*\\B[-=]>",end:"[-=]>",returnBegin:!0,contains:[s,n]},{begin:/[\(,:=]\s*/,relevance:0,contains:[{className:"function",begin:"(\\(.*\\))?\\s*\\B[-=]>",end:"[-=]>",returnBegin:!0,contains:[n]}]},{className:"class",beginKeywords:"class",end:"$",illegal:/[:="\[\]]/,contains:[{beginKeywords:"extends",endsWithParent:!0,illegal:/[:="\[\]]/,contains:[s]},s]},{className:"name",begin:a+":",end:":",returnBegin:!0,returnEnd:!0,relevance:0}])}}},{name:"n1ql",create:function(e){return{case_insensitive:!0,contains:[{beginKeywords:"build create index delete drop explain infer|10 insert merge prepare select update upsert|10",end:/;/,endsWithParent:!0,keywords:{keyword:"all alter analyze and any array as asc begin between binary boolean break bucket build by call case cast cluster collate collection commit connect continue correlate cover create database dataset datastore declare decrement delete derived desc describe distinct do drop each element else end every except exclude execute exists explain fetch first flatten for force from function grant group gsi having if ignore ilike in include increment index infer inline inner insert intersect into is join key keys keyspace known last left let letting like limit lsm map mapping matched materialized merge minus namespace nest not number object offset on option or order outer over parse partition password path pool prepare primary private privilege procedure public raw realm reduce rename return returning revoke right role rollback satisfies schema select self semi set show some start statistics string system then to transaction trigger truncate under union unique unknown unnest unset update upsert use user using validate value valued values via view when where while with within work xor",literal:"true false null missing|5",built_in:"array_agg array_append array_concat array_contains array_count array_distinct array_ifnull array_length array_max array_min array_position array_prepend array_put array_range array_remove array_repeat array_replace array_reverse array_sort array_sum avg count max min sum greatest least ifmissing ifmissingornull ifnull missingif nullif ifinf ifnan ifnanorinf naninf neginfif posinfif clock_millis clock_str date_add_millis date_add_str date_diff_millis date_diff_str date_part_millis date_part_str date_trunc_millis date_trunc_str duration_to_str millis str_to_millis millis_to_str millis_to_utc millis_to_zone_name now_millis now_str str_to_duration str_to_utc str_to_zone_name decode_json encode_json encoded_size poly_length base64 base64_encode base64_decode meta uuid abs acos asin atan atan2 ceil cos degrees e exp ln log floor pi power radians random round sign sin sqrt tan trunc object_length object_names object_pairs object_inner_pairs object_values object_inner_values object_add object_put object_remove object_unwrap regexp_contains regexp_like regexp_position regexp_replace contains initcap length lower ltrim position repeat replace rtrim split substr title trim upper isarray isatom isboolean isnumber isobject isstring type toarray toatom toboolean tonumber toobject tostring"},contains:[{className:"string",begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE],relevance:0},{className:"string",begin:'"',end:'"',contains:[e.BACKSLASH_ESCAPE],relevance:0},{className:"symbol",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE],relevance:2},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE]},e.C_BLOCK_COMMENT_MODE]}}},{name:"nginx",create:function(e){var t={className:"variable",variants:[{begin:/\$\d+/},{begin:/\$\{/,end:/}/},{begin:"[\\$\\@]"+e.UNDERSCORE_IDENT_RE}]},a={endsWithParent:!0,lexemes:"[a-z/_]+",keywords:{literal:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},relevance:0,illegal:"=>",contains:[e.HASH_COMMENT_MODE,{className:"string",contains:[e.BACKSLASH_ESCAPE,t],variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/}]},{begin:"([a-z]+):/",end:"\\s",endsWithParent:!0,excludeEnd:!0,contains:[t]},{className:"regexp",contains:[e.BACKSLASH_ESCAPE,t],variants:[{begin:"\\s\\^",end:"\\s|{|;",returnEnd:!0},{begin:"~\\*?\\s+",end:"\\s|{|;",returnEnd:!0},{begin:"\\*(\\.[a-z\\-]+)+"},{begin:"([a-z\\-]+\\.)+\\*"}]},{className:"number",begin:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{className:"number",begin:"\\b\\d+[kKmMgGdshdwy]*\\b",relevance:0},t]};return{aliases:["nginxconf"],contains:[e.HASH_COMMENT_MODE,{begin:e.UNDERSCORE_IDENT_RE+"\\s+{",returnBegin:!0,end:"{",contains:[{className:"section",begin:e.UNDERSCORE_IDENT_RE}],relevance:0},{begin:e.UNDERSCORE_IDENT_RE+"\\s",end:";|{",returnBegin:!0,contains:[{className:"attribute",begin:e.UNDERSCORE_IDENT_RE,starts:a}],relevance:0}],illegal:"[^\\s\\}]"}}},{name:"nimrod",create:function(e){return{aliases:["nim"],keywords:{keyword:"addr and as asm bind block break case cast const continue converter discard distinct div do elif else end enum except export finally for from generic if import in include interface is isnot iterator let macro method mixin mod nil not notin object of or out proc ptr raise ref return shl shr static template try tuple type using var when while with without xor yield",literal:"shared guarded stdin stdout stderr result true false",built_in:"int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 float float32 float64 bool char string cstring pointer expr stmt void auto any range array openarray varargs seq set clong culong cchar cschar cshort cint csize clonglong cfloat cdouble clongdouble cuchar cushort cuint culonglong cstringarray semistatic"},contains:[{className:"meta",begin:/{\./,end:/\.}/,relevance:10},{className:"string",begin:/[a-zA-Z]\w*"/,end:/"/,contains:[{begin:/""/}]},{className:"string",begin:/([a-zA-Z]\w*)?"""/,end:/"""/},e.QUOTE_STRING_MODE,{className:"type",begin:/\b[A-Z]\w+\b/,relevance:0},{className:"number",relevance:0,variants:[{begin:/\b(0[xX][0-9a-fA-F][_0-9a-fA-F]*)('?[iIuU](8|16|32|64))?/},{begin:/\b(0o[0-7][_0-7]*)('?[iIuUfF](8|16|32|64))?/},{begin:/\b(0(b|B)[01][_01]*)('?[iIuUfF](8|16|32|64))?/},{begin:/\b(\d[_\d]*)('?[iIuUfF](8|16|32|64))?/}]},e.HASH_COMMENT_MODE]}}},{name:"nix",create:function(e){var t={keyword:"rec with let in inherit assert if else then",literal:"true false or and null",built_in:"import abort baseNameOf dirOf isNull builtins map removeAttrs throw toString derivation"},a={className:"subst",begin:/\$\{/,end:/}/,keywords:t},r={begin:/[a-zA-Z0-9-_]+(\s*=)/,returnBegin:!0,relevance:0,contains:[{className:"attr",begin:/\S+/}]},i={className:"string",contains:[a],variants:[{begin:"''",end:"''"},{begin:'"',end:'"'}]},s=[e.NUMBER_MODE,e.HASH_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,i,r];return a.contains=s,{aliases:["nixos"],keywords:t,contains:s}}},{name:"nsis",create:function(e){var t={className:"variable",begin:/\$(ADMINTOOLS|APPDATA|CDBURN_AREA|CMDLINE|COMMONFILES32|COMMONFILES64|COMMONFILES|COOKIES|DESKTOP|DOCUMENTS|EXEDIR|EXEFILE|EXEPATH|FAVORITES|FONTS|HISTORY|HWNDPARENT|INSTDIR|INTERNET_CACHE|LANGUAGE|LOCALAPPDATA|MUSIC|NETHOOD|OUTDIR|PICTURES|PLUGINSDIR|PRINTHOOD|PROFILE|PROGRAMFILES32|PROGRAMFILES64|PROGRAMFILES|QUICKLAUNCH|RECENT|RESOURCES_LOCALIZED|RESOURCES|SENDTO|SMPROGRAMS|SMSTARTUP|STARTMENU|SYSDIR|TEMP|TEMPLATES|VIDEOS|WINDIR)/},a={className:"variable",begin:/\$+{[\w\.:-]+}/},r={className:"variable",begin:/\$+\w+/,illegal:/\(\){}/},i={className:"variable",begin:/\$+\([\w\^\.:-]+\)/},s={className:"params", +begin:"(ARCHIVE|FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_NORMAL|FILE_ATTRIBUTE_OFFLINE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_TEMPORARY|HKCR|HKCU|HKDD|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_DYN_DATA|HKEY_LOCAL_MACHINE|HKEY_PERFORMANCE_DATA|HKEY_USERS|HKLM|HKPD|HKU|IDABORT|IDCANCEL|IDIGNORE|IDNO|IDOK|IDRETRY|IDYES|MB_ABORTRETRYIGNORE|MB_DEFBUTTON1|MB_DEFBUTTON2|MB_DEFBUTTON3|MB_DEFBUTTON4|MB_ICONEXCLAMATION|MB_ICONINFORMATION|MB_ICONQUESTION|MB_ICONSTOP|MB_OK|MB_OKCANCEL|MB_RETRYCANCEL|MB_RIGHT|MB_RTLREADING|MB_SETFOREGROUND|MB_TOPMOST|MB_USERICON|MB_YESNO|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SYSTEM|TEMPORARY)"},n={className:"keyword",begin:/\!(addincludedir|addplugindir|appendfile|cd|define|delfile|echo|else|endif|error|execute|finalize|getdllversion|gettlbversion|if|ifdef|ifmacrodef|ifmacrondef|ifndef|include|insertmacro|macro|macroend|makensis|packhdr|searchparse|searchreplace|system|tempfile|undef|verbose|warning)/},o={className:"meta",begin:/\$(\\[nrt]|\$)/},l={className:"class",begin:/\w+\:\:\w+/},c={className:"string",variants:[{begin:'"',end:'"'},{begin:"'",end:"'"},{begin:"`",end:"`"}],illegal:/\n/,contains:[o,t,a,r,i]};return{case_insensitive:!1,keywords:{keyword:"Abort AddBrandingImage AddSize AllowRootDirInstall AllowSkipFiles AutoCloseWindow BGFont BGGradient BrandingText BringToFront Call CallInstDLL Caption ChangeUI CheckBitmap ClearErrors CompletedText ComponentText CopyFiles CRCCheck CreateDirectory CreateFont CreateShortCut Delete DeleteINISec DeleteINIStr DeleteRegKey DeleteRegValue DetailPrint DetailsButtonText DirText DirVar DirVerify EnableWindow EnumRegKey EnumRegValue Exch Exec ExecShell ExecShellWait ExecWait ExpandEnvStrings File FileBufSize FileClose FileErrorText FileOpen FileRead FileReadByte FileReadUTF16LE FileReadWord FileSeek FileWrite FileWriteByte FileWriteUTF16LE FileWriteWord FindClose FindFirst FindNext FindWindow FlushINI FunctionEnd GetCurInstType GetCurrentAddress GetDlgItem GetDLLVersion GetDLLVersionLocal GetErrorLevel GetFileTime GetFileTimeLocal GetFullPathName GetFunctionAddress GetInstDirError GetLabelAddress GetTempFileName Goto HideWindow Icon IfAbort IfErrors IfFileExists IfRebootFlag IfSilent InitPluginsDir InstallButtonText InstallColors InstallDir InstallDirRegKey InstProgressFlags InstType InstTypeGetText InstTypeSetText Int64Cmp Int64CmpU Int64Fmt IntCmp IntCmpU IntFmt IntOp IntPtrCmp IntPtrCmpU IntPtrOp IsWindow LangString LicenseBkColor LicenseData LicenseForceSelection LicenseLangString LicenseText LoadLanguageFile LockWindow LogSet LogText ManifestDPIAware ManifestSupportedOS MessageBox MiscButtonText Name Nop OutFile Page PageCallbacks PageExEnd Pop Push Quit ReadEnvStr ReadINIStr ReadRegDWORD ReadRegStr Reboot RegDLL Rename RequestExecutionLevel ReserveFile Return RMDir SearchPath SectionEnd SectionGetFlags SectionGetInstTypes SectionGetSize SectionGetText SectionGroupEnd SectionIn SectionSetFlags SectionSetInstTypes SectionSetSize SectionSetText SendMessage SetAutoClose SetBrandingImage SetCompress SetCompressor SetCompressorDictSize SetCtlColors SetCurInstType SetDatablockOptimize SetDateSave SetDetailsPrint SetDetailsView SetErrorLevel SetErrors SetFileAttributes SetFont SetOutPath SetOverwrite SetRebootFlag SetRegView SetShellVarContext SetSilent ShowInstDetails ShowUninstDetails ShowWindow SilentInstall SilentUnInstall Sleep SpaceTexts StrCmp StrCmpS StrCpy StrLen SubCaption Unicode UninstallButtonText UninstallCaption UninstallIcon UninstallSubCaption UninstallText UninstPage UnRegDLL Var VIAddVersionKey VIFileVersion VIProductVersion WindowIcon WriteINIStr WriteRegBin WriteRegDWORD WriteRegExpandStr WriteRegMultiStr WriteRegNone WriteRegStr WriteUninstaller XPStyle",literal:"admin all auto both bottom bzip2 colored components current custom directory false force hide highest ifdiff ifnewer instfiles lastused leave left license listonly lzma nevershow none normal notset off on open print right show silent silentlog smooth textonly top true try un.components un.custom un.directory un.instfiles un.license uninstConfirm user Win10 Win7 Win8 WinVista zlib"},contains:[e.HASH_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.COMMENT(";","$",{relevance:0}),{className:"function",beginKeywords:"Function PageEx Section SectionGroup",end:"$"},c,n,a,r,i,s,l,e.NUMBER_MODE]}}},{name:"objectivec",create:function(e){var t={className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},a={keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required @encode @package @import @defs @compatibility_alias __bridge __bridge_transfer __bridge_retained __bridge_retain __covariant __contravariant __kindof _Nonnull _Nullable _Null_unspecified __FUNCTION__ __PRETTY_FUNCTION__ __attribute__ getter setter retain unsafe_unretained nonnull nullable null_unspecified null_resettable class instancetype NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"},r=/[a-zA-Z@][a-zA-Z0-9_]*/,i="@interface @class @protocol @implementation";return{aliases:["mm","objc","obj-c"],keywords:a,lexemes:r,illegal:"</",contains:[t,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.C_NUMBER_MODE,e.QUOTE_STRING_MODE,{className:"string",variants:[{begin:'@"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"'",end:"[^\\\\]'",illegal:"[^\\\\][^']"}]},{className:"meta",begin:"#",end:"$",contains:[{className:"meta-string",variants:[{begin:'"',end:'"'},{begin:"<",end:">"}]}]},{className:"class",begin:"("+i.split(" ").join("|")+")\\b",end:"({|$)",excludeEnd:!0,keywords:i,lexemes:r,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}},{name:"ocaml",create:function(e){return{aliases:["ml"],keywords:{keyword:"and as assert asr begin class constraint do done downto else end exception external for fun function functor if in include inherit! inherit initializer land lazy let lor lsl lsr lxor match method!|10 method mod module mutable new object of open! open or private rec sig struct then to try type val! val virtual when while with parser value",built_in:"array bool bytes char exn|5 float int int32 int64 list lazy_t|5 nativeint|5 string unit in_channel out_channel ref",literal:"true false"},illegal:/\/\/|>>/,lexemes:"[a-z_]\\w*!?",contains:[{className:"literal",begin:"\\[(\\|\\|)?\\]|\\(\\)",relevance:0},e.COMMENT("\\(\\*","\\*\\)",{contains:["self"]}),{className:"symbol",begin:"'[A-Za-z_](?!')[\\w']*"},{className:"type",begin:"`[A-Z][\\w']*"},{className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},{begin:"[a-z_]\\w*'[\\w']*",relevance:0},e.inherit(e.APOS_STRING_MODE,{className:"string",relevance:0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),{className:"number",begin:"\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)",relevance:0},{begin:/[-=]>/}]}}},{name:"openscad",create:function(e){var t={className:"keyword",begin:"\\$(f[asn]|t|vp[rtd]|children)"},a={className:"literal",begin:"false|true|PI|undef"},r={className:"number",begin:"\\b\\d+(\\.\\d+)?(e-?\\d+)?",relevance:0},i=e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),s={className:"meta",keywords:{"meta-keyword":"include use"},begin:"include|use <",end:">"},n={className:"params",begin:"\\(",end:"\\)",contains:["self",r,i,t,a]},o={begin:"[*!#%]",relevance:0},l={className:"function",beginKeywords:"module function",end:"\\=|\\{",contains:[n,e.UNDERSCORE_TITLE_MODE]};return{aliases:["scad"],keywords:{keyword:"function module include use for intersection_for if else \\%",literal:"false true PI undef",built_in:"circle square polygon text sphere cube cylinder polyhedron translate rotate scale resize mirror multmatrix color offset hull minkowski union difference intersection abs sign sin cos tan acos asin atan atan2 floor round ceil ln log pow sqrt exp rands min max concat lookup str chr search version version_num norm cross parent_module echo import import_dxf dxf_linear_extrude linear_extrude rotate_extrude surface projection render children dxf_cross dxf_dim let assign"},contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,r,s,i,t,o,l]}}},{name:"oxygene",create:function(e){var t="abstract add and array as asc aspect assembly async begin break block by case class concat const copy constructor continue create default delegate desc distinct div do downto dynamic each else empty end ensure enum equals event except exit extension external false final finalize finalizer finally flags for forward from function future global group has if implementation implements implies in index inherited inline interface into invariants is iterator join locked locking loop matching method mod module namespace nested new nil not notify nullable of old on operator or order out override parallel params partial pinned private procedure property protected public queryable raise read readonly record reintroduce remove repeat require result reverse sealed select self sequence set shl shr skip static step soft take then to true try tuple type union unit unsafe until uses using var virtual raises volatile where while with write xor yield await mapped deprecated stdcall cdecl pascal register safecall overload library platform reference packed strict published autoreleasepool selector strong weak unretained",a=e.COMMENT("{","}",{relevance:0}),r=e.COMMENT("\\(\\*","\\*\\)",{relevance:10}),i={className:"string",begin:"'",end:"'",contains:[{begin:"''"}]},s={className:"string",begin:"(#\\d+)+"},n={className:"function",beginKeywords:"function constructor destructor procedure method",end:"[:;]",keywords:"function constructor|10 destructor|10 procedure|10 method|10",contains:[e.TITLE_MODE,{className:"params",begin:"\\(",end:"\\)",keywords:t,contains:[i,s]},a,r]};return{case_insensitive:!0,lexemes:/\.?\w+/,keywords:t,illegal:'("|\\$[G-Zg-z]|\\/\\*|</|=>|->)',contains:[a,r,e.C_LINE_COMMENT_MODE,i,s,e.NUMBER_MODE,n,{className:"class",begin:"=\\bclass\\b",end:"end;",keywords:t,contains:[i,s,a,r,e.C_LINE_COMMENT_MODE,n]}]}}},{name:"parser3",create:function(e){var t=e.COMMENT("{","}",{contains:["self"]});return{subLanguage:"xml",relevance:0,contains:[e.COMMENT("^#","$"),e.COMMENT("\\^rem{","}",{relevance:10,contains:[t]}),{className:"meta",begin:"^@(?:BASE|USE|CLASS|OPTIONS)$",relevance:10},{className:"title",begin:"@[\\w\\-]+\\[[\\w^;\\-]*\\](?:\\[[\\w^;\\-]*\\])?(?:.*)$"},{className:"variable",begin:"\\$\\{?[\\w\\-\\.\\:]+\\}?"},{className:"keyword",begin:"\\^[\\w\\-\\.\\:]+"},{className:"number",begin:"\\^#[0-9a-fA-F]+"},e.C_NUMBER_MODE]}}},{name:"perl",create:function(e){var t="getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when",a={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:t},r={begin:"->{",end:"}"},i={variants:[{begin:/\$\d/},{begin:/[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/},{begin:/[\$%@][^\s\w{]/,relevance:0}]},s=[e.BACKSLASH_ESCAPE,a,i],n=[i,e.HASH_COMMENT_MODE,e.COMMENT("^\\=\\w","\\=cut",{endsWithParent:!0}),r,{className:"string",contains:s,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*\\<",end:"\\>",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:"{\\w+}",contains:[],relevance:0},{begin:"-?\\w+\\s*\\=\\>",contains:[],relevance:0}]},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[e.HASH_COMMENT_MODE,{className:"regexp",begin:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",relevance:10},{className:"regexp",begin:"(m|qr)?/",end:"/[a-z]*",contains:[e.BACKSLASH_ESCAPE],relevance:0}]},{className:"function",beginKeywords:"sub",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return a.contains=n,r.contains=n,{aliases:["pl","pm"],lexemes:/[\w\.]+/,keywords:t,contains:n}}},{name:"pf",create:function(e){var t={className:"variable",begin:/\$[\w\d#@][\w\d_]*/},a={className:"variable",begin:/<(?!\/)/,end:/>/};return{aliases:["pf.conf"],lexemes:/[a-z0-9_<>-]+/,keywords:{built_in:"block match pass load anchor|5 antispoof|10 set table",keyword:"in out log quick on rdomain inet inet6 proto from port os to routeallow-opts divert-packet divert-reply divert-to flags group icmp-typeicmp6-type label once probability recieved-on rtable prio queuetos tag tagged user keep fragment for os dropaf-to|10 binat-to|10 nat-to|10 rdr-to|10 bitmask least-stats random round-robinsource-hash static-portdup-to reply-to route-toparent bandwidth default min max qlimitblock-policy debug fingerprints hostid limit loginterface optimizationreassemble ruleset-optimization basic none profile skip state-defaultsstate-policy timeoutconst counters persistno modulate synproxy state|5 floating if-bound no-sync pflow|10 sloppysource-track global rule max-src-nodes max-src-states max-src-connmax-src-conn-rate overload flushscrub|5 max-mss min-ttl no-df|10 random-id",literal:"all any no-route self urpf-failed egress|5 unknown"},contains:[e.HASH_COMMENT_MODE,e.NUMBER_MODE,e.QUOTE_STRING_MODE,t,a]}}},{name:"pgsql",create:function(e){var t=e.COMMENT("--","$"),a="BIGINT INT8 BIGSERIAL SERIAL8 BIT VARYING VARBIT BOOLEAN BOOL BOX BYTEA CHARACTER CHAR VARCHAR CIDR CIRCLE DATE DOUBLE PRECISION FLOAT8 FLOAT INET INTEGER INT INT4 INTERVAL JSON JSONB LINE LSEG|10 MACADDR MACADDR8 MONEY NUMERIC DEC DECIMAL PATH POINT POLYGON REAL FLOAT4 SMALLINT INT2 SMALLSERIAL|10 SERIAL2|10 SERIAL|10 SERIAL4|10 TEXT TIME ZONE TIMETZ|10 TIMESTAMP TIMESTAMPTZ|10 TSQUERY|10 TSVECTOR|10 TXID_SNAPSHOT|10 UUID XML NATIONAL NCHAR INT4RANGE|10 INT8RANGE|10 NUMRANGE|10 TSRANGE|10 TSTZRANGE|10 DATERANGE|10 ANYELEMENT ANYARRAY ANYNONARRAY ANYENUM ANYRANGE CSTRING INTERNAL RECORD PG_DDL_COMMAND VOID UNKNOWN OPAQUE REFCURSOR NAME OID REGPROC|10 REGPROCEDURE|10 REGOPER|10 REGOPERATOR|10 REGCLASS|10 REGTYPE|10 REGROLE|10 REGNAMESPACE|10 REGCONFIG|10 REGDICTIONARY|10 ",r=a.trim().split(" ").map(function(e){return e.split("|")[0]}).join("|"),i="ARRAY_AGG AVG BIT_AND BIT_OR BOOL_AND BOOL_OR COUNT EVERY JSON_AGG JSONB_AGG JSON_OBJECT_AGG JSONB_OBJECT_AGG MAX MIN MODE STRING_AGG SUM XMLAGG CORR COVAR_POP COVAR_SAMP REGR_AVGX REGR_AVGY REGR_COUNT REGR_INTERCEPT REGR_R2 REGR_SLOPE REGR_SXX REGR_SXY REGR_SYY STDDEV STDDEV_POP STDDEV_SAMP VARIANCE VAR_POP VAR_SAMP PERCENTILE_CONT PERCENTILE_DISC ROW_NUMBER RANK DENSE_RANK PERCENT_RANK CUME_DIST NTILE LAG LEAD FIRST_VALUE LAST_VALUE NTH_VALUE NUM_NONNULLS NUM_NULLS ABS CBRT CEIL CEILING DEGREES DIV EXP FLOOR LN LOG MOD PI POWER RADIANS ROUND SCALE SIGN SQRT TRUNC WIDTH_BUCKET RANDOM SETSEED ACOS ACOSD ASIN ASIND ATAN ATAND ATAN2 ATAN2D COS COSD COT COTD SIN SIND TAN TAND BIT_LENGTH CHAR_LENGTH CHARACTER_LENGTH LOWER OCTET_LENGTH OVERLAY POSITION SUBSTRING TREAT TRIM UPPER ASCII BTRIM CHR CONCAT CONCAT_WS CONVERT CONVERT_FROM CONVERT_TO DECODE ENCODE INITCAPLEFT LENGTH LPAD LTRIM MD5 PARSE_IDENT PG_CLIENT_ENCODING QUOTE_IDENT|10 QUOTE_LITERAL|10 QUOTE_NULLABLE|10 REGEXP_MATCH REGEXP_MATCHES REGEXP_REPLACE REGEXP_SPLIT_TO_ARRAY REGEXP_SPLIT_TO_TABLE REPEAT REPLACE REVERSE RIGHT RPAD RTRIM SPLIT_PART STRPOS SUBSTR TO_ASCII TO_HEX TRANSLATE OCTET_LENGTH GET_BIT GET_BYTE SET_BIT SET_BYTE TO_CHAR TO_DATE TO_NUMBER TO_TIMESTAMP AGE CLOCK_TIMESTAMP|10 DATE_PART DATE_TRUNC ISFINITE JUSTIFY_DAYS JUSTIFY_HOURS JUSTIFY_INTERVAL MAKE_DATE MAKE_INTERVAL|10 MAKE_TIME MAKE_TIMESTAMP|10 MAKE_TIMESTAMPTZ|10 NOW STATEMENT_TIMESTAMP|10 TIMEOFDAY TRANSACTION_TIMESTAMP|10 ENUM_FIRST ENUM_LAST ENUM_RANGE AREA CENTER DIAMETER HEIGHT ISCLOSED ISOPEN NPOINTS PCLOSE POPEN RADIUS WIDTH BOX BOUND_BOX CIRCLE LINE LSEG PATH POLYGON ABBREV BROADCAST HOST HOSTMASK MASKLEN NETMASK NETWORK SET_MASKLEN TEXT INET_SAME_FAMILYINET_MERGE MACADDR8_SET7BIT ARRAY_TO_TSVECTOR GET_CURRENT_TS_CONFIG NUMNODE PLAINTO_TSQUERY PHRASETO_TSQUERY WEBSEARCH_TO_TSQUERY QUERYTREE SETWEIGHT STRIP TO_TSQUERY TO_TSVECTOR JSON_TO_TSVECTOR JSONB_TO_TSVECTOR TS_DELETE TS_FILTER TS_HEADLINE TS_RANK TS_RANK_CD TS_REWRITE TSQUERY_PHRASE TSVECTOR_TO_ARRAY TSVECTOR_UPDATE_TRIGGER TSVECTOR_UPDATE_TRIGGER_COLUMN XMLCOMMENT XMLCONCAT XMLELEMENT XMLFOREST XMLPI XMLROOT XMLEXISTS XML_IS_WELL_FORMED XML_IS_WELL_FORMED_DOCUMENT XML_IS_WELL_FORMED_CONTENT XPATH XPATH_EXISTS XMLTABLE XMLNAMESPACES TABLE_TO_XML TABLE_TO_XMLSCHEMA TABLE_TO_XML_AND_XMLSCHEMA QUERY_TO_XML QUERY_TO_XMLSCHEMA QUERY_TO_XML_AND_XMLSCHEMA CURSOR_TO_XML CURSOR_TO_XMLSCHEMA SCHEMA_TO_XML SCHEMA_TO_XMLSCHEMA SCHEMA_TO_XML_AND_XMLSCHEMA DATABASE_TO_XML DATABASE_TO_XMLSCHEMA DATABASE_TO_XML_AND_XMLSCHEMA XMLATTRIBUTES TO_JSON TO_JSONB ARRAY_TO_JSON ROW_TO_JSON JSON_BUILD_ARRAY JSONB_BUILD_ARRAY JSON_BUILD_OBJECT JSONB_BUILD_OBJECT JSON_OBJECT JSONB_OBJECT JSON_ARRAY_LENGTH JSONB_ARRAY_LENGTH JSON_EACH JSONB_EACH JSON_EACH_TEXT JSONB_EACH_TEXT JSON_EXTRACT_PATH JSONB_EXTRACT_PATH JSON_OBJECT_KEYS JSONB_OBJECT_KEYS JSON_POPULATE_RECORD JSONB_POPULATE_RECORD JSON_POPULATE_RECORDSET JSONB_POPULATE_RECORDSET JSON_ARRAY_ELEMENTS JSONB_ARRAY_ELEMENTS JSON_ARRAY_ELEMENTS_TEXT JSONB_ARRAY_ELEMENTS_TEXT JSON_TYPEOF JSONB_TYPEOF JSON_TO_RECORD JSONB_TO_RECORD JSON_TO_RECORDSET JSONB_TO_RECORDSET JSON_STRIP_NULLS JSONB_STRIP_NULLS JSONB_SET JSONB_INSERT JSONB_PRETTY CURRVAL LASTVAL NEXTVAL SETVAL COALESCE NULLIF GREATEST LEAST ARRAY_APPEND ARRAY_CAT ARRAY_NDIMS ARRAY_DIMS ARRAY_FILL ARRAY_LENGTH ARRAY_LOWER ARRAY_POSITION ARRAY_POSITIONS ARRAY_PREPEND ARRAY_REMOVE ARRAY_REPLACE ARRAY_TO_STRING ARRAY_UPPER CARDINALITY STRING_TO_ARRAY UNNEST ISEMPTY LOWER_INC UPPER_INC LOWER_INF UPPER_INF RANGE_MERGE GENERATE_SERIES GENERATE_SUBSCRIPTS CURRENT_DATABASE CURRENT_QUERY CURRENT_SCHEMA|10 CURRENT_SCHEMAS|10 INET_CLIENT_ADDR INET_CLIENT_PORT INET_SERVER_ADDR INET_SERVER_PORT ROW_SECURITY_ACTIVE FORMAT_TYPE TO_REGCLASS TO_REGPROC TO_REGPROCEDURE TO_REGOPER TO_REGOPERATOR TO_REGTYPE TO_REGNAMESPACE TO_REGROLE COL_DESCRIPTION OBJ_DESCRIPTION SHOBJ_DESCRIPTION TXID_CURRENT TXID_CURRENT_IF_ASSIGNED TXID_CURRENT_SNAPSHOT TXID_SNAPSHOT_XIP TXID_SNAPSHOT_XMAX TXID_SNAPSHOT_XMIN TXID_VISIBLE_IN_SNAPSHOT TXID_STATUS CURRENT_SETTING SET_CONFIG BRIN_SUMMARIZE_NEW_VALUES BRIN_SUMMARIZE_RANGE BRIN_DESUMMARIZE_RANGE GIN_CLEAN_PENDING_LIST SUPPRESS_REDUNDANT_UPDATES_TRIGGER LO_FROM_BYTEA LO_PUT LO_GET LO_CREAT LO_CREATE LO_UNLINK LO_IMPORT LO_EXPORT LOREAD LOWRITE GROUPING CAST ",s=i.trim().split(" ").map(function(e){return e.split("|")[0]}).join("|");return{aliases:["postgres","postgresql"],case_insensitive:!0,keywords:{keyword:"ABORT ALTER ANALYZE BEGIN CALL CHECKPOINT|10 CLOSE CLUSTER COMMENT COMMIT COPY CREATE DEALLOCATE DECLARE DELETE DISCARD DO DROP END EXECUTE EXPLAIN FETCH GRANT IMPORT INSERT LISTEN LOAD LOCK MOVE NOTIFY PREPARE REASSIGN|10 REFRESH REINDEX RELEASE RESET REVOKE ROLLBACK SAVEPOINT SECURITY SELECT SET SHOW START TRUNCATE UNLISTEN|10 UPDATE VACUUM|10 VALUES AGGREGATE COLLATION CONVERSION|10 DATABASE DEFAULT PRIVILEGES DOMAIN TRIGGER EXTENSION FOREIGN WRAPPER|10 TABLE FUNCTION GROUP LANGUAGE LARGE OBJECT MATERIALIZED VIEW OPERATOR CLASS FAMILY POLICY PUBLICATION|10 ROLE RULE SCHEMA SEQUENCE SERVER STATISTICS SUBSCRIPTION SYSTEM TABLESPACE CONFIGURATION DICTIONARY PARSER TEMPLATE TYPE USER MAPPING PREPARED ACCESS METHOD CAST AS TRANSFORM TRANSACTION OWNED TO INTO SESSION AUTHORIZATION INDEX PROCEDURE ASSERTION ALL ANALYSE AND ANY ARRAY ASC ASYMMETRIC|10 BOTH CASE CHECK COLLATE COLUMN CONCURRENTLY|10 CONSTRAINT CROSS DEFERRABLE RANGE DESC DISTINCT ELSE EXCEPT FOR FREEZE|10 FROM FULL HAVING ILIKE IN INITIALLY INNER INTERSECT IS ISNULL JOIN LATERAL LEADING LIKE LIMIT NATURAL NOT NOTNULL NULL OFFSET ON ONLY OR ORDER OUTER OVERLAPS PLACING PRIMARY REFERENCES RETURNING SIMILAR SOME SYMMETRIC TABLESAMPLE THEN TRAILING UNION UNIQUE USING VARIADIC|10 VERBOSE WHEN WHERE WINDOW WITH BY RETURNS INOUT OUT SETOF|10 IF STRICT CURRENT CONTINUE OWNER LOCATION OVER PARTITION WITHIN BETWEEN ESCAPE EXTERNAL INVOKER DEFINER WORK RENAME VERSION CONNECTION CONNECT TABLES TEMP TEMPORARY FUNCTIONS SEQUENCES TYPES SCHEMAS OPTION CASCADE RESTRICT ADD ADMIN EXISTS VALID VALIDATE ENABLE DISABLE REPLICA|10 ALWAYS PASSING COLUMNS PATH REF VALUE OVERRIDING IMMUTABLE STABLE VOLATILE BEFORE AFTER EACH ROW PROCEDURAL ROUTINE NO HANDLER VALIDATOR OPTIONS STORAGE OIDS|10 WITHOUT INHERIT DEPENDS CALLED INPUT LEAKPROOF|10 COST ROWS NOWAIT SEARCH UNTIL ENCRYPTED|10 PASSWORD CONFLICT|10 INSTEAD INHERITS CHARACTERISTICS WRITE CURSOR ALSO STATEMENT SHARE EXCLUSIVE INLINE ISOLATION REPEATABLE READ COMMITTED SERIALIZABLE UNCOMMITTED LOCAL GLOBAL SQL PROCEDURES RECURSIVE SNAPSHOT ROLLUP CUBE TRUSTED|10 INCLUDE FOLLOWING PRECEDING UNBOUNDED RANGE GROUPS UNENCRYPTED|10 SYSID FORMAT DELIMITER HEADER QUOTE ENCODING FILTER OFF FORCE_QUOTE FORCE_NOT_NULL FORCE_NULL COSTS BUFFERS TIMING SUMMARY DISABLE_PAGE_SKIPPING RESTART CYCLE GENERATED IDENTITY DEFERRED IMMEDIATE LEVEL LOGGED UNLOGGED OF NOTHING NONE EXCLUDE ATTRIBUTE USAGE ROUTINES TRUE FALSE NAN INFINITY ALIAS BEGIN CONSTANT DECLARE END EXCEPTION RETURN PERFORM|10 RAISE GET DIAGNOSTICS STACKED|10 FOREACH LOOP ELSIF EXIT WHILE REVERSE SLICE DEBUG LOG INFO NOTICE WARNING ASSERT OPEN SUPERUSER NOSUPERUSER CREATEDB NOCREATEDB CREATEROLE NOCREATEROLE INHERIT NOINHERIT LOGIN NOLOGIN REPLICATION NOREPLICATION BYPASSRLS NOBYPASSRLS ",built_in:"CURRENT_TIME CURRENT_TIMESTAMP CURRENT_USER CURRENT_CATALOG|10 CURRENT_DATE LOCALTIME LOCALTIMESTAMP CURRENT_ROLE|10 CURRENT_SCHEMA|10 SESSION_USER PUBLIC FOUND NEW OLD TG_NAME|10 TG_WHEN|10 TG_LEVEL|10 TG_OP|10 TG_RELID|10 TG_RELNAME|10 TG_TABLE_NAME|10 TG_TABLE_SCHEMA|10 TG_NARGS|10 TG_ARGV|10 TG_EVENT|10 TG_TAG|10 ROW_COUNT RESULT_OID|10 PG_CONTEXT|10 RETURNED_SQLSTATE COLUMN_NAME CONSTRAINT_NAME PG_DATATYPE_NAME|10 MESSAGE_TEXT TABLE_NAME SCHEMA_NAME PG_EXCEPTION_DETAIL|10 PG_EXCEPTION_HINT|10 PG_EXCEPTION_CONTEXT|10 SQLSTATE SQLERRM|10 SUCCESSFUL_COMPLETION WARNING DYNAMIC_RESULT_SETS_RETURNED IMPLICIT_ZERO_BIT_PADDING NULL_VALUE_ELIMINATED_IN_SET_FUNCTION PRIVILEGE_NOT_GRANTED PRIVILEGE_NOT_REVOKED STRING_DATA_RIGHT_TRUNCATION DEPRECATED_FEATURE NO_DATA NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED SQL_STATEMENT_NOT_YET_COMPLETE CONNECTION_EXCEPTION CONNECTION_DOES_NOT_EXIST CONNECTION_FAILURE SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION TRANSACTION_RESOLUTION_UNKNOWN PROTOCOL_VIOLATION TRIGGERED_ACTION_EXCEPTION FEATURE_NOT_SUPPORTED INVALID_TRANSACTION_INITIATION LOCATOR_EXCEPTION INVALID_LOCATOR_SPECIFICATION INVALID_GRANTOR INVALID_GRANT_OPERATION INVALID_ROLE_SPECIFICATION DIAGNOSTICS_EXCEPTION STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER CASE_NOT_FOUND CARDINALITY_VIOLATION DATA_EXCEPTION ARRAY_SUBSCRIPT_ERROR CHARACTER_NOT_IN_REPERTOIRE DATETIME_FIELD_OVERFLOW DIVISION_BY_ZERO ERROR_IN_ASSIGNMENT ESCAPE_CHARACTER_CONFLICT INDICATOR_OVERFLOW INTERVAL_FIELD_OVERFLOW INVALID_ARGUMENT_FOR_LOGARITHM INVALID_ARGUMENT_FOR_NTILE_FUNCTION INVALID_ARGUMENT_FOR_NTH_VALUE_FUNCTION INVALID_ARGUMENT_FOR_POWER_FUNCTION INVALID_ARGUMENT_FOR_WIDTH_BUCKET_FUNCTION INVALID_CHARACTER_VALUE_FOR_CAST INVALID_DATETIME_FORMAT INVALID_ESCAPE_CHARACTER INVALID_ESCAPE_OCTET INVALID_ESCAPE_SEQUENCE NONSTANDARD_USE_OF_ESCAPE_CHARACTER INVALID_INDICATOR_PARAMETER_VALUE INVALID_PARAMETER_VALUE INVALID_REGULAR_EXPRESSION INVALID_ROW_COUNT_IN_LIMIT_CLAUSE INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSE INVALID_TABLESAMPLE_ARGUMENT INVALID_TABLESAMPLE_REPEAT INVALID_TIME_ZONE_DISPLACEMENT_VALUE INVALID_USE_OF_ESCAPE_CHARACTER MOST_SPECIFIC_TYPE_MISMATCH NULL_VALUE_NOT_ALLOWED NULL_VALUE_NO_INDICATOR_PARAMETER NUMERIC_VALUE_OUT_OF_RANGE SEQUENCE_GENERATOR_LIMIT_EXCEEDED STRING_DATA_LENGTH_MISMATCH STRING_DATA_RIGHT_TRUNCATION SUBSTRING_ERROR TRIM_ERROR UNTERMINATED_C_STRING ZERO_LENGTH_CHARACTER_STRING FLOATING_POINT_EXCEPTION INVALID_TEXT_REPRESENTATION INVALID_BINARY_REPRESENTATION BAD_COPY_FILE_FORMAT UNTRANSLATABLE_CHARACTER NOT_AN_XML_DOCUMENT INVALID_XML_DOCUMENT INVALID_XML_CONTENT INVALID_XML_COMMENT INVALID_XML_PROCESSING_INSTRUCTION INTEGRITY_CONSTRAINT_VIOLATION RESTRICT_VIOLATION NOT_NULL_VIOLATION FOREIGN_KEY_VIOLATION UNIQUE_VIOLATION CHECK_VIOLATION EXCLUSION_VIOLATION INVALID_CURSOR_STATE INVALID_TRANSACTION_STATE ACTIVE_SQL_TRANSACTION BRANCH_TRANSACTION_ALREADY_ACTIVE HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVEL INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTION READ_ONLY_SQL_TRANSACTION SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTED NO_ACTIVE_SQL_TRANSACTION IN_FAILED_SQL_TRANSACTION IDLE_IN_TRANSACTION_SESSION_TIMEOUT INVALID_SQL_STATEMENT_NAME TRIGGERED_DATA_CHANGE_VIOLATION INVALID_AUTHORIZATION_SPECIFICATION INVALID_PASSWORD DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST DEPENDENT_OBJECTS_STILL_EXIST INVALID_TRANSACTION_TERMINATION SQL_ROUTINE_EXCEPTION FUNCTION_EXECUTED_NO_RETURN_STATEMENT MODIFYING_SQL_DATA_NOT_PERMITTED PROHIBITED_SQL_STATEMENT_ATTEMPTED READING_SQL_DATA_NOT_PERMITTED INVALID_CURSOR_NAME EXTERNAL_ROUTINE_EXCEPTION CONTAINING_SQL_NOT_PERMITTED MODIFYING_SQL_DATA_NOT_PERMITTED PROHIBITED_SQL_STATEMENT_ATTEMPTED READING_SQL_DATA_NOT_PERMITTED EXTERNAL_ROUTINE_INVOCATION_EXCEPTION INVALID_SQLSTATE_RETURNED NULL_VALUE_NOT_ALLOWED TRIGGER_PROTOCOL_VIOLATED SRF_PROTOCOL_VIOLATED EVENT_TRIGGER_PROTOCOL_VIOLATED SAVEPOINT_EXCEPTION INVALID_SAVEPOINT_SPECIFICATION INVALID_CATALOG_NAME INVALID_SCHEMA_NAME TRANSACTION_ROLLBACK TRANSACTION_INTEGRITY_CONSTRAINT_VIOLATION SERIALIZATION_FAILURE STATEMENT_COMPLETION_UNKNOWN DEADLOCK_DETECTED SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION SYNTAX_ERROR INSUFFICIENT_PRIVILEGE CANNOT_COERCE GROUPING_ERROR WINDOWING_ERROR INVALID_RECURSION INVALID_FOREIGN_KEY INVALID_NAME NAME_TOO_LONG RESERVED_NAME DATATYPE_MISMATCH INDETERMINATE_DATATYPE COLLATION_MISMATCH INDETERMINATE_COLLATION WRONG_OBJECT_TYPE GENERATED_ALWAYS UNDEFINED_COLUMN UNDEFINED_FUNCTION UNDEFINED_TABLE UNDEFINED_PARAMETER UNDEFINED_OBJECT DUPLICATE_COLUMN DUPLICATE_CURSOR DUPLICATE_DATABASE DUPLICATE_FUNCTION DUPLICATE_PREPARED_STATEMENT DUPLICATE_SCHEMA DUPLICATE_TABLE DUPLICATE_ALIAS DUPLICATE_OBJECT AMBIGUOUS_COLUMN AMBIGUOUS_FUNCTION AMBIGUOUS_PARAMETER AMBIGUOUS_ALIAS INVALID_COLUMN_REFERENCE INVALID_COLUMN_DEFINITION INVALID_CURSOR_DEFINITION INVALID_DATABASE_DEFINITION INVALID_FUNCTION_DEFINITION INVALID_PREPARED_STATEMENT_DEFINITION INVALID_SCHEMA_DEFINITION INVALID_TABLE_DEFINITION INVALID_OBJECT_DEFINITION WITH_CHECK_OPTION_VIOLATION INSUFFICIENT_RESOURCES DISK_FULL OUT_OF_MEMORY TOO_MANY_CONNECTIONS CONFIGURATION_LIMIT_EXCEEDED PROGRAM_LIMIT_EXCEEDED STATEMENT_TOO_COMPLEX TOO_MANY_COLUMNS TOO_MANY_ARGUMENTS OBJECT_NOT_IN_PREREQUISITE_STATE OBJECT_IN_USE CANT_CHANGE_RUNTIME_PARAM LOCK_NOT_AVAILABLE OPERATOR_INTERVENTION QUERY_CANCELED ADMIN_SHUTDOWN CRASH_SHUTDOWN CANNOT_CONNECT_NOW DATABASE_DROPPED SYSTEM_ERROR IO_ERROR UNDEFINED_FILE DUPLICATE_FILE SNAPSHOT_TOO_OLD CONFIG_FILE_ERROR LOCK_FILE_EXISTS FDW_ERROR FDW_COLUMN_NAME_NOT_FOUND FDW_DYNAMIC_PARAMETER_VALUE_NEEDED FDW_FUNCTION_SEQUENCE_ERROR FDW_INCONSISTENT_DESCRIPTOR_INFORMATION FDW_INVALID_ATTRIBUTE_VALUE FDW_INVALID_COLUMN_NAME FDW_INVALID_COLUMN_NUMBER FDW_INVALID_DATA_TYPE FDW_INVALID_DATA_TYPE_DESCRIPTORS FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIER FDW_INVALID_HANDLE FDW_INVALID_OPTION_INDEX FDW_INVALID_OPTION_NAME FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTH FDW_INVALID_STRING_FORMAT FDW_INVALID_USE_OF_NULL_POINTER FDW_TOO_MANY_HANDLES FDW_OUT_OF_MEMORY FDW_NO_SCHEMAS FDW_OPTION_NAME_NOT_FOUND FDW_REPLY_HANDLE FDW_SCHEMA_NOT_FOUND FDW_TABLE_NOT_FOUND FDW_UNABLE_TO_CREATE_EXECUTION FDW_UNABLE_TO_CREATE_REPLY FDW_UNABLE_TO_ESTABLISH_CONNECTION PLPGSQL_ERROR RAISE_EXCEPTION NO_DATA_FOUND TOO_MANY_ROWS ASSERT_FAILURE INTERNAL_ERROR DATA_CORRUPTED INDEX_CORRUPTED "},illegal:/:==|\W\s*\(\*|(^|\s)\$[a-z]|{{|[a-z]:\s*$|\.\.\.|TO:|DO:/,contains:[{className:"keyword",variants:[{begin:/\bTEXT\s*SEARCH\b/},{begin:/\b(PRIMARY|FOREIGN|FOR(\s+NO)?)\s+KEY\b/},{begin:/\bPARALLEL\s+(UNSAFE|RESTRICTED|SAFE)\b/},{begin:/\bSTORAGE\s+(PLAIN|EXTERNAL|EXTENDED|MAIN)\b/},{begin:/\bMATCH\s+(FULL|PARTIAL|SIMPLE)\b/},{begin:/\bNULLS\s+(FIRST|LAST)\b/},{begin:/\bEVENT\s+TRIGGER\b/},{begin:/\b(MAPPING|OR)\s+REPLACE\b/},{begin:/\b(FROM|TO)\s+(PROGRAM|STDIN|STDOUT)\b/},{begin:/\b(SHARE|EXCLUSIVE)\s+MODE\b/},{begin:/\b(LEFT|RIGHT)\s+(OUTER\s+)?JOIN\b/},{begin:/\b(FETCH|MOVE)\s+(NEXT|PRIOR|FIRST|LAST|ABSOLUTE|RELATIVE|FORWARD|BACKWARD)\b/},{begin:/\bPRESERVE\s+ROWS\b/},{begin:/\bDISCARD\s+PLANS\b/},{begin:/\bREFERENCING\s+(OLD|NEW)\b/},{begin:/\bSKIP\s+LOCKED\b/},{begin:/\bGROUPING\s+SETS\b/},{begin:/\b(BINARY|INSENSITIVE|SCROLL|NO\s+SCROLL)\s+(CURSOR|FOR)\b/},{begin:/\b(WITH|WITHOUT)\s+HOLD\b/},{begin:/\bWITH\s+(CASCADED|LOCAL)\s+CHECK\s+OPTION\b/},{begin:/\bEXCLUDE\s+(TIES|NO\s+OTHERS)\b/},{begin:/\bFORMAT\s+(TEXT|XML|JSON|YAML)\b/},{begin:/\bSET\s+((SESSION|LOCAL)\s+)?NAMES\b/},{begin:/\bIS\s+(NOT\s+)?UNKNOWN\b/},{begin:/\bSECURITY\s+LABEL\b/},{begin:/\bSTANDALONE\s+(YES|NO|NO\s+VALUE)\b/},{begin:/\bWITH\s+(NO\s+)?DATA\b/},{begin:/\b(FOREIGN|SET)\s+DATA\b/},{begin:/\bSET\s+(CATALOG|CONSTRAINTS)\b/},{ +begin:/\b(WITH|FOR)\s+ORDINALITY\b/},{begin:/\bIS\s+(NOT\s+)?DOCUMENT\b/},{begin:/\bXML\s+OPTION\s+(DOCUMENT|CONTENT)\b/},{begin:/\b(STRIP|PRESERVE)\s+WHITESPACE\b/},{begin:/\bNO\s+(ACTION|MAXVALUE|MINVALUE)\b/},{begin:/\bPARTITION\s+BY\s+(RANGE|LIST|HASH)\b/},{begin:/\bAT\s+TIME\s+ZONE\b/},{begin:/\bGRANTED\s+BY\b/},{begin:/\bRETURN\s+(QUERY|NEXT)\b/},{begin:/\b(ATTACH|DETACH)\s+PARTITION\b/},{begin:/\bFORCE\s+ROW\s+LEVEL\s+SECURITY\b/},{begin:/\b(INCLUDING|EXCLUDING)\s+(COMMENTS|CONSTRAINTS|DEFAULTS|IDENTITY|INDEXES|STATISTICS|STORAGE|ALL)\b/},{begin:/\bAS\s+(ASSIGNMENT|IMPLICIT|PERMISSIVE|RESTRICTIVE|ENUM|RANGE)\b/}]},{begin:/\b(FORMAT|FAMILY|VERSION)\s*\(/},{begin:/\bINCLUDE\s*\(/,keywords:"INCLUDE"},{begin:/\bRANGE(?!\s*(BETWEEN|UNBOUNDED|CURRENT|[-0-9]+))/},{begin:/\b(VERSION|OWNER|TEMPLATE|TABLESPACE|CONNECTION\s+LIMIT|PROCEDURE|RESTRICT|JOIN|PARSER|COPY|START|END|COLLATION|INPUT|ANALYZE|STORAGE|LIKE|DEFAULT|DELIMITER|ENCODING|COLUMN|CONSTRAINT|TABLE|SCHEMA)\s*=/},{begin:/\b(PG_\w+?|HAS_[A-Z_]+_PRIVILEGE)\b/,relevance:10},{begin:/\bEXTRACT\s*\(/,end:/\bFROM\b/,returnEnd:!0,keywords:{type:"CENTURY DAY DECADE DOW DOY EPOCH HOUR ISODOW ISOYEAR MICROSECONDS MILLENNIUM MILLISECONDS MINUTE MONTH QUARTER SECOND TIMEZONE TIMEZONE_HOUR TIMEZONE_MINUTE WEEK YEAR"}},{begin:/\b(XMLELEMENT|XMLPI)\s*\(\s*NAME/,keywords:{keyword:"NAME"}},{begin:/\b(XMLPARSE|XMLSERIALIZE)\s*\(\s*(DOCUMENT|CONTENT)/,keywords:{keyword:"DOCUMENT CONTENT"}},{beginKeywords:"CACHE INCREMENT MAXVALUE MINVALUE",end:e.C_NUMBER_RE,returnEnd:!0,keywords:"BY CACHE INCREMENT MAXVALUE MINVALUE"},{className:"type",begin:/\b(WITH|WITHOUT)\s+TIME\s+ZONE\b/},{className:"type",begin:/\bINTERVAL\s+(YEAR|MONTH|DAY|HOUR|MINUTE|SECOND)(\s+TO\s+(MONTH|HOUR|MINUTE|SECOND))?\b/},{begin:/\bRETURNS\s+(LANGUAGE_HANDLER|TRIGGER|EVENT_TRIGGER|FDW_HANDLER|INDEX_AM_HANDLER|TSM_HANDLER)\b/,keywords:{keyword:"RETURNS",type:"LANGUAGE_HANDLER TRIGGER EVENT_TRIGGER FDW_HANDLER INDEX_AM_HANDLER TSM_HANDLER"}},{begin:"\\b("+s+")\\s*\\("},{begin:"\\.("+r+")\\b"},{begin:"\\b("+r+")\\s+PATH\\b",keywords:{keyword:"PATH",type:a.replace("PATH ","")}},{className:"type",begin:"\\b("+r+")\\b"},{className:"string",begin:"'",end:"'",contains:[{begin:"''"}]},{className:"string",begin:"(e|E|u&|U&)'",end:"'",contains:[{begin:"\\\\."}],relevance:10},{begin:"\\$([a-zA-Z_]?|[a-zA-Z_][a-zA-Z_0-9]*)\\$",endSameAsBegin:!0,contains:[{subLanguage:["pgsql","perl","python","tcl","r","lua","java","php","ruby","bash","scheme","xml","json"],endsWithParent:!0}]},{begin:'"',end:'"',contains:[{begin:'""'}]},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,t,{className:"meta",variants:[{begin:"%(ROW)?TYPE",relevance:10},{begin:"\\$\\d+"},{begin:"^#\\w",end:"$"}]},{className:"symbol",begin:"<<\\s*[a-zA-Z_][a-zA-Z_0-9$]*\\s*>>",relevance:10}]}}},{name:"php",create:function(e){var t={begin:"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*"},a={className:"meta",begin:/<\?(php)?|\?>/},r={className:"string",contains:[e.BACKSLASH_ESCAPE,a],variants:[{begin:'b"',end:'"'},{begin:"b'",end:"'"},e.inherit(e.APOS_STRING_MODE,{illegal:null}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null})]},i={variants:[e.BINARY_NUMBER_MODE,e.C_NUMBER_MODE]};return{aliases:["php","php3","php4","php5","php6","php7"],case_insensitive:!0,keywords:"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally",contains:[e.HASH_COMMENT_MODE,e.COMMENT("//","$",{contains:[a]}),e.COMMENT("/\\*","\\*/",{contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.COMMENT("__halt_compiler.+?;",!1,{endsWithParent:!0,keywords:"__halt_compiler",lexemes:e.UNDERSCORE_IDENT_RE}),{className:"string",begin:/<<<['"]?\w+['"]?$/,end:/^\w+;?$/,contains:[e.BACKSLASH_ESCAPE,{className:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]}]},a,{className:"keyword",begin:/\$this\b/},t,{begin:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{className:"function",beginKeywords:"function",end:/[;{]/,excludeEnd:!0,illegal:"\\$|\\[|%",contains:[e.UNDERSCORE_TITLE_MODE,{className:"params",begin:"\\(",end:"\\)",contains:["self",t,e.C_BLOCK_COMMENT_MODE,r,i]}]},{className:"class",beginKeywords:"class interface",end:"{",excludeEnd:!0,illegal:/[:\(\$"]/,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",end:";",illegal:/[\.']/,contains:[e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"use",end:";",contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"=>"},r,i]}}},{name:"plaintext",create:function(e){return{disableAutodetect:!0}}},{name:"pony",create:function(e){return{keywords:{keyword:"actor addressof and as be break class compile_error compile_intrinsic consume continue delegate digestof do else elseif embed end error for fun if ifdef in interface is isnt lambda let match new not object or primitive recover repeat return struct then trait try type until use var where while with xor",meta:"iso val tag trn box ref",literal:"this false true"},contains:[{className:"type",begin:"\\b_?[A-Z][\\w]*",relevance:0},{className:"string",begin:'"""',end:'"""',relevance:10},{className:"string",begin:'"',end:'"',contains:[e.BACKSLASH_ESCAPE]},{className:"string",begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE],relevance:0},{begin:e.IDENT_RE+"'",relevance:0},e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]}}},{name:"powershell",create:function(e){var t={begin:"`[\\s\\S]",relevance:0},a={className:"variable",variants:[{begin:/\$[\w\d][\w\d_:]*/}]},r={className:"literal",begin:/\$(null|true|false)\b/},i={className:"string",variants:[{begin:/"/,end:/"/},{begin:/@"/,end:/^"@/}],contains:[t,a,{className:"variable",begin:/\$[A-z]/,end:/[^A-z]/}]},s={className:"string",variants:[{begin:/'/,end:/'/},{begin:/@'/,end:/^'@/}]},n={className:"doctag",variants:[{begin:/\.(synopsis|description|example|inputs|outputs|notes|link|component|role|functionality)/},{begin:/\.(parameter|forwardhelptargetname|forwardhelpcategory|remotehelprunspace|externalhelp)\s+\S+/}]},o=e.inherit(e.COMMENT(null,null),{variants:[{begin:/#/,end:/$/},{begin:/<#/,end:/#>/}],contains:[n]});return{aliases:["ps"],lexemes:/-?[A-z\.\-]+/,case_insensitive:!0,keywords:{keyword:"if else foreach return function do while until elseif begin for trap data dynamicparam end break throw param continue finally in switch exit filter try process catchValidateNoCircleInNodeResources ValidateNodeExclusiveResources ValidateNodeManager ValidateNodeResources ValidateNodeResourceSource ValidateNoNameNodeResources ThrowError IsHiddenResourceIsPatternMatched ", +built_in:"Add-Computer Add-Content Add-History Add-JobTrigger Add-Member Add-PSSnapin Add-Type Checkpoint-Computer Clear-Content Clear-EventLog Clear-History Clear-Host Clear-Item Clear-ItemProperty Clear-Variable Compare-Object Complete-Transaction Connect-PSSession Connect-WSMan Convert-Path ConvertFrom-Csv ConvertFrom-Json ConvertFrom-SecureString ConvertFrom-StringData ConvertTo-Csv ConvertTo-Html ConvertTo-Json ConvertTo-SecureString ConvertTo-Xml Copy-Item Copy-ItemProperty Debug-Process Disable-ComputerRestore Disable-JobTrigger Disable-PSBreakpoint Disable-PSRemoting Disable-PSSessionConfiguration Disable-WSManCredSSP Disconnect-PSSession Disconnect-WSMan Disable-ScheduledJob Enable-ComputerRestore Enable-JobTrigger Enable-PSBreakpoint Enable-PSRemoting Enable-PSSessionConfiguration Enable-ScheduledJob Enable-WSManCredSSP Enter-PSSession Exit-PSSession Export-Alias Export-Clixml Export-Console Export-Counter Export-Csv Export-FormatData Export-ModuleMember Export-PSSession ForEach-Object Format-Custom Format-List Format-Table Format-Wide Get-Acl Get-Alias Get-AuthenticodeSignature Get-ChildItem Get-Command Get-ComputerRestorePoint Get-Content Get-ControlPanelItem Get-Counter Get-Credential Get-Culture Get-Date Get-Event Get-EventLog Get-EventSubscriber Get-ExecutionPolicy Get-FormatData Get-Host Get-HotFix Get-Help Get-History Get-IseSnippet Get-Item Get-ItemProperty Get-Job Get-JobTrigger Get-Location Get-Member Get-Module Get-PfxCertificate Get-Process Get-PSBreakpoint Get-PSCallStack Get-PSDrive Get-PSProvider Get-PSSession Get-PSSessionConfiguration Get-PSSnapin Get-Random Get-ScheduledJob Get-ScheduledJobOption Get-Service Get-TraceSource Get-Transaction Get-TypeData Get-UICulture Get-Unique Get-Variable Get-Verb Get-WinEvent Get-WmiObject Get-WSManCredSSP Get-WSManInstance Group-Object Import-Alias Import-Clixml Import-Counter Import-Csv Import-IseSnippet Import-LocalizedData Import-PSSession Import-Module Invoke-AsWorkflow Invoke-Command Invoke-Expression Invoke-History Invoke-Item Invoke-RestMethod Invoke-WebRequest Invoke-WmiMethod Invoke-WSManAction Join-Path Limit-EventLog Measure-Command Measure-Object Move-Item Move-ItemProperty New-Alias New-Event New-EventLog New-IseSnippet New-Item New-ItemProperty New-JobTrigger New-Object New-Module New-ModuleManifest New-PSDrive New-PSSession New-PSSessionConfigurationFile New-PSSessionOption New-PSTransportOption New-PSWorkflowExecutionOption New-PSWorkflowSession New-ScheduledJobOption New-Service New-TimeSpan New-Variable New-WebServiceProxy New-WinEvent New-WSManInstance New-WSManSessionOption Out-Default Out-File Out-GridView Out-Host Out-Null Out-Printer Out-String Pop-Location Push-Location Read-Host Receive-Job Register-EngineEvent Register-ObjectEvent Register-PSSessionConfiguration Register-ScheduledJob Register-WmiEvent Remove-Computer Remove-Event Remove-EventLog Remove-Item Remove-ItemProperty Remove-Job Remove-JobTrigger Remove-Module Remove-PSBreakpoint Remove-PSDrive Remove-PSSession Remove-PSSnapin Remove-TypeData Remove-Variable Remove-WmiObject Remove-WSManInstance Rename-Computer Rename-Item Rename-ItemProperty Reset-ComputerMachinePassword Resolve-Path Restart-Computer Restart-Service Restore-Computer Resume-Job Resume-Service Save-Help Select-Object Select-String Select-Xml Send-MailMessage Set-Acl Set-Alias Set-AuthenticodeSignature Set-Content Set-Date Set-ExecutionPolicy Set-Item Set-ItemProperty Set-JobTrigger Set-Location Set-PSBreakpoint Set-PSDebug Set-PSSessionConfiguration Set-ScheduledJob Set-ScheduledJobOption Set-Service Set-StrictMode Set-TraceSource Set-Variable Set-WmiInstance Set-WSManInstance Set-WSManQuickConfig Show-Command Show-ControlPanelItem Show-EventLog Sort-Object Split-Path Start-Job Start-Process Start-Service Start-Sleep Start-Transaction Start-Transcript Stop-Computer Stop-Job Stop-Process Stop-Service Stop-Transcript Suspend-Job Suspend-Service Tee-Object Test-ComputerSecureChannel Test-Connection Test-ModuleManifest Test-Path Test-PSSessionConfigurationFile Trace-Command Unblock-File Undo-Transaction Unregister-Event Unregister-PSSessionConfiguration Unregister-ScheduledJob Update-FormatData Update-Help Update-List Update-TypeData Use-Transaction Wait-Event Wait-Job Wait-Process Where-Object Write-Debug Write-Error Write-EventLog Write-Host Write-Output Write-Progress Write-Verbose Write-Warning Add-MDTPersistentDrive Disable-MDTMonitorService Enable-MDTMonitorService Get-MDTDeploymentShareStatistics Get-MDTMonitorData Get-MDTOperatingSystemCatalog Get-MDTPersistentDrive Import-MDTApplication Import-MDTDriver Import-MDTOperatingSystem Import-MDTPackage Import-MDTTaskSequence New-MDTDatabase Remove-MDTMonitorData Remove-MDTPersistentDrive Restore-MDTPersistentDrive Set-MDTMonitorData Test-MDTDeploymentShare Test-MDTMonitorData Update-MDTDatabaseSchema Update-MDTDeploymentShare Update-MDTLinkedDS Update-MDTMedia Add-VamtProductKey Export-VamtData Find-VamtManagedMachine Get-VamtConfirmationId Get-VamtProduct Get-VamtProductKey Import-VamtData Initialize-VamtData Install-VamtConfirmationId Install-VamtProductActivation Install-VamtProductKey Update-VamtProduct Add-CIDatastore Add-KeyManagementServer Add-NodeKeys Add-NsxDynamicCriteria Add-NsxDynamicMemberSet Add-NsxEdgeInterfaceAddress Add-NsxFirewallExclusionListMember Add-NsxFirewallRuleMember Add-NsxIpSetMember Add-NsxLicense Add-NsxLoadBalancerPoolMember Add-NsxLoadBalancerVip Add-NsxSecondaryManager Add-NsxSecurityGroupMember Add-NsxSecurityPolicyRule Add-NsxSecurityPolicyRuleGroup Add-NsxSecurityPolicyRuleService Add-NsxServiceGroupMember Add-NsxTransportZoneMember Add-PassthroughDevice Add-VDSwitchPhysicalNetworkAdapter Add-VDSwitchVMHost Add-VMHost Add-VMHostNtpServer Add-VirtualSwitchPhysicalNetworkAdapter Add-XmlElement Add-vRACustomForm Add-vRAPrincipalToTenantRole Add-vRAReservationNetwork Add-vRAReservationStorage Clear-NsxEdgeInterface Clear-NsxManagerTimeSettings Compress-Archive Connect-CIServer Connect-CisServer Connect-HCXServer Connect-NIServer Connect-NsxLogicalSwitch Connect-NsxServer Connect-NsxtServer Connect-SrmServer Connect-VIServer Connect-Vmc Connect-vRAServer Connect-vRNIServer ConvertFrom-Markdown ConvertTo-MOFInstance Copy-DatastoreItem Copy-HardDisk Copy-NsxEdge Copy-VDisk Copy-VMGuestFile Debug-Runspace Disable-NsxEdgeSsh Disable-RunspaceDebug Disable-vRNIDataSource Disconnect-CIServer Disconnect-CisServer Disconnect-HCXServer Disconnect-NsxLogicalSwitch Disconnect-NsxServer Disconnect-NsxtServer Disconnect-SrmServer Disconnect-VIServer Disconnect-Vmc Disconnect-vRAServer Disconnect-vRNIServer Dismount-Tools Enable-NsxEdgeSsh Enable-RunspaceDebug Enable-vRNIDataSource Expand-Archive Export-NsxObject Export-SpbmStoragePolicy Export-VApp Export-VDPortGroup Export-VDSwitch Export-VMHostProfile Export-vRAIcon Export-vRAPackage Find-Command Find-DscResource Find-Module Find-NsxWhereVMUsed Find-Package Find-PackageProvider Find-RoleCapability Find-Script Format-Hex Format-VMHostDiskPartition Format-XML Generate-VersionInfo Get-AdvancedSetting Get-AlarmAction Get-AlarmActionTrigger Get-AlarmDefinition Get-Annotation Get-CDDrive Get-CIAccessControlRule Get-CIDatastore Get-CINetworkAdapter Get-CIRole Get-CIUser Get-CIVApp Get-CIVAppNetwork Get-CIVAppStartRule Get-CIVAppTemplate Get-CIVM Get-CIVMTemplate Get-CIView Get-Catalog Get-CisCommand Get-CisService Get-CloudCommand Get-Cluster Get-CompatibleVersionAddtionaPropertiesStr Get-ComplexResourceQualifier Get-ConfigurationErrorCount Get-ContentLibraryItem Get-CustomAttribute Get-DSCResourceModules Get-Datacenter Get-Datastore Get-DatastoreCluster Get-DrsClusterGroup Get-DrsRecommendation Get-DrsRule Get-DrsVMHostRule Get-DscResource Get-EdgeGateway Get-EncryptedPassword Get-ErrorReport Get-EsxCli Get-EsxTop Get-ExternalNetwork Get-FileHash Get-FloppyDrive Get-Folder Get-HAPrimaryVMHost Get-HCXAppliance Get-HCXApplianceCompute Get-HCXApplianceDVS Get-HCXApplianceDatastore Get-HCXApplianceNetwork Get-HCXContainer Get-HCXDatastore Get-HCXGateway Get-HCXInterconnectStatus Get-HCXJob Get-HCXMigration Get-HCXNetwork Get-HCXNetworkExtension Get-HCXReplication Get-HCXReplicationSnapshot Get-HCXService Get-HCXSite Get-HCXSitePairing Get-HCXVM Get-HardDisk Get-IScsiHbaTarget Get-InnerMostErrorRecord Get-InstallPath Get-InstalledModule Get-InstalledScript Get-Inventory Get-ItemPropertyValue Get-KeyManagementServer Get-KmipClientCertificate Get-KmsCluster Get-Log Get-LogType Get-MarkdownOption Get-Media Get-MofInstanceName Get-MofInstanceText Get-NetworkAdapter Get-NetworkPool Get-NfsUser Get-NicTeamingPolicy Get-NsxApplicableMember Get-NsxApplicableSecurityAction Get-NsxBackingDVSwitch Get-NsxBackingPortGroup Get-NsxCliDfwAddrSet Get-NsxCliDfwFilter Get-NsxCliDfwRule Get-NsxClusterStatus Get-NsxController Get-NsxDynamicCriteria Get-NsxDynamicMemberSet Get-NsxEdge Get-NsxEdgeBgp Get-NsxEdgeBgpNeighbour Get-NsxEdgeCertificate Get-NsxEdgeCsr Get-NsxEdgeFirewall Get-NsxEdgeFirewallRule Get-NsxEdgeInterface Get-NsxEdgeInterfaceAddress Get-NsxEdgeNat Get-NsxEdgeNatRule Get-NsxEdgeOspf Get-NsxEdgeOspfArea Get-NsxEdgeOspfInterface Get-NsxEdgePrefix Get-NsxEdgeRedistributionRule Get-NsxEdgeRouting Get-NsxEdgeStaticRoute Get-NsxEdgeSubInterface Get-NsxFirewallExclusionListMember Get-NsxFirewallGlobalConfiguration Get-NsxFirewallPublishStatus Get-NsxFirewallRule Get-NsxFirewallRuleMember Get-NsxFirewallSavedConfiguration Get-NsxFirewallSection Get-NsxFirewallThreshold Get-NsxIpPool Get-NsxIpSet Get-NsxLicense Get-NsxLoadBalancer Get-NsxLoadBalancerApplicationProfile Get-NsxLoadBalancerApplicationRule Get-NsxLoadBalancerMonitor Get-NsxLoadBalancerPool Get-NsxLoadBalancerPoolMember Get-NsxLoadBalancerStats Get-NsxLoadBalancerVip Get-NsxLogicalRouter Get-NsxLogicalRouterBgp Get-NsxLogicalRouterBgpNeighbour Get-NsxLogicalRouterBridge Get-NsxLogicalRouterBridging Get-NsxLogicalRouterInterface Get-NsxLogicalRouterOspf Get-NsxLogicalRouterOspfArea Get-NsxLogicalRouterOspfInterface Get-NsxLogicalRouterPrefix Get-NsxLogicalRouterRedistributionRule Get-NsxLogicalRouterRouting Get-NsxLogicalRouterStaticRoute Get-NsxLogicalSwitch Get-NsxMacSet Get-NsxManagerBackup Get-NsxManagerCertificate Get-NsxManagerComponentSummary Get-NsxManagerNetwork Get-NsxManagerRole Get-NsxManagerSsoConfig Get-NsxManagerSyncStatus Get-NsxManagerSyslogServer Get-NsxManagerSystemSummary Get-NsxManagerTimeSettings Get-NsxManagerVcenterConfig Get-NsxSecondaryManager Get-NsxSecurityGroup Get-NsxSecurityGroupEffectiveIpAddress Get-NsxSecurityGroupEffectiveMacAddress Get-NsxSecurityGroupEffectiveMember Get-NsxSecurityGroupEffectiveVirtualMachine Get-NsxSecurityGroupEffectiveVnic Get-NsxSecurityGroupMemberTypes Get-NsxSecurityPolicy Get-NsxSecurityPolicyHighestUsedPrecedence Get-NsxSecurityPolicyRule Get-NsxSecurityTag Get-NsxSecurityTagAssignment Get-NsxSegmentIdRange Get-NsxService Get-NsxServiceDefinition Get-NsxServiceGroup Get-NsxServiceGroupMember Get-NsxServiceProfile Get-NsxSpoofguardNic Get-NsxSpoofguardPolicy Get-NsxSslVpn Get-NsxSslVpnAuthServer Get-NsxSslVpnClientInstallationPackage Get-NsxSslVpnIpPool Get-NsxSslVpnPrivateNetwork Get-NsxSslVpnUser Get-NsxTransportZone Get-NsxUserRole Get-NsxVdsContext Get-NsxtPolicyService Get-NsxtService Get-OSCustomizationNicMapping Get-OSCustomizationSpec Get-Org Get-OrgNetwork Get-OrgVdc Get-OrgVdcNetwork Get-OvfConfiguration Get-PSCurrentConfigurationNode Get-PSDefaultConfigurationDocument Get-PSMetaConfigDocumentInstVersionInfo Get-PSMetaConfigurationProcessed Get-PSReadLineKeyHandler Get-PSReadLineOption Get-PSRepository Get-PSTopConfigurationName Get-PSVersion Get-Package Get-PackageProvider Get-PackageSource Get-PassthroughDevice Get-PositionInfo Get-PowerCLICommunity Get-PowerCLIConfiguration Get-PowerCLIHelp Get-PowerCLIVersion Get-PowerNsxVersion Get-ProviderVdc Get-PublicKeyFromFile Get-PublicKeyFromStore Get-ResourcePool Get-Runspace Get-RunspaceDebug Get-ScsiController Get-ScsiLun Get-ScsiLunPath Get-SecurityInfo Get-SecurityPolicy Get-Snapshot Get-SpbmCapability Get-SpbmCompatibleStorage Get-SpbmEntityConfiguration Get-SpbmFaultDomain Get-SpbmPointInTimeReplica Get-SpbmReplicationGroup Get-SpbmReplicationPair Get-SpbmStoragePolicy Get-Stat Get-StatInterval Get-StatType Get-Tag Get-TagAssignment Get-TagCategory Get-Task Get-Template Get-TimeZone Get-Uptime Get-UsbDevice Get-VAIOFilter Get-VApp Get-VDBlockedPolicy Get-VDPort Get-VDPortgroup Get-VDPortgroupOverridePolicy Get-VDSecurityPolicy Get-VDSwitch Get-VDSwitchPrivateVlan Get-VDTrafficShapingPolicy Get-VDUplinkLacpPolicy Get-VDUplinkTeamingPolicy Get-VDisk Get-VIAccount Get-VICommand Get-VICredentialStoreItem Get-VIEvent Get-VIObjectByVIView Get-VIPermission Get-VIPrivilege Get-VIProperty Get-VIRole Get-VM Get-VMGuest Get-VMHost Get-VMHostAccount Get-VMHostAdvancedConfiguration Get-VMHostAuthentication Get-VMHostAvailableTimeZone Get-VMHostDiagnosticPartition Get-VMHostDisk Get-VMHostDiskPartition Get-VMHostFirewallDefaultPolicy Get-VMHostFirewallException Get-VMHostFirmware Get-VMHostHardware Get-VMHostHba Get-VMHostModule Get-VMHostNetwork Get-VMHostNetworkAdapter Get-VMHostNtpServer Get-VMHostPatch Get-VMHostPciDevice Get-VMHostProfile Get-VMHostProfileImageCacheConfiguration Get-VMHostProfileRequiredInput Get-VMHostProfileStorageDeviceConfiguration Get-VMHostProfileUserConfiguration Get-VMHostProfileVmPortGroupConfiguration Get-VMHostRoute Get-VMHostService Get-VMHostSnmp Get-VMHostStartPolicy Get-VMHostStorage Get-VMHostSysLogServer Get-VMQuestion Get-VMResourceConfiguration Get-VMStartPolicy Get-VTpm Get-VTpmCSR Get-VTpmCertificate Get-VasaProvider Get-VasaStorageArray Get-View Get-VirtualPortGroup Get-VirtualSwitch Get-VmcSddcNetworkService Get-VmcService Get-VsanClusterConfiguration Get-VsanComponent Get-VsanDisk Get-VsanDiskGroup Get-VsanEvacuationPlan Get-VsanFaultDomain Get-VsanIscsiInitiatorGroup Get-VsanIscsiInitiatorGroupTargetAssociation Get-VsanIscsiLun Get-VsanIscsiTarget Get-VsanObject Get-VsanResyncingComponent Get-VsanRuntimeInfo Get-VsanSpaceUsage Get-VsanStat Get-VsanView Get-vRAApplianceServiceStatus Get-vRAAuthorizationRole Get-vRABlueprint Get-vRABusinessGroup Get-vRACatalogItem Get-vRACatalogItemRequestTemplate Get-vRACatalogPrincipal Get-vRAComponentRegistryService Get-vRAComponentRegistryServiceEndpoint Get-vRAComponentRegistryServiceStatus Get-vRAContent Get-vRAContentData Get-vRAContentType Get-vRACustomForm Get-vRAEntitledCatalogItem Get-vRAEntitledService Get-vRAEntitlement Get-vRAExternalNetworkProfile Get-vRAGroupPrincipal Get-vRAIcon Get-vRANATNetworkProfile Get-vRANetworkProfileIPAddressList Get-vRANetworkProfileIPRangeSummary Get-vRAPackage Get-vRAPackageContent Get-vRAPropertyDefinition Get-vRAPropertyGroup Get-vRARequest Get-vRARequestDetail Get-vRAReservation Get-vRAReservationComputeResource Get-vRAReservationComputeResourceMemory Get-vRAReservationComputeResourceNetwork Get-vRAReservationComputeResourceResourcePool Get-vRAReservationComputeResourceStorage Get-vRAReservationPolicy Get-vRAReservationTemplate Get-vRAReservationType Get-vRAResource Get-vRAResourceAction Get-vRAResourceActionRequestTemplate Get-vRAResourceMetric Get-vRAResourceOperation Get-vRAResourceType Get-vRARoutedNetworkProfile Get-vRAService Get-vRAServiceBlueprint Get-vRASourceMachine Get-vRAStorageReservationPolicy Get-vRATenant Get-vRATenantDirectory Get-vRATenantDirectoryStatus Get-vRATenantRole Get-vRAUserPrincipal Get-vRAUserPrincipalGroupMembership Get-vRAVersion Get-vRNIAPIVersion Get-vRNIApplication Get-vRNIApplicationTier Get-vRNIDataSource Get-vRNIDataSourceSNMPConfig Get-vRNIDatastore Get-vRNIDistributedSwitch Get-vRNIDistributedSwitchPortGroup Get-vRNIEntity Get-vRNIEntityName Get-vRNIFirewallRule Get-vRNIFlow Get-vRNIHost Get-vRNIHostVMKNic Get-vRNIIPSet Get-vRNIL2Network Get-vRNINSXManager Get-vRNINodes Get-vRNIProblem Get-vRNIRecommendedRules Get-vRNIRecommendedRulesNsxBundle Get-vRNISecurityGroup Get-vRNISecurityTag Get-vRNIService Get-vRNIServiceGroup Get-vRNIVM Get-vRNIVMvNIC Get-vRNIvCenter Get-vRNIvCenterCluster Get-vRNIvCenterDatacenter Get-vRNIvCenterFolder Grant-NsxSpoofguardNicApproval Import-CIVApp Import-CIVAppTemplate Import-NsxObject Import-PackageProvider Import-PowerShellDataFile Import-SpbmStoragePolicy Import-VApp Import-VMHostProfile Import-vRAContentData Import-vRAIcon Import-vRAPackage Initialize-ConfigurationRuntimeState Install-Module Install-NsxCluster Install-Package Install-PackageProvider Install-Script Install-VMHostPatch Invoke-DrsRecommendation Invoke-NsxCli Invoke-NsxClusterResolveAll Invoke-NsxManagerSync Invoke-NsxRestMethod Invoke-NsxWebRequest Invoke-VMHostProfile Invoke-VMScript Invoke-XpathQuery Invoke-vRADataCollection Invoke-vRARestMethod Invoke-vRATenantDirectorySync Invoke-vRNIRestMethod Join-String Mount-Tools Move-Cluster Move-Datacenter Move-Datastore Move-Folder Move-HardDisk Move-Inventory Move-NsxSecurityPolicyRule Move-ResourcePool Move-Template Move-VApp Move-VDisk Move-VM Move-VMHost New-AdvancedSetting New-AlarmAction New-AlarmActionTrigger New-CDDrive New-CIAccessControlRule New-CIVApp New-CIVAppNetwork New-CIVAppTemplate New-CIVM New-Cluster New-CustomAttribute New-Datacenter New-Datastore New-DatastoreCluster New-DatastoreDrive New-DrsClusterGroup New-DrsRule New-DrsVMHostRule New-DscChecksum New-FloppyDrive New-Folder New-Guid New-HCXAppliance New-HCXMigration New-HCXNetworkExtension New-HCXNetworkMapping New-HCXReplication New-HCXSitePairing New-HCXStaticRoute New-HardDisk New-IScsiHbaTarget New-KmipClientCertificate New-NetworkAdapter New-NfsUser New-NsxAddressSpec New-NsxClusterVxlanConfig New-NsxController New-NsxDynamicCriteriaSpec New-NsxEdge New-NsxEdgeBgpNeighbour New-NsxEdgeCsr New-NsxEdgeFirewallRule New-NsxEdgeInterfaceSpec New-NsxEdgeNatRule New-NsxEdgeOspfArea New-NsxEdgeOspfInterface New-NsxEdgePrefix New-NsxEdgeRedistributionRule New-NsxEdgeSelfSignedCertificate New-NsxEdgeStaticRoute New-NsxEdgeSubInterface New-NsxEdgeSubInterfaceSpec New-NsxFirewallRule New-NsxFirewallSavedConfiguration New-NsxFirewallSection New-NsxIpPool New-NsxIpSet New-NsxLoadBalancerApplicationProfile New-NsxLoadBalancerApplicationRule New-NsxLoadBalancerMemberSpec New-NsxLoadBalancerMonitor New-NsxLoadBalancerPool New-NsxLogicalRouter New-NsxLogicalRouterBgpNeighbour New-NsxLogicalRouterBridge New-NsxLogicalRouterInterface New-NsxLogicalRouterInterfaceSpec New-NsxLogicalRouterOspfArea New-NsxLogicalRouterOspfInterface New-NsxLogicalRouterPrefix New-NsxLogicalRouterRedistributionRule New-NsxLogicalRouterStaticRoute New-NsxLogicalSwitch New-NsxMacSet New-NsxManager New-NsxSecurityGroup New-NsxSecurityPolicy New-NsxSecurityPolicyAssignment New-NsxSecurityPolicyFirewallRuleSpec New-NsxSecurityPolicyGuestIntrospectionSpec New-NsxSecurityPolicyNetworkIntrospectionSpec New-NsxSecurityTag New-NsxSecurityTagAssignment New-NsxSegmentIdRange New-NsxService New-NsxServiceGroup New-NsxSpoofguardPolicy New-NsxSslVpnAuthServer New-NsxSslVpnClientInstallationPackage New-NsxSslVpnIpPool New-NsxSslVpnPrivateNetwork New-NsxSslVpnUser New-NsxTransportZone New-NsxVdsContext New-OSCustomizationNicMapping New-OSCustomizationSpec New-Org New-OrgNetwork New-OrgVdc New-OrgVdcNetwork New-ResourcePool New-ScriptFileInfo New-ScsiController New-Snapshot New-SpbmRule New-SpbmRuleSet New-SpbmStoragePolicy New-StatInterval New-Tag New-TagAssignment New-TagCategory New-Template New-TemporaryFile New-VAIOFilter New-VApp New-VDPortgroup New-VDSwitch New-VDSwitchPrivateVlan New-VDisk New-VICredentialStoreItem New-VIInventoryDrive New-VIPermission New-VIProperty New-VIRole New-VISamlSecurityContext New-VM New-VMHostAccount New-VMHostNetworkAdapter New-VMHostProfile New-VMHostProfileVmPortGroupConfiguration New-VMHostRoute New-VTpm New-VasaProvider New-VcsOAuthSecurityContext New-VirtualPortGroup New-VirtualSwitch New-VsanDisk New-VsanDiskGroup New-VsanFaultDomain New-VsanIscsiInitiatorGroup New-VsanIscsiInitiatorGroupTargetAssociation New-VsanIscsiLun New-VsanIscsiTarget New-vRABusinessGroup New-vRAEntitlement New-vRAExternalNetworkProfile New-vRAGroupPrincipal New-vRANATNetworkProfile New-vRANetworkProfileIPRangeDefinition New-vRAPackage New-vRAPropertyDefinition New-vRAPropertyGroup New-vRAReservation New-vRAReservationNetworkDefinition New-vRAReservationPolicy New-vRAReservationStorageDefinition New-vRARoutedNetworkProfile New-vRAService New-vRAStorageReservationPolicy New-vRATenant New-vRATenantDirectory New-vRAUserPrincipal New-vRNIApplication New-vRNIApplicationTier New-vRNIDataSource Open-VMConsoleWindow Publish-Module Publish-NsxSpoofguardPolicy Publish-Script Register-PSRepository Register-PackageSource Remove-AdvancedSetting Remove-AlarmAction Remove-AlarmActionTrigger Remove-Alias Remove-CDDrive Remove-CIAccessControlRule Remove-CIVApp Remove-CIVAppNetwork Remove-CIVAppTemplate Remove-Cluster Remove-CustomAttribute Remove-Datacenter Remove-Datastore Remove-DatastoreCluster Remove-DrsClusterGroup Remove-DrsRule Remove-DrsVMHostRule Remove-FloppyDrive Remove-Folder Remove-HCXAppliance Remove-HCXNetworkExtension Remove-HCXReplication Remove-HCXSitePairing Remove-HardDisk Remove-IScsiHbaTarget Remove-Inventory Remove-KeyManagementServer Remove-NetworkAdapter Remove-NfsUser Remove-NsxCluster Remove-NsxClusterVxlanConfig Remove-NsxController Remove-NsxDynamicCriteria Remove-NsxDynamicMemberSet Remove-NsxEdge Remove-NsxEdgeBgpNeighbour Remove-NsxEdgeCertificate Remove-NsxEdgeCsr Remove-NsxEdgeFirewallRule Remove-NsxEdgeInterfaceAddress Remove-NsxEdgeNatRule Remove-NsxEdgeOspfArea Remove-NsxEdgeOspfInterface Remove-NsxEdgePrefix Remove-NsxEdgeRedistributionRule Remove-NsxEdgeStaticRoute Remove-NsxEdgeSubInterface Remove-NsxFirewallExclusionListMember Remove-NsxFirewallRule Remove-NsxFirewallRuleMember Remove-NsxFirewallSavedConfiguration Remove-NsxFirewallSection Remove-NsxIpPool Remove-NsxIpSet Remove-NsxIpSetMember Remove-NsxLoadBalancerApplicationProfile Remove-NsxLoadBalancerMonitor Remove-NsxLoadBalancerPool Remove-NsxLoadBalancerPoolMember Remove-NsxLoadBalancerVip Remove-NsxLogicalRouter Remove-NsxLogicalRouterBgpNeighbour Remove-NsxLogicalRouterBridge Remove-NsxLogicalRouterInterface Remove-NsxLogicalRouterOspfArea Remove-NsxLogicalRouterOspfInterface Remove-NsxLogicalRouterPrefix Remove-NsxLogicalRouterRedistributionRule Remove-NsxLogicalRouterStaticRoute Remove-NsxLogicalSwitch Remove-NsxMacSet Remove-NsxSecondaryManager Remove-NsxSecurityGroup Remove-NsxSecurityGroupMember Remove-NsxSecurityPolicy Remove-NsxSecurityPolicyAssignment Remove-NsxSecurityPolicyRule Remove-NsxSecurityPolicyRuleGroup Remove-NsxSecurityPolicyRuleService Remove-NsxSecurityTag Remove-NsxSecurityTagAssignment Remove-NsxSegmentIdRange Remove-NsxService Remove-NsxServiceGroup Remove-NsxSpoofguardPolicy Remove-NsxSslVpnClientInstallationPackage Remove-NsxSslVpnIpPool Remove-NsxSslVpnPrivateNetwork Remove-NsxSslVpnUser Remove-NsxTransportZone Remove-NsxTransportZoneMember Remove-NsxVdsContext Remove-OSCustomizationNicMapping Remove-OSCustomizationSpec Remove-Org Remove-OrgNetwork Remove-OrgVdc Remove-OrgVdcNetwork Remove-PSReadLineKeyHandler Remove-PassthroughDevice Remove-ResourcePool Remove-Snapshot Remove-SpbmStoragePolicy Remove-StatInterval Remove-Tag Remove-TagAssignment Remove-TagCategory Remove-Template Remove-UsbDevice Remove-VAIOFilter Remove-VApp Remove-VDPortGroup Remove-VDSwitch Remove-VDSwitchPhysicalNetworkAdapter Remove-VDSwitchPrivateVlan Remove-VDSwitchVMHost Remove-VDisk Remove-VICredentialStoreItem Remove-VIPermission Remove-VIProperty Remove-VIRole Remove-VM Remove-VMHost Remove-VMHostAccount Remove-VMHostNetworkAdapter Remove-VMHostNtpServer Remove-VMHostProfile Remove-VMHostProfileVmPortGroupConfiguration Remove-VMHostRoute Remove-VTpm Remove-VasaProvider Remove-VirtualPortGroup Remove-VirtualSwitch Remove-VirtualSwitchPhysicalNetworkAdapter Remove-VsanDisk Remove-VsanDiskGroup Remove-VsanFaultDomain Remove-VsanIscsiInitiatorGroup Remove-VsanIscsiInitiatorGroupTargetAssociation Remove-VsanIscsiLun Remove-VsanIscsiTarget Remove-vRABusinessGroup Remove-vRACustomForm Remove-vRAExternalNetworkProfile Remove-vRAGroupPrincipal Remove-vRAIcon Remove-vRANATNetworkProfile Remove-vRAPackage Remove-vRAPrincipalFromTenantRole Remove-vRAPropertyDefinition Remove-vRAPropertyGroup Remove-vRAReservation Remove-vRAReservationNetwork Remove-vRAReservationPolicy Remove-vRAReservationStorage Remove-vRARoutedNetworkProfile Remove-vRAService Remove-vRAStorageReservationPolicy Remove-vRATenant Remove-vRATenantDirectory Remove-vRAUserPrincipal Remove-vRNIApplication Remove-vRNIApplicationTier Remove-vRNIDataSource Repair-NsxEdge Repair-VsanObject Request-vRACatalogItem Request-vRAResourceAction Restart-CIVApp Restart-CIVAppGuest Restart-CIVM Restart-CIVMGuest Restart-VM Restart-VMGuest Restart-VMHost Restart-VMHostService Resume-HCXReplication Revoke-NsxSpoofguardNicApproval Save-Module Save-Package Save-Script Search-Cloud Set-AdvancedSetting Set-AlarmDefinition Set-Annotation Set-CDDrive Set-CIAccessControlRule Set-CINetworkAdapter Set-CIVApp Set-CIVAppNetwork Set-CIVAppStartRule Set-CIVAppTemplate Set-Cluster Set-CustomAttribute Set-Datacenter Set-Datastore Set-DatastoreCluster Set-DrsClusterGroup Set-DrsRule Set-DrsVMHostRule Set-FloppyDrive Set-Folder Set-HCXAppliance Set-HCXMigration Set-HCXReplication Set-HardDisk Set-IScsiHbaTarget Set-KeyManagementServer Set-KmsCluster Set-MarkdownOption Set-NetworkAdapter Set-NfsUser Set-NicTeamingPolicy Set-NodeExclusiveResources Set-NodeManager Set-NodeResourceSource Set-NodeResources Set-NsxEdge Set-NsxEdgeBgp Set-NsxEdgeFirewall Set-NsxEdgeInterface Set-NsxEdgeNat Set-NsxEdgeOspf Set-NsxEdgeRouting Set-NsxFirewallGlobalConfiguration Set-NsxFirewallRule Set-NsxFirewallSavedConfiguration Set-NsxFirewallThreshold Set-NsxLoadBalancer Set-NsxLoadBalancerPoolMember Set-NsxLogicalRouter Set-NsxLogicalRouterBgp Set-NsxLogicalRouterBridging Set-NsxLogicalRouterInterface Set-NsxLogicalRouterOspf Set-NsxLogicalRouterRouting Set-NsxManager Set-NsxManagerRole Set-NsxManagerTimeSettings Set-NsxSecurityPolicy Set-NsxSecurityPolicyFirewallRule Set-NsxSslVpn Set-OSCustomizationNicMapping Set-OSCustomizationSpec Set-Org Set-OrgNetwork Set-OrgVdc Set-OrgVdcNetwork Set-PSCurrentConfigurationNode Set-PSDefaultConfigurationDocument Set-PSMetaConfigDocInsProcessedBeforeMeta Set-PSMetaConfigVersionInfoV2 Set-PSReadLineKeyHandler Set-PSReadLineOption Set-PSRepository Set-PSTopConfigurationName Set-PackageSource Set-PowerCLIConfiguration Set-ResourcePool Set-ScsiController Set-ScsiLun Set-ScsiLunPath Set-SecurityPolicy Set-Snapshot Set-SpbmEntityConfiguration Set-SpbmStoragePolicy Set-StatInterval Set-Tag Set-TagCategory Set-Template Set-VAIOFilter Set-VApp Set-VDBlockedPolicy Set-VDPort Set-VDPortgroup Set-VDPortgroupOverridePolicy Set-VDSecurityPolicy Set-VDSwitch Set-VDTrafficShapingPolicy Set-VDUplinkLacpPolicy Set-VDUplinkTeamingPolicy Set-VDVlanConfiguration Set-VDisk Set-VIPermission Set-VIRole Set-VM Set-VMHost Set-VMHostAccount Set-VMHostAdvancedConfiguration Set-VMHostAuthentication Set-VMHostDiagnosticPartition Set-VMHostFirewallDefaultPolicy Set-VMHostFirewallException Set-VMHostFirmware Set-VMHostHba Set-VMHostModule Set-VMHostNetwork Set-VMHostNetworkAdapter Set-VMHostProfile Set-VMHostProfileImageCacheConfiguration Set-VMHostProfileStorageDeviceConfiguration Set-VMHostProfileUserConfiguration Set-VMHostProfileVmPortGroupConfiguration Set-VMHostRoute Set-VMHostService Set-VMHostSnmp Set-VMHostStartPolicy Set-VMHostStorage Set-VMHostSysLogServer Set-VMQuestion Set-VMResourceConfiguration Set-VMStartPolicy Set-VTpm Set-VirtualPortGroup Set-VirtualSwitch Set-VsanClusterConfiguration Set-VsanFaultDomain Set-VsanIscsiInitiatorGroup Set-VsanIscsiLun Set-VsanIscsiTarget Set-vRABusinessGroup Set-vRACatalogItem Set-vRACustomForm Set-vRAEntitlement Set-vRAExternalNetworkProfile Set-vRANATNetworkProfile Set-vRAReservation Set-vRAReservationNetwork Set-vRAReservationPolicy Set-vRAReservationStorage Set-vRARoutedNetworkProfile Set-vRAService Set-vRAStorageReservationPolicy Set-vRATenant Set-vRATenantDirectory Set-vRAUserPrincipal Set-vRNIDataSourceSNMPConfig Show-Markdown Start-CIVApp Start-CIVM Start-HCXMigration Start-HCXReplication Start-SpbmReplicationFailover Start-SpbmReplicationPrepareFailover Start-SpbmReplicationPromote Start-SpbmReplicationReverse Start-SpbmReplicationTestFailover Start-ThreadJob Start-VApp Start-VM Start-VMHost Start-VMHostService Start-VsanClusterDiskUpdate Start-VsanClusterRebalance Start-VsanEncryptionConfiguration Stop-CIVApp Stop-CIVAppGuest Stop-CIVM Stop-CIVMGuest Stop-SpbmReplicationTestFailover Stop-Task Stop-VApp Stop-VM Stop-VMGuest Stop-VMHost Stop-VMHostService Stop-VsanClusterRebalance Suspend-CIVApp Suspend-CIVM Suspend-HCXReplication Suspend-VM Suspend-VMGuest Suspend-VMHost Sync-SpbmReplicationGroup Test-ConflictingResources Test-HCXMigration Test-HCXReplication Test-Json Test-ModuleReloadRequired Test-MofInstanceText Test-NodeManager Test-NodeResourceSource Test-NodeResources Test-ScriptFileInfo Test-VMHostProfileCompliance Test-VMHostSnmp Test-VsanClusterHealth Test-VsanNetworkPerformance Test-VsanStoragePerformance Test-VsanVMCreation Test-vRAPackage Uninstall-Module Uninstall-Package Uninstall-Script Unlock-VM Unregister-PSRepository Unregister-PackageSource Update-ConfigurationDocumentRef Update-ConfigurationErrorCount Update-DependsOn Update-LocalConfigManager Update-Module Update-ModuleManifest Update-ModuleVersion Update-PowerNsx Update-Script Update-ScriptFileInfo Update-Tools Update-VsanHclDatabase ValidateUpdate-ConfigurationData Wait-Debugger Wait-NsxControllerJob Wait-NsxGenericJob Wait-NsxJob Wait-Task Wait-Tools Write-Information Write-Log Write-MetaConfigFile Write-NodeMOFFile",nomarkup:"-ne -eq -lt -gt -ge -le -not -like -notlike -match -notmatch -contains -notcontains -in -notin -replace"},contains:[t,e.NUMBER_MODE,i,s,r,a,o]}}},{name:"processing",create:function(e){return{keywords:{keyword:"BufferedReader PVector PFont PImage PGraphics HashMap boolean byte char color double float int long String Array FloatDict FloatList IntDict IntList JSONArray JSONObject Object StringDict StringList Table TableRow XML false synchronized int abstract float private char boolean static null if const for true while long throw strictfp finally protected import native final return void enum else break transient new catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private",literal:"P2D P3D HALF_PI PI QUARTER_PI TAU TWO_PI",title:"setup draw", +built_in:"displayHeight displayWidth mouseY mouseX mousePressed pmouseX pmouseY key keyCode pixels focused frameCount frameRate height width size createGraphics beginDraw createShape loadShape PShape arc ellipse line point quad rect triangle bezier bezierDetail bezierPoint bezierTangent curve curveDetail curvePoint curveTangent curveTightness shape shapeMode beginContour beginShape bezierVertex curveVertex endContour endShape quadraticVertex vertex ellipseMode noSmooth rectMode smooth strokeCap strokeJoin strokeWeight mouseClicked mouseDragged mouseMoved mousePressed mouseReleased mouseWheel keyPressed keyPressedkeyReleased keyTyped print println save saveFrame day hour millis minute month second year background clear colorMode fill noFill noStroke stroke alpha blue brightness color green hue lerpColor red saturation modelX modelY modelZ screenX screenY screenZ ambient emissive shininess specular add createImage beginCamera camera endCamera frustum ortho perspective printCamera printProjection cursor frameRate noCursor exit loop noLoop popStyle pushStyle redraw binary boolean byte char float hex int str unbinary unhex join match matchAll nf nfc nfp nfs split splitTokens trim append arrayCopy concat expand reverse shorten sort splice subset box sphere sphereDetail createInput createReader loadBytes loadJSONArray loadJSONObject loadStrings loadTable loadXML open parseXML saveTable selectFolder selectInput beginRaw beginRecord createOutput createWriter endRaw endRecord PrintWritersaveBytes saveJSONArray saveJSONObject saveStream saveStrings saveXML selectOutput popMatrix printMatrix pushMatrix resetMatrix rotate rotateX rotateY rotateZ scale shearX shearY translate ambientLight directionalLight lightFalloff lights lightSpecular noLights normal pointLight spotLight image imageMode loadImage noTint requestImage tint texture textureMode textureWrap blend copy filter get loadPixels set updatePixels blendMode loadShader PShaderresetShader shader createFont loadFont text textFont textAlign textLeading textMode textSize textWidth textAscent textDescent abs ceil constrain dist exp floor lerp log mag map max min norm pow round sq sqrt acos asin atan atan2 cos degrees radians sin tan noise noiseDetail noiseSeed random randomGaussian randomSeed"},contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE]}}},{name:"profile",create:function(e){return{contains:[e.C_NUMBER_MODE,{begin:"[a-zA-Z_][\\da-zA-Z_]+\\.[\\da-zA-Z_]{1,3}",end:":",excludeEnd:!0},{begin:"(ncalls|tottime|cumtime)",end:"$",keywords:"ncalls tottime|10 cumtime|10 filename",relevance:10},{begin:"function calls",end:"$",contains:[e.C_NUMBER_MODE],relevance:10},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:"\\(",end:"\\)$",excludeBegin:!0,excludeEnd:!0,relevance:0}]}}},{name:"prolog",create:function(e){var t={begin:/[a-z][A-Za-z0-9_]*/,relevance:0},a={className:"symbol",variants:[{begin:/[A-Z][a-zA-Z0-9_]*/},{begin:/_[A-Za-z0-9_]*/}],relevance:0},r={begin:/\(/,end:/\)/,relevance:0},i={begin:/\[/,end:/\]/},s={className:"comment",begin:/%/,end:/$/,contains:[e.PHRASAL_WORDS_MODE]},n={className:"string",begin:/`/,end:/`/,contains:[e.BACKSLASH_ESCAPE]},o={className:"string",begin:/0\'(\\\'|.)/},l={className:"string",begin:/0\'\\s/},c={begin:/:-/},d=[t,a,r,c,i,s,e.C_BLOCK_COMMENT_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,n,o,l,e.C_NUMBER_MODE];return r.contains=d,i.contains=d,{contains:d.concat([{begin:/\.$/}])}}},{name:"properties",create:function(e){var t="[ \\t\\f]*",a="("+t+"[:=]"+t+"|[ \\t\\f]+)",r="([^\\\\:= \\t\\f\\n]|\\\\.)+",i={end:a,relevance:0,starts:{className:"string",end:/$/,relevance:0,contains:[{begin:"\\\\\\n"}]}};return{case_insensitive:!0,illegal:/\S/,contains:[e.COMMENT("^\\s*[!#]","$"),{begin:"([^\\\\\\W:= \\t\\f\\n]|\\\\.)+"+a,returnBegin:!0,contains:[{className:"attr",begin:"([^\\\\\\W:= \\t\\f\\n]|\\\\.)+",endsParent:!0,relevance:0}],starts:i},{begin:r+a,returnBegin:!0,relevance:0,contains:[{className:"meta",begin:r,endsParent:!0,relevance:0}],starts:i},{className:"attr",relevance:0,begin:r+t+"$"}]}}},{name:"protobuf",create:function(e){return{keywords:{keyword:"package import option optional required repeated group oneof",built_in:"double float int32 int64 uint32 uint64 sint32 sint64 fixed32 fixed64 sfixed32 sfixed64 bool string bytes",literal:"true false"},contains:[e.QUOTE_STRING_MODE,e.NUMBER_MODE,e.C_LINE_COMMENT_MODE,{className:"class",beginKeywords:"message enum service",end:/\{/,illegal:/\n/,contains:[e.inherit(e.TITLE_MODE,{starts:{endsWithParent:!0,excludeEnd:!0}})]},{className:"function",beginKeywords:"rpc",end:/;/,excludeEnd:!0,keywords:"rpc returns"},{begin:/^\s*[A-Z_]+/,end:/\s*=/,excludeEnd:!0}]}}},{name:"puppet",create:function(e){var t={keyword:"and case default else elsif false if in import enherits node or true undef unless main settings $string ",literal:"alias audit before loglevel noop require subscribe tag owner ensure group mode name|0 changes context force incl lens load_path onlyif provider returns root show_diff type_check en_address ip_address realname command environment hour monute month monthday special target weekday creates cwd ogoutput refresh refreshonly tries try_sleep umask backup checksum content ctime force ignore links mtime purge recurse recurselimit replace selinux_ignore_defaults selrange selrole seltype seluser source souirce_permissions sourceselect validate_cmd validate_replacement allowdupe attribute_membership auth_membership forcelocal gid ia_load_module members system host_aliases ip allowed_trunk_vlans description device_url duplex encapsulation etherchannel native_vlan speed principals allow_root auth_class auth_type authenticate_user k_of_n mechanisms rule session_owner shared options device fstype enable hasrestart directory present absent link atboot blockdevice device dump pass remounts poller_tag use message withpath adminfile allow_virtual allowcdrom category configfiles flavor install_options instance package_settings platform responsefile status uninstall_options vendor unless_system_user unless_uid binary control flags hasstatus manifest pattern restart running start stop allowdupe auths expiry gid groups home iterations key_membership keys managehome membership password password_max_age password_min_age profile_membership profiles project purge_ssh_keys role_membership roles salt shell uid baseurl cost descr enabled enablegroups exclude failovermethod gpgcheck gpgkey http_caching include includepkgs keepalive metadata_expire metalink mirrorlist priority protect proxy proxy_password proxy_username repo_gpgcheck s3_enabled skip_if_unavailable sslcacert sslclientcert sslclientkey sslverify mounted",built_in:"architecture augeasversion blockdevices boardmanufacturer boardproductname boardserialnumber cfkey dhcp_servers domain ec2_ ec2_userdata facterversion filesystems ldom fqdn gid hardwareisa hardwaremodel hostname id|0 interfaces ipaddress ipaddress_ ipaddress6 ipaddress6_ iphostnumber is_virtual kernel kernelmajversion kernelrelease kernelversion kernelrelease kernelversion lsbdistcodename lsbdistdescription lsbdistid lsbdistrelease lsbmajdistrelease lsbminordistrelease lsbrelease macaddress macaddress_ macosx_buildversion macosx_productname macosx_productversion macosx_productverson_major macosx_productversion_minor manufacturer memoryfree memorysize netmask metmask_ network_ operatingsystem operatingsystemmajrelease operatingsystemrelease osfamily partitions path physicalprocessorcount processor processorcount productname ps puppetversion rubysitedir rubyversion selinux selinux_config_mode selinux_config_policy selinux_current_mode selinux_current_mode selinux_enforced selinux_policyversion serialnumber sp_ sshdsakey sshecdsakey sshrsakey swapencrypted swapfree swapsize timezone type uniqueid uptime uptime_days uptime_hours uptime_seconds uuid virtual vlans xendomains zfs_version zonenae zones zpool_version"},a=e.COMMENT("#","$"),r=e.inherit(e.TITLE_MODE,{begin:"([A-Za-z_]|::)(\\w|::)*"}),i={className:"variable",begin:"\\$([A-Za-z_]|::)(\\w|::)*"},s={className:"string",contains:[e.BACKSLASH_ESCAPE,i],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/}]};return{aliases:["pp"],contains:[a,i,s,{beginKeywords:"class",end:"\\{|;",illegal:/=/,contains:[r,a]},{beginKeywords:"define",end:/\{/,contains:[{className:"section",begin:e.IDENT_RE,endsParent:!0}]},{begin:e.IDENT_RE+"\\s+\\{",returnBegin:!0,end:/\S/,contains:[{className:"keyword",begin:e.IDENT_RE},{begin:/\{/,end:/\}/,keywords:t,relevance:0,contains:[s,a,{begin:"[a-zA-Z_]+\\s*=>",returnBegin:!0,end:"=>",contains:[{className:"attr",begin:e.IDENT_RE}]},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},i]}],relevance:0}]}}},{name:"purebasic",create:function(e){var t={className:"string",begin:'(~)?"',end:'"',illegal:"\\n"},a={className:"symbol",begin:"#[a-zA-Z_]\\w*\\$?"};return{aliases:["pb","pbi"],keywords:"Align And Array As Break CallDebugger Case CompilerCase CompilerDefault CompilerElse CompilerElseIf CompilerEndIf CompilerEndSelect CompilerError CompilerIf CompilerSelect CompilerWarning Continue Data DataSection Debug DebugLevel Declare DeclareC DeclareCDLL DeclareDLL DeclareModule Default Define Dim DisableASM DisableDebugger DisableExplicit Else ElseIf EnableASM EnableDebugger EnableExplicit End EndDataSection EndDeclareModule EndEnumeration EndIf EndImport EndInterface EndMacro EndModule EndProcedure EndSelect EndStructure EndStructureUnion EndWith Enumeration EnumerationBinary Extends FakeReturn For ForEach ForEver Global Gosub Goto If Import ImportC IncludeBinary IncludeFile IncludePath Interface List Macro MacroExpandedCount Map Module NewList NewMap Next Not Or Procedure ProcedureC ProcedureCDLL ProcedureDLL ProcedureReturn Protected Prototype PrototypeC ReDim Read Repeat Restore Return Runtime Select Shared Static Step Structure StructureUnion Swap Threaded To UndefineMacro Until Until UnuseModule UseModule Wend While With XIncludeFile XOr",contains:[e.COMMENT(";","$",{relevance:0}),{className:"function",begin:"\\b(Procedure|Declare)(C|CDLL|DLL)?\\b",end:"\\(",excludeEnd:!0,returnBegin:!0,contains:[{className:"keyword",begin:"(Procedure|Declare)(C|CDLL|DLL)?",excludeEnd:!0},{className:"type",begin:"\\.\\w*"},e.UNDERSCORE_TITLE_MODE]},t,a]}}},{name:"python",create:function(e){var t={keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda async await nonlocal|10",built_in:"Ellipsis NotImplemented",literal:"False None True"},a={className:"meta",begin:/^(>>>|\.\.\.) /},r={className:"subst",begin:/\{/,end:/\}/,keywords:t,illegal:/#/},i={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/(u|b)?r?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/(u|b)?r?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/(fr|rf|f)'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a,r]},{begin:/(fr|rf|f)"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a,r]},{begin:/(u|r|ur)'/,end:/'/,relevance:10},{begin:/(u|r|ur)"/,end:/"/,relevance:10},{begin:/(b|br)'/,end:/'/},{begin:/(b|br)"/,end:/"/},{begin:/(fr|rf|f)'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,r]},{begin:/(fr|rf|f)"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,r]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},s={className:"number",relevance:0,variants:[{begin:e.BINARY_NUMBER_RE+"[lLjJ]?"},{begin:"\\b(0o[0-7]+)[lLjJ]?"},{begin:e.C_NUMBER_RE+"[lLjJ]?"}]},n={className:"params",begin:/\(/,end:/\)/,contains:["self",a,s,i]};return r.contains=[i,s,a],{aliases:["py","gyp","ipython"],keywords:t,illegal:/(<\/|->|\?)|=>/,contains:[a,s,i,e.HASH_COMMENT_MODE,{variants:[{className:"function",beginKeywords:"def"},{className:"class",beginKeywords:"class"}],end:/:/,illegal:/[${=;\n,]/,contains:[e.UNDERSCORE_TITLE_MODE,n,{begin:/->/,endsWithParent:!0,keywords:"None"}]},{className:"meta",begin:/^[\t ]*@/,end:/$/},{begin:/\b(print|exec)\(/}]}}},{name:"q",create:function(e){return{aliases:["k","kdb"],keywords:{keyword:"do while select delete by update from",literal:"0b 1b",built_in:"neg not null string reciprocal floor ceiling signum mod xbar xlog and or each scan over prior mmu lsq inv md5 ltime gtime count first var dev med cov cor all any rand sums prds mins maxs fills deltas ratios avgs differ prev next rank reverse iasc idesc asc desc msum mcount mavg mdev xrank mmin mmax xprev rotate distinct group where flip type key til get value attr cut set upsert raze union inter except cross sv vs sublist enlist read0 read1 hopen hclose hdel hsym hcount peach system ltrim rtrim trim lower upper ssr view tables views cols xcols keys xkey xcol xasc xdesc fkeys meta lj aj aj0 ij pj asof uj ww wj wj1 fby xgroup ungroup ej save load rsave rload show csv parse eval min max avg wavg wsum sin cos tan sum",type:"`float `double int `timestamp `timespan `datetime `time `boolean `symbol `char `byte `short `long `real `month `date `minute `second `guid"},lexemes:/(`?)[A-Za-z0-9_]+\b/,contains:[e.C_LINE_COMMENT_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE]}}},{name:"qml",create:function(e){var t={keyword:"in of on if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await import",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Behavior bool color coordinate date double enumeration font geocircle georectangle geoshape int list matrix4x4 parent point quaternion real rect size string url variant vector2d vector3d vector4dPromise"},a="[a-zA-Z_][a-zA-Z0-9\\._]*",r={className:"keyword",begin:"\\bproperty\\b",starts:{className:"string",end:"(:|=|;|,|//|/\\*|$)",returnEnd:!0}},i={className:"keyword",begin:"\\bsignal\\b",starts:{className:"string",end:"(\\(|:|=|;|,|//|/\\*|$)",returnEnd:!0}},s={className:"attribute",begin:"\\bid\\s*:",starts:{className:"string",end:a,returnEnd:!1}},n={begin:a+"\\s*:",returnBegin:!0,contains:[{className:"attribute",begin:a,end:"\\s*:",excludeEnd:!0,relevance:0}],relevance:0},o={begin:a+"\\s*{",end:"{",returnBegin:!0,relevance:0,contains:[e.inherit(e.TITLE_MODE,{begin:a})]};return{aliases:["qt"],case_insensitive:!1,keywords:t,contains:[{className:"meta",begin:/^\s*['"]use (strict|asm)['"]/},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,{className:"subst",begin:"\\$\\{",end:"\\}"}]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"number",variants:[{begin:"\\b(0[bB][01]+)"},{begin:"\\b(0[oO][0-7]+)"},{begin:e.C_NUMBER_RE}],relevance:0},{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.REGEXP_MODE,{begin:/</,end:/>\s*[);\]]/,relevance:0,subLanguage:"xml"}],relevance:0},i,r,{className:"function",beginKeywords:"function",end:/\{/,excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/[A-Za-z$_][0-9A-Za-z$_]*/}),{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]}],illegal:/\[|%/},{begin:"\\."+e.IDENT_RE,relevance:0},s,n,o],illegal:/#/}}},{name:"r",create:function(e){var t="([a-zA-Z]|\\.[a-zA-Z.])[a-zA-Z0-9._]*";return{contains:[e.HASH_COMMENT_MODE,{begin:t,lexemes:t,keywords:{keyword:"function if in break next repeat else for return switch while try tryCatch stop warning require library attach detach source setMethod setGeneric setGroupGeneric setClass ...",literal:"NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10"},relevance:0},{className:"number",begin:"0[xX][0-9a-fA-F]+[Li]?\\b",relevance:0},{className:"number",begin:"\\d+(?:[eE][+\\-]?\\d*)?L\\b",relevance:0},{className:"number",begin:"\\d+\\.(?!\\d)(?:i\\b)?",relevance:0},{className:"number",begin:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",relevance:0},{className:"number",begin:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",relevance:0},{begin:"`",end:"`",relevance:0},{className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:'"',end:'"'},{begin:"'",end:"'"}]}]}}},{name:"reasonml",create:function(e){var t="~?[a-z$_][0-9a-zA-Z$_]*",a="`?[A-Z$_][0-9a-zA-Z$_]*",r="("+function(e){return e.map(function(e){return e.split("").map(function(e){return"\\"+e}).join("")}).join("|")}(["||","&&","++","**","+.","*","/","*.","/.","...","|>"])+"|==|===)",i="\\s+"+r+"\\s+",s={keyword:"and as asr assert begin class constraint do done downto else end exception externalfor fun function functor if in include inherit initializerland lazy let lor lsl lsr lxor match method mod module mutable new nonrecobject of open or private rec sig struct then to try type val virtual when while with",built_in:"array bool bytes char exn|5 float int int32 int64 list lazy_t|5 nativeint|5 ref string unit ",literal:"true false"},n="\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)",o={className:"number",relevance:0,variants:[{begin:n},{begin:"\\(\\-"+n+"\\)"}]},l={className:"operator",relevance:0,begin:r},c=[{className:"identifier",relevance:0,begin:t},l,o],d=[e.QUOTE_STRING_MODE,l,{className:"module",begin:"\\b"+a,returnBegin:!0,end:".",contains:[{className:"identifier",begin:a,relevance:0}]}],_=[{className:"module",begin:"\\b"+a,returnBegin:!0,end:".",relevance:0,contains:[{className:"identifier",begin:a,relevance:0}]}],m={begin:t,end:"(,|\\n|\\))",relevance:0,contains:[l,{className:"typing",begin:":",end:"(,|\\n)",returnBegin:!0,relevance:0,contains:_}]},u={className:"function",relevance:0,keywords:s,variants:[{begin:"\\s(\\(\\.?.*?\\)|"+t+")\\s*=>",end:"\\s*=>",returnBegin:!0,relevance:0,contains:[{className:"params",variants:[{begin:t},{begin:"~?[a-z$_][0-9a-zA-Z$_]*(s*:s*[a-z$_][0-9a-z$_]*((s*('?[a-z$_][0-9a-z$_]*s*(,'?[a-z$_][0-9a-z$_]*)*)?s*))?)?(s*:s*[a-z$_][0-9a-z$_]*((s*('?[a-z$_][0-9a-z$_]*s*(,'?[a-z$_][0-9a-z$_]*)*)?s*))?)?"},{begin:/\(\s*\)/}]}]},{begin:"\\s\\(\\.?[^;\\|]*\\)\\s*=>",end:"\\s=>",returnBegin:!0,relevance:0,contains:[{className:"params",relevance:0,variants:[m]}]},{begin:"\\(\\.\\s"+t+"\\)\\s*=>"}]};d.push(u);var p={className:"constructor",begin:a+"\\(",end:"\\)",illegal:"\\n",keywords:s,contains:[e.QUOTE_STRING_MODE,l,{className:"params",begin:"\\b"+t}]},h={className:"pattern-match",begin:"\\|",returnBegin:!0,keywords:s,end:"=>",relevance:0,contains:[p,l,{relevance:0,className:"constructor",begin:a}]},g={className:"module-access",keywords:s,returnBegin:!0,variants:[{begin:"\\b("+a+"\\.)+"+t},{begin:"\\b("+a+"\\.)+\\(",end:"\\)",returnBegin:!0,contains:[u,{begin:"\\(",end:"\\)",skip:!0}].concat(d)},{begin:"\\b("+a+"\\.)+{",end:"}"}],contains:d};return _.push(g),{aliases:["re"],keywords:s,illegal:"(:\\-|:=|\\${|\\+=)",contains:[e.COMMENT("/\\*","\\*/",{illegal:"^(\\#,\\/\\/)"}),{className:"character",begin:"'(\\\\[^']+|[^'])'",illegal:"\\n",relevance:0},e.QUOTE_STRING_MODE,{className:"literal",begin:"\\(\\)",relevance:0},{className:"literal",begin:"\\[\\|",end:"\\|\\]",relevance:0,contains:c},{className:"literal",begin:"\\[",end:"\\]",relevance:0,contains:c},p,{className:"operator",begin:i,illegal:"\\-\\->",relevance:0},o,e.C_LINE_COMMENT_MODE,h,u,{className:"module-def",begin:"\\bmodule\\s+"+t+"\\s+"+a+"\\s+=\\s+{",end:"}",returnBegin:!0,keywords:s,relevance:0,contains:[{className:"module",relevance:0,begin:a},{begin:"{",end:"}",skip:!0}].concat(d)},g]}}},{name:"rib",create:function(e){return{keywords:"ArchiveRecord AreaLightSource Atmosphere Attribute AttributeBegin AttributeEnd Basis Begin Blobby Bound Clipping ClippingPlane Color ColorSamples ConcatTransform Cone CoordinateSystem CoordSysTransform CropWindow Curves Cylinder DepthOfField Detail DetailRange Disk Displacement Display End ErrorHandler Exposure Exterior Format FrameAspectRatio FrameBegin FrameEnd GeneralPolygon GeometricApproximation Geometry Hider Hyperboloid Identity Illuminate Imager Interior LightSource MakeCubeFaceEnvironment MakeLatLongEnvironment MakeShadow MakeTexture Matte MotionBegin MotionEnd NuPatch ObjectBegin ObjectEnd ObjectInstance Opacity Option Orientation Paraboloid Patch PatchMesh Perspective PixelFilter PixelSamples PixelVariance Points PointsGeneralPolygons PointsPolygons Polygon Procedural Projection Quantize ReadArchive RelativeDetail ReverseOrientation Rotate Scale ScreenWindow ShadingInterpolation ShadingRate Shutter Sides Skew SolidBegin SolidEnd Sphere SubdivisionMesh Surface TextureCoordinates Torus Transform TransformBegin TransformEnd TransformPoints Translate TrimCurve WorldBegin WorldEnd",illegal:"</",contains:[e.HASH_COMMENT_MODE,e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]}}},{name:"roboconf",create:function(e){var t="[a-zA-Z-_][^\\n{]+\\{",a={className:"attribute",begin:/[a-zA-Z-_]+/,end:/\s*:/,excludeEnd:!0,starts:{end:";",relevance:0,contains:[{className:"variable",begin:/\.[a-zA-Z-_]+/},{className:"keyword",begin:/\(optional\)/}]}};return{aliases:["graph","instances"],case_insensitive:!0,keywords:"import",contains:[{begin:"^facet "+t,end:"}",keywords:"facet",contains:[a,e.HASH_COMMENT_MODE]},{begin:"^\\s*instance of "+t,end:"}",keywords:"name count channels instance-data instance-state instance of",illegal:/\S/,contains:["self",a,e.HASH_COMMENT_MODE]},{begin:"^"+t,end:"}",contains:[a,e.HASH_COMMENT_MODE]},e.HASH_COMMENT_MODE]}}},{name:"routeros",create:function(e){var t="foreach do while for if from to step else on-error and or not in",a="true false yes no nothing nil null",r={className:"variable",variants:[{begin:/\$[\w\d#@][\w\d_]*/},{begin:/\$\{(.*?)}/}]},i={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,r,{className:"variable",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]}]},s={className:"string",begin:/'/,end:/'/};return{aliases:["routeros","mikrotik"],case_insensitive:!0,lexemes:/:?[\w-]+/,keywords:{literal:a,keyword:t+" :"+t.split(" ").join(" :")+" :"+"global local beep delay put len typeof pick log time set find environment terminal error execute parse resolve toarray tobool toid toip toip6 tonum tostr totime".split(" ").join(" :")},contains:[{variants:[{begin:/^@/,end:/$/},{begin:/\/\*/,end:/\*\//},{begin:/%%/,end:/$/},{begin:/^'/,end:/$/},{begin:/^\s*\/[\w-]+=/,end:/$/},{begin:/\/\//,end:/$/},{begin:/^\[\</,end:/\>\]$/},{begin:/<\//,end:/>/},{begin:/^facet /,end:/\}/},{begin:"^1\\.\\.(\\d+)$",end:/$/}],illegal:/./},e.COMMENT("^#","$"),i,s,r,{begin:/[\w-]+\=([^\s\{\}\[\]\(\)]+)/,relevance:0,returnBegin:!0,contains:[{className:"attribute",begin:/[^=]+/},{begin:/=/,endsWithParent:!0,relevance:0,contains:[i,s,r,{className:"literal",begin:"\\b("+a.split(" ").join("|")+")\\b"},{begin:/("[^"]*"|[^\s\{\}\[\]]+)/}]}]},{className:"number",begin:/\*[0-9a-fA-F]+/},{begin:"\\b("+"add remove enable disable set get print export edit find run debug error info warning".split(" ").join("|")+")([\\s[(]|])",returnBegin:!0,contains:[{className:"builtin-name",begin:/\w+/}]},{className:"built_in",variants:[{begin:"(\\.\\./|/|\\s)(("+"traffic-flow traffic-generator firewall scheduler aaa accounting address-list address align area bandwidth-server bfd bgp bridge client clock community config connection console customer default dhcp-client dhcp-server discovery dns e-mail ethernet filter firewall firmware gps graphing group hardware health hotspot identity igmp-proxy incoming instance interface ip ipsec ipv6 irq l2tp-server lcd ldp logging mac-server mac-winbox mangle manual mirror mme mpls nat nd neighbor network note ntp ospf ospf-v3 ovpn-server page peer pim ping policy pool port ppp pppoe-client pptp-server prefix profile proposal proxy queue radius resource rip ripng route routing screen script security-profiles server service service-port settings shares smb sms sniffer snmp snooper socks sstp-server system tool tracking type upgrade upnp user-manager users user vlan secret vrrp watchdog web-access wireless pptp pppoe lan wan layer7-protocol lease simple raw".split(" ").join("|")+");?\\s)+",relevance:10},{begin:/\.\./}]}]}}},{name:"rsl",create:function(e){return{keywords:{keyword:"float color point normal vector matrix while for if do return else break extern continue",built_in:"abs acos ambient area asin atan atmosphere attribute calculatenormal ceil cellnoise clamp comp concat cos degrees depth Deriv diffuse distance Du Dv environment exp faceforward filterstep floor format fresnel incident length lightsource log match max min mod noise normalize ntransform opposite option phong pnoise pow printf ptlined radians random reflect refract renderinfo round setcomp setxcomp setycomp setzcomp shadow sign sin smoothstep specular specularbrdf spline sqrt step tan texture textureinfo trace transform vtransform xcomp ycomp zcomp"},illegal:"</",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_NUMBER_MODE,{className:"meta",begin:"#",end:"$"},{className:"class",beginKeywords:"surface displacement light volume imager",end:"\\("},{beginKeywords:"illuminate illuminance gather",end:"\\("}]}}},{name:"ruby",create:function(e){var t="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",a={keyword:"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",literal:"true false nil"},r={className:"doctag",begin:"@[A-Za-z]+"},i={begin:"#<",end:">"},s=[e.COMMENT("#","$",{contains:[r]}),e.COMMENT("^\\=begin","^\\=end",{contains:[r],relevance:10}),e.COMMENT("^__END__","\\n$")],n={className:"subst",begin:"#\\{",end:"}",keywords:a},o={className:"string",contains:[e.BACKSLASH_ESCAPE,n],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:"%[qQwWx]?\\(",end:"\\)"},{begin:"%[qQwWx]?\\[",end:"\\]"},{begin:"%[qQwWx]?{",end:"}"},{begin:"%[qQwWx]?<",end:">"},{begin:"%[qQwWx]?/",end:"/"},{begin:"%[qQwWx]?%",end:"%"},{begin:"%[qQwWx]?-",end:"-"},{begin:"%[qQwWx]?\\|",end:"\\|"},{begin:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/},{begin:/<<[-~]?'?(\w+)(?:.|\n)*?\n\s*\1\b/,returnBegin:!0,contains:[{begin:/<<[-~]?'?/},{begin:/\w+/,endSameAsBegin:!0,contains:[e.BACKSLASH_ESCAPE,n]}]}]},l={className:"params",begin:"\\(",end:"\\)",endsParent:!0,keywords:a},c=[o,i,{className:"class",beginKeywords:"class module",end:"$|;",illegal:/=/,contains:[e.inherit(e.TITLE_MODE,{begin:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{begin:"<\\s*",contains:[{begin:"("+e.IDENT_RE+"::)?"+e.IDENT_RE}]}].concat(s)},{className:"function",beginKeywords:"def",end:"$|;",contains:[e.inherit(e.TITLE_MODE,{begin:t}),l].concat(s)},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(\\!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[o,{begin:t}],relevance:0},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{className:"params",begin:/\|/,end:/\|/,keywords:a},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[i,{className:"regexp",contains:[e.BACKSLASH_ESCAPE,n],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:"%r{",end:"}[a-z]*"},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(s),relevance:0}].concat(s);n.contains=c,l.contains=c;var d=[{begin:/^\s*=>/,starts:{end:"$",contains:c}},{className:"meta",begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+>|(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>)",starts:{end:"$",contains:c}}];return{aliases:["rb","gemspec","podspec","thor","irb"],keywords:a,illegal:/\/\*/,contains:s.concat(d).concat(c)}}},{name:"ruleslanguage",create:function(e){return{keywords:{keyword:"BILL_PERIOD BILL_START BILL_STOP RS_EFFECTIVE_START RS_EFFECTIVE_STOP RS_JURIS_CODE RS_OPCO_CODE INTDADDATTRIBUTE|5 INTDADDVMSG|5 INTDBLOCKOP|5 INTDBLOCKOPNA|5 INTDCLOSE|5 INTDCOUNT|5 INTDCOUNTSTATUSCODE|5 INTDCREATEMASK|5 INTDCREATEDAYMASK|5 INTDCREATEFACTORMASK|5 INTDCREATEHANDLE|5 INTDCREATEOVERRIDEDAYMASK|5 INTDCREATEOVERRIDEMASK|5 INTDCREATESTATUSCODEMASK|5 INTDCREATETOUPERIOD|5 INTDDELETE|5 INTDDIPTEST|5 INTDEXPORT|5 INTDGETERRORCODE|5 INTDGETERRORMESSAGE|5 INTDISEQUAL|5 INTDJOIN|5 INTDLOAD|5 INTDLOADACTUALCUT|5 INTDLOADDATES|5 INTDLOADHIST|5 INTDLOADLIST|5 INTDLOADLISTDATES|5 INTDLOADLISTENERGY|5 INTDLOADLISTHIST|5 INTDLOADRELATEDCHANNEL|5 INTDLOADSP|5 INTDLOADSTAGING|5 INTDLOADUOM|5 INTDLOADUOMDATES|5 INTDLOADUOMHIST|5 INTDLOADVERSION|5 INTDOPEN|5 INTDREADFIRST|5 INTDREADNEXT|5 INTDRECCOUNT|5 INTDRELEASE|5 INTDREPLACE|5 INTDROLLAVG|5 INTDROLLPEAK|5 INTDSCALAROP|5 INTDSCALE|5 INTDSETATTRIBUTE|5 INTDSETDSTPARTICIPANT|5 INTDSETSTRING|5 INTDSETVALUE|5 INTDSETVALUESTATUS|5 INTDSHIFTSTARTTIME|5 INTDSMOOTH|5 INTDSORT|5 INTDSPIKETEST|5 INTDSUBSET|5 INTDTOU|5 INTDTOURELEASE|5 INTDTOUVALUE|5 INTDUPDATESTATS|5 INTDVALUE|5 STDEV INTDDELETEEX|5 INTDLOADEXACTUAL|5 INTDLOADEXCUT|5 INTDLOADEXDATES|5 INTDLOADEX|5 INTDLOADEXRELATEDCHANNEL|5 INTDSAVEEX|5 MVLOAD|5 MVLOADACCT|5 MVLOADACCTDATES|5 MVLOADACCTHIST|5 MVLOADDATES|5 MVLOADHIST|5 MVLOADLIST|5 MVLOADLISTDATES|5 MVLOADLISTHIST|5 IF FOR NEXT DONE SELECT END CALL ABORT CLEAR CHANNEL FACTOR LIST NUMBER OVERRIDE SET WEEK DISTRIBUTIONNODE ELSE WHEN THEN OTHERWISE IENUM CSV INCLUDE LEAVE RIDER SAVE DELETE NOVALUE SECTION WARN SAVE_UPDATE DETERMINANT LABEL REPORT REVENUE EACH IN FROM TOTAL CHARGE BLOCK AND OR CSV_FILE RATE_CODE AUXILIARY_DEMAND UIDACCOUNT RS BILL_PERIOD_SELECT HOURS_PER_MONTH INTD_ERROR_STOP SEASON_SCHEDULE_NAME ACCOUNTFACTOR ARRAYUPPERBOUND CALLSTOREDPROC GETADOCONNECTION GETCONNECT GETDATASOURCE GETQUALIFIER GETUSERID HASVALUE LISTCOUNT LISTOP LISTUPDATE LISTVALUE PRORATEFACTOR RSPRORATE SETBINPATH SETDBMONITOR WQ_OPEN BILLINGHOURS DATE DATEFROMFLOAT DATETIMEFROMSTRING DATETIMETOSTRING DATETOFLOAT DAY DAYDIFF DAYNAME DBDATETIME HOUR MINUTE MONTH MONTHDIFF MONTHHOURS MONTHNAME ROUNDDATE SAMEWEEKDAYLASTYEAR SECOND WEEKDAY WEEKDIFF YEAR YEARDAY YEARSTR COMPSUM HISTCOUNT HISTMAX HISTMIN HISTMINNZ HISTVALUE MAXNRANGE MAXRANGE MINRANGE COMPIKVA COMPKVA COMPKVARFROMKQKW COMPLF IDATTR FLAG LF2KW LF2KWH MAXKW POWERFACTOR READING2USAGE AVGSEASON MAXSEASON MONTHLYMERGE SEASONVALUE SUMSEASON ACCTREADDATES ACCTTABLELOAD CONFIGADD CONFIGGET CREATEOBJECT CREATEREPORT EMAILCLIENT EXPBLKMDMUSAGE EXPMDMUSAGE EXPORT_USAGE FACTORINEFFECT GETUSERSPECIFIEDSTOP INEFFECT ISHOLIDAY RUNRATE SAVE_PROFILE SETREPORTTITLE USEREXIT WATFORRUNRATE TO TABLE ACOS ASIN ATAN ATAN2 BITAND CEIL COS COSECANT COSH COTANGENT DIVQUOT DIVREM EXP FABS FLOOR FMOD FREPM FREXPN LOG LOG10 MAX MAXN MIN MINNZ MODF POW ROUND ROUND2VALUE ROUNDINT SECANT SIN SINH SQROOT TAN TANH FLOAT2STRING FLOAT2STRINGNC INSTR LEFT LEN LTRIM MID RIGHT RTRIM STRING STRINGNC TOLOWER TOUPPER TRIM NUMDAYS READ_DATE STAGING",built_in:"IDENTIFIER OPTIONS XML_ELEMENT XML_OP XML_ELEMENT_OF DOMDOCCREATE DOMDOCLOADFILE DOMDOCLOADXML DOMDOCSAVEFILE DOMDOCGETROOT DOMDOCADDPI DOMNODEGETNAME DOMNODEGETTYPE DOMNODEGETVALUE DOMNODEGETCHILDCT DOMNODEGETFIRSTCHILD DOMNODEGETSIBLING DOMNODECREATECHILDELEMENT DOMNODESETATTRIBUTE DOMNODEGETCHILDELEMENTCT DOMNODEGETFIRSTCHILDELEMENT DOMNODEGETSIBLINGELEMENT DOMNODEGETATTRIBUTECT DOMNODEGETATTRIBUTEI DOMNODEGETATTRIBUTEBYNAME DOMNODEGETBYNAME"}, +contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,{className:"literal",variants:[{begin:"#\\s+[a-zA-Z\\ \\.]*",relevance:0},{begin:"#[a-zA-Z\\ \\.]+"}]}]}}},{name:"rust",create:function(e){var t="([ui](8|16|32|64|128|size)|f(32|64))?",a="drop i8 i16 i32 i64 i128 isize u8 u16 u32 u64 u128 usize f32 f64 str char bool Box Option Result String Vec Copy Send Sized Sync Drop Fn FnMut FnOnce ToOwned Clone Debug PartialEq PartialOrd Eq Ord AsRef AsMut Into From Default Iterator Extend IntoIterator DoubleEndedIterator ExactSizeIterator SliceConcatExt ToString assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! debug_assert! debug_assert_eq! env! panic! file! format! format_args! include_bin! include_str! line! local_data_key! module_path! option_env! print! println! select! stringify! try! unimplemented! unreachable! vec! write! writeln! macro_rules! assert_ne! debug_assert_ne!";return{aliases:["rs"],keywords:{keyword:"abstract as async await become box break const continue crate do dyn else enum extern false final fn for if impl in let loop macro match mod move mut override priv pub ref return self Self static struct super trait true try type typeof unsafe unsized use virtual where while yield",literal:"true false Some None Ok Err",built_in:a},lexemes:e.IDENT_RE+"!?",illegal:"</",contains:[e.C_LINE_COMMENT_MODE,e.COMMENT("/\\*","\\*/",{contains:["self"]}),e.inherit(e.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{className:"string",variants:[{begin:/r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'\\?(x\w{2}|u\w{4}|U\w{8}|.)'/}]},{className:"symbol",begin:/'[a-zA-Z_][a-zA-Z0-9_]*/},{className:"number",variants:[{begin:"\\b0b([01_]+)"+t},{begin:"\\b0o([0-7_]+)"+t},{begin:"\\b0x([A-Fa-f0-9_]+)"+t},{begin:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)"+t}],relevance:0},{className:"function",beginKeywords:"fn",end:"(\\(|<)",excludeEnd:!0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"meta",begin:"#\\!?\\[",end:"\\]",contains:[{className:"meta-string",begin:/"/,end:/"/}]},{className:"class",beginKeywords:"type",end:";",contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{endsParent:!0})],illegal:"\\S"},{className:"class",beginKeywords:"trait enum struct union",end:"{",contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{endsParent:!0})],illegal:"[\\w\\d]"},{begin:e.IDENT_RE+"::",keywords:{built_in:a}},{begin:"->"}]}}},{name:"sas",create:function(e){return{aliases:["sas","SAS"],case_insensitive:!0,keywords:{literal:"null missing _all_ _automatic_ _character_ _infile_ _n_ _name_ _null_ _numeric_ _user_ _webout_",meta:"do if then else end until while abort array attrib by call cards cards4 catname continue datalines datalines4 delete delim delimiter display dm drop endsas error file filename footnote format goto in infile informat input keep label leave length libname link list lostcard merge missing modify options output out page put redirect remove rename replace retain return select set skip startsas stop title update waitsas where window x systask add and alter as cascade check create delete describe distinct drop foreign from group having index insert into in key like message modify msgtype not null on or order primary references reset restrict select set table unique update validate view where"},contains:[{className:"keyword",begin:/^\s*(proc [\w\d_]+|data|run|quit)[\s\;]/},{className:"variable",begin:/\&[a-zA-Z_\&][a-zA-Z0-9_]*\.?/},{className:"emphasis",begin:/^\s*datalines|cards.*;/,end:/^\s*;\s*$/},{className:"built_in",begin:"%(bquote|nrbquote|cmpres|qcmpres|compstor|datatyp|display|do|else|end|eval|global|goto|if|index|input|keydef|label|left|length|let|local|lowcase|macro|mend|nrbquote|nrquote|nrstr|put|qcmpres|qleft|qlowcase|qscan|qsubstr|qsysfunc|qtrim|quote|qupcase|scan|str|substr|superq|syscall|sysevalf|sysexec|sysfunc|sysget|syslput|sysprod|sysrc|sysrput|then|to|trim|unquote|until|upcase|verify|while|window)"},{className:"name",begin:/%[a-zA-Z_][a-zA-Z_0-9]*/},{className:"meta",begin:"[^%](abs|addr|airy|arcos|arsin|atan|attrc|attrn|band|betainv|blshift|bnot|bor|brshift|bxor|byte|cdf|ceil|cexist|cinv|close|cnonct|collate|compbl|compound|compress|cos|cosh|css|curobs|cv|daccdb|daccdbsl|daccsl|daccsyd|dacctab|dairy|date|datejul|datepart|datetime|day|dclose|depdb|depdbsl|depdbsl|depsl|depsl|depsyd|depsyd|deptab|deptab|dequote|dhms|dif|digamma|dim|dinfo|dnum|dopen|doptname|doptnum|dread|dropnote|dsname|erf|erfc|exist|exp|fappend|fclose|fcol|fdelete|fetch|fetchobs|fexist|fget|fileexist|filename|fileref|finfo|finv|fipname|fipnamel|fipstate|floor|fnonct|fnote|fopen|foptname|foptnum|fpoint|fpos|fput|fread|frewind|frlen|fsep|fuzz|fwrite|gaminv|gamma|getoption|getvarc|getvarn|hbound|hms|hosthelp|hour|ibessel|index|indexc|indexw|input|inputc|inputn|int|intck|intnx|intrr|irr|jbessel|juldate|kurtosis|lag|lbound|left|length|lgamma|libname|libref|log|log10|log2|logpdf|logpmf|logsdf|lowcase|max|mdy|mean|min|minute|mod|month|mopen|mort|n|netpv|nmiss|normal|note|npv|open|ordinal|pathname|pdf|peek|peekc|pmf|point|poisson|poke|probbeta|probbnml|probchi|probf|probgam|probhypr|probit|probnegb|probnorm|probt|put|putc|putn|qtr|quote|ranbin|rancau|ranexp|rangam|range|rank|rannor|ranpoi|rantbl|rantri|ranuni|repeat|resolve|reverse|rewind|right|round|saving|scan|sdf|second|sign|sin|sinh|skewness|soundex|spedis|sqrt|std|stderr|stfips|stname|stnamel|substr|sum|symget|sysget|sysmsg|sysprod|sysrc|system|tan|tanh|time|timepart|tinv|tnonct|today|translate|tranwrd|trigamma|trim|trimn|trunc|uniform|upcase|uss|var|varfmt|varinfmt|varlabel|varlen|varname|varnum|varray|varrayx|vartype|verify|vformat|vformatd|vformatdx|vformatn|vformatnx|vformatw|vformatwx|vformatx|vinarray|vinarrayx|vinformat|vinformatd|vinformatdx|vinformatn|vinformatnx|vinformatw|vinformatwx|vinformatx|vlabel|vlabelx|vlength|vlengthx|vname|vnamex|vtype|vtypex|weekday|year|yyq|zipfips|zipname|zipnamel|zipstate)[(]"},{className:"string",variants:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},e.COMMENT("\\*",";"),e.C_BLOCK_COMMENT_MODE]}}},{name:"scala",create:function(e){var t={className:"meta",begin:"@[A-Za-z]+"},a={className:"subst",variants:[{begin:"\\$[A-Za-z0-9_]+"},{begin:"\\${",end:"}"}]},r={className:"string",variants:[{begin:'"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:'"""',end:'"""',relevance:10},{begin:'[a-z]+"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE,a]},{className:"string",begin:'[a-z]+"""',end:'"""',contains:[a],relevance:10}]},i={className:"symbol",begin:"'\\w[\\w\\d_]*(?!')"},s={className:"type",begin:"\\b[A-Z][A-Za-z0-9_]*",relevance:0},n={className:"title",begin:/[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/,relevance:0},o={className:"class",beginKeywords:"class object trait type",end:/[:={\[\n;]/,excludeEnd:!0,contains:[{beginKeywords:"extends with",relevance:10},{begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[s]},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[s]},n]},l={className:"function",beginKeywords:"def",end:/[:={\[(\n;]/,excludeEnd:!0,contains:[n]};return{keywords:{literal:"true false null",keyword:"type yield lazy override def with val var sealed abstract private trait object if forSome for while throw finally protected extends import final return else break new catch super class case package default try this match continue throws implicit"},contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,r,i,s,l,o,e.C_NUMBER_MODE,t]}}},{name:"scheme",create:function(e){var t="[^\\(\\)\\[\\]\\{\\}\",'`;#|\\\\\\s]+",a={"builtin-name":"case-lambda call/cc class define-class exit-handler field import inherit init-field interface let*-values let-values let/ec mixin opt-lambda override protect provide public rename require require-for-syntax syntax syntax-case syntax-error unit/sig unless when with-syntax and begin call-with-current-continuation call-with-input-file call-with-output-file case cond define define-syntax delay do dynamic-wind else for-each if lambda let let* let-syntax letrec letrec-syntax map or syntax-rules ' * + , ,@ - ... / ; < <= = => > >= ` abs acos angle append apply asin assoc assq assv atan boolean? caar cadr call-with-input-file call-with-output-file call-with-values car cdddar cddddr cdr ceiling char->integer char-alphabetic? char-ci<=? char-ci<? char-ci=? char-ci>=? char-ci>? char-downcase char-lower-case? char-numeric? char-ready? char-upcase char-upper-case? char-whitespace? char<=? char<? char=? char>=? char>? char? close-input-port close-output-port complex? cons cos current-input-port current-output-port denominator display eof-object? eq? equal? eqv? eval even? exact->inexact exact? exp expt floor force gcd imag-part inexact->exact inexact? input-port? integer->char integer? interaction-environment lcm length list list->string list->vector list-ref list-tail list? load log magnitude make-polar make-rectangular make-string make-vector max member memq memv min modulo negative? newline not null-environment null? number->string number? numerator odd? open-input-file open-output-file output-port? pair? peek-char port? positive? procedure? quasiquote quote quotient rational? rationalize read read-char real-part real? remainder reverse round scheme-report-environment set! set-car! set-cdr! sin sqrt string string->list string->number string->symbol string-append string-ci<=? string-ci<? string-ci=? string-ci>=? string-ci>? string-copy string-fill! string-length string-ref string-set! string<=? string<? string=? string>=? string>? string? substring symbol->string symbol? tan transcript-off transcript-on truncate values vector vector->list vector-fill! vector-length vector-ref vector-set! with-input-from-file with-output-to-file write write-char zero?"},r={className:"meta",begin:"^#!",end:"$"},i={className:"literal",begin:"(#t|#f|#\\\\"+t+"|#\\\\.)"},s={className:"number",variants:[{begin:"(\\-|\\+)?\\d+([./]\\d+)?",relevance:0},{begin:"(\\-|\\+)?\\d+([./]\\d+)?[+\\-](\\-|\\+)?\\d+([./]\\d+)?i",relevance:0},{begin:"#b[0-1]+(/[0-1]+)?"},{begin:"#o[0-7]+(/[0-7]+)?"},{begin:"#x[0-9a-f]+(/[0-9a-f]+)?"}]},n=e.QUOTE_STRING_MODE,o=[e.COMMENT(";","$",{relevance:0}),e.COMMENT("#\\|","\\|#")],l={begin:t,relevance:0},c={className:"symbol",begin:"'"+t},d={endsWithParent:!0,relevance:0},_={variants:[{begin:/'/},{begin:"`"}],contains:[{begin:"\\(",end:"\\)",contains:["self",i,n,s,l,c]}]},m={className:"name",begin:t,lexemes:t,keywords:a},u={begin:/lambda/,endsWithParent:!0,returnBegin:!0,contains:[m,{begin:/\(/,end:/\)/,endsParent:!0,contains:[l]}]},p={variants:[{begin:"\\(",end:"\\)"},{begin:"\\[",end:"\\]"}],contains:[u,m,d]};return d.contains=[i,s,n,l,c,_,p].concat(o),{illegal:/\S/,contains:[r,s,n,c,_,p].concat(o)}}},{name:"scilab",create:function(e){var t=[e.C_NUMBER_MODE,{className:"string",begin:"'|\"",end:"'|\"",contains:[e.BACKSLASH_ESCAPE,{begin:"''"}]}];return{aliases:["sci"],lexemes:/%?\w+/,keywords:{keyword:"abort break case clear catch continue do elseif else endfunction end for function global if pause return resume select try then while",literal:"%f %F %t %T %pi %eps %inf %nan %e %i %z %s",built_in:"abs and acos asin atan ceil cd chdir clearglobal cosh cos cumprod deff disp error exec execstr exists exp eye gettext floor fprintf fread fsolve imag isdef isempty isinfisnan isvector lasterror length load linspace list listfiles log10 log2 log max min msprintf mclose mopen ones or pathconvert poly printf prod pwd rand real round sinh sin size gsort sprintf sqrt strcat strcmps tring sum system tanh tan type typename warning zeros matrix"},illegal:'("|#|/\\*|\\s+/\\w+)',contains:[{className:"function",beginKeywords:"function",end:"$",contains:[e.UNDERSCORE_TITLE_MODE,{className:"params",begin:"\\(",end:"\\)"}]},{begin:"[a-zA-Z_][a-zA-Z_0-9]*('+[\\.']*|[\\.']+)",end:"",relevance:0},{begin:"\\[",end:"\\]'*[\\.']*",relevance:0,contains:t},e.COMMENT("//","$")].concat(t)}}},{name:"scss",create:function(e){var t={className:"variable",begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b"},a={className:"number",begin:"#[0-9A-Fa-f]+"};e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_BLOCK_COMMENT_MODE;return{case_insensitive:!0,illegal:"[=/|']",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"selector-id",begin:"\\#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},{className:"selector-attr",begin:"\\[",end:"\\]",illegal:"$"},{className:"selector-tag",begin:"\\b(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|fieldset|figcaption|figure|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|samp|script|section|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)\\b",relevance:0},{begin:":(visited|valid|root|right|required|read-write|read-only|out-range|optional|only-of-type|only-child|nth-of-type|nth-last-of-type|nth-last-child|nth-child|not|link|left|last-of-type|last-child|lang|invalid|indeterminate|in-range|hover|focus|first-of-type|first-line|first-letter|first-child|first|enabled|empty|disabled|default|checked|before|after|active)"},{begin:"::(after|before|choices|first-letter|first-line|repeat-index|repeat-item|selection|value)"},t,{className:"attribute",begin:"\\b(z-index|word-wrap|word-spacing|word-break|width|widows|white-space|visibility|vertical-align|unicode-bidi|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform|top|text-underline-position|text-transform|text-shadow|text-rendering|text-overflow|text-indent|text-decoration-style|text-decoration-line|text-decoration-color|text-decoration|text-align-last|text-align|tab-size|table-layout|right|resize|quotes|position|pointer-events|perspective-origin|perspective|page-break-inside|page-break-before|page-break-after|padding-top|padding-right|padding-left|padding-bottom|padding|overflow-y|overflow-x|overflow-wrap|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|order|opacity|object-position|object-fit|normal|none|nav-up|nav-right|nav-left|nav-index|nav-down|min-width|min-height|max-width|max-height|mask|marks|margin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style-position|list-style-image|list-style|line-height|letter-spacing|left|justify-content|initial|inherit|ime-mode|image-orientation|image-resolution|image-rendering|icon|hyphens|height|font-weight|font-variant-ligatures|font-variant|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|float|flex-wrap|flex-shrink|flex-grow|flex-flow|flex-direction|flex-basis|flex|filter|empty-cells|display|direction|cursor|counter-reset|counter-increment|content|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|columns|color|clip-path|clip|clear|caption-side|break-inside|break-before|break-after|box-sizing|box-shadow|box-decoration-break|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-left-width|border-left-style|border-left-color|border-left|border-image-width|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-attachment|background-blend-mode|background|backface-visibility|auto|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|align-self|align-items|align-content)\\b",illegal:"[^\\s]"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:":",end:";",contains:[t,a,e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{className:"meta",begin:"!important"}]},{begin:"@",end:"[{;]",keywords:"mixin include extend for if else each while charset import debug media page content font-face namespace warn",contains:[t,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,a,e.CSS_NUMBER_MODE,{begin:"\\s[A-Za-z0-9_.-]+",relevance:0}]}]}}},{name:"shell",create:function(e){return{aliases:["console"],contains:[{className:"meta",begin:"^\\s{0,3}[\\w\\d\\[\\]()@-]*[>%$#]",starts:{end:"$",subLanguage:"bash"}}]}}},{name:"smali",create:function(e){var t=["add","and","cmp","cmpg","cmpl","const","div","double","float","goto","if","int","long","move","mul","neg","new","nop","not","or","rem","return","shl","shr","sput","sub","throw","ushr","xor"],a=["aget","aput","array","check","execute","fill","filled","goto/16","goto/32","iget","instance","invoke","iput","monitor","packed","sget","sparse"],r=["transient","constructor","abstract","final","synthetic","public","private","protected","static","bridge","system"];return{aliases:["smali"],contains:[{className:"string",begin:'"',end:'"',relevance:0},e.COMMENT("#","$",{relevance:0}),{className:"keyword",variants:[{begin:"\\s*\\.end\\s[a-zA-Z0-9]*"},{begin:"^[ ]*\\.[a-zA-Z]*",relevance:0},{begin:"\\s:[a-zA-Z_0-9]*",relevance:0},{begin:"\\s("+r.join("|")+")"}]},{className:"built_in",variants:[{begin:"\\s("+t.join("|")+")\\s"},{begin:"\\s("+t.join("|")+")((\\-|/)[a-zA-Z0-9]+)+\\s",relevance:10},{begin:"\\s("+a.join("|")+")((\\-|/)[a-zA-Z0-9]+)*\\s",relevance:10}]},{className:"class",begin:"L[^(;:\n]*;",relevance:0},{begin:"[vp][0-9]+"}]}}},{name:"smalltalk",create:function(e){var t={className:"string",begin:"\\$.{1}"},a={className:"symbol",begin:"#"+e.UNDERSCORE_IDENT_RE};return{aliases:["st"],keywords:"self super nil true false thisContext",contains:[e.COMMENT('"','"'),e.APOS_STRING_MODE,{className:"type",begin:"\\b[A-Z][A-Za-z0-9_]*",relevance:0},{begin:"[a-z][a-zA-Z0-9_]*:",relevance:0},e.C_NUMBER_MODE,a,t,{begin:"\\|[ ]*[a-z][a-zA-Z0-9_]*([ ]+[a-z][a-zA-Z0-9_]*)*[ ]*\\|",returnBegin:!0,end:/\|/,illegal:/\S/,contains:[{begin:"(\\|[ ]*)?[a-z][a-zA-Z0-9_]*"}]},{begin:"\\#\\(",end:"\\)",contains:[e.APOS_STRING_MODE,t,e.C_NUMBER_MODE,a]}]}}},{name:"sml",create:function(e){return{aliases:["ml"],keywords:{keyword:"abstype and andalso as case datatype do else end eqtype exception fn fun functor handle if in include infix infixr let local nonfix of op open orelse raise rec sharing sig signature struct structure then type val with withtype where while",built_in:"array bool char exn int list option order real ref string substring vector unit word",literal:"true false NONE SOME LESS EQUAL GREATER nil"},illegal:/\/\/|>>/,lexemes:"[a-z_]\\w*!?",contains:[{className:"literal",begin:/\[(\|\|)?\]|\(\)/,relevance:0},e.COMMENT("\\(\\*","\\*\\)",{contains:["self"]}),{className:"symbol",begin:"'[A-Za-z_](?!')[\\w']*"},{className:"type",begin:"`[A-Z][\\w']*"},{className:"type",begin:"\\b[A-Z][\\w']*",relevance:0},{begin:"[a-z_]\\w*'[\\w']*"},e.inherit(e.APOS_STRING_MODE,{className:"string",relevance:0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),{className:"number",begin:"\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)",relevance:0},{begin:/[-=]>/}]}}},{name:"sqf",create:function(e){var t=e.getLanguage("cpp").exports,a={className:"variable",begin:/\b_+[a-zA-Z_]\w*/},r={className:"title",begin:/[a-zA-Z][a-zA-Z0-9]+_fnc_\w*/},i={className:"string",variants:[{begin:'"',end:'"',contains:[{begin:'""',relevance:0}]},{begin:"'",end:"'",contains:[{begin:"''",relevance:0}]}]};return{aliases:["sqf"],case_insensitive:!0,keywords:{keyword:"case catch default do else exit exitWith for forEach from if private switch then throw to try waitUntil while with", +built_in:"abs accTime acos action actionIDs actionKeys actionKeysImages actionKeysNames actionKeysNamesArray actionName actionParams activateAddons activatedAddons activateKey add3DENConnection add3DENEventHandler add3DENLayer addAction addBackpack addBackpackCargo addBackpackCargoGlobal addBackpackGlobal addCamShake addCuratorAddons addCuratorCameraArea addCuratorEditableObjects addCuratorEditingArea addCuratorPoints addEditorObject addEventHandler addForce addGoggles addGroupIcon addHandgunItem addHeadgear addItem addItemCargo addItemCargoGlobal addItemPool addItemToBackpack addItemToUniform addItemToVest addLiveStats addMagazine addMagazineAmmoCargo addMagazineCargo addMagazineCargoGlobal addMagazineGlobal addMagazinePool addMagazines addMagazineTurret addMenu addMenuItem addMissionEventHandler addMPEventHandler addMusicEventHandler addOwnedMine addPlayerScores addPrimaryWeaponItem addPublicVariableEventHandler addRating addResources addScore addScoreSide addSecondaryWeaponItem addSwitchableUnit addTeamMember addToRemainsCollector addTorque addUniform addVehicle addVest addWaypoint addWeapon addWeaponCargo addWeaponCargoGlobal addWeaponGlobal addWeaponItem addWeaponPool addWeaponTurret admin agent agents AGLToASL aimedAtTarget aimPos airDensityRTD airplaneThrottle airportSide AISFinishHeal alive all3DENEntities allAirports allControls allCurators allCutLayers allDead allDeadMen allDisplays allGroups allMapMarkers allMines allMissionObjects allow3DMode allowCrewInImmobile allowCuratorLogicIgnoreAreas allowDamage allowDammage allowFileOperations allowFleeing allowGetIn allowSprint allPlayers allSimpleObjects allSites allTurrets allUnits allUnitsUAV allVariables ammo ammoOnPylon and animate animateBay animateDoor animatePylon animateSource animationNames animationPhase animationSourcePhase animationState append apply armoryPoints arrayIntersect asin ASLToAGL ASLToATL assert assignAsCargo assignAsCargoIndex assignAsCommander assignAsDriver assignAsGunner assignAsTurret assignCurator assignedCargo assignedCommander assignedDriver assignedGunner assignedItems assignedTarget assignedTeam assignedVehicle assignedVehicleRole assignItem assignTeam assignToAirport atan atan2 atg ATLToASL attachedObject attachedObjects attachedTo attachObject attachTo attackEnabled backpack backpackCargo backpackContainer backpackItems backpackMagazines backpackSpaceFor behaviour benchmark binocular boundingBox boundingBoxReal boundingCenter breakOut breakTo briefingName buildingExit buildingPos buttonAction buttonSetAction cadetMode call callExtension camCommand camCommit camCommitPrepared camCommitted camConstuctionSetParams camCreate camDestroy cameraEffect cameraEffectEnableHUD cameraInterest cameraOn cameraView campaignConfigFile camPreload camPreloaded camPrepareBank camPrepareDir camPrepareDive camPrepareFocus camPrepareFov camPrepareFovRange camPreparePos camPrepareRelPos camPrepareTarget camSetBank camSetDir camSetDive camSetFocus camSetFov camSetFovRange camSetPos camSetRelPos camSetTarget camTarget camUseNVG canAdd canAddItemToBackpack canAddItemToUniform canAddItemToVest cancelSimpleTaskDestination canFire canMove canSlingLoad canStand canSuspend canTriggerDynamicSimulation canUnloadInCombat canVehicleCargo captive captiveNum cbChecked cbSetChecked ceil channelEnabled cheatsEnabled checkAIFeature checkVisibility className clearAllItemsFromBackpack clearBackpackCargo clearBackpackCargoGlobal clearGroupIcons clearItemCargo clearItemCargoGlobal clearItemPool clearMagazineCargo clearMagazineCargoGlobal clearMagazinePool clearOverlay clearRadio clearWeaponCargo clearWeaponCargoGlobal clearWeaponPool clientOwner closeDialog closeDisplay closeOverlay collapseObjectTree collect3DENHistory collectiveRTD combatMode commandArtilleryFire commandChat commander commandFire commandFollow commandFSM commandGetOut commandingMenu commandMove commandRadio commandStop commandSuppressiveFire commandTarget commandWatch comment commitOverlay compile compileFinal completedFSM composeText configClasses configFile configHierarchy configName configProperties configSourceAddonList configSourceMod configSourceModList confirmSensorTarget connectTerminalToUAV controlsGroupCtrl copyFromClipboard copyToClipboard copyWaypoints cos count countEnemy countFriendly countSide countType countUnknown create3DENComposition create3DENEntity createAgent createCenter createDialog createDiaryLink createDiaryRecord createDiarySubject createDisplay createGearDialog createGroup createGuardedPoint createLocation createMarker createMarkerLocal createMenu createMine createMissionDisplay createMPCampaignDisplay createSimpleObject createSimpleTask createSite createSoundSource createTask createTeam createTrigger createUnit createVehicle createVehicleCrew createVehicleLocal crew ctAddHeader ctAddRow ctClear ctCurSel ctData ctFindHeaderRows ctFindRowHeader ctHeaderControls ctHeaderCount ctRemoveHeaders ctRemoveRows ctrlActivate ctrlAddEventHandler ctrlAngle ctrlAutoScrollDelay ctrlAutoScrollRewind ctrlAutoScrollSpeed ctrlChecked ctrlClassName ctrlCommit ctrlCommitted ctrlCreate ctrlDelete ctrlEnable ctrlEnabled ctrlFade ctrlHTMLLoaded ctrlIDC ctrlIDD ctrlMapAnimAdd ctrlMapAnimClear ctrlMapAnimCommit ctrlMapAnimDone ctrlMapCursor ctrlMapMouseOver ctrlMapScale ctrlMapScreenToWorld ctrlMapWorldToScreen ctrlModel ctrlModelDirAndUp ctrlModelScale ctrlParent ctrlParentControlsGroup ctrlPosition ctrlRemoveAllEventHandlers ctrlRemoveEventHandler ctrlScale ctrlSetActiveColor ctrlSetAngle ctrlSetAutoScrollDelay ctrlSetAutoScrollRewind ctrlSetAutoScrollSpeed ctrlSetBackgroundColor ctrlSetChecked ctrlSetEventHandler ctrlSetFade ctrlSetFocus ctrlSetFont ctrlSetFontH1 ctrlSetFontH1B ctrlSetFontH2 ctrlSetFontH2B ctrlSetFontH3 ctrlSetFontH3B ctrlSetFontH4 ctrlSetFontH4B ctrlSetFontH5 ctrlSetFontH5B ctrlSetFontH6 ctrlSetFontH6B ctrlSetFontHeight ctrlSetFontHeightH1 ctrlSetFontHeightH2 ctrlSetFontHeightH3 ctrlSetFontHeightH4 ctrlSetFontHeightH5 ctrlSetFontHeightH6 ctrlSetFontHeightSecondary ctrlSetFontP ctrlSetFontPB ctrlSetFontSecondary ctrlSetForegroundColor ctrlSetModel ctrlSetModelDirAndUp ctrlSetModelScale ctrlSetPixelPrecision ctrlSetPosition ctrlSetScale ctrlSetStructuredText ctrlSetText ctrlSetTextColor ctrlSetTooltip ctrlSetTooltipColorBox ctrlSetTooltipColorShade ctrlSetTooltipColorText ctrlShow ctrlShown ctrlText ctrlTextHeight ctrlTextWidth ctrlType ctrlVisible ctRowControls ctRowCount ctSetCurSel ctSetData ctSetHeaderTemplate ctSetRowTemplate ctSetValue ctValue curatorAddons curatorCamera curatorCameraArea curatorCameraAreaCeiling curatorCoef curatorEditableObjects curatorEditingArea curatorEditingAreaType curatorMouseOver curatorPoints curatorRegisteredObjects curatorSelected curatorWaypointCost current3DENOperation currentChannel currentCommand currentMagazine currentMagazineDetail currentMagazineDetailTurret currentMagazineTurret currentMuzzle currentNamespace currentTask currentTasks currentThrowable currentVisionMode currentWaypoint currentWeapon currentWeaponMode currentWeaponTurret currentZeroing cursorObject cursorTarget customChat customRadio cutFadeOut cutObj cutRsc cutText damage date dateToNumber daytime deActivateKey debriefingText debugFSM debugLog deg delete3DENEntities deleteAt deleteCenter deleteCollection deleteEditorObject deleteGroup deleteGroupWhenEmpty deleteIdentity deleteLocation deleteMarker deleteMarkerLocal deleteRange deleteResources deleteSite deleteStatus deleteTeam deleteVehicle deleteVehicleCrew deleteWaypoint detach detectedMines diag_activeMissionFSMs diag_activeScripts diag_activeSQFScripts diag_activeSQSScripts diag_captureFrame diag_captureFrameToFile diag_captureSlowFrame diag_codePerformance diag_drawMode diag_enable diag_enabled diag_fps diag_fpsMin diag_frameNo diag_lightNewLoad diag_list diag_log diag_logSlowFrame diag_mergeConfigFile diag_recordTurretLimits diag_setLightNew diag_tickTime diag_toggle dialog diarySubjectExists didJIP didJIPOwner difficulty difficultyEnabled difficultyEnabledRTD difficultyOption direction directSay disableAI disableCollisionWith disableConversation disableDebriefingStats disableMapIndicators disableNVGEquipment disableRemoteSensors disableSerialization disableTIEquipment disableUAVConnectability disableUserInput displayAddEventHandler displayCtrl displayParent displayRemoveAllEventHandlers displayRemoveEventHandler displaySetEventHandler dissolveTeam distance distance2D distanceSqr distributionRegion do3DENAction doArtilleryFire doFire doFollow doFSM doGetOut doMove doorPhase doStop doSuppressiveFire doTarget doWatch drawArrow drawEllipse drawIcon drawIcon3D drawLine drawLine3D drawLink drawLocation drawPolygon drawRectangle drawTriangle driver drop dynamicSimulationDistance dynamicSimulationDistanceCoef dynamicSimulationEnabled dynamicSimulationSystemEnabled echo edit3DENMissionAttributes editObject editorSetEventHandler effectiveCommander emptyPositions enableAI enableAIFeature enableAimPrecision enableAttack enableAudioFeature enableAutoStartUpRTD enableAutoTrimRTD enableCamShake enableCaustics enableChannel enableCollisionWith enableCopilot enableDebriefingStats enableDiagLegend enableDynamicSimulation enableDynamicSimulationSystem enableEndDialog enableEngineArtillery enableEnvironment enableFatigue enableGunLights enableInfoPanelComponent enableIRLasers enableMimics enablePersonTurret enableRadio enableReload enableRopeAttach enableSatNormalOnDetail enableSaving enableSentences enableSimulation enableSimulationGlobal enableStamina enableTeamSwitch enableTraffic enableUAVConnectability enableUAVWaypoints enableVehicleCargo enableVehicleSensor enableWeaponDisassembly endLoadingScreen endMission engineOn enginesIsOnRTD enginesRpmRTD enginesTorqueRTD entities environmentEnabled estimatedEndServerTime estimatedTimeLeft evalObjectArgument everyBackpack everyContainer exec execEditorScript execFSM execVM exp expectedDestination exportJIPMessages eyeDirection eyePos face faction fadeMusic fadeRadio fadeSound fadeSpeech failMission fillWeaponsFromPool find findCover findDisplay findEditorObject findEmptyPosition findEmptyPositionReady findIf findNearestEnemy finishMissionInit finite fire fireAtTarget firstBackpack flag flagAnimationPhase flagOwner flagSide flagTexture fleeing floor flyInHeight flyInHeightASL fog fogForecast fogParams forceAddUniform forcedMap forceEnd forceFlagTexture forceFollowRoad forceMap forceRespawn forceSpeed forceWalk forceWeaponFire forceWeatherChange forEachMember forEachMemberAgent forEachMemberTeam forgetTarget format formation formationDirection formationLeader formationMembers formationPosition formationTask formatText formLeader freeLook fromEditor fuel fullCrew gearIDCAmmoCount gearSlotAmmoCount gearSlotData get3DENActionState get3DENAttribute get3DENCamera get3DENConnections get3DENEntity get3DENEntityID get3DENGrid get3DENIconsVisible get3DENLayerEntities get3DENLinesVisible get3DENMissionAttribute get3DENMouseOver get3DENSelected getAimingCoef getAllEnvSoundControllers getAllHitPointsDamage getAllOwnedMines getAllSoundControllers getAmmoCargo getAnimAimPrecision getAnimSpeedCoef getArray getArtilleryAmmo getArtilleryComputerSettings getArtilleryETA getAssignedCuratorLogic getAssignedCuratorUnit getBackpackCargo getBleedingRemaining getBurningValue getCameraViewDirection getCargoIndex getCenterOfMass getClientState getClientStateNumber getCompatiblePylonMagazines getConnectedUAV getContainerMaxLoad getCursorObjectParams getCustomAimCoef getDammage getDescription getDir getDirVisual getDLCAssetsUsage getDLCAssetsUsageByName getDLCs getEditorCamera getEditorMode getEditorObjectScope getElevationOffset getEnvSoundController getFatigue getForcedFlagTexture getFriend getFSMVariable getFuelCargo getGroupIcon getGroupIconParams getGroupIcons getHideFrom getHit getHitIndex getHitPointDamage getItemCargo getMagazineCargo getMarkerColor getMarkerPos getMarkerSize getMarkerType getMass getMissionConfig getMissionConfigValue getMissionDLCs getMissionLayerEntities getModelInfo getMousePosition getMusicPlayedTime getNumber getObjectArgument getObjectChildren getObjectDLC getObjectMaterials getObjectProxy getObjectTextures getObjectType getObjectViewDistance getOxygenRemaining getPersonUsedDLCs getPilotCameraDirection getPilotCameraPosition getPilotCameraRotation getPilotCameraTarget getPlateNumber getPlayerChannel getPlayerScores getPlayerUID getPos getPosASL getPosASLVisual getPosASLW getPosATL getPosATLVisual getPosVisual getPosWorld getPylonMagazines getRelDir getRelPos getRemoteSensorsDisabled getRepairCargo getResolution getShadowDistance getShotParents getSlingLoad getSoundController getSoundControllerResult getSpeed getStamina getStatValue getSuppression getTerrainGrid getTerrainHeightASL getText getTotalDLCUsageTime getUnitLoadout getUnitTrait getUserMFDText getUserMFDvalue getVariable getVehicleCargo getWeaponCargo getWeaponSway getWingsOrientationRTD getWingsPositionRTD getWPPos glanceAt globalChat globalRadio goggles goto group groupChat groupFromNetId groupIconSelectable groupIconsVisible groupId groupOwner groupRadio groupSelectedUnits groupSelectUnit gunner gusts halt handgunItems handgunMagazine handgunWeapon handsHit hasInterface hasPilotCamera hasWeapon hcAllGroups hcGroupParams hcLeader hcRemoveAllGroups hcRemoveGroup hcSelected hcSelectGroup hcSetGroup hcShowBar hcShownBar headgear hideBody hideObject hideObjectGlobal hideSelection hint hintC hintCadet hintSilent hmd hostMission htmlLoad HUDMovementLevels humidity image importAllGroups importance in inArea inAreaArray incapacitatedState inflame inflamed infoPanel infoPanelComponentEnabled infoPanelComponents infoPanels inGameUISetEventHandler inheritsFrom initAmbientLife inPolygon inputAction inRangeOfArtillery insertEditorObject intersect is3DEN is3DENMultiplayer isAbleToBreathe isAgent isArray isAutoHoverOn isAutonomous isAutotest isBleeding isBurning isClass isCollisionLightOn isCopilotEnabled isDamageAllowed isDedicated isDLCAvailable isEngineOn isEqualTo isEqualType isEqualTypeAll isEqualTypeAny isEqualTypeArray isEqualTypeParams isFilePatchingEnabled isFlashlightOn isFlatEmpty isForcedWalk isFormationLeader isGroupDeletedWhenEmpty isHidden isInRemainsCollector isInstructorFigureEnabled isIRLaserOn isKeyActive isKindOf isLaserOn isLightOn isLocalized isManualFire isMarkedForCollection isMultiplayer isMultiplayerSolo isNil isNull isNumber isObjectHidden isObjectRTD isOnRoad isPipEnabled isPlayer isRealTime isRemoteExecuted isRemoteExecutedJIP isServer isShowing3DIcons isSimpleObject isSprintAllowed isStaminaEnabled isSteamMission isStreamFriendlyUIEnabled isText isTouchingGround isTurnedOut isTutHintsEnabled isUAVConnectable isUAVConnected isUIContext isUniformAllowed isVehicleCargo isVehicleRadarOn isVehicleSensorEnabled isWalking isWeaponDeployed isWeaponRested itemCargo items itemsWithMagazines join joinAs joinAsSilent joinSilent joinString kbAddDatabase kbAddDatabaseTargets kbAddTopic kbHasTopic kbReact kbRemoveTopic kbTell kbWasSaid keyImage keyName knowsAbout land landAt landResult language laserTarget lbAdd lbClear lbColor lbColorRight lbCurSel lbData lbDelete lbIsSelected lbPicture lbPictureRight lbSelection lbSetColor lbSetColorRight lbSetCurSel lbSetData lbSetPicture lbSetPictureColor lbSetPictureColorDisabled lbSetPictureColorSelected lbSetPictureRight lbSetPictureRightColor lbSetPictureRightColorDisabled lbSetPictureRightColorSelected lbSetSelectColor lbSetSelectColorRight lbSetSelected lbSetText lbSetTextRight lbSetTooltip lbSetValue lbSize lbSort lbSortByValue lbText lbTextRight lbValue leader leaderboardDeInit leaderboardGetRows leaderboardInit leaderboardRequestRowsFriends leaderboardsRequestUploadScore leaderboardsRequestUploadScoreKeepBest leaderboardState leaveVehicle libraryCredits libraryDisclaimers lifeState lightAttachObject lightDetachObject lightIsOn lightnings limitSpeed linearConversion lineIntersects lineIntersectsObjs lineIntersectsSurfaces lineIntersectsWith linkItem list listObjects listRemoteTargets listVehicleSensors ln lnbAddArray lnbAddColumn lnbAddRow lnbClear lnbColor lnbCurSelRow lnbData lnbDeleteColumn lnbDeleteRow lnbGetColumnsPosition lnbPicture lnbSetColor lnbSetColumnsPos lnbSetCurSelRow lnbSetData lnbSetPicture lnbSetText lnbSetValue lnbSize lnbSort lnbSortByValue lnbText lnbValue load loadAbs loadBackpack loadFile loadGame loadIdentity loadMagazine loadOverlay loadStatus loadUniform loadVest local localize locationPosition lock lockCameraTo lockCargo lockDriver locked lockedCargo lockedDriver lockedTurret lockIdentity lockTurret lockWP log logEntities logNetwork logNetworkTerminate lookAt lookAtPos magazineCargo magazines magazinesAllTurrets magazinesAmmo magazinesAmmoCargo magazinesAmmoFull magazinesDetail magazinesDetailBackpack magazinesDetailUniform magazinesDetailVest magazinesTurret magazineTurretAmmo mapAnimAdd mapAnimClear mapAnimCommit mapAnimDone mapCenterOnCamera mapGridPosition markAsFinishedOnSteam markerAlpha markerBrush markerColor markerDir markerPos markerShape markerSize markerText markerType max members menuAction menuAdd menuChecked menuClear menuCollapse menuData menuDelete menuEnable menuEnabled menuExpand menuHover menuPicture menuSetAction menuSetCheck menuSetData menuSetPicture menuSetValue menuShortcut menuShortcutText menuSize menuSort menuText menuURL menuValue min mineActive mineDetectedBy missionConfigFile missionDifficulty missionName missionNamespace missionStart missionVersion mod modelToWorld modelToWorldVisual modelToWorldVisualWorld modelToWorldWorld modParams moonIntensity moonPhase morale move move3DENCamera moveInAny moveInCargo moveInCommander moveInDriver moveInGunner moveInTurret moveObjectToEnd moveOut moveTime moveTo moveToCompleted moveToFailed musicVolume name nameSound nearEntities nearestBuilding nearestLocation nearestLocations nearestLocationWithDubbing nearestObject nearestObjects nearestTerrainObjects nearObjects nearObjectsReady nearRoads nearSupplies nearTargets needReload netId netObjNull newOverlay nextMenuItemIndex nextWeatherChange nMenuItems not numberOfEnginesRTD numberToDate objectCurators objectFromNetId objectParent objStatus onBriefingGroup onBriefingNotes onBriefingPlan onBriefingTeamSwitch onCommandModeChanged onDoubleClick onEachFrame onGroupIconClick onGroupIconOverEnter onGroupIconOverLeave onHCGroupSelectionChanged onMapSingleClick onPlayerConnected onPlayerDisconnected onPreloadFinished onPreloadStarted onShowNewObject onTeamSwitch openCuratorInterface openDLCPage openMap openSteamApp openYoutubeVideo or orderGetIn overcast overcastForecast owner param params parseNumber parseSimpleArray parseText parsingNamespace particlesQuality pickWeaponPool pitch pixelGrid pixelGridBase pixelGridNoUIScale pixelH pixelW playableSlotsNumber playableUnits playAction playActionNow player playerRespawnTime playerSide playersNumber playGesture playMission playMove playMoveNow playMusic playScriptedMission playSound playSound3D position positionCameraToWorld posScreenToWorld posWorldToScreen ppEffectAdjust ppEffectCommit ppEffectCommitted ppEffectCreate ppEffectDestroy ppEffectEnable ppEffectEnabled ppEffectForceInNVG precision preloadCamera preloadObject preloadSound preloadTitleObj preloadTitleRsc preprocessFile preprocessFileLineNumbers primaryWeapon primaryWeaponItems primaryWeaponMagazine priority processDiaryLink productVersion profileName profileNamespace profileNameSteam progressLoadingScreen progressPosition progressSetPosition publicVariable publicVariableClient publicVariableServer pushBack pushBackUnique putWeaponPool queryItemsPool queryMagazinePool queryWeaponPool rad radioChannelAdd radioChannelCreate radioChannelRemove radioChannelSetCallSign radioChannelSetLabel radioVolume rain rainbow random rank rankId rating rectangular registeredTasks registerTask reload reloadEnabled remoteControl remoteExec remoteExecCall remoteExecutedOwner remove3DENConnection remove3DENEventHandler remove3DENLayer removeAction removeAll3DENEventHandlers removeAllActions removeAllAssignedItems removeAllContainers removeAllCuratorAddons removeAllCuratorCameraAreas removeAllCuratorEditingAreas removeAllEventHandlers removeAllHandgunItems removeAllItems removeAllItemsWithMagazines removeAllMissionEventHandlers removeAllMPEventHandlers removeAllMusicEventHandlers removeAllOwnedMines removeAllPrimaryWeaponItems removeAllWeapons removeBackpack removeBackpackGlobal removeCuratorAddons removeCuratorCameraArea removeCuratorEditableObjects removeCuratorEditingArea removeDrawIcon removeDrawLinks removeEventHandler removeFromRemainsCollector removeGoggles removeGroupIcon removeHandgunItem removeHeadgear removeItem removeItemFromBackpack removeItemFromUniform removeItemFromVest removeItems removeMagazine removeMagazineGlobal removeMagazines removeMagazinesTurret removeMagazineTurret removeMenuItem removeMissionEventHandler removeMPEventHandler removeMusicEventHandler removeOwnedMine removePrimaryWeaponItem removeSecondaryWeaponItem removeSimpleTask removeSwitchableUnit removeTeamMember removeUniform removeVest removeWeapon removeWeaponAttachmentCargo removeWeaponCargo removeWeaponGlobal removeWeaponTurret reportRemoteTarget requiredVersion resetCamShake resetSubgroupDirection resize resources respawnVehicle restartEditorCamera reveal revealMine reverse reversedMouseY roadAt roadsConnectedTo roleDescription ropeAttachedObjects ropeAttachedTo ropeAttachEnabled ropeAttachTo ropeCreate ropeCut ropeDestroy ropeDetach ropeEndPosition ropeLength ropes ropeUnwind ropeUnwound rotorsForcesRTD rotorsRpmRTD round runInitScript safeZoneH safeZoneW safeZoneWAbs safeZoneX safeZoneXAbs safeZoneY save3DENInventory saveGame saveIdentity saveJoysticks saveOverlay saveProfileNamespace saveStatus saveVar savingEnabled say say2D say3D scopeName score scoreSide screenshot screenToWorld scriptDone scriptName scudState secondaryWeapon secondaryWeaponItems secondaryWeaponMagazine select selectBestPlaces selectDiarySubject selectedEditorObjects selectEditorObject selectionNames selectionPosition selectLeader selectMax selectMin selectNoPlayer selectPlayer selectRandom selectRandomWeighted selectWeapon selectWeaponTurret sendAUMessage sendSimpleCommand sendTask sendTaskResult sendUDPMessage serverCommand serverCommandAvailable serverCommandExecutable serverName serverTime set set3DENAttribute set3DENAttributes set3DENGrid set3DENIconsVisible set3DENLayer set3DENLinesVisible set3DENLogicType set3DENMissionAttribute set3DENMissionAttributes set3DENModelsVisible set3DENObjectType set3DENSelected setAccTime setActualCollectiveRTD setAirplaneThrottle setAirportSide setAmmo setAmmoCargo setAmmoOnPylon setAnimSpeedCoef setAperture setApertureNew setArmoryPoints setAttributes setAutonomous setBehaviour setBleedingRemaining setBrakesRTD setCameraInterest setCamShakeDefParams setCamShakeParams setCamUseTI setCaptive setCenterOfMass setCollisionLight setCombatMode setCompassOscillation setConvoySeparation setCuratorCameraAreaCeiling setCuratorCoef setCuratorEditingAreaType setCuratorWaypointCost setCurrentChannel setCurrentTask setCurrentWaypoint setCustomAimCoef setCustomWeightRTD setDamage setDammage setDate setDebriefingText setDefaultCamera setDestination setDetailMapBlendPars setDir setDirection setDrawIcon setDriveOnPath setDropInterval setDynamicSimulationDistance setDynamicSimulationDistanceCoef setEditorMode setEditorObjectScope setEffectCondition setEngineRPMRTD setFace setFaceAnimation setFatigue setFeatureType setFlagAnimationPhase setFlagOwner setFlagSide setFlagTexture setFog setFormation setFormationTask setFormDir setFriend setFromEditor setFSMVariable setFuel setFuelCargo setGroupIcon setGroupIconParams setGroupIconsSelectable setGroupIconsVisible setGroupId setGroupIdGlobal setGroupOwner setGusts setHideBehind setHit setHitIndex setHitPointDamage setHorizonParallaxCoef setHUDMovementLevels setIdentity setImportance setInfoPanel setLeader setLightAmbient setLightAttenuation setLightBrightness setLightColor setLightDayLight setLightFlareMaxDistance setLightFlareSize setLightIntensity setLightnings setLightUseFlare setLocalWindParams setMagazineTurretAmmo setMarkerAlpha setMarkerAlphaLocal setMarkerBrush setMarkerBrushLocal setMarkerColor setMarkerColorLocal setMarkerDir setMarkerDirLocal setMarkerPos setMarkerPosLocal setMarkerShape setMarkerShapeLocal setMarkerSize setMarkerSizeLocal setMarkerText setMarkerTextLocal setMarkerType setMarkerTypeLocal setMass setMimic setMousePosition setMusicEffect setMusicEventHandler setName setNameSound setObjectArguments setObjectMaterial setObjectMaterialGlobal setObjectProxy setObjectTexture setObjectTextureGlobal setObjectViewDistance setOvercast setOwner setOxygenRemaining setParticleCircle setParticleClass setParticleFire setParticleParams setParticleRandom setPilotCameraDirection setPilotCameraRotation setPilotCameraTarget setPilotLight setPiPEffect setPitch setPlateNumber setPlayable setPlayerRespawnTime setPos setPosASL setPosASL2 setPosASLW setPosATL setPosition setPosWorld setPylonLoadOut setPylonsPriority setRadioMsg setRain setRainbow setRandomLip setRank setRectangular setRepairCargo setRotorBrakeRTD setShadowDistance setShotParents setSide setSimpleTaskAlwaysVisible setSimpleTaskCustomData setSimpleTaskDescription setSimpleTaskDestination setSimpleTaskTarget setSimpleTaskType setSimulWeatherLayers setSize setSkill setSlingLoad setSoundEffect setSpeaker setSpeech setSpeedMode setStamina setStaminaScheme setStatValue setSuppression setSystemOfUnits setTargetAge setTaskMarkerOffset setTaskResult setTaskState setTerrainGrid setText setTimeMultiplier setTitleEffect setTrafficDensity setTrafficDistance setTrafficGap setTrafficSpeed setTriggerActivation setTriggerArea setTriggerStatements setTriggerText setTriggerTimeout setTriggerType setType setUnconscious setUnitAbility setUnitLoadout setUnitPos setUnitPosWeak setUnitRank setUnitRecoilCoefficient setUnitTrait setUnloadInCombat setUserActionText setUserMFDText setUserMFDvalue setVariable setVectorDir setVectorDirAndUp setVectorUp setVehicleAmmo setVehicleAmmoDef setVehicleArmor setVehicleCargo setVehicleId setVehicleLock setVehiclePosition setVehicleRadar setVehicleReceiveRemoteTargets setVehicleReportOwnPosition setVehicleReportRemoteTargets setVehicleTIPars setVehicleVarName setVelocity setVelocityModelSpace setVelocityTransformation setViewDistance setVisibleIfTreeCollapsed setWantedRPMRTD setWaves setWaypointBehaviour setWaypointCombatMode setWaypointCompletionRadius setWaypointDescription setWaypointForceBehaviour setWaypointFormation setWaypointHousePosition setWaypointLoiterRadius setWaypointLoiterType setWaypointName setWaypointPosition setWaypointScript setWaypointSpeed setWaypointStatements setWaypointTimeout setWaypointType setWaypointVisible setWeaponReloadingTime setWind setWindDir setWindForce setWindStr setWingForceScaleRTD setWPPos show3DIcons showChat showCinemaBorder showCommandingMenu showCompass showCuratorCompass showGPS showHUD showLegend showMap shownArtilleryComputer shownChat shownCompass shownCuratorCompass showNewEditorObject shownGPS shownHUD shownMap shownPad shownRadio shownScoretable shownUAVFeed shownWarrant shownWatch showPad showRadio showScoretable showSubtitles showUAVFeed showWarrant showWatch showWaypoint showWaypoints side sideChat sideEnemy sideFriendly sideRadio simpleTasks simulationEnabled simulCloudDensity simulCloudOcclusion simulInClouds simulWeatherSync sin size sizeOf skill skillFinal skipTime sleep sliderPosition sliderRange sliderSetPosition sliderSetRange sliderSetSpeed sliderSpeed slingLoadAssistantShown soldierMagazines someAmmo sort soundVolume spawn speaker speed speedMode splitString sqrt squadParams stance startLoadingScreen step stop stopEngineRTD stopped str sunOrMoon supportInfo suppressFor surfaceIsWater surfaceNormal surfaceType swimInDepth switchableUnits switchAction switchCamera switchGesture switchLight switchMove synchronizedObjects synchronizedTriggers synchronizedWaypoints synchronizeObjectsAdd synchronizeObjectsRemove synchronizeTrigger synchronizeWaypoint systemChat systemOfUnits tan targetKnowledge targets targetsAggregate targetsQuery taskAlwaysVisible taskChildren taskCompleted taskCustomData taskDescription taskDestination taskHint taskMarkerOffset taskParent taskResult taskState taskType teamMember teamName teams teamSwitch teamSwitchEnabled teamType terminate terrainIntersect terrainIntersectASL terrainIntersectAtASL text textLog textLogFormat tg time timeMultiplier titleCut titleFadeOut titleObj titleRsc titleText toArray toFixed toLower toString toUpper triggerActivated triggerActivation triggerArea triggerAttachedVehicle triggerAttachObject triggerAttachVehicle triggerDynamicSimulation triggerStatements triggerText triggerTimeout triggerTimeoutCurrent triggerType turretLocal turretOwner turretUnit tvAdd tvClear tvCollapse tvCollapseAll tvCount tvCurSel tvData tvDelete tvExpand tvExpandAll tvPicture tvSetColor tvSetCurSel tvSetData tvSetPicture tvSetPictureColor tvSetPictureColorDisabled tvSetPictureColorSelected tvSetPictureRight tvSetPictureRightColor tvSetPictureRightColorDisabled tvSetPictureRightColorSelected tvSetText tvSetTooltip tvSetValue tvSort tvSortByValue tvText tvTooltip tvValue type typeName typeOf UAVControl uiNamespace uiSleep unassignCurator unassignItem unassignTeam unassignVehicle underwater uniform uniformContainer uniformItems uniformMagazines unitAddons unitAimPosition unitAimPositionVisual unitBackpack unitIsUAV unitPos unitReady unitRecoilCoefficient units unitsBelowHeight unlinkItem unlockAchievement unregisterTask updateDrawIcon updateMenuItem updateObjectTree useAISteeringComponent useAudioTimeForMoves userInputDisabled vectorAdd vectorCos vectorCrossProduct vectorDiff vectorDir vectorDirVisual vectorDistance vectorDistanceSqr vectorDotProduct vectorFromTo vectorMagnitude vectorMagnitudeSqr vectorModelToWorld vectorModelToWorldVisual vectorMultiply vectorNormalized vectorUp vectorUpVisual vectorWorldToModel vectorWorldToModelVisual vehicle vehicleCargoEnabled vehicleChat vehicleRadio vehicleReceiveRemoteTargets vehicleReportOwnPosition vehicleReportRemoteTargets vehicles vehicleVarName velocity velocityModelSpace verifySignature vest vestContainer vestItems vestMagazines viewDistance visibleCompass visibleGPS visibleMap visiblePosition visiblePositionASL visibleScoretable visibleWatch waves waypointAttachedObject waypointAttachedVehicle waypointAttachObject waypointAttachVehicle waypointBehaviour waypointCombatMode waypointCompletionRadius waypointDescription waypointForceBehaviour waypointFormation waypointHousePosition waypointLoiterRadius waypointLoiterType waypointName waypointPosition waypoints waypointScript waypointsEnabledUAV waypointShow waypointSpeed waypointStatements waypointTimeout waypointTimeoutCurrent waypointType waypointVisible weaponAccessories weaponAccessoriesCargo weaponCargo weaponDirection weaponInertia weaponLowered weapons weaponsItems weaponsItemsCargo weaponState weaponsTurret weightRTD WFSideText wind ",literal:"blufor civilian configNull controlNull displayNull east endl false grpNull independent lineBreak locationNull nil objNull opfor pi resistance scriptNull sideAmbientLife sideEmpty sideLogic sideUnknown taskNull teamMemberNull true west"},contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.NUMBER_MODE,a,r,i,t.preprocessor],illegal:/#|^\$ /}}},{name:"sql",create:function(e){var t=e.COMMENT("--","$");return{case_insensitive:!0,illegal:/[<>{}*]/,contains:[{beginKeywords:"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke comment values with",end:/;/,endsWithParent:!0,lexemes:/[\w\.]+/,keywords:{ +keyword:"as abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias all allocate allow alter always analyze ancillary and anti any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound bucket buffer_cache buffer_pool build bulk by byte byteordermark bytes cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain explode export export_set extended extent external external_1 external_2 externally extract failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force foreign form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour hours http id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists keep keep_duplicates key keys kill language large last last_day last_insert_id last_value lateral lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minutes minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notnull notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second seconds section securefile security seed segment select self semi sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime table tables tablespace tablesample tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unnest unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace window with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek",literal:"true false null unknown",built_in:"array bigint binary bit blob bool boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text time timestamp tinyint varchar varying void"},contains:[{className:"string",begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE,{begin:"''"}]},{className:"string",begin:'"',end:'"',contains:[e.BACKSLASH_ESCAPE,{begin:'""'}]},{className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,t,e.HASH_COMMENT_MODE]},e.C_BLOCK_COMMENT_MODE,t,e.HASH_COMMENT_MODE]}}},{name:"stan",create:function(e){return{contains:[e.HASH_COMMENT_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:e.UNDERSCORE_IDENT_RE,lexemes:e.UNDERSCORE_IDENT_RE,keywords:{name:"for in while repeat until if then else",symbol:"bernoulli bernoulli_logit binomial binomial_logit beta_binomial hypergeometric categorical categorical_logit ordered_logistic neg_binomial neg_binomial_2 neg_binomial_2_log poisson poisson_log multinomial normal exp_mod_normal skew_normal student_t cauchy double_exponential logistic gumbel lognormal chi_square inv_chi_square scaled_inv_chi_square exponential inv_gamma weibull frechet rayleigh wiener pareto pareto_type_2 von_mises uniform multi_normal multi_normal_prec multi_normal_cholesky multi_gp multi_gp_cholesky multi_student_t gaussian_dlm_obs dirichlet lkj_corr lkj_corr_cholesky wishart inv_wishart","selector-tag":"int real vector simplex unit_vector ordered positive_ordered row_vector matrix cholesky_factor_corr cholesky_factor_cov corr_matrix cov_matrix",title:"functions model data parameters quantities transformed generated",literal:"true false"},relevance:0},{className:"number",begin:"0[xX][0-9a-fA-F]+[Li]?\\b",relevance:0},{className:"number",begin:"0[xX][0-9a-fA-F]+[Li]?\\b",relevance:0},{className:"number",begin:"\\d+(?:[eE][+\\-]?\\d*)?L\\b",relevance:0},{className:"number",begin:"\\d+\\.(?!\\d)(?:i\\b)?",relevance:0},{className:"number",begin:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",relevance:0},{className:"number",begin:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",relevance:0}]}}},{name:"stata",create:function(e){return{aliases:["do","ado"],case_insensitive:!0,keywords:"if else in foreach for forv forva forval forvalu forvalue forvalues by bys bysort xi quietly qui capture about ac ac_7 acprplot acprplot_7 adjust ado adopath adoupdate alpha ameans an ano anov anova anova_estat anova_terms anovadef aorder ap app appe appen append arch arch_dr arch_estat arch_p archlm areg areg_p args arima arima_dr arima_estat arima_p as asmprobit asmprobit_estat asmprobit_lf asmprobit_mfx__dlg asmprobit_p ass asse asser assert avplot avplot_7 avplots avplots_7 bcskew0 bgodfrey bias binreg bip0_lf biplot bipp_lf bipr_lf bipr_p biprobit bitest bitesti bitowt blogit bmemsize boot bootsamp bootstrap bootstrap_8 boxco_l boxco_p boxcox boxcox_6 boxcox_p bprobit br break brier bro brow brows browse brr brrstat bs bs_7 bsampl_w bsample bsample_7 bsqreg bstat bstat_7 bstat_8 bstrap bstrap_7 bubble bubbleplot ca ca_estat ca_p cabiplot camat canon canon_8 canon_8_p canon_estat canon_p cap caprojection capt captu captur capture cat cc cchart cchart_7 cci cd censobs_table centile cf char chdir checkdlgfiles checkestimationsample checkhlpfiles checksum chelp ci cii cl class classutil clear cli clis clist clo clog clog_lf clog_p clogi clogi_sw clogit clogit_lf clogit_p clogitp clogl_sw cloglog clonevar clslistarray cluster cluster_measures cluster_stop cluster_tree cluster_tree_8 clustermat cmdlog cnr cnre cnreg cnreg_p cnreg_sw cnsreg codebook collaps4 collapse colormult_nb colormult_nw compare compress conf confi confir confirm conren cons const constr constra constrai constrain constraint continue contract copy copyright copysource cor corc corr corr2data corr_anti corr_kmo corr_smc corre correl correla correlat correlate corrgram cou coun count cox cox_p cox_sw coxbase coxhaz coxvar cprplot cprplot_7 crc cret cretu cretur creturn cross cs cscript cscript_log csi ct ct_is ctset ctst_5 ctst_st cttost cumsp cumsp_7 cumul cusum cusum_7 cutil d|0 datasig datasign datasigna datasignat datasignatu datasignatur datasignature datetof db dbeta de dec deco decod decode deff des desc descr descri describ describe destring dfbeta dfgls dfuller di di_g dir dirstats dis discard disp disp_res disp_s displ displa display distinct do doe doed doedi doedit dotplot dotplot_7 dprobit drawnorm drop ds ds_util dstdize duplicates durbina dwstat dydx e|0 ed edi edit egen eivreg emdef en enc enco encod encode eq erase ereg ereg_lf ereg_p ereg_sw ereghet ereghet_glf ereghet_glf_sh ereghet_gp ereghet_ilf ereghet_ilf_sh ereghet_ip eret eretu eretur ereturn err erro error esize est est_cfexist est_cfname est_clickable est_expand est_hold est_table est_unhold est_unholdok estat estat_default estat_summ estat_vce_only esti estimates etodow etof etomdy ex exi exit expand expandcl fac fact facto factor factor_estat factor_p factor_pca_rotated factor_rotate factormat fcast fcast_compute fcast_graph fdades fdadesc fdadescr fdadescri fdadescrib fdadescribe fdasav fdasave fdause fh_st file open file read file close file filefilter fillin find_hlp_file findfile findit findit_7 fit fl fli flis flist for5_0 forest forestplot form forma format fpredict frac_154 frac_adj frac_chk frac_cox frac_ddp frac_dis frac_dv frac_in frac_mun frac_pp frac_pq frac_pv frac_wgt frac_xo fracgen fracplot fracplot_7 fracpoly fracpred fron_ex fron_hn fron_p fron_tn fron_tn2 frontier ftodate ftoe ftomdy ftowdate funnel funnelplot g|0 gamhet_glf gamhet_gp gamhet_ilf gamhet_ip gamma gamma_d2 gamma_p gamma_sw gammahet gdi_hexagon gdi_spokes ge gen gene gener genera generat generate genrank genstd genvmean gettoken gl gladder gladder_7 glim_l01 glim_l02 glim_l03 glim_l04 glim_l05 glim_l06 glim_l07 glim_l08 glim_l09 glim_l10 glim_l11 glim_l12 glim_lf glim_mu glim_nw1 glim_nw2 glim_nw3 glim_p glim_v1 glim_v2 glim_v3 glim_v4 glim_v5 glim_v6 glim_v7 glm glm_6 glm_p glm_sw glmpred glo glob globa global glogit glogit_8 glogit_p gmeans gnbre_lf gnbreg gnbreg_5 gnbreg_p gomp_lf gompe_sw gomper_p gompertz gompertzhet gomphet_glf gomphet_glf_sh gomphet_gp gomphet_ilf gomphet_ilf_sh gomphet_ip gphdot gphpen gphprint gprefs gprobi_p gprobit gprobit_8 gr gr7 gr_copy gr_current gr_db gr_describe gr_dir gr_draw gr_draw_replay gr_drop gr_edit gr_editviewopts gr_example gr_example2 gr_export gr_print gr_qscheme gr_query gr_read gr_rename gr_replay gr_save gr_set gr_setscheme gr_table gr_undo gr_use graph graph7 grebar greigen greigen_7 greigen_8 grmeanby grmeanby_7 gs_fileinfo gs_filetype gs_graphinfo gs_stat gsort gwood h|0 hadimvo hareg hausman haver he heck_d2 heckma_p heckman heckp_lf heckpr_p heckprob hel help hereg hetpr_lf hetpr_p hetprob hettest hexdump hilite hist hist_7 histogram hlogit hlu hmeans hotel hotelling hprobit hreg hsearch icd9 icd9_ff icd9p iis impute imtest inbase include inf infi infil infile infix inp inpu input ins insheet insp inspe inspec inspect integ inten intreg intreg_7 intreg_p intrg2_ll intrg_ll intrg_ll2 ipolate iqreg ir irf irf_create irfm iri is_svy is_svysum isid istdize ivprob_1_lf ivprob_lf ivprobit ivprobit_p ivreg ivreg_footnote ivtob_1_lf ivtob_lf ivtobit ivtobit_p jackknife jacknife jknife jknife_6 jknife_8 jkstat joinby kalarma1 kap kap_3 kapmeier kappa kapwgt kdensity kdensity_7 keep ksm ksmirnov ktau kwallis l|0 la lab labbe labbeplot labe label labelbook ladder levels levelsof leverage lfit lfit_p li lincom line linktest lis list lloghet_glf lloghet_glf_sh lloghet_gp lloghet_ilf lloghet_ilf_sh lloghet_ip llogi_sw llogis_p llogist llogistic llogistichet lnorm_lf lnorm_sw lnorma_p lnormal lnormalhet lnormhet_glf lnormhet_glf_sh lnormhet_gp lnormhet_ilf lnormhet_ilf_sh lnormhet_ip lnskew0 loadingplot loc loca local log logi logis_lf logistic logistic_p logit logit_estat logit_p loglogs logrank loneway lookfor lookup lowess lowess_7 lpredict lrecomp lroc lroc_7 lrtest ls lsens lsens_7 lsens_x lstat ltable ltable_7 ltriang lv lvr2plot lvr2plot_7 m|0 ma mac macr macro makecns man manova manova_estat manova_p manovatest mantel mark markin markout marksample mat mat_capp mat_order mat_put_rr mat_rapp mata mata_clear mata_describe mata_drop mata_matdescribe mata_matsave mata_matuse mata_memory mata_mlib mata_mosave mata_rename mata_which matalabel matcproc matlist matname matr matri matrix matrix_input__dlg matstrik mcc mcci md0_ md1_ md1debug_ md2_ md2debug_ mds mds_estat mds_p mdsconfig mdslong mdsmat mdsshepard mdytoe mdytof me_derd mean means median memory memsize menl meqparse mer merg merge meta mfp mfx mhelp mhodds minbound mixed_ll mixed_ll_reparm mkassert mkdir mkmat mkspline ml ml_5 ml_adjs ml_bhhhs ml_c_d ml_check ml_clear ml_cnt ml_debug ml_defd ml_e0 ml_e0_bfgs ml_e0_cycle ml_e0_dfp ml_e0i ml_e1 ml_e1_bfgs ml_e1_bhhh ml_e1_cycle ml_e1_dfp ml_e2 ml_e2_cycle ml_ebfg0 ml_ebfr0 ml_ebfr1 ml_ebh0q ml_ebhh0 ml_ebhr0 ml_ebr0i ml_ecr0i ml_edfp0 ml_edfr0 ml_edfr1 ml_edr0i ml_eds ml_eer0i ml_egr0i ml_elf ml_elf_bfgs ml_elf_bhhh ml_elf_cycle ml_elf_dfp ml_elfi ml_elfs ml_enr0i ml_enrr0 ml_erdu0 ml_erdu0_bfgs ml_erdu0_bhhh ml_erdu0_bhhhq ml_erdu0_cycle ml_erdu0_dfp ml_erdu0_nrbfgs ml_exde ml_footnote ml_geqnr ml_grad0 ml_graph ml_hbhhh ml_hd0 ml_hold ml_init ml_inv ml_log ml_max ml_mlout ml_mlout_8 ml_model ml_nb0 ml_opt ml_p ml_plot ml_query ml_rdgrd ml_repor ml_s_e ml_score ml_searc ml_technique ml_unhold mleval mlf_ mlmatbysum mlmatsum mlog mlogi mlogit mlogit_footnote mlogit_p mlopts mlsum mlvecsum mnl0_ mor more mov move mprobit mprobit_lf mprobit_p mrdu0_ mrdu1_ mvdecode mvencode mvreg mvreg_estat n|0 nbreg nbreg_al nbreg_lf nbreg_p nbreg_sw nestreg net newey newey_7 newey_p news nl nl_7 nl_9 nl_9_p nl_p nl_p_7 nlcom nlcom_p nlexp2 nlexp2_7 nlexp2a nlexp2a_7 nlexp3 nlexp3_7 nlgom3 nlgom3_7 nlgom4 nlgom4_7 nlinit nllog3 nllog3_7 nllog4 nllog4_7 nlog_rd nlogit nlogit_p nlogitgen nlogittree nlpred no nobreak noi nois noisi noisil noisily note notes notes_dlg nptrend numlabel numlist odbc old_ver olo olog ologi ologi_sw ologit ologit_p ologitp on one onew onewa oneway op_colnm op_comp op_diff op_inv op_str opr opro oprob oprob_sw oprobi oprobi_p oprobit oprobitp opts_exclusive order orthog orthpoly ou out outf outfi outfil outfile outs outsh outshe outshee outsheet ovtest pac pac_7 palette parse parse_dissim pause pca pca_8 pca_display pca_estat pca_p pca_rotate pcamat pchart pchart_7 pchi pchi_7 pcorr pctile pentium pergram pergram_7 permute permute_8 personal peto_st pkcollapse pkcross pkequiv pkexamine pkexamine_7 pkshape pksumm pksumm_7 pl plo plot plugin pnorm pnorm_7 poisgof poiss_lf poiss_sw poisso_p poisson poisson_estat post postclose postfile postutil pperron pr prais prais_e prais_e2 prais_p predict predictnl preserve print pro prob probi probit probit_estat probit_p proc_time procoverlay procrustes procrustes_estat procrustes_p profiler prog progr progra program prop proportion prtest prtesti pwcorr pwd q\\s qby qbys qchi qchi_7 qladder qladder_7 qnorm qnorm_7 qqplot qqplot_7 qreg qreg_c qreg_p qreg_sw qu quadchk quantile quantile_7 que quer query range ranksum ratio rchart rchart_7 rcof recast reclink recode reg reg3 reg3_p regdw regr regre regre_p2 regres regres_p regress regress_estat regriv_p remap ren rena renam rename renpfix repeat replace report reshape restore ret retu retur return rm rmdir robvar roccomp roccomp_7 roccomp_8 rocf_lf rocfit rocfit_8 rocgold rocplot rocplot_7 roctab roctab_7 rolling rologit rologit_p rot rota rotat rotate rotatemat rreg rreg_p ru run runtest rvfplot rvfplot_7 rvpplot rvpplot_7 sa safesum sample sampsi sav save savedresults saveold sc sca scal scala scalar scatter scm_mine sco scob_lf scob_p scobi_sw scobit scor score scoreplot scoreplot_help scree screeplot screeplot_help sdtest sdtesti se search separate seperate serrbar serrbar_7 serset set set_defaults sfrancia sh she shel shell shewhart shewhart_7 signestimationsample signrank signtest simul simul_7 simulate simulate_8 sktest sleep slogit slogit_d2 slogit_p smooth snapspan so sor sort spearman spikeplot spikeplot_7 spikeplt spline_x split sqreg sqreg_p sret sretu sretur sreturn ssc st st_ct st_hc st_hcd st_hcd_sh st_is st_issys st_note st_promo st_set st_show st_smpl st_subid stack statsby statsby_8 stbase stci stci_7 stcox stcox_estat stcox_fr stcox_fr_ll stcox_p stcox_sw stcoxkm stcoxkm_7 stcstat stcurv stcurve stcurve_7 stdes stem stepwise stereg stfill stgen stir stjoin stmc stmh stphplot stphplot_7 stphtest stphtest_7 stptime strate strate_7 streg streg_sw streset sts sts_7 stset stsplit stsum sttocc sttoct stvary stweib su suest suest_8 sum summ summa summar summari summariz summarize sunflower sureg survcurv survsum svar svar_p svmat svy svy_disp svy_dreg svy_est svy_est_7 svy_estat svy_get svy_gnbreg_p svy_head svy_header svy_heckman_p svy_heckprob_p svy_intreg_p svy_ivreg_p svy_logistic_p svy_logit_p svy_mlogit_p svy_nbreg_p svy_ologit_p svy_oprobit_p svy_poisson_p svy_probit_p svy_regress_p svy_sub svy_sub_7 svy_x svy_x_7 svy_x_p svydes svydes_8 svygen svygnbreg svyheckman svyheckprob svyintreg svyintreg_7 svyintrg svyivreg svylc svylog_p svylogit svymarkout svymarkout_8 svymean svymlog svymlogit svynbreg svyolog svyologit svyoprob svyoprobit svyopts svypois svypois_7 svypoisson svyprobit svyprobt svyprop svyprop_7 svyratio svyreg svyreg_p svyregress svyset svyset_7 svyset_8 svytab svytab_7 svytest svytotal sw sw_8 swcnreg swcox swereg swilk swlogis swlogit swologit swoprbt swpois swprobit swqreg swtobit swweib symmetry symmi symplot symplot_7 syntax sysdescribe sysdir sysuse szroeter ta tab tab1 tab2 tab_or tabd tabdi tabdis tabdisp tabi table tabodds tabodds_7 tabstat tabu tabul tabula tabulat tabulate te tempfile tempname tempvar tes test testnl testparm teststd tetrachoric time_it timer tis tob tobi tobit tobit_p tobit_sw token tokeni tokeniz tokenize tostring total translate translator transmap treat_ll treatr_p treatreg trim trimfill trnb_cons trnb_mean trpoiss_d2 trunc_ll truncr_p truncreg tsappend tset tsfill tsline tsline_ex tsreport tsrevar tsrline tsset tssmooth tsunab ttest ttesti tut_chk tut_wait tutorial tw tware_st two twoway twoway__fpfit_serset twoway__function_gen twoway__histogram_gen twoway__ipoint_serset twoway__ipoints_serset twoway__kdensity_gen twoway__lfit_serset twoway__normgen_gen twoway__pci_serset twoway__qfit_serset twoway__scatteri_serset twoway__sunflower_gen twoway_ksm_serset ty typ type typeof u|0 unab unabbrev unabcmd update us use uselabel var var_mkcompanion var_p varbasic varfcast vargranger varirf varirf_add varirf_cgraph varirf_create varirf_ctable varirf_describe varirf_dir varirf_drop varirf_erase varirf_graph varirf_ograph varirf_rename varirf_set varirf_table varlist varlmar varnorm varsoc varstable varstable_w varstable_w2 varwle vce vec vec_fevd vec_mkphi vec_p vec_p_w vecirf_create veclmar veclmar_w vecnorm vecnorm_w vecrank vecstable verinst vers versi versio version view viewsource vif vwls wdatetof webdescribe webseek webuse weib1_lf weib2_lf weib_lf weib_lf0 weibhet_glf weibhet_glf_sh weibhet_glfa weibhet_glfa_sh weibhet_gp weibhet_ilf weibhet_ilf_sh weibhet_ilfa weibhet_ilfa_sh weibhet_ip weibu_sw weibul_p weibull weibull_c weibull_s weibullhet wh whelp whi which whil while wilc_st wilcoxon win wind windo window winexec wntestb wntestb_7 wntestq xchart xchart_7 xcorr xcorr_7 xi xi_6 xmlsav xmlsave xmluse xpose xsh xshe xshel xshell xt_iis xt_tis xtab_p xtabond xtbin_p xtclog xtcloglog xtcloglog_8 xtcloglog_d2 xtcloglog_pa_p xtcloglog_re_p xtcnt_p xtcorr xtdata xtdes xtfront_p xtfrontier xtgee xtgee_elink xtgee_estat xtgee_makeivar xtgee_p xtgee_plink xtgls xtgls_p xthaus xthausman xtht_p xthtaylor xtile xtint_p xtintreg xtintreg_8 xtintreg_d2 xtintreg_p xtivp_1 xtivp_2 xtivreg xtline xtline_ex xtlogit xtlogit_8 xtlogit_d2 xtlogit_fe_p xtlogit_pa_p xtlogit_re_p xtmixed xtmixed_estat xtmixed_p xtnb_fe xtnb_lf xtnbreg xtnbreg_pa_p xtnbreg_refe_p xtpcse xtpcse_p xtpois xtpoisson xtpoisson_d2 xtpoisson_pa_p xtpoisson_refe_p xtpred xtprobit xtprobit_8 xtprobit_d2 xtprobit_re_p xtps_fe xtps_lf xtps_ren xtps_ren_8 xtrar_p xtrc xtrc_p xtrchh xtrefe_p xtreg xtreg_be xtreg_fe xtreg_ml xtreg_pa_p xtreg_re xtregar xtrere_p xtset xtsf_ll xtsf_llti xtsum xttab xttest0 xttobit xttobit_8 xttobit_p xttrans yx yxview__barlike_draw yxview_area_draw yxview_bar_draw yxview_dot_draw yxview_dropline_draw yxview_function_draw yxview_iarrow_draw yxview_ilabels_draw yxview_normal_draw yxview_pcarrow_draw yxview_pcbarrow_draw yxview_pccapsym_draw yxview_pcscatter_draw yxview_pcspike_draw yxview_rarea_draw yxview_rbar_draw yxview_rbarm_draw yxview_rcap_draw yxview_rcapsym_draw yxview_rconnected_draw yxview_rline_draw yxview_rscatter_draw yxview_rspike_draw yxview_spike_draw yxview_sunflower_draw zap_s zinb zinb_llf zinb_plf zip zip_llf zip_p zip_plf zt_ct_5 zt_hc_5 zt_hcd_5 zt_is_5 zt_iss_5 zt_sho_5 zt_smp_5 ztbase_5 ztcox_5 ztdes_5 ztereg_5 ztfill_5 ztgen_5 ztir_5 ztjoin_5 ztnb ztnb_p ztp ztp_p zts_5 ztset_5 ztspli_5 ztsum_5 zttoct_5 ztvary_5 ztweib_5",contains:[{className:"symbol",begin:/`[a-zA-Z0-9_]+'/},{className:"variable",begin:/\$\{?[a-zA-Z0-9_]+\}?/},{className:"string",variants:[{begin:'`"[^\r\n]*?"\''},{begin:'"[^\r\n"]*"'}]},{className:"built_in",variants:[{begin:"\\b(abs|acos|asin|atan|atan2|atanh|ceil|cloglog|comb|cos|digamma|exp|floor|invcloglog|invlogit|ln|lnfact|lnfactorial|lngamma|log|log10|max|min|mod|reldif|round|sign|sin|sqrt|sum|tan|tanh|trigamma|trunc|betaden|Binomial|binorm|binormal|chi2|chi2tail|dgammapda|dgammapdada|dgammapdadx|dgammapdx|dgammapdxdx|F|Fden|Ftail|gammaden|gammap|ibeta|invbinomial|invchi2|invchi2tail|invF|invFtail|invgammap|invibeta|invnchi2|invnFtail|invnibeta|invnorm|invnormal|invttail|nbetaden|nchi2|nFden|nFtail|nibeta|norm|normal|normalden|normd|npnchi2|tden|ttail|uniform|abbrev|char|index|indexnot|length|lower|ltrim|match|plural|proper|real|regexm|regexr|regexs|reverse|rtrim|string|strlen|strlower|strltrim|strmatch|strofreal|strpos|strproper|strreverse|strrtrim|strtrim|strupper|subinstr|subinword|substr|trim|upper|word|wordcount|_caller|autocode|byteorder|chop|clip|cond|e|epsdouble|epsfloat|group|inlist|inrange|irecode|matrix|maxbyte|maxdouble|maxfloat|maxint|maxlong|mi|minbyte|mindouble|minfloat|minint|minlong|missing|r|recode|replay|return|s|scalar|d|date|day|dow|doy|halfyear|mdy|month|quarter|week|year|d|daily|dofd|dofh|dofm|dofq|dofw|dofy|h|halfyearly|hofd|m|mofd|monthly|q|qofd|quarterly|tin|twithin|w|weekly|wofd|y|yearly|yh|ym|yofd|yq|yw|cholesky|colnumb|colsof|corr|det|diag|diag0cnt|el|get|hadamard|I|inv|invsym|issym|issymmetric|J|matmissing|matuniform|mreldif|nullmat|rownumb|rowsof|sweep|syminv|trace|vec|vecdiag)(?=\\(|$)"}]},e.COMMENT("^[ \t]*\\*.*$",!1),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]}}},{name:"step21",create:function(e){return{aliases:["p21","step","stp"],case_insensitive:!0,lexemes:"[A-Z_][A-Z0-9_.]*",keywords:{keyword:"HEADER ENDSEC DATA"},contains:[{className:"meta",begin:"ISO-10303-21;",relevance:10},{className:"meta",begin:"END-ISO-10303-21;",relevance:10},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.COMMENT("/\\*\\*!","\\*/"),e.C_NUMBER_MODE,e.inherit(e.APOS_STRING_MODE,{illegal:null}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),{className:"string",begin:"'",end:"'"},{className:"symbol",variants:[{begin:"#",end:"\\d+",illegal:"\\W"}]}]}}},{name:"stylus",create:function(e){var t={className:"variable",begin:"\\$"+e.IDENT_RE},a={className:"number",begin:"#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})" +},r=["charset","css","debug","extend","font-face","for","import","include","media","mixin","page","warn","while"],i=["after","before","first-letter","first-line","active","first-child","focus","hover","lang","link","visited"],s=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],n="[\\.\\s\\n\\[\\:,]",o=["align-content","align-items","align-self","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","auto","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","clip-path","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","font","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-variant-ligatures","font-weight","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inherit","initial","justify-content","left","letter-spacing","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","mask","max-height","max-width","min-height","min-width","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","perspective","perspective-origin","pointer-events","position","quotes","resize","right","tab-size","table-layout","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-indent","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","white-space","widows","width","word-break","word-spacing","word-wrap","z-index"];return{aliases:["styl"],case_insensitive:!1,keywords:"if else for in",illegal:"("+["\\?","(\\bReturn\\b)","(\\bEnd\\b)","(\\bend\\b)","(\\bdef\\b)",";","#\\s","\\*\\s","===\\s","\\|","%"].join("|")+")",contains:[e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,{begin:"\\.[a-zA-Z][a-zA-Z0-9_-]*"+n,returnBegin:!0,contains:[{className:"selector-class",begin:"\\.[a-zA-Z][a-zA-Z0-9_-]*"}]},{begin:"\\#[a-zA-Z][a-zA-Z0-9_-]*"+n,returnBegin:!0,contains:[{className:"selector-id",begin:"\\#[a-zA-Z][a-zA-Z0-9_-]*"}]},{begin:"\\b("+s.join("|")+")"+n,returnBegin:!0,contains:[{className:"selector-tag",begin:"\\b[a-zA-Z][a-zA-Z0-9_-]*"}]},{begin:"&?:?:\\b("+i.join("|")+")"+n},{begin:"@("+r.join("|")+")\\b"},t,e.CSS_NUMBER_MODE,e.NUMBER_MODE,{className:"function",begin:"^[a-zA-Z][a-zA-Z0-9_-]*\\(.*\\)",illegal:"[\\n]",returnBegin:!0,contains:[{className:"title",begin:"\\b[a-zA-Z][a-zA-Z0-9_-]*"},{className:"params",begin:/\(/,end:/\)/,contains:[a,t,e.APOS_STRING_MODE,e.CSS_NUMBER_MODE,e.NUMBER_MODE,e.QUOTE_STRING_MODE]}]},{className:"attribute",begin:"\\b("+o.reverse().join("|")+")\\b",starts:{end:/;|$/,contains:[a,t,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.CSS_NUMBER_MODE,e.NUMBER_MODE,e.C_BLOCK_COMMENT_MODE],illegal:/\./,relevance:0}}]}}},{name:"subunit",create:function(e){return{case_insensitive:!0,contains:[{className:"string",begin:"\\[\n(multipart)?",end:"\\]\n"},{className:"string",begin:"\\d{4}-\\d{2}-\\d{2}(\\s+)\\d{2}:\\d{2}:\\d{2}.\\d+Z"},{className:"string",begin:"(\\+|-)\\d+"},{className:"keyword",relevance:10,variants:[{begin:"^(test|testing|success|successful|failure|error|skip|xfail|uxsuccess)(:?)\\s+(test)?"},{begin:"^progress(:?)(\\s+)?(pop|push)?"},{begin:"^tags:"},{begin:"^time:"}]}]}}},{name:"swift",create:function(e){var t={keyword:"#available #colorLiteral #column #else #elseif #endif #file #fileLiteral #function #if #imageLiteral #line #selector #sourceLocation _ __COLUMN__ __FILE__ __FUNCTION__ __LINE__ Any as as! as? associatedtype associativity break case catch class continue convenience default defer deinit didSet do dynamic dynamicType else enum extension fallthrough false fileprivate final for func get guard if import in indirect infix init inout internal is lazy left let mutating nil none nonmutating open operator optional override postfix precedence prefix private protocol Protocol public repeat required rethrows return right self Self set static struct subscript super switch throw throws true try try! try? Type typealias unowned var weak where while willSet",literal:"true false nil",built_in:"abs advance alignof alignofValue anyGenerator assert assertionFailure bridgeFromObjectiveC bridgeFromObjectiveCUnconditional bridgeToObjectiveC bridgeToObjectiveCUnconditional c contains count countElements countLeadingZeros debugPrint debugPrintln distance dropFirst dropLast dump encodeBitsAsWords enumerate equal fatalError filter find getBridgedObjectiveCType getVaList indices insertionSort isBridgedToObjectiveC isBridgedVerbatimToObjectiveC isUniquelyReferenced isUniquelyReferencedNonObjC join lazy lexicographicalCompare map max maxElement min minElement numericCast overlaps partition posix precondition preconditionFailure print println quickSort readLine reduce reflect reinterpretCast reverse roundUpToAlignment sizeof sizeofValue sort split startsWith stride strideof strideofValue swap toString transcode underestimateCount unsafeAddressOf unsafeBitCast unsafeDowncast unsafeUnwrap unsafeReflect withExtendedLifetime withObjectAtPlusZero withUnsafePointer withUnsafePointerToObject withUnsafeMutablePointer withUnsafeMutablePointers withUnsafePointer withUnsafePointers withVaList zip"},a={className:"type",begin:"\\b[A-Z][\\wÀ-ʸ']*",relevance:0},r={className:"type",begin:"\\b[A-Z][\\wÀ-ʸ']*[!?]"},i=e.COMMENT("/\\*","\\*/",{contains:["self"]}),s={className:"subst",begin:/\\\(/,end:"\\)",keywords:t,contains:[]},n={className:"string",contains:[e.BACKSLASH_ESCAPE,s],variants:[{begin:/"""/,end:/"""/},{begin:/"/,end:/"/}]},o={className:"number",begin:"\\b([\\d_]+(\\.[\\deE_]+)?|0x[a-fA-F0-9_]+(\\.[a-fA-F0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b",relevance:0};return s.contains=[o],{keywords:t,contains:[n,e.C_LINE_COMMENT_MODE,i,r,a,o,{className:"function",beginKeywords:"func",end:"{",excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/[A-Za-z$_][0-9A-Za-z$_]*/}),{begin:/</,end:/>/},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:t,contains:["self",o,n,e.C_BLOCK_COMMENT_MODE,{begin:":"}],illegal:/["']/}],illegal:/\[|%/},{className:"class",beginKeywords:"struct protocol class extension enum",keywords:t,end:"\\{",excludeEnd:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/})]},{className:"meta",begin:"(@discardableResult|@warn_unused_result|@exported|@lazy|@noescape|@NSCopying|@NSManaged|@objc|@objcMembers|@convention|@required|@noreturn|@IBAction|@IBDesignable|@IBInspectable|@IBOutlet|@infix|@prefix|@postfix|@autoclosure|@testable|@available|@nonobjc|@NSApplicationMain|@UIApplicationMain)"},{beginKeywords:"import",end:/$/,contains:[e.C_LINE_COMMENT_MODE,i]}]}}},{name:"taggerscript",create:function(e){return{contains:[{className:"comment",begin:/\$noop\(/,end:/\)/,contains:[{begin:/\(/,end:/\)/,contains:["self",{begin:/\\./}]}],relevance:10},{className:"keyword",begin:/\$(?!noop)[a-zA-Z][_a-zA-Z0-9]*/,end:/\(/,excludeEnd:!0},{className:"variable",begin:/%[_a-zA-Z0-9:]*/,end:"%"},{className:"symbol",begin:/\\./}]}}},{name:"tap",create:function(e){return{case_insensitive:!0,contains:[e.HASH_COMMENT_MODE,{className:"meta",variants:[{begin:"^TAP version (\\d+)$"},{begin:"^1\\.\\.(\\d+)$"}]},{begin:"(s+)?---$",end:"\\.\\.\\.$",subLanguage:"yaml",relevance:0},{className:"number",begin:" (\\d+) "},{className:"symbol",variants:[{begin:"^ok"},{begin:"^not ok"}]}]}}},{name:"tcl",create:function(e){return{aliases:["tk"],keywords:"after append apply array auto_execok auto_import auto_load auto_mkindex auto_mkindex_old auto_qualify auto_reset bgerror binary break catch cd chan clock close concat continue dde dict encoding eof error eval exec exit expr fblocked fconfigure fcopy file fileevent filename flush for foreach format gets glob global history http if incr info interp join lappend|10 lassign|10 lindex|10 linsert|10 list llength|10 load lrange|10 lrepeat|10 lreplace|10 lreverse|10 lsearch|10 lset|10 lsort|10 mathfunc mathop memory msgcat namespace open package parray pid pkg::create pkg_mkIndex platform platform::shell proc puts pwd read refchan regexp registry regsub|10 rename return safe scan seek set socket source split string subst switch tcl_endOfWord tcl_findLibrary tcl_startOfNextWord tcl_startOfPreviousWord tcl_wordBreakAfter tcl_wordBreakBefore tcltest tclvars tell time tm trace unknown unload unset update uplevel upvar variable vwait while",contains:[e.COMMENT(";[ \\t]*#","$"),e.COMMENT("^[ \\t]*#","$"),{beginKeywords:"proc",end:"[\\{]",excludeEnd:!0,contains:[{className:"title",begin:"[ \\t\\n\\r]+(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*",end:"[ \\t\\n\\r]",endsWithParent:!0,excludeEnd:!0}]},{excludeEnd:!0,variants:[{begin:"\\$(\\{)?(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*\\(([a-zA-Z0-9_])*\\)",end:"[^a-zA-Z0-9_\\}\\$]"},{begin:"\\$(\\{)?(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*",end:"(\\))?[^a-zA-Z0-9_\\}\\$]"}]},{className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[e.inherit(e.QUOTE_STRING_MODE,{illegal:null})]},{className:"number",variants:[e.BINARY_NUMBER_MODE,e.C_NUMBER_MODE]}]}}},{name:"tex",create:function(e){var t={className:"tag",begin:/\\/,relevance:0,contains:[{className:"name",variants:[{begin:/[a-zA-Z\u0430-\u044f\u0410-\u042f]+[*]?/},{begin:/[^a-zA-Z\u0430-\u044f\u0410-\u042f0-9]/}],starts:{endsWithParent:!0,relevance:0,contains:[{className:"string",variants:[{begin:/\[/,end:/\]/},{begin:/\{/,end:/\}/}]},{begin:/\s*=\s*/,endsWithParent:!0,relevance:0,contains:[{className:"number",begin:/-?\d*\.?\d+(pt|pc|mm|cm|in|dd|cc|ex|em)?/}]}]}}]};return{contains:[t,{className:"formula",contains:[t],relevance:0,variants:[{begin:/\$\$/,end:/\$\$/},{begin:/\$/,end:/\$/}]},e.COMMENT("%","$",{relevance:0})]}}},{name:"thrift",create:function(e){return{keywords:{keyword:"namespace const typedef struct enum service exception void oneway set list map required optional",built_in:"bool byte i16 i32 i64 double string binary",literal:"true false"},contains:[e.QUOTE_STRING_MODE,e.NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"class",beginKeywords:"struct enum service exception",end:/\{/,illegal:/\n/,contains:[e.inherit(e.TITLE_MODE,{starts:{endsWithParent:!0,excludeEnd:!0}})]},{begin:"\\b(set|list|map)\\s*<",end:">",keywords:"bool byte i16 i32 i64 double string binary",contains:["self"]}]}}},{name:"tp",create:function(e){var t={className:"number",begin:"[1-9][0-9]*",relevance:0},a={className:"symbol",begin:":[^\\]]+"};return{keywords:{keyword:"ABORT ACC ADJUST AND AP_LD BREAK CALL CNT COL CONDITION CONFIG DA DB DIV DETECT ELSE END ENDFOR ERR_NUM ERROR_PROG FINE FOR GP GUARD INC IF JMP LINEAR_MAX_SPEED LOCK MOD MONITOR OFFSET Offset OR OVERRIDE PAUSE PREG PTH RT_LD RUN SELECT SKIP Skip TA TB TO TOOL_OFFSET Tool_Offset UF UT UFRAME_NUM UTOOL_NUM UNLOCK WAIT X Y Z W P R STRLEN SUBSTR FINDSTR VOFFSET PROG ATTR MN POS",literal:"ON OFF max_speed LPOS JPOS ENABLE DISABLE START STOP RESET"},contains:[{className:"built_in",begin:"(AR|P|PAYLOAD|PR|R|SR|RSR|LBL|VR|UALM|MESSAGE|UTOOL|UFRAME|TIMER|TIMER_OVERFLOW|JOINT_MAX_SPEED|RESUME_PROG|DIAG_REC)\\[",end:"\\]",contains:["self",t,a]},{className:"built_in",begin:"(AI|AO|DI|DO|F|RI|RO|UI|UO|GI|GO|SI|SO)\\[",end:"\\]",contains:["self",t,e.QUOTE_STRING_MODE,a]},{className:"keyword",begin:"/(PROG|ATTR|MN|POS|END)\\b"},{className:"keyword",begin:"(CALL|RUN|POINT_LOGIC|LBL)\\b"},{className:"keyword",begin:"\\b(ACC|CNT|Skip|Offset|PSPD|RT_LD|AP_LD|Tool_Offset)"},{className:"number",begin:"\\d+(sec|msec|mm/sec|cm/min|inch/min|deg/sec|mm|in|cm)?\\b",relevance:0},e.COMMENT("//","[;$]"),e.COMMENT("!","[;$]"),e.COMMENT("--eg:","$"),e.QUOTE_STRING_MODE,{className:"string",begin:"'",end:"'"},e.C_NUMBER_MODE,{className:"variable",begin:"\\$[A-Za-z0-9_]+"}]}}},{name:"twig",create:function(e){var t={className:"params",begin:"\\(",end:"\\)"},a="attribute block constant cycle date dump include max min parent random range source template_from_string",r={beginKeywords:a,keywords:{name:a},relevance:0,contains:[t]},i={begin:/\|[A-Za-z_]+:?/,keywords:"abs batch capitalize convert_encoding date date_modify default escape first format join json_encode keys last length lower merge nl2br number_format raw replace reverse round slice sort split striptags title trim upper url_encode",contains:[r]},s="autoescape block do embed extends filter flush for if import include macro sandbox set spaceless use verbatim";return s=s+" "+s.split(" ").map(function(e){return"end"+e}).join(" "),{aliases:["craftcms"],case_insensitive:!0,subLanguage:"xml",contains:[e.COMMENT(/\{#/,/#}/),{className:"template-tag",begin:/\{%/,end:/%}/,contains:[{className:"name",begin:/\w+/,keywords:s,starts:{endsWithParent:!0,contains:[i,r],relevance:0}}]},{className:"template-variable",begin:/\{\{/,end:/}}/,contains:["self",i,r]}]}}},{name:"typescript",create:function(e){var t={keyword:"in if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const class public private protected get set super static implements enum export import declare type namespace abstract as from extends async await",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document any number boolean string void Promise"},a={className:"meta",begin:"@[A-Za-z$_][0-9A-Za-z$_]*"},r={begin:"\\(",end:/\)/,keywords:t,contains:["self",e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.NUMBER_MODE]},i={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,r]},s={className:"number",variants:[{begin:"\\b(0[bB][01]+)"},{begin:"\\b(0[oO][0-7]+)"},{begin:e.C_NUMBER_RE}],relevance:0},n={className:"subst",begin:"\\$\\{",end:"\\}",keywords:t,contains:[]},o={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,n],subLanguage:"xml"}},l={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,n],subLanguage:"css"}},c={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,n]};return n.contains=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,o,l,c,s,e.REGEXP_MODE],{aliases:["ts"],keywords:t,contains:[{className:"meta",begin:/^\s*['"]use strict['"]/},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,o,l,c,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.REGEXP_MODE,{className:"function",begin:"(\\(.*?\\)|"+e.IDENT_RE+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.IDENT_RE},{begin:/\(\s*\)/},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,contains:["self",e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]}]}]}],relevance:0},{className:"function",begin:"function",end:/[\{;]/,excludeEnd:!0,keywords:t,contains:["self",e.inherit(e.TITLE_MODE,{begin:"[A-Za-z$_][0-9A-Za-z$_]*"}),i],illegal:/%/,relevance:0},{beginKeywords:"constructor",end:/\{/,excludeEnd:!0,contains:["self",i]},{begin:/module\./,keywords:{built_in:"module"},relevance:0},{beginKeywords:"module",end:/\{/,excludeEnd:!0},{beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:"interface extends"},{begin:/\$[(.]/},{begin:"\\."+e.IDENT_RE,relevance:0},a,r]}}},{name:"vala",create:function(e){return{keywords:{keyword:"char uchar unichar int uint long ulong short ushort int8 int16 int32 int64 uint8 uint16 uint32 uint64 float double bool struct enum string void weak unowned owned async signal static abstract interface override virtual delegate if while do for foreach else switch case break default return try catch public private protected internal using new this get set const stdout stdin stderr var",built_in:"DBus GLib CCode Gee Object Gtk Posix",literal:"false true null"},contains:[{className:"class",beginKeywords:"class interface namespace",end:"{",excludeEnd:!0,illegal:"[^,:\\n\\s\\.]",contains:[e.UNDERSCORE_TITLE_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"string",begin:'"""',end:'"""',relevance:5},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,{className:"meta",begin:"^#",end:"$",relevance:2}]}}},{name:"vbnet",create:function(e){return{aliases:["vb"],case_insensitive:!0,keywords:{keyword:"addhandler addressof alias and andalso aggregate ansi as assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into is isfalse isnot istrue join key let lib like loop me mid mod module mustinherit mustoverride mybase myclass namespace narrowing new next not notinheritable notoverridable of off on operator option optional or order orelse overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim rem removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly xor",built_in:"boolean byte cbool cbyte cchar cdate cdec cdbl char cint clng cobj csbyte cshort csng cstr ctype date decimal directcast double gettype getxmlnamespace iif integer long object sbyte short single string trycast typeof uinteger ulong ushort",literal:"true false nothing"},illegal:"//|{|}|endif|gosub|variant|wend|^\\$ ",contains:[e.inherit(e.QUOTE_STRING_MODE,{contains:[{begin:'""'}]}),e.COMMENT("'","$",{returnBegin:!0,contains:[{className:"doctag",begin:"'''|\x3c!--|--\x3e",contains:[e.PHRASAL_WORDS_MODE]},{className:"doctag",begin:"</?",end:">",contains:[e.PHRASAL_WORDS_MODE]}]}),e.C_NUMBER_MODE,{className:"meta",begin:"#",end:"$",keywords:{"meta-keyword":"if else elseif end region externalsource"}}]}}},{name:"vbscript-html",create:function(e){return{subLanguage:"xml",contains:[{begin:"<%",end:"%>",subLanguage:"vbscript"}]}}},{name:"vbscript",create:function(e){return{aliases:["vbs"],case_insensitive:!0,keywords:{keyword:"call class const dim do loop erase execute executeglobal exit for each next function if then else on error option explicit new private property let get public randomize redim rem select case set stop sub while wend with end to elseif is or xor and not class_initialize class_terminate default preserve in me byval byref step resume goto",built_in:"lcase month vartype instrrev ubound setlocale getobject rgb getref string weekdayname rnd dateadd monthname now day minute isarray cbool round formatcurrency conversions csng timevalue second year space abs clng timeserial fixs len asc isempty maths dateserial atn timer isobject filter weekday datevalue ccur isdate instr datediff formatdatetime replace isnull right sgn array snumeric log cdbl hex chr lbound msgbox ucase getlocale cos cdate cbyte rtrim join hour oct typename trim strcomp int createobject loadpicture tan formatnumber mid scriptenginebuildversion scriptengine split scriptengineminorversion cint sin datepart ltrim sqr scriptenginemajorversion time derived eval date formatpercent exp inputbox left ascw chrw regexp server response request cstr err",literal:"true false null nothing empty"},illegal:"//",contains:[e.inherit(e.QUOTE_STRING_MODE,{contains:[{begin:'""'}]}),e.COMMENT(/'/,/$/,{relevance:0}),e.C_NUMBER_MODE]}}},{name:"verilog",create:function(e){return{aliases:["v","sv","svh"],case_insensitive:!1,keywords:{keyword:"accept_on alias always always_comb always_ff always_latch and assert assign assume automatic before begin bind bins binsof bit break buf|0 bufif0 bufif1 byte case casex casez cell chandle checker class clocking cmos config const constraint context continue cover covergroup coverpoint cross deassign default defparam design disable dist do edge else end endcase endchecker endclass endclocking endconfig endfunction endgenerate endgroup endinterface endmodule endpackage endprimitive endprogram endproperty endspecify endsequence endtable endtask enum event eventually expect export extends extern final first_match for force foreach forever fork forkjoin function generate|5 genvar global highz0 highz1 if iff ifnone ignore_bins illegal_bins implements implies import incdir include initial inout input inside instance int integer interconnect interface intersect join join_any join_none large let liblist library local localparam logic longint macromodule matches medium modport module nand negedge nettype new nexttime nmos nor noshowcancelled not notif0 notif1 or output package packed parameter pmos posedge primitive priority program property protected pull0 pull1 pulldown pullup pulsestyle_ondetect pulsestyle_onevent pure rand randc randcase randsequence rcmos real realtime ref reg reject_on release repeat restrict return rnmos rpmos rtran rtranif0 rtranif1 s_always s_eventually s_nexttime s_until s_until_with scalared sequence shortint shortreal showcancelled signed small soft solve specify specparam static string strong strong0 strong1 struct super supply0 supply1 sync_accept_on sync_reject_on table tagged task this throughout time timeprecision timeunit tran tranif0 tranif1 tri tri0 tri1 triand trior trireg type typedef union unique unique0 unsigned until until_with untyped use uwire var vectored virtual void wait wait_order wand weak weak0 weak1 while wildcard wire with within wor xnor xor",literal:"null",built_in:"$finish $stop $exit $fatal $error $warning $info $realtime $time $printtimescale $bitstoreal $bitstoshortreal $itor $signed $cast $bits $stime $timeformat $realtobits $shortrealtobits $rtoi $unsigned $asserton $assertkill $assertpasson $assertfailon $assertnonvacuouson $assertoff $assertcontrol $assertpassoff $assertfailoff $assertvacuousoff $isunbounded $sampled $fell $changed $past_gclk $fell_gclk $changed_gclk $rising_gclk $steady_gclk $coverage_control $coverage_get $coverage_save $set_coverage_db_name $rose $stable $past $rose_gclk $stable_gclk $future_gclk $falling_gclk $changing_gclk $display $coverage_get_max $coverage_merge $get_coverage $load_coverage_db $typename $unpacked_dimensions $left $low $increment $clog2 $ln $log10 $exp $sqrt $pow $floor $ceil $sin $cos $tan $countbits $onehot $isunknown $fatal $warning $dimensions $right $high $size $asin $acos $atan $atan2 $hypot $sinh $cosh $tanh $asinh $acosh $atanh $countones $onehot0 $error $info $random $dist_chi_square $dist_erlang $dist_exponential $dist_normal $dist_poisson $dist_t $dist_uniform $q_initialize $q_remove $q_exam $async$and$array $async$nand$array $async$or$array $async$nor$array $sync$and$array $sync$nand$array $sync$or$array $sync$nor$array $q_add $q_full $psprintf $async$and$plane $async$nand$plane $async$or$plane $async$nor$plane $sync$and$plane $sync$nand$plane $sync$or$plane $sync$nor$plane $system $display $displayb $displayh $displayo $strobe $strobeb $strobeh $strobeo $write $readmemb $readmemh $writememh $value$plusargs $dumpvars $dumpon $dumplimit $dumpports $dumpportson $dumpportslimit $writeb $writeh $writeo $monitor $monitorb $monitorh $monitoro $writememb $dumpfile $dumpoff $dumpall $dumpflush $dumpportsoff $dumpportsall $dumpportsflush $fclose $fdisplay $fdisplayb $fdisplayh $fdisplayo $fstrobe $fstrobeb $fstrobeh $fstrobeo $swrite $swriteb $swriteh $swriteo $fscanf $fread $fseek $fflush $feof $fopen $fwrite $fwriteb $fwriteh $fwriteo $fmonitor $fmonitorb $fmonitorh $fmonitoro $sformat $sformatf $fgetc $ungetc $fgets $sscanf $rewind $ftell $ferror"},lexemes:/[\w\$]+/,contains:[e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE,e.QUOTE_STRING_MODE,{className:"number",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:"\\b((\\d+'(b|h|o|d|B|H|O|D))[0-9xzXZa-fA-F_]+)"},{begin:"\\B(('(b|h|o|d|B|H|O|D))[0-9xzXZa-fA-F_]+)"},{begin:"\\b([0-9_])+",relevance:0}]},{className:"variable",variants:[{begin:"#\\((?!parameter).+\\)"},{begin:"\\.\\w+",relevance:0}]},{className:"meta",begin:"`",end:"$",keywords:{"meta-keyword":"define __FILE__ __LINE__ begin_keywords celldefine default_nettype define else elsif end_keywords endcelldefine endif ifdef ifndef include line nounconnected_drive pragma resetall timescale unconnected_drive undef undefineall"},relevance:0}]}}},{name:"vhdl",create:function(e){return{case_insensitive:!0,keywords:{keyword:"abs access after alias all and architecture array assert assume assume_guarantee attribute begin block body buffer bus case component configuration constant context cover disconnect downto default else elsif end entity exit fairness file for force function generate generic group guarded if impure in inertial inout is label library linkage literal loop map mod nand new next nor not null of on open or others out package parameter port postponed procedure process property protected pure range record register reject release rem report restrict restrict_guarantee return rol ror select sequence severity shared signal sla sll sra srl strong subtype then to transport type unaffected units until use variable view vmode vprop vunit wait when while with xnor xor",built_in:"boolean bit character integer time delay_length natural positive string bit_vector file_open_kind file_open_status std_logic std_logic_vector unsigned signed boolean_vector integer_vector std_ulogic std_ulogic_vector unresolved_unsigned u_unsigned unresolved_signed u_signed real_vector time_vector",literal:"false true note warning error failure line text side width"},illegal:"{",contains:[e.C_BLOCK_COMMENT_MODE,e.COMMENT("--","$"),e.QUOTE_STRING_MODE,{className:"number",begin:"\\b(\\d(_|\\d)*#\\w+(\\.\\w+)?#([eE][-+]?\\d(_|\\d)*)?|\\d(_|\\d)*(\\.\\d(_|\\d)*)?([eE][-+]?\\d(_|\\d)*)?)",relevance:0},{className:"string",begin:"'(U|X|0|1|Z|W|L|H|-)'",contains:[e.BACKSLASH_ESCAPE]},{className:"symbol",begin:"'[A-Za-z](_?[A-Za-z0-9])*",contains:[e.BACKSLASH_ESCAPE]}]}}},{name:"vim",create:function(e){return{lexemes:/[!#@\w]+/,keywords:{ +keyword:"N|0 P|0 X|0 a|0 ab abc abo al am an|0 ar arga argd arge argdo argg argl argu as au aug aun b|0 bN ba bad bd be bel bf bl bm bn bo bp br brea breaka breakd breakl bro bufdo buffers bun bw c|0 cN cNf ca cabc caddb cad caddf cal cat cb cc ccl cd ce cex cf cfir cgetb cgete cg changes chd che checkt cl cla clo cm cmapc cme cn cnew cnf cno cnorea cnoreme co col colo com comc comp con conf cope cp cpf cq cr cs cst cu cuna cunme cw delm deb debugg delc delf dif diffg diffo diffp diffpu diffs diffthis dig di dl dell dj dli do doautoa dp dr ds dsp e|0 ea ec echoe echoh echom echon el elsei em en endfo endf endt endw ene ex exe exi exu f|0 files filet fin fina fini fir fix fo foldc foldd folddoc foldo for fu go gr grepa gu gv ha helpf helpg helpt hi hid his ia iabc if ij il im imapc ime ino inorea inoreme int is isp iu iuna iunme j|0 ju k|0 keepa kee keepj lN lNf l|0 lad laddb laddf la lan lat lb lc lch lcl lcs le lefta let lex lf lfir lgetb lgete lg lgr lgrepa lh ll lla lli lmak lm lmapc lne lnew lnf ln loadk lo loc lockv lol lope lp lpf lr ls lt lu lua luad luaf lv lvimgrepa lw m|0 ma mak map mapc marks mat me menut mes mk mks mksp mkv mkvie mod mz mzf nbc nb nbs new nm nmapc nme nn nnoreme noa no noh norea noreme norm nu nun nunme ol o|0 om omapc ome on ono onoreme opt ou ounme ow p|0 profd prof pro promptr pc ped pe perld po popu pp pre prev ps pt ptN ptf ptj ptl ptn ptp ptr pts pu pw py3 python3 py3d py3f py pyd pyf quita qa rec red redi redr redraws reg res ret retu rew ri rightb rub rubyd rubyf rund ru rv sN san sa sal sav sb sbN sba sbf sbl sbm sbn sbp sbr scrip scripte scs se setf setg setl sf sfir sh sim sig sil sl sla sm smap smapc sme sn sni sno snor snoreme sor so spelld spe spelli spellr spellu spellw sp spr sre st sta startg startr star stopi stj sts sun sunm sunme sus sv sw sy synti sync tN tabN tabc tabdo tabe tabf tabfir tabl tabm tabnew tabn tabo tabp tabr tabs tab ta tags tc tcld tclf te tf th tj tl tm tn to tp tr try ts tu u|0 undoj undol una unh unl unlo unm unme uns up ve verb vert vim vimgrepa vi viu vie vm vmapc vme vne vn vnoreme vs vu vunme windo w|0 wN wa wh wi winc winp wn wp wq wqa ws wu wv x|0 xa xmapc xm xme xn xnoreme xu xunme y|0 z|0 ~ Next Print append abbreviate abclear aboveleft all amenu anoremenu args argadd argdelete argedit argglobal arglocal argument ascii autocmd augroup aunmenu buffer bNext ball badd bdelete behave belowright bfirst blast bmodified bnext botright bprevious brewind break breakadd breakdel breaklist browse bunload bwipeout change cNext cNfile cabbrev cabclear caddbuffer caddexpr caddfile call catch cbuffer cclose center cexpr cfile cfirst cgetbuffer cgetexpr cgetfile chdir checkpath checktime clist clast close cmap cmapclear cmenu cnext cnewer cnfile cnoremap cnoreabbrev cnoremenu copy colder colorscheme command comclear compiler continue confirm copen cprevious cpfile cquit crewind cscope cstag cunmap cunabbrev cunmenu cwindow delete delmarks debug debuggreedy delcommand delfunction diffupdate diffget diffoff diffpatch diffput diffsplit digraphs display deletel djump dlist doautocmd doautoall deletep drop dsearch dsplit edit earlier echo echoerr echohl echomsg else elseif emenu endif endfor endfunction endtry endwhile enew execute exit exusage file filetype find finally finish first fixdel fold foldclose folddoopen folddoclosed foldopen function global goto grep grepadd gui gvim hardcopy help helpfind helpgrep helptags highlight hide history insert iabbrev iabclear ijump ilist imap imapclear imenu inoremap inoreabbrev inoremenu intro isearch isplit iunmap iunabbrev iunmenu join jumps keepalt keepmarks keepjumps lNext lNfile list laddexpr laddbuffer laddfile last language later lbuffer lcd lchdir lclose lcscope left leftabove lexpr lfile lfirst lgetbuffer lgetexpr lgetfile lgrep lgrepadd lhelpgrep llast llist lmake lmap lmapclear lnext lnewer lnfile lnoremap loadkeymap loadview lockmarks lockvar lolder lopen lprevious lpfile lrewind ltag lunmap luado luafile lvimgrep lvimgrepadd lwindow move mark make mapclear match menu menutranslate messages mkexrc mksession mkspell mkvimrc mkview mode mzscheme mzfile nbclose nbkey nbsart next nmap nmapclear nmenu nnoremap nnoremenu noautocmd noremap nohlsearch noreabbrev noremenu normal number nunmap nunmenu oldfiles open omap omapclear omenu only onoremap onoremenu options ounmap ounmenu ownsyntax print profdel profile promptfind promptrepl pclose pedit perl perldo pop popup ppop preserve previous psearch ptag ptNext ptfirst ptjump ptlast ptnext ptprevious ptrewind ptselect put pwd py3do py3file python pydo pyfile quit quitall qall read recover redo redir redraw redrawstatus registers resize retab return rewind right rightbelow ruby rubydo rubyfile rundo runtime rviminfo substitute sNext sandbox sargument sall saveas sbuffer sbNext sball sbfirst sblast sbmodified sbnext sbprevious sbrewind scriptnames scriptencoding scscope set setfiletype setglobal setlocal sfind sfirst shell simalt sign silent sleep slast smagic smapclear smenu snext sniff snomagic snoremap snoremenu sort source spelldump spellgood spellinfo spellrepall spellundo spellwrong split sprevious srewind stop stag startgreplace startreplace startinsert stopinsert stjump stselect sunhide sunmap sunmenu suspend sview swapname syntax syntime syncbind tNext tabNext tabclose tabedit tabfind tabfirst tablast tabmove tabnext tabonly tabprevious tabrewind tag tcl tcldo tclfile tearoff tfirst throw tjump tlast tmenu tnext topleft tprevious trewind tselect tunmenu undo undojoin undolist unabbreviate unhide unlet unlockvar unmap unmenu unsilent update vglobal version verbose vertical vimgrep vimgrepadd visual viusage view vmap vmapclear vmenu vnew vnoremap vnoremenu vsplit vunmap vunmenu write wNext wall while winsize wincmd winpos wnext wprevious wqall wsverb wundo wviminfo xit xall xmapclear xmap xmenu xnoremap xnoremenu xunmap xunmenu yank",built_in:"synIDtrans atan2 range matcharg did_filetype asin feedkeys xor argv complete_check add getwinposx getqflist getwinposy screencol clearmatches empty extend getcmdpos mzeval garbagecollect setreg ceil sqrt diff_hlID inputsecret get getfperm getpid filewritable shiftwidth max sinh isdirectory synID system inputrestore winline atan visualmode inputlist tabpagewinnr round getregtype mapcheck hasmapto histdel argidx findfile sha256 exists toupper getcmdline taglist string getmatches bufnr strftime winwidth bufexists strtrans tabpagebuflist setcmdpos remote_read printf setloclist getpos getline bufwinnr float2nr len getcmdtype diff_filler luaeval resolve libcallnr foldclosedend reverse filter has_key bufname str2float strlen setline getcharmod setbufvar index searchpos shellescape undofile foldclosed setqflist buflisted strchars str2nr virtcol floor remove undotree remote_expr winheight gettabwinvar reltime cursor tabpagenr finddir localtime acos getloclist search tanh matchend rename gettabvar strdisplaywidth type abs py3eval setwinvar tolower wildmenumode log10 spellsuggest bufloaded synconcealed nextnonblank server2client complete settabwinvar executable input wincol setmatches getftype hlID inputsave searchpair or screenrow line settabvar histadd deepcopy strpart remote_peek and eval getftime submatch screenchar winsaveview matchadd mkdir screenattr getfontname libcall reltimestr getfsize winnr invert pow getbufline byte2line soundfold repeat fnameescape tagfiles sin strwidth spellbadword trunc maparg log lispindent hostname setpos globpath remote_foreground getchar synIDattr fnamemodify cscope_connection stridx winbufnr indent min complete_add nr2char searchpairpos inputdialog values matchlist items hlexists strridx browsedir expand fmod pathshorten line2byte argc count getwinvar glob foldtextresult getreg foreground cosh matchdelete has char2nr simplify histget searchdecl iconv winrestcmd pumvisible writefile foldlevel haslocaldir keys cos matchstr foldtext histnr tan tempname getcwd byteidx getbufvar islocked escape eventhandler remote_send serverlist winrestview synstack pyeval prevnonblank readfile cindent filereadable changenr exp"},illegal:/;/,contains:[e.NUMBER_MODE,{className:"string",begin:"'",end:"'",illegal:"\\n"},{className:"string",begin:/"(\\"|\n\\|[^"\n])*"/},e.COMMENT('"',"$"),{className:"variable",begin:/[bwtglsav]:[\w\d_]*/},{className:"function",beginKeywords:"function function!",end:"$",relevance:0,contains:[e.TITLE_MODE,{className:"params",begin:"\\(",end:"\\)"}]},{className:"symbol",begin:/<[\w-]+>/}]}}},{name:"x86asm",create:function(e){return{case_insensitive:!0,lexemes:"[.%]?"+e.IDENT_RE,keywords:{keyword:"lock rep repe repz repne repnz xaquire xrelease bnd nobnd aaa aad aam aas adc add and arpl bb0_reset bb1_reset bound bsf bsr bswap bt btc btr bts call cbw cdq cdqe clc cld cli clts cmc cmp cmpsb cmpsd cmpsq cmpsw cmpxchg cmpxchg486 cmpxchg8b cmpxchg16b cpuid cpu_read cpu_write cqo cwd cwde daa das dec div dmint emms enter equ f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms feni ffree ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem fprem1 fptan frndint frstor fsave fscale fsetpm fsin fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip fucomp fucompp fxam fxch fxtract fyl2x fyl2xp1 hlt ibts icebp idiv imul in inc incbin insb insd insw int int01 int1 int03 int3 into invd invpcid invlpg invlpga iret iretd iretq iretw jcxz jecxz jrcxz jmp jmpe lahf lar lds lea leave les lfence lfs lgdt lgs lidt lldt lmsw loadall loadall286 lodsb lodsd lodsq lodsw loop loope loopne loopnz loopz lsl lss ltr mfence monitor mov movd movq movsb movsd movsq movsw movsx movsxd movzx mul mwait neg nop not or out outsb outsd outsw packssdw packsswb packuswb paddb paddd paddsb paddsiw paddsw paddusb paddusw paddw pand pandn pause paveb pavgusb pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pdistib pf2id pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmachriw pmaddwd pmagw pmulhriw pmulhrwa pmulhrwc pmulhw pmullw pmvgezb pmvlzb pmvnzb pmvzb pop popa popad popaw popf popfd popfq popfw por prefetch prefetchw pslld psllq psllw psrad psraw psrld psrlq psrlw psubb psubd psubsb psubsiw psubsw psubusb psubusw psubw punpckhbw punpckhdq punpckhwd punpcklbw punpckldq punpcklwd push pusha pushad pushaw pushf pushfd pushfq pushfw pxor rcl rcr rdshr rdmsr rdpmc rdtsc rdtscp ret retf retn rol ror rdm rsdc rsldt rsm rsts sahf sal salc sar sbb scasb scasd scasq scasw sfence sgdt shl shld shr shrd sidt sldt skinit smi smint smintold smsw stc std sti stosb stosd stosq stosw str sub svdc svldt svts swapgs syscall sysenter sysexit sysret test ud0 ud1 ud2b ud2 ud2a umov verr verw fwait wbinvd wrshr wrmsr xadd xbts xchg xlatb xlat xor cmove cmovz cmovne cmovnz cmova cmovnbe cmovae cmovnb cmovb cmovnae cmovbe cmovna cmovg cmovnle cmovge cmovnl cmovl cmovnge cmovle cmovng cmovc cmovnc cmovo cmovno cmovs cmovns cmovp cmovpe cmovnp cmovpo je jz jne jnz ja jnbe jae jnb jb jnae jbe jna jg jnle jge jnl jl jnge jle jng jc jnc jo jno js jns jpo jnp jpe jp sete setz setne setnz seta setnbe setae setnb setnc setb setnae setcset setbe setna setg setnle setge setnl setl setnge setle setng sets setns seto setno setpe setp setpo setnp addps addss andnps andps cmpeqps cmpeqss cmpleps cmpless cmpltps cmpltss cmpneqps cmpneqss cmpnleps cmpnless cmpnltps cmpnltss cmpordps cmpordss cmpunordps cmpunordss cmpps cmpss comiss cvtpi2ps cvtps2pi cvtsi2ss cvtss2si cvttps2pi cvttss2si divps divss ldmxcsr maxps maxss minps minss movaps movhps movlhps movlps movhlps movmskps movntps movss movups mulps mulss orps rcpps rcpss rsqrtps rsqrtss shufps sqrtps sqrtss stmxcsr subps subss ucomiss unpckhps unpcklps xorps fxrstor fxrstor64 fxsave fxsave64 xgetbv xsetbv xsave xsave64 xsaveopt xsaveopt64 xrstor xrstor64 prefetchnta prefetcht0 prefetcht1 prefetcht2 maskmovq movntq pavgb pavgw pextrw pinsrw pmaxsw pmaxub pminsw pminub pmovmskb pmulhuw psadbw pshufw pf2iw pfnacc pfpnacc pi2fw pswapd maskmovdqu clflush movntdq movnti movntpd movdqa movdqu movdq2q movq2dq paddq pmuludq pshufd pshufhw pshuflw pslldq psrldq psubq punpckhqdq punpcklqdq addpd addsd andnpd andpd cmpeqpd cmpeqsd cmplepd cmplesd cmpltpd cmpltsd cmpneqpd cmpneqsd cmpnlepd cmpnlesd cmpnltpd cmpnltsd cmpordpd cmpordsd cmpunordpd cmpunordsd cmppd comisd cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd cvtps2dq cvtps2pd cvtsd2si cvtsd2ss cvtsi2sd cvtss2sd cvttpd2pi cvttpd2dq cvttps2dq cvttsd2si divpd divsd maxpd maxsd minpd minsd movapd movhpd movlpd movmskpd movupd mulpd mulsd orpd shufpd sqrtpd sqrtsd subpd subsd ucomisd unpckhpd unpcklpd xorpd addsubpd addsubps haddpd haddps hsubpd hsubps lddqu movddup movshdup movsldup clgi stgi vmcall vmclear vmfunc vmlaunch vmload vmmcall vmptrld vmptrst vmread vmresume vmrun vmsave vmwrite vmxoff vmxon invept invvpid pabsb pabsw pabsd palignr phaddw phaddd phaddsw phsubw phsubd phsubsw pmaddubsw pmulhrsw pshufb psignb psignw psignd extrq insertq movntsd movntss lzcnt blendpd blendps blendvpd blendvps dppd dpps extractps insertps movntdqa mpsadbw packusdw pblendvb pblendw pcmpeqq pextrb pextrd pextrq phminposuw pinsrb pinsrd pinsrq pmaxsb pmaxsd pmaxud pmaxuw pminsb pminsd pminud pminuw pmovsxbw pmovsxbd pmovsxbq pmovsxwd pmovsxwq pmovsxdq pmovzxbw pmovzxbd pmovzxbq pmovzxwd pmovzxwq pmovzxdq pmuldq pmulld ptest roundpd roundps roundsd roundss crc32 pcmpestri pcmpestrm pcmpistri pcmpistrm pcmpgtq popcnt getsec pfrcpv pfrsqrtv movbe aesenc aesenclast aesdec aesdeclast aesimc aeskeygenassist vaesenc vaesenclast vaesdec vaesdeclast vaesimc vaeskeygenassist vaddpd vaddps vaddsd vaddss vaddsubpd vaddsubps vandpd vandps vandnpd vandnps vblendpd vblendps vblendvpd vblendvps vbroadcastss vbroadcastsd vbroadcastf128 vcmpeq_ospd vcmpeqpd vcmplt_ospd vcmpltpd vcmple_ospd vcmplepd vcmpunord_qpd vcmpunordpd vcmpneq_uqpd vcmpneqpd vcmpnlt_uspd vcmpnltpd vcmpnle_uspd vcmpnlepd vcmpord_qpd vcmpordpd vcmpeq_uqpd vcmpnge_uspd vcmpngepd vcmpngt_uspd vcmpngtpd vcmpfalse_oqpd vcmpfalsepd vcmpneq_oqpd vcmpge_ospd vcmpgepd vcmpgt_ospd vcmpgtpd vcmptrue_uqpd vcmptruepd vcmplt_oqpd vcmple_oqpd vcmpunord_spd vcmpneq_uspd vcmpnlt_uqpd vcmpnle_uqpd vcmpord_spd vcmpeq_uspd vcmpnge_uqpd vcmpngt_uqpd vcmpfalse_ospd vcmpneq_ospd vcmpge_oqpd vcmpgt_oqpd vcmptrue_uspd vcmppd vcmpeq_osps vcmpeqps vcmplt_osps vcmpltps vcmple_osps vcmpleps vcmpunord_qps vcmpunordps vcmpneq_uqps vcmpneqps vcmpnlt_usps vcmpnltps vcmpnle_usps vcmpnleps vcmpord_qps vcmpordps vcmpeq_uqps vcmpnge_usps vcmpngeps vcmpngt_usps vcmpngtps vcmpfalse_oqps vcmpfalseps vcmpneq_oqps vcmpge_osps vcmpgeps vcmpgt_osps vcmpgtps vcmptrue_uqps vcmptrueps vcmplt_oqps vcmple_oqps vcmpunord_sps vcmpneq_usps vcmpnlt_uqps vcmpnle_uqps vcmpord_sps vcmpeq_usps vcmpnge_uqps vcmpngt_uqps vcmpfalse_osps vcmpneq_osps vcmpge_oqps vcmpgt_oqps vcmptrue_usps vcmpps vcmpeq_ossd vcmpeqsd vcmplt_ossd vcmpltsd vcmple_ossd vcmplesd vcmpunord_qsd vcmpunordsd vcmpneq_uqsd vcmpneqsd vcmpnlt_ussd vcmpnltsd vcmpnle_ussd vcmpnlesd vcmpord_qsd vcmpordsd vcmpeq_uqsd vcmpnge_ussd vcmpngesd vcmpngt_ussd vcmpngtsd vcmpfalse_oqsd vcmpfalsesd vcmpneq_oqsd vcmpge_ossd vcmpgesd vcmpgt_ossd vcmpgtsd vcmptrue_uqsd vcmptruesd vcmplt_oqsd vcmple_oqsd vcmpunord_ssd vcmpneq_ussd vcmpnlt_uqsd vcmpnle_uqsd vcmpord_ssd vcmpeq_ussd vcmpnge_uqsd vcmpngt_uqsd vcmpfalse_ossd vcmpneq_ossd vcmpge_oqsd vcmpgt_oqsd vcmptrue_ussd vcmpsd vcmpeq_osss vcmpeqss vcmplt_osss vcmpltss vcmple_osss vcmpless vcmpunord_qss vcmpunordss vcmpneq_uqss vcmpneqss vcmpnlt_usss vcmpnltss vcmpnle_usss vcmpnless vcmpord_qss vcmpordss vcmpeq_uqss vcmpnge_usss vcmpngess vcmpngt_usss vcmpngtss vcmpfalse_oqss vcmpfalsess vcmpneq_oqss vcmpge_osss vcmpgess vcmpgt_osss vcmpgtss vcmptrue_uqss vcmptruess vcmplt_oqss vcmple_oqss vcmpunord_sss vcmpneq_usss vcmpnlt_uqss vcmpnle_uqss vcmpord_sss vcmpeq_usss vcmpnge_uqss vcmpngt_uqss vcmpfalse_osss vcmpneq_osss vcmpge_oqss vcmpgt_oqss vcmptrue_usss vcmpss vcomisd vcomiss vcvtdq2pd vcvtdq2ps vcvtpd2dq vcvtpd2ps vcvtps2dq vcvtps2pd vcvtsd2si vcvtsd2ss vcvtsi2sd vcvtsi2ss vcvtss2sd vcvtss2si vcvttpd2dq vcvttps2dq vcvttsd2si vcvttss2si vdivpd vdivps vdivsd vdivss vdppd vdpps vextractf128 vextractps vhaddpd vhaddps vhsubpd vhsubps vinsertf128 vinsertps vlddqu vldqqu vldmxcsr vmaskmovdqu vmaskmovps vmaskmovpd vmaxpd vmaxps vmaxsd vmaxss vminpd vminps vminsd vminss vmovapd vmovaps vmovd vmovq vmovddup vmovdqa vmovqqa vmovdqu vmovqqu vmovhlps vmovhpd vmovhps vmovlhps vmovlpd vmovlps vmovmskpd vmovmskps vmovntdq vmovntqq vmovntdqa vmovntpd vmovntps vmovsd vmovshdup vmovsldup vmovss vmovupd vmovups vmpsadbw vmulpd vmulps vmulsd vmulss vorpd vorps vpabsb vpabsw vpabsd vpacksswb vpackssdw vpackuswb vpackusdw vpaddb vpaddw vpaddd vpaddq vpaddsb vpaddsw vpaddusb vpaddusw vpalignr vpand vpandn vpavgb vpavgw vpblendvb vpblendw vpcmpestri vpcmpestrm vpcmpistri vpcmpistrm vpcmpeqb vpcmpeqw vpcmpeqd vpcmpeqq vpcmpgtb vpcmpgtw vpcmpgtd vpcmpgtq vpermilpd vpermilps vperm2f128 vpextrb vpextrw vpextrd vpextrq vphaddw vphaddd vphaddsw vphminposuw vphsubw vphsubd vphsubsw vpinsrb vpinsrw vpinsrd vpinsrq vpmaddwd vpmaddubsw vpmaxsb vpmaxsw vpmaxsd vpmaxub vpmaxuw vpmaxud vpminsb vpminsw vpminsd vpminub vpminuw vpminud vpmovmskb vpmovsxbw vpmovsxbd vpmovsxbq vpmovsxwd vpmovsxwq vpmovsxdq vpmovzxbw vpmovzxbd vpmovzxbq vpmovzxwd vpmovzxwq vpmovzxdq vpmulhuw vpmulhrsw vpmulhw vpmullw vpmulld vpmuludq vpmuldq vpor vpsadbw vpshufb vpshufd vpshufhw vpshuflw vpsignb vpsignw vpsignd vpslldq vpsrldq vpsllw vpslld vpsllq vpsraw vpsrad vpsrlw vpsrld vpsrlq vptest vpsubb vpsubw vpsubd vpsubq vpsubsb vpsubsw vpsubusb vpsubusw vpunpckhbw vpunpckhwd vpunpckhdq vpunpckhqdq vpunpcklbw vpunpcklwd vpunpckldq vpunpcklqdq vpxor vrcpps vrcpss vrsqrtps vrsqrtss vroundpd vroundps vroundsd vroundss vshufpd vshufps vsqrtpd vsqrtps vsqrtsd vsqrtss vstmxcsr vsubpd vsubps vsubsd vsubss vtestps vtestpd vucomisd vucomiss vunpckhpd vunpckhps vunpcklpd vunpcklps vxorpd vxorps vzeroall vzeroupper pclmullqlqdq pclmulhqlqdq pclmullqhqdq pclmulhqhqdq pclmulqdq vpclmullqlqdq vpclmulhqlqdq vpclmullqhqdq vpclmulhqhqdq vpclmulqdq vfmadd132ps vfmadd132pd vfmadd312ps vfmadd312pd vfmadd213ps vfmadd213pd vfmadd123ps vfmadd123pd vfmadd231ps vfmadd231pd vfmadd321ps vfmadd321pd vfmaddsub132ps vfmaddsub132pd vfmaddsub312ps vfmaddsub312pd vfmaddsub213ps vfmaddsub213pd vfmaddsub123ps vfmaddsub123pd vfmaddsub231ps vfmaddsub231pd vfmaddsub321ps vfmaddsub321pd vfmsub132ps vfmsub132pd vfmsub312ps vfmsub312pd vfmsub213ps vfmsub213pd vfmsub123ps vfmsub123pd vfmsub231ps vfmsub231pd vfmsub321ps vfmsub321pd vfmsubadd132ps vfmsubadd132pd vfmsubadd312ps vfmsubadd312pd vfmsubadd213ps vfmsubadd213pd vfmsubadd123ps vfmsubadd123pd vfmsubadd231ps vfmsubadd231pd vfmsubadd321ps vfmsubadd321pd vfnmadd132ps vfnmadd132pd vfnmadd312ps vfnmadd312pd vfnmadd213ps vfnmadd213pd vfnmadd123ps vfnmadd123pd vfnmadd231ps vfnmadd231pd vfnmadd321ps vfnmadd321pd vfnmsub132ps vfnmsub132pd vfnmsub312ps vfnmsub312pd vfnmsub213ps vfnmsub213pd vfnmsub123ps vfnmsub123pd vfnmsub231ps vfnmsub231pd vfnmsub321ps vfnmsub321pd vfmadd132ss vfmadd132sd vfmadd312ss vfmadd312sd vfmadd213ss vfmadd213sd vfmadd123ss vfmadd123sd vfmadd231ss vfmadd231sd vfmadd321ss vfmadd321sd vfmsub132ss vfmsub132sd vfmsub312ss vfmsub312sd vfmsub213ss vfmsub213sd vfmsub123ss vfmsub123sd vfmsub231ss vfmsub231sd vfmsub321ss vfmsub321sd vfnmadd132ss vfnmadd132sd vfnmadd312ss vfnmadd312sd vfnmadd213ss vfnmadd213sd vfnmadd123ss vfnmadd123sd vfnmadd231ss vfnmadd231sd vfnmadd321ss vfnmadd321sd vfnmsub132ss vfnmsub132sd vfnmsub312ss vfnmsub312sd vfnmsub213ss vfnmsub213sd vfnmsub123ss vfnmsub123sd vfnmsub231ss vfnmsub231sd vfnmsub321ss vfnmsub321sd rdfsbase rdgsbase rdrand wrfsbase wrgsbase vcvtph2ps vcvtps2ph adcx adox rdseed clac stac xstore xcryptecb xcryptcbc xcryptctr xcryptcfb xcryptofb montmul xsha1 xsha256 llwpcb slwpcb lwpval lwpins vfmaddpd vfmaddps vfmaddsd vfmaddss vfmaddsubpd vfmaddsubps vfmsubaddpd vfmsubaddps vfmsubpd vfmsubps vfmsubsd vfmsubss vfnmaddpd vfnmaddps vfnmaddsd vfnmaddss vfnmsubpd vfnmsubps vfnmsubsd vfnmsubss vfrczpd vfrczps vfrczsd vfrczss vpcmov vpcomb vpcomd vpcomq vpcomub vpcomud vpcomuq vpcomuw vpcomw vphaddbd vphaddbq vphaddbw vphadddq vphaddubd vphaddubq vphaddubw vphaddudq vphadduwd vphadduwq vphaddwd vphaddwq vphsubbw vphsubdq vphsubwd vpmacsdd vpmacsdqh vpmacsdql vpmacssdd vpmacssdqh vpmacssdql vpmacsswd vpmacssww vpmacswd vpmacsww vpmadcsswd vpmadcswd vpperm vprotb vprotd vprotq vprotw vpshab vpshad vpshaq vpshaw vpshlb vpshld vpshlq vpshlw vbroadcasti128 vpblendd vpbroadcastb vpbroadcastw vpbroadcastd vpbroadcastq vpermd vpermpd vpermps vpermq vperm2i128 vextracti128 vinserti128 vpmaskmovd vpmaskmovq vpsllvd vpsllvq vpsravd vpsrlvd vpsrlvq vgatherdpd vgatherqpd vgatherdps vgatherqps vpgatherdd vpgatherqd vpgatherdq vpgatherqq xabort xbegin xend xtest andn bextr blci blcic blsi blsic blcfill blsfill blcmsk blsmsk blsr blcs bzhi mulx pdep pext rorx sarx shlx shrx tzcnt tzmsk t1mskc valignd valignq vblendmpd vblendmps vbroadcastf32x4 vbroadcastf64x4 vbroadcasti32x4 vbroadcasti64x4 vcompresspd vcompressps vcvtpd2udq vcvtps2udq vcvtsd2usi vcvtss2usi vcvttpd2udq vcvttps2udq vcvttsd2usi vcvttss2usi vcvtudq2pd vcvtudq2ps vcvtusi2sd vcvtusi2ss vexpandpd vexpandps vextractf32x4 vextractf64x4 vextracti32x4 vextracti64x4 vfixupimmpd vfixupimmps vfixupimmsd vfixupimmss vgetexppd vgetexpps vgetexpsd vgetexpss vgetmantpd vgetmantps vgetmantsd vgetmantss vinsertf32x4 vinsertf64x4 vinserti32x4 vinserti64x4 vmovdqa32 vmovdqa64 vmovdqu32 vmovdqu64 vpabsq vpandd vpandnd vpandnq vpandq vpblendmd vpblendmq vpcmpltd vpcmpled vpcmpneqd vpcmpnltd vpcmpnled vpcmpd vpcmpltq vpcmpleq vpcmpneqq vpcmpnltq vpcmpnleq vpcmpq vpcmpequd vpcmpltud vpcmpleud vpcmpnequd vpcmpnltud vpcmpnleud vpcmpud vpcmpequq vpcmpltuq vpcmpleuq vpcmpnequq vpcmpnltuq vpcmpnleuq vpcmpuq vpcompressd vpcompressq vpermi2d vpermi2pd vpermi2ps vpermi2q vpermt2d vpermt2pd vpermt2ps vpermt2q vpexpandd vpexpandq vpmaxsq vpmaxuq vpminsq vpminuq vpmovdb vpmovdw vpmovqb vpmovqd vpmovqw vpmovsdb vpmovsdw vpmovsqb vpmovsqd vpmovsqw vpmovusdb vpmovusdw vpmovusqb vpmovusqd vpmovusqw vpord vporq vprold vprolq vprolvd vprolvq vprord vprorq vprorvd vprorvq vpscatterdd vpscatterdq vpscatterqd vpscatterqq vpsraq vpsravq vpternlogd vpternlogq vptestmd vptestmq vptestnmd vptestnmq vpxord vpxorq vrcp14pd vrcp14ps vrcp14sd vrcp14ss vrndscalepd vrndscaleps vrndscalesd vrndscaless vrsqrt14pd vrsqrt14ps vrsqrt14sd vrsqrt14ss vscalefpd vscalefps vscalefsd vscalefss vscatterdpd vscatterdps vscatterqpd vscatterqps vshuff32x4 vshuff64x2 vshufi32x4 vshufi64x2 kandnw kandw kmovw knotw kortestw korw kshiftlw kshiftrw kunpckbw kxnorw kxorw vpbroadcastmb2q vpbroadcastmw2d vpconflictd vpconflictq vplzcntd vplzcntq vexp2pd vexp2ps vrcp28pd vrcp28ps vrcp28sd vrcp28ss vrsqrt28pd vrsqrt28ps vrsqrt28sd vrsqrt28ss vgatherpf0dpd vgatherpf0dps vgatherpf0qpd vgatherpf0qps vgatherpf1dpd vgatherpf1dps vgatherpf1qpd vgatherpf1qps vscatterpf0dpd vscatterpf0dps vscatterpf0qpd vscatterpf0qps vscatterpf1dpd vscatterpf1dps vscatterpf1qpd vscatterpf1qps prefetchwt1 bndmk bndcl bndcu bndcn bndmov bndldx bndstx sha1rnds4 sha1nexte sha1msg1 sha1msg2 sha256rnds2 sha256msg1 sha256msg2 hint_nop0 hint_nop1 hint_nop2 hint_nop3 hint_nop4 hint_nop5 hint_nop6 hint_nop7 hint_nop8 hint_nop9 hint_nop10 hint_nop11 hint_nop12 hint_nop13 hint_nop14 hint_nop15 hint_nop16 hint_nop17 hint_nop18 hint_nop19 hint_nop20 hint_nop21 hint_nop22 hint_nop23 hint_nop24 hint_nop25 hint_nop26 hint_nop27 hint_nop28 hint_nop29 hint_nop30 hint_nop31 hint_nop32 hint_nop33 hint_nop34 hint_nop35 hint_nop36 hint_nop37 hint_nop38 hint_nop39 hint_nop40 hint_nop41 hint_nop42 hint_nop43 hint_nop44 hint_nop45 hint_nop46 hint_nop47 hint_nop48 hint_nop49 hint_nop50 hint_nop51 hint_nop52 hint_nop53 hint_nop54 hint_nop55 hint_nop56 hint_nop57 hint_nop58 hint_nop59 hint_nop60 hint_nop61 hint_nop62 hint_nop63",built_in:"ip eip rip al ah bl bh cl ch dl dh sil dil bpl spl r8b r9b r10b r11b r12b r13b r14b r15b ax bx cx dx si di bp sp r8w r9w r10w r11w r12w r13w r14w r15w eax ebx ecx edx esi edi ebp esp eip r8d r9d r10d r11d r12d r13d r14d r15d rax rbx rcx rdx rsi rdi rbp rsp r8 r9 r10 r11 r12 r13 r14 r15 cs ds es fs gs ss st st0 st1 st2 st3 st4 st5 st6 st7 mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7 xmm8 xmm9 xmm10 xmm11 xmm12 xmm13 xmm14 xmm15 xmm16 xmm17 xmm18 xmm19 xmm20 xmm21 xmm22 xmm23 xmm24 xmm25 xmm26 xmm27 xmm28 xmm29 xmm30 xmm31 ymm0 ymm1 ymm2 ymm3 ymm4 ymm5 ymm6 ymm7 ymm8 ymm9 ymm10 ymm11 ymm12 ymm13 ymm14 ymm15 ymm16 ymm17 ymm18 ymm19 ymm20 ymm21 ymm22 ymm23 ymm24 ymm25 ymm26 ymm27 ymm28 ymm29 ymm30 ymm31 zmm0 zmm1 zmm2 zmm3 zmm4 zmm5 zmm6 zmm7 zmm8 zmm9 zmm10 zmm11 zmm12 zmm13 zmm14 zmm15 zmm16 zmm17 zmm18 zmm19 zmm20 zmm21 zmm22 zmm23 zmm24 zmm25 zmm26 zmm27 zmm28 zmm29 zmm30 zmm31 k0 k1 k2 k3 k4 k5 k6 k7 bnd0 bnd1 bnd2 bnd3 cr0 cr1 cr2 cr3 cr4 cr8 dr0 dr1 dr2 dr3 dr8 tr3 tr4 tr5 tr6 tr7 r0 r1 r2 r3 r4 r5 r6 r7 r0b r1b r2b r3b r4b r5b r6b r7b r0w r1w r2w r3w r4w r5w r6w r7w r0d r1d r2d r3d r4d r5d r6d r7d r0h r1h r2h r3h r0l r1l r2l r3l r4l r5l r6l r7l r8l r9l r10l r11l r12l r13l r14l r15l db dw dd dq dt ddq do dy dz resb resw resd resq rest resdq reso resy resz incbin equ times byte word dword qword nosplit rel abs seg wrt strict near far a32 ptr",meta:"%define %xdefine %+ %undef %defstr %deftok %assign %strcat %strlen %substr %rotate %elif %else %endif %if %ifmacro %ifctx %ifidn %ifidni %ifid %ifnum %ifstr %iftoken %ifempty %ifenv %error %warning %fatal %rep %endrep %include %push %pop %repl %pathsearch %depend %use %arg %stacksize %local %line %comment %endcomment .nolist __FILE__ __LINE__ __SECT__ __BITS__ __OUTPUT_FORMAT__ __DATE__ __TIME__ __DATE_NUM__ __TIME_NUM__ __UTC_DATE__ __UTC_TIME__ __UTC_DATE_NUM__ __UTC_TIME_NUM__ __PASS__ struc endstruc istruc at iend align alignb sectalign daz nodaz up down zero default option assume public bits use16 use32 use64 default section segment absolute extern global common cpu float __utf16__ __utf16le__ __utf16be__ __utf32__ __utf32le__ __utf32be__ __float8__ __float16__ __float32__ __float64__ __float80m__ __float80e__ __float128l__ __float128h__ __Infinity__ __QNaN__ __SNaN__ Inf NaN QNaN SNaN float8 float16 float32 float64 float80m float80e float128l float128h __FLOAT_DAZ__ __FLOAT_ROUND__ __FLOAT__"},contains:[e.COMMENT(";","$",{relevance:0}),{className:"number",variants:[{begin:"\\b(?:([0-9][0-9_]*)?\\.[0-9_]*(?:[eE][+-]?[0-9_]+)?|(0[Xx])?[0-9][0-9_]*\\.?[0-9_]*(?:[pP](?:[+-]?[0-9_]+)?)?)\\b",relevance:0},{begin:"\\$[0-9][0-9A-Fa-f]*",relevance:0},{begin:"\\b(?:[0-9A-Fa-f][0-9A-Fa-f_]*[Hh]|[0-9][0-9_]*[DdTt]?|[0-7][0-7_]*[QqOo]|[0-1][0-1_]*[BbYy])\\b"},{begin:"\\b(?:0[Xx][0-9A-Fa-f_]+|0[DdTt][0-9_]+|0[QqOo][0-7_]+|0[BbYy][0-1_]+)\\b"}]},e.QUOTE_STRING_MODE,{className:"string",variants:[{begin:"'",end:"[^\\\\]'"},{begin:"`",end:"[^\\\\]`"}],relevance:0},{className:"symbol",variants:[{begin:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)"},{begin:"^\\s*%%[A-Za-z0-9_$#@~.?]*:"}],relevance:0},{className:"subst",begin:"%[0-9]+",relevance:0},{className:"subst",begin:"%!S+",relevance:0},{className:"meta",begin:/^\s*\.[\w_-]+/}]}}},{name:"xl",create:function(e){var t={keyword:"if then else do while until for loop import with is as where when by data constant integer real text name boolean symbol infix prefix postfix block tree",literal:"true false nil",built_in:"in mod rem and or xor not abs sign floor ceil sqrt sin cos tan asin acos atan exp expm1 log log2 log10 log1p pi at text_length text_range text_find text_replace contains page slide basic_slide title_slide title subtitle fade_in fade_out fade_at clear_color color line_color line_width texture_wrap texture_transform texture scale_?x scale_?y scale_?z? translate_?x translate_?y translate_?z? rotate_?x rotate_?y rotate_?z? rectangle circle ellipse sphere path line_to move_to quad_to curve_to theme background contents locally time mouse_?x mouse_?y mouse_buttons ObjectLoader Animate MovieCredits Slides Filters Shading Materials LensFlare Mapping VLCAudioVideo StereoDecoder PointCloud NetworkAccess RemoteControl RegExp ChromaKey Snowfall NodeJS Speech Charts"},a={className:"string",begin:'"',end:'"',illegal:"\\n"},r={className:"string",begin:"'",end:"'",illegal:"\\n"},i={className:"string",begin:"<<",end:">>"},s={className:"number",begin:"[0-9]+#[0-9A-Z_]+(\\.[0-9-A-Z_]+)?#?([Ee][+-]?[0-9]+)?"},n={beginKeywords:"import",end:"$",keywords:t,contains:[a]},o={className:"function",begin:/[a-z][^\n]*->/,returnBegin:!0,end:/->/,contains:[e.inherit(e.TITLE_MODE,{starts:{endsWithParent:!0,keywords:t}})]};return{aliases:["tao"],lexemes:/[a-zA-Z][a-zA-Z0-9_?]*/,keywords:t,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,r,i,o,n,s,e.NUMBER_MODE]}}},{name:"xml",create:function(e){var t={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:"[A-Za-z0-9\\._:-]+",relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/},{begin:/'/,end:/'/},{begin:/[^\s"'=<>`]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf"],case_insensitive:!0,contains:[{className:"meta",begin:"<!DOCTYPE",end:">",relevance:10,contains:[{begin:"\\[",end:"\\]"}]},e.COMMENT("\x3c!--","--\x3e",{relevance:10}),{begin:"<\\!\\[CDATA\\[",end:"\\]\\]>",relevance:10},{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{begin:/<\?(php)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]},{className:"tag",begin:"<style(?=\\s|>|$)",end:">",keywords:{name:"style"},contains:[t],starts:{end:"</style>",returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:"<script(?=\\s|>|$)",end:">",keywords:{name:"script"},contains:[t],starts:{end:"<\/script>",returnEnd:!0,subLanguage:["actionscript","javascript","handlebars","xml","vbscript"]}},{className:"tag",begin:"</?",end:"/?>",contains:[{className:"name",begin:/[^\/><\s]+/,relevance:0},t]}]}}},{name:"xquery",create:function(e){var t={className:"built_in",variants:[{begin:/\barray\:/,end:/(?:append|filter|flatten|fold\-(?:left|right)|for-each(?:\-pair)?|get|head|insert\-before|join|put|remove|reverse|size|sort|subarray|tail)\b/},{begin:/\bmap\:/,end:/(?:contains|entry|find|for\-each|get|keys|merge|put|remove|size)\b/},{begin:/\bmath\:/,end:/(?:a(?:cos|sin|tan[2]?)|cos|exp(?:10)?|log(?:10)?|pi|pow|sin|sqrt|tan)\b/},{begin:/\bop\:/,end:/\(/,excludeEnd:!0},{begin:/\bfn\:/,end:/\(/,excludeEnd:!0},{ +begin:/[^<\/\$\:'"-]\b(?:abs|accumulator\-(?:after|before)|adjust\-(?:date(?:Time)?|time)\-to\-timezone|analyze\-string|apply|available\-(?:environment\-variables|system\-properties)|avg|base\-uri|boolean|ceiling|codepoints?\-(?:equal|to\-string)|collation\-key|collection|compare|concat|contains(?:\-token)?|copy\-of|count|current(?:\-)?(?:date(?:Time)?|time|group(?:ing\-key)?|output\-uri|merge\-(?:group|key))?data|dateTime|days?\-from\-(?:date(?:Time)?|duration)|deep\-equal|default\-(?:collation|language)|distinct\-values|document(?:\-uri)?|doc(?:\-available)?|element\-(?:available|with\-id)|empty|encode\-for\-uri|ends\-with|environment\-variable|error|escape\-html\-uri|exactly\-one|exists|false|filter|floor|fold\-(?:left|right)|for\-each(?:\-pair)?|format\-(?:date(?:Time)?|time|integer|number)|function\-(?:arity|available|lookup|name)|generate\-id|has\-children|head|hours\-from\-(?:dateTime|duration|time)|id(?:ref)?|implicit\-timezone|in\-scope\-prefixes|index\-of|innermost|insert\-before|iri\-to\-uri|json\-(?:doc|to\-xml)|key|lang|last|load\-xquery\-module|local\-name(?:\-from\-QName)?|(?:lower|upper)\-case|matches|max|minutes\-from\-(?:dateTime|duration|time)|min|months?\-from\-(?:date(?:Time)?|duration)|name(?:space\-uri\-?(?:for\-prefix|from\-QName)?)?|nilled|node\-name|normalize\-(?:space|unicode)|not|number|one\-or\-more|outermost|parse\-(?:ietf\-date|json)|path|position|(?:prefix\-from\-)?QName|random\-number\-generator|regex\-group|remove|replace|resolve\-(?:QName|uri)|reverse|root|round(?:\-half\-to\-even)?|seconds\-from\-(?:dateTime|duration|time)|snapshot|sort|starts\-with|static\-base\-uri|stream\-available|string\-?(?:join|length|to\-codepoints)?|subsequence|substring\-?(?:after|before)?|sum|system\-property|tail|timezone\-from\-(?:date(?:Time)?|time)|tokenize|trace|trans(?:form|late)|true|type\-available|unordered|unparsed\-(?:entity|text)?\-?(?:public\-id|uri|available|lines)?|uri\-collection|xml\-to\-json|years?\-from\-(?:date(?:Time)?|duration)|zero\-or\-one)\b/},{begin:/\blocal\:/,end:/\(/,excludeEnd:!0},{begin:/\bzip\:/,end:/(?:zip\-file|(?:xml|html|text|binary)\-entry| (?:update\-)?entries)\b/},{begin:/\b(?:util|db|functx|app|xdmp|xmldb)\:/,end:/\(/,excludeEnd:!0}]},a={className:"title",begin:/\bxquery version "[13]\.[01]"\s?(?:encoding ".+")?/,end:/;/},r={className:"variable",begin:/[\$][\w-:]+/},i={className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},s={className:"string",variants:[{begin:/"/,end:/"/,contains:[{begin:/""/,relevance:0}]},{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]}]},n={className:"meta",begin:/%[\w-:]+/},o={className:"comment",begin:"\\(:",end:":\\)",relevance:10,contains:[{className:"doctag",begin:"@\\w+"}]},l={beginKeywords:"element attribute comment document processing-instruction",end:"{",excludeEnd:!0},c={begin:/<([\w\._:\-]+)((\s*.*)=('|").*('|"))?>/,end:/(\/[\w\._:\-]+>)/,subLanguage:"xml",contains:[{begin:"{",end:"}",subLanguage:"xquery"},"self"]},d=[r,t,s,i,o,n,a,l,c];return{aliases:["xpath","xq"],case_insensitive:!1,lexemes:/[a-zA-Z\$][a-zA-Z0-9_:\-]*/,illegal:/(proc)|(abstract)|(extends)|(until)|(#)/,keywords:{keyword:"module schema namespace boundary-space preserve no-preserve strip default collation base-uri ordering context decimal-format decimal-separator copy-namespaces empty-sequence except exponent-separator external grouping-separator inherit no-inherit lax minus-sign per-mille percent schema-attribute schema-element strict unordered zero-digit declare import option function validate variable for at in let where order group by return if then else tumbling sliding window start when only end previous next stable ascending descending allowing empty greatest least some every satisfies switch case typeswitch try catch and or to union intersect instance of treat as castable cast map array delete insert into replace value rename copy modify update",type:"item document-node node attribute document element comment namespace namespace-node processing-instruction text construction xs:anyAtomicType xs:untypedAtomic xs:duration xs:time xs:decimal xs:float xs:double xs:gYearMonth xs:gYear xs:gMonthDay xs:gMonth xs:gDay xs:boolean xs:base64Binary xs:hexBinary xs:anyURI xs:QName xs:NOTATION xs:dateTime xs:dateTimeStamp xs:date xs:string xs:normalizedString xs:token xs:language xs:NMTOKEN xs:Name xs:NCName xs:ID xs:IDREF xs:ENTITY xs:integer xs:nonPositiveInteger xs:negativeInteger xs:long xs:int xs:short xs:byte xs:nonNegativeInteger xs:unisignedLong xs:unsignedInt xs:unsignedShort xs:unsignedByte xs:positiveInteger xs:yearMonthDuration xs:dayTimeDuration",literal:"eq ne lt le gt ge is self:: child:: descendant:: descendant-or-self:: attribute:: following:: following-sibling:: parent:: ancestor:: ancestor-or-self:: preceding:: preceding-sibling:: NaN"},contains:d}}},{name:"yaml",create:function(e){var t="[a-zA-Z_][\\w\\-]*",a={className:"attr",variants:[{begin:"^[ \\-]*"+t+":"},{begin:'^[ \\-]*"'+t+'":'},{begin:"^[ \\-]*'"+t+"':"}]},r={className:"template-variable",variants:[{begin:"{{",end:"}}"},{begin:"%{",end:"}"}]},i={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,r]};return{case_insensitive:!0,aliases:["yml","YAML","yaml"],contains:[a,{className:"meta",begin:"^---s*$",relevance:10},{className:"string",begin:"[\\|>] *$",returnEnd:!0,contains:i.contains,end:a.variants[0].begin},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!"+e.UNDERSCORE_IDENT_RE},{className:"type",begin:"!!"+e.UNDERSCORE_IDENT_RE},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"^ *-",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:"true false yes no null",keywords:{literal:"true false yes no null"}},e.C_NUMBER_MODE,i]}}},{name:"zephir",create:function(e){var t={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:'b"',end:'"'},{begin:"b'",end:"'"},e.inherit(e.APOS_STRING_MODE,{illegal:null}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null})]},a={variants:[e.BINARY_NUMBER_MODE,e.C_NUMBER_MODE]};return{aliases:["zep"],case_insensitive:!0,keywords:"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var let while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally int uint long ulong char uchar double float bool boolean stringlikely unlikely",contains:[e.C_LINE_COMMENT_MODE,e.HASH_COMMENT_MODE,e.COMMENT("/\\*","\\*/",{contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.COMMENT("__halt_compiler.+?;",!1,{endsWithParent:!0,keywords:"__halt_compiler",lexemes:e.UNDERSCORE_IDENT_RE}),{className:"string",begin:"<<<['\"]?\\w+['\"]?$",end:"^\\w+;",contains:[e.BACKSLASH_ESCAPE]},{begin:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{className:"function",beginKeywords:"function",end:/[;{]/,excludeEnd:!0,illegal:"\\$|\\[|%",contains:[e.UNDERSCORE_TITLE_MODE,{className:"params",begin:"\\(",end:"\\)",contains:["self",e.C_BLOCK_COMMENT_MODE,t,a]}]},{className:"class",beginKeywords:"class interface",end:"{",excludeEnd:!0,illegal:/[:\(\$"]/,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",end:";",illegal:/[\.']/,contains:[e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"use",end:";",contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"=>"},t,a]}}}],s=0;s<i.length;++s)r.registerLanguage(i[s].name,i[s].create);t.exports={styles:{"a11y-dark":".hljs-a11y-dark .hljs-comment,.hljs-a11y-dark .hljs-quote{color:#d4d0ab}.hljs-a11y-dark .hljs-variable,.hljs-a11y-dark .hljs-template-variable,.hljs-a11y-dark .hljs-tag,.hljs-a11y-dark .hljs-name,.hljs-a11y-dark .hljs-selector-id,.hljs-a11y-dark .hljs-selector-class,.hljs-a11y-dark .hljs-regexp,.hljs-a11y-dark .hljs-deletion{color:#ffa07a}.hljs-a11y-dark .hljs-number,.hljs-a11y-dark .hljs-built_in,.hljs-a11y-dark .hljs-builtin-name,.hljs-a11y-dark .hljs-literal,.hljs-a11y-dark .hljs-type,.hljs-a11y-dark .hljs-params,.hljs-a11y-dark .hljs-meta,.hljs-a11y-dark .hljs-link{color:#f5ab35}.hljs-a11y-dark .hljs-attribute{color:#ffd700}.hljs-a11y-dark .hljs-string,.hljs-a11y-dark .hljs-symbol,.hljs-a11y-dark .hljs-bullet,.hljs-a11y-dark .hljs-addition{color:#abe338}.hljs-a11y-dark .hljs-title,.hljs-a11y-dark .hljs-section{color:#00e0e0}.hljs-a11y-dark .hljs-keyword,.hljs-a11y-dark .hljs-selector-tag{color:#dcc6e0}.hljs-a11y-dark .hljs{display:block;overflow-x:auto;background:#2b2b2b;color:#f8f8f2;padding:.5em}.hljs-a11y-dark .hljs-emphasis{font-style:italic}.hljs-a11y-dark .hljs-strong{font-weight:bold}@media screen and (-ms-high-contrast:active){.hljs-a11y-dark .hljs-addition,.hljs-a11y-dark .hljs-attribute,.hljs-a11y-dark .hljs-built_in,.hljs-a11y-dark .hljs-builtin-name,.hljs-a11y-dark .hljs-bullet,.hljs-a11y-dark .hljs-comment,.hljs-a11y-dark .hljs-link,.hljs-a11y-dark .hljs-literal,.hljs-a11y-dark .hljs-meta,.hljs-a11y-dark .hljs-number,.hljs-a11y-dark .hljs-params,.hljs-a11y-dark .hljs-string,.hljs-a11y-dark .hljs-symbol,.hljs-a11y-dark .hljs-type,.hljs-a11y-dark .hljs-quote{color:highlight}.hljs-a11y-dark .hljs-keyword,.hljs-a11y-dark .hljs-selector-tag{font-weight:bold}}","a11y-light":".hljs-a11y-light .hljs-comment,.hljs-a11y-light .hljs-quote{color:#696969}.hljs-a11y-light .hljs-variable,.hljs-a11y-light .hljs-template-variable,.hljs-a11y-light .hljs-tag,.hljs-a11y-light .hljs-name,.hljs-a11y-light .hljs-selector-id,.hljs-a11y-light .hljs-selector-class,.hljs-a11y-light .hljs-regexp,.hljs-a11y-light .hljs-deletion{color:#d91e18}.hljs-a11y-light .hljs-number,.hljs-a11y-light .hljs-built_in,.hljs-a11y-light .hljs-builtin-name,.hljs-a11y-light .hljs-literal,.hljs-a11y-light .hljs-type,.hljs-a11y-light .hljs-params,.hljs-a11y-light .hljs-meta,.hljs-a11y-light .hljs-link{color:#aa5d00}.hljs-a11y-light .hljs-attribute{color:#aa5d00}.hljs-a11y-light .hljs-string,.hljs-a11y-light .hljs-symbol,.hljs-a11y-light .hljs-bullet,.hljs-a11y-light .hljs-addition{color:#008000}.hljs-a11y-light .hljs-title,.hljs-a11y-light .hljs-section{color:#007faa}.hljs-a11y-light .hljs-keyword,.hljs-a11y-light .hljs-selector-tag{color:#7928a1}.hljs-a11y-light .hljs{display:block;overflow-x:auto;background:#fefefe;color:#545454;padding:.5em}.hljs-a11y-light .hljs-emphasis{font-style:italic}.hljs-a11y-light .hljs-strong{font-weight:bold}@media screen and (-ms-high-contrast:active){.hljs-a11y-light .hljs-addition,.hljs-a11y-light .hljs-attribute,.hljs-a11y-light .hljs-built_in,.hljs-a11y-light .hljs-builtin-name,.hljs-a11y-light .hljs-bullet,.hljs-a11y-light .hljs-comment,.hljs-a11y-light .hljs-link,.hljs-a11y-light .hljs-literal,.hljs-a11y-light .hljs-meta,.hljs-a11y-light .hljs-number,.hljs-a11y-light .hljs-params,.hljs-a11y-light .hljs-string,.hljs-a11y-light .hljs-symbol,.hljs-a11y-light .hljs-type,.hljs-a11y-light .hljs-quote{color:highlight}.hljs-a11y-light .hljs-keyword,.hljs-a11y-light .hljs-selector-tag{font-weight:bold}}",agate:".hljs-agate{/*! * Agate by Taufik Nurrohman <https://github.com/tovic> * ---------------------------------------------------- * * #ade5fc * #a2fca2 * #c6b4f0 * #d36363 * #fcc28c * #fc9b9b * #ffa * #fff * #333 * #62c8f3 * #888 * */}.hljs-agate .hljs{display:block;overflow-x:auto;padding:.5em;background:#333;color:white}.hljs-agate .hljs-name,.hljs-agate .hljs-strong{font-weight:bold}.hljs-agate .hljs-code,.hljs-agate .hljs-emphasis{font-style:italic}.hljs-agate .hljs-tag{color:#62c8f3}.hljs-agate .hljs-variable,.hljs-agate .hljs-template-variable,.hljs-agate .hljs-selector-id,.hljs-agate .hljs-selector-class{color:#ade5fc}.hljs-agate .hljs-string,.hljs-agate .hljs-bullet{color:#a2fca2}.hljs-agate .hljs-type,.hljs-agate .hljs-title,.hljs-agate .hljs-section,.hljs-agate .hljs-attribute,.hljs-agate .hljs-quote,.hljs-agate .hljs-built_in,.hljs-agate .hljs-builtin-name{color:#ffa}.hljs-agate .hljs-number,.hljs-agate .hljs-symbol,.hljs-agate .hljs-bullet{color:#d36363}.hljs-agate .hljs-keyword,.hljs-agate .hljs-selector-tag,.hljs-agate .hljs-literal{color:#fcc28c}.hljs-agate .hljs-comment,.hljs-agate .hljs-deletion,.hljs-agate .hljs-code{color:#888}.hljs-agate .hljs-regexp,.hljs-agate .hljs-link{color:#c6b4f0}.hljs-agate .hljs-meta{color:#fc9b9b}.hljs-agate .hljs-deletion{background-color:#fc9b9b;color:#333}.hljs-agate .hljs-addition{background-color:#a2fca2;color:#333}.hljs-agate .hljs a{color:inherit}.hljs-agate .hljs a:focus,.hljs-agate .hljs a:hover{color:inherit;text-decoration:underline}","an-old-hope":".hljs-an-old-hope .hljs-comment,.hljs-an-old-hope .hljs-quote{color:#B6B18B}.hljs-an-old-hope .hljs-variable,.hljs-an-old-hope .hljs-template-variable,.hljs-an-old-hope .hljs-tag,.hljs-an-old-hope .hljs-name,.hljs-an-old-hope .hljs-selector-id,.hljs-an-old-hope .hljs-selector-class,.hljs-an-old-hope .hljs-regexp,.hljs-an-old-hope .hljs-deletion{color:#EB3C54}.hljs-an-old-hope .hljs-number,.hljs-an-old-hope .hljs-built_in,.hljs-an-old-hope .hljs-builtin-name,.hljs-an-old-hope .hljs-literal,.hljs-an-old-hope .hljs-type,.hljs-an-old-hope .hljs-params,.hljs-an-old-hope .hljs-meta,.hljs-an-old-hope .hljs-link{color:#E7CE56}.hljs-an-old-hope .hljs-attribute{color:#EE7C2B}.hljs-an-old-hope .hljs-string,.hljs-an-old-hope .hljs-symbol,.hljs-an-old-hope .hljs-bullet,.hljs-an-old-hope .hljs-addition{color:#4FB4D7}.hljs-an-old-hope .hljs-title,.hljs-an-old-hope .hljs-section{color:#78BB65}.hljs-an-old-hope .hljs-keyword,.hljs-an-old-hope .hljs-selector-tag{color:#B45EA4}.hljs-an-old-hope .hljs{display:block;overflow-x:auto;background:#1C1D21;color:#c0c5ce;padding:.5em}.hljs-an-old-hope .hljs-emphasis{font-style:italic}.hljs-an-old-hope .hljs-strong{font-weight:bold}",androidstudio:".hljs-androidstudio .hljs{color:#a9b7c6;background:#282b2e;display:block;overflow-x:auto;padding:.5em}.hljs-androidstudio .hljs-number,.hljs-androidstudio .hljs-literal,.hljs-androidstudio .hljs-symbol,.hljs-androidstudio .hljs-bullet{color:#6897BB}.hljs-androidstudio .hljs-keyword,.hljs-androidstudio .hljs-selector-tag,.hljs-androidstudio .hljs-deletion{color:#cc7832}.hljs-androidstudio .hljs-variable,.hljs-androidstudio .hljs-template-variable,.hljs-androidstudio .hljs-link{color:#629755}.hljs-androidstudio .hljs-comment,.hljs-androidstudio .hljs-quote{color:#808080}.hljs-androidstudio .hljs-meta{color:#bbb529}.hljs-androidstudio .hljs-string,.hljs-androidstudio .hljs-attribute,.hljs-androidstudio .hljs-addition{color:#6A8759}.hljs-androidstudio .hljs-section,.hljs-androidstudio .hljs-title,.hljs-androidstudio .hljs-type{color:#ffc66d}.hljs-androidstudio .hljs-name,.hljs-androidstudio .hljs-selector-id,.hljs-androidstudio .hljs-selector-class{color:#e8bf6a}.hljs-androidstudio .hljs-emphasis{font-style:italic}.hljs-androidstudio .hljs-strong{font-weight:bold}","arduino-light":".hljs-arduino-light .hljs{display:block;overflow-x:auto;padding:.5em;background:#FFFFFF}.hljs-arduino-light .hljs,.hljs-arduino-light .hljs-subst{color:#434f54}.hljs-arduino-light .hljs-keyword,.hljs-arduino-light .hljs-attribute,.hljs-arduino-light .hljs-selector-tag,.hljs-arduino-light .hljs-doctag,.hljs-arduino-light .hljs-name{color:#00979D}.hljs-arduino-light .hljs-built_in,.hljs-arduino-light .hljs-literal,.hljs-arduino-light .hljs-bullet,.hljs-arduino-light .hljs-code,.hljs-arduino-light .hljs-addition{color:#D35400}.hljs-arduino-light .hljs-regexp,.hljs-arduino-light .hljs-symbol,.hljs-arduino-light .hljs-variable,.hljs-arduino-light .hljs-template-variable,.hljs-arduino-light .hljs-link,.hljs-arduino-light .hljs-selector-attr,.hljs-arduino-light .hljs-selector-pseudo{color:#00979D}.hljs-arduino-light .hljs-type,.hljs-arduino-light .hljs-string,.hljs-arduino-light .hljs-selector-id,.hljs-arduino-light .hljs-selector-class,.hljs-arduino-light .hljs-quote,.hljs-arduino-light .hljs-template-tag,.hljs-arduino-light .hljs-deletion{color:#005C5F}.hljs-arduino-light .hljs-title,.hljs-arduino-light .hljs-section{color:#880000;font-weight:bold}.hljs-arduino-light .hljs-comment{color:rgba(149,165,166,0.8)}.hljs-arduino-light .hljs-meta-keyword{color:#728E00}.hljs-arduino-light .hljs-meta{color:#728E00;color:#434f54}.hljs-arduino-light .hljs-emphasis{font-style:italic}.hljs-arduino-light .hljs-strong{font-weight:bold}.hljs-arduino-light .hljs-function{color:#728E00}.hljs-arduino-light .hljs-number{color:#8A7B52}",arta:".hljs-arta .hljs{display:block;overflow-x:auto;padding:.5em;background:#222}.hljs-arta .hljs,.hljs-arta .hljs-subst{color:#aaa}.hljs-arta .hljs-section{color:#fff}.hljs-arta .hljs-comment,.hljs-arta .hljs-quote,.hljs-arta .hljs-meta{color:#444}.hljs-arta .hljs-string,.hljs-arta .hljs-symbol,.hljs-arta .hljs-bullet,.hljs-arta .hljs-regexp{color:#ffcc33}.hljs-arta .hljs-number,.hljs-arta .hljs-addition{color:#00cc66}.hljs-arta .hljs-built_in,.hljs-arta .hljs-builtin-name,.hljs-arta .hljs-literal,.hljs-arta .hljs-type,.hljs-arta .hljs-template-variable,.hljs-arta .hljs-attribute,.hljs-arta .hljs-link{color:#32aaee}.hljs-arta .hljs-keyword,.hljs-arta .hljs-selector-tag,.hljs-arta .hljs-name,.hljs-arta .hljs-selector-id,.hljs-arta .hljs-selector-class{color:#6644aa}.hljs-arta .hljs-title,.hljs-arta .hljs-variable,.hljs-arta .hljs-deletion,.hljs-arta .hljs-template-tag{color:#bb1166}.hljs-arta .hljs-section,.hljs-arta .hljs-doctag,.hljs-arta .hljs-strong{font-weight:bold}.hljs-arta .hljs-emphasis{font-style:italic}",ascetic:".hljs-ascetic .hljs{display:block;overflow-x:auto;padding:.5em;background:white;color:black}.hljs-ascetic .hljs-string,.hljs-ascetic .hljs-variable,.hljs-ascetic .hljs-template-variable,.hljs-ascetic .hljs-symbol,.hljs-ascetic .hljs-bullet,.hljs-ascetic .hljs-section,.hljs-ascetic .hljs-addition,.hljs-ascetic .hljs-attribute,.hljs-ascetic .hljs-link{color:#888}.hljs-ascetic .hljs-comment,.hljs-ascetic .hljs-quote,.hljs-ascetic .hljs-meta,.hljs-ascetic .hljs-deletion{color:#ccc}.hljs-ascetic .hljs-keyword,.hljs-ascetic .hljs-selector-tag,.hljs-ascetic .hljs-section,.hljs-ascetic .hljs-name,.hljs-ascetic .hljs-type,.hljs-ascetic .hljs-strong{font-weight:bold}.hljs-ascetic .hljs-emphasis{font-style:italic}","atelier-cave-dark":".hljs-atelier-cave-dark .hljs-comment,.hljs-atelier-cave-dark .hljs-quote{color:#7e7887}.hljs-atelier-cave-dark .hljs-variable,.hljs-atelier-cave-dark .hljs-template-variable,.hljs-atelier-cave-dark .hljs-attribute,.hljs-atelier-cave-dark .hljs-regexp,.hljs-atelier-cave-dark .hljs-link,.hljs-atelier-cave-dark .hljs-tag,.hljs-atelier-cave-dark .hljs-name,.hljs-atelier-cave-dark .hljs-selector-id,.hljs-atelier-cave-dark .hljs-selector-class{color:#be4678}.hljs-atelier-cave-dark .hljs-number,.hljs-atelier-cave-dark .hljs-meta,.hljs-atelier-cave-dark .hljs-built_in,.hljs-atelier-cave-dark .hljs-builtin-name,.hljs-atelier-cave-dark .hljs-literal,.hljs-atelier-cave-dark .hljs-type,.hljs-atelier-cave-dark .hljs-params{color:#aa573c}.hljs-atelier-cave-dark .hljs-string,.hljs-atelier-cave-dark .hljs-symbol,.hljs-atelier-cave-dark .hljs-bullet{color:#2a9292}.hljs-atelier-cave-dark .hljs-title,.hljs-atelier-cave-dark .hljs-section{color:#576ddb}.hljs-atelier-cave-dark .hljs-keyword,.hljs-atelier-cave-dark .hljs-selector-tag{color:#955ae7}.hljs-atelier-cave-dark .hljs-deletion,.hljs-atelier-cave-dark .hljs-addition{color:#19171c;display:inline-block;width:100%}.hljs-atelier-cave-dark .hljs-deletion{background-color:#be4678}.hljs-atelier-cave-dark .hljs-addition{background-color:#2a9292}.hljs-atelier-cave-dark .hljs{display:block;overflow-x:auto;background:#19171c;color:#8b8792;padding:.5em}.hljs-atelier-cave-dark .hljs-emphasis{font-style:italic}.hljs-atelier-cave-dark .hljs-strong{font-weight:bold}","atelier-cave-light":".hljs-atelier-cave-light .hljs-comment,.hljs-atelier-cave-light .hljs-quote{color:#655f6d}.hljs-atelier-cave-light .hljs-variable,.hljs-atelier-cave-light .hljs-template-variable,.hljs-atelier-cave-light .hljs-attribute,.hljs-atelier-cave-light .hljs-tag,.hljs-atelier-cave-light .hljs-name,.hljs-atelier-cave-light .hljs-regexp,.hljs-atelier-cave-light .hljs-link,.hljs-atelier-cave-light .hljs-name,.hljs-atelier-cave-light .hljs-name,.hljs-atelier-cave-light .hljs-selector-id,.hljs-atelier-cave-light .hljs-selector-class{color:#be4678}.hljs-atelier-cave-light .hljs-number,.hljs-atelier-cave-light .hljs-meta,.hljs-atelier-cave-light .hljs-built_in,.hljs-atelier-cave-light .hljs-builtin-name,.hljs-atelier-cave-light .hljs-literal,.hljs-atelier-cave-light .hljs-type,.hljs-atelier-cave-light .hljs-params{color:#aa573c}.hljs-atelier-cave-light .hljs-string,.hljs-atelier-cave-light .hljs-symbol,.hljs-atelier-cave-light .hljs-bullet{color:#2a9292}.hljs-atelier-cave-light .hljs-title,.hljs-atelier-cave-light .hljs-section{color:#576ddb}.hljs-atelier-cave-light .hljs-keyword,.hljs-atelier-cave-light .hljs-selector-tag{color:#955ae7}.hljs-atelier-cave-light .hljs-deletion,.hljs-atelier-cave-light .hljs-addition{color:#19171c;display:inline-block;width:100%}.hljs-atelier-cave-light .hljs-deletion{background-color:#be4678}.hljs-atelier-cave-light .hljs-addition{background-color:#2a9292}.hljs-atelier-cave-light .hljs{display:block;overflow-x:auto;background:#efecf4;color:#585260;padding:.5em}.hljs-atelier-cave-light .hljs-emphasis{font-style:italic}.hljs-atelier-cave-light .hljs-strong{font-weight:bold}","atelier-dune-dark":".hljs-atelier-dune-dark .hljs-comment,.hljs-atelier-dune-dark .hljs-quote{color:#999580}.hljs-atelier-dune-dark .hljs-variable,.hljs-atelier-dune-dark .hljs-template-variable,.hljs-atelier-dune-dark .hljs-attribute,.hljs-atelier-dune-dark .hljs-tag,.hljs-atelier-dune-dark .hljs-name,.hljs-atelier-dune-dark .hljs-regexp,.hljs-atelier-dune-dark .hljs-link,.hljs-atelier-dune-dark .hljs-name,.hljs-atelier-dune-dark .hljs-selector-id,.hljs-atelier-dune-dark .hljs-selector-class{color:#d73737}.hljs-atelier-dune-dark .hljs-number,.hljs-atelier-dune-dark .hljs-meta,.hljs-atelier-dune-dark .hljs-built_in,.hljs-atelier-dune-dark .hljs-builtin-name,.hljs-atelier-dune-dark .hljs-literal,.hljs-atelier-dune-dark .hljs-type,.hljs-atelier-dune-dark .hljs-params{color:#b65611}.hljs-atelier-dune-dark .hljs-string,.hljs-atelier-dune-dark .hljs-symbol,.hljs-atelier-dune-dark .hljs-bullet{color:#60ac39}.hljs-atelier-dune-dark .hljs-title,.hljs-atelier-dune-dark .hljs-section{color:#6684e1}.hljs-atelier-dune-dark .hljs-keyword,.hljs-atelier-dune-dark .hljs-selector-tag{color:#b854d4}.hljs-atelier-dune-dark .hljs{display:block;overflow-x:auto;background:#20201d;color:#a6a28c;padding:.5em}.hljs-atelier-dune-dark .hljs-emphasis{font-style:italic}.hljs-atelier-dune-dark .hljs-strong{font-weight:bold}","atelier-dune-light":".hljs-atelier-dune-light .hljs-comment,.hljs-atelier-dune-light .hljs-quote{color:#7d7a68}.hljs-atelier-dune-light .hljs-variable,.hljs-atelier-dune-light .hljs-template-variable,.hljs-atelier-dune-light .hljs-attribute,.hljs-atelier-dune-light .hljs-tag,.hljs-atelier-dune-light .hljs-name,.hljs-atelier-dune-light .hljs-regexp,.hljs-atelier-dune-light .hljs-link,.hljs-atelier-dune-light .hljs-name,.hljs-atelier-dune-light .hljs-selector-id,.hljs-atelier-dune-light .hljs-selector-class{color:#d73737}.hljs-atelier-dune-light .hljs-number,.hljs-atelier-dune-light .hljs-meta,.hljs-atelier-dune-light .hljs-built_in,.hljs-atelier-dune-light .hljs-builtin-name,.hljs-atelier-dune-light .hljs-literal,.hljs-atelier-dune-light .hljs-type,.hljs-atelier-dune-light .hljs-params{color:#b65611}.hljs-atelier-dune-light .hljs-string,.hljs-atelier-dune-light .hljs-symbol,.hljs-atelier-dune-light .hljs-bullet{color:#60ac39}.hljs-atelier-dune-light .hljs-title,.hljs-atelier-dune-light .hljs-section{color:#6684e1}.hljs-atelier-dune-light .hljs-keyword,.hljs-atelier-dune-light .hljs-selector-tag{color:#b854d4}.hljs-atelier-dune-light .hljs{display:block;overflow-x:auto;background:#fefbec;color:#6e6b5e;padding:.5em}.hljs-atelier-dune-light .hljs-emphasis{font-style:italic}.hljs-atelier-dune-light .hljs-strong{font-weight:bold}","atelier-estuary-dark":".hljs-atelier-estuary-dark .hljs-comment,.hljs-atelier-estuary-dark .hljs-quote{color:#878573}.hljs-atelier-estuary-dark .hljs-variable,.hljs-atelier-estuary-dark .hljs-template-variable,.hljs-atelier-estuary-dark .hljs-attribute,.hljs-atelier-estuary-dark .hljs-tag,.hljs-atelier-estuary-dark .hljs-name,.hljs-atelier-estuary-dark .hljs-regexp,.hljs-atelier-estuary-dark .hljs-link,.hljs-atelier-estuary-dark .hljs-name,.hljs-atelier-estuary-dark .hljs-selector-id,.hljs-atelier-estuary-dark .hljs-selector-class{color:#ba6236}.hljs-atelier-estuary-dark .hljs-number,.hljs-atelier-estuary-dark .hljs-meta,.hljs-atelier-estuary-dark .hljs-built_in,.hljs-atelier-estuary-dark .hljs-builtin-name,.hljs-atelier-estuary-dark .hljs-literal,.hljs-atelier-estuary-dark .hljs-type,.hljs-atelier-estuary-dark .hljs-params{color:#ae7313}.hljs-atelier-estuary-dark .hljs-string,.hljs-atelier-estuary-dark .hljs-symbol,.hljs-atelier-estuary-dark .hljs-bullet{color:#7d9726}.hljs-atelier-estuary-dark .hljs-title,.hljs-atelier-estuary-dark .hljs-section{color:#36a166}.hljs-atelier-estuary-dark .hljs-keyword,.hljs-atelier-estuary-dark .hljs-selector-tag{color:#5f9182}.hljs-atelier-estuary-dark .hljs-deletion,.hljs-atelier-estuary-dark .hljs-addition{color:#22221b;display:inline-block;width:100%}.hljs-atelier-estuary-dark .hljs-deletion{background-color:#ba6236}.hljs-atelier-estuary-dark .hljs-addition{background-color:#7d9726}.hljs-atelier-estuary-dark .hljs{display:block;overflow-x:auto;background:#22221b;color:#929181;padding:.5em}.hljs-atelier-estuary-dark .hljs-emphasis{font-style:italic}.hljs-atelier-estuary-dark .hljs-strong{font-weight:bold}","atelier-estuary-light":".hljs-atelier-estuary-light .hljs-comment,.hljs-atelier-estuary-light .hljs-quote{color:#6c6b5a}.hljs-atelier-estuary-light .hljs-variable,.hljs-atelier-estuary-light .hljs-template-variable,.hljs-atelier-estuary-light .hljs-attribute,.hljs-atelier-estuary-light .hljs-tag,.hljs-atelier-estuary-light .hljs-name,.hljs-atelier-estuary-light .hljs-regexp,.hljs-atelier-estuary-light .hljs-link,.hljs-atelier-estuary-light .hljs-name,.hljs-atelier-estuary-light .hljs-selector-id,.hljs-atelier-estuary-light .hljs-selector-class{color:#ba6236}.hljs-atelier-estuary-light .hljs-number,.hljs-atelier-estuary-light .hljs-meta,.hljs-atelier-estuary-light .hljs-built_in,.hljs-atelier-estuary-light .hljs-builtin-name,.hljs-atelier-estuary-light .hljs-literal,.hljs-atelier-estuary-light .hljs-type,.hljs-atelier-estuary-light .hljs-params{color:#ae7313}.hljs-atelier-estuary-light .hljs-string,.hljs-atelier-estuary-light .hljs-symbol,.hljs-atelier-estuary-light .hljs-bullet{color:#7d9726}.hljs-atelier-estuary-light .hljs-title,.hljs-atelier-estuary-light .hljs-section{color:#36a166}.hljs-atelier-estuary-light .hljs-keyword,.hljs-atelier-estuary-light .hljs-selector-tag{color:#5f9182}.hljs-atelier-estuary-light .hljs-deletion,.hljs-atelier-estuary-light .hljs-addition{color:#22221b;display:inline-block;width:100%}.hljs-atelier-estuary-light .hljs-deletion{background-color:#ba6236}.hljs-atelier-estuary-light .hljs-addition{background-color:#7d9726}.hljs-atelier-estuary-light .hljs{display:block;overflow-x:auto;background:#f4f3ec;color:#5f5e4e;padding:.5em}.hljs-atelier-estuary-light .hljs-emphasis{font-style:italic}.hljs-atelier-estuary-light .hljs-strong{font-weight:bold}","atelier-forest-dark":".hljs-atelier-forest-dark .hljs-comment,.hljs-atelier-forest-dark .hljs-quote{color:#9c9491}.hljs-atelier-forest-dark .hljs-variable,.hljs-atelier-forest-dark .hljs-template-variable,.hljs-atelier-forest-dark .hljs-attribute,.hljs-atelier-forest-dark .hljs-tag,.hljs-atelier-forest-dark .hljs-name,.hljs-atelier-forest-dark .hljs-regexp,.hljs-atelier-forest-dark .hljs-link,.hljs-atelier-forest-dark .hljs-name,.hljs-atelier-forest-dark .hljs-selector-id,.hljs-atelier-forest-dark .hljs-selector-class{color:#f22c40}.hljs-atelier-forest-dark .hljs-number,.hljs-atelier-forest-dark .hljs-meta,.hljs-atelier-forest-dark .hljs-built_in,.hljs-atelier-forest-dark .hljs-builtin-name,.hljs-atelier-forest-dark .hljs-literal,.hljs-atelier-forest-dark .hljs-type,.hljs-atelier-forest-dark .hljs-params{color:#df5320}.hljs-atelier-forest-dark .hljs-string,.hljs-atelier-forest-dark .hljs-symbol,.hljs-atelier-forest-dark .hljs-bullet{color:#7b9726}.hljs-atelier-forest-dark .hljs-title,.hljs-atelier-forest-dark .hljs-section{color:#407ee7}.hljs-atelier-forest-dark .hljs-keyword,.hljs-atelier-forest-dark .hljs-selector-tag{color:#6666ea}.hljs-atelier-forest-dark .hljs{display:block;overflow-x:auto;background:#1b1918;color:#a8a19f;padding:.5em}.hljs-atelier-forest-dark .hljs-emphasis{font-style:italic}.hljs-atelier-forest-dark .hljs-strong{font-weight:bold}","atelier-forest-light":".hljs-atelier-forest-light .hljs-comment,.hljs-atelier-forest-light .hljs-quote{color:#766e6b}.hljs-atelier-forest-light .hljs-variable,.hljs-atelier-forest-light .hljs-template-variable,.hljs-atelier-forest-light .hljs-attribute,.hljs-atelier-forest-light .hljs-tag,.hljs-atelier-forest-light .hljs-name,.hljs-atelier-forest-light .hljs-regexp,.hljs-atelier-forest-light .hljs-link,.hljs-atelier-forest-light .hljs-name,.hljs-atelier-forest-light .hljs-selector-id,.hljs-atelier-forest-light .hljs-selector-class{color:#f22c40}.hljs-atelier-forest-light .hljs-number,.hljs-atelier-forest-light .hljs-meta,.hljs-atelier-forest-light .hljs-built_in,.hljs-atelier-forest-light .hljs-builtin-name,.hljs-atelier-forest-light .hljs-literal,.hljs-atelier-forest-light .hljs-type,.hljs-atelier-forest-light .hljs-params{color:#df5320}.hljs-atelier-forest-light .hljs-string,.hljs-atelier-forest-light .hljs-symbol,.hljs-atelier-forest-light .hljs-bullet{color:#7b9726}.hljs-atelier-forest-light .hljs-title,.hljs-atelier-forest-light .hljs-section{color:#407ee7}.hljs-atelier-forest-light .hljs-keyword,.hljs-atelier-forest-light .hljs-selector-tag{color:#6666ea}.hljs-atelier-forest-light .hljs{display:block;overflow-x:auto;background:#f1efee;color:#68615e;padding:.5em}.hljs-atelier-forest-light .hljs-emphasis{font-style:italic}.hljs-atelier-forest-light .hljs-strong{font-weight:bold}","atelier-heath-dark":".hljs-atelier-heath-dark .hljs-comment,.hljs-atelier-heath-dark .hljs-quote{color:#9e8f9e}.hljs-atelier-heath-dark .hljs-variable,.hljs-atelier-heath-dark .hljs-template-variable,.hljs-atelier-heath-dark .hljs-attribute,.hljs-atelier-heath-dark .hljs-tag,.hljs-atelier-heath-dark .hljs-name,.hljs-atelier-heath-dark .hljs-regexp,.hljs-atelier-heath-dark .hljs-link,.hljs-atelier-heath-dark .hljs-name,.hljs-atelier-heath-dark .hljs-selector-id,.hljs-atelier-heath-dark .hljs-selector-class{color:#ca402b}.hljs-atelier-heath-dark .hljs-number,.hljs-atelier-heath-dark .hljs-meta,.hljs-atelier-heath-dark .hljs-built_in,.hljs-atelier-heath-dark .hljs-builtin-name,.hljs-atelier-heath-dark .hljs-literal,.hljs-atelier-heath-dark .hljs-type,.hljs-atelier-heath-dark .hljs-params{color:#a65926}.hljs-atelier-heath-dark .hljs-string,.hljs-atelier-heath-dark .hljs-symbol,.hljs-atelier-heath-dark .hljs-bullet{color:#918b3b}.hljs-atelier-heath-dark .hljs-title,.hljs-atelier-heath-dark .hljs-section{color:#516aec}.hljs-atelier-heath-dark .hljs-keyword,.hljs-atelier-heath-dark .hljs-selector-tag{color:#7b59c0}.hljs-atelier-heath-dark .hljs{display:block;overflow-x:auto;background:#1b181b;color:#ab9bab;padding:.5em}.hljs-atelier-heath-dark .hljs-emphasis{font-style:italic}.hljs-atelier-heath-dark .hljs-strong{font-weight:bold}", +"atelier-heath-light":".hljs-atelier-heath-light .hljs-comment,.hljs-atelier-heath-light .hljs-quote{color:#776977}.hljs-atelier-heath-light .hljs-variable,.hljs-atelier-heath-light .hljs-template-variable,.hljs-atelier-heath-light .hljs-attribute,.hljs-atelier-heath-light .hljs-tag,.hljs-atelier-heath-light .hljs-name,.hljs-atelier-heath-light .hljs-regexp,.hljs-atelier-heath-light .hljs-link,.hljs-atelier-heath-light .hljs-name,.hljs-atelier-heath-light .hljs-selector-id,.hljs-atelier-heath-light .hljs-selector-class{color:#ca402b}.hljs-atelier-heath-light .hljs-number,.hljs-atelier-heath-light .hljs-meta,.hljs-atelier-heath-light .hljs-built_in,.hljs-atelier-heath-light .hljs-builtin-name,.hljs-atelier-heath-light .hljs-literal,.hljs-atelier-heath-light .hljs-type,.hljs-atelier-heath-light .hljs-params{color:#a65926}.hljs-atelier-heath-light .hljs-string,.hljs-atelier-heath-light .hljs-symbol,.hljs-atelier-heath-light .hljs-bullet{color:#918b3b}.hljs-atelier-heath-light .hljs-title,.hljs-atelier-heath-light .hljs-section{color:#516aec}.hljs-atelier-heath-light .hljs-keyword,.hljs-atelier-heath-light .hljs-selector-tag{color:#7b59c0}.hljs-atelier-heath-light .hljs{display:block;overflow-x:auto;background:#f7f3f7;color:#695d69;padding:.5em}.hljs-atelier-heath-light .hljs-emphasis{font-style:italic}.hljs-atelier-heath-light .hljs-strong{font-weight:bold}","atelier-lakeside-dark":".hljs-atelier-lakeside-dark .hljs-comment,.hljs-atelier-lakeside-dark .hljs-quote{color:#7195a8}.hljs-atelier-lakeside-dark .hljs-variable,.hljs-atelier-lakeside-dark .hljs-template-variable,.hljs-atelier-lakeside-dark .hljs-attribute,.hljs-atelier-lakeside-dark .hljs-tag,.hljs-atelier-lakeside-dark .hljs-name,.hljs-atelier-lakeside-dark .hljs-regexp,.hljs-atelier-lakeside-dark .hljs-link,.hljs-atelier-lakeside-dark .hljs-name,.hljs-atelier-lakeside-dark .hljs-selector-id,.hljs-atelier-lakeside-dark .hljs-selector-class{color:#d22d72}.hljs-atelier-lakeside-dark .hljs-number,.hljs-atelier-lakeside-dark .hljs-meta,.hljs-atelier-lakeside-dark .hljs-built_in,.hljs-atelier-lakeside-dark .hljs-builtin-name,.hljs-atelier-lakeside-dark .hljs-literal,.hljs-atelier-lakeside-dark .hljs-type,.hljs-atelier-lakeside-dark .hljs-params{color:#935c25}.hljs-atelier-lakeside-dark .hljs-string,.hljs-atelier-lakeside-dark .hljs-symbol,.hljs-atelier-lakeside-dark .hljs-bullet{color:#568c3b}.hljs-atelier-lakeside-dark .hljs-title,.hljs-atelier-lakeside-dark .hljs-section{color:#257fad}.hljs-atelier-lakeside-dark .hljs-keyword,.hljs-atelier-lakeside-dark .hljs-selector-tag{color:#6b6bb8}.hljs-atelier-lakeside-dark .hljs{display:block;overflow-x:auto;background:#161b1d;color:#7ea2b4;padding:.5em}.hljs-atelier-lakeside-dark .hljs-emphasis{font-style:italic}.hljs-atelier-lakeside-dark .hljs-strong{font-weight:bold}","atelier-lakeside-light":".hljs-atelier-lakeside-light .hljs-comment,.hljs-atelier-lakeside-light .hljs-quote{color:#5a7b8c}.hljs-atelier-lakeside-light .hljs-variable,.hljs-atelier-lakeside-light .hljs-template-variable,.hljs-atelier-lakeside-light .hljs-attribute,.hljs-atelier-lakeside-light .hljs-tag,.hljs-atelier-lakeside-light .hljs-name,.hljs-atelier-lakeside-light .hljs-regexp,.hljs-atelier-lakeside-light .hljs-link,.hljs-atelier-lakeside-light .hljs-name,.hljs-atelier-lakeside-light .hljs-selector-id,.hljs-atelier-lakeside-light .hljs-selector-class{color:#d22d72}.hljs-atelier-lakeside-light .hljs-number,.hljs-atelier-lakeside-light .hljs-meta,.hljs-atelier-lakeside-light .hljs-built_in,.hljs-atelier-lakeside-light .hljs-builtin-name,.hljs-atelier-lakeside-light .hljs-literal,.hljs-atelier-lakeside-light .hljs-type,.hljs-atelier-lakeside-light .hljs-params{color:#935c25}.hljs-atelier-lakeside-light .hljs-string,.hljs-atelier-lakeside-light .hljs-symbol,.hljs-atelier-lakeside-light .hljs-bullet{color:#568c3b}.hljs-atelier-lakeside-light .hljs-title,.hljs-atelier-lakeside-light .hljs-section{color:#257fad}.hljs-atelier-lakeside-light .hljs-keyword,.hljs-atelier-lakeside-light .hljs-selector-tag{color:#6b6bb8}.hljs-atelier-lakeside-light .hljs{display:block;overflow-x:auto;background:#ebf8ff;color:#516d7b;padding:.5em}.hljs-atelier-lakeside-light .hljs-emphasis{font-style:italic}.hljs-atelier-lakeside-light .hljs-strong{font-weight:bold}","atelier-plateau-dark":".hljs-atelier-plateau-dark .hljs-comment,.hljs-atelier-plateau-dark .hljs-quote{color:#7e7777}.hljs-atelier-plateau-dark .hljs-variable,.hljs-atelier-plateau-dark .hljs-template-variable,.hljs-atelier-plateau-dark .hljs-attribute,.hljs-atelier-plateau-dark .hljs-tag,.hljs-atelier-plateau-dark .hljs-name,.hljs-atelier-plateau-dark .hljs-regexp,.hljs-atelier-plateau-dark .hljs-link,.hljs-atelier-plateau-dark .hljs-name,.hljs-atelier-plateau-dark .hljs-selector-id,.hljs-atelier-plateau-dark .hljs-selector-class{color:#ca4949}.hljs-atelier-plateau-dark .hljs-number,.hljs-atelier-plateau-dark .hljs-meta,.hljs-atelier-plateau-dark .hljs-built_in,.hljs-atelier-plateau-dark .hljs-builtin-name,.hljs-atelier-plateau-dark .hljs-literal,.hljs-atelier-plateau-dark .hljs-type,.hljs-atelier-plateau-dark .hljs-params{color:#b45a3c}.hljs-atelier-plateau-dark .hljs-string,.hljs-atelier-plateau-dark .hljs-symbol,.hljs-atelier-plateau-dark .hljs-bullet{color:#4b8b8b}.hljs-atelier-plateau-dark .hljs-title,.hljs-atelier-plateau-dark .hljs-section{color:#7272ca}.hljs-atelier-plateau-dark .hljs-keyword,.hljs-atelier-plateau-dark .hljs-selector-tag{color:#8464c4}.hljs-atelier-plateau-dark .hljs-deletion,.hljs-atelier-plateau-dark .hljs-addition{color:#1b1818;display:inline-block;width:100%}.hljs-atelier-plateau-dark .hljs-deletion{background-color:#ca4949}.hljs-atelier-plateau-dark .hljs-addition{background-color:#4b8b8b}.hljs-atelier-plateau-dark .hljs{display:block;overflow-x:auto;background:#1b1818;color:#8a8585;padding:.5em}.hljs-atelier-plateau-dark .hljs-emphasis{font-style:italic}.hljs-atelier-plateau-dark .hljs-strong{font-weight:bold}","atelier-plateau-light":".hljs-atelier-plateau-light .hljs-comment,.hljs-atelier-plateau-light .hljs-quote{color:#655d5d}.hljs-atelier-plateau-light .hljs-variable,.hljs-atelier-plateau-light .hljs-template-variable,.hljs-atelier-plateau-light .hljs-attribute,.hljs-atelier-plateau-light .hljs-tag,.hljs-atelier-plateau-light .hljs-name,.hljs-atelier-plateau-light .hljs-regexp,.hljs-atelier-plateau-light .hljs-link,.hljs-atelier-plateau-light .hljs-name,.hljs-atelier-plateau-light .hljs-selector-id,.hljs-atelier-plateau-light .hljs-selector-class{color:#ca4949}.hljs-atelier-plateau-light .hljs-number,.hljs-atelier-plateau-light .hljs-meta,.hljs-atelier-plateau-light .hljs-built_in,.hljs-atelier-plateau-light .hljs-builtin-name,.hljs-atelier-plateau-light .hljs-literal,.hljs-atelier-plateau-light .hljs-type,.hljs-atelier-plateau-light .hljs-params{color:#b45a3c}.hljs-atelier-plateau-light .hljs-string,.hljs-atelier-plateau-light .hljs-symbol,.hljs-atelier-plateau-light .hljs-bullet{color:#4b8b8b}.hljs-atelier-plateau-light .hljs-title,.hljs-atelier-plateau-light .hljs-section{color:#7272ca}.hljs-atelier-plateau-light .hljs-keyword,.hljs-atelier-plateau-light .hljs-selector-tag{color:#8464c4}.hljs-atelier-plateau-light .hljs-deletion,.hljs-atelier-plateau-light .hljs-addition{color:#1b1818;display:inline-block;width:100%}.hljs-atelier-plateau-light .hljs-deletion{background-color:#ca4949}.hljs-atelier-plateau-light .hljs-addition{background-color:#4b8b8b}.hljs-atelier-plateau-light .hljs{display:block;overflow-x:auto;background:#f4ecec;color:#585050;padding:.5em}.hljs-atelier-plateau-light .hljs-emphasis{font-style:italic}.hljs-atelier-plateau-light .hljs-strong{font-weight:bold}","atelier-savanna-dark":".hljs-atelier-savanna-dark .hljs-comment,.hljs-atelier-savanna-dark .hljs-quote{color:#78877d}.hljs-atelier-savanna-dark .hljs-variable,.hljs-atelier-savanna-dark .hljs-template-variable,.hljs-atelier-savanna-dark .hljs-attribute,.hljs-atelier-savanna-dark .hljs-tag,.hljs-atelier-savanna-dark .hljs-name,.hljs-atelier-savanna-dark .hljs-regexp,.hljs-atelier-savanna-dark .hljs-link,.hljs-atelier-savanna-dark .hljs-name,.hljs-atelier-savanna-dark .hljs-selector-id,.hljs-atelier-savanna-dark .hljs-selector-class{color:#b16139}.hljs-atelier-savanna-dark .hljs-number,.hljs-atelier-savanna-dark .hljs-meta,.hljs-atelier-savanna-dark .hljs-built_in,.hljs-atelier-savanna-dark .hljs-builtin-name,.hljs-atelier-savanna-dark .hljs-literal,.hljs-atelier-savanna-dark .hljs-type,.hljs-atelier-savanna-dark .hljs-params{color:#9f713c}.hljs-atelier-savanna-dark .hljs-string,.hljs-atelier-savanna-dark .hljs-symbol,.hljs-atelier-savanna-dark .hljs-bullet{color:#489963}.hljs-atelier-savanna-dark .hljs-title,.hljs-atelier-savanna-dark .hljs-section{color:#478c90}.hljs-atelier-savanna-dark .hljs-keyword,.hljs-atelier-savanna-dark .hljs-selector-tag{color:#55859b}.hljs-atelier-savanna-dark .hljs-deletion,.hljs-atelier-savanna-dark .hljs-addition{color:#171c19;display:inline-block;width:100%}.hljs-atelier-savanna-dark .hljs-deletion{background-color:#b16139}.hljs-atelier-savanna-dark .hljs-addition{background-color:#489963}.hljs-atelier-savanna-dark .hljs{display:block;overflow-x:auto;background:#171c19;color:#87928a;padding:.5em}.hljs-atelier-savanna-dark .hljs-emphasis{font-style:italic}.hljs-atelier-savanna-dark .hljs-strong{font-weight:bold}","atelier-savanna-light":".hljs-atelier-savanna-light .hljs-comment,.hljs-atelier-savanna-light .hljs-quote{color:#5f6d64}.hljs-atelier-savanna-light .hljs-variable,.hljs-atelier-savanna-light .hljs-template-variable,.hljs-atelier-savanna-light .hljs-attribute,.hljs-atelier-savanna-light .hljs-tag,.hljs-atelier-savanna-light .hljs-name,.hljs-atelier-savanna-light .hljs-regexp,.hljs-atelier-savanna-light .hljs-link,.hljs-atelier-savanna-light .hljs-name,.hljs-atelier-savanna-light .hljs-selector-id,.hljs-atelier-savanna-light .hljs-selector-class{color:#b16139}.hljs-atelier-savanna-light .hljs-number,.hljs-atelier-savanna-light .hljs-meta,.hljs-atelier-savanna-light .hljs-built_in,.hljs-atelier-savanna-light .hljs-builtin-name,.hljs-atelier-savanna-light .hljs-literal,.hljs-atelier-savanna-light .hljs-type,.hljs-atelier-savanna-light .hljs-params{color:#9f713c}.hljs-atelier-savanna-light .hljs-string,.hljs-atelier-savanna-light .hljs-symbol,.hljs-atelier-savanna-light .hljs-bullet{color:#489963}.hljs-atelier-savanna-light .hljs-title,.hljs-atelier-savanna-light .hljs-section{color:#478c90}.hljs-atelier-savanna-light .hljs-keyword,.hljs-atelier-savanna-light .hljs-selector-tag{color:#55859b}.hljs-atelier-savanna-light .hljs-deletion,.hljs-atelier-savanna-light .hljs-addition{color:#171c19;display:inline-block;width:100%}.hljs-atelier-savanna-light .hljs-deletion{background-color:#b16139}.hljs-atelier-savanna-light .hljs-addition{background-color:#489963}.hljs-atelier-savanna-light .hljs{display:block;overflow-x:auto;background:#ecf4ee;color:#526057;padding:.5em}.hljs-atelier-savanna-light .hljs-emphasis{font-style:italic}.hljs-atelier-savanna-light .hljs-strong{font-weight:bold}","atelier-seaside-dark":".hljs-atelier-seaside-dark .hljs-comment,.hljs-atelier-seaside-dark .hljs-quote{color:#809980}.hljs-atelier-seaside-dark .hljs-variable,.hljs-atelier-seaside-dark .hljs-template-variable,.hljs-atelier-seaside-dark .hljs-attribute,.hljs-atelier-seaside-dark .hljs-tag,.hljs-atelier-seaside-dark .hljs-name,.hljs-atelier-seaside-dark .hljs-regexp,.hljs-atelier-seaside-dark .hljs-link,.hljs-atelier-seaside-dark .hljs-name,.hljs-atelier-seaside-dark .hljs-selector-id,.hljs-atelier-seaside-dark .hljs-selector-class{color:#e6193c}.hljs-atelier-seaside-dark .hljs-number,.hljs-atelier-seaside-dark .hljs-meta,.hljs-atelier-seaside-dark .hljs-built_in,.hljs-atelier-seaside-dark .hljs-builtin-name,.hljs-atelier-seaside-dark .hljs-literal,.hljs-atelier-seaside-dark .hljs-type,.hljs-atelier-seaside-dark .hljs-params{color:#87711d}.hljs-atelier-seaside-dark .hljs-string,.hljs-atelier-seaside-dark .hljs-symbol,.hljs-atelier-seaside-dark .hljs-bullet{color:#29a329}.hljs-atelier-seaside-dark .hljs-title,.hljs-atelier-seaside-dark .hljs-section{color:#3d62f5}.hljs-atelier-seaside-dark .hljs-keyword,.hljs-atelier-seaside-dark .hljs-selector-tag{color:#ad2bee}.hljs-atelier-seaside-dark .hljs{display:block;overflow-x:auto;background:#131513;color:#8ca68c;padding:.5em}.hljs-atelier-seaside-dark .hljs-emphasis{font-style:italic}.hljs-atelier-seaside-dark .hljs-strong{font-weight:bold}","atelier-seaside-light":".hljs-atelier-seaside-light .hljs-comment,.hljs-atelier-seaside-light .hljs-quote{color:#687d68}.hljs-atelier-seaside-light .hljs-variable,.hljs-atelier-seaside-light .hljs-template-variable,.hljs-atelier-seaside-light .hljs-attribute,.hljs-atelier-seaside-light .hljs-tag,.hljs-atelier-seaside-light .hljs-name,.hljs-atelier-seaside-light .hljs-regexp,.hljs-atelier-seaside-light .hljs-link,.hljs-atelier-seaside-light .hljs-name,.hljs-atelier-seaside-light .hljs-selector-id,.hljs-atelier-seaside-light .hljs-selector-class{color:#e6193c}.hljs-atelier-seaside-light .hljs-number,.hljs-atelier-seaside-light .hljs-meta,.hljs-atelier-seaside-light .hljs-built_in,.hljs-atelier-seaside-light .hljs-builtin-name,.hljs-atelier-seaside-light .hljs-literal,.hljs-atelier-seaside-light .hljs-type,.hljs-atelier-seaside-light .hljs-params{color:#87711d}.hljs-atelier-seaside-light .hljs-string,.hljs-atelier-seaside-light .hljs-symbol,.hljs-atelier-seaside-light .hljs-bullet{color:#29a329}.hljs-atelier-seaside-light .hljs-title,.hljs-atelier-seaside-light .hljs-section{color:#3d62f5}.hljs-atelier-seaside-light .hljs-keyword,.hljs-atelier-seaside-light .hljs-selector-tag{color:#ad2bee}.hljs-atelier-seaside-light .hljs{display:block;overflow-x:auto;background:#f4fbf4;color:#5e6e5e;padding:.5em}.hljs-atelier-seaside-light .hljs-emphasis{font-style:italic}.hljs-atelier-seaside-light .hljs-strong{font-weight:bold}","atelier-sulphurpool-dark":".hljs-atelier-sulphurpool-dark .hljs-comment,.hljs-atelier-sulphurpool-dark .hljs-quote{color:#898ea4}.hljs-atelier-sulphurpool-dark .hljs-variable,.hljs-atelier-sulphurpool-dark .hljs-template-variable,.hljs-atelier-sulphurpool-dark .hljs-attribute,.hljs-atelier-sulphurpool-dark .hljs-tag,.hljs-atelier-sulphurpool-dark .hljs-name,.hljs-atelier-sulphurpool-dark .hljs-regexp,.hljs-atelier-sulphurpool-dark .hljs-link,.hljs-atelier-sulphurpool-dark .hljs-name,.hljs-atelier-sulphurpool-dark .hljs-selector-id,.hljs-atelier-sulphurpool-dark .hljs-selector-class{color:#c94922}.hljs-atelier-sulphurpool-dark .hljs-number,.hljs-atelier-sulphurpool-dark .hljs-meta,.hljs-atelier-sulphurpool-dark .hljs-built_in,.hljs-atelier-sulphurpool-dark .hljs-builtin-name,.hljs-atelier-sulphurpool-dark .hljs-literal,.hljs-atelier-sulphurpool-dark .hljs-type,.hljs-atelier-sulphurpool-dark .hljs-params{color:#c76b29}.hljs-atelier-sulphurpool-dark .hljs-string,.hljs-atelier-sulphurpool-dark .hljs-symbol,.hljs-atelier-sulphurpool-dark .hljs-bullet{color:#ac9739}.hljs-atelier-sulphurpool-dark .hljs-title,.hljs-atelier-sulphurpool-dark .hljs-section{color:#3d8fd1}.hljs-atelier-sulphurpool-dark .hljs-keyword,.hljs-atelier-sulphurpool-dark .hljs-selector-tag{color:#6679cc}.hljs-atelier-sulphurpool-dark .hljs{display:block;overflow-x:auto;background:#202746;color:#979db4;padding:.5em}.hljs-atelier-sulphurpool-dark .hljs-emphasis{font-style:italic}.hljs-atelier-sulphurpool-dark .hljs-strong{font-weight:bold}","atelier-sulphurpool-light":".hljs-atelier-sulphurpool-light .hljs-comment,.hljs-atelier-sulphurpool-light .hljs-quote{color:#6b7394}.hljs-atelier-sulphurpool-light .hljs-variable,.hljs-atelier-sulphurpool-light .hljs-template-variable,.hljs-atelier-sulphurpool-light .hljs-attribute,.hljs-atelier-sulphurpool-light .hljs-tag,.hljs-atelier-sulphurpool-light .hljs-name,.hljs-atelier-sulphurpool-light .hljs-regexp,.hljs-atelier-sulphurpool-light .hljs-link,.hljs-atelier-sulphurpool-light .hljs-name,.hljs-atelier-sulphurpool-light .hljs-selector-id,.hljs-atelier-sulphurpool-light .hljs-selector-class{color:#c94922}.hljs-atelier-sulphurpool-light .hljs-number,.hljs-atelier-sulphurpool-light .hljs-meta,.hljs-atelier-sulphurpool-light .hljs-built_in,.hljs-atelier-sulphurpool-light .hljs-builtin-name,.hljs-atelier-sulphurpool-light .hljs-literal,.hljs-atelier-sulphurpool-light .hljs-type,.hljs-atelier-sulphurpool-light .hljs-params{color:#c76b29}.hljs-atelier-sulphurpool-light .hljs-string,.hljs-atelier-sulphurpool-light .hljs-symbol,.hljs-atelier-sulphurpool-light .hljs-bullet{color:#ac9739}.hljs-atelier-sulphurpool-light .hljs-title,.hljs-atelier-sulphurpool-light .hljs-section{color:#3d8fd1}.hljs-atelier-sulphurpool-light .hljs-keyword,.hljs-atelier-sulphurpool-light .hljs-selector-tag{color:#6679cc}.hljs-atelier-sulphurpool-light .hljs{display:block;overflow-x:auto;background:#f5f7ff;color:#5e6687;padding:.5em}.hljs-atelier-sulphurpool-light .hljs-emphasis{font-style:italic}.hljs-atelier-sulphurpool-light .hljs-strong{font-weight:bold}","atom-one-dark-reasonable":".hljs-atom-one-dark-reasonable .hljs{display:block;overflow-x:auto;padding:.5em;line-height:1.3em;color:#abb2bf;background:#282c34;border-radius:5px}.hljs-atom-one-dark-reasonable .hljs-keyword,.hljs-atom-one-dark-reasonable .hljs-operator{color:#F92672}.hljs-atom-one-dark-reasonable .hljs-pattern-match{color:#F92672}.hljs-atom-one-dark-reasonable .hljs-pattern-match .hljs-constructor{color:#61aeee}.hljs-atom-one-dark-reasonable .hljs-function{color:#61aeee}.hljs-atom-one-dark-reasonable .hljs-function .hljs-params{color:#A6E22E}.hljs-atom-one-dark-reasonable .hljs-function .hljs-params .hljs-typing{color:#FD971F}.hljs-atom-one-dark-reasonable .hljs-module-access .hljs-module{color:#7e57c2}.hljs-atom-one-dark-reasonable .hljs-constructor{color:#e2b93d}.hljs-atom-one-dark-reasonable .hljs-constructor .hljs-string{color:#9CCC65}.hljs-atom-one-dark-reasonable .hljs-comment,.hljs-atom-one-dark-reasonable .hljs-quote{color:#b18eb1;font-style:italic}.hljs-atom-one-dark-reasonable .hljs-doctag,.hljs-atom-one-dark-reasonable .hljs-formula{color:#c678dd}.hljs-atom-one-dark-reasonable .hljs-section,.hljs-atom-one-dark-reasonable .hljs-name,.hljs-atom-one-dark-reasonable .hljs-selector-tag,.hljs-atom-one-dark-reasonable .hljs-deletion,.hljs-atom-one-dark-reasonable .hljs-subst{color:#e06c75}.hljs-atom-one-dark-reasonable .hljs-literal{color:#56b6c2}.hljs-atom-one-dark-reasonable .hljs-string,.hljs-atom-one-dark-reasonable .hljs-regexp,.hljs-atom-one-dark-reasonable .hljs-addition,.hljs-atom-one-dark-reasonable .hljs-attribute,.hljs-atom-one-dark-reasonable .hljs-meta-string{color:#98c379}.hljs-atom-one-dark-reasonable .hljs-built_in,.hljs-atom-one-dark-reasonable .hljs-class .hljs-title{color:#e6c07b}.hljs-atom-one-dark-reasonable .hljs-attr,.hljs-atom-one-dark-reasonable .hljs-variable,.hljs-atom-one-dark-reasonable .hljs-template-variable,.hljs-atom-one-dark-reasonable .hljs-type,.hljs-atom-one-dark-reasonable .hljs-selector-class,.hljs-atom-one-dark-reasonable .hljs-selector-attr,.hljs-atom-one-dark-reasonable .hljs-selector-pseudo,.hljs-atom-one-dark-reasonable .hljs-number{color:#d19a66}.hljs-atom-one-dark-reasonable .hljs-symbol,.hljs-atom-one-dark-reasonable .hljs-bullet,.hljs-atom-one-dark-reasonable .hljs-link,.hljs-atom-one-dark-reasonable .hljs-meta,.hljs-atom-one-dark-reasonable .hljs-selector-id,.hljs-atom-one-dark-reasonable .hljs-title{color:#61aeee}.hljs-atom-one-dark-reasonable .hljs-emphasis{font-style:italic}.hljs-atom-one-dark-reasonable .hljs-strong{font-weight:bold}.hljs-atom-one-dark-reasonable .hljs-link{text-decoration:underline}","atom-one-dark":".hljs-atom-one-dark .hljs{display:block;overflow-x:auto;padding:.5em;color:#abb2bf;background:#282c34}.hljs-atom-one-dark .hljs-comment,.hljs-atom-one-dark .hljs-quote{color:#5c6370;font-style:italic}.hljs-atom-one-dark .hljs-doctag,.hljs-atom-one-dark .hljs-keyword,.hljs-atom-one-dark .hljs-formula{color:#c678dd}.hljs-atom-one-dark .hljs-section,.hljs-atom-one-dark .hljs-name,.hljs-atom-one-dark .hljs-selector-tag,.hljs-atom-one-dark .hljs-deletion,.hljs-atom-one-dark .hljs-subst{color:#e06c75}.hljs-atom-one-dark .hljs-literal{color:#56b6c2}.hljs-atom-one-dark .hljs-string,.hljs-atom-one-dark .hljs-regexp,.hljs-atom-one-dark .hljs-addition,.hljs-atom-one-dark .hljs-attribute,.hljs-atom-one-dark .hljs-meta-string{color:#98c379}.hljs-atom-one-dark .hljs-built_in,.hljs-atom-one-dark .hljs-class .hljs-title{color:#e6c07b}.hljs-atom-one-dark .hljs-attr,.hljs-atom-one-dark .hljs-variable,.hljs-atom-one-dark .hljs-template-variable,.hljs-atom-one-dark .hljs-type,.hljs-atom-one-dark .hljs-selector-class,.hljs-atom-one-dark .hljs-selector-attr,.hljs-atom-one-dark .hljs-selector-pseudo,.hljs-atom-one-dark .hljs-number{color:#d19a66}.hljs-atom-one-dark .hljs-symbol,.hljs-atom-one-dark .hljs-bullet,.hljs-atom-one-dark .hljs-link,.hljs-atom-one-dark .hljs-meta,.hljs-atom-one-dark .hljs-selector-id,.hljs-atom-one-dark .hljs-title{color:#61aeee}.hljs-atom-one-dark .hljs-emphasis{font-style:italic}.hljs-atom-one-dark .hljs-strong{font-weight:bold}.hljs-atom-one-dark .hljs-link{text-decoration:underline}","atom-one-light":".hljs-atom-one-light .hljs{display:block;overflow-x:auto;padding:.5em;color:#383a42;background:#fafafa}.hljs-atom-one-light .hljs-comment,.hljs-atom-one-light .hljs-quote{color:#a0a1a7;font-style:italic}.hljs-atom-one-light .hljs-doctag,.hljs-atom-one-light .hljs-keyword,.hljs-atom-one-light .hljs-formula{color:#a626a4}.hljs-atom-one-light .hljs-section,.hljs-atom-one-light .hljs-name,.hljs-atom-one-light .hljs-selector-tag,.hljs-atom-one-light .hljs-deletion,.hljs-atom-one-light .hljs-subst{color:#e45649}.hljs-atom-one-light .hljs-literal{color:#0184bb}.hljs-atom-one-light .hljs-string,.hljs-atom-one-light .hljs-regexp,.hljs-atom-one-light .hljs-addition,.hljs-atom-one-light .hljs-attribute,.hljs-atom-one-light .hljs-meta-string{color:#50a14f}.hljs-atom-one-light .hljs-built_in,.hljs-atom-one-light .hljs-class .hljs-title{color:#c18401}.hljs-atom-one-light .hljs-attr,.hljs-atom-one-light .hljs-variable,.hljs-atom-one-light .hljs-template-variable,.hljs-atom-one-light .hljs-type,.hljs-atom-one-light .hljs-selector-class,.hljs-atom-one-light .hljs-selector-attr,.hljs-atom-one-light .hljs-selector-pseudo,.hljs-atom-one-light .hljs-number{color:#986801}.hljs-atom-one-light .hljs-symbol,.hljs-atom-one-light .hljs-bullet,.hljs-atom-one-light .hljs-link,.hljs-atom-one-light .hljs-meta,.hljs-atom-one-light .hljs-selector-id,.hljs-atom-one-light .hljs-title{color:#4078f2}.hljs-atom-one-light .hljs-emphasis{font-style:italic}.hljs-atom-one-light .hljs-strong{font-weight:bold}.hljs-atom-one-light .hljs-link{text-decoration:underline}","brown-paper":".hljs-brown-paper .hljs{display:block;overflow-x:auto;padding:.5em;background:#b7a68e url(./brown-papersq.png)}.hljs-brown-paper .hljs-keyword,.hljs-brown-paper .hljs-selector-tag,.hljs-brown-paper .hljs-literal{color:#005599;font-weight:bold}.hljs-brown-paper .hljs,.hljs-brown-paper .hljs-subst{color:#363c69}.hljs-brown-paper .hljs-string,.hljs-brown-paper .hljs-title,.hljs-brown-paper .hljs-section,.hljs-brown-paper .hljs-type,.hljs-brown-paper .hljs-attribute,.hljs-brown-paper .hljs-symbol,.hljs-brown-paper .hljs-bullet,.hljs-brown-paper .hljs-built_in,.hljs-brown-paper .hljs-addition,.hljs-brown-paper .hljs-variable,.hljs-brown-paper .hljs-template-tag,.hljs-brown-paper .hljs-template-variable,.hljs-brown-paper .hljs-link,.hljs-brown-paper .hljs-name{color:#2c009f}.hljs-brown-paper .hljs-comment,.hljs-brown-paper .hljs-quote,.hljs-brown-paper .hljs-meta,.hljs-brown-paper .hljs-deletion{color:#802022}.hljs-brown-paper .hljs-keyword,.hljs-brown-paper .hljs-selector-tag,.hljs-brown-paper .hljs-literal,.hljs-brown-paper .hljs-doctag,.hljs-brown-paper .hljs-title,.hljs-brown-paper .hljs-section,.hljs-brown-paper .hljs-type,.hljs-brown-paper .hljs-name,.hljs-brown-paper .hljs-strong{font-weight:bold}.hljs-brown-paper .hljs-emphasis{font-style:italic}","codepen-embed":".hljs-codepen-embed .hljs{display:block;overflow-x:auto;padding:.5em;background:#222;color:#fff}.hljs-codepen-embed .hljs-comment,.hljs-codepen-embed .hljs-quote{color:#777}.hljs-codepen-embed .hljs-variable,.hljs-codepen-embed .hljs-template-variable,.hljs-codepen-embed .hljs-tag,.hljs-codepen-embed .hljs-regexp,.hljs-codepen-embed .hljs-meta,.hljs-codepen-embed .hljs-number,.hljs-codepen-embed .hljs-built_in,.hljs-codepen-embed .hljs-builtin-name,.hljs-codepen-embed .hljs-literal,.hljs-codepen-embed .hljs-params,.hljs-codepen-embed .hljs-symbol,.hljs-codepen-embed .hljs-bullet,.hljs-codepen-embed .hljs-link,.hljs-codepen-embed .hljs-deletion{color:#ab875d}.hljs-codepen-embed .hljs-section,.hljs-codepen-embed .hljs-title,.hljs-codepen-embed .hljs-name,.hljs-codepen-embed .hljs-selector-id,.hljs-codepen-embed .hljs-selector-class,.hljs-codepen-embed .hljs-type,.hljs-codepen-embed .hljs-attribute{color:#9b869b}.hljs-codepen-embed .hljs-string,.hljs-codepen-embed .hljs-keyword,.hljs-codepen-embed .hljs-selector-tag,.hljs-codepen-embed .hljs-addition{color:#8f9c6c}.hljs-codepen-embed .hljs-emphasis{font-style:italic}.hljs-codepen-embed .hljs-strong{font-weight:bold}","color-brewer":".hljs-color-brewer .hljs{display:block;overflow-x:auto;padding:.5em;background:#fff}.hljs-color-brewer .hljs,.hljs-color-brewer .hljs-subst{color:#000}.hljs-color-brewer .hljs-string,.hljs-color-brewer .hljs-meta,.hljs-color-brewer .hljs-symbol,.hljs-color-brewer .hljs-template-tag,.hljs-color-brewer .hljs-template-variable,.hljs-color-brewer .hljs-addition{color:#756bb1}.hljs-color-brewer .hljs-comment,.hljs-color-brewer .hljs-quote{color:#636363}.hljs-color-brewer .hljs-number,.hljs-color-brewer .hljs-regexp,.hljs-color-brewer .hljs-literal,.hljs-color-brewer .hljs-bullet,.hljs-color-brewer .hljs-link{color:#31a354}.hljs-color-brewer .hljs-deletion,.hljs-color-brewer .hljs-variable{color:#88f}.hljs-color-brewer .hljs-keyword,.hljs-color-brewer .hljs-selector-tag,.hljs-color-brewer .hljs-title,.hljs-color-brewer .hljs-section,.hljs-color-brewer .hljs-built_in,.hljs-color-brewer .hljs-doctag,.hljs-color-brewer .hljs-type,.hljs-color-brewer .hljs-tag,.hljs-color-brewer .hljs-name,.hljs-color-brewer .hljs-selector-id,.hljs-color-brewer .hljs-selector-class,.hljs-color-brewer .hljs-strong{color:#3182bd}.hljs-color-brewer .hljs-emphasis{font-style:italic}.hljs-color-brewer .hljs-attribute{color:#e6550d}",darcula:".hljs-darcula .hljs{display:block;overflow-x:auto;padding:.5em;background:#2b2b2b}.hljs-darcula .hljs{color:#bababa}.hljs-darcula .hljs-strong,.hljs-darcula .hljs-emphasis{color:#a8a8a2}.hljs-darcula .hljs-bullet,.hljs-darcula .hljs-quote,.hljs-darcula .hljs-link,.hljs-darcula .hljs-number,.hljs-darcula .hljs-regexp,.hljs-darcula .hljs-literal{color:#6896ba}.hljs-darcula .hljs-code,.hljs-darcula .hljs-selector-class{color:#a6e22e}.hljs-darcula .hljs-emphasis{font-style:italic}.hljs-darcula .hljs-keyword,.hljs-darcula .hljs-selector-tag,.hljs-darcula .hljs-section,.hljs-darcula .hljs-attribute,.hljs-darcula .hljs-name,.hljs-darcula .hljs-variable{color:#cb7832}.hljs-darcula .hljs-params{color:#b9b9b9}.hljs-darcula .hljs-string{color:#6a8759}.hljs-darcula .hljs-subst,.hljs-darcula .hljs-type,.hljs-darcula .hljs-built_in,.hljs-darcula .hljs-builtin-name,.hljs-darcula .hljs-symbol,.hljs-darcula .hljs-selector-id,.hljs-darcula .hljs-selector-attr,.hljs-darcula .hljs-selector-pseudo,.hljs-darcula .hljs-template-tag,.hljs-darcula .hljs-template-variable,.hljs-darcula .hljs-addition{color:#e0c46c}.hljs-darcula .hljs-comment,.hljs-darcula .hljs-deletion,.hljs-darcula .hljs-meta{color:#7f7f7f}",dark:".hljs-dark .hljs{display:block;overflow-x:auto;padding:.5em;background:#444}.hljs-dark .hljs-keyword,.hljs-dark .hljs-selector-tag,.hljs-dark .hljs-literal,.hljs-dark .hljs-section,.hljs-dark .hljs-link{color:white}.hljs-dark .hljs,.hljs-dark .hljs-subst{color:#ddd}.hljs-dark .hljs-string,.hljs-dark .hljs-title,.hljs-dark .hljs-name,.hljs-dark .hljs-type,.hljs-dark .hljs-attribute,.hljs-dark .hljs-symbol,.hljs-dark .hljs-bullet,.hljs-dark .hljs-built_in,.hljs-dark .hljs-addition,.hljs-dark .hljs-variable,.hljs-dark .hljs-template-tag,.hljs-dark .hljs-template-variable{color:#d88}.hljs-dark .hljs-comment,.hljs-dark .hljs-quote,.hljs-dark .hljs-deletion,.hljs-dark .hljs-meta{color:#777}.hljs-dark .hljs-keyword,.hljs-dark .hljs-selector-tag,.hljs-dark .hljs-literal,.hljs-dark .hljs-title,.hljs-dark .hljs-section,.hljs-dark .hljs-doctag,.hljs-dark .hljs-type,.hljs-dark .hljs-name,.hljs-dark .hljs-strong{font-weight:bold}.hljs-dark .hljs-emphasis{font-style:italic}",darkula:".hljs-darkula{@import url('darcula.css');}",default:".hljs-default .hljs{display:block;overflow-x:auto;padding:.5em;background:#F0F0F0}.hljs-default .hljs,.hljs-default .hljs-subst{color:#444}.hljs-default .hljs-comment{color:#888888}.hljs-default .hljs-keyword,.hljs-default .hljs-attribute,.hljs-default .hljs-selector-tag,.hljs-default .hljs-meta-keyword,.hljs-default .hljs-doctag,.hljs-default .hljs-name{font-weight:bold}.hljs-default .hljs-type,.hljs-default .hljs-string,.hljs-default .hljs-number,.hljs-default .hljs-selector-id,.hljs-default .hljs-selector-class,.hljs-default .hljs-quote,.hljs-default .hljs-template-tag,.hljs-default .hljs-deletion{color:#880000}.hljs-default .hljs-title,.hljs-default .hljs-section{color:#880000;font-weight:bold}.hljs-default .hljs-regexp,.hljs-default .hljs-symbol,.hljs-default .hljs-variable,.hljs-default .hljs-template-variable,.hljs-default .hljs-link,.hljs-default .hljs-selector-attr,.hljs-default .hljs-selector-pseudo{color:#BC6060}.hljs-default .hljs-literal{color:#78A960}.hljs-default .hljs-built_in,.hljs-default .hljs-bullet,.hljs-default .hljs-code,.hljs-default .hljs-addition{color:#397300}.hljs-default .hljs-meta{color:#1f7199}.hljs-default .hljs-meta-string{color:#4d99bf}.hljs-default .hljs-emphasis{font-style:italic}.hljs-default .hljs-strong{font-weight:bold}",docco:".hljs-docco .hljs{display:block;overflow-x:auto;padding:.5em;color:#000;background:#f8f8ff}.hljs-docco .hljs-comment,.hljs-docco .hljs-quote{color:#408080;font-style:italic}.hljs-docco .hljs-keyword,.hljs-docco .hljs-selector-tag,.hljs-docco .hljs-literal,.hljs-docco .hljs-subst{color:#954121}.hljs-docco .hljs-number{color:#40a070}.hljs-docco .hljs-string,.hljs-docco .hljs-doctag{color:#219161}.hljs-docco .hljs-selector-id,.hljs-docco .hljs-selector-class,.hljs-docco .hljs-section,.hljs-docco .hljs-type{color:#19469d}.hljs-docco .hljs-params{color:#00f}.hljs-docco .hljs-title{color:#458;font-weight:bold}.hljs-docco .hljs-tag,.hljs-docco .hljs-name,.hljs-docco .hljs-attribute{color:#000080;font-weight:normal}.hljs-docco .hljs-variable,.hljs-docco .hljs-template-variable{color:#008080}.hljs-docco .hljs-regexp,.hljs-docco .hljs-link{color:#b68}.hljs-docco .hljs-symbol,.hljs-docco .hljs-bullet{color:#990073}.hljs-docco .hljs-built_in,.hljs-docco .hljs-builtin-name{color:#0086b3}.hljs-docco .hljs-meta{color:#999;font-weight:bold}.hljs-docco .hljs-deletion{background:#fdd}.hljs-docco .hljs-addition{background:#dfd}.hljs-docco .hljs-emphasis{font-style:italic}.hljs-docco .hljs-strong{font-weight:bold}", +dracula:".hljs-dracula .hljs{display:block;overflow-x:auto;padding:.5em;background:#282a36}.hljs-dracula .hljs-keyword,.hljs-dracula .hljs-selector-tag,.hljs-dracula .hljs-literal,.hljs-dracula .hljs-section,.hljs-dracula .hljs-link{color:#8be9fd}.hljs-dracula .hljs-function .hljs-keyword{color:#ff79c6}.hljs-dracula .hljs,.hljs-dracula .hljs-subst{color:#f8f8f2}.hljs-dracula .hljs-string,.hljs-dracula .hljs-title,.hljs-dracula .hljs-name,.hljs-dracula .hljs-type,.hljs-dracula .hljs-attribute,.hljs-dracula .hljs-symbol,.hljs-dracula .hljs-bullet,.hljs-dracula .hljs-addition,.hljs-dracula .hljs-variable,.hljs-dracula .hljs-template-tag,.hljs-dracula .hljs-template-variable{color:#f1fa8c}.hljs-dracula .hljs-comment,.hljs-dracula .hljs-quote,.hljs-dracula .hljs-deletion,.hljs-dracula .hljs-meta{color:#6272a4}.hljs-dracula .hljs-keyword,.hljs-dracula .hljs-selector-tag,.hljs-dracula .hljs-literal,.hljs-dracula .hljs-title,.hljs-dracula .hljs-section,.hljs-dracula .hljs-doctag,.hljs-dracula .hljs-type,.hljs-dracula .hljs-name,.hljs-dracula .hljs-strong{font-weight:bold}.hljs-dracula .hljs-emphasis{font-style:italic}",far:".hljs-far .hljs{display:block;overflow-x:auto;padding:.5em;background:#000080}.hljs-far .hljs,.hljs-far .hljs-subst{color:#0ff}.hljs-far .hljs-string,.hljs-far .hljs-attribute,.hljs-far .hljs-symbol,.hljs-far .hljs-bullet,.hljs-far .hljs-built_in,.hljs-far .hljs-builtin-name,.hljs-far .hljs-template-tag,.hljs-far .hljs-template-variable,.hljs-far .hljs-addition{color:#ff0}.hljs-far .hljs-keyword,.hljs-far .hljs-selector-tag,.hljs-far .hljs-section,.hljs-far .hljs-type,.hljs-far .hljs-name,.hljs-far .hljs-selector-id,.hljs-far .hljs-selector-class,.hljs-far .hljs-variable{color:#fff}.hljs-far .hljs-comment,.hljs-far .hljs-quote,.hljs-far .hljs-doctag,.hljs-far .hljs-deletion{color:#888}.hljs-far .hljs-number,.hljs-far .hljs-regexp,.hljs-far .hljs-literal,.hljs-far .hljs-link{color:#0f0}.hljs-far .hljs-meta{color:#008080}.hljs-far .hljs-keyword,.hljs-far .hljs-selector-tag,.hljs-far .hljs-title,.hljs-far .hljs-section,.hljs-far .hljs-name,.hljs-far .hljs-strong{font-weight:bold}.hljs-far .hljs-emphasis{font-style:italic}",foundation:".hljs-foundation .hljs{display:block;overflow-x:auto;padding:.5em;background:#eee;color:black}.hljs-foundation .hljs-link,.hljs-foundation .hljs-emphasis,.hljs-foundation .hljs-attribute,.hljs-foundation .hljs-addition{color:#070}.hljs-foundation .hljs-emphasis{font-style:italic}.hljs-foundation .hljs-strong,.hljs-foundation .hljs-string,.hljs-foundation .hljs-deletion{color:#d14}.hljs-foundation .hljs-strong{font-weight:bold}.hljs-foundation .hljs-quote,.hljs-foundation .hljs-comment{color:#998;font-style:italic}.hljs-foundation .hljs-section,.hljs-foundation .hljs-title{color:#900}.hljs-foundation .hljs-class .hljs-title,.hljs-foundation .hljs-type{color:#458}.hljs-foundation .hljs-variable,.hljs-foundation .hljs-template-variable{color:#336699}.hljs-foundation .hljs-bullet{color:#997700}.hljs-foundation .hljs-meta{color:#3344bb}.hljs-foundation .hljs-code,.hljs-foundation .hljs-number,.hljs-foundation .hljs-literal,.hljs-foundation .hljs-keyword,.hljs-foundation .hljs-selector-tag{color:#099}.hljs-foundation .hljs-regexp{background-color:#fff0ff;color:#880088}.hljs-foundation .hljs-symbol{color:#990073}.hljs-foundation .hljs-tag,.hljs-foundation .hljs-name,.hljs-foundation .hljs-selector-id,.hljs-foundation .hljs-selector-class{color:#007700}","github-gist":".hljs-github-gist .hljs{display:block;background:white;padding:.5em;color:#333333;overflow-x:auto}.hljs-github-gist .hljs-comment,.hljs-github-gist .hljs-meta{color:#969896}.hljs-github-gist .hljs-variable,.hljs-github-gist .hljs-template-variable,.hljs-github-gist .hljs-strong,.hljs-github-gist .hljs-emphasis,.hljs-github-gist .hljs-quote{color:#df5000}.hljs-github-gist .hljs-keyword,.hljs-github-gist .hljs-selector-tag,.hljs-github-gist .hljs-type{color:#d73a49}.hljs-github-gist .hljs-literal,.hljs-github-gist .hljs-symbol,.hljs-github-gist .hljs-bullet,.hljs-github-gist .hljs-attribute{color:#0086b3}.hljs-github-gist .hljs-section,.hljs-github-gist .hljs-name{color:#63a35c}.hljs-github-gist .hljs-tag{color:#333333}.hljs-github-gist .hljs-title,.hljs-github-gist .hljs-attr,.hljs-github-gist .hljs-selector-id,.hljs-github-gist .hljs-selector-class,.hljs-github-gist .hljs-selector-attr,.hljs-github-gist .hljs-selector-pseudo{color:#6f42c1}.hljs-github-gist .hljs-addition{color:#55a532;background-color:#eaffea}.hljs-github-gist .hljs-deletion{color:#bd2c00;background-color:#ffecec}.hljs-github-gist .hljs-link{text-decoration:underline}.hljs-github-gist .hljs-number{color:#005cc5}.hljs-github-gist .hljs-string{color:#032f62}",github:".hljs-github .hljs{display:block;overflow-x:auto;padding:.5em;color:#333;background:#f8f8f8}.hljs-github .hljs-comment,.hljs-github .hljs-quote{color:#998;font-style:italic}.hljs-github .hljs-keyword,.hljs-github .hljs-selector-tag,.hljs-github .hljs-subst{color:#333;font-weight:bold}.hljs-github .hljs-number,.hljs-github .hljs-literal,.hljs-github .hljs-variable,.hljs-github .hljs-template-variable,.hljs-github .hljs-tag .hljs-attr{color:#008080}.hljs-github .hljs-string,.hljs-github .hljs-doctag{color:#d14}.hljs-github .hljs-title,.hljs-github .hljs-section,.hljs-github .hljs-selector-id{color:#900;font-weight:bold}.hljs-github .hljs-subst{font-weight:normal}.hljs-github .hljs-type,.hljs-github .hljs-class .hljs-title{color:#458;font-weight:bold}.hljs-github .hljs-tag,.hljs-github .hljs-name,.hljs-github .hljs-attribute{color:#000080;font-weight:normal}.hljs-github .hljs-regexp,.hljs-github .hljs-link{color:#009926}.hljs-github .hljs-symbol,.hljs-github .hljs-bullet{color:#990073}.hljs-github .hljs-built_in,.hljs-github .hljs-builtin-name{color:#0086b3}.hljs-github .hljs-meta{color:#999;font-weight:bold}.hljs-github .hljs-deletion{background:#fdd}.hljs-github .hljs-addition{background:#dfd}.hljs-github .hljs-emphasis{font-style:italic}.hljs-github .hljs-strong{font-weight:bold}",gml:".hljs-gml .hljs{display:block;overflow-x:auto;padding:.5em;background:#222222;color:#C0C0C0}.hljs-gml .hljs-keywords{color:#FFB871;font-weight:bold}.hljs-gml .hljs-built_in{color:#FFB871}.hljs-gml .hljs-literal{color:#FF8080}.hljs-gml .hljs-symbol{color:#58E55A}.hljs-gml .hljs-comment{color:#5B995B}.hljs-gml .hljs-string{color:#FFFF00}.hljs-gml .hljs-number{color:#FF8080}.hljs-gml .hljs-attribute,.hljs-gml .hljs-selector-tag,.hljs-gml .hljs-doctag,.hljs-gml .hljs-name,.hljs-gml .hljs-bullet,.hljs-gml .hljs-code,.hljs-gml .hljs-addition,.hljs-gml .hljs-regexp,.hljs-gml .hljs-variable,.hljs-gml .hljs-template-variable,.hljs-gml .hljs-link,.hljs-gml .hljs-selector-attr,.hljs-gml .hljs-selector-pseudo,.hljs-gml .hljs-type,.hljs-gml .hljs-selector-id,.hljs-gml .hljs-selector-class,.hljs-gml .hljs-quote,.hljs-gml .hljs-template-tag,.hljs-gml .hljs-deletion,.hljs-gml .hljs-title,.hljs-gml .hljs-section,.hljs-gml .hljs-function,.hljs-gml .hljs-meta-keyword,.hljs-gml .hljs-meta,.hljs-gml .hljs-subst{color:#C0C0C0}.hljs-gml .hljs-emphasis{font-style:italic}.hljs-gml .hljs-strong{font-weight:bold}",googlecode:".hljs-googlecode .hljs{display:block;overflow-x:auto;padding:.5em;background:white;color:black}.hljs-googlecode .hljs-comment,.hljs-googlecode .hljs-quote{color:#800}.hljs-googlecode .hljs-keyword,.hljs-googlecode .hljs-selector-tag,.hljs-googlecode .hljs-section,.hljs-googlecode .hljs-title,.hljs-googlecode .hljs-name{color:#008}.hljs-googlecode .hljs-variable,.hljs-googlecode .hljs-template-variable{color:#660}.hljs-googlecode .hljs-string,.hljs-googlecode .hljs-selector-attr,.hljs-googlecode .hljs-selector-pseudo,.hljs-googlecode .hljs-regexp{color:#080}.hljs-googlecode .hljs-literal,.hljs-googlecode .hljs-symbol,.hljs-googlecode .hljs-bullet,.hljs-googlecode .hljs-meta,.hljs-googlecode .hljs-number,.hljs-googlecode .hljs-link{color:#066}.hljs-googlecode .hljs-title,.hljs-googlecode .hljs-doctag,.hljs-googlecode .hljs-type,.hljs-googlecode .hljs-attr,.hljs-googlecode .hljs-built_in,.hljs-googlecode .hljs-builtin-name,.hljs-googlecode .hljs-params{color:#606}.hljs-googlecode .hljs-attribute,.hljs-googlecode .hljs-subst{color:#000}.hljs-googlecode .hljs-formula{background-color:#eee;font-style:italic}.hljs-googlecode .hljs-selector-id,.hljs-googlecode .hljs-selector-class{color:#9B703F}.hljs-googlecode .hljs-addition{background-color:#baeeba}.hljs-googlecode .hljs-deletion{background-color:#ffc8bd}.hljs-googlecode .hljs-doctag,.hljs-googlecode .hljs-strong{font-weight:bold}.hljs-googlecode .hljs-emphasis{font-style:italic}",grayscale:".hljs-grayscale .hljs{display:block;overflow-x:auto;padding:.5em;color:#333;background:#fff}.hljs-grayscale .hljs-comment,.hljs-grayscale .hljs-quote{color:#777;font-style:italic}.hljs-grayscale .hljs-keyword,.hljs-grayscale .hljs-selector-tag,.hljs-grayscale .hljs-subst{color:#333;font-weight:bold}.hljs-grayscale .hljs-number,.hljs-grayscale .hljs-literal{color:#777}.hljs-grayscale .hljs-string,.hljs-grayscale .hljs-doctag,.hljs-grayscale .hljs-formula{color:#333;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAJ0lEQVQIW2O8e/fufwYGBgZBQUEQxcCIIfDu3Tuwivfv30NUoAsAALHpFMMLqZlPAAAAAElFTkSuQmCC) repeat}.hljs-grayscale .hljs-title,.hljs-grayscale .hljs-section,.hljs-grayscale .hljs-selector-id{color:#000;font-weight:bold}.hljs-grayscale .hljs-subst{font-weight:normal}.hljs-grayscale .hljs-class .hljs-title,.hljs-grayscale .hljs-type,.hljs-grayscale .hljs-name{color:#333;font-weight:bold}.hljs-grayscale .hljs-tag{color:#333}.hljs-grayscale .hljs-regexp{color:#333;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAAPUlEQVQYV2NkQAN37979r6yszIgujiIAU4RNMVwhuiQ6H6wQl3XI4oy4FMHcCJPHcDS6J2A2EqUQpJhohQDexSef15DBCwAAAABJRU5ErkJggg==) repeat}.hljs-grayscale .hljs-symbol,.hljs-grayscale .hljs-bullet,.hljs-grayscale .hljs-link{color:#000;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAKElEQVQIW2NkQAO7d+/+z4gsBhJwdXVlhAvCBECKwIIwAbhKZBUwBQA6hBpm5efZsgAAAABJRU5ErkJggg==) repeat}.hljs-grayscale .hljs-built_in,.hljs-grayscale .hljs-builtin-name{color:#000;text-decoration:underline}.hljs-grayscale .hljs-meta{color:#999;font-weight:bold}.hljs-grayscale .hljs-deletion{color:#fff;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAADCAYAAABS3WWCAAAAE0lEQVQIW2MMDQ39zzhz5kwIAQAyxweWgUHd1AAAAABJRU5ErkJggg==) repeat}.hljs-grayscale .hljs-addition{color:#000;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAALUlEQVQYV2N89+7dfwYk8P79ewZBQUFkIQZGOiu6e/cuiptQHAPl0NtNxAQBAM97Oejj3Dg7AAAAAElFTkSuQmCC) repeat}.hljs-grayscale .hljs-emphasis{font-style:italic}.hljs-grayscale .hljs-strong{font-weight:bold}","gruvbox-dark":".hljs-gruvbox-dark .hljs{display:block;overflow-x:auto;padding:.5em;background:#282828}.hljs-gruvbox-dark .hljs,.hljs-gruvbox-dark .hljs-subst{color:#ebdbb2}.hljs-gruvbox-dark .hljs-deletion,.hljs-gruvbox-dark .hljs-formula,.hljs-gruvbox-dark .hljs-keyword,.hljs-gruvbox-dark .hljs-link,.hljs-gruvbox-dark .hljs-selector-tag{color:#fb4934}.hljs-gruvbox-dark .hljs-built_in,.hljs-gruvbox-dark .hljs-emphasis,.hljs-gruvbox-dark .hljs-name,.hljs-gruvbox-dark .hljs-quote,.hljs-gruvbox-dark .hljs-strong,.hljs-gruvbox-dark .hljs-title,.hljs-gruvbox-dark .hljs-variable{color:#83a598}.hljs-gruvbox-dark .hljs-attr,.hljs-gruvbox-dark .hljs-params,.hljs-gruvbox-dark .hljs-template-tag,.hljs-gruvbox-dark .hljs-type{color:#fabd2f}.hljs-gruvbox-dark .hljs-builtin-name,.hljs-gruvbox-dark .hljs-doctag,.hljs-gruvbox-dark .hljs-literal,.hljs-gruvbox-dark .hljs-number{color:#8f3f71}.hljs-gruvbox-dark .hljs-code,.hljs-gruvbox-dark .hljs-meta,.hljs-gruvbox-dark .hljs-regexp,.hljs-gruvbox-dark .hljs-selector-id,.hljs-gruvbox-dark .hljs-template-variable{color:#fe8019}.hljs-gruvbox-dark .hljs-addition,.hljs-gruvbox-dark .hljs-meta-string,.hljs-gruvbox-dark .hljs-section,.hljs-gruvbox-dark .hljs-selector-attr,.hljs-gruvbox-dark .hljs-selector-class,.hljs-gruvbox-dark .hljs-string,.hljs-gruvbox-dark .hljs-symbol{color:#b8bb26}.hljs-gruvbox-dark .hljs-attribute,.hljs-gruvbox-dark .hljs-bullet,.hljs-gruvbox-dark .hljs-class,.hljs-gruvbox-dark .hljs-function,.hljs-gruvbox-dark .hljs-function .hljs-keyword,.hljs-gruvbox-dark .hljs-meta-keyword,.hljs-gruvbox-dark .hljs-selector-pseudo,.hljs-gruvbox-dark .hljs-tag{color:#8ec07c}.hljs-gruvbox-dark .hljs-comment{color:#928374}.hljs-gruvbox-dark .hljs-link_label,.hljs-gruvbox-dark .hljs-literal,.hljs-gruvbox-dark .hljs-number{color:#d3869b}.hljs-gruvbox-dark .hljs-comment,.hljs-gruvbox-dark .hljs-emphasis{font-style:italic}.hljs-gruvbox-dark .hljs-section,.hljs-gruvbox-dark .hljs-strong,.hljs-gruvbox-dark .hljs-tag{font-weight:bold}","gruvbox-light":".hljs-gruvbox-light .hljs{display:block;overflow-x:auto;padding:.5em;background:#fbf1c7}.hljs-gruvbox-light .hljs,.hljs-gruvbox-light .hljs-subst{color:#3c3836}.hljs-gruvbox-light .hljs-deletion,.hljs-gruvbox-light .hljs-formula,.hljs-gruvbox-light .hljs-keyword,.hljs-gruvbox-light .hljs-link,.hljs-gruvbox-light .hljs-selector-tag{color:#9d0006}.hljs-gruvbox-light .hljs-built_in,.hljs-gruvbox-light .hljs-emphasis,.hljs-gruvbox-light .hljs-name,.hljs-gruvbox-light .hljs-quote,.hljs-gruvbox-light .hljs-strong,.hljs-gruvbox-light .hljs-title,.hljs-gruvbox-light .hljs-variable{color:#076678}.hljs-gruvbox-light .hljs-attr,.hljs-gruvbox-light .hljs-params,.hljs-gruvbox-light .hljs-template-tag,.hljs-gruvbox-light .hljs-type{color:#b57614}.hljs-gruvbox-light .hljs-builtin-name,.hljs-gruvbox-light .hljs-doctag,.hljs-gruvbox-light .hljs-literal,.hljs-gruvbox-light .hljs-number{color:#8f3f71}.hljs-gruvbox-light .hljs-code,.hljs-gruvbox-light .hljs-meta,.hljs-gruvbox-light .hljs-regexp,.hljs-gruvbox-light .hljs-selector-id,.hljs-gruvbox-light .hljs-template-variable{color:#af3a03}.hljs-gruvbox-light .hljs-addition,.hljs-gruvbox-light .hljs-meta-string,.hljs-gruvbox-light .hljs-section,.hljs-gruvbox-light .hljs-selector-attr,.hljs-gruvbox-light .hljs-selector-class,.hljs-gruvbox-light .hljs-string,.hljs-gruvbox-light .hljs-symbol{color:#79740e}.hljs-gruvbox-light .hljs-attribute,.hljs-gruvbox-light .hljs-bullet,.hljs-gruvbox-light .hljs-class,.hljs-gruvbox-light .hljs-function,.hljs-gruvbox-light .hljs-function .hljs-keyword,.hljs-gruvbox-light .hljs-meta-keyword,.hljs-gruvbox-light .hljs-selector-pseudo,.hljs-gruvbox-light .hljs-tag{color:#427b58}.hljs-gruvbox-light .hljs-comment{color:#928374}.hljs-gruvbox-light .hljs-link_label,.hljs-gruvbox-light .hljs-literal,.hljs-gruvbox-light .hljs-number{color:#8f3f71}.hljs-gruvbox-light .hljs-comment,.hljs-gruvbox-light .hljs-emphasis{font-style:italic}.hljs-gruvbox-light .hljs-section,.hljs-gruvbox-light .hljs-strong,.hljs-gruvbox-light .hljs-tag{font-weight:bold}",hopscotch:".hljs-hopscotch .hljs-comment,.hljs-hopscotch .hljs-quote{color:#989498}.hljs-hopscotch .hljs-variable,.hljs-hopscotch .hljs-template-variable,.hljs-hopscotch .hljs-attribute,.hljs-hopscotch .hljs-tag,.hljs-hopscotch .hljs-name,.hljs-hopscotch .hljs-selector-id,.hljs-hopscotch .hljs-selector-class,.hljs-hopscotch .hljs-regexp,.hljs-hopscotch .hljs-link,.hljs-hopscotch .hljs-deletion{color:#dd464c}.hljs-hopscotch .hljs-number,.hljs-hopscotch .hljs-built_in,.hljs-hopscotch .hljs-builtin-name,.hljs-hopscotch .hljs-literal,.hljs-hopscotch .hljs-type,.hljs-hopscotch .hljs-params{color:#fd8b19}.hljs-hopscotch .hljs-class .hljs-title{color:#fdcc59}.hljs-hopscotch .hljs-string,.hljs-hopscotch .hljs-symbol,.hljs-hopscotch .hljs-bullet,.hljs-hopscotch .hljs-addition{color:#8fc13e}.hljs-hopscotch .hljs-meta{color:#149b93}.hljs-hopscotch .hljs-function,.hljs-hopscotch .hljs-section,.hljs-hopscotch .hljs-title{color:#1290bf}.hljs-hopscotch .hljs-keyword,.hljs-hopscotch .hljs-selector-tag{color:#c85e7c}.hljs-hopscotch .hljs{display:block;background:#322931;color:#b9b5b8;padding:.5em}.hljs-hopscotch .hljs-emphasis{font-style:italic}.hljs-hopscotch .hljs-strong{font-weight:bold}",hybrid:".hljs-hybrid .hljs{display:block;overflow-x:auto;padding:.5em;background:#1d1f21}.hljs-hybrid .hljs::selection,.hljs-hybrid .hljs span::selection{background:#373b41}.hljs-hybrid .hljs::-moz-selection,.hljs-hybrid .hljs span::-moz-selection{background:#373b41}.hljs-hybrid .hljs{color:#c5c8c6}.hljs-hybrid .hljs-title,.hljs-hybrid .hljs-name{color:#f0c674}.hljs-hybrid .hljs-comment,.hljs-hybrid .hljs-meta,.hljs-hybrid .hljs-meta .hljs-keyword{color:#707880}.hljs-hybrid .hljs-number,.hljs-hybrid .hljs-symbol,.hljs-hybrid .hljs-literal,.hljs-hybrid .hljs-deletion,.hljs-hybrid .hljs-link{color:#cc6666}.hljs-hybrid .hljs-string,.hljs-hybrid .hljs-doctag,.hljs-hybrid .hljs-addition,.hljs-hybrid .hljs-regexp,.hljs-hybrid .hljs-selector-attr,.hljs-hybrid .hljs-selector-pseudo{color:#b5bd68}.hljs-hybrid .hljs-attribute,.hljs-hybrid .hljs-code,.hljs-hybrid .hljs-selector-id{color:#b294bb}.hljs-hybrid .hljs-keyword,.hljs-hybrid .hljs-selector-tag,.hljs-hybrid .hljs-bullet,.hljs-hybrid .hljs-tag{color:#81a2be}.hljs-hybrid .hljs-subst,.hljs-hybrid .hljs-variable,.hljs-hybrid .hljs-template-tag,.hljs-hybrid .hljs-template-variable{color:#8abeb7}.hljs-hybrid .hljs-type,.hljs-hybrid .hljs-built_in,.hljs-hybrid .hljs-builtin-name,.hljs-hybrid .hljs-quote,.hljs-hybrid .hljs-section,.hljs-hybrid .hljs-selector-class{color:#de935f}.hljs-hybrid .hljs-emphasis{font-style:italic}.hljs-hybrid .hljs-strong{font-weight:bold}",idea:".hljs-idea .hljs{display:block;overflow-x:auto;padding:.5em;color:#000;background:#fff}.hljs-idea .hljs-subst,.hljs-idea .hljs-title{font-weight:normal;color:#000}.hljs-idea .hljs-comment,.hljs-idea .hljs-quote{color:#808080;font-style:italic}.hljs-idea .hljs-meta{color:#808000}.hljs-idea .hljs-tag{background:#efefef}.hljs-idea .hljs-section,.hljs-idea .hljs-name,.hljs-idea .hljs-literal,.hljs-idea .hljs-keyword,.hljs-idea .hljs-selector-tag,.hljs-idea .hljs-type,.hljs-idea .hljs-selector-id,.hljs-idea .hljs-selector-class{font-weight:bold;color:#000080}.hljs-idea .hljs-attribute,.hljs-idea .hljs-number,.hljs-idea .hljs-regexp,.hljs-idea .hljs-link{font-weight:bold;color:#0000ff}.hljs-idea .hljs-number,.hljs-idea .hljs-regexp,.hljs-idea .hljs-link{font-weight:normal}.hljs-idea .hljs-string{color:#008000;font-weight:bold}.hljs-idea .hljs-symbol,.hljs-idea .hljs-bullet,.hljs-idea .hljs-formula{color:#000;background:#d0eded;font-style:italic}.hljs-idea .hljs-doctag{text-decoration:underline}.hljs-idea .hljs-variable,.hljs-idea .hljs-template-variable{color:#660e7a}.hljs-idea .hljs-addition{background:#baeeba}.hljs-idea .hljs-deletion{background:#ffc8bd}.hljs-idea .hljs-emphasis{font-style:italic}.hljs-idea .hljs-strong{font-weight:bold}","ir-black":".hljs-ir-black .hljs{display:block;overflow-x:auto;padding:.5em;background:#000;color:#f8f8f8}.hljs-ir-black .hljs-comment,.hljs-ir-black .hljs-quote,.hljs-ir-black .hljs-meta{color:#7c7c7c}.hljs-ir-black .hljs-keyword,.hljs-ir-black .hljs-selector-tag,.hljs-ir-black .hljs-tag,.hljs-ir-black .hljs-name{color:#96cbfe}.hljs-ir-black .hljs-attribute,.hljs-ir-black .hljs-selector-id{color:#ffffb6}.hljs-ir-black .hljs-string,.hljs-ir-black .hljs-selector-attr,.hljs-ir-black .hljs-selector-pseudo,.hljs-ir-black .hljs-addition{color:#a8ff60}.hljs-ir-black .hljs-subst{color:#daefa3}.hljs-ir-black .hljs-regexp,.hljs-ir-black .hljs-link{color:#e9c062}.hljs-ir-black .hljs-title,.hljs-ir-black .hljs-section,.hljs-ir-black .hljs-type,.hljs-ir-black .hljs-doctag{color:#ffffb6}.hljs-ir-black .hljs-symbol,.hljs-ir-black .hljs-bullet,.hljs-ir-black .hljs-variable,.hljs-ir-black .hljs-template-variable,.hljs-ir-black .hljs-literal{color:#c6c5fe}.hljs-ir-black .hljs-number,.hljs-ir-black .hljs-deletion{color:#ff73fd}.hljs-ir-black .hljs-emphasis{font-style:italic}.hljs-ir-black .hljs-strong{font-weight:bold}","isbl-editor-dark":".hljs-isbl-editor-dark .hljs{display:block;overflow-x:auto;padding:.5em;background:#404040;color:#f0f0f0}.hljs-isbl-editor-dark .hljs,.hljs-isbl-editor-dark .hljs-subst{color:#f0f0f0}.hljs-isbl-editor-dark .hljs-comment{color:#b5b5b5;font-style:italic}.hljs-isbl-editor-dark .hljs-keyword,.hljs-isbl-editor-dark .hljs-attribute,.hljs-isbl-editor-dark .hljs-selector-tag,.hljs-isbl-editor-dark .hljs-meta-keyword,.hljs-isbl-editor-dark .hljs-doctag,.hljs-isbl-editor-dark .hljs-name{color:#f0f0f0;font-weight:bold}.hljs-isbl-editor-dark .hljs-string{color:#97bf0d}.hljs-isbl-editor-dark .hljs-type,.hljs-isbl-editor-dark .hljs-number,.hljs-isbl-editor-dark .hljs-selector-id,.hljs-isbl-editor-dark .hljs-selector-class,.hljs-isbl-editor-dark .hljs-quote,.hljs-isbl-editor-dark .hljs-template-tag,.hljs-isbl-editor-dark .hljs-deletion{color:#f0f0f0}.hljs-isbl-editor-dark .hljs-title,.hljs-isbl-editor-dark .hljs-section{color:#df471e}.hljs-isbl-editor-dark .hljs-title>.hljs-built_in{color:#81bce9;font-weight:normal}.hljs-isbl-editor-dark .hljs-regexp,.hljs-isbl-editor-dark .hljs-symbol,.hljs-isbl-editor-dark .hljs-variable,.hljs-isbl-editor-dark .hljs-template-variable,.hljs-isbl-editor-dark .hljs-link,.hljs-isbl-editor-dark .hljs-selector-attr,.hljs-isbl-editor-dark .hljs-selector-pseudo{color:#e2c696}.hljs-isbl-editor-dark .hljs-built_in,.hljs-isbl-editor-dark .hljs-literal{color:#97bf0d;font-weight:bold}.hljs-isbl-editor-dark .hljs-bullet,.hljs-isbl-editor-dark .hljs-code,.hljs-isbl-editor-dark .hljs-addition{color:#397300}.hljs-isbl-editor-dark .hljs-class{color:#ce9d4d;font-weight:bold}.hljs-isbl-editor-dark .hljs-meta{color:#1f7199}.hljs-isbl-editor-dark .hljs-meta-string{color:#4d99bf}.hljs-isbl-editor-dark .hljs-emphasis{font-style:italic}.hljs-isbl-editor-dark .hljs-strong{font-weight:bold}","isbl-editor-light":".hljs-isbl-editor-light .hljs{display:block;overflow-x:auto;padding:.5em;background:white;color:black}.hljs-isbl-editor-light .hljs,.hljs-isbl-editor-light .hljs-subst{color:#000000}.hljs-isbl-editor-light .hljs-comment{color:#555555;font-style:italic}.hljs-isbl-editor-light .hljs-keyword,.hljs-isbl-editor-light .hljs-attribute,.hljs-isbl-editor-light .hljs-selector-tag,.hljs-isbl-editor-light .hljs-meta-keyword,.hljs-isbl-editor-light .hljs-doctag,.hljs-isbl-editor-light .hljs-name{color:#000000;font-weight:bold}.hljs-isbl-editor-light .hljs-string{color:#000080}.hljs-isbl-editor-light .hljs-type,.hljs-isbl-editor-light .hljs-number,.hljs-isbl-editor-light .hljs-selector-id,.hljs-isbl-editor-light .hljs-selector-class,.hljs-isbl-editor-light .hljs-quote,.hljs-isbl-editor-light .hljs-template-tag,.hljs-isbl-editor-light .hljs-deletion{color:#000000}.hljs-isbl-editor-light .hljs-title,.hljs-isbl-editor-light .hljs-section{color:#fb2c00}.hljs-isbl-editor-light .hljs-title>.hljs-built_in{color:#008080;font-weight:normal}.hljs-isbl-editor-light .hljs-regexp,.hljs-isbl-editor-light .hljs-symbol,.hljs-isbl-editor-light .hljs-variable,.hljs-isbl-editor-light .hljs-template-variable,.hljs-isbl-editor-light .hljs-link,.hljs-isbl-editor-light .hljs-selector-attr,.hljs-isbl-editor-light .hljs-selector-pseudo{color:#5e1700}.hljs-isbl-editor-light .hljs-built_in,.hljs-isbl-editor-light .hljs-literal{color:#000080;font-weight:bold}.hljs-isbl-editor-light .hljs-bullet,.hljs-isbl-editor-light .hljs-code,.hljs-isbl-editor-light .hljs-addition{color:#397300}.hljs-isbl-editor-light .hljs-class{color:#6f1C00;font-weight:bold}.hljs-isbl-editor-light .hljs-meta{color:#1f7199}.hljs-isbl-editor-light .hljs-meta-string{color:#4d99bf}.hljs-isbl-editor-light .hljs-emphasis{font-style:italic}.hljs-isbl-editor-light .hljs-strong{font-weight:bold}","kimbie.dark":".hljs-kimbie.dark .hljs-comment,.hljs-kimbie.dark .hljs-quote{color:#d6baad}.hljs-kimbie.dark .hljs-variable,.hljs-kimbie.dark .hljs-template-variable,.hljs-kimbie.dark .hljs-tag,.hljs-kimbie.dark .hljs-name,.hljs-kimbie.dark .hljs-selector-id,.hljs-kimbie.dark .hljs-selector-class,.hljs-kimbie.dark .hljs-regexp,.hljs-kimbie.dark .hljs-meta{color:#dc3958}.hljs-kimbie.dark .hljs-number,.hljs-kimbie.dark .hljs-built_in,.hljs-kimbie.dark .hljs-builtin-name,.hljs-kimbie.dark .hljs-literal,.hljs-kimbie.dark .hljs-type,.hljs-kimbie.dark .hljs-params,.hljs-kimbie.dark .hljs-deletion,.hljs-kimbie.dark .hljs-link{color:#f79a32}.hljs-kimbie.dark .hljs-title,.hljs-kimbie.dark .hljs-section,.hljs-kimbie.dark .hljs-attribute{color:#f06431}.hljs-kimbie.dark .hljs-string,.hljs-kimbie.dark .hljs-symbol,.hljs-kimbie.dark .hljs-bullet,.hljs-kimbie.dark .hljs-addition{color:#889b4a}.hljs-kimbie.dark .hljs-keyword,.hljs-kimbie.dark .hljs-selector-tag,.hljs-kimbie.dark .hljs-function{color:#98676a}.hljs-kimbie.dark .hljs{display:block;overflow-x:auto;background:#221a0f;color:#d3af86;padding:.5em}.hljs-kimbie.dark .hljs-emphasis{font-style:italic}.hljs-kimbie.dark .hljs-strong{font-weight:bold}","kimbie.light":".hljs-kimbie.light .hljs-comment,.hljs-kimbie.light .hljs-quote{color:#a57a4c}.hljs-kimbie.light .hljs-variable,.hljs-kimbie.light .hljs-template-variable,.hljs-kimbie.light .hljs-tag,.hljs-kimbie.light .hljs-name,.hljs-kimbie.light .hljs-selector-id,.hljs-kimbie.light .hljs-selector-class,.hljs-kimbie.light .hljs-regexp,.hljs-kimbie.light .hljs-meta{color:#dc3958}.hljs-kimbie.light .hljs-number,.hljs-kimbie.light .hljs-built_in,.hljs-kimbie.light .hljs-builtin-name,.hljs-kimbie.light .hljs-literal,.hljs-kimbie.light .hljs-type,.hljs-kimbie.light .hljs-params,.hljs-kimbie.light .hljs-deletion,.hljs-kimbie.light .hljs-link{color:#f79a32}.hljs-kimbie.light .hljs-title,.hljs-kimbie.light .hljs-section,.hljs-kimbie.light .hljs-attribute{color:#f06431}.hljs-kimbie.light .hljs-string,.hljs-kimbie.light .hljs-symbol,.hljs-kimbie.light .hljs-bullet,.hljs-kimbie.light .hljs-addition{color:#889b4a}.hljs-kimbie.light .hljs-keyword,.hljs-kimbie.light .hljs-selector-tag,.hljs-kimbie.light .hljs-function{color:#98676a}.hljs-kimbie.light .hljs{display:block;overflow-x:auto;background:#fbebd4;color:#84613d;padding:.5em}.hljs-kimbie.light .hljs-emphasis{font-style:italic}.hljs-kimbie.light .hljs-strong{font-weight:bold}",lightfair:".hljs-lightfair .hljs{display:block;overflow-x:auto;padding:.5em}.hljs-lightfair .hljs-name{color:#01a3a3}.hljs-lightfair .hljs-tag,.hljs-lightfair .hljs-meta{color:#778899}.hljs-lightfair .hljs,.hljs-lightfair .hljs-subst{color:#444}.hljs-lightfair .hljs-comment{color:#888888}.hljs-lightfair .hljs-keyword,.hljs-lightfair .hljs-attribute,.hljs-lightfair .hljs-selector-tag,.hljs-lightfair .hljs-meta-keyword,.hljs-lightfair .hljs-doctag,.hljs-lightfair .hljs-name{font-weight:bold}.hljs-lightfair .hljs-type,.hljs-lightfair .hljs-string,.hljs-lightfair .hljs-number,.hljs-lightfair .hljs-selector-id,.hljs-lightfair .hljs-selector-class,.hljs-lightfair .hljs-quote,.hljs-lightfair .hljs-template-tag,.hljs-lightfair .hljs-deletion{color:#4286f4}.hljs-lightfair .hljs-title,.hljs-lightfair .hljs-section{color:#4286f4;font-weight:bold}.hljs-lightfair .hljs-regexp,.hljs-lightfair .hljs-symbol,.hljs-lightfair .hljs-variable,.hljs-lightfair .hljs-template-variable,.hljs-lightfair .hljs-link,.hljs-lightfair .hljs-selector-attr,.hljs-lightfair .hljs-selector-pseudo{color:#BC6060}.hljs-lightfair .hljs-literal{color:#62bcbc}.hljs-lightfair .hljs-built_in,.hljs-lightfair .hljs-bullet,.hljs-lightfair .hljs-code,.hljs-lightfair .hljs-addition{color:#25c6c6}.hljs-lightfair .hljs-meta-string{color:#4d99bf}.hljs-lightfair .hljs-emphasis{font-style:italic}.hljs-lightfair .hljs-strong{font-weight:bold}",magula:".hljs-magula .hljs{display:block;overflow-x:auto;padding:.5em;background-color:#f4f4f4}.hljs-magula .hljs,.hljs-magula .hljs-subst{color:black}.hljs-magula .hljs-string,.hljs-magula .hljs-title,.hljs-magula .hljs-symbol,.hljs-magula .hljs-bullet,.hljs-magula .hljs-attribute,.hljs-magula .hljs-addition,.hljs-magula .hljs-variable,.hljs-magula .hljs-template-tag,.hljs-magula .hljs-template-variable{color:#050}.hljs-magula .hljs-comment,.hljs-magula .hljs-quote{color:#777}.hljs-magula .hljs-number,.hljs-magula .hljs-regexp,.hljs-magula .hljs-literal,.hljs-magula .hljs-type,.hljs-magula .hljs-link{color:#800}.hljs-magula .hljs-deletion,.hljs-magula .hljs-meta{color:#00e}.hljs-magula .hljs-keyword,.hljs-magula .hljs-selector-tag,.hljs-magula .hljs-doctag,.hljs-magula .hljs-title,.hljs-magula .hljs-section,.hljs-magula .hljs-built_in,.hljs-magula .hljs-tag,.hljs-magula .hljs-name{font-weight:bold;color:navy}.hljs-magula .hljs-emphasis{font-style:italic}.hljs-magula .hljs-strong{font-weight:bold}","mono-blue":".hljs-mono-blue .hljs{display:block;overflow-x:auto;padding:.5em;background:#eaeef3}.hljs-mono-blue .hljs{color:#00193a}.hljs-mono-blue .hljs-keyword,.hljs-mono-blue .hljs-selector-tag,.hljs-mono-blue .hljs-title,.hljs-mono-blue .hljs-section,.hljs-mono-blue .hljs-doctag,.hljs-mono-blue .hljs-name,.hljs-mono-blue .hljs-strong{font-weight:bold}.hljs-mono-blue .hljs-comment{color:#738191}.hljs-mono-blue .hljs-string,.hljs-mono-blue .hljs-title,.hljs-mono-blue .hljs-section,.hljs-mono-blue .hljs-built_in,.hljs-mono-blue .hljs-literal,.hljs-mono-blue .hljs-type,.hljs-mono-blue .hljs-addition,.hljs-mono-blue .hljs-tag,.hljs-mono-blue .hljs-quote,.hljs-mono-blue .hljs-name,.hljs-mono-blue .hljs-selector-id,.hljs-mono-blue .hljs-selector-class{color:#0048ab}.hljs-mono-blue .hljs-meta,.hljs-mono-blue .hljs-subst,.hljs-mono-blue .hljs-symbol,.hljs-mono-blue .hljs-regexp,.hljs-mono-blue .hljs-attribute,.hljs-mono-blue .hljs-deletion,.hljs-mono-blue .hljs-variable,.hljs-mono-blue .hljs-template-variable,.hljs-mono-blue .hljs-link,.hljs-mono-blue .hljs-bullet{color:#4c81c9}.hljs-mono-blue .hljs-emphasis{font-style:italic}","monokai-sublime":".hljs-monokai-sublime .hljs{display:block;overflow-x:auto;padding:.5em;background:#23241f}.hljs-monokai-sublime .hljs,.hljs-monokai-sublime .hljs-tag,.hljs-monokai-sublime .hljs-subst{color:#f8f8f2}.hljs-monokai-sublime .hljs-strong,.hljs-monokai-sublime .hljs-emphasis{color:#a8a8a2}.hljs-monokai-sublime .hljs-bullet,.hljs-monokai-sublime .hljs-quote,.hljs-monokai-sublime .hljs-number,.hljs-monokai-sublime .hljs-regexp,.hljs-monokai-sublime .hljs-literal,.hljs-monokai-sublime .hljs-link{color:#ae81ff}.hljs-monokai-sublime .hljs-code,.hljs-monokai-sublime .hljs-title,.hljs-monokai-sublime .hljs-section,.hljs-monokai-sublime .hljs-selector-class{color:#a6e22e}.hljs-monokai-sublime .hljs-strong{font-weight:bold}.hljs-monokai-sublime .hljs-emphasis{font-style:italic}.hljs-monokai-sublime .hljs-keyword,.hljs-monokai-sublime .hljs-selector-tag,.hljs-monokai-sublime .hljs-name,.hljs-monokai-sublime .hljs-attr{color:#f92672}.hljs-monokai-sublime .hljs-symbol,.hljs-monokai-sublime .hljs-attribute{color:#66d9ef}.hljs-monokai-sublime .hljs-params,.hljs-monokai-sublime .hljs-class .hljs-title{color:#f8f8f2}.hljs-monokai-sublime .hljs-string,.hljs-monokai-sublime .hljs-type,.hljs-monokai-sublime .hljs-built_in,.hljs-monokai-sublime .hljs-builtin-name,.hljs-monokai-sublime .hljs-selector-id,.hljs-monokai-sublime .hljs-selector-attr,.hljs-monokai-sublime .hljs-selector-pseudo,.hljs-monokai-sublime .hljs-addition,.hljs-monokai-sublime .hljs-variable,.hljs-monokai-sublime .hljs-template-variable{color:#e6db74}.hljs-monokai-sublime .hljs-comment,.hljs-monokai-sublime .hljs-deletion,.hljs-monokai-sublime .hljs-meta{color:#75715e}", +monokai:".hljs-monokai .hljs{display:block;overflow-x:auto;padding:.5em;background:#272822;color:#ddd}.hljs-monokai .hljs-tag,.hljs-monokai .hljs-keyword,.hljs-monokai .hljs-selector-tag,.hljs-monokai .hljs-literal,.hljs-monokai .hljs-strong,.hljs-monokai .hljs-name{color:#f92672}.hljs-monokai .hljs-code{color:#66d9ef}.hljs-monokai .hljs-class .hljs-title{color:white}.hljs-monokai .hljs-attribute,.hljs-monokai .hljs-symbol,.hljs-monokai .hljs-regexp,.hljs-monokai .hljs-link{color:#bf79db}.hljs-monokai .hljs-string,.hljs-monokai .hljs-bullet,.hljs-monokai .hljs-subst,.hljs-monokai .hljs-title,.hljs-monokai .hljs-section,.hljs-monokai .hljs-emphasis,.hljs-monokai .hljs-type,.hljs-monokai .hljs-built_in,.hljs-monokai .hljs-builtin-name,.hljs-monokai .hljs-selector-attr,.hljs-monokai .hljs-selector-pseudo,.hljs-monokai .hljs-addition,.hljs-monokai .hljs-variable,.hljs-monokai .hljs-template-tag,.hljs-monokai .hljs-template-variable{color:#a6e22e}.hljs-monokai .hljs-comment,.hljs-monokai .hljs-quote,.hljs-monokai .hljs-deletion,.hljs-monokai .hljs-meta{color:#75715e}.hljs-monokai .hljs-keyword,.hljs-monokai .hljs-selector-tag,.hljs-monokai .hljs-literal,.hljs-monokai .hljs-doctag,.hljs-monokai .hljs-title,.hljs-monokai .hljs-section,.hljs-monokai .hljs-type,.hljs-monokai .hljs-selector-id{font-weight:bold}",nord:".hljs-nord .hljs{display:block;overflow-x:auto;padding:.5em;background:#2E3440}.hljs-nord .hljs,.hljs-nord .hljs-subst{color:#D8DEE9}.hljs-nord .hljs-selector-tag{color:#81A1C1}.hljs-nord .hljs-selector-id{color:#8FBCBB;font-weight:bold}.hljs-nord .hljs-selector-class{color:#8FBCBB}.hljs-nord .hljs-selector-attr{color:#8FBCBB}.hljs-nord .hljs-selector-pseudo{color:#88C0D0}.hljs-nord .hljs-addition{background-color:rgba(163,190,140,0.5)}.hljs-nord .hljs-deletion{background-color:rgba(191,97,106,0.5)}.hljs-nord .hljs-built_in,.hljs-nord .hljs-type{color:#8FBCBB}.hljs-nord .hljs-class{color:#8FBCBB}.hljs-nord .hljs-function{color:#88C0D0}.hljs-nord .hljs-function>.hljs-title{color:#88C0D0}.hljs-nord .hljs-keyword,.hljs-nord .hljs-literal,.hljs-nord .hljs-symbol{color:#81A1C1}.hljs-nord .hljs-number{color:#B48EAD}.hljs-nord .hljs-regexp{color:#EBCB8B}.hljs-nord .hljs-string{color:#A3BE8C}.hljs-nord .hljs-title{color:#8FBCBB}.hljs-nord .hljs-params{color:#D8DEE9}.hljs-nord .hljs-bullet{color:#81A1C1}.hljs-nord .hljs-code{color:#8FBCBB}.hljs-nord .hljs-emphasis{font-style:italic}.hljs-nord .hljs-formula{color:#8FBCBB}.hljs-nord .hljs-strong{font-weight:bold}.hljs-nord .hljs-link:hover{text-decoration:underline}.hljs-nord .hljs-quote{color:#4C566A}.hljs-nord .hljs-comment{color:#4C566A}.hljs-nord .hljs-doctag{color:#8FBCBB}.hljs-nord .hljs-meta,.hljs-nord .hljs-meta-keyword{color:#5E81AC}.hljs-nord .hljs-meta-string{color:#A3BE8C}.hljs-nord .hljs-attr{color:#8FBCBB}.hljs-nord .hljs-attribute{color:#D8DEE9}.hljs-nord .hljs-builtin-name{color:#81A1C1}.hljs-nord .hljs-name{color:#81A1C1}.hljs-nord .hljs-section{color:#88C0D0}.hljs-nord .hljs-tag{color:#81A1C1}.hljs-nord .hljs-variable{color:#D8DEE9}.hljs-nord .hljs-template-variable{color:#D8DEE9}.hljs-nord .hljs-template-tag{color:#5E81AC}.hljs-nord .abnf .hljs-attribute{color:#88C0D0}.hljs-nord .abnf .hljs-symbol{color:#EBCB8B}.hljs-nord .apache .hljs-attribute{color:#88C0D0}.hljs-nord .apache .hljs-section{color:#81A1C1}.hljs-nord .arduino .hljs-built_in{color:#88C0D0}.hljs-nord .aspectj .hljs-meta{color:#D08770}.hljs-nord .aspectj>.hljs-title{color:#88C0D0}.hljs-nord .bnf .hljs-attribute{color:#8FBCBB}.hljs-nord .clojure .hljs-name{color:#88C0D0}.hljs-nord .clojure .hljs-symbol{color:#EBCB8B}.hljs-nord .coq .hljs-built_in{color:#88C0D0}.hljs-nord .cpp .hljs-meta-string{color:#8FBCBB}.hljs-nord .css .hljs-built_in{color:#88C0D0}.hljs-nord .css .hljs-keyword{color:#D08770}.hljs-nord .diff .hljs-meta{color:#8FBCBB}.hljs-nord .ebnf .hljs-attribute{color:#8FBCBB}.hljs-nord .glsl .hljs-built_in{color:#88C0D0}.hljs-nord .groovy .hljs-meta:not(:first-child){color:#D08770}.hljs-nord .haxe .hljs-meta{color:#D08770}.hljs-nord .java .hljs-meta{color:#D08770}.hljs-nord .ldif .hljs-attribute{color:#8FBCBB}.hljs-nord .lisp .hljs-name{color:#88C0D0}.hljs-nord .lua .hljs-built_in{color:#88C0D0}.hljs-nord .moonscript .hljs-built_in{color:#88C0D0}.hljs-nord .nginx .hljs-attribute{color:#88C0D0}.hljs-nord .nginx .hljs-section{color:#5E81AC}.hljs-nord .pf .hljs-built_in{color:#88C0D0}.hljs-nord .processing .hljs-built_in{color:#88C0D0}.hljs-nord .scss .hljs-keyword{color:#81A1C1}.hljs-nord .stylus .hljs-keyword{color:#81A1C1}.hljs-nord .swift .hljs-meta{color:#D08770}.hljs-nord .vim .hljs-built_in{color:#88C0D0;font-style:italic}.hljs-nord .yaml .hljs-meta{color:#D08770}",obsidian:".hljs-obsidian .hljs{display:block;overflow-x:auto;padding:.5em;background:#282b2e}.hljs-obsidian .hljs-keyword,.hljs-obsidian .hljs-selector-tag,.hljs-obsidian .hljs-literal,.hljs-obsidian .hljs-selector-id{color:#93c763}.hljs-obsidian .hljs-number{color:#ffcd22}.hljs-obsidian .hljs{color:#e0e2e4}.hljs-obsidian .hljs-attribute{color:#668bb0}.hljs-obsidian .hljs-code,.hljs-obsidian .hljs-class .hljs-title,.hljs-obsidian .hljs-section{color:white}.hljs-obsidian .hljs-regexp,.hljs-obsidian .hljs-link{color:#d39745}.hljs-obsidian .hljs-meta{color:#557182}.hljs-obsidian .hljs-tag,.hljs-obsidian .hljs-name,.hljs-obsidian .hljs-bullet,.hljs-obsidian .hljs-subst,.hljs-obsidian .hljs-emphasis,.hljs-obsidian .hljs-type,.hljs-obsidian .hljs-built_in,.hljs-obsidian .hljs-selector-attr,.hljs-obsidian .hljs-selector-pseudo,.hljs-obsidian .hljs-addition,.hljs-obsidian .hljs-variable,.hljs-obsidian .hljs-template-tag,.hljs-obsidian .hljs-template-variable{color:#8cbbad}.hljs-obsidian .hljs-string,.hljs-obsidian .hljs-symbol{color:#ec7600}.hljs-obsidian .hljs-comment,.hljs-obsidian .hljs-quote,.hljs-obsidian .hljs-deletion{color:#818e96}.hljs-obsidian .hljs-selector-class{color:#A082BD}.hljs-obsidian .hljs-keyword,.hljs-obsidian .hljs-selector-tag,.hljs-obsidian .hljs-literal,.hljs-obsidian .hljs-doctag,.hljs-obsidian .hljs-title,.hljs-obsidian .hljs-section,.hljs-obsidian .hljs-type,.hljs-obsidian .hljs-name,.hljs-obsidian .hljs-strong{font-weight:bold}",ocean:".hljs-ocean .hljs-comment,.hljs-ocean .hljs-quote{color:#65737e}.hljs-ocean .hljs-variable,.hljs-ocean .hljs-template-variable,.hljs-ocean .hljs-tag,.hljs-ocean .hljs-name,.hljs-ocean .hljs-selector-id,.hljs-ocean .hljs-selector-class,.hljs-ocean .hljs-regexp,.hljs-ocean .hljs-deletion{color:#bf616a}.hljs-ocean .hljs-number,.hljs-ocean .hljs-built_in,.hljs-ocean .hljs-builtin-name,.hljs-ocean .hljs-literal,.hljs-ocean .hljs-type,.hljs-ocean .hljs-params,.hljs-ocean .hljs-meta,.hljs-ocean .hljs-link{color:#d08770}.hljs-ocean .hljs-attribute{color:#ebcb8b}.hljs-ocean .hljs-string,.hljs-ocean .hljs-symbol,.hljs-ocean .hljs-bullet,.hljs-ocean .hljs-addition{color:#a3be8c}.hljs-ocean .hljs-title,.hljs-ocean .hljs-section{color:#8fa1b3}.hljs-ocean .hljs-keyword,.hljs-ocean .hljs-selector-tag{color:#b48ead}.hljs-ocean .hljs{display:block;overflow-x:auto;background:#2b303b;color:#c0c5ce;padding:.5em}.hljs-ocean .hljs-emphasis{font-style:italic}.hljs-ocean .hljs-strong{font-weight:bold}","paraiso-dark":".hljs-paraiso-dark .hljs-comment,.hljs-paraiso-dark .hljs-quote{color:#8d8687}.hljs-paraiso-dark .hljs-variable,.hljs-paraiso-dark .hljs-template-variable,.hljs-paraiso-dark .hljs-tag,.hljs-paraiso-dark .hljs-name,.hljs-paraiso-dark .hljs-selector-id,.hljs-paraiso-dark .hljs-selector-class,.hljs-paraiso-dark .hljs-regexp,.hljs-paraiso-dark .hljs-link,.hljs-paraiso-dark .hljs-meta{color:#ef6155}.hljs-paraiso-dark .hljs-number,.hljs-paraiso-dark .hljs-built_in,.hljs-paraiso-dark .hljs-builtin-name,.hljs-paraiso-dark .hljs-literal,.hljs-paraiso-dark .hljs-type,.hljs-paraiso-dark .hljs-params,.hljs-paraiso-dark .hljs-deletion{color:#f99b15}.hljs-paraiso-dark .hljs-title,.hljs-paraiso-dark .hljs-section,.hljs-paraiso-dark .hljs-attribute{color:#fec418}.hljs-paraiso-dark .hljs-string,.hljs-paraiso-dark .hljs-symbol,.hljs-paraiso-dark .hljs-bullet,.hljs-paraiso-dark .hljs-addition{color:#48b685}.hljs-paraiso-dark .hljs-keyword,.hljs-paraiso-dark .hljs-selector-tag{color:#815ba4}.hljs-paraiso-dark .hljs{display:block;overflow-x:auto;background:#2f1e2e;color:#a39e9b;padding:.5em}.hljs-paraiso-dark .hljs-emphasis{font-style:italic}.hljs-paraiso-dark .hljs-strong{font-weight:bold}","paraiso-light":".hljs-paraiso-light .hljs-comment,.hljs-paraiso-light .hljs-quote{color:#776e71}.hljs-paraiso-light .hljs-variable,.hljs-paraiso-light .hljs-template-variable,.hljs-paraiso-light .hljs-tag,.hljs-paraiso-light .hljs-name,.hljs-paraiso-light .hljs-selector-id,.hljs-paraiso-light .hljs-selector-class,.hljs-paraiso-light .hljs-regexp,.hljs-paraiso-light .hljs-link,.hljs-paraiso-light .hljs-meta{color:#ef6155}.hljs-paraiso-light .hljs-number,.hljs-paraiso-light .hljs-built_in,.hljs-paraiso-light .hljs-builtin-name,.hljs-paraiso-light .hljs-literal,.hljs-paraiso-light .hljs-type,.hljs-paraiso-light .hljs-params,.hljs-paraiso-light .hljs-deletion{color:#f99b15}.hljs-paraiso-light .hljs-title,.hljs-paraiso-light .hljs-section,.hljs-paraiso-light .hljs-attribute{color:#fec418}.hljs-paraiso-light .hljs-string,.hljs-paraiso-light .hljs-symbol,.hljs-paraiso-light .hljs-bullet,.hljs-paraiso-light .hljs-addition{color:#48b685}.hljs-paraiso-light .hljs-keyword,.hljs-paraiso-light .hljs-selector-tag{color:#815ba4}.hljs-paraiso-light .hljs{display:block;overflow-x:auto;background:#e7e9db;color:#4f424c;padding:.5em}.hljs-paraiso-light .hljs-emphasis{font-style:italic}.hljs-paraiso-light .hljs-strong{font-weight:bold}",purebasic:".hljs-purebasic .hljs{display:block;overflow-x:auto;padding:.5em;background:#FFFFDF}.hljs-purebasic .hljs,.hljs-purebasic .hljs-type,.hljs-purebasic .hljs-function,.hljs-purebasic .hljs-name,.hljs-purebasic .hljs-number,.hljs-purebasic .hljs-attr,.hljs-purebasic .hljs-params,.hljs-purebasic .hljs-subst{color:#000000}.hljs-purebasic .hljs-comment,.hljs-purebasic .hljs-regexp,.hljs-purebasic .hljs-section,.hljs-purebasic .hljs-selector-pseudo,.hljs-purebasic .hljs-addition{color:#00AAAA}.hljs-purebasic .hljs-title,.hljs-purebasic .hljs-tag,.hljs-purebasic .hljs-variable,.hljs-purebasic .hljs-code{color:#006666}.hljs-purebasic .hljs-keyword,.hljs-purebasic .hljs-class,.hljs-purebasic .hljs-meta-keyword,.hljs-purebasic .hljs-selector-class,.hljs-purebasic .hljs-built_in,.hljs-purebasic .hljs-builtin-name{color:#006666;font-weight:bold}.hljs-purebasic .hljs-string,.hljs-purebasic .hljs-selector-attr{color:#0080FF}.hljs-purebasic .hljs-symbol,.hljs-purebasic .hljs-link,.hljs-purebasic .hljs-deletion,.hljs-purebasic .hljs-attribute{color:#924B72}.hljs-purebasic .hljs-meta,.hljs-purebasic .hljs-literal,.hljs-purebasic .hljs-selector-id{color:#924B72;font-weight:bold}.hljs-purebasic .hljs-strong,.hljs-purebasic .hljs-name{font-weight:bold}.hljs-purebasic .hljs-emphasis{font-style:italic}",qtcreator_dark:".hljs-qtcreator_dark .hljs{display:block;overflow-x:auto;padding:.5em;background:#000000}.hljs-qtcreator_dark .hljs,.hljs-qtcreator_dark .hljs-subst,.hljs-qtcreator_dark .hljs-tag,.hljs-qtcreator_dark .hljs-title{color:#aaaaaa}.hljs-qtcreator_dark .hljs-strong,.hljs-qtcreator_dark .hljs-emphasis{color:#a8a8a2}.hljs-qtcreator_dark .hljs-bullet,.hljs-qtcreator_dark .hljs-quote,.hljs-qtcreator_dark .hljs-number,.hljs-qtcreator_dark .hljs-regexp,.hljs-qtcreator_dark .hljs-literal{color:#ff55ff}.hljs-qtcreator_dark .hljs-code .hljs-selector-class{color:#aaaaff}.hljs-qtcreator_dark .hljs-emphasis,.hljs-qtcreator_dark .hljs-stronge,.hljs-qtcreator_dark .hljs-type{font-style:italic}.hljs-qtcreator_dark .hljs-keyword,.hljs-qtcreator_dark .hljs-selector-tag,.hljs-qtcreator_dark .hljs-function,.hljs-qtcreator_dark .hljs-section,.hljs-qtcreator_dark .hljs-symbol,.hljs-qtcreator_dark .hljs-name{color:#ffff55}.hljs-qtcreator_dark .hljs-attribute{color:#ff5555}.hljs-qtcreator_dark .hljs-variable,.hljs-qtcreator_dark .hljs-params,.hljs-qtcreator_dark .hljs-class .hljs-title{color:#8888ff}.hljs-qtcreator_dark .hljs-string,.hljs-qtcreator_dark .hljs-selector-id,.hljs-qtcreator_dark .hljs-selector-attr,.hljs-qtcreator_dark .hljs-selector-pseudo,.hljs-qtcreator_dark .hljs-type,.hljs-qtcreator_dark .hljs-built_in,.hljs-qtcreator_dark .hljs-builtin-name,.hljs-qtcreator_dark .hljs-template-tag,.hljs-qtcreator_dark .hljs-template-variable,.hljs-qtcreator_dark .hljs-addition,.hljs-qtcreator_dark .hljs-link{color:#ff55ff}.hljs-qtcreator_dark .hljs-comment,.hljs-qtcreator_dark .hljs-meta,.hljs-qtcreator_dark .hljs-deletion{color:#55ffff}",qtcreator_light:".hljs-qtcreator_light .hljs{display:block;overflow-x:auto;padding:.5em;background:#ffffff}.hljs-qtcreator_light .hljs,.hljs-qtcreator_light .hljs-subst,.hljs-qtcreator_light .hljs-tag,.hljs-qtcreator_light .hljs-title{color:#000000}.hljs-qtcreator_light .hljs-strong,.hljs-qtcreator_light .hljs-emphasis{color:#000000}.hljs-qtcreator_light .hljs-bullet,.hljs-qtcreator_light .hljs-quote,.hljs-qtcreator_light .hljs-number,.hljs-qtcreator_light .hljs-regexp,.hljs-qtcreator_light .hljs-literal{color:#000080}.hljs-qtcreator_light .hljs-code .hljs-selector-class{color:#800080}.hljs-qtcreator_light .hljs-emphasis,.hljs-qtcreator_light .hljs-stronge,.hljs-qtcreator_light .hljs-type{font-style:italic}.hljs-qtcreator_light .hljs-keyword,.hljs-qtcreator_light .hljs-selector-tag,.hljs-qtcreator_light .hljs-function,.hljs-qtcreator_light .hljs-section,.hljs-qtcreator_light .hljs-symbol,.hljs-qtcreator_light .hljs-name{color:#808000}.hljs-qtcreator_light .hljs-attribute{color:#800000}.hljs-qtcreator_light .hljs-variable,.hljs-qtcreator_light .hljs-params,.hljs-qtcreator_light .hljs-class .hljs-title{color:#0055AF}.hljs-qtcreator_light .hljs-string,.hljs-qtcreator_light .hljs-selector-id,.hljs-qtcreator_light .hljs-selector-attr,.hljs-qtcreator_light .hljs-selector-pseudo,.hljs-qtcreator_light .hljs-type,.hljs-qtcreator_light .hljs-built_in,.hljs-qtcreator_light .hljs-builtin-name,.hljs-qtcreator_light .hljs-template-tag,.hljs-qtcreator_light .hljs-template-variable,.hljs-qtcreator_light .hljs-addition,.hljs-qtcreator_light .hljs-link{color:#008000}.hljs-qtcreator_light .hljs-comment,.hljs-qtcreator_light .hljs-meta,.hljs-qtcreator_light .hljs-deletion{color:#008000}",railscasts:".hljs-railscasts .hljs{display:block;overflow-x:auto;padding:.5em;background:#232323;color:#e6e1dc}.hljs-railscasts .hljs-comment,.hljs-railscasts .hljs-quote{color:#bc9458;font-style:italic}.hljs-railscasts .hljs-keyword,.hljs-railscasts .hljs-selector-tag{color:#c26230}.hljs-railscasts .hljs-string,.hljs-railscasts .hljs-number,.hljs-railscasts .hljs-regexp,.hljs-railscasts .hljs-variable,.hljs-railscasts .hljs-template-variable{color:#a5c261}.hljs-railscasts .hljs-subst{color:#519f50}.hljs-railscasts .hljs-tag,.hljs-railscasts .hljs-name{color:#e8bf6a}.hljs-railscasts .hljs-type{color:#da4939}.hljs-railscasts .hljs-symbol,.hljs-railscasts .hljs-bullet,.hljs-railscasts .hljs-built_in,.hljs-railscasts .hljs-builtin-name,.hljs-railscasts .hljs-attr,.hljs-railscasts .hljs-link{color:#6d9cbe}.hljs-railscasts .hljs-params{color:#d0d0ff}.hljs-railscasts .hljs-attribute{color:#cda869}.hljs-railscasts .hljs-meta{color:#9b859d}.hljs-railscasts .hljs-title,.hljs-railscasts .hljs-section{color:#ffc66d}.hljs-railscasts .hljs-addition{background-color:#144212;color:#e6e1dc;display:inline-block;width:100%}.hljs-railscasts .hljs-deletion{background-color:#600;color:#e6e1dc;display:inline-block;width:100%}.hljs-railscasts .hljs-selector-class{color:#9b703f}.hljs-railscasts .hljs-selector-id{color:#8b98ab}.hljs-railscasts .hljs-emphasis{font-style:italic}.hljs-railscasts .hljs-strong{font-weight:bold}.hljs-railscasts .hljs-link{text-decoration:underline}",rainbow:".hljs-rainbow .hljs{display:block;overflow-x:auto;padding:.5em;background:#474949;color:#d1d9e1}.hljs-rainbow .hljs-comment,.hljs-rainbow .hljs-quote{color:#969896;font-style:italic}.hljs-rainbow .hljs-keyword,.hljs-rainbow .hljs-selector-tag,.hljs-rainbow .hljs-literal,.hljs-rainbow .hljs-type,.hljs-rainbow .hljs-addition{color:#cc99cc}.hljs-rainbow .hljs-number,.hljs-rainbow .hljs-selector-attr,.hljs-rainbow .hljs-selector-pseudo{color:#f99157}.hljs-rainbow .hljs-string,.hljs-rainbow .hljs-doctag,.hljs-rainbow .hljs-regexp{color:#8abeb7}.hljs-rainbow .hljs-title,.hljs-rainbow .hljs-name,.hljs-rainbow .hljs-section,.hljs-rainbow .hljs-built_in{color:#b5bd68}.hljs-rainbow .hljs-variable,.hljs-rainbow .hljs-template-variable,.hljs-rainbow .hljs-selector-id,.hljs-rainbow .hljs-class .hljs-title{color:#ffcc66}.hljs-rainbow .hljs-section,.hljs-rainbow .hljs-name,.hljs-rainbow .hljs-strong{font-weight:bold}.hljs-rainbow .hljs-symbol,.hljs-rainbow .hljs-bullet,.hljs-rainbow .hljs-subst,.hljs-rainbow .hljs-meta,.hljs-rainbow .hljs-link{color:#f99157}.hljs-rainbow .hljs-deletion{color:#dc322f}.hljs-rainbow .hljs-formula{background:#eee8d5}.hljs-rainbow .hljs-attr,.hljs-rainbow .hljs-attribute{color:#81a2be}.hljs-rainbow .hljs-emphasis{font-style:italic}",routeros:".hljs-routeros .hljs{display:block;overflow-x:auto;padding:.5em;background:#F0F0F0}.hljs-routeros .hljs,.hljs-routeros .hljs-subst{color:#444}.hljs-routeros .hljs-comment{color:#888888}.hljs-routeros .hljs-keyword,.hljs-routeros .hljs-selector-tag,.hljs-routeros .hljs-meta-keyword,.hljs-routeros .hljs-doctag,.hljs-routeros .hljs-name{font-weight:bold}.hljs-routeros .hljs-attribute{color:#0E9A00}.hljs-routeros .hljs-function{color:#99069A}.hljs-routeros .hljs-builtin-name{color:#99069A}.hljs-routeros .hljs-type,.hljs-routeros .hljs-string,.hljs-routeros .hljs-number,.hljs-routeros .hljs-selector-id,.hljs-routeros .hljs-selector-class,.hljs-routeros .hljs-quote,.hljs-routeros .hljs-template-tag,.hljs-routeros .hljs-deletion{color:#880000}.hljs-routeros .hljs-title,.hljs-routeros .hljs-section{color:#880000;font-weight:bold}.hljs-routeros .hljs-regexp,.hljs-routeros .hljs-symbol,.hljs-routeros .hljs-variable,.hljs-routeros .hljs-template-variable,.hljs-routeros .hljs-link,.hljs-routeros .hljs-selector-attr,.hljs-routeros .hljs-selector-pseudo{color:#BC6060}.hljs-routeros .hljs-literal{color:#78A960}.hljs-routeros .hljs-built_in,.hljs-routeros .hljs-bullet,.hljs-routeros .hljs-code,.hljs-routeros .hljs-addition{color:#0C9A9A}.hljs-routeros .hljs-meta{color:#1f7199}.hljs-routeros .hljs-meta-string{color:#4d99bf}.hljs-routeros .hljs-emphasis{font-style:italic}.hljs-routeros .hljs-strong{font-weight:bold}","school-book":".hljs-school-book .hljs{display:block;overflow-x:auto;padding:15px .5em .5em 30px;font-size:11px;line-height:16px;background:#f6f6ae url(./school-book.png);border-top:solid 2px #d2e8b9;border-bottom:solid 1px #d2e8b9}.hljs-school-book .hljs-keyword,.hljs-school-book .hljs-selector-tag,.hljs-school-book .hljs-literal{color:#005599;font-weight:bold}.hljs-school-book .hljs,.hljs-school-book .hljs-subst{color:#3e5915}.hljs-school-book .hljs-string,.hljs-school-book .hljs-title,.hljs-school-book .hljs-section,.hljs-school-book .hljs-type,.hljs-school-book .hljs-symbol,.hljs-school-book .hljs-bullet,.hljs-school-book .hljs-attribute,.hljs-school-book .hljs-built_in,.hljs-school-book .hljs-builtin-name,.hljs-school-book .hljs-addition,.hljs-school-book .hljs-variable,.hljs-school-book .hljs-template-tag,.hljs-school-book .hljs-template-variable,.hljs-school-book .hljs-link{color:#2c009f}.hljs-school-book .hljs-comment,.hljs-school-book .hljs-quote,.hljs-school-book .hljs-deletion,.hljs-school-book .hljs-meta{color:#e60415}.hljs-school-book .hljs-keyword,.hljs-school-book .hljs-selector-tag,.hljs-school-book .hljs-literal,.hljs-school-book .hljs-doctag,.hljs-school-book .hljs-title,.hljs-school-book .hljs-section,.hljs-school-book .hljs-type,.hljs-school-book .hljs-name,.hljs-school-book .hljs-selector-id,.hljs-school-book .hljs-strong{font-weight:bold}.hljs-school-book .hljs-emphasis{font-style:italic}","shades-of-purple":".hljs-shades-of-purple .hljs{display:block;overflow-x:auto;line-height:1.45;padding:2rem;background:#2d2b57;font-weight:normal}.hljs-shades-of-purple .hljs-title{color:#fad000;font-weight:normal}.hljs-shades-of-purple .hljs-name{color:#a1feff}.hljs-shades-of-purple .hljs-tag{color:#ffffff}.hljs-shades-of-purple .hljs-attr{color:#f8d000;font-style:italic}.hljs-shades-of-purple .hljs-built_in,.hljs-shades-of-purple .hljs-selector-tag,.hljs-shades-of-purple .hljs-section{color:#fb9e00}.hljs-shades-of-purple .hljs-keyword{color:#fb9e00}.hljs-shades-of-purple .hljs,.hljs-shades-of-purple .hljs-subst{color:#e3dfff}.hljs-shades-of-purple .hljs-string,.hljs-shades-of-purple .hljs-attribute,.hljs-shades-of-purple .hljs-symbol,.hljs-shades-of-purple .hljs-bullet,.hljs-shades-of-purple .hljs-addition,.hljs-shades-of-purple .hljs-code,.hljs-shades-of-purple .hljs-regexp,.hljs-shades-of-purple .hljs-selector-class,.hljs-shades-of-purple .hljs-selector-attr,.hljs-shades-of-purple .hljs-selector-pseudo,.hljs-shades-of-purple .hljs-template-tag,.hljs-shades-of-purple .hljs-quote,.hljs-shades-of-purple .hljs-deletion{color:#4cd213}.hljs-shades-of-purple .hljs-meta,.hljs-shades-of-purple .hljs-meta-string{color:#fb9e00}.hljs-shades-of-purple .hljs-comment{color:#ac65ff}.hljs-shades-of-purple .hljs-keyword,.hljs-shades-of-purple .hljs-selector-tag,.hljs-shades-of-purple .hljs-literal,.hljs-shades-of-purple .hljs-name,.hljs-shades-of-purple .hljs-strong{font-weight:normal}.hljs-shades-of-purple .hljs-literal,.hljs-shades-of-purple .hljs-number{color:#fa658d}.hljs-shades-of-purple .hljs-emphasis{font-style:italic}.hljs-shades-of-purple .hljs-strong{font-weight:bold}","solarized-dark":".hljs-solarized-dark .hljs{display:block;overflow-x:auto;padding:.5em;background:#002b36;color:#839496}.hljs-solarized-dark .hljs-comment,.hljs-solarized-dark .hljs-quote{color:#586e75}.hljs-solarized-dark .hljs-keyword,.hljs-solarized-dark .hljs-selector-tag,.hljs-solarized-dark .hljs-addition{color:#859900}.hljs-solarized-dark .hljs-number,.hljs-solarized-dark .hljs-string,.hljs-solarized-dark .hljs-meta .hljs-meta-string,.hljs-solarized-dark .hljs-literal,.hljs-solarized-dark .hljs-doctag,.hljs-solarized-dark .hljs-regexp{color:#2aa198}.hljs-solarized-dark .hljs-title,.hljs-solarized-dark .hljs-section,.hljs-solarized-dark .hljs-name,.hljs-solarized-dark .hljs-selector-id,.hljs-solarized-dark .hljs-selector-class{color:#268bd2}.hljs-solarized-dark .hljs-attribute,.hljs-solarized-dark .hljs-attr,.hljs-solarized-dark .hljs-variable,.hljs-solarized-dark .hljs-template-variable,.hljs-solarized-dark .hljs-class .hljs-title,.hljs-solarized-dark .hljs-type{color:#b58900}.hljs-solarized-dark .hljs-symbol,.hljs-solarized-dark .hljs-bullet,.hljs-solarized-dark .hljs-subst,.hljs-solarized-dark .hljs-meta,.hljs-solarized-dark .hljs-meta .hljs-keyword,.hljs-solarized-dark .hljs-selector-attr,.hljs-solarized-dark .hljs-selector-pseudo,.hljs-solarized-dark .hljs-link{color:#cb4b16}.hljs-solarized-dark .hljs-built_in,.hljs-solarized-dark .hljs-deletion{color:#dc322f}.hljs-solarized-dark .hljs-formula{background:#073642}.hljs-solarized-dark .hljs-emphasis{font-style:italic}.hljs-solarized-dark .hljs-strong{font-weight:bold}","solarized-light":".hljs-solarized-light .hljs{display:block;overflow-x:auto;padding:.5em;background:#fdf6e3;color:#657b83}.hljs-solarized-light .hljs-comment,.hljs-solarized-light .hljs-quote{color:#93a1a1}.hljs-solarized-light .hljs-keyword,.hljs-solarized-light .hljs-selector-tag,.hljs-solarized-light .hljs-addition{color:#859900}.hljs-solarized-light .hljs-number,.hljs-solarized-light .hljs-string,.hljs-solarized-light .hljs-meta .hljs-meta-string,.hljs-solarized-light .hljs-literal,.hljs-solarized-light .hljs-doctag,.hljs-solarized-light .hljs-regexp{color:#2aa198}.hljs-solarized-light .hljs-title,.hljs-solarized-light .hljs-section,.hljs-solarized-light .hljs-name,.hljs-solarized-light .hljs-selector-id,.hljs-solarized-light .hljs-selector-class{color:#268bd2}.hljs-solarized-light .hljs-attribute,.hljs-solarized-light .hljs-attr,.hljs-solarized-light .hljs-variable,.hljs-solarized-light .hljs-template-variable,.hljs-solarized-light .hljs-class .hljs-title,.hljs-solarized-light .hljs-type{color:#b58900}.hljs-solarized-light .hljs-symbol,.hljs-solarized-light .hljs-bullet,.hljs-solarized-light .hljs-subst,.hljs-solarized-light .hljs-meta,.hljs-solarized-light .hljs-meta .hljs-keyword,.hljs-solarized-light .hljs-selector-attr,.hljs-solarized-light .hljs-selector-pseudo,.hljs-solarized-light .hljs-link{color:#cb4b16}.hljs-solarized-light .hljs-built_in,.hljs-solarized-light .hljs-deletion{color:#dc322f}.hljs-solarized-light .hljs-formula{background:#eee8d5}.hljs-solarized-light .hljs-emphasis{font-style:italic}.hljs-solarized-light .hljs-strong{font-weight:bold}",sunburst:".hljs-sunburst .hljs{display:block;overflow-x:auto;padding:.5em;background:#000;color:#f8f8f8}.hljs-sunburst .hljs-comment,.hljs-sunburst .hljs-quote{color:#aeaeae;font-style:italic}.hljs-sunburst .hljs-keyword,.hljs-sunburst .hljs-selector-tag,.hljs-sunburst .hljs-type{color:#e28964}.hljs-sunburst .hljs-string{color:#65b042}.hljs-sunburst .hljs-subst{color:#daefa3}.hljs-sunburst .hljs-regexp,.hljs-sunburst .hljs-link{color:#e9c062}.hljs-sunburst .hljs-title,.hljs-sunburst .hljs-section,.hljs-sunburst .hljs-tag,.hljs-sunburst .hljs-name{color:#89bdff}.hljs-sunburst .hljs-class .hljs-title,.hljs-sunburst .hljs-doctag{text-decoration:underline}.hljs-sunburst .hljs-symbol,.hljs-sunburst .hljs-bullet,.hljs-sunburst .hljs-number{color:#3387cc}.hljs-sunburst .hljs-params,.hljs-sunburst .hljs-variable,.hljs-sunburst .hljs-template-variable{color:#3e87e3}.hljs-sunburst .hljs-attribute{color:#cda869}.hljs-sunburst .hljs-meta{color:#8996a8}.hljs-sunburst .hljs-formula{background-color:#0e2231;color:#f8f8f8;font-style:italic}.hljs-sunburst .hljs-addition{background-color:#253b22;color:#f8f8f8}.hljs-sunburst .hljs-deletion{background-color:#420e09;color:#f8f8f8}.hljs-sunburst .hljs-selector-class{color:#9b703f}.hljs-sunburst .hljs-selector-id{color:#8b98ab}.hljs-sunburst .hljs-emphasis{font-style:italic}.hljs-sunburst .hljs-strong{font-weight:bold}","tomorrow-night-blue":".hljs-tomorrow-night-blue .hljs-comment,.hljs-tomorrow-night-blue .hljs-quote{color:#7285b7}.hljs-tomorrow-night-blue .hljs-variable,.hljs-tomorrow-night-blue .hljs-template-variable,.hljs-tomorrow-night-blue .hljs-tag,.hljs-tomorrow-night-blue .hljs-name,.hljs-tomorrow-night-blue .hljs-selector-id,.hljs-tomorrow-night-blue .hljs-selector-class,.hljs-tomorrow-night-blue .hljs-regexp,.hljs-tomorrow-night-blue .hljs-deletion{color:#ff9da4}.hljs-tomorrow-night-blue .hljs-number,.hljs-tomorrow-night-blue .hljs-built_in,.hljs-tomorrow-night-blue .hljs-builtin-name,.hljs-tomorrow-night-blue .hljs-literal,.hljs-tomorrow-night-blue .hljs-type,.hljs-tomorrow-night-blue .hljs-params,.hljs-tomorrow-night-blue .hljs-meta,.hljs-tomorrow-night-blue .hljs-link{color:#ffc58f}.hljs-tomorrow-night-blue .hljs-attribute{color:#ffeead}.hljs-tomorrow-night-blue .hljs-string,.hljs-tomorrow-night-blue .hljs-symbol,.hljs-tomorrow-night-blue .hljs-bullet,.hljs-tomorrow-night-blue .hljs-addition{color:#d1f1a9}.hljs-tomorrow-night-blue .hljs-title,.hljs-tomorrow-night-blue .hljs-section{color:#bbdaff}.hljs-tomorrow-night-blue .hljs-keyword,.hljs-tomorrow-night-blue .hljs-selector-tag{color:#ebbbff}.hljs-tomorrow-night-blue .hljs{display:block;overflow-x:auto;background:#002451;color:white;padding:.5em}.hljs-tomorrow-night-blue .hljs-emphasis{font-style:italic}.hljs-tomorrow-night-blue .hljs-strong{font-weight:bold}","tomorrow-night-bright":".hljs-tomorrow-night-bright .hljs-comment,.hljs-tomorrow-night-bright .hljs-quote{color:#969896}.hljs-tomorrow-night-bright .hljs-variable,.hljs-tomorrow-night-bright .hljs-template-variable,.hljs-tomorrow-night-bright .hljs-tag,.hljs-tomorrow-night-bright .hljs-name,.hljs-tomorrow-night-bright .hljs-selector-id,.hljs-tomorrow-night-bright .hljs-selector-class,.hljs-tomorrow-night-bright .hljs-regexp,.hljs-tomorrow-night-bright .hljs-deletion{color:#d54e53}.hljs-tomorrow-night-bright .hljs-number,.hljs-tomorrow-night-bright .hljs-built_in,.hljs-tomorrow-night-bright .hljs-builtin-name,.hljs-tomorrow-night-bright .hljs-literal,.hljs-tomorrow-night-bright .hljs-type,.hljs-tomorrow-night-bright .hljs-params,.hljs-tomorrow-night-bright .hljs-meta,.hljs-tomorrow-night-bright .hljs-link{color:#e78c45}.hljs-tomorrow-night-bright .hljs-attribute{color:#e7c547}.hljs-tomorrow-night-bright .hljs-string,.hljs-tomorrow-night-bright .hljs-symbol,.hljs-tomorrow-night-bright .hljs-bullet,.hljs-tomorrow-night-bright .hljs-addition{color:#b9ca4a}.hljs-tomorrow-night-bright .hljs-title,.hljs-tomorrow-night-bright .hljs-section{color:#7aa6da}.hljs-tomorrow-night-bright .hljs-keyword,.hljs-tomorrow-night-bright .hljs-selector-tag{color:#c397d8}.hljs-tomorrow-night-bright .hljs{display:block;overflow-x:auto;background:black;color:#eaeaea;padding:.5em}.hljs-tomorrow-night-bright .hljs-emphasis{font-style:italic}.hljs-tomorrow-night-bright .hljs-strong{font-weight:bold}","tomorrow-night-eighties":".hljs-tomorrow-night-eighties .hljs-comment,.hljs-tomorrow-night-eighties .hljs-quote{color:#999999}.hljs-tomorrow-night-eighties .hljs-variable,.hljs-tomorrow-night-eighties .hljs-template-variable,.hljs-tomorrow-night-eighties .hljs-tag,.hljs-tomorrow-night-eighties .hljs-name,.hljs-tomorrow-night-eighties .hljs-selector-id,.hljs-tomorrow-night-eighties .hljs-selector-class,.hljs-tomorrow-night-eighties .hljs-regexp,.hljs-tomorrow-night-eighties .hljs-deletion{color:#f2777a}.hljs-tomorrow-night-eighties .hljs-number,.hljs-tomorrow-night-eighties .hljs-built_in,.hljs-tomorrow-night-eighties .hljs-builtin-name,.hljs-tomorrow-night-eighties .hljs-literal,.hljs-tomorrow-night-eighties .hljs-type,.hljs-tomorrow-night-eighties .hljs-params,.hljs-tomorrow-night-eighties .hljs-meta,.hljs-tomorrow-night-eighties .hljs-link{color:#f99157}.hljs-tomorrow-night-eighties .hljs-attribute{color:#ffcc66}.hljs-tomorrow-night-eighties .hljs-string,.hljs-tomorrow-night-eighties .hljs-symbol,.hljs-tomorrow-night-eighties .hljs-bullet,.hljs-tomorrow-night-eighties .hljs-addition{color:#99cc99}.hljs-tomorrow-night-eighties .hljs-title,.hljs-tomorrow-night-eighties .hljs-section{color:#6699cc}.hljs-tomorrow-night-eighties .hljs-keyword,.hljs-tomorrow-night-eighties .hljs-selector-tag{color:#cc99cc}.hljs-tomorrow-night-eighties .hljs{display:block;overflow-x:auto;background:#2d2d2d;color:#cccccc;padding:.5em}.hljs-tomorrow-night-eighties .hljs-emphasis{font-style:italic}.hljs-tomorrow-night-eighties .hljs-strong{font-weight:bold}","tomorrow-night":".hljs-tomorrow-night .hljs-comment,.hljs-tomorrow-night .hljs-quote{color:#969896}.hljs-tomorrow-night .hljs-variable,.hljs-tomorrow-night .hljs-template-variable,.hljs-tomorrow-night .hljs-tag,.hljs-tomorrow-night .hljs-name,.hljs-tomorrow-night .hljs-selector-id,.hljs-tomorrow-night .hljs-selector-class,.hljs-tomorrow-night .hljs-regexp,.hljs-tomorrow-night .hljs-deletion{color:#cc6666}.hljs-tomorrow-night .hljs-number,.hljs-tomorrow-night .hljs-built_in,.hljs-tomorrow-night .hljs-builtin-name,.hljs-tomorrow-night .hljs-literal,.hljs-tomorrow-night .hljs-type,.hljs-tomorrow-night .hljs-params,.hljs-tomorrow-night .hljs-meta,.hljs-tomorrow-night .hljs-link{color:#de935f}.hljs-tomorrow-night .hljs-attribute{color:#f0c674}.hljs-tomorrow-night .hljs-string,.hljs-tomorrow-night .hljs-symbol,.hljs-tomorrow-night .hljs-bullet,.hljs-tomorrow-night .hljs-addition{color:#b5bd68}.hljs-tomorrow-night .hljs-title,.hljs-tomorrow-night .hljs-section{color:#81a2be}.hljs-tomorrow-night .hljs-keyword,.hljs-tomorrow-night .hljs-selector-tag{color:#b294bb}.hljs-tomorrow-night .hljs{display:block;overflow-x:auto;background:#1d1f21;color:#c5c8c6;padding:.5em}.hljs-tomorrow-night .hljs-emphasis{font-style:italic}.hljs-tomorrow-night .hljs-strong{font-weight:bold}", +tomorrow:".hljs-tomorrow .hljs-comment,.hljs-tomorrow .hljs-quote{color:#8e908c}.hljs-tomorrow .hljs-variable,.hljs-tomorrow .hljs-template-variable,.hljs-tomorrow .hljs-tag,.hljs-tomorrow .hljs-name,.hljs-tomorrow .hljs-selector-id,.hljs-tomorrow .hljs-selector-class,.hljs-tomorrow .hljs-regexp,.hljs-tomorrow .hljs-deletion{color:#c82829}.hljs-tomorrow .hljs-number,.hljs-tomorrow .hljs-built_in,.hljs-tomorrow .hljs-builtin-name,.hljs-tomorrow .hljs-literal,.hljs-tomorrow .hljs-type,.hljs-tomorrow .hljs-params,.hljs-tomorrow .hljs-meta,.hljs-tomorrow .hljs-link{color:#f5871f}.hljs-tomorrow .hljs-attribute{color:#eab700}.hljs-tomorrow .hljs-string,.hljs-tomorrow .hljs-symbol,.hljs-tomorrow .hljs-bullet,.hljs-tomorrow .hljs-addition{color:#718c00}.hljs-tomorrow .hljs-title,.hljs-tomorrow .hljs-section{color:#4271ae}.hljs-tomorrow .hljs-keyword,.hljs-tomorrow .hljs-selector-tag{color:#8959a8}.hljs-tomorrow .hljs{display:block;overflow-x:auto;background:white;color:#4d4d4c;padding:.5em}.hljs-tomorrow .hljs-emphasis{font-style:italic}.hljs-tomorrow .hljs-strong{font-weight:bold}",vs:".hljs-vs .hljs{display:block;overflow-x:auto;padding:.5em;background:white;color:black}.hljs-vs .hljs-comment,.hljs-vs .hljs-quote,.hljs-vs .hljs-variable{color:#008000}.hljs-vs .hljs-keyword,.hljs-vs .hljs-selector-tag,.hljs-vs .hljs-built_in,.hljs-vs .hljs-name,.hljs-vs .hljs-tag{color:#00f}.hljs-vs .hljs-string,.hljs-vs .hljs-title,.hljs-vs .hljs-section,.hljs-vs .hljs-attribute,.hljs-vs .hljs-literal,.hljs-vs .hljs-template-tag,.hljs-vs .hljs-template-variable,.hljs-vs .hljs-type,.hljs-vs .hljs-addition{color:#a31515}.hljs-vs .hljs-deletion,.hljs-vs .hljs-selector-attr,.hljs-vs .hljs-selector-pseudo,.hljs-vs .hljs-meta{color:#2b91af}.hljs-vs .hljs-doctag{color:#808080}.hljs-vs .hljs-attr{color:#f00}.hljs-vs .hljs-symbol,.hljs-vs .hljs-bullet,.hljs-vs .hljs-link{color:#00b0e8}.hljs-vs .hljs-emphasis{font-style:italic}.hljs-vs .hljs-strong{font-weight:bold}",vs2015:".hljs-vs2015 .hljs{display:block;overflow-x:auto;padding:.5em;background:#1E1E1E;color:#DCDCDC}.hljs-vs2015 .hljs-keyword,.hljs-vs2015 .hljs-literal,.hljs-vs2015 .hljs-symbol,.hljs-vs2015 .hljs-name{color:#569CD6}.hljs-vs2015 .hljs-link{color:#569CD6;text-decoration:underline}.hljs-vs2015 .hljs-built_in,.hljs-vs2015 .hljs-type{color:#4EC9B0}.hljs-vs2015 .hljs-number,.hljs-vs2015 .hljs-class{color:#B8D7A3}.hljs-vs2015 .hljs-string,.hljs-vs2015 .hljs-meta-string{color:#D69D85}.hljs-vs2015 .hljs-regexp,.hljs-vs2015 .hljs-template-tag{color:#9A5334}.hljs-vs2015 .hljs-subst,.hljs-vs2015 .hljs-function,.hljs-vs2015 .hljs-title,.hljs-vs2015 .hljs-params,.hljs-vs2015 .hljs-formula{color:#DCDCDC}.hljs-vs2015 .hljs-comment,.hljs-vs2015 .hljs-quote{color:#57A64A;font-style:italic}.hljs-vs2015 .hljs-doctag{color:#608B4E}.hljs-vs2015 .hljs-meta,.hljs-vs2015 .hljs-meta-keyword,.hljs-vs2015 .hljs-tag{color:#9B9B9B}.hljs-vs2015 .hljs-variable,.hljs-vs2015 .hljs-template-variable{color:#BD63C5}.hljs-vs2015 .hljs-attr,.hljs-vs2015 .hljs-attribute,.hljs-vs2015 .hljs-builtin-name{color:#9CDCFE}.hljs-vs2015 .hljs-section{color:gold}.hljs-vs2015 .hljs-emphasis{font-style:italic}.hljs-vs2015 .hljs-strong{font-weight:bold}.hljs-vs2015 .hljs-bullet,.hljs-vs2015 .hljs-selector-tag,.hljs-vs2015 .hljs-selector-id,.hljs-vs2015 .hljs-selector-class,.hljs-vs2015 .hljs-selector-attr,.hljs-vs2015 .hljs-selector-pseudo{color:#D7BA7D}.hljs-vs2015 .hljs-addition{background-color:#144212;display:inline-block;width:100%}.hljs-vs2015 .hljs-deletion{background-color:#600;display:inline-block;width:100%}",xcode:".hljs-xcode .hljs{display:block;overflow-x:auto;padding:.5em;background:#fff;color:black}.hljs-xcode .xml .hljs-meta{color:#c0c0c0}.hljs-xcode .hljs-comment,.hljs-xcode .hljs-quote{color:#007400}.hljs-xcode .hljs-tag,.hljs-xcode .hljs-attribute,.hljs-xcode .hljs-keyword,.hljs-xcode .hljs-selector-tag,.hljs-xcode .hljs-literal,.hljs-xcode .hljs-name{color:#aa0d91}.hljs-xcode .hljs-variable,.hljs-xcode .hljs-template-variable{color:#3F6E74}.hljs-xcode .hljs-code,.hljs-xcode .hljs-string,.hljs-xcode .hljs-meta-string{color:#c41a16}.hljs-xcode .hljs-regexp,.hljs-xcode .hljs-link{color:#0E0EFF}.hljs-xcode .hljs-title,.hljs-xcode .hljs-symbol,.hljs-xcode .hljs-bullet,.hljs-xcode .hljs-number{color:#1c00cf}.hljs-xcode .hljs-section,.hljs-xcode .hljs-meta{color:#643820}.hljs-xcode .hljs-class .hljs-title,.hljs-xcode .hljs-type,.hljs-xcode .hljs-built_in,.hljs-xcode .hljs-builtin-name,.hljs-xcode .hljs-params{color:#5c2699}.hljs-xcode .hljs-attr{color:#836C28}.hljs-xcode .hljs-subst{color:#000}.hljs-xcode .hljs-formula{background-color:#eee;font-style:italic}.hljs-xcode .hljs-addition{background-color:#baeeba}.hljs-xcode .hljs-deletion{background-color:#ffc8bd}.hljs-xcode .hljs-selector-id,.hljs-xcode .hljs-selector-class{color:#9b703f}.hljs-xcode .hljs-doctag,.hljs-xcode .hljs-strong{font-weight:bold}.hljs-xcode .hljs-emphasis{font-style:italic}",xt256:".hljs-xt256 .hljs{display:block;overflow-x:auto;color:#eaeaea;background:#000;padding:.5em}.hljs-xt256 .hljs-subst{color:#eaeaea}.hljs-xt256 .hljs-emphasis{font-style:italic}.hljs-xt256 .hljs-strong{font-weight:bold}.hljs-xt256 .hljs-builtin-name,.hljs-xt256 .hljs-type{color:#eaeaea}.hljs-xt256 .hljs-params{color:#da0000}.hljs-xt256 .hljs-literal,.hljs-xt256 .hljs-number,.hljs-xt256 .hljs-name{color:#ff0000;font-weight:bolder}.hljs-xt256 .hljs-comment{color:#969896}.hljs-xt256 .hljs-selector-id,.hljs-xt256 .hljs-quote{color:#00ffff}.hljs-xt256 .hljs-template-variable,.hljs-xt256 .hljs-variable,.hljs-xt256 .hljs-title{color:#00ffff;font-weight:bold}.hljs-xt256 .hljs-selector-class,.hljs-xt256 .hljs-keyword,.hljs-xt256 .hljs-symbol{color:#fff000}.hljs-xt256 .hljs-string,.hljs-xt256 .hljs-bullet{color:#00ff00}.hljs-xt256 .hljs-tag,.hljs-xt256 .hljs-section{color:#000fff}.hljs-xt256 .hljs-selector-tag{color:#000fff;font-weight:bold}.hljs-xt256 .hljs-attribute,.hljs-xt256 .hljs-built_in,.hljs-xt256 .hljs-regexp,.hljs-xt256 .hljs-link{color:#ff00ff}.hljs-xt256 .hljs-meta{color:#fff;font-weight:bolder}",zenburn:".hljs-zenburn .hljs{display:block;overflow-x:auto;padding:.5em;background:#3f3f3f;color:#dcdcdc}.hljs-zenburn .hljs-keyword,.hljs-zenburn .hljs-selector-tag,.hljs-zenburn .hljs-tag{color:#e3ceab}.hljs-zenburn .hljs-template-tag{color:#dcdcdc}.hljs-zenburn .hljs-number{color:#8cd0d3}.hljs-zenburn .hljs-variable,.hljs-zenburn .hljs-template-variable,.hljs-zenburn .hljs-attribute{color:#efdcbc}.hljs-zenburn .hljs-literal{color:#efefaf}.hljs-zenburn .hljs-subst{color:#8f8f8f}.hljs-zenburn .hljs-title,.hljs-zenburn .hljs-name,.hljs-zenburn .hljs-selector-id,.hljs-zenburn .hljs-selector-class,.hljs-zenburn .hljs-section,.hljs-zenburn .hljs-type{color:#efef8f}.hljs-zenburn .hljs-symbol,.hljs-zenburn .hljs-bullet,.hljs-zenburn .hljs-link{color:#dca3a3}.hljs-zenburn .hljs-deletion,.hljs-zenburn .hljs-string,.hljs-zenburn .hljs-built_in,.hljs-zenburn .hljs-builtin-name{color:#cc9393}.hljs-zenburn .hljs-addition,.hljs-zenburn .hljs-comment,.hljs-zenburn .hljs-quote,.hljs-zenburn .hljs-meta{color:#7f9f7f}.hljs-zenburn .hljs-emphasis{font-style:italic}.hljs-zenburn .hljs-strong{font-weight:bold}"},engine:r}},{}],16:[function(e,t,a){function r(){}function i(e,t,a){var r,s;for(a=a||[];null!==(r=t.exec(e));)r.index>0&&a.push({type:"text",text:e.substring(0,r.index)}),r[l]?a.push({type:"code",text:r[0]}):r[c]?a.push({type:"text",text:r[0]}):r[_]?a.push({type:"fences",text:r[0]}):r[m]?a.push({type:"def",id:r[m].toLowerCase(),href:r[u],title:r[p]}):r[h]?a.push({type:"macro",name:r[h],args:(r[g]||"").split(",").map(n),obj:r[E]}):r[S]||r[b]?a.push({type:"separator",text:r[S]||r[b]}):r[T]?a.push({type:"notes_separator",text:r[T]}):r[d]&&(s=o(e,r.index+r[0].length),void 0!==s?(e=e.substring(s.length+1),"\\"!==r[0][0]?(a.push({type:"content_start",classes:r[d].substring(1).split("."),block:-1!==s.indexOf("\n")}),i(s,N,a),a.push({type:"content_end",block:-1!==s.indexOf("\n")})):a.push({type:"text",text:r[0].substring(1)+s+"]"})):a.push({type:"text",text:r[0]})),e=e.substring(r.index+r[0].length);return(e||!e&&0===a.length)&&a.push({type:"text",text:e}),a}function s(e,t){return new RegExp(e.source.replace(/\w{2,}/g,function(e){return t[e].source}))}function n(e){return"string"==typeof e?e.trim():e}function o(e,t){for(var a,r=1,i=t;r>0&&i<e.length;)a=e[i++],r+="["===a&&1||"]"===a&&-1||0;if(0===r)return e=e.substr(t,i-t-1)}t.exports=r;var l=1,c=2,d=3,_=4,m=5,u=6,p=7,h=8,g=9,E=10,S=11,b=12,T=13,f={CODE:/(?:^|\n\n)( {4}[^\n]+\n*)+/,INLINE_CODE:/\`([^\`].*?)\`/,CONTENT:/(?:\\)?((?:\.[a-zA-Z_\-][a-zA-Z\-_0-9]*)+)\[/,FENCES:/(?:^|\n) *(`{3,}|~{3,}) *(?:\S+)? *\n(?:[\s\S]+?)\s*\4 *(?:\n+|$)/,DEF:/(?:^|\n) *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,MACRO:/!\[:([^\] ]+)([^\]]*)\](?:\(([^\)]*)\))?/,SLIDE_SEPARATOR:/(?:^|\n)(---)(?:\n|$)/,FRAGMENT_SEPARATOR:/(?:^|\n)(--)(?![^\n])/,NOTES_SEPARATOR:/(?:^|\n)(\?{3})(?:\n|$)/},C=s(/CODE|INLINE_CODE|CONTENT|FENCES|DEF|MACRO|SLIDE_SEPARATOR|FRAGMENT_SEPARATOR|NOTES_SEPARATOR/,f),N=s(/CODE|INLINE_CODE|CONTENT|FENCES|DEF|MACRO/,f);r.prototype.lex=function(e){var t,a=i(e.replace("\r",""),C);for(t=a.length-2;t>=0;t--)"text"===a[t].type&&"text"===a[t+1].type&&(a[t].text+=a[t+1].text,a.splice(t+1,1));return a}},{}],17:[function(e,t,a){(t.exports={}).hello=function(){return"hello!"}},{}],18:[function(e,t,a){function r(e,t,a,r){var s=this;s.properties=a.properties||{},s.links=a.links||{},s.content=a.content||[],s.notes=a.notes||"",s.getSlideIndex=function(){return e},s.getSlideNumber=function(){return t},r&&i(s,r)}function i(e,t){s(e,t),o(e,t),c(e,t)}function s(e,t){var a,r;for(a in t.properties)t.properties.hasOwnProperty(a)&&!n(a)&&(r=[t.properties[a]],"class"===a&&e.properties[a]&&r.push(e.properties[a]),"class"!==a&&void 0!==e.properties[a]||(e.properties[a]=r.join(", ")))}function n(e){return"name"===e||"layout"===e||"count"===e}function o(e,t){var a;e.properties.content=e.content.slice(),l(e,t.content),a=e.expandVariables(!0),void 0===a.content&&(e.content=e.content.concat(e.properties.content)),delete e.properties.content}function l(e,t){var a;for(e.content=[],a=0;a<t.length;++a)"string"==typeof t[a]?e.content.push(t[a]):(e.content.push({block:t[a].block,class:t[a].class}),l(e.content[e.content.length-1],t[a].content))}function c(e,t){t.notes&&(e.notes=t.notes+"\n\n"+e.notes)}e("../converter");t.exports=r,r.prototype.expandVariables=function(e,t,a){function r(t,r,i,n){var o,l=n.trim();return r?e?t[0]:i:e&&"content"!==l?t:(o=s[l],void 0!==o?(a[l]=o,o):"content"===l?"":i)}var i,s=this.properties;for(t=void 0!==t?t:this.content,a=a||{},i=0;i<t.length;++i)"string"==typeof t[i]?t[i]=t[i].replace(/(\\)?(\{\{([^\}\n]+)\}\})/g,r):this.expandVariables(e,t[i].content,a);return a}},{"../converter":13}],19:[function(e,t,a){function r(e,t,a,r){function l(t){t=t||"",v=i(t,a),s(v),O={},v.forEach(function(e){for(var t in e.links)e.links.hasOwnProperty(t)&&(O[t]=e.links[t])}),e.emit("slidesChanged")}function c(e,r){var i=new t.XMLHttpRequest;return i.open("GET",a.sourceUrl,!0),i.onload=function(e){if(4===i.readyState){if(200!==i.status)throw Error(i.statusText);a.source=i.responseText.replace(/\r\n/g,"\n"),l(a.source),"function"==typeof r&&r(R)}},i.onerror=function(e){throw Error(i.statusText)},i.send(null),i}function d(){e.emit("resize")}function _(){return O}function m(){return v.map(function(e){return e})}function u(){return v.length}function p(e){return v.byName[e]}function h(e){return v.byNumber[e]}function g(){e.emit("togglePresenterMode")}function E(){e.emit("toggleHelp")}function S(){e.emit("toggleBlackout")}function b(){e.emit("toggleMirrored")}function T(){e.emit("toggleFullscreen")}function f(){e.emit("createClone")}function C(){e.emit("resetTimer")}function N(e,t){return function(){return void 0===a[e]?t:a[e]}}var R=this,v=[],O={};v.byName={},a=a||{},o.call(R,e),n.call(R,e),R.loadFromString=l,R.loadFromUrl=c,R.update=d,R.getLinks=_,R.getSlides=m,R.getSlideCount=u,R.getSlideByName=p,R.getSlidesByNumber=h,R.togglePresenterMode=g,R.toggleHelp=E,R.toggleBlackout=S,R.toggleMirrored=b,R.toggleFullscreen=T,R.createClone=f,R.resetTimer=C,R.getRatio=N("ratio","4:3"),R.getHighlightStyle=N("highlightStyle","default"),R.getHighlightLines=N("highlightLines",!1),R.getHighlightSpans=N("highlightSpans",!1),R.getHighlightInlineCode=N("highlightInlineCode",!1),R.getHighlightLanguage=N("highlightLanguage",""),R.getSlideNumberFormat=N("slideNumberFormat","%current% / %total%"),R.getCloneTarget=N("cloneTarget","_blank"),e.on("toggleBlackout",function(e){e&&!1===e.propagate||(R.clone&&!R.clone.closed&&R.clone.postMessage("toggleBlackout","*"),window.opener&&window.opener.postMessage("toggleBlackout","*"))}),a.sourceUrl?c(a.sourceUrl,r):(l(a.source),"function"==typeof r&&r(R))}function i(e,t){var a,r=new c,i=r.parse(e,d,t),s=[],n={};s.byName={},s.byNumber={};var o=0;return i.forEach(function(e,r){var i,c;"true"===e.properties.continued&&r>0?i=s[s.length-1]:n[e.properties.template]?i=n[e.properties.template]:"false"===e.properties.layout?a=void 0:a&&"true"!==e.properties.layout&&(i=a),"true"===e.properties.continued&&!1===t.countIncrementalSlides&&void 0===e.properties.count&&(e.properties.count="false");var d=(e.properties.class||"").split(/,| /),_=t.excludedClasses||[],m=0===d.filter(function(e){return-1!==_.indexOf(e)}).length;m&&"true"!==e.properties.layout&&"false"!==e.properties.count&&(o++,s.byNumber[o]=[]),void 0===t.includePresenterNotes||t.includePresenterNotes||(e.notes=""),c=new l(s.length,o,e,i),e.properties.name&&(n[e.properties.name]=c),"true"===e.properties.layout?a=c:(m&&(s.push(c),s.byNumber[o].push(c)),e.properties.name&&(s.byName[e.properties.name]=c))}),s}function s(e){e.forEach(function(e){e.expandVariables()})}var n=e("./slideshow/navigation"),o=e("./slideshow/events"),l=(e("../utils"),e("./slide")),c=e("../parser"),d=e("../macros");t.exports=r},{"../macros":17,"../parser":22,"../utils":25,"./slide":18,"./slideshow/events":20,"./slideshow/navigation":21}],20:[function(e,t,a){function r(e){var t=this,a=new i;a.setMaxListeners(0),t.on=function(){return a.on.apply(a,arguments),t},["showSlide","hideSlide","beforeShowSlide","afterShowSlide","beforeHideSlide","afterHideSlide","toggledPresenter"].map(function(r){e.on(r,function(e){var i=t.getSlides()[e];a.emit(r,i)})})}var i=e("events").EventEmitter;t.exports=r},{events:1}],21:[function(e,t,a){function r(e){function t(){e.emit("pause")}function a(){e.emit("resume")}function r(){return u}function i(t,a){var r=t===u,i=t<0||t>m.getSlideCount()-1;void 0===a&&(a=!1),r||i||(-1!==u&&e.emit("hideSlide",u,!1),null===p?p=!1:!1===p&&(e.emit("start"),p=!0),e.emit("showSlide",t),u=t,e.emit("slideChanged",t+1),a||(m.clone&&!m.clone.closed&&m.clone.postMessage("gotoSlide:"+(u+1),"*"),window.opener&&window.opener.postMessage("gotoSlide:"+(u+1),"*")))}function s(e,t){i(_(e),t)}function n(e,t){var a=m.getSlidesByNumber(parseInt(e,10));a&&a.length&&i(a[0].getSlideIndex(),t)}function o(){i(u-1)}function l(){i(u+1)}function c(){i(0)}function d(){i(m.getSlideCount()-1)}function _(t){var a,r;return"number"==typeof t?t-1:(a=parseInt(t,10),a.toString()===t?a-1:t.match(/^p\d+$/)?(e.emit("forcePresenterMode"),parseInt(t.substr(1),10)-1):(r=m.getSlideByName(t),r?r.getSlideIndex():0))}var m=this,u=-1,p=null;m.getCurrentSlideIndex=r,m.gotoSlide=s,m.gotoSlideNumber=n,m.gotoPreviousSlide=o,m.gotoNextSlide=l,m.gotoFirstSlide=c,m.gotoLastSlide=d,m.pause=t,m.resume=a,e.on("gotoSlide",s),e.on("gotoSlideNumber",n),e.on("gotoPreviousSlide",o),e.on("gotoNextSlide",l),e.on("gotoFirstSlide",c),e.on("gotoLastSlide",d),e.on("slidesChanged",function(){u>m.getSlideCount()&&(u=m.getSlideCount())}),e.on("createClone",function(){!m.clone||m.clone.closed?m.clone=window.open(location.href,m.getCloneTarget(),"location=no"):m.clone.focus()}),e.on("resetTimer",function(){p=!1})}t.exports=r},{}],22:[function(e,t,a){function r(){}function i(){return{content:[],properties:{continued:"false"},links:{}}}function s(e){return{class:e.classes.join(" "),block:e.block,content:[]}}function n(e,t){var a=e.content;void 0!==e.notes&&(a=e.notes);var r=a.length-1;"string"==typeof a[r]&&"string"==typeof t?a[r]+=t:a.push(t)}function o(e,t){for(var a,r=/^\n*([-\w]+):([^$\n]*)|\n*(?:<!--\s*)([-\w]+):([^$\n]*?)(?:\s*-->)/i;null!==(a=r.exec(e));)e=e.substr(0,a.index)+e.substr(a.index+a[0].length),void 0!==a[1]?t[a[1].trim()]=a[2].trim():t[a[3].trim()]=a[4].trim(),r.lastIndex=a.index;return e}function l(e){var t=/^([ \t]*)[^ \t\n]/gm,a=function(e,t){for(var a,r=[];null!==(a=t.exec(e));)r.push(a[1]);return r}(e,t).map(function(e){return e.length}),r=Math.min.apply(Math,a),i=new RegExp("^[ \\t]{0,"+r+"}","gm");return e.replace(i,"")}var c=e("./lexer");t.exports=r,r.prototype.parse=function(e,t,a){var r=this,d=new c,_=d.lex(l(e)),m=[],u=[i()];return t=t||{},a=a||{},_.forEach(function(e){switch(e.type){case"text":case"code":case"fences":n(u[u.length-1],e.text);break;case"def":u[0].links[e.id]={href:e.href,title:e.title};break;case"macro":var o=t[e.name];if("function"!=typeof o)throw new Error('Macro "'+e.name+"\" not found. You need to define macro using remark.macros['"+e.name+"'] = function () { ... };");var l=o.apply(e.obj,e.args);"string"==typeof l?(l=r.parse(l,t),n(u[u.length-1],l[0].content[0])):n(u[u.length-1],void 0===l?"":l.toString());break;case"content_start":u.push(s(e));break;case"content_end":n(u[u.length-2],u[u.length-1]),u.pop();break;case"separator":if("--"===e.text&&!0===a.disableIncrementalSlides){void 0!==u[0].notes&&delete u[0].notes;break}m.push(u[0]),u=[i()],u[0].properties.continued=("--"===e.text).toString();break;case"notes_separator":u[0].notes=[]}}),m.push(u[0]),m.forEach(function(e){e.content[0]=o(e.content[0]||"",e.properties)}),m.filter(function(e){return"true"!==(e.properties.exclude||"").toLowerCase()})}},{"./lexer":16}],23:[function(e,t,a){t.exports={version:"0.15.0",documentStyles:"html{font-size:20px}html.remark-container,body.remark-container{height:100%;width:100%;-webkit-print-color-adjust:exact}.remark-container{background:#d7d8d2;margin:0;overflow:hidden}.remark-container:focus{outline-style:solid;outline-width:1px}.remark-container:-webkit-full-screen{width:100%;height:100%}body:-webkit-full-screen{background:#000000}body:-moz-full-screen{background:#000000}body:fullscreen{background:#000000}.remark-slides-area{position:relative;height:100%;width:100%}.remark-slide-container{display:none;position:absolute;height:100%;width:100%;page-break-after:always}.remark-slide-scaler{background-color:transparent;overflow:auto;position:absolute;-webkit-transform-origin:top left;-moz-transform-origin:top left;transform-origin:top-left;-moz-box-shadow:0 0 30px #888;-webkit-box-shadow:0 0 30px #888;box-shadow:0 0 30px #888}.remark-slide{height:100%;width:100%;display:table;table-layout:fixed;position:relative}.remark-slide>.left{text-align:left}.remark-slide>.center{text-align:center}.remark-slide>.right{text-align:right}.remark-slide>.top{vertical-align:top}.remark-slide>.middle{vertical-align:middle}.remark-slide>.bottom{vertical-align:bottom}.remark-slide-content{background-color:#fff;background-position:center;background-repeat:no-repeat;display:table-cell;padding:1em 4em 1em 4em}.remark-slide-content .left{display:block;text-align:left}.remark-slide-content .center{display:block;text-align:center}.remark-slide-content .right{display:block;text-align:right}.remark-slide-number{bottom:12px;opacity:.5;position:absolute;right:20px}.remark-slide-notes{border-top:3px solid black;position:absolute;display:none}.remark-code{font-size:smaller}.remark-code-line{min-height:1em}.remark-code-line-highlighted{background-color:rgba(255,255,0,0.5)}.remark-code-span-highlighted{background-color:rgba(255,255,0,0.5);padding:1px 2px 2px 2px}.remark-visible{display:block;z-index:2}.remark-fading{display:block;z-index:1}.remark-fading .remark-slide-scaler{-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.remark-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;display:none;background:#000;z-index:2}.remark-pause{bottom:0;top:0;right:0;left:0;display:none;position:absolute;z-index:1000}.remark-pause .remark-pause-lozenge{margin-top:30%;text-align:center}.remark-pause .remark-pause-lozenge span{color:white;background:black;border:2px solid black;border-radius:20px;padding:20px 30px;font-family:Helvetica,arial,freesans,clean,sans-serif;font-size:42pt;font-weight:bold}.remark-container.remark-presenter-mode.remark-pause-mode .remark-pause{display:block}.remark-container.remark-presenter-mode.remark-pause-mode .remark-backdrop{display:block;opacity:.5}.remark-help{bottom:0;top:0;right:0;left:0;display:none;position:absolute;z-index:1000;-webkit-transform-origin:top left;-moz-transform-origin:top left;transform-origin:top-left}.remark-help .remark-help-content{color:white;font-family:Helvetica,arial,freesans,clean,sans-serif;font-size:12pt;position:absolute;top:5%;bottom:10%;height:10%;left:5%;width:90%}.remark-help .remark-help-content h1{font-size:36px}.remark-help .remark-help-content td{color:white;font-size:12pt;padding:10px}.remark-help .remark-help-content td:first-child{padding-left:0}.remark-help .remark-help-content .key{background:white;color:black;min-width:1em;display:inline-block;padding:3px 6px;text-align:center;border-radius:4px;font-size:14px}.remark-help .dismiss{top:85%}.remark-container.remark-help-mode .remark-help{display:block}.remark-container.remark-help-mode .remark-backdrop{display:block;opacity:.95}.remark-preview-area{bottom:2%;left:2%;display:none;opacity:.5;position:absolute;height:47.25%;width:48%}.remark-preview-area .remark-slide-container{display:block}.remark-notes-area{background:#fff;bottom:0;color:black;display:none;left:52%;overflow:hidden;position:absolute;right:0;top:0}.remark-notes-area .remark-top-area{height:50px;left:20px;position:absolute;right:10px;top:10px}.remark-notes-area .remark-bottom-area{position:absolute;top:75px;bottom:10px;left:20px;right:10px}.remark-notes-area .remark-bottom-area .remark-toggle{display:block;text-decoration:none;font-family:Helvetica,arial,freesans,clean,sans-serif;height:21px;font-size:.75em;text-transform:uppercase;color:#ccc}.remark-notes-area .remark-bottom-area .remark-notes-current-area{height:70%;position:relative}.remark-notes-area .remark-bottom-area .remark-notes-current-area .remark-notes{clear:both;border-top:1px solid #f5f5f5;position:absolute;top:22px;bottom:0px;left:0px;right:0px;overflow-y:auto;margin-bottom:20px;padding-top:10px}.remark-notes-area .remark-bottom-area .remark-notes-preview-area{height:30%;position:relative}.remark-notes-area .remark-bottom-area .remark-notes-preview-area .remark-notes-preview{border-top:1px solid #f5f5f5;position:absolute;top:22px;bottom:0px;left:0px;right:0px;overflow-y:auto}.remark-notes-area .remark-bottom-area .remark-notes>*:first-child,.remark-notes-area .remark-bottom-area .remark-notes-preview>*:first-child{margin-top:5px}.remark-notes-area .remark-bottom-area .remark-notes>*:last-child,.remark-notes-area .remark-bottom-area .remark-notes-preview>*:last-child{margin-bottom:0}.remark-toolbar{color:#979892;vertical-align:middle}.remark-toolbar .remark-toolbar-link{border:2px solid #d7d8d2;color:#979892;display:inline-block;padding:2px 2px;text-decoration:none;text-align:center;min-width:20px}.remark-toolbar .remark-toolbar-link:hover{border-color:#979892;color:#676862}.remark-toolbar .remark-toolbar-timer{border:2px solid black;border-radius:10px;background:black;color:white;display:inline-block;float:right;padding:5px 10px;font-family:sans-serif;font-weight:bold;font-size:175%;text-decoration:none;text-align:center}.remark-container.remark-presenter-mode .remark-slides-area{top:2%;left:2%;height:47.25%;width:48%}.remark-container.remark-presenter-mode .remark-preview-area{display:block}.remark-container.remark-presenter-mode .remark-notes-area{display:block}.remark-container.remark-blackout-mode:not(.remark-presenter-mode) .remark-backdrop{display:block;opacity:.99}.remark-container.remark-mirrored-mode:not(.remark-presenter-mode) .remark-slides-area{-webkit-transform:scaleX(-1);-moz-transform:scaleX(-1);-ms-transform:scaleX(-1);-o-transform:scaleX(-1)}@media print{.remark-container{overflow:visible;background-color:#fff}.remark-container.remark-presenter-mode .remark-slides-area{top:0px;left:0px;height:100%;width:681px}.remark-container.remark-presenter-mode .remark-preview-area,.remark-container.remark-presenter-mode .remark-notes-area{display:none}.remark-container.remark-presenter-mode .remark-slide-notes{display:block;margin-left:30px;width:621px}.remark-slide-container{display:block;position:relative}.remark-slide-scaler{-moz-box-shadow:none;-webkit-box-shadow:none;-webkit-transform-origin:initial;box-shadow:none}}@page{margin:0}",containerLayout:'<div class="remark-notes-area">\n <div class="remark-top-area">\n <div class="remark-toolbar">\n <a class="remark-toolbar-link" href="#increase">+</a>\n <a class="remark-toolbar-link" href="#decrease">-</a>\n <span class="remark-toolbar-timer"></span>\n </div>\n </div>\n <div class="remark-bottom-area">\n <div class="remark-notes-current-area">\n <div class="remark-toggle">Notes for current slide</div>\n <div class="remark-notes"></div>\n </div>\n <div class="remark-notes-preview-area">\n <div class="remark-toggle">Notes for next slide</div>\n <div class="remark-notes-preview"></div>\n </div>\n </div>\n</div>\n<div class="remark-slides-area"></div>\n<div class="remark-preview-area"></div>\n<div class="remark-backdrop"></div>\n<div class="remark-pause">\n <div class="remark-pause-lozenge">\n <span>Paused</span>\n </div>\n</div>\n<div class="remark-help">\n <div class="remark-help-content">\n <h1>Help</h1>\n <p><b>Keyboard shortcuts</b></p>\n <table class="light-keys">\n <tr>\n <td>\n <span class="key"><b>↑</b></span>,\n <span class="key"><b>←</b></span>,\n <span class="key">Pg Up</span>,\n <span class="key">k</span>\n </td>\n <td>Go to previous slide</td>\n </tr>\n <tr>\n <td>\n <span class="key"><b>↓</b></span>,\n <span class="key"><b>→</b></span>,\n <span class="key">Pg Dn</span>,\n <span class="key">Space</span>,\n <span class="key">j</span>\n </td>\n <td>Go to next slide</td>\n </tr>\n <tr>\n <td>\n <span class="key">Home</span>\n </td>\n <td>Go to first slide</td>\n </tr>\n <tr>\n <td>\n <span class="key">End</span>\n </td>\n <td>Go to last slide</td>\n </tr>\n <tr>\n <td>\n Number + <span class="key">Return</span>\n </td>\n <td>Go to specific slide</td>\n </tr>\n <tr>\n <td>\n <span class="key">b</span> /\n <span class="key">m</span> /\n <span class="key">f</span>\n </td>\n <td>Toggle blackout / mirrored / fullscreen mode</td>\n </tr>\n <tr>\n <td>\n <span class="key">c</span>\n </td>\n <td>Clone slideshow</td>\n </tr>\n <tr>\n <td>\n <span class="key">p</span>\n </td>\n <td>Toggle presenter mode</td>\n </tr>\n <tr>\n <td>\n <span class="key">s</span>\n </td>\n <td>Start & Stop the presentation timer</td>\n </tr>\n <tr>\n <td>\n <span class="key">t</span>\n </td>\n <td>Reset the presentation timer</td>\n </tr>\n <tr>\n <td>\n <span class="key">?</span>,\n <span class="key">h</span>\n </td>\n <td>Toggle this help</td>\n </tr>\n </table>\n </div>\n <div class="content dismiss">\n <table class="light-keys">\n <tr>\n <td>\n <span class="key">Esc</span>\n </td>\n <td>Back to slideshow</td>\n </tr>\n </table>\n </div>\n</div>\n'}},{}],24:[function(e,t,a){function r(e,t){var a=this;a.events=e,a.slideshow=t,a.ratio=i(t),a.dimensions=s(a.ratio),a.events.on("propertiesChanged",function(e){e.hasOwnProperty("ratio")&&(a.ratio=i(t),a.dimensions=s(a.ratio))})}function i(e){var t,a=e.getRatio().split(":");return t={width:parseInt(a[0],10),height:parseInt(a[1],10)},t.ratio=t.width/t.height,t}function s(e){return{width:Math.floor(n/l*e.ratio),height:o}}var n=908,o=681,l=n/o;t.exports=r,r.prototype.scaleToFit=function(e,t){var a,r,i,s,n,o=this,l=t.clientHeight,c=t.clientWidth,d=o.ratio,_=o.dimensions;a=c/d.width>l/d.height?l/_.height:c/_.width,r=_.width*a,i=_.height*a,s=(c-r)/2,n=(l-i)/2,e.style["-webkit-transform"]="scale("+a+")",e.style.MozTransform="scale("+a+")",e.style.left=Math.max(s,0)+"px",e.style.top=Math.max(n,0)+"px"}},{}],25:[function(e,t,a){a.addClass=function(e,t){e.className=a.getClasses(e).concat([t]).join(" ")},a.removeClass=function(e,t){e.className=a.getClasses(e).filter(function(e){return e!==t}).join(" ")},a.toggleClass=function(e,t){var r=a.getClasses(e),i=r.indexOf(t);-1!==i?r.splice(i,1):r.push(t),e.className=r.join(" ")},a.getClasses=function(e){return e.className.split(" ").filter(function(e){return""!==e})},a.hasClass=function(e,t){return-1!==a.getClasses(e).indexOf(t)},a.getPrefixedProperty=function(e,t){var a=t[0].toUpperCase()+t.slice(1);return e[t]||e["moz"+a]||e["webkit"+a]}},{}],26:[function(e,t,a){function r(e,t,a){var r=this;r.events=e,r.element=t,r.slideViewsAccessor=a,r.configureElements(),e.on("showSlide",function(e){r.showSlide(e)})}e("../converter");t.exports=r,r.prototype.showSlide=function(e){var t=this,a=t.slideViewsAccessor(),r=a[e],i=a[e+1];t.notesElement.innerHTML=r.notesElement.innerHTML,t.notesPreviewElement.innerHTML=i?i.notesElement.innerHTML:""},r.prototype.configureElements=function(){var e=this;e.notesElement=e.element.getElementsByClassName("remark-notes")[0],e.notesPreviewElement=e.element.getElementsByClassName("remark-notes-preview")[0],e.notesElement.addEventListener("mousewheel",function(e){e.stopPropagation()}),e.notesPreviewElement.addEventListener("mousewheel",function(e){e.stopPropagation()}),e.toolbarElement=e.element.getElementsByClassName("remark-toolbar")[0];var t={increase:function(){e.notesElement.style.fontSize=(parseFloat(e.notesElement.style.fontSize)||1)+.1+"em",e.notesPreviewElement.style.fontsize=e.notesElement.style.fontSize},decrease:function(){e.notesElement.style.fontSize=(parseFloat(e.notesElement.style.fontSize)||1)-.1+"em",e.notesPreviewElement.style.fontsize=e.notesElement.style.fontSize}};e.toolbarElement.getElementsByTagName("a").forEach(function(e){e.addEventListener("click",function(e){var a=e.target.hash.substr(1);t[a](),e.preventDefault()})})}},{"../converter":13}],27:[function(e,t,a){function r(e,t,a,r){var i=this;i.events=e,i.slideshow=t,i.scaler=a,i.slide=r,i.slideNumber=new g(r,t),i.configureElements(),i.updateDimensions(),i.events.on("propertiesChanged",function(e){e.hasOwnProperty("ratio")&&i.updateDimensions()})}function i(e){var t=document.createElement("div");return t.className="remark-slide","true"===e.properties.continued&&b.addClass(t,"remark-slide-incremental"),t}function s(e,t,a){var r=document.createElement("div");return a.properties.name&&(r.id="slide-"+a.properties.name),n(t,r,a.properties),r.innerHTML=E.convertMarkdown(a.content,t.getLinks()),_(r,t),r}function n(e,t,a){t.className="",d(t,a),c(t,a,e),l(t,a)}function o(e,t){var a=document.createElement("div");return a.className="remark-slide-notes",a.innerHTML=E.convertMarkdown(t,e.getLinks()),_(a,e),a}function l(e,t){var a=t["background-image"],r=t["background-color"],i=t["background-size"],s=t["background-position"];a&&(e.style.backgroundImage=a),r&&(e.style.backgroundColor=r),i&&(e.style.backgroundSize=i),s&&(e.style.backgroundPosition=s)}function c(e,t,a){var r=t["highlight-style"]||a.getHighlightStyle() +;r&&b.addClass(e,"hljs-"+r)}function d(e,t){b.addClass(e,"remark-slide-content"),(t.class||"").split(/,| /).filter(function(e){return""!==e}).forEach(function(t){b.addClass(e,t)})}function _(e,t){var a,r=e.getElementsByTagName("code"),i=t.getHighlightLines(),s=t.getHighlightSpans(),n=t.getHighlightInlineCode();r.forEach(function(e){if(""===e.className&&(e.className=t.getHighlightLanguage()),"PRE"!==e.parentElement.tagName)return b.addClass(e,"remark-inline-code"),void(n&&S.engine.highlightBlock(e,""));i&&(a=m(e)),""!==e.className&&S.engine.highlightBlock(e," "),u(e),i&&p(e,a.highlightedLines),s&&h(e,s),b.addClass(e,"remark-code")})}function m(e){var t=[];return e.innerHTML=e.innerHTML.split(/\r?\n/).map(function(e,a){return 0===e.indexOf("*")?(t.push(a),e.replace(/^\*( )?/,"$1$1")):e}).join("\n"),{highlightedLines:t}}function u(e){var t=e.innerHTML.split(/\r?\n/).map(function(e){return'<div class="remark-code-line">'+e+"</div>"});t.length&&-1!==t[t.length-1].indexOf("><")&&t.pop(),e.innerHTML=t.join("")}function p(e,t){t.forEach(function(t){b.addClass(e.childNodes[t],"remark-code-line-highlighted")})}function h(e,t){var a;if(!0===t)a=/([^`])`([^`]+?)`/g;else{if(!(t instanceof RegExp))throw new Error("Illegal value for `highlightSpans`");if(!t.global)throw new Error("The regular expression in `highlightSpans` must have flag /g");var r=t.flags||"g";a=new RegExp("([^])"+t.source,r)}e.childNodes.forEach(function(e){e.innerHTML=e.innerHTML.replace(a,function(e,t,a){return"\\"===t?e.substr(1):t+'<span class="remark-code-span-highlighted">'+a+"</span>"})})}var g=e("../components/slide-number/slide-number"),E=e("../converter"),S=e("../highlighter"),b=e("../utils");t.exports=r,r.prototype.updateDimensions=function(){var e=this,t=e.scaler.dimensions;e.scalingElement.style.width=t.width+"px",e.scalingElement.style.height=t.height+"px"},r.prototype.scale=function(e){var t=this;t.scaler.scaleToFit(t.scalingElement,e)},r.prototype.show=function(){b.addClass(this.containerElement,"remark-visible"),b.removeClass(this.containerElement,"remark-fading")},r.prototype.hide=function(){var e=this;b.removeClass(this.containerElement,"remark-visible"),b.addClass(this.containerElement,"remark-fading"),setTimeout(function(){b.removeClass(e.containerElement,"remark-fading")},1e3)},r.prototype.configureElements=function(){var e=this;e.containerElement=document.createElement("div"),e.containerElement.className="remark-slide-container",e.scalingElement=document.createElement("div"),e.scalingElement.className="remark-slide-scaler",e.element=i(e.slide),e.contentElement=s(e.events,e.slideshow,e.slide),e.notesElement=o(e.slideshow,e.slide.notes),e.contentElement.appendChild(e.slideNumber.element),e.element.appendChild(e.contentElement),e.scalingElement.appendChild(e.element),e.containerElement.appendChild(e.scalingElement),e.containerElement.appendChild(e.notesElement)},r.prototype.scaleBackgroundImage=function(e){var t,a,r,i=this,s=window.getComputedStyle(this.contentElement),n=s.backgroundImage,o=s.backgroundSize,l=s.backgroundPosition;(!o&&!l||i.backgroundSizeSet)&&null!==(t=/^url\(("?)([^\)]+?)\1\)/.exec(n))&&(a=new Image,a.onload=function(){a.width>e.width||a.height>e.height?i.originalBackgroundSize||(i.originalBackgroundSize=i.contentElement.style.backgroundSize,i.originalBackgroundPosition=i.contentElement.style.backgroundPosition,i.backgroundSizeSet=!0,r=e.width/a.width<e.height/a.height?e.width/a.width:e.height/a.height,i.contentElement.style.backgroundSize=a.width*r+"px "+a.height*r+"px",i.contentElement.style.backgroundPosition="50% "+(e.height-a.height*r)/2+"px"):i.backgroundSizeSet&&(i.contentElement.style.backgroundSize=i.originalBackgroundSize,i.contentElement.style.backgroundPosition=i.originalBackgroundPosition,i.backgroundSizeSet=!1)},a.src=t[2])}},{"../components/slide-number/slide-number":"components/slide-number","../converter":13,"../highlighter":15,"../utils":25}],28:[function(e,t,a){function r(e,t,a,r){var s=this,n=a.container;s.events=e,s.dom=t,s.slideshow=r,s.scaler=new c(e,r),s.slideViews=[],s.configureContainerElement(n),s.configureChildElements(),s.updateDimensions(),s.scaleElements(),s.updateSlideViews(),s.timer=new o(e,s.timerElement,a.timer),e.on("slidesChanged",function(){s.updateSlideViews()}),e.on("hideSlide",function(e){s.elementArea.getElementsByClassName("remark-fading").forEach(function(e){_.removeClass(e,"remark-fading")}),s.hideSlide(e)}),e.on("showSlide",function(e){s.showSlide(e)}),e.on("forcePresenterMode",function(){_.hasClass(s.containerElement,"remark-presenter-mode")||(_.toggleClass(s.containerElement,"remark-presenter-mode"),s.scaleElements(),m.setPageOrientation("landscape"))}),e.on("togglePresenterMode",function(){_.toggleClass(s.containerElement,"remark-presenter-mode"),s.scaleElements(),e.emit("toggledPresenter",s.slideshow.getCurrentSlideIndex()+1),_.hasClass(s.containerElement,"remark-presenter-mode")?m.setPageOrientation("portrait"):m.setPageOrientation("landscape")}),e.on("toggleHelp",function(){_.toggleClass(s.containerElement,"remark-help-mode")}),e.on("toggleBlackout",function(){_.toggleClass(s.containerElement,"remark-blackout-mode")}),e.on("toggleMirrored",function(){_.toggleClass(s.containerElement,"remark-mirrored-mode")}),e.on("hideOverlay",function(){_.removeClass(s.containerElement,"remark-blackout-mode"),_.removeClass(s.containerElement,"remark-help-mode")}),e.on("pause",function(){_.toggleClass(s.containerElement,"remark-pause-mode")}),e.on("resume",function(){_.toggleClass(s.containerElement,"remark-pause-mode")}),i(s)}function i(e){var t=_.getPrefixedProperty(e.containerElement,"requestFullScreen"),a=_.getPrefixedProperty(document,"cancelFullScreen");e.events.on("toggleFullscreen",function(){_.getPrefixedProperty(document,"fullscreenElement")||_.getPrefixedProperty(document,"fullScreenElement")||!t?a&&a.call(document):t.call(e.containerElement,Element.ALLOW_KEYBOARD_INPUT),e.scaleElements()})}function s(e,t,a){a.forEach(function(a){t.addEventListener(a,function(){var t=Array.prototype.slice.call(arguments);e.emit.apply(e,[a].concat(t))})})}var n=e("./slideView"),o=e("../components/timer/timer"),l=e("./notesView"),c=e("../scaler"),d=e("../resources"),_=e("../utils"),m=e("../components/printing/printing");t.exports=r,r.prototype.isEmbedded=function(){return this.containerElement!==this.dom.getBodyElement()},r.prototype.configureContainerElement=function(e){var t=this;t.containerElement=e,_.addClass(e,"remark-container"),e===t.dom.getBodyElement()?(_.addClass(t.dom.getHTMLElement(),"remark-container"),s(t.events,window,["hashchange","resize","keydown","keypress","mousewheel","message","DOMMouseScroll"]),s(t.events,t.containerElement,["touchstart","touchmove","touchend","click","contextmenu"])):(e.style.position="absolute",e.tabIndex=-1,s(t.events,window,["resize"]),s(t.events,e,["keydown","keypress","mousewheel","touchstart","touchmove","touchend"])),t.events.on("tap",function(e){e<t.containerElement.clientWidth/2?t.slideshow.gotoPreviousSlide():t.slideshow.gotoNextSlide()})},r.prototype.configureChildElements=function(){function e(){a.scaleElements()}function t(e){var t;t=e.isPortrait?.4*e.pageHeight:e.pageHeight,a.slideViews.forEach(function(a){a.scale({clientWidth:e.pageWidth,clientHeight:t}),e.isPortrait&&(a.scalingElement.style.top="20px",a.notesElement.style.top=t+40+"px")})}var a=this;a.containerElement.innerHTML+=d.containerLayout,a.elementArea=a.containerElement.getElementsByClassName("remark-slides-area")[0],a.previewArea=a.containerElement.getElementsByClassName("remark-preview-area")[0],a.notesArea=a.containerElement.getElementsByClassName("remark-notes-area")[0],a.notesView=new l(a.events,a.notesArea,function(){return a.slideViews}),a.backdropElement=a.containerElement.getElementsByClassName("remark-backdrop")[0],a.helpElement=a.containerElement.getElementsByClassName("remark-help")[0],a.timerElement=a.notesArea.getElementsByClassName("remark-toolbar-timer")[0],a.pauseElement=a.containerElement.getElementsByClassName("remark-pause")[0],a.events.on("propertiesChanged",function(e){e.hasOwnProperty("ratio")&&a.updateDimensions()}),a.events.on("resize",e),m.init(),m.on("print",t)},r.prototype.updateSlideViews=function(){var e=this;e.slideViews.forEach(function(t){e.elementArea.removeChild(t.containerElement)}),e.slideViews=e.slideshow.getSlides().map(function(t){return new n(e.events,e.slideshow,e.scaler,t)}),e.slideViews.forEach(function(t){e.elementArea.appendChild(t.containerElement)}),e.updateDimensions(),e.slideshow.getCurrentSlideIndex()>-1&&e.showSlide(e.slideshow.getCurrentSlideIndex())},r.prototype.scaleSlideBackgroundImages=function(e){this.slideViews.forEach(function(t){t.scaleBackgroundImage(e)})},r.prototype.showSlide=function(e){var t=this,a=t.slideViews[e],r=t.slideViews[e+1];t.events.emit("beforeShowSlide",e),a.show(),t.previewArea.innerHTML=r?r.containerElement.outerHTML:"",t.events.emit("afterShowSlide",e)},r.prototype.hideSlide=function(e){var t=this,a=t.slideViews[e];t.events.emit("beforeHideSlide",e),a.hide(),t.events.emit("afterHideSlide",e)},r.prototype.updateDimensions=function(){var e=this,t=e.scaler.dimensions;e.helpElement.style.width=t.width+"px",e.helpElement.style.height=t.height+"px",e.scaleSlideBackgroundImages(t),e.scaleElements()},r.prototype.scaleElements=function(){var e=this;e.slideViews.forEach(function(t){t.scale(e.elementArea)}),e.previewArea.children.length&&e.scaler.scaleToFit(e.previewArea.children[0].children[0],e.previewArea),e.scaler.scaleToFit(e.helpElement,e.containerElement),e.scaler.scaleToFit(e.pauseElement,e.containerElement)}},{"../components/printing/printing":"components/printing","../components/timer/timer":"components/timer","../resources":23,"../scaler":24,"../utils":25,"./notesView":26,"./slideView":27}],"components/printing":[function(e,t,a){function r(){}var i=e("events").EventEmitter,s=e("../styler/styler");r.prototype=new i,r.prototype.init=function(){var e=this;if(this.setPageOrientation("landscape"),!window.matchMedia)return!1;window.matchMedia("print").addListener(function(t){e.onPrint(t)})},r.prototype.onPrint=function(e){e.matches&&this.emit("print",{isPortrait:"portrait"===this._orientation,pageHeight:this._pageHeight,pageWidth:this._pageWidth})},r.prototype.setPageOrientation=function(e){if("portrait"===e)this._pageHeight=908,this._pageWidth=681;else{if("landscape"!==e)throw new Error("Unknown print orientation: "+e);this._pageHeight=681,this._pageWidth=908}this._orientation=e,s.setPageSize(this._pageWidth+"px "+this._pageHeight+"px")},t.exports=new r},{"../styler/styler":"components/styler",events:1}],"components/slide-number":[function(e,t,a){function r(e,t){var a=this;a.slide=e,a.slideshow=t,a.element=document.createElement("div"),a.element.className="remark-slide-number",a.element.innerHTML=i(a.slide,a.slideshow)}function i(e,t){var a=t.getSlideNumberFormat(),r=t.getSlides(),i=s(e,t),n=s(r[r.length-1],t);return"function"==typeof a?a.call(t,i,n):a.replace("%current%",i).replace("%total%",n)}function s(e,t){return e.getSlideNumber()}t.exports=r},{}],"components/styler":[function(e,t,a){function r(){var e,t,a;if(!s()){e=document.getElementsByTagName("head")[0],t=document.createElement("style"),t.type="text/css",t.title="remark",t.innerHTML=o.documentStyles;for(a in l.styles)l.styles.hasOwnProperty(a)&&(t.innerHTML=t.innerHTML+l.styles[a]);e.insertBefore(t,e.firstChild)}}function i(e){n(s()).style.size=e}function s(){var e,t=document.styleSheets.length;for(e=0;e<t;++e)if("remark"===document.styleSheets[e].title)return document.styleSheets[e]}function n(e){var t,a=e.cssRules.length;for(t=0;t<a;++t)if(e.cssRules[t]instanceof window.CSSPageRule)return e.cssRules[t]}var o=e("../../resources"),l=e("../../highlighter");t.exports={styleDocument:r,setPageSize:i}},{"../../highlighter":15,"../../resources":23}],"components/timer":[function(e,t,a){function r(e,t,a){var r=this;r.options=d({},{enabled:!0,resetable:!0,startOnChange:!0,formatter:o},a||{}),r.element=t,r.reset(),e.on("start",function(){r.options.startOnChange&&e.emit("startTimer")}),e.on("startTimer",function(){r.start()}),e.on("pauseTimer",function(){r.pause()}),e.on("toggleTimer",function(){r.toggle()}),e.on("resetTimer",function(){r.options.resetable&&r.reset()}),setInterval(function(){r.tick()},100)}function i(){var e=this,t=(new Date).getTime();e.currentTick=t,e.lastTick=t,e.elapsedTime=0}function s(e,t){var a=this;a.identifier=e,a.updater=t}function n(e,t){var a=this;a.element=e,a.enabled=t.enabled,a.formatter=t.formatter,a.enabled||(a.element.style="display: none")}function o(e){var t=e;t=l(t,1e3);var a=t%60;t=l(t,60);var r=t%60;return(t=l(t,60))+":"+[r,a].map(function(e){return""+e}).map(function(e){return c(e,2,"0")}).join(":")}function l(e,t){return Math.floor(e/t)}function c(e,t,a){for(var r=e;r.length<t;)r=a+r;return r}var d=(e("../../utils"),e("extend"));t.exports=r,r.prototype.tick=function(){var e=this;e.chronos.tick(),e.state.update(e.chronos),e.view.update(e.chronos.elapsedTime)},r.prototype.start=function(){var e=this;e.state=e.RUNNING},r.prototype.pause=function(){var e=this;e.state=e.PAUSED},r.prototype.toggle=function(){var e=this;e.state===e.RUNNING?e.state=e.PAUSED:e.state=e.RUNNING},r.prototype.reset=function(){var e=this;e.chronos=new i,e.state=e.INITIAL,e.view=new n(e.element,e.options)},r.prototype.INITIAL=new s("INITIAL",function(e){}),r.prototype.RUNNING=new s("RUNNING",function(e){e.addDelta()}),r.prototype.PAUSED=new s("PAUSED",function(e){}),i.prototype.tick=function(){var e=this,t=(new Date).getTime();e.lastTick=e.currentTick,e.currentTick=t},i.prototype.addDelta=function(){var e=this,t=e.currentTick-e.lastTick;e.elapsedTime+=t},s.prototype.update=function(e){this.updater(e)},n.prototype.update=function(e){var t=this,a=t.enabled?t.formatter(e):"";t.element.innerHTML=a}},{"../../utils":25,extend:2}]},{},[5]); \ No newline at end of file diff --git a/assets/js/remark-macros-jm.js b/assets/js/remark-macros-jm.js new file mode 100644 index 0000000000000000000000000000000000000000..9d9b63d4b75336ff8931e378198ddbe3f2242ccb --- /dev/null +++ b/assets/js/remark-macros-jm.js @@ -0,0 +1,36 @@ +remark.macros.img = function (altText, amount, widthorheight) { + var url = this; + if (widthorheight == "height") { + console.log("height") + return '<img src="'+ url + '" alt="' + altText + '" height= "' + amount + '" />'; + } else { + console.log("height") + return '<img src="'+ url + '" alt="' + altText + '" width= "' + amount + '" />'; + } +}; + + +remark.macros.youtube = function (altText, yid) { + return '<iframe title="'+ altText + '" width="560" height="315" src="https://www.youtube.com/embed/'+yid+'?rel=0&controls=1&showinfo=0" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>'; +}; + + + +remark.macros.vimeo = function (altText, yid) { + return '<iframe title="'+ altText + '" src="https://player.vimeo.com/video/'+yid+' width="500" height="281" frameborder="0" allow="autoplay; fullscreen" allowfullscreen></iframe>'; +}; + + +remark.macros.quote = function (text) { + return '<i class="fa fa-quote-left"><i> <p class="quote">' + text + '</p>'; +}; + + +remark.macros.fa = function (icon, size) { + return '<i class="fa fa-'+icon+' '+size+'"></i> '; +}; + + +remark.macros.caption = function () { + return '<iframe class="caption-frame" allow="camera; microphone" title="caption align="bottom" frame" src="https://webcaptioner.com/captioner?autostart" frameborder="0"></iframe>'; +} diff --git a/assets/js/remark-mermaid.js b/assets/js/remark-mermaid.js new file mode 100644 index 0000000000000000000000000000000000000000..e08fcd67525c903e239908775bcbbc578389c94b --- /dev/null +++ b/assets/js/remark-mermaid.js @@ -0,0 +1,191 @@ +const fs = require('fs-extra'); +const visit = require('unist-util-visit'); +const utils = require('./utils'); +const render = utils.render; +const renderFromFile = utils.renderFromFile; +const getDestinationDir = utils.getDestinationDir; +const createMermaidDiv = utils.createMermaidDiv; +const PLUGIN_NAME = 'remark-mermaid'; +/** + * Is this title `mermaid:`? + * + * @param {string} title + * @return {boolean} + */ +const isMermaid = title => title === 'mermaid:'; +/** + * Given a node which contains a `url` property (eg. Link or Image), follow + * the link, generate a graph and then replace the link with the link to the + * generated graph. Checks to ensure node has a title of `mermaid:` before doing. + * + * @param {object} node + * @param {vFile} vFile + * @return {object} + */ +function replaceUrlWithGraph(node, vFile) { + const { + title, + url, + position + } = node; + const { + destinationDir + } = vFile.data; + // If the node isn't mermaid, ignore it. + if (!isMermaid(title)) { + return node; + } + try { + // eslint-disable-next-line no-param-reassign + node.url = renderFromFile(`${vFile.dirname}/${url}`, destinationDir); + vFile.info('mermaid link replaced with link to graph', position, PLUGIN_NAME); + } catch (error) { + vFile.message(error, position, PLUGIN_NAME); + } + return node; +} +/** + * Given a link to a mermaid diagram, grab the contents from the link and put it + * into a div that Mermaid JS can act upon. + * + * @param {object} node + * @param {integer} index + * @param {object} parent + * @param {vFile} vFile + * @return {object} + */ +function replaceLinkWithEmbedded(node, index, parent, vFile) { + const { + title, + url, + position + } = node; + let newNode; + // If the node isn't mermaid, ignore it. + if (!isMermaid(title)) { + return node; + } + try { + const value = fs.readFileSync(`${vFile.dirname}/${url}`, { + encoding: 'utf-8' + }); + newNode = createMermaidDiv(value); + parent.children.splice(index, 1, newNode); + vFile.info('mermaid link replaced with div', position, PLUGIN_NAME); + } catch (error) { + vFile.message(error, position, PLUGIN_NAME); + return node; + } + return node; +} +/** + * Given the MDAST ast, look for all fenced codeblocks that have a language of + * `mermaid` and pass that to mermaid.cli to render the image. Replaces the + * codeblocks with an image of the rendered graph. + * + * @param {object} ast + * @param {vFile} vFile + * @param {boolean} isSimple + * @return {function} + */ +function visitCodeBlock(ast, vFile, isSimple) { + return visit(ast, 'code', (node, index, parent) => { + const { + lang, + value, + position + } = node; + const destinationDir = getDestinationDir(vFile); + let newNode; + // If this codeblock is not mermaid, bail. + if (lang !== 'mermaid') { + return node; + } + // Are we just transforming to a <div>, or replacing with an image? + if (isSimple) { + newNode = createMermaidDiv(value); + vFile.info(`${lang} code block replaced with div`, position, PLUGIN_NAME); + // Otherwise, let's try and generate a graph! + } else { + let graphSvgFilename; + try { + graphSvgFilename = render(value, destinationDir); + vFile.info(`${lang} code block replaced with graph`, position, PLUGIN_NAME); + } catch (error) { + vFile.message(error, position, PLUGIN_NAME); + return node; + } + newNode = { + type: 'image', + title: '`mermaid` image', + url: graphSvgFilename, + }; + } + parent.children.splice(index, 1, newNode); + return node; + }); +} +/** + * If links have a title attribute called `mermaid:`, follow the link and + * depending on `isSimple`, either generate and link to the graph, or simply + * wrap the graph contents in a div. + * + * @param {object} ast + * @param {vFile} vFile + * @param {boolean} isSimple + * @return {function} + */ +function visitLink(ast, vFile, isSimple) { + if (isSimple) { + return visit(ast, 'link', (node, index, parent) => replaceLinkWithEmbedded(node, index, parent, vFile)); + } + return visit(ast, 'link', node => replaceUrlWithGraph(node, vFile)); +} +/** + * If images have a title attribute called `mermaid:`, follow the link and + * depending on `isSimple`, either generate and link to the graph, or simply + * wrap the graph contents in a div. + * + * @param {object} ast + * @param {vFile} vFile + * @param {boolean} isSimple + * @return {function} + */ +function visitImage(ast, vFile, isSimple) { + if (isSimple) { + return visit(ast, 'image', (node, index, parent) => replaceLinkWithEmbedded(node, index, parent, vFile)); + } + return visit(ast, 'image', node => replaceUrlWithGraph(node, vFile)); +} +/** + * Returns the transformer which acts on the MDAST tree and given VFile. + * + * If `options.simple` is passed as a truthy value, the plugin will convert + * to `<div class="mermaid">` rather than a SVG image. + * + * @link https://github.com/unifiedjs/unified#function-transformernode-file-next + * @link https://github.com/syntax-tree/mdast + * @link https://github.com/vfile/vfile + * + * @param {object} options + * @return {function} + */ +function mermaid(options = {}) { + const simpleMode = options.simple || false; + /** + * @param {object} ast MDAST + * @param {vFile} vFile + * @param {function} next + * @return {object} + */ + return function transformer(ast, vFile, next) { + visitCodeBlock(ast, vFile, simpleMode); + visitLink(ast, vFile, simpleMode); + visitImage(ast, vFile, simpleMode); + if (typeof next === 'function') { + return next(null, ast, vFile); + } + return ast; + }; +} +module.exports = mermaid; diff --git a/assets/js/scrolling-nav.js b/assets/js/scrolling-nav.js new file mode 100644 index 0000000000000000000000000000000000000000..09171b9bbd99928198678997bbd1a34b641c4ee8 --- /dev/null +++ b/assets/js/scrolling-nav.js @@ -0,0 +1,29 @@ +(function($) { + "use strict"; // Start of use strict + + // Smooth scrolling using jQuery easing + $('a.js-scroll-trigger[href*="#"]:not([href="#"])').click(function() { + if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) { + var target = $(this.hash); + target = target.length ? target : $('[name=' + this.hash.slice(1) + ']'); + if (target.length) { + $('html, body').animate({ + scrollTop: (target.offset().top - 54) + }, 1000, "easeInOutExpo"); + return false; + } + } + }); + + // Closes responsive menu when a scroll trigger link is clicked + $('.js-scroll-trigger').click(function() { + $('.navbar-collapse').collapse('hide'); + }); + + // Activate scrollspy to add active class to navbar items on scroll + $('body').scrollspy({ + target: '#mainNav', + offset: 54 + }); + +})(jQuery); // End of use strict diff --git a/assets/js/semantic-enrich.js b/assets/js/semantic-enrich.js new file mode 100644 index 0000000000000000000000000000000000000000..0dc5e2f0e3ed6f299a973ac62503a2a37b8e7e58 --- /dev/null +++ b/assets/js/semantic-enrich.js @@ -0,0 +1 @@ +MathJax.Extension["semantic-enrich"]={version:"1.5.0",config:MathJax.Hub.CombineConfig("semantic-enrich",{disabled:!1}),dependents:[],running:!1,mstyleLookup:{mi:["mathvariant"],mo:["mathvariant","accent","largeop","form","fence","separator","movablelimits"],mn:["mathvariant"],mtext:["mathvariant"],ms:["mathvariant"],mfrac:["linethickness"],mfenced:["open","close","separators"],menclose:["notation"],munder:["accentunder"],mover:["accent"],munderover:["accent","accentunder"]},Filter:function(a,b,c){if(delete a.enriched,!this.config.disabled)try{this.running=!0;var d=sre.Enrich.semanticMathmlSync(a.root.toMathML());a.root=MathJax.InputJax.MathML.Parse.prototype.MakeMML(d),a.root.inputID=c.id,a.enriched=!0,this.running=!1}catch(a){throw this.running=!1,a}},Enable:function(a,b){this.config.disabled=!1,a&&MathJax.Hub.Queue(["Reprocess",MathJax.Hub])},Disable:function(a,b){this.config.disabled=!0;for(var c=this.dependents.length-1;c>=0;c--){var d=this.dependents[c];d.Disable&&d.Disable(!1,b)}a&&MathJax.Hub.Queue(["Reprocess",MathJax.Hub])},Dependent:function(a){this.dependents.push(a)}},function(){var a=MathJax.Ajax.config.path;a.a11y||(a.a11y=HUB.config.root+"/extensions/a11y"),a.SRE||(a.SRE=MathJax.Ajax.fileURL(a.a11y)),MathJax.Ajax.Load("[SRE]/mathjax-sre.js"),MathJax.Hub.Register.StartupHook("Sre Ready",["loadComplete",MathJax.Ajax,"[SRE]/mathjax-sre.js"])}(),MathJax.Callback.Queue(["Require",MathJax.Ajax,"[MathJax]/jax/element/mml/jax.js"],["Require",MathJax.Ajax,"[MathJax]/jax/input/MathML/config.js"],["Require",MathJax.Ajax,"[MathJax]/jax/input/MathML/jax.js"],["Require",MathJax.Ajax,"[MathJax]/extensions/toMathML.js"],MathJax.Hub.Register.StartupHook("Sre Ready",function(){var a=MathJax.ElementJax.mml,b=MathJax.Extension["semantic-enrich"];a.mbase.Augment({toMathMLattributes:function(){var c="mstyle"===this.type?a.math.prototype.defaults:this.defaults,d=this.attrNames||a.copyAttributeNames,e=a.skipAttributes,f=a.copyAttributes,g=b.running?b.mstyleLookup[this.type]||[]:[],h=[],i=this.attr||{};if("math"!==this.type||this.attr&&"xmlns"in this.attr||h.push('xmlns="http://www.w3.org/1998/Math/MathML"'),!this.attrNames)for(var j in c)e[j]||f[j]||!c.hasOwnProperty(j)||null!=this[j]&&this[j]!==c[j]&&this.Get(j,null,1)!==this[j]&&this.toMathMLaddAttr(h,j,this[j]);for(var k=0,l=d.length;k<l;k++)(1!==f[d[k]]||c.hasOwnProperty(d[k]))&&(value=i[d[k]],null==value&&(value=this[d[k]]),null!=value&&this.toMathMLaddAttr(h,d[k],value));for(k=0,l=g.length;k<l;k++)j=g[k],c.hasOwnProperty(j)&&!h["_"+j]&&(value=this.Get(j,1),null!=value&&this.toMathMLaddAttr(h,j,value));return this.toMathMLclass(h),h.length?" "+h.join(" "):""},toMathMLaddAttr:function(a,b,c){a.push(b+'="'+this.toMathMLquote(c)+'"'),a["_"+b]=1}});var c=a.mo.prototype.setTeXclass;a.mo.Augment({setTeXclass:function(b){this.getValues("form","lspace","rspace");return this.useMMLspacing?(this.texClass=a.TEXCLASS.NONE,this):this.attr&&this.attr["data-semantic-added"]?(this.texClass=this.prevClass=a.TEXCLASS.NONE,b):c.apply(this,arguments)}})}),function(){MathJax.Hub.postInputHooks.Add(["Filter",MathJax.Extension["semantic-enrich"]],50),MathJax.Hub.Startup.signal.Post("Semantic Enrich Ready"),MathJax.Ajax.loadComplete("[a11y]/semantic-enrich.js")}); \ No newline at end of file diff --git a/assets/js/vfile.js b/assets/js/vfile.js new file mode 100644 index 0000000000000000000000000000000000000000..1c53c3b4ed11d02063c6292fe0def400b63e851c --- /dev/null +++ b/assets/js/vfile.js @@ -0,0 +1,37 @@ +'use strict' +var VMessage = require('vfile-message') +var VFile = require('./core.js') +module.exports = VFile +var proto = VFile.prototype +proto.message = message +proto.info = info +proto.fail = fail +/* Slight backwards compatibility. Remove in the future. */ +proto.warn = message +/* Create a message with `reason` at `position`. + * When an error is passed in as `reason`, copies the stack. */ +function message(reason, position, origin) { + var filePath = this.path + var message = new VMessage(reason, position, origin) + if (filePath) { + message.name = filePath + ':' + message.name + message.file = filePath + } + message.fatal = false + this.messages.push(message) + return message +} +/* Fail. Creates a vmessage, associates it with the file, + * and throws it. */ +function fail() { + var message = this.message.apply(this, arguments) + message.fatal = true + throw message +} +/* Info. Creates a vmessage, associates it with the file, + * and marks the fatality as null. */ +function info() { + var message = this.message.apply(this, arguments) + message.fatal = null + return message +} diff --git a/assets/js/wgxpath.install.js b/assets/js/wgxpath.install.js new file mode 100644 index 0000000000000000000000000000000000000000..a9836808c4ec33369e65eb6fd81b0e8bb7d093db --- /dev/null +++ b/assets/js/wgxpath.install.js @@ -0,0 +1,77 @@ +(function(){'use strict';var k=this; +function aa(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";else if("function"== +b&&"undefined"==typeof a.call)return"object";return b}function l(a){return"string"==typeof a}function ba(a,b,c){return a.call.apply(a.bind,arguments)}function ca(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}} +function da(a,b,c){da=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?ba:ca;return da.apply(null,arguments)}function ea(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var b=c.slice();b.push.apply(b,arguments);return a.apply(this,b)}} +function m(a){var b=n;function c(){}c.prototype=b.prototype;a.G=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.F=function(a,c,f){for(var g=Array(arguments.length-2),h=2;h<arguments.length;h++)g[h-2]=arguments[h];return b.prototype[c].apply(a,g)}};/* + + The MIT License + + Copyright (c) 2007 Cybozu Labs, Inc. + Copyright (c) 2012 Google Inc. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to + deal in the Software without restriction, including without limitation the + rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + IN THE SOFTWARE. +*/ +var fa=String.prototype.trim?function(a){return a.trim()}:function(a){return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")};function q(a,b){return-1!=a.indexOf(b)}function ga(a,b){return a<b?-1:a>b?1:0};var ha=Array.prototype.indexOf?function(a,b,c){return Array.prototype.indexOf.call(a,b,c)}:function(a,b,c){c=null==c?0:0>c?Math.max(0,a.length+c):c;if(l(a))return l(b)&&1==b.length?a.indexOf(b,c):-1;for(;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1},r=Array.prototype.forEach?function(a,b,c){Array.prototype.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=l(a)?a.split(""):a,f=0;f<d;f++)f in e&&b.call(c,e[f],f,a)},ia=Array.prototype.filter?function(a,b,c){return Array.prototype.filter.call(a, +b,c)}:function(a,b,c){for(var d=a.length,e=[],f=0,g=l(a)?a.split(""):a,h=0;h<d;h++)if(h in g){var p=g[h];b.call(c,p,h,a)&&(e[f++]=p)}return e},t=Array.prototype.reduce?function(a,b,c,d){d&&(b=da(b,d));return Array.prototype.reduce.call(a,b,c)}:function(a,b,c,d){var e=c;r(a,function(c,g){e=b.call(d,e,c,g,a)});return e},ja=Array.prototype.some?function(a,b,c){return Array.prototype.some.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=l(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&b.call(c,e[f],f,a))return!0; +return!1};function ka(a,b){var c;a:{c=a.length;for(var d=l(a)?a.split(""):a,e=0;e<c;e++)if(e in d&&b.call(void 0,d[e],e,a)){c=e;break a}c=-1}return 0>c?null:l(a)?a.charAt(c):a[c]}function la(a){return Array.prototype.concat.apply(Array.prototype,arguments)}function ma(a,b,c){return 2>=arguments.length?Array.prototype.slice.call(a,b):Array.prototype.slice.call(a,b,c)};var u;a:{var na=k.navigator;if(na){var oa=na.userAgent;if(oa){u=oa;break a}}u=""};var pa=q(u,"Opera")||q(u,"OPR"),v=q(u,"Trident")||q(u,"MSIE"),qa=q(u,"Edge"),ra=q(u,"Gecko")&&!(q(u.toLowerCase(),"webkit")&&!q(u,"Edge"))&&!(q(u,"Trident")||q(u,"MSIE"))&&!q(u,"Edge"),sa=q(u.toLowerCase(),"webkit")&&!q(u,"Edge");function ta(){var a=k.document;return a?a.documentMode:void 0}var ua; +a:{var va="",wa=function(){var a=u;if(ra)return/rv\:([^\);]+)(\)|;)/.exec(a);if(qa)return/Edge\/([\d\.]+)/.exec(a);if(v)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a);if(sa)return/WebKit\/(\S+)/.exec(a);if(pa)return/(?:Version)[ \/]?(\S+)/.exec(a)}();wa&&(va=wa?wa[1]:"");if(v){var xa=ta();if(null!=xa&&xa>parseFloat(va)){ua=String(xa);break a}}ua=va}var ya={}; +function za(a){if(!ya[a]){for(var b=0,c=fa(String(ua)).split("."),d=fa(String(a)).split("."),e=Math.max(c.length,d.length),f=0;0==b&&f<e;f++){var g=c[f]||"",h=d[f]||"",p=/(\d*)(\D*)/g,y=/(\d*)(\D*)/g;do{var D=p.exec(g)||["","",""],X=y.exec(h)||["","",""];if(0==D[0].length&&0==X[0].length)break;b=ga(0==D[1].length?0:parseInt(D[1],10),0==X[1].length?0:parseInt(X[1],10))||ga(0==D[2].length,0==X[2].length)||ga(D[2],X[2])}while(0==b)}ya[a]=0<=b}} +var Aa=k.document,Ba=Aa&&v?ta()||("CSS1Compat"==Aa.compatMode?parseInt(ua,10):5):void 0;var w=v&&!(9<=Number(Ba)),Ca=v&&!(8<=Number(Ba));function x(a,b,c,d){this.a=a;this.nodeName=c;this.nodeValue=d;this.nodeType=2;this.parentNode=this.ownerElement=b}function Da(a,b){var c=Ca&&"href"==b.nodeName?a.getAttribute(b.nodeName,2):b.nodeValue;return new x(b,a,b.nodeName,c)};function z(a){var b=null,c=a.nodeType;1==c&&(b=a.textContent,b=void 0==b||null==b?a.innerText:b,b=void 0==b||null==b?"":b);if("string"!=typeof b)if(w&&"title"==a.nodeName.toLowerCase()&&1==c)b=a.text;else if(9==c||1==c){a=9==c?a.documentElement:a.firstChild;for(var c=0,d=[],b="";a;){do 1!=a.nodeType&&(b+=a.nodeValue),w&&"title"==a.nodeName.toLowerCase()&&(b+=a.text),d[c++]=a;while(a=a.firstChild);for(;c&&!(a=d[--c].nextSibling););}}else b=a.nodeValue;return""+b} +function A(a,b,c){if(null===b)return!0;try{if(!a.getAttribute)return!1}catch(d){return!1}Ca&&"class"==b&&(b="className");return null==c?!!a.getAttribute(b):a.getAttribute(b,2)==c}function B(a,b,c,d,e){return(w?Ea:Fa).call(null,a,b,l(c)?c:null,l(d)?d:null,e||new C)} +function Ea(a,b,c,d,e){if(a instanceof E||8==a.b||c&&null===a.b){var f=b.all;if(!f)return e;a=Ga(a);if("*"!=a&&(f=b.getElementsByTagName(a),!f))return e;if(c){for(var g=[],h=0;b=f[h++];)A(b,c,d)&&g.push(b);f=g}for(h=0;b=f[h++];)"*"==a&&"!"==b.tagName||F(e,b);return e}Ha(a,b,c,d,e);return e} +function Fa(a,b,c,d,e){b.getElementsByName&&d&&"name"==c&&!v?(b=b.getElementsByName(d),r(b,function(b){a.a(b)&&F(e,b)})):b.getElementsByClassName&&d&&"class"==c?(b=b.getElementsByClassName(d),r(b,function(b){b.className==d&&a.a(b)&&F(e,b)})):a instanceof G?Ha(a,b,c,d,e):b.getElementsByTagName&&(b=b.getElementsByTagName(a.f()),r(b,function(a){A(a,c,d)&&F(e,a)}));return e} +function Ia(a,b,c,d,e){var f;if((a instanceof E||8==a.b||c&&null===a.b)&&(f=b.childNodes)){var g=Ga(a);if("*"!=g&&(f=ia(f,function(a){return a.tagName&&a.tagName.toLowerCase()==g}),!f))return e;c&&(f=ia(f,function(a){return A(a,c,d)}));r(f,function(a){"*"==g&&("!"==a.tagName||"*"==g&&1!=a.nodeType)||F(e,a)});return e}return Ja(a,b,c,d,e)}function Ja(a,b,c,d,e){for(b=b.firstChild;b;b=b.nextSibling)A(b,c,d)&&a.a(b)&&F(e,b);return e} +function Ha(a,b,c,d,e){for(b=b.firstChild;b;b=b.nextSibling)A(b,c,d)&&a.a(b)&&F(e,b),Ha(a,b,c,d,e)}function Ga(a){if(a instanceof G){if(8==a.b)return"!";if(null===a.b)return"*"}return a.f()};!ra&&!v||v&&9<=Number(Ba)||ra&&za("1.9.1");v&&za("9");function Ka(a,b){if(!a||!b)return!1;if(a.contains&&1==b.nodeType)return a==b||a.contains(b);if("undefined"!=typeof a.compareDocumentPosition)return a==b||!!(a.compareDocumentPosition(b)&16);for(;b&&a!=b;)b=b.parentNode;return b==a} +function La(a,b){if(a==b)return 0;if(a.compareDocumentPosition)return a.compareDocumentPosition(b)&2?1:-1;if(v&&!(9<=Number(Ba))){if(9==a.nodeType)return-1;if(9==b.nodeType)return 1}if("sourceIndex"in a||a.parentNode&&"sourceIndex"in a.parentNode){var c=1==a.nodeType,d=1==b.nodeType;if(c&&d)return a.sourceIndex-b.sourceIndex;var e=a.parentNode,f=b.parentNode;return e==f?Ma(a,b):!c&&Ka(e,b)?-1*Na(a,b):!d&&Ka(f,a)?Na(b,a):(c?a.sourceIndex:e.sourceIndex)-(d?b.sourceIndex:f.sourceIndex)}d=9==a.nodeType? +a:a.ownerDocument||a.document;c=d.createRange();c.selectNode(a);c.collapse(!0);d=d.createRange();d.selectNode(b);d.collapse(!0);return c.compareBoundaryPoints(k.Range.START_TO_END,d)}function Na(a,b){var c=a.parentNode;if(c==b)return-1;for(var d=b;d.parentNode!=c;)d=d.parentNode;return Ma(d,a)}function Ma(a,b){for(var c=b;c=c.previousSibling;)if(c==a)return-1;return 1};function C(){this.b=this.a=null;this.l=0}function Oa(a){this.node=a;this.a=this.b=null}function Pa(a,b){if(!a.a)return b;if(!b.a)return a;for(var c=a.a,d=b.a,e=null,f=null,g=0;c&&d;){var f=c.node,h=d.node;f==h||f instanceof x&&h instanceof x&&f.a==h.a?(f=c,c=c.a,d=d.a):0<La(c.node,d.node)?(f=d,d=d.a):(f=c,c=c.a);(f.b=e)?e.a=f:a.a=f;e=f;g++}for(f=c||d;f;)f.b=e,e=e.a=f,g++,f=f.a;a.b=e;a.l=g;return a}function Qa(a,b){var c=new Oa(b);c.a=a.a;a.b?a.a.b=c:a.a=a.b=c;a.a=c;a.l++} +function F(a,b){var c=new Oa(b);c.b=a.b;a.a?a.b.a=c:a.a=a.b=c;a.b=c;a.l++}function Ra(a){return(a=a.a)?a.node:null}function Sa(a){return(a=Ra(a))?z(a):""}function H(a,b){return new Ta(a,!!b)}function Ta(a,b){this.f=a;this.b=(this.c=b)?a.b:a.a;this.a=null}function I(a){var b=a.b;if(null==b)return null;var c=a.a=b;a.b=a.c?b.b:b.a;return c.node};function n(a){this.i=a;this.b=this.g=!1;this.f=null}function J(a){return"\n "+a.toString().split("\n").join("\n ")}function Ua(a,b){a.g=b}function Va(a,b){a.b=b}function K(a,b){var c=a.a(b);return c instanceof C?+Sa(c):+c}function L(a,b){var c=a.a(b);return c instanceof C?Sa(c):""+c}function M(a,b){var c=a.a(b);return c instanceof C?!!c.l:!!c};function N(a,b,c){n.call(this,a.i);this.c=a;this.h=b;this.o=c;this.g=b.g||c.g;this.b=b.b||c.b;this.c==Wa&&(c.b||c.g||4==c.i||0==c.i||!b.f?b.b||b.g||4==b.i||0==b.i||!c.f||(this.f={name:c.f.name,s:b}):this.f={name:b.f.name,s:c})}m(N); +function O(a,b,c,d,e){b=b.a(d);c=c.a(d);var f;if(b instanceof C&&c instanceof C){b=H(b);for(d=I(b);d;d=I(b))for(e=H(c),f=I(e);f;f=I(e))if(a(z(d),z(f)))return!0;return!1}if(b instanceof C||c instanceof C){b instanceof C?(e=b,d=c):(e=c,d=b);f=H(e);for(var g=typeof d,h=I(f);h;h=I(f)){switch(g){case "number":h=+z(h);break;case "boolean":h=!!z(h);break;case "string":h=z(h);break;default:throw Error("Illegal primitive type for comparison.");}if(e==b&&a(h,d)||e==c&&a(d,h))return!0}return!1}return e?"boolean"== +typeof b||"boolean"==typeof c?a(!!b,!!c):"number"==typeof b||"number"==typeof c?a(+b,+c):a(b,c):a(+b,+c)}N.prototype.a=function(a){return this.c.m(this.h,this.o,a)};N.prototype.toString=function(){var a="Binary Expression: "+this.c,a=a+J(this.h);return a+=J(this.o)};function Xa(a,b,c,d){this.a=a;this.w=b;this.i=c;this.m=d}Xa.prototype.toString=function(){return this.a};var Ya={}; +function P(a,b,c,d){if(Ya.hasOwnProperty(a))throw Error("Binary operator already created: "+a);a=new Xa(a,b,c,d);return Ya[a.toString()]=a}P("div",6,1,function(a,b,c){return K(a,c)/K(b,c)});P("mod",6,1,function(a,b,c){return K(a,c)%K(b,c)});P("*",6,1,function(a,b,c){return K(a,c)*K(b,c)});P("+",5,1,function(a,b,c){return K(a,c)+K(b,c)});P("-",5,1,function(a,b,c){return K(a,c)-K(b,c)});P("<",4,2,function(a,b,c){return O(function(a,b){return a<b},a,b,c)}); +P(">",4,2,function(a,b,c){return O(function(a,b){return a>b},a,b,c)});P("<=",4,2,function(a,b,c){return O(function(a,b){return a<=b},a,b,c)});P(">=",4,2,function(a,b,c){return O(function(a,b){return a>=b},a,b,c)});var Wa=P("=",3,2,function(a,b,c){return O(function(a,b){return a==b},a,b,c,!0)});P("!=",3,2,function(a,b,c){return O(function(a,b){return a!=b},a,b,c,!0)});P("and",2,2,function(a,b,c){return M(a,c)&&M(b,c)});P("or",1,2,function(a,b,c){return M(a,c)||M(b,c)});function Q(a,b,c){this.a=a;this.b=b||1;this.f=c||1};function Za(a,b){if(b.a.length&&4!=a.i)throw Error("Primary expression must evaluate to nodeset if filter has predicate(s).");n.call(this,a.i);this.c=a;this.h=b;this.g=a.g;this.b=a.b}m(Za);Za.prototype.a=function(a){a=this.c.a(a);return $a(this.h,a)};Za.prototype.toString=function(){var a;a="Filter:"+J(this.c);return a+=J(this.h)};function ab(a,b){if(b.length<a.A)throw Error("Function "+a.j+" expects at least"+a.A+" arguments, "+b.length+" given");if(null!==a.v&&b.length>a.v)throw Error("Function "+a.j+" expects at most "+a.v+" arguments, "+b.length+" given");a.B&&r(b,function(b,d){if(4!=b.i)throw Error("Argument "+d+" to function "+a.j+" is not of type Nodeset: "+b);});n.call(this,a.i);this.h=a;this.c=b;Ua(this,a.g||ja(b,function(a){return a.g}));Va(this,a.D&&!b.length||a.C&&!!b.length||ja(b,function(a){return a.b}))}m(ab); +ab.prototype.a=function(a){return this.h.m.apply(null,la(a,this.c))};ab.prototype.toString=function(){var a="Function: "+this.h;if(this.c.length)var b=t(this.c,function(a,b){return a+J(b)},"Arguments:"),a=a+J(b);return a};function bb(a,b,c,d,e,f,g,h,p){this.j=a;this.i=b;this.g=c;this.D=d;this.C=e;this.m=f;this.A=g;this.v=void 0!==h?h:g;this.B=!!p}bb.prototype.toString=function(){return this.j};var cb={}; +function R(a,b,c,d,e,f,g,h){if(cb.hasOwnProperty(a))throw Error("Function already created: "+a+".");cb[a]=new bb(a,b,c,d,!1,e,f,g,h)}R("boolean",2,!1,!1,function(a,b){return M(b,a)},1);R("ceiling",1,!1,!1,function(a,b){return Math.ceil(K(b,a))},1);R("concat",3,!1,!1,function(a,b){return t(ma(arguments,1),function(b,d){return b+L(d,a)},"")},2,null);R("contains",2,!1,!1,function(a,b,c){return q(L(b,a),L(c,a))},2);R("count",1,!1,!1,function(a,b){return b.a(a).l},1,1,!0); +R("false",2,!1,!1,function(){return!1},0);R("floor",1,!1,!1,function(a,b){return Math.floor(K(b,a))},1);R("id",4,!1,!1,function(a,b){function c(a){if(w){var b=e.all[a];if(b){if(b.nodeType&&a==b.id)return b;if(b.length)return ka(b,function(b){return a==b.id})}return null}return e.getElementById(a)}var d=a.a,e=9==d.nodeType?d:d.ownerDocument,d=L(b,a).split(/\s+/),f=[];r(d,function(a){a=c(a);!a||0<=ha(f,a)||f.push(a)});f.sort(La);var g=new C;r(f,function(a){F(g,a)});return g},1); +R("lang",2,!1,!1,function(){return!1},1);R("last",1,!0,!1,function(a){if(1!=arguments.length)throw Error("Function last expects ()");return a.f},0);R("local-name",3,!1,!0,function(a,b){var c=b?Ra(b.a(a)):a.a;return c?c.localName||c.nodeName.toLowerCase():""},0,1,!0);R("name",3,!1,!0,function(a,b){var c=b?Ra(b.a(a)):a.a;return c?c.nodeName.toLowerCase():""},0,1,!0);R("namespace-uri",3,!0,!1,function(){return""},0,1,!0); +R("normalize-space",3,!1,!0,function(a,b){return(b?L(b,a):z(a.a)).replace(/[\s\xa0]+/g," ").replace(/^\s+|\s+$/g,"")},0,1);R("not",2,!1,!1,function(a,b){return!M(b,a)},1);R("number",1,!1,!0,function(a,b){return b?K(b,a):+z(a.a)},0,1);R("position",1,!0,!1,function(a){return a.b},0);R("round",1,!1,!1,function(a,b){return Math.round(K(b,a))},1);R("starts-with",2,!1,!1,function(a,b,c){b=L(b,a);a=L(c,a);return 0==b.lastIndexOf(a,0)},2);R("string",3,!1,!0,function(a,b){return b?L(b,a):z(a.a)},0,1); +R("string-length",1,!1,!0,function(a,b){return(b?L(b,a):z(a.a)).length},0,1);R("substring",3,!1,!1,function(a,b,c,d){c=K(c,a);if(isNaN(c)||Infinity==c||-Infinity==c)return"";d=d?K(d,a):Infinity;if(isNaN(d)||-Infinity===d)return"";c=Math.round(c)-1;var e=Math.max(c,0);a=L(b,a);return Infinity==d?a.substring(e):a.substring(e,c+Math.round(d))},2,3);R("substring-after",3,!1,!1,function(a,b,c){b=L(b,a);a=L(c,a);c=b.indexOf(a);return-1==c?"":b.substring(c+a.length)},2); +R("substring-before",3,!1,!1,function(a,b,c){b=L(b,a);a=L(c,a);a=b.indexOf(a);return-1==a?"":b.substring(0,a)},2);R("sum",1,!1,!1,function(a,b){for(var c=H(b.a(a)),d=0,e=I(c);e;e=I(c))d+=+z(e);return d},1,1,!0);R("translate",3,!1,!1,function(a,b,c,d){b=L(b,a);c=L(c,a);var e=L(d,a);a={};for(d=0;d<c.length;d++){var f=c.charAt(d);f in a||(a[f]=e.charAt(d))}c="";for(d=0;d<b.length;d++)f=b.charAt(d),c+=f in a?a[f]:f;return c},3);R("true",2,!1,!1,function(){return!0},0);function G(a,b){this.h=a;this.c=void 0!==b?b:null;this.b=null;switch(a){case "comment":this.b=8;break;case "text":this.b=3;break;case "processing-instruction":this.b=7;break;case "node":break;default:throw Error("Unexpected argument");}}function db(a){return"comment"==a||"text"==a||"processing-instruction"==a||"node"==a}G.prototype.a=function(a){return null===this.b||this.b==a.nodeType};G.prototype.f=function(){return this.h}; +G.prototype.toString=function(){var a="Kind Test: "+this.h;null===this.c||(a+=J(this.c));return a};function eb(a){this.b=a;this.a=0}function fb(a){a=a.match(gb);for(var b=0;b<a.length;b++)hb.test(a[b])&&a.splice(b,1);return new eb(a)}var gb=/\$?(?:(?![0-9-\.])(?:\*|[\w-\.]+):)?(?![0-9-\.])(?:\*|[\w-\.]+)|\/\/|\.\.|::|\d+(?:\.\d*)?|\.\d+|"[^"]*"|'[^']*'|[!<>]=|\s+|./g,hb=/^\s/;function S(a,b){return a.b[a.a+(b||0)]}function T(a){return a.b[a.a++]}function ib(a){return a.b.length<=a.a};function jb(a){n.call(this,3);this.c=a.substring(1,a.length-1)}m(jb);jb.prototype.a=function(){return this.c};jb.prototype.toString=function(){return"Literal: "+this.c};function E(a,b){this.j=a.toLowerCase();var c;c="*"==this.j?"*":"http://www.w3.org/1999/xhtml";this.c=b?b.toLowerCase():c}E.prototype.a=function(a){var b=a.nodeType;if(1!=b&&2!=b)return!1;b=void 0!==a.localName?a.localName:a.nodeName;return"*"!=this.j&&this.j!=b.toLowerCase()?!1:"*"==this.c?!0:this.c==(a.namespaceURI?a.namespaceURI.toLowerCase():"http://www.w3.org/1999/xhtml")};E.prototype.f=function(){return this.j}; +E.prototype.toString=function(){return"Name Test: "+("http://www.w3.org/1999/xhtml"==this.c?"":this.c+":")+this.j};function kb(a,b){n.call(this,a.i);this.h=a;this.c=b;this.g=a.g;this.b=a.b;if(1==this.c.length){var c=this.c[0];c.u||c.c!=lb||(c=c.o,"*"!=c.f()&&(this.f={name:c.f(),s:null}))}}m(kb);function mb(){n.call(this,4)}m(mb);mb.prototype.a=function(a){var b=new C;a=a.a;9==a.nodeType?F(b,a):F(b,a.ownerDocument);return b};mb.prototype.toString=function(){return"Root Helper Expression"};function nb(){n.call(this,4)}m(nb);nb.prototype.a=function(a){var b=new C;F(b,a.a);return b};nb.prototype.toString=function(){return"Context Helper Expression"}; +function ob(a){return"/"==a||"//"==a}kb.prototype.a=function(a){var b=this.h.a(a);if(!(b instanceof C))throw Error("Filter expression must evaluate to nodeset.");a=this.c;for(var c=0,d=a.length;c<d&&b.l;c++){var e=a[c],f=H(b,e.c.a),g;if(e.g||e.c!=pb)if(e.g||e.c!=qb)for(g=I(f),b=e.a(new Q(g));null!=(g=I(f));)g=e.a(new Q(g)),b=Pa(b,g);else g=I(f),b=e.a(new Q(g));else{for(g=I(f);(b=I(f))&&(!g.contains||g.contains(b))&&b.compareDocumentPosition(g)&8;g=b);b=e.a(new Q(g))}}return b}; +kb.prototype.toString=function(){var a;a="Path Expression:"+J(this.h);if(this.c.length){var b=t(this.c,function(a,b){return a+J(b)},"Steps:");a+=J(b)}return a};function rb(a){n.call(this,4);this.c=a;Ua(this,ja(this.c,function(a){return a.g}));Va(this,ja(this.c,function(a){return a.b}))}m(rb);rb.prototype.a=function(a){var b=new C;r(this.c,function(c){c=c.a(a);if(!(c instanceof C))throw Error("Path expression must evaluate to NodeSet.");b=Pa(b,c)});return b};rb.prototype.toString=function(){return t(this.c,function(a,b){return a+J(b)},"Union Expression:")};function sb(a,b){this.a=a;this.b=!!b} +function $a(a,b,c){for(c=c||0;c<a.a.length;c++)for(var d=a.a[c],e=H(b),f=b.l,g,h=0;g=I(e);h++){var p=a.b?f-h:h+1;g=d.a(new Q(g,p,f));if("number"==typeof g)p=p==g;else if("string"==typeof g||"boolean"==typeof g)p=!!g;else if(g instanceof C)p=0<g.l;else throw Error("Predicate.evaluate returned an unexpected type.");if(!p){p=e;g=p.f;var y=p.a;if(!y)throw Error("Next must be called at least once before remove.");var D=y.b,y=y.a;D?D.a=y:g.a=y;y?y.b=D:g.b=D;g.l--;p.a=null}}return b} +sb.prototype.toString=function(){return t(this.a,function(a,b){return a+J(b)},"Predicates:")};function U(a,b,c,d){n.call(this,4);this.c=a;this.o=b;this.h=c||new sb([]);this.u=!!d;b=this.h;b=0<b.a.length?b.a[0].f:null;a.b&&b&&(a=b.name,a=w?a.toLowerCase():a,this.f={name:a,s:b.s});a:{a=this.h;for(b=0;b<a.a.length;b++)if(c=a.a[b],c.g||1==c.i||0==c.i){a=!0;break a}a=!1}this.g=a}m(U); +U.prototype.a=function(a){var b=a.a,c=null,c=this.f,d=null,e=null,f=0;c&&(d=c.name,e=c.s?L(c.s,a):null,f=1);if(this.u)if(this.g||this.c!=tb)if(a=H((new U(ub,new G("node"))).a(a)),b=I(a))for(c=this.m(b,d,e,f);null!=(b=I(a));)c=Pa(c,this.m(b,d,e,f));else c=new C;else c=B(this.o,b,d,e),c=$a(this.h,c,f);else c=this.m(a.a,d,e,f);return c};U.prototype.m=function(a,b,c,d){a=this.c.f(this.o,a,b,c);return a=$a(this.h,a,d)}; +U.prototype.toString=function(){var a;a="Step:"+J("Operator: "+(this.u?"//":"/"));this.c.j&&(a+=J("Axis: "+this.c));a+=J(this.o);if(this.h.a.length){var b=t(this.h.a,function(a,b){return a+J(b)},"Predicates:");a+=J(b)}return a};function vb(a,b,c,d){this.j=a;this.f=b;this.a=c;this.b=d}vb.prototype.toString=function(){return this.j};var wb={};function V(a,b,c,d){if(wb.hasOwnProperty(a))throw Error("Axis already created: "+a);b=new vb(a,b,c,!!d);return wb[a]=b} +V("ancestor",function(a,b){for(var c=new C,d=b;d=d.parentNode;)a.a(d)&&Qa(c,d);return c},!0);V("ancestor-or-self",function(a,b){var c=new C,d=b;do a.a(d)&&Qa(c,d);while(d=d.parentNode);return c},!0); +var lb=V("attribute",function(a,b){var c=new C,d=a.f();if("style"==d&&w&&b.style)return F(c,new x(b.style,b,"style",b.style.cssText)),c;var e=b.attributes;if(e)if(a instanceof G&&null===a.b||"*"==d)for(var d=0,f;f=e[d];d++)w?f.nodeValue&&F(c,Da(b,f)):F(c,f);else(f=e.getNamedItem(d))&&(w?f.nodeValue&&F(c,Da(b,f)):F(c,f));return c},!1),tb=V("child",function(a,b,c,d,e){return(w?Ia:Ja).call(null,a,b,l(c)?c:null,l(d)?d:null,e||new C)},!1,!0);V("descendant",B,!1,!0); +var ub=V("descendant-or-self",function(a,b,c,d){var e=new C;A(b,c,d)&&a.a(b)&&F(e,b);return B(a,b,c,d,e)},!1,!0),pb=V("following",function(a,b,c,d){var e=new C;do for(var f=b;f=f.nextSibling;)A(f,c,d)&&a.a(f)&&F(e,f),e=B(a,f,c,d,e);while(b=b.parentNode);return e},!1,!0);V("following-sibling",function(a,b){for(var c=new C,d=b;d=d.nextSibling;)a.a(d)&&F(c,d);return c},!1);V("namespace",function(){return new C},!1); +var xb=V("parent",function(a,b){var c=new C;if(9==b.nodeType)return c;if(2==b.nodeType)return F(c,b.ownerElement),c;var d=b.parentNode;a.a(d)&&F(c,d);return c},!1),qb=V("preceding",function(a,b,c,d){var e=new C,f=[];do f.unshift(b);while(b=b.parentNode);for(var g=1,h=f.length;g<h;g++){var p=[];for(b=f[g];b=b.previousSibling;)p.unshift(b);for(var y=0,D=p.length;y<D;y++)b=p[y],A(b,c,d)&&a.a(b)&&F(e,b),e=B(a,b,c,d,e)}return e},!0,!0); +V("preceding-sibling",function(a,b){for(var c=new C,d=b;d=d.previousSibling;)a.a(d)&&Qa(c,d);return c},!0);var yb=V("self",function(a,b){var c=new C;a.a(b)&&F(c,b);return c},!1);function zb(a){n.call(this,1);this.c=a;this.g=a.g;this.b=a.b}m(zb);zb.prototype.a=function(a){return-K(this.c,a)};zb.prototype.toString=function(){return"Unary Expression: -"+J(this.c)};function Ab(a){n.call(this,1);this.c=a}m(Ab);Ab.prototype.a=function(){return this.c};Ab.prototype.toString=function(){return"Number: "+this.c};function Bb(a,b){this.a=a;this.b=b}function Cb(a){for(var b,c=[];;){W(a,"Missing right hand side of binary expression.");b=Db(a);var d=T(a.a);if(!d)break;var e=(d=Ya[d]||null)&&d.w;if(!e){a.a.a--;break}for(;c.length&&e<=c[c.length-1].w;)b=new N(c.pop(),c.pop(),b);c.push(b,d)}for(;c.length;)b=new N(c.pop(),c.pop(),b);return b}function W(a,b){if(ib(a.a))throw Error(b);}function Eb(a,b){var c=T(a.a);if(c!=b)throw Error("Bad token, expected: "+b+" got: "+c);} +function Fb(a){a=T(a.a);if(")"!=a)throw Error("Bad token: "+a);}function Gb(a){a=T(a.a);if(2>a.length)throw Error("Unclosed literal string");return new jb(a)} +function Hb(a){var b,c=[],d;if(ob(S(a.a))){b=T(a.a);d=S(a.a);if("/"==b&&(ib(a.a)||"."!=d&&".."!=d&&"@"!=d&&"*"!=d&&!/(?![0-9])[\w]/.test(d)))return new mb;d=new mb;W(a,"Missing next location step.");b=Ib(a,b);c.push(b)}else{a:{b=S(a.a);d=b.charAt(0);switch(d){case "$":throw Error("Variable reference not allowed in HTML XPath");case "(":T(a.a);b=Cb(a);W(a,'unclosed "("');Eb(a,")");break;case '"':case "'":b=Gb(a);break;default:if(isNaN(+b))if(!db(b)&&/(?![0-9])[\w]/.test(d)&&"("==S(a.a,1)){b=T(a.a); +b=cb[b]||null;T(a.a);for(d=[];")"!=S(a.a);){W(a,"Missing function argument list.");d.push(Cb(a));if(","!=S(a.a))break;T(a.a)}W(a,"Unclosed function argument list.");Fb(a);b=new ab(b,d)}else{b=null;break a}else b=new Ab(+T(a.a))}"["==S(a.a)&&(d=new sb(Jb(a)),b=new Za(b,d))}if(b)if(ob(S(a.a)))d=b;else return b;else b=Ib(a,"/"),d=new nb,c.push(b)}for(;ob(S(a.a));)b=T(a.a),W(a,"Missing next location step."),b=Ib(a,b),c.push(b);return new kb(d,c)} +function Ib(a,b){var c,d,e;if("/"!=b&&"//"!=b)throw Error('Step op should be "/" or "//"');if("."==S(a.a))return d=new U(yb,new G("node")),T(a.a),d;if(".."==S(a.a))return d=new U(xb,new G("node")),T(a.a),d;var f;if("@"==S(a.a))f=lb,T(a.a),W(a,"Missing attribute name");else if("::"==S(a.a,1)){if(!/(?![0-9])[\w]/.test(S(a.a).charAt(0)))throw Error("Bad token: "+T(a.a));c=T(a.a);f=wb[c]||null;if(!f)throw Error("No axis with name: "+c);T(a.a);W(a,"Missing node name")}else f=tb;c=S(a.a);if(/(?![0-9])[\w\*]/.test(c.charAt(0)))if("("== +S(a.a,1)){if(!db(c))throw Error("Invalid node type: "+c);c=T(a.a);if(!db(c))throw Error("Invalid type name: "+c);Eb(a,"(");W(a,"Bad nodetype");e=S(a.a).charAt(0);var g=null;if('"'==e||"'"==e)g=Gb(a);W(a,"Bad nodetype");Fb(a);c=new G(c,g)}else if(c=T(a.a),e=c.indexOf(":"),-1==e)c=new E(c);else{var g=c.substring(0,e),h;if("*"==g)h="*";else if(h=a.b(g),!h)throw Error("Namespace prefix not declared: "+g);c=c.substr(e+1);c=new E(c,h)}else throw Error("Bad token: "+T(a.a));e=new sb(Jb(a),f.a);return d|| +new U(f,c,e,"//"==b)}function Jb(a){for(var b=[];"["==S(a.a);){T(a.a);W(a,"Missing predicate expression.");var c=Cb(a);b.push(c);W(a,"Unclosed predicate expression.");Eb(a,"]")}return b}function Db(a){if("-"==S(a.a))return T(a.a),new zb(Db(a));var b=Hb(a);if("|"!=S(a.a))a=b;else{for(b=[b];"|"==T(a.a);)W(a,"Missing next union location path."),b.push(Hb(a));a.a.a--;a=new rb(b)}return a};function Kb(a){switch(a.nodeType){case 1:return ea(Lb,a);case 9:return Kb(a.documentElement);case 11:case 10:case 6:case 12:return Mb;default:return a.parentNode?Kb(a.parentNode):Mb}}function Mb(){return null}function Lb(a,b){if(a.prefix==b)return a.namespaceURI||"http://www.w3.org/1999/xhtml";var c=a.getAttributeNode("xmlns:"+b);return c&&c.specified?c.value||null:a.parentNode&&9!=a.parentNode.nodeType?Lb(a.parentNode,b):null};function Nb(a,b){if(!a.length)throw Error("Empty XPath expression.");var c=fb(a);if(ib(c))throw Error("Invalid XPath expression.");b?"function"==aa(b)||(b=da(b.lookupNamespaceURI,b)):b=function(){return null};var d=Cb(new Bb(c,b));if(!ib(c))throw Error("Bad token: "+T(c));this.evaluate=function(a,b){var c=d.a(new Q(a));return new Y(c,b)}} +function Y(a,b){if(0==b)if(a instanceof C)b=4;else if("string"==typeof a)b=2;else if("number"==typeof a)b=1;else if("boolean"==typeof a)b=3;else throw Error("Unexpected evaluation result.");if(2!=b&&1!=b&&3!=b&&!(a instanceof C))throw Error("value could not be converted to the specified type");this.resultType=b;var c;switch(b){case 2:this.stringValue=a instanceof C?Sa(a):""+a;break;case 1:this.numberValue=a instanceof C?+Sa(a):+a;break;case 3:this.booleanValue=a instanceof C?0<a.l:!!a;break;case 4:case 5:case 6:case 7:var d= +H(a);c=[];for(var e=I(d);e;e=I(d))c.push(e instanceof x?e.a:e);this.snapshotLength=a.l;this.invalidIteratorState=!1;break;case 8:case 9:d=Ra(a);this.singleNodeValue=d instanceof x?d.a:d;break;default:throw Error("Unknown XPathResult type.");}var f=0;this.iterateNext=function(){if(4!=b&&5!=b)throw Error("iterateNext called with wrong result type");return f>=c.length?null:c[f++]};this.snapshotItem=function(a){if(6!=b&&7!=b)throw Error("snapshotItem called with wrong result type");return a>=c.length|| +0>a?null:c[a]}}Y.ANY_TYPE=0;Y.NUMBER_TYPE=1;Y.STRING_TYPE=2;Y.BOOLEAN_TYPE=3;Y.UNORDERED_NODE_ITERATOR_TYPE=4;Y.ORDERED_NODE_ITERATOR_TYPE=5;Y.UNORDERED_NODE_SNAPSHOT_TYPE=6;Y.ORDERED_NODE_SNAPSHOT_TYPE=7;Y.ANY_UNORDERED_NODE_TYPE=8;Y.FIRST_ORDERED_NODE_TYPE=9;function Ob(a){this.lookupNamespaceURI=Kb(a)} +function Pb(a,b){var c=a||k,d=c.Document&&c.Document.prototype||c.document;if(!d.evaluate||b)c.XPathResult=Y,d.evaluate=function(a,b,c,d){return(new Nb(a,c)).evaluate(b,d)},d.createExpression=function(a,b){return new Nb(a,b)},d.createNSResolver=function(a){return new Ob(a)}}var Qb=["wgxpath","install"],Z=k;Qb[0]in Z||!Z.execScript||Z.execScript("var "+Qb[0]);for(var Rb;Qb.length&&(Rb=Qb.shift());)Qb.length||void 0===Pb?Z[Rb]?Z=Z[Rb]:Z=Z[Rb]={}:Z[Rb]=Pb;}).call(this) diff --git a/assets/minima-social-icons.svg b/assets/minima-social-icons.svg new file mode 100644 index 0000000000000000000000000000000000000000..fa7399fe2509e97ea171829de5b361d057567609 --- /dev/null +++ b/assets/minima-social-icons.svg @@ -0,0 +1,33 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + +<symbol id="dribbble" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M8 16c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm6.747-6.905c-.234-.074-2.115-.635-4.257-.292.894 2.456 1.258 4.456 1.328 4.872 1.533-1.037 2.624-2.68 2.93-4.58zM10.67 14.3c-.102-.6-.5-2.688-1.46-5.18l-.044.014C5.312 10.477 3.93 13.15 3.806 13.4c1.158.905 2.614 1.444 4.194 1.444.947 0 1.85-.194 2.67-.543zm-7.747-1.72c.155-.266 2.03-3.37 5.555-4.51.09-.03.18-.056.27-.08-.173-.39-.36-.778-.555-1.16-3.413 1.02-6.723.977-7.023.97l-.003.208c0 1.755.665 3.358 1.756 4.57zM1.31 6.61c.307.005 3.122.017 6.318-.832-1.132-2.012-2.353-3.705-2.533-3.952-1.912.902-3.34 2.664-3.784 4.785zM6.4 1.368c.188.253 1.43 1.943 2.548 4 2.43-.91 3.46-2.293 3.582-2.468C11.323 1.827 9.736 1.176 8 1.176c-.55 0-1.087.066-1.6.19zm6.89 2.322c-.145.194-1.29 1.662-3.816 2.694.16.325.31.656.453.99.05.117.1.235.147.352 2.274-.286 4.533.172 4.758.22-.015-1.613-.59-3.094-1.543-4.257z"/></symbol> + +<symbol id="facebook" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M15.117 0H.883C.395 0 0 .395 0 .883v14.234c0 .488.395.883.883.883h7.663V9.804H6.46V7.39h2.086V5.607c0-2.066 1.262-3.19 3.106-3.19.883 0 1.642.064 1.863.094v2.16h-1.28c-1 0-1.195.48-1.195 1.18v1.54h2.39l-.31 2.42h-2.08V16h4.077c.488 0 .883-.395.883-.883V.883C16 .395 15.605 0 15.117 0" fill-rule="nonzero"/></symbol> + +<symbol id="flickr" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M0 8c0 2.05 1.662 3.71 3.71 3.71 2.05 0 3.713-1.66 3.713-3.71S5.76 4.29 3.71 4.29C1.663 4.29 0 5.95 0 8zm8.577 0c0 2.05 1.662 3.71 3.712 3.71C14.33 11.71 16 10.05 16 8s-1.662-3.71-3.71-3.71c-2.05 0-3.713 1.66-3.713 3.71z"/></symbol> + +<symbol id="github" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M8 0C3.58 0 0 3.582 0 8c0 3.535 2.292 6.533 5.47 7.59.4.075.547-.172.547-.385 0-.19-.007-.693-.01-1.36-2.226.483-2.695-1.073-2.695-1.073-.364-.924-.89-1.17-.89-1.17-.725-.496.056-.486.056-.486.803.056 1.225.824 1.225.824.714 1.223 1.873.87 2.33.665.072-.517.278-.87.507-1.07-1.777-.2-3.644-.888-3.644-3.953 0-.873.31-1.587.823-2.147-.09-.202-.36-1.015.07-2.117 0 0 .67-.215 2.2.82.64-.178 1.32-.266 2-.27.68.004 1.36.092 2 .27 1.52-1.035 2.19-.82 2.19-.82.43 1.102.16 1.915.08 2.117.51.56.82 1.274.82 2.147 0 3.073-1.87 3.75-3.65 3.947.28.24.54.73.54 1.48 0 1.07-.01 1.93-.01 2.19 0 .21.14.46.55.38C13.71 14.53 16 11.53 16 8c0-4.418-3.582-8-8-8"/></symbol> + +<symbol id="googleplus" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M5.09 7.273v1.745h2.89c-.116.75-.873 2.197-2.887 2.197-1.737 0-3.155-1.44-3.155-3.215S3.353 4.785 5.09 4.785c.99 0 1.652.422 2.03.786l1.382-1.33c-.887-.83-2.037-1.33-3.41-1.33C2.275 2.91 0 5.19 0 8s2.276 5.09 5.09 5.09c2.94 0 4.888-2.065 4.888-4.974 0-.334-.036-.59-.08-.843H5.09zm10.91 0h-1.455V5.818H13.09v1.455h-1.454v1.454h1.455v1.455h1.46V8.727H16"/></symbol> + +<symbol id="instagram" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M8 0C5.827 0 5.555.01 4.702.048 3.85.088 3.27.222 2.76.42c-.526.204-.973.478-1.417.923-.445.444-.72.89-.923 1.417-.198.51-.333 1.09-.372 1.942C.008 5.555 0 5.827 0 8s.01 2.445.048 3.298c.04.852.174 1.433.372 1.942.204.526.478.973.923 1.417.444.445.89.72 1.417.923.51.198 1.09.333 1.942.372.853.04 1.125.048 3.298.048s2.445-.01 3.298-.048c.852-.04 1.433-.174 1.942-.372.526-.204.973-.478 1.417-.923.445-.444.72-.89.923-1.417.198-.51.333-1.09.372-1.942.04-.853.048-1.125.048-3.298s-.01-2.445-.048-3.298c-.04-.852-.174-1.433-.372-1.942-.204-.526-.478-.973-.923-1.417-.444-.445-.89-.72-1.417-.923-.51-.198-1.09-.333-1.942-.372C10.445.008 10.173 0 8 0zm0 1.44c2.136 0 2.39.01 3.233.048.78.036 1.203.166 1.485.276.374.145.64.318.92.598.28.28.453.546.598.92.11.282.24.705.276 1.485.038.844.047 1.097.047 3.233s-.01 2.39-.05 3.233c-.04.78-.17 1.203-.28 1.485-.15.374-.32.64-.6.92-.28.28-.55.453-.92.598-.28.11-.71.24-1.49.276-.85.038-1.1.047-3.24.047s-2.39-.01-3.24-.05c-.78-.04-1.21-.17-1.49-.28-.38-.15-.64-.32-.92-.6-.28-.28-.46-.55-.6-.92-.11-.28-.24-.71-.28-1.49-.03-.84-.04-1.1-.04-3.23s.01-2.39.04-3.24c.04-.78.17-1.21.28-1.49.14-.38.32-.64.6-.92.28-.28.54-.46.92-.6.28-.11.7-.24 1.48-.28.85-.03 1.1-.04 3.24-.04zm0 2.452c-2.27 0-4.108 1.84-4.108 4.108 0 2.27 1.84 4.108 4.108 4.108 2.27 0 4.108-1.84 4.108-4.108 0-2.27-1.84-4.108-4.108-4.108zm0 6.775c-1.473 0-2.667-1.194-2.667-2.667 0-1.473 1.194-2.667 2.667-2.667 1.473 0 2.667 1.194 2.667 2.667 0 1.473-1.194 2.667-2.667 2.667zm5.23-6.937c0 .53-.43.96-.96.96s-.96-.43-.96-.96.43-.96.96-.96.96.43.96.96z"/></symbol> + +<symbol id="linkedin" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M13.632 13.635h-2.37V9.922c0-.886-.018-2.025-1.234-2.025-1.235 0-1.424.964-1.424 1.96v3.778h-2.37V6H8.51v1.04h.03c.318-.6 1.092-1.233 2.247-1.233 2.4 0 2.845 1.58 2.845 3.637v4.188zM3.558 4.955c-.762 0-1.376-.617-1.376-1.377 0-.758.614-1.375 1.376-1.375.76 0 1.376.617 1.376 1.375 0 .76-.617 1.377-1.376 1.377zm1.188 8.68H2.37V6h2.376v7.635zM14.816 0H1.18C.528 0 0 .516 0 1.153v13.694C0 15.484.528 16 1.18 16h13.635c.652 0 1.185-.516 1.185-1.153V1.153C16 .516 15.467 0 14.815 0z" fill-rule="nonzero"/></symbol> + +<symbol id="pinterest" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M8 0C3.582 0 0 3.582 0 8c0 3.39 2.108 6.285 5.084 7.45-.07-.633-.133-1.604.028-2.295.146-.625.938-3.977.938-3.977s-.24-.48-.24-1.188c0-1.11.646-1.943 1.448-1.943.683 0 1.012.513 1.012 1.127 0 .687-.436 1.713-.662 2.664-.19.797.4 1.445 1.185 1.445 1.42 0 2.514-1.498 2.514-3.662 0-1.91-1.376-3.25-3.342-3.25-2.276 0-3.61 1.71-3.61 3.47 0 .69.263 1.43.593 1.83.066.08.075.15.057.23-.06.25-.196.8-.223.91-.035.15-.115.18-.268.11C3.516 10.46 2.89 9 2.89 7.82c0-2.52 1.834-4.84 5.287-4.84 2.774 0 4.932 1.98 4.932 4.62 0 2.76-1.74 4.98-4.16 4.98-.81 0-1.57-.42-1.84-.92l-.5 1.9c-.18.698-.67 1.57-1 2.1.75.23 1.54.357 2.37.357 4.41 0 8-3.58 8-8s-3.59-8-8-8z" fill-rule="nonzero"/></symbol> + +<symbol id="rss" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M12.8 16C12.8 8.978 7.022 3.2 0 3.2V0c8.777 0 16 7.223 16 16h-3.2zM2.194 11.61c1.21 0 2.195.985 2.195 2.196 0 1.21-.99 2.194-2.2 2.194C.98 16 0 15.017 0 13.806c0-1.21.983-2.195 2.194-2.195zM10.606 16h-3.11c0-4.113-3.383-7.497-7.496-7.497v-3.11c5.818 0 10.606 4.79 10.606 10.607z"/></symbol> + +<symbol id="stackoverflow" class="svg-icon" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M12.658 14.577v-4.27h1.423V16H1.23v-5.693h1.42v4.27h10.006zm-8.583-1.423h7.16V11.73h-7.16v1.424zm.173-3.235l6.987 1.46.3-1.38L4.55 8.54l-.302 1.38zm.906-3.37l6.47 3.02.602-1.3-6.47-3.02-.602 1.29zm1.81-3.19l5.478 4.57.906-1.08L7.87 2.28l-.9 1.078zM10.502 0L9.338.863l4.27 5.735 1.164-.862L10.5 0z"/></symbol> + +<symbol id="twitter" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M16 3.038c-.59.26-1.22.437-1.885.517.677-.407 1.198-1.05 1.443-1.816-.634.37-1.337.64-2.085.79-.598-.64-1.45-1.04-2.396-1.04-1.812 0-3.282 1.47-3.282 3.28 0 .26.03.51.085.75-2.728-.13-5.147-1.44-6.766-3.42C.83 2.58.67 3.14.67 3.75c0 1.14.58 2.143 1.46 2.732-.538-.017-1.045-.165-1.487-.41v.04c0 1.59 1.13 2.918 2.633 3.22-.276.074-.566.114-.865.114-.21 0-.41-.02-.61-.058.42 1.304 1.63 2.253 3.07 2.28-1.12.88-2.54 1.404-4.07 1.404-.26 0-.52-.015-.78-.045 1.46.93 3.18 1.474 5.04 1.474 6.04 0 9.34-5 9.34-9.33 0-.14 0-.28-.01-.42.64-.46 1.2-1.04 1.64-1.7z" fill-rule="nonzero"/></symbol> + +<symbol id="youtube" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M0 7.345c0-1.294.16-2.59.16-2.59s.156-1.1.636-1.587c.608-.637 1.408-.617 1.764-.684C3.84 2.36 8 2.324 8 2.324s3.362.004 5.6.166c.314.038.996.04 1.604.678.48.486.636 1.588.636 1.588S16 6.05 16 7.346v1.258c0 1.296-.16 2.59-.16 2.59s-.156 1.102-.636 1.588c-.608.638-1.29.64-1.604.678-2.238.162-5.6.166-5.6.166s-4.16-.037-5.44-.16c-.356-.067-1.156-.047-1.764-.684-.48-.487-.636-1.587-.636-1.587S0 9.9 0 8.605v-1.26zm6.348 2.73V5.58l4.323 2.255-4.32 2.24z"/></symbol> + +<symbol id="mastodon" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"> + <path transform="scale(0.07)" d="M211.80734 139.0875c-3.18125 16.36625-28.4925 34.2775-57.5625 37.74875-15.15875 1.80875-30.08375 3.47125-45.99875 2.74125-26.0275-1.1925-46.565-6.2125-46.565-6.2125 0 2.53375.15625 4.94625.46875 7.2025 3.38375 25.68625 25.47 27.225 46.39125 27.9425 21.11625.7225 39.91875-5.20625 39.91875-5.20625l.8675 19.09s-14.77 7.93125-41.08125 9.39c-14.50875.7975-32.52375-.365-53.50625-5.91875C9.23234 213.82 1.40609 165.31125.20859 116.09125c-.365-14.61375-.14-28.39375-.14-39.91875 0-50.33 32.97625-65.0825 32.97625-65.0825C49.67234 3.45375 78.20359.2425 107.86484 0h.72875c29.66125.2425 58.21125 3.45375 74.8375 11.09 0 0 32.975 14.7525 32.975 65.0825 0 0 .41375 37.13375-4.59875 62.915"/> + <path transform="scale(0.07)" fill="#FFF" d="M177.50984 80.077v60.94125h-24.14375v-59.15c0-12.46875-5.24625-18.7975-15.74-18.7975-11.6025 0-17.4175 7.5075-17.4175 22.3525v32.37625H96.20734V85.42325c0-14.845-5.81625-22.3525-17.41875-22.3525-10.49375 0-15.74 6.32875-15.74 18.7975v59.15H38.90484V80.077c0-12.455 3.17125-22.3525 9.54125-29.675 6.56875-7.3225 15.17125-11.07625 25.85-11.07625 12.355 0 21.71125 4.74875 27.8975 14.2475l6.01375 10.08125 6.015-10.08125c6.185-9.49875 15.54125-14.2475 27.8975-14.2475 10.6775 0 19.28 3.75375 25.85 11.07625 6.36875 7.3225 9.54 17.22 9.54 29.675"/> +</symbol> + + +</svg> diff --git a/assignments/doodle-img/add_image_sample.png b/assignments/doodle-img/add_image_sample.png new file mode 100644 index 0000000000000000000000000000000000000000..ac732a5dc033dce73e3c17cfaa1396f84a380b4c Binary files /dev/null and b/assignments/doodle-img/add_image_sample.png differ diff --git a/assignments/doodle-img/add_line_sample.png b/assignments/doodle-img/add_line_sample.png new file mode 100644 index 0000000000000000000000000000000000000000..3c515959519b0ea01cc4f36b5cdacfd81ab5017a Binary files /dev/null and b/assignments/doodle-img/add_line_sample.png differ diff --git a/assignments/doodle-img/add_text_sample.png b/assignments/doodle-img/add_text_sample.png new file mode 100644 index 0000000000000000000000000000000000000000..3d242f3fe22046bad75bd237d6b228deceddab85 Binary files /dev/null and b/assignments/doodle-img/add_text_sample.png differ diff --git a/assignments/doodle-img/csverror.gif b/assignments/doodle-img/csverror.gif new file mode 100644 index 0000000000000000000000000000000000000000..b524ecaa626a2a5dba2d6492b58d5827f5645a43 Binary files /dev/null and b/assignments/doodle-img/csverror.gif differ diff --git a/assignments/doodle-img/part1playback.gif b/assignments/doodle-img/part1playback.gif new file mode 100644 index 0000000000000000000000000000000000000000..cf04eb5b392191c528185cc7ffa23f44bff55e9f Binary files /dev/null and b/assignments/doodle-img/part1playback.gif differ diff --git a/assignments/doodle-img/part1playback.webm b/assignments/doodle-img/part1playback.webm new file mode 100644 index 0000000000000000000000000000000000000000..e5b6217a364e95ad4677b4b74307eac326ace719 Binary files /dev/null and b/assignments/doodle-img/part1playback.webm differ diff --git a/assignments/doodle-img/recordingvideo.mp4 b/assignments/doodle-img/recordingvideo.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..38a4a5688d46aa458f77a06817ddc43167321d99 Binary files /dev/null and b/assignments/doodle-img/recordingvideo.mp4 differ diff --git a/assignments/doodle-img/samplevideo.webm b/assignments/doodle-img/samplevideo.webm new file mode 100644 index 0000000000000000000000000000000000000000..efe69dd84426427fdfa60d21a499f9a722d02e2b Binary files /dev/null and b/assignments/doodle-img/samplevideo.webm differ diff --git a/assignments/doodle-img/screenshot.jpeg b/assignments/doodle-img/screenshot.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..943ec73e9a63ddcfba41f691fe0fd50f07d053f9 Binary files /dev/null and b/assignments/doodle-img/screenshot.jpeg differ diff --git a/assignments/doodle-img/screenshot.png b/assignments/doodle-img/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..8d809763b1a6f2c53c5d6f7a33ec6cc08c8f346e Binary files /dev/null and b/assignments/doodle-img/screenshot.png differ diff --git a/assignments/doodle-img/screenshot_no_animation.png b/assignments/doodle-img/screenshot_no_animation.png new file mode 100644 index 0000000000000000000000000000000000000000..8d809763b1a6f2c53c5d6f7a33ec6cc08c8f346e Binary files /dev/null and b/assignments/doodle-img/screenshot_no_animation.png differ diff --git a/assignments/doodle.md b/assignments/doodle.md new file mode 100644 index 0000000000000000000000000000000000000000..5f3a011708c7259b4eaf7a1c6c0f33547151827d --- /dev/null +++ b/assignments/doodle.md @@ -0,0 +1,133 @@ +--- +layout: assignment +published: true + +title: Sample Assignment +code: AS1 + +assigned: Date Assigned +due: +- <strong>Code</strong><br> + Due 10:00pm, Date<br> + Lock 10:00pm Date +- <strong>Peer evaluation</strong><br> + Out late Saturday night or Sunday morning<br> + Due 10:00PM Date +- <strong>Reflection</strong><br> + Due 10:00PM Date<br> +revised: 10:30 PM Tuesday, March 31, 2020 + +objective: Objective + +hci_goals: + - Goal 1... +android_goals: + - Goal 2... +--- + +## GitGrade Turn-in links + +- [Accept the Assignment](https://gitgrade.cs.washington.edu/student/assignment/xxx) +- [Turn-in the Assignment](https://gitgrade.cs.washington.edu/student/assignment/xxx/turnin) +- [Review your Submissions](https://gitgrade.cs.washington.edu/student/summary/xxx) + +# Assignment Description + +For this assignment, you will be creating an activity class which will allow .... + +* TOC +{:toc} + + +# Part 1: Learning by Doing + +**Tasks**: + +* task1... +* task2... + +## Prepping your development environment + +Use GitGrade to accept the assignment and receive the starter code. See the +[instructions](../docs/gitgrade) for more details. + +## Understanding the starter code + +We have provided you with the shell of an application which has the following class structure. + +<div class="mermaid"> +classDiagram + Aclass --> Bclass + Bclass --> Cclass + + Dclass --> Eclass + + class Dclass { + <<abstract>> + +addImage() + +addText() + +addLine() + +doodle() + } + +class Cclass { + +doodle() + } + +</div> + + +`Aclass` is an Android class that we subclassed in `Bclass` so we can... + +## Your Tasks... + +{:width="25%"} + + +{:width="25%"} + + +{:width="25%"} + +*Related APIs* and documentation: + +* [ObjectAnimator](https://developer.android.com/reference/android/animation/ObjectAnimator) +* A beginners guide to implement Android Animations — +[Part 1](https://medium.com/@shubham08gupta/a-beginners-guide-to-implement-android-animations-part-1-2-part-series-b5fce1fc85) (2 part series) + + + +# Turn-in + +## Part 1 and Part 2: Code + +You will turn in the following files on GitGrade [here](https://gitgrade.cs.washington.edu/student/assignment/XXX/turnin). + +Make sure you only edited the following files for turn in: + +```txt +─ Part1.java +- LineView.java +─ Part1Activity.java +─ Part2Activity.java +- part2.csv (optional) +``` + +Remember to submit a video of your custom doodle animation through [this web form]({{site.baseurl}}/404.html) at the same time you submit your code. + +**Follow these instructions to submit to GitGrade** + +- Make sure the code you want to submit is pushed to GitLab (origin/master) + - If you just commit locally and don't push, GitGrade won't see those changes +- (Optional) Go to your repo on GitLab to double check that the latest commit hash matches your latest local commit hash +- Go to the turn in link +- Check the box and click "Turn in" + +## Part 4: Reflection + +The reflection will be turned in to Gradescope. + +### Grading (XX pts) + +This HW will be out of XX points and will roughly (subject to small adjustments) be distributed as: + diff --git a/assignments/index.md b/assignments/index.md new file mode 100644 index 0000000000000000000000000000000000000000..1296d2770e692bfd6ad62bdf5a3e36d8d2c32b0c --- /dev/null +++ b/assignments/index.md @@ -0,0 +1,22 @@ +--- +layout: default +warning: draft +--- + +* TOC +{:toc} + +You can track your assignments through our [GitGrade portal]({{site.gitgrade}}). Through GitGrade you +will accept an assignment, which will create a repository containing assignment stub code +[on gitlab]({{site.gitlab}}). Once you have completed your assignment, commmitted your code +to your assignment repo, you will again return to Gitgrade to turn in your assignment. + +Reminder, our class discussion board is on the class [Ed]({{site.piazza}}) should you have any +questions or run into issue. + +Reminder: assignment and solution code must *not* be shared or made public through gitlab, or posted +on public repositories such as Github. + +| Assignment | out | due | lock | Peer Eval | Reflection | +|-------------------------------------------------------------|--------|--------|---------|------------------|------------| +| [Doodle]({{site.baseurl}}/assignments/doodle) | | | | | | diff --git a/docs/animation.html b/docs/animation.html new file mode 100644 index 0000000000000000000000000000000000000000..a68d3ba2733498e82b776e248bbf2f0b935bb0e8 --- /dev/null +++ b/docs/animation.html @@ -0,0 +1,309 @@ +--- +layout: presentation +title: Animation Slides +description: How to do animation in android +class: middle, center, inverse +--- + +# Interaction Programming Lab (Spring 2020) +## Week 1: How to do Animation in Android + +.title-slide-logo[ +  +] + +--- + ## Animation on Android + + + +- Different Animation Systems + - _Property Animation_ - preferred method; more flexible + + - _View Animation_ - simple setup; the old way (basically xml definitions x_x) + + - _Drawable Animation_ - load `Drawable` resources and display them one frame after the other (like a gif) + +--- + +## Property Animation + +- Define an animate that changes on object's property (a field on a object) over a length of time + +.center[ + +  + +] + +--- + +## Property Animation + +- Animation Characteristics + - _Duration_ - length of the animation (default is 300 ms) + + - _Time Interpolation_ - how the values are calculated as a function of the current elapsed time + + - _Repeat Count & Behavior_ - # of times to repeat and whether to restart or play in reverse, etc. + + - _Animator Sets_ - can group a set of animations into a logical set and play simultaneously or after delays + + - _Frame Refresh Delay_ - how often to refresh the frames of your animation (default is 10 ms) but **depends on how busy the system is** + +--- +## Property Animation + +- Process of how an animation is calculated: + +.center[ + +  + +] + +--- +## `ValueAnimator` + +- Keeps track of the animation's timing (how long its been running and current value of property) + +- Contains a `TimeInterpolator` that defines the type of interpolation for the value over time + +- Contains a `TypeEvaluator` that figures out how to calculate values for the property being animated + +```java +ValueAnimator animation = ValueAnimator.ofFloat(0f, 1f); +animation.setDuration(1000); +// Starts the animation +animation.start(); +// TODO: need to listen for updates to get the returned value +``` +--- + +## `ObjectAnimator` + +- Rather than listening for a value, we can simply directly animate a property on an object + +- **However**: the property that you are animating must have a setter function (in camel case) in the form of set<propertyName>() for this to work + +```java +ObjectAnimator anim = ObjectAnimator.ofFloat(foo, "alpha", 0f, 1f); +anim.setDuration(1000); +anim.start(); +``` + + +--- +## Animation Listeners (1/2) +- `Animator.AnimatorListener` + - `onAnimationStart()` - Called when the animation starts. + - `onAnimationEnd()` - Called when the animation ends. + - `onAnimationRepeat()` - Called when the animation repeats itself. + - `onAnimationCancel()` - Called when the animation is canceled. + - **Note**: A cancelled animation also calls - `onAnimationEnd()`, regardless of how the animation were ended. + +- `ValueAnimator.AnimatorUpdateListener` + - `onAnimationUpdate()` - called on every frame of the animation. Listen to this event to use the calculated values generated by `ValueAnimator` during an animation. + +--- +## Animation Listeners (2/2) + +- Example using `onAnimationEnd`: + +```java +// Create a fade animation that changes the alpha of an object +ValueAnimator fadeAnim = ObjectAnimator.ofFloat(newBall, "alpha", 1f, 0f); + +// Set duration to be 250 ms +fadeAnim.setDuration(250); + +// Add a listeners to the fade anim +fadeAnim.addListener(new AnimatorListenerAdapter() { + // When the animation finishes remove the object from the list of balls + public void onAnimationEnd(Animator animation) { + balls.remove(((ObjectAnimator)animation).getTarget()); + } +}); +``` + +--- +## Multiple Simultaneous Animations + +- `AnimatorSet` +```java + // Create animator set + AnimatorSet bouncer = new AnimatorSet(); + + // Add the good stuff + bouncer.play(bounceAnim).before(squashAnim1); + bouncer.play(squashAnim1).with(squashAnim2); + bouncer.play(squashAnim1).with(stretchAnim1); + bouncer.play(squashAnim1).with(stretchAnim2); + bouncer.play(bounceBackAnim).after(stretchAnim2); + + // Animate the alpha value from 1->0 + ValueAnimator fadeAnim = ObjectAnimator.ofFloat(newBall, "alpha", 1f, 0f); + fadeAnim.setDuration(250); + + // Build up a another level of animation sets + AnimatorSet animatorSet = new AnimatorSet(); + animatorSet.play(bouncer).before(fadeAnim); + + // Starts the animations + animatorSet.start() +``` + +--- + +## There's more flexilbity... (1/3) + +- You can specify `Keyframe` objects0 and to control the animation + +```java + // Key for start at 0 + Keyframe kf0 = Keyframe.ofFloat(0f, 0f); + + // Key for half way finished animation + Keyframe kf1 = Keyframe.ofFloat(.5f, 360f); + + // Key for end state + Keyframe kf2 = Keyframe.ofFloat(1f, 0f); + + // ValueName-to-keyframes + PropertyValuesHolder pvhRotation = PropertyValuesHolder.ofKeyframe( + "rotation", + kf0, + kf1, + kf2); + + // Create the animation + ObjectAnimator rotationAnim = ObjectAnimator.ofPropertyValuesHolder( + target, + pvhRotation) + rotationAnim.setDuration(5000ms); + +``` + +--- + +## There's more flexibility... (2/3) + +- You can declare animations in XML files: + +```xml +<set android:ordering="sequentially"> + <set> + <objectAnimator + android:propertyName="x" + android:duration="500" + android:valueTo="400" + android:valueType="intType"/> + <objectAnimator + android:propertyName="y" + android:duration="500" + android:valueTo="300" + android:valueType="intType"/> + </set> + <objectAnimator + android:propertyName="alpha" + android:duration="500" + android:valueTo="1f"/> +</set> +``` +--- +## There's more flexibility... (3/3) + +- You can then run the animation by doing the following: + +```java + AnimatorSet set = (AnimatorSet) AnimatorInflater.loadAnimator(myContext, + R.anim.property_animator); + set.setTarget(myObject); + set.start(); +``` +- Note that animations xml files should be in the `res/anim/` directory + +--- + +## What About Animating Views? (1/2) + +- Steamlined process for view animation + +- `View` auto-magically calls `invalidate()` when their properties are changed + +- This is useful when using the `ObjectAnimator` class + +--- +## What About Animating Views? (2/2) + +- If you want to animate a view, you need only specify one of the magic the property of the `View` class + + - `translationX` /`translationY` - view location as a delta from its top/left coordinates relative to the parent + + - `rotation` / `rotationX`/`rotationY` - control 2D rotation and 3D rotation around a pivot point + + - `scaleX` / `scaleY` - 2D scaliong of a `View` around a pivot point + + - `pivotX` / `pivotY` - changes location of thej pivot point (default is object's center) + + - `x` / `y` - utility property to describe the final location of a `View` in its container as a sum of (left, top) + `translationX`, `translationY`) + + - `alpha` + +--- + +## Drawable Animation (1/4) + +- Way of loading a series of `Drawable` resouces one after the other to create an Animation + +- Similar to a gif or stop-motion animation style + +- `AnimationDrawable` is the basis for `Drawable` animations + +--- + +## Drawable Animation (2/4) +- Define the frames of your animation in an XML file that list the frames in order + +- The example below is a 3 frame animation that + +- To play once and hold the last frame at the end set `android:oneshot=true` + +- If it is false, the animation will loop indefinitely + +```xml +<animation-list xmlns:android="http://schemas.android.com/apk/res/android" + android:oneshot="true"> + <item android:drawable="@drawable/rocket_thrust1" android:duration="200" /> + <item android:drawable="@drawable/rocket_thrust2" android:duration="200" /> + <item android:drawable="@drawable/rocket_thrust3" android:duration="200" /> +</animation-list> +``` + +--- +## Drawable Animation (3/4) + +- Now use the animation in code + +```java +// Variable to hold the animation +AnimationDrawable mRocketAnimation; + +public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.main); + // Grab the imageview and set the image drawable for the animation + ImageView rocketImage = (ImageView) findViewById(R.id.rocket_image); + rocketImage.setBackgroundResource(R.drawable.rocket_thrust); + mRocketAnimation = (AnimationDrawable) rocketImage.getBackground(); +} + +public boolean onTouchEvent(MotionEvent event) { + if (event.getAction() == MotionEvent.ACTION_DOWN) { + // Start the animation on touch + mRocketAnimation.start(); + return true; + } + return super.onTouchEvent(event); +} +``` diff --git a/docs/ed-discussion-quickstart.pdf b/docs/ed-discussion-quickstart.pdf new file mode 100644 index 0000000000000000000000000000000000000000..1799e117bbefefbb21aea89e4555d5f5f74b2f0c Binary files /dev/null and b/docs/ed-discussion-quickstart.pdf differ diff --git a/docs/git.html b/docs/git.html new file mode 100644 index 0000000000000000000000000000000000000000..e53ad34c5a4180fdc8d0af9b5519f4955d12d6ed --- /dev/null +++ b/docs/git.html @@ -0,0 +1,196 @@ +--- +layout: presentation +title: Lab 1 Git Tutorial +description: GitLab Tutorial +class: middle, center, inverse +--- + +# Interaction Programming Lab (Spring 2020) +## Week 1: Git Tutorial + +--- + +# Quick Git Refresher +- (Almost) linked list of "commits" which record files over time + - Actually a tree +- Git can exist locally on your computer or on a remote server + - Common git remotes include: GitHub, GitLab, etc. +- Android Studio provides a convenient visual git interface + - More information [here](https://www.jetbrains.com/help/idea/using-git-integration.html) + - You can use this for most of your git needs + +--- + +.left-column-half[ +# Cloning +- To clone a repo, find the cloning link on the repository page: + - For GitLab, it is recommended to use SSH + + +] +.right-column-half[ + +- For these assignments, you can use Android Studio to clone your repositories. +- Using the git command line: + ```bash + git clone git@gitlab.cs.washington.edu:cse340-19sp/ex1-Doodle-HorribleMastiff.git +] + +--- + +# Opening Projects +- With the assignment repo cloned, open each assignment in Android studio as such + + +--- + +# Opening Projects +- Once the dialog is open, navigate to the desired project folder and open. + + +--- + +# Adding and Committing Files +- New files will appear as red in Android Studio until they are tracked + -  + - Mupliple ways to track files: + - Right click on file, git -> add + - From commit dialog, check file in "Unversioned Files" +- Alternatively: +```bash +git add app/src/main/java/cse340/doodle/Part2Activity.java +``` + +--- + +# Adding and Committing Files +- Add files to commit + - Specifies which changes to include in commit +- Android Studio + - Open commit dialog (Command/Control-K) + - Add files by checkbox + - Can even select individual lines in files to include + - Enter commit message + +--- + +# Adding and Committing Files + + +--- + +# Adding and Committing Files +- Git command line: +```bash +git add ... +git commit -m "Add Part2Activity" +# To commit changes on all currently tracked files +git commit -am "Add a bunch of files" +# To reword a commit or add new changes +git commit --amend +``` + +--- + +# Pushing +- Your git history is stored locally +- For safety and ease of use, push regularly to a remote such as GitLab + - If you cloned an existing GitLab repository, this remote is already setup +- Git command line: + ```bash + # This pushes to the default remote, origin. + git push + # Push a new branch for the first time. + git push -u origin branch-name + # To push to a different branch. + git push origin local-branch:remote-branch + ``` + +--- + +# Pushing +- In Android Studio: Command/Control-Shift-K + + +--- + +.left-column-half[ +# Pulling: Pulls new commits from a remote such as GitLab +Two types of pulls: rebase and merge (default) + +In a merge pull, if there are conflicts you will be asked to resolve them and these changes will all be put in a new "merge commit" +] +.right-column-half[ +Android Studio: + + + + + +- Git command line: `git pull # defaults to merge` +] +--- +# Using More Advanced Git commands: Rebase Merge + +In a rebase merge, git attemps to interleave conflicting commits and may ask you to resolve a change multiple times. In this case, you retain better commit history + + `git pull --rebase` + +--- + +.left-column-half[ +# Advanced Git: Branching +- Every leaf of the git tree is given a branch name to keep track of it +- The default branch is master +] +.right-column-half[ +# Git command line + ```bash + # To list branches + git branch + # To list branches (including on remote) + git branch -a + # To create and checkout a new branch + git branch -b new-branch + # To fetch new branches. + git fetch + # To fetch new branches and automatically delete local branches deleted on remote. + git fetch --prune + # To delete branch locally + git branch -d branch-name + # To push deletion to remote. + git push origin :branch-name + ``` +] + +--- + +# Branching +- Android Studio + - Provides a convenient and intuitive interface for dealing with branches +  + +--- +# Advanced Git: Forks +- Forking a repository allows you to start a new repository from someone else + - What if you want to pull changes from the repository you forked? +- You can add the original repository (often referred to as the upstream) as a remote + - `git remote add upstream {url}` + - where url is the one used for cloning, often ssh +- To fetch changes to upstream branches: + - `git fetch --all` or `git fetch upstream` +- To pull changes from the upstream master branch into current branch: + - `git merge upstream/master --ff-only` + - `git rebase upstream/master` + - Use the optional `-i` argument after `rebase` for interactive mode + - This allows you to delete, reorder, combine, or drop commits. + - See here for more info [here](https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History) + +--- + +# Forks +- Changes can be pulled from the upstream using the Android Studio git UI + - However, it is possible that Android Studio may not keep upstream up-to-date + - You can run `git fetch --all` or `git fetch upstream` to check this + + diff --git a/docs/git/as_open.png b/docs/git/as_open.png new file mode 100644 index 0000000000000000000000000000000000000000..54461e16ab90832e00e09e76a0e266c994d06c3c Binary files /dev/null and b/docs/git/as_open.png differ diff --git a/docs/git/as_open_1.png b/docs/git/as_open_1.png new file mode 100644 index 0000000000000000000000000000000000000000..31a40fbc30497990e6d26b97e5c532c62c0462fe Binary files /dev/null and b/docs/git/as_open_1.png differ diff --git a/docs/git/git_add.png b/docs/git/git_add.png new file mode 100644 index 0000000000000000000000000000000000000000..f632cd966ac37138407c11c4a2fb33ba63ae929d Binary files /dev/null and b/docs/git/git_add.png differ diff --git a/docs/git/git_clone.png b/docs/git/git_clone.png new file mode 100644 index 0000000000000000000000000000000000000000..591caefa503c591557d006e559e33547748abe91 Binary files /dev/null and b/docs/git/git_clone.png differ diff --git a/docs/git/git_commit.png b/docs/git/git_commit.png new file mode 100644 index 0000000000000000000000000000000000000000..c6134607b350ab0ac7945c291877384772c5820f Binary files /dev/null and b/docs/git/git_commit.png differ diff --git a/docs/git/git_fork.png b/docs/git/git_fork.png new file mode 100644 index 0000000000000000000000000000000000000000..6af5bb023c3014b43c6f7417a3f88d9b03ab35b6 Binary files /dev/null and b/docs/git/git_fork.png differ diff --git a/docs/git/git_pull.png b/docs/git/git_pull.png new file mode 100644 index 0000000000000000000000000000000000000000..cb0df17aab0f9bd8867a6794be4a1bd936ef63fd Binary files /dev/null and b/docs/git/git_pull.png differ diff --git a/docs/git/git_pull_diag.png b/docs/git/git_pull_diag.png new file mode 100644 index 0000000000000000000000000000000000000000..6190a3f62ff7d7b32ea05119527a64d6cb566647 Binary files /dev/null and b/docs/git/git_pull_diag.png differ diff --git a/docs/git/git_push.png b/docs/git/git_push.png new file mode 100644 index 0000000000000000000000000000000000000000..5cc989a8c7d446eb7ef04de1f5c77a68c526e062 Binary files /dev/null and b/docs/git/git_push.png differ diff --git a/docs/git/git_ui.png b/docs/git/git_ui.png new file mode 100644 index 0000000000000000000000000000000000000000..de83f8ba7920c28840933947498310ba7fc74db4 Binary files /dev/null and b/docs/git/git_ui.png differ diff --git a/docs/gitgrade/1-gg-class-summary.png b/docs/gitgrade/1-gg-class-summary.png new file mode 100644 index 0000000000000000000000000000000000000000..df13923a73d254c69008ca60da2ddaeaefc1a87c Binary files /dev/null and b/docs/gitgrade/1-gg-class-summary.png differ diff --git a/docs/gitgrade/2-gg-accept-assignment.png b/docs/gitgrade/2-gg-accept-assignment.png new file mode 100644 index 0000000000000000000000000000000000000000..57204649b73aa5b228c588d42d883d1996af53f1 Binary files /dev/null and b/docs/gitgrade/2-gg-accept-assignment.png differ diff --git a/docs/gitgrade/3-gg-assignment-creating.png b/docs/gitgrade/3-gg-assignment-creating.png new file mode 100644 index 0000000000000000000000000000000000000000..b437ced15ba18141d34a7b1f4338d2bde572f1a5 Binary files /dev/null and b/docs/gitgrade/3-gg-assignment-creating.png differ diff --git a/docs/gitgrade/4-gg-assignment-accepted.png b/docs/gitgrade/4-gg-assignment-accepted.png new file mode 100644 index 0000000000000000000000000000000000000000..238ae31185c16e0422ba1a96fbfdefb2740d044e Binary files /dev/null and b/docs/gitgrade/4-gg-assignment-accepted.png differ diff --git a/docs/gitgrade/5-gg-repo.png b/docs/gitgrade/5-gg-repo.png new file mode 100644 index 0000000000000000000000000000000000000000..a00420b0174d9f2ee4f094755e6c44111df7842c Binary files /dev/null and b/docs/gitgrade/5-gg-repo.png differ diff --git a/docs/gitgrade/6-gg-turnin-page.png b/docs/gitgrade/6-gg-turnin-page.png new file mode 100644 index 0000000000000000000000000000000000000000..7fd90f8eadd2577317a9122f5ceb47aa5715de15 Binary files /dev/null and b/docs/gitgrade/6-gg-turnin-page.png differ diff --git a/docs/gitgrade/7-gg-academic-integrity.png b/docs/gitgrade/7-gg-academic-integrity.png new file mode 100644 index 0000000000000000000000000000000000000000..96992779b5643492ce704aff0447273e05738b20 Binary files /dev/null and b/docs/gitgrade/7-gg-academic-integrity.png differ diff --git a/docs/gitgrade/8-gg-successful-turnin.png b/docs/gitgrade/8-gg-successful-turnin.png new file mode 100644 index 0000000000000000000000000000000000000000..646249c1f53385680ba5fb6b60bcbc504ed59639 Binary files /dev/null and b/docs/gitgrade/8-gg-successful-turnin.png differ diff --git a/docs/gitgrade/index.md b/docs/gitgrade/index.md new file mode 100644 index 0000000000000000000000000000000000000000..991a5979abbeb4d17b453ad389b36fbeff5573ba --- /dev/null +++ b/docs/gitgrade/index.md @@ -0,0 +1,83 @@ +--- +layout: default +(old)warning: old +--- + +* TOC +{:toc} + +# Using GitGrade + +GitGrade is the website we use to manage and grade programming assignments. + +Why is it relevant to you? + +- You will use GitGrade to accept the assignment which will create your own +GitLab repository with our starter code for each assignment. +- After you have committed your changes to your source code you will use GitGrade to turn-in +your assignment submission. + +# Gitgrade Classroom summary + +You can see a summary of all class assignments that have been released on a page that looks like +the following (there is a different classroom for each course offering). Here you see the +current offering only has one assignment that has been released. + + + +# Accepting your assignment + +Clicking on the **accept** link in the classroom summary page or on a link provided in an +assignment specification will take you to the accept assignment page. + + + +Once you click on the big blue button GitGrade will create an assignment for you. This shouldn't +take too long, if it takes more than a few minutes, please reach out to the course staff on +our discussion board. + + + +The page will refresh to look like the following once the assignment has been accepted + + + +Pressing the big blue button now will take you to the gitlab repository that was created for you. +At this point you will clone the repository and start your assignment. + + + +# Turning in your assignment + +You should remember to commit and push to your repository frequently during development. As a +reminder these commands are + +``` +git add <files> +git commit -m "<a good commit message here>" +git push origin master +``` + +Once you have completed the work on your code you will return to GitGrade to turn in your assignment. +You can reach the turn in page either through the GitGrade Summary page or through the +direct link provided in the assignment specification. + + + +**READ** and check that you have read the **Academic Integrity** statement. The blue Turn in button +will not be enabled until this is checked. + + + +Once you press the turn in button, the code that you committed to your gitlab repo will +be sent to the Gitgrade servers. Two things you need to check + +1. That all of the files you expect (with the changes you made to your assignments) have been recieved! +2. That your project compiles! + +**Note:** Reach out to the course staff on the discussion board if you know your project compiles +locally and it is not showing as compiled on the server. Sometimes this can happen if our +turnin page is not configured correctly. + + + diff --git a/docs/gradescope_submitting_hw_guide.pdf b/docs/gradescope_submitting_hw_guide.pdf new file mode 100644 index 0000000000000000000000000000000000000000..680773f910c3f121563afe6f37536b89a5010e33 Binary files /dev/null and b/docs/gradescope_submitting_hw_guide.pdf differ diff --git a/docs/img/volume_pps.png b/docs/img/volume_pps.png new file mode 100644 index 0000000000000000000000000000000000000000..d657ee11a939ec9e79e60b27d0299c9c03e1abbd Binary files /dev/null and b/docs/img/volume_pps.png differ diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000000000000000000000000000000000000..e5f695af4ba3583f28adec5e2cb4de2ec4b5811d --- /dev/null +++ b/docs/index.md @@ -0,0 +1,19 @@ +--- +layout: default +(old)warning: old +--- + +* TOC +{:toc} + +This repository of documentation can help you with your assignments. It is growing +slowly and will continue to be added to. + +**Course Resources** + +- [Ed Discussion Board Quickstart guide]({{site.baseurl}}/docs/ed-discussion-quickstart.pdf) +- [Gradescope]({{site.baseurl}}/docs/gradescope_submitting_hw_guide.pdf) +- [Zoom]({{site.baseurl}}/docs/zoom) +- [GIT 101]({{site.baseurl}}/docs/git.html) +- [GitGrade]({{site.baseurl}}/docs/gitgrade) + diff --git a/docs/zoom/1_Highlight_Zoom_Tab.png b/docs/zoom/1_Highlight_Zoom_Tab.png new file mode 100644 index 0000000000000000000000000000000000000000..1efb3677796903088c0d52ac8ed260655fe7de9b Binary files /dev/null and b/docs/zoom/1_Highlight_Zoom_Tab.png differ diff --git a/docs/zoom/2_Highlight_Meeting_Join.png b/docs/zoom/2_Highlight_Meeting_Join.png new file mode 100644 index 0000000000000000000000000000000000000000..59c0e25e2d91b46456a48bdd7dbd79793ed49d78 Binary files /dev/null and b/docs/zoom/2_Highlight_Meeting_Join.png differ diff --git a/docs/zoom/3_Calendar_View.png b/docs/zoom/3_Calendar_View.png new file mode 100644 index 0000000000000000000000000000000000000000..5bac7a93ecd72b64a80a947cb53877a707902e50 Binary files /dev/null and b/docs/zoom/3_Calendar_View.png differ diff --git a/docs/zoom/4_Calendar_Join_Highlighted.png b/docs/zoom/4_Calendar_Join_Highlighted.png new file mode 100644 index 0000000000000000000000000000000000000000..b302ba0cd646913c947263a6f7e09a080d88814a Binary files /dev/null and b/docs/zoom/4_Calendar_Join_Highlighted.png differ diff --git a/docs/zoom/5_Cloud_Save_Highlighted.png b/docs/zoom/5_Cloud_Save_Highlighted.png new file mode 100644 index 0000000000000000000000000000000000000000..607b15e9b0f73cff4225fe3b0482e09ca4764780 Binary files /dev/null and b/docs/zoom/5_Cloud_Save_Highlighted.png differ diff --git a/docs/zoom/index.md b/docs/zoom/index.md new file mode 100644 index 0000000000000000000000000000000000000000..903e07fdc438a2026bd52acf25413125e88ae5f2 --- /dev/null +++ b/docs/zoom/index.md @@ -0,0 +1,76 @@ +--- +layout: default +--- + +* TOC +{:toc} +### Acknowledgment + +This site was copied and modified with permission from CSE 163 see there version of the site [here.](https://courses.cs.washington.edu/courses/cse163/20sp/zoom.html#accessingazoomevent) + +# Accessing a Zoom Event + +There are two main ways to access a Zoom event for CSE 340 described in the sections below. Choose whichever you find most convenient! **To access recordings of the lecture sessions, you will need to use the Zoom in Canvas option.** + +When joining the call, if this is for a lecture or quiz section, you will automatically be added to the call assuming that the member of the course staff leading that session has started the call. If this is for office hours, you will be added to a waiting room and a course staff member will help you when they are available! + +For further instructions, see UW-IT's documentation: + +- [Sign into Zoom software on your computer](https://itconnect.uw.edu/connect/phones/conferencing/zoom-video-conferencing/zoom-software/) + + âš ï¸ **Important:** You will need to follow the instructions to "Login with SSO" so you can sign in with your UW Zoom account. For privacy reasons, only UW Zoom accounts will be allowed into our sessions. +- [UW Zoom FAQ](https://itconnect.uw.edu/connect/phones/conferencing/zoom-video-conferencing/uw-zoom-faq/) + +## Zoom in Canvas + +Click on the Zoom link on the left side of our Canvas course (or this link [here](https://canvas.uw.edu/courses/1370612/external_tools/95443)). This brings up a list of all Zoom meetings for this course (you will see more meetings since there will also be ones for office hours and sections). + + + +Say you want to join lecture on Friday, April 3. You will click on the "Join" button for lecture that day (shown in the image below), and it will launch a new tab that will launch Zoom. Note that your calendar will likely have more than one event per day (for office hours), **so make sure you click the right event!** This will then launch Zoom so you can join the meeting (or launch the Zoom app if you have downloaded that). + + + +## Canvas Calendar + +Access your Canvas calendar by clicking on the Calendar option in the left-most side bar (or accessing this link [here](https://canvas.uw.edu/calendar?include_contexts=course_1371959)). The image below shows you what the Canvas calendar looks like. **Make sure in the Calendars section on the right that you have CSE 340 selected, otherwise none of our events will show up.** Your calendar likely has more events (including sections and office hours for this course). + +You can switch between Week/Month/Agenda on the top right if there are too many events in the month view. You can also use the controls at the top to switch days. + + + +Say you want to join lecture on Friday, April 3. You will click on the event called "CSE 340 Lecture" in the calendar for that day, and then click "Click here to join Zoom Meeting: ..." shown in the picture below. Note that your calendar will likely have more than one event per day (for office hours), so **make sure you click the right event!** This will then launch Zoom so you can join the meeting (or launch the Zoom app if you have downloaded that). + + + +# Accessing Lecture Recordings + +The course staff does not think the lecture recordings will be particularly useful, since the majority of the time will be spent having you actively working on problems, but we will have them uploaded in case you can't attend! All of the "content" for that day will be in the lessons on Ed. There are no recordings of quiz sections or office hours. The university recommends that these events should not be recorded for student privacy reasons since they are not recorded in a regular quarter. + +**To access recordings of the lecture sessions, you will need to use the Zoom in Canvas option.** Navigate to Zoom in Canvas (using the instructions above) and then click on the "Cloud Recording" tab (red rectangle in picture below). The click on the link for a lecture on a particular date (red oval in picture below) to launch the web player for the recording. + + + +# CSE 340 Zoom Norms and Best Practices + +- If you are new to Zoom, you can always start your own call to get familiar with the interface! + +- **Be respectful of one another and to the course staff!** Anything you would say or do in a Zoom call should match your behavior in-person! Be kind to everyone and think carefully about how your written messages come off in terms of tone. Some examples: + + - When writing out messages in a chat, it's usually convenient to make your messages short. However, short messages can sometimes come off as having an angry or dissatisfied tone, so think carefully about how someone will read the message you send! + + - Would you chew on cereal next to my ear while we were talking in my office hours? I would hope not! Mute your mic if you are chewing on food or making other noise, or if possible, save the meal for after the meeting! + +- To the best of your ability, you should choose an appropriate space for joining into a Zoom call. A place where you can focus and won't be disturbed is ideal. If this is not feasible, try to use headphones to block out some noise around you and if possible use a headset with a microphone to avoid picking up as much noise around you as possible. + + - Maybe see if you can coordinate with housemates to minimize noise and internet access during an important Zoom call to save bandwidth and reduce noise. + +- While you are not talking or sharing during a meeting, you should have your audio muted. You should get into the practice of muting/unmuting yourself as appropriate to avoid audio-feedback (and to signal to others that you are trying to say something). + +- If you are sharing your video, try to make sure your background is not distracting. If possible, face the camera so your background is a plain background. + +- During large group meetings (i.e. not in a breakout or in a small group) you should not turn on your microphone and speak unless called on to avoid unnecessary interruption. **You are encouraged to use the chat feature to message the course staff and other students in the room to ask questions, answer someone else's question, or comment on something the speaker is saying.** We will almost always have at least one other course staff member monitoring the chat to help answer questions or let the current speaker know they should answer something in the chat. + + - You are welcome to use the icons like "raise hand", "yes", etc. that Zoom provides, but those are generally harder to spot while presenting. We recommend using the chat instead! + +- When we go to Zoom's Breakout Rooms, you should start by unmuting your microphone and turning on your video (if possible) and introduce yourself to your group mates! If neither of those options are possible, introduce yourself in the chat! It is probably best if you decide on one person to share their screen to pull up the problem we are working on so everyone can do it together! + - When someone shares a screen in Zoom, it will make the Zoom app on your computer go into full screen mode. You can always press the Escape key on your computer to get Zoom to go back into windowed mode. diff --git a/index.md b/index.md new file mode 100755 index 0000000000000000000000000000000000000000..b2f72ba71377e10d5d5ac0ac9cb0decc23512ec9 --- /dev/null +++ b/index.md @@ -0,0 +1,190 @@ +--- +layout: default +warning: draft +--- + +<h1> Welcome to Class! </h1> +Description of class + +For quick links to key things, check out the navigation bar above and the table of contents here: + +* TOC +{:toc} + +# Class Times + +See [Canvas]({{site.canvas}}) for all zoom meeting links + +**Class Time:** \\ +**Lab Times:** + +# Course staff + +(More information on [Pronouns](https://www.mypronouns.org/)) + +## Instructor + +{:width="80px"} | [Jennifer Mankoff]({{site.author.url}}) (she/her) <br> Office Hours: TBD + +## TAs + +:--: | :---------: | :-- | | :--: | :---------: | :-- + **Section AA** | {:class="ta-picture"} | Taylor Gotfrid (she/her) | | **Section AB** | | + **Infrastructure** | | | | | | + +# Should I take this class? + +Why take this class? + +# Prereqs and expectations + +What do I need to know to take this class? + +# Course Modules + +| Module | Theory | Practice | +|---------------|-----------------------------------|-----------------------| +| | | | + + +# Course Structure + + +## Zoom + +All schedule sessions for this course are scheduled to run synchronously at your scheduled class time via Zoom. +These Zoom class sessions will be recorded. The recording will capture the presenter’s audio, +video and computer screen. Student audio and video will be recorded if they share their computer +audio and video during the recorded session. The recordings will only be accessible to students +enrolled in the course to review materials. These recordings will not be shared with or +accessible to the public. + +The University and Zoom have FERPA-compliant agreements in place to protect the security and +privacy of UW Zoom accounts. Students who do not wish to be recorded should: + +Change their Zoom screen name to a school appropriate screen name that hides any personal +identifying information such as their name or +UW Net ID, and not share their computer audio or video during their Zoom sessions. + +## Lectures + +Lectures are designed to introduce new material throughout the quarter, motivate key theories and +concepts, as well as practice. + +The goals in this class center around learning by doing. This +means that hands on time trying out everything from implementation to +evaluation is critical to learning. Active learning has been shown + +Active Learning is an educational approach that has been demonstrated to increase student performance +in STEM subjects ([cite](https://www.pnas.org/content/111/23/8410)). Thus class time will be +used as much as possible for activities, discussion and review. You will be graded on participation +in lecture via answering checks for understanding using a variety of technologies, including poll everywhere. +We also highly encourage questions in lecture. Often many students share the same question and +those questions can help the instructor gauge student understanding. + +### Lecture Readings + +Preparation outside of class and participation in class are both very important and will improve +your class experience. The pre-lecture readings and activities are designed to support your studying +and learning, particularly as we discuss both theoretical and practical aspects of interface +Programming. Stay on top of the course materials, bring your questions to class and seek help +if there are problems. + +### Remote Lecture Guidelines and Expectations +Students are expected to adhere to the below expectations for remote lectures. These guidelines are +intended to help lecture go more smoothly, facilitate questions and group activities, and foster a +sense of community within the class. + +- You are not required to have your video turned on during lecture except for during group activities in breakout rooms +- Please keep your mic muted unless you’re asking a question +- To ask a question, please type “hand†in the chat in Zoom. The instructor or moderator will call on +you and then you can unmute your mic and ask your question +- You may also post questions in the chat, but you may be asked to unmute your mic and ask your question aloud +- There will be individual and group based activities which you are expected to participate in (please + contact the instructor if you not able to participate in the lectures synchronously due to your + current living situation. ) +- It may be helpful for some students to see the instructor speaking even when the instructor + is sharing their screen. This can be achieved by right clicking the instructor’s video and choosing + “pin†video. Then, under “view options†you can choose the side-by-side option which will + enlarge the instructor video + +## Lab + +## Remote Lab Guidelines and Expectations +Students are expected to adhere to the below expectations for remote labs. These guidelines are +intended to help lab go more smoothly, facilitate questions and group activities, and +foster a sense of community within the class. + +- You are required to have your video on at all times. This is not to monitor you, but to help +create a sense of community in the classroom +- Please keep your mic muted unless you’re asking a question +- To ask a question, please type “hand†in the chat in Zoom. A TA will call on you and then you +can unmute your mic and ask your question +- You may also post questions in the chat, but you will be asked to unmute your mic and ask your question aloud +- There will be individual and group based activities which you are expected to participate in + +# Workload + +This is a challenging, four credit class, meaning you should expect 8 +hours of homework outside of class a week. We hope make the workload as predictable as +possible. + +# Class Coordination + +We want you to succeed in this class, and an important way that you do +that is by asking questions and discussing course issues with your +peers and teaching staff. Some ways to do that include: + +- We have a class discussion board on [Ed]({{site.piazza}}), where you can + make public posts that benefit the whole class, and are answered more + quickly because your fellow students can help the course staff by + responding also. This is the best way to ask questions about things + like homework. Before posting, please search through the questions + that have already been posted in case someone has already asked the + same question. +- We hold office hours (see above). If none of those times work for + you. You can also discuss matters with us privately on the [Ed]({{site.piazza}}) discussion + board. Using Ed gets the whole course staff at once and is usually faster than + email. Lastly, if none of these work for you you can send an email + asking to set up an appointment. + +# Class Expectations + +The class is a shared learning environment, and it is important that +you treat everyone in the class with respect. Some specific things we +will do to try to make the class a welcoming environment: + +- **Accessibility**: We have attempted to make all the course materials + accessible according to web standards. If you need any additional + support, we am always happy to work with you and + [Disability Resources for Students (DRS)](http://depts.washington.edu/uwdrs/) to make sure + that the class meets your needs. DRS offers a wide range of services for students with + disabilities that are individually designed and remove the need to reveal sensitive medical + information to the course staff, but it is important to start the process as soon as possible to avoid delays. +- **Inclusivity**: We will be working toward a broad base of examples, + and a welcoming environment for all. Please let us know if you see + opportunities to improve this. +- **Working Together**: Working together is encouraged, as + long as you in the end implement your own code (it is not directly copied from + another student or any other source on the internet), and make sure to + document any information you get from other students in comments at + the top of the relevant file. +- **Integrity**: Academic integrity is an important value that we adhere to in this class. + Instructors are expected to respect student privacy, and treat students fairly. Students are + expected not to share code/solutions with the broader public, and not to plagiarize or cheat, + as described in the [Allen school conduct guidelines](https://www.cs.washington.edu/academics/misconduct). For more details on how this will be implemented in this class, please see the + [Academic Conduct](academic-conduct) page. + +# Grading + +Grades will be assigned approximately as follows: + +# Religious Accommodations +Washington state law requires that UW develop a policy for accommodation of student absences or +significant hardship due to reasons of faith or conscience, or for organized religious activities. +The UW’s policy, including more information about how to request an accommodation, is available at +[Religious Accommodations Policy](https://registrar.washington.edu/staffandfaculty/religious-accommodations-policy/). +Accommodations must be requested within the first two weeks of this course using the +[Religious Accommodations Request](https://registrar.washington.edu/students/religious-accommodations-request/) + form on UW's site. + diff --git a/jekyll-theme-cayman.gemspec b/jekyll-theme-cayman.gemspec new file mode 100755 index 0000000000000000000000000000000000000000..d49581b2fd6860133461fef36202dc1c23be3361 --- /dev/null +++ b/jekyll-theme-cayman.gemspec @@ -0,0 +1,20 @@ +Gem::Specification.new do |s| + s.name = 'jekyll-theme-cayman' + s.version = '0.1.1' + s.license = 'CC0-1.0' + s.authors = ['Jason Long', 'GitHub, Inc.'] + s.email = ['opensource+jekyll-theme-cayman@github.com'] + s.homepage = 'https://github.com/pages-themes/cayman' + s.summary = 'Cayman is a Jekyll theme for GitHub Pages' + + s.files = `git ls-files -z`.split("\x0").select do |f| + f.match(%r{^((_includes|_layouts|_sass|assets)/|(LICENSE|README)((\.(txt|md|markdown)|$)))}i) + end + + s.platform = Gem::Platform::RUBY + s.add_runtime_dependency 'jekyll', '~> 3.1' + s.add_runtime_dependency 'jekyll-seo-tag', '~> 2.0' + s.add_development_dependency 'html-proofer', '~> 3.0' + s.add_development_dependency 'rubocop', '~> 0.50' + s.add_development_dependency 'w3c_validators', '~> 1.3' +end diff --git a/robots.txt b/robots.txt new file mode 100644 index 0000000000000000000000000000000000000000..f049d1dbd3d6874128c8138d0d18aed625255fd3 --- /dev/null +++ b/robots.txt @@ -0,0 +1,5 @@ +--- +layout: none +--- +User-agent: * +Sitemap: {{ site.url }}/sitemap.xml diff --git a/schedule.md b/schedule.md new file mode 100644 index 0000000000000000000000000000000000000000..deb255bb9a671f0654ba0044a966cac71c88966b --- /dev/null +++ b/schedule.md @@ -0,0 +1,21 @@ +--- +layout: default +warning: draft +--- + +* TOC +{:toc} + +<!-- ********* Week 1 ********* --> + +{: .week} +# Week 1: title + +{: .lecture} date: title +: **Learning Goals** +: **Readings** +: **Slides** {% include slide.html title="Introduction to course" loc="wk01/intro.html" %} + +{: .lab} Example lab +: **Learning Goals** + diff --git a/script/bootstrap b/script/bootstrap new file mode 100755 index 0000000000000000000000000000000000000000..492e5535f187441911852349a3659e4ce90cf2cf --- /dev/null +++ b/script/bootstrap @@ -0,0 +1,6 @@ +#!/bin/sh + +set -e + +gem install bundler +bundle install diff --git a/script/cibuild b/script/cibuild new file mode 100755 index 0000000000000000000000000000000000000000..c614d7d30b66b592d9a7efd1634af8d9a87cbb10 --- /dev/null +++ b/script/cibuild @@ -0,0 +1,9 @@ +#!/bin/sh + +set -e + +bundle exec jekyll build +bundle exec htmlproofer ./_site --check-html --check-sri --disable-external +bundle exec rubocop -D +bundle exec script/validate-html +gem build jekyll-theme-cayman.gemspec diff --git a/script/release b/script/release new file mode 100755 index 0000000000000000000000000000000000000000..fb400aab392d9e1b0364a391b9dbdd623846862d --- /dev/null +++ b/script/release @@ -0,0 +1,42 @@ +#!/bin/sh +# Tag and push a release. + +set -e + +# Make sure we're in the project root. + +cd $(dirname "$0")/.. + +# Make sure the darn thing works + +bundle update + +# Build a new gem archive. + +rm -rf jekyll-theme-cayman-*.gem +gem build -q jekyll-theme-cayman.gemspec + +# Make sure we're on the master branch. + +(git branch | grep -q 'master') || { + echo "Only release from the master branch." + exit 1 +} + +# Figure out what version we're releasing. + +tag=v`ls jekyll-theme-cayman-*.gem | sed 's/^jekyll-theme-cayman-\(.*\)\.gem$/\1/'` + +# Make sure we haven't released this version before. + +git fetch -t origin + +(git tag -l | grep -q "$tag") && { + echo "Whoops, there's already a '${tag}' tag." + exit 1 +} + +# Tag it and bag it. + +gem push jekyll-theme-cayman-*.gem && git tag "$tag" && + git push origin master && git push origin "$tag" diff --git a/script/server b/script/server new file mode 100755 index 0000000000000000000000000000000000000000..d8c3e15694b8d80bbca0dbc2ba11a70dd951861b --- /dev/null +++ b/script/server @@ -0,0 +1,3 @@ +#!/bin/sh + +bundle exec jekyll serve diff --git a/script/validate-html b/script/validate-html new file mode 100755 index 0000000000000000000000000000000000000000..f6b17eb2e07e4cd985d150eea0c8941cc4781e7c --- /dev/null +++ b/script/validate-html @@ -0,0 +1,27 @@ +#!/usr/bin/env ruby + +require 'w3c_validators' + +def validator(file) + extension = File.extname(file) + if extension == '.html' + W3CValidators::NuValidator.new + elsif extension == '.css' + W3CValidators::CSSValidator.new + end +end + +def validate(file) + puts "Checking #{file}..." + + path = File.expand_path "../_site/#{file}", __dir__ + results = validator(file).validate_file(path) + + return puts 'Valid!' if results.errors.empty? + + results.errors.each { |err| puts err.to_s } + exit 1 +end + +validate 'index.html' +validate File.join 'assets', 'css', 'style.css' diff --git a/slides/wk01/img/intro/android-versions-may2019.png b/slides/wk01/img/intro/android-versions-may2019.png new file mode 100644 index 0000000000000000000000000000000000000000..1b2c243f3a9f1b105d5ee77332c1e50df0a16fe1 Binary files /dev/null and b/slides/wk01/img/intro/android-versions-may2019.png differ diff --git a/slides/wk01/img/intro/android-versions-oct2018.png b/slides/wk01/img/intro/android-versions-oct2018.png new file mode 100644 index 0000000000000000000000000000000000000000..0317a23481dd904945e70c60790755ac28b2ae69 Binary files /dev/null and b/slides/wk01/img/intro/android-versions-oct2018.png differ diff --git a/slides/wk01/img/intro/kavi.png b/slides/wk01/img/intro/kavi.png new file mode 100644 index 0000000000000000000000000000000000000000..472304cfc0370508523dcf44dc4e1478b9b699f8 Binary files /dev/null and b/slides/wk01/img/intro/kavi.png differ diff --git a/slides/wk01/img/intro/mankoff-projects.png b/slides/wk01/img/intro/mankoff-projects.png new file mode 100644 index 0000000000000000000000000000000000000000..34e6a73f3d92bb2e63288757e385b556f3d37ae7 Binary files /dev/null and b/slides/wk01/img/intro/mankoff-projects.png differ diff --git a/slides/wk01/img/intro/mankoff.jpg b/slides/wk01/img/intro/mankoff.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cdd8f03953ef83843fed306c9946498497581424 Binary files /dev/null and b/slides/wk01/img/intro/mankoff.jpg differ diff --git a/slides/wk01/img/intro/nisha.png b/slides/wk01/img/intro/nisha.png new file mode 100644 index 0000000000000000000000000000000000000000..92c633f9c4e6e4f8ce9ddb910c087d349f2c3026 Binary files /dev/null and b/slides/wk01/img/intro/nisha.png differ diff --git a/slides/wk01/intro.html b/slides/wk01/intro.html new file mode 100644 index 0000000000000000000000000000000000000000..7744053e9278480072292d9dea360ef4a8349892 --- /dev/null +++ b/slides/wk01/intro.html @@ -0,0 +1,561 @@ +--- +layout: presentation +title: Introductory Slides--Week 1, Monday-- +description: Introductory slides for Interaction Programming, CSE 340 +class: middle, center, inverse +--- +name: inverse +layout: true +class: center, middle, inverse +--- + +# Introduction to Interaction Programming + +Welcome to CSE 340 {{site.quarter}} + +Instructor: {{site.author.name}} <br> +TAs: David Chen, Zach Cheung, Taylor Gotfrid, Brian Lee, Jay Lin, <br> +Michelle Lin, Jasper Palmer, Sophie Tian, My Tran, <br> +with help from GitGrade's Jeremy Zhang. + +--- +layout: false + +<!-- (Outline Slide) --> + +# Today's goals + +- **HCI: Designing the Future** +- Learning goals +- Course staff +- Syllabus + + +--- +# HCI in the Future + +Small Group Discussion: How is it changing us as individuals and a society? + +<iframe src="https://us.edstem.org/courses/114/sway/host/1153" width="800" height="600" frameBorder="0"></iframe> + +??? +- Social networking has been implicated in revolutions and elections. +- Interfaces designs have impacted health and safety. +--- +# Return to discuss as a class + +--- +# Summary (somewhat tongue in cheek) + + +Welcome to the class! + +All of HCI was already invented (sort of!) + +HCI has a huge influence on individuals and society + +HCI is really all of computer science + +--- +layout: false + +<!-- (Outline Slide) --> + +# Today's goals + +- HCI: Designing the Future +- **Learning goals** +- Course staff +- Syllabus +--- +.left-column[ +# This **week's** learning goals +] +.right-column[ +- What is HCI? Past, present and future +- Get up to speed with Android basics +- Learn about basic abstractions for UI implementation +- Names for common interactors +] +--- +.left-column[ +# Course learning goals: +] +.right-column[ +# Building Interfaces +- Deep understanding of **how to build user interfaces** +- Basic abstractions (layout, event handling, *etc.*) +- Implementing best practices: Undo, Accessibility, Feedback, Errors, +*etc.* +- Exploration of advanced UI concepts: Ubicomp, Sensing, AR, *etc.* +] +--- + +.left-column[ +# Course learning goals: +] +.right-column[ +# Iterative Design + +- Basic understanding of **Iterative Design** +- Why designers are valuable +- Iterative design process +- How designers get data from users +] +--- +layout: false + +<!-- (Outline Slide) --> + +# Today's goals + +- HCI: Designing the Future +- Learning goals +- **Course staff** +- Syllabus +--- +.left-column-half[ +# Jennifer Mankoff + +Pronouns: She/her + +[Make4All Lab](http://make4all.org) + +I use techonology to improving inclusion in +and accessibility of our digital future. + +- Assistive and health technology +- Fabrication/Physical computing +- Improve inclusion and accessibility +] + +.right-column-half[ + + +] + +--- + +.left-column-staff[ + +## Lauren Bricker (she/her) +bricker@cs.washington.edu<br> +Faculty Lecturer<br> +OH: Mon, Fri 11:30 am - 12:30 pm + + +] + +.right-column-staff[ +- I am a UW CSE PhD Alum +- This is my 3rd year as Faculty in CSE + - I've taught 2nd grade - Masters students + - I also STARS and Startup support courses and do K-12 outreach + - I taught CSE 154 three times, consulted with it three times, and created CSE 390Z + - I was a part time instructor on CSE 340 in 20wi +- My older son is also a CSE Alum, my younger son is a current Husky in Chem E +- I'm an artist and maker +- I love to bicycle and begrudgingly run +- I'm an intermediate drummer +] + + +--- + +.left-column-staff[ +## David Chen (he/him) +hanfec@cs.washington.edu<br> +OH: +- Sun 2:30 - 3:30 pm +- Fri 1:00 - 2:00 pm + + +] + +.right-column-staff[ +- I grew up in China, and went to New Jersy for the last two years of the high school. +- It's my second time TAing 340, my suggestions: start doing the assgignment early. +- Foods I like: + - Chocolate, Salmon, Green tea +- Foods I hate: + - Tomatoes +] +--- + +.left-column-staff[ +## Zach Cheung (he/him) +zachcheu@uw.edu<br> +OH: +- Tues 4:30 pm - 5:30 pm +- Wed 9:30 am - 10:30 am + + +] +.right-column-staff[ +Hello! +- I'm from Redmond, WA and will be remote from Redmond this quarter +- I'm a Junior at UW CSE and this is my 2nd time TAing 340 +- Some things I'm looking forward to this quarter: + - Reading some books that I've put off + - Working on apps/projects with my friends remotely + - Getting to know you! +] + +--- + +.left-column-staff[ +## Taylor Gotfrid (she/her) +gotfrid7@cs.washington.edu <br> +OH: +- Thurs 2:30 - 3:30 pm +- Friday 1:00 - 2:00 pm + + +] + +.right-column-staff[ +- 1st year PhD student in CSE working with Jennifer Mankoff +- My research interests are in accessibility and HCI +- My favorite video game is Stardew Valley +- I love tea +- I have a cat named Indie who you may potentially see during office hours +] +--- + +.left-column-staff[ +## Brian Lee (he/him) +blee11@uw.edu <br> +OH: Tues, Thurs 12:30 - 1:30 pm + + +] + +.right-column-staff[ +- I am a 2nd year student studying Informatics. +- I grew up in Seoul, moved to Anchorage when I was in 5th grade, moved to Seattle about 7 years ago. +- I have rewatched all 9 seasons of The Office 7 times (best record was a 2 weeks). +- I also love coffee, if you need any coffee shop suggestions, ask me! +] +--- + +.left-column-staff[ +## Jay Lin +jial8@uw.edu<br> +OH: +- Sun 2:30 - 3:30 pm +- Wed 4:30 - 5:30 pm + + +] + +.right-column-staff[ +- 2nd year undergrad student + - Ambassador for Husky ADAPT + - Took this class just last quarter :) +- Loves: + - Opossums (the American marsupial) + - Music (transcribing/composing) + - Single-player video games +] + +--- + +.left-column-staff[ +## Michelle Lin (she/her) +mlin88@cs.washington.edu <br> +OH: +- Wed 9:30 - 10:30 am +- Sat 3:30 - 4:30 pm + + +] + +.right-column-staff[ +- I'm a 3rd year undergraduate student + - Director of Outreach for CSE Student Advisory Council + - Took this class last Spring! +- In my somewhat limited free time I enjoy: + - Playing flute + - Graphic design + - Fabrication (3D printing/laser cutting) + - Exercising (occasionally) + - Trying new things (I’ll try almost anything once) +- So excited to meet y'all! ^_^ +] + +--- + +.left-column-staff[ +## Jasper Palmer (he/him) +jpalmer4@cs.washington.edu <br> +OH: +- Tue 9:30 - 10:30 am +- Tue 4:30 - 5:20 pm + + +] + +.right-column-staff[ +- I am a second year undergraduate student! +- I spent my first year at UW studying Biochemistry +- I have played Ultimate Frisbee for 10 years +- I moved to Seattle when I was 4 from Michigan +] + +--- + + +.left-column-staff[ +## My Tran (Emhily) (she/her) +tranmy@cs.washington.edu <br> +OH: +- Wed 4:30 - 5:30 pm +- Thurs 2:30 - 3:30 pm + + +] + +.right-column-staff[ +- **Hi**, my first name is pronounced as "me" +- I'm a CS transfer student from Oregon, graduating Fall '20 +- Originally "made in Vietnam" and love photography +- It's my second time TA-ing CSE 340 +] + +--- + +.left-column-staff[ +## Sophie Tian (she/her) +shuxut@cs.washington.edu<br> +OH: Tue/Thurs 12:30 - 1:30 pm + + +] +.right-column-staff[ +- I am a 5th year master's student. +- I am a hopeless Star Trekkie. +- I grew up in Tongling and Nanjing in China. I attended Gallaudet University, a school for the Deaf and hard of hearing located in Washington, DC. +- After graduating from Gallaudet with a degree in IT, I moved to Seattle and entered UW CSE to pursue a BS and then MS in computer science. +] + +--- + + +.left-column-staff[ +## Jeremy Zhang (he/him) +jkzhang@uw.edu <br> +GitGrade Inventor + + +] + +.right-column-staff[ + +- **Hello** from *UW Bothell*! (Studying Computer Science) +- A My Little Pony: Friendship is Magic enthusiast +- Casual Super Smash Bros Ultimate Player + - Previously threw an April Fools joke for CSE 154; turning course website into a playable fighting game (Spring 2019) +] + + +--- +# Let's get to know you! + +Breakout rooms, with questions: + +- Where in the world are you? +- What is one thing that helped you most through quarantine? +- What is your favorite food? Make a [wordcloud](https://us.edstem.org/courses/114/sway/host/1156) + + +--- + +[//]: # (Outline Slide) +# Today's goals + +- HCI: Designing the Future +- Learning goals +- Course staff +- **Syllabus** + +--- +# Where to find what + +The class is on the [web]({{site.baseurl}}/index), + but we have used iframes to connect this to + [Canvas]({{site.canvas}}). We try to interlink + everything as much as possible. + +- Class discussions and all contact with instructors should happen +either in office hours or through [Ed]({{site.piazza}}) +- You can also request appointments for further help +- Assignments will be accepted and turned in [GitGrade]({{site.gitgrade}}) +- GitGrade will make you a [gitlab]({{site.gitlab}}) repo which you will use to receive +starter code and commit your changes. +--- + +# Development Environement + +**Background**: Lots of programming expected. Need 143 or equivalent + +Java is our primary language +- Comfortable with Java; basic software engineering; some Data Structures + - Fast-paced introduction to git & Android Studio IDE + - Advanced Java use (e.g. anonymous inner classes) + - Must be comfortable with reading documentation (not just Stack Overflow) + - We will use trees, state machines, etc. + - Math computations (trig) for later assignments + +--- +# Platform: Android + +Most commonly used +interface development platform for Java + +-- + - Open source + - Around 75% market share + - Thousands of supported devices + +-- +- Exposes Android SDK + - Framework for building apps on mobile devices +-- + + - Written in __Java__ and E__X__tensible __M__arkup __L__anguage (__XML__) + +--- +.left-column-half[ +## Android Versioning + + +] +.right-column-half[ +## We're going to target .red[Nougat] :) + +That's .red[__19%__] of devices. (Looking into upgrading to Oreo) + +] + +--- +# Android Versioning + +- We encourage you to buy an android phone (no tablets) ~$150 +- ~~Support will have 10 Android phones on loan for 24hrs or less~~ +- Laptop will need sufficient memory/disk space to run <br/> +Android Studio & emulators +- Ask questions on Ed if you need more guidance + +--- +# [Syllabus]({{site.baseurl}}) Scavenger Hunt + +--- +# Summary of expectations and values + +- **Sharing**: Yes, but don't copy +- **Accessibility**: This course is designed to be accessible +- **Inclusivity**: An important value in this class, and in HCI! +- **Academic Integrity**: A course value and requirement See our [Academic Conduct]({{site.baseurl}}/academic-conduct) page for more details +- **Language**: I am Jen, or Dr. Mankoff +- **Respect**: This class is a compact between us based on respect +- **Healthy Environment**: Your health/mental health are important and we have tried to +structure the class to support you (e.g. up to 3 late days without questions asked). +If you need larger accommodations for any reason, consider working with +[DRS](https://depts.washington.edu/uwdrs/) so we can support you. + +If you run into problems, or have preferences about these issues, please tell me! +--- +# Distance learning + +So how's this Distance Learning thing going to work? With shared expections of the +- students +- instructor +- TAs. + +--- +# Lecture and Section: Student Expectations + +- You are not required to have your video turned on during lecture except for during group activities in breakout rooms. +- Please keep your mic muted unless you’re asking a question. +- To ask a question, please type “hand†in the chat in Zoom. The instructor will call on you and then you can unmute your mic and ask your question. +- You may also post questions in the chat, but you may be asked to unmute your mic and ask your question aloud. +- If you do type in the chat, ensure what you are typing is school appropriate and inclusive. +- There will be individual and group based activities which you are expected to +participate in. (Contact us if you are not able to participate in real time) +- Please post (privately) on Ed if you are in a time zone that does not allow you to participate during class synchronously so we can accomodate that for exams, etc. + +--- +# Lecture: Instructor Expectations + +- Will address the class via video before switching to slides/lecture content. Instructors +will keep their video on during the entirety of the lecture. +- Will not record student computer activity via Zoom during lecture +- The moderator instructor will notify the content instructor if there are questions +- If for some reason the screen sharing stops working, the moderator instructor will +notify the content instructor as soon as possible + +--- +# Lecture: TA Expectations + +- Will have their camera on when asking a question or in a breakout room. +- Will mute a student if they forget to mute themselves . +- Will help organize breakout rooms for group activities. +- May be in breakout rooms with students during group activites. +- Will model student expectations in lecture (e.g., type “hand†to ask a question). + +--- + +# Section: TA Expectations + +There will be 3 and sometimes 4 TAs in each section. TAs will + +- Take turns in presenting the material (depending on the week) +- Have their camera on throughout section. +- Mute a student if they forget to mute themselves. +- Will help organize breakout rooms for group activities. +- May be in breakout rooms with students during group activites. +- Will model student expectations in lecture (e.g., type “hand†to ask a question). + +A TA who is not actively presenting during a section will act as a moderator. + +--- +# Assignment Structure + +Assignments typically include closed piece and open-ended piece. +- Closed piece is graded by us +- Open ended piece will be evaluated by your peers, sometimes using traditional HCI methods. Peer evaluations are required and graded pass/fail +- You write a reflection for each assignment. + +--- +# A typical assignment takes about a week + +- Introduce theory +- Introduce Assignment including core part (structured) and open ended part + - Expand theory, add practice + - Get practical help in lab + - Work over weekend +- `*`Peer evaluate +- Write reflection +- `*`Take practice quiz +- Take Examlet + +`*` Starred items are required, but you pass them if you do them. They help your peers and/or us +with assessment and are important to your class participation grade as well + +--- + +# Assignment Structure + +Projects: Implementation of Interfaces +- Practical help with assignments in lab +- Code tested with unit tests +- Applications tested through user studies you run +- Some basics handled in code review + +--- +.left-column[ +# Field Trip +] +.right-column[ +# [Assignments]({{site.baseurl}}/assignments) +]